/*
Theme Name: Germán Falcioni — v31
Theme URI: https://germanfalcioni.com
Author: Germán Falcioni
Description: v31 — Fase 6 bilingüe: default EN en todo el sitio, cookie gf_lang compartida con el plugin "IA en Primera Plana" v11 (coord con /en/newsroom/). El toggle EN/ES persiste la preferencia y el nav "Newsroom" / "Sala de Redacción" apunta al archive del idioma activo. v31.1: el link al blog lleva ?gf_lang= explícito para garantizar que el plugin reciba el idioma aun si la cookie falla.
Version: 31.1
Text Domain: gf-theme
*/
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--f);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
/* Skip link */
.skip{position:absolute;top:-100px;left:0;background:#000;color:#fff;padding:12px 24px;z-index:999;font-size:14px}
.skip:focus{top:0}
/* Focus */
*:focus-visible{outline:2px solid #CC785C;outline-offset:2px}
/* Nav */
nav{position:fixed;top:0;left:0;right:0;z-index:90;display:flex;justify-content:space-between;align-items:center}
nav .links{display:flex;gap:32px}
nav .links a{text-transform:uppercase;transition:opacity .3s}
.ham{display:none;background:none;border:none;cursor:pointer;width:28px;height:20px;position:relative;z-index:92}
.ham span{display:block;width:100%;height:2px;position:absolute;left:0;transition:all .3s}
.ham span:nth-child(1){top:0}.ham span:nth-child(2){top:9px}.ham span:nth-child(3){top:18px}
.ham.open span:nth-child(1){top:9px;transform:rotate(45deg)}.ham.open span:nth-child(2){opacity:0}.ham.open span:nth-child(3){top:9px;transform:rotate(-45deg)}
.mob-menu{display:none;position:fixed;inset:0;background:#0a0a0a;z-index:91;flex-direction:column;justify-content:center;align-items:center;gap:40px}
.mob-menu.open{display:flex}
.mob-menu a{color:#fff;font-size:24px;font-weight:600;letter-spacing:2px;text-transform:uppercase}
/* Hero */
.hero{display:flex;flex-direction:column;position:relative;overflow:hidden}
.hero-name{margin-bottom:auto}
.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;border-top:1px solid}
.hero-bottom p{max-width:380px}
.hero-photo{pointer-events:none;z-index:1}
.hero-photo img{width:100%;height:auto;display:block}
.btns{display:flex;gap:10px;flex-wrap:wrap}
.btn{border:none;cursor:pointer;transition:opacity .25s,border-color .25s;font-family:var(--f)}
/* Sections */
.s-mw{max-width:1200px;margin:0 auto}
.s-label{text-transform:uppercase}
.srv{display:grid;grid-template-columns:48px 1fr;align-items:baseline;border-bottom:1px solid}
.srv:first-of-type{border-top:1px solid}
.stats{display:flex;border-top:1px solid;border-bottom:1px solid}
.stat{flex:1;text-align:center;border-right:1px solid}
.stat:last-child{border-right:none}
.course-foot{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap}
.course-foot .cta{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.about-cols{display:grid;grid-template-columns:1fr 1fr;align-items:start}
.fact{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid;gap:20px}
.fact:first-child{border-top:1px solid}
.c-cols{display:grid;grid-template-columns:1.1fr 1fr;align-items:start}
.c-row{border-bottom:1px solid}
.c-row input,.c-row select,.c-row textarea{width:100%;background:none;border:none;font-family:var(--f);outline:none}
.c-row textarea{resize:none;height:48px}
.c-row label{display:block;text-transform:uppercase}
.channels{display:flex;flex-direction:column;gap:28px}
.ch-v a{border-bottom:1px solid;padding-bottom:1px;transition:border-color .3s}
.gf-footer{border-top:1px solid;display:flex;justify-content:space-between;align-items:center}
.gf-footer .f-links{display:flex;gap:20px}
.gf-footer .f-links a{transition:color .3s}
.wa-float{position:fixed;bottom:28px;right:28px;z-index:80;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,.3);transition:transform .3s}
.wa-float:hover{transform:scale(1.08)}
.a{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}
.a.v{opacity:1;transform:translateY(0)}
/* Language toggle */
.lang-toggle{display:flex;align-items:center;gap:2px;font-size:var(--f-nav,14px);font-weight:var(--w-nav,500);letter-spacing:var(--nav-ls,1px);text-transform:uppercase;margin-left:40px}
.lang-toggle button{background:none;border:none;cursor:pointer;font-family:var(--f);font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;padding:2px 4px;transition:opacity .3s,color .3s;color:inherit}
.lang-toggle button.active{opacity:1!important;font-weight:700}
.lang-toggle button:not(.active){opacity:.45}
.lang-toggle .lang-sep{opacity:.3;pointer-events:none;padding:0 1px;color:inherit}
.mob-menu .lang-toggle{margin-top:20px;justify-content:center}
.mob-menu .lang-toggle button{font-size:18px;color:#fff}
/* Mobile: lang toggle visible next to hamburger */
.nav-lang-mobile{display:none}
@media(max-width:768px){.ham{display:block}nav .links{display:none}.nav-lang-mobile{display:flex;align-items:center;gap:30px}.nav-lang-mobile .lang-toggle{margin-left:0}}
