.store-shell,
.store-product-detail,
.store-cart-lines,
.store-checkout-grid,
.store-receipt {
	--store-ink: var(--theme-text);
	--store-muted: var(--theme-muted);
	--store-surface: var(--theme-surface);
	--store-canvas: var(--theme-bg);
	--store-line: var(--theme-line);
	--store-accent: var(--theme-accent);
	--store-accent-dark: var(--theme-accent-dark);
	--store-soft: var(--theme-surface-muted);
	--store-danger: var(--theme-danger);
	color: var(--store-ink);
}

.store-shell {
	inline-size: min(100%, 76rem);
	margin-inline: auto;
	padding: 2rem 1.25rem 4rem;
}

.store-hero,
.store-simple-header,
.store-results-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 1rem;
	margin-block-end: 1.4rem;
	border: 1px solid var(--store-line);
	border-block-start: 0.3rem solid var(--store-accent);
	background: var(--store-surface);
	padding: clamp(1.25rem, 4vw, 2.2rem);
	box-shadow: var(--theme-shadow);
}

.store-hero h1,
.store-simple-header h1 {
	margin-block-end: 0.4rem;
}

.store-eyebrow,
.store-card-meta,
.store-sandbox-badge {
	color: var(--store-accent-dark);
	font-size: .875rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.store-category-nav,
.store-browse-tools,
.store-search,
.store-account-actions,
.store-receipt-actions,
.store-sandbox-actions,
.store-pagination {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	flex-wrap: wrap;
}

.store-category-nav,
.store-browse-tools {
	margin-block-end: 1.2rem;
	border: 1px solid var(--store-line);
	background: var(--store-soft);
	padding: 0.8rem;
}

.store-category-nav a,
.store-back-link,
.store-secondary-link,
.store-site-info-link,
.store-pagination a,
.store-pagination span {
	display: inline-flex;
	align-items: center;
	min-block-size: 2.45rem;
	border: 1px solid var(--store-line);
	background: var(--store-surface);
	color: var(--store-accent-dark);
	padding: 0.45rem 0.75rem;
	font-weight: 750;
	text-decoration: none;
}

.store-category-nav a:hover,
.store-category-nav .is-active,
.store-pagination a:hover,
.store-pagination .is-active {
	border-color: var(--store-accent-dark);
	background: var(--store-accent-dark);
	color: var(--cms-color-on-accent);
}

.store-grid {
	display: grid;
	align-items: start;
	gap: 1rem;
}

.store-grid-one { grid-template-columns: 1fr; }
.store-grid-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.store-grid-three,
.store-grid-responsive { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.store-card {
	position: relative;
	display: flex;
	min-inline-size: 0;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--store-line);
	background: var(--store-surface);
	box-shadow: var(--theme-shadow);
}

.store-card::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	z-index: 2;
	block-size: .3rem;
	background: var(--store-accent);
}

.store-card:nth-child(3n + 1)::before { background: var(--theme-highlight); }
.store-card:nth-child(3n + 2)::before { background: var(--cms-color-secondary-accent); }
.store-card:nth-child(3n)::before { background: var(--store-accent); }

.store-card-media,
.store-product-media {
	position: relative;
	display: block;
	overflow: hidden;
	border-block-end: 1px solid var(--store-line);
	background: var(--theme-dark-soft);
}

.store-card-media {
	aspect-ratio: 16 / 7;
}

.store-card-media img,
.store-product-media img {
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
}

.store-card-placeholder,
.store-product-placeholder {
	display: grid;
	place-items: center;
	min-block-size: 13rem;
	color: var(--cms-color-text-inverse);
	font-weight: 750;
	text-align: center;
}

.store-card-placeholder {
	min-block-size: 7.5rem;
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--theme-highlight) 22%, transparent), transparent 62%),
		linear-gradient(160deg, var(--theme-dark-soft), var(--theme-dark));
	color: var(--cms-color-text-inverse-muted);
	font-size: clamp(2.4rem, 6vw, 4.3rem);
	font-weight: 850;
	letter-spacing: -.06em;
}

.store-card-body {
	display: grid;
	gap: 0.55rem;
	flex: 1 1 auto;
	padding: 1rem 1rem 1.1rem;
}

.store-card-body > p:last-child { margin-block-end: 0; }

.fhc-site .store-card-body > p {
	min-height: 0;
}

.store-card-body h2,
.store-card-body h3 {
	margin: 0;
}

.store-card-body h2 a,
.store-card-body h3 a {
	color: var(--store-ink);
	text-decoration: none;
}

.store-card-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.8rem;
	border-block-start: 1px solid var(--store-line);
	padding: 0.85rem 1rem;
	background: color-mix(in srgb, var(--store-soft) 68%, var(--store-surface));
}

.store-price,
.store-product-price,
.store-cart-money {
	color: var(--store-accent-dark);
	font-family: inherit;
	font-size: 1.15rem;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
}

.store-stock {
	color: var(--theme-warning);
	font-weight: 750;
}

