.chmp-ai-search,
.chmp-catalogue,
.chmp-product-hero,
.chmp-details,
.chmp-label-images {
	--chmp-ink: #18242b;
	--chmp-muted: #637078;
	--chmp-cream: #f5f1e8;
	--chmp-paper: #fbfaf7;
	--chmp-gold: #b79a61;
	--chmp-line: rgba(24, 36, 43, .15);
	color: var(--chmp-ink);
}

.chmp-ai-search {
	background: var(--chmp-ink);
	color: #fff;
	padding: clamp(1.5rem, 4vw, 3rem);
	margin: 0 0 2rem;
	border-radius: 2px;
}

.chmp-ai-search__form {
	max-width: 60rem;
	margin: 0 auto;
}

.chmp-ai-search label {
	display: block;
	font-family: Georgia, serif;
	font-size: clamp(1.5rem, 4vw, 2.7rem);
	line-height: 1.1;
	margin-bottom: 1rem;
}

.chmp-ai-search__control {
	display: flex;
	gap: .5rem;
}

.chmp-ai-search input[type="search"] {
	flex: 1;
	min-width: 0;
	border: 1px solid rgba(255, 255, 255, .35);
	background: rgba(255, 255, 255, .09);
	color: #fff;
	padding: .9rem 1rem;
	font-size: 1rem;
	border-radius: 0;
}

.chmp-ai-search input[type="search"]::placeholder {
	color: rgba(255, 255, 255, .72);
}

.chmp-ai-search button,
.chmp-filter-submit {
	border: 1px solid var(--chmp-gold);
	background: var(--chmp-gold);
	color: #fff;
	padding: .9rem 1.25rem;
	font-weight: 700;
	cursor: pointer;
}

.chmp-ai-search button:hover,
.chmp-ai-search button:focus-visible,
.chmp-filter-submit:hover,
.chmp-filter-submit:focus-visible {
	background: #d0b77e;
	border-color: #d0b77e;
}

.chmp-ai-search__hint,
.chmp-ai-search__status {
	color: rgba(255, 255, 255, .72);
	font-size: .9rem;
	margin: .7rem 0 0;
}

.chmp-ai-search__status:empty {
	display: none;
}

.chmp-ai-search__results {
	margin-top: 1.5rem;
}

.chmp-ai-search__results:empty {
	display: none;
}

.chmp-ai-search__result-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
	gap: 1rem;
}

.chmp-ai-result {
	background: #fff;
	color: var(--chmp-ink);
	border: 1px solid var(--chmp-line);
	padding: .75rem;
}

.chmp-ai-result__image {
	display: block;
	aspect-ratio: 1 / 1;
	background: var(--chmp-cream);
	overflow: hidden;
}

.chmp-ai-result__image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.chmp-ai-result__image--empty {
	display: grid;
	place-items: center;
	color: var(--chmp-muted);
	font-size: .8rem;
}

.chmp-ai-result__producer,
.chmp-card__producer,
.chmp-product-hero__producer {
	color: var(--chmp-gold);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	margin: .8rem 0 .35rem;
}

.chmp-ai-result__title {
	font-family: Georgia, serif;
	font-size: 1.15rem;
	line-height: 1.2;
	margin: 0;
}

.chmp-ai-result__meta,
.chmp-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem .7rem;
	color: var(--chmp-muted);
	font-size: .82rem;
	margin-top: .55rem;
}

.chmp-ai-result__price {
	font-weight: 700;
	margin-top: .9rem;
}

.chmp-ai-result__price small,
.chmp-card__price small,
.chmp-product-hero__price small {
	font-weight: 400;
	color: var(--chmp-muted);
}

.chmp-catalogue {
	max-width: 90rem;
	margin: 0 auto;
}

.chmp-catalogue__toolbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	margin: 1rem 0;
}

.chmp-catalogue__toolbar-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: .65rem;
}

