/* ============================================================
   TEMPLATE EMBER — base común (se carga en todas las páginas)
   Paleta berenjena + crema. Las variables reales llegan del
   Personalizador (functions.php); aquí van los valores por defecto.
   ============================================================ */
:root{
  --paper:#F1EDE6; --paper-2:#E7E2D8;
  --ink:#2A2320; --espresso:#2A2320; --black:#2A2320;
  --muted:#8C877B; --line:#C9C3B6; --cream:#EDE9E1;
  --title:"Cormorant Garamond",Georgia,serif;
  --body:"Inter",Arial,sans-serif;
  --script:"Pinyon Script",cursive;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--body);background:var(--paper);color:var(--ink);font-weight:300;line-height:1.7;-webkit-font-smoothing:antialiased;}
img{display:block;width:100%;height:100%;object-fit:cover;filter:none;}
video{display:block;width:100%;height:100%;object-fit:cover;}
a{color:inherit;text-decoration:none;}
em{font-style:italic;}
strong{font-weight:600;}
.container{max-width:1200px;margin:0 auto;padding:0 40px;}
.eyebrow{font-family:var(--body);font-weight:400;font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--muted);}
.ef-video-embed{position:absolute;inset:0;overflow:hidden;}
.ef-video-embed iframe{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-height:100%;min-width:177.78vh;transform:translate(-50%,-50%);}
.ef-video-embed--player{position:relative;padding-top:56.25%;}
.ef-video-embed--player iframe{position:absolute;inset:0;width:100%;height:100%;min-height:0;min-width:0;transform:none;}

/* ----- Botones ----- */
.btn-solid{font-family:var(--title);font-style:italic;font-size:16px;color:var(--cream);background:var(--ink);padding:15px 42px;letter-spacing:.03em;border:1px solid var(--ink);display:inline-block;cursor:pointer;transition:background .35s ease,color .35s ease;}
.btn-solid:hover{background:transparent;color:var(--ink);}
.btn-outline{font-family:var(--title);font-style:italic;font-size:16px;color:var(--cream);border:1px solid rgba(237,233,225,.55);padding:14px 40px;display:inline-block;letter-spacing:.03em;transition:background .35s ease,color .35s ease;}
.btn-outline:hover{background:var(--cream);color:var(--ink);}
.btn-line{font-family:var(--title);font-style:italic;font-size:15px;color:var(--ink);border:1px solid var(--ink);padding:13px 36px;display:inline-block;letter-spacing:.03em;transition:background .35s ease,color .35s ease;}
.btn-line:hover{background:var(--ink);color:var(--cream);}
.read-link{font-family:var(--body);font-size:11px;letter-spacing:.22em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:4px;display:inline-block;}

/* ----- Header + desplegable de sesiones ----- */
.site-header{position:absolute;top:0;left:0;right:0;z-index:40;padding:28px 0;}
.nav-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:0 46px;}
.nav-group{display:flex;gap:38px;align-items:center;}
.nav-group.right{justify-content:flex-end;}
.nav-link{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--cream);font-weight:400;position:relative;padding-bottom:3px;cursor:pointer;}
.nav-link::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:currentColor;transition:width .4s ease;}
.nav-link:hover::after{width:100%;}
.brand{font-family:var(--title);font-size:22px;letter-spacing:.42em;text-transform:uppercase;color:var(--cream);font-weight:500;text-align:center;white-space:nowrap;padding-left:.42em;display:inline-block;}
.brand .brand-logo{max-height:52px;width:auto;filter:none;display:inline-block;}
.nav-item{position:relative;}
.submenu{position:absolute;top:100%;left:50%;transform:translateX(-30%) translateY(8px);min-width:230px;background:var(--paper);padding:16px 0;opacity:0;visibility:hidden;transition:opacity .25s ease,transform .25s ease;box-shadow:0 26px 55px rgba(42,35,32,.28);z-index:50;}
.submenu::before{content:"";position:absolute;top:-16px;left:0;right:0;height:16px;}
.nav-item.has-sub:hover .submenu{opacity:1;visibility:visible;transform:translateX(-30%) translateY(0);}
.submenu-head{font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);padding:0 26px 10px;}
.submenu a{display:block;font-family:var(--title);font-size:17px;color:var(--ink);padding:9px 26px;letter-spacing:.01em;transition:background .2s ease,padding-left .2s ease;}
.submenu a:hover{background:rgba(42,35,32,.05);padding-left:32px;}
.submenu-all{margin-top:10px;padding:12px 26px 0;border-top:1px solid var(--line);}
.submenu-all a{font-family:var(--body);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);padding:0;}
.submenu-all a:hover{color:var(--ink);background:none;padding-left:0;}
/* Sin páginas de "Detalle de sesión": cabecera + enlace, sin hueco vacío. */
.submenu.is-empty{padding:16px 0 14px;}
.submenu.is-empty .submenu-head{padding-bottom:14px;}
.submenu.is-empty .submenu-all{margin-top:0;padding-top:0;border-top:0;}
/* Si el desplegable cuelga de un enlace del lado derecho, se alinea a la
   derecha para que no se salga de la pantalla. */
