/* ========================================
   MODAL DE RESERVA + CALENDARIO + EXIT POPUP
   Extraído del bloque inline original.
   ======================================== */

/* HERO TRUST ROW — 3 iconos bajo el párrafo */
.hero-trust-row{display:flex;gap:1.4rem;margin-bottom:2rem;flex-wrap:wrap}
.hero-trust-item{display:flex;align-items:center;gap:8px;font-size:0.78rem;color:var(--text-muted);font-weight:400;line-height:1.3}
.hero-trust-icon{width:30px;height:30px;border:1px solid var(--border);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:white;color:var(--accent)}
@media(max-width:768px){.hero-trust-row{gap:0.9rem}.hero-trust-item{font-size:0.74rem}}

/* HOME-SPECIFIC HERO OVERRIDES */
.hero{
  background:var(--off-white) url('assets/img/portada.webp') right bottom/auto 82% no-repeat;
  position:relative;
  min-height:auto
}
.hero-left{
  background:linear-gradient(to right, var(--off-white) 48%, rgba(249,247,244,.55) 72%, rgba(249,247,244,0) 100%);
  position:relative;z-index:1;
  padding:3rem 4rem 3rem 6rem
}
.hero-left .hero-label{margin-bottom:1.5rem}
.hero-left h1{font-size:clamp(2.2rem,3.6vw,3.4rem);margin-bottom:1.2rem}
.hero-left .hero-desc{margin-bottom:1rem}
.hero-left .hero-actions{margin-bottom:0}
.hero-right{background:transparent}
@media(max-width:1100px){
  .hero{background-size:auto 65%;background-position:right bottom}
  .hero-left{background:linear-gradient(to right,var(--off-white) 62%,rgba(249,247,244,.65) 88%,rgba(249,247,244,0) 100%);padding:3rem 2.5rem 3rem}
}
@media(max-width:768px){
  /* Hero: grid colapsa a 1 col, imagen de fondo como decoración */
  .hero{background-size:auto 45%;background-position:right bottom}
  .hero-left{background:rgba(249,247,244,.97);padding:2.5rem 1.5rem}
}
@media(max-width:480px){
  .hero{background-image:none}
  .hero-left{background:var(--off-white);padding:2rem 1.2rem 2.5rem}
  .hero-left h1{font-size:clamp(1.75rem,8vw,2.2rem)}
}

/* STATS BAND */
.stats-band{background:var(--off-white);padding:1.6rem 2.5rem;border-bottom:1px solid var(--border)}
.stats-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.stat-item{display:flex;align-items:center;gap:12px;flex:1;min-width:160px}
.stat-icon{width:40px;height:40px;border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:white}
.stat-text{display:flex;flex-direction:column;gap:1px}
.stat-n{font-family:var(--serif);font-size:1.35rem;font-weight:400;color:var(--text);line-height:1;letter-spacing:-0.01em}
.stat-l{font-size:0.67rem;color:var(--text-muted);font-weight:400;letter-spacing:0.01em}
.stat-div{width:1px;height:36px;background:var(--border);flex-shrink:0}
@media(max-width:900px){.stat-div{display:none}.stats-inner{justify-content:center;gap:1.5rem}}
@media(max-width:480px){.stats-inner{gap:1.2rem}.stat-item{min-width:140px}}

/* MODAL OVERLAY */
.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;background:rgba(10,10,10,0.6);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}
.modal-overlay.modal-visible{opacity:1}
.modal-content{position:relative;max-width:1100px;width:94%;max-height:90vh;overflow-y:auto;background:var(--off-white);border-radius:12px;box-shadow:0 24px 80px rgba(0,0,0,0.25);transform:scale(0.92);transition:transform .3s ease}
.modal-overlay.modal-visible .modal-content{transform:scale(1)}
.modal-close{position:absolute;top:16px;right:20px;z-index:10;background:rgba(0,0,0,0.06);border:none;width:38px;height:38px;border-radius:50%;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text);transition:background .2s}
.modal-close:hover{background:rgba(0,0,0,0.12)}
@media(max-width:768px){.modal-content{width:100%;max-height:100dvh;border-radius:0;margin:0}.modal-close{top:10px;right:12px}}

