/* Native 18+ form and first-visit dialog. No fonts or third-party assets. */
.age-page { margin: 0; background: #fbfaf7; color: #191a17; font: 1rem/1.65 var(--font-body, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif); }
.age-page * { box-sizing: border-box; }
.age-card { width: min(100% - 2rem, 40rem); margin: clamp(2rem, 10vh, 7rem) auto; padding: clamp(1.25rem, 5vw, 3rem); border-top: 2px solid #7b6542; background: #fff; }
.age-card h1, .iluxus-age-dialog h2 { font-family: var(--font-display, Georgia, serif); font-weight: 400; line-height: 1.15; }
.age-card h1 { font-size: clamp(1.8rem, 5vw, 2.8rem); }
.age-eyebrow { margin: 0 0 .65rem; color: #b8a17a; font-size: .7rem; font-weight: 600; letter-spacing: .16em; line-height: 1.5; text-transform: uppercase; }
.age-card form { display: grid; gap: .8rem; margin: 2rem 0; }
.age-card button, .iluxus-age-dialog button { min-height: 48px; padding: .85rem 1rem; border: 1px solid #d4bd94; background: #d4bd94; color: #242421; font: inherit; font-size: .8rem; font-weight: 600; cursor: pointer; white-space: normal; }
.age-card .age-secondary, .iluxus-age-dialog .age-secondary { background: transparent; color: #191a17; }
.age-card a { color: #57411d; }
.age-card button:focus-visible, .age-card a:focus-visible, .iluxus-age-dialog button:focus-visible { outline: 3px solid #b8a17a; outline-offset: 4px; }
.age-note { color: #696a62; font-size: .875rem; }

.iluxus-age-gate { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 1rem; overflow-y: auto; }
.iluxus-age-backdrop { position: fixed; inset: 0; background: rgb(19 20 18 / 84%); }
.iluxus-age-dialog { position: relative; width: min(100%, 33rem); padding: clamp(1.5rem, 5vw, 3rem); border: 1px solid rgb(212 189 148 / 54%); border-top: 2px solid #d4bd94; background: #242421; box-shadow: 0 1.5rem 4rem rgb(0 0 0 / 35%); color: #f5f1e8; }
.iluxus-age-dialog h2 { margin: 0; color: #fbfaf7; font-size: clamp(1.9rem, 7vw, 3.25rem); letter-spacing: -.04em; }
.iluxus-age-dialog > p:not(.age-eyebrow):not(.age-note) { margin: 1.15rem 0 0; color: #e2ddd3; font-size: .95rem; line-height: 1.7; }
.iluxus-age-dialog .age-note { margin: 1rem 0 0; color: #bbb5aa; font-size: .8rem; line-height: 1.55; }
.age-dialog-form { display: grid; gap: .65rem; margin-top: 1.7rem; }
.iluxus-age-dialog .age-secondary { border-color: #aaa69c; color: #f5f1e8; }
.iluxus-age-dialog .age-secondary:hover { background: rgb(245 241 232 / 10%); }

html.iluxus-age-open, html.iluxus-age-open body { overflow: hidden; }
body.iluxus-age-pending { overflow: hidden; }

@media (min-width: 40rem) {
	.age-dialog-form { grid-template-columns: 1fr 1fr; }
	.iluxus-age-dialog button { min-height: 3.25rem; }
}

@media (prefers-reduced-motion: reduce) {
	.iluxus-age-gate, .iluxus-age-dialog { scroll-behavior: auto; }
}
