/* ═══════════════════════════════════════════════════════════════════════════
   TU TEMPLO – components.css v3 · Boutique
═══════════════════════════════════════════════════════════════════════════ */

/* ══════════ NAVBAR ══════════ */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;transition:all var(--t);padding:1.5rem 0;}
.site-header--transparente{background:transparent;}
.site-header.scrolled,.site-header--solido{background:rgba(246,242,236,0.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--borde);padding:0.9rem 0;}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;}

.nav-logo{display:flex;align-items:center;gap:0.85rem;flex-shrink:0;}
.nav-logo-img{width:42px;height:42px;object-fit:contain;border-radius:50%;}
.nav-logo-text{font-family:var(--display);font-size:1.05rem;font-weight:400;letter-spacing:0.18em;color:var(--crema);transition:color var(--t);text-transform:uppercase;}
.site-header.scrolled .nav-logo-text,.site-header--solido .nav-logo-text{color:var(--tinta);}

.nav-menu{display:flex;align-items:center;gap:0.4rem;}
.nav-item{position:relative;}
.nav-item>a{display:block;padding:0.5rem 1rem;font-size:0.7rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:rgba(246,242,236,0.85);transition:all var(--t);white-space:nowrap;}
.nav-item>a:hover,.nav-item>a.active{color:#fff;}
.site-header.scrolled .nav-item>a,.site-header--solido .nav-item>a{color:var(--tinta-suave);}
.site-header.scrolled .nav-item>a:hover,.site-header--solido .nav-item>a:hover,.site-header.scrolled .nav-item>a.active,.site-header--solido .nav-item>a.active{color:var(--oro);}

.nav-item.menu-item-has-children>a::after{content:'';display:inline-block;width:0;height:0;border-left:3.5px solid transparent;border-right:3.5px solid transparent;border-top:4px solid currentColor;margin-left:6px;vertical-align:middle;transition:transform var(--t);opacity:0.7;}
.nav-item.menu-item-has-children:hover>a::after{transform:rotate(180deg);}

.sub-menu{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(-8px);min-width:240px;background:var(--hueso);border-radius:var(--radius-md);box-shadow:var(--shadow);border:1px solid var(--borde);padding:0.6rem;opacity:0;visibility:hidden;transition:all var(--t);z-index:100;}
.nav-item:hover>.sub-menu,.nav-item:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.sub-menu::before{content:'';position:absolute;top:-16px;left:0;right:0;height:16px;}
.sub-menu li a{display:block;padding:0.65rem 1.1rem;font-size:0.78rem;font-weight:500;color:var(--tinta-suave);border-radius:var(--radius);transition:all var(--t);white-space:nowrap;}
.sub-menu li a:hover{background:var(--crema);color:var(--oro);padding-left:1.4rem;}

.nav-cta{font-family:var(--body);font-size:0.66rem;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;background:var(--oro);color:#fff;padding:0.7rem 1.6rem;border-radius:var(--radius);transition:all var(--t);white-space:nowrap;}
.nav-cta:hover{background:var(--tinta);color:var(--crema);transform:translateY(-1px);}

.nav-toggle{display:none;flex-direction:column;gap:5px;padding:4px;}
.nav-toggle span{display:block;width:24px;height:1.5px;background:var(--crema);transition:all var(--t);}
.site-header.scrolled .nav-toggle span,.site-header--solido .nav-toggle span{background:var(--tinta);}
.nav-toggle.activo span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.nav-toggle.activo span:nth-child(2){opacity:0;}
.nav-toggle.activo span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

.nav-mobile{display:none;position:fixed;inset:0;background:var(--espresso);z-index:1100;flex-direction:column;align-items:center;justify-content:flex-start;gap:0.3rem;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:5rem 1.2rem 3rem;}
.nav-mobile.abierto{display:flex;}
.nav-mobile a{font-family:var(--display);font-size:1.9rem;font-weight:400;color:var(--crema);letter-spacing:0.05em;padding:0.4rem 1rem;transition:color var(--t);}
.nav-mobile a:hover{color:var(--oro);}
.nav-mobile-cierre{position:fixed;top:1.5rem;right:1.5rem;font-size:1.7rem;color:var(--oro);background:none;border:none;z-index:1200;cursor:pointer;line-height:1;}
/* Submenú desplegable de Tratamientos (móvil) */
.nav-mobile-grupo{display:flex;flex-direction:column;align-items:center;width:100%;}
.nav-mobile-toggle{display:inline-flex;align-items:center;justify-content:center;gap:0.55rem;
    font-family:var(--display);font-size:1.9rem;font-weight:400;color:var(--crema);letter-spacing:0.05em;
    background:none;border:none;padding:0.4rem 1rem;cursor:pointer;transition:color var(--t);}
.nav-mobile-toggle:hover{color:var(--oro);}
.nav-mobile-chevron{width:0.7em;height:0.7em;border-right:2px solid var(--oro);border-bottom:2px solid var(--oro);
    transform:rotate(45deg);transition:transform var(--t);margin-top:-0.25em;}
.nav-mobile-grupo.abierto .nav-mobile-chevron{transform:rotate(-135deg);margin-top:0.15em;}
.nav-mobile-sub{display:flex;flex-direction:column;align-items:center;gap:0.1rem;width:100%;
    max-height:0;overflow:hidden;transition:max-height var(--t);}
.nav-mobile-sub a{font-size:1.15rem;color:rgba(246,242,236,0.72);padding:0.45rem 1rem;}
.nav-mobile-sub a:hover{color:var(--oro);}
.nav-mobile-sub-todos{color:var(--oro-claro)!important;font-size:1rem!important;letter-spacing:0.06em;margin-top:0.2rem;}

/* ══════════ HERO con VÍDEO ══════════ */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;background:var(--espresso);}
.hero-video,.hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(105deg,rgba(33,28,22,0.78) 0%,rgba(33,28,22,0.45) 45%,rgba(33,28,22,0.25) 100%);}
.hero-overlay::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(33,28,22,0.55),transparent 35%);}
.hero-content{position:relative;z-index:2;max-width:760px;padding:0 var(--sp-lg);margin:0 auto;width:100%;}
.hero-eyebrow{display:flex;align-items:center;gap:1rem;font-size:0.64rem;font-weight:600;letter-spacing:0.4em;text-transform:uppercase;color:var(--oro-claro);margin-bottom:1.8rem;}
.hero-eyebrow::before{content:'';width:34px;height:1px;background:var(--oro-claro);}
.hero-titulo{font-family:var(--display);font-size:var(--fs-hero);font-weight:400;line-height:1.02;color:#fff;margin-bottom:1.6rem;letter-spacing:0.01em;}
.hero-titulo em{font-style:italic;color:var(--oro-claro);}
.hero-sub{font-size:clamp(1rem,1.8vw,1.2rem);font-weight:300;color:rgba(246,242,236,0.82);max-width:480px;margin-bottom:2.6rem;line-height:1.75;}
.hero-botones{display:flex;gap:1rem;flex-wrap:wrap;}
.hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:0.6rem;}
.hero-scroll-linea{width:1px;height:46px;background:linear-gradient(transparent,var(--oro-claro));animation:scrollP 2.5s ease-in-out infinite;}
.hero-scroll-txt{font-size:0.56rem;letter-spacing:0.3em;text-transform:uppercase;color:rgba(246,242,236,0.5);}
@keyframes scrollP{0%,100%{opacity:0.3;}50%{opacity:1;}}

