/* =====================================================================
   Kalifornia · capa visual «maqueta aprobada» (06/11/2026)
   SOLO CSS. Todo va bajo html.kf2: sin esa clase, nada de aquí se aplica.
   No cambia HTML, textos, H1/H2, metas, schema ni URLs. No oculta contenido
   con texto (solo imágenes decorativas aria-hidden). Mismo sistema: Bebas Neue
   + Inter, tinta #111014, rosa #E42D9F, rosa suave #FCE7F3, verde WhatsApp.
   Interruptor: KF2_TODOS en app/layout.php · vista previa: ?kf2=1 / ?kf2=0
   ===================================================================== */

/* ---------- 0 · Tokens ---------- */
.kf2{--r:22px;--r2:22px;--k-torn:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 70' preserveAspectRatio='none'%3E%3Cpath d='M0 38 60 22l70 20 80-30 60 26 90-18 70 24 80-34 70 30 90-16 60 22 90-28 70 26 80-20 70 24 90-30 60 22 80-18 70 26 80-24 70 20v40H0Z'/%3E%3C/svg%3E");--k-chk:conic-gradient(var(--ink) 25%,transparent 0 50%,var(--ink) 0 75%,transparent 0) 0 0/22px 22px}

/* ---------- 1 · Tipografía: titulares más grandes y apretados ---------- */
.kf2 h1,.kf2 h2,.kf2 h3{line-height:.9;letter-spacing:.005em}
.kf2 main h2:not([class]),.kf2 .sec-head h2{font-size:clamp(40px,5.4vw,80px)}
.kf2 .hero h1{font-size:clamp(52px,9vw,150px);max-width:11ch;line-height:.88}
.kf2 .hero-sub h1{font-size:clamp(46px,7.6vw,120px);max-width:13ch}
.kf2 .hero-sub.hero-foto h1{font-size:clamp(44px,6.8vw,104px)}
.kf2 .kicker{display:inline-block;font:700 12px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--pink)}
.kf2 .sec-ink .kicker{opacity:1;color:var(--pink)}

