/* Threshold Whiskey Reviews
 * Built from the review card: white over grainy black, heavy all-caps type,
 * yellow for the mouth, red for the score. Blackletter only for the page title.
 * To adjust a color, override it in Customizer > Additional CSS, e.g.
 * .twr { --twr-yellow: #ffde00; }
 */
.twr {
	--twr-white: #ffffff;
	--twr-ink: #000000;
	--twr-black: #141414;
	--twr-black-line: #2a2a2a;
	--twr-body: #616060;
	--twr-muted: #8a8a8a;
	--twr-line: #e1e1e1;
	--twr-red: #ff0000;
	--twr-yellow: #ffde00;
	--twr-on-black: #f2f2f2;
	--twr-on-black-muted: #a9a9a9;
	--twr-display: "Inter", "Arial Black", "Helvetica Neue", Arial, sans-serif;
	--twr-fraktur: "Amador", "UnifrakturMaguntia", "Old English Text MT", serif;
	--twr-ratio: 3 / 4;
	--twr-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
	color: var(--twr-body);
}
.twr *, .twr *::before, .twr *::after { box-sizing: border-box; }
.twr h1, .twr h2, .twr h3 {
	font-family: var(--twr-display);
	font-weight: 900;
	color: var(--twr-ink);
	line-height: .92;
	margin: 0;
	text-transform: uppercase;
	letter-spacing: .005em;
	text-wrap: balance;
}
.twr-grain { position: relative; background: var(--twr-black); color: var(--twr-on-black); isolation: isolate; }
.twr-grain::after { content: ""; position: absolute; inset: 0; background-image: var(--twr-grain); opacity: .18; mix-blend-mode: screen; pointer-events: none; z-index: -1; }

/* Hide Kadence's own title + featured image on review pages (plugin setting) */
.twr-hide-theme-header .entry-hero,
.twr-hide-theme-header .entry-header,
.twr-hide-theme-header .post-thumbnail,
.twr-hide-theme-header .article-post-thumbnail { display: none !important; }
.twr-single .entry-content-wrap { padding-top: 0; }

/* ---------- whiskey page ---------- */
.twr-shelf-head { padding: 20px 0 30px; display: grid; gap: 10px; }
.twr .twr-fraktur { font-family: var(--twr-display); font-weight: 900; font-size: clamp(56px, 9vw, 120px); line-height: .9; text-transform: uppercase; color: var(--twr-ink); }
.twr-shelf { max-width: 1290px; margin: 0 auto; padding: 0 24px; }
.twr-caps { font-family: var(--twr-display); font-weight: 900; text-transform: uppercase; font-size: clamp(22px, 3.4vw, 38px); line-height: .95; color: var(--twr-ink); margin: 0; }
.twr-intro { margin: 6px 0 0; max-width: 56ch; }

.twr-band {
	display: flex; flex-wrap: wrap; gap: 20px 56px; align-items: flex-end;
	padding: 28px 28px;
}
.twr-stat { display: grid; gap: 6px; text-decoration: none !important; }
.twr-stat b { font-family: var(--twr-display); font-weight: 900; font-size: clamp(40px, 6vw, 64px); line-height: .85; font-variant-numeric: tabular-nums; }
.twr-stat span { font-family: var(--twr-display); font-weight: 900; font-size: 13px; text-transform: uppercase; color: var(--twr-on-black-muted); letter-spacing: .04em; }
.twr-stat--w b { color: var(--twr-on-black); }
.twr-stat--r b { color: var(--twr-red); }
.twr-stat--y b { color: var(--twr-yellow); }
.twr-stat--top b { font-size: clamp(22px, 3vw, 30px); line-height: 1; color: var(--twr-on-black); text-transform: uppercase; }
.twr-stat--top:hover b { color: var(--twr-yellow); }

.twr-controls {
	display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: center;
	padding: 16px 0; border-bottom: 1px solid var(--twr-line); background: var(--twr-white);
}
.twr-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.twr .twr-chip {
	border: 2px solid var(--twr-ink); background: var(--twr-white); color: var(--twr-ink);
	border-radius: 0; padding: 4px 11px; font-family: var(--twr-display); font-weight: 900;
	font-size: 12px; line-height: 1.4; text-transform: uppercase; letter-spacing: .03em;
	cursor: pointer; box-shadow: none;
}
.twr .twr-chip:hover { background: var(--twr-white); color: var(--twr-red); border-color: var(--twr-ink); }
.twr .twr-chip[aria-pressed="true"] { background: var(--twr-ink); color: var(--twr-white); }
.twr-grow { flex: 1; }
.twr .twr-field {
	border: 2px solid var(--twr-ink); background: var(--twr-white); color: var(--twr-ink);
	border-radius: 0; padding: 6px 10px; font-size: 14px; min-width: 0; width: auto; box-shadow: none;
}
.twr .twr-search { width: 220px; max-width: 100%; }