.chmp-map-button {
	background: var(--chmp-ink);
	border: 1px solid var(--chmp-ink);
	color: #fff;
	display: inline-block;
	font-size: .9rem;
	font-weight: 600;
	padding: .65rem .9rem;
	text-decoration: none;
}

.chmp-map-button:hover,
.chmp-map-button:focus {
	background: var(--chmp-gold);
	border-color: var(--chmp-gold);
	color: var(--chmp-ink);
}

.chmp-catalogue__count {
	color: var(--chmp-muted);
	margin: 0;
}

.chmp-catalogue__status {
	color: var(--chmp-muted);
	font-size: .85rem;
	margin: 0;
}

.chmp-catalogue__status:empty {
	display: none;
}

.chmp-catalogue.is-loading [data-chmp-results] {
	opacity: .55;
	transition: opacity .15s ease;
}

.chmp-catalogue.is-loading .chmp-filters {
	cursor: progress;
}

.chmp-filter-toggle {
	display: none;
	border: 1px solid var(--chmp-ink);
	background: transparent;
	color: var(--chmp-ink);
	padding: .65rem .8rem;
	cursor: pointer;
}

.chmp-catalogue__layout {
	display: grid;
	grid-template-columns: minmax(12rem, 15rem) minmax(0, 1fr);
	gap: clamp(1.5rem, 4vw, 3rem);
}

.chmp-filters {
	border-top: 2px solid var(--chmp-ink);
	padding-top: .75rem;
}

.chmp-filter-group {
	margin: 0 0 1rem;
}

.chmp-filter-group label {
	display: block;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	margin-bottom: .35rem;
}

.chmp-filter-dropdown {
	border: 1px solid var(--chmp-line);
	background: #fff;
}

.chmp-filter-dropdown__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .6rem;
	padding: .65rem .7rem;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	cursor: pointer;
	list-style: none;
}

.chmp-filter-dropdown__summary::-webkit-details-marker {
	display: none;
}

.chmp-filter-dropdown__summary::after {
	content: '⌄';
	font-size: 1rem;
	line-height: 1;
	transition: transform .15s ease;
}

.chmp-filter-dropdown[open] .chmp-filter-dropdown__summary::after {
	transform: rotate(180deg);
}

.chmp-filter-dropdown__count {
	min-width: 1.35rem;
	padding: .15rem .35rem;
	border-radius: 99px;
	background: var(--chmp-gold);
	color: #fff;
	font-size: .7rem;
	letter-spacing: 0;
	text-align: center;
}

.chmp-filter-dropdown__options {
	max-height: 16rem;
	overflow-y: auto;
	border-top: 1px solid var(--chmp-line);
	padding: .35rem .65rem .55rem;
}

.chmp-filter-option {
	display: flex !important;
	align-items: flex-start;
	gap: .5rem;
	margin: 0 !important;
	padding: .32rem .05rem;
	font-size: .82rem !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
	line-height: 1.25;
	text-transform: none !important;
	cursor: pointer;
}

.chmp-filter-option input[type="checkbox"] {
	flex: 0 0 auto;
	width: 1rem;
	height: 1rem;
	margin: .05rem 0 0;
	padding: 0;
	accent-color: var(--chmp-gold);
}

.chmp-filter-option:hover span,
.chmp-filter-option input[type="checkbox"]:focus-visible + span {
	color: var(--chmp-gold);
}

.chmp-filter-group input,
.chmp-filter-group select {
	width: 100%;
	border: 1px solid var(--chmp-line);
	background: #fff;
	padding: .6rem;
}

.chmp-range-filter {
	border: 1px solid var(--chmp-line);
	background: #fff;
	padding: .65rem .7rem .55rem;
}

