/* Dojo Sambrailo Show — front (la vidriera del show)
   Estilo "Escudo del Dojo": los verdes del escudo, serif retro (Fraunces),
   marcos ovalados, estrellas, olas seigaiha y el dragón como sello de agua. */
:root{
  --crema:#F0F7EE; --crema2:#F7FBF6; --salvia:#87BBA2; --salvia2:#DCEBE1; --salvia3:#CFE3D7;
  --jade:#4E8A70; --bosque:#1F3D32; --bosque2:#2C5546; --blanco:#fff;
  --tx:var(--bosque); --tx2:#3F5E52; --tx3:#5F7D70;
  --acc:var(--jade);
  --ok:#2F7A4F; --bad:#A63A2B; --warn:#8A6A12;
  --disp:'Fraunces',Georgia,serif; --font:'Work Sans',system-ui,sans-serif;
  --r:28px;
  --dragon:url(img/dragon.png);
  --seigaiha:radial-gradient(circle at 100% 150%,var(--crema) 24%,#D9EADF 25%,#D9EADF 28%,var(--crema) 29%,var(--crema) 36%,#D9EADF 36%,#D9EADF 40%,transparent 40%,transparent),radial-gradient(circle at 0 150%,var(--crema) 24%,#D9EADF 25%,#D9EADF 28%,var(--crema) 29%,var(--crema) 36%,#D9EADF 36%,#D9EADF 40%,transparent 40%,transparent),radial-gradient(circle at 50% 100%,#D9EADF 10%,var(--crema) 11%,var(--crema) 23%,#D9EADF 24%,#D9EADF 30%,var(--crema) 31%,var(--crema) 43%,#D9EADF 44%,#D9EADF 50%,var(--crema) 51%,var(--crema) 63%,#D9EADF 64%,#D9EADF 71%,transparent 71%,transparent),radial-gradient(circle at 100% 50%,#D9EADF 5%,var(--crema) 6%,var(--crema) 15%,#D9EADF 16%,#D9EADF 20%,var(--crema) 21%,var(--crema) 30%,#D9EADF 31%,#D9EADF 35%,var(--crema) 36%,var(--crema) 45%,#D9EADF 46%,#D9EADF 49%,transparent 50%,transparent),radial-gradient(circle at 0 50%,#D9EADF 5%,var(--crema) 6%,var(--crema) 15%,#D9EADF 16%,#D9EADF 20%,var(--crema) 21%,var(--crema) 30%,#D9EADF 31%,#D9EADF 35%,var(--crema) 36%,var(--crema) 45%,#D9EADF 46%,#D9EADF 49%,transparent 50%,transparent);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
html,body{margin:0;background:var(--crema);color:var(--tx);font-family:var(--font);font-size:17px;line-height:1.55}
img{max-width:100%;display:block}
a{color:var(--bosque)}
::selection{background:var(--salvia);color:var(--bosque)}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.muted{color:var(--tx2)}.tiny{font-size:14px;color:var(--tx3)}
:focus-visible{outline:3px solid var(--jade);outline-offset:3px}

/* Piezas de marca */
.dragon{display:block;background:var(--salvia);-webkit-mask:var(--dragon) center/contain no-repeat;mask:var(--dragon) center/contain no-repeat;pointer-events:none}
.seigaiha{background-color:var(--crema);background-image:var(--seigaiha);background-size:80px 40px}
.banda{height:56px;border-top:2px solid var(--salvia);border-bottom:2px solid var(--salvia)}

/* Barra superior */
.nav{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 32px;background:var(--crema);border-bottom:2px solid var(--salvia);transition:box-shadow .25s}
.nav.solid{box-shadow:0 10px 30px -18px rgba(31,61,50,.45)}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--bosque);font-family:var(--disp);font-weight:900;font-size:21px;letter-spacing:1px;text-transform:uppercase;line-height:1}
.brand img{height:54px;width:auto;flex:none}
.nav .links{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.nav .links a{color:var(--bosque);text-decoration:none;font-weight:600;font-size:15px;padding:10px 14px;border-radius:999px}
.nav .links a:hover{background:var(--salvia2)}
.nav .links a.cta{background:var(--bosque);color:var(--crema);padding:12px 22px;font-weight:700}
.nav .links a.cta:hover{background:var(--bosque2)}
@media(max-width:760px){.nav{padding:10px 16px}.nav .links a:not(.cta){display:none}.brand{font-size:17px;gap:9px}.brand img{height:44px}}
@media(max-width:380px){.brand span{display:none}}

/* Botones */
.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;background:var(--bosque);color:var(--crema);border:2px solid var(--bosque);border-radius:999px;padding:16px 30px;font:inherit;font-weight:700;font-size:17px;cursor:pointer;text-decoration:none;transition:background .15s,transform .15s;line-height:1.2;text-align:center}
.btn:hover{background:var(--bosque2);border-color:var(--bosque2);transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--bosque)}
.btn.ghost:hover{background:var(--salvia2);border-color:var(--bosque)}
.btn.claro{background:var(--crema);color:var(--bosque);border-color:var(--crema)}
.btn.claro:hover{background:var(--salvia2);border-color:var(--salvia2)}
.btn.ghost.claro{background:transparent;color:var(--crema);border-color:var(--crema)}
.btn.ghost.claro:hover{background:rgba(240,247,238,.12)}
.btn.full{width:100%}
.btn.sec{background:transparent;color:var(--bosque)}
.btn[disabled],.btn.off{background:var(--salvia3);border-color:var(--salvia3);color:var(--tx3);cursor:default;transform:none}

