/* Black Friday: CSS propia. Base visual conservada de la integracion publicada.
   Las clases qh-galas se mantienen por compatibilidad con tipografia/JS comunes. */
.qh-galas{margin:0;padding:24px 0;color:#092d2b}.qh-galas>header{background:#eef6f8;padding:24px;border-radius:0;margin-bottom:24px}.qh-galas-eyebrow{font-weight:700;letter-spacing:.12em;font-size:.85rem}.qh-galas-nota{font-size:.875rem;line-height:1.6;margin-top:24px}.qh-galas-condiciones{background:#eef6f8;padding:16px 20px;margin:20px 0 24px;border-radius:0}.qh-galas .qh-hw-hoteles__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.qh-galas .qh-prop-featured{grid-template-columns:repeat(4,minmax(0,1fr))}.qh-galas .qh-prop-region h3{font-size:var(--qh-landing-title,1.25rem);line-height:1.3}.qh-galas .qh-prop-region{scroll-margin-top:20px}.qh-galas .qh-hw-hoteles .texto{font-size:var(--qh-landing-copy,1rem)}.qh-galas .qh-hw-hoteles .texto p{margin-bottom:8px}.qh-galas .qh-hw-hoteles .card-img-top{aspect-ratio:16/9}@media(max-width:991px){.qh-galas .qh-hw-hoteles__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:575px){.qh-galas .qh-hw-hoteles__grid{grid-template-columns:1fr}}.qh-galas-buscador{position:relative;background:#28120e;border-radius:0;padding:16px 0;isolation:isolate;min-height:350px;overflow:visible;z-index:3}.qh-galas-buscador::before{content:"";position:absolute;inset:0 0 0 40%;z-index:-2;background:var(--qh-galas-foto) right 48%/112% auto no-repeat;transform:scaleX(-1)}.qh-galas-buscador::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#28120e 0%,transparent 65%),linear-gradient(0deg,rgba(24,9,5,.93),transparent 65%)}.qh-galas-buscador .contenidosImageB{position:relative;inset:auto;width:100%;height:auto;margin:0;padding:0}.qh-galas-buscador>.contenidosImageB>.row{justify-content:flex-start;align-items:center}.qh-galas-buscador #zona-buscador{position:relative;background:#e3f3f4;padding:20px 1em 10px}.qh-galas-buscador .ninos{font-size:1rem;text-align:left}.qh-galas-buscador #qh-edades-label{display:block}.qh-galas-banner-copy{position:absolute;bottom:24px;right:24px;width:42%;text-align:right;color:#fff;text-shadow:0 2px 6px #1e0e09}.qh-galas-banner-copy strong{display:block;font:700 clamp(22px,2.4vw,32px)/1.15 Tahoma,Arial,sans-serif;color:#fff}.qh-galas-banner-copy p{margin:12px 0 0;font:18px/1.45 Tahoma,Arial,sans-serif;color:#fff}@media(max-width:767px){.qh-galas-buscador{padding:16px;background:#eef6f8;min-height:0;overflow:visible}.qh-galas-buscador::before,.qh-galas-buscador::after{content:none;background:none}.qh-galas-buscador>.contenidosImageB>.row{margin:0}.qh-galas-buscador #zona-buscador{flex-basis:100%;max-width:100%;padding:16px 16px 10px}.qh-galas-banner-copy{position:static;width:auto;text-align:left;margin:0 0 18px;color:#103635;text-shadow:none}.qh-galas-banner-copy strong{font-size:24px;color:#103635}.qh-galas-banner-copy p{font-size:16px;color:#365353}}@media(max-width:1024px){.qh-galas-buscador{isolation:auto;z-index:auto}.qh-galas-buscador>.contenidosImageB{z-index:auto}}@media(min-width:768px) and (max-width:1024px){.qh-galas-buscador .mbe .mbe-form .mbe-title{width:100%;height:45px;position:absolute;top:0;left:0;z-index:2;line-height:45px;background-color:#333;text-align:center;font-weight:700;text-transform:uppercase;color:#fff}.qh-galas-buscador .mbe .mbe-form .mbe-title .mbe-back{position:absolute;left:15px;right:auto;top:0;line-height:45px}}.qh-galas .qh-fiesta-habitacion a{color:#005591;text-decoration:underline}

/* Identidad y componentes Black Friday */



.preview-note{margin:0;padding:10px 20px;background:#fff5d8;color:#534019;font-size:13px;line-height:1.5}
.bf-page{max-width:1440px;padding:0 24px}
.bf-breadcrumb{display:flex;gap:16px;flex-wrap:wrap;padding:24px 0;font-size:14px}
.bf-breadcrumb>span:first-child{color:#1679d6}
.bf-breadcrumb>span:nth-child(2){color:#8b999e}
.bf-hero.qh-galas-buscador{background:#171819;padding:16px 0;overflow:visible;isolation:isolate}
.bf-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 57%,#ffffff06 57%,#ffffff06 72%,transparent 72%);transform:none;z-index:-1}
.bf-hero::after{content:"";position:absolute;inset:auto 0 0 0;height:5px;background:#ed2808;z-index:0}




.bf-date{margin:16px 0 28px;text-align:left;display:flex;justify-content:space-between;align-items:center}




#search-status{font-size:13px;line-height:1.5;margin:12px 0 0;color:#34545c}
.bf-hero-copy{position:absolute;right:24px;bottom:24px;width:42%;color:#fff;text-align:right;padding:0;pointer-events:none}
.bf-kicker{letter-spacing:.18em;font-size:12px;margin:0 0 14px;color:#e7e7e7;font-weight:bold}
.bf-wordmark{font-family:Arial,sans-serif;font-size:64px;line-height:.91;font-weight:900;letter-spacing:-.045em;margin:0 0 16px}
.bf-wordmark span{color:#ff452c}
.bf-hero-title{font-size:clamp(21px,2.3vw,31px);font-weight:bold;line-height:1.3;margin:0 0 14px}
.bf-hero-subtitle{color:#d5d7d8;font-size:17px;line-height:1.6;margin:0}
.bf-content.qh-galas{padding-top:24px}
.bf-intro{width:100%;max-width:none;box-sizing:border-box;margin:0 0 24px}
.bf-intro h1{font-size:var(--qh-landing-h1,2rem);line-height:1.25;font-weight:bold;margin:10px 0 16px}
.bf-intro>p:last-child{line-height:1.7;color:#3f565d}
.bf-section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:20px}
.bf-section-kicker{font-size:12px!important;letter-spacing:.12em;font-weight:bold;color:#697a7e;margin:0 0 8px!important}
.bf-content h2{font-size:var(--qh-landing-h2,1.5rem);font-weight:bold;line-height:1.3;margin:0 0 12px}
.bf-section-heading h2{margin:0}
.bf-preview-label{font-size:12px;border:1px solid #cdd5d7;padding:5px 10px;color:#54676d;white-space:nowrap}
.bf-content .qh-prop-featured>.card{border-top:4px solid #e62a0b}
.bf-image-placeholder{height:176px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;position:relative;background:linear-gradient(130deg,#edf0f1,#f7f8f8);color:#65777c;font-size:13px}
.bf-content .bf-image-placeholder{min-height:176px;flex-shrink:0}
.bf-slot-number{font-family:Arial,sans-serif;font-size:46px;line-height:1;font-weight:bold;color:#bdc8cb}
.bf-placeholder .qh-entradas{position:absolute;top:12px;left:12px;right:auto;background:#fff;color:#54656a;font-size:11px;padding:5px 8px;max-width:calc(100% - 24px)}
.bf-content .bf-placeholder .card-body{display:flex;flex-direction:column;padding:20px;flex:1}
.bf-content .bf-placeholder h3{font-size:20px;line-height:1.35;color:#d92b09;margin:0 0 8px}
.bf-location{font-weight:bold;color:#173c44}
.bf-placeholder p{font-size:15px;line-height:1.6;margin:0 0 14px}
.bf-card-bottom{margin-top:auto;padding-top:12px}
.bf-detail{color:#536c75;font-size:13px!important;border-top:1px solid #e2e7e8;padding-top:14px}
.bf-pending-price{font-weight:bold;text-align:right;font-size:17px!important;color:#52696e}
.bf-pending-price span{display:block;font-weight:normal;font-size:12px;margin-top:4px}
.bf-content .bf-placeholder button{border-radius:4px;background:#ec2500;color:#fff;opacity:.55;cursor:not-allowed;font-size:17px;padding:10px;border:1px solid #d92607}
.bf-campaign{display:grid;grid-template-columns:1fr 1.5fr;gap:36px;margin:48px 0;background:#f3f6f7;border-left:5px solid #e62a0b;padding:30px}
.bf-campaign-title p:last-child{font-size:16px;line-height:1.6;margin-bottom:0}
.bf-campaign-dates>div{margin-bottom:12px}
.bf-campaign-dates span{display:block;color:#5c7075;font-size:13px;margin-bottom:4px}
.bf-campaign-dates strong{font-size:17px;line-height:1.5}
.bf-campaign-note{font-size:12px!important;line-height:1.6;color:#5c7075;margin:14px 0 0}
.bf-catalog>p{max-width:none;line-height:1.7}
.bf-empty{display:flex;gap:20px;align-items:center;border:1px dashed #b8c7cb;background:#fafbfc;padding:28px;margin:22px 0 0;color:#506970}
.bf-empty>span{font-size:38px;font-weight:normal;color:#8fa4ab}
.bf-empty p{font-size:14px;margin:6px 0 0;line-height:1.6}
.bf-preview-footer{font-size:12px;color:#697d84;padding:24px 0;border-top:1px solid #e1e8ea;margin-top:44px}
button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #0870b8;outline-offset:3px}
@media(max-width:1023px){.bf-date{margin-bottom:18px}.bf-content .qh-prop-featured{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.bf-page{padding:0 16px}.bf-breadcrumb{font-size:12px;gap:8px;padding:18px 0}.bf-hero.qh-galas-buscador{padding:0}.bf-hero-copy{position:static;text-align:center;width:auto;padding:20px 16px}.bf-wordmark{font-size:64px;margin-bottom:18px}.bf-hero-title{font-size:23px}.bf-hero-subtitle{font-size:15px}.bf-content.qh-galas{padding-top:18px}.bf-intro h1{font-size:26px}.bf-section-heading{align-items:start;flex-direction:column;gap:10px}.bf-content .qh-prop-featured{grid-template-columns:1fr}.bf-image-placeholder{height:190px}.bf-campaign{grid-template-columns:1fr;gap:22px;padding:22px;margin:32px 0}.bf-campaign-dates strong{font-size:16px}.bf-empty{padding:20px;align-items:start}.preview-note{font-size:12px;padding:10px 16px}}

/* Tarjetas de oferta por zona: porcentaje mÃ¡ximo, sin precios comparativos. */
.bf-content .bf-offer .imgCaja{height:220px;min-height:220px;flex-shrink:0;position:relative;overflow:hidden}
.bf-content .bf-offer .imgCaja img{width:100%;height:220px;object-fit:cover}
.bf-offer .qh-entradas{position:absolute;top:14px;left:14px;right:auto;background:#191919;color:white;padding:8px 12px;font-size:14px}
.bf-content .bf-offer .card-body{display:flex;flex-direction:column;padding:24px;flex:1}
.bf-content .bf-offer h3{font-size:22px;line-height:1.35;margin:0 0 8px}
.bf-offer h3 a{color:#d92b09}
.bf-offer p{font-size:15px;line-height:1.65}
.bf-age{color:#52686e;margin:0 0 12px}
.bf-offer-discount{font-size:21px;color:#12383f;margin:14px 0 22px}
.bf-offer-discount strong{font-size:48px;line-height:1.1;color:#e52b00}
.bf-offer-discount span{display:block;font-size:16px}
.bf-offer-dates{color:#005b8f}
.bf-offer-conditions{color:#435a61;margin-bottom:24px}
.bf-content .bf-offer .card-body>.btn{margin-top:auto;border-radius:4px;background:#ec2500;color:white;padding:12px;font-size:19px}

/* Tarjeta de cadena: enlace reservado hasta disponer de landing. */
.bf-chain-wrap{display:flex;align-items:center;gap:32px;flex-wrap:wrap;margin:36px 0}
.bf-chain-card{box-sizing:border-box;width:320px;max-width:100%;padding:24px;background:#fff;border:1px solid #d7dfe1;text-align:center}
.bf-chain-card img{display:block;width:200px;max-width:100%;height:auto;margin:0 auto 16px}
.bf-chain-card h2{font-size:22px;line-height:1.3}
.bf-chain-button{width:100%;border:0;border-radius:4px;padding:12px;background:#535b5e;color:#fff;font-size:18px;cursor:default}
.bf-chain-dates p{font-size:16px;line-height:1.6}
@media(max-width:600px){.bf-chain-wrap{gap:20px}.bf-chain-card{width:100%}}

/* Banner PortAventura, propuesta local 10/11/2026. */
.bf-portaventura-banner{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);background:#191919;color:#fff;margin:32px 0 40px;border-top:5px solid #ec2500;overflow:hidden}
.bf-portaventura-copy{padding:32px;min-width:0}
.bf-content .bf-portaventura-banner h2{color:#fff;font-size:30px;line-height:1.2;margin:10px 0 16px}
.bf-portaventura-copy p{color:#fff;font-size:16px;line-height:1.6}
.bf-portaventura-copy .bf-portaventura-kicker{font-size:13px;letter-spacing:1px;font-weight:bold}
.bf-portaventura-copy .bf-portaventura-discount{font-size:24px;line-height:1.3}
.bf-portaventura-discount strong{font-size:48px;color:#ff5438;white-space:nowrap}
.bf-portaventura-banner>img{display:block;width:100%;height:100%;min-height:280px;object-fit:cover}
.bf-portaventura-cta{display:inline-block;box-sizing:border-box;max-width:100%;padding:12px 20px;margin-top:10px;border-radius:4px;background:#ec2500;color:#fff;text-align:center;font-size:18px;line-height:1.4;text-decoration:none}
.bf-portaventura-cta:hover{background:#c92100;color:#fff}
.bf-portaventura-cta:focus-visible{outline:3px solid #fff;outline-offset:4px}
@media(max-width:767px){.bf-portaventura-banner{grid-template-columns:minmax(0,1fr)}.bf-portaventura-copy{padding:24px}.bf-content .bf-portaventura-banner h2{font-size:26px}.bf-portaventura-banner>img{height:200px;min-height:0}.bf-portaventura-cta{width:100%}}

/* NavegaciÃ³n por comunidades: reutiliza la botonera compartida de Galas. */
.bf-community{margin-top:48px}.bf-community>.bf-section-heading{flex-wrap:wrap}.bf-community>.bf-section-heading>a{min-height:44px;display:inline-flex;align-items:center}.bf-community .bf-section-heading h3{margin:0}.bf-community .bf-catalog{margin-top:28px}#bf-destinos,[id^="bf-"],#portaventura{scroll-margin-top:24px}

.bf-portaventura-claim{display:block;margin-top:8px;font-size:.7em;line-height:1.3;font-weight:400}

/* Foto oficial cedida por el parque: conservar a los visitantes en el encuadre. */
.bf-portaventura-banner>img{object-position:20% center}
@media(max-width:767px){.bf-portaventura-banner>img{height:auto;aspect-ratio:16/9;object-position:left top}}

.bf-portaventura-more{display:inline-flex;align-items:center;min-height:44px;max-width:100%;box-sizing:border-box;margin:10px 0 0 16px;color:#fff;text-decoration:underline;text-underline-offset:3px;font-size:16px}.bf-portaventura-more:hover{color:#fff}.bf-portaventura-more:focus-visible{outline:3px solid #fff;outline-offset:4px}@media(max-width:767px){.bf-portaventura-more{margin-left:0}}

/* Caja de enlaces relacionados: referencia visual aportada por Ruth (Toboganes). */
.bf-related{box-sizing:border-box;margin:40px 0 24px;padding:28px 32px;background:#edf7f9;border:1px solid #dcebed;border-radius:18px;min-width:0}
.bf-related h2{margin:0 0 16px;color:#005d91;line-height:1.3}
.bf-related p{margin:0 0 18px;line-height:1.65}
.bf-related p:last-child{margin:18px 0 0;font-size:14px}
.bf-related .qh-prop-nav{display:flex;flex-wrap:wrap;gap:12px;margin:0;padding:0}
.bf-related .qh-prop-nav a{box-sizing:border-box;flex:1 1 280px;min-width:0;max-width:100%;white-space:normal;overflow-wrap:break-word;background:#fff;border:1px solid #8cbbc9;border-radius:0;padding:12px 16px;font-size:16px;line-height:1.45;color:#005d91;display:flex;align-items:center;justify-content:center;text-align:center;min-height:48px}
.bf-related .qh-prop-nav a:hover{background:#e1f0f4;text-decoration:underline}
.bf-related .qh-prop-nav a:focus-visible{outline:3px solid #005d91;outline-offset:3px}
@media(max-width:767px){.bf-related{padding:22px 18px;border-radius:14px}.bf-related .qh-prop-nav a{flex-basis:100%}}

/* Relacionados en prosa: sin botonera, segÃºn aclaraciÃ³n de Ruth. */
.bf-related a{color:#005d91;font-weight:700;text-decoration:underline;text-underline-offset:3px}.bf-related a:focus-visible{outline:3px solid #005d91;outline-offset:3px}.bf-related p:last-child{font-size:inherit}

.bf-hero #zona-buscador #too-be{min-height:45px}.bf-hero.qh-galas-buscador{overflow:visible;isolation:auto}


/* Calendario: pantalla completa hasta 1024px. Incluir el limite 767px,
   donde cal5 ya oculta el boton. Alcance exclusivo de Black Friday. */
@media (min-width:767px) and (max-width:1024px){
 .bf-hero .mbe.mbe-advanced .mbe-top-section .mbe-dates .mbe-results .mbe-dates-footer .mbe-dates-flexible-search{display:block}
}
@media (min-width:767px) and (max-width:1024px){
 .bf-hero .mbe-dates-footer .mbe-dates-flexible-search{width:100%}
 .bf-hero .mbe-dates-footer .mbe-dates-flexible-search button{display:block;width:100%;min-height:44px;padding:.5em;background-color:#4a85f5;border:1px solid #4a85f5;color:#fff;border-radius:3px}
}

/* Cabecera: estructura y controles comunes de Best; solo la creatividad es propia. */
.bf-hero .bf-hero-inner{position:relative;width:100%;margin:0;padding:0}
.bf-hero .bf-hero-inner>.row{justify-content:flex-start;align-items:center}
.bf-hero #zona-buscador{position:relative;background:#e3f3f4;padding:20px 1em 10px;min-width:0}
@media(min-width:768px) and (max-width:991px){
 .bf-hero .bf-hero-copy{position:static;width:auto;padding:20px 24px 8px}
}
@media(max-width:767px){
 .bf-hero.qh-galas-buscador{min-height:0}
 .bf-hero .bf-hero-inner>.row{margin:0}
 .bf-hero #zona-buscador{flex-basis:100%;max-width:100%;padding:16px 16px 10px}
 .bf-wordmark{font-size:46px;margin-bottom:12px}
}
/* Campo cerrado alineado con destino; el panel abierto conserva su geometria. */
.bf-hero #zona-buscador #too-be.mbe-default{width:100%;max-width:100%}
.bf-hero #zona-buscador #too-be.mbe-default .mbe-input-dates{width:100%!important;box-sizing:border-box}
.bf-hero #zona-buscador #too-be.mbe-default #mbe-dates-select{width:100%;box-sizing:border-box}

/* Espaciado compacto: misma separacion que bajo las migas. */
.bf-content #bf-destinos{box-sizing:border-box;width:100%;margin:0 0 24px;padding:16px 20px}
.bf-content #bf-destinos h2{margin:0 0 12px}
.bf-content #bf-destinos .qh-prop-nav{margin:0;padding:0;gap:8px}