.chmp-range-filter__header {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: .75rem;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.chmp-range-filter__values {
	color: var(--chmp-gold);
	font-size: .78rem;
	letter-spacing: 0;
	white-space: nowrap;
}

.chmp-range-filter__values output {
	font-variant-numeric: tabular-nums;
}

.chmp-range-filter__control {
	position: relative;
	height: 1.8rem;
	margin: .45rem 0 0;
}

.chmp-range-filter__control input[type="range"] {
	position: absolute;
	top: .4rem;
	left: 0;
	width: 100%;
	height: 1rem;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	accent-color: var(--chmp-gold);
	pointer-events: none;
}

.chmp-range-filter__control input[type="range"]::-webkit-slider-runnable-track {
	height: .2rem;
	border-radius: 99px;
	background: var(--chmp-line);
}

.chmp-range-filter__control input[type="range"]::-moz-range-track {
	height: .2rem;
	border-radius: 99px;
	background: var(--chmp-line);
}

.chmp-range-filter__control input[type="range"]::-webkit-slider-thumb {
	width: .95rem;
	height: .95rem;
	margin-top: -.375rem;
	border: 2px solid var(--chmp-gold);
	border-radius: 50%;
	background: #fff;
	cursor: pointer;
	pointer-events: auto;
	-webkit-appearance: none;
}

.chmp-range-filter__control input[type="range"]::-moz-range-thumb {
	width: .7rem;
	height: .7rem;
	border: 2px solid var(--chmp-gold);
	border-radius: 50%;
	background: #fff;
	cursor: pointer;
	pointer-events: auto;
}

.chmp-range-filter__control input[type="range"]:focus-visible {
	outline: 2px solid var(--chmp-ink);
	outline-offset: 2px;
}

.chmp-range-filter__control input[type="range"]:disabled {
	opacity: .45;
	cursor: not-allowed;
}

.chmp-range-filter__note {
	color: var(--chmp-muted);
	font-size: .74rem;
	line-height: 1.35;
	margin: .35rem 0 0;
}

.chmp-filter-pair {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: .5rem;
}

.chmp-filter-checkbox label {
	text-transform: none;
	letter-spacing: 0;
	font-weight: 400;
}

.chmp-filter-submit {
	width: 100%;
	margin-top: .25rem;
}

.chmp-clear-filters {
	display: block;
	color: var(--chmp-muted);
	font-size: .85rem;
	margin-top: .8rem;
	text-align: center;
}

.chmp-events,
.chmp-b2b {
	--chmp-ink: #18242b;
	--chmp-muted: #637078;
	--chmp-cream: #f5f1e8;
	--chmp-paper: #fbfaf7;
	--chmp-gold: #b79a61;
	--chmp-line: rgba(24, 36, 43, .15);
	color: var(--chmp-ink);
}

.chmp-events__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 2rem);
}

.chmp-event-card {
	background: var(--chmp-paper);
	border: 1px solid var(--chmp-line);
	min-width: 0;
}

.chmp-event-card__image {
	display: grid;
	place-items: center;
	aspect-ratio: 4 / 3;
	background: var(--chmp-cream);
	color: var(--chmp-muted);
	padding: 1rem;
	text-align: center;
	text-decoration: none;
}

.chmp-event-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.chmp-event-card__body {
	padding: 1.1rem;
}