.nav-group.right .submenu{left:auto;right:0;transform:translateX(0) translateY(8px);}
.nav-group.right .nav-item.has-sub:hover .submenu{transform:translateX(0) translateY(0);}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;color:var(--cream);}
.mobile-menu{display:none;flex-direction:column;background:rgba(42,35,32,.97);backdrop-filter:blur(6px);padding:8px 24px 22px;margin-top:20px;}
.mobile-menu.open{display:flex;}
.mobile-menu a{color:var(--cream);font-size:13px;letter-spacing:.2em;text-transform:uppercase;padding:15px 2px;border-bottom:1px solid rgba(237,233,225,.08);}
.mobile-menu a.sub{font-family:var(--title);text-transform:none;letter-spacing:.02em;font-size:16px;padding-left:16px;opacity:.85;}
.mobile-menu a:last-child{border-bottom:0;}

/* ----- Acordeón (sesiones, FAQ) ----- */
.acc-item{border-top:1px solid var(--line);}
.acc-item:last-of-type{border-bottom:1px solid var(--line);}
.acc-q{width:100%;background:none;border:0;text-align:left;cursor:pointer;padding:24px 40px 24px 0;position:relative;font-family:var(--title);font-size:21px;color:var(--ink);}
.acc-q::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-family:var(--body);font-weight:300;font-size:22px;color:var(--muted);}
.acc-item.open .acc-q::after{content:"–";}
.acc-a{max-height:0;overflow:hidden;transition:max-height .4s ease;}
.acc-a-inner{padding:0 0 24px;}
.acc-a p{font-size:14px;line-height:1.9;color:var(--ink);opacity:.85;margin-bottom:14px;max-width:640px;}
.acc-a a.read-link,.acc-a a{font-family:var(--body);font-size:11px;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:3px;color:var(--ink);}
.acc-a a.acc-detalle{display:inline-block;margin-top:10px;position:relative;z-index:2;}

