/*
 * Top page direct-sales composition.
 * The green is taken from the orchard/site identity; orange is reserved for
 * the one primary action. Product state colors remain owned by the farm plugin.
 */
body.home #st-magazine {
	--aoki-home-ink: #183127;
	--aoki-home-muted: #536058;
	--aoki-home-green: #087b47;
	--aoki-home-green-dark: #075b39;
	--aoki-home-leaf: #e8f3eb;
	--aoki-home-accent: #b66118;
	--aoki-home-line: #cbdcd1;
	--aoki-home-surface: #ffffff;
	--aoki-home-space-1: 8px;
	--aoki-home-space-2: 12px;
	--aoki-home-space-3: 16px;
	--aoki-home-space-4: 24px;
	--aoki-home-space-5: 32px;
	--aoki-home-space-6: 48px;
	color: var(--aoki-home-ink);
	font-family: var(--aoki-reading-font, -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif);
}

body.home #st-magazine .aoki-homefront,
body.home #st-magazine .aoki-homefront * {
	box-sizing: border-box;
}

body.home #st-magazine .aoki-homefront {
	margin: 0 auto var(--aoki-home-space-6);
	max-width: 1100px;
}

body.home #st-magazine .aoki-homefront-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(260px, .75fr);
	gap: var(--aoki-home-space-5);
	align-items: stretch;
	padding: clamp(28px, 5vw, 56px);
	background: linear-gradient(135deg, var(--aoki-home-leaf), #f8fbf8 65%);
	border-left: 6px solid var(--aoki-home-green);
}

body.home #st-magazine .aoki-homefront-kicker,
body.home #st-magazine .aoki-homefront-section-head > div > p,
body.home #st-magazine .aoki-homefront-articles > header > p {
	margin: 0 0 var(--aoki-home-space-1);
	color: var(--aoki-home-green-dark);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	line-height: 1.4;
}

body.home #st-magazine .aoki-homefront h1,
body.home #st-magazine .aoki-homefront h2,
body.home #st-magazine .aoki-homefront h3 {
	margin: 0;
	color: var(--aoki-home-ink);
	font-family: var(--aoki-reading-font, -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif);
	font-weight: 700;
	letter-spacing: .01em;
}

body.home #st-magazine .aoki-homefront h1 {
	font-size: clamp(28px, 4vw, 42px);
	line-height: 1.32;
}

body.home #st-magazine .aoki-homefront-lead {
	max-width: 46rem;
	margin: var(--aoki-home-space-3) 0 0;
	font-size: 17px;
	line-height: 1.8;
}

body.home #st-magazine .aoki-homefront-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--aoki-home-space-2);
	margin-top: var(--aoki-home-space-4);
}

body.home #st-magazine .aoki-homefront-actions a,
body.home #st-magazine .aoki-homefront-product-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 10px 18px;
	border: 2px solid transparent;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

body.home #st-magazine .aoki-homefront-primary {
	background: var(--aoki-home-accent);
	color: #fff;
}

body.home #st-magazine .aoki-homefront-primary:hover,
body.home #st-magazine .aoki-homefront-primary:focus-visible {
	background: #92460d;
	color: #fff;
}

body.home #st-magazine .aoki-homefront-secondary {
	border-color: var(--aoki-home-green-dark);
	background: transparent;
	color: var(--aoki-home-green-dark);
}

body.home #st-magazine .aoki-homefront-secondary:hover,
body.home #st-magazine .aoki-homefront-secondary:focus-visible {
	background: var(--aoki-home-green-dark);
	color: #fff;
}

body.home #st-magazine .aoki-homefront-actions a:focus-visible,
body.home #st-magazine .aoki-homefront-product-link:focus-visible,
body.home #st-magazine .aoki-homefront-section-head > a:focus-visible,
body.home #st-magazine .aoki-homefront-product h3 a:focus-visible,
body.home #st-magazine .aoki-homefront-product-media a:focus-visible {
	outline: 3px solid #102a1d;
	outline-offset: 3px;
}

body.home #st-magazine .aoki-homefront-status {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: var(--aoki-home-space-2);
	padding: var(--aoki-home-space-4);
	background: var(--aoki-home-surface);
}

body.home #st-magazine .aoki-homefront-status-label {
	margin: 0;
	color: var(--aoki-home-muted);
	font-size: 14px;
	font-weight: 700;
}

body.home #st-magazine .aoki-homefront-status .aoki-fm-shop {
	margin: 0;
	border: 0;
	box-shadow: none;
}

body.home #st-magazine .aoki-homefront-status .aoki-fm-shop-badge {
	font-size: 18px;
}