.chmp-event-card__date {
	color: var(--chmp-gold);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.chmp-event-card__title {
	font-family: Georgia, serif;
	font-size: clamp(1.2rem, 2vw, 1.8rem);
	line-height: 1.15;
	margin: .45rem 0 .7rem;
}

.chmp-event-card__title a {
	color: inherit;
	text-decoration: none;
}

.chmp-event-card__location,
.chmp-event-card__host,
.chmp-event-card__excerpt {
	color: var(--chmp-muted);
	font-size: .9rem;
	margin: .35rem 0;
}

.chmp-event-card__meta {
	font-weight: 700;
	margin: 1rem 0 .8rem;
}

.chmp-event-card__action {
	margin: 0;
}

.chmp-event-action--sold-out {
	color: #8d3f36;
	font-weight: 700;
}

.chmp-event-details {
	border-top: 1px solid var(--chmp-line);
	margin-top: 2rem;
	padding-top: 1.5rem;
}

.chmp-event-details dl {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .75rem 2rem;
}

.chmp-event-details dl div {
	border-bottom: 1px solid var(--chmp-line);
	padding: .5rem 0;
}

.chmp-event-details dt {
	color: var(--chmp-muted);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.chmp-event-details dd {
	margin: .25rem 0 0;
}

.chmp-event-details__practical {
	margin: 1.25rem 0;
	white-space: pre-line;
}

.chmp-b2b {
	background: var(--chmp-paper);
	border: 1px solid var(--chmp-line);
	padding: clamp(1rem, 3vw, 2rem);
}

.chmp-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.chmp-form-grid p {
	margin: 0;
}

.chmp-form-grid__wide {
	grid-column: 1 / -1;
}

.chmp-b2b label {
	display: block;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .06em;
	margin-bottom: .35rem;
	text-transform: uppercase;
}

.chmp-b2b input:not([type="checkbox"]),
.chmp-b2b textarea {
	box-sizing: border-box;
	border: 1px solid var(--chmp-line);
	padding: .7rem;
	width: 100%;
}

.chmp-b2b__consent label {
	font-size: .85rem;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}

.chmp-b2b__consent input {
	accent-color: var(--chmp-gold);
	margin-right: .35rem;
}

.chmp-b2b__submit {
	background: var(--chmp-ink);
	border: 1px solid var(--chmp-ink);
	color: #fff;
	padding: .75rem 1.1rem;
}

.chmp-form-notice {
	border-left: 4px solid var(--chmp-gold);
	margin-bottom: 1rem;
	padding: .8rem 1rem;
}

.chmp-form-notice--error {
	border-color: #8d3f36;
}

.chmp-b2b__honeypot {
	position: absolute !important;
	left: -9999px !important;
	height: 1px !important;
	overflow: hidden !important;
	width: 1px !important;
}

.chmp-producer-profile {
	--chmp-ink: #18242b;
	--chmp-muted: #637078;
	--chmp-cream: #f5f1e8;
	--chmp-paper: #fbfaf7;
	--chmp-gold: #b79a61;
	--chmp-line: rgba(24, 36, 43, .15);
	color: var(--chmp-ink);
}

.chmp-producer-profile__header {
	align-items: center;
	background: var(--chmp-paper);
	display: grid;
	gap: clamp(1.5rem, 4vw, 3rem);
	grid-template-columns: minmax(10rem, 18rem) minmax(0, 1fr);
	padding: clamp(1.25rem, 4vw, 3rem);
}

.chmp-producer-profile__image {
	aspect-ratio: 1 / 1;
	display: block;
	height: 100%;
	max-height: 18rem;
	object-fit: cover;
	width: 100%;
}

.chmp-producer-profile__eyebrow {
	color: var(--chmp-gold);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .1em;
	margin: 0 0 .65rem;
	text-transform: uppercase;
}

.chmp-producer-profile h1 {
	font-family: Georgia, serif;
	font-size: clamp(2rem, 5vw, 4rem);
	line-height: 1;
	margin: 0;
}

.chmp-producer-profile__description {
	color: var(--chmp-muted);
	margin-top: 1rem;
}

.chmp-producer-profile__club-note {
	border-left: 3px solid var(--chmp-gold);
	margin: 1.25rem 0 0;
	padding-left: .9rem;
}

.chmp-producer-profile__stories {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 2rem;
	background: var(--chmp-line);
}

.chmp-producer-profile__stories section {
	background: var(--chmp-paper);
	padding: clamp(1rem, 3vw, 1.5rem);
}

.chmp-producer-profile__stories h2,
.chmp-producer-profile__products h2 {
	font-family: Georgia, serif;
	font-size: 1.35rem;
	line-height: 1.15;
	margin: 0 0 .65rem;
}

.chmp-producer-profile__stories p {
	margin: 0 0 .7rem;
}

.chmp-producer-profile__stories p:last-child {
	margin-bottom: 0;
}

.chmp-producer-profile__contact {
	border-bottom: 1px solid var(--chmp-line);
	border-top: 1px solid var(--chmp-line);
	display: grid;
	gap: 1rem 2rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 2rem 0;
	padding: 1rem 0;
}

.chmp-producer-profile__contact p {
	margin: 0;
}

.chmp-producer-profile__contact strong {
	color: var(--chmp-muted);
	display: inline-block;
	font-size: .75rem;
	letter-spacing: .08em;
	margin-bottom: .25rem;
	text-transform: uppercase;
}

.chmp-producer-profile__products {
	margin-top: 2rem;
}

.chmp-special-club {
	--chmp-ink: #18242b;
	--chmp-muted: #637078;
	--chmp-cream: #f5f1e8;
	--chmp-paper: #fbfaf7;
	--chmp-gold: #b79a61;
	--chmp-line: rgba(24, 36, 43, .15);
	color: var(--chmp-ink);
}

.chmp-special-club__header {
	background: var(--chmp-ink);
	color: #fff;
	margin-bottom: 2rem;
	padding: clamp(1.5rem, 5vw, 4rem);
}

.chmp-special-club__header h1 {
	font-family: Georgia, serif;
	font-size: clamp(2.25rem, 6vw, 5rem);
	line-height: 1;
	margin: 0 0 .8rem;
}

.chmp-special-club__header p:last-child {
	color: rgba(255, 255, 255, .78);
	margin: 0;
	max-width: 42rem;
}

.chmp-special-club__eyebrow {
	color: var(--chmp-gold);
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .1em;
	margin: 0 0 .65rem;
	text-transform: uppercase;
}

.chmp-special-club__grid {
	display: grid;
	gap: clamp(1rem, 2vw, 2rem);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.chmp-special-club__producer {
	background: var(--chmp-paper);
	border: 1px solid var(--chmp-line);
	min-width: 0;
	padding: clamp(1rem, 2.5vw, 1.5rem);
}

.chmp-special-club__image {
	aspect-ratio: 16 / 9;
	display: block;
	margin: -1.5rem -1.5rem 1.25rem;
	max-width: calc(100% + 3rem);
	object-fit: cover;
	width: calc(100% + 3rem);
}

.chmp-special-club__body h2 {
	font-family: Georgia, serif;
	font-size: 1.7rem;
	line-height: 1.1;
	margin: 0 0 .65rem;
}

.chmp-special-club__body > p:not(.chmp-special-club__eyebrow) {
	color: var(--chmp-muted);
}

.chmp-special-club__products {
	border-top: 1px solid var(--chmp-line);
	margin-top: 1.25rem;
	padding-top: 1.25rem;
}

.chmp-special-club__products h3 {
	font-size: .78rem;
	letter-spacing: .08em;
	margin: 0 0 .75rem;
	text-transform: uppercase;
}

.chmp-special-club__products .chmp-product-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.chmp-special-club__products .chmp-card__body {
	padding: .7rem;
}

.chmp-special-club__products .chmp-card__producer,
.chmp-special-club__products .chmp-card__meta,
.chmp-special-club__products .chmp-card__availability {
	display: none;
}

.chmp-special-club__products .chmp-card__title {
	font-size: 1rem;
}

.chmp-active-filters {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin: 0 0 1.25rem;
}

.chmp-filter-chip {
	border: 1px solid var(--chmp-line);
	color: var(--chmp-ink);
	padding: .4rem .6rem;
	font-size: .82rem;
	text-decoration: none;
}

.chmp-filter-chip:hover,
.chmp-filter-chip:focus-visible {
	border-color: var(--chmp-gold);
}

.chmp-product-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 2rem);
}

.chmp-card {
	background: var(--chmp-paper);
	border: 1px solid var(--chmp-line);
	min-width: 0;
}

.chmp-card__image {
	display: block;
	background: var(--chmp-cream);
	aspect-ratio: 1 / 1;
	padding: 1rem;
	text-align: center;
	overflow: hidden;
}

.chmp-card__image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform .3s ease;
}

