/*
 * Heart River Spirits — custom layer on top of Divi.
 *
 * Fonts, colors, sizes, spacing and button styles are set inside each Divi module.
 * This file only covers what Divi 4 cannot do on its own: the homepage slider,
 * the scroll-aware header, overlay cards, hover effects, small typographic details,
 * the age check and scroll reveals. Components are keyed off CSS classes set in
 * each module's Advanced > CSS ID & Classes field (all start with "hrs-").
 */

:root {
	--hrs-ink: #0e0c0a;
	--hrs-coal: #17130f;
	--hrs-ivory: #f5efe4;
	--hrs-paper: #ece3d3;
	--hrs-gold: #c9942b;
	--hrs-gold-hi: #ddb05a;
	--hrs-gold-ink: #8a5a12;
	--hrs-text-dark: #2a221b;
	--hrs-muted-dark: #62564a;
	--hrs-text-light: rgba(242, 234, 220, .78);
	--hrs-line-dark: rgba(232, 214, 186, .16);
	--hrs-line-light: rgba(42, 34, 27, .16);
	--hrs-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;
	--hrs-body: "Jost", "Helvetica Neue", Arial, sans-serif;
	--hrs-ease: cubic-bezier(.2, .7, .2, 1);
	--hrs-hh: 96px; /* header height, shrinks after scrolling */
	--hrs-em: var(--hrs-gold);
}

html.hrs-scrolled { --hrs-hh: 74px; }

@media (max-width: 980px) {
	:root { --hrs-hh: 76px; }
	html.hrs-scrolled { --hrs-hh: 66px; }
}

/* ------------------------------------------------------------------ base */

body.hrs-ui {
	background-color: var(--hrs-ink);
	text-rendering: optimizeLegibility;
}

.hrs-ui ::selection { background: rgba(201, 148, 43, .32); }

.hrs-ui a:focus-visible,
.hrs-ui button:focus-visible,
.hrs-ui input:focus-visible,
.hrs-ui select:focus-visible,
.hrs-ui textarea:focus-visible {
	outline: 2px solid var(--hrs-gold-hi);
	outline-offset: 3px;
}

.hrs-skip {
	position: absolute;
	left: 16px;
	top: -100px;
	z-index: 100000;
	padding: 12px 18px;
	background: var(--hrs-gold);
	color: var(--hrs-ink) !important;
	font: 500 13px/1 var(--hrs-body);
	letter-spacing: .12em;
	text-transform: uppercase;
}
.hrs-skip:focus { top: 16px; }

.hrs-sr-only,
.hrs-ui .et_pb_row.hrs-sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/*
 * Accent words inside headings: wrap a word in italics in the Divi text editor (<em>) and it is set
 * in the hand-lettered script used on the bottle labels, in the section's accent color.
 */
.hrs-ui .et_pb_text :is(h1, h2) em {
	display: inline-block;
	font-family: "Allura", "Snell Roundhand", cursive;
	font-size: 1.12em;
	font-style: normal;
	font-weight: 400;
	line-height: .8;
	letter-spacing: 0;
	text-transform: none;
	color: var(--hrs-em);
	padding: 0 .06em;
}
.hrs-ui .et_pb_text h3 em {
	font-style: italic;
	color: var(--hrs-em);
}
/* A script line on its own above an uppercase title (used in the hero slides). */
.hrs-ui .et_pb_text :is(h1, h2) .hrs-script {
	display: block;
	margin-bottom: .02em;
	font-family: "Allura", "Snell Roundhand", cursive;
	font-size: .72em;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
	color: var(--hrs-ivory);
}
.hrs-ui .et_pb_text .hrs-subtitle {
	display: block;
	margin-top: .55em;
	font-family: var(--hrs-display);
	font-size: .26em;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: .14em;
	color: var(--hrs-em);
}

.hrs-ui :is(.hrs-spotlight, .hrs-story, .hrs-cocktails, .hrs-news-section, .hrs-light) {
	--hrs-em: var(--hrs-gold-ink);
}

/* Vertical alignment for Divi rows (Divi 4 has no column alignment setting). */
@media (min-width: 981px) {
	.hrs-ui .et_pb_row.hrs-va-center,
	.hrs-ui .et_pb_row.hrs-va-end {
		display: flex;
		align-items: center;
	}
	.hrs-ui .et_pb_row.hrs-va-end { align-items: flex-end; }
	.hrs-ui .et_pb_row.hrs-va-center::after,
	.hrs-ui .et_pb_row.hrs-va-end::after { display: none; }
}

/* Eyebrow labels: a short rule before the text. */
.hrs-ui .hrs-eyebrow p::before {
	content: "";
	display: inline-block;
	width: 34px;
	height: 1px;
	margin-right: 14px;
	vertical-align: middle;
	background: currentColor;
	opacity: .75;
}

/* Small labels inside cards. */
.hrs-ui .hrs-kicker {
	padding-bottom: 12px !important;
	font: 500 11px/1.5 var(--hrs-body);
	letter-spacing: .26em;
	text-transform: uppercase;
	color: var(--hrs-gold);
}
.hrs-ui .hrs-light .hrs-kicker,
.hrs-ui .hrs-cocktails .hrs-kicker { color: var(--hrs-gold-ink); }

/* Lists shown in a single line with small diamond separators. */
.hrs-ui .hrs-inline-list ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	row-gap: 8px;
	margin: 0;
	padding: 0 !important;
	list-style: none;
}
.hrs-ui .hrs-inline-list li { display: flex; align-items: center; }
.hrs-ui .hrs-inline-list li + li::before {
	content: "";
	width: 5px;
	height: 5px;
	margin: 0 18px;
	background: var(--hrs-gold);
	transform: rotate(45deg);
	opacity: .85;
}
.hrs-ui .hrs-inline-list--center ul { justify-content: center; }
.hrs-ui .hrs-inline-list--cities li + li::before { margin: 0 16px; }

/* Two buttons side by side. */
.hrs-ui .et_pb_button_module_wrapper:has(> .hrs-btn-inline) {
	display: inline-block;
	margin: 0 14px 14px 0 !important;
	vertical-align: top;
}

.hrs-ui .et_pb_button.hrs-btn { transition: color .35s var(--hrs-ease), background-color .35s var(--hrs-ease), border-color .35s var(--hrs-ease) !important; }

/* ------------------------------------------------------------------ header */

.hrs-ui .et-l--header {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 9990;
}
.admin-bar.hrs-ui .et-l--header { top: 32px; }
@media (max-width: 782px) { .admin-bar.hrs-ui .et-l--header { top: 46px; } }

.hrs-no-hero #et-main-area { padding-top: var(--hrs-hh); }

.hrs-ui .et_pb_section.hrs-header {
	position: relative;
	z-index: 1;
	overflow: visible;
}
.hrs-ui .et_pb_section.hrs-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(10, 8, 6, .6) 0%, rgba(10, 8, 6, 0) 100%);
	transition: background-color .45s var(--hrs-ease), box-shadow .45s var(--hrs-ease);
}
.hrs-scrolled .hrs-ui .et_pb_section.hrs-header::before,
.hrs-no-hero .et_pb_section.hrs-header::before,
.hrs-menu-open .et_pb_section.hrs-header::before {
	background-color: rgba(14, 12, 10, .94);
	box-shadow: 0 1px 0 var(--hrs-line-dark);
	-webkit-backdrop-filter: saturate(140%) blur(14px);
	backdrop-filter: saturate(140%) blur(14px);
}

