/* Estilos compartidos de las páginas internas (talleres, próximos talleres).
   Misma identidad que la portada: mismos colores, tipografías y botones. */
:root{
  --ink:#12201A; --forest:#1E3229; --moss:#4E674F; --stone:#C9C0A4; --paper:#F1EAD9;
  --gold:#A9873F; --gold-soft:#C7A85E; --gold-deep:#7E652F;
  --line:rgba(18,32,26,0.14); --line-dark:rgba(241,234,217,0.16);
  --font-display:'Fraunces', serif; --font-body:'Inter', sans-serif;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-body); background:var(--paper); color:var(--ink); line-height:1.6; -webkit-font-smoothing:antialiased;}
img,svg{display:block; max-width:100%;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1080px; margin:0 auto; padding:0 24px;}
.eyebrow{font-size:12.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-soft); font-weight:600; display:block; margin-bottom:14px;}
h1,h2,h3{font-family:var(--font-display); font-weight:500; line-height:1.12;}
.btn{display:inline-flex; align-items:center; gap:10px; padding:15px 26px; border-radius:2px; font-size:15px; font-weight:600; letter-spacing:0.01em; border:1px solid transparent; cursor:pointer; transition:transform .15s ease, background .2s ease, border-color .2s ease;}
.btn:active{transform:scale(0.98);}
.btn-gold{background:var(--gold); color:var(--ink);}
.btn-gold:hover{background:var(--gold-soft);}
.btn-outline-light{border-color:rgba(241,234,217,0.4); color:var(--paper);}
.btn-outline-light:hover{border-color:var(--paper); background:rgba(241,234,217,0.06);}
.btn-outline-dark{border-color:rgba(18,32,26,0.35); color:var(--ink);}
.btn-outline-dark:hover{border-color:var(--ink); background:rgba(18,32,26,0.05);}

/* NAV (igual que la portada) */
header{position:sticky; top:0; z-index:50; background:rgba(18,32,26,0.92); backdrop-filter:blur(6px); border-bottom:1px solid var(--line-dark);}
nav.wrap{display:flex; align-items:center; justify-content:space-between; height:68px; max-width:1220px;}
.brand{display:flex; align-items:center; gap:10px; font-family:var(--font-display); font-size:18px; color:var(--paper); letter-spacing:0.02em; white-space:nowrap; flex-shrink:0;}
.brand img{height:34px; width:auto; display:block;}
.brand em{color:var(--gold-soft); font-style:normal;}
.navlinks{display:flex; align-items:center; gap:20px; font-size:14px; color:rgba(241,234,217,0.75); flex-wrap:nowrap;}
.navlinks a{white-space:nowrap;}
.navlinks a:hover{color:var(--paper);}
.navlinks .btn{padding:10px 18px; font-size:13.5px;}
.navlinks a.nav-highlight{color:var(--gold-soft); font-weight:600;}
.nav-toggle{display:none; background:none; border:none; color:var(--paper); font-size:22px; cursor:pointer; line-height:1;}
.lang-switch{display:inline-flex; align-items:center; gap:6px; background:none; border:1px solid rgba(241,234,217,0.3); border-radius:2px; padding:6px 10px; font-family:var(--font-body); font-size:12px; letter-spacing:0.04em; font-weight:600; color:rgba(241,234,217,0.55); cursor:pointer; flex-shrink:0;}
.lang-switch:hover{border-color:rgba(241,234,217,0.55);}
.lang-switch .lang-sep{color:rgba(241,234,217,0.3);}
.lang-switch span[data-lang-opt]{color:rgba(241,234,217,0.5); display:inline-flex; align-items:center; gap:5px;}
.lang-switch span[data-lang-opt].active{color:var(--gold-soft);}
.lang-switch .flag{width:18px; height:12px; border-radius:1.5px; box-shadow:0 0 0 1px rgba(241,234,217,0.25); opacity:0.45; filter:saturate(0.6); transition:opacity .2s, filter .2s;}
.lang-switch span[data-lang-opt].active .flag{opacity:1; filter:none;}
.mobile-menu{display:none; flex-direction:column; gap:2px; padding:8px 0 18px; border-top:1px solid var(--line-dark);}
.mobile-menu.open{display:flex;}
.mobile-menu a{padding:12px 4px; font-size:15px; color:rgba(241,234,217,0.85);}
.mobile-menu .btn{margin-top:8px;}
.mobile-menu .lang-switch{align-self:flex-start;}
@media (max-width:980px){
  .navlinks{display:none;}
  .nav-toggle{display:block;}
}

