/* Budapest Free Tour — Premium Home 2026
   Capa aislada: no modifica reservas, SEO, datos ni rutas. */
:root{
  --bft-black:#090909;--bft-ink:#121212;--bft-soft-black:#151515;
  --bft-paper:#f5f2ed;--bft-white:#fff;--bft-muted:#706d69;
  --bft-red:#c82638;--bft-red-deep:#a91829;--bft-line:rgba(18,18,18,.12);
  --bft-ease:cubic-bezier(.2,.72,.25,1);--bft-radius:24px;
  --bft-shadow:0 24px 70px rgba(12,10,8,.12);
}
html{overflow-x:clip;scroll-behavior:smooth}
body{overflow-x:clip;background:var(--bft-paper);color:var(--bft-ink)}
body::selection{background:var(--bft-red);color:#fff}
.container{width:min(100% - 48px,1440px)}
.section{position:relative;padding:clamp(78px,8vw,144px) 0;overflow:clip}
.section-header{max-width:900px;margin:0 auto clamp(48px,5vw,76px);text-align:center}
.section-header h2{font-size:clamp(42px,5.2vw,82px);line-height:.98;letter-spacing:-.025em;text-wrap:balance}
.section-header p{max-width:760px;margin:22px auto 0;font-size:clamp(17px,1.35vw,22px);line-height:1.55;text-wrap:balance}

/* Navegacion: limpia y estable, sin cambiar su logica. */
#main-header{background:rgba(247,245,241,.9)!important;border-top:3px solid var(--bft-black);border-bottom:1px solid rgba(0,0,0,.1);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
#main-header .nav-container{min-height:88px!important;padding-block:10px!important}
#main-header .nav-links a{position:relative}
#main-header .nav-links a::after{content:"";position:absolute;left:50%;right:50%;bottom:-8px;height:2px;background:var(--bft-red);transition:left .25s var(--bft-ease),right .25s var(--bft-ease)}
#main-header .nav-links a:hover::after,#main-header .nav-links a:focus-visible::after{left:0;right:0}
#main-header .nav-cta{box-shadow:inset 0 0 0 1px #000;transition:transform .25s var(--bft-ease),background .25s,color .25s}
#main-header .nav-cta:hover{background:var(--bft-red)!important;border-color:var(--bft-red)!important;transform:translateY(-2px)}

/* Hero cinematografico: panel negro y curva SVG real. */
#hero{height:auto!important;min-height:calc(100svh - 88px)!important;background:var(--bft-black)!important;isolation:isolate;display:grid!important;align-items:center}
#hero .hero-poster,#hero .hero-video{inset:0 0 0 42%!important;width:58%!important;height:100%!important;object-fit:cover!important;object-position:center!important;filter:saturate(.92) contrast(1.04);clip-path:none!important}
#hero .hero-overlay{background:linear-gradient(90deg,rgba(9,9,9,.18) 36%,rgba(9,9,9,.05) 62%,rgba(9,9,9,.18))!important;z-index:1}
#hero .bft-hero-curve{display:block;position:absolute;inset:0 auto 0 0;width:57%;height:100%;z-index:2;color:var(--bft-black);filter:drop-shadow(18px 0 30px rgba(0,0,0,.18));pointer-events:none}
#hero .bft-hero-curve path{fill:currentColor}
#hero .hero-content{position:relative!important;z-index:3!important;width:min(100% - 48px,1440px)!important;margin-inline:auto!important;padding:clamp(96px,10vh,150px) 0!important;text-align:left!important;color:#fff!important}
#hero .hero-content>*{max-width:min(690px,48vw)}
#hero .hero-badges{display:flex!important;flex-wrap:wrap;gap:10px!important;margin-bottom:30px!important}
#hero .hero-badge{color:#fff!important;background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.24)!important;backdrop-filter:blur(10px);padding:10px 15px!important}
#hero h1{font-size:clamp(54px,6.2vw,104px)!important;line-height:.88!important;letter-spacing:-.035em!important;text-wrap:balance;margin:0 0 24px!important}
#hero .hero-sub{font-size:clamp(18px,1.45vw,24px)!important;line-height:1.5!important;color:rgba(255,255,255,.78)!important;margin-bottom:34px!important}
#hero .hero-actions{display:flex!important;gap:14px!important;flex-wrap:wrap}
#hero .hero-actions .btn{min-height:58px;padding:0 28px!important;border-radius:999px!important;transition:transform .25s var(--bft-ease),box-shadow .25s,background .25s}
#hero .hero-actions .btn-primary{background:var(--bft-red)!important;border-color:var(--bft-red)!important;color:#fff!important;box-shadow:0 12px 30px rgba(200,38,56,.28)}
#hero .hero-actions .btn-primary:hover{background:var(--bft-red-deep)!important;transform:translateY(-3px);box-shadow:0 18px 38px rgba(200,38,56,.36)}
#hero .hero-actions .btn-outline{border-color:rgba(255,255,255,.55)!important;color:#fff!important;background:rgba(255,255,255,.04)!important}
#hero .hero-actions .btn-outline:hover{background:#fff!important;color:#111!important;transform:translateY(-3px)}

/* Ritmo editorial: negro dominante, rojo como firma puntual. */
#experience,#route,#reviews{background:var(--bft-black)!important;color:#fff!important}
#experience::before,#reviews::before{content:"";position:absolute;width:46vw;height:46vw;border:1px solid rgba(200,38,56,.18);border-radius:50%;right:-25vw;top:-20vw;pointer-events:none}
#experience .section-header p,#route .section-header p,#reviews .section-header p{color:rgba(255,255,255,.66)!important}
#experience .exp-grid{gap:18px!important}
#experience .exp-card{position:relative;background:linear-gradient(145deg,#181818,#101010)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:var(--bft-radius)!important;padding:clamp(28px,3vw,46px)!important;overflow:hidden;box-shadow:none!important;transition:transform .35s var(--bft-ease),border-color .35s,background .35s}
#experience .exp-card::before{content:"";position:absolute;left:0;top:0;width:56px;height:3px;background:var(--bft-red);transition:width .35s var(--bft-ease)}
#experience .exp-card:hover{transform:translateY(-8px);border-color:rgba(200,38,56,.55)!important;background:#1b1b1b!important}
#experience .exp-card:hover::before{width:100%}
#experience .exp-card p{color:rgba(255,255,255,.66)!important}

#tours,#booking,#faq,#cta{background:var(--bft-paper)!important;color:var(--bft-ink)!important}
#tours .tours-grid{gap:24px!important}
#tours .tour-card{background:#fff!important;border:0!important;border-radius:var(--bft-radius)!important;box-shadow:var(--bft-shadow)!important;overflow:hidden;transition:transform .4s var(--bft-ease),box-shadow .4s}
#tours .tour-card:hover{transform:translateY(-10px);box-shadow:0 34px 80px rgba(12,10,8,.18)!important}
#tours .tour-card img{transition:transform .8s var(--bft-ease),filter .5s}
#tours .tour-card:hover img{transform:scale(1.045);filter:saturate(1.08)}
#tours .tour-card-body{padding:clamp(24px,2.4vw,38px)!important}
#tours .tour-card .btn{border-radius:999px!important}

#route .route-block{border:1px solid rgba(255,255,255,.11)!important;border-radius:var(--bft-radius)!important;background:#111!important;overflow:hidden;box-shadow:0 36px 90px rgba(0,0,0,.3)!important}
#route .route-map{filter:grayscale(.2) contrast(1.05)}
#route .route-list li{border-color:rgba(255,255,255,.1)!important}
#route .route-list li::marker{color:var(--bft-red)}

/* Reservas: calendario compacto, claro y util. */
#booking{background:linear-gradient(180deg,#f5f2ed 0,#fff 100%)!important}
#booking .booking-wrapper{display:grid!important;grid-template-columns:minmax(440px,.82fr) minmax(0,1.18fr)!important;gap:clamp(28px,4vw,64px)!important;align-items:start!important}
#booking .calendar-container,#booking #slotsContainer{background:#fff!important;border:1px solid var(--bft-line)!important;border-radius:var(--bft-radius)!important;box-shadow:var(--bft-shadow)!important}
#booking .calendar-container{padding:clamp(24px,3vw,38px)!important;min-height:0!important}
#booking .calendar-nav{min-height:58px!important;margin-bottom:18px!important;align-items:center!important}
#booking .calendar-nav button{width:48px!important;height:48px!important;border-radius:50%!important;border:1px solid var(--bft-line)!important;background:#fff!important;transition:background .2s,color .2s,transform .2s}
#booking .calendar-nav button:not(:disabled):hover{background:var(--bft-black)!important;color:#fff!important;transform:scale(1.05)}
#booking .calendar-grid{gap:6px!important}
#booking .calendar-day{min-height:46px!important;border-radius:12px!important;transition:background .2s,color .2s,transform .2s}
#booking .calendar-day:not(.disabled):hover{transform:translateY(-2px)}
#booking #slotsContainer{padding:clamp(24px,3vw,40px)!important;min-height:360px!important}

#reviews .review-card{background:#121212!important;border:1px solid rgba(255,255,255,.11)!important;border-radius:var(--bft-radius)!important;transition:transform .35s var(--bft-ease),border-color .35s}
#reviews .review-card:hover{transform:translateY(-7px);border-color:rgba(200,38,56,.48)!important}
#reviews .review-rating,#reviews .stars{color:var(--bft-red)!important}

#faq .faq-list{max-width:1050px!important}
#faq .faq-item{background:#fff!important;border:1px solid var(--bft-line)!important;border-radius:18px!important;margin-bottom:12px!important;box-shadow:0 10px 35px rgba(0,0,0,.045);overflow:hidden}
#faq .faq-question{padding:24px 28px!important;color:var(--bft-ink)!important}
#faq .faq-question::after{color:var(--bft-red)!important}
#faq .faq-answer{color:var(--bft-muted)!important}

#cta{border-top:1px solid var(--bft-line)!important}
#cta h2,#cta p{color:var(--bft-ink)!important}
#cta .btn{background:var(--bft-black)!important;color:#fff!important;border-radius:999px!important;box-shadow:0 16px 40px rgba(0,0,0,.18)}
#cta .btn:hover{background:var(--bft-red)!important;transform:translateY(-3px)}

/* Movimiento progresivo, sin ocultar contenido cuando JS falla. */
.bft-motion-ready [data-bft-reveal]{opacity:0;transform:translate3d(0,34px,0);transition:opacity .75s var(--bft-ease),transform .75s var(--bft-ease);transition-delay:var(--bft-delay,0ms)}
.bft-motion-ready [data-bft-reveal].is-visible{opacity:1;transform:none}
.bft-scroll-progress{position:fixed;z-index:9999;left:0;top:0;width:100%;height:3px;transform:scaleX(0);transform-origin:left;background:var(--bft-red);pointer-events:none}

@media (max-width:980px){
  #hero .hero-poster,#hero .hero-video{inset:0!important;width:100%!important;clip-path:none!important}
  #hero .bft-hero-curve{display:none}
  #hero .hero-overlay{background:linear-gradient(180deg,rgba(0,0,0,.48),rgba(0,0,0,.82))!important}
  #hero .hero-content{display:flex;flex-direction:column;align-items:center;text-align:center!important;padding:110px 0 72px!important}
  #hero .hero-content>*{max-width:760px}
  #hero .hero-badges,#hero .hero-actions{justify-content:center}
  #booking .booking-wrapper{grid-template-columns:1fr!important}
}
@media (max-width:768px){
  .container{width:min(100% - 28px,1440px)}
  .section{padding:72px 0}
  .section-header{margin-bottom:38px}
  .section-header h2{font-size:clamp(38px,13vw,58px)}
  #main-header .nav-container{min-height:66px!important;padding:7px 14px!important}
  #main-header .nav-links{top:66px!important;height:calc(100dvh - 66px)!important;background:rgba(8,8,8,.98)!important;justify-content:center!important;text-align:center!important;gap:4px!important;padding:30px 22px!important}
  #main-header .nav-links a{font-size:clamp(24px,7vw,34px)!important;line-height:1.2!important;color:#fff!important;padding:10px!important}
  #hero{min-height:calc(100svh - 66px)!important}
  #hero .hero-content{width:min(100% - 30px,1440px)!important;padding:82px 0 54px!important}
  #hero h1{font-size:clamp(43px,15vw,66px)!important;line-height:.9!important}
  #hero .hero-badges{gap:7px!important;margin-bottom:22px!important}
  #hero .hero-badge{font-size:12px!important;padding:8px 10px!important}
  #hero .hero-actions{width:100%;display:grid!important;grid-template-columns:1fr!important}
  #hero .hero-actions .btn{width:100%;min-height:54px}
  #experience .exp-card,#tours .tour-card,#reviews .review-card{border-radius:18px!important}
  #booking .booking-wrapper{gap:18px!important}
  #booking .calendar-container,#booking #slotsContainer{border-radius:18px!important}
  #booking .calendar-day{min-height:42px!important}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .bft-motion-ready [data-bft-reveal]{opacity:1!important;transform:none!important}
}

/* BFT-HOME-PREMIUM-CORRECCION-VISUAL-START */
:root {
  --bft-paper: #f5f2ed;
  --bft-ink: #111111;
  --bft-muted: #626262;
  --bft-red: #c62638;
}

/* Hero: una division solida y legible, sin difuminado. */
#hero .hero-overlay {
  background: transparent !important;
}