/* Etiquetas */
.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border:2px solid var(--bosque);border-radius:999px;font-weight:700;font-size:13px;letter-spacing:2px;text-transform:uppercase;line-height:1.3}
.pill.lleno{background:var(--bosque);color:var(--crema)}
.pill.claro{background:var(--crema);color:var(--bosque);border-color:var(--crema)}
.pill.salvia{border-color:var(--salvia);color:var(--salvia)}
.cinta-rol{display:inline-block;padding:6px 16px;background:var(--bosque);color:var(--crema);font-weight:700;font-size:13px;letter-spacing:2px;text-transform:uppercase;border-radius:4px}
.kicker{color:var(--acc);font-weight:700;letter-spacing:3px;text-transform:uppercase;font-size:14px;margin-bottom:12px}
.kicker:before{content:'★ '}.kicker:after{content:' ★'}
h2.t{font-family:var(--disp);font-weight:900;font-size:clamp(42px,5vw,72px);line-height:1;letter-spacing:-.5px;margin:0 0 40px;text-wrap:balance}
.centro{text-align:center}
.centro .kicker,.centro h2.t{margin-left:auto;margin-right:auto}

/* HERO */
.hero{position:relative;overflow:hidden;padding:72px 0 88px;isolation:isolate}
.hero > .dragon{position:absolute;z-index:-1;right:-40px;top:-30px;width:520px;height:760px;background:var(--salvia3);opacity:.75}
.hero-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:56px;align-items:center}
.hero-in.solo{grid-template-columns:minmax(0,1fr)}
.hero h1{font-family:var(--disp);font-weight:900;font-size:clamp(52px,8vw,112px);line-height:.94;letter-spacing:-1px;margin:26px 0 18px;text-wrap:balance}
.hero .frase{font-size:clamp(19px,2.2vw,22px);line-height:1.45;max-width:580px;margin:0 0 28px}
.hero .meta{display:flex;flex-wrap:wrap;gap:16px 30px;margin-bottom:32px}
.hero .meta div{font-weight:700}
.hero .meta small{display:block;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--acc);margin-bottom:4px}
.hero .acts{display:flex;gap:14px;flex-wrap:wrap}
.count{display:flex;gap:12px;margin:36px 0 0}
.count div{width:84px;padding:12px 0;border:2px solid var(--salvia);border-radius:18px;text-align:center;background:var(--crema2)}
.count b{display:block;font-family:var(--disp);font-weight:900;font-size:34px;line-height:1;font-variant-numeric:tabular-nums}
.count span{font-size:11px;letter-spacing:1.5px;text-transform:uppercase}
/* Marco ovalado del escudo, con cinta */
.marco{position:relative;width:min(100%,400px);aspect-ratio:400/540;margin:0 auto;border-radius:50%;background:var(--salvia);padding:22px}
.marco .in{width:100%;height:100%;border-radius:50%;overflow:hidden;background:var(--crema) center/cover no-repeat;display:flex;align-items:center;justify-content:center}
.marco .in img{width:100%;height:100%;object-fit:cover}
.marco .in .dragon{width:52%;height:56%}
.marco .in.escudo{background:var(--salvia2)}
.marco .in.escudo img{width:70%;height:auto;object-fit:contain}
.cinta{position:absolute;left:-22px;right:-22px;top:46%;padding:12px 10px;background:var(--bosque);color:var(--crema);text-align:center;font-family:var(--disp);font-weight:800;font-size:22px;transform:rotate(-4deg);border-radius:6px;box-shadow:0 12px 24px -14px rgba(31,61,50,.7)}
.marco.flyer{aspect-ratio:auto;border-radius:34px;padding:16px}
.marco.flyer .in{border-radius:22px;height:auto}
.marco.flyer .in img{height:auto}
.marco.flyer .cinta{top:auto;bottom:-18px}
@media(max-width:900px){.hero{padding:44px 0 64px}.hero-in{grid-template-columns:1fr;gap:44px}.hero > .dragon{width:340px;height:500px;right:-90px}.marco{width:min(100%,320px)}.count div{flex:1;width:auto}}