.store-button,
.store-cart-link,
.store-add-cart-button,
.store-load-button,
.store-cart-update-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-block-size: 2.7rem;
	border: 1px solid var(--store-accent-dark);
	background: var(--store-accent-dark);
	color: var(--cms-color-on-accent);
	padding: 0.55rem 0.9rem;
	font: inherit;
	font-weight: 750;
	text-decoration: none;
	cursor: pointer;
}

.store-button,
.store-add-cart-button,
.store-cart-link {
	box-shadow: 3px 3px 0 color-mix(in srgb, var(--theme-highlight) 48%, transparent);
}

.store-button:hover,
.store-cart-link:hover,
.store-add-cart-button:hover,
.store-load-button:hover,
.store-cart-update-button:hover {
	background: var(--store-accent);
	color: var(--cms-color-on-accent);
}

.store-button:disabled,
.store-add-cart-button:disabled {
	border-color: var(--cms-color-border-strong);
	background: var(--cms-color-surface-subtle);
	color: var(--cms-color-text-muted);
	cursor: not-allowed;
	opacity: 1;
}

.store-product-detail {
	position: relative;
	display: grid;
	grid-template-columns: minmax(18rem, 1fr) minmax(18rem, 0.85fr);
	gap: clamp(1rem, 3vw, 2rem);
	inline-size: min(100%, 72rem);
	margin-inline: auto;
	border: 1px solid var(--store-line);
	background: var(--store-surface);
	padding: clamp(1.35rem, 3vw, 1.8rem) clamp(1rem, 3vw, 1.5rem) clamp(1rem, 3vw, 1.5rem);
	box-shadow: var(--theme-shadow);
}

.store-product-detail::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	block-size: .35rem;
	background: linear-gradient(90deg, var(--theme-highlight) 0 32%, var(--store-accent) 32% 68%, var(--cms-color-secondary-accent) 68%);
}

.store-product-copy {
	min-inline-size: 0;
}

.store-product-description {
	line-height: 1.75;
}

.store-product-description h2 {
	margin-block-start: 1.4rem;
	font-size: clamp(1.35rem, 2.5vw, 1.75rem);
}

.store-product-description h2:first-child { margin-block-start: 0; }

.store-buy-form,
.store-account-required,
.store-demo-note,
.store-provider-notice,
.store-fulfillment-note,
.store-notice,
.store-empty {
	margin-block: 1rem;
	border: 1px solid var(--store-line);
	border-inline-start: 0.3rem solid var(--store-accent);
	background: var(--store-soft);
	padding: 1rem;
}

.store-account-required {
	border-inline-start-color: var(--theme-highlight);
	background: color-mix(in srgb, var(--theme-highlight) 12%, var(--store-surface));
}

.store-buy-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 7rem auto;
	gap: 0.75rem;
	align-items: end;
}

.store-buy-field,
.store-field {
	display: grid;
	gap: 0.3rem;
}

.store-field-row,
.store-choice {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	flex-wrap: wrap;
}

.store-cart-lines {
	display: grid;
	gap: 0.8rem;
	inline-size: min(100%, 76rem);
	margin-inline: auto;
}

.store-cart-line {
	display: grid;
	grid-template-columns: minmax(16rem, 1fr) 7rem 8rem minmax(11rem, auto);
	gap: 1rem;
	align-items: center;
	border: 1px solid var(--store-line);
	background: var(--store-surface);
	padding: 1rem;
	box-shadow: var(--theme-shadow);
}

.store-cart-product {
	display: grid;
	grid-template-columns: 5rem minmax(0, 1fr);
	gap: 0.8rem;
	align-items: center;
}

.store-cart-update {
	display: flex;
	gap: 0.45rem;
}

.store-cart-actions,
.store-cart-summary {
	justify-content: flex-end;
	margin-block-start: 1rem;
	border: 1px solid var(--store-line);
	background: var(--store-soft);
	padding: 1rem;
}

.store-checkout-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 0.75fr);
	gap: 1.25rem;
	inline-size: min(100%, 72rem);
	margin-inline: auto;
}

.store-checkout-section,
.store-order-summary,
.store-receipt,
.store-sandbox-screen {
	border: 1px solid var(--store-line);
	background: var(--store-surface);
	padding: 1.2rem;
	box-shadow: var(--theme-shadow);
}

.store-receipt {
	inline-size: min(100%, 52rem);
	margin-inline: auto;
}

.store-terms,
.store-sandbox-footnote,
.store-load-status {
	color: var(--store-muted);
	font-size: .875rem;
}

.store-load-zone {
	display: grid;
	place-items: center;
	gap: 0.65rem;
	margin-block-start: 1.4rem;
	text-align: center;
}

.store-notice.is-error,
.store-load-status.is-error {
	color: var(--store-danger);
}

.store-sandbox-badge {
	display: inline-flex;
	border: 1px solid var(--theme-success);
	background: color-mix(in srgb, var(--theme-success) 12%, var(--store-surface));
	color: var(--theme-success);
	padding: 0.3rem 0.55rem;
}