.chmp-card:hover .chmp-card__image img {
	transform: scale(1.03);
}

.chmp-card__body {
	padding: 1rem;
}

.chmp-card__title {
	font-family: Georgia, serif;
	font-size: 1.25rem;
	line-height: 1.2;
	margin: 0;
}

/* Keep theme heading presets from turning compact catalogue cards into posters. */
.chmp-catalogue .chmp-card__title {
	font-size: 1.25rem !important;
	line-height: 1.2 !important;
}

.chmp-card__title a {
	color: inherit;
	text-decoration: none;
}

.chmp-card__price {
	font-size: 1.1rem;
	font-weight: 700;
	margin-top: 1rem;
}

.chmp-card__availability {
	display: inline-block;
	color: #2e6b4d;
	font-size: .78rem;
	font-weight: 700;
	margin-top: .5rem;
}

.chmp-card__availability--out {
	color: #a14b44;
}

.chmp-empty-state {
	border: 1px solid var(--chmp-line);
	padding: 3rem 1.5rem;
	text-align: center;
}

.chmp-empty-state h2 {
	font-family: Georgia, serif;
}

.chmp-pagination {
	margin-top: 2rem;
}

.chmp-pagination ul {
	display: flex;
	justify-content: center;
	gap: .5rem;
	list-style: none;
	padding: 0;
}