/* ══════════ FRANJA CITA ══════════ */
.cita-band{padding:6rem var(--sp-lg);text-align:center;background:var(--espresso);position:relative;}
.cita-band::before,.cita-band::after{content:'';position:absolute;left:15%;right:15%;height:1px;background:linear-gradient(to right,transparent,var(--oro),transparent);opacity:0.4;}
.cita-band::before{top:0;}.cita-band::after{bottom:0;}
.cita-txt{font-family:var(--display);font-size:clamp(1.4rem,3vw,2.3rem);font-weight:400;font-style:italic;line-height:1.45;color:var(--crema);max-width:760px;margin:0 auto 1.4rem;}
.cita-txt em{color:var(--oro-claro);font-style:italic;}
.cita-aut{font-size:0.62rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--oro);}

/* ══════════ SOBRE ══════════ */
.sobre-img-wrap{position:relative;}
.sobre-img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-lg);display:block;}
.sobre-img-2{position:absolute;width:42%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-lg);bottom:-2rem;right:-2rem;border:6px solid var(--crema);box-shadow:var(--shadow);}
.sobre-badge{position:absolute;top:-1.5rem;left:-1.5rem;width:100px;height:100px;background:var(--oro);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:var(--shadow);}
.sobre-badge-n{font-family:var(--display);font-size:1.7rem;color:#fff;line-height:1;}
.sobre-badge-l{font-size:0.48rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.85);text-align:center;margin-top:0.2rem;}
.sobre-valores{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 2rem;margin-top:2.5rem;}
.valor{position:relative;padding-left:1.5rem;}
.valor::before{content:'';position:absolute;left:0;top:0.4rem;width:7px;height:7px;border-radius:50%;background:var(--oro);}
.valor-t{font-family:var(--display);font-size:var(--fs-md);color:var(--tinta);margin-bottom:0.3rem;}
.valor-d{font-size:var(--fs-sm);color:var(--tinta-tenue);line-height:1.6;}

/* ══════════ SERVICIOS (carta editorial) ══════════ */
.svc-lista{border-top:1px solid var(--borde);}
.svc-row{display:grid;grid-template-columns:60px 1fr auto;gap:0 2rem;align-items:center;padding:2.1rem 1.5rem;border-bottom:1px solid var(--borde);transition:all var(--t);position:relative;}
.svc-row::before{content:'';position:absolute;inset:0;background:var(--hueso);opacity:0;transition:opacity var(--t);z-index:0;}
.svc-row>*{position:relative;z-index:1;}
.svc-row:hover::before{opacity:1;}
.svc-row:hover .svc-n{color:var(--oro);}
.svc-row:hover .svc-name{color:var(--oro);transform:translateX(6px);}
.svc-row:hover .svc-arrow{opacity:1;transform:translateX(0);color:var(--oro);}
.svc-n{font-family:var(--display);font-size:0.85rem;color:var(--borde);text-align:right;transition:color var(--t);}
.svc-name{font-family:var(--display);font-size:clamp(1.3rem,2.6vw,1.85rem);font-weight:400;color:var(--tinta);transition:all var(--t);display:block;margin-bottom:0.15rem;}
.svc-desc{font-size:var(--fs-sm);color:var(--tinta-tenue);line-height:1.5;max-width:520px;}
.svc-right{display:flex;align-items:center;gap:1.5rem;}
.svc-tag{font-size:0.58rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--oro);white-space:nowrap;}
.svc-arrow{font-size:1.3rem;color:var(--borde);opacity:0;transform:translateX(-8px);transition:all var(--t);}

/* Servicio single */
.svc-hero{position:relative;min-height:60vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--espresso);}
.svc-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.svc-hero-ov{position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(33,28,22,0.85),rgba(33,28,22,0.3));}
.svc-hero-inner{position:relative;z-index:2;padding:0 var(--sp-lg) var(--sp-xl);max-width:var(--max-w);margin:0 auto;width:100%;}
.svc-hero h1{color:#fff;font-size:var(--fs-3xl);margin:0.5rem 0;}
.svc-meta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.2rem;}
.svc-meta-item{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--crema);border:1px solid rgba(246,242,236,0.25);padding:0.45rem 1rem;border-radius:99px;}

/* ══════════ PROCESO ══════════ */
.pasos{display:grid;grid-template-columns:repeat(4,1fr);margin-top:4rem;}
.paso{padding:2.5rem 1.8rem;border-left:1px solid var(--borde);transition:background var(--t);}
.paso:first-child{border-left:none;}
.paso:hover{background:var(--hueso);}
.paso-top{display:flex;align-items:center;gap:1rem;margin-bottom:1.4rem;}
.paso-n{width:38px;height:38px;border-radius:50%;border:1px solid var(--borde-oro);background:var(--oro-tenue);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:0.78rem;color:var(--oro);}
.paso-line{flex:1;height:1px;background:var(--borde-oro);}
.paso:last-child .paso-line{display:none;}
.paso-t{font-family:var(--display);font-size:1.15rem;color:var(--tinta);margin-bottom:0.6rem;}
.paso-d{font-size:var(--fs-sm);color:var(--tinta-tenue);line-height:1.7;}

/* ══════════ ESPACIO con VÍDEO (la caja) ══════════ */
.espacio-box{position:relative;min-height:560px;border-radius:var(--radius-lg);overflow:hidden;display:flex;align-items:center;}
.espacio-video,.espacio-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.espacio-ov{position:absolute;inset:0;z-index:1;background:linear-gradient(105deg,rgba(33,28,22,0.82),rgba(33,28,22,0.35));}
.espacio-inner{position:relative;z-index:2;padding:4rem;max-width:560px;}
.espacio-inner .eyebrow{color:var(--oro-claro);}
.espacio-inner .eyebrow::before{background:var(--oro-claro);}
.espacio-inner h2{color:#fff;margin-bottom:1.2rem;}
.espacio-inner p{color:rgba(246,242,236,0.78);margin-bottom:2rem;}

/* ══════════ GALERÍA ══════════ */
.galeria{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:6px;}
.gal-item{position:relative;overflow:hidden;border-radius:var(--radius-md);cursor:pointer;}
.gal-item img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow);}
.gal-item:hover img{transform:scale(1.07);}
.gal-tall{grid-row:span 2;}
.gal-wide{grid-column:span 2;}
.gal-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(33,28,22,0.7),transparent 55%);opacity:0;transition:opacity var(--t);display:flex;align-items:flex-end;padding:1.3rem;}
.gal-item:hover .gal-ov{opacity:1;}
.gal-label{font-family:var(--display);font-size:1rem;color:#fff;}

/* ══════════ TESTIMONIOS ══════════ */
.tst-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.tst{background:var(--hueso);padding:2.2rem;border-radius:var(--radius-lg);border:1px solid var(--borde);display:flex;flex-direction:column;gap:1.2rem;transition:all var(--t);}
.tst:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.tst-stars{color:var(--oro);letter-spacing:2px;font-size:0.85rem;}
.tst-txt{font-family:var(--display);font-size:1.08rem;font-style:italic;color:var(--tinta);line-height:1.6;flex:1;}
.tst-aut{display:flex;align-items:center;gap:0.8rem;padding-top:1rem;border-top:1px solid var(--borde);}
.tst-av{width:40px;height:40px;border-radius:50%;background:var(--oro-tenue);display:flex;align-items:center;justify-content:center;font-family:var(--display);color:var(--oro);flex-shrink:0;}
.tst-name{font-size:var(--fs-sm);font-weight:700;color:var(--tinta);}
.tst-svc{font-size:0.64rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--tinta-tenue);}

