/* Casas Culebras — local additions on top of the Squarespace framework css.
   Fonts are the exact Poppins builds the Squarespace site served. */

@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 300; font-display: swap;
  src: url('/assets/fonts/poppins-300-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 300; font-display: swap;
  src: url('/assets/fonts/poppins-300-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Poppins'; font-style: italic; font-weight: 300; font-display: swap;
  src: url('/assets/fonts/poppins-300i-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Poppins'; font-style: italic; font-weight: 300; font-display: swap;
  src: url('/assets/fonts/poppins-300i-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 500; font-display: swap;
  src: url('/assets/fonts/poppins-500-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 500; font-display: swap;
  src: url('/assets/fonts/poppins-500-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Poppins'; font-style: italic; font-weight: 500; font-display: swap;
  src: url('/assets/fonts/poppins-500i-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Poppins'; font-style: italic; font-weight: 500; font-display: swap;
  src: url('/assets/fonts/poppins-500i-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 700; font-display: swap;
  src: url('/assets/fonts/poppins-700-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 700; font-display: swap;
  src: url('/assets/fonts/poppins-700-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Poppins'; font-style: italic; font-weight: 700; font-display: swap;
  src: url('/assets/fonts/poppins-700i-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Poppins'; font-style: italic; font-weight: 700; font-display: swap;
  src: url('/assets/fonts/poppins-700i-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* images render without Squarespace's loader */
.fluid-image-container img,
.sqs-image img,
.section-background img,
img.thumb-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sqs-block-image img { height: auto; }
img[data-load] { visibility: visible; }

/* review marquee — matches the live Squarespace scrolling block:
   Poppins 700, theme text color, ~23.7px at 1280w */
.Marquee { overflow: hidden; }
.Marquee > :not(.cc-marquee-track) { display: none; }   /* squarespace's static fallback items */
.cc-marquee-track { display: flex; overflow: hidden; white-space: nowrap; }
.cc-marquee-inner { display: inline-flex; flex-shrink: 0; align-items: center; animation: cc-marquee 40s linear infinite; }
.cc-marquee-item { padding: 0 2.5rem; display: inline-block; font-family: 'Poppins';
  font-weight: 700; font-size: calc(.6vw + 1rem); line-height: 1.4em; color: inherit; }
@keyframes cc-marquee { from { transform: translateX(0); } to { transform: translateX(-100%); } }

/* map */
#cc-map { width: 100%; height: 715px; }
@media (max-width: 767px) { #cc-map { height: 480px; } }
#cc-map .cc-map-popup img { width: 100%; height: 120px; object-fit: cover; display: block; margin-bottom: 6px; }
#cc-map .cc-map-popup a { font-family: 'Poppins'; font-weight: 500; }
.cc-marker-label { color: #fff; font-family: 'Poppins'; font-size: 14px; font-weight: 500;
  text-shadow: 0 1px 3px rgba(0,0,0,.9), 0 0 2px rgba(0,0,0,.9); white-space: nowrap; transform: translateX(-50%); }

/* grid gallery block (replaces the Squarespace gallery controller) */
.sqs-gallery-block-grid .sqs-gallery { display: flex; flex-wrap: wrap; }
.sqs-gallery-block-grid .sqs-gallery .slide { float: none !important; box-sizing: border-box; padding: 7.5px; }
.sqs-gallery-block-grid.sqs-gallery-thumbnails-per-row-12 .slide { width: 8.3333% !important; }
.sqs-gallery-block-grid.sqs-gallery-thumbnails-per-row-10 .slide { width: 10% !important; }
.sqs-gallery-block-grid.sqs-gallery-thumbnails-per-row-9 .slide { width: 11.1111% !important; }
.sqs-gallery-block-grid.sqs-gallery-thumbnails-per-row-8 .slide { width: 12.5% !important; }
.sqs-gallery-block-grid.sqs-gallery-thumbnails-per-row-7 .slide { width: 14.2857% !important; }
.sqs-gallery-block-grid.sqs-gallery-thumbnails-per-row-6 .slide { width: 16.6667% !important; }
.sqs-gallery-block-grid.sqs-gallery-thumbnails-per-row-5 .slide { width: 20% !important; }
.sqs-gallery-block-grid.sqs-gallery-thumbnails-per-row-4 .slide { width: 25% !important; }
.sqs-gallery-block-grid.sqs-gallery-thumbnails-per-row-3 .slide { width: 33.3333% !important; }
.sqs-gallery-block-grid.sqs-gallery-thumbnails-per-row-2 .slide { width: 50% !important; }
.sqs-gallery-block-grid.sqs-gallery-thumbnails-per-row-1 .slide { width: 100% !important; }
.sqs-gallery-block-grid .margin-wrapper { position: relative; }
.sqs-gallery-block-grid.sqs-gallery-aspect-ratio-square .margin-wrapper a.image-slide-anchor {
  display: block; position: relative; width: 100%; padding-bottom: 100%; overflow: hidden; }
.sqs-gallery-block-grid .margin-wrapper a.image-slide-anchor img.thumb-image {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 767px) {
  .sqs-gallery-block-grid[class*='sqs-gallery-thumbnails-per-row-'] .slide { width: 50% !important; }
}

/* list-section carousels (replaces the Squarespace carousel controller) */
.user-items-list-carousel__slides.cc-carousel-ready {
  opacity: 1 !important;
  display: flex !important;
  grid-gap: 0 !important;
  gap: 20px;
  will-change: transform;
}
.user-items-list-carousel__slideshow-holder { position: relative; }
.cc-carousel-arrow {
  position: absolute; top: 50%; transform: translateY(-50%);
  z-index: 5; cursor: pointer; border: 1px solid currentColor; background: #fff;
  border-radius: 50%; width: 60px; height: 60px; display: flex;
  align-items: center; justify-content: center; color: #000; padding: 0;
}
.cc-carousel-arrow--left { left: -8px; }
.cc-carousel-arrow--right { right: -8px; }
.cc-carousel-arrow--right svg { transform: scaleX(-1); }
.cc-carousel-arrow svg { width: 28px; height: 12px; }
.cc-carousel-arrow svg path { stroke: currentColor; stroke-width: 1.5; fill: none; }
@media (max-width: 767px) {
  .cc-carousel-arrow { top: auto; bottom: -8px; transform: none; width: 48px; height: 48px; }
  .cc-carousel-arrow--left { left: calc(50% - 58px); }
  .cc-carousel-arrow--right { right: calc(50% - 58px); }
}

/* lightbox */
.cc-lightbox { position: fixed; inset: 0; z-index: 10000; background: rgba(255,255,255,.98);
  display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity .25s; }
.cc-lightbox.open { opacity: 1; pointer-events: auto; }
.cc-lightbox img { max-width: 92vw; max-height: 88vh; object-fit: contain; box-shadow: 0 6px 40px rgba(0,0,0,.18); }
.cc-lightbox button { position: absolute; background: none; border: 0; cursor: pointer; padding: 18px;
  color: #000; font-family: 'Poppins'; font-size: 28px; line-height: 1; }
.cc-lightbox .cc-lb-close { top: 12px; right: 16px; font-size: 34px; }
.cc-lightbox .cc-lb-prev { left: 6px; top: 50%; transform: translateY(-50%); }
.cc-lightbox .cc-lb-next { right: 6px; top: 50%; transform: translateY(-50%); }
@media (max-width: 767px) {
  .cc-lightbox .cc-lb-prev, .cc-lightbox .cc-lb-next { top: auto; bottom: 8px; transform: none; }
}
