/*
Theme Name: World Cannabis Conference 2027
Description: Tema del congreso. Direccion visual "Pabellon": senaletica de recinto ferial, color plano por capas, sin degradados ni sombras. El modelo de datos vive en el plugin wcc-core.
Version: 1.0
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: wcc
*/

:root{
  --green:#058b4c; --green-veil:#057a41; --teal:#06a681; --gold:#f2b04b;
  --black:#231f20; --black2:#1A1718; --black3:#0E0C0D;
  --white:#fff; --grey:#9A9A97; --grey2:#6A6967; --rule:rgba(255,255,255,.16);
  --gut:clamp(20px,4vw,64px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--white);
  font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3,p{margin:0}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.label{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--grey)}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:0 var(--gut);margin-bottom:24px}
.sec-title{font-weight:900;font-stretch:66%;text-transform:uppercase;font-size:clamp(34px,6vw,74px);line-height:.9;letter-spacing:-.01em}

/* NAV */
.nav{position:sticky;top:0;z-index:60;background:var(--black);border-bottom:1px solid var(--rule);display:flex;align-items:center;gap:18px;padding:12px var(--gut)}
.nav-mark{width:34px;flex:none}
.nav-name{font-weight:900;font-stretch:62%;text-transform:uppercase;font-size:15px;line-height:.92}
.nav-name i{display:block;font-style:normal;color:var(--gold);font-size:10px;letter-spacing:.18em}
.nav-links{display:none;gap:26px;margin-left:26px}
@media(min-width:940px){.nav-links{display:flex}}
.nav-links a{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--grey);padding:6px 0;border-bottom:2px solid transparent}
.nav-links a:hover{color:var(--white);border-bottom-color:var(--green)}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:14px}
.lang{display:flex;gap:2px}
.lang button{font-size:11px;font-weight:700;letter-spacing:.1em;padding:5px 8px;color:var(--grey2)}
.lang button[aria-pressed="true"]{background:var(--white);color:var(--black)}
.nav-cta{display:inline-flex;align-items:center;background:var(--gold);color:var(--black);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:11px 24px 11px 16px;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 50%,calc(100% - 9px) 100%,0 100%)}

/* HERO cinematografico - planos a distinta velocidad movidos por el scroll.
   Regla heredada: todo el texto viaja en el plano delantero. */
.hero{position:relative;height:205vh;--p:0}
@media(max-width:700px){.hero{height:165vh}}
.hstage{position:sticky;top:0;height:100vh;min-height:540px;overflow:hidden;background:var(--black3);perspective:1400px;perspective-origin:50% 44%}
.hplane{position:absolute;inset:-12%;background-repeat:no-repeat;background-size:cover;background-position:center;will-change:transform}
.hp-leaf{background-image:var(--leaf);opacity:.34;filter:saturate(.62);
  transform:translate3d(0,calc(var(--p) * 7vh),0) scale(calc(1 + var(--p) * .26))}
.hp-arc{background-image:var(--arc);background-position:38% 46%;mix-blend-mode:screen;
  transform:translate3d(0,calc(var(--p) * -11vh),0) scale(calc(1.05 - var(--p) * .13)) rotate(calc(var(--p) * 5deg));
  animation:breathe 26s ease-in-out infinite alternate}
@keyframes breathe{from{scale:1}to{scale:1.055}}
.hscrim{position:absolute;inset:0;background:rgba(18,15,16,.46)}
.hero-grid{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 calc(16.666% - 1px),rgba(255,255,255,.055) calc(16.666% - 1px) 16.666%);transform:scaleY(0);transform-origin:top;z-index:1}
.hcontent{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:space-between;
  transform-origin:50% 100%;
  transform:translate3d(0,calc(var(--p) * -12vh),0) rotateX(calc(var(--p) * 7deg)) scale(calc(1 - var(--p) * .07));
  opacity:calc(1 - var(--p) * 1.08)}