/* ══════════ CTA ══════════ */
.cta{position:relative;padding:var(--sp-2xl) var(--sp-lg);text-align:center;overflow:hidden;background:var(--espresso);}
.cta-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.4;z-index:0;}
.cta-ov{position:absolute;inset:0;z-index:1;background:rgba(33,28,22,0.6);}
.cta-inner{position:relative;z-index:2;max-width:680px;margin:0 auto;}
.cta h2{color:#fff;font-size:clamp(2rem,5vw,3.6rem);margin-bottom:1.2rem;line-height:1.08;}
.cta h2 em{color:var(--oro-claro);font-style:italic;}
.cta p{color:rgba(246,242,236,0.65);margin-bottom:2.6rem;}
.cta-tel{display:block;font-family:var(--display);font-size:2rem;color:#fff;margin-bottom:0.4rem;transition:color var(--t);}
.cta-tel:hover{color:var(--oro-claro);}
.cta-horario{font-size:0.62rem;letter-spacing:0.28em;text-transform:uppercase;color:rgba(246,242,236,0.4);margin-bottom:2.6rem;display:block;}
.cta-botones{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}

/* ══════════ FORM ══════════ */
.form{max-width:720px;margin:0 auto;}
.form-fila{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-bottom:1.2rem;}
.form-campo{margin-bottom:1.2rem;}
.form-label{display:block;font-size:0.62rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--tinta-tenue);margin-bottom:0.5rem;}
.form-input,.form-textarea,.form-select{width:100%;background:var(--hueso);border:1px solid var(--borde);border-radius:var(--radius);color:var(--tinta);padding:0.95rem 1.1rem;font-size:var(--fs-base);transition:all var(--t);appearance:none;}
.form-input::placeholder,.form-textarea::placeholder{color:var(--tinta-tenue);}
.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--oro);box-shadow:0 0 0 3px var(--oro-tenue);}
.form-textarea{min-height:130px;resize:vertical;}
.form-select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23B0894E' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;}
.form-msg{padding:1rem;font-size:var(--fs-sm);text-align:center;border-radius:var(--radius);display:none;margin-top:1rem;}
.form-msg.ok{background:var(--oro-tenue);border:1px solid var(--borde-oro);color:var(--oro);display:block;}
.form-msg.err{background:rgba(190,60,60,0.07);border:1px solid rgba(190,60,60,0.25);color:#b84040;display:block;}

/* ══════════ FOOTER ══════════ */
.site-footer{background:var(--espresso);}
.foot-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--sp-lg);padding:var(--sp-xl) 0;}
.foot-logo{width:54px;height:54px;object-fit:contain;border-radius:50%;margin-bottom:1rem;}
.foot-name{font-family:var(--display);font-size:1.4rem;color:var(--crema);letter-spacing:0.1em;margin-bottom:0.25rem;text-transform:uppercase;}
.foot-tag{font-size:0.6rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--oro);margin-bottom:1.2rem;}
.foot-desc{font-size:var(--fs-sm);color:rgba(246,242,236,0.45);line-height:1.8;max-width:290px;}
.foot-col-t{font-size:0.58rem;font-weight:700;letter-spacing:0.28em;text-transform:uppercase;color:var(--oro);margin-bottom:1.5rem;opacity:0.8;}
.foot-links{display:flex;flex-direction:column;gap:0.8rem;}
.foot-links a{font-size:var(--fs-sm);color:rgba(246,242,236,0.5);transition:color var(--t);}
.foot-links a:hover{color:var(--crema);}
.foot-rrss{display:flex;gap:0.7rem;margin-top:1.5rem;align-items:center;}
.foot-rrss a.foot-entrar{width:auto;height:auto;border-radius:999px;padding:0.45rem 1.05rem;font-family:'Outfit',sans-serif;font-size:0.7rem;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--oro-claro,#C9A66B);border:1px solid var(--borde-oro,rgba(176,137,78,0.28));margin-left:0.4rem;}
.foot-rrss a.foot-entrar:hover{background:var(--oro);border-color:var(--oro);color:var(--espresso,#211C16);transform:translateY(-2px);}
.foot-rrss a{width:38px;height:38px;border:1px solid var(--borde-oro,rgba(176,137,78,0.28));border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--oro-claro,#C9A66B);transition:all var(--t);}
.foot-rrss a:hover{background:var(--oro);border-color:var(--oro);color:var(--espresso,#211C16);transform:translateY(-2px);}
.foot-bot{border-top:1px solid rgba(246,242,236,0.07);padding:1.8rem 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;}
.foot-copy{font-size:0.68rem;color:rgba(246,242,236,0.3);}
.foot-credito{margin-left:0.5rem;color:rgba(246,242,236,0.28);}
.foot-credito a{color:rgba(246,242,236,0.45);transition:color var(--t);}
.foot-credito a:hover{color:var(--oro-claro);}
.foot-legal{display:flex;gap:1.5rem;}
.foot-legal a{font-size:0.68rem;color:rgba(246,242,236,0.3);transition:color var(--t);}
.foot-legal a:hover{color:var(--oro-claro);}

/* ══════════ PÁGINAS INTERNAS ══════════ */
.phero{position:relative;min-height:48vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--espresso);}
.phero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:0.55;}
.phero-ov{position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(33,28,22,0.9),rgba(33,28,22,0.4));}
.phero-inner{position:relative;z-index:2;padding:0 var(--sp-lg) var(--sp-xl);max-width:var(--max-w);margin:0 auto;width:100%;}
.phero h1{color:#fff;font-size:var(--fs-3xl);margin:0.5rem 0;}
.phero p{color:rgba(246,242,236,0.7);max-width:520px;}
.phero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.phero--video .phero-ov{background:linear-gradient(to top,rgba(33,28,22,0.82),rgba(33,28,22,0.3));}

.breadcrumbs{display:flex;align-items:center;gap:0.5rem;font-size:0.7rem;color:rgba(246,242,236,0.55);margin-bottom:1rem;}
.breadcrumbs a{color:rgba(246,242,236,0.55);transition:color var(--t);}
.breadcrumbs a:hover{color:var(--oro-claro);}
.bc-sep{opacity:0.4;}

.entry{max-width:760px;margin:0 auto;}
.entry h2{font-size:var(--fs-xl);margin:2.5rem 0 1rem;}
.entry h3{font-size:var(--fs-lg);margin:2rem 0 0.8rem;}
.entry p{margin-bottom:1.3em;}
.entry ul,.entry ol{list-style:disc;padding-left:1.5rem;margin-bottom:1.3em;color:var(--tinta-suave);}
.entry li{margin-bottom:0.5em;}

/* Blog */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;}
.pcard{background:var(--hueso);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--borde);transition:all var(--t);display:flex;flex-direction:column;}
.pcard:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.pcard-img{aspect-ratio:16/10;overflow:hidden;}
.pcard-img img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow);}
.pcard:hover .pcard-img img{transform:scale(1.05);}
.pcard-body{padding:1.5rem;display:flex;flex-direction:column;gap:0.7rem;flex:1;}
.pcard-cat{font-size:0.6rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--oro);}
.pcard-t{font-family:var(--display);font-size:1.15rem;color:var(--tinta);line-height:1.3;}
.pcard-ex{font-size:var(--fs-sm);color:var(--tinta-tenue);line-height:1.6;flex:1;}
.pcard-meta{font-size:0.64rem;color:var(--tinta-tenue);padding-top:0.8rem;border-top:1px solid var(--borde);margin-top:auto;}