/* CABECERA DE PÁGINA */
.page-hero{position:relative; background:var(--forest); color:var(--paper); padding:56px 0 64px; overflow:hidden;}
.page-hero::after{content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 85% 0%, rgba(199,168,94,0.14), transparent 60%); pointer-events:none;}
.page-hero .wrap{position:relative; z-index:2;}
.crumbs{font-size:13px; color:rgba(241,234,217,0.6); margin-bottom:26px;}
.crumbs a{border-bottom:1px solid rgba(241,234,217,0.25);}
.crumbs a:hover{color:var(--paper); border-color:var(--paper);}
.crumbs .sep{margin:0 8px; opacity:0.5;}
.page-hero h1{font-size:clamp(30px,4.6vw,50px); max-width:860px;}
.page-hero .lede{margin-top:20px; font-size:clamp(16px,1.9vw,19px); max-width:700px; color:rgba(241,234,217,0.85);}
.facts{display:flex; flex-wrap:wrap; gap:10px 12px; margin-top:26px;}
.fact{font-size:13px; font-weight:600; letter-spacing:0.03em; padding:7px 14px; border:1px solid rgba(241,234,217,0.28); color:var(--paper);}
.fact.price{background:var(--gold); border-color:var(--gold); color:var(--ink);}
.hero-ctas{margin-top:32px; display:flex; flex-wrap:wrap; gap:14px; align-items:center;}