@media (max-width: 64rem) {
	.store-grid-three,
	.store-grid-responsive {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.store-product-detail,
	.store-checkout-grid {
		grid-template-columns: 1fr;
	}

	.store-cart-line {
		grid-template-columns: minmax(14rem, 1fr) 6rem 7rem;
	}

	.store-cart-update {
		grid-column: 1 / -1;
	}
}

@media (max-width: 46rem) {
	.store-hero,
	.store-simple-header,
	.store-results-heading {
		align-items: stretch;
		flex-direction: column;
	}

	.store-grid-two,
	.store-grid-three,
	.store-grid-responsive,
	.store-buy-form,
	.store-cart-line {
		grid-template-columns: 1fr;
	}

	.store-cart-product {
		grid-template-columns: 4rem minmax(0, 1fr);
	}

	.store-cart-actions,
	.store-cart-summary {
		justify-content: flex-start;
	}
}

/* Compact catalog index: keep the first product near the initial viewport. */
.fhc-site .store-shell { padding-block: .75rem 3rem; }
.fhc-site .store-shell .store-hero {
	min-block-size: 56px;
	align-items: center;
	margin-block-end: .65rem;
	padding: .45rem .6rem .45rem .9rem;
	border-block-start: 4px solid var(--store-accent);
	border-inline-start: 1px solid var(--store-line);
	background: var(--theme-dark);
	color: var(--cms-color-text-inverse);
	box-shadow: 0 8px 22px color-mix(in srgb, var(--freehold-shadow-color) 72%, transparent);
}
.fhc-site .store-shell .store-hero h1 {
	min-inline-size: 0;
	margin: 0;
	color: var(--cms-color-text-inverse);
	font-size: clamp(1.45rem, 3vw, 2rem);
	line-height: 1.05;
	overflow-wrap: anywhere;
	white-space: normal;
}
.fhc-site .store-shell .store-cart-link {
	flex: 0 0 auto;
	min-block-size: 40px;
	padding: .4rem .75rem;
}
.fhc-site .store-shell .store-search {
	display: grid;
	grid-template-columns: minmax(7.5rem, .24fr) minmax(0, 1fr);
	gap: .55rem;
	margin: 0 0 .6rem;
	padding: .45rem .6rem;
	border: 1px solid var(--store-line);
	background: var(--store-surface);
}
.fhc-site .store-shell .store-search > div { min-inline-size: 0; }
.fhc-site .store-shell .store-search input { min-block-size: 40px; padding-block: .45rem; }
.fhc-site .store-shell .store-category-nav {
	margin-block-end: .55rem;
	padding: 0;
	border: 0;
	background: transparent;
}
.fhc-site .store-shell .store-category-nav a,
.fhc-site .store-shell .store-browse-tools a { min-block-size: 38px; padding: .35rem .65rem; }
.fhc-site .store-shell .store-browse-tools {
	gap: .65rem 1rem;
	margin-block-end: .55rem;
	padding: .55rem .65rem;
}
.fhc-site .store-shell .store-browse-tools > div > strong { margin-block-end: .35rem; }
.fhc-site .store-shell .store-results-heading {
	min-block-size: 0;
	margin: .25rem 0 .55rem;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}
.fhc-site .store-shell .store-results-heading p { margin: 0; font-size: .875rem; }
.fhc-site .store-shell .store-grid { gap: .8rem; }
.fhc-site .store-shell .store-card-media { aspect-ratio: 16 / 7; }
.fhc-site .store-shell .store-card-placeholder { min-block-size: 7.5rem; }
.fhc-site .store-shell .store-card-body { padding: .85rem; }
.fhc-site .store-shell .store-card-footer { padding: .7rem .85rem; }

html[data-color-mode="dark"] .fhc-site .store-shell .store-hero {
	border-color: var(--cms-color-border-strong);
	border-inline-start-color: var(--cms-color-highlight);
	background: var(--cms-color-surface-raised);
	color: var(--cms-color-text);
}
html[data-color-mode="dark"] .fhc-site .store-shell .store-hero h1 { color: var(--cms-color-text); }

@media (prefers-color-scheme: dark) {
	html[data-color-mode="system"] .fhc-site .store-shell .store-hero {
		border-color: var(--cms-color-border-strong);
		border-inline-start-color: var(--cms-color-highlight);
		background: var(--cms-color-surface-raised);
		color: var(--cms-color-text);
	}
	html[data-color-mode="system"] .fhc-site .store-shell .store-hero h1 { color: var(--cms-color-text); }
}

@media (max-width: 46rem) {
	.fhc-site .store-shell { padding-inline: .75rem; }
	.fhc-site .store-shell .store-hero { align-items: center; flex-direction: row; gap: .5rem; }
	.fhc-site .store-shell .store-hero h1 { font-size: 1.35rem; }
	.fhc-site .store-shell .store-cart-link { min-block-size: 38px; padding-inline: .6rem; font-size: .875rem; }
	.fhc-site .store-shell .store-search { grid-template-columns: 1fr; gap: .3rem; }
	.fhc-site .store-shell .store-search label { font-size: .875rem; }
}

/* ========================================================================== */
/* Phase 3 of 8 — streamlined package catalog and product decision pages.      */
/* ========================================================================== */

.fhc-site.store-index .store-shell,
.fhc-site .store-product-shell {
	inline-size: min(calc(100% - 3rem), 1080px);
	padding: 1rem 0 4rem;
}

.fhc-site.store-index .store-simple-header {
	align-items: flex-start;
	margin: 0 0 1rem;
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 1px solid var(--fhc-v3-ink-line);
	border-top: 1px solid var(--fhc-v3-ink-line);
	border-radius: 2px;
	background: var(--fhc-v3-ink);
	box-shadow: none;
}
.fhc-site.store-index .store-simple-header h1 {
	margin: .15rem 0 .45rem;
	color: var(--fhc-v3-paper);
	font-size: clamp(1.8rem, 3.5vw, 2.45rem);
	line-height: 1.12;
}
.fhc-site.store-index .store-simple-header p {
	max-width: 62ch;
	margin: 0;
	color: var(--fhc-v3-slate);
	font-size: .94rem;
}
.fhc-site.store-index .store-simple-header .store-eyebrow {
	color: var(--fhc-v3-brass);
	font-size: .875rem;
	font-weight: 500;
	letter-spacing: .04em;
}

.fhc-site.store-index .store-category-nav,
.fhc-site.store-index .store-browse-tools,
.fhc-site.store-index .store-search {
	margin: 0 0 .85rem;
	padding: .65rem;
	border: 1px solid var(--fhc-v3-paper-line);
	border-radius: 2px;
	background: color-mix(in srgb, var(--fhc-v3-paper) 72%, white);
}
.fhc-site.store-index .store-category-nav a,
.fhc-site.store-index .store-browse-tools a {
	min-block-size: 2.25rem;
	padding: .4rem .68rem;
	border: 1px solid transparent;
	background: transparent;
	color: var(--fhc-v3-brass-deep);
	font-size: .875rem;
	font-weight: 500;
}
.fhc-site.store-index .store-category-nav a:hover,
.fhc-site.store-index .store-category-nav .is-active,
.fhc-site.store-index .store-browse-tools a:hover,
.fhc-site.store-index .store-browse-tools .is-active {
	border-color: var(--fhc-v3-paper-line);
	background: var(--fhc-v3-paper);
	color: var(--fhc-v3-paper-text);
}

.fhc-site.store-index .store-grid {
	gap: 1rem;
}
.fhc-site.store-index .store-card {
	border: 1px solid var(--fhc-v3-paper-line);
	border-radius: 2px;
	background: var(--fhc-v3-paper);
	box-shadow: none;
}
.fhc-site.store-index .store-card::before { display: none; }
.fhc-site.store-index .store-card-media {
	border-bottom-color: var(--fhc-v3-paper-line);
	background: #fffdf6;
}
.fhc-site.store-index .store-card-body {
	gap: .55rem;
	padding: 1.15rem;
}
.fhc-site.store-index .store-card-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .5rem;
	color: #7a6a45;
	font-size: .875rem;
	font-weight: 500;
	letter-spacing: .02em;
	text-transform: none;
}
.fhc-site.store-index .store-card h2 {
	font-size: 1.38rem;
	line-height: 1.15;
}
.fhc-site.store-index .store-card h2 a { color: var(--fhc-v3-paper-text); }
.fhc-site.store-index .store-card-body > p {
	margin: 0;
	color: #5c5648;
	font-size: .875rem;
	line-height: 1.52;
}
.fhc-site.store-index .store-card-footer {
	margin-top: .5rem;
	padding: .8rem 0 0;
	border-top: 1px dotted var(--fhc-v3-paper-line-soft);
	background: transparent;
}
.fhc-site.store-index .store-card-footer .store-price {
	color: var(--fhc-v3-paper-text);
	font-family: var(--cms-font-heading);
	font-size: 1.35rem;
	font-weight: 500;
}
.fhc-site.store-index .store-card-link {
	color: var(--fhc-v3-brass-deep);
	font-size: .875rem;
	font-weight: 500;
	text-underline-offset: 3px;
}
.fhc-site.store-index .store-results-heading {
	margin: 0 0 .75rem;
	padding: .45rem .6rem;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.fhc-site .store-product-shell .store-back-link {
	margin-bottom: .85rem;
	min-block-size: auto;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--fhc-v3-brass-deep);
	font-size: .875rem;
	font-weight: 500;
}
.fhc-site .store-product-shell .store-product-detail {
	display: block;
	inline-size: 100%;
	margin: 0;
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 1px solid var(--fhc-v3-paper-line);
	border-radius: 2px;
	background: var(--fhc-v3-paper);
	box-shadow: none;
}
.fhc-site .store-product-shell .store-product-detail::before { display: none; }
.fhc-site .store-product-shell .store-product-media {
	max-block-size: 24rem;
	margin: -1px -1px 1.25rem;
	border: 1px solid var(--fhc-v3-paper-line);
	background: #fffdf6;
}
.fhc-site .store-product-shell .store-product-copy {
	max-width: 880px;
}
.fhc-site .store-product-shell .store-eyebrow {
	color: #7a6a45;
	font-size: .875rem;
	font-weight: 500;
	letter-spacing: .03em;
	text-transform: none;
}
.fhc-site .store-product-shell h1 {
	max-width: 26ch;
	margin: .2rem 0 .35rem;
	color: var(--fhc-v3-paper-text);
	font-size: clamp(2rem, 4vw, 2.8rem);
	line-height: 1.1;
}
.fhc-site .store-product-shell .store-product-tagline {
	max-width: 54ch;
	margin: 0 0 .85rem;
	color: #5c5648;
	font-family: var(--cms-font-heading);
	font-size: clamp(1.1rem, 2vw, 1.3rem);
	line-height: 1.35;
}
.fhc-site .store-product-shell .store-product-price {
	display: flex;
	align-items: baseline;
	gap: .65rem;
	margin: .6rem 0 1rem;
	color: var(--fhc-v3-paper-text);
	font-family: var(--cms-font-heading);
	font-size: 1.75rem;
	font-weight: 500;
}
.fhc-site .store-product-shell .store-product-price small {
	color: #6b5d42;
	font-family: var(--fhc-v3-ui-font);
	font-size: .875rem;
	font-weight: 400;
}
.fhc-site .store-product-decision-actions,
.fhc-site .store-product-shell .store-account-actions {
	display: flex;
	align-items: center;
	gap: .65rem 1rem;
	flex-wrap: wrap;
	margin: .8rem 0 1rem;
}
.fhc-site .store-product-shell .store-button,
.fhc-site .store-product-shell .store-add-cart-button {
	min-block-size: 2.65rem;
	padding: .58rem .9rem;
	border: 1px solid var(--fhc-v3-brass);
	border-radius: 2px;
	background: var(--fhc-v3-brass);
	color: #2a1c08;
	font-size: .875rem;
	font-weight: 500;
	box-shadow: none;
}
.fhc-site .store-product-shell .store-button:hover,
.fhc-site .store-product-shell .store-add-cart-button:hover {
	border-color: #c99657;
	background: #c99657;
	color: #2a1c08;
}
.fhc-site .store-product-shell .store-secondary-link {
	min-block-size: auto;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--fhc-v3-brass-deep);
	font-size: .875rem;
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.fhc-site .store-product-shell .store-buy-form,
.fhc-site .store-product-shell .store-account-required,
.fhc-site .store-product-shell .store-notice,
.fhc-site .store-product-shell .store-demo-note,
.fhc-site .store-product-shell .store-fulfillment-note {
	max-width: 720px;
	margin: 1rem 0;
	padding: .9rem 1rem;
	border: 1px solid var(--fhc-v3-paper-line);
	border-left: 3px solid var(--fhc-v3-brass);
	border-radius: 2px;
	background: #fffdf6;
}
.fhc-site .store-product-shell .store-buy-form {
	grid-template-columns: minmax(7rem, 10rem) auto;
	align-items: end;
}
.fhc-site .store-product-shell .store-buy-form-simple {
	grid-template-columns: minmax(7rem, 10rem) auto;
}
.fhc-site .store-product-shell .store-buy-form:not(.store-buy-form-simple) {
	grid-template-columns: minmax(0, 1fr) 7rem auto;
}
.fhc-site .store-product-shell .store-buy-field label {
	color: var(--fhc-v3-paper-text);
	font-size: .875rem;
	font-weight: 500;
}
.fhc-site .store-product-shell .store-buy-field input,
.fhc-site .store-product-shell .store-buy-field select {
	min-block-size: 2.55rem;
	border-color: var(--fhc-v3-paper-line);
	border-radius: 2px;
	background: #fffdf6;
}