.hrs-ui .hrs-header .et_pb_row.hrs-header__bar {
	display: flex;
	align-items: center;
	gap: 24px;
	height: var(--hrs-hh);
	transition: height .45s var(--hrs-ease);
}
.hrs-ui .hrs-header .hrs-header__bar::after { display: none; }
.hrs-ui .hrs-header .hrs-header__bar > .et_pb_column {
	width: auto !important;
	margin: 0 !important;
}
.hrs-ui .hrs-header .hrs-header__bar > .et_pb_column:first-child { flex: 1 1 auto; }
.hrs-ui .hrs-header .hrs-header__bar > .et_pb_column:last-child { flex: 0 0 auto; }

.hrs-ui .hrs-header .et_pb_menu__logo img {
	transition: max-height .45s var(--hrs-ease);
}
.hrs-scrolled .hrs-ui .hrs-header .et_pb_menu__logo img { max-height: 54px !important; }

.hrs-ui .hrs-header .et-menu > li > a {
	position: relative;
	padding-top: 12px !important;
	padding-bottom: 12px !important;
}
.hrs-ui .hrs-header .et-menu > li > a::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 4px;
	height: 1px;
	background: var(--hrs-gold);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .4s var(--hrs-ease);
}
.hrs-ui .hrs-header .et-menu > li > a:hover::before,
.hrs-ui .hrs-header .et-menu > li.current-menu-item > a::before,
.hrs-ui .hrs-header .et-menu > li.current-menu-ancestor > a::before { transform: scaleX(1); }
.hrs-ui .hrs-header .et-menu > li > a:hover { opacity: 1; }

/* Dropdown chevrons and panels */
.hrs-ui .hrs-header .et-menu .menu-item-has-children > a:first-child { padding-right: 18px !important; }
.hrs-ui .hrs-header .et-menu .menu-item-has-children > a:first-child::after {
	content: "" !important;
	top: 50% !important;
	width: 6px;
	height: 6px;
	margin-top: -5px;
	border-right: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
	transform: rotate(45deg);
}
.hrs-ui .hrs-header .et-menu li li .menu-item-has-children > a:first-child::after,
.hrs-ui .hrs-header .et-menu .sub-menu .menu-item-has-children > a::after { display: none; }

.hrs-ui .hrs-header .et-menu .sub-menu {
	width: 248px;
	padding: 14px 0 !important;
	border-top-width: 1px !important;
	box-shadow: 0 24px 50px rgba(0, 0, 0, .45) !important;
}
.hrs-ui .hrs-header .et-menu .sub-menu li { padding: 0 !important; }
.hrs-ui .hrs-header .et-menu .sub-menu a {
	width: 100% !important;
	padding: 11px 26px !important;
	font-family: var(--hrs-body) !important;
	font-size: 13px !important;
	letter-spacing: .14em !important;
	text-transform: uppercase;
	transition: color .3s, background-color .3s, padding-left .3s var(--hrs-ease) !important;
}
.hrs-ui .hrs-header .et-menu .sub-menu a:hover {
	padding-left: 32px !important;
	background: rgba(245, 239, 228, .04);
	opacity: 1;
}

/* Mobile menu: full-width panel under the header */
.hrs-ui .hrs-header .mobile_nav .mobile_menu_bar::before { color: var(--hrs-ivory) !important; }
.hrs-ui .hrs-header .et_mobile_menu {
	position: fixed !important;
	top: calc(var(--hrs-hh) + var(--hrs-admin, 0px)) !important;
	right: 0 !important;
	left: 0 !important;
	width: auto !important;
	max-height: calc(100svh - var(--hrs-hh));
	overflow-y: auto;
	padding: 10px 7% 36px !important;
	border-top: 1px solid rgba(201, 148, 43, .45) !important;
	box-shadow: 0 40px 80px rgba(0, 0, 0, .5) !important;
}
.admin-bar.hrs-ui { --hrs-admin: 46px; }
.hrs-ui .hrs-header .et_mobile_menu li a {
	padding: 15px 0 !important;
	border-bottom: 1px solid var(--hrs-line-dark) !important;
	font-family: var(--hrs-display) !important;
	font-size: 26px !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	background: none !important;
}
.hrs-ui .hrs-header .et_mobile_menu li li { padding-left: 0 !important; }
.hrs-ui .hrs-header .et_mobile_menu li li a {
	padding: 13px 0 13px 18px !important;
	font-family: var(--hrs-body) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	letter-spacing: .18em !important;
	text-transform: uppercase !important;
	opacity: .8;
}
.hrs-ui .hrs-header .et_mobile_menu .current-menu-item > a { color: var(--hrs-gold) !important; }

@media (max-width: 767px) {
	.hrs-ui .hrs-header .hrs-header__cta { display: none !important; }
}

/* ------------------------------------------------------------------ hero slider */

.hrs-ui .et_pb_section.hrs-hero {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	touch-action: pan-y;
}