/* Secciones */
section.s{padding:96px 0;position:relative}
@media(max-width:700px){section.s{padding:68px 0}}
.dos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
@media(max-width:860px){.dos{grid-template-columns:1fr;gap:32px}}
.desc{font-size:19px;line-height:1.6;white-space:pre-line}
.lista-est{list-style:none;margin:0;padding:0;display:grid;gap:12px;font-size:18px}
.lista-est li{display:flex;gap:12px}.lista-est li:before{content:'★';color:var(--acc)}

/* Fotos ovaladas */
.foto{aspect-ratio:3/4;border-radius:50%;background:var(--salvia2) center/cover no-repeat;border:10px solid var(--salvia);position:relative;overflow:hidden}
.foto.sin:after{content:attr(data-ini);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-weight:900;font-size:clamp(48px,6vw,96px);color:var(--jade)}

/* Line-up */
.head{display:grid;grid-template-columns:minmax(0,360px) minmax(0,560px);gap:56px;align-items:center;justify-content:center;margin-bottom:72px}
.head .foto{border-width:16px}
.head .nombre{font-family:var(--disp);font-weight:900;font-size:clamp(52px,7vw,96px);line-height:.95;margin:18px 0}
.bio{font-size:18px;line-height:1.6;margin:0 0 22px}
.redes{display:flex;gap:10px;flex-wrap:wrap}
.redes a{color:var(--bosque);border:2px solid var(--bosque);padding:9px 18px;border-radius:999px;text-decoration:none;font-weight:600;font-size:15px}
.redes a:hover{background:var(--salvia2)}
@media(max-width:860px){.head{grid-template-columns:1fr;gap:28px;text-align:center}.head .foto{width:min(300px,80%);margin:0 auto}.head .redes{justify-content:center}}
.artistas{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:44px 32px}
.art{display:flex;flex-direction:column;align-items:center;text-align:center}
.art .foto{width:220px;max-width:100%}
.art .n{position:relative;margin-top:-24px;padding:10px 24px;background:var(--crema);border:2px solid var(--bosque);border-radius:999px;font-family:var(--disp);font-weight:800;font-size:23px;line-height:1.15;max-width:100%}
.art .rol{margin-top:12px}
.art .bio{font-size:15px;margin:8px 0 12px}
.art .redes{justify-content:center}.art .redes a{font-size:13px;padding:6px 12px}
.rol{font-size:13px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:var(--acc)}