.hero-top{display:flex;align-items:flex-start;gap:20px;padding:clamp(22px,3.4vw,46px) var(--gut) 0}
.hero-eyebrow{font-size:clamp(10.5px,1.05vw,13px);font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.72);line-height:1.7}
.hero-xvi{margin-left:auto;background:var(--gold);color:var(--black);font-weight:900;font-stretch:62%;font-size:clamp(26px,4vw,56px);line-height:.92;padding:5px 14px 8px;transform:translateY(-150%)}
.hero-mid{padding:0 var(--gut)}
.hero-word{display:block;overflow:hidden}
.hero-word b{display:block;font-weight:900;font-stretch:62%;text-transform:uppercase;line-height:.84;transform:translateY(103%)}
.hw1 b{font-size:clamp(44px,12.4vw,190px);letter-spacing:.05em}
.hw2 b{font-size:clamp(44px,12.4vw,190px);font-stretch:71%}
.hw3 b{font-size:clamp(31px,8.8vw,136px);letter-spacing:.05em}
.hero-bot{}
.hero-bar{background:var(--green);padding:clamp(11px,1.3vw,18px) var(--gut);display:flex;gap:clamp(14px,2.6vw,40px);flex-wrap:wrap;align-items:baseline;transform:scaleX(0);transform-origin:left}
.hero-bar span{font-size:clamp(14px,1.45vw,21px);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-variant-numeric:tabular-nums;white-space:nowrap;opacity:0}
.hero-acts{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:clamp(16px,2.2vw,28px) var(--gut) clamp(20px,3vw,40px)}
.cta{display:inline-flex;align-items:center;font-size:clamp(11.5px,1.1vw,15px);font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:14px 21px;opacity:0}
.cta-primary{background:var(--gold);color:var(--black);padding-right:33px;clip-path:polygon(0 0,calc(100% - 13px) 0,100% 50%,calc(100% - 13px) 100%,0 100%)}
.cta-ghost{border:2px solid rgba(255,255,255,.45)}
.cta-ghost:hover{border-color:var(--gold);color:var(--gold)}
.hero-claim{margin-left:auto;max-width:30ch;color:rgba(255,255,255,.72);font-size:14px;line-height:1.5;opacity:0}

.hero.play .hero-grid{animation:gridIn .8s cubic-bezier(.2,.8,.3,1) .1s forwards}
.hero.play .hw1 b{animation:rise .9s cubic-bezier(.16,.9,.24,1) .2s forwards}
.hero.play .hw2 b{animation:rise .9s cubic-bezier(.16,.9,.24,1) .33s forwards}
.hero.play .hw3 b{animation:rise .9s cubic-bezier(.16,.9,.24,1) .46s forwards}
.hero.play .hero-bar{animation:wipe .82s cubic-bezier(.22,.85,.28,1) .62s forwards}
.hero.play .hero-bar span{animation:fade .4s ease-out 1.06s forwards}
.hero.play .hero-xvi{animation:snap .5s cubic-bezier(.16,1,.3,1) 1.12s forwards}
.hero.play .cta-primary{animation:fade .45s ease-out 1.26s forwards}
.hero.play .cta-ghost{animation:fade .45s ease-out 1.36s forwards}
.hero.play .hero-claim{animation:fade .5s ease-out 1.46s forwards}
.hero.play .iris{animation:scan 7s ease-in-out 1.9s infinite}
@keyframes gridIn{to{transform:scaleY(1)}}
@keyframes rise{to{transform:translateY(0)}}
@keyframes wipe{to{transform:scaleX(1)}}
@keyframes fade{to{opacity:1}}
@keyframes snap{to{transform:translateY(0)}}
@keyframes scan{0%,100%{transform:translateX(0)}22%{transform:translateX(-13px)}55%{transform:translateX(14px)}78%{transform:translateX(-5px)}}

/* PONENTES comunes */
.speakers{padding:clamp(46px,7vw,96px) 0 clamp(30px,4vw,56px);border-top:1px solid var(--rule)}
.count{display:flex;align-items:baseline;gap:12px}
.count b{font-weight:900;font-stretch:62%;font-size:clamp(46px,8vw,96px);line-height:.82;font-variant-numeric:tabular-nums}
.count span{font-size:13px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--grey)}
.speakers-foot{padding:22px var(--gut) 0;color:var(--grey);font-size:13.5px;display:flex;gap:10px;align-items:flex-start;max-width:80ch}
.speakers-foot b{color:var(--gold);font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:11px;white-space:nowrap;padding-top:3px}


/* ===== MOSAICO - rejilla que se recompone con el ancho, sin scroll lateral ===== */
.tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tool{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--rule);padding:10px 15px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--grey)}
.tool:hover{color:var(--white);border-color:var(--gold)}
.tool[aria-pressed="true"]{background:var(--white);color:var(--black);border-color:var(--white)}
.tool svg{width:12px;height:12px;fill:currentColor}
.swatches{display:flex;gap:1px;background:var(--rule);border:1px solid var(--rule)}
.swatch{display:inline-flex;align-items:center;gap:7px;background:var(--black);padding:10px 14px;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--grey)}
.swatch::before{content:"";width:11px;height:11px;flex:none}
.swatch.s-gold::before{background:var(--gold)}
.swatch.s-green::before{background:var(--green)}
.swatch[aria-pressed="true"]{background:var(--white);color:var(--black)}

