/* =========================================================
   SUMMIT 2026 · v3 — identidad visual del evento (ZIP de recursos)
   Tipografías: Italiana (display), Poppins (títulos y texto), Roboto (subtítulos).
   Fondo: azul con foco de luz. Acentos: dorado degradado. Foto: Bogotá.
   Piezas de referencia: tarjeta blanca "Save the date" y agenda con píldoras de hora.
   ========================================================= */

@font-face{font-family:'Poppins'; font-weight:300; font-style:normal; font-display:swap; src:url('../fonts/Poppins-Light.woff2') format('woff2');}
@font-face{font-family:'Poppins'; font-weight:300; font-style:italic; font-display:swap; src:url('../fonts/Poppins-LightItalic.woff2') format('woff2');}
@font-face{font-family:'Poppins'; font-weight:400; font-style:normal; font-display:swap; src:url('../fonts/Poppins-Regular.woff2') format('woff2');}
@font-face{font-family:'Poppins'; font-weight:500; font-style:normal; font-display:swap; src:url('../fonts/Poppins-Medium.woff2') format('woff2');}
@font-face{font-family:'Poppins'; font-weight:600; font-style:normal; font-display:swap; src:url('../fonts/Poppins-SemiBold.woff2') format('woff2');}
@font-face{font-family:'Poppins'; font-weight:700; font-style:normal; font-display:swap; src:url('../fonts/Poppins-Bold.woff2') format('woff2');}
@font-face{font-family:'Poppins'; font-weight:800; font-style:normal; font-display:swap; src:url('../fonts/Poppins-ExtraBold.woff2') format('woff2');}
@font-face{font-family:'Italiana'; font-weight:400; font-style:normal; font-display:swap; src:url('../fonts/Italiana-Regular.woff2') format('woff2');}
@font-face{font-family:'Roboto'; font-weight:300; font-style:normal; font-display:swap; src:url('../fonts/Roboto-Light.woff2') format('woff2');}
@font-face{font-family:'Roboto'; font-weight:400; font-style:normal; font-display:swap; src:url('../fonts/Roboto-Regular.woff2') format('woff2');}
@font-face{font-family:'Roboto'; font-weight:500; font-style:normal; font-display:swap; src:url('../fonts/Roboto-Medium.woff2') format('woff2');}