/* Video */
.video{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:var(--bosque);border:2px solid var(--salvia)}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Sección oscura (competencias) */
.oscuro{background:var(--bosque);color:var(--crema);overflow:hidden;isolation:isolate}
.oscuro > .dragon{position:absolute;z-index:-1;left:-60px;bottom:-80px;width:460px;height:660px;opacity:.22}
.oscuro .kicker{color:var(--salvia)}
.oscuro a{color:var(--crema)}
.oscuro .desc,.oscuro .muted,.oscuro .frase{color:var(--salvia2)}
.oscuro .tiny{color:var(--salvia)}

/* Tarjetas de competencia */
.comps{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px}
.comp{display:flex;flex-direction:column;text-decoration:none;color:var(--crema);background:var(--bosque2);border:2px solid var(--salvia);border-radius:120px 120px var(--r) var(--r);overflow:hidden;transition:transform .25s}
.comp:hover{transform:translateY(-4px)}
.comp .cimg{aspect-ratio:4/3;position:relative;background:var(--bosque) center/cover no-repeat;display:flex;align-items:center;justify-content:center}
.comp .cimg .dragon{width:38%;height:78%;opacity:.55}
.comp .fecha{position:absolute;left:50%;bottom:-30px;transform:translateX(-50%);width:66px;height:66px;border-radius:50%;background:var(--crema);color:var(--bosque);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;border:3px solid var(--bosque2)}
.comp .fecha b{font-family:var(--disp);font-weight:900;font-size:26px}
.comp .fecha span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px}
.comp .libre{position:absolute;right:50%;transform:translateX(50%);top:18px;background:var(--crema);color:var(--bosque);font-weight:700;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;padding:6px 12px;border-radius:999px;white-space:nowrap}
.comp .cb{padding:44px 22px 24px;text-align:center}
.comp .rol{color:var(--salvia)}
.comp .n{font-family:var(--disp);font-weight:900;font-size:30px;line-height:1.05;margin:6px 0 8px}
.comp .cp{font-size:15px;color:var(--salvia2)}
.comp .cta-mini{display:inline-block;margin-top:12px;font-weight:700;font-size:15px;border-bottom:2px solid var(--salvia)}
/* Sobre fondo claro */
.comps.claro .comp{background:var(--crema2);color:var(--bosque)}
.comps.claro .comp .rol{color:var(--jade)}.comps.claro .comp .cp{color:var(--tx2)}

