/* DLV — shared tokens and reset for the Clarity and Links pages */
:root {
	--dlvx-ink: #0B0B0F;
	--dlvx-ink-2: #121217;
	--dlvx-ink-3: #18181F;
	--dlvx-ink-4: #20202A;
	--dlvx-line: rgba(240, 236, 228, 0.09);
	--dlvx-line-2: rgba(240, 236, 228, 0.17);
	--dlvx-cream: #F0ECE4;
	--dlvx-muted: rgba(240, 236, 228, 0.66);
	--dlvx-dim: rgba(240, 236, 228, 0.42);
	--dlvx-gold: #FDC026;
	--dlvx-gold-ink: #000000;
	--dlvx-gold-soft: rgba(253, 192, 38, 0.10);
	--dlvx-gold-line: rgba(253, 192, 38, 0.42);
	--dlvx-danger: #FF8A73;
	--dlvx-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
	--dlvx-sans: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--dlvx-r: 18px;
	--dlvx-ease: cubic-bezier(.2, .7, .2, 1);
}

html { background: var(--dlvx-ink); scroll-behavior: smooth; }
body.dlvx-body {
	margin: 0;
	background: var(--dlvx-ink);
	color: var(--dlvx-cream);
	font-family: var(--dlvx-sans);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}
:where(.dlvx), :where(.dlvx) *, :where(.dlvx) *::before, :where(.dlvx) *::after { box-sizing: border-box; }
:where(.dlvx) :where(h1, h2, h3, p, dl, dd, figure) { margin: 0; }
.dlvx a { color: inherit; text-decoration: none; }
:where(.dlvx) img { display: block; max-width: 100%; height: auto; }
.dlvx button { font: inherit; color: inherit; cursor: pointer; text-transform: none; letter-spacing: inherit; box-shadow: none; }
.dlvx ::selection { background: var(--dlvx-gold); color: var(--dlvx-gold-ink); }

.dlvx-ico { width: 20px; height: 20px; flex: none; }