:root{
  --navy:#032058;        /* azul principal de la pieza */
  --navy-d:#010c3a;      /* azul profundo (degradados) */
  --ink:#03036d;         /* azul de los textos sobre blanco ("HORA:", "FECHA:") */
  --blue:#2b59a3;        /* azul de "THE DATE" */
  --gold-1:#c7a35a; --gold-2:#e7c778; --gold-3:#f9e8a6; --gold-dk:#9c7a2c;
  --gold:linear-gradient(100deg,#c4a057 0%,#f3dc98 42%,#dcbd70 68%,#b8953f 100%);
  --txt:#2a3166;
  --line:#d9deec;
  --head:'Poppins','Helvetica Neue',Arial,sans-serif;
  --disp:'Italiana','Times New Roman',serif;
  --sub:'Roboto','Helvetica Neue',Arial,sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth; font-size:16px; scroll-padding-top:6rem;}
/* Pantallas grandes (2K, 4K, 5K): todo escala desde 1920 px (limitado por la altura; nunca baja de 16 px) */
@media (min-width:1920px){ html{font-size:max(16px, calc(min(100vw, 177.78vh) / 120));} }

body{margin:0; background:#fff; color:var(--txt); overflow-x:hidden; font:300 1rem/1.75 var(--head); -webkit-font-smoothing:antialiased;}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
ul,ol{margin:0; padding:0; list-style:none;}
p,dl,dd,dt,figure{margin:0;}
h1,h2,h3,h4,h5{margin:0; font-family:var(--head);}
button{font:inherit; color:inherit;}
:focus-visible{outline:2px solid var(--gold-2); outline-offset:3px;}
.sr-only{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms !important; animation-delay:0s !important; transition-duration:.01ms !important;}
}

.wrap{width:100%; max-width:75rem; margin:0 auto; padding:0 2rem;}
.wrap.narrow{max-width:62rem;}
@media (max-width:640px){ .wrap{padding:0 1.25rem;} }

/* Secciones oscuras: azul con foco de luz (imagen de fondo del ZIP) */
.dark{position:relative; color:#fff; background:var(--navy) var(--bg-azul) center/cover no-repeat;}

/* Línea dorada de la pieza */
.gold-line{display:block; width:min(34rem,70%); height:.1875rem; margin:1.75rem auto; border-radius:2px; background:var(--gold); box-shadow:0 0 1.1rem rgba(231,199,120,.55);}
.gold-line.sm{width:5rem; height:.15rem; margin:1.25rem auto;}

/* Texto dorado degradado (con holgura para que no se corten las curvas) */
.gold-text{background:var(--gold); -webkit-background-clip:text; background-clip:text; color:transparent; padding:.1em .08em; margin:-.1em -.08em;}

/* ---------- Botones ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; cursor:pointer; padding:1rem 2.1rem;
  font:600 .8125rem/1 var(--head); letter-spacing:.1em; text-transform:uppercase; border:1px solid transparent; border-radius:.125rem;
  transition:transform .25s var(--ease), background-color .25s, color .25s, border-color .25s, box-shadow .25s;
}
.btn:hover{transform:translateY(-2px);}
.btn-gold{background:var(--gold); color:var(--navy-d); box-shadow:0 .75rem 1.75rem -1rem rgba(231,199,120,.95);}
.btn-gold:hover{box-shadow:0 1rem 2rem -1rem rgba(231,199,120,1); filter:brightness(1.06);}
.btn-line{border-color:rgba(231,199,120,.75); color:#fff; background:rgba(255,255,255,.04);}
.btn-line:hover{background:var(--gold); color:var(--navy-d); border-color:transparent;}

/* ---------- Cabecera ---------- */
.site-head{position:fixed; inset:0 0 auto 0; z-index:200; transition:background-color .35s var(--ease), box-shadow .35s var(--ease);}
.site-head::before{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(1,12,58,.78),rgba(1,12,58,0)); pointer-events:none; transition:opacity .35s;}
.site-head.solid,.site-head.navy{background:rgba(3,32,88,.97); box-shadow:0 .75rem 2rem -1.25rem rgba(0,0,0,.8); border-bottom:1px solid rgba(231,199,120,.35);}
.site-head.solid::before,.site-head.navy::before{opacity:0;}
.bar{position:relative; max-width:75rem; margin:0 auto; padding:1.15rem 2rem; display:flex; align-items:center; gap:2rem;}
.brand img{width:12.9rem; height:auto; aspect-ratio:773.52/178.04;}
.nav{margin-left:auto; display:flex; align-items:center; gap:2.4rem;}
.nav a{position:relative; padding:.5rem 0; font:500 .875rem/1 var(--head); letter-spacing:.14em; text-transform:uppercase; color:#fff; transition:color .2s;}
.nav a::after{content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--gold); transition:width .3s var(--ease);}
.nav a:hover,.nav a.on{color:var(--gold-2);}
.nav a:hover::after,.nav a.on::after{width:100%;}
.reg-btn{flex-shrink:0; white-space:nowrap;}
.burger{display:none; background:none; border:0; padding:.5rem; cursor:pointer;}
.burger span{display:block; width:1.75rem; height:2px; background:#fff; margin:.3rem 0; transition:.25s;}
.site-head.menu-open .burger span:nth-child(1){transform:translateY(.55rem) rotate(45deg);}
.site-head.menu-open .burger span:nth-child(2){opacity:0;}
.site-head.menu-open .burger span:nth-child(3){transform:translateY(-.55rem) rotate(-45deg);}
@media (max-width:1000px){
  .bar{padding:.9rem 1.25rem; gap:.75rem;}
  .brand img{width:clamp(8.25rem,36vw,10.5rem);}
  .reg-btn{margin-left:auto; padding:.8rem 1.15rem;}
  .burger{display:block;}
  .nav{
    position:fixed; top:4.4rem; left:0; right:0; margin:0; flex-direction:column; align-items:flex-start; gap:0;
    background:rgba(3,32,88,.98); padding:.5rem 1.25rem 1.5rem; border-bottom:1px solid rgba(231,199,120,.4);
    box-shadow:0 1.5rem 2rem -1.5rem rgba(0,0,0,.7);
    transform:translateY(-130%); visibility:hidden; transition:transform .35s var(--ease), visibility 0s .35s;
  }
  .nav.open{transform:none; visibility:visible; transition:transform .35s var(--ease);}
  .nav a{width:100%; padding:1.1rem 0; font-size:1rem; border-bottom:1px solid rgba(255,255,255,.1);}
  .nav a::after{display:none;}
}

/* =========================================================
   HERO: foto de Bogotá + azul con foco de luz + Summit en dorado
   ========================================================= */
.hero{
  position:relative; isolation:isolate; text-align:center; color:#fff;
  background:var(--navy) var(--bg-azul) center/cover no-repeat;
  z-index:3; min-height:min(88svh,52rem); display:flex; flex-direction:column; justify-content:center;
  padding:7.5rem 0 10rem;
}
.hero-photo{
  position:absolute; inset:0 0 auto 0; height:78%; z-index:-2; overflow:hidden;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 52%,transparent 100%); mask-image:linear-gradient(180deg,#000 0%,#000 52%,transparent 100%);
}
.hero-photo img{width:100%; height:100%; object-fit:cover; object-position:50% 38%;}
.hero-photo::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(1,12,58,.66) 0%, rgba(3,32,88,.28) 24%, rgba(3,32,88,.62) 62%, rgba(3,32,88,.78) 100%);
}
.hero-inner{display:flex; flex-direction:column; align-items:center; margin-top:auto; margin-bottom:auto;}
.summit-h1{margin:0;}
.summit-logo{width:clamp(19rem,50vw,43rem); height:auto; margin:0 auto; filter:drop-shadow(0 .5rem 1.5rem rgba(1,12,58,.7));}
.hero-p{max-width:40rem; font:300 1.0625rem/1.75 var(--head); color:rgba(255,255,255,.92);}
.cta-row{display:flex; flex-wrap:wrap; justify-content:center; gap:1rem; margin-top:2rem;}