/* BOOKING MODAL 2.0 */
.bk-modal-content{max-width:1000px;width:96%;height:90vh;max-height:90vh;overflow:hidden!important;display:flex;flex-direction:column;padding:0;border-radius:12px}
.bk-modal-grid{display:grid;grid-template-columns:5fr 7fr;grid-template-rows:1fr;min-height:0;flex:1;overflow:hidden}
.bk-left-panel{background:var(--accent);border-radius:12px 0 0 12px;overflow-y:auto;padding:3rem 2.5rem;display:flex;flex-direction:column}
.bk-left-inner{display:flex;flex-direction:column;flex:1}
.bk-overline{font-size:0.62rem;letter-spacing:0.2em;text-transform:uppercase;color:rgba(255,255,255,0.45);margin-bottom:1.8rem;font-weight:500}
.bk-headline{font-family:var(--serif);font-size:clamp(1.7rem,2.5vw,2.25rem);font-weight:300;color:white;line-height:1.15;margin-bottom:0.75rem;letter-spacing:-0.01em}
.bk-headline em{font-style:italic;color:rgba(255,255,255,0.72)}
.bk-subtext{font-size:0.88rem;color:rgba(255,255,255,0.58);font-weight:300;line-height:1.65;margin-bottom:2.5rem}
.bk-trust-list{list-style:none;display:flex;flex-direction:column;gap:0.9rem;margin-bottom:auto;padding-bottom:2.5rem}
.bk-trust-list li{display:flex;align-items:center;gap:12px;font-size:0.87rem;color:rgba(255,255,255,0.82);font-weight:300}
.bk-check-icon{width:20px;height:20px;min-width:20px;background:rgba(255,255,255,0.13);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.bk-check-icon::after{content:'';border:1.5px solid rgba(255,255,255,0.85);border-top:none;border-right:none;width:8px;height:4.5px;transform:rotate(-45deg) translateY(-1px);display:block}
.bk-urgency{border-top:1px solid rgba(255,255,255,0.12);padding-top:2rem}
.bk-urgency-label{font-size:0.68rem;font-weight:600;color:rgba(255,255,255,0.48);text-transform:uppercase;letter-spacing:0.12em;margin-bottom:4px}
.bk-urgency-sub{font-size:0.8rem;color:rgba(255,255,255,0.42);margin-bottom:8px;font-weight:300}
.bk-urgency-tel{font-family:var(--serif);font-size:1.5rem;font-weight:300;color:white;text-decoration:none;display:block;letter-spacing:-0.01em;margin-bottom:6px;transition:opacity .2s}
.bk-urgency-tel:hover{opacity:.8}
.bk-urgency-note{font-size:0.71rem;color:rgba(255,255,255,0.32);line-height:1.5}
.bk-right-panel{padding:2.5rem 2.5rem 2rem;overflow-y:auto;background:var(--off-white)}
.bk-form-header{margin-bottom:1.5rem;padding-bottom:1.4rem;border-bottom:1px solid var(--border)}
.bk-form-title{font-family:var(--serif);font-size:1.35rem;font-weight:400;color:var(--text);margin-bottom:0.3rem}
.bk-form-sub{font-size:0.82rem;color:var(--text-muted);font-weight:300}
.bk-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.bk-field{display:flex;flex-direction:column;gap:5px;margin-bottom:0.85rem}
.bk-field label{font-size:0.67rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted)}
.bk-field input,.bk-field select,.bk-field textarea{border:1.5px solid var(--border);border-radius:6px;padding:11px 14px;font-family:var(--sans);font-size:0.875rem;color:var(--text);background:white;outline:none;transition:border-color .2s,box-shadow .2s;width:100%;font-weight:300}
.bk-field input:focus,.bk-field select:focus,.bk-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(27,75,58,0.08)}
.bk-field textarea{resize:vertical;min-height:68px}
.bk-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236B6560' stroke-width='1.2' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:30px;cursor:pointer;background-color:white}
.bk-submit{width:100%;background:var(--accent);color:white;border:none;padding:16px;border-radius:6px;font-family:var(--sans);font-size:0.92rem;font-weight:500;letter-spacing:0.02em;cursor:pointer;transition:background .2s,transform .12s,box-shadow .2s;margin-top:0.8rem;box-shadow:0 4px 16px rgba(27,75,58,0.18)}
.bk-submit:hover:not(:disabled){background:var(--accent-light);box-shadow:0 6px 22px rgba(27,75,58,0.28);transform:translateY(-1px)}
.bk-submit:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}
.bk-submit-helper{font-size:0.71rem;color:var(--text-light);text-align:center;margin-top:0.45rem}
.bk-trust-badges{display:flex;align-items:center;justify-content:center;gap:1.2rem;margin-top:0.9rem;font-size:0.71rem;color:var(--text-muted);flex-wrap:wrap}
.bk-success{display:none;text-align:center;padding:3.5rem 2rem 2.5rem;animation:bkFadeUp .4s ease}
@keyframes bkFadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.bk-success-icon{width:72px;height:72px;margin:0 auto 1.6rem}
.bk-success-icon svg{width:100%;height:100%}
.bk-success-title{font-family:var(--serif);font-size:1.65rem;font-weight:400;color:var(--text);margin-bottom:0.75rem}
.bk-success-sub{font-size:0.9rem;color:var(--text-muted);line-height:1.75;font-weight:300;max-width:360px;margin:0 auto 0.4rem}
.bk-success-ref{font-size:0.75rem;color:var(--text-light);margin-bottom:1.6rem}
.bk-success-list{list-style:none;display:inline-flex;flex-direction:column;gap:0.65rem;margin-bottom:2rem;text-align:left}
.bk-success-list li{display:flex;align-items:center;gap:10px;font-size:0.84rem;color:var(--text-muted);font-weight:300}
.bk-check-sm{width:18px!important;height:18px!important;min-width:18px!important;background:var(--accent-pale)!important}
.bk-check-sm::after{border-color:var(--accent)!important}
.bk-close-btn{display:inline-block;background:var(--accent);color:white;border:none;padding:13px 32px;border-radius:6px;font-family:var(--sans);font-size:0.88rem;font-weight:500;cursor:pointer;transition:background .2s;margin-bottom:1.2rem}
.bk-close-btn:hover{background:var(--accent-light)}
.bk-success-tel{font-size:0.82rem;color:var(--text-muted)}
.bk-success-tel a{color:var(--accent);font-weight:500;text-decoration:none}
.bk-success-tel a:hover{text-decoration:underline}
.bk-slot-label{grid-column:1/-1;font-size:0.67rem;letter-spacing:0.13em;text-transform:uppercase;color:var(--text-light);font-weight:500}
@media(max-width:768px){
  .bk-modal-content{border-radius:0;height:100dvh;max-height:100dvh}
  .bk-modal-grid{grid-template-columns:1fr;grid-template-rows:auto 1fr;overflow:hidden}
  .bk-left-panel{border-radius:0;padding:1.8rem 1.5rem;overflow-y:auto}
  .bk-urgency{display:none}
  .bk-trust-list{padding-bottom:0;margin-bottom:0}
  .bk-right-panel{padding:1.8rem 1.5rem 2.5rem;overflow-y:auto}
  .bk-form-row{grid-template-columns:1fr}
  .bk-trust-badges{gap:0.6rem}
}

