/* ─── Age Gate ─── */
.oa-gate {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 99999;
	align-items: center;
	justify-content: center;
	background: linear-gradient(160deg, var(--orchid-pale) 0%, var(--ivory) 45%, var(--gold-pale) 130%);
	transition: opacity .3s ease;
}
.oa-gate::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 12% 18%, rgba(201,127,196,.18), transparent 42%),
		radial-gradient(circle at 88% 82%, rgba(181,145,63,.14), transparent 40%);
	pointer-events: none;
}

.oa-gate__card {
	position: relative;
	width: 620px;
	max-width: 92vw;
	background: var(--ivory);
	border: 1px solid var(--gold-pale);
	box-shadow: 0 30px 80px rgba(110,42,98,.16);
	padding: 52px 56px;
	text-align: center;
}

.oa-gate__mono {
	font-family: 'Cormorant Garamond', serif;
	font-size: 64px;
	color: var(--gold);
	line-height: 1;
}
.oa-gate__mono em {
	font-style: normal;
	color: var(--magenta);
}

.oa-gate__brand {
	font-family: 'Cormorant Garamond', serif;
	font-size: 30px;
	letter-spacing: .22em;
	color: var(--gold);
	text-transform: uppercase;
	font-weight: 500;
	margin: 6px 0 2px;
}

.oa-gate__script {
	font-family: 'Parisienne', cursive;
	font-size: 24px;
	color: var(--magenta);
	margin-bottom: 24px;
}

.oa-gate__heading {
	font-size: 13px;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: var(--plum);
	margin-bottom: 16px;
	font-weight: 500;
}

.oa-gate__text {
	font-size: 13px;
	line-height: 1.7;
	color: var(--ink-soft);
	font-weight: 300;
	margin-bottom: 14px;
	text-align: left;
}

.oa-gate__list {
	font-size: 12.5px;
	line-height: 1.8;
	color: var(--ink-soft);
	font-weight: 300;
	text-align: left;
	margin: 0 0 24px 18px;
}

.oa-gate__actions {
	display: flex;
	flex-direction: column;
	gap: 12px;
	align-items: center;
}
.oa-gate__actions .oa-btn--primary {
	width: 100%;
}
.oa-gate__decline {
	font-size: 11px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--ink-soft);
	text-decoration: underline;
	text-underline-offset: 4px;
}

/* ─── Cart Drawer ─── */
.oa-drawer {
	position: fixed;
	inset: 0;
	z-index: 9999;
	pointer-events: none;
	visibility: hidden;
}
.oa-drawer.is-open {
	pointer-events: all;
	visibility: visible;
}

.oa-drawer__overlay {
	position: absolute;
	inset: 0;
	background: rgba(74,31,68,.45);
	backdrop-filter: blur(1.5px);
	opacity: 0;
	transition: opacity .3s ease;
}
.oa-drawer.is-open .oa-drawer__overlay { opacity: 1; }

.oa-drawer__panel {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 430px;
	max-width: 90vw;
	background: var(--ivory);
	box-shadow: -24px 0 60px rgba(74,31,68,.35);
	display: flex;
	flex-direction: column;
	transform: translateX(100%);
	transition: transform .35s cubic-bezier(.4,0,.2,1);
}
.oa-drawer.is-open .oa-drawer__panel { transform: translateX(0); }

.oa-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 24px 28px;
	border-bottom: 1px solid var(--gold-pale);
}
.oa-drawer__title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 24px;
	color: var(--plum);
	font-weight: 500;
}
.oa-drawer__script {
	font-size: 16px;
	color: var(--magenta);
}
.oa-drawer__close {
	background: none;
	border: none;
	font-size: 18px;
	color: var(--ink-soft);
	cursor: pointer;
	padding: 8px;
}
.oa-drawer__close:hover { color: var(--plum); }

.oa-drawer__items {
	flex: 1;
	padding: 10px 28px;
	overflow-y: auto;
}
.oa-drawer__empty {
	text-align: center;
	color: var(--ink-soft);
	padding: 48px 0;
	font-weight: 300;
}