.paginacion{display:flex;justify-content:center;gap:0.4rem;margin-top:var(--sp-xl);}
.paginacion .page-numbers{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius);border:1px solid var(--borde);color:var(--tinta-suave);font-size:var(--fs-sm);transition:all var(--t);}
.paginacion a.page-numbers:hover,.paginacion .current{border-color:var(--oro);color:var(--oro);background:var(--oro-tenue);}

/* ══════════ RESPONSIVE ══════════ */
@media(max-width:1024px){
    .pasos{grid-template-columns:repeat(2,1fr);}
    .tst-grid,.blog-grid{grid-template-columns:repeat(2,1fr);}
    .foot-top{grid-template-columns:1fr 1fr;}
    .galeria{grid-template-columns:repeat(2,1fr);}
    .gal-wide{grid-column:span 2;}
}
@media(max-width:768px){
    .nav-menu{display:none;}
    .site-header .ttdrop{display:none;}
    .nav-toggle{display:flex;}
    .pasos{grid-template-columns:1fr;}
    .paso{border-left:none;border-top:1px solid var(--borde);}
    .paso:first-child{border-top:none;}
    .tst-grid,.blog-grid{grid-template-columns:1fr;}
    .sobre-valores{grid-template-columns:1fr;}
    .form-fila{grid-template-columns:1fr;}
    .foot-top{grid-template-columns:1fr;gap:2rem;}
    .foot-bot{flex-direction:column;text-align:center;}
    .foot-legal{flex-wrap:wrap;justify-content:center;}
    .cta-botones,.hero-botones{flex-direction:column;align-items:stretch;}
    .galeria{grid-template-columns:1fr;grid-auto-rows:200px;}
    .gal-wide,.gal-tall{grid-column:span 1;grid-row:span 1;}
    .espacio-inner{padding:2.5rem 1.5rem;}
    .sobre-img-2{position:static;width:100%;margin-top:1rem;border:none;}
    .sobre-badge{top:-1rem;left:-1rem;width:80px;height:80px;}
    .svc-row{grid-template-columns:40px 1fr;gap:0 1rem;}
    .svc-right{display:none;}
}

/* ══════════ EL RITUAL (editorial dinámico) ══════════ */
.ritual-img-wrap{position:relative;}
.ritual-img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-lg);}
.ritual-bignum{position:absolute;top:-2.5rem;left:-1.5rem;font-family:var(--display);font-size:clamp(5rem,10vw,9rem);font-weight:500;line-height:1;color:var(--oro);opacity:0.16;z-index:2;pointer-events:none;}
.ritual-step-label{font-size:0.62rem;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:var(--oro);margin-bottom:1rem;display:block;}
.ritual-act-titulo{font-family:var(--display);font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:500;color:var(--tinta);line-height:1.1;}
.seccion--alt .ritual-act-titulo{color:var(--tinta);}

/* Diferenciadores */
.dif-card{padding:2.5rem 2rem;border:1px solid rgba(246,242,236,0.1);border-radius:var(--radius-lg);transition:all var(--t);background:rgba(246,242,236,0.02);}
.dif-card:hover{background:rgba(176,137,78,0.08);border-color:var(--borde-oro);transform:translateY(-5px);}
.dif-num{font-family:var(--display);font-size:2.4rem;color:var(--oro-claro);opacity:0.6;display:block;margin-bottom:1rem;}
.dif-t{font-family:var(--display);font-size:1.4rem;color:var(--crema);margin-bottom:0.8rem;}
.dif-d{font-size:var(--fs-sm);color:rgba(246,242,236,0.55);line-height:1.7;}

/* Dato cards (Espacio) */
.dato-card{text-align:center;padding:2.8rem 2rem;background:var(--hueso);border-radius:var(--radius-lg);border:1px solid var(--borde);transition:all var(--t);}
.dato-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--borde-oro);}
.dato-label{font-size:0.6rem;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:var(--oro);margin-bottom:0.9rem;}
.dato-valor{font-family:var(--display);font-size:1.4rem;color:var(--tinta);margin-bottom:0.4rem;line-height:1.2;}
.dato-extra{font-size:var(--fs-sm);color:var(--tinta-tenue);}

/* RTL helper para secciones alternas sin romper en móvil */
@media(max-width:768px){
    .ritual-act .grid-2{direction:ltr!important;}
    .ritual-bignum{top:-2rem;left:0;font-size:4.5rem;}
}

/* ══════════ Ajustes para Outfit (sans moderna/minimalista) ══════════ */
.hero-titulo,.titulo,.cita-txt,h1,h2,h3{letter-spacing:-0.02em;}
.hero-titulo{font-weight:600;line-height:1.02;}
.titulo{font-weight:500;}
/* Outfit no tiene cursiva real: en los títulos usamos color/peso, no italic */
.hero-titulo em,.titulo em,.cita-txt,.cita-txt em,.banda-video-titulo em,.ritual-act-titulo,.dato-valor{font-style:normal;}
.hero-titulo em,.titulo em{color:var(--oro-claro);font-weight:600;}
/* "Tu Templo" en el hero: dorado, en su renglón, sin partirse */
.hero-marca{color:var(--oro-claro);white-space:nowrap;font-weight:600;}
/* Tipos de interfaz siempre en el cuerpo (Mulish) */
.eyebrow,.hero-eyebrow,.svc-tag,.foot-col-t,.dato-label,.ritual-step-label,.dif-d,.subtitulo,.btn,.nav-item>a,.nav-cta{font-family:var(--body);}

/* ══════════ HERO SCROLL-DRIVEN (vídeo atado al scroll, SIN sticky) ══════════ */
/* La página baja con normalidad y el vídeo avanza al mismo tiempo.
   El vídeo recorre toda su duración mientras el hero sale de la pantalla.
   Para que el vídeo dure MÁS scroll, sube la altura (p.ej. 140vh); ten en
   cuenta que entonces el texto del hero queda un poco más abajo al cargar. */
.hero--scroll{min-height:100vh;}
.hero--scroll .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}