/* CONTENIDO */
.section{padding:72px 0;}
.section.alt{background:rgba(18,32,26,0.04);}
.section h2{font-size:clamp(24px,3vw,34px);}
.prose p{margin-top:16px; max-width:680px; font-size:16.5px; color:#34423a;}
.prose p:first-of-type{margin-top:0;}
.split{display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:start;}
.split figure img{width:100%; height:auto; border-radius:2px;}
.split figcaption{margin-top:10px; font-size:13px; color:var(--moss);}
.two-col{display:grid; grid-template-columns:1fr 1fr; gap:48px;}
.check-list{margin-top:22px; list-style:none; font-size:15.5px; color:#34423a;}
.check-list li{padding:9px 0 9px 24px; position:relative; border-bottom:1px solid var(--line);}
.check-list li::before{content:'—'; position:absolute; left:0; color:var(--gold);}
.callout{margin-top:26px; padding:22px 24px; background:#fff9ec; border-left:3px solid var(--gold); max-width:680px; font-size:15.5px; color:#34423a;}
.callout strong{font-family:var(--font-display); font-weight:500; font-size:17px; display:block; margin-bottom:6px; color:var(--ink);}
.info-grid{margin-top:30px; display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.info{padding:20px; border:1px solid var(--line); background:rgba(255,255,255,0.4);}
.info h3{font-size:17px;}
.info p{margin-top:8px; font-size:14.5px; color:#4a544d;}

/* TARJETAS */
.tier{margin-top:44px;}
.tier-label{display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; margin-bottom:20px;}
.tier-label .tag{font-family:var(--font-display); font-style:italic; font-size:22px; color:var(--forest);}
.tier-label .desc{font-size:13.5px; color:var(--moss);}
.cards{display:grid; grid-template-columns:repeat(2,1fr); gap:22px;}
.card{background:#fff9ec; border:1px solid var(--line); padding:26px; display:flex; flex-direction:column;}
.card.featured{border-color:var(--gold); box-shadow:0 0 0 1px var(--gold);}
.card .meta{font-size:12.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--moss); font-weight:600;}
.card h3{margin-top:10px; font-size:22px;}
.card h3 a:hover{color:var(--gold-deep);}
.card .price{font-family:var(--font-display); font-size:20px; color:var(--gold-deep); margin-top:6px;}
.card p{margin-top:12px; font-size:14.5px; color:#4a544d; flex-grow:1;}
.card .row{margin-top:20px; display:flex; flex-wrap:wrap; gap:12px; align-items:center;}
.badge-rec{align-self:flex-start; font-size:11.5px; font-weight:600; letter-spacing:0.05em; text-transform:uppercase; background:var(--gold); color:var(--ink); padding:4px 10px; margin-bottom:12px;}
.text-link{font-size:14px; font-weight:600; color:var(--gold-deep); border-bottom:1px solid rgba(126,101,47,0.4);}
.text-link:hover{border-color:var(--gold-deep);}

/* PRÓXIMAS FECHAS */
.events{margin-top:34px; display:flex; flex-direction:column; gap:18px;}
.event{display:grid; grid-template-columns:auto 1fr auto; gap:22px; align-items:center; background:#fff9ec; border:1px solid var(--line); padding:22px 24px;}
.ev-date{display:flex; flex-direction:column; align-items:center; justify-content:center; width:86px; height:94px; background:var(--ink); color:var(--paper); line-height:1; text-align:center;}
.ev-dow{font-size:12px; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold-soft);}
.ev-day{font-family:var(--font-display); font-size:40px; margin:4px 0 2px;}
.ev-month{font-size:13px; letter-spacing:0.12em; text-transform:uppercase;}
.ev-body h3{font-size:22px;}
.ev-body h3 a:hover{color:var(--gold-deep);}
.ev-meta{margin-top:6px; font-size:14.5px; color:#34423a; font-weight:600;}
.ev-note{margin-top:4px; font-size:14px; color:#4a544d;}
.ev-count{display:inline-block; margin-top:8px; font-size:12.5px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; color:var(--paper); background:var(--forest); padding:4px 10px;}
.empty{margin-top:34px; padding:30px; border:1px dashed rgba(18,32,26,0.3); max-width:640px;}
.empty p{margin-top:10px; color:#4a544d;}

/* FAQ */
.faq-list{margin-top:30px; border-top:1px solid var(--line); max-width:760px;}
.faq-item{border-bottom:1px solid var(--line); padding:20px 0;}
.faq-item summary{list-style:none; cursor:pointer; display:flex; justify-content:space-between; gap:18px; font-family:var(--font-display); font-size:19px;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+'; font-size:22px; color:var(--gold-deep); flex:0 0 auto; font-family:var(--font-body);}
.faq-item[open] summary::after{content:'\2212';}
.faq-item p{margin-top:12px; font-size:15px; color:#3c4a3f; max-width:640px;}

/* OTROS TALLERES + CTA */
.mini-links{margin-top:26px; display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.mini{display:block; padding:18px 20px; border:1px solid var(--line); background:rgba(255,255,255,0.4); transition:border-color .2s, background .2s;}
.mini:hover{border-color:var(--gold); background:#fff9ec;}
.mini .meta{font-size:12px; letter-spacing:0.06em; text-transform:uppercase; color:var(--moss); font-weight:600;}
.mini .t{display:block; margin-top:6px; font-family:var(--font-display); font-size:18px;}
.mini .p{display:block; margin-top:4px; font-size:14px; color:var(--gold-deep); font-family:var(--font-display);}
.next-step{margin-top:30px; display:flex; flex-wrap:wrap; gap:14px; align-items:center;}
.cta-final{background:var(--forest); color:var(--paper); text-align:center; padding:84px 0;}
.cta-final h2{font-size:clamp(26px,3.6vw,38px); max-width:640px; margin:0 auto;}
.cta-final p{margin:16px auto 0; font-size:16px; color:rgba(241,234,217,0.8); max-width:520px;}
.cta-final .btn-gold{margin-top:30px;}
.cta-final .fine{margin-top:16px; font-size:13.5px; color:rgba(241,234,217,0.6);}
.cta-final .fine a{border-bottom:1px solid rgba(241,234,217,0.35);}

/* FOOTER */
footer{background:var(--ink); color:rgba(241,234,217,0.6); padding:56px 0 32px; font-size:14px;}
.footer-top{display:flex; flex-wrap:wrap; justify-content:space-between; gap:36px;}
.footer-brand{display:flex; align-items:center; gap:10px; font-family:var(--font-display); font-size:18px; color:var(--paper);}
.footer-brand img{height:34px; width:auto;}
footer .tag{display:block; margin-top:10px; max-width:300px; font-size:13px;}
.footer-links{display:flex; flex-wrap:wrap; gap:44px;}
.footer-col{display:flex; flex-direction:column; gap:8px;}
.footer-col h3{font-family:var(--font-body); font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-soft); font-weight:600; margin-bottom:4px;}
.footer-col a:hover{color:var(--paper);}
.footer-bottom{margin-top:40px; padding-top:22px; border-top:1px solid var(--line-dark); display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; font-size:13px;}

@media (max-width:860px){
  .split, .two-col{grid-template-columns:1fr; gap:32px;}
  .cards{grid-template-columns:1fr;}
  .info-grid, .mini-links{grid-template-columns:1fr;}
  .section{padding:56px 0;}
}
@media (max-width:640px){
  .event{grid-template-columns:auto 1fr;}
  .event .ev-cta{grid-column:1 / -1;}
  .event .ev-cta .btn{width:100%; justify-content:center;}
  .ev-date{width:72px; height:82px;} .ev-day{font-size:34px;}
  .hero-ctas .btn{width:100%; justify-content:center;}
}

.app-bonus{margin:14px 0 0; padding:10px 12px; background:#fff9ec; border-left:3px solid var(--gold); font-size:13.5px; line-height:1.4; color:#34423a;}
.app-bonus strong{display:block; color:var(--ink); font-weight:600;}
.app-bonus small{display:block; margin-top:4px; font-size:12px; opacity:.75;}
.app-pro-box{max-width:760px; margin:0 auto; padding:30px 32px; background:var(--forest); color:var(--paper); border-top:3px solid var(--gold);}
.app-pro-box h2{margin:10px 0 12px; color:var(--paper);}
.app-pro-box p{font-size:16.5px; line-height:1.65; color:rgba(241,234,217,0.9);}
.app-pro-box .aviso{font-size:13px; opacity:.75; margin-top:14px;}