#hero .hero-badges > *,
#hero .hero-features > * {
  color: var(--bft-ink) !important;
  background: rgba(255, 255, 255, .96) !important;
  border-color: #bdb9b3 !important;
  font-size: 14px !important;
  line-height: 1.15 !important;
}

#hero .hero-badges svg,
#hero .hero-features svg,
#hero .hero-badges i,
#hero .hero-features i {
  color: var(--bft-ink) !important;
  fill: currentColor !important;
}

#hero .hero-actions .btn,
#hero .hero-actions a {
  font-size: 16px !important;
  line-height: 1.2 !important;
}

@media (min-width: 769px) {
  #hero {
    background-color: var(--bft-paper) !important;
  }

  #hero .bft-hero-curve {
    color: var(--bft-paper) !important;
    opacity: 1 !important;
    filter: none !important;
  }

  #hero .bft-hero-curve path {
    fill: var(--bft-paper) !important;
    opacity: 1 !important;
  }

  #hero .hero-content {
    color: var(--bft-ink) !important;
    padding-top: clamp(48px, 6vh, 72px) !important;
    padding-bottom: clamp(48px, 6vh, 72px) !important;
  }

  #hero .hero-content > * {
    max-width: min(590px, 43vw) !important;
  }

  #hero h1 {
    color: var(--bft-ink) !important;
    font-size: clamp(40px, 4.15vw, 66px) !important;
    line-height: .95 !important;
    letter-spacing: -.015em !important;
    text-wrap: balance;
  }

  #hero .hero-sub {
    max-width: 570px !important;
    color: #3d3d3d !important;
    font-size: clamp(16px, 1.12vw, 19px) !important;
    line-height: 1.48 !important;
    text-shadow: none !important;
  }
}