/* ══════════ BANDA INMERSIVA (vídeo tratamiento a todo el ancho) ══════════ */
.banda-video{position:relative;min-height:88vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--espresso);text-align:center;}
.banda-video-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.banda-video-ov{position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(33,28,22,0.55),rgba(33,28,22,0.7));}
.banda-video-content{position:relative;z-index:2;max-width:680px;padding:var(--sp-xl) var(--sp-lg);}
.banda-video-titulo{font-family:var(--display);font-size:clamp(2.2rem,5vw,4rem);font-weight:500;color:#fff;line-height:1.08;margin-bottom:1.4rem;}
.banda-video-titulo em{font-style:italic;color:var(--oro-claro);}
.banda-video-sub{font-size:clamp(1rem,1.6vw,1.15rem);color:rgba(246,242,236,0.8);max-width:480px;margin:0 auto 2.4rem;line-height:1.7;}
@media(max-width:768px){.banda-video{min-height:70vh;}}

/* ══════════ TARJETAS DE TRATAMIENTO (grid creativo) ══════════ */
.tcard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;}
.tcard{
    position:relative;aspect-ratio:1/1;display:flex;flex-direction:column;justify-content:space-between;
    padding:2.1rem;border-radius:var(--radius-lg);background:var(--hueso);border:1px solid var(--borde);
    overflow:hidden;transition:transform .45s cubic-bezier(.22,.61,.36,1),box-shadow .45s,border-color .45s;
}
/* capa oscura que aparece al pasar el ratón */
.tcard::after{content:'';position:absolute;inset:0;z-index:0;opacity:0;transition:opacity .45s;
    background:linear-gradient(155deg,var(--espresso) 0%,var(--espresso-2) 100%);}
.tcard:hover::after{opacity:1;}
.tcard > *{position:relative;z-index:1;}
.tcard:hover{transform:translateY(-7px);box-shadow:0 22px 60px rgba(33,28,22,.22);border-color:transparent;}

/* número fantasma gigante de fondo */
.tcard-ghost{position:absolute;right:-0.5rem;bottom:-2.2rem;z-index:0!important;font-family:var(--display);
    font-size:8rem;font-weight:600;line-height:1;color:var(--tinta);opacity:.04;transition:opacity .45s,color .45s;pointer-events:none;}
.tcard:hover .tcard-ghost{color:var(--oro-claro);opacity:.14;}

.tcard-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.tcard-num{font-family:var(--display);font-size:.95rem;font-weight:600;color:var(--oro);letter-spacing:.05em;transition:color .45s;}
.tcard-tag{font-family:var(--body);font-size:.56rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
    color:var(--oro);background:var(--oro-tenue);border:1px solid var(--borde-oro);padding:.32rem .7rem;border-radius:99px;transition:all .45s;white-space:nowrap;}
.tcard:hover .tcard-tag{color:var(--oro-claro);background:rgba(176,137,78,.16);border-color:rgba(201,166,107,.5);}

.tcard-mid{margin-top:auto;}
.tcard-name{font-family:var(--display);font-size:clamp(1.35rem,2vw,1.7rem);font-weight:500;color:var(--tinta);line-height:1.1;margin-bottom:.6rem;letter-spacing:-0.02em;transition:color .45s;}
.tcard-desc{font-size:.82rem;color:var(--tinta-tenue);line-height:1.55;transition:color .45s;}
.tcard:hover .tcard-name{color:#fff;}
.tcard:hover .tcard-desc{color:rgba(246,242,236,.72);}
.tcard:hover .tcard-num{color:var(--oro-claro);}

.tcard-foot{display:flex;align-items:center;justify-content:space-between;margin-top:1.6rem;padding-top:1rem;border-top:1px solid var(--borde);transition:border-color .45s;}
.tcard:hover .tcard-foot{border-color:rgba(246,242,236,.18);}
.tcard-cta{font-family:var(--body);font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--tinta-tenue);transition:color .45s;}
.tcard:hover .tcard-cta{color:var(--oro-claro);}
.tcard-arrow{font-size:1.1rem;color:var(--oro);transform:translateX(0);transition:transform .45s,color .45s;}
.tcard:hover .tcard-arrow{transform:translateX(5px);color:var(--oro-claro);}

@media(max-width:1024px){.tcard-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:768px){
    .tcard-grid{grid-template-columns:1fr;}
    .tcard{aspect-ratio:auto;min-height:230px;}
}

/* ══════════ ESPACIO a todo el ancho (full-bleed) ══════════ */
.espacio-full{position:relative;min-height:640px;display:flex;align-items:center;overflow:hidden;background:var(--espresso);}
.espacio-full .espacio-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.espacio-full .espacio-ov{position:absolute;inset:0;z-index:1;background:linear-gradient(105deg,rgba(33,28,22,0.82) 0%,rgba(33,28,22,0.45) 55%,rgba(33,28,22,0.2) 100%);}
.espacio-full .container{position:relative;z-index:2;}
.espacio-full .espacio-inner{max-width:540px;padding:5rem 0;}
.espacio-full .eyebrow{color:var(--oro-claro);}
.espacio-full .eyebrow::before{background:var(--oro-claro);}
.espacio-full h2{color:#fff;font-size:clamp(2.2rem,4.5vw,3.6rem);font-weight:500;line-height:1.05;margin-bottom:1.2rem;letter-spacing:-0.02em;}
.espacio-full h2 em{color:var(--oro-claro);font-style:normal;}
.espacio-full p{color:rgba(246,242,236,0.78);margin-bottom:2rem;}
@media(max-width:768px){.espacio-full{min-height:520px;}.espacio-full .espacio-inner{padding:3.5rem 0;}}

/* ══════════ PÁGINA DE TRATAMIENTO (rediseño potente) ══════════ */
/* Hero inmersivo */
.trhero{position:relative;min-height:82vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--espresso);}
.trhero-media{position:absolute;inset:0;z-index:0;}
.trhero-media video,.trhero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.trhero-ov{position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(33,28,22,.94) 0%,rgba(33,28,22,.4) 55%,rgba(33,28,22,.55) 100%);}
.trhero-inner{position:relative;z-index:2;max-width:var(--max-w);margin:0 auto;width:100%;padding:0 var(--sp-lg) var(--sp-xl);}
.trhero .breadcrumbs{margin-bottom:1.4rem;}
.trhero .eyebrow{color:var(--oro-claro);}
.trhero .eyebrow::before{background:var(--oro-claro);}
.trhero h1{color:#fff;font-size:clamp(2.6rem,6vw,5rem);font-weight:600;letter-spacing:-.02em;line-height:1.01;margin:.4rem 0 1rem;}
.trhero-tagline{color:rgba(246,242,236,.85);font-size:clamp(1.05rem,1.8vw,1.3rem);max-width:560px;margin-bottom:1.6rem;font-weight:300;line-height:1.5;}
.trhero-meta{display:flex;gap:.7rem;flex-wrap:wrap;margin-bottom:1.8rem;}
.trhero-chip{display:inline-flex;align-items:center;gap:.5rem;font-size:.64rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--crema);border:1px solid rgba(246,242,236,.3);padding:.5rem 1rem;border-radius:99px;}