body.home #st-magazine .aoki-homefront-stock {
	display: grid;
	gap: 2px;
	margin: 0;
	padding-top: var(--aoki-home-space-2);
	border-top: 1px solid var(--aoki-home-line);
}

body.home #st-magazine .aoki-homefront-stock strong {
	font-size: 24px;
	line-height: 1.25;
}

body.home #st-magazine .aoki-homefront-stock span,
body.home #st-magazine .aoki-homefront-status-fallback {
	color: var(--aoki-home-muted);
	font-size: 14px;
	line-height: 1.6;
}

body.home #st-magazine .aoki-homefront-notice {
	margin-top: var(--aoki-home-space-3);
}

body.home #st-magazine .aoki-homefront-notice .aoki-fm-sales-notice {
	margin: 0;
}

body.home #st-magazine .aoki-homefront-products {
	margin-top: var(--aoki-home-space-6);
	scroll-margin-top: 110px;
}

body.home #st-magazine .aoki-homefront-section-head,
body.home #st-magazine .aoki-homefront-articles > header {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: var(--aoki-home-space-3);
	margin-bottom: var(--aoki-home-space-4);
}

body.home #st-magazine .aoki-homefront-section-head h2,
body.home #st-magazine .aoki-homefront-articles > header h2 {
	font-size: clamp(23px, 3vw, 30px);
	line-height: 1.4;
}

body.home #st-magazine .aoki-homefront-section-head > a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	color: var(--aoki-home-green-dark);
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

body.home #st-magazine .aoki-homefront-section-head > a:hover {
	text-decoration: underline;
}

body.home #st-magazine .aoki-homefront-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--aoki-home-space-3);
}

body.home #st-magazine .aoki-homefront-product {
	display: grid;
	grid-template-rows: auto 1fr;
	min-width: 0;
	background: var(--aoki-home-surface);
	border-top: 4px solid var(--aoki-home-green);
}

body.home #st-magazine .aoki-homefront-product.is-low_stock { border-top-color: #a26500; }
body.home #st-magazine .aoki-homefront-product.is-preorder { border-top-color: #236da6; }
body.home #st-magazine .aoki-homefront-product.is-direct_sale { border-top-color: #735b22; }
body.home #st-magazine .aoki-homefront-product.is-sold_out,
body.home #st-magazine .aoki-homefront-product.is-ended,
body.home #st-magazine .aoki-homefront-product.is-discontinued { border-top-color: #77827b; }

body.home #st-magazine .aoki-homefront-product-media {
	min-height: 142px;
	background: #edf2ed;
}

body.home #st-magazine .aoki-homefront-product-media > a,
body.home #st-magazine .aoki-homefront-product-media img {
	display: block;
	width: 100%;
	height: 100%;
}

body.home #st-magazine .aoki-homefront-product-media img {
	min-height: 142px;
	max-height: 180px;
	object-fit: cover;
}

body.home #st-magazine .aoki-homefront-product-media > span {
	display: grid;
	min-height: 142px;
	place-items: center;
	color: var(--aoki-home-green-dark);
	font-size: 18px;
	font-weight: 700;
}

body.home #st-magazine .aoki-homefront-product-copy {
	display: flex;
	min-width: 0;
	flex-direction: column;
	padding: var(--aoki-home-space-3);
}

body.home #st-magazine .aoki-homefront-product-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;
	margin: 0 0 var(--aoki-home-space-2);
	font-size: 13px;
	line-height: 1.45;
}

body.home #st-magazine .aoki-homefront-product-meta > span { color: var(--aoki-home-muted); }
body.home #st-magazine .aoki-homefront-product-meta > strong { color: var(--aoki-home-green-dark); }
body.home #st-magazine .aoki-homefront-product.is-low_stock .aoki-homefront-product-meta > strong { color: #7d4e00; }
body.home #st-magazine .aoki-homefront-product.is-preorder .aoki-homefront-product-meta > strong { color: #1d5c8e; }

body.home #st-magazine .aoki-homefront-product h3 {
	font-size: 21px;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

body.home #st-magazine .aoki-homefront-product h3 a {
	color: inherit;
	text-decoration: none;
}

body.home #st-magazine .aoki-homefront-product h3 a:hover { text-decoration: underline; }

body.home #st-magazine .aoki-homefront-product dl {
	display: grid;
	gap: var(--aoki-home-space-1);
	margin: var(--aoki-home-space-3) 0;
}

body.home #st-magazine .aoki-homefront-product dl > div {
	display: grid;
	grid-template-columns: 7.5em minmax(0, 1fr);
	gap: var(--aoki-home-space-1);
	font-size: 15px;
	line-height: 1.6;
}