/* Reservas: recuperar contraste en calendario, controles y resultados. */
#booking {
  color: var(--bft-ink) !important;
  background: var(--bft-paper) !important;
}

#booking .section-header h2 {
  color: var(--bft-ink) !important;
  font-size: clamp(36px, 4.2vw, 64px) !important;
  line-height: 1 !important;
}

#booking .section-header p {
  color: var(--bft-muted) !important;
  font-size: clamp(16px, 1.35vw, 21px) !important;
  line-height: 1.45 !important;
}

#booking .calendar-container,
#booking #slotsContainer {
  color: var(--bft-ink) !important;
  background: #ffffff !important;
}

#booking .calendar-nav,
#booking .calendar-grid,
#booking .calendar-grid *,
#booking .slots-placeholder {
  color: var(--bft-ink) !important;
}

#booking .calendar-nav button {
  color: var(--bft-ink) !important;
  background: #ffffff !important;
  border-color: #aaa7a2 !important;
}

#booking .calendar-nav button:disabled,
#booking .calendar-day:disabled,
#booking .calendar-day.disabled,
#booking .calendar-day.is-disabled {
  color: #b5b5b5 !important;
  opacity: 1 !important;
}

#booking .slots-placeholder {
  color: var(--bft-muted) !important;
  font-size: clamp(16px, 1.3vw, 20px) !important;
}