.fhc-site .store-product-shell .store-product-description {
	margin-top: 1.35rem;
	line-height: 1.62;
}
.fhc-site .store-product-shell .store-decision-tablist { display: none; }
.fhc-site .store-product-shell .store-decision-tabs.is-enhanced .store-decision-tablist {
	display: flex;
	align-items: end;
	gap: .25rem;
	flex-wrap: wrap;
	margin-bottom: 0;
	border-bottom: 1px solid var(--fhc-v3-paper-line);
}
.fhc-site .store-product-shell .store-decision-tab {
	min-block-size: 2.5rem;
	margin-bottom: -1px;
	padding: .5rem .75rem;
	border: 1px solid transparent;
	border-bottom-color: var(--fhc-v3-paper-line);
	border-radius: 2px 2px 0 0;
	background: transparent;
	color: #6b5d42;
	font: inherit;
	font-size: .875rem;
	font-weight: 500;
	cursor: pointer;
}
.fhc-site .store-product-shell .store-decision-tab:hover,
.fhc-site .store-product-shell .store-decision-tab[aria-selected="true"] {
	border-color: var(--fhc-v3-paper-line);
	border-bottom-color: #fffdf6;
	background: #fffdf6;
	color: var(--fhc-v3-paper-text);
}
.fhc-site .store-product-shell .store-decision-panel {
	margin-top: .8rem;
	padding: 1rem 0 .2rem;
	border-top: 1px dotted var(--fhc-v3-paper-line-soft);
}
.fhc-site .store-product-shell .store-decision-tabs.is-enhanced .store-decision-panel {
	margin-top: 0;
	padding: 1.1rem 1rem .35rem;
	border: 1px solid var(--fhc-v3-paper-line);
	border-top: 0;
	background: #fffdf6;
}
.fhc-site .store-product-shell .store-decision-panel[hidden] { display: none !important; }
.fhc-site .store-product-shell .store-decision-panel h3 {
	margin: 0 0 .45rem;
	color: var(--fhc-v3-paper-text);
	font-size: 1.15rem;
}
.fhc-site .store-product-shell .store-decision-panel :is(p,li) {
	color: #5c5648;
	font-size: .9rem;
}
.fhc-site .store-product-shell .store-decision-panel ul {
	margin: .4rem 0 .8rem;
	padding-left: 1.2rem;
}
.fhc-site .store-product-shell .store-decision-panel a {
	color: var(--fhc-v3-brass-deep);
	font-weight: 500;
}