/* Franja de datos clave */
.trfacts{background:var(--espresso-2);}
.trfacts-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:var(--max-w);margin:0 auto;}
.trfact{padding:2.3rem 1.5rem;text-align:center;border-left:1px solid rgba(246,242,236,.08);transition:background .35s;}
.trfact:first-child{border-left:none;}
.trfact:hover{background:rgba(176,137,78,.08);}
.trfact-label{font-size:.56rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--oro-claro);margin-bottom:.6rem;}
.trfact-val{font-family:var(--display);font-size:1.25rem;color:#fff;font-weight:500;letter-spacing:-.01em;}

/* Cuerpo editorial (sin barra lateral) */
.trbody{max-width:820px;margin:0 auto;}
.trbody .entry h2{font-size:clamp(1.5rem,2.6vw,2.1rem);margin:2.6rem 0 1rem;letter-spacing:-.02em;}
.trbody .entry h2:first-child{margin-top:0;}
.trbody .entry h3{font-size:1.25rem;margin:2rem 0 .7rem;letter-spacing:-.01em;}
.trbody .entry p{font-size:1.06rem;line-height:1.85;}
.trbody .entry ul{margin:0 0 1.4em;padding-left:0;list-style:none;}
.trbody .entry ul li{position:relative;padding-left:1.6rem;margin-bottom:.7em;color:var(--tinta-suave);}
.trbody .entry ul li::before{content:'';position:absolute;left:0;top:.65em;width:7px;height:7px;border-radius:50%;background:var(--oro);}

/* Banda cita inmersiva */
.trquote{position:relative;padding:var(--sp-2xl) 0;overflow:hidden;background:var(--espresso);text-align:center;}
.trquote-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.4;}
.trquote-ov{position:absolute;inset:0;z-index:1;background:linear-gradient(rgba(33,28,22,.72),rgba(33,28,22,.72));}
.trquote-inner{position:relative;z-index:2;}
.trquote-txt{font-family:var(--display);font-size:clamp(1.6rem,3.4vw,2.6rem);font-weight:500;color:#fff;line-height:1.25;letter-spacing:-.01em;max-width:760px;margin:0 auto;}
.trquote-txt em{color:var(--oro-claro);font-style:normal;}

/* CTA reserva (sustituye barra lateral) */
.trcta{background:var(--crema);padding:var(--sp-xl) 0;}
.trcta-card{display:flex;align-items:center;justify-content:space-between;gap:2.5rem;flex-wrap:wrap;
    background:var(--espresso);border-radius:var(--radius-lg);padding:3rem 3.2rem;box-shadow:var(--shadow);}
.trcta-text{flex:1;min-width:280px;}
.trcta-text h2{color:#fff;font-size:clamp(1.6rem,3vw,2.3rem);font-weight:500;letter-spacing:-.02em;margin:.4rem 0 .8rem;}
.trcta-text h2 em{color:var(--oro-claro);font-style:normal;}
.trcta-text p{color:rgba(246,242,236,.65);margin:0;}
.trcta-acciones{display:flex;flex-direction:column;gap:.8rem;min-width:220px;}
.trcta-acciones .btn{width:100%;}

@media(max-width:768px){
    .trhero{min-height:70vh;}
    .trfacts-grid{grid-template-columns:repeat(2,1fr);}
    .trfact:nth-child(3){border-left:none;}
    .trcta-card{flex-direction:column;align-items:stretch;text-align:center;padding:2.2rem 1.6rem;}
    .trcta-acciones{min-width:0;}
}

/* Hero de la página Tratamientos */
.trhero h1 em{color:var(--oro-claro);font-style:normal;}
.trhero--listado{min-height:66vh;}
@media(max-width:768px){.trhero--listado{min-height:58vh;}}

/* ══════════ PÁGINA TRATAMIENTOS · banda "primer paso" ══════════ */
.primerpaso{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--hueso);border:1px solid var(--borde);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);}
.primerpaso-media{position:relative;min-height:360px;}
.primerpaso-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.primerpaso-badge{position:absolute;top:1.2rem;left:1.2rem;z-index:2;font-size:.6rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:var(--oro);padding:.5rem 1rem;border-radius:99px;}
.primerpaso-text{padding:3.2rem;display:flex;flex-direction:column;justify-content:center;}
.primerpaso-text h2{font-size:clamp(1.6rem,2.8vw,2.4rem);font-weight:500;letter-spacing:-.02em;margin:.4rem 0 1rem;}
.primerpaso-text h2 em{color:var(--oro);font-style:normal;}
.primerpaso-text p{margin-bottom:1.8rem;}
@media(max-width:768px){
    .primerpaso{grid-template-columns:1fr;}
    .primerpaso-media{min-height:240px;}
    .primerpaso-text{padding:2.2rem 1.6rem;}
}

/* ══════════ MOSAICO de tratamientos (tarjetas con imagen) ══════════ */
.trt-mosaic{display:grid;gap:1rem;grid-template-columns:1fr;grid-auto-rows:260px;}
.trt{position:relative;overflow:hidden;border-radius:var(--radius-lg);display:flex;flex-direction:column;justify-content:space-between;
    padding:1.8rem;color:#fff;isolation:isolate;transition:transform .5s cubic-bezier(.22,.61,.36,1),box-shadow .5s;}
.trt-img{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;transition:transform .9s cubic-bezier(.22,.61,.36,1);}
.trt-video{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.22,.61,.36,1);}
.trt:hover .trt-video{transform:scale(1.09);}
.trt-ov{position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(28,23,18,.92) 0%,rgba(28,23,18,.45) 50%,rgba(28,23,18,.25) 100%);transition:background .45s;}
.trt:hover{transform:translateY(-5px);box-shadow:0 26px 70px rgba(33,28,22,.3);}
.trt:hover .trt-img{transform:scale(1.09);}
.trt:hover .trt-ov{background:linear-gradient(to top,rgba(28,23,18,.93) 0%,rgba(120,92,50,.5) 60%,rgba(176,137,78,.32) 100%);}
.trt-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.trt-num{font-family:var(--display);font-size:1rem;font-weight:600;color:#fff;opacity:.9;letter-spacing:.04em;}
.trt-tag{font-family:var(--body);font-size:.54rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff;
    background:rgba(246,242,236,.16);border:1px solid rgba(246,242,236,.32);padding:.32rem .7rem;border-radius:99px;backdrop-filter:blur(4px);white-space:nowrap;}
.trt-body{display:flex;flex-direction:column;gap:.5rem;}
.trt-name{font-family:var(--display);font-size:clamp(1.4rem,2vw,1.9rem);font-weight:500;letter-spacing:-.02em;line-height:1.08;color:#fff;}
.trt-desc{font-size:.85rem;color:rgba(246,242,236,.82);line-height:1.5;max-width:90%;
    max-height:0;opacity:0;overflow:hidden;transition:max-height .45s,opacity .45s,margin .45s;}
.trt:hover .trt-desc{max-height:5rem;opacity:1;}
.trt-go{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--body);font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--oro-claro);margin-top:.4rem;}
.trt-arrow{transition:transform .4s;}
.trt:hover .trt-arrow{transform:translateX(5px);}