/* Premios: medallas en arco */
.premios{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;align-items:end}
.premio{background:var(--crema);color:var(--bosque);border:3px solid var(--salvia);border-radius:160px 160px var(--r) var(--r);padding:44px 22px 30px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}
.premio .med{width:72px;height:72px;border-radius:50%;border:3px solid var(--salvia);display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-weight:900;font-size:28px}
.premio .p{font-family:var(--disp);font-weight:900;font-size:clamp(36px,4vw,50px);line-height:1;font-variant-numeric:tabular-nums}
.premio.n1{border-color:var(--bosque)}
.premio.n1 .med{width:92px;height:92px;background:var(--bosque);color:var(--crema);border:0;font-size:38px}
.premio.n2 .med{width:80px;height:80px;background:var(--salvia);border:0;font-size:32px}
.premios-sobre{margin-top:-64px;position:relative}
.extra{text-align:center;font-size:18px;font-weight:600;margin:28px 0 0}
.extra:before{content:'★ '}.extra:after{content:' ★'}
/* Podio */
.podio{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:18px;align-items:end;max-width:820px;margin:0 auto}
.podio div{text-align:center;padding:34px 14px 24px;border:3px solid var(--salvia);border-radius:140px 140px var(--r) var(--r);background:var(--crema2)}
.podio .p1{padding-top:52px;border-color:var(--bosque)}
.podio span{display:inline-flex;width:58px;height:58px;border-radius:50%;align-items:center;justify-content:center;background:var(--salvia);font-family:var(--disp);font-weight:900;font-size:24px}
.podio .p1 span{width:76px;height:76px;background:var(--bosque);color:var(--crema);font-size:32px}
.podio b{display:block;font-family:var(--disp);font-weight:900;font-size:clamp(22px,3vw,32px);line-height:1.1;margin-top:14px;overflow-wrap:anywhere}
@media(max-width:560px){.podio{grid-template-columns:1fr}.podio .p1{order:-1}}
/* Jurado */
.staff-comp{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:22px;text-align:center}
.staff-comp .foto{border-width:8px}
.staff-comp .n{font-family:var(--disp);font-weight:800;font-size:20px;line-height:1.1;margin-top:4px}
.staff-comp .rol{margin-top:10px}

/* Inscripción (bloque salvia) */
.bloque{position:relative;overflow:hidden;isolation:isolate;background:var(--salvia);border-radius:36px;padding:56px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px);gap:48px;align-items:center}
.bloque > .dragon{position:absolute;z-index:-1;left:-40px;bottom:-120px;width:360px;height:520px;background:var(--crema);opacity:.45}
.bloque h2.t{margin-bottom:18px}
.bloque .box{border-color:var(--crema)}
@media(max-width:900px){.bloque{grid-template-columns:1fr;padding:32px 20px;border-radius:28px}}