.hrs-ui .hrs-hero > .et_pb_row.hrs-slide {
	--slide-bg: #120d09;
	display: flex;
	align-items: stretch;
	min-height: clamp(660px, 100svh, 1040px);
	margin: 0 !important;
}
.hrs-ui .hrs-hero > .hrs-slide::after { display: none; }
.hrs-ui .hrs-slide--rum { --slide-bg: #130c0a; --hrs-em: var(--hrs-gold); }
.hrs-ui .hrs-slide--bourbon { --hrs-em: #d39a4b; }
.hrs-ui .hrs-slide--vodka { --slide-bg: #0a0f1e; --hrs-em: #a9b2f2; }

.hrs-ui .hrs-slide > .et_pb_column {
	margin: 0 !important;
	float: none;
}
.hrs-ui .hrs-slide > .hrs-slide__copy {
	position: relative;
	z-index: 3;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 47% !important;
}
.hrs-ui .hrs-slide > .hrs-slide__media {
	position: relative;
	width: 53% !important;
	overflow: hidden;
}
.hrs-ui .hrs-slide__media .hrs-hero-img,
.hrs-ui .hrs-slide__media .hrs-hero-img .et_pb_image_wrap {
	position: absolute !important;
	inset: 0;
	width: 100% !important;
	max-width: none !important;
	height: 100%;
	margin: 0 !important;
}
.hrs-ui .hrs-slide__media .hrs-hero-img img {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	object-position: center 42%;
}
.hrs-ui .hrs-slide__media::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(90deg, var(--slide-bg) 0%, color-mix(in srgb, var(--slide-bg) 60%, transparent) 12%, transparent 38%),
		linear-gradient(0deg, rgba(8, 6, 4, .7) 0%, transparent 26%),
		linear-gradient(180deg, rgba(8, 6, 4, .45) 0%, transparent 22%);
}

/* Stack the slides on top of each other once JavaScript is available (set before first paint). */
.hrs-js .hrs-ui .et_pb_section.hrs-hero,
.hrs-js body.hrs-ui .et_pb_section.hrs-hero { display: grid; }
.hrs-js .hrs-ui .hrs-hero > .et_pb_row { grid-area: 1 / 1; }
.hrs-js .hrs-ui .hrs-hero > .hrs-slide ~ .hrs-slide { visibility: hidden; opacity: 0; }

.hrs-js .hrs-ui .hrs-hero.is-ready > .hrs-slide {
	visibility: hidden;
	opacity: 0;
	transition: opacity 1s var(--hrs-ease), visibility 0s linear 1s;
}
.hrs-js .hrs-ui .hrs-hero.is-ready > .hrs-slide.is-active {
	z-index: 2;
	visibility: visible;
	opacity: 1;
	transition: opacity 1s var(--hrs-ease), visibility 0s;
}

.hrs-js .hrs-ui .hrs-hero.is-ready .hrs-slide .hrs-hero-img img {
	transform: scale(1.07);
	transition: transform 8s cubic-bezier(.16, .6, .3, 1);
}
.hrs-js .hrs-ui .hrs-hero.is-ready .hrs-slide.is-active .hrs-hero-img img { transform: scale(1); }

.hrs-js .hrs-ui .hrs-hero.is-ready .hrs-slide .hrs-slide__copy > .et_pb_module {
	opacity: 0;
	transform: translate3d(0, 22px, 0);
	transition: opacity .8s var(--hrs-ease), transform .8s var(--hrs-ease);
}
.hrs-js .hrs-ui .hrs-hero.is-ready .hrs-slide.is-active .hrs-slide__copy > .et_pb_module {
	opacity: 1;
	transform: none;
}
.hrs-ui .hrs-hero .hrs-slide.is-active .hrs-slide__copy > .et_pb_module:nth-child(2) { transition-delay: .1s; }
.hrs-ui .hrs-hero .hrs-slide.is-active .hrs-slide__copy > .et_pb_module:nth-child(3) { transition-delay: .2s; }
.hrs-ui .hrs-hero .hrs-slide.is-active .hrs-slide__copy > .et_pb_module:nth-child(4) { transition-delay: .28s; }
.hrs-ui .hrs-hero .hrs-slide.is-active .hrs-slide__copy > .et_pb_module:nth-child(5),
.hrs-ui .hrs-hero .hrs-slide.is-active .hrs-slide__copy > .et_pb_button_module_wrapper { transition-delay: .36s; }

/* Slider controls (added by site.js) */
.hrs-hero__controls {
	position: absolute;
	right: 4%;
	bottom: clamp(26px, 4vw, 48px);
	left: 7%;
	z-index: 5;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	pointer-events: none;
}
.hrs-hero__controls > * { pointer-events: auto; }

.hrs-hero__tabs { display: flex; gap: 28px; }
.hrs-hero__tab {
	display: block;
	min-width: 64px;
	padding: 8px 0;
	border: 0;
	background: none;
	color: rgba(245, 239, 228, .55);
	font: 500 11px/1.3 var(--hrs-body);
	letter-spacing: .2em;
	text-align: left;
	text-transform: uppercase;
	cursor: pointer;
	transition: color .3s;
}
.hrs-hero__tab:hover,
.hrs-hero__tab[aria-current="true"] { color: var(--hrs-ivory); }
.hrs-hero__tab-num {
	display: block;
	margin-bottom: 6px;
	font: 600 16px/1 var(--hrs-display);
	letter-spacing: .06em;
}
.hrs-hero__tab-label { display: none; }
.hrs-hero__tab-bar {
	display: block;
	height: 1px;
	margin-top: 12px;
	overflow: hidden;
	background: rgba(245, 239, 228, .24);
}
.hrs-hero__tab-bar i {
	display: block;
	height: 100%;
	background: var(--hrs-gold);
	transform: scaleX(0);
	transform-origin: left;
}
.hrs-hero__tab[aria-current="true"] .hrs-hero__tab-bar i { transform: scaleX(1); }
.hrs-hero.is-autoplay .hrs-hero__tab[aria-current="true"] .hrs-hero__tab-bar i {
	transform: scaleX(0);
	animation: hrs-progress var(--hrs-slide-ms, 7000ms) linear forwards;
}
.hrs-hero.is-paused .hrs-hero__tab-bar i { animation-play-state: paused !important; }
@keyframes hrs-progress { to { transform: scaleX(1); } }

@media (min-width: 1200px) {
	.hrs-hero__tab { min-width: 150px; }
	.hrs-hero__tab-label { display: block; }
}

.hrs-hero__nav { display: flex; gap: 10px; }
.hrs-hero__btn {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 1px solid rgba(245, 239, 228, .34);
	border-radius: 50%;
	background: rgba(14, 12, 10, .35);
	color: var(--hrs-ivory);
	cursor: pointer;
	transition: background-color .3s, color .3s, border-color .3s;
}
.hrs-hero__btn:hover { border-color: var(--hrs-ivory); background: var(--hrs-ivory); color: var(--hrs-ink); }
.hrs-hero__btn svg { width: 18px; height: 18px; }
.hrs-hero__btn .hrs-icon-play { display: none; }
.hrs-hero.is-stopped .hrs-hero__pause .hrs-icon-play { display: block; }
.hrs-hero.is-stopped .hrs-hero__pause .hrs-icon-pause { display: none; }

/* Tablet & phone: photo on top, words underneath */
@media (max-width: 980px) {
	.hrs-ui .hrs-hero > .et_pb_row.hrs-slide {
		flex-direction: column-reverse;
		justify-content: flex-end;
		min-height: 0;
	}
	.hrs-ui .hrs-slide > .hrs-slide__copy,
	.hrs-ui .hrs-slide > .hrs-slide__media { width: 100% !important; }
	.hrs-ui .hrs-slide > .hrs-slide__media {
		height: min(62svh, 720px);
		min-height: 380px;
		margin-bottom: -60px !important;
	}
	.hrs-ui .hrs-slide__media::after {
		background:
			linear-gradient(0deg, var(--slide-bg) 0%, color-mix(in srgb, var(--slide-bg) 70%, transparent) 14%, transparent 40%),
			linear-gradient(180deg, rgba(8, 6, 4, .55) 0%, transparent 26%);
	}
	.hrs-hero__controls { left: 6%; right: 6%; }
}
@media (max-width: 767px) {
	.hrs-ui .hrs-slide > .hrs-slide__media { height: 54svh; min-height: 340px; }
	.hrs-hero__nav .hrs-hero__prev,
	.hrs-hero__nav .hrs-hero__next { display: none; }
	.hrs-hero__btn { width: 42px; height: 42px; }
	.hrs-hero__tabs { gap: 18px; }
}

/* In the Divi Visual Builder show every slide one after another so each one can be edited. */
.et-fb .hrs-hero > .hrs-slide { min-height: 640px; }

/* ------------------------------------------------------------------ bourbon spotlight */

.hrs-ui .hrs-spotlight__media { position: relative; }

.hrs-ui .hrs-facts ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin: 0;
	padding: 0 !important;
	list-style: none;
	border-top: 1px solid var(--hrs-line-light);
}
.hrs-ui .hrs-facts li {
	padding: 18px 20px 18px 0;
	border-bottom: 1px solid var(--hrs-line-light);
}
.hrs-ui .hrs-facts li span {
	display: block;
	margin-bottom: 6px;
	font: 500 10.5px/1.4 var(--hrs-body);
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--hrs-gold-ink);
}

.hrs-ui .et_pb_text blockquote {
	margin: 0;
	padding: 4px 0 4px 26px;
}

/* ------------------------------------------------------------------ cards */