/* Mosaico: tamaños variados solo en escritorio */
@media(min-width:1025px){
    .trt-mosaic{grid-template-columns:repeat(6,1fr);grid-auto-rows:330px;grid-auto-flow:dense;}
    .trt--big{grid-column:span 4;}
    .trt--tall{grid-column:span 2;}
    .trt--wide{grid-column:span 4;}
    .trt--reg{grid-column:span 2;}
    .trt--half{grid-column:span 3;}
}
@media(min-width:769px) and (max-width:1024px){
    .trt-mosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:280px;grid-auto-flow:dense;}
    .trt--big,.trt--wide{grid-column:span 2;}
}

/* "Otros tratamientos" — tarjetas con imagen destacada (rejilla de 3) */
.trt-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.trt-grid3 .trt{min-height:360px;}
@media(max-width:900px){
    .trt-grid3{grid-template-columns:1fr;}
    .trt-grid3 .trt{min-height:280px;}
}

/* Caja de reserva con un solo CTA centrado */
.trcta-card--centrado{flex-direction:column;align-items:center;text-align:center;gap:1.6rem;}
.trcta-card--centrado .trcta-text{flex:0 1 auto;min-width:0;max-width:640px;}
.trcta-card--centrado .trcta-acciones{flex-direction:row;min-width:0;}
.trcta-card--centrado .trcta-acciones .btn{width:auto;padding-left:2.6rem;padding-right:2.6rem;}