.twr-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 40px 24px; padding: 32px 0 16px; }
.twr-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); padding-top: 24px; }
.twr-card[hidden] { display: none; }
.twr-card__link { display: grid; gap: 12px; text-decoration: none !important; color: inherit; }
.twr-card__art { aspect-ratio: var(--twr-ratio); overflow: hidden; background: var(--twr-black); max-width: 100%; }
.twr-card__art img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .25s ease; }
.twr-card__link:hover .twr-card__art img { transform: translateY(-4px) scale(1.02); }
.twr-card__row { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.twr .twr-card__title { font-size: 21px; line-height: .98; min-width: 0; }
.twr-card__link:hover .twr-card__title { color: var(--twr-red); }
.twr-card__score { font-family: var(--twr-display); font-weight: 900; font-size: 30px; line-height: .85; color: var(--twr-red); font-variant-numeric: tabular-nums; white-space: nowrap; }
.twr-card__score small { display: none; }
.twr-card__meta { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: 14px; color: var(--twr-body); }
.twr-empty { color: var(--twr-muted); padding: 32px 0; }

.twr-verdict {
	display: inline-block; font-family: var(--twr-display); font-weight: 900; text-transform: uppercase;
	font-size: 12px; line-height: 1; padding: 5px 8px; white-space: nowrap;
	background: var(--twr-yellow); color: var(--twr-ink);
}
.twr-verdict--pour { background: var(--twr-ink); color: var(--twr-white); }
.twr-verdict--pass { background: var(--twr-red); color: var(--twr-white); }

/* ---------- single review ---------- */
.twr-hero { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 48px; align-items: start; padding: 8px 0 56px; }
.twr-hero__art { position: sticky; top: 100px; background: var(--twr-black); }
.twr-hero__art img { width: 100%; height: auto; display: block; }
.twr-eyebrow { font-family: var(--twr-display); font-weight: 900; text-transform: uppercase; color: var(--twr-red); font-size: 14px; letter-spacing: .03em; }
.twr .twr-title { font-size: clamp(44px, 6.4vw, 84px); line-height: .88; margin-top: 10px; }
.twr-byline { margin-top: 14px; font-size: 15px; }
.twr-take { font-size: 20px; line-height: 1.45; margin: 20px 0 0; max-width: 44ch; color: var(--twr-ink); }

.twr-panel { margin-top: 30px; overflow: hidden; }
.twr-panel__mono { position: absolute; right: 18px; top: 18px; width: 34px; height: auto; }
.twr-panel__top { display: grid; grid-template-columns: auto 1fr; gap: 28px; align-items: end; padding: 26px 26px 22px; }
.twr-lbl { font-family: var(--twr-display); font-weight: 900; color: var(--twr-red); font-size: 26px; line-height: 1; text-transform: uppercase; }
.twr-big { font-family: var(--twr-display); font-weight: 900; color: var(--twr-red); font-size: 112px; line-height: .82; font-variant-numeric: tabular-nums; }
.twr-big small { font-size: 26px; color: var(--twr-on-black-muted); }
.twr-panel__side { display: grid; gap: 10px; justify-items: start; padding-bottom: 6px; }
.twr-panel__side .twr-verdict { font-size: 15px; padding: 6px 10px; }
.twr-panel .twr-verdict--pour { background: var(--twr-on-black); color: var(--twr-ink); }
.twr-panel__side span:not(.twr-verdict) { font-size: 13px; color: var(--twr-on-black-muted); }
.twr-hosts { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); border-top: 1px solid var(--twr-black-line); }
.twr-host { padding: 16px 26px 20px; border-right: 1px solid var(--twr-black-line); display: grid; gap: 6px; align-content: start; }
.twr-host:last-child { border-right: 0; }
.twr-host__who { font-family: var(--twr-display); font-weight: 900; text-transform: uppercase; font-size: 14px; color: var(--twr-yellow); }
.twr-host__s { font-family: var(--twr-display); font-weight: 900; font-size: 38px; line-height: .85; color: var(--twr-on-black); font-variant-numeric: tabular-nums; }
.twr-host q { font-size: 14px; color: var(--twr-on-black-muted); line-height: 1.4; }