.chmp-pagination a,
.chmp-pagination span {
	display: inline-block;
	border: 1px solid var(--chmp-line);
	padding: .5rem .7rem;
}

.chmp-product-hero {
	border-top: 1px solid var(--chmp-line);
	border-bottom: 1px solid var(--chmp-line);
	margin: .75rem 0 1.5rem;
	padding: 1.2rem 0;
}

.chmp-product-hero__producer {
	margin-top: 0;
}

.chmp-product-hero__cuvee {
	font-family: Georgia, serif;
	font-size: 1.35rem;
	margin: 0 0 .8rem;
}

.chmp-product-hero__badges {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem;
}

.chmp-product-hero__badges span {
	background: var(--chmp-cream);
	padding: .35rem .55rem;
	font-size: .8rem;
}

.chmp-product-hero__commerce {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 1rem;
	margin-top: 1.25rem;
}

.chmp-product-hero__price {
	font-size: 1.35rem;
	font-weight: 700;
}

.chmp-price-per-litre {
	display: block;
	color: var(--chmp-muted);
	font-size: .8rem;
	font-weight: 400;
	margin-top: .25rem;
}

.chmp-product-hero__stock {
	color: var(--chmp-muted);
	font-size: .88rem;
	margin: 0;
	text-align: right;
}

.chmp-product-hero__age {
	color: var(--chmp-muted);
	font-size: .82rem;
	margin-bottom: 0;
	margin-top: 1rem;
}

.chmp-price--request {
	text-decoration: underline;
	text-decoration-color: var(--chmp-gold);
	text-underline-offset: .15em;
}

.chmp-price--historical,
.chmp-price--unavailable,
.chmp-numeric-state {
	font-size: .9em;
	font-weight: 500;
}

.chmp-details {
	max-width: 60rem;
}

.chmp-detail-section {
	border-bottom: 1px solid var(--chmp-line);
	padding: 1.2rem 0;
}

.chmp-detail-section h3 {
	font-family: Georgia, serif;
	font-size: 1.25rem;
	margin: 0 0 .8rem;
}

.chmp-detail-section dl {
	display: grid;
	grid-template-columns: minmax(9rem, 30%) 1fr;
	gap: .55rem 1.5rem;
	margin: 0;
}