.fhc-site .store-product-shell .store-reviews {
	max-width: 880px;
	margin: 1.5rem 0 0;
	border-color: var(--fhc-v3-paper-line);
}

@media (max-width: 64rem) {
	.fhc-site.store-index .store-grid-three,
	.fhc-site.store-index .store-grid-responsive { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 46rem) {
	.fhc-site.store-index .store-shell,
	.fhc-site .store-product-shell { inline-size: min(calc(100% - 2rem), 1080px); }
	.fhc-site.store-index .store-grid-two,
	.fhc-site.store-index .store-grid-three,
	.fhc-site.store-index .store-grid-responsive { grid-template-columns: 1fr; }
	.fhc-site .store-product-shell .store-product-detail { padding: 1rem; }
	.fhc-site .store-product-shell .store-product-price {
		align-items: flex-start;
		flex-direction: column;
		gap: .1rem;
	}
	.fhc-site .store-product-shell .store-buy-form,
	.fhc-site .store-product-shell .store-buy-form-simple,
	.fhc-site .store-product-shell .store-buy-form:not(.store-buy-form-simple) { grid-template-columns: 1fr; }
	.fhc-site .store-product-shell .store-decision-tabs.is-enhanced .store-decision-tablist {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: .25rem;
		border-bottom: 0;
	}
	.fhc-site .store-product-shell .store-decision-tab {
		margin: 0;
		border: 1px solid var(--fhc-v3-paper-line);
		border-radius: 2px;
		text-align: left;
	}
	.fhc-site .store-product-shell .store-decision-tab[aria-selected="true"] {
		border-color: var(--fhc-v3-brass);
		background: var(--fhc-v3-paper);
	}
	.fhc-site .store-product-shell .store-decision-tabs.is-enhanced .store-decision-panel {
		margin-top: .5rem;
		border-top: 1px solid var(--fhc-v3-paper-line);
	}
}

/* Phase 5 — compact order review and checkout handoff. */
.fhc-site .store-cart-shell,
.fhc-site .store-checkout-shell {
	inline-size: min(calc(100% - 2rem), 1080px);
	padding-block: 1rem 3.5rem;
}

.fhc-site .store-cart-shell .store-simple-header,
.fhc-site .store-checkout-shell .store-simple-header {
	align-items: center;
	margin-block-end: 1rem;
	border: 1px solid var(--fhc-v3-ink-line);
	border-block-start: 4px solid var(--fhc-v3-brass);
	background: var(--fhc-v3-ink);
	color: var(--fhc-v3-paper);
	padding: 1rem 1.2rem;
	box-shadow: 0 8px 22px color-mix(in srgb, var(--freehold-shadow-color) 72%, transparent);
}
.fhc-site .store-cart-shell .store-simple-header h1,
.fhc-site .store-checkout-shell .store-simple-header h1 {
	margin: .15rem 0 .25rem;
	color: var(--fhc-v3-paper);
	font-size: clamp(1.65rem, 3vw, 2.25rem);
}
.fhc-site .store-cart-shell .store-simple-header p,
.fhc-site .store-checkout-shell .store-simple-header p { color: var(--fhc-v3-slate); }
.fhc-site .store-cart-shell .store-simple-header .store-eyebrow,
.fhc-site .store-checkout-shell .store-simple-header .store-eyebrow { color: var(--fhc-v3-brass); }
.fhc-site .store-cart-shell .store-simple-header .store-secondary-link,
.fhc-site .store-checkout-shell .store-simple-header .store-secondary-link {
	border-color: var(--fhc-v3-ink-line);
	background: transparent;
	color: var(--fhc-v3-slate);
}
.fhc-site .store-cart-shell .store-simple-header .store-secondary-link:hover,
.fhc-site .store-checkout-shell .store-simple-header .store-secondary-link:hover {
	border-color: var(--fhc-v3-brass);
	color: var(--fhc-v3-paper);
}

.fhc-site .store-cart-shell .store-cart-lines { gap: .65rem; }
.fhc-site .store-cart-shell .store-cart-line {
	grid-template-columns: minmax(16rem, 1fr) 7rem 8rem minmax(11rem, auto);
	gap: .8rem;
	padding: .9rem 1rem;
	border-color: var(--fhc-v3-paper-line);
	background: #fffdf6;
	box-shadow: none;
}
.fhc-site .store-cart-shell .store-cart-product {
	display: block;
	min-width: 0;
}
.fhc-site .store-cart-shell .store-cart-product h2 {
	margin: .2rem 0 .2rem;
	font-size: 1.05rem;
}
.fhc-site .store-cart-shell .store-cart-product p,
.fhc-site .store-cart-shell .store-cart-product small {
	color: #6b5d42;
	font-size: .875rem;
}
.fhc-site .store-cart-shell .store-cart-reference { margin-left: .4rem; color: #8a7a55; }
.fhc-site .store-cart-shell .store-cart-update { align-items: end; }
.fhc-site .store-cart-shell .store-cart-summary {
	display: grid;
	gap: 0;
	max-width: 32rem;
	margin: .9rem 0 0 auto;
	border: 1px solid var(--fhc-v3-paper-line);
	background: var(--fhc-v3-paper);
	padding: 1rem 1.1rem;
}
.fhc-site .store-cart-shell .store-cart-summary > div {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: .5rem 0;
	border-bottom: 1px dotted var(--fhc-v3-paper-line-soft);
}
.fhc-site .store-cart-shell .store-cart-summary .store-cart-subtotal {
	border-bottom-color: var(--fhc-v3-paper-line);
	font-size: 1.05rem;
}
.fhc-site .store-cart-shell .store-cart-summary > p {
	margin: .8rem 0;
	font-size: .875rem;
}
.fhc-site .store-cart-shell .store-checkout-blocked {
	margin-top: .4rem;
	border-left: 3px solid var(--fhc-v3-brass);
	background: #fffdf6;
	padding: .8rem;
}
.fhc-site .store-cart-shell .store-checkout-blocked p { margin: .25rem 0 .7rem; }
.fhc-site .store-cart-shell .store-empty-actions { display: flex; gap: .65rem; flex-wrap: wrap; margin-top: 1rem; }

.fhc-site .store-checkout-shell .store-checkout-grid {
	grid-template-columns: minmax(0, 1.18fr) minmax(19rem, .82fr);
	gap: 1rem;
}
.fhc-site .store-checkout-shell .store-checkout-form { gap: .75rem; }
.fhc-site .store-checkout-shell .store-checkout-section,
.fhc-site .store-checkout-shell .store-order-summary {
	border-color: var(--fhc-v3-paper-line);
	background: #fffdf6;
	padding: 1rem;
	box-shadow: none;
}
.fhc-site .store-checkout-shell .store-checkout-section legend {
	padding-inline: .25rem;
	color: var(--fhc-v3-paper-text);
	font-family: var(--fhc-v3-ui-font);
	font-size: .9rem;
	font-weight: 600;
}
.fhc-site .store-checkout-shell .store-field { margin-bottom: 0; }
.fhc-site .store-checkout-shell .store-choice {
	min-height: 0;
	align-items: flex-start;
	padding: .75rem;
	border-color: var(--fhc-v3-paper-line);
	border-radius: 2px;
	background: var(--fhc-v3-paper);
}
.fhc-site .store-checkout-shell .store-choice:has(input:checked) { border-color: var(--fhc-v3-brass); background: #fffdf6; }
.fhc-site .store-checkout-shell .store-choice:has(input:disabled) { opacity: .62; cursor: not-allowed; }
.fhc-site .store-checkout-shell .store-provider-notice {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: .75rem;
	margin: 0;
	border: 1px solid var(--fhc-v3-paper-line);
	border-left: 3px solid var(--fhc-v3-brass);
	background: var(--fhc-v3-paper);
	padding: .85rem 1rem;
}
.fhc-site .store-checkout-shell .store-provider-notice h2 { margin: 0 0 .2rem; font-size: 1rem; }
.fhc-site .store-checkout-shell .store-provider-notice p { margin: 0; font-size: .875rem; }
.fhc-site .store-checkout-shell .store-sandbox-badge {
	border-color: var(--fhc-v3-brass);
	background: #fffdf6;
	color: var(--fhc-v3-brass-deep);
	border-radius: 2px;
	white-space: nowrap;
}
.fhc-site .store-checkout-shell .store-checkout-policies {
	display: grid;
	gap: .55rem;
	border-top: 1px solid var(--fhc-v3-paper-line);
	padding-top: .8rem;
}
.fhc-site .store-checkout-shell .store-terms { line-height: 1.45; }
.fhc-site .store-checkout-shell .store-checkout-actions {
	display: grid;
	gap: .4rem;
}
.fhc-site .store-checkout-shell .store-checkout-actions .store-button {
	width: 100%;
	min-height: 3rem;
	font-size: .95rem;
}
.fhc-site .store-checkout-shell .store-handoff-status {
	min-height: 1.2em;
	margin: 0;
	color: #6b5d42;
	font-size: .875rem;
	text-align: center;
}
.fhc-site .store-checkout-shell .store-order-summary {
	position: sticky;
	top: 1rem;
	align-self: start;
	background: var(--fhc-v3-paper);
}
.fhc-site .store-checkout-shell .store-order-summary h2 { margin: 0 0 .4rem; font-size: 1.2rem; }
.fhc-site .store-checkout-shell .store-order-summary ul { margin: .35rem 0 .7rem; }
.fhc-site .store-checkout-shell .store-order-summary li {
	padding: .55rem 0;
	border-bottom: 1px dotted var(--fhc-v3-paper-line-soft);
	font-size: .875rem;
}
.fhc-site .store-checkout-shell .store-order-summary li small { display: block; margin-top: .12rem; color: #6b5d42; }
.fhc-site .store-checkout-shell .store-order-summary > div {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: .5rem 0;
	border-bottom: 1px dotted var(--fhc-v3-paper-line-soft);
	font-size: .875rem;
}
.fhc-site .store-checkout-shell .store-order-summary .store-total-due {
	margin-top: .3rem;
	border-top: 1px solid var(--fhc-v3-paper-line);
	border-bottom: 0;
	padding-top: .8rem;
	color: var(--fhc-v3-paper-text);
	font-size: 1rem;
}
.fhc-site .store-checkout-shell .store-total-due strong {
	color: var(--fhc-v3-brass-deep);
	font-family: var(--fhc-v3-heading-font);
	font-size: 1.4rem;
	font-weight: 500;
}
.fhc-site .store-checkout-shell .store-total-note {
	margin: .45rem 0 0;
	color: #6b5d42;
	font-size: .875rem;
	line-height: 1.45;
}

@media (max-width: 64rem) {
	.fhc-site .store-checkout-shell .store-checkout-grid { grid-template-columns: 1fr; }
	.fhc-site .store-checkout-shell .store-order-summary { position: static; order: -1; }
	.fhc-site .store-cart-shell .store-cart-line { grid-template-columns: minmax(14rem, 1fr) 6rem 7rem; }
	.fhc-site .store-cart-shell .store-cart-update { grid-column: 1 / -1; }
}

@media (max-width: 46rem) {
	.fhc-site .store-cart-shell,
	.fhc-site .store-checkout-shell { inline-size: min(calc(100% - 1rem), 1080px); padding-inline: 0; }
	.fhc-site .store-cart-shell .store-simple-header,
	.fhc-site .store-checkout-shell .store-simple-header { align-items: stretch; padding: .9rem; }
	.fhc-site .store-cart-shell .store-cart-line { grid-template-columns: 1fr; }
	.fhc-site .store-cart-shell .store-cart-money { display: flex; justify-content: space-between; gap: 1rem; }
	.fhc-site .store-cart-shell .store-cart-update { grid-column: auto; max-width: none; }
	.fhc-site .store-cart-shell .store-cart-summary { max-width: none; margin-left: 0; }
	.fhc-site .store-checkout-shell .store-provider-notice { grid-template-columns: 1fr; }
	.fhc-site .store-checkout-shell .store-field-row { grid-template-columns: 1fr; }
}

/* Freehold Classic 6.0.2: software-box artwork is product evidence, never a crop. */
.fhc-v6 .store-card-media {
	aspect-ratio: 1 / 1;
	padding: .65rem;
	background: #fff;
}
.fhc-v6 .store-card-media img {
	inline-size: 100%;
	block-size: 100%;
	object-fit: contain;
}
.fhc-v6 .store-product-shell .store-product-media {
	display: grid;
	place-items: center;
	max-block-size: none;
	padding: clamp(.75rem, 2vw, 1.25rem);
	background: #fff;
}
.fhc-v6 .store-product-shell .store-product-media img {
	inline-size: min(100%, 720px);
	block-size: auto;
	max-block-size: 620px;
	object-fit: contain;
}

/* Freehold Classic 6.0.3: compact product artwork with editorial text flow. */
@media (min-width: 48.01rem) {
	.fhc-v6 .store-product-shell .store-product-detail {
		display: flow-root;
	}
	.fhc-v6 .store-product-shell .store-product-media {
		float: left;
		inline-size: clamp(250px, 31vw, 360px);
		max-inline-size: 38%;
		margin: 0 1.5rem .9rem 0;
		padding: .65rem;
	}
	.fhc-v6 .store-product-shell .store-product-media img {
		inline-size: 100%;
		max-inline-size: 340px;
		max-block-size: none;
	}
	.fhc-v6 .store-product-shell .store-product-copy {
		max-width: none;
	}
}
@media (max-width: 48rem) {
	.fhc-v6 .store-product-shell .store-product-media {
		float: none;
		inline-size: 100%;
		max-inline-size: none;
		margin: 0 0 1rem;
	}
	.fhc-v6 .store-product-shell .store-product-media img {
		inline-size: min(100%, 420px);
	}
}