/* Cajas y formularios */
.box{background:var(--crema);border:2px solid var(--salvia);border-radius:var(--r);padding:28px}
.box h2,.box h3{font-family:var(--disp);font-weight:800;font-size:24px;margin:0 0 16px}
@media(max-width:520px){.box{padding:20px 16px}}
.tipos{display:grid;gap:14px;margin-bottom:18px}
.tipo{display:flex;align-items:stretch;justify-content:space-between;background:var(--crema);border:2px solid var(--salvia);border-radius:22px;overflow:hidden;transition:border-color .2s}
.tipo > div:first-child{flex:1;padding:18px 22px;min-width:0}
.tipo.sel{border-color:var(--bosque)}
.tipo .nm{font-size:13px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:var(--jade)}
.tipo .p{font-family:var(--disp);font-weight:900;font-size:36px;line-height:1.1;font-variant-numeric:tabular-nums}
.tipo .tiny{color:var(--jade);font-weight:600}
.tipo .qty{border-left:2px dashed var(--salvia);margin:12px 0;padding:0 18px}
.qty{display:flex;align-items:center;gap:8px;flex:none}
.qty button{width:40px;height:40px;border-radius:50%;border:2px solid var(--bosque);background:transparent;color:var(--bosque);font-size:20px;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center}
.qty button[data-d="1"]{background:var(--bosque);color:var(--crema)}
.qty button:hover{background:var(--bosque2);color:var(--crema);border-color:var(--bosque2)}
.qty input{width:42px;text-align:center;height:40px;border:0;background:transparent;color:var(--bosque);font:inherit;font-weight:700;font-size:20px;padding:0;-moz-appearance:textfield}
.qty input::-webkit-inner-spin-button,.qty input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
@media(max-width:420px){.tipo .qty{padding:0 10px;gap:4px}.qty input{width:30px}.tipo .p{font-size:30px}}
label{display:block;font-size:14px;color:var(--bosque);margin-bottom:6px;font-weight:600}
input,select,textarea{width:100%;background:var(--blanco);border:2px solid var(--salvia3);color:var(--bosque);border-radius:12px;padding:13px 14px;font:inherit}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--jade)}
input[type=file]{padding:12px;background:var(--crema2)}
.f{margin-bottom:14px}.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.row2{grid-template-columns:1fr}}
.total{display:flex;justify-content:space-between;align-items:baseline;font-weight:700;margin:6px 0 18px;padding-top:14px;border-top:2px dashed var(--salvia)}
.total b{font-family:var(--disp);font-weight:900;font-size:36px;font-variant-numeric:tabular-nums}
.compra{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,500px);gap:48px;align-items:start}
@media(max-width:900px){.compra{grid-template-columns:1fr;gap:28px}}
.compra > div:first-child.panel{background:var(--crema);border-radius:var(--r);padding:36px}
@media(max-width:520px){.compra > div:first-child.panel{padding:24px 18px}}
.pasos{display:grid;gap:16px;counter-reset:p;font-size:17px}
.pasos div{display:flex;gap:14px;align-items:center}
.pasos div:before{counter-increment:p;content:counter(p);flex:none;width:38px;height:38px;border-radius:50%;background:var(--salvia);color:var(--bosque);font-family:var(--disp);font-weight:900;display:flex;align-items:center;justify-content:center}
.err{background:#F6E1DC;color:var(--bad);border:2px solid #E7BDB4;padding:12px 16px;border-radius:14px;margin-bottom:14px;font-weight:600}
.ok{background:var(--salvia2);color:var(--bosque);border:2px solid var(--salvia);padding:12px 16px;border-radius:14px;margin-bottom:14px;font-weight:600}
.aviso-borrador{position:fixed;top:92px;left:50%;transform:translateX(-50%);z-index:60;box-shadow:0 10px 30px -10px rgba(0,0,0,.3);white-space:nowrap}

/* Lugar */
.mapa{border-radius:var(--r);overflow:hidden;border:2px solid var(--salvia);aspect-ratio:4/3;background:var(--salvia2)}
.mapa iframe{width:100%;height:100%;border:0;filter:saturate(.55) sepia(.12) hue-rotate(60deg)}
.datos-lugar{display:grid;gap:16px;font-size:18px}
.datos-lugar b{display:block;color:var(--acc);font-size:12px;letter-spacing:2px;text-transform:uppercase}

/* FAQ */
.faq details{border-bottom:2px solid var(--salvia3);padding:20px 0}
.faq summary{cursor:pointer;font-family:var(--disp);font-weight:800;font-size:21px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:'+';flex:none;width:34px;height:34px;border-radius:50%;border:2px solid var(--bosque);font-family:var(--font);font-size:22px;font-weight:600;display:flex;align-items:center;justify-content:center;transition:transform .2s,background .2s}
.faq details[open] summary:after{transform:rotate(45deg);background:var(--bosque);color:var(--crema)}
.faq details p{margin:12px 0 0;white-space:pre-line;font-size:17px;color:var(--tx2)}

/* Sponsors */
.sponsors{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:center}
.sponsors img{flex:none;width:auto;height:72px;max-width:180px;object-fit:contain;background:var(--blanco);border:2px solid var(--salvia3);border-radius:18px;padding:12px}
.sponsors span{font-family:var(--disp);font-weight:800;font-size:20px;padding:14px 20px;border:2px solid var(--salvia3);border-radius:18px}

/* Barra fija móvil */
.barra{position:fixed;left:12px;right:12px;bottom:12px;z-index:50;display:none;align-items:center;justify-content:space-between;gap:12px;background:var(--bosque);color:var(--crema);border-radius:999px;padding:8px 8px 8px 24px;box-shadow:0 18px 40px -12px rgba(31,61,50,.6);transition:transform .25s,opacity .25s}
.barra .d{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--salvia)}
.barra .p{font-family:var(--disp);font-weight:900;font-size:24px;line-height:1}
.barra .btn{padding:13px 22px;font-size:16px}
.barra.off{transform:translateY(140%);opacity:0}
@media(max-width:900px){.barra{display:flex}}