body.home #st-magazine .aoki-homefront-product dt { color: var(--aoki-home-muted); }
body.home #st-magazine .aoki-homefront-product dd { margin: 0; font-weight: 700; overflow-wrap: anywhere; }

body.home #st-magazine .aoki-homefront-product-note {
	margin: 0 0 var(--aoki-home-space-3);
	color: var(--aoki-home-muted);
	font-size: 14px;
	line-height: 1.65;
	overflow-wrap: anywhere;
}

body.home #st-magazine .aoki-homefront-product-link {
	gap: 8px;
	margin-top: auto;
	border-color: var(--aoki-home-green-dark);
	color: var(--aoki-home-green-dark);
	font-size: 15px;
}

body.home #st-magazine .aoki-homefront-product-link:hover,
body.home #st-magazine .aoki-homefront-product-link:focus-visible {
	background: var(--aoki-home-green-dark);
	color: #fff;
}

body.home #st-magazine .aoki-homefront-empty {
	margin: 0;
	padding: var(--aoki-home-space-4);
	background: var(--aoki-home-leaf);
	font-size: 16px;
	line-height: 1.75;
}

body.home #st-magazine .aoki-homefront-articles {
	margin-top: var(--aoki-home-space-6);
	padding-top: var(--aoki-home-space-5);
	border-top: 1px solid var(--aoki-home-line);
}

body.home #st-magazine .aoki-homefront-articles > header {
	margin-inline: auto;
	max-width: 1100px;
}

@media (max-width: 980px) {
	body.home #st-magazine .aoki-homefront-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
	body.home #st-magazine .aoki-homefront { margin-bottom: var(--aoki-home-space-5); }
	body.home #st-magazine .aoki-homefront-hero { grid-template-columns: 1fr; gap: var(--aoki-home-space-4); padding: 28px 20px; border-left-width: 4px; }
	body.home #st-magazine .aoki-homefront-lead { font-size: 16px; line-height: 1.75; }
	body.home #st-magazine .aoki-homefront-actions { display: grid; grid-template-columns: 1fr; }
	body.home #st-magazine .aoki-homefront-actions a { width: 100%; }
	body.home #st-magazine .aoki-homefront-status { padding: 20px; }
	body.home #st-magazine .aoki-homefront-products { margin-top: var(--aoki-home-space-5); }
	body.home #st-magazine .aoki-homefront-section-head,
	body.home #st-magazine .aoki-homefront-articles > header { align-items: start; flex-direction: column; margin-bottom: var(--aoki-home-space-3); }
	body.home #st-magazine .aoki-homefront-grid { grid-template-columns: 1fr; gap: var(--aoki-home-space-2); }
	body.home #st-magazine .aoki-homefront-product { grid-template-columns: minmax(104px, 34%) minmax(0, 1fr); grid-template-rows: 1fr; border-top: 0; border-left: 4px solid var(--aoki-home-green); }
	body.home #st-magazine .aoki-homefront-product.is-low_stock { border-left-color: #a26500; }
	body.home #st-magazine .aoki-homefront-product.is-preorder { border-left-color: #236da6; }
	body.home #st-magazine .aoki-homefront-product.is-direct_sale { border-left-color: #735b22; }
	body.home #st-magazine .aoki-homefront-product.is-sold_out,
	body.home #st-magazine .aoki-homefront-product.is-ended,
	body.home #st-magazine .aoki-homefront-product.is-discontinued { border-left-color: #77827b; }
	body.home #st-magazine .aoki-homefront-product-media,
	body.home #st-magazine .aoki-homefront-product-media img,
	body.home #st-magazine .aoki-homefront-product-media > span { min-height: 100%; }
	body.home #st-magazine .aoki-homefront-product-media img { max-height: none; }
	body.home #st-magazine .aoki-homefront-product-copy { padding: 16px; }
	body.home #st-magazine .aoki-homefront-product h3 { font-size: 19px; }
	body.home #st-magazine .aoki-homefront-product dl { margin: 12px 0; }
	body.home #st-magazine .aoki-homefront-product dl > div { grid-template-columns: 1fr; gap: 0; font-size: 14px; }
	body.home #st-magazine .aoki-homefront-product-note { margin-bottom: 12px; }
	body.home #st-magazine .aoki-homefront-product-link { min-height: 44px; padding: 8px 12px; }
	body.home #st-magazine .aoki-homefront-articles { margin-top: var(--aoki-home-space-5); padding-top: var(--aoki-home-space-4); }
}

@media (prefers-reduced-motion: reduce) {
	body.home #st-magazine .aoki-homefront-actions a,
	body.home #st-magazine .aoki-homefront-product-link { transition: none; }
}