.oa-drawer__foot {
	padding: 22px 28px 26px;
	border-top: 1px solid var(--gold-pale);
	background: var(--cream);
}
.oa-drawer__subtotal {
	display: flex;
	justify-content: space-between;
	font-size: 14px;
	color: var(--ink);
}
.oa-drawer__subtotal b { color: var(--gold); font-size: 18px; }
.oa-drawer__ruo {
	font-size: 9.5px;
	line-height: 1.55;
	color: var(--ink-soft);
	margin: 10px 0 14px;
	letter-spacing: .02em;
	font-weight: 300;
}
.oa-drawer__continue {
	display: block;
	width: 100%;
	text-align: center;
	font-size: 10px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--plum);
	margin-top: 12px;
	text-decoration: underline;
	text-underline-offset: 4px;
	background: none;
	border: none;
	cursor: pointer;
}

/* ─── Order Confirmation (thankyou.php) ─── */
.oa-thanks__hero {
	text-align: center;
	padding: 56px 56px 36px;
	background: linear-gradient(165deg, var(--orchid-pale), var(--ivory));
}
.oa-thanks__tick {
	width: 62px;
	height: 62px;
	border-radius: 50%;
	border: 1px solid var(--gold);
	color: var(--gold);
	font-size: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 16px;
	background: var(--ivory);
}
.oa-thanks__hero .oa-display {
	font-size: 46px;
	color: var(--plum);
	font-weight: 500;
}
.oa-thanks__hero .oa-script {
	font-size: 25px;
	color: var(--magenta);
	margin: 2px 0 8px;
}
.oa-thanks__email {
	font-size: 13.5px;
	color: var(--ink-soft);
	font-weight: 300;
}

.oa-thanks__meta {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	max-width: 860px;
	margin: 30px auto 0;
	border: 1px solid var(--gold-pale);
	background: var(--ivory);
}
.oa-thanks__meta > div {
	padding: 18px;
	text-align: center;
	border-right: 1px solid var(--hairline);
}
.oa-thanks__meta > div:last-child { border-right: none; }
.oa-thanks__meta-k {
	font-size: 9px;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--ink-soft);
	margin-bottom: 6px;
}
.oa-thanks__meta-v {
	font-family: 'Cormorant Garamond', serif;
	font-size: 18px;
	color: var(--plum);
	font-weight: 500;
}
.oa-thanks__meta-v--gold { color: var(--gold); }

.oa-thanks__body {
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	gap: 44px;
	padding: 40px 120px 64px;
}

.oa-thanks__details h3,
.oa-thanks__next h3 {
	font-family: 'Cormorant Garamond', serif;
	font-size: 22px;
	color: var(--plum);
	font-weight: 500;
	margin-bottom: 16px;
}

.oa-thanks__item {
	display: flex;
	gap: 14px;
	align-items: center;
	padding: 14px 0;
	border-bottom: 1px solid var(--hairline);
}
.oa-thanks__item:last-of-type { border-bottom: none; }
.oa-thanks__item-icon { font-size: 22px; flex: none; }
.oa-thanks__item-name {
	font-family: 'Cormorant Garamond', serif;
	font-size: 17px;
	color: var(--plum);
	font-weight: 500;
}
.oa-thanks__item-qty {
	font-size: 11px;
	color: var(--ink-soft);
	font-weight: 300;
}
.oa-thanks__item-price {
	margin-left: auto;
	font-size: 14px;
	color: var(--gold);
	font-weight: 600;
}

.oa-thanks__line {
	display: flex;
	justify-content: space-between;
	font-size: 13px;
	color: var(--ink-soft);
	padding: 8px 0;
	font-weight: 300;
}
.oa-thanks__line--total {
	border-top: 1px solid var(--gold-pale);
	margin-top: 8px;
	padding-top: 12px;
	font-size: 15px;
	color: var(--ink);
}
.oa-thanks__line--total b { color: var(--gold); }

.oa-thanks__next {
	background: var(--cream);
	border: 1px solid var(--gold-pale);
	padding: 28px;
}
.oa-thanks__ruo {
	font-size: 10px;
	line-height: 1.6;
	color: var(--ink-soft);
	margin-top: 16px;
	font-weight: 300;
}

/* ─── Mobile Age Gate ─── */
@media (max-width: 768px) {
	.oa-gate__card { padding: 36px 28px; }
	.oa-gate__mono { font-size: 48px; }
	.oa-gate__brand { font-size: 22px; letter-spacing: .16em; }
	.oa-gate__script { font-size: 20px; }

	.oa-thanks__meta { grid-template-columns: repeat(2, 1fr); }
	.oa-thanks__body { grid-template-columns: 1fr; padding: 32px 24px 48px; }
}