/* ══════════ Desplegable de reserva (WhatsApp / Llamar) — reutilizable ══════════ */
.ttdrop{position:relative;display:inline-block;}
.ttdrop-btn{border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;line-height:1;}
.ttdrop-btn::after{content:'';width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform var(--t);opacity:.85;}
.ttdrop.abierto .ttdrop-btn::after{transform:rotate(-135deg) translateY(2px);}
.ttdrop-menu{position:absolute;top:calc(100% + 10px);min-width:230px;background:var(--hueso,#FBF8F3);border:1px solid var(--borde,rgba(33,28,22,.1));
    border-radius:14px;box-shadow:0 20px 50px rgba(33,28,22,.22);padding:.5rem;opacity:0;visibility:hidden;transform:translateY(-8px);
    transition:opacity .25s ease,transform .25s ease,visibility .25s;z-index:1200;}
.ttdrop.abierto .ttdrop-menu{opacity:1;visibility:visible;transform:translateY(0);}
.ttdrop-menu::before{content:'';position:absolute;top:-6px;width:12px;height:12px;background:var(--hueso,#FBF8F3);border-left:1px solid var(--borde,rgba(33,28,22,.1));border-top:1px solid var(--borde,rgba(33,28,22,.1));transform:rotate(45deg);}
/* Alineaciones del menú */
.ttdrop--right .ttdrop-menu{right:0;}
.ttdrop--right .ttdrop-menu::before{right:24px;}
.ttdrop--left .ttdrop-menu{left:0;}
.ttdrop--left .ttdrop-menu::before{left:24px;}
.ttdrop--center .ttdrop-menu{left:50%;transform:translate(-50%,-8px);}
.ttdrop--center.abierto .ttdrop-menu{transform:translate(-50%,0);}
.ttdrop--center .ttdrop-menu::before{left:50%;margin-left:-6px;}
.ttdrop-opt{display:flex;align-items:center;gap:.7rem;padding:.8rem 1rem;border-radius:10px;
    font-family:var(--body);font-size:.82rem;font-weight:600;letter-spacing:.01em;text-transform:none;color:var(--tinta,#211C16);transition:background var(--t),color var(--t);}
.ttdrop-opt:hover{background:var(--oro-tenue,rgba(176,137,78,.1));color:var(--oro,#B0894E);}
.ttdrop-ico{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--oro,#B0894E);color:#fff;flex-shrink:0;}
.ttdrop-opt:hover .ttdrop-ico{background:var(--tinta,#211C16);}
.ttdrop-opt--destacada{background:var(--oro,#B0894E);color:#fff;}
.ttdrop-opt--destacada .ttdrop-ico{background:rgba(255,255,255,.22);color:#fff;}
.ttdrop-opt--destacada:hover{background:var(--tinta,#211C16);color:#fff;}
.ttdrop-opt--destacada:hover .ttdrop-ico{background:rgba(255,255,255,.22);color:#fff;}

/* ══════════ Banda de vídeo del Espacio (a todo el ancho) ══════════ */
.espacio-video-band{position:relative;width:100%;height:78vh;min-height:460px;overflow:hidden;background:var(--espresso,#211C16);}
.espacio-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.espacio-video-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(33,28,22,.55),rgba(33,28,22,.15) 45%,rgba(33,28,22,.35));z-index:1;}
.espacio-video-txt{position:absolute;left:0;right:0;bottom:0;z-index:2;text-align:center;padding:0 var(--sp-lg) var(--sp-xl);}
.espacio-video-txt h2{color:#fff;font-size:clamp(2rem,4vw,3.2rem);font-weight:500;letter-spacing:-.02em;margin:0;}
.espacio-video-txt h2 em{color:var(--oro-claro);font-style:normal;}
@media(max-width:768px){.espacio-video-band{height:62vh;min-height:360px;}}

/* ══════════ Mapa de contacto ══════════ */
.contacto-mapa{position:relative;width:100%;aspect-ratio:16/7;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--borde);box-shadow:var(--shadow);}
.contacto-mapa iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.2) contrast(1.02);}
@media(max-width:768px){.contacto-mapa{aspect-ratio:4/3;}}
.foot-links .foot-plano{color:rgba(246,242,236,0.55);cursor:default;}

/* ══════════ Bloques de tratamiento (beneficios, pasos, datos, FAQ) ══════════ */
.trbody-texto{max-width:760px;margin:0 auto;}
.trbody-texto p{font-size:1.06rem;line-height:1.85;color:var(--tinta-suave);margin-bottom:1.1em;}

/* Beneficios */
.benef-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;}
.benef-card{background:var(--hueso,#FBF8F3);border:1px solid var(--borde);border-radius:var(--radius-lg);padding:2rem 1.6rem;transition:transform .4s,box-shadow .4s,border-color .4s;}
.benef-card:hover{transform:translateY(-5px);box-shadow:0 22px 50px rgba(33,28,22,.12);border-color:var(--borde-oro);}
.benef-ico{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--oro-tenue,rgba(176,137,78,.1));color:var(--oro);margin-bottom:1.1rem;}
.benef-t{font-family:var(--display);font-size:1.12rem;font-weight:600;letter-spacing:-.01em;margin-bottom:.5rem;color:var(--tinta);}
.benef-d{font-size:.9rem;line-height:1.6;color:var(--tinta-suave);}
@media(max-width:980px){.benef-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.benef-grid{grid-template-columns:1fr;}}

/* Cómo funciona */
.comofunc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;}
.comofunc-paso{position:relative;padding-top:1rem;border-top:2px solid var(--borde-oro,rgba(176,137,78,.28));}
.comofunc-n{font-family:var(--display);font-size:2.6rem;font-weight:600;color:var(--oro);line-height:1;display:block;margin-bottom:.7rem;}
.comofunc-t{font-family:var(--display);font-size:1.2rem;font-weight:600;margin-bottom:.5rem;color:var(--tinta);}
.comofunc-d{font-size:.95rem;line-height:1.7;color:var(--tinta-suave);}
@media(max-width:768px){.comofunc-grid{grid-template-columns:1fr;gap:1.8rem;}}

/* Datos / cifras (banda oscura) */
.datos-band{background:var(--espresso-2,#2E2820);padding:var(--sp-xl) 0;}
.datos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;}
.dato-big{text-align:center;border-left:1px solid rgba(246,242,236,.1);padding:0 1rem;}
.dato-big:first-child{border-left:none;}
.dato-big-n{font-family:var(--display);font-size:clamp(2.4rem,5vw,3.6rem);font-weight:600;color:#fff;line-height:1;letter-spacing:-.02em;display:flex;align-items:baseline;justify-content:center;gap:.4rem;}
.dato-big-u{font-size:1.1rem;font-weight:500;color:var(--oro-claro);letter-spacing:0;}
.dato-big-l{margin-top:.7rem;font-size:.82rem;color:rgba(246,242,236,.6);}
@media(max-width:680px){.datos-grid{grid-template-columns:1fr;gap:1.6rem;}.dato-big{border-left:none;}}

/* FAQ acordeón */
.faq{display:flex;flex-direction:column;gap:.8rem;}
.faq-item{border:1px solid var(--borde);border-radius:14px;background:var(--hueso,#FBF8F3);overflow:hidden;transition:border-color .3s;}
.faq-item.abierta{border-color:var(--borde-oro,rgba(176,137,78,.28));}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left;cursor:pointer;
    background:none;border:none;padding:1.3rem 1.5rem;font-family:var(--display);font-size:1.05rem;font-weight:500;color:var(--tinta);}
.faq-mas{position:relative;width:16px;height:16px;flex-shrink:0;}
.faq-mas::before,.faq-mas::after{content:'';position:absolute;background:var(--oro);border-radius:2px;transition:transform .3s;}
.faq-mas::before{top:7px;left:0;width:16px;height:2px;}
.faq-mas::after{left:7px;top:0;width:2px;height:16px;}
.faq-item.abierta .faq-mas::after{transform:scaleY(0);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.faq-a-in{padding:0 1.5rem 1.4rem;}
.faq-a-in p{font-size:.96rem;line-height:1.75;color:var(--tinta-suave);margin:0;}

/* Para quién es / para quién no */
.pquien-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;}
.pquien-col{background:var(--hueso,#FBF8F3);border:1px solid var(--borde);border-radius:var(--radius-lg);padding:2rem 1.9rem;}
.pquien-col--si{border-top:3px solid var(--oro);}
.pquien-col--no{border-top:3px solid var(--tinta-tenue,#948A7D);}
.pquien-t{display:flex;align-items:center;gap:.6rem;font-family:var(--display);font-size:1.12rem;font-weight:600;color:var(--tinta);margin-bottom:1.1rem;}
.pquien-ic{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--oro);color:#fff;font-size:.85rem;line-height:1;}
.pquien-ic--no{background:var(--tinta-tenue,#948A7D);}
.pquien-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem;}
.pquien-lista li{position:relative;padding-left:1.2rem;font-size:.96rem;line-height:1.6;color:var(--tinta-suave);}
.pquien-lista li::before{content:'';position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--borde-oro,rgba(176,137,78,.5));}
.pquien-nota{text-align:center;max-width:640px;margin:2rem auto 0;font-size:.92rem;font-style:italic;color:var(--tinta-tenue,#948A7D);}
@media(max-width:768px){.pquien-grid{grid-template-columns:1fr;}}

/* ══════════ Blog: layout con sidebar ══════════ */
.post-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:3.5rem;align-items:start;}
.post-main{min-width:0;}
.post-side{position:sticky;top:96px;display:flex;flex-direction:column;gap:1.8rem;}
@media(max-width:980px){.post-layout{grid-template-columns:1fr;gap:2.5rem;}.post-side{position:static;}}

/* Buscador */
.side-search{display:flex;align-items:center;background:var(--hueso,#FBF8F3);border:1px solid var(--borde);border-radius:999px;overflow:hidden;transition:border-color var(--t);}
.side-search:focus-within{border-color:var(--borde-oro);}
.side-search input{flex:1;border:none;background:none;padding:0.85rem 1.1rem;font-family:var(--body);font-size:0.92rem;color:var(--tinta);outline:none;}
.side-search button{background:none;border:none;cursor:pointer;color:var(--oro);padding:0 1rem;display:flex;align-items:center;transition:color var(--t);}
.side-search button:hover{color:var(--espresso);}

/* Bloque lateral */
.side-block,.side-cta{background:var(--hueso,#FBF8F3);border:1px solid var(--borde);border-radius:var(--radius-lg);padding:1.6rem;}
.side-t{font-family:var(--display);font-size:0.72rem;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--oro);margin-bottom:1.2rem;}
.side-posts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.1rem;}
.side-post a{display:flex;gap:0.9rem;align-items:center;text-decoration:none;color:var(--tinta);}
.side-post-thumb{flex-shrink:0;width:56px;height:56px;border-radius:10px;overflow:hidden;background:var(--crema-alt);display:block;}
.side-post-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.side-post-ph{display:block;width:100%;height:100%;background:linear-gradient(135deg,#E9DEC9,#C9A66B);}
.side-post-tx{display:flex;flex-direction:column;gap:0.2rem;min-width:0;}
.side-post-tt{font-family:var(--display);font-size:0.92rem;font-weight:500;line-height:1.3;color:var(--tinta);transition:color var(--t);}
.side-post a:hover .side-post-tt{color:var(--oro);}
.side-post-dt{font-size:0.72rem;color:var(--tinta-tenue);letter-spacing:0.03em;}
.side-empty{font-size:0.9rem;color:var(--tinta-tenue);font-style:italic;}

/* CTA lateral */
.side-cta{background:var(--espresso);border:none;text-align:center;}
.side-cta-t{font-family:var(--display);font-size:1.1rem;font-weight:600;color:#fff;margin-bottom:0.3rem;}
.side-cta-d{font-size:0.85rem;color:rgba(246,242,236,.7);margin-bottom:1.1rem;}
.side-cta-btn{display:inline-block;font-family:var(--body);font-size:0.74rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;background:var(--oro);color:#fff;padding:0.8rem 1.5rem;border-radius:999px;transition:background var(--t),transform var(--t);}
.side-cta-btn:hover{background:var(--oro-claro);transform:translateY(-2px);}

/* ══════════ Ocultar el botón Play nativo de iOS en vídeos de fondo ══════════ */
video::-webkit-media-controls{display:none !important;}
video::-webkit-media-controls-start-playback-button{display:none !important;-webkit-appearance:none;}
video::-webkit-media-controls-play-button{display:none !important;}
video::-webkit-media-controls-panel{display:none !important;}
video::-webkit-media-controls-overlay-play-button{display:none !important;}
