/**
 * Purum Commerce storefront styles.
 *
 * Structure follows the Mito Labs reference — rounded cells, a two-column
 * quantity ladder, disclosure sections. Colour and type are Purum's, resolved
 * from the theme's theme.json tokens so the plugin inherits the palette rather
 * than declaring a second one. Fallbacks apply only without the Purum theme.
 */

.purum-schedule,
.purum-bundle,
.purum-certificate,
.purum-upsells,
.purum-tracking,
.purum-crosssell,
.purum-sections,
.purum-refs,
.purum-trust-strip,
.purum-metaline{
	--pc-ink: var(--wp--preset--color--contrast, #0E1419);
	--pc-slate: var(--wp--preset--color--slate, #1C2A33);
	--pc-body: var(--wp--preset--color--body-text, #3A4650);
	--pc-mute: var(--wp--preset--color--mute, #828E98);
	--pc-line: var(--wp--preset--color--line, #DEE1E4);
	--pc-steel: var(--wp--preset--color--steel, #C9CDD2);
	--pc-panel: var(--wp--preset--color--sand, #F2F0EB);
	--pc-surface: var(--wp--preset--color--surface, #ffffff);
	--pc-ice: var(--wp--preset--color--ice, #3E7A92);
	--pc-ice-tint: var(--wp--preset--color--ice-tint, #EAF1F4);
	--pc-mono: var(--wp--preset--font-family--mono, "DM Mono", ui-monospace, monospace);
	--pc-sans: var(--wp--preset--font-family--body, "Inter Tight", system-ui, sans-serif);
}

.purum-eyebrow{
	font-family: var(--pc-mono);
	font-size: .5625rem;
	font-weight: 400;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: var(--pc-mute);
	margin: 0 0 .8rem;
}

/* ── price schedule ─────────────────────────────────────────
   Two columns of rounded cells; the qualifying band is marked
   with Ice — the view's single accent use. */
.purum-schedule{ margin: 1.5rem 0; }

.purum-schedule__rows{
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
}
@media (max-width: 420px){ .purum-schedule__rows{ grid-template-columns: 1fr; } }

.purum-schedule__row{
	position: relative;
	display: flex; flex-direction: column; gap: .25rem;
	padding: .85rem 1rem;
	border: 1px solid var(--pc-line);
	border-radius: 14px;
	background: var(--pc-surface);
	transition: border-color .18s ease, background .18s ease;
}
.purum-schedule__row.is-active{
	border-color: var(--pc-ice);
	background: var(--pc-ice-tint);
	box-shadow: 0 0 0 1px var(--pc-ice) inset;
}

.purum-schedule__band{
	font-family: var(--pc-mono); font-size: .6875rem;
	letter-spacing: .06em; color: var(--pc-body);
}
.purum-schedule__off{
	position: absolute; top: .5rem; right: .55rem;
	background: var(--pc-ink); color: #fff;
	font-family: var(--pc-mono); font-size: .5625rem;
	letter-spacing: .08em; text-transform: uppercase;
	padding: .18rem .45rem; border-radius: 9999px;
}
.purum-schedule__price{
	font-family: var(--pc-mono); font-size: .9375rem; font-weight: 500;
	color: var(--pc-ink); font-variant-numeric: tabular-nums;
}
.purum-schedule__price s{
	font-size: .6875rem; font-weight: 400; color: var(--pc-mute); margin-left: .35rem;
}

/* ── trust strip ────────────────────────────────────────────── */
.purum-trust-strip{
	list-style: none; margin: 1.25rem 0 0; padding: 0;
	display: grid; grid-template-columns: 1fr 1fr; gap: .5rem 1rem;
}
.purum-trust-strip li{
	display: flex; align-items: center; gap: .5rem;
	font-family: var(--pc-mono); font-size: .625rem;
	letter-spacing: .1em; text-transform: uppercase; color: var(--pc-body);
}
.purum-trust-strip li::before{
	content: ""; width: 4px; height: 4px; background: var(--pc-steel); flex: none;
}

/* ── sku / stock line ───────────────────────────────────────── */
.purum-metaline{
	margin: 1rem 0 0;
	font-family: var(--pc-mono); font-size: .625rem;
	letter-spacing: .12em; text-transform: uppercase;
	color: var(--pc-mute); font-variant-numeric: tabular-nums;
}

/* ── bundle contents ────────────────────────────────────────── */
.purum-bundle{ margin: 1.5rem 0; }
.purum-bundle__rows{
	list-style: none; margin: 0; padding: 0;
	border: 1px solid var(--pc-line); border-radius: 16px; overflow: hidden;
}
.purum-bundle__row{
	display: flex; align-items: center; justify-content: space-between;
	gap: 1rem; padding: .85rem 1rem;
	border-bottom: 1px solid var(--pc-line); background: var(--pc-surface);
}
.purum-bundle__row:last-child{ border-bottom: 0; }
.purum-bundle__name{ font-size: .875rem; color: var(--pc-ink); }
.purum-bundle__price{
	font-family: var(--pc-mono); font-size: .75rem;
	color: var(--pc-mute); font-variant-numeric: tabular-nums;
}
.purum-bundle__anchor{
	margin: .75rem 0 0; font-family: var(--pc-mono); font-size: .6875rem;
	letter-spacing: .05em; color: var(--pc-body); font-variant-numeric: tabular-nums;
}

/* ── bundle cross-sell ──────────────────────────────────────── */
.purum-crosssell{
	display: block; margin: 1rem 0; padding: .95rem 1.1rem;
	border: 1px solid var(--pc-line); border-left: 2px solid var(--pc-ink);
	background: var(--pc-panel); border-radius: 12px;
	text-decoration: none; color: var(--pc-ink);
	font-size: .875rem; line-height: 1.55;
	transition: border-color .15s ease;
}
.purum-crosssell:hover{ border-color: var(--pc-steel); border-left-color: var(--pc-ink); }
.purum-crosssell__text{ display: block; }

/* ── disclosure sections ────────────────────────────────────── */
.purum-sections{
	margin: 2rem 0 0;
	border-top: 1px solid var(--pc-line);
}
.purum-section{ border-bottom: 1px solid var(--pc-line); }
.purum-section__summary{
	list-style: none; cursor: pointer;
	display: flex; align-items: center; justify-content: space-between;
	padding: 1.15rem 0;
	font-family: var(--pc-sans); font-size: 1rem; font-weight: 600;
	letter-spacing: -.015em; color: var(--pc-ink);
}
.purum-section__summary::-webkit-details-marker{ display: none; }
.purum-section__summary::after{
	content: "+"; font-family: var(--pc-mono); font-size: 1rem;
	color: var(--pc-mute); line-height: 1; margin-left: 1rem;
}
.purum-section[open] > .purum-section__summary::after{ content: "\2013"; }
.purum-section__body{
	padding: 0 0 1.5rem; max-width: 44rem;
	font-size: .9375rem; line-height: 1.7; color: var(--pc-body);
}
.purum-section__body p{ margin: 0 0 .85rem; }
.purum-section__body p:last-child{ margin-bottom: 0; }
.purum-section__body ul{ margin: 0 0 .85rem; padding-left: 1.1rem; }
.purum-section__body li{ margin: 0 0 .4rem; }
.purum-section__body strong{ color: var(--pc-ink); font-weight: 600; }

/* ── references ─────────────────────────────────────────────── */
.purum-refs{ margin: 2rem 0 0; }
.purum-refs__list{
	margin: 0; padding-left: 1.2rem;
	font-size: .8125rem; line-height: 1.75; color: var(--pc-body);
}
.purum-refs__list li{ margin-bottom: .45rem; }
.purum-refs__id{
	font-family: var(--pc-mono); font-size: .625rem;
	letter-spacing: .08em; color: var(--pc-mute);
}

/* ── certificate ────────────────────────────────────────────── */
.purum-certificate{
	margin: 2rem 0; padding: 1.75rem;
	background: var(--pc-slate); color: var(--pc-steel);
	border-radius: 24px;
}
.purum-certificate__title{
	margin: 0 0 1.15rem; font-family: var(--pc-sans);
	font-size: 1.125rem; font-weight: 600; letter-spacing: -.02em; color: #fff;
}
.purum-certificate__data{
	display: grid; grid-template-columns: auto 1fr; gap: .5rem 1.75rem;
	margin: 0 0 1.5rem; font-family: var(--pc-mono);
	font-size: .75rem; letter-spacing: .06em; font-variant-numeric: tabular-nums;
}
.purum-certificate__data dt{
	font-size: .625rem; letter-spacing: .16em; text-transform: uppercase;
	color: #8FBCCD; align-self: center;
}
.purum-certificate__data dd{ margin: 0; color: #fff; }
.purum-certificate__link{
	display: inline-flex; align-items: center; min-height: 42px;
	padding: 0 1.35rem; border-radius: 9999px;
	background: #fff; color: var(--pc-slate);
	font-family: var(--pc-mono); font-size: .625rem;
	letter-spacing: .14em; text-transform: uppercase; text-decoration: none;
}
.purum-certificate__link:hover{ background: var(--pc-ice-tint); }

/* ── upsells ────────────────────────────────────────────────── */
.purum-upsells{ display: flex; flex-direction: column; gap: .75rem; margin: 1.75rem 0; }
.purum-upsell{
	display: flex; align-items: center; justify-content: space-between;
	gap: 1rem; flex-wrap: wrap; padding: 1rem 1.15rem;
	border: 1px solid var(--pc-line); border-radius: 16px; background: var(--pc-surface);
}
.purum-upsell--bundle{ border-color: var(--pc-steel); background: var(--pc-panel); }
.purum-upsell__body{ min-width: 0; flex: 1 1 16rem; }
.purum-upsell__name{ margin: 0; font-size: .9375rem; font-weight: 600; color: var(--pc-ink); }
.purum-upsell__meta{ margin: .2rem 0 0; font-size: .8125rem; color: var(--pc-body); line-height: 1.5; }
.purum-upsell__action{
	flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
	min-height: 42px; padding: 0 1.35rem;
	border: 1px solid var(--pc-ink); border-radius: 9999px;
	background: var(--pc-ink); color: #fff;
	font-family: var(--pc-mono); font-size: .625rem;
	letter-spacing: .14em; text-transform: uppercase;
	text-decoration: none; cursor: pointer; transition: background .15s ease;
}
.purum-upsell__action:hover{ background: var(--pc-slate); }
.purum-upsell__action[aria-busy="true"]{ opacity: .5; pointer-events: none; }
.purum-upsell__error{ flex: 1 0 100%; margin: .5rem 0 0; font-size: .8125rem; color: #8C3130; }

/* ── tracking ───────────────────────────────────────────────── */
.purum-tracking{ margin: 2rem 0; }
.purum-tracking__title{ font-size: 1.15rem; font-weight: 600; letter-spacing: -.02em; margin: 0 0 .85rem; }
.purum-tracking__row{
	padding: 1.15rem; border: 1px solid var(--pc-line);
	border-radius: 16px; margin-bottom: .6rem; background: var(--pc-surface);
}
.purum-tracking__status{ margin: 0; font-weight: 600; color: var(--pc-ink); }
.purum-tracking__carrier{ margin: .2rem 0 0; font-size: .875rem; color: var(--pc-body); }
.purum-tracking__number{
	margin: .35rem 0 0; font-family: var(--pc-mono); font-size: .75rem;
	letter-spacing: .07em; font-variant-numeric: tabular-nums;
}

/* Injected markup is raw HTML, so the constrained layout would otherwise
   drop it to the content measure and centre it. */
.is-layout-constrained > .purum-certificate,
.is-layout-constrained > .purum-upsells,
.is-layout-constrained > .purum-tracking,
.is-layout-constrained > .purum-sections,
.is-layout-constrained > .purum-refs{
	max-width: none; margin-left: 0; margin-right: 0;
}

@media (prefers-reduced-motion: reduce){
	.purum-crosssell, .purum-upsell__action, .purum-schedule__row{ transition: none; }
}