#booking svg {
  color: var(--bft-ink) !important;
  stroke: currentColor !important;
}

/* FAQ: los selectores reales son .section-header, details y summary. */
#faq {
  color: var(--bft-ink) !important;
  background: var(--bft-paper) !important;
}

#faq .section-header h2 {
  color: var(--bft-ink) !important;
  font-size: clamp(36px, 4.2vw, 64px) !important;
  line-height: 1 !important;
}

#faq .section-header p {
  color: var(--bft-muted) !important;
  font-size: clamp(16px, 1.35vw, 21px) !important;
  line-height: 1.45 !important;
}

#faq .section-header::after,
#booking .section-header::after {
  background: var(--bft-red) !important;
}

#faq .faq-item {
  color: var(--bft-ink) !important;
  background: #ffffff !important;
  border-color: #d9d7d3 !important;
}

#faq .faq-item summary {
  color: var(--bft-ink) !important;
  font-size: clamp(17px, 1.3vw, 21px) !important;
  line-height: 1.3 !important;
}

#faq .faq-item summary::after,
#faq .faq-item summary::marker {
  color: var(--bft-red) !important;
}

#faq .faq-answer,
#faq .faq-answer * {
  color: var(--bft-muted) !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}

@media (max-width: 768px) {
  #hero .bft-hero-curve {
    display: none !important;
  }

  #hero .hero-overlay {
    display: block !important;
    background: rgba(5, 8, 12, .62) !important;
  }

  #hero .hero-content,
  #hero h1 {
    color: #ffffff !important;
  }

  #hero h1 {
    font-size: clamp(34px, 11vw, 48px) !important;
    line-height: .98 !important;
  }

  #hero .hero-sub {
    color: rgba(255, 255, 255, .94) !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, .55) !important;
  }

  #booking .section-header h2,
  #faq .section-header h2 {
    font-size: clamp(34px, 11vw, 48px) !important;
  }
}
/* BFT-HOME-PREMIUM-CORRECCION-VISUAL-END */