/* ---------- 2 · Botones: píldora, más peso, mismo color de siempre ---------- */
.kf2 .btn{border-radius:999px;font-weight:700;transition:transform .2s,background .2s,color .2s,border-color .2s}
.kf2 .btn:hover{transform:translateY(-2px)}
.kf2 .btn-lg,.kf2 .btn-wa.btn-lg,.kf2 .btn-presupuesto.btn-lg,.kf2 .hm-cta .btn{border-radius:999px}
.kf2 .btn-wa,.kf2 .kcal-wa,.kf2 .rp-send{color:#06230f!important}
.kf2 .btn-wa:hover{background:#3be37b!important}
.kf2 .btn-ghost{border-width:2px}

/* ---------- 3 · Cabecera: tinta, logotipo blanco, menú en píldoras ---------- */
.kf2 .hdr{background:rgba(17,16,20,.94);border-bottom:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
/* logotipo de siempre, en blanco (mismo <img> con su alt; no se cambia por otro) */
.kf2 .hdr .hdr-word{filter:brightness(0) invert(1);height:22px}
.kf2 .hdr .hdr-guit{display:none}
.kf2 .hdr-burger{color:#fff}
.kf2 .nav a{color:#fff;font:600 13px/1 var(--body);padding:9px 14px;border:1.5px solid rgba(255,255,255,.25);border-radius:999px;text-decoration:none;transition:background .2s,border-color .2s}
.kf2 .nav a:hover,.kf2 .nav a[aria-current="page"]{background:var(--pink);border-color:var(--pink);color:#fff}
.kf2 .nav a::after{display:none!important}
.kf2 .hdr-wa{border-radius:999px;height:38px;font-size:13px}

/* ---------- 4 · Héroes: velo, chispas y borde rasgado en rosa ---------- */
.kf2 .hero-sub,.kf2 .rev-cover{position:relative}
.kf2 .hero::before,.kf2 .hero-sub::before,.kf2 .rev-cover::before{content:"";position:absolute;left:0;right:0;bottom:-1px;height:clamp(26px,4vw,54px);z-index:3;background:var(--pink);-webkit-mask:var(--k-torn) center/100% 100% no-repeat;mask:var(--k-torn) center/100% 100% no-repeat;pointer-events:none}
.kf2 .hero .wrap,.kf2 .hero-sub>.wrap,.kf2 .rev-cover .rev-in{padding-bottom:clamp(64px,8vw,110px)}
.kf2 .hero .lead{color:rgba(255,255,255,.9)}
.kf2 .hero h1 em,.kf2 .hero h1 .rosa{font-style:normal;color:var(--pink)}

/* ---------- 5 · Tiras que giran: bandas inclinadas ---------- */
.kf2 .hm-marq{position:relative;z-index:4;background:var(--wa);border:0;border-block:3px solid var(--ink);transform:rotate(-1.5deg);margin:0 -24px;padding:14px 0}
.kf2 .hm-marq-in{color:var(--ink);font-size:clamp(28px,3.6vw,50px)}
.kf2 .hm-marq-in i{color:var(--pink);font-size:1.15em;line-height:.8}
.kf2 .hm-marq-ink{background:var(--pink);transform:rotate(1.2deg)}
.kf2 .hm-marq-ink .hm-marq-in{color:#fff}
.kf2 .hm-marq-ink .hm-marq-in i{color:var(--ink)}

/* ---------- 6 · Tarjetas y vídeos: radio 22, borde 2px, play rosa con latido ---------- */
.kf2 .yt{border-radius:var(--r)}
.kf2 .yt-play{background:var(--pink);box-shadow:0 0 0 0 rgba(228,45,159,.6);animation:kfPulse 2.4s infinite}
@keyframes kfPulse{70%{box-shadow:0 0 0 22px rgba(228,45,159,0)}100%{box-shadow:0 0 0 0 rgba(228,45,159,0)}}
.kf2 .resena-card{border:2px solid var(--ink);border-radius:var(--r);background:#fff}
.kf2 .resena-card:hover{border-color:var(--pink)}
.kf2 .resena-stars{color:var(--pink)}
.kf2 .bolo-card,.kf2 .pv-card,.kf2 .pv-tarjeta,.kf2 .kcar-item .yt,.kf2 .intl-card,.kf2 .presu-card{border-radius:var(--r)}

/* ---------- 7 · Chips de provincias / etiquetas ---------- */
.kf2 .chips a,.kf2 .chip,.kf2 .hm-chips a,.kf2 .pv-chip,.kf2 .fi-chips a,.kf2 .bo-ch a{font:400 clamp(20px,2.2vw,30px)/1 var(--display);text-transform:uppercase;letter-spacing:.01em;padding:11px 18px 8px;border:2px solid currentColor;border-radius:999px;text-decoration:none}

/* ---------- 8 · Preguntas frecuentes ---------- */
.kf2 .faq{border-bottom:2px solid rgba(17,16,20,.14)}
.kf2 .faq summary{font:400 clamp(20px,1.9vw,27px)/1.08 var(--display);text-transform:uppercase;padding:18px 40px 18px 0}
.kf2 .faq summary::after{font-size:32px;top:12px;transition:transform .3s}
.kf2 .faq[open] summary::after{content:"+";transform:rotate(45deg)}

/* ---------- 9 · Pie: KALIFORNIA gigante en rosa ---------- */
.kf2 .ftr{border-top:0;padding-bottom:40px}
.kf2 .ftr h3{font-size:26px}
.kf2 .ftr a:hover{color:var(--pink)}
.kf2 .ftr .wrap::after{content:"KALIFORNIA";content:"KALIFORNIA" / "";display:block;margin-top:40px;font:400 clamp(70px,16vw,250px)/.8 var(--display);color:var(--pink);letter-spacing:-.01em;white-space:nowrap;overflow:hidden}
.kf2 .redes-ftr__link{border-radius:999px}

/* ---------- 10 · Barra fija móvil: cápsula flotante oscura ---------- */
@media (max-width:767px){
  .kf2 .wabar{left:10px;right:10px;bottom:10px;padding:8px;border:1px solid rgba(255,255,255,.15);border-radius:26px;background:rgba(17,16,20,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
  .kf2 .wabar:not(.is-on){transform:translateY(calc(100% + 24px))}
  .kf2 .wabar .btn{border-radius:999px;min-height:48px}
}

/* =====================================================================
   HOME
   ===================================================================== */
.kf2 main:has(.hm-hero){background:var(--ink)}
.kf2 main{overflow-x:clip}
.kf2 .hm-hero h1{max-width:12ch}
/* Puertas: barra de color arriba con el título y abajo con el texto + flecha redonda */
.kf2 .hm-puertas{gap:16px}
.kf2 .puerta{--c:var(--pink);aspect-ratio:auto;min-height:0;padding:0;justify-content:flex-start;background:var(--ink2);border:2px solid var(--c);border-radius:var(--r);isolation:isolate}
.kf2 .puerta::after{display:none}
.kf2 .puerta img{position:relative;inset:auto;z-index:0;order:2;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.kf2 .puerta:hover img{transform:scale(1.06)}
.kf2 .puerta h3{order:1;position:relative;z-index:1;margin:0;padding:14px 18px 8px;background:var(--c);color:var(--ink);font-size:clamp(30px,3vw,46px)}
.kf2 .puerta span{order:3;position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:14px 18px 18px;background:var(--c);color:var(--ink);font-weight:600;font-size:15px;line-height:1.35;flex:1}
.kf2 .puerta span::after{content:"→";content:"→" / "";flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--ink);color:#fff;font-size:18px;transition:transform .3s}
.kf2 .puerta:hover span::after{transform:rotate(-45deg)}
.kf2 .puerta-bodas{--c:var(--pink)}.kf2 .puerta-empresa{--c:#fff}.kf2 .puerta-fiestas{--c:var(--wa)}.kf2 .puerta-celebraciones{--c:var(--pink-soft)}
@media (max-width:767px){.kf2 .puerta{border-radius:18px}.kf2 .puerta img{aspect-ratio:1/1}.kf2 .puerta h3{font-size:clamp(21px,6vw,27px);padding:10px 12px 6px}.kf2 .puerta span{font-size:12.5px;padding:10px 12px 12px;gap:6px}.kf2 .puerta span::after{width:28px;height:28px;font-size:14px}}

/* Escenas */
.kf2 .hm-tit{font-size:clamp(48px,8vw,124px);line-height:.88}
.kf2 .hm-in{padding-top:clamp(70px,10vw,140px);padding-bottom:clamp(70px,10vw,140px)}
@media (max-width:767px){.kf2 .hm-tit{font-size:clamp(44px,12.5vw,60px)}.kf2 .hm-in{padding-top:64px;padding-bottom:64px}}

/* Vídeo «Esto es Kalifornia»: oscuro, marco blanco */
.kf2 .hm-clara{background:var(--ink);color:#fff;padding:clamp(70px,10vw,140px) 0}
.kf2 .hm-clara .hm-tit{color:#fff}
.kf2 .hm-clara .st-nota{color:var(--pink)}
.kf2 .hm-vid .yt{border:2px solid #fff;border-radius:var(--r);box-shadow:none}
.kf2 .hm-vid .yt-play{width:clamp(78px,9vw,120px);height:clamp(78px,9vw,120px)}
.kf2 .hm-show{color:rgba(255,255,255,.75)}.kf2 .hm-showbtn{color:var(--pink)}

/* «Lo que cuentan después»: bloque rosa, tarjetas blancas con borde tinta */
.kf2 .hm-esc:has(.hm-citas){background:var(--pink);color:var(--ink)}
.kf2 .hm-esc:has(.hm-citas) .hm-bgw{display:none}
.kf2 .hm-esc:has(.hm-citas) .hm-tit{color:var(--ink)}
.kf2 .hm-esc:has(.hm-citas) .hm-p{color:var(--ink);font-weight:600}
.kf2 .hm-esc:has(.hm-citas) .hm-in{padding-bottom:0}
.kf2 .hm-cita{background:#fff;border:2px solid var(--ink);border-radius:var(--r);padding:26px 24px;-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--ink);display:flex;flex-direction:column;gap:14px}
.kf2 .hm-cita::before{content:"★★★★★";content:"★★★★★" / "";color:var(--pink);letter-spacing:2px;font-size:18px}
.kf2 .hm-cita blockquote{font:400 17px/1.5 var(--body);text-transform:none;color:var(--ink);margin:0}
.kf2 .hm-cita cite{margin-top:auto;font:400 26px/1 var(--display);text-transform:uppercase;color:var(--ink)}
.kf2 .hm-cita small{color:var(--gray);font-weight:600}
.kf2 .hm-esc .testi-tipo{background:var(--ink);color:#fff;border-radius:999px}
.kf2 .hm-esc .kcar-nav{background:#fff;color:var(--ink);border:2px solid var(--ink);border-radius:50%}
/* Opiniones en 4 plataformas: banda oscura a todo el ancho dentro del bloque rosa */
.kf2 .hm-esc .resenas{position:relative;background:var(--ink);color:#fff;box-shadow:0 0 0 100vmax var(--ink);clip-path:inset(0 -100vmax);border:0;border-radius:0;margin-top:clamp(70px,9vw,120px);padding:clamp(60px,8vw,110px) 0 clamp(40px,5vw,70px)}
.kf2 .hm-esc .resenas::before{content:"";position:absolute;top:0;left:-100vmax;right:-100vmax;height:22px;background:var(--k-chk);background-color:var(--pink)}
.kf2 .hm-esc .resenas .resenas-head{text-align:left}
.kf2 .hm-esc .resenas h2{color:#fff;font-size:clamp(44px,7vw,110px);max-width:14ch}
.kf2 .hm-esc .resena-card{background:transparent;border-color:rgba(255,255,255,.18);color:#fff;align-items:flex-start;text-align:left;padding:22px}
.kf2 .hm-esc .resena-card:hover{border-color:var(--pink);background:rgba(228,45,159,.08)}
.kf2 .hm-esc .resena-dato{color:rgba(255,255,255,.75)}
.kf2 .hm-esc .resena-cta{color:#fff}
.kf2 .hm-esc .rl-aplauso{color:#fff}

/* «Lleva Kalifornia a tu provincia»: rosa suave + chips grandes; agenda tipo cartel */
.kf2 .hm-esc.hm-blanca{background:var(--pink-soft)}
.kf2 .hm-blanca .hm-bgw img{opacity:.04}
.kf2 .hm-blanca .hm-chips{gap:10px}
.kf2 .hm-blanca .hm-chips a{border-color:var(--ink);color:var(--ink);font-size:clamp(20px,2.3vw,32px);padding:11px 18px 8px}
.kf2 .hm-blanca .hm-chips a:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.kf2 .hm-blanca .hm-chips .more a{background:var(--pink);border-color:var(--pink);color:#fff}
.kf2 .hm-subh{font-size:clamp(44px,6vw,90px);margin-top:clamp(40px,6vw,80px)}
.kf2 .hm-agenda{max-width:none;border-top:2px solid rgba(17,16,20,.2)}
.kf2 .hm-blanca .hm-agenda li{border-bottom:2px solid rgba(17,16,20,.2);padding:18px 0;grid-template-columns:clamp(84px,10vw,140px) minmax(0,1fr) auto auto}
.kf2 .hm-af{font-size:clamp(32px,4vw,56px);line-height:.9;color:var(--pink)!important}
.kf2 .hm-al b{font:400 clamp(26px,3vw,42px)/1 var(--display);text-transform:uppercase}
.kf2 .hm-agenda .hm-hueco{display:inline-block;padding:7px 11px;border-radius:999px;background:var(--wa)!important;color:#06230f!important;font:700 12px/1 var(--body);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
@media (max-width:767px){.kf2 .hm-blanca .hm-agenda li{grid-template-columns:72px minmax(0,1fr) auto}}

/* Cierre «Dinos cuándo. Dinos dónde.»: tarjeta con foto y borde blanco */
.kf2 .hm-cierre{padding:clamp(30px,4vw,56px) 0 clamp(40px,5vw,70px);background:var(--ink)}
.kf2 .hm-cierre .wrap{position:relative;isolation:isolate;overflow:hidden;max-width:calc(var(--wrap) + 120px);min-height:min(560px,80vh);display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(26px,5vw,64px);border:2px solid #fff;border-radius:28px;background:linear-gradient(90deg,rgba(17,16,20,.92) 0%,rgba(17,16,20,.55) 55%,rgba(17,16,20,.15) 100%),url("../../media/nuevo/2026-10-26-fondo-home-deluz-santander.webp") center/cover}
.kf2 .hm-cierre .hm-tit{font-size:clamp(60px,10vw,170px)}
.kf2 .hm-cierre .hm-p{font-size:18px}
@media (max-width:767px){.kf2 .hm-cierre .wrap{width:calc(100% - 2 * var(--gutter));min-height:440px;text-align:left}.kf2 .hm-cierre .hm-cta{margin:0}.kf2 .hm-cierre .hm-tit{font-size:clamp(52px,15vw,72px)}}

/* =====================================================================
   CIERRE GENÉRICO (.cta-final, todas las páginas que lo usan)
   ===================================================================== */
.kf2 .cta-final{padding:clamp(30px,4vw,56px) 0 clamp(40px,5vw,70px)}
.kf2 .cta-final>.wrap{position:relative;isolation:isolate;overflow:hidden;padding:clamp(28px,5vw,64px);border:2px solid #fff;border-radius:28px;background:linear-gradient(90deg,rgba(17,16,20,.94) 0%,rgba(17,16,20,.6) 55%,rgba(17,16,20,.25) 100%),url("../../media/nuevo/2026-10-26-fondo-home-finca-soto-mozanaque-algete.webp") center/cover}
.kf2 .cta-final h2{font-size:clamp(56px,8vw,140px);line-height:.88}
@media (max-width:767px){.kf2 .cta-final>.wrap{width:calc(100% - 2 * var(--gutter))}}

/* =====================================================================
   FONDOS SUAVES: el gris claro pasa a rosa suave (como la maqueta)
   ===================================================================== */
.kf2{--soft:var(--pink-soft)}

/* =====================================================================
   BODAS ESTÁNDAR (/orquesta-para-bodas-kalifornia/) · la tarjeta de precio rosa NO se toca
   ===================================================================== */
.kf2 .bd-top h1{font-size:clamp(48px,6.6vw,112px);max-width:12ch}
/* Formaciones en oscuro, tarjetas con borde */
.kf2 .bd-forms{background:var(--ink);color:#fff;padding:clamp(70px,9vw,120px) 0}
.kf2 .bd-forms h2{color:#fff;font-size:clamp(48px,7vw,110px)}
.kf2 .bd-forms .pv-kicker{color:var(--pink)}
.kf2 .bd-fgrid>*{border-radius:var(--r);overflow:hidden;border:2px solid rgba(255,255,255,.15)}
.kf2 .bd-forms .pv-btn-line{background:transparent;color:#fff;border:2px solid #fff}
.kf2 .bd-forms .pv-btn-line:hover{background:#fff;color:var(--ink)}
/* «No damos un concierto»: bloque rosa manifiesto */
.kf2 .bd-conc{background:var(--pink);color:var(--ink)}
.kf2 .bd-conc h2{font-size:clamp(46px,6.4vw,104px);line-height:.88;color:var(--ink)}
.kf2 .bd-conc p{color:var(--ink)}
.kf2 .bd-conc img{border:2px solid var(--ink);border-radius:var(--r)}
.kf2 .bd-pasos{border-top:0;color:var(--ink);font-weight:600}
.kf2 .bd-pasos li{border:2px solid var(--ink);border-radius:var(--r);padding:16px 18px;background:rgba(255,255,255,.12)}
.kf2 .bd-pasos b{color:#fff;font-size:56px;-webkit-text-stroke:2px var(--ink)}
/* Bodas recientes: oscuro */
.kf2 .bd-recientes{background:var(--ink);color:#fff}
.kf2 .bd-recientes h2{color:#fff}
.kf2 .bd-recientes .pv-kicker{color:var(--pink)}
.kf2 .bd-recientes .pv-head p,.kf2 .bd-recientes>.wrap>p{color:rgba(255,255,255,.75)}
.kf2 .bd-recientes .bd-todos,.kf2 .bd-recientes .bd-todos-m a{color:#fff}
.kf2 .pv-card{border:2px solid var(--ink);border-radius:var(--r);overflow:hidden}
.kf2 .bd-recientes .pv-card{border-color:#fff}
.kf2 .bd-recientes .pv-card h3,.kf2 .bd-recientes .pv-card h3 a{color:var(--ink)}
/* Testimonios: bloque rosa, tarjetas blancas; opiniones en caja oscura */
.kf2 section:has(>.wrap>.bd-tgrid){background:var(--pink);color:var(--ink)}
.kf2 .bd-h2k{font:400 clamp(56px,8vw,124px)/.88 var(--display);letter-spacing:.005em;color:var(--ink)}
.kf2 .bd-grande{font-size:clamp(26px,3vw,40px);color:#fff}
.kf2 .bd-tgrid .testi{background:#fff;border:2px solid var(--ink);border-radius:var(--r);padding:22px 22px 20px}
.kf2 .bd-tgrid .testi small{color:var(--gray)}
.kf2 .bd-opi .resenas{background:var(--ink);color:#fff;border:2px solid var(--ink);border-radius:var(--r)}
.kf2 .bd-opi .resenas h2{color:#fff}
.kf2 .bd-opi .resena-card{background:transparent;border-color:rgba(255,255,255,.2);color:#fff}
.kf2 .bd-opi .resena-dato{color:rgba(255,255,255,.75)}
.kf2 .bd-opi .resena-cta,.kf2 .bd-opi .rl-aplauso{color:#fff}
.kf2 section:has(>.wrap>.bd-tgrid) .testi-tipo{background:var(--ink);color:#fff}
.kf2 section:has(>.wrap>.bd-tgrid) .kcar-nav{background:#fff;color:var(--ink);border:2px solid var(--ink)}
.kf2 .bd-recientes .bd-todos-m .btn{background:transparent;border:2px solid #fff;color:#fff}
.kf2 .hm-esc .rl-bodas,.kf2 .bd-opi .rl-bodas{color:#fff}

/* =====================================================================
   FASE 2 · PROVINCIALES (65 páginas, plantilla provincia)
   Solo colores, bordes y tamaños. Carruseles de móvil (.pv-snap) intactos.
   ===================================================================== */
.kf2 .pv-kicker{font:700 12px/1.3 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--pink)}
.kf2 .pv-head h2,.kf2 .pv-fintro h2,.kf2 .pv-mtxt h2,.kf2 .pv-vid h2{font-size:clamp(44px,6vw,96px);line-height:.88}
.kf2 .pv-hero h1{font-size:clamp(46px,7.2vw,116px)}
/* Vídeos: en oscuro, vídeo con marco blanco */
.kf2 .pv-vid{background:var(--ink);color:#fff;padding:clamp(64px,8vw,110px) 0}
.kf2 .pv-vid h2{color:#fff}
.kf2 .pv-vmain .yt{border:2px solid #fff;border-radius:var(--r)}
.kf2 .pv-vid .pv-vcap strong{color:#fff}
.kf2 .pv-vid .pv-vrow{background:var(--ink2);border:2px solid rgba(255,255,255,.18);border-radius:var(--r);color:#fff}
.kf2 .pv-vid .pv-vrow:hover{border-color:var(--pink)}
.kf2 .pv-vid .pv-vtxt small{color:var(--pink)}
.kf2 .pv-vid .pv-vtxt b{color:#fff}
/* Bodas de la provincia: rosa suave, tarjetas con borde tinta, «ver más» en rosa */
.kf2 .pv-bodas{padding:clamp(64px,8vw,110px) 0}
.kf2 .pv-bodas .pv-more{background:var(--pink);border:2px solid var(--ink);color:var(--ink)}
.kf2 .pv-bodas .pv-more .pv-kicker{color:#fff}
.kf2 .pv-bodas .pv-more .btn{background:var(--ink);color:#fff;border-color:var(--ink)}
/* Fiestas: oscuro, filas tipo cartel (fecha rosa grande, sitio en Bebas) */
.kf2 .pv-fiestas{background:var(--ink);color:#fff;padding:clamp(64px,8vw,110px) 0}
.kf2 .pv-fiestas h2{color:#fff}
.kf2 .pv-fiestas .pv-ftxt{color:rgba(255,255,255,.75)}
.kf2 .pv-fiestas .pv-btn-line{background:transparent;color:#fff;border:2px solid #fff}
.kf2 .pv-fiestas .pv-btn-line:hover{background:#fff;color:var(--ink)}
.kf2 .pv-fiestas .pv-filas{border-top-color:rgba(255,255,255,.2)}
.kf2 .pv-fiestas .pv-fila{border-bottom:2px solid rgba(255,255,255,.2)}
.kf2 .pv-fiestas .pv-fdate{font:400 clamp(24px,2.6vw,36px)/.9 var(--display);text-transform:uppercase;color:var(--pink)}
.kf2 .pv-fiestas .pv-fname,.kf2 .pv-fiestas .pv-fname a{font:400 clamp(22px,2.4vw,32px)/1 var(--display);text-transform:uppercase;color:#fff;text-decoration:none}
.kf2 .pv-fiestas .pv-fsub{color:rgba(255,255,255,.7)}
.kf2 .pv-fiestas .pv-farrow{color:var(--pink)}
@media (max-width:767px){.kf2 .pv-fiestas .pv-snap .pv-fila{border:2px solid rgba(255,255,255,.2);border-radius:var(--r);background:var(--ink2)}}
/* Músicos: rosa suave, fotos con borde tinta */
.kf2 .pv-musicos{padding:clamp(64px,8vw,110px) 0}
.kf2 .pv-collage img{border:2px solid var(--ink);border-radius:var(--r)}
/* Enlaces de conversión: píldoras con borde */
.kf2 .conv-item{border:2px solid var(--ink);border-radius:999px;font-weight:700}
.kf2 .conv-item:hover{background:var(--pink);border-color:var(--pink);color:#fff}
/* Opiniones: banda oscura a todo el ancho */
.kf2 .pv-opi,.kf2 .bo-res{background:var(--ink);color:#fff}
.kf2 .pv-opi .resenas,.kf2 .bo-res .resenas{background:transparent;border:0;box-shadow:none}
.kf2 .pv-opi h2,.kf2 .bo-res h2{color:#fff;font-size:clamp(40px,5.6vw,88px)}
.kf2 .pv-opi .kicker,.kf2 .bo-res .kicker{color:var(--pink)}
.kf2 .pv-opi .resena-card,.kf2 .bo-res .resena-card{background:transparent;border:2px solid rgba(255,255,255,.18);border-radius:var(--r);box-shadow:none;color:#fff}
.kf2 .pv-opi .resena-card:hover,.kf2 .bo-res .resena-card:hover{border-color:var(--pink);background:rgba(228,45,159,.08)}
.kf2 .pv-opi .resena-dato,.kf2 .bo-res .resena-dato{color:rgba(255,255,255,.75)}
.kf2 .pv-opi .resena-cta,.kf2 .bo-res .resena-cta,.kf2 .pv-opi .rl-aplauso,.kf2 .bo-res .rl-aplauso,.kf2 .pv-opi .rl-bodas,.kf2 .bo-res .rl-bodas{color:#fff}
.kf2 .pv-opi .testi blockquote,.kf2 .pv-opi .testi cite{color:#fff}
.kf2 .pv-opi .testi small{color:rgba(255,255,255,.65)}
/* Cierre: números grandes en rosa */
.kf2 .pv-cierre{padding:clamp(64px,8vw,110px) 0}
.kf2 .pv-cierre .pv-pasos h2{font-size:clamp(44px,6vw,96px)}
.kf2 .pv-pnum{font-family:var(--display);color:var(--pink)}
.kf2 .pv-cierre .pv-tarjeta{border:2px solid #fff;border-radius:var(--r)}
.kf2 .pv-cierre .pv-tarjeta h2{font-size:clamp(40px,4.6vw,72px)}

/* =====================================================================
   FASE 2 · FICHAS DE BOLO (228 páginas). El estilo Setlist (polaroids con cinta) se queda.
   ===================================================================== */
.kf2 .bo-hero h1{font-size:clamp(44px,6.4vw,104px);line-height:.88}
.kf2 .bo-caps h2,.kf2 .bo-mas h2,.kf2 .rev-faq h2{font-size:clamp(44px,5.6vw,88px);line-height:.88}
.kf2 .bo-num{font-size:clamp(56px,6vw,90px);line-height:.85}
/* Vídeo: oscuro, más aire, titular grande */
.kf2 .bo-video{padding:clamp(64px,8vw,110px) 0;margin-bottom:0}
.kf2 .bo-video h2{font-size:clamp(44px,6vw,96px);line-height:.88}
.kf2 .bo-video .st-nota{color:var(--pink)}
/* «Lo que dijeron»: bloque rosa con las hojas blancas y cinta tinta */
.kf2 .bo-testi{background:var(--pink);color:var(--ink);margin:0;padding:clamp(64px,8vw,110px) 0}
.kf2 .bo-testi h2{color:var(--ink);font-size:clamp(56px,8vw,124px);line-height:.88}
.kf2 .bo-testi .st-hoja{border:2px solid var(--ink)}
.kf2 .bo-testi .st-hoja::before{background:var(--ink)}
.kf2 .bo-testi .st-hoja::after{background:#fff;border:2px solid var(--ink)}
.kf2 .bo-testi .rev-arrows button{border:2px solid var(--ink);background:#fff;color:var(--ink)}
.kf2 .bo-testi .rev-dots button{background:rgba(17,16,20,.3)}
.kf2 .bo-testi .rev-dots button.on{background:var(--ink)}
/* Opiniones: banda oscura (ver bloque de provinciales) · sin la tarjeta en ángulo */
.kf2 .bo-res{padding:clamp(56px,7vw,100px) 0}
/* Lo práctico: preguntas en letra de cartel */
.kf2 .rev-faq{padding-top:clamp(56px,7vw,100px)}
.kf2 .rev-acc button{font:400 clamp(20px,1.9vw,27px)/1.08 var(--display);text-transform:uppercase;background:transparent;color:inherit}
.kf2 .bo-faq .rev-acc,.kf2 .bo-faq .rev-acc button{border-style:solid;border-color:rgba(17,16,20,.14);border-width:2px 0}
/* Cierre: rosa suave (token) con la hoja del formulario de siempre */
.kf2 .bo-close{padding:clamp(56px,7vw,100px) 0}
.kf2 .bo-conv .st-row{font-weight:700}

/* =====================================================================
   FASE 3 · EMPRESA, FIESTAS, CELEBRACIONES, OPINIONES, PRECIOS, REPERTORIO,
   ACTUACIONES Y AGENDA. Las páginas Setlist conservan polaroids, hojas y cinta.
   ===================================================================== */
/* Héroes con vídeo de fondo (section.con-fondo, precios y repertorio): borde rasgado rosa abajo */
.kf2 section.con-fondo,.kf2 .pr-hero,.kf2 .rp-hero2{--tw:clamp(22px,3.4vw,46px);position:relative}
.kf2 section.con-fondo::before,.kf2 .pr-hero::before,.kf2 .rp-hero2::before{content:"";position:absolute;left:0;right:0;bottom:-1px;height:var(--tw);z-index:4;background:var(--pink);-webkit-mask:var(--k-torn) center/100% 100% no-repeat;mask:var(--k-torn) center/100% 100% no-repeat;pointer-events:none}
.kf2 section.con-fondo>.wrap,.kf2 .pr-hero>.wrap,.kf2 .rp-hero2>.wrap{padding-bottom:calc(var(--tw) + 8px)}

/* Empresa */
.kf2 .em-logos{background:#fff;border-block:3px solid var(--ink)}
.kf2 .em-tipo{border:2px solid var(--ink);border-radius:var(--r)}
.kf2 .em-tipo:hover{border-color:var(--pink)}
.kf2 .em-tipos-sec h2,.kf2 .em-porque h2{font-size:clamp(44px,5.6vw,88px);line-height:.88}
.kf2 .em-filas .pv-fila{border-bottom:2px solid rgba(17,16,20,.12)}
.kf2 .em-filas .pv-fname,.kf2 .em-filas .pv-fname a{font:400 clamp(20px,2vw,28px)/1 var(--display);text-transform:uppercase;text-decoration:none}
/* Opiniones en 4 plataformas como sección propia (empresa): banda oscura, igual que en el resto */
.kf2 .sec-soft:has(>.wrap>.resenas:only-child){background:var(--ink);color:#fff}
.kf2 .sec-soft:has(>.wrap>.resenas:only-child) h2{color:#fff;font-size:clamp(40px,5.6vw,88px)}
.kf2 .sec-soft:has(>.wrap>.resenas:only-child) .resenas{background:transparent;border:0;box-shadow:none}
.kf2 .sec-soft:has(>.wrap>.resenas:only-child) .resena-card{background:transparent;border:2px solid rgba(255,255,255,.18);color:#fff}
.kf2 .sec-soft:has(>.wrap>.resenas:only-child) .resena-card:hover{border-color:var(--pink);background:rgba(228,45,159,.08)}
.kf2 .sec-soft:has(>.wrap>.resenas:only-child) .resena-dato{color:rgba(255,255,255,.75)}
.kf2 .sec-soft:has(>.wrap>.resenas:only-child) :is(.resena-cta,.rl-aplauso,.rl-bodas){color:#fff}

/* Opiniones: citas en tarjeta blanca con borde tinta */
.kf2 .op-q{border:2px solid var(--ink);border-radius:var(--r)}
.kf2 .op-vid h2,.kf2 .op-citas h2,.kf2 .op-sobre h2{font-size:clamp(40px,5.2vw,80px);line-height:.88}

/* Celebraciones: chips de «Qué celebramos» y tarjetas con borde */
.kf2 .resenas .resena-card{border-width:2px}

/* Fiestas y Setlist: hojas con borde tinta para que destaquen sobre el rosa suave */
.kf2 .sec-soft .st-hoja{border:2px solid var(--ink)}
/* Móvil: en los héroes Setlist la hoja cae debajo del vídeo; ahí sin borde rasgado ni aire extra */
@media (max-width:767px){
  .kf2 section.st-hero::before,.kf2 .pr-hero::before,.kf2 .rp-hero2::before{display:none}
  .kf2 section.st-hero>.wrap,.kf2 .pr-hero>.wrap,.kf2 .rp-hero2>.wrap{padding-bottom:0}
}
/* Corrección: «Testimonios» de bodas lleva también .pv-kicker; en el bloque rosa va en tinta */
.kf2 .pv-kicker.bd-h2k{color:var(--ink)}

/* =====================================================================
   FASE 4 · ARTÍCULOS, GENÉRICAS, FAQ, QUIÉNES SOMOS, MEDIOS, VÍDEOS, CONTACTO,
   HORA LOCA, HISTORIAS, CAMERINO Y CALCULADOR
   ===================================================================== */
/* Páginas de texto (artículos, genéricas, vídeos: abren con .hero-sub.sec-soft): H2 de lectura, no de cartel */
.kf2 main:has(>.hero-sub.sec-soft) h2:not([class]){font-size:clamp(30px,3.4vw,46px);line-height:.95}
.kf2 main:has(>.hero-sub.sec-soft) .cta-final h2{font-size:clamp(48px,6vw,104px);line-height:.88}
.kf2 .hero-sub.sec-soft h1{font-size:clamp(42px,5.6vw,88px)}
.kf2 .hero-sub.sec-soft .lead{color:var(--ink2)}
/* Texto largo cómodo: enlaces en rosa oscuro subrayados */
.kf2 main:has(>.hero-sub.sec-soft) .sec p a:not(.btn){color:var(--pink-d);text-underline-offset:3px}
/* FAQ general: títulos de bloque grandes */
.kf2 main:has(.faq) .sec>.wrap>h2:not([class]){font-size:clamp(40px,5vw,76px)}
/* Quiénes somos: héroe con borde rasgado y fichas de músicos con borde */
.kf2 .qs-hero{position:relative;padding-bottom:clamp(36px,4.6vw,62px)}
.kf2 .qs-hero::before{content:"";position:absolute;left:0;right:0;bottom:-1px;height:clamp(22px,3.4vw,46px);background:var(--pink);-webkit-mask:var(--k-torn) center/100% 100% no-repeat;mask:var(--k-torn) center/100% 100% no-repeat;pointer-events:none}
.kf2 .qs-sec h2{font-size:clamp(40px,5.2vw,80px);line-height:.9}
/* Medios: bloque gris → rosa suave; bloque oscuro igual */
.kf2 .me-gris{background:var(--pink-soft)}
.kf2 .me-sec h2{font-size:clamp(40px,5.2vw,80px);line-height:.9}
/* Hora loca: conserva su estilo propio (misterio); solo la capa común. Sin borde rasgado encima de su tira. */
.kf2 .hl-hero::before{display:none}
.kf2 .hl-hero>.wrap{padding-bottom:0}
.kf2 .hero-sub.sec-soft h1{max-width:20ch}
/* Corrección: fichas con testimonios de vídeo (.bo-testi-vid) → nota y transcripción legibles sobre el rosa */
.kf2 .bo-testi .st-nota{color:#fff}
.kf2 .bo-testi .bo-trans,.kf2 .bo-testi .bo-trans p,.kf2 .bo-testi .bo-trans summary{color:var(--ink)}