.hrs-ui .hrs-card { position: relative; }
.hrs-ui .hrs-card .hrs-card__img {
	position: relative;
	margin: 0 !important;
	overflow: hidden;
}
.hrs-ui .hrs-card .hrs-card__img img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	transition: transform 1.2s var(--hrs-ease);
}
.hrs-ui .hrs-card--recipe .hrs-card__img img { aspect-ratio: 1 / 1; }
.hrs-ui .hrs-card:hover .hrs-card__img img { transform: scale(1.045); }

.hrs-ui .hrs-card__body h3 a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}
.hrs-ui .hrs-card__body h3 { padding-bottom: 12px !important; }

.hrs-ui .hrs-cue {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	margin-top: 22px;
	padding: 0 !important;
	font: 500 11px/1 var(--hrs-body);
	letter-spacing: .26em;
	text-transform: uppercase;
	color: var(--hrs-gold-hi);
}
.hrs-ui .hrs-cue::after {
	content: "";
	width: 30px;
	height: 1px;
	background: currentColor;
	transition: width .45s var(--hrs-ease);
}
.hrs-ui .hrs-card:hover .hrs-cue::after { width: 54px; }

/* Large cards: words sit over the photo */
.hrs-ui .hrs-card--lg { display: grid; }
.hrs-ui .hrs-card--lg > .et_pb_module { grid-area: 1 / 1; }
.hrs-ui .hrs-card--lg .hrs-card__img img {
	height: clamp(520px, 50vw, 760px);
	aspect-ratio: auto;
}
.hrs-ui .hrs-card--lg .hrs-card__img::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(0deg, rgba(10, 8, 6, .94) 0%, rgba(10, 8, 6, .6) 34%, rgba(10, 8, 6, 0) 64%);
}
.hrs-ui .hrs-card--lg .hrs-card__body {
	z-index: 2;
	align-self: end;
	margin: 0 !important;
}

.hrs-ui .hrs-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 18px 0 0 !important;
	padding: 0 !important;
	list-style: none;
}
.hrs-ui .hrs-chips a {
	position: relative;
	z-index: 2;
	display: inline-block;
	padding: 8px 14px;
	border: 1px solid rgba(245, 239, 228, .3);
	font: 500 11px/1 var(--hrs-body) !important;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--hrs-ivory) !important;
	transition: background-color .3s, color .3s, border-color .3s;
}
.hrs-ui .hrs-chips a:hover { border-color: var(--hrs-gold); background: var(--hrs-gold); color: var(--hrs-ink) !important; }

/* ------------------------------------------------------------------ story */

.hrs-ui .hrs-story__media { position: relative; padding-bottom: 14%; }
.hrs-ui .hrs-story__media .hrs-story__main { width: 82% !important; margin: 0 !important; }
.hrs-ui .hrs-story__media .hrs-story__main img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.hrs-ui .hrs-story__media .hrs-story__inset {
	position: absolute !important;
	right: 0;
	bottom: 0;
	width: 48% !important;
	margin: 0 !important;
	box-shadow: 0 30px 60px rgba(14, 12, 10, .18);
}
.hrs-ui .hrs-pillars { counter-reset: hrs-pillar; }
.hrs-ui .hrs-pillar { counter-increment: hrs-pillar; }
.hrs-ui .hrs-pillar .et_pb_module_header::before {
	content: counter(hrs-pillar, decimal-leading-zero);
	display: block;
	margin-bottom: 18px;
	font: 500 11px/1 var(--hrs-body);
	letter-spacing: .3em;
	color: var(--hrs-gold-ink);
}

/* ------------------------------------------------------------------ awards */

.hrs-ui .hrs-frame { position: relative; z-index: 0; }
.hrs-ui .hrs-frame::before {
	content: "";
	position: absolute;
	inset: 18px -18px -18px 18px;
	z-index: -1;
	border: 1px solid rgba(201, 148, 43, .38);
}
.hrs-ui .hrs-frame img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }

.hrs-ui .hrs-award-list {
	margin: 0 0 26px !important;
	padding: 0 !important;
	list-style: none;
	border-top: 1px solid var(--hrs-line-dark);
}
.hrs-ui .hrs-award-list li {
	display: grid;
	grid-template-columns: 76px 1fr;
	grid-template-areas: "year spirit" "year medal";
	column-gap: 22px;
	align-items: baseline;
	padding: 20px 0;
	border-bottom: 1px solid var(--hrs-line-dark);
}
.hrs-ui .hrs-award__year { grid-area: year; font: 600 30px/1 var(--hrs-display); color: var(--hrs-gold); }
.hrs-ui .hrs-award__spirit { grid-area: spirit; font: 600 27px/1.15 var(--hrs-display); color: var(--hrs-ivory); }
.hrs-ui .hrs-award__medal {
	grid-area: medal;
	margin-top: 6px;
	font: 500 11px/1.5 var(--hrs-body);
	letter-spacing: .22em;
	text-transform: uppercase;
	color: rgba(242, 234, 220, .6);
}

/* ------------------------------------------------------------------ where to buy */

.hrs-ui .hrs-visit {
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}

/* ------------------------------------------------------------------ news (Divi Blog module, list layout shown as a grid) */

.hrs-ui .hrs-news .et_pb_ajax_pagination_container {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 56px 40px;
}
.hrs-ui .hrs-news .et_pb_post {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
}
.hrs-ui .hrs-news .entry-featured-image-url {
	display: block;
	margin-bottom: 26px !important;
	overflow: hidden;
	aspect-ratio: 3 / 2;
}
.hrs-ui .hrs-news .entry-featured-image-url img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1.2s var(--hrs-ease);
}
.hrs-ui .hrs-news .et_pb_post:hover .entry-featured-image-url img { transform: scale(1.045); }
.hrs-ui .hrs-news .post-meta { order: -1; margin-bottom: 12px !important; }
.hrs-ui .hrs-news .entry-title { padding-bottom: 14px !important; }
.hrs-ui .hrs-news .entry-title a { transition: color .3s; }
.hrs-ui .hrs-news .entry-title a:hover { color: var(--hrs-gold-ink) !important; }
.hrs-ui .hrs-news .more-link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-top: 18px;
}
.hrs-ui .hrs-news .more-link::after { content: ""; width: 26px; height: 1px; background: currentColor; transition: width .4s var(--hrs-ease); }
.hrs-ui .hrs-news .et_pb_post:hover .more-link::after { width: 44px; }
.hrs-ui .hrs-news .pagination { grid-column: 1 / -1; }

@media (max-width: 980px) {
	.hrs-ui .hrs-news .et_pb_ajax_pagination_container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.hrs-ui .hrs-news .et_pb_ajax_pagination_container { grid-template-columns: 1fr; gap: 48px; }
}

/* ------------------------------------------------------------------ scroll reveals (added by site.js) */

.hrs-js .hrs-reveal {
	opacity: 0;
	transform: translate3d(0, 30px, 0);
	transition: opacity 1.1s var(--hrs-ease), transform 1.1s var(--hrs-ease);
}
.hrs-js .hrs-reveal.is-in { opacity: 1; transform: none; }

/* ------------------------------------------------------------------ age check */

.hrs-age[hidden] { display: none; }
.hrs-age-pending .hrs-age[hidden] { display: grid; }
.hrs-age-pending,
.hrs-age-pending body { overflow: hidden; }

.hrs-age {
	position: fixed;
	inset: 0;
	z-index: 100001;
	display: grid;
	place-items: center;
	padding: 20px;
	background:
		radial-gradient(60% 50% at 50% 40%, rgba(150, 96, 30, .22), rgba(0, 0, 0, 0) 70%),
		rgba(10, 8, 6, .96);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}
