/* Banner de la promocion de cabinas (se muestra solo si el servidor dice que hay cupos y fecha vigente) */
.promo-bar{position:relative;z-index:60;background:var(--brass,#c9963d);color:var(--ink,#15130f);font-family:'Archivo',system-ui,sans-serif}
.promo-bar[hidden]{display:none}
.promo-in{max-width:1180px;margin:0 auto;padding:11px 52px 11px 24px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px}
.promo-msg{margin:0;font-size:.95rem;line-height:1.35;flex:1 1 360px}
.promo-msg strong{font-weight:800}
.promo-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;font-size:.86rem}
.promo-left{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.promo-left b,.promo-time b{font-variant-numeric:tabular-nums;font-weight:800}
.promo-meter{display:inline-block;width:70px;height:7px;border-radius:99px;background:rgba(21,19,15,.25);overflow:hidden;vertical-align:middle}
.promo-meter i{display:block;height:100%;background:var(--ink,#15130f);border-radius:99px;transition:width .4s ease}
.promo-time{white-space:nowrap}
.promo-terms{font:inherit;font-size:.82rem;background:none;border:0;padding:0;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.promo-cta{display:inline-block;font-weight:800;font-size:.86rem;padding:8px 16px;border-radius:3px;background:var(--ink,#15130f);color:var(--brass-light,#e7be72);text-decoration:none;white-space:nowrap}
.promo-cta:hover{background:#000}
.promo-x{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:inherit;font-size:1.4rem;line-height:1;cursor:pointer}
.promo-x:hover{background:rgba(21,19,15,.12)}
.promo-bar a:focus-visible,.promo-bar button:focus-visible{outline:2px solid var(--ink,#15130f);outline-offset:2px}
#promoDialog{max-width:min(520px,calc(100vw - 32px));background:var(--ink-2,#1f1b13);color:var(--text-on-ink,#f2ead9);border:1px solid var(--brass-dim,#9c7530);border-radius:6px;padding:24px 26px}
#promoDialog::backdrop{background:rgba(8,7,5,.72)}
#promoDialog h2{margin:0 0 10px;font-family:'Fraunces',Georgia,serif;font-size:1.3rem}
#promoDialog p{margin:0 0 16px;line-height:1.6;font-size:.95rem;color:var(--text-on-ink-muted,#b7ac93);white-space:pre-line}
#promoDialog button{font:inherit;font-weight:700;padding:10px 20px;border-radius:3px;border:1px solid var(--brass,#c9963d);background:var(--brass,#c9963d);color:var(--ink,#15130f);cursor:pointer}
@media (max-width:640px){.promo-in{padding:10px 44px 10px 16px}.promo-msg{font-size:.88rem;flex-basis:100%}.promo-cta{padding:7px 12px}}
@media (prefers-reduced-motion:reduce){.promo-meter i{transition:none}}

/* Franja delgada superior: codigo CABINA10 (visible solo mientras el servidor diga que el codigo esta vigente) */
.cab-strip{position:relative;z-index:5;background:var(--ink,#15130f);color:var(--text-on-ink,#f2ead9);font-family:'Archivo',system-ui,sans-serif;border-bottom:1px solid var(--brass-dim,#9c7530)}
.cab-strip[hidden]{display:none}
.cab-strip-in{max-width:1180px;margin:0 auto;padding:6px 44px 6px 16px;display:flex;align-items:center;gap:14px;font-size:.84rem;font-weight:300;letter-spacing:.01em;line-height:1.35}
.cab-marquee{flex:1 1 0;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 22px,#000 calc(100% - 22px),transparent);mask-image:linear-gradient(90deg,transparent,#000 22px,#000 calc(100% - 22px),transparent)}
.cab-track{display:flex;width:max-content;animation:cabScroll var(--cab-dur,30s) linear infinite;will-change:transform}
.cab-strip:hover .cab-track,.cab-strip:focus-within .cab-track,.cab-track.paused{animation-play-state:paused}
@keyframes cabScroll{to{transform:translateX(-50%)}}
.cab-strip-msg{margin:0;flex:none;white-space:nowrap;padding-right:64px}
.cab-strip-msg b{color:var(--brass-light,#e7be72);font-weight:500}
.cab-code{font:inherit;font-weight:600;letter-spacing:.08em;color:var(--ink,#15130f);background:var(--brass,#c9963d);border:0;border-radius:3px;padding:2px 9px;margin:0 2px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;vertical-align:baseline}
.cab-code:hover{background:var(--brass-light,#e7be72)}
.cab-code svg{width:12px;height:12px;flex:none}
.cab-code.ok{background:#8fd18f}
.cab-left{color:var(--brass-light,#e7be72);font-weight:400;white-space:nowrap}
.cab-strip-cta{font:inherit;font-size:.8rem;font-weight:500;letter-spacing:.02em;padding:4px 12px;border-radius:3px;border:1px solid var(--brass,#c9963d);background:transparent;color:var(--brass-light,#e7be72);cursor:pointer;white-space:nowrap}
.cab-strip-cta:hover{background:var(--brass,#c9963d);color:var(--ink,#15130f)}
.cab-strip-x{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:inherit;font-size:1.3rem;line-height:1;cursor:pointer}
.cab-strip-x:hover{background:rgba(255,255,255,.12)}
.cab-strip button:focus-visible{outline:2px solid var(--brass-light,#e7be72);outline-offset:2px}
.cab-code-row{display:flex;gap:8px;justify-content:center;margin:8px 0 0}
.cab-code-row input{flex:0 1 190px;min-width:0;font:inherit;font-size:.85rem;text-transform:uppercase;padding:7px 10px;border:1px solid #bbb;border-radius:4px}
.cab-code-row button{font:inherit;font-size:.85rem;font-weight:700;padding:7px 14px;border:1px solid #000;background:#000;color:#fff;border-radius:4px;cursor:pointer}
.cab-code-msg{min-height:1.2em;margin:6px 0 0;text-align:center;font-size:.82rem;line-height:1.4}
.cab-code-msg.err{color:#b3261e}
.cab-code-msg.ok{color:#1b6b2f}
@media (max-width:640px){.cab-strip-in{font-size:.78rem;padding:5px 34px 5px 10px;gap:8px}.cab-strip-cta{font-size:.72rem;padding:3px 9px}.cab-code{padding:1px 7px}}
@media (prefers-reduced-motion:reduce){.cab-track{animation:none;width:auto}.cab-strip-msg{white-space:normal;padding-right:0}.cab-marquee{-webkit-mask-image:none;mask-image:none}.cab-strip-in{flex-wrap:wrap;justify-content:center;text-align:center}}
