/* Store tokens inherit Ghoti's selected theme, including AJAX-rendered views. */
.ghotiStore, #ghotiStoreManager {
	--store-surface: var(--surface, #fcfcfb);
	--store-raised: var(--surface-2, #f4f4f1);
	--store-text: var(--text, #17160f);
	--store-muted: var(--text-2, #6a6963);
	--store-line: var(--border, #ddd);
	--store-accent: var(--accent, #2a6fd6);
	--store-good: var(--good, #1b8a5a);
	--store-warn: #b06a00;
	--store-bad: var(--bad, #c0392b);
	min-width: 0;
}
:is(.smurfius-theme, .ghoticms-theme) :is(.ghotiStore, #ghotiStoreManager) {
	color-scheme: dark;
	--store-surface: var(--bg-panel);
	--store-raised: var(--bg-elevated);
	--store-text: var(--text-primary);
	--store-muted: #a5adbf;
	--store-line: var(--border-glow);
	--store-warn: var(--accent-warn);
}

.ghotiStore{ color: var(--store-text); }
.ghotiStore .sr-only{
	position:absolute; width:1px; height:1px; padding:0; margin:-1px;
	overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

.ghotiStoreBar{
	display:flex; align-items:center; justify-content:space-between;
	gap:1rem; flex-wrap:wrap; margin-bottom:1rem;
}
.ghotiStoreTitle{ margin:0; font-size:1.5rem; }
.ghotiStoreLead{ margin:0 0 1rem; color: var(--store-muted); }
.ghotiStoreEmpty{ color: var(--store-muted); padding:1.5rem 0; }
.ghotiStoreHelpText{ margin:1rem 0 0; color: var(--store-muted); font-size:.85rem; }
.ghotiStoreCartButton{ white-space:nowrap; }

/* ---- catalogue ---- */
.ghotiStoreGrid{
	display:grid; grid-template-columns: repeat(auto-fill, minmax(240px,1fr)); gap:1rem;
}
.ghotiStoreCard{
	display:flex; flex-direction:column; gap:.5rem;
	padding:1rem; border:1px solid var(--store-line); border-radius:14px;
	background: var(--store-surface);
}
.ghotiStoreCard h2{ margin:0; font-size:1.05rem; }
.ghotiStoreThumb{
	aspect-ratio: 4 / 3; overflow:hidden; border-radius:10px; background: var(--store-raised);
}
.ghotiStoreThumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.ghotiStoreBlurb{ margin:0; color: var(--store-muted); font-size:.88rem; }
.ghotiStoreTag{
	align-self:flex-start; padding:.1rem .45rem; border-radius:999px;
	background: color-mix(in srgb, var(--store-accent) 16%, transparent);
	color: var(--store-accent); font-size:.7rem; font-weight:700; text-transform:uppercase;
}
.ghotiStoreBuy{
	display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; margin-top:auto; padding-top:.5rem;
}
.ghotiStorePrice{ font-size:1.1rem; font-weight:700; margin-right:auto; }
.ghotiStoreQty input,
.ghotiStoreQtyInput{ width:4.5rem; }

/* ---- cart, checkout, receipt ---- */
.ghotiStoreTable{ width:100%; border-collapse:collapse; font-size:.9rem; }
.ghotiStoreTable th{
	text-align:left; padding:.45rem .6rem; color: var(--store-muted);
	font-size:.75rem; text-transform:uppercase; border-bottom:1px solid var(--store-line);
}
.ghotiStoreTable td{ padding:.6rem; border-bottom:1px solid var(--store-line); vertical-align:middle; }

.ghotiStoreTotals{ margin:1rem 0 0; display:flex; flex-direction:column; gap:.3rem; }
.ghotiStoreTotals > div{ display:flex; justify-content:space-between; gap:1rem; }
.ghotiStoreTotals dt{ color: var(--store-muted); }
.ghotiStoreTotals dd{ margin:0; font-variant-numeric: tabular-nums; }
.ghotiStoreTotals .ghotiStoreGrand{
	border-top:1px solid var(--store-line); margin-top:.3rem; padding-top:.4rem; font-weight:700;
}
.ghotiStoreTotals .ghotiStoreGrand dt{ color: var(--store-text); }
.ghotiStoreActions{ display:flex; gap:.5rem; flex-wrap:wrap; margin-top:1rem; }

.ghotiStoreSummary{
	padding:1rem; border:1px solid var(--store-line); border-radius:14px;
	background: var(--store-raised); margin-bottom:1rem;
}
.ghotiStoreSummary h2{ margin:0 0 .6rem; font-size:1rem; }
.ghotiStoreSummary ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.35rem; }
.ghotiStoreSummary li{ display:flex; justify-content:space-between; gap:1rem; font-size:.9rem; }
.ghotiStoreSummary li.ghotiStoreGrand{
	border-top:1px solid var(--store-line); margin-top:.3rem; padding-top:.4rem; font-weight:700;
}
.ghotiStoreFieldset{
	border:1px solid var(--store-line); border-radius:12px; padding:.9rem; margin:0 0 1rem;
}
.ghotiStoreFieldset legend{ padding:0 .4rem; color: var(--store-muted); font-size:.8rem; text-transform:uppercase; }

.ghotiStoreStatus{ min-height:1.4rem; margin:.5rem 0; color: var(--store-muted); font-size:.9rem; }
.ghotiStoreStatus.is-error{ color: var(--store-bad); }
/* The PayPal buttons render into an iframe of their own; give them a sane
   maximum so they do not stretch the width of a wide page. */
.ghotiStorePaypal{ max-width:420px; margin-top:.5rem; }
.ghotiStorePaymentMethods{ margin-top:1.25rem; }
.ghotiStorePaymentMethods > h2{ margin:0 0 .8rem; font-size:1.05rem; }
.ghotiStorePaymentOption{
	max-width:620px; margin:.75rem 0; padding:1rem;
	border:1px solid var(--store-line); border-radius:14px; background:var(--store-raised);
}
.ghotiStorePaymentOption h3{ margin:0 0 .75rem; font-size:.95rem; }
.ghotiStorePaymentOption .ghotiField{ max-width:320px; margin-bottom:.75rem; }
#ghotiStoreStripeElement, #ghotiStoreSquareCard{ min-height:48px; margin-bottom:.85rem; padding:.75rem; border:1px solid var(--store-line); border-radius:9px; background:var(--store-surface); }
.ghotiStoreCryptoPayment{ max-width:760px; }
.ghotiStoreCryptoDetails{
	display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem;
	margin:1rem 0; padding:1rem; border:1px solid var(--store-line); border-radius:14px; background:var(--store-raised);
}
.ghotiStoreCryptoDetails > div{ min-width:0; }
.ghotiStoreCryptoDetails dt{ color:var(--store-muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; }
.ghotiStoreCryptoDetails dd{ margin:.25rem 0 0; overflow-wrap:anywhere; }
.ghotiStoreCryptoDetails code{ word-break:break-all; }
.ghotiStoreCryptoDetails .ghotiTextButton{ margin-left:.6rem; }
.ghotiStoreCryptoState{ padding:.75rem 1rem; border-radius:10px; background:var(--store-raised); }

.ghotiStoreDownloads{
	margin-top:1.2rem; padding:1rem; border:1px solid var(--store-line);
	border-radius:14px; background: var(--store-raised);
}
.ghotiStoreDownloads h2{ margin:0 0 .5rem; font-size:1rem; }
.ghotiStoreDownloads ul{ margin:0; padding-left:1.1rem; }
.ghotiStoreDownloads li{ margin-bottom:.35rem; }
.ghotiStoreDownloads small{ color: var(--store-muted); }
.ghotiStoreMissing{ color: var(--store-bad); }

/* ---- admin ---- */
#ghotiStoreManager .ghotiStoreTabs{
	display:flex; gap:.3rem; flex-wrap:wrap;
	border-bottom:1px solid var(--store-line); margin-bottom:1rem;
}
#ghotiStoreManager .ghotiStoreTab{
	padding:.45rem .85rem; border:0; border-bottom:2px solid transparent;
	background:none; color: var(--store-muted); font: inherit; font-size:.9rem; cursor:pointer;
}
#ghotiStoreManager .ghotiStoreTab:hover{ color: var(--store-text); }
#ghotiStoreManager .ghotiStoreTab.is-active{
	color: var(--store-text); border-bottom-color: var(--store-accent); font-weight:600;
}
#ghotiStoreManager .ghotiStoreAdminHead{
	display:flex; align-items:center; justify-content:space-between;
	gap:1rem; flex-wrap:wrap; margin-bottom:.8rem;
}
#ghotiStoreManager .ghotiStoreAdminHead h2,
#ghotiStoreManager .ghotiStoreAdminHead h3{ margin:0; font-size:1.05rem; }
#ghotiStoreManager .ghotiStoreAdminTableWrap{ overflow-x:auto; }
/* The name column gives way last: with the badge and action buttons unable to
 * wrap, a narrow screen would otherwise squeeze names to a word per line. The
 * wrapper scrolls sideways instead. */
#ghotiStoreManager .ghotiStoreTable td:first-child{ min-width:12rem; }
#ghotiStoreManager .ghotiStoreProductForm,
#ghotiStoreManager .ghotiStoreOrderDetail{
	margin-bottom:1rem; padding:1rem;
	border:1px solid var(--store-line); border-radius:14px; background: var(--store-raised);
}
#ghotiStoreManager .ghotiStoreDetailGrid{
	display:grid; grid-template-columns: repeat(auto-fit, minmax(200px,1fr));
	gap:.6rem; margin:0 0 1rem;
}
#ghotiStoreManager .ghotiStoreDetailGrid dt{ color: var(--store-muted); font-size:.75rem; text-transform:uppercase; }
#ghotiStoreManager .ghotiStoreDetailGrid dd{ margin:.15rem 0 0; }
#ghotiStoreManager .ghotiStoreOrderTotal{ font-weight:700; text-align:right; margin:.6rem 0 0; }
#ghotiStoreManager .ghotiStoreDownloadList{ margin:.3rem 0 0; padding-left:1.1rem; color: var(--store-muted); font-size:.85rem; }

.ghotiStoreBadge{
	display:inline-block; padding:.1rem .5rem; border-radius:999px; white-space:nowrap;
	font-size:.72rem; font-weight:700; text-transform:uppercase;
	background: color-mix(in srgb, var(--store-muted) 18%, transparent); color: var(--store-muted);
}
.ghotiStoreBadge-paid{ background: color-mix(in srgb, var(--store-good) 18%, transparent); color: var(--store-good); }
.ghotiStoreBadge-active,
.ghotiStoreBadge-approved,
.ghotiStoreBadge-confirmed,
.ghotiStoreBadge-sending,
.ghotiStoreBadge-finished{ background: color-mix(in srgb, var(--store-good) 18%, transparent); color: var(--store-good); }
.ghotiStoreBadge-shipped{ background: color-mix(in srgb, var(--store-accent) 18%, transparent); color: var(--store-accent); }
.ghotiStoreBadge-pending,
.ghotiStoreBadge-waiting,
.ghotiStoreBadge-confirming,
.ghotiStoreBadge-partially_paid,
.ghotiStoreBadge-approval_pending{ background: color-mix(in srgb, var(--store-warn) 20%, transparent); color: var(--store-warn); }
.ghotiStoreBadge-failed,
.ghotiStoreBadge-suspended,
.ghotiStoreBadge-expired,
.ghotiStoreBadge-cancelled{ background: color-mix(in srgb, var(--store-bad) 18%, transparent); color: var(--store-bad); }

@media (max-width: 640px){
	.ghotiStoreGrid{ grid-template-columns:minmax(0,1fr); }
	.ghotiStoreBar{ align-items:stretch; flex-direction:column; }
	.ghotiStorePrice{ margin-right:0; width:100%; }
	.ghotiStoreCryptoDetails{ grid-template-columns:minmax(0,1fr); }
}

/* Collection and merchandising. The same tokens carry through light and dark themes. */
.ghotiStore, #ghotiStoreManager { box-sizing:border-box; }
.ghotiStore *, #ghotiStoreManager * { box-sizing:inherit; }
.ghotiStore [hidden], #ghotiStoreManager [hidden] { display:none !important; }
.ghotiStoreCatalog { padding:clamp(1rem, 3vw, 2.5rem); background:var(--store-surface); border:1px solid var(--store-line); border-radius:24px; }
.ghotiStoreHero { display:flex; justify-content:space-between; align-items:center; gap:2rem; padding:1rem 0 2rem; border-bottom:1px solid var(--store-line); }
.ghotiStoreEyebrow { margin:0 0 .8rem; font-size:.7rem; font-weight:750; letter-spacing:.18em; color:var(--store-accent); }
.ghotiStoreHero .ghotiStoreTitle { font-size:clamp(1.8rem, 3.7vw, 3.3rem); font-weight:750; letter-spacing:-.045em; line-height:1.08; max-width:18ch; }
.ghotiStoreHero .ghotiStoreLead { margin:1rem 0 0; max-width:46ch; line-height:1.6; }
.ghotiStoreCartButton { display:flex; flex-direction:column; align-items:flex-start; gap:.3rem; }
.ghotiStoreCartSummary { font-size:.75rem; font-weight:400; }
.ghotiStoreTools { display:grid; grid-template-columns:minmax(0, 2fr) repeat(2,minmax(0,1fr)); gap:1rem; padding:1.5rem 0 1rem; }
.ghotiStoreTools label, .ghotiStoreAdminSearch label { display:flex; flex-direction:column; gap:.45rem; font-size:.75rem; font-weight:650; color:var(--store-muted); min-width:0; }
.ghotiStoreTools input, .ghotiStoreTools select, .ghotiStoreAdminSearch input,
.ghotiStoreQty input, .ghotiStoreQtyInput { font:inherit; color:var(--store-text); background:var(--store-surface); border:1px solid var(--store-line); border-radius:9px; padding:.7rem; min-height:44px; max-width:100%; }
.ghotiStoreTools input, .ghotiStoreTools select { width:100%; font-size:.88rem; }
.ghotiStore :is(button, a, input, select, summary):focus-visible,
#ghotiStoreManager :is(button, a, input, select, textarea):focus-visible { outline:3px solid var(--store-accent); outline-offset:3px; }
.ghotiStoreCollectionBar { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:.4rem 0 1.5rem; }
.ghotiStoreChips { display:flex; flex-wrap:wrap; gap:.45rem; }
.ghotiStoreChips button { cursor:pointer; border:1px solid var(--store-line); border-radius:100px; padding:.55rem .9rem; min-height:40px; background:transparent; color:var(--store-muted); font:inherit; font-size:.8rem; }
.ghotiStoreChips button[aria-pressed="true"] { background:var(--store-text); color:var(--store-surface); border-color:var(--store-text); }
.ghotiStoreResultCount { font-size:.78rem; color:var(--store-muted); white-space:nowrap; margin:0; }
.ghotiStoreCatalog .ghotiStoreGrid { grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr)); gap:1.3rem; }
.ghotiStoreCatalog .ghotiStoreCard { padding:0; gap:0; overflow:hidden; border-radius:16px; transition:transform .18s ease, box-shadow .18s ease; min-width:0; }
@media (hover:hover) {
	.ghotiStoreCatalog .ghotiStoreCard:hover { transform:translateY(-3px); box-shadow:0 12px 30px #0000000c; }
}
.ghotiStoreCatalog .ghotiStoreThumb { border-radius:0; aspect-ratio:1.18; position:relative; border-bottom:1px solid var(--store-line); background:linear-gradient(135deg,var(--store-raised),color-mix(in srgb,var(--store-accent) 9%,var(--store-surface))); }
.ghotiStoreCatalog .ghotiStoreThumb img { object-fit:contain; padding:.7rem; }
.ghotiStorePlaceholder { display:grid; place-items:center; height:100%; color:color-mix(in srgb,var(--store-accent) 65%,var(--store-muted)); font-size:5rem; font-weight:300; }
.ghotiStoreRibbon { position:absolute; top:1rem; left:1rem; padding:.4rem .65rem; background:var(--store-surface); color:var(--store-text); border:1px solid var(--store-line); border-radius:100px; font-size:.68rem; font-weight:700; max-width:calc(100% - 2rem); overflow-wrap:anywhere; }
.ghotiStoreCardBody { display:flex; flex-direction:column; gap:.7rem; padding:1.2rem; flex:1; }
.ghotiStoreMeta { display:flex; justify-content:space-between; gap:.5rem; color:var(--store-muted); font-size:.65rem; text-transform:uppercase; letter-spacing:.055em; overflow-wrap:anywhere; }
.ghotiStoreCatalog .ghotiStoreCard h2 { font-size:1.16rem; line-height:1.35; letter-spacing:-.02em; overflow-wrap:anywhere; }
.ghotiStoreDescription { color:var(--store-muted); font-size:.8rem; }
.ghotiStoreDescription summary { cursor:pointer; padding:.2rem 0; }
.ghotiStoreDescription p { margin-top:.55rem; line-height:1.6; overflow-wrap:anywhere; }
.ghotiStorePricing { display:flex; flex-wrap:wrap; align-items:baseline; gap:.5rem; margin-top:auto; padding-top:.35rem; }
.ghotiStorePricing del { color:var(--store-muted); font-size:.8rem; }
.ghotiStorePricing .ghotiStorePrice { width:auto; font-size:1.14rem; }
.ghotiStorePrice small { font-size:.7rem; font-weight:400; color:var(--store-muted); }
.ghotiStoreDelivery { font-size:.75rem; color:var(--store-muted); margin:0; overflow-wrap:anywhere; }
.ghotiStoreCatalog .ghotiStoreBuy { margin-top:0; flex-wrap:nowrap; padding-top:.2rem; align-items:stretch; }
.ghotiStoreBuy .ghotiButton { flex:1; display:flex; justify-content:center; align-items:center; gap:.5rem; min-height:44px; text-decoration:none; text-align:center; }
.ghotiStorePurchaseNote { margin:0; color:var(--store-muted); font-size:.7rem; line-height:1.5; }
.ghotiStoreTrust { display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-top:2rem; padding-top:1.3rem; border-top:1px solid var(--store-line); color:var(--store-muted); font-size:.72rem; }
.ghotiStoreEmpty { text-align:center; padding:3rem 1rem; }
.ghotiStoreEmpty h2 { color:var(--store-text); font-size:1.4rem; }
.ghotiStoreTableScroll { overflow-x:auto; }
.ghotiStoreTotals { background:var(--store-raised); border-radius:12px; padding:1.2rem; gap:.65rem; }
#ghotiStoreManager { color:var(--store-text); }
.ghotiStoreStats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-bottom:1.6rem; }
.ghotiStoreStats > div { display:flex; flex-direction:column; gap:.6rem; border:1px solid var(--store-line); background:var(--store-surface); padding:1.2rem; border-radius:14px; }
.ghotiStoreStats span { color:var(--store-muted); font-size:.75rem; }
.ghotiStoreStats strong { font-size:1.8rem; letter-spacing:-.04em; }
.ghotiStoreAdminSearch { display:flex; justify-content:space-between; align-items:end; gap:1rem; margin:1rem 0; }
.ghotiStoreAdminSearch label { flex:1; max-width:540px; }
.ghotiStoreAdminSearch > span { font-size:.75rem; color:var(--store-muted); padding-bottom:.8rem; }
.ghotiStoreAdminProduct { display:flex; align-items:center; gap:.7rem; min-width:140px; }
.ghotiStoreAdminProduct img { width:42px; height:42px; object-fit:contain; border-radius:8px; background:var(--store-raised); }
.ghotiStoreRowActions { display:flex; gap:.4rem; }
.ghotiStoreSpringPanel { margin:1.2rem 0; padding:1.5rem; border:1px solid color-mix(in srgb,var(--store-accent) 35%,var(--store-line)); border-radius:16px; background:linear-gradient(120deg,color-mix(in srgb,var(--store-accent) 8%,var(--store-surface)),var(--store-surface)); }
.ghotiStoreSpringPanel h3 { margin:.5rem 0; }
.ghotiStoreSpringPanel p { font-size:.88rem; line-height:1.6; max-width:80ch; }
.ghotiStoreSpringPanel a { color:var(--store-accent); }
#ghotiStoreManager .ghotiStoreFieldset { padding:1.25rem; background:var(--store-surface); }
#ghotiStoreManager .ghotiStoreTabs { gap:.5rem; padding:.3rem 0; }
#ghotiStoreManager .ghotiStoreTab { min-height:44px; }
@media(max-width:760px) {
	.ghotiStoreHero { align-items:flex-start; flex-direction:column; gap:1.3rem; }
	.ghotiStoreTools { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.ghotiStoreSearch { grid-column:1 / -1; }
	.ghotiStoreCollectionBar { align-items:flex-start; flex-direction:column; }
	.ghotiStoreStats { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(prefers-reduced-motion:reduce) {
	.ghotiStoreCatalog .ghotiStoreCard { transition:none; }
	.ghotiStoreCatalog .ghotiStoreCard:hover { transform:none; }
}
/* Keep long provider labels and URLs readable instead of inheriting six narrow columns. */
#ghotiStoreManager .ghotiStoreProductForm .ghotiFormGrid { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
#ghotiStoreManager #storeSpringField { grid-column:1 / -1; }
#ghotiStoreManager #storeSpringField small { font-weight:400; line-height:1.5; }
@media(max-width:640px) {
	#ghotiStoreManager .ghotiStoreProductForm .ghotiFormGrid { grid-template-columns:minmax(0,1fr); }
}

/* Commerce controls share the site's typography, colours and touch targets. */
.ghotiStoreBenefits { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:1rem; margin-block:1.25rem; }
.ghotiStoreBenefit { display:flex; flex-direction:column; gap:.55rem; padding:1.1rem; border:1px solid var(--store-line); border-radius:12px; background:var(--store-raised); line-height:1.5; }
.ghotiStoreBenefit small, .ghotiStoreCoupon small { color:var(--store-muted); }
.ghotiStoreBenefit progress { width:100%; height:.55rem; accent-color:var(--store-accent); }
.ghotiStoreCoupon { margin-block:1.5rem; display:flex; flex-direction:column; gap:.6rem; }
.ghotiStoreCoupon > div { display:flex; flex-wrap:wrap; gap:.5rem; }
.ghotiStoreCoupon input { flex:1 1 180px; min-width:0; }
.ghotiStoreSave { align-self:flex-start; border:0; padding:.4rem 0; min-height:44px; color:var(--store-muted); background:transparent; font:inherit; font-size:.8rem; cursor:pointer; }
.ghotiStoreSave[aria-pressed="true"], .ghotiStoreSavings { color:var(--store-accent); }
:is(.ghotiStore, #ghotiStoreManager) :is(input, select, textarea) { max-width:100%; min-height:44px; color:var(--store-text); background:var(--store-surface); border:1px solid var(--store-line); padding:.65rem; border-radius:6px; font:inherit; }
:is(.ghotiStore, #ghotiStoreManager) input[type="checkbox"] { min-height:auto; accent-color:var(--store-accent); }
:is(.ghotiStore, #ghotiStoreManager) .ghotiFormGrid { grid-template-columns:repeat(2,minmax(0,1fr)); }
:is(.ghotiStore, #ghotiStoreManager) :is(.ghotiField, fieldset) { min-width:0; }
#ghotiStoreManager #ghotiStoreSettingsForm .ghotiFormGrid {
	/* Admin content can sit in a narrower theme column even on a wide screen.
	   Give a roomy panel more breathing space without squeezing its two columns. */
	gap:1.15rem clamp(1rem,3cqi,2rem);
	align-items:start;
}
@container (max-width:54rem) {
	#ghotiStoreManager #ghotiStoreSettingsForm .ghotiFormGrid {
		/* Respond to the content panel rather than the viewport: sidebar themes
		   can reach this width on a laptop long before a mobile media query fires. */
		grid-template-columns:minmax(0,1fr);
	}
}
.ghotiStore :is(.ghotiButton, .ghotiStoreSave) { min-height:44px; }
.ghotiStoreSummary li > span:first-child { min-width:0; overflow-wrap:anywhere; }
.ghotiStoreSummary li > span:last-child { flex-shrink:0; }
#ghotiStoreCart .ghotiStoreTable td:first-child { overflow-wrap:anywhere; }
@media(max-width:600px) {
	:is(.ghotiStore, #ghotiStoreManager) .ghotiFormGrid { grid-template-columns:minmax(0,1fr); }
	.ghotiStore :is(input, select, textarea) { font-size:16px; }
	#ghotiStoreCart .ghotiStoreTable { min-width:0; }
	#ghotiStoreCart .ghotiStoreTable thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
	#ghotiStoreCart .ghotiStoreTable :is(tbody, tr) { display:block; }
	#ghotiStoreCart .ghotiStoreTable tr { display:grid; grid-template-columns:1fr 1fr; gap:.3rem; padding:.8rem 0; border-bottom:1px solid var(--store-line); }
	#ghotiStoreCart .ghotiStoreTable td { display:block; border:0; padding:.35rem; }
	#ghotiStoreCart .ghotiStoreTable td:first-child { grid-column:1 / -1; font-weight:700; }
	#ghotiStoreCart .ghotiStoreTable td:nth-child(2)::before { content:'Each: '; color:var(--store-muted); }
	#ghotiStoreCart .ghotiStoreTable td:nth-child(4)::before { content:'Line: '; color:var(--store-muted); }
	#ghotiStoreCart .ghotiStoreTable td:last-child { text-align:right; }
	.ghotiStoreTools { gap:.7rem; }
}

.ghotiStoreOfferStrip { display:flex; flex-wrap:wrap; gap:.75rem 1.5rem; padding:1rem 0; border-bottom:1px solid var(--store-line); color:var(--store-accent); font-size:.8rem; }
.ghotiStoreOfferStrip small { flex-basis:100%; color:var(--store-muted); }
.ghotiStore .ghotiStoreSave { box-shadow:none; border-radius:0; }