/* BFT-HEADER-CALENDAR-STARS-START */
/* Cabecera de escritorio mas compacta y hero completamente visible. */
@media (min-width: 769px) {
  #main-header .nav-container {
    box-sizing: border-box !important;
    height: 76px !important;
    min-height: 76px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }

  #main-header .nav-logo,
  #main-header .bft-logo-link,
  #main-header .bft-logo-link-nav {
    max-height: 58px !important;
  }

  #main-header .nav-logo img,
  #main-header .bft-logo-link img,
  #main-header .bft-logo-link-nav img {
    width: auto !important;
    max-height: 58px !important;
  }

  #main-header .nav-links a,
  #main-header .nav-right a,
  #main-header .nav-right button {
    line-height: 1.15 !important;
  }

  #hero {
    min-height: calc(100svh - 76px) !important;
  }

  #hero .hero-content {
    box-sizing: border-box !important;
    padding-top: clamp(28px, 3.5vh, 46px) !important;
    padding-bottom: clamp(28px, 3.5vh, 46px) !important;
  }

  #hero .hero-badges {
    margin-top: 0 !important;
    margin-bottom: 14px !important;
  }
}

/* Navegacion del calendario: controles claros sin circulos. */
#booking .calendar-nav button {
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 112px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 8px 14px !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  box-shadow: none !important;
  transform: none !important;
  white-space: nowrap !important;
}

#booking .calendar-nav button:not(:disabled):hover {
  transform: translateY(-1px) !important;
}

#booking .calendar-nav button:disabled {
  transform: none !important;
}

/* Cinco estrellas reales en lugar de cinco puntos decorativos. */
#reviews .review-rating,
#reviews .stars {
  font-size: 0 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

#reviews .review-rating::before,
#reviews .stars::before {
  content: "★★★★★" !important;
  display: inline-block !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 4px !important;
  color: var(--bft-red, #c72638) !important;
}

@media (max-width: 768px) {
  #booking .calendar-nav button {
    min-width: 88px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 7px 10px !important;
    border-radius: 5px !important;
    font-size: 14px !important;
  }

  #reviews .review-rating::before,
  #reviews .stars::before {
    font-size: 19px !important;
    letter-spacing: 3px !important;
  }
}
/* BFT-HEADER-CALENDAR-STARS-END */

/* BFT-HERO-S-SOLIDA-FINAL-START */
/*
 * Cabecera compacta y separacion vectorial solida.
 * El margen superior mantiene todas las insignias y el texto fuera
 * del area visual ocupada por la cabecera fija.
 */
