.vm-age-locked { overflow: hidden !important; }
.vm-age-locked > *:not(.vm-age-gate):not(script) { pointer-events: none; user-select: none; }
.vm-age-gate { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: 1rem; }
.vm-age-gate[hidden] { display: none !important; }
.vm-age-gate__backdrop { position: absolute; inset: 0; background: rgba(2, 7, 14, .88); backdrop-filter: blur(22px) saturate(130%); }
.vm-age-gate__dialog { position: relative; width: min(560px, 100%); max-height: calc(100svh - 2rem); overflow: auto; padding: clamp(1.6rem, 5vw, 3.2rem); border: 1px solid rgba(106, 224, 255, .32); border-radius: 28px; background: radial-gradient(circle at 85% 8%, rgba(255,79,200,.18), transparent 32%), radial-gradient(circle at 12% 90%, rgba(54,215,255,.16), transparent 34%), #0b1826; color: #f7fbff; box-shadow: 0 35px 120px rgba(0,0,0,.65), 0 0 70px rgba(54,215,255,.12); text-align: center; }
.vm-age-gate__mark { width: 82px; aspect-ratio: 1; object-fit: contain; margin: 0 auto 1rem; filter: drop-shadow(0 0 20px rgba(255,79,200,.32)); }
.vm-age-gate__eyebrow { margin: 0 0 .7rem; color: #36d7ff; font: 800 .7rem/1.2 Consolas, monospace; letter-spacing: .14em; text-transform: uppercase; }
.vm-age-gate h2 { margin: 0; color: #fff; font: 900 clamp(2.2rem, 7vw, 4rem)/.95 "Arial Black", Inter, sans-serif; letter-spacing: -.06em; }
.vm-age-gate #vm-age-copy { max-width: 470px; margin: 1.2rem auto 1.6rem; color: #b8c9d8; }
.vm-age-gate__actions { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
.vm-age-gate button, .vm-age-gate__refusal a, .vm-contact-form button { min-height: 48px; border-radius: 999px; font-weight: 850; cursor: pointer; }
.vm-age-gate__confirm, .vm-contact-form button { border: 1px solid #36d7ff; background: #36d7ff; color: #061019; }
.vm-age-gate__decline { border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.05); color: #f7fbff; }
.vm-age-gate__refusal { margin-top: 1rem; padding: 1rem; border: 1px solid rgba(255,107,129,.34); border-radius: 16px; background: rgba(255,107,129,.08); }
.vm-age-gate__refusal p { margin-top: 0; }
.vm-age-gate__refusal a { display: inline-flex; align-items: center; justify-content: center; padding: .7rem 1.3rem; background: #f7fbff; color: #07111f; text-decoration: none; }
.vm-age-gate__privacy { margin: 1.2rem 0 0; color: #8096a7; font-size: .72rem; }
.vm-payments-gated .wc-block-components-express-payment, .vm-payments-gated .wcpay-express-checkout-wrapper, .vm-payments-gated #wcpay-express-checkout-button { display: none !important; }
.vm-contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 2rem; }
.vm-contact-form label { display: flex; flex-direction: column; gap: .4rem; color: var(--vm-text, #f4f7fb); font-weight: 750; }
.vm-contact-form input[type="text"], .vm-contact-form input[type="email"], .vm-contact-form textarea { width: 100%; min-height: 48px; padding: .75rem .9rem; border: 1px solid var(--vm-line, rgba(255,255,255,.16)); border-radius: 10px; background: var(--vm-surface-solid, #102337); color: var(--vm-text, #f4f7fb); font: inherit; }
.vm-contact-form textarea { resize: vertical; }
.vm-contact-form .vm-form-wide { grid-column: 1 / -1; }
.vm-form-consent { flex-direction: row !important; align-items: flex-start; font-size: .85rem; font-weight: 500 !important; }
.vm-form-consent input { margin-top: .3rem; accent-color: var(--vm-accent, #36d7ff); }
.vm-contact-form button { padding: .8rem 1.5rem; }
.vm-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.vm-form-message { margin: 1rem 0; padding: 1rem; border-radius: 10px; }
.vm-form-message--success { border: 1px solid #76d89a; background: rgba(118,216,154,.1); }
.vm-form-message--error { border: 1px solid #ff6b81; background: rgba(255,107,129,.1); }
.vm-newsletter-pending { display: flex; flex-direction: column; gap: .3rem; padding: 1.2rem; border: 1px dashed var(--vm-line, rgba(255,255,255,.18)); border-radius: 14px; color: var(--vm-muted, #a9b9c9); }
.vm-newsletter-pending strong { color: var(--vm-text, #f4f7fb); }
@media (max-width: 600px) { .vm-age-gate__actions, .vm-contact-form { grid-template-columns: 1fr; } .vm-contact-form .vm-form-wide { grid-column: auto; } }
@media (prefers-reduced-motion: reduce) { .vm-age-gate__backdrop { backdrop-filter: none; } }