.hrs-age__panel {
	width: min(520px, 100%);
	padding: clamp(36px, 6vw, 56px) clamp(24px, 5vw, 52px);
	border: 1px solid rgba(201, 148, 43, .38);
	background: #120f0c;
	text-align: center;
	color: var(--hrs-text-light);
	box-shadow: 0 40px 100px rgba(0, 0, 0, .6);
}
.hrs-age__logo { display: block; width: 132px; height: auto; margin: 0 auto 26px; }
.hrs-age__eyebrow {
	padding: 0 0 14px !important;
	font: 500 11px/1.4 var(--hrs-body);
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--hrs-gold);
}
.hrs-age__title {
	padding: 0 0 14px !important;
	font: 600 clamp(34px, 6vw, 46px)/1.05 var(--hrs-display) !important;
	color: var(--hrs-ivory) !important;
}
.hrs-age__text { padding: 0 0 30px !important; font: 400 16px/1.7 var(--hrs-body); }
.hrs-age__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.hrs-age__btn {
	min-width: 150px;
	padding: 17px 28px;
	border: 1px solid var(--hrs-gold);
	background: var(--hrs-gold);
	color: var(--hrs-ink);
	font: 500 12px/1 var(--hrs-body);
	letter-spacing: .24em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color .3s, color .3s, border-color .3s;
}
.hrs-age__btn:hover { border-color: var(--hrs-gold-hi); background: var(--hrs-gold-hi); }
.hrs-age__btn--no { border-color: rgba(245, 239, 228, .4); background: transparent; color: var(--hrs-ivory); }
.hrs-age__btn--no:hover { border-color: var(--hrs-ivory); background: var(--hrs-ivory); color: var(--hrs-ink); }
.hrs-age__denied { padding: 22px 0 0 !important; color: #f0b49a; font: 500 15px/1.6 var(--hrs-body); }
.hrs-age__legal {
	padding: 28px 0 0 !important;
	font: 500 10.5px/1.4 var(--hrs-body);
	letter-spacing: .26em;
	text-transform: uppercase;
	color: rgba(242, 234, 220, .5);
}

/* ------------------------------------------------------------------ reduced motion */

@media (prefers-reduced-motion: reduce) {
	.hrs-ui *,
	.hrs-ui *::before,
	.hrs-ui *::after {
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
	}
	.hrs-js .hrs-reveal { opacity: 1; transform: none; }
	.hrs-js .hrs-ui .hrs-hero.is-ready .hrs-slide .hrs-hero-img img { transform: none; }
}

/* ------------------------------------------------------------------ refinements */

/* Script accent color per background */
.hrs-ui .et_pb_section { --hrs-script: var(--hrs-ivory); }
.hrs-ui :is(.hrs-spotlight, .hrs-story, .hrs-cocktails, .hrs-news-section, .hrs-light) { --hrs-script: var(--hrs-gold-ink); }
.hrs-ui .et_pb_text :is(h1, h2) .hrs-script { color: var(--hrs-script); }

/* Let the bottle photo's white backdrop melt into the parchment (Divi columns create their own layer otherwise). */
.hrs-ui .et_pb_column.hrs-spotlight__media { z-index: auto; }
.hrs-ui .hrs-packshot img { mix-blend-mode: multiply; }

/* Craft features strip */
.hrs-ui .hrs-features .et_pb_row { display: flex; flex-wrap: wrap; }
.hrs-ui .hrs-features .et_pb_row::after { display: none; }
.hrs-ui .hrs-features .hrs-feature {
	flex: 1 1 25%;
	width: auto !important;
	margin: 0 !important;
	padding: 6px 28px;
	border-left: 1px solid var(--hrs-line-light);
}
.hrs-ui .hrs-features .hrs-feature:first-child { border-left: 0; }
.hrs-ui .hrs-feature__blurb .et_pb_main_blurb_image { margin-bottom: 22px !important; }
.hrs-ui .hrs-feature__blurb .et_pb_main_blurb_image img { width: 52px; height: 52px; }
.hrs-ui .hrs-feature__blurb .et_pb_module_header { padding-bottom: 10px !important; }
@media (max-width: 980px) {
	.hrs-ui .hrs-features .hrs-feature { flex-basis: 50%; padding: 26px 22px; border-left: 0; }
	.hrs-ui .hrs-features .hrs-feature:nth-child(even) { border-left: 1px solid var(--hrs-line-light); }
	.hrs-ui .hrs-features .hrs-feature:nth-child(n+3) { border-top: 1px solid var(--hrs-line-light); }
}
@media (max-width: 479px) {
	.hrs-ui .hrs-features .hrs-feature { flex-basis: 100%; border-left: 0 !important; }
	.hrs-ui .hrs-features .hrs-feature + .hrs-feature { border-top: 1px solid var(--hrs-line-light); }
}

/* Stronger shade behind words on large cards */
.hrs-ui .hrs-card--lg .hrs-card__img::after {
	background: linear-gradient(0deg, rgba(10, 8, 6, .96) 0%, rgba(10, 8, 6, .8) 38%, rgba(10, 8, 6, .2) 66%, rgba(10, 8, 6, 0) 80%);
}

/* Centered button pairs (Where to Buy bands, and any column with the hrs-btn-center class, e.g. the 404 page) */
.hrs-ui .hrs-find .et_pb_column,
.hrs-ui .et_pb_column.hrs-btn-center { text-align: center; }
.hrs-ui .hrs-find .et_pb_button_module_wrapper:has(> .hrs-btn-inline),
.hrs-ui .hrs-btn-center .et_pb_button_module_wrapper:has(> .hrs-btn-inline) { margin: 0 7px 14px !important; }

/* Footer link lists */
.hrs-ui .hrs-footer-links,
.hrs-ui .hrs-footer-menu ul {
	margin: 0;
	padding: 0 !important;
	list-style: none;
}
.hrs-ui .hrs-footer-menu .widget_nav_menu,
.hrs-ui .hrs-footer-menu .et_pb_widget { margin: 0 !important; float: none; width: 100%; }
.hrs-ui .hrs-footer-menu .widgettitle { display: none; }
.hrs-ui .hrs-footer a,
.hrs-ui .hrs-footer-menu a {
	color: rgba(242, 234, 220, .82) !important;
	transition: color .3s;
}
.hrs-ui .hrs-footer a:hover,
.hrs-ui .hrs-footer-menu a:hover { color: var(--hrs-gold-hi) !important; }
.hrs-ui .hrs-social .et_pb_social_icon a.icon { transition: opacity .3s; }
.hrs-ui .hrs-social .et_pb_social_icon a.icon:hover { opacity: .7; }

/* Slider tab labels are short (Bourbon, Rum, Vodka) so show them everywhere */
.hrs-hero__tab-label { display: block; }
.hrs-hero__tab { min-width: 92px; }
@media (min-width: 1200px) { .hrs-hero__tab { min-width: 132px; } }
@media (max-width: 767px) { .hrs-hero__tab { min-width: 0; flex: 1; } .hrs-hero__tabs { flex: 1; } }

/* The header itself stays see-through; its shade comes from the ::before layer above. */
.hrs-ui .et_pb_section.hrs-header,
.hrs-ui .hrs-header .et_pb_menu { background-color: transparent !important; }

@media (max-width: 767px) {
	/* Separators look odd at the start of wrapped lines on phones; use spacing instead. */
	.hrs-ui .hrs-inline-list--cities ul { column-gap: 22px; }
	.hrs-ui .hrs-inline-list--cities li + li::before { display: none; }
	.hrs-ui .hrs-frame::before { inset: 10px -10px -10px 10px; }
	.hrs-ui .hrs-facts ul { font-size: 20px; }
}

/* ------------------------------------------------------------------ interior pages */

/* Arched product photos */
.hrs-ui .hrs-arch .et_pb_image_wrap,
.hrs-ui .hrs-arch-sm .et_pb_image_wrap { overflow: hidden; }
.hrs-ui .hrs-arch img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.hrs-ui .hrs-arch-sm img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.hrs-ui .hrs-product-hero__media { position: relative; }
.hrs-ui .hrs-product-hero__media::before {
	content: "";
	position: absolute;
	top: 6%;
	left: 50%;
	width: min(520px, 90%);
	height: 92%;
	border: 1px solid rgba(201, 148, 43, .35);
	border-radius: 400px 400px 0 0;
	transform: translate(-46%, 0);
	pointer-events: none;
}
.hrs-ui .hrs-frame-soft img { box-shadow: 0 30px 70px rgba(14, 12, 10, .18); }
.hrs-ui .hrs-dark .hrs-frame-soft img { box-shadow: 0 30px 70px rgba(0, 0, 0, .45); }

/* Rows with the photo on the right: photo first on phones */
@media (max-width: 980px) {
	.hrs-ui .et_pb_row.hrs-reverse { display: flex; flex-direction: column-reverse; }
	.hrs-ui .et_pb_row.hrs-reverse > .et_pb_column:last-child { margin-bottom: 30px !important; }
	.hrs-ui .et_pb_row.hrs-reverse > .et_pb_column:first-child { margin-bottom: 0 !important; }
}

/* Zig-zag product rows get breathing room */
.hrs-ui .hrs-range .et_pb_row + .et_pb_row { margin-top: clamp(64px, 8vw, 120px); }

/* Recipe cards */
.hrs-ui .hrs-recipe__img img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; transition: transform 1.2s var(--hrs-ease); }
.hrs-ui .hrs-recipe__img { overflow: hidden; margin: 0 !important; }
.hrs-ui .hrs-recipe:hover .hrs-recipe__img img { transform: scale(1.04); }
.hrs-ui .hrs-recipe__body h3 { padding-bottom: 10px !important; }
.hrs-ui .hrs-recipe__body ul { margin: 0; padding: 0 !important; list-style: none; }
.hrs-ui .hrs-recipe__body li { padding: 7px 0; border-bottom: 1px solid var(--hrs-line-light); }
.hrs-ui .hrs-recipe__body li:last-child { border-bottom: 0; }
.hrs-ui .hrs-recipe-more { align-self: center; }