.twr-specs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; margin: 28px 0 0; }
.twr-specs div { display: grid; gap: 2px; padding: 12px 0; border-bottom: 2px solid var(--twr-ink); }
.twr-specs dt { font-family: var(--twr-display); font-weight: 900; text-transform: uppercase; font-size: 13px; color: var(--twr-ink); }
.twr-specs dd { margin: 0; color: var(--twr-body); font-variant-numeric: tabular-nums; }

.twr-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.twr .twr-btn {
	display: inline-flex; align-items: center; padding: 12px 20px; border-radius: 0;
	font-family: var(--twr-display); font-weight: 900; text-transform: uppercase; font-size: 14px; line-height: 1.2;
	text-decoration: none; border: 2px solid var(--twr-ink); background: var(--twr-white); color: var(--twr-ink);
}
.twr .twr-btn:hover { color: var(--twr-red); }
.twr .twr-btn--primary { background: var(--twr-ink); color: var(--twr-red); }
.twr .twr-btn--primary:hover { color: var(--twr-white); }
.twr-disclose { font-size: 12px; color: var(--twr-muted); margin: 8px 0 0; }

/* full-bleed tasting band, set like the card */
.twr-notes-band { width: 100vw; margin-left: calc(50% - 50vw); }
.twr-notes-band__inner { max-width: var(--twr-wrap, 1290px); margin: 0 auto; padding: 52px 20px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; }
.twr .twr-nb h2 { font-size: clamp(34px, 4vw, 48px); line-height: .9; margin-bottom: 12px; }
.twr-nb ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.twr-nb li { font-family: var(--twr-display); font-weight: 900; text-transform: uppercase; line-height: .95; margin: 0; }
.twr-nb li:nth-child(3n+1) { font-size: clamp(30px, 3.6vw, 44px); }
.twr-nb li:nth-child(3n+2) { font-size: clamp(22px, 2.4vw, 28px); }
.twr-nb li:nth-child(3n) { font-size: clamp(26px, 3vw, 36px); }
.twr .twr-nb--nose h2, .twr-nb--nose li { color: var(--twr-on-black); }
.twr .twr-nb--mouth h2, .twr-nb--mouth li { color: var(--twr-yellow); }
.twr .twr-nb--finish h2, .twr-nb--finish li { color: var(--twr-red); }

.twr-section { border-top: 2px solid var(--twr-ink); padding: 44px 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 32px; }
.twr-notes-band + .twr-section { border-top: 0; }
.twr-section--full { grid-template-columns: 1fr; gap: 0; }
.twr .twr-section h2 { font-size: 34px; }
.twr-sub { font-size: 14px; margin: 8px 0 0; max-width: 30ch; }

.twr-flavor { display: grid; gap: 12px; max-width: 540px; }
.twr-bar { display: grid; grid-template-columns: 76px 1fr 24px; gap: 14px; align-items: center; }
.twr-bar > span:first-child { font-family: var(--twr-display); font-weight: 900; text-transform: uppercase; font-size: 13px; color: var(--twr-ink); }
.twr-track { display: grid; grid-template-columns: repeat(5, 1fr); gap: 4px; }
.twr-track i { height: 14px; background: var(--twr-line); }
.twr-track i.on { background: var(--twr-red); }
.twr-bar b { font-family: var(--twr-display); font-weight: 900; color: var(--twr-ink); text-align: right; }

.twr-prose { max-width: 65ch; min-width: 0; }
.twr-prose > :first-child { margin-top: 0; }
.twr-prose iframe { max-width: 100%; }

.twr-review, .twr-shelf, .twr-panel { container-type: inline-size; }
@container (max-width: 760px) {
	.twr-hero { grid-template-columns: 1fr; gap: 28px; }
	.twr-hero__art { position: relative; top: 0; max-width: 440px; }
	.twr-section { grid-template-columns: 1fr; gap: 18px; }
	.twr-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container (max-width: 440px) {
	.twr-panel__top { grid-template-columns: 1fr; gap: 12px; }
	.twr-big { font-size: 88px; }
	.twr-specs { grid-template-columns: 1fr; }
	.twr-grid--3 { grid-template-columns: 1fr; }
	.twr .twr-search { width: 100%; }
}
@media (max-width: 860px) {
	.twr-notes-band__inner { grid-template-columns: 1fr; gap: 28px; }
}
@media (prefers-reduced-motion: reduce) {
	.twr-card__art img { transition: none; }
}

body.twr-single, body:has(.twr-shelf) { overflow-x: clip; }
