@import url("can.css");

/* ===== AGE CHECK OVERLAY ===== */
.gate-wall { position: fixed; inset: 0; z-index: 999; display: flex; align-items: center; justify-content: center; background: var(--ink); }
.gate-wall.painted-over { display: none; }
.gate-slab { width: min(420px, 90vw); text-align: center; }
.gate-badge { width: 64px; height: 64px; margin: 0 auto 20px; background: var(--volt); color: var(--ink); display: grid; place-items: center; font-weight: 900; font-size: 18px; }
.gate-slab h3 { color: var(--paper); font-size: 22px; font-weight: 800; text-transform: uppercase; margin-bottom: 12px; }
.gate-slab p { font-size: 14px; color: var(--paper-dim); margin-bottom: 26px; }
.gate-pause { display: none; align-items: center; justify-content: center; gap: 10px; margin-top: 18px; font-size: 13px; color: var(--paper-dim); }
.gate-pause.spraying { display: flex; }
.gate-loop { width: 16px; height: 16px; border: 2px solid var(--ink-line); border-top-color: var(--volt); border-radius: 50%; animation: gate-loop-kf 0.8s linear infinite; }
@keyframes gate-loop-kf { to { transform: rotate(360deg); } }
.duo-wall { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 480px) { .duo-wall { grid-template-columns: 1fr; } }

/* ===== TOP STRIP — no sticky nav bar, just a slim brand+CTA line ===== */
.overpass { padding: 22px 0; border-bottom: 3px solid var(--volt); }
.overpass-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.crew { display: flex; align-items: center; gap: 10px; font-weight: 900; font-size: 17px; color: var(--paper); text-transform: uppercase; }
.crew-mark { width: 32px; height: 32px; background: var(--volt); color: var(--ink); display: grid; place-items: center; font-weight: 900; font-size: 12px; flex-shrink: 0; }
.crew span.drip-tail { color: var(--volt); }

/* ===== FIXED SIDE CTA RIBBON instead of nav menu ===== */
.side-ribbon { position: fixed; right: 0; top: 50%; transform: translateY(-50%); z-index: 140; display: flex; flex-direction: column; }
.side-ribbon a { writing-mode: vertical-rl; text-orientation: mixed; background: var(--volt); color: var(--ink); padding: 22px 10px; font-weight: 900; font-size: 13px; text-transform: uppercase; letter-spacing: 0.05em; }
.side-ribbon a:hover { background: var(--paper); }
@media (max-width: 720px) { .side-ribbon { display: none; } }

.mobile-cta-dock { display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 140; padding: 14px 20px; background: var(--volt); }
.mobile-cta-dock a { display: block; text-align: center; color: var(--ink); font-weight: 900; text-transform: uppercase; font-size: 14px; }
@media (max-width: 720px) { .mobile-cta-dock { display: block; } }

/* ===== TRANSIT REDIRECT MODAL ===== */
.warp-wall { position: fixed; inset: 0; z-index: 998; display: none; align-items: center; justify-content: center; background: var(--ink); }
.warp-wall.tagging { display: flex; }
.warp-slab { width: min(400px, 90vw); text-align: center; }
.warp-icon { width: 58px; height: 58px; margin: 0 auto 20px; background: var(--volt); color: var(--ink); display: grid; place-items: center; font-size: 24px; }
.warp-slab h3 { color: var(--paper); font-size: 18px; font-weight: 800; text-transform: uppercase; margin-bottom: 10px; }
.warp-slab p { font-size: 14px; color: var(--paper-dim); margin-bottom: 22px; }
.warp-track { height: 8px; background: var(--ink-line); overflow: hidden; margin-bottom: 14px; }
.warp-fill { height: 100%; background: var(--volt); width: 0%; transition: width 0.1s linear; }
.warp-time { font-size: 13px; color: var(--volt); font-weight: 700; }

/* ===== FOOTER ===== */
.baseboard { border-top: 3px solid var(--volt); padding: 40px 0 26px; }
.baseboard-row { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 14px; font-size: 13px; color: var(--paper-faint); }
.baseboard-row a { color: var(--paper-faint); }
.baseboard-row a:hover { color: var(--volt); }
.baseboard-links { display: flex; gap: 20px; flex-wrap: wrap; }