/* Store cards */
.hrs-ui .hrs-store__img { overflow: hidden; margin: 0 !important; background: #fff; }
.hrs-ui .hrs-store__img img { width: 100%; aspect-ratio: 4 / 3; object-fit: contain; }
.hrs-ui .hrs-store__body ul { margin: 18px 0 0; padding: 0 !important; list-style: none; border-top: 1px solid var(--hrs-line-light); }
.hrs-ui .hrs-store__body li { padding: 12px 0; border-bottom: 1px solid var(--hrs-line-light); }
.hrs-ui .hrs-store__body strong { color: var(--hrs-text-dark); font-weight: 500; }
.hrs-ui .hrs-store-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 32px;
	margin: 0;
	padding: 0 !important;
	list-style: none;
	border-top: 1px solid var(--hrs-line-light);
}
.hrs-ui .hrs-store-list li { padding: 18px 0; border-bottom: 1px solid var(--hrs-line-light); }
.hrs-ui .hrs-store-list strong { display: block; margin-bottom: 4px; font: 600 22px/1.2 var(--hrs-display); color: var(--hrs-text-dark); }
@media (max-width: 600px) { .hrs-ui .hrs-store-list { grid-template-columns: 1fr; } }

.hrs-ui .hrs-map { border: 1px solid var(--hrs-line-light); }

/* Award badge card on rum pages */
.hrs-ui .hrs-award-card { text-align: center; }

/* Big quote band */
.hrs-ui .hrs-quote-band h2 em { font-size: 1.2em; }

/* Contact form (Gravity Forms) */
.hrs-ui .hrs-gform .gform_wrapper { margin: 0 !important; }
.hrs-ui .hrs-gform .gform_wrapper .gfield_label,
.hrs-ui .hrs-gform .gform_wrapper .gform-field-label:not(.gform-field-label--type-sub) {
	margin-bottom: 8px !important;
	font: 500 11px/1.4 var(--hrs-body) !important;
	letter-spacing: .22em !important;
	text-transform: uppercase;
	color: var(--hrs-text-dark) !important;
}
.hrs-ui .hrs-gform .gform-field-label--type-sub {
	font: 400 12px/1.4 var(--hrs-body) !important;
	font-style: normal !important;
	color: var(--hrs-muted-dark) !important;
}
.hrs-ui .hrs-gform .gform_wrapper input[type="text"],
.hrs-ui .hrs-gform .gform_wrapper input[type="email"],
.hrs-ui .hrs-gform .gform_wrapper input[type="tel"],
.hrs-ui .hrs-gform .gform_wrapper textarea,
.hrs-ui .hrs-gform .gform_wrapper select {
	width: 100%;
	padding: 14px 16px !important;
	border: 1px solid rgba(42, 34, 27, .22) !important;
	border-radius: 0 !important;
	background: #fbf8f2 !important;
	color: var(--hrs-text-dark) !important;
	font: 400 16px/1.5 var(--hrs-body) !important;
	transition: border-color .3s, background-color .3s;
}
.hrs-ui .hrs-gform .gform_wrapper input:focus,
.hrs-ui .hrs-gform .gform_wrapper textarea:focus {
	border-color: var(--hrs-gold) !important;
	background: #fff !important;
	outline: none;
}
.hrs-ui .hrs-gform .gform_wrapper .gfield { margin-bottom: 6px; }
.hrs-ui .hrs-gform .gform_footer { margin-top: 18px !important; padding: 0 !important; }
.hrs-ui .hrs-gform .gform_button {
	padding: 19px 36px !important;
	border: 1px solid var(--hrs-ink) !important;
	border-radius: 0 !important;
	background: var(--hrs-ink) !important;
	color: var(--hrs-ivory) !important;
	font: 500 12px/1 var(--hrs-body) !important;
	letter-spacing: .25em !important;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color .3s, border-color .3s;
}
.hrs-ui .hrs-gform .gform_button:hover { border-color: var(--hrs-gold-ink) !important; background: var(--hrs-gold-ink) !important; }

/* Single blog posts */
.hrs-ui .hrs-post-title .entry-title { padding-bottom: 18px !important; }
.hrs-ui .hrs-post-title .et_pb_title_meta_container { font-family: var(--hrs-body) !important; }
.hrs-ui .hrs-article__content p { padding-bottom: 1.2em; }
.hrs-ui .hrs-article__content a { text-decoration: underline; text-underline-offset: 3px; }
.hrs-ui .hrs-article__img img { width: 100%; max-height: 640px; object-fit: cover; }
.hrs-ui .hrs-article__aside { position: sticky; top: calc(var(--hrs-hh) + 30px); }