/* CALENDARIO */
.sv-cal{border:1.5px solid var(--border);border-radius:6px;overflow:hidden;background:white;margin-top:4px;user-select:none;-webkit-user-select:none}
.sv-cal-header{display:flex;align-items:center;gap:8px;padding:11px 14px 10px;background:white;border-bottom:1px solid var(--border)}
.sv-cal-mes{font-family:var(--serif);font-size:0.95rem;font-weight:400;color:var(--text);text-align:center;flex:1;letter-spacing:0.01em}
.sv-cal-nav-btn{width:28px;height:28px;flex-shrink:0;background:var(--off-white);border:1.5px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:border-color .15s,color .15s,background .15s;padding:0;font-family:inherit;line-height:1}
.sv-cal-nav-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-pale)}
.sv-cal-nav-btn:disabled{opacity:.25;cursor:not-allowed}
.sv-cal-dow{display:grid;grid-template-columns:repeat(7,1fr);background:var(--off-white);border-bottom:1px solid var(--border)}
.sv-cal-dow span{text-align:center;padding:6px 0 5px;font-size:0.58rem;font-weight:600;letter-spacing:0.12em;color:var(--text-muted);text-transform:uppercase;font-family:var(--sans)}
.sv-cal-dow span:last-child{color:#B91C1C}
.sv-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:5px;background:var(--off-white)}
.sv-cal-cell{height:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:4px;background:white;gap:3px;transition:transform .12s ease,box-shadow .12s ease,background .1s ease,color .1s ease;position:relative}
.sv-cal-vacio{background:transparent!important;pointer-events:none!important}
.sv-cal-num{font-size:0.77rem;line-height:1;font-weight:400;color:inherit;font-family:var(--sans)}
.sv-cal-dot{width:4px;height:4px;border-radius:50%;display:block;flex-shrink:0}
.sv-cal-disponible{cursor:pointer;color:#166534;background:#DCFCE7;border:1px solid #86EFAC}
.sv-cal-disponible .sv-cal-dot{background:#22C55E;opacity:1}
.sv-cal-disponible:hover{background:var(--accent);color:white;border-color:var(--accent);transform:scale(1.1);box-shadow:0 3px 10px rgba(27,75,58,.25);z-index:2}
.sv-cal-disponible:hover .sv-cal-dot{background:rgba(255,255,255,.6);opacity:1}
.sv-cal-lleno{cursor:pointer;color:#92400E;background:#FFFBEB;border:1px solid #FDE68A}
.sv-cal-lleno .sv-cal-num{opacity:.85;font-weight:500}
.sv-cal-lleno .sv-cal-dot{background:#F59E0B;opacity:.8}
.sv-cal-lleno:hover{background:#FEF3C7;border-color:#F59E0B;transform:scale(1.05);box-shadow:0 2px 8px rgba(146,64,14,.18);z-index:2}
.sv-cal-cerrado{cursor:not-allowed;color:var(--border);background:white}
.sv-cal-cerrado .sv-cal-num{text-decoration:line-through;opacity:.35}
.sv-cal-cerrado .sv-cal-dot{background:transparent}
.sv-cal-pasado{cursor:not-allowed;color:var(--border);background:white}
.sv-cal-pasado .sv-cal-dot{background:transparent}
.sv-cal-hoy:not(.sv-cal-pasado):not(.sv-cal-cerrado){box-shadow:inset 0 0 0 1.5px var(--accent)!important}
.sv-cal-sel{background:var(--accent)!important;transform:scale(1.1)!important;box-shadow:0 4px 14px rgba(27,75,58,.26)!important;z-index:3!important}
.sv-cal-sel .sv-cal-num{color:white!important;font-weight:500}
.sv-cal-sel .sv-cal-dot{background:rgba(255,255,255,.4)!important}
.sv-cal-cargando{cursor:wait;background:linear-gradient(90deg,var(--off-white) 25%,var(--cream) 50%,var(--off-white) 75%);background-size:200% 100%;animation:svCalShimmer 1.4s ease infinite}
.sv-cal-cargando .sv-cal-num{opacity:.07}
.sv-cal-cargando .sv-cal-dot{background:transparent}
@keyframes svCalShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.sv-cal-leyenda{display:flex;align-items:center;gap:14px;padding:7px 13px 8px;border-top:1px solid var(--border);background:white;flex-wrap:wrap}
.sv-cal-leyenda-item{display:flex;align-items:center;gap:5px;font-size:0.6rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.08em;font-weight:500;font-family:var(--sans)}
.sv-cal-leyenda-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.sv-cal-fecha-sel{display:none;font-size:0.78rem;color:var(--accent);font-weight:500;margin-top:6px;padding:6px 11px;background:var(--accent-pale);border-radius:4px;border:1px solid rgba(27,75,58,.13);text-align:center;font-family:var(--sans)}
/* sv-cal-lleno seleccionado → ámbar oscuro */
.sv-cal-lleno.sv-cal-sel{background:#92400E!important;border-color:#92400E!important;box-shadow:0 4px 14px rgba(146,64,14,.28)!important}
.sv-cal-lleno.sv-cal-sel .sv-cal-num{color:white!important}
.sv-cal-lleno.sv-cal-sel .sv-cal-dot{background:rgba(255,255,255,.45)!important}
@media(max-width:768px){.sv-cal-header{padding:9px 12px 8px}}
@media(max-width:480px){.sv-cal-num{font-size:0.7rem}.sv-cal-dot{width:3px;height:3px}.sv-cal-leyenda{gap:10px;padding:6px 10px}}

/* ── NOTA INFORMATIVA SOBRE EL CALENDARIO ── */
.bk-cal-nota{display:flex;align-items:flex-start;gap:9px;background:#FFFBEB;border:1px solid #FDE68A;border-radius:6px;padding:9px 12px;margin-bottom:8px;font-size:0.77rem;color:#78350F;line-height:1.5;font-weight:300}
.bk-cal-nota svg{flex-shrink:0;margin-top:1px;opacity:.75}

/* ── SLOTS GRID MEJORADO ── */
#franjas-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:7px!important;margin-top:6px!important}
.bk-slots-section{margin-top:0.6rem}
.bk-slots-section-label{font-size:0.63rem;letter-spacing:0.13em;text-transform:uppercase;color:var(--text-light);font-weight:600;margin-bottom:5px;padding-bottom:4px;border-bottom:1px solid var(--border)}

/* Loading skeleton */
#disponibilidad-loading{display:none;padding:1.2rem;text-align:center;font-size:0.82rem;color:var(--text-muted);background:var(--off-white);border-radius:6px;border:1px dashed var(--border)}

/* Hora seleccionada pill */
#hora-seleccionada-info{display:none;background:var(--accent-pale);border:1px solid rgba(27,75,58,.15);border-radius:6px;padding:9px 14px;font-size:0.83rem;color:var(--accent);margin-top:6px;display:flex;align-items:center;gap:7px}
#hora-seleccionada-info strong{font-weight:600}

/* Sin disponibilidad */
#sin-disponibilidad{display:none;padding:0;margin-top:6px;border-radius:8px;overflow:hidden}
.bk-no-slots{background:#FEF2F2;border:1px solid #FCA5A5;border-radius:8px;padding:14px 16px}
.bk-no-slots-title{font-size:0.82rem;font-weight:600;color:#DC2626;margin-bottom:4px}
.bk-no-slots-body{font-size:0.8rem;color:#7F1D1D;font-weight:300;line-height:1.55}
.bk-no-slots-tel{display:inline-flex;align-items:center;gap:5px;margin-top:8px;font-size:0.8rem;color:#DC2626;font-weight:500;text-decoration:none}
.bk-no-slots-tel:hover{text-decoration:underline}

/* Conflicto aviso */
#conflicto-aviso{display:none;background:#FFFBEB;border:1.5px solid #FCD34D;border-radius:8px;padding:13px 16px;margin-top:8px}
#conflicto-aviso strong{font-size:0.83rem;color:#92400E;display:block;margin-bottom:2px}
#sugerencias-container{margin-top:10px;padding-top:10px;border-top:1px solid #FDE68A}

/* ── LISTA DE ESPERA REDESIGN ── */
.bk-le-wrap{border-radius:10px;overflow:hidden;border:1.5px solid #F59E0B;margin-top:1.4rem;flex-direction:column!important}
.bk-le-head{background:#FFFBEB;border-bottom:1px solid #FDE68A;padding:.95rem 1.25rem;display:flex;align-items:flex-start;gap:11px}
.bk-le-icon{width:34px;height:34px;min-width:34px;background:#FEF3C7;border-radius:50%;display:flex;align-items:center;justify-content:center}
.bk-le-head-title{font-size:0.68rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:#92400E;margin-bottom:3px}
.bk-le-head-desc{font-size:0.82rem;color:#78350F;line-height:1.45;font-weight:300}
.bk-le-meta{background:#FFFBEB;border-bottom:1px solid #FDE68A;padding:0.55rem 1.25rem;font-size:0.76rem;color:#92400E;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bk-le-meta strong{font-weight:600;color:#78350F}
.bk-le-body{background:white;padding:1.1rem 1.25rem 1.3rem;display:flex;flex-direction:column;gap:0}
.bk-submit-espera{background:#92400E!important;box-shadow:0 4px 14px rgba(146,64,14,.22)!important}
.bk-submit-espera:hover:not(:disabled){background:#78350F!important;box-shadow:0 6px 20px rgba(146,64,14,.32)!important}
#le-ok{display:none;background:var(--accent-pale);color:var(--accent);padding:11px 14px;border-radius:6px;font-size:0.83rem;margin-top:8px;text-align:center;font-weight:500}
#le-error{display:none;color:#DC2626;font-size:0.8rem;margin-top:6px;padding:8px 12px;background:#FEF2F2;border-radius:5px;border:1px solid #FCA5A5}

/* ── FORM HEADER MEJORADO ── */
.bk-form-header{margin-bottom:1.3rem;padding-bottom:1.2rem;border-bottom:1px solid var(--border)}
.bk-form-step{display:inline-flex;align-items:center;gap:6px;font-size:0.65rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent);background:var(--accent-pale);padding:4px 9px;border-radius:20px;margin-bottom:8px}
.bk-form-title{font-family:var(--serif);font-size:1.3rem;font-weight:400;color:var(--text);margin-bottom:3px}
.bk-form-sub{font-size:0.81rem;color:var(--text-muted);font-weight:300}

/* Trust badges */
.bk-trust-badges{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:0.85rem;font-size:0.69rem;color:var(--text-light);flex-wrap:wrap}
.bk-trust-badges span{display:flex;align-items:center;gap:4px}

/* BOOKING CTA SECTION */
.booking-cta-section{background:var(--cream)}
.booking-cta-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.booking-cta-features{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}
.booking-cta-feature{display:flex;align-items:flex-start;gap:12px;font-size:0.87rem;color:var(--text-muted);font-weight:300;line-height:1.6}
.booking-cta-check{width:20px;height:20px;min-width:20px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.booking-cta-check::after{content:'';border:1.5px solid white;border-top:none;border-right:none;width:7px;height:4px;transform:rotate(-45deg) translateY(-1px);display:block}
.booking-cta-card{background:var(--off-white);border:1px solid var(--border);border-radius:8px;padding:2.5rem;text-align:center}
.booking-cta-card h3{font-family:var(--serif);font-size:1.5rem;font-weight:400;color:var(--text);margin-bottom:0.5rem}
.booking-cta-card p{font-size:0.88rem;color:var(--text-muted);line-height:1.7;margin-bottom:1.8rem;font-weight:300}
.booking-cta-tel-label{font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-light);margin-top:1rem;display:block}
.booking-cta-tel-num{font-family:var(--serif);font-size:1.5rem;color:var(--text);font-weight:300;text-decoration:none;display:block;margin-top:3px}
.booking-cta-tel-num:hover{color:var(--accent)}
@media(max-width:768px){.booking-cta-layout{grid-template-columns:1fr;gap:2.5rem}}

/* ── EDITORIAL CTA STRIP (reemplaza trust-bar) ── */
.editorial-cta-strip{background:var(--accent);padding:.95rem 2.5rem}
.editorial-cta-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.editorial-cta-left{display:flex;align-items:center;gap:1.1rem;flex-wrap:wrap}
.editorial-cta-pill{display:inline-flex;align-items:center;background:white;color:var(--accent);border-radius:100px;padding:.52rem 1.35rem;font-size:.82rem;font-weight:600;cursor:pointer;border:none;font-family:var(--sans);transition:transform .15s,box-shadow .15s;white-space:nowrap;letter-spacing:.01em}
.editorial-cta-pill:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,0,0,.2)}
.editorial-cta-link{color:rgba(255,255,255,.72);font-size:.82rem;font-weight:400;text-decoration:none;display:inline-flex;align-items:center;gap:5px;transition:color .15s;white-space:nowrap}
.editorial-cta-link:hover{color:white}
.editorial-cta-div{width:1px;height:16px;background:rgba(255,255,255,.22);flex-shrink:0}
.editorial-cta-micro{font-size:.72rem;color:rgba(255,255,255,.48);font-weight:300;white-space:nowrap}
.editorial-cta-right{display:flex;align-items:center;gap:7px;font-size:.78rem;color:rgba(255,255,255,.85);white-space:nowrap;flex-shrink:0}
.editorial-cta-stars{display:flex;gap:2px;align-items:center}
.editorial-cta-star{width:11px;height:11px;background:#F59E0B;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
@media(max-width:900px){.editorial-cta-micro{display:none}}
@media(max-width:640px){.editorial-cta-right{display:none};.editorial-cta-strip{padding:.85rem 1.2rem}}

/* ── TEAM STAT ROW ── */
.team-stat-row{display:grid;grid-template-columns:repeat(3,1fr);margin-top:3rem;border-top:1px solid var(--border)}
.team-stat-item{text-align:center;padding:1.6rem 1rem}
.team-stat-item+.team-stat-item{border-left:1px solid var(--border)}
.team-stat-n{font-family:var(--serif);font-size:2.4rem;font-weight:300;color:var(--accent);letter-spacing:-0.03em;line-height:1;display:block}
.team-stat-l{font-size:0.72rem;color:var(--text-light);margin-top:6px;display:block}
@media(max-width:480px){.team-stat-row{grid-template-columns:1fr 1fr}.team-stat-item:last-child{grid-column:1/-1;border-left:none;border-top:1px solid var(--border)}}

/* ── SOBRE NOSOTROS HIGHLIGHTS ── */
.about-highlights{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2rem 0}
.about-hl{background:var(--cream);border-left:3px solid var(--accent);padding:1rem 1.2rem;border-radius:0 6px 6px 0}
.about-hl-n{font-family:var(--serif);font-size:1.75rem;font-weight:300;color:var(--accent);line-height:1}
.about-hl-l{font-size:0.72rem;color:var(--text-muted);margin-top:3px}
@media(max-width:600px){.about-highlights{grid-template-columns:1fr}}

/* ── CTA EDITORIAL FINAL ── */
.cta-editorial{background:var(--accent);overflow:hidden}
.cta-editorial-inner{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:1fr 440px;min-height:460px}
.cta-editorial-text{padding:5rem 5rem 5rem 6rem;display:flex;flex-direction:column;justify-content:center}
.cta-editorial-text .overline{color:rgba(255,255,255,.42)}
.cta-editorial-text .overline::before{background:rgba(255,255,255,.42)}
.cta-editorial-h{font-family:var(--serif);font-size:clamp(2rem,3.5vw,3rem);color:white;font-weight:300;margin:.9rem 0 1.1rem;letter-spacing:-0.02em;line-height:1.1}
.cta-editorial-h em{font-style:italic;color:rgba(255,255,255,.62)}
.cta-editorial-p{font-size:0.9rem;color:rgba(255,255,255,.5);margin-bottom:2rem;line-height:1.85;font-weight:300;max-width:420px}
.cta-editorial-meta{font-size:0.7rem;color:rgba(255,255,255,.3);margin-top:.9rem;letter-spacing:0.06em}
.cta-editorial-img{position:relative;overflow:hidden}
.cta-editorial-img img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;filter:brightness(.88) saturate(.9)}
.cta-editorial-img::before{content:'';position:absolute;inset:0;background:linear-gradient(to right,var(--accent) 0%,transparent 35%);z-index:1}
@media(max-width:960px){.cta-editorial-inner{grid-template-columns:1fr;min-height:auto}.cta-editorial-img{height:300px}.cta-editorial-img::before{background:linear-gradient(to bottom,var(--accent) 0%,transparent 40%)}.cta-editorial-text{padding:4rem 2.5rem}}
@media(max-width:480px){.cta-editorial-text{padding:3rem 1.5rem}}

/* ── PRIMERA VISITA — TIMELINE ── */
.primera-visita{background:var(--off-white);padding:5.5rem 2.5rem;border-top:1px solid var(--border)}
.primera-visita-inner{max-width:1280px;margin:0 auto}
.primera-visita-header{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:end;margin-bottom:5rem}
.primera-visita-title{font-family:var(--serif);font-size:clamp(2.8rem,4.5vw,4.8rem);font-weight:300;color:var(--text);letter-spacing:-0.03em;line-height:1.04;margin-top:.75rem}
.primera-visita-title em{font-style:italic;color:var(--accent)}
.primera-visita-desc{font-size:0.97rem;color:var(--text-muted);line-height:1.8;font-weight:300;max-width:400px;padding-bottom:.5rem}
.primera-visita-desc em{font-style:italic;color:var(--text)}
.pv-steps{display:grid;grid-template-columns:repeat(4,1fr)}
.pv-step{padding-right:2.5rem}
.pv-step-header{display:flex;align-items:center;margin-bottom:1.9rem}
.pv-step-num{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:0.68rem;font-weight:500;color:var(--text-muted);letter-spacing:0.08em;background:var(--off-white);flex-shrink:0;position:relative;z-index:1}
.pv-step-line{flex:1;height:1px;background:var(--border)}
.pv-step:last-child .pv-step-line{opacity:0}
.pv-step-time{font-size:0.65rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-light);margin-bottom:.55rem;font-weight:500}
.pv-step-name{font-family:var(--serif);font-size:1.15rem;font-weight:400;color:var(--text);margin-bottom:.65rem;line-height:1.25}
.pv-step-body{font-size:0.82rem;color:var(--text-muted);line-height:1.78;font-weight:300}
@media(max-width:960px){.primera-visita-header{grid-template-columns:1fr;gap:1.5rem}.primera-visita-title{font-size:clamp(2.2rem,6vw,3.2rem)}.pv-steps{grid-template-columns:1fr 1fr;gap:2.5rem 2rem}.pv-step{padding-right:0}.pv-step-line{display:none}}
@media(max-width:480px){.pv-steps{grid-template-columns:1fr}.primera-visita{padding:4rem 1.5rem}}

/* ── STATS BAND MOBILE ── */
@media(max-width:640px){
  .stats-band{padding:1rem 1.2rem}
  .stats-inner{justify-content:flex-start;gap:0.9rem 1.4rem}
  .stat-item{min-width:120px;flex:0 0 auto}
  .stat-n{font-size:1.1rem}
  .stat-l{font-size:0.63rem}
}

/* ── EDITORIAL CTA STRIP MOBILE ── */
@media(max-width:640px){
  .editorial-cta-strip{padding:.75rem 1.2rem}
  .editorial-cta-inner{flex-direction:column;gap:.6rem;align-items:flex-start}
  .editorial-cta-left{gap:.75rem;width:100%}
  .editorial-cta-pill{font-size:.78rem;padding:.5rem 1.1rem;width:100%;justify-content:center}
  .editorial-cta-link{font-size:.78rem}
}

/* ── TEAM STAT ROW MOBILE ── */
@media(max-width:640px){
  .team-stat-row{grid-template-columns:1fr 1fr}
  .team-stat-item:last-child{grid-column:1/-1;border-left:none;border-top:1px solid var(--border)}
  .team-stat-n{font-size:1.9rem}
}

/* ── CTA EDITORIAL MOBILE ── */
@media(max-width:640px){
  .cta-editorial-text{padding:3rem 1.2rem}
  .cta-editorial-h{font-size:clamp(1.7rem,8vw,2.2rem)}
  .cta-editorial-p{font-size:0.85rem}
}

/* ── PRIMERA VISITA MOBILE ── */
@media(max-width:640px){
  .primera-visita{padding:3.5rem 1.2rem}
  .primera-visita-header{margin-bottom:2.5rem;gap:1rem}
  .primera-visita-title{font-size:clamp(2rem,9vw,2.8rem)}
  .primera-visita-desc{font-size:0.88rem}
  .pv-steps{gap:2rem 0}
  .pv-step-name{font-size:1rem}
  .pv-step-body{font-size:0.8rem}
}

/* ── ABOUT HIGHLIGHTS MOBILE ── */
@media(max-width:480px){
  .about-highlights{gap:0.75rem}
  .about-hl{padding:.85rem 1rem}
  .about-hl-n{font-size:1.45rem}
}

/* ── BOOKING CTA LAYOUT MOBILE ── */
@media(max-width:640px){
  .booking-cta-layout{grid-template-columns:1fr;gap:2rem}
  .booking-cta-card{padding:2rem}
  .booking-cta-card h3{font-size:1.3rem}
}

/* ── TESTI ENHANCEMENTS ── */
.testi-source{display:flex;align-items:center;gap:6px;margin-bottom:.9rem}
.testi-source-dot{width:8px;height:8px;border-radius:50%;background:#4285F4;flex-shrink:0}
.testi-source-label{font-size:0.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-light)}