/* Cartelera */
.shows{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:36px 28px}
.show{color:var(--bosque);text-decoration:none;display:block}
.show .img{aspect-ratio:4/5;border-radius:var(--r);background:var(--salvia2) center/cover no-repeat;border:2px solid var(--salvia);margin-bottom:16px;overflow:hidden;position:relative;transition:transform .3s;display:flex;align-items:center;justify-content:center}
.show:hover .img{transform:translateY(-5px)}
.show .img .dragon{width:46%;height:62%}
.show .img .fecha{position:absolute;left:14px;top:14px;width:64px;height:64px;border-radius:50%;background:var(--bosque);color:var(--crema);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.show .img .fecha b{font-family:var(--disp);font-weight:900;font-size:26px}
.show .img .fecha span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px}
.show .n{font-family:var(--disp);font-weight:900;font-size:28px;line-height:1.05}
.show .tiny{margin-top:4px}
.pasados .show .img{filter:saturate(.4);opacity:.8}

/* Estado de compra (orden.php) */
.pub-wrap{max-width:640px;margin:0 auto;padding:48px 20px 80px}
.pub-wrap h1{font-family:var(--disp);font-weight:900;font-size:clamp(36px,7vw,52px);line-height:1;margin:8px 0 10px}
.pago{display:grid;gap:10px}
.pago div{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px 14px;background:var(--crema2);border-radius:14px;border:2px solid var(--salvia3)}
.pago span{color:var(--tx3);font-size:14px}.pago b{font-variant-numeric:tabular-nums;word-break:break-all;text-align:right}
.copy{background:var(--crema);border:2px solid var(--salvia);color:var(--bosque);border-radius:999px;padding:4px 10px;cursor:pointer;font:inherit;font-size:12px;font-weight:600;margin-left:8px}
.estado{display:inline-block;padding:7px 16px;border-radius:999px;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:1.5px;border:2px solid currentColor}
.e-pendiente,.e-comprobante{color:var(--warn);background:#FBF3DC}.e-aprobada{color:var(--ok);background:var(--salvia2)}.e-rechazada,.e-vencida{color:var(--bad);background:#F6E1DC}
.box + .box{margin-top:18px}
.linea{display:flex;justify-content:space-between;gap:10px;padding:4px 0}
/* Entrada con QR: troquel */
.ticket{background:var(--crema);color:var(--bosque);border:2px solid var(--bosque);border-radius:var(--r);padding:26px 22px 22px;margin:22px auto;max-width:380px;position:relative;text-align:center;overflow:hidden}
.ticket .escudo{height:70px;width:auto;margin:0 auto 6px}
.ticket .marca{font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:var(--jade)}
.ticket .t{font-family:var(--disp);font-weight:900;font-size:30px;line-height:1.05;margin-top:6px}
.ticket .qr{display:flex;justify-content:center;margin:18px -22px 10px;padding-top:20px;border-top:2px dashed var(--salvia);position:relative}
.ticket .qr:before,.ticket .qr:after{content:'';position:absolute;top:-14px;width:26px;height:26px;border-radius:50%;background:var(--crema);border:2px solid var(--bosque)}
.ticket .qr:before{left:-14px}.ticket .qr:after{right:-14px}
.ticket .qr svg{background:#fff;border-radius:10px}
.ticket .code{font-family:ui-monospace,monospace;font-size:20px;font-weight:700;letter-spacing:2px}
.ticket .usada{margin-top:8px;color:var(--bad);font-weight:700}
.pub-wrap .ticket .qr:before,.pub-wrap .ticket .qr:after{background:var(--crema)}

/* Merch */
.merch{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:28px}
.prod{display:flex;flex-direction:column;gap:10px;background:var(--crema2);border:2px solid var(--salvia);border-radius:var(--r);padding:20px;transition:border-color .2s}
.prod.sel{border-color:var(--bosque)}
.prod .pimg{aspect-ratio:1;border-radius:20px;background:var(--salvia2) center/cover no-repeat;position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:4px}
.prod .pimg span{font-family:var(--disp);font-weight:900;font-size:64px;color:var(--jade)}
.prod .sello{position:absolute;top:12px;left:12px;background:var(--bosque);color:var(--crema);font-size:12px;text-transform:uppercase;letter-spacing:1.5px;padding:6px 12px;border-radius:999px}
.prod.agotado .pimg{filter:grayscale(.8);opacity:.6}
.prod .pn{font-family:var(--disp);font-weight:800;font-size:25px;line-height:1.1}
.prod .pp{font-weight:700;font-size:19px;font-variant-numeric:tabular-nums;margin-top:-4px}
.prod .pd{color:var(--tx2);font-size:15px;margin:0}
.prod .pel{display:flex;gap:10px;align-items:center;margin-top:auto;padding-top:6px}
.prod .pel select{width:auto;flex:1;min-width:0;padding:10px 12px;border-radius:999px}
.entrega{margin:6px 0 16px;padding:16px;border:2px solid var(--salvia3);border-radius:18px;background:var(--crema2)}
.entrega .radio{display:flex;gap:10px;align-items:center;font-size:16px;margin:8px 0;font-weight:500;cursor:pointer}
.entrega .radio input{width:auto;accent-color:var(--bosque)}
.entrega .dir{margin:10px 0 0}
.resumen-merch{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:32px;padding:18px 22px;border:2px dashed var(--salvia);border-radius:var(--r)}

/* Pie */
.foot{background:var(--salvia);color:var(--bosque);text-align:center;padding:60px 20px 120px;display:flex;flex-direction:column;align-items:center;gap:14px}
.foot img{height:150px;width:auto}
.foot .lema{font-family:var(--disp);font-weight:800;font-size:20px}
.foot .lema:before{content:'★ '}.foot .lema:after{content:' ★'}
.foot a{color:var(--bosque);font-weight:600}
@media(min-width:901px){.foot{padding-bottom:56px}}

/* Tema bosque (página de competencia): barra y pie oscuros */
.t-bosque .nav{background:var(--bosque);border-bottom-color:var(--bosque2)}
.t-bosque .brand,.t-bosque .nav .links a{color:var(--crema)}
.t-bosque .nav .links a:hover{background:var(--bosque2)}
.t-bosque .nav .links a.cta{background:var(--crema);color:var(--bosque)}
.t-bosque .foot{background:var(--bosque);color:var(--crema)}
.t-bosque .foot a{color:var(--crema)}
.hero.oscuro{padding-bottom:120px}
.hero.oscuro > .dragon{left:auto;right:4%;top:-20px;bottom:auto;width:480px;height:690px;background:var(--salvia);opacity:.32}
.hero.oscuro .pill{border-color:var(--salvia);color:var(--salvia)}
.hero.oscuro .pill.claro{color:var(--bosque);border-color:var(--crema)}
.hero.oscuro .meta small{color:var(--salvia)}
.hero.oscuro .count div{background:var(--bosque2);border-color:var(--salvia)}

@media print{.nav,.foot,.noprint,.barra{display:none!important}body{background:#fff}.ticket{page-break-inside:avoid}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.banda-sec{border-top:2px solid var(--salvia);border-bottom:2px solid var(--salvia)}
.bloque .kicker{color:var(--bosque)}
.bloque .pasos div:before{background:var(--crema)}
.brand span,.nav .links a.cta{white-space:nowrap}
@media(max-width:420px){.brand{font-size:15px;gap:8px}.brand img{height:40px}.nav .links a.cta{padding:10px 16px;font-size:14px}}
