/* Monochrome mode: black & white only */

/* Base */
html, body {
  background: #fff !important;
  color: #000 !important;
}

/* Links */
a, a:visited {
  color: #000 !important;
}

/* Common containers (keep monochrome, but don't paint every wrapper white) */
.site-footer, .site-main,
article, .card,
.post-content, .tour-popup-panel, .tour-popup, .sf-booking,
.review-card, .post-card, .tour-card, .period-card {
  background-color: #fff !important;
  color: #000 !important;
}

/* Booking form should match site build */
.sf-booking,
.sf-booking.sf-booking--aside{
  background-color: #d9d9d9 !important;
}

/* Wrappers should stay transparent so hero sections can show through */
.container,
header, footer, main, section, nav, aside {
  background-color: transparent !important;
}

/* Site header (requested): black background, white text */
.site-header {
  background: #000 !important;
  color: #fff !important;
}

.site-header .container,
.site-header nav {
  background: #000 !important;
}

.site-header a,
.site-header a:visited,
.site-header nav a {
  color: #fff !important;
}

/* Hotel-style hero should NOT be forced to black/white blocks */
.sf-stay-hero,
.sf-stay-hero .container,
.sf-stay-hero .sf-stay-hero__inner{
  background: transparent !important;
  background-color: transparent !important;
  color: #fff !important;
}
.sf-stay-hero .sf-stay-hero__copy,
.sf-stay-hero .sf-stay-hero__copy *{
  color: #fff !important;
}

/* Hotel-style DESKTOP hero: keep black background (not white/transparent) */
.sf-stay-hero-desktop,
.sf-stay-hero-desktop .container{
  background: #000 !important;
  background-color: #000 !important;
  color: #fff !important;
}
.sf-stay-hero-desktop a,
.sf-stay-hero-desktop a:visited{
  color: #fff !important;
}

/* Hotel pages: don't force the whole <article> wrapper to white */
.sf-stay{
  background-color: transparent !important;
}