/* ----- Testimonios (Home y Detalle) ----- */
.quote{position:relative;height:260vh;}
.quote-pin{position:sticky;top:0;height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:var(--paper);}
.quote-inner{position:relative;z-index:2;max-width:920px;padding:0 30px;color:var(--ink);width:100%;}
.quote .eyebrow{color:var(--muted);display:block;margin-bottom:16px;}
.quote-heading{font-family:var(--title);font-weight:400;font-size:clamp(32px,4vw,56px);line-height:1.15;color:var(--ink);margin-bottom:46px;}
.quote-heading em{font-style:italic;}
.t-stage{position:relative;max-width:860px;height:clamp(450px,60vh,580px);margin:0 auto;}
.t-photo{position:absolute;inset:0;overflow:hidden;border-radius:2px;background:var(--paper-2);}
.t-photo img,.t-photo video{filter:none;}
.t-photo::after{content:"";position:absolute;inset:0;background:rgba(42,35,32,.28);}
.t-viewport{position:absolute;inset:0;z-index:2;}
.t-slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .7s ease;padding:24px;}
.t-slide.is-active{opacity:1;visibility:visible;}
.t-slide .t-photo{z-index:0;}
.t-slide .g-card,.t-slide .t-shot{position:relative;z-index:2;}
.g-card{background:#fff;color:#202124;text-align:left;padding:24px 28px;border-radius:8px;box-shadow:0 26px 60px rgba(42,35,32,.30);max-width:560px;margin:0 auto;font-family:var(--body);}
.g-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.g-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:17px;font-weight:500;flex:0 0 auto;}
.g-avatar img{border-radius:50%;filter:none;}
.g-info{flex:1;min-width:0;}
.g-name{font-size:15px;font-weight:500;color:#202124;line-height:1.2;}
.g-meta{font-size:12px;color:#5f6368;}
.g-logo{width:18px;height:18px;flex:0 0 auto;}
.g-stars{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.g-stars .stars{color:#fbbc04;font-size:14px;letter-spacing:2px;}
.g-when{color:#5f6368;font-size:12px;}
.g-text{font-size:13px;line-height:1.65;color:#3c4043;}
.t-shot{width:auto !important;height:auto !important;max-width:520px;max-height:60vh;border-radius:6px;filter:none;box-shadow:0 20px 50px rgba(42,35,32,.22);}
.t-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;background:none;border:0;cursor:pointer;color:var(--ink);opacity:.5;padding:20px;transition:opacity .3s ease;}
.t-arrow:hover{opacity:1;}
.t-arrow.prev{left:4%;}
.t-arrow.next{right:4%;}
.t-arrow svg{display:block;}
.t-dots{display:flex;gap:12px;justify-content:center;margin-top:26px;}
.t-dot{width:7px;height:7px;border-radius:50%;background:rgba(42,35,32,.25);border:0;cursor:pointer;padding:0;transition:background .3s ease,transform .3s ease;}
.t-dot.is-active{background:var(--ink);transform:scale(1.25);}

/* ----- Footer ----- */
.site-footer{background:var(--black);color:#CFC8BC;padding:80px 0 40px;}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:56px;border-bottom:1px solid rgba(237,233,225,.10);}
.footer-brand{font-family:var(--title);font-size:26px;letter-spacing:.34em;text-transform:uppercase;color:var(--cream);margin-bottom:20px;padding-left:.34em;}
.footer-brand + p{font-size:13.5px;line-height:1.9;color:#9C968B;max-width:320px;}
.footer-col h4{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:#8C877B;margin-bottom:20px;}
.footer-col a{display:block;font-size:14px;color:#CFC8BC;margin-bottom:12px;transition:color .3s ease;}
.footer-col a:hover{color:var(--cream);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:30px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#7C776C;}
.footer-sign{font-family:var(--script);font-size:26px;color:#B4AEA2;text-transform:none;letter-spacing:0;}

/* Fallback (index.php) */
.fallback{padding:180px 0 100px;}
.fallback-article h1{font-family:var(--title);font-style:italic;font-size:clamp(32px,5vw,56px);margin-bottom:24px;}
.fallback-content{max-width:720px;font-size:16px;line-height:1.85;}

/* =========================================================
   RESPONSIVE COMÚN
   ========================================================= */
@media (max-width:900px){
  .nav-group{display:none;}
  .nav-toggle{display:block;justify-self:end;}
  .nav-inner{padding:0 24px;}
  .container{padding:0 24px;}
  .quote{height:auto;}
  .quote-pin{position:static;height:auto;min-height:0;padding:90px 0 100px;}
  .t-stage{max-width:100%;height:64vh;}
  .g-card{padding:20px;}
  .t-arrow.prev{left:-2px;}
  .t-arrow.next{right:-2px;}
  .footer-top{grid-template-columns:1fr;gap:30px;}
  .footer-bottom{flex-direction:column;gap:14px;text-align:center;}
}
@media (max-width:600px){
  .quote-heading{font-size:clamp(26px,7vw,38px);margin-bottom:30px;}
  .t-arrow{padding:8px;}
  .t-arrow svg{width:22px;height:22px;}
  .acc-q{font-size:19px;}
}
