/* Gate counter page (/gate, see gate.js). Reuses the site's hero, pass cards, form card, inputs and buttons;
   this file lays them out for a phone held in one hand at the gate. */
.enx-gate{position:relative;padding-bottom:120px}
.enx-gate.page-shell{padding-top:84px!important}
.enx-gate-hero{min-height:0!important;height:auto!important;padding:18px 16px 6px!important;margin-top:0!important;overflow:hidden}
.enx-gate-hero .container{text-align:center;position:relative;z-index:1}
.enx-gate-pill{display:inline-flex;align-items:center;gap:10px;font-size:10px;letter-spacing:4px;color:var(--red);font-weight:900;text-transform:uppercase;margin-bottom:18px;padding:8px 18px;background:var(--color-accent-soft);border:1px solid var(--color-accent-strong);border-radius:999px}
.enx-gate-pill span{width:6px;height:6px;background:var(--red);border-radius:50%;animation:enxGatePulse 1.4s ease-in-out infinite}
@keyframes enxGatePulse{50%{opacity:.25}}
.enx-gate-title{margin:0 0 10px;font-size:clamp(40px,12vw,96px)!important;line-height:.9!important;font-family:var(--D)!important;letter-spacing:-1px}
.enx-gate-tags{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 22px;color:var(--t2);font-size:10px;font-weight:800;letter-spacing:3px;text-transform:uppercase}
.enx-gate-tags b{color:var(--red)}
.enx-gate-steps{display:flex;justify-content:center;gap:6px;margin:22px auto 0;max-width:520px}
.enx-gate-hero.is-small .enx-gate-pill{margin-bottom:0}
.enx-gate-hero.is-small .enx-gate-steps{margin-top:16px}
.enx-gate-steps i{flex:1;height:3px;border-radius:2px;background:var(--color-border-soft,#333)}
.enx-gate-steps i.on{background:var(--red)}
.enx-gate-body{max-width:560px;margin:0 auto;padding:0 16px}
.enx-gate-h{font-family:var(--D);font-size:22px;letter-spacing:3px;text-transform:uppercase;margin:26px 0 14px;display:flex;align-items:center;gap:12px}
.enx-gate-h::before{content:"";width:4px;height:20px;background:var(--red);flex:none}
.enx-gate-list{display:grid;gap:12px}
.enx-gate .pass-card.enx-gate-pass{--pc:#FF0033;display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 14px;min-height:0!important;height:auto!important;padding:16px 16px 16px 18px!important;border-top:0!important;border-left:3px solid var(--pc)!important;background:linear-gradient(100deg,color-mix(in srgb,var(--pc) 14%,transparent) 0%,transparent 55%),var(--color-surface-panel,rgba(20,20,20,.9))!important;transform:none!important}
.enx-gate-pass .pass-card-title{margin:0!important;font-size:22px!important;line-height:1.05!important;letter-spacing:.06em}
.enx-gate-pass .enx-gate-price{font-family:var(--D);font-size:24px;font-weight:800;color:var(--color-text-primary);letter-spacing:1px}
.enx-gate-pass .enx-gate-desc{grid-column:1/-1;margin:0;font-size:.85rem;line-height:1.45;color:var(--color-text-secondary)}
.enx-gate-pass .enx-gate-left{grid-column:1/-1;margin:0;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.enx-gate-pass.is-out{opacity:.5}
.enx-gate-qty{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}
.enx-gate-qty small{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--t3)}
.enx-gate-step{display:flex;align-items:center;border:1px solid var(--color-border-soft,#333);border-radius:999px;overflow:hidden}
.enx-gate-step button{width:48px;height:44px;border:0;background:transparent;color:var(--color-text-primary);font-size:24px;font-weight:700;cursor:pointer;line-height:1}
.enx-gate-step button:disabled{opacity:.3;cursor:default}
.enx-gate-step b{min-width:36px;text-align:center;font-family:var(--D);font-size:22px;color:var(--color-text-primary)}
.enx-gate-pass.has-qty{box-shadow:0 0 0 1px var(--pc) inset}
.enx-gate-squad{margin:12px 0 0;font-size:.8rem;color:var(--color-text-secondary);line-height:1.5}
.enx-gate-squad b{color:var(--color-text-primary)}
/* Sticky pay bar */
.enx-gate-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--color-bg-primary,#000);border-top:1px solid var(--color-border-soft,#222);box-shadow:0 -10px 30px rgba(0,0,0,.35)}
.enx-gate-bar-in{max-width:560px;margin:0 auto;display:flex;align-items:center;gap:14px}
.enx-gate-sum{flex:1;min-width:0}
.enx-gate-sum b{display:block;font-family:var(--D);font-size:24px;color:var(--color-text-primary);letter-spacing:1px;line-height:1.1}
.enx-gate-sum span{display:block;font-size:.72rem;color:var(--t3);letter-spacing:.06em}
.enx-gate-bar .btn-primary{flex:none;min-width:150px;text-align:center}
.enx-gate .btn-primary:disabled,.enx-gate-bar .btn-primary:disabled{opacity:.5;cursor:default}
/* Details card */
.enx-gate-card{width:100%;box-sizing:border-box;margin-top:4px}
.enx-gate-form{display:grid;gap:18px}
.enx-gate-label{font-size:.7rem;color:var(--color-text-secondary);letter-spacing:2px;text-transform:uppercase;font-weight:700;margin-bottom:8px}
.enx-gate-phone{display:flex;align-items:stretch;gap:8px}
.enx-gate-phone span{display:flex;align-items:center;padding:0 12px;border:1px solid var(--color-border-soft,#333);border-radius:var(--border-radius-sm,8px);color:var(--color-text-secondary);font-weight:700}
.enx-gate-phone input{flex:1;min-width:0}
.enx-gate-otp{letter-spacing:.5em;font-size:1.4rem!important;text-align:center;font-family:ui-monospace,Menlo,monospace}
.enx-gate-wide{width:100%;text-align:center;display:block;box-sizing:border-box}
.enx-gate-msg{margin:0;font-size:.85rem;line-height:1.5}
.enx-gate-msg.is-error{color:var(--color-accent)}
.enx-gate-msg:empty{display:none}
.enx-gate-link{background:none;border:0;padding:0;white-space:nowrap;color:var(--color-text-secondary);text-decoration:underline;font:inherit;font-size:.85rem;cursor:pointer}
.enx-gate-who{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--color-border-soft,#333);border-radius:10px;font-size:.9rem;color:var(--color-text-secondary)}
.enx-gate-who b{color:var(--color-text-primary)}
.enx-gate-lines{display:grid;gap:6px;margin:0 0 22px;font-size:.88rem;color:var(--color-text-secondary)}
.enx-gate-lines div{display:flex;justify-content:space-between;gap:12px}
.enx-gate-lines .is-total{padding-top:8px;border-top:1px solid var(--color-border-soft,#333);color:var(--color-text-primary);font-weight:800;font-size:1rem}
/* Done */
.enx-gate-done{text-align:center}
.enx-gate-tick{width:64px;height:64px;margin:6px auto 12px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--red);color:#fff;font-size:34px;font-weight:900}
.enx-gate-done h2{font-family:var(--D);font-size:34px;letter-spacing:2px;text-transform:uppercase;margin:0 0 8px}
.enx-gate-done p{color:var(--color-text-secondary);margin:0 0 6px;line-height:1.5}
.enx-gate-tickets{display:grid;gap:16px;margin:20px 0}
.enx-gate-ticket{background:#fff;color:#111;border-radius:14px;padding:16px 16px 14px;text-align:center}
.enx-gate-ticket img{width:100%;max-width:300px;height:auto;display:block;margin:0 auto;image-rendering:pixelated}
.enx-gate-ticket b{display:block;font-family:var(--D);font-size:20px;letter-spacing:2px;text-transform:uppercase;margin-top:6px}
.enx-gate-ticket code{display:block;font-size:.7rem;color:#555;word-break:break-all;margin-top:4px}
.enx-gate-ticket a{display:inline-block;margin-top:10px;font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#c00020;text-decoration:none}
.enx-gate-wait{text-align:center;padding:30px 0}
.enx-gate-spin{width:40px;height:40px;margin:0 auto 14px;border:3px solid var(--color-border-soft,#333);border-top-color:var(--red);border-radius:50%;animation:enxGateSpin .8s linear infinite}
@keyframes enxGateSpin{to{transform:rotate(360deg)}}
/* Nothing else floats over the gate page */
html.enx-gate-page .enx-sticky,html.enx-gate-page .enx-sfab,html.enx-gate-page .whatsapp-floating-widget,html.enx-gate-page .enx-push,html.enx-gate-page .enx-jb{display:none!important}
@media print{.enx-gate-bar{display:none}}