/* Inline-style sanitizers can still paint blocks white; re-assert hero backgrounds */
.sf-stay-hero-desktop{ background-color:#000 !important; }
.sf-stay-hero--mobile{ background-color: transparent !important; }

/* Keep hotel section menu readable in monochrome */
.sf-stay-nav{ background-color:#fff !important; border-bottom: 1px solid rgba(0,0,0,.12) !important; }
.sf-stay-nav__link{ color:#000 !important; }

/* Hero banner (Aventuras) */
.hero--aventuras{
  position: relative;
  min-height: 72vh;
  display: grid;
  place-items: center;
  text-align: center;
  overflow: hidden;
}

.hero--aventuras .hero__bg{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.hero--aventuras .hero__wrap{
  position: relative;
  z-index: 1;
  width: min(1100px, 92%);
  padding: 12vh 0;
}

.hero--aventuras .hero__title{
  margin: 0 0 18px;
  font-family: var(--font-heading, var(--sf-font-heading, inherit));
  font-weight: 400;
  text-transform: uppercase;
  color: #fff !important;
  letter-spacing: 1px;
  line-height: .95;
  font-size: clamp(42px, 5.8vw, 92px);
}

.hero--aventuras .hero__cta--aventuras{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 26px;
  background: #000 !important;
  color: #fff !important;
  border: 0 !important;
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: .6px;
  border-radius: 0;
}

.hero--aventuras .hero__cta--aventuras:hover{
  background: #000 !important;
  color: #fff !important;
  filter: brightness(1.05);
}

@media (max-width: 640px){
  .hero--aventuras{ min-height: 64vh; }
  .hero--aventuras .hero__wrap{ padding: 14vh 0 12vh; }
  .hero--aventuras .hero__title{ letter-spacing: .6px; line-height: 1.0; font-size: 40px; }
}

/* Intro section (We go where maps stop) */
.home-intro{
  background: #fff !important;
  color: #000 !important;
  padding: 45px 0;
}

.home-intro__inner{
  width: min(1200px, 90%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 64px;
  align-items: start;
}

.home-intro__title{
  margin: 0 0 0px;
  font-family: var(--font-heading, var(--sf-font-heading, inherit));
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 1px;
  line-height: 1.02;
  font-size: clamp(34px, 3.7vw, 56px);
}

.home-intro__text{
  margin: 0;
  font-family: var(--font-body, var(--sf-font-body, inherit));
  font-size: 16px;
  line-height: 1.75;
  max-width: 60ch;
}

.home-intro__media{
  display: flex;
  justify-content: flex-end;
}

.home-intro__media img{
  width: 100%;
  max-width: 430px;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
}

@media (max-width: 980px){
  .home-intro__inner{
    grid-template-columns: 1fr;
    gap: 32px;
  }
  /* Mobile order: title -> image -> text */
  .home-intro__copy{ display: contents; }
  .home-intro__title{ grid-row: 1; }
  .home-intro__media{ grid-row: 2; }
  .home-intro__text{ grid-row: 3; }
  .home-intro__media{
    justify-content: flex-start;
  }
  .home-intro__text{ max-width: none; }
}

/* Borders/shadows */
* {
  border-color: #000 !important;
}

*,
*::before,
*::after {
  box-shadow: none !important;
}

/* Buttons */
.btn,
button,
input[type="button"],
input[type="submit"],
.wp-block-button__link,
.button {
  background: #fff !important;
  color: #000 !important;
  border: 0 !important;
  text-decoration: none !important;
}

.btn:hover,
button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover,
.button:hover {
  color: #fff !important;
}

/* Solid button variant */
.btn.btn--solid{
  background: #fff !important;
  color: #000 !important;
  border-color: #000000 !important;
  box-shadow: none !important;
  padding: 10px 28px;
  font-size: 22px;
}
.btn.btn--solid:hover{
  background: #fff !important;
  color: #000 !important;
  filter: brightness(.95);
}

/* Pills/badges/chips */
.badge,
.tour-card__badge,
.tour-card__sticker,
.blog-card__chip {
  background: #fff !important;
  color: #000 !important;
  border: 0 !important;
}

/* -------------------------------------------------------------------------- */
/* Booking guest types (people)                                               */
/* -------------------------------------------------------------------------- */
.sf-field--people-types .sf-people-types{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:10px;
}
.sf-people-type{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:8px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent !important;
}
.sf-people-type__label{
  font-weight:500;
  font-size:12px;
  line-height:1.15;
  color:#000 !important;
  min-width:0;
}
.sf-people-type .sf-stepper{ width:100%; max-width:100%; }
.sf-people-total{
  font-weight:800;
  opacity:.85;
  padding:4px 2px 0;
  display:flex;
  justify-content:flex-end;
  color:#000 !important;
  grid-column: 1 / -1;
}
@media (max-width: 520px){
  .sf-people-total{ justify-content:flex-start; }
}

/* Tours section (rebuilt from scratch to avoid old theme conflicts) */
.sa-tours{
  background:#d9d9d9 !important;
  color:#000 !important;
  padding: 74px 0;
}
.sa-tours__inner{
  width: min(1200px, 90%);
  margin: 0 auto;
}
.sa-tours__title{
  margin: 0 0 18px;
  font-family: var(--font-heading, var(--sf-font-heading, inherit));
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 1px;
  line-height: 1.02;
  font-size: clamp(28px, 3.2vw, 46px);
}

.sa-tours__slider{
  display:flex;
  gap: 14px;
  overflow-x: auto;
  padding: 6px 2px 10px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.sa-tours__slider::-webkit-scrollbar{ height: 8px; }
.sa-tours__slider::-webkit-scrollbar-thumb{ background: #000; }
.sa-tours__slider:focus{ outline: none; }
.sa-tours__slider:focus-visible{ outline: 2px solid #000; outline-offset: 6px; }

.sa-tourCard{
  flex: 0 0 260px;
  max-width: 260px;
  scroll-snap-align: start;
  background: transparent !important; /* prevent square white wrapper */
}

.sa-tourCard__link{
  display:flex;
  flex-direction: column;
  text-decoration:none;
  color: inherit;
  background:#fff !important;
  border-radius: 26px;
  padding: 9px;
  overflow: hidden; /* clip to rounded corners */
  border: 0 !important;
}

.sa-tourCard__media{
  position: relative;
  border-radius: 20px;
  overflow:hidden;
  background:#fff;
}
.sa-tourCard__media img{
  width:100%;
  height:auto;
  display:block;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}
.sa-tourCard__placeholder{
  display:block;
  aspect-ratio: 4 / 5;
  background:#fff;
}

.sa-tourCard__pill{
  position:absolute;
  left: 12px;
  top: 12px;
  background:#000;
  color:#fff;
  border-radius: 999px;
  padding: 3px 10px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .2px;
  display:inline-flex;
  align-items:center;
  gap: 5px;
}
.sa-tourCard__pill::before{
  content: "⏲";
  font-size: 12px;
  line-height: 1;
}

.sa-tourCard__body{
  padding: 14px 8px 2px;
  display:flex;
  flex-direction: column;
  flex: 1 1 auto;
}
.sa-tourCard__title{
  margin: 0;
  font-family: var(--font-body, var(--sf-font-body, "Open Sans", Arial, sans-serif));
  font-weight: 400;
  font-size: 18px;
  line-height: 1.2;
  /* keep all cards same height */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  min-height: 2.4em; /* 2 lines at 1.2 line-height */
}
.sa-tourCard__priceRow{
  display:flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 3px;
  margin-top: auto;
  padding-top: 12px;
}
.sa-tourCard__from{
  font-size: 10px;
  letter-spacing: 0.2px;
}
.sa-tourCard__price{
  font-size: 22px;
  font-weight: 900;
  letter-spacing: .2px;
}

@media (max-width: 640px){
  .sa-tourCard{ flex-basis: 240px; max-width: 240px; }
  .sa-tourCard__title{ font-size: 17px; }
  .sa-tourCard__from{ font-size: 17px; }
  .sa-tourCard__price{ font-size: 32px; }
}

/* Legacy `.tour-card` slider overrides (remove fossil drop-shadows) */
.more-tours{
  background: #d9d9d9 !important;
  color: #000 !important;
  padding: 22px 0 44px;
}

.more-tours .section-title{
  filter: none !important;
  color: #000 !important;
  font-weight: 400;
}

/* Building Bricks (CTA section) */
.build-bricks{
  background: #fff !important;
  color: #000 !important;
  padding: 64px 0;
}
.build-bricks__inner{
  width: min(1200px, 90%);
  margin: 0 auto;
}
.build-bricks__title{
  margin: 0 0 12px;
  font-family: var(--sf-font-heading, var(--font-heading, inherit));
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 1px;
  line-height: 1.05;
  font-size: clamp(28px, 3.4vw, 52px);
  color: #000 !important;
}
.build-bricks__text{
  margin: 0 0 18px;
  font-family: var(--sf-font-body, var(--font-body, "Open Sans", Arial, sans-serif));
  font-size: 18px;
  line-height: 1.7;
  max-width: 70ch;
  color: #000 !important;
}
.build-bricks__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 12px 18px;
}

/* Contact your desert expert (card) */
.expert-cta{ background: #fff !important; }
.expert-cta__inner{ background: #d9d9d9 !important; border: none; }
.expert-cta__title,
.expert-cta__text{ color: #1a1a1a !important; }
.expert-cta__link{ background: #1a1a1a !important; color: #fff !important; border: none !important; }
.expert-cta__link:hover{ filter: brightness(1.15); color: #fff !important; }

.more-tours__group{
  margin-top: 18px;
}

.more-tours__group + .more-tours__group{
  margin-top: 26px;
}

.more-tours__groupTitle{
  margin: 0 0 10px;
  font-family: var(--sf-font-body, var(--font-body, "Open Sans", Arial, sans-serif)) !important;
  font-weight: 700;s
  color: #000 !important;
  font-size: clamp(20px, 2.3vw, 30px);
}

.more-tours__groupIntro{
  margin: 0 0 12px;
  width: 100%;
}

.more-tours__desc{
  font-family: var(--font-body, var(--sf-font-body, inherit));
  color: #000 !important;
  width: 100%;
  max-width: none;
  font-size: 16px;
  line-height: 1.65;
}

.more-tours__desc--full p{
  margin: 0;
}

.more-tours__desc--full p + p{
  margin-top: 10px;
}

.more-tours__desc--short{
  display: none;
}

.more-tours__more{
  display: none;
  color: #000;
  font-family: var(--font-body, var(--sf-font-body, inherit));
  font-size: 15px;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.more-tours__more:hover{
  text-decoration-thickness: 3px;
}

.more-tours__less{
  display: none;
  margin-top: 8px;
  color: #000;
  font-family: var(--font-body, var(--sf-font-body, inherit));
  font-size: 15px;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.more-tours__less:hover{
  text-decoration-thickness: 3px;
}

@media (max-width: 640px){
  .more-tours__desc--full{
    display: none;
  }
  .more-tours__desc--short{
    display: block;
  }
  .more-tours__groupIntro.is-expanded .more-tours__desc--full{
    display: block;
  }
  .more-tours__groupIntro.is-expanded .more-tours__desc--short{
    display: none;
  }
  .more-tours__groupIntro.is-expanded .more-tours__less{
    display: inline-block;
  }

  .more-tours__groupIntro.is-clampable .more-tours__more{
    display: inline-block;
  }
}
}

.tour-card__title{
  filter: none !important;
}

.tour-card,
.tour-card__link{
  border: 0 !important;
}

.tour-card__foot{
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  margin-top: 0px !important;
}

.tour-card.tour-card .tour-card__title{
  font-size: 18px !important;
  margin: 5px 0 !important;
  line-height: 1.3 !important;
  font-weight: 400 !important;
}

.tour-card__price .tour-card__amount{
  font-family: var(--sf-font-heading) !important;
  font-size: 30px !important;
  line-height: 1 !important;
  color: #fff !important;
}

/* Remove color effects */
*[style*="color:"],
*[style*="background:"] {
  /* Keep inline styles from introducing colors */
  color: #000 !important;
  background-color: #fff !important;
}