@media (min-width: 981px) {
  html body #main-header {
    height: 76px !important;
    min-height: 76px !important;
    max-height: 76px !important;
  }

  html body #main-header .nav-container {
    box-sizing: border-box !important;
    height: 73px !important;
    min-height: 73px !important;
    max-height: 73px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }

  html body #main-header .bft-logo-link,
  html body #main-header .bft-logo-link-nav,
  html body #main-header .nav-logo {
    height: 58px !important;
    max-height: 58px !important;
  }

  html body #main-header .bft-logo-link img,
  html body #main-header .bft-logo-link-nav img,
  html body #main-header .nav-logo img {
    width: auto !important;
    height: 58px !important;
    max-height: 58px !important;
    object-fit: contain !important;
  }

  html body #hero {
    min-height: calc(100svh - 76px) !important;
    margin-top: 0 !important;
  }

  html body #hero .hero-content {
    box-sizing: border-box !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: clamp(64px, 8vh, 96px) !important;
    margin-bottom: clamp(28px, 4vh, 52px) !important;
  }

  html body #hero .bft-hero-curve {
    display: block !important;
    inset: 0 auto 0 0 !important;
    width: 58% !important;
    height: 100% !important;
    color: #f7f5f1 !important;
    opacity: 1 !important;
    filter: none !important;
    mix-blend-mode: normal !important;
  }

  html body #hero .bft-hero-curve path {
    fill: #f7f5f1 !important;
    fill-opacity: 1 !important;
    stroke: none !important;
    filter: none !important;
  }

  html body #hero .hero-overlay {
    background: transparent !important;
    opacity: 1 !important;
  }
}

@media (min-width: 769px) and (max-width: 980px) {
  html body #hero .hero-content {
    margin-top: 46px !important;
  }
}
/* BFT-HERO-S-SOLIDA-FINAL-END */

/* BFT-HERO-OFFSET-FINAL-START */
/* La altura queda ligada al contenido: ninguna fila se esconde bajo la cabecera. */
@media (min-width: 981px) {
  html body #hero {
    box-sizing: border-box !important;
    height: auto !important;
    min-height: calc(100svh - 76px) !important;
  }

  html body #hero .hero-content {
    box-sizing: border-box !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: clamp(38px, 4.5vh, 58px) !important;
    padding-bottom: clamp(36px, 4vh, 54px) !important;
  }
}

@media (min-width: 769px) and (max-width: 980px) {
  html body #hero {
    box-sizing: border-box !important;
    height: auto !important;
  }

  html body #hero .hero-content {
    margin-top: 0 !important;
    padding-top: 36px !important;
    padding-bottom: 38px !important;
  }
}
/* BFT-HERO-OFFSET-FINAL-END */

/* BFT-HERO-SOLAPE-DEFINITIVO-START */
/* El header es fijo: el hero completo debe comenzar debajo de sus 76 px. */
@media (min-width: 769px) {
  html body #hero {
    margin-top: 76px !important;
    height: auto !important;
    min-height: calc(100svh - 76px) !important;
    overflow: hidden !important;
    isolation: isolate !important;
  }

  /* Desactiva las formas CSS anteriores: solo queda el SVG con la S. */
  html body #hero::before,
  html body #hero::after {
    content: none !important;
    display: none !important;
  }

  html body #hero .bft-hero-curve {
    display: block !important;
    position: absolute !important;
    inset: 0 auto 0 0 !important;
    width: 58% !important;
    height: 100% !important;
    opacity: 1 !important;
    color: #f7f5f1 !important;
    filter: none !important;
    transform: none !important;
    pointer-events: none !important;
    z-index: 3 !important;
  }

  html body #hero .bft-hero-curve path {
    fill: #f7f5f1 !important;
    fill-opacity: 1 !important;
    stroke: none !important;
  }

  html body #hero .hero-content {
    position: relative !important;
    z-index: 4 !important;
    box-sizing: border-box !important;
    margin-top: 0 !important;
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
}

@media (min-width: 769px) and (max-height: 760px) {
  html body #hero .hero-content {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }
}
/* BFT-HERO-SOLAPE-DEFINITIVO-END */

/* BFT-HERO-S-SUTIL-START */
@media (min-width: 769px) {
  #hero .bft-hero-curve {
    display: block !important;
    position: absolute !important;
    inset: 0 auto 0 0 !important;
    width: 58% !important;
    height: 100% !important;
    z-index: 2 !important;
    pointer-events: none !important;
    overflow: visible !important;
  }

  #hero .bft-hero-curve path {
    fill: #f7f5f1 !important;
    stroke: none !important;
    filter: none !important;
  }
}

@media (max-width: 768px) {
  #hero .bft-hero-curve {
    display: none !important;
  }
}
/* BFT-HERO-S-SUTIL-END */