/* Tarjeta "Save the date": datos a la izquierda · línea azul · cuenta regresiva a la derecha */
.sd-wrap{position:absolute; left:0; right:0; bottom:0; transform:translateY(50%); z-index:5;}
.sd{max-width:55rem; margin:0 auto; background:#fff; padding:2.25rem; box-shadow:0 2rem 4rem -1.5rem rgba(0,0,16,.7); text-align:center;}
.sd > .sd-title{margin-bottom:1.25rem;}
.sd-title{font:400 clamp(1.625rem,2.7vw,2.375rem)/1.1 var(--disp); text-transform:uppercase; color:var(--blue);}
.sd-title .b{font:700 .95em/1 var(--head); letter-spacing:.005em; color:var(--blue);}
.sd-body{display:grid; grid-template-columns:minmax(0,.8fr) auto minmax(0,1.3fr); align-items:center; gap:0 2rem;}
.sd-side{min-width:0;}
.sd-side .sd-title{margin-bottom:1.1rem;}
.sd-body.solo{grid-template-columns:1fr;}
.sd-info .it{padding:.8rem 0; border-top:1px solid #d6dcec;}
.sd-info .it:first-child{border-top:0; padding-top:.2rem;}
.sd-info .it:last-child{padding-bottom:.2rem;}
.sd-info dt{font:700 clamp(1.0625rem,1.55vw,1.3125rem)/1.15 var(--head); text-transform:uppercase; color:var(--ink);}
.sd-info dd{margin-top:.25rem; font:400 clamp(.8125rem,1.1vw,.9375rem)/1.4 var(--head); text-transform:uppercase; color:var(--ink);}
.sd-info dd small{display:block; margin-top:.15rem; font:400 .75rem/1.35 var(--sub); text-transform:none; color:#59619a;}
.sd-info dd.venue small{font:400 clamp(.8125rem,1.1vw,.9375rem)/1.4 var(--head); text-transform:uppercase; color:var(--ink); margin-top:0;}
.sd-body.solo .sd-info{display:grid; grid-template-columns:repeat(3,minmax(0,1fr));}
.sd-body.solo .sd-info .it{border-top:0; border-left:2px solid var(--blue); padding:.2rem 1.25rem;}
.sd-body.solo .sd-info .it:first-child{border-left:0;}
.sd-rule{align-self:stretch; width:2px; background:var(--blue);}

/* Cuenta regresiva: fichas azules con foco de luz, números dorados y borde dorado */
.sd-count{min-width:0;}
.cd-title{margin-bottom:.8rem; font:500 .8125rem/1 var(--sub); letter-spacing:.38em; text-transform:uppercase; color:var(--gold-dk);}
.cd-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.1rem;}
.cd-grid[hidden],.cd-done[hidden]{display:none;}
.cd-u{
  position:relative; padding:1.1rem .25rem .9rem; color:#fff; overflow:visible;
  border-radius:.125rem;
  background:
    radial-gradient(circle at 50% 0%, rgba(43,89,163,.85) 0%, rgba(43,89,163,0) 70%),
    linear-gradient(170deg,#06246a,#010c3a);
  box-shadow:0 1.1rem 2rem -1.1rem rgba(1,12,58,.85);
}
.cd-u:not(:last-child)::after{content:":"; position:absolute; top:34%; right:-.82rem; width:.5rem; transform:translateX(50%); font:600 1.5rem/1 var(--head); color:var(--gold-dk); text-align:center;}
.cd-u b{
  display:block; font:600 clamp(1.875rem,4.1vw,3.375rem)/1 var(--head); letter-spacing:-.03em; font-variant-numeric:tabular-nums;
  background:var(--gold); -webkit-background-clip:text; background-clip:text; color:transparent; padding:.08em .06em .04em; margin:0 -.06em;
  filter:drop-shadow(0 0 .7rem rgba(231,199,120,.38));
}
.cd-u span{display:block; margin-top:.55rem; font:500 .625rem/1 var(--sub); letter-spacing:.28em; text-transform:uppercase; color:rgba(255,255,255,.88);}
.cd-sec{box-shadow:0 1.1rem 2rem -1.1rem rgba(1,12,58,.85), 0 0 1.4rem rgba(231,199,120,.35);}
.cd-sec b.tick{animation:cd-tick .45s var(--ease);}
@keyframes cd-tick{0%{transform:translateY(.12em); opacity:.35;} 100%{transform:none; opacity:1;}}
.cd-done{font:600 clamp(1.25rem,2.2vw,1.75rem)/1.25 var(--head); color:var(--ink);}

@media (max-width:900px){
  .hero{padding:7rem 0 0; min-height:0;}
  .sd-wrap{position:relative; bottom:auto; transform:none; margin:2.5rem 0 -9rem;}
  .sd{max-width:34rem; padding:1.5rem 1.25rem 1.75rem;}
  .sd-body{grid-template-columns:1fr; gap:1.1rem 0;}
  .sd-side{display:contents;}
  .sd-side .sd-title{order:0; margin-bottom:0;}
  .sd-info{order:1;}
  .sd-rule{order:2; width:100%; height:2px; align-self:auto;}
  .sd-count{order:3;}
  .sd-rule{width:100%; height:2px; align-self:auto;}
  .sd-body.solo .sd-info{grid-template-columns:1fr;}
  .sd-body.solo .sd-info .it{border-left:0; border-top:1px solid #d6dcec; padding:.8rem 0;}
  .sd-body.solo .sd-info .it:first-child{border-top:0;}
  .cd-grid{gap:.9rem;}
  .cd-u:not(:last-child)::after{right:-.68rem;}
  .cd-u b{font-size:clamp(2rem,9vw,3rem);}
}
@media (max-width:420px){
  .cd-grid{gap:.7rem;}
  .cd-u{padding:.9rem .1rem .75rem;}
  .cd-u:not(:last-child)::after{display:none;}
  .cd-u span{letter-spacing:.16em;}
}
@media (max-width:480px){ .cta-row .btn{width:100%;} .hero-p{font-size:1rem;} }

/* ---------- Títulos de sección ---------- */
.head{text-align:center; margin-bottom:2.75rem;}
.head h2{font:800 clamp(1.75rem,3.4vw,2.875rem)/1.1 var(--head); text-transform:uppercase; letter-spacing:-.005em; color:var(--ink);}
.head p{max-width:44rem; margin:0 auto; font:300 1rem/1.7 var(--head); color:var(--txt);}
.head .gold-line.sm{margin-top:1.1rem; margin-bottom:1.1rem;}
.head.light h2{color:#fff;}
.head.light p{color:rgba(255,255,255,.88);}

/* ---------- El Summit ---------- */
.intro{position:relative; padding:12.5rem 0 5rem; background:#fff; overflow:hidden;}
.intro-grid{display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:5rem; align-items:center;}
.card20{
  position:relative; overflow:hidden; isolation:isolate; color:#fff; min-height:clamp(24rem,33vw,31rem);
  padding:clamp(1.75rem,3vw,2.5rem); display:flex; flex-direction:column; justify-content:space-between;
  border-radius:.125rem;
  background:var(--bg-azul) center/cover;
  box-shadow:0 2.125rem 4.375rem -1.75rem rgba(1,12,58,.7);
}
.n20-box{margin-top:clamp(1.5rem,3.6vw,3.25rem);}
.n20{display:block; font:600 clamp(8rem,15vw,14rem)/.85 var(--head); letter-spacing:-.05em; background:var(--gold); -webkit-background-clip:text; background-clip:text; color:transparent; padding:.06em .12em .04em 0; filter:drop-shadow(0 0 1.25rem rgba(231,199,120,.35));}
.yrs{display:block; margin-top:.35rem; font:300 clamp(1.75rem,3.2vw,2.75rem)/1 var(--head); letter-spacing:.03em; color:#fff;}
.card20 .cap{position:relative; margin-top:1.75rem; padding-top:1.25rem; border-top:1px solid rgba(231,199,120,.4); font:300 clamp(1.125rem,1.6vw,1.4rem)/1.35 var(--head); color:#fff; text-wrap:balance;}
.card20 .cap::before{content:""; position:absolute; left:0; top:-1px; width:3rem; height:.1875rem; background:var(--gold);}

.eyebrow{margin-bottom:1.1rem; font:500 .75rem/1 var(--sub); letter-spacing:.32em; text-transform:uppercase; color:var(--gold-dk);}
.lead{max-width:41rem; margin-bottom:1.5rem; font:300 clamp(1.125rem,1.9vw,1.6875rem)/1.5 var(--head); color:var(--ink);}
.lead b,.lead strong,.intro-body b,.intro-body strong{font-weight:600;}
.intro-body{max-width:38rem;}
.intro-body p{margin:0 0 1rem; font:300 1rem/1.85 var(--head); color:var(--txt);}

@media (max-width:1000px){
  .intro{padding:11.5rem 0 3.5rem;}
  .intro-grid{grid-template-columns:1fr; gap:3rem;}
  .card20{min-height:19rem;}
  .n20{font-size:clamp(8rem,38vw,13rem);}
}

/* ---------- Ejes (azul, tarjetas blancas como "Save the date") ---------- */
.ejes{padding:5.5rem 0 6.5rem;}
.ejes .head p{max-width:none;}
@media (min-width:760px){ .ejes .head p{white-space:nowrap; font-size:clamp(.78rem,1.65vw,1rem);} }
.cards{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.75rem; max-width:69rem; margin:0 auto;}
.card{background:#fff; box-shadow:0 2rem 3rem -2rem rgba(0,0,16,.75); display:flex; flex-direction:column; color:var(--txt);}
@supports (grid-template-rows: subgrid){ .card{display:grid; grid-row:span 4; grid-template-rows:subgrid; row-gap:0;} }
.card figure{position:relative;}
.card img{width:100%; height:auto; aspect-ratio:5/1; object-fit:cover;}
.num{
  position:absolute; left:1.75rem; bottom:-2.6rem; z-index:1; width:5.25rem; height:5.25rem; display:flex; align-items:center; justify-content:center;
  background:var(--gold); color:var(--navy-d); font:700 2.5rem/1 var(--head);
  box-shadow:0 .9rem 1.5rem -.6rem rgba(0,0,16,.6);
}
.card h3{padding:4rem 1.75rem 0; font:700 1.625rem/1.2 var(--head); color:var(--ink);}
.card .q{margin:1rem 1.75rem 0; padding-left:.9rem; border-left:.1875rem solid var(--gold-1); font:italic 300 1.0625rem/1.45 var(--head); color:var(--blue); align-self:start;}
.card .d{padding:1rem 1.75rem 2rem; font:300 .9375rem/1.7 var(--head);}
@media (max-width:900px){
  .ejes{padding:4rem 0 4.5rem;}
  .cards{grid-template-columns:1fr; max-width:28rem;}
  .card{display:flex; grid-row:auto;}
}

/* ---------- Agenda (blanca, píldoras de hora; pieza de referencia) ---------- */
.agenda{padding:5.5rem 0 6rem; background:#fff;}
.agenda .head{margin-bottom:2rem;}
.agenda .head h2{font-size:clamp(2.25rem,4.4vw,3.5rem); letter-spacing:.01em;}
.agenda .date{margin-top:.25rem; font:400 clamp(1.125rem,1.8vw,1.5rem)/1.3 var(--head); color:#111;}
.tools{display:flex; justify-content:center; align-items:center; gap:1.5rem; flex-wrap:wrap; margin-bottom:2rem;}
.chips{display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center;}
.chips button{
  font:600 .75rem/1 var(--head); letter-spacing:.08em; text-transform:uppercase; color:var(--ink);
  background:#fff; border:1px solid #c3c9de; padding:.85rem 1.25rem; cursor:pointer; border-radius:999px; transition:.2s var(--ease);
}
.chips button:hover{border-color:var(--ink);}
.chips button[aria-pressed="true"]{background:var(--ink); border-color:var(--ink); color:#fff;}
.link-btn{background:none; border:0; padding:.25rem 0; cursor:pointer; font:600 .8125rem var(--head); color:var(--gold-dk); border-bottom:2px solid currentColor;}
.link-btn:hover{color:var(--ink);}

.block[hidden]{display:none;}
.slot{position:relative; border-top:1px solid #9aa0b8;}
.block:last-of-type .slot:last-child{border-bottom:1px solid #9aa0b8;}
.slot.open{background:linear-gradient(90deg,rgba(231,199,120,.16),rgba(231,199,120,0) 90%);}
.slot-h{margin:0; font:inherit;}
.slot-row{display:grid; grid-template-columns:11.5rem minmax(0,1fr) 2.75rem; gap:0 1.75rem; align-items:start; width:100%; padding:1.5rem 0; text-align:left; background:none; border:0;}
.session > .slot-row{cursor:pointer; position:relative;}
.session > .slot-row::before{content:""; position:absolute; left:-1.25rem; top:1.25rem; bottom:1.25rem; width:.25rem; background:var(--gold); transform:scaleY(0); transition:transform .35s var(--ease);}
.slot.open > .slot-row::before,.session > .slot-row:hover::before{transform:scaleY(1);}
.tpill{display:inline-block; padding:.5rem 1.15rem; border-radius:999px; background:#02024f; color:#fff; font:600 .9375rem/1.2 var(--head); white-space:nowrap;}
.slot .main{display:block; min-width:0;}
.s-toggle{display:block; width:100%; margin:0; padding:0; background:none; border:0; text-align:left; font:inherit; color:inherit; cursor:pointer;}
.s-title{display:block; font:400 clamp(1rem,1.45vw,1.1875rem)/1.4 var(--head); color:var(--ink); max-width:50ch;}
.s-title b{display:block; font-weight:700;}
.s-sub{display:block;}
.mod{display:flex; align-items:flex-start; gap:.9rem; margin-top:1.1rem; color:var(--ink);}
.mod svg{width:1.6rem; height:1.6rem; flex-shrink:0; margin-top:.15rem; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;}
.mod-t{display:block;}
.mod-t em{display:block; font:700 .8125rem/1.3 var(--head); font-style:normal; letter-spacing:.06em; text-transform:uppercase;}
.mod-t strong{display:block; font:600 1rem/1.4 var(--head);}
.person{color:inherit; text-decoration:underline; text-decoration-color:var(--gold-1); text-decoration-thickness:.13em; text-underline-offset:.22em; transition:color .2s, text-decoration-color .2s;}
.person:hover,.person:focus-visible{color:var(--gold-dk); text-decoration-color:var(--gold-dk);}
.people a.li{display:inline-flex; vertical-align:-.2em; margin-left:.35rem; width:1.2rem; height:1.2rem; color:#0a66c2; transition:color .2s, transform .2s;}
.people a.li svg{width:100%; height:100%; fill:currentColor;}
.people a.li:hover,.people a.li:focus-visible{color:var(--ink); transform:translateY(-1px);}
.mod-t small{display:block; font:400 .9375rem/1.4 var(--head);}
.open-by{margin-top:.75rem;}
.chev{width:2.75rem; height:2.75rem; border:1px solid #c3c9de; border-radius:50%; display:flex; align-items:center; justify-content:center; transition:.3s var(--ease);}
.chev::before{content:""; width:.55rem; height:.55rem; margin-top:-.25rem; border-right:2px solid var(--ink); border-bottom:2px solid var(--ink); transform:rotate(45deg); transition:transform .3s var(--ease), border-color .3s;}
.session > .slot-row:hover .chev{border-color:var(--ink);}
.slot.open .chev{background:var(--gold); border-color:transparent;}
.slot.open .chev::before{transform:rotate(-135deg); margin-top:.25rem; border-color:var(--navy-d);}

.slot-body{display:grid; grid-template-rows:0fr; visibility:hidden; transition:grid-template-rows .45s var(--ease), visibility 0s .45s;}
.slot.open .slot-body{grid-template-rows:1fr; visibility:visible; transition:grid-template-rows .45s var(--ease);}
.slot-body > div{overflow:hidden; min-height:0;}
.detail{margin:0 4.5rem 0 13.25rem; padding:.25rem 0 2rem; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:.875rem 2.75rem; align-items:start;}
.detail .sum{font:300 .9375rem/1.85 var(--head); max-width:58ch;}
.detail.no-sum{grid-template-columns:minmax(0,34rem);}
.detail.no-people{grid-template-columns:minmax(0,52rem);}
.detail h5{margin:0 0 .6rem; font:700 .8125rem/1.3 var(--head); letter-spacing:.06em; text-transform:uppercase; color:var(--ink);}
.people li{padding:.65rem 0; border-top:1px solid var(--line); font:600 .9375rem/1.4 var(--head); color:var(--ink);}
.people li:last-child{border-bottom:1px solid var(--line);}
.people b{display:block; font-weight:600;}
.people span{display:block; font:400 .875rem/1.4 var(--head); color:var(--txt);}
.people li.pending{font:italic 300 .875rem var(--head); color:#6a719e;}

.moment .slot-row{padding:1.15rem 0; cursor:default;}
.moment h4{font:700 clamp(1rem,1.45vw,1.1875rem)/1.4 var(--head); color:var(--ink);}
.moment p{margin-top:.3rem; font:300 .9375rem/1.6 var(--head); max-width:58ch;}
.moment .mark{width:2.75rem; height:2.75rem; display:flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(231,199,120,.28);}
.moment .mark svg{width:1.25rem; height:1.25rem; stroke:var(--gold-dk); fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;}
.moment.break{background:rgba(231,199,120,.16); margin:0 -1.25rem; padding:0 1.25rem;}
.no-js .slot-body{grid-template-rows:1fr; visibility:visible;}
.no-js .chev{display:none;}
@media (max-width:900px){
  .agenda{padding:4rem 0;}
  .slot-row{grid-template-columns:minmax(0,1fr) 2.75rem; gap:.75rem 1rem; padding:1.35rem 0;}
  .slot .when{grid-column:1/-1;}
  .chev{grid-column:2; grid-row:2;}
  .slot-row > .main{grid-column:1; grid-row:2;}
  .moment .mark{grid-column:2; grid-row:2;}
  .session > .slot-row::before{left:-1.25rem;}
  .detail{margin:0; grid-template-columns:1fr; gap:1.5rem;}
  .moment.break{margin:0 -1rem; padding:0 1rem;}
}
@media (max-width:640px){ .session > .slot-row::before{display:none;} .chips{width:100%;} .chips button{flex:1; padding:.85rem .4rem;} }

/* ---------- Pie ---------- */
.site-foot{position:relative; border-top:.1875rem solid transparent; border-image:var(--gold) 1;}
.foot-grid{display:grid; grid-template-columns:1.3fr .8fr 1.7fr; gap:3rem; padding-top:4.5rem; padding-bottom:4rem;}
.foot-brand img{width:12.5rem; height:auto; aspect-ratio:773.52/178.04; margin-bottom:1.5rem;}
.foot-brand p{font:300 .9375rem/1.9 var(--head); max-width:21rem; color:rgba(255,255,255,.9);}
.foot-brand .mail{margin-top:1.5rem; line-height:1.8;}
.foot-brand .mail b{font-weight:600;}
.foot-brand a:hover,.site-foot li a:hover,.foot-base a:hover{color:var(--gold-2);}
.site-foot h4{font:600 1rem/1 var(--head); color:var(--gold-2); margin-bottom:1.6rem;}
.site-foot li{margin-bottom:.9rem;}
.site-foot li a{font:300 .9375rem var(--head); transition:color .2s;}
.foot-contact .two{display:grid; grid-template-columns:1fr 1fr; gap:2rem;}
.site-foot address{font:300 .9375rem/2.2 var(--head); font-style:normal; color:rgba(255,255,255,.92);}
.foot-base{border-top:1px solid rgba(231,199,120,.28);}
.foot-base .wrap{display:flex; justify-content:space-between; align-items:center; gap:1rem; padding-top:1.25rem; padding-bottom:1.25rem; font:300 .875rem var(--head); color:rgba(255,255,255,.7);}
.foot-base .in{width:2.75rem; height:2.75rem; border-radius:50%; border:1px solid rgba(231,199,120,.6); display:flex; align-items:center; justify-content:center; transition:background .25s;}
.foot-base .in:hover{background:rgba(231,199,120,.18);}
.foot-base .in svg{width:1.1rem; height:1.1rem; fill:var(--gold-2);}
@media (max-width:900px){
  .foot-grid{grid-template-columns:1fr 1fr; padding-top:3rem;}
  .foot-brand,.foot-contact{grid-column:1/-1;}
  .foot-base .wrap{flex-direction:column; align-items:flex-start; gap:.6rem;}
}
@media (max-width:540px){ .foot-grid{grid-template-columns:1fr;} .foot-contact .two{grid-template-columns:1fr;} }

/* =========================================================
   Ajustes de WordPress y Elementor
   ========================================================= */
:root{--bg-azul:url('../media/bg-azul.webp');}

/* Cabecera fija con la barra de administración visible */
.admin-bar .site-head{top:32px;}
@media (max-width:782px){ .admin-bar .site-head{top:46px;} }
@media (max-width:600px){ .admin-bar .site-head{top:0;} }

/* Elementor: las secciones que contienen widgets del Summit ocupan todo el ancho, sin márgenes añadidos */
.summit-page .elementor-section:has([class*="elementor-widget-summit_"]),
.summit-page .elementor-section:has([class*="elementor-widget-summit_"]) > .elementor-container,
.summit-page .elementor-section:has([class*="elementor-widget-summit_"]) .elementor-widget-wrap,
.summit-page .elementor-section:has([class*="elementor-widget-summit_"]) .elementor-element-populated{padding:0 !important; margin:0; max-width:none;}
.summit-page [class*="elementor-widget-summit_"]{margin-bottom:0 !important; position:relative;}
.summit-page [class*="elementor-widget-summit_"] > .elementor-widget-container{padding:0;}
.summit-page .elementor-widget-summit_hero{z-index:3;}
body.elementor-editor-active .site-head{position:absolute;}

/* Plantilla genérica (páginas que no son el Summit) */
.generic{padding:9rem 0 5rem; min-height:60vh;}
.generic-wrap{max-width:52rem;}
.generic h1{font:800 clamp(1.75rem,3.4vw,2.5rem)/1.15 var(--head); color:var(--ink); text-transform:uppercase; margin-bottom:1.5rem;}
.generic .entry{font:300 1rem/1.8 var(--head); color:var(--txt);}
.generic .entry a{color:var(--ink); text-decoration:underline;}
.brand-text{font:600 1rem var(--head); color:#fff;}
.summit-extra{padding:3rem 2rem;}

/* PC: los textos de «Sobre el Summit» se reparten en líneas de longitud parecida */
@media (min-width:1001px){
  .intro .lead,.intro .intro-body p{text-wrap:balance;}
}

/* Botones del hero: solo en celular (se ocultan desde 768 px: tableta y PC), salvo que el widget diga «Todas las pantallas» */
@media (min-width:768px){
  .cta-row.cta-mobile{display:none;}
}
/* PC: sin los botones, la altura del hero la da su contenido y la tarjeta «Save the date» mantiene su separación */
@media (min-width:901px){
  .hero{min-height:0; padding-bottom:13.5rem;}
}

/* Celular: el botón Registro de la cabecera se oculta (el hero ya tiene el suyo); en tableta y PC se mantiene */
@media (max-width:767px){
  .reg-btn{display:none;}
  .burger{margin-left:auto;}
}