.chmp-detail-section dt {
	color: var(--chmp-muted);
	font-size: .82rem;
}

.chmp-detail-section dd {
	margin: 0;
}

.chmp-label-images {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin: 2rem 0;
}

.chmp-label-images figure {
	margin: 0;
}

.chmp-label-images img {
	display: block;
	width: 100%;
	height: auto;
	background: var(--chmp-cream);
}

.chmp-label-images figcaption {
	color: var(--chmp-muted);
	font-size: .8rem;
	margin-top: .4rem;
}

.chmp-age-gate {
	border: 1px solid #b56f41;
	background: #fff8ed;
	padding: 1rem;
	margin: 1rem 0;
}

.chmp-age-gate p {
	margin-bottom: 0;
}

.chmp-age-gate--verified {
	border-color: #4e8664;
	background: #f1faf3;
}

*:focus-visible {
	outline: 3px solid var(--chmp-gold);
	outline-offset: 2px;
}

@media (max-width: 900px) {
	.chmp-product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.chmp-events__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {
	.chmp-ai-search__control,
	.chmp-product-hero__commerce {
		align-items: stretch;
		flex-direction: column;
	}

	.chmp-ai-search button {
		width: 100%;
	}

	.chmp-product-hero__stock {
		text-align: left;
	}

	.chmp-filter-toggle {
		display: inline-block;
	}

	.chmp-catalogue__layout {
		display: block;
	}

	.chmp-filters {
		display: none;
		margin-bottom: 1.5rem;
	}

	.chmp-filters.is-open {
		display: block;
	}

	.chmp-product-grid,
	.chmp-label-images,
	.chmp-events__grid {
		grid-template-columns: 1fr 1fr;
	}

	.chmp-producer-profile__header,
	.chmp-producer-profile__stories,
	.chmp-producer-profile__contact,
	.chmp-special-club__grid {
		grid-template-columns: 1fr;
	}

	.chmp-producer-profile__header {
		align-items: start;
	}

	.chmp-event-details dl,
	.chmp-form-grid {
		grid-template-columns: 1fr;
	}

	.chmp-form-grid__wide {
		grid-column: auto;
	}

	.chmp-detail-section dl {
		grid-template-columns: 1fr;
		gap: .15rem;
	}

	.chmp-detail-section dd {
		margin-bottom: .65rem;
	}
}

@media (max-width: 420px) {
	.chmp-product-grid,
	.chmp-label-images,
	.chmp-events__grid {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.chmp-card__image img,
	.chmp-catalogue.is-loading [data-chmp-results] {
		transition: none;
	}
}

.chmp-story__subtitle {
	font-size: 1.25rem;
	line-height: 1.5;
	color: var(--chmp-muted, #5d6665);
	margin: 0 0 1.5rem;
}

.chmp-story__relationships,
.chmp-related-stories {
	margin: 3rem 0;
	padding: clamp(1.25rem, 3vw, 2.5rem);
	background: var(--chmp-soft, #f5f1e9);
}

.chmp-story__relationships h2,
.chmp-related-stories h2 {
	margin-top: 0;
}

.chmp-story__relationship-group {
	display: inline-block;
	vertical-align: top;
	width: 24%;
	min-width: 12rem;
	margin: 0 1rem 1rem 0;
}

.chmp-story__relationship-group h3 {
	font-size: .8rem;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.chmp-story__relationship-group ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.chmp-story__relationship-group li + li {
	margin-top: .45rem;
}

.chmp-related-stories__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
	gap: 1rem;
}

.chmp-related-story a {
	display: flex;
	flex-direction: column;
	gap: .45rem;
	color: inherit;
	text-decoration: none;
}

.chmp-related-story img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.chmp-related-story__type {
	font-size: .72rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--chmp-muted, #5d6665);
}

.chmp-related-story strong {
	font-size: 1rem;
	line-height: 1.3;
}