/* ------------------------------------------------------------------ older pages that still use Divi's full-width header */

.hrs-ui .et_pb_fullwidth_header:not(.hrs-keep) {
	padding-top: calc(var(--hrs-hh) + 80px) !important;
	padding-bottom: 90px !important;
	background-color: var(--hrs-ink) !important;
}
.hrs-ui .et_pb_fullwidth_header:not(.hrs-keep) .et_pb_fullwidth_header_overlay {
	background: linear-gradient(90deg, rgba(14, 12, 10, .95) 0%, rgba(14, 12, 10, .78) 60%, rgba(14, 12, 10, .6) 100%) !important;
}
.hrs-ui .et_pb_fullwidth_header:not(.hrs-keep) .header-content .et_pb_module_header,
.hrs-ui .et_pb_fullwidth_header:not(.hrs-keep) .header-content h1 {
	font-family: var(--hrs-display) !important;
	font-size: clamp(42px, 6vw, 84px) !important;
	font-style: normal !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	letter-spacing: 1px !important;
	text-transform: uppercase;
	color: var(--hrs-ivory) !important;
	text-shadow: none !important;
}
.hrs-ui .et_pb_fullwidth_header:not(.hrs-keep) .header-content .et_pb_module_header::before {
	content: "Heart River Spirits";
	display: block;
	margin-bottom: 18px;
	font: 500 12px/1.4 var(--hrs-body);
	letter-spacing: .3em;
	color: var(--hrs-gold);
}

/* Headings inside older text modules use the new display face (the tiki menu keeps its own fonts). */
.hrs-ui #main-content .et_pb_text:not(.big-dog-menu) :is(h1, h2, h3) {
	font-family: var(--hrs-display) !important;
	font-style: normal !important;
	text-shadow: none !important;
}

/* Softer seam where the slide photo meets the dark panel */
@media (min-width: 981px) {
	.hrs-ui .hrs-slide__media::after {
		background:
			linear-gradient(90deg, var(--slide-bg) 0%, color-mix(in srgb, var(--slide-bg) 75%, transparent) 10%, color-mix(in srgb, var(--slide-bg) 30%, transparent) 28%, transparent 50%),
			linear-gradient(0deg, rgba(8, 6, 4, .7) 0%, transparent 26%),
			linear-gradient(180deg, rgba(8, 6, 4, .45) 0%, transparent 22%);
	}
	.hrs-ui .hrs-slide > .hrs-slide__media { margin-left: -4% !important; width: 57% !important; }
}

/* Keep the header and hero steady while Divi's own styles finish loading (prevents layout jumps). */
.hrs-ui .et_pb_section.hrs-header,
.hrs-ui .et_pb_section.hrs-hero { padding-top: 0; padding-bottom: 0; }
.hrs-ui .hrs-header .et_pb_row,
.hrs-ui .hrs-hero > .et_pb_row { padding-top: 0; padding-bottom: 0; }
.hrs-ui .hrs-header .et_pb_row.hrs-header__bar { width: 100%; max-width: 100%; }

/* Page heroes keep a fixed minimum height so web fonts arriving late can't push the page down. */
.hrs-ui .et_pb_section.hrs-page-hero {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	min-height: 760px;
}
.hrs-ui .et_pb_section.hrs-page-hero > .et_pb_row { width: 86%; }
@media (max-width: 980px) {
	.hrs-ui .et_pb_section.hrs-page-hero { min-height: 540px; }
	.hrs-ui .et_pb_section.hrs-page-hero > .et_pb_row { width: 88%; }
}
@media (max-width: 767px) {
	.hrs-ui .et_pb_section.hrs-page-hero { min-height: 460px; }
	.hrs-ui .et_pb_section.hrs-page-hero > .et_pb_row { width: 89%; }
}
@media (min-width: 981px) {
	.hrs-ui .et_pb_section.hrs-product-hero { min-height: 860px; display: flex; flex-direction: column; justify-content: center; }
	.hrs-ui .et_pb_section.hrs-product-hero > .et_pb_row { width: 86%; }
}
.hrs-age__panel { min-height: 500px; display: flex; flex-direction: column; justify-content: center; }

/* The age check panel is anchored from the top so late-loading fonts don't nudge it. */
.hrs-age { place-items: start center; overflow-y: auto; }
.hrs-age__panel { margin-top: max(20px, calc(50vh - 290px)); min-height: 0; }
.hrs-age__logo { width: 132px; height: 115px; object-fit: contain; }
/* Divi rows use automatic margins, which would re-center them vertically; pin hero content to the top instead. */
.hrs-ui .et_pb_section.hrs-page-hero > .et_pb_row { margin-top: 0; margin-bottom: auto; }

/* Older pages: buttons and sign-up headings follow the new style. */
body.hrs-ui #page-container #main-content .et_pb_section .et_pb_button:not(.hrs-btn) {
	padding: 17px 30px !important;
	border: 1px solid rgba(42, 34, 27, .45) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--hrs-text-dark) !important;
	font-family: var(--hrs-body) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	letter-spacing: .22em !important;
	text-transform: uppercase !important;
	transition: background-color .3s, color .3s, border-color .3s !important;
}
body.hrs-ui #page-container #main-content .et_pb_section .et_pb_button:not(.hrs-btn):hover {
	border-color: var(--hrs-ink) !important;
	background: var(--hrs-ink) !important;
	color: var(--hrs-ivory) !important;
}
body.hrs-ui #page-container #main-content .et_pb_button:not(.hrs-btn)::after { display: none !important; }
.hrs-ui #main-content .et_pb_newsletter .et_pb_module_header {
	font-family: var(--hrs-display) !important;
	font-style: normal !important;
	font-weight: 500 !important;
	text-transform: uppercase;
	letter-spacing: 1px;
}

/* Divi Visual Builder: keep the header in the normal flow so it never covers the editing area. */
.et-fb .et-l--header,
.et-fb-root-ancestor .et-l--header { position: relative !important; }

