/*
Theme Name: Bavarian Cheese — Alpine Journal
Theme URI: https://bavariancheese.com/
Author: bavariancheese.com
Description: Original editorial theme for bavariancheese.com — a warm, modern alpine journal. Light paper backgrounds, deep pine ink, gentian accents. Block theme.
Version: 1.0.16
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: bavarian-cheese
*/

/* ---------- Alpine Journal base ---------- */

body {
	background-color: var(--wp--preset--color--paper);
	color: var(--wp--preset--color--pine);
}

/* Kicker: small-caps gentian section labels */
.bc-kicker {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gentian);
}

/* Display headlines get Fraunces via utility class for classic blocks */
.bc-display {
	font-family: var(--wp--preset--font-family--fraunces);
	font-weight: 600;
	line-height: 1.05;
	letter-spacing: -0.01em;
}

/* Contour motif wrapper — faint topographic lines behind heroes/dividers */
.bc-contours {
	position: relative;
	overflow: hidden;
}
.bc-contours > svg.bc-contour-lines {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	opacity: 0.5;
}

/* Flavor meter: thin bar, mild -> intense */
.bc-meter {
	margin: 0.35rem 0 0.9rem;
}
.bc-meter .bc-meter-label {
	display: flex;
	justify-content: space-between;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--stone);
	margin-bottom: 0.3rem;
}
.bc-meter .bc-meter-track {
	height: 4px;
	border-radius: 2px;
	background: rgba(16, 38, 31, 0.12);
}
.bc-meter .bc-meter-fill {
	height: 4px;
	border-radius: 2px;
	background: var(--wp--preset--color--hay);
}

/* Circular intensity mark on cards */
.bc-intensity {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.4rem;
	border-radius: 50%;
	border: 2px solid var(--wp--preset--color--hay);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.8rem;
	font-weight: 700;
	color: var(--wp--preset--color--pine);
}

/* PDO seal badge */
.bc-seal {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	border: 1.5px solid var(--wp--preset--color--hay);
	border-radius: 999px;
	padding: 0.3rem 0.9rem;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--pine);
	background: var(--wp--preset--color--cream);
}

/* US availability badge */
.bc-availability {
	display: inline-block;
	border-radius: 999px;
	padding: 0.25rem 0.8rem;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.06em;
}
.bc-availability.is-available {
	background: var(--wp--preset--color--spruce);
	color: #fff;
}
.bc-availability.is-limited {
	background: rgba(201, 155, 63, 0.18);
	color: var(--wp--preset--color--pine);
	border: 1px solid var(--wp--preset--color--hay);
}
.bc-availability.is-import {
	background: rgba(46, 95, 163, 0.12);
	color: var(--wp--preset--color--gentian);
	border: 1px solid var(--wp--preset--color--gentian);
}

/* Sponsored-content disclosure — visible, plain language, same design language */
.bc-disclosure {
	border-left: 3px solid var(--wp--preset--color--hay);
	background: var(--wp--preset--color--cream);
	padding: 0.9rem 1.2rem;
	font-size: 0.85rem;
	color: var(--wp--preset--color--pine);
}
.bc-disclosure strong {
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-size: 0.75rem;
}

/* Match card (pairings) */
.bc-match-card {
	background: var(--wp--preset--color--cream);
	border: 1px solid rgba(16, 38, 31, 0.1);
	border-radius: 14px;
	padding: 1.4rem;
}
.bc-match-card .bc-match-x {
	font-family: var(--wp--preset--font-family--fraunces);
	font-size: 1.6rem;
	color: var(--wp--preset--color--hay);
}

/* Card hover lift */
.bc-card {
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.bc-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 30px -18px rgba(16, 38, 31, 0.45);
}

/* Data labels: monospace for aging, stats, measurements */
.bc-data {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.8rem;
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--stone);
}

/* Pull quote for maker "why it matters" */
.bc-why-matters {
	border-left: 3px solid var(--wp--preset--color--gentian);
	padding-left: 1.2rem;
	font-family: var(--wp--preset--font-family--fraunces);
	font-size: 1.35rem;
	line-height: 1.4;
	color: var(--wp--preset--color--spruce);
}

/* Footer link color on spruce */
.bc-footer a {
	color: #f7f2e8;
	text-decoration-color: rgba(247, 242, 232, 0.4);
}
.bc-footer a:hover {
	text-decoration-color: #f7f2e8;
}

/* Archive/card grids: large boxes with even headlines */
.bc-card .wp-block-post-title {
	min-height: 4.4rem;
}

/* Single-column archives: headline on its own full-width line, image + excerpt below */
@media (min-width: 700px) {
	/* The card's inner constrained layout was capping children at ~740px;
	   lift it so they use the full 1200px panel */
	.wp-block-post-template.columns-1 .bc-card.is-layout-constrained > * {
		max-width: none;
		margin-left: 0;
		margin-right: 0;
	}
	.wp-block-post-template.columns-1 .bc-card:has(.wp-block-post-featured-image) {
		display: grid;
		grid-template-columns: 16rem minmax(0, 1fr);
		column-gap: var(--wp--preset--spacing--40);
		align-items: start;
	}
	.wp-block-post-template.columns-1 .bc-card .wp-block-post-title {
		grid-column: 1 / -1;
		font-size: 1.1rem;
		letter-spacing: -0.01em;
		min-height: 0;
		margin-bottom: var(--wp--preset--spacing--20);
	}
	.wp-block-post-template.columns-1 .bc-card:has(.wp-block-post-featured-image) .wp-block-post-featured-image {
		grid-column: 1;
		grid-row: 2;
		margin-bottom: 0;
	}
	.wp-block-post-template.columns-1 .bc-card:has(.wp-block-post-featured-image) .wp-block-post-excerpt {
		grid-column: 2;
		grid-row: 2;
		margin-top: 0;
	}
}