.dlvx-eyebrow {
	font-family: var(--dlvx-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: var(--dlvx-gold);
}

.dlvx-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 54px;
	padding: 0 26px;
	border-radius: 999px;
	border: 1px solid transparent;
	font-family: var(--dlvx-sans);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .01em;
	line-height: 1;
	transition: transform .25s var(--dlvx-ease), background-color .25s, border-color .25s, color .25s;
	-webkit-tap-highlight-color: transparent;
}
.dlvx-btn .dlvx-ico { width: 18px; height: 18px; transition: transform .3s var(--dlvx-ease); }
.dlvx-btn:hover .dlvx-ico { transform: translateX(3px); }
.dlvx .dlvx-btn-gold { background: var(--dlvx-gold); color: var(--dlvx-gold-ink); }
.dlvx .dlvx-btn-gold:hover { background: #FFCD45; transform: translateY(-1px); }
.dlvx .dlvx-btn-ghost { border-color: var(--dlvx-line-2); color: var(--dlvx-cream); background: transparent; }
.dlvx .dlvx-btn-ghost:hover { border-color: var(--dlvx-cream); }
.dlvx-btn:focus-visible, .dlvx a:focus-visible, .dlvx button:focus-visible { outline: 2px solid var(--dlvx-gold); outline-offset: 3px; }

@keyframes dlvx-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes dlvx-spin { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
	.dlvx *, .dlvx *::before, .dlvx *::after { animation: none !important; transition: none !important; }
	html { scroll-behavior: auto; }
}

/* ---------- Glass layer ---------- */
:root {
	--dlvx-glass: rgba(255, 255, 255, 0.045);
	--dlvx-glass-2: rgba(255, 255, 255, 0.075);
	--dlvx-glass-line: rgba(255, 255, 255, 0.12);
	--dlvx-glass-hi: rgba(255, 255, 255, 0.22);
	--dlvx-blur: blur(22px) saturate(150%);
}
.dlvx-bg { position: fixed; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.dlvx-orb { position: absolute; border-radius: 50%; }
.dlvx-orb-1 { width: 520px; height: 520px; right: -140px; top: -120px; background: rgba(253, 192, 38, 0.07); }
.dlvx-orb-2 { width: 420px; height: 420px; left: -160px; top: 42%; background: rgba(88, 160, 255, 0.05); }
.dlvx-orb-3 { width: 260px; height: 260px; right: 8%; bottom: -90px; background: rgba(253, 192, 38, 0.05); }
.dlvx-ring { position: absolute; width: 760px; height: 760px; left: 50%; top: 18%; transform: translateX(-50%); border-radius: 50%; border: 1px solid rgba(240, 236, 228, 0.06); }
body.dlvx-body > .dlvx, body.dlvx-body > #wpadminbar ~ .dlvx { position: relative; z-index: 1; }
.dlvx { position: relative; z-index: 1; }

.dlvx-glass,
.dlvx .dlvx-pkg-in, .dlvx .dlvx-dur-in, .dlvx .dlvx-summary, .dlvx .dlvx-ticket, .dlvx .dlvx-cal,
.dlvx .dlvx-avail-grid > div, .dlvx .dlvx-badge, .dlvx .dlvx-confirm,
.dlvx .dlvl-card, .dlvx .dlvl-row, .dlvx .dlvl-social a, .dlvx .dlvl-tile, .dlvx .dlvx-date, .dlvx .dlvx-slot,
.dlvx .dlvx-field input, .dlvx .dlvx-field textarea, .dlvx .dlvx-btn-ghost {
	background-color: var(--dlvx-glass);
	border-color: var(--dlvx-glass-line);
	-webkit-backdrop-filter: var(--dlvx-blur);
	backdrop-filter: var(--dlvx-blur);
	box-shadow: inset 0 1px 0 var(--dlvx-glass-hi);
}
.dlvx .dlvl-tile, .dlvx .dlvx-field input, .dlvx .dlvx-field textarea, .dlvx .dlvx-slot, .dlvx .dlvx-date, .dlvx .dlvl-social a { box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12); }
.dlvx .dlvx-field input:focus, .dlvx .dlvx-field textarea:focus { background-color: var(--dlvx-glass-2); border-color: var(--dlvx-gold); }
.dlvx a.dlvl-row:hover, .dlvx .dlvl-card:hover, .dlvx .dlvx-pkg:hover .dlvx-pkg-in, .dlvx .dlvx-dur:hover .dlvx-dur-in { background-color: var(--dlvx-glass-2); }
.dlvx .dlvx-pkg input:checked + .dlvx-pkg-in, .dlvx .dlvx-dur input:checked + .dlvx-dur-in { background-color: rgba(253, 192, 38, 0.06); border-color: var(--dlvx-gold); }
.dlvx .dlvx-slot.is-active { background-color: rgba(253, 192, 38, 0.12); border-color: var(--dlvx-gold); }
.dlvx .dlvx-date.is-active { background-color: var(--dlvx-gold); border-color: var(--dlvx-gold); }
.dlvx .dlvl-row.is-soon { background-color: rgba(255, 255, 255, 0.02); border-style: dashed; }
.dlvx .dlvx-confirm { background-color: rgba(20, 20, 26, 0.6); border-color: var(--dlvx-gold-line); }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.dlvx .dlvx-pkg-in, .dlvx .dlvx-dur-in, .dlvx .dlvx-summary, .dlvx .dlvx-ticket, .dlvx .dlvx-cal, .dlvx .dlvl-card, .dlvx .dlvl-row { background-color: #15151B; }
}
@media (max-width: 760px) {
	.dlvx-orb-1 { width: 340px; height: 340px; right: -120px; top: -80px; }
	.dlvx-orb-2 { width: 300px; height: 300px; left: -150px; }
	.dlvx-ring { width: 520px; height: 520px; }
}