/* Moonshine and Big Dog Water slides */
.hrs-ui .hrs-slide--moonshine { --slide-bg: #140d12; --hrs-em: #d3a8e2; }
.hrs-ui .hrs-slide--big-dog-water { --slide-bg: #160b12; --hrs-em: #f2a9c6; }

/* With five slides, phones show just the numbers and progress lines. */
@media (max-width: 767px) {
	.hrs-hero__tab-label { display: none; }
	.hrs-hero__tabs { gap: 12px; }
}
/* Five tabs need to stay inside the words column on desktop. */
@media (min-width: 1200px) {
	.hrs-hero__tabs { gap: 22px; }
	.hrs-hero__tab { min-width: 104px; }
}

/* ------------------------------------------------------------------ larger logo (header grows at the top of the page, slims down after scrolling) */

:root {
	--hrs-hh-top: 128px;
	--hrs-hh-scrolled: 80px;
	--hrs-hh: var(--hrs-hh-top);
}
html.hrs-scrolled { --hrs-hh: var(--hrs-hh-scrolled); }
@media (max-width: 980px) {
	:root { --hrs-hh-top: 110px; --hrs-hh-scrolled: 74px; }
}
@media (max-width: 767px) {
	:root { --hrs-hh-top: 102px; --hrs-hh-scrolled: 72px; }
}
/* Pages without a dark hero reserve the full header height so nothing jumps when it slims down. */
.hrs-no-hero #et-main-area { padding-top: var(--hrs-hh-top); }

.hrs-scrolled .hrs-ui .hrs-header .et_pb_menu__logo img { max-height: 62px !important; }
@media (max-width: 980px) {
	.hrs-scrolled .hrs-ui .hrs-header .et_pb_menu__logo img { max-height: 56px !important; }
}

/* Divi's back-to-top button in brand colors */
.hrs-ui .et_pb_scroll_top.et-pb-icon {
	right: 18px;
	bottom: 22px;
	width: 46px;
	height: 46px;
	padding: 0;
	border: 1px solid rgba(201, 148, 43, .55);
	border-radius: 50%;
	background: rgba(14, 12, 10, .86);
	color: var(--hrs-gold-hi);
	font-size: 26px;
	line-height: 44px;
	text-align: center;
}
.hrs-ui .et_pb_scroll_top.et-pb-icon:hover { background: var(--hrs-gold); color: var(--hrs-ink); }

/* Keep menu links (and their gold underline) hugging the text even though the logo makes the bar taller. */
.hrs-ui .hrs-header .et-menu > li { align-items: center; }
.hrs-ui .hrs-header .et-menu > li > a { height: auto; }

/* ------------------------------------------------------------------ share buttons ([hrs_share]) */

.hrs-share { padding-top: 8px; }
.hrs-ui .hrs-share__label {
	padding: 0 0 14px !important;
	font: 500 11px/1.4 var(--hrs-body);
	letter-spacing: .26em;
	text-transform: uppercase;
	color: var(--hrs-gold-ink);
}
.hrs-share__list { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0 !important; list-style: none; }
.hrs-share__list li { margin: 0; padding: 0; }
.hrs-ui .hrs-share__btn {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid rgba(42, 34, 27, .25);
	border-radius: 50%;
	background: transparent;
	color: var(--hrs-text-dark) !important;
	cursor: pointer;
	transition: background-color .3s, color .3s, border-color .3s, transform .3s var(--hrs-ease);
}
.hrs-ui .hrs-share__btn:hover {
	border-color: var(--hrs-ink);
	background: var(--hrs-ink);
	color: var(--hrs-ivory) !important;
	transform: translateY(-2px);
}
.hrs-ui .hrs-share__status { min-height: 1.6em; padding: 12px 0 0 !important; font: 400 14px/1.6 var(--hrs-body); color: var(--hrs-muted-dark); }

/* ------------------------------------------------------------------ recipe Print / Email buttons (added by site.js) */

.hrs-recipe__actions { display: flex; gap: 10px; margin-top: 18px; }
.hrs-ui .hrs-recipe__action {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	border: 1px solid rgba(42, 34, 27, .25);
	border-radius: 0;
	background: transparent;
	color: var(--hrs-text-dark) !important;
	font: 500 11px/1 var(--hrs-body);
	letter-spacing: .2em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .3s, color .3s, border-color .3s;
}
.hrs-ui .hrs-recipe__action:hover { border-color: var(--hrs-ink); background: var(--hrs-ink); color: var(--hrs-ivory) !important; }
@media print { .hrs-recipe__actions, .hrs-share { display: none !important; } }
.hrs-ui .hrs-share__list,
.hrs-ui .hrs-share__list li { list-style: none !important; }
.hrs-ui .hrs-share__list li::marker { content: none; }
@media (max-width: 480px) {
	.hrs-share__list { gap: 8px; }
	.hrs-ui .hrs-share__btn { width: 40px; height: 40px; }
}

/* Store search box and "see all" link inside the Where to Buy panels */
.hrs-ui .hrs-store-search-module { margin-bottom: 0 !important; }
.hrs-ui .hrs-all-stores-link a {
	font: 500 11px/1.4 var(--hrs-body);
	letter-spacing: .22em;
	text-transform: uppercase;
	text-decoration: underline;
	text-underline-offset: 5px;
}

/* ------------------------------------------------------------------ carried over from the old Divi custom CSS */

/* Very small phones (under 375px): shrink the big display headings so long words like BOURBON never split. */
@media (max-width: 374px) {
	.hrs-ui :is(.hrs-hero, .hrs-product-hero, .hrs-page-hero, .hrs-spotlight) .et_pb_text :is(h1, h2) { font-size: 42px !important; }
	.hrs-ui .et_pb_text :is(h1, h2) { overflow-wrap: normal; }
}

/* Newsletter page: checklist and Gravity Forms checkboxes / consent */
.hrs-ui .hrs-check-list { margin: 0; padding: 0 !important; list-style: none; }
.hrs-ui .hrs-check-list li { position: relative; padding: 12px 0 12px 34px; border-bottom: 1px solid var(--hrs-line-light); }
.hrs-ui .hrs-check-list li::before {
	content: "";
	position: absolute;
	top: 18px;
	left: 4px;
	width: 12px;
	height: 7px;
	border-bottom: 2px solid var(--hrs-gold-ink);
	border-left: 2px solid var(--hrs-gold-ink);
	transform: rotate(-45deg);
}
.hrs-ui .hrs-gform .gform_wrapper input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin: 3px 10px 0 0;
	accent-color: var(--hrs-gold-ink);
	flex: 0 0 auto;
}
.hrs-ui .hrs-gform .gfield--type-consent .ginput_container,
.hrs-ui .hrs-gform .gfield_checkbox .gchoice { display: flex; align-items: flex-start; }
/* Checkbox / consent wording reads as a sentence, not as a small caps field label. */
.hrs-ui .hrs-gform .gform_wrapper .gform-field-label.gform-field-label--type-inline {
	margin: 0 !important;
	font: 400 15px/1.55 var(--hrs-body) !important;
	letter-spacing: 0 !important;
	text-transform: none;
	color: var(--hrs-text-dark) !important;
}
.hrs-ui .hrs-gform .gform_wrapper .gfield_description { font: 400 13px/1.5 var(--hrs-body); color: var(--hrs-muted-dark); }
.hrs-ui .hrs-gform .gform_wrapper .gfield_consent_description {
	max-height: none !important;
	margin-top: 6px !important;
	padding: 0 0 0 28px !important;
	border: 0 !important;
	overflow: visible !important;
}
.hrs-ui .hrs-gform .gfield_consent_description a { color: var(--hrs-gold-ink); text-decoration: underline; text-underline-offset: 2px; }
.hrs-ui .hrs-gform .ginput_counter { display: none; }

/* The footer's "Join the Newsletter" band isn't needed on the Newsletter page itself. */
.hrs-ui.page-id-667 .hrs-footer-cta { display: none; }
.hrs-ui .hrs-gform .gform_confirmation_message { font: 400 17px/1.7 var(--hrs-body); color: var(--hrs-text-dark); }
.hrs-ui .hrs-gform .gfield_validation_message,
.hrs-ui .hrs-gform .validation_message { color: #9b2c1f; font: 500 13px/1.5 var(--hrs-body); }

/* Older full-width page headers (e.g. Terms & Conditions): keep long words like CONDITIONS inside the screen on phones. */
@media (max-width: 480px) {
	.hrs-ui .et_pb_fullwidth_header:not(.hrs-keep) .header-content .et_pb_module_header,
	.hrs-ui .et_pb_fullwidth_header:not(.hrs-keep) .header-content h1 { font-size: clamp(30px, 10.5vw, 42px) !important; }
}