.mosA-wrap{position:relative;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--black3)}
.mosA{display:grid;gap:2px;grid-template-columns:repeat(auto-fill,minmax(112px,1fr))}
@media(min-width:560px){.mosA{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}
@media(min-width:1000px){.mosA{grid-template-columns:repeat(auto-fill,minmax(168px,1fr))}}
@media(min-width:1400px){.mosA{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}}

.cellA{position:relative;isolation:isolate;aspect-ratio:1;overflow:hidden;background:var(--black3);display:block;width:100%;text-align:left}
.cellA img{width:100%;height:100%;object-fit:cover;filter:brightness(.8);transition:filter .28s}
.veilA{position:absolute;inset:0;background:var(--green-veil);opacity:0;transition:opacity .2s;pointer-events:none}
.cardA{position:absolute;inset:0;padding:clamp(10px,1.1vw,17px);display:flex;flex-direction:column;align-items:flex-start;color:#fff;opacity:0;transition:opacity .2s;pointer-events:none}
.cardA b{font-weight:900;font-size:clamp(13px,1.3vw,18px);line-height:1.05;letter-spacing:.01em;text-transform:uppercase}
.cardA i{font-style:normal;font-weight:800;font-size:clamp(10px,.92vw,12.5px);letter-spacing:.07em;text-transform:uppercase;margin-top:5px;line-height:1.25}
.cardA .ruleA{display:block;width:22px;height:2px;background:currentColor;margin:auto 0 7px}
.cardA em{font-style:normal;font-weight:700;font-size:clamp(10px,.92vw,12.5px);line-height:1.25}
.cellA:hover img,.cellA:focus-visible img,.cellA.on img{filter:brightness(1.15) contrast(.9)}
.cellA:hover .veilA,.cellA:focus-visible .veilA,.cellA.on .veilA{opacity:.96}
.cellA:hover .cardA,.cellA:focus-visible .cardA,.cellA.on .cardA{opacity:1}

/* variante verde: campo verde de marca y texto en blanco */
.speakers.v-gold .veilA{background:var(--gold)}
.speakers.v-gold .cardA{color:var(--black)}
.speakers.v-gold .cellA:hover .veilA,.speakers.v-gold .cellA:focus-visible .veilA,.speakers.v-gold .cellA.on .veilA{opacity:.94}

.noimgA{display:flex;align-items:center;justify-content:center;background:var(--black2)}
.noimgA span{font-weight:900;font-stretch:62%;font-size:clamp(24px,3.4vw,40px);color:var(--grey2)}
.noimgA:hover span,.noimgA.on span{opacity:0}

.listA{display:none;padding:0 var(--gut)}
.listA.on{display:block}
.mosA-wrap.off{display:none}
.rowA{display:grid;grid-template-columns:36px 1fr;gap:14px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--rule)}
@media(min-width:760px){.rowA{grid-template-columns:44px minmax(0,1.1fr) minmax(0,1.3fr) 90px}}
.rowA i{font-style:normal;font-family:"Courier Prime",monospace;font-size:12px;color:var(--grey2)}
.rowA b{font-size:17px;font-weight:800}
.rowA span{font-size:13.5px;color:var(--grey)}
.rowA em{font-style:normal;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}





/* ===== PROGRAMA Y AGENDA ===== */
.prog{border-top:1px solid var(--rule);padding:clamp(46px,7vw,96px) 0}
.days{display:flex;gap:1px;background:var(--rule);border:1px solid var(--rule);margin:0 var(--gut) 8px;flex-wrap:wrap}
.day{background:var(--black);padding:15px 20px;flex:1 1 190px;text-align:left;color:var(--grey)}
.day:hover{color:var(--white)}
.day[aria-selected="true"]{background:var(--green);color:#fff}
.day b{display:block;font-size:16px;font-weight:800}
.day span{display:block;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-top:4px;opacity:.82}
.sched{padding:0 var(--gut)}
.ses{display:grid;grid-template-columns:1fr;gap:12px;padding:24px 0;border-bottom:1px solid var(--rule)}
@media(min-width:860px){.ses{grid-template-columns:132px 1fr;gap:34px}}
.ses-time{display:flex;align-items:baseline;gap:10px;font-variant-numeric:tabular-nums}
@media(min-width:860px){.ses-time{flex-direction:column;gap:1px;align-items:flex-start}}
.ses-time b{font-size:clamp(20px,2.1vw,26px);font-weight:800;line-height:1}
.ses-time span{font-size:13px;color:var(--grey2)}
.ses-tag{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(242,176,75,.45);padding:4px 9px}
.ses h3{font-size:clamp(18px,2.05vw,26px);font-weight:800;line-height:1.18;max-width:36ch;margin-top:11px}
.ses-people{margin-top:9px;font-size:13.5px;line-height:1.5}
.ses-people em{font-style:normal;color:var(--gold);font-weight:700}
.ses-desc{margin-top:11px;font-size:14px;color:var(--grey);max-width:68ch;line-height:1.6}
.ses.is-cer{background:var(--black2)}
.ses.is-cer h3{color:var(--gold)}
.prog-foot{padding:22px var(--gut) 0;color:var(--grey);font-size:13.5px;display:flex;gap:10px;align-items:flex-start;max-width:80ch}
.prog-foot b{color:var(--gold);font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:11px;white-space:nowrap;padding-top:3px}

.nav-acc{font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--grey);border:1px solid var(--rule);padding:9px 13px}
.nav-acc:hover{color:var(--gold);border-color:var(--gold)}
@media(max-width:820px){.nav-acc{display:none}}


/* ===== ARCHIVO DE EDICIONES ===== */
.arch{border-top:1px solid var(--rule);padding:clamp(46px,7vw,96px) 0}
.eds{display:grid;gap:2px;background:var(--rule);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
@media(min-width:700px){.eds{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}
.ed{background:var(--black);padding:clamp(16px,1.9vw,26px);display:flex;flex-direction:column;gap:6px;min-height:150px;text-align:left;position:relative}
.ed:hover{background:var(--black2)}
.ed-year{font-weight:900;font-stretch:62%;font-size:clamp(34px,4.2vw,56px);line-height:.86;font-variant-numeric:tabular-nums}
.ed-ord{position:absolute;top:clamp(14px,1.6vw,22px);right:clamp(14px,1.6vw,22px);font-family:"Courier Prime",monospace;font-size:12px;color:var(--gold)}
.ed-city{font-size:14.5px;font-weight:800;margin-top:auto}
.ed-when{font-size:12.5px;color:var(--grey);font-variant-numeric:tabular-nums}
.ed-live{display:inline-flex;align-items:center;gap:7px;background:var(--green);color:#fff;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;padding:4px 9px;align-self:flex-start;margin-top:6px}
.ed.is-live{background:var(--black2);outline:2px solid var(--green);outline-offset:-2px}
.ed-soon{font-size:12px;color:var(--grey2);margin-top:auto}
.arch-foot{padding:22px var(--gut) 0;color:var(--grey);font-size:13.5px;display:flex;gap:10px;align-items:flex-start;max-width:80ch}
.arch-foot b{color:var(--gold);font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:11px;white-space:nowrap;padding-top:3px}

/* SEDE */
.venue{border-top:1px solid var(--rule);padding:clamp(46px,7vw,96px) 0}
.venue-cols{display:grid;grid-template-columns:1fr;gap:32px;padding:0 var(--gut);margin-top:26px}
@media(min-width:900px){.venue-cols{grid-template-columns:1.25fr 1fr;gap:64px}}
.venue-lead{font-size:clamp(17px,1.8vw,21px);line-height:1.5;max-width:52ch}
.venue-addr{margin-top:22px;display:flex;flex-direction:column;gap:4px}
.venue-addr b{font-size:19px;font-weight:800}
.venue-addr span{color:var(--grey);font-size:14.5px}
.routes{display:flex;flex-direction:column;gap:1px;background:var(--rule);border:1px solid var(--rule)}
.route{background:var(--black);padding:16px 18px;display:grid;grid-template-columns:64px 1fr;gap:16px;align-items:baseline}
.route b{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.route span{font-size:14px}
.hall{margin-top:24px;background:var(--green);padding:14px 18px;display:inline-flex;align-items:baseline;gap:12px}
.hall b{font-size:20px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.hall span{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.85)}

/* PATROCINADORES */
.partners{border-top:1px solid var(--rule);padding:clamp(46px,7vw,90px) 0 0}
.p-block{padding:0 var(--gut);margin-bottom:clamp(38px,5vw,58px)}
.p-rule{display:flex;align-items:center;gap:16px;margin-bottom:clamp(20px,3vw,30px)}
.p-rule span{font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--grey);white-space:nowrap}
.p-rule::after{content:"";flex:1;height:1px;background:var(--rule)}
.p-main{display:inline-block;padding:2px 0 6px}
.p-main img{display:block;height:calc(clamp(58px,7.5vw,104px) * var(--escala,1));width:auto;max-width:100%}
.p-row{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(34px,6vw,84px)}
.p-item{display:inline-block;opacity:.92;transition:opacity .25s ease}
.p-item img{display:block;height:calc(clamp(28px,3.4vw,40px) * var(--escala,1));width:auto;max-width:100%}
.p-item:hover,.p-item:focus-visible{opacity:1}
@media(prefers-reduced-motion:reduce){.p-item{transition:none}}

/* PIE */
.foot{border-top:1px solid var(--rule);margin-top:clamp(40px,6vw,80px);padding:36px var(--gut) 48px}
.foot-top{display:flex;flex-wrap:wrap;gap:26px;align-items:flex-start;justify-content:space-between}
.foot-mark{display:flex;align-items:center;gap:14px}
.foot-mark svg{width:46px}
.foot-org{font-size:13px;color:var(--grey);line-height:1.5}
.foot-social{display:flex;gap:1px;background:var(--rule);border:1px solid var(--rule)}
.foot-social a{background:var(--black);padding:11px 15px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--grey)}
.foot-social a:hover{background:var(--green);color:var(--white)}
.foot-legal{margin-top:28px;padding-top:20px;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between}
.foot-legal p,.foot-legal a{font-size:12px;color:var(--grey2)}

/* EMBLEMA */
.g-f{fill:var(--gold)}.g2-f{fill:#efb149}.gr-f{fill:var(--green)}.t-f{fill:var(--teal)}.w-f{fill:#fff}.k-f{fill:var(--black)}
.iris{transform-box:fill-box;transform-origin:center}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .hero-grid{transform:scaleY(1)}
  .hero-word b{transform:translateY(0)}
  .hero-bar{transform:scaleX(1)}
  .hero-bar span,.cta,.hero-claim{opacity:1}
  .hero-xvi{transform:translateY(0)}
  .mosA{scroll-behavior:auto}
  .hero{--p:0!important}
  .hp-arc{scale:1}
}

/* ===== Añadidos del tema ===== */
.sr-skip{position:absolute;left:-9999px;top:0;z-index:99;background:var(--gold);color:var(--black);padding:12px 18px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:12px}
.sr-skip:focus{left:0}
.nav-marca{display:flex;align-items:center;gap:14px}
.foot-legal-links{display:flex;gap:18px;flex-wrap:wrap}
.foot-legal-links a{font-size:12px;color:var(--grey2)}
.foot-legal-links a:hover{color:var(--white)}
.panel[hidden]{display:none!important}

/* Ficha de ponente */
.ficha{padding:clamp(34px,5vw,70px) var(--gut) clamp(40px,6vw,80px);max-width:1080px;margin:0 auto}
.ficha-head{display:grid;grid-template-columns:1fr;gap:clamp(20px,3vw,40px);align-items:end}
@media(min-width:760px){.ficha-head{grid-template-columns:260px 1fr}}
.ficha-foto{position:relative;aspect-ratio:1;overflow:hidden;background:var(--black3);display:flex;align-items:center;justify-content:center}
.ficha-foto img{width:100%;height:100%;object-fit:cover;filter:brightness(.92)}
.ficha-ini{font-weight:900;font-stretch:62%;font-size:64px;color:var(--grey2)}
.ficha-nombre{font-weight:900;font-stretch:66%;text-transform:uppercase;font-size:clamp(30px,5vw,62px);line-height:.92;margin:10px 0 14px}
.ficha-cargo{font-size:clamp(16px,1.8vw,20px);font-weight:700}
.ficha-ent{font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-top:6px}
.ficha-pais{font-size:13px;color:var(--grey);margin-top:6px}
.ficha-bio{margin-top:clamp(30px,4vw,54px);padding-top:24px;border-top:1px solid var(--rule)}
.ficha-texto{margin-top:14px;max-width:68ch;font-size:16.5px;line-height:1.65;color:var(--grey)}
.ficha-texto p{margin:0 0 1em}
.ficha-ses{margin-top:clamp(30px,4vw,54px);padding-top:24px;border-top:1px solid var(--rule)}
.ficha-ses .ses{border-bottom:1px solid var(--rule)}
.ficha-volver{margin-top:clamp(28px,4vw,48px)}
.ficha-volver .cta{opacity:1}

/* Vistas genericas */
.generico{padding:clamp(34px,5vw,70px) 0}
.generico-cuerpo{padding:0 var(--gut)}
.generico-vacio{color:var(--grey);font-size:16px}
.generico .rows{display:flex;flex-direction:column}
.generico .row{display:grid;grid-template-columns:1fr;gap:6px;padding:16px 0;border-bottom:1px solid var(--rule)}
@media(min-width:760px){.generico .row{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:28px;align-items:baseline}}
.generico .row b{font-size:17px;font-weight:800}
.generico .row span{font-size:14px;color:var(--grey);line-height:1.5}
.pagination{margin-top:26px;display:flex;gap:10px;font-size:13px}

/* Ficha de edicion */
.edicion{padding:clamp(30px,4.5vw,64px) 0 clamp(40px,6vw,80px)}
.ed-cols{display:grid;grid-template-columns:1fr;gap:clamp(24px,3.4vw,48px);padding:0 var(--gut);margin-top:18px}
@media(min-width:840px){.ed-cols{grid-template-columns:minmax(0,380px) minmax(0,1fr)}}
.ed-cartel img{width:100%;height:auto;display:block;border:1px solid var(--rule)}
.ed-sincartel{aspect-ratio:1/1.414;border:1px solid var(--rule);background:var(--black2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}
.ed-sincartel svg{width:76px;opacity:.5}
.ed-sincartel span{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--grey2)}
.ed-nombre{font-weight:900;font-stretch:70%;text-transform:uppercase;font-size:clamp(20px,2.4vw,30px);margin-bottom:16px}
.edicion .rows{display:flex;flex-direction:column}
.edicion .row{display:grid;grid-template-columns:1fr;gap:4px;padding:14px 0;border-bottom:1px solid var(--rule)}
@media(min-width:620px){.edicion .row{grid-template-columns:150px 1fr;gap:22px;align-items:baseline}}
.edicion .row b{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.edicion .row span{font-size:15px;color:var(--white);line-height:1.5}
.ed-mat{margin-top:30px}
.mat-lista{display:flex;flex-direction:column;gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:14px}
.mat{background:var(--black);padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.mat:hover{background:var(--green-veil)}
.mat b{font-size:15px;font-weight:800}
.mat span{font-size:11px;font-weight:800;letter-spacing:.13em;color:var(--gold);white-space:nowrap}
.mat:hover span{color:#fff}
.ed-pend{margin-top:26px;font-size:14px;color:var(--grey)}
.ed-cover{display:block;width:100%;aspect-ratio:1/1.414;object-fit:cover;margin-bottom:10px;border:1px solid var(--rule)}


/* ===== Rejilla de ponentes: sin huecos ===== */
.cellA.fill{display:flex;align-items:center;justify-content:center;background:var(--black2);pointer-events:none}
.cellA.fill svg{width:34%;opacity:.14}
.cellA.fill.fill-note{background:var(--green-veil);opacity:1;pointer-events:auto}
.cellA.fill.fill-note:hover{background:var(--green)}
.cellA.fill.fill-note span{font-weight:900;font-stretch:66%;text-transform:uppercase;font-size:clamp(15px,1.5vw,21px);line-height:1;color:#fff;text-align:center;padding:0 12px}
.noimgA{background:var(--black2);position:relative}
.noimgA span{position:relative;color:rgba(255,255,255,.55)}
.cellA img{filter:brightness(.8) contrast(1.04)}

/* ===== Sede con la fotografía del BEC de fondo ===== */
.venue{position:relative;isolation:isolate;background:var(--black) url("assets/sede-bec.jpg") center 38%/cover no-repeat}
.venue::before{content:"";position:absolute;inset:0;background:rgba(20,17,18,.8);z-index:-1}
.venue .routes,.venue .route{background:rgba(20,17,18,.72)}
.venue .route{backdrop-filter:none}
@media (min-width:900px){.venue{background-attachment:fixed}}
@media (prefers-reduced-motion:reduce){.venue{background-attachment:scroll}}


/* ===== Archivo audiovisual ===== */
.ed-sub{display:block;font-size:.42em;letter-spacing:.06em;color:var(--gold);margin-top:.35em}
.sec-title.sm{font-size:clamp(26px,3.6vw,46px)}
.ed-charlas,.ed-pon{margin-top:clamp(42px,5vw,76px);padding-top:clamp(28px,3.4vw,46px);border-top:1px solid var(--rule)}
.vids{display:grid;gap:2px;background:var(--rule);border:1px solid var(--rule);margin:22px var(--gut) 0;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.vid{background:var(--black);display:flex;flex-direction:column}
.yt{position:relative;display:block;width:100%;padding:0;background:var(--black3);cursor:pointer}
.yt-thumb{display:block;aspect-ratio:16/9;overflow:hidden}
.yt-thumb img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.66);transition:filter .3s,transform .5s}
.yt:hover .yt-thumb img,.yt:focus-visible .yt-thumb img{filter:grayscale(0) brightness(.95);transform:scale(1.03)}
.yt-play{position:absolute;left:14px;bottom:14px;width:48px;height:48px;background:var(--gold)}
.yt-play::after{content:"";position:absolute;left:19px;top:15px;border-left:14px solid var(--black);border-top:9px solid transparent;border-bottom:9px solid transparent}
.yt:hover .yt-play{background:#fff}
.yt-title{padding:14px 16px 18px;font-size:14.5px;font-weight:800;line-height:1.32;color:var(--white)}
.yt-frame{display:block;aspect-ratio:16/9;width:100%;background:#000}
.yt-frame iframe{display:block;width:100%;height:100%;border:0}
.vid-sin{justify-content:space-between;min-height:118px}
.vid-sin em{display:block;padding:0 16px 16px;font-style:normal;font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--grey2)}

/* ===== Directorio de ponentes ===== */
.dir-ponentes{padding-top:clamp(34px,5vw,70px)}
.dir-intro{padding:0 var(--gut);max-width:72ch;color:var(--grey);font-size:15.5px;line-height:1.6;margin:-6px 0 24px}
.dir-anios{display:flex;flex-wrap:wrap;gap:1px;background:var(--rule);border:1px solid var(--rule);margin:0 var(--gut) clamp(30px,4vw,52px)}
.dir-anios a{background:var(--black);padding:11px 15px;font-size:12.5px;font-weight:800;letter-spacing:.06em;color:var(--grey);font-variant-numeric:tabular-nums}
.dir-anios a:hover,.dir-anios a:focus-visible{background:var(--green-veil);color:#fff}
.dir-grupo{margin-bottom:clamp(38px,5vw,68px);scroll-margin-top:90px}
.inline-link{margin-left:8px;color:var(--gold);font-weight:700;border-bottom:1px solid rgba(242,176,75,.4)}
.inline-link:hover{color:#fff;border-bottom-color:#fff}
.ficha-links{display:flex;flex-wrap:wrap;gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:18px;width:max-content;max-width:100%}
.ficha-links a{background:var(--black);padding:10px 15px;font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.ficha-links a:hover{background:var(--green-veil);color:#fff}
.ficha-eds{display:flex;flex-wrap:wrap;gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:14px;width:max-content;max-width:100%}
.ficha-eds a,.ficha-eds span{background:var(--black);padding:12px 18px;font-weight:900;font-stretch:66%;font-size:24px;line-height:1;font-variant-numeric:tabular-nums}
.ficha-eds a:hover{background:var(--green-veil)}
.ficha-eds span{color:var(--grey2)}
.ed-cover{display:block;width:100%;aspect-ratio:1/1.414;object-fit:cover;margin-bottom:10px;border:1px solid var(--rule)}


/* ===== Indice de ediciones ===== */
.arch-full{padding-top:clamp(34px,5vw,70px);border-top:none}
.arch-cifras{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);margin:0 var(--gut) 26px}
.arch-cifras div{background:var(--black);padding:18px 20px;display:flex;flex-direction:column;gap:7px}
.arch-cifras b{font-weight:900;font-stretch:62%;font-size:clamp(30px,3.6vw,46px);line-height:.9;font-variant-numeric:tabular-nums}
.arch-cifras span{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--grey);line-height:1.4}
.ed-vids{display:inline-flex;align-self:flex-start;margin-top:6px;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(242,176,75,.45);padding:3px 8px}

/* ===== Programa historico en la ficha de edicion ===== */
.ed-prog{margin-top:clamp(42px,5vw,76px);padding:clamp(28px,3.4vw,46px) 0 0}
.ed-prog .days{margin-top:20px}
.ses-dia{padding:20px 0 2px;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.ses-nota{padding:16px 0 0;font-size:12.5px;color:var(--grey)}
.ses-people small{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--grey2);margin-right:2px}
.ses-more{margin-top:12px;max-width:68ch}
.ses-more summary{cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);list-style:none}
.ses-more summary::-webkit-details-marker{display:none}
.ses-more summary::after{content:"+";font-size:15px;line-height:1}
.ses-more[open] summary::after{content:"\2013"}
.ses-more .ses-desc{margin-top:8px}
.ses-more .ses-desc p+p{margin-top:.7em}
.ses-video{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:7px 12px;border:1px solid rgba(242,176,75,.45);background:none;color:var(--gold);font:inherit;font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.ses-video:hover,.ses-video:focus-visible{background:var(--green);border-color:var(--green);color:#fff}
.ses-body .yt-frame{margin-top:14px;max-width:760px}
.ficha-arch .ses-time b{font-size:clamp(18px,1.8vw,22px)}
.ficha-arch h3 a:hover,.ficha-arch h3 a:focus-visible{color:var(--gold)}
.ses-tags{display:flex;flex-wrap:wrap;gap:6px}
.ses-tags+h3{margin-top:11px}
.ses-sub{margin-top:6px;font-size:15px;font-weight:700;color:var(--grey);max-width:60ch;line-height:1.4}
.ses.is-pausa{padding:12px 0}
.ses.is-pausa h3{margin-top:0;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--grey2)}
.ses-people q{color:var(--grey);font-style:italic}
.ses-people q::before{content:"\201C"}
.ses-people q::after{content:"\201D"}

/* ===== Mosaico sin huecos: separadores de letra del directorio ===== */
.cellA.letra{aspect-ratio:auto;min-height:84px;margin:0;display:flex;flex-direction:column;justify-content:flex-end;gap:7px;padding:clamp(10px,1.2vw,18px);background:var(--black2);font-size:inherit;scroll-margin-top:96px}
.letra-l{font-weight:900;font-stretch:62%;font-size:clamp(44px,5.4vw,84px);line-height:.8;color:var(--gold)}
.letra-n{font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--grey)}
.dir-ponentes .mosA-wrap{margin-top:8px}

/* ===== Cifras del congreso (portada): placa negra + campos verdes, filetes de 1px ===== */
.cifras{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.3);border-bottom:1px solid var(--rule)}
.cifras-placa{grid-column:1/-1;background:var(--black);padding:clamp(24px,3.2vw,44px) var(--gut) clamp(20px,2.6vw,34px);display:flex;flex-direction:column;justify-content:flex-end;gap:12px}
.cifras-placa h2{font-weight:900;font-stretch:62%;text-transform:uppercase;font-size:clamp(44px,6.4vw,92px);line-height:.84;letter-spacing:-.01em;color:#fff}
.cifras-placa p{font-size:11.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--grey);line-height:1.5}
.cifra{container-type:inline-size;position:relative;display:flex;flex-direction:column;background:var(--green-veil);color:#fff;padding:clamp(22px,3vw,40px) clamp(16px,2vw,28px) clamp(20px,2.4vw,32px);transition:background-color .2s}
.cifra-n{font-weight:900;font-stretch:62%;font-size:clamp(60px,10vw,150px);line-height:.8;letter-spacing:-.02em;font-variant-numeric:tabular-nums lining-nums}
@supports (container-type:inline-size){.cifra-n{font-size:clamp(56px,40cqi,156px)}}
.cifra-l{display:flex;align-items:center;gap:10px;margin-top:clamp(14px,1.6vw,22px);font-size:12.5px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.cifra-d{margin-top:6px;font-size:13px;line-height:1.4;color:rgba(255,255,255,.84);max-width:28ch}
.cifra-ir{display:block;flex:none;width:11px;height:12px;background:var(--gold);clip-path:polygon(0 0,50% 0,100% 50%,50% 100%,0 100%,50% 50%);opacity:0;transform:translateX(-6px);transition:opacity .2s,transform .25s cubic-bezier(.16,1,.3,1)}
.cifra:hover,.cifra:focus-visible{background:var(--black)}
.cifra:hover .cifra-ir,.cifra:focus-visible .cifra-ir{opacity:1;transform:none}
.cifra:focus-visible{outline-offset:-3px}
@media(min-width:1000px){
  .cifras{grid-template-columns:minmax(0,1.2fr) repeat(4,minmax(0,1fr))}
  .cifras-placa{grid-column:auto;padding-right:clamp(16px,2vw,28px)}
}
@media(prefers-reduced-motion:reduce){.cifra,.cifra-ir{transition:none}}

/* botonera de letras: la última fila se estira, sin hueco gris al final */
.dir-anios a{flex:1 0 auto;text-align:center}

::selection{background:var(--gold);color:var(--black)}

/* ===== Páginas de texto (avisos legales) ===== */
.pagina{padding:clamp(34px,5vw,70px) 0 clamp(46px,6vw,90px)}
.pagina-texto{padding:0 var(--gut);max-width:calc(70ch + 2 * var(--gut));margin-top:clamp(20px,3vw,36px);font-size:16px;line-height:1.65;color:rgba(255,255,255,.88)}
.pagina-texto h2{font-weight:900;font-stretch:70%;text-transform:uppercase;font-size:clamp(22px,2.4vw,30px);line-height:1.05;color:#fff;margin:2em 0 .6em}
.pagina-texto h3,.pagina-texto h4{font-weight:800;font-size:17px;line-height:1.3;color:#fff;margin:1.6em 0 .5em}
.pagina-texto p,.pagina-texto ul,.pagina-texto ol{margin:0 0 1em}
.pagina-texto ul{list-style:disc;padding-left:1.2em}
.pagina-texto ol{list-style:decimal;padding-left:1.4em}
.pagina-texto li{margin:.35em 0}
.pagina-texto li::marker{color:var(--gold)}
.pagina-texto a{color:var(--gold);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.pagina-texto strong,.pagina-texto b{color:#fff}
.pagina-texto table{border-collapse:collapse;width:100%;margin:1em 0;font-size:14px}
.pagina-texto th,.pagina-texto td{border:1px solid var(--rule);padding:8px 10px;text-align:left;vertical-align:top}

/* aviso de privacidad de los vídeos del archivo */
.yt-aviso{padding:10px var(--gut) 0;font-size:12.5px;color:var(--grey);max-width:80ch}

/* selector de idioma (Polylang) */
.lang a{font-size:11px;font-weight:700;letter-spacing:.1em;padding:5px 8px;color:var(--grey2)}
.lang a:hover,.lang a:focus-visible{color:var(--white)}
.lang a[aria-current="true"]{background:var(--white);color:var(--black)}
