/* ==========================================================================
   Iron Raven Labs — theme stylesheet
   Built from the Iron Raven storefront mock-up (design-source/
   "Iron Raven Storefront.dc.html") on the shared store theme structure.
   Tokens match the style guide's Global Colors; IBM Plex Sans everywhere,
   IBM Plex Mono for prices, SKUs and labels; 3px buttons, 44–48px tall.
   Layout is mostly fluid (flex-wrap / auto-fill grids) like the mockup;
   a few media queries handle header and spacing on phones.
   ========================================================================== */

/* Iron Raven tokens (README "Design tokens"): base black #0B0B0C, card
   #141416, silver #C9CCD1, white #F6F7F9, iron orange #F2540F (buttons and
   highlights only, hover #FF6A2A). Cinzel headings, IBM Plex Sans body,
   IBM Plex Mono for prices, SKUs and labels. */
:root {
	color-scheme: dark;
	--irl-black: #0B0B0C;
	--irl-card: #141416;
	--irl-raise: #1A1A1D;
	--irl-raise-2: #1C1C1F;
	--irl-fg: #F6F7F9;
	--irl-silver: #C9CCD1;
	--irl-dim: #9A9DA3;
	--irl-line: #26262A;
	--irl-line-2: #34343A;
	--irl-line-3: #3A3A40;
	--irl-orange: #F2540F;
	--irl-orange-hover: #FF6A2A;
	--irl-orange-soft: #FF8A50;

	/* Legacy role names used throughout this file, mapped onto the dark palette. */
	--irl-navy: var(--irl-fg);
	--irl-navy-hover: var(--irl-orange-hover);
	--irl-navy-line: var(--irl-line);
	--irl-accent: var(--irl-orange);
	--irl-accent-on-dark: var(--irl-orange);
	--irl-accent-light: var(--irl-orange-soft);
	--irl-text: var(--irl-silver);
	--irl-muted: var(--irl-silver);
	--irl-muted-2: var(--irl-dim);
	--irl-slate-300: var(--irl-dim);
	--irl-border: var(--irl-line-2);
	--irl-hairline: var(--irl-line);
	--irl-row: var(--irl-line);
	--irl-surface: var(--irl-card);
	--irl-white: var(--irl-card);
	--irl-on-navy: var(--irl-silver);
	--irl-on-navy-2: var(--irl-silver);
	--irl-on-navy-3: var(--irl-fg);
	--irl-blue: var(--irl-orange);
	--irl-blue-dark: var(--irl-fg);
	--irl-blue-bg: rgba(242, 84, 15, .08);
	--irl-blue-line: var(--irl-line-3);

	--irl-display: 'Cinzel', Georgia, 'Times New Roman', serif;

	--irl-sans: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--irl-mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

	--irl-radius: 3px;
	--irl-radius-box: 4px;
	--irl-wrap: 1200px;
	--irl-gutter: 20px;
	--irl-header-h: 68px;
}

/* --------------------------------------------------------------------------
   Base
   ------------------------------------------------------------------------ */

*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
	margin: 0;
	background: var(--irl-white);
	color: var(--irl-navy);
	font: 400 16px/1.5 var(--irl-sans);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img { max-width: 100%; height: auto; display: block; }

a { color: var(--irl-accent); text-underline-offset: 3px; }
a:hover { color: var(--irl-navy); }

input, select, textarea, button { font-family: inherit; }

input:focus, select:focus, textarea:focus { outline: 2px solid var(--irl-accent); outline-offset: 0; }
button:focus-visible, a:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--irl-accent); outline-offset: 2px; }

h1, h2, h3, h4 { color: var(--irl-navy); }

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0;
	position: absolute !important; word-wrap: normal !important;
}
.irl-skip-link:focus {
	clip: auto; clip-path: none; height: auto; width: auto; margin: 0;
	z-index: 200; top: 8px; left: 8px; padding: 10px 14px;
	background: var(--irl-white); color: var(--irl-navy); border: 2px solid var(--irl-accent);
}

.irl-site { min-height: 100vh; display: flex; flex-direction: column; background: var(--irl-white); }
.irl-main { flex: 1; }

.irl-wrap {
	width: 100%;
	max-width: var(--irl-wrap);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--irl-gutter);
	padding-right: var(--irl-gutter);
}

.irl-mono { font-family: var(--irl-mono); }
.irl-strong { font-weight: 600; }
.irl-muted { color: var(--irl-muted); }
.irl-muted-2 { color: var(--irl-text); }
.irl-break { word-break: break-all; }

.irl-eyebrow {
	font: 500 12px/1 var(--irl-mono);
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--irl-accent);
}
.irl-eyebrow--light { color: var(--irl-accent-light); }
.irl-eyebrow--dark-bg { color: var(--irl-accent-on-dark); }

.irl-label {
	display: block;
	margin: 0;
	font: 600 12px/1 var(--irl-mono);
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--irl-navy);
}

.irl-h2 { margin: 0; font: 600 30px/1.15 var(--irl-sans); letter-spacing: -.01em; }

.irl-link-strong { font: 500 14px/1 var(--irl-sans); text-decoration: underline; text-underline-offset: 3px; }

.irl-disclaimer { margin: 0; font: 400 12px/1.5 var(--irl-sans); color: var(--irl-muted-2); }

.irl-empty { color: var(--irl-muted); font-size: 15px; }
.irl-empty-box {
	padding: 48px 20px; text-align: center;
	border: 1px dashed var(--irl-border); border-radius: var(--irl-radius-box);
	font: 400 15px/1.5 var(--irl-sans); color: var(--irl-muted);
}

/* --------------------------------------------------------------------------
   Buttons
   ------------------------------------------------------------------------ */

.irl-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 44px;
	padding: 0 22px;
	border: 1px solid transparent;
	border-radius: var(--irl-radius);
	font: 500 14px/1 var(--irl-sans);
	text-decoration: none;
	cursor: pointer;
	white-space: nowrap;
	transition: background-color .15s, border-color .15s, color .15s;
}
.irl-btn--lg { height: 48px; padding: 0 24px; font-size: 15px; }
.irl-btn--sm { height: 40px; padding: 0 16px; font-size: 13px; }
.irl-btn--xs { height: 34px; padding: 0 12px; font-size: 12.5px; }
.irl-btn--block { display: flex; width: 100%; }

.irl-btn--primary { background: var(--irl-black); border-color: var(--irl-navy); color: var(--irl-fg); }
.irl-btn--primary:hover { background: var(--irl-navy-hover); border-color: var(--irl-navy-hover); color: var(--irl-fg); }
.irl-btn--primary.is-added { background: var(--irl-accent); border-color: var(--irl-accent); }

.irl-btn--outline { background: var(--irl-white); border-color: var(--irl-border); color: var(--irl-navy); }
.irl-btn--outline:hover { border-color: var(--irl-navy); color: var(--irl-navy); }

.irl-btn--white { background: var(--irl-white); border-color: var(--irl-fg); color: var(--irl-navy); }
.irl-btn--white:hover { background: var(--irl-hairline); border-color: var(--irl-hairline); color: var(--irl-navy); }

.irl-btn--ghost-light { background: transparent; border-color: rgba(255,255,255,.65); color: var(--irl-fg); }
.irl-btn--ghost-light:hover { border-color: var(--irl-fg); color: var(--irl-fg); }

.irl-btn--disabled,
.irl-btn:disabled { background: var(--irl-row); border-color: var(--irl-hairline); color: var(--irl-muted-2); cursor: not-allowed; }

/* WooCommerce appends "View cart" after AJAX add — the header count and
   the "Added ✓" label already confirm it. */
.irl-card .added_to_cart { display: none; }
.irl-btn.loading { opacity: .7; pointer-events: none; }

/* --------------------------------------------------------------------------
   Badges
   ------------------------------------------------------------------------ */

.irl-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 22px;
	padding: 0 8px;
	border-radius: 2px;
	font: 500 12px/1 var(--irl-mono);
	letter-spacing: .05em;
	text-transform: uppercase;
	white-space: nowrap;
}
.irl-badge__dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.irl-badge__square { width: 6px; height: 6px; background: var(--irl-accent); }

.irl-badge--stock.badge--instock, .irl-badge--instock { background: #E7F6EC; color: #166534; }
.badge--instock .irl-badge__dot, .irl-badge--instock .irl-badge__dot { background: #16A34A; }
.irl-badge--stock.badge--lowstock { background: #FEF3C7; color: #92400E; }
.badge--lowstock .irl-badge__dot { background: #D97706; }
.irl-badge--stock.badge--outofstock { background: #FDECEC; color: #991B1B; }
.badge--outofstock .irl-badge__dot { background: #DC2626; }

.irl-badge--us-warehouse { align-self: flex-start; border: 1px solid var(--irl-border); color: var(--irl-navy); }
.irl-badge--lg { height: 24px; padding: 0 9px; font-size: 12px; }

.irl-badge--hold {
	align-self: flex-start; height: 28px; padding: 0 12px; gap: 8px;
	background: #FEF3C7; color: #92400E; font: 600 12px/1 var(--irl-mono); letter-spacing: .08em;
}
.irl-badge--hold .irl-badge__dot { width: 7px; height: 7px; background: #D97706; }

/* --------------------------------------------------------------------------
   Logo
   ------------------------------------------------------------------------ */

.irl-logo { display: flex; align-items: center; gap: 10px; color: var(--irl-navy); text-decoration: none; }
.irl-logo:hover { color: var(--irl-navy); }
.irl-logo .irl-mark { flex: none; }
.irl-logo__word { font: 600 15px/1 var(--irl-sans); letter-spacing: .2em; white-space: nowrap; }
.irl-logo__word span { font-weight: 400; color: var(--irl-muted); }
.irl-logo__word--sm { font-size: 13px; }
.irl-logo--light { color: var(--irl-fg); }
.irl-logo--light .irl-logo__word { font-size: 14px; }
.irl-logo--light .irl-logo__word span { color: var(--irl-on-navy); }

/* --------------------------------------------------------------------------
   Announcement bar + header
   ------------------------------------------------------------------------ */

.irl-announce {
	background: var(--irl-black);
	color: var(--irl-hairline);
	font: 500 12px/1.4 var(--irl-mono);
	letter-spacing: .06em;
	text-transform: uppercase;
}
.irl-announce__inner {
	padding-top: 9px; padding-bottom: 9px;
	display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 16px; text-align: center;
}
.irl-announce__dot { color: var(--irl-accent-on-dark); }

.irl-header {
	position: sticky;
	top: 0;
	z-index: 40;
	background: var(--irl-white);
	border-bottom: 1px solid var(--irl-hairline);
}
.admin-bar .irl-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .irl-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .irl-header { top: 0; } }

.irl-header__bar {
	padding-top: 10px; padding-bottom: 10px;
	min-height: var(--irl-header-h);
	display: flex; align-items: center; flex-wrap: wrap; row-gap: 4px;
}
.irl-header .irl-logo { margin-right: auto; }

/* The same menu renders twice: a right-aligned row when the bar is wider
   than 760px, a full-width scrolling row under the logo when narrower —
   width math instead of breakpoints, as in the mockup. */
.irl-nav { flex: 0 0 auto; min-width: 0; overflow: hidden; }
.irl-nav--desktop { width: calc((100% - 760px) * 999); max-width: 560px; }
.irl-nav--mobile { width: calc((760px - 100%) * 999); max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.irl-nav--mobile::-webkit-scrollbar { display: none; }

.irl-nav ul { list-style: none; margin: 0; padding: 0; display: flex; white-space: nowrap; }
.irl-nav--desktop ul { justify-content: flex-end; gap: 2px; }
.irl-nav--mobile ul { justify-content: space-between; }

.irl-nav a {
	display: block;
	padding: 10px;
	font: 500 14px/1 var(--irl-sans);
	color: var(--irl-muted);
	text-decoration: none;
	box-shadow: inset 0 -2px 0 transparent;
}
.irl-nav--mobile a { padding: 10px 8px; }
.irl-nav a:hover { color: var(--irl-navy); }
.irl-nav .current-menu-item > a,
.irl-nav .current_page_item > a,
.irl-nav .current-menu-ancestor > a {
	color: var(--irl-navy);
	box-shadow: inset 0 -2px 0 var(--irl-accent);
}

.irl-header-cart {
	flex: none;
	margin-left: 16px;
	display: flex; align-items: center; gap: 8px;
	height: 40px; padding: 0 12px;
	background: var(--irl-white);
	border: 1px solid var(--irl-border);
	border-radius: var(--irl-radius);
	color: var(--irl-navy);
	font: 500 13px/1 var(--irl-sans);
	text-decoration: none;
}
.irl-header-cart:hover { border-color: var(--irl-navy); color: var(--irl-navy); }
.irl-cart-count {
	min-width: 22px; height: 22px; padding: 0 6px;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--irl-black); color: var(--irl-fg);
	border-radius: 11px; font: 600 12px/1 var(--irl-mono);
}

.irl-kit-notice { background: var(--irl-accent); color: var(--irl-fg); }
.irl-kit-notice__inner {
	padding-top: 10px; padding-bottom: 10px;
	display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 14px;
	font: 500 12.5px/1.4 var(--irl-mono); letter-spacing: .03em; text-align: center;
}

/* --------------------------------------------------------------------------
   Page banner + home hero
   ------------------------------------------------------------------------ */

.irl-banner,
.irl-hero {
	background-color: var(--irl-black);
	background-image:
		linear-gradient(90deg, rgba(11,11,12,.92) 0%, rgba(11,11,12,.72) 50%, rgba(11,11,12,.25) 100%),
		var(--irl-bg-image, none);
	background-size: cover;
	background-position: left center;
	background-repeat: no-repeat;
	color: var(--irl-fg);
}

.irl-banner__inner {
	padding-top: clamp(44px, 7vw, 72px);
	padding-bottom: clamp(36px, 6vw, 56px);
	display: flex; flex-direction: column; gap: 12px;
}
.irl-banner--lg .irl-banner__inner { padding-top: clamp(48px, 8vw, 88px); padding-bottom: clamp(40px, 7vw, 72px); gap: 16px; }
.irl-banner--sm .irl-banner__inner { padding-top: clamp(36px, 6vw, 56px); padding-bottom: clamp(32px, 5vw, 48px); }

.irl-banner__title { margin: 0; color: var(--irl-fg); font: 600 36px/1.1 var(--irl-sans); letter-spacing: -.02em; text-wrap: balance; }
.irl-banner--lg .irl-banner__title { max-width: 760px; font-size: clamp(30px, 4.5vw, 46px); }
.irl-banner--sm .irl-banner__title { font-size: clamp(26px, 4vw, 36px); }
.page-policy .irl-banner__title, .irl-policy-banner .irl-banner__title { font-size: clamp(30px, 4vw, 40px); }
.irl-banner__text { margin: 0; max-width: 640px; font: 400 15px/1.55 var(--irl-sans); color: var(--irl-on-navy); }
.irl-banner--lg .irl-banner__text { font-size: 17px; }
.irl-banner__meta { font: 400 13px/1.4 var(--irl-mono); color: var(--irl-on-navy); }
.irl-banner--sm .irl-banner__meta { font-size: 14px; line-height: 1.5; }

.irl-crumbs { display: flex; flex-wrap: wrap; gap: 8px; font: 400 12px/1 var(--irl-mono); color: var(--irl-on-navy-2); }
.irl-crumbs a { color: var(--irl-on-navy); text-decoration: none; }
.irl-crumbs a:hover { color: var(--irl-fg); }

.irl-hero__inner { padding-top: clamp(64px, 10vw, 128px); padding-bottom: clamp(56px, 9vw, 112px); }
.irl-hero__content { max-width: 640px; display: flex; flex-direction: column; gap: 22px; }
.irl-hero__title { margin: 0; font: 600 clamp(34px, 5vw, 54px)/1.06 var(--irl-sans); letter-spacing: -.02em; color: var(--irl-fg); text-wrap: balance; }
.irl-hero__text { margin: 0; max-width: 520px; font: 400 18px/1.55 var(--irl-sans); color: var(--irl-on-navy-3); text-wrap: pretty; }
.irl-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.irl-hero__note { margin: 0; font: 400 12.5px/1.5 var(--irl-mono); color: var(--irl-on-navy-2); }

/* --------------------------------------------------------------------------
   Home sections
   ------------------------------------------------------------------------ */

.irl-trust { border-bottom: 1px solid var(--irl-hairline); }
.irl-trust__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
.irl-trust__item { padding: 20px 16px; box-shadow: 0 0 0 .5px var(--irl-hairline); display: flex; flex-direction: column; gap: 6px; }
.irl-trust__value { font: 600 22px/1 var(--irl-mono); }
.irl-trust__label { font: 400 13px/1.3 var(--irl-sans); color: var(--irl-muted); }

.irl-section { padding-top: 64px; padding-bottom: 64px; }
.irl-section__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-bottom: 24px; }
.irl-section__titles { display: flex; flex-direction: column; gap: 10px; }
.irl-section__aside { font: 400 13px/1.4 var(--irl-mono); color: var(--irl-muted); }

.irl-how { background: var(--irl-surface); border-top: 1px solid var(--irl-hairline); border-bottom: 1px solid var(--irl-hairline); }
.irl-how__inner { padding-top: 64px; padding-bottom: 64px; display: flex; flex-direction: column; gap: 28px; }
.irl-how__steps {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
	border: 1px solid var(--irl-hairline); background: var(--irl-white); border-radius: var(--irl-radius-box);
}
.irl-how__steps li { padding: 24px; display: flex; flex-direction: column; gap: 12px; box-shadow: 0 0 0 .5px var(--irl-hairline); }
.irl-how__n { font: 600 13px/1 var(--irl-mono); color: var(--irl-accent); }
.irl-how__title { font: 600 17px/1.3 var(--irl-sans); }
.irl-how__text { font: 400 14px/1.55 var(--irl-sans); color: var(--irl-muted); }

.irl-quality { background: var(--irl-black); color: var(--irl-fg); }
.irl-quality__inner {
	padding-top: 72px; padding-bottom: 72px;
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 48px;
}
.irl-quality__copy { display: flex; flex-direction: column; gap: 20px; }
.irl-quality__title { color: var(--irl-fg); line-height: 1.2; text-wrap: balance; }
.irl-quality__copy > p { margin: 0; font: 400 16px/1.6 var(--irl-sans); color: var(--irl-on-navy); text-wrap: pretty; }
.irl-quality__steps { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; border-top: 1px solid var(--irl-navy-line); }
.irl-quality__steps li {
	display: grid; grid-template-columns: 44px 1fr auto; gap: 12px;
	padding: 14px 0; border-bottom: 1px solid var(--irl-navy-line);
	font: 400 14px/1.4 var(--irl-sans);
}
.irl-quality__n { font: 500 12px/1.6 var(--irl-mono); color: var(--irl-accent-on-dark); }
.irl-quality__who { font: 400 12px/1.6 var(--irl-mono); color: var(--irl-slate-300); }
.irl-quality__panel-wrap { align-self: center; min-width: 0; }

.irl-release { background: var(--irl-white); border: 1px solid var(--irl-hairline); border-radius: var(--irl-radius-box); overflow: hidden; color: var(--irl-navy); }
.irl-release__head { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 18px; border-bottom: 1px solid var(--irl-hairline); }
.irl-release__label { font: 600 12px/1 var(--irl-mono); letter-spacing: .08em; text-transform: uppercase; }
.irl-release__date { font: 400 12px/1 var(--irl-mono); color: var(--irl-muted-2); }
.irl-release__table { width: 100%; min-width: 380px; border-collapse: collapse; font: 400 13px/1.3 var(--irl-mono); }
.irl-release__table th { padding: 10px 8px; font-weight: 500; text-align: left; color: var(--irl-muted-2); border-bottom: 1px solid var(--irl-hairline); }
.irl-release__table td { padding: 11px 8px; border-bottom: 1px solid var(--irl-row); color: var(--irl-text); }
.irl-release__table th:first-child, .irl-release__table td:first-child { padding-left: 18px; }
.irl-release__table th:last-child, .irl-release__table td:last-child { padding-right: 18px; }
.irl-release__table .is-num { text-align: right; }
.irl-release__table tbody tr { cursor: pointer; }
.irl-release__table tbody tr:hover { background: var(--irl-surface); }
.irl-release__name a { color: var(--irl-navy); font-weight: 500; text-decoration: none; }
.irl-release__purity { color: var(--irl-navy) !important; }
.irl-release__status { color: var(--irl-muted) !important; }
.irl-release__foot { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 12px 18px; background: var(--irl-surface); font: 400 12px/1.4 var(--irl-sans); color: var(--irl-muted); }
.irl-release__foot a { font-weight: 500; }

.irl-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }

.irl-home-faq { display: flex; flex-wrap: wrap; gap: 40px; }
.irl-home-faq__intro { flex: 1 1 300px; min-width: 0; display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.irl-home-faq__intro p { margin: 0; font: 400 15px/1.55 var(--irl-sans); color: var(--irl-muted); }
.irl-home-faq__intro .irl-link-strong { margin-top: 6px; text-decoration: none; }
.irl-home-faq__list { flex: 2 1 520px; min-width: 0; }

/* FAQ accordion */
.irl-faq-list { border-top: 1px solid var(--irl-hairline); }
.irl-faq-list--strong { border-top-color: var(--irl-navy); }
.irl-faq-item { border-bottom: 1px solid var(--irl-hairline); }
.irl-faq-item__q {
	width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 16px;
	padding: 18px 0; background: none; border: 0; cursor: pointer; text-align: left;
	font: 500 16px/1.4 var(--irl-sans); color: var(--irl-navy);
}
.irl-faq-list--strong .irl-faq-item__q { padding: 16px 0; }
.irl-faq-item__sign { flex: none; font: 400 20px/1 var(--irl-mono); color: var(--irl-accent); }
.irl-faq-item__a { max-width: 700px; padding-bottom: 18px; font: 400 15px/1.6 var(--irl-sans); color: var(--irl-text); }
.irl-faq-item__a p { margin: 0 0 10px; }
.irl-faq-item__a p:last-child { margin-bottom: 0; }
.irl-faq-item__a[hidden] { display: none; }

/* --------------------------------------------------------------------------
   Product grid + card
   ------------------------------------------------------------------------ */

.irl-grid {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: 16px;
}

.irl-card { display: flex; flex-direction: column; border: 1px solid var(--irl-hairline); border-radius: var(--irl-radius-box); background: var(--irl-white); overflow: hidden; }
.irl-card__image { display: block; width: 100%; aspect-ratio: 1 / 1; background: var(--irl-surface); border-bottom: 1px solid var(--irl-hairline); overflow: hidden; }
.irl-card__body { padding: 16px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.irl-card__meta-row { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; }
.irl-card__sku { font: 400 12px/1 var(--irl-mono); color: var(--irl-muted-2); }
.irl-card__heading { display: flex; flex-direction: column; gap: 4px; }
.irl-card__title { margin: 0; font: 600 16px/1.25 var(--irl-sans); }
.irl-card__title a { color: var(--irl-navy); text-decoration: none; }
.irl-card__title a:hover { color: var(--irl-accent); }
.irl-card__unit { font: 400 13px/1.3 var(--irl-sans); color: var(--irl-muted); }
.irl-card__price { display: flex; flex-direction: column; gap: 2px; }
.irl-card__amount { font: 600 22px/1.1 var(--irl-mono); color: var(--irl-navy); }
.irl-card__per { font: 400 12px/1.3 var(--irl-mono); color: var(--irl-muted-2); }
.irl-card__actions { margin-top: auto; display: flex; flex-direction: column; gap: 10px; }
.irl-card__coa { text-align: center; font: 500 13px/1 var(--irl-sans); padding: 4px 0; }

.irl-product-img { width: 100%; height: 100%; object-fit: cover; }
.irl-product-img--placeholder {
	display: flex; align-items: center; justify-content: center;
	background:
		repeating-linear-gradient(135deg, transparent 0 10px, rgba(11,11,12,.035) 10px 20px),
		var(--irl-surface);
	opacity: .9;
}

/* --------------------------------------------------------------------------
   Shop archive
   ------------------------------------------------------------------------ */

.irl-shop { padding-top: 32px; padding-bottom: 64px; display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; }
.irl-shop__filters { flex: 1 1 220px; display: flex; flex-direction: column; gap: 28px; align-items: flex-start; }
.irl-filter { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; width: 100%; }
.irl-filter__title { padding: 0; margin-bottom: 10px; font: 600 12px/1 var(--irl-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--irl-navy); }
.irl-filter__opt { display: flex; align-items: center; gap: 10px; min-height: 32px; cursor: pointer; font: 400 14px/1.3 var(--irl-sans); color: var(--irl-navy); }
.irl-filter__opt input { width: 16px; height: 16px; margin: 0; accent-color: var(--irl-navy); }
.irl-filter__label { flex: 1; }
.irl-filter__count { font: 400 12px/1 var(--irl-mono); color: var(--irl-muted-2); }
.irl-shop__reset { font: 500 13px/1 var(--irl-sans); color: var(--irl-accent); text-decoration: underline; }

.irl-shop__results { flex: 4 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.irl-shop__bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding-bottom: 14px; border-bottom: 1px solid var(--irl-hairline); }
.irl-shop__count { font: 400 13px/1 var(--irl-mono); color: var(--irl-muted); }
.irl-shop__sort { margin: 0; }
.irl-shop__sort label { display: flex; align-items: center; gap: 10px; font: 400 13px/1 var(--irl-sans); color: var(--irl-muted); }

.irl-input,
.irl-shop__sort select {
	height: 44px; padding: 0 12px;
	border: 1px solid var(--irl-border); border-radius: var(--irl-radius);
	background: var(--irl-white); color: var(--irl-navy);
	font: 400 15px/1 var(--irl-sans);
	width: 100%;
}
.irl-shop__sort select { height: 40px; padding: 0 10px; font-size: 14px; width: auto; }
textarea.irl-input { height: auto; padding: 10px 12px; line-height: 1.5; resize: vertical; }
.irl-input--mono { font-family: var(--irl-mono); }
select.irl-input { padding: 0 10px; }

.woocommerce-pagination ul { list-style: none; display: flex; gap: 6px; padding: 0; margin: 12px 0 0; }
.woocommerce-pagination a, .woocommerce-pagination span {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 36px; height: 36px; padding: 0 10px;
	border: 1px solid var(--irl-border); border-radius: var(--irl-radius);
	font: 500 13px/1 var(--irl-mono); color: var(--irl-navy); text-decoration: none;
}
.woocommerce-pagination .current { background: var(--irl-black); border-color: var(--irl-navy); color: var(--irl-fg); }

/* --------------------------------------------------------------------------
   Single product
   ------------------------------------------------------------------------ */

.irl-pdp {
	padding-top: 32px; padding-bottom: 64px;
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: 40px; align-items: start;
}
.irl-pdp__media { display: flex; flex-direction: column; gap: 16px; }
.irl-pdp__image { width: 100%; aspect-ratio: 1 / 1; max-width: 560px; border: 1px solid var(--irl-hairline); border-radius: var(--irl-radius-box); overflow: hidden; background: var(--irl-surface); }

.irl-coa-block { border: 1px solid var(--irl-hairline); border-radius: var(--irl-radius-box); padding: 18px; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; max-width: 560px; }
.irl-coa-block__text { display: flex; flex-direction: column; gap: 6px; }
.irl-coa-block__meta { font: 400 13px/1.5 var(--irl-mono); color: var(--irl-text); }

.irl-pdp__summary { display: flex; flex-direction: column; gap: 20px; }
.irl-pdp__head { display: flex; flex-direction: column; gap: 12px; }
.irl-pdp__badges { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.irl-pdp__title { margin: 0; font: 600 clamp(30px, 4vw, 40px)/1.1 var(--irl-sans); letter-spacing: -.02em; }
.irl-pdp__sub { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; font: 400 15px/1.4 var(--irl-sans); color: var(--irl-muted); }
.irl-sku { display: inline-flex; align-items: center; gap: 6px; height: 26px; padding: 0 10px; border: 1px solid var(--irl-border); border-radius: 2px; font: 500 12px/1 var(--irl-mono); color: var(--irl-navy); }
.irl-sku .sku { font-weight: 600; }
.irl-pdp__price { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; padding: 16px 0; border-top: 1px solid var(--irl-hairline); border-bottom: 1px solid var(--irl-hairline); }
.irl-pdp__amount { font: 600 32px/1 var(--irl-mono); }
.irl-pdp__per { font: 400 13px/1.3 var(--irl-mono); color: var(--irl-muted-2); }

.irl-ruo-box { padding: 14px 16px; background: var(--irl-surface); border: 1px solid var(--irl-border); border-radius: var(--irl-radius); display: flex; flex-direction: column; gap: 6px; font: 400 13.5px/1.55 var(--irl-sans); color: var(--irl-text); }
.irl-ruo-box .irl-label { font-size: 12px; }

.irl-pdp__ship { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; font: 400 13px/1.4 var(--irl-sans); color: var(--irl-muted); }

.irl-pdp__form { display: flex; flex-direction: column; gap: 10px; margin: 0; }
.irl-pdp__qty-label { font: 500 13px/1 var(--irl-sans); color: var(--irl-navy); }
.irl-pdp__buy { display: flex; gap: 12px; flex-wrap: wrap; }
.irl-pdp__add { flex: 1 1 200px; }

.irl-qty { display: flex; align-items: center; border: 1px solid var(--irl-border); border-radius: var(--irl-radius); height: 48px; }
.irl-qty__btn { width: 44px; height: 100%; background: none; border: 0; cursor: pointer; font: 400 18px/1 var(--irl-mono); color: var(--irl-navy); }
.irl-qty__btn:hover { background: var(--irl-surface); }
.irl-qty__field { min-width: 72px; display: inline-flex; align-items: baseline; justify-content: center; gap: 4px; font: 500 15px/1 var(--irl-mono); }
.irl-qty__input {
	width: 3ch; min-width: 2ch; border: 0; padding: 0; background: transparent; text-align: right;
	font: 500 15px/1 var(--irl-mono); color: var(--irl-navy); -moz-appearance: textfield; appearance: textfield;
}
.irl-qty__input::-webkit-outer-spin-button, .irl-qty__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.irl-qty__unit { font-weight: 400; color: var(--irl-muted-2); }

.irl-specs { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding: 16px 0; border-top: 1px solid var(--irl-navy); border-bottom: 1px solid var(--irl-hairline); margin-top: 8px; }
.irl-specs__text { display: flex; flex-direction: column; gap: 6px; font: 400 15px/1.4 var(--irl-sans); color: var(--irl-text); }
.irl-specs .irl-link-strong { text-decoration: none; }

/* --------------------------------------------------------------------------
   WooCommerce notices (classic markup)
   ------------------------------------------------------------------------ */

.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	list-style: none;
	margin: 0 0 12px;
	padding: 12px 14px;
	border: 1px solid #F5C26B;
	background: #FFF8EB;
	border-radius: var(--irl-radius);
	font: 500 14px/1.4 var(--irl-sans);
	color: #7A4A00;
	display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px;
}
.woocommerce-message { border-color: #9ED9B2; background: #EEF9F1; color: #14532D; }
.woocommerce-error { border-color: #F1A7A7; background: #FDF2F2; color: #991B1B; flex-direction: column; align-items: flex-start; }
.woocommerce-message .button, .woocommerce-info .button {
	order: 2; margin-left: auto; color: inherit; font-weight: 600; text-decoration: underline; background: none; border: 0; padding: 0;
}

/* --------------------------------------------------------------------------
   COA Library
   ------------------------------------------------------------------------ */

.irl-page-body { padding-top: 28px; padding-bottom: 64px; }
.irl-coa { display: flex; flex-direction: column; gap: 18px; }
.irl-coa__search { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.irl-coa__q { flex: 1 1 280px; width: auto; font-size: 14px; }
.irl-coa__compound { flex: 0 1 240px; width: auto; font-size: 14px; }
.irl-coa__go { height: 44px; }
.irl-coa__count { font: 400 13px/1 var(--irl-mono); color: var(--irl-muted); }

.irl-table-box { border: 1px solid var(--irl-hairline); border-radius: var(--irl-radius-box); overflow: hidden; }
.irl-coa__table { width: 100%; min-width: 640px; border-collapse: collapse; }
.irl-coa__table thead tr { background: var(--irl-surface); text-align: left; }
.irl-coa__table th { padding: 12px 16px; border-bottom: 1px solid var(--irl-hairline); font: 600 12px/1 var(--irl-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--irl-text); text-align: left; }
.irl-coa__table td { padding: 13px 16px; border-bottom: 1px solid var(--irl-row); font: 400 13px/1.3 var(--irl-mono); color: var(--irl-navy); }
.irl-coa__table td:last-child { padding-top: 9px; padding-bottom: 9px; }
.irl-coa__table tbody tr:hover { background: var(--irl-surface); }
.irl-coa__table .is-num { text-align: right; }
.irl-coa__name { font: 500 14px/1.3 var(--irl-sans) !important; }
.irl-coa__name a { color: var(--irl-navy); text-decoration: none; }
.irl-coa__name a:hover { color: var(--irl-accent); }
.irl-coa__purity { font-weight: 500 !important; }
.irl-coa__none { padding: 40px 20px; text-align: center; font: 400 14px/1.5 var(--irl-sans); color: var(--irl-muted); }
.irl-coa + .irl-disclaimer, .irl-coa .irl-disclaimer { font-size: 12.5px; line-height: 1.55; }

/* --------------------------------------------------------------------------
   About
   ------------------------------------------------------------------------ */

.irl-pillars {
	padding-top: 56px; padding-bottom: 56px;
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 32px;
	border-bottom: 1px solid var(--irl-hairline);
}
.irl-pillar { padding: 20px 0 8px; border-top: 1px solid var(--irl-navy); display: flex; flex-direction: column; gap: 12px; }
.irl-pillar__n { font: 600 13px/1 var(--irl-mono); color: var(--irl-accent); }
.irl-pillar h2 { margin: 0; font: 600 20px/1.25 var(--irl-sans); }
.irl-pillar p { margin: 0; font: 400 15px/1.6 var(--irl-sans); color: var(--irl-muted); }

.irl-about-media { padding-top: 56px; padding-bottom: 64px; display: flex; flex-direction: column; gap: 40px; }
.irl-about-figure { margin: 0; display: flex; flex-direction: column; gap: 12px; }
.irl-about-figure img { width: 100%; height: auto; min-height: 220px; object-fit: cover; border-radius: var(--irl-radius-box); border: 1px solid var(--irl-hairline); }
.irl-about-figure figcaption { display: flex; flex-wrap: wrap; gap: 4px 18px; font: 400 12.5px/1.4 var(--irl-mono); color: var(--irl-muted); }

/* --------------------------------------------------------------------------
   FAQ page
   ------------------------------------------------------------------------ */

.irl-faq { padding-top: 32px; padding-bottom: 64px; display: flex; flex-wrap: wrap; gap: 40px; align-items: flex-start; }
.irl-faq__side { flex: 1 1 200px; align-self: stretch; }
.irl-faq__index { position: sticky; top: calc(var(--irl-header-h) + 20px); display: flex; flex-direction: column; gap: 2px; }
.irl-faq__index a { padding: 8px 0; font: 400 14px/1.3 var(--irl-sans); color: var(--irl-muted); text-decoration: none; }
.irl-faq__index a:hover { color: var(--irl-navy); }
.irl-faq__groups { flex: 4 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 36px; }
.irl-faq__group { display: flex; flex-direction: column; scroll-margin-top: 96px; }
.irl-faq__group-title { margin: 0 0 6px; font: 600 12px/1 var(--irl-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--irl-accent); }

/* --------------------------------------------------------------------------
   Contact + forms
   ------------------------------------------------------------------------ */

.irl-contact { padding-top: 48px; padding-bottom: 64px; display: flex; flex-wrap: wrap; gap: 48px; align-items: flex-start; }
.irl-contact__main { flex: 3 1 480px; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.irl-contact__side { flex: 2 1 300px; display: flex; flex-direction: column; border-top: 1px solid var(--irl-navy); }
.irl-contact__row { padding: 16px 0; border-bottom: 1px solid var(--irl-hairline); display: flex; flex-direction: column; gap: 6px; }
.irl-contact__row:last-child { border-bottom: 0; }
.irl-contact__k { font: 400 12px/1 var(--irl-sans); color: var(--irl-muted); }
.irl-contact__email { font: 500 15px/1.3 var(--irl-mono); }
.irl-contact__v { font: 500 15px/1.3 var(--irl-sans); }
.irl-contact__p { font: 400 14px/1.5 var(--irl-sans); color: var(--irl-text); }

.irl-form { display: flex; flex-direction: column; gap: 14px; }
.irl-form__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.irl-field { display: flex; flex-direction: column; gap: 6px; font: 500 13px/1 var(--irl-sans); color: var(--irl-navy); }
.irl-field__opt { font-weight: 400; color: var(--irl-muted-2); }
.irl-form .irl-btn { align-self: flex-start; }
.irl-form__error { font: 500 13px/1.4 var(--irl-sans); color: #991B1B; }
.irl-note { padding: 12px 14px; border: 1px solid var(--irl-border); background: var(--irl-surface); border-radius: var(--irl-radius); font: 500 13.5px/1.5 var(--irl-sans); color: var(--irl-navy); }
.irl-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.irl-alert { padding: 20px; border-radius: var(--irl-radius-box); display: flex; flex-direction: column; gap: 6px; }
.irl-alert--success { border: 1px solid #9ED9B2; background: #EEF9F1; }
.irl-alert--success strong { font: 600 15px/1.3 var(--irl-sans); color: #166534; }
.irl-alert--success span { font: 400 14px/1.5 var(--irl-sans); color: #14532D; }
.irl-alert--error { border: 1px solid #F1A7A7; background: #FDF2F2; color: #991B1B; }

/* --------------------------------------------------------------------------
   Prose (generic page content) + policy pages
   ------------------------------------------------------------------------ */

.irl-prose { max-width: 760px; font: 400 15.5px/1.7 var(--irl-sans); color: var(--irl-text); }
.irl-prose h2 { font: 600 22px/1.3 var(--irl-sans); margin: 32px 0 12px; }
.irl-prose h3 { font: 600 18px/1.3 var(--irl-sans); margin: 24px 0 10px; }
.irl-prose p, .irl-prose ul, .irl-prose ol { margin: 0 0 14px; }

.irl-policy { padding-top: 36px; padding-bottom: 72px; }
.irl-policy__body { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; gap: 32px; }
.irl-policy__intro { margin: 0; font: 400 17px/1.65 var(--irl-sans); color: var(--irl-navy); text-wrap: pretty; }
.irl-policy__lead { font: 400 17px/1.65 var(--irl-sans); color: var(--irl-navy); }
.irl-policy__lead p { margin: 0 0 12px; }
.irl-policy__section { display: flex; flex-direction: column; gap: 12px; padding-top: 24px; border-top: 1px solid var(--irl-hairline); scroll-margin-top: 96px; }
.irl-policy__section h2 { margin: 0; display: flex; gap: 14px; font: 600 19px/1.3 var(--irl-sans); }
.irl-policy__n { font: 500 14px/1.7 var(--irl-mono); color: var(--irl-accent); }
.irl-policy__section p,
.irl-policy__section li { margin: 0; font: 400 15.5px/1.7 var(--irl-sans); color: var(--irl-text); text-wrap: pretty; }
.irl-policy__section ul { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; }

/* --------------------------------------------------------------------------
   Cart & Checkout (WooCommerce Blocks) — restyled to the mockup
   ------------------------------------------------------------------------ */

.irl-wc-page { padding-top: 40px; padding-bottom: 64px; display: flex; flex-direction: column; gap: 24px; }
.irl-wc-page__head { display: flex; flex-direction: column; gap: 8px; }
.irl-wc-page__title { margin: 0; font: 600 36px/1.1 var(--irl-sans); letter-spacing: -.02em; }
.irl-wc-page__sub { font: 400 14px/1.4 var(--irl-sans); color: var(--irl-muted); }

.irl-wc-page .wp-block-woocommerce-cart,
.irl-wc-page .wp-block-woocommerce-checkout { margin: 0; max-width: none; }

.irl-wc-page,
.irl-wc-page .wc-block-components-text-input input,
.irl-wc-page .wc-block-components-combobox input,
.irl-wc-page .wc-blocks-components-select__select,
.irl-wc-page textarea { font-family: var(--irl-sans); }

/* WooCommerce sizes main/sidebar as 65% / 35% and wraps them, so the
   gutter must come from padding — a flex `gap` pushes the sidebar under
   the form. */
.irl-wc-page .wc-block-components-sidebar-layout { margin: 0; }
.irl-wc-page .wc-block-components-sidebar-layout.is-large .wc-block-components-main,
.irl-wc-page .wc-block-components-sidebar-layout.is-medium .wc-block-components-main { padding-right: 32px; }
.irl-wc-page .wc-block-components-sidebar { padding-left: 0; padding-right: 0; }

/* Summary = one light-gray "Order summary" card (the block's own box). */
.irl-wc-page .wp-block-woocommerce-checkout-order-summary-block,
.irl-wc-page .wp-block-woocommerce-cart-order-summary-block {
	padding: 6px 22px 22px;
	border: 1px solid var(--irl-hairline) !important;
	border-radius: var(--irl-radius-box);
	background: var(--irl-surface);
}
.irl-wc-page .wc-block-components-sidebar .wc-block-components-checkout-order-summary__content,
.irl-wc-page .wc-block-components-sidebar .wc-block-components-order-summary { border: 0 !important; }
.irl-wc-page .wc-block-checkout__sidebar.is-sticky { top: calc(var(--irl-header-h) + 20px); }
.irl-wc-page .wc-block-components-sidebar .wc-block-components-panel,
.irl-wc-page .wc-block-components-sidebar .wc-block-components-totals-wrapper { padding-left: 0; padding-right: 0; border-color: var(--irl-hairline); }
.irl-wc-page .wc-block-cart__totals-title,
.irl-wc-page .wc-block-components-checkout-order-summary__title-text,
.irl-wc-page .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-title {
	font: 600 12px/1 var(--irl-mono) !important;
	letter-spacing: .08em; text-transform: uppercase; color: var(--irl-navy);
}
.irl-wc-page .wc-block-components-totals-item { font: 400 14px/1.4 var(--irl-sans); }
.irl-wc-page .wc-block-components-totals-item__label { color: var(--irl-muted); }
.irl-wc-page .wc-block-components-totals-item__value,
.irl-wc-page .wc-block-components-formatted-money-amount,
.irl-wc-page .wc-block-components-product-price { font-family: var(--irl-mono); }
.irl-wc-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.irl-wc-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { color: var(--irl-navy); font-weight: 600; font-size: 17px; }

/* Cart line items */
.irl-wc-page .wc-block-cart-items { border-top: 1px solid var(--irl-navy); border-bottom: 0; }
.irl-wc-page .wc-block-cart-items__header { font: 600 12px/1 var(--irl-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--irl-text); }
.irl-wc-page .wc-block-cart-items td { border-top: 0 !important; border-bottom: 1px solid var(--irl-hairline) !important; padding-top: 18px !important; padding-bottom: 18px !important; }
.irl-wc-page .wc-block-cart-item__image img { border: 1px solid var(--irl-hairline); border-radius: var(--irl-radius); background: var(--irl-surface); }
.irl-wc-page .wc-block-components-product-name { font: 600 16px/1.3 var(--irl-sans); color: var(--irl-navy); text-decoration: none; }
.irl-wc-page .wc-block-components-product-metadata { font: 400 12.5px/1.3 var(--irl-mono); color: var(--irl-muted); }
.irl-wc-page .wc-block-components-product-details__name { display: none; }
.irl-wc-page .wc-block-components-quantity-selector { border: 1px solid var(--irl-border); border-radius: var(--irl-radius); height: 38px; }
.irl-wc-page .wc-block-components-quantity-selector::after { display: none; }
.irl-wc-page .wc-block-components-quantity-selector input { font: 500 13px/1 var(--irl-mono); color: var(--irl-navy); }
.irl-wc-page .wc-block-components-quantity-selector button { color: var(--irl-navy); font-family: var(--irl-mono); }
.irl-wc-page .wc-block-cart-item__remove-link { font: 400 13px/1 var(--irl-sans) !important; color: var(--irl-muted) !important; text-decoration: underline !important; }
.irl-wc-page .wc-block-cart-item__total { font: 600 16px/1 var(--irl-mono); }

/* Buttons */
.irl-wc-page .wc-block-components-button:not(.is-link),
.irl-wc-page .wc-block-cart__submit-button,
.irl-wc-page .wc-block-components-checkout-place-order-button {
	min-height: 48px;
	background: var(--irl-black) !important;
	color: var(--irl-fg) !important;
	border: 1px solid var(--irl-navy) !important;
	border-radius: var(--irl-radius) !important;
	font: 500 15px/1 var(--irl-sans) !important;
	box-shadow: none !important;
	text-decoration: none;
}
.irl-wc-page .wc-block-components-button:not(.is-link):hover { background: var(--irl-navy-hover) !important; border-color: var(--irl-navy-hover) !important; }
.irl-wc-page .wc-block-components-button.is-link { color: var(--irl-accent); }
.irl-wc-page .wc-block-components-checkout-return-to-cart-button { color: var(--irl-accent); font: 500 14px/1 var(--irl-sans); }

/* Steps / fieldsets: "01 · Contact" style legends */
.irl-wc-page .wc-block-components-checkout-step__title,
.irl-wc-page .wc-block-components-checkout-step .wc-block-components-title {
	font: 600 12px/1 var(--irl-mono) !important;
	letter-spacing: .08em; text-transform: uppercase; color: var(--irl-navy);
}
.irl-wc-page .wc-block-checkout__form { counter-reset: irl-step; }
.irl-wc-page .wc-block-components-checkout-step:not(.wc-block-checkout__order-notes) { counter-increment: irl-step; }
.irl-wc-page .wc-block-components-checkout-step:not(.wc-block-checkout__order-notes) .wc-block-components-checkout-step__title::before { content: counter(irl-step, decimal-leading-zero) " · "; }
.irl-wc-page .wc-block-components-checkout-step__container::after { display: none; }
.irl-wc-page .wc-block-components-checkout-step { padding-left: 0 !important; }
.irl-wc-page .wc-block-components-checkout-step__heading { margin-bottom: 14px; }
.irl-wc-page .wc-block-components-checkout-step__description { font: 400 13px/1.5 var(--irl-sans); color: var(--irl-muted); }

/* Inputs */
.irl-wc-page .wc-block-components-text-input input,
.irl-wc-page .wc-block-components-combobox .wc-block-components-combobox-control input,
.irl-wc-page .wc-blocks-components-select .wc-blocks-components-select__select,
.irl-wc-page .wc-block-components-textarea {
	border: 1px solid var(--irl-border) !important;
	border-radius: var(--irl-radius) !important;
	background: var(--irl-white) !important;
	color: var(--irl-navy) !important;
	font-size: 15px !important;
	box-shadow: none !important;
}
.irl-wc-page .wc-block-components-text-input.is-active input,
.irl-wc-page .wc-block-components-text-input input:focus { border-color: var(--irl-accent) !important; outline: 2px solid var(--irl-accent); outline-offset: -1px; }
.irl-wc-page .wc-block-components-text-input label,
.irl-wc-page .wc-blocks-components-select__label { color: var(--irl-muted-2); }

/* Shipping method → navy selected card like the mockup */
.irl-wc-page .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option--checked-option-highlighted,
.irl-wc-page .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option-checked {
	background: var(--irl-black); color: var(--irl-fg); border-radius: var(--irl-radius-box); box-shadow: none;
}
.irl-wc-page .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option-checked .wc-block-components-radio-control__secondary-label,
.irl-wc-page .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option-checked .wc-block-components-radio-control__description { color: var(--irl-on-navy); }
.irl-wc-page .wc-block-components-radio-control__option { font: 600 15px/1.2 var(--irl-sans); }
.irl-wc-page .wc-block-components-radio-control__input:checked { border-color: var(--irl-navy); }
.irl-wc-page .wc-block-components-radio-control__input:checked::before { background: var(--irl-black); }
.irl-wc-page .wc-block-components-radio-control__option-checked .wc-block-components-radio-control__input:checked { border-color: var(--irl-accent-on-dark); }
.irl-wc-page .wc-block-components-radio-control__option-checked .wc-block-components-radio-control__input:checked::before { background: var(--irl-accent-on-dark); }

/* Payment methods: bordered option tiles */
.irl-wc-page .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option {
	border: 1px solid var(--irl-border) !important;
	border-radius: var(--irl-radius-box) !important;
	margin-bottom: 10px;
	box-shadow: none !important;
	background: var(--irl-white);
}
.irl-wc-page .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	border-color: var(--irl-navy) !important; background: var(--irl-surface);
}
.irl-wc-page .wc-block-checkout__payment-method .wc-block-components-radio-control__label { font: 600 14px/1.2 var(--irl-sans); color: var(--irl-navy); }

/* Checkboxes (acknowledgements + others) */
.irl-wc-page .wc-block-components-checkbox { font: 400 13.5px/1.5 var(--irl-sans); color: var(--irl-navy); }
.irl-wc-page .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] { border-color: var(--irl-border); border-radius: 2px; }
.irl-wc-page .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--irl-black); border-color: var(--irl-navy); }
.irl-wc-page .wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--irl-black); }

/* Acknowledgements card ("Required acknowledgements") */
.irl-wc-page .wp-block-woocommerce-checkout-additional-information-block .wc-block-components-checkout-step__title,
.irl-wc-page .wp-block-woocommerce-checkout-additional-information-block .wc-block-components-checkout-step__heading { display: none; }
.irl-wc-page .wp-block-woocommerce-checkout-additional-information-block { counter-increment: none !important; }
.irl-wc-page .wp-block-woocommerce-checkout-additional-information-block .wc-block-components-address-form,
.irl-wc-page .wp-block-woocommerce-checkout-additional-information-block .wc-block-checkout__additional-fields {
	display: flex; flex-direction: column; gap: 12px;
	padding: 16px; background: var(--irl-white);
	border: 1px solid var(--irl-border); border-radius: var(--irl-radius-box);
}
.irl-wc-page .wp-block-woocommerce-checkout-additional-information-block .wc-block-components-checkbox { margin: 0 !important; }
.irl-acks-first::before {
	content: attr(data-irl-heading);
	display: block; margin-bottom: 12px;
	font: 600 12px/1 var(--irl-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--irl-navy);
}

/* Notices inside blocks */
.irl-wc-page .wc-block-components-notice-banner { border-radius: var(--irl-radius); font: 500 13.5px/1.45 var(--irl-sans); }
.irl-wc-page .wc-block-components-notice-banner.is-error { border-color: #F1A7A7; background: #FDF2F2; color: #991B1B; }
.irl-wc-page .wc-block-components-validation-error { color: #991B1B; }

/* Empty cart */
.irl-wc-page .wc-block-cart__empty-cart__title { font: 400 16px/1.5 var(--irl-sans); color: var(--irl-muted); }
.irl-wc-page .wp-block-woocommerce-empty-cart-block {
	padding: 56px 20px; border: 1px dashed var(--irl-border); border-radius: var(--irl-radius-box); text-align: center;
}
.irl-wc-page .wp-block-woocommerce-empty-cart-block .wp-block-separator,
.irl-wc-page .wp-block-woocommerce-empty-cart-block .wp-block-heading:not(.wc-block-cart__empty-cart__title),
.irl-wc-page .wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-new { display: none; }

/* Under-cart RUO + shipping notes, and the checkout footnote */
.irl-cart-foot { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 16px 32px; align-items: start; }
.irl-cart-foot .irl-ruo-box { background: var(--irl-white); font-size: 12.5px; }
.irl-cart-foot .irl-ruo-box .irl-label { font-size: 12px; }
.irl-cart-foot__ship p { margin: 0 0 8px; font: 400 12px/1.5 var(--irl-sans); color: var(--irl-muted); }
.irl-checkout-foot { max-width: 760px; }
.irl-checkout-foot p { margin: 0 0 8px; font: 400 12px/1.5 var(--irl-sans); color: var(--irl-muted); }

/* --------------------------------------------------------------------------
   Checkout payment methods — instructions + proof upload, on-brand
   ------------------------------------------------------------------------ */

.irl-wc-page .irlpay-manual-payment-description,
.irl-wc-page .irlpay-payment-content-box { font: 400 14px/1.55 var(--irl-sans); color: var(--irl-text); }
.irl-wc-page .irlpay-step__title { font: 600 15px/1.3 var(--irl-sans); color: var(--irl-navy); }
.irl-wc-page .irlpay-step__warning { border-radius: var(--irl-radius); }
.irl-wc-page .irlpay-field label,
.irl-wc-page .irlpay-field-label { font: 500 13px/1.3 var(--irl-sans); color: var(--irl-navy); }
.irl-wc-page .irlpay-field input {
	height: 44px; padding: 0 12px; width: 100%;
	border: 1px solid var(--irl-border); border-radius: var(--irl-radius);
	font: 400 14px/1 var(--irl-mono); color: var(--irl-navy); background: var(--irl-white);
}
.irl-wc-page .irlpay-dropzone { border: 1px dashed var(--irl-border); border-radius: var(--irl-radius-box); background: var(--irl-white); }
.irl-wc-page .irlpay-dropzone:hover { border-color: var(--irl-navy); }
.irl-wc-page .irlpay-dropzone--done { border-style: solid; border-color: #9ED9B2; background: #EEF9F1; }
.irl-wc-page .irlpay-proof-section__title { font: 600 12px/1 var(--irl-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--irl-navy); }
/* Iron Raven support runs by email — the plugin's optional Discord username
   field (always the field right before the proof upload) is not used. */
.irlpay-field:has(+ .irlpay-proof-section),
.irlpay-field:has(.irlpay-discord-username) { display: none !important; }

/* Copy-to-clipboard rows used in the payment steps */
.irl-pay-copy {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	margin: 8px 0; padding: 10px 12px;
	border: 1px solid var(--irl-border); border-radius: var(--irl-radius); background: var(--irl-white);
}
.irl-pay-copy small { display: block; font: 400 12px/1.3 var(--irl-sans); color: var(--irl-muted-2); }
.irl-pay-copy code { font: 500 13.5px/1.4 var(--irl-mono); color: var(--irl-navy); word-break: break-all; background: none; }
.irl-pay-warn { margin: 8px 0; padding: 10px 12px; border: 1px solid #F5C26B; background: #FFF8EB; border-radius: var(--irl-radius); color: #7A4A00; font: 500 13px/1.5 var(--irl-sans); }
.irl-pay-danger { margin: 8px 0; padding: 10px 12px; border: 1px solid #F1A7A7; background: #FDF2F2; border-radius: var(--irl-radius); color: #991B1B; font: 600 13px/1.5 var(--irl-sans); }
.irl-pay-net { margin: 8px 0; padding: 10px 12px; border-left: 3px solid var(--irl-accent); background: var(--irl-surface); font: 400 13px/1.5 var(--irl-sans); }

/* --------------------------------------------------------------------------
   Order Protection — inline card + pop-ups
   ------------------------------------------------------------------------ */

.irl-op-original {
	position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0;
	overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}

.irl-op-card {
	display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; gap: 12px; align-items: start;
	margin: 0 0 24px; padding: 16px;
	border: 1px solid var(--irl-border); border-radius: var(--irl-radius-box);
	background: var(--irl-white); cursor: pointer;
	transition: border-color .15s, background-color .15s;
}
.irl-op-card:hover { border-color: var(--irl-navy); }
.irl-op-card.is-active { border-color: var(--irl-blue); background: var(--irl-blue-bg); }
.irl-op-card.is-loading { opacity: .75; cursor: progress; }
.irl-op-card__box {
	width: 20px; height: 20px; margin-top: 1px; border: 1.5px solid var(--irl-border); border-radius: 3px; background: var(--irl-white);
	display: flex; align-items: center; justify-content: center;
}
.irl-op-card.is-active .irl-op-card__box { background: var(--irl-blue); border-color: var(--irl-blue); }
.irl-op-card.is-active .irl-op-card__box::after { content: "✓"; color: var(--irl-fg); font: 700 12px/1 var(--irl-mono); }
.irl-op-card__copy { display: flex; flex-direction: column; gap: 4px; }
.irl-op-card__title { font: 600 15px/1.2 var(--irl-sans); color: var(--irl-navy); }
.irl-op-card__desc { font: 400 13px/1.5 var(--irl-sans); color: var(--irl-text); }
.irl-op-card__desc a { font-weight: 500; color: var(--irl-blue); }
.irl-op-card__side { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.irl-op-card__fee { font: 600 16px/1 var(--irl-mono); color: var(--irl-blue-dark); }
.irl-op-card__tag {
	padding: 4px 8px; border-radius: 2px; background: var(--irl-row); color: var(--irl-navy);
	font: 600 12px/1 var(--irl-mono); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap;
}
.irl-op-card.is-active .irl-op-card__tag { background: var(--irl-blue); color: var(--irl-fg); }

html.irl-op-open, html.irl-gate-open { overflow: hidden; }

.irl-op-overlay {
	position: fixed; inset: 0; z-index: 90;
	background: rgba(11,11,12,.62);
	display: flex; align-items: center; justify-content: center;
	padding: 16px; overflow-y: auto;
}
.irl-op-overlay[hidden] { display: none; }
.irl-op-overlay--policy { z-index: 91; }

.irl-op-modal {
	width: 100%; max-width: 420px; max-height: calc(100vh - 32px); overflow-y: auto;
	background: var(--irl-white); border-radius: 6px; box-shadow: 0 24px 60px rgba(11,11,12,.35);
}
.irl-op-modal[hidden] { display: none; }
.irl-op-modal--confirm { max-width: 400px; }
.irl-op-modal__head { padding: 24px 24px 20px; background: var(--irl-black); color: var(--irl-fg); display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; }
.irl-op-modal__icon { width: 48px; height: 48px; border-radius: 10px; background: var(--irl-blue); display: flex; align-items: center; justify-content: center; }
.irl-op-modal__title { font: 700 15px/1.2 var(--irl-mono); letter-spacing: .1em; text-transform: uppercase; }
.irl-op-modal__sub { font: 400 13px/1.4 var(--irl-sans); color: var(--irl-on-navy); }
.irl-op-modal__body { padding: 20px 24px 22px; display: flex; flex-direction: column; gap: 14px; }
.irl-op-modal__body--center { padding: 24px; text-align: center; }
.irl-op-modal__lead { margin: 0; text-align: center; font: 400 14px/1.6 var(--irl-sans); color: var(--irl-text); }
.irl-op-modal__lead b { color: var(--irl-navy); }
.irl-op-cover {
	list-style: none; margin: 0; padding: 14px 16px; display: flex; flex-direction: column; gap: 9px;
	border: 1px solid var(--irl-blue-line); background: var(--irl-blue-bg); border-radius: 6px;
	font: 400 13.5px/1.4 var(--irl-sans); color: var(--irl-text);
}
.irl-op-cover li { display: flex; gap: 10px; align-items: center; }
.irl-op-cover b { color: var(--irl-navy); }
.irl-op-cover__tick { flex: none; width: 18px; height: 18px; border-radius: 50%; background: var(--irl-blue); color: var(--irl-fg); display: flex; align-items: center; justify-content: center; font: 700 12px/1 var(--irl-mono); }
.irl-op-price { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 12px 16px; border: 1px solid var(--irl-blue-line); border-radius: 6px; }
.irl-op-price__amt { font: 700 26px/1 var(--irl-mono); color: var(--irl-blue-dark); }
.irl-op-price__tag { padding: 4px 8px; border: 1px solid var(--irl-blue); border-radius: 10px; font: 600 12px/1 var(--irl-mono); letter-spacing: .06em; color: var(--irl-blue-dark); }
.irl-op-price__calc { margin-left: auto; font: 400 12px/1.3 var(--irl-sans); color: var(--irl-muted); }
.irl-op-link { text-align: center; font: 500 13px/1.3 var(--irl-sans); color: var(--irl-blue); text-decoration: none; }
.irl-op-link:hover { color: var(--irl-blue-dark); text-decoration: underline; }
.irl-op-btn { flex-shrink: 0; height: 48px; border-radius: 4px; font: 600 15px/1 var(--irl-sans); cursor: pointer; }
.irl-op-btn--add { background: var(--irl-black); color: var(--irl-fg); border: 0; }
.irl-op-btn--add:hover { background: var(--irl-navy-hover); }
.irl-op-btn--no { height: 46px; background: var(--irl-white); color: var(--irl-navy); border: 1px solid var(--irl-border); font-weight: 500; }
.irl-op-btn--no:hover { border-color: var(--irl-navy); }
.irl-op-modal__fine { text-align: center; font: 400 12px/1.5 var(--irl-sans); color: var(--irl-muted-2); }
.irl-op-modal__warn { align-self: center; width: 48px; height: 48px; border-radius: 10px; background: #FEF3C7; display: flex; align-items: center; justify-content: center; }
.irl-op-modal__sure { font: 600 19px/1.2 var(--irl-sans); color: var(--irl-navy); }
.irl-op-modal__muted { margin: 0; font: 400 13.5px/1.55 var(--irl-sans); color: var(--irl-muted); }
.irl-op-modal__text { margin: 0; font: 400 14px/1.55 var(--irl-sans); color: var(--irl-text); }
.irl-op-lose {
	list-style: none; margin: 0; padding: 12px 14px; display: flex; flex-direction: column; gap: 8px;
	border: 1px solid var(--irl-hairline); background: var(--irl-surface); border-radius: 6px;
	text-align: left; font: 400 13px/1.45 var(--irl-sans); color: var(--irl-text);
}
.irl-op-lose li { display: flex; gap: 8px; }
.irl-op-lose__x { flex: none; width: 18px; color: #B91C1C; font: 700 13px/1.4 var(--irl-mono); text-align: center; }

.irl-op-modal--policy { max-width: 560px; display: flex; flex-direction: column; overflow: hidden; }
.irl-op-policy__head { flex: none; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 20px; background: var(--irl-black); color: var(--irl-fg); font: 600 16px/1.2 var(--irl-sans); }
.irl-op-policy__close { flex: none; width: 36px; height: 36px; background: transparent; border: 1px solid var(--irl-line-3); border-radius: 4px; color: var(--irl-fg); font: 400 18px/1 var(--irl-mono); cursor: pointer; }
.irl-op-policy__body { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 18px 20px; display: flex; flex-direction: column; gap: 18px; }
.irl-op-policy__body p { margin: 0; font: 400 13.5px/1.6 var(--irl-sans); color: var(--irl-text); }
.irl-op-policy__body section { display: flex; flex-direction: column; gap: 8px; padding-top: 14px; border-top: 1px solid var(--irl-hairline); }
.irl-op-policy__body h3 { margin: 0; display: flex; gap: 10px; font: 600 15px/1.35 var(--irl-sans); color: var(--irl-navy); }
.irl-op-policy__body h3 span:first-child { font: 500 12px/1.9 var(--irl-mono); color: var(--irl-blue); }
.irl-op-policy__foot { flex: none; display: flex; gap: 10px; flex-wrap: wrap; padding: 14px 20px; border-top: 1px solid var(--irl-hairline); background: var(--irl-surface); }
.irl-op-policy__foot .irl-op-btn--add { flex: 1 1 180px; height: 46px; font-size: 14px; }
.irl-op-policy__foot .irl-op-btn--no { flex: 1 1 140px; font-size: 14px; }

/* --------------------------------------------------------------------------
   Thank-you page
   ------------------------------------------------------------------------ */

.irl-thankyou__banner { gap: 14px; }
.irl-thankyou__banner .irl-banner__title { font-size: clamp(28px, 4.5vw, 40px); }
.irl-thankyou__banner .irl-banner__text { max-width: 680px; font-size: 16px; color: var(--irl-on-navy-3); text-wrap: pretty; }
.irl-thankyou__banner .irl-banner__text b { color: var(--irl-fg); font-weight: 500; }
.irl-overview {
	list-style: none; margin: 8px 0 0; padding: 0;
	display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	border: 1px solid var(--irl-hairline); background: var(--irl-white); border-radius: var(--irl-radius-box); color: var(--irl-navy);
}
.irl-overview li { padding: 14px 16px; display: flex; flex-direction: column; gap: 6px; box-shadow: 0 0 0 .5px var(--irl-hairline); font: 500 15px/1.2 var(--irl-sans); }
.irl-overview__k { font: 400 12px/1 var(--irl-sans); color: var(--irl-muted); }

.irl-thankyou__body { padding-top: 32px; padding-bottom: 64px; display: flex; flex-wrap: wrap; gap: 24px 32px; align-items: flex-start; }
.irl-thankyou__main { flex: 3 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.irl-thankyou__side { flex: 2 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.irl-thankyou__pair { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 20px; }
.irl-thankyou__q { margin: 0; font: 400 14px/1.5 var(--irl-sans); color: var(--irl-text); }

.irl-box { padding: 20px; border: 1px solid var(--irl-hairline); border-radius: var(--irl-radius-box); display: flex; flex-direction: column; gap: 12px; }
.irl-box--surface { background: var(--irl-surface); gap: 14px; }
.irl-box > h2.irl-label { margin: 0 0 4px; }

.irl-summary { display: flex; flex-direction: column; font: 400 14px/1.4 var(--irl-sans); }
.irl-summary--strong { border-top: 1px solid var(--irl-navy); }
.irl-summary__row { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--irl-hairline); }
.irl-summary__row b { font-weight: 500; }
.irl-summary__row--total { border-bottom: 0; padding-top: 12px; font-weight: 600; font-size: 17px; }

.irl-address { font: normal 400 14px/1.6 var(--irl-sans); color: var(--irl-text); }
.irl-kv { display: flex; flex-direction: column; gap: 4px; }
.irl-kv__k { font: 400 12px/1 var(--irl-sans); color: var(--irl-muted); }
.irl-kv__v { font: 500 14px/1.4 var(--irl-sans); }
.irl-kv__v.irl-mono { font-size: 13.5px; }

.irl-acks { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; border-top: 1px solid var(--irl-hairline); }
.irl-acks li { display: grid; grid-template-columns: 22px 1fr; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--irl-hairline); font: 400 14px/1.5 var(--irl-sans); color: var(--irl-navy); }
.irl-acks__tick { width: 20px; height: 20px; border-radius: 3px; background: var(--irl-black); color: var(--irl-fg); display: flex; align-items: center; justify-content: center; font: 600 12px/1 var(--irl-mono); }
.irl-acks__links { display: flex; flex-wrap: wrap; gap: 6px 16px; font: 500 13px/1.4 var(--irl-sans); }
.irl-acks__stamp { font: 400 12px/1.4 var(--irl-mono); color: var(--irl-muted-2); }

.irl-next { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.irl-next li { display: grid; grid-template-columns: 28px 1fr; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--irl-hairline); font: 400 13.5px/1.5 var(--irl-sans); }
.irl-next li:last-child { border-bottom: 0; }
.irl-next__n { font: 600 12px/1.6 var(--irl-mono); color: var(--irl-accent); }

.irl-thankyou .irlpay-payment-proof { padding: 14px; border: 1px solid #F5C26B; background: #FFF8EB; border-radius: var(--irl-radius); }

/* --------------------------------------------------------------------------
   Age gate
   ------------------------------------------------------------------------ */

.irl-gate {
	position: fixed; inset: 0; z-index: 100;
	background: rgba(11,11,12,.82);
	display: flex; align-items: center; justify-content: center; padding: 20px;
}
.irl-gate[hidden], .irl-gate-exit[hidden] { display: none; }
.irl-gate__panel { width: 100%; max-width: 460px; background: var(--irl-white); border-radius: var(--irl-radius-box); padding: 32px; display: flex; flex-direction: column; gap: 20px; }
.irl-gate__copy { display: flex; flex-direction: column; gap: 10px; }
.irl-gate__copy .irl-eyebrow { font-weight: 600; font-size: 12px; }
.irl-gate__copy h2 { margin: 0; font: 600 24px/1.25 var(--irl-sans); letter-spacing: -.01em; }
.irl-gate__copy p { margin: 0; font: 400 15px/1.55 var(--irl-sans); color: var(--irl-text); }
.irl-gate__actions { display: flex; gap: 10px; flex-wrap: wrap; }
.irl-gate__actions .irl-btn { height: 48px; font-size: 15px; }
.irl-gate__actions .irl-btn--primary { flex: 1 1 160px; }
.irl-gate__actions .irl-btn--outline { flex: 1 1 120px; }
.irl-gate__note { font: 400 12px/1.5 var(--irl-sans); color: var(--irl-muted-2); }
.irl-gate__note a { color: var(--irl-muted); }

.irl-gate-exit {
	position: fixed; inset: 0; z-index: 100; background: var(--irl-black);
	display: flex; align-items: center; justify-content: center; padding: 20px; text-align: center;
}
.irl-gate-exit__inner { max-width: 420px; display: flex; flex-direction: column; gap: 16px; align-items: center; color: var(--irl-on-navy); }
.irl-gate-exit__brand { font: 600 13px/1 var(--irl-sans); letter-spacing: .2em; color: var(--irl-fg); }
.irl-gate-exit p { margin: 0; font: 400 15px/1.6 var(--irl-sans); }
.irl-gate-exit .irl-btn { height: 40px; padding: 0 16px; font-size: 13px; border-color: var(--irl-line-3); }

/* --------------------------------------------------------------------------
   RUO band + footer
   ------------------------------------------------------------------------ */

.irl-ruo-band { background: var(--irl-row); border-top: 1px solid var(--irl-border); }
.irl-ruo-band__inner { padding-top: 22px; padding-bottom: 22px; display: flex; flex-wrap: wrap; gap: 8px 24px; align-items: baseline; }
.irl-ruo-band__label { font: 600 12px/1.4 var(--irl-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--irl-navy); }
.irl-ruo-band p { margin: 0; flex: 1 1 520px; font: 400 13.5px/1.55 var(--irl-sans); color: var(--irl-text); }

.irl-footer { background: var(--irl-black); color: var(--irl-on-navy); }
.irl-footer__inner { padding-top: 48px; padding-bottom: 28px; display: flex; flex-direction: column; gap: 36px; }
.irl-footer__cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: 32px; }
.irl-footer__brand { display: flex; flex-direction: column; gap: 14px; }
.irl-footer__tagline { font: 400 13.5px/1.55 var(--irl-sans); }
.irl-footer__email { font: 500 13.5px/1.3 var(--irl-mono); color: var(--irl-accent-on-dark); text-decoration: none; }
.irl-footer__email:hover { color: var(--irl-fg); }
.irl-footer__nav { display: flex; flex-direction: column; gap: 10px; }
.irl-footer__heading { margin-bottom: 4px; font: 600 12px/1 var(--irl-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--irl-fg); }
.irl-footer__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.irl-footer__links a { color: var(--irl-on-navy); text-decoration: none; font: 400 14px/1.3 var(--irl-sans); }
.irl-footer__links a:hover { color: var(--irl-fg); }
.irl-footer__disclaimer { margin: 0; padding: 18px 0; border-top: 1px solid var(--irl-navy-line); border-bottom: 1px solid var(--irl-navy-line); font: 400 12.5px/1.65 var(--irl-sans); color: var(--irl-on-navy-2); }
.irl-footer__legal { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; font: 400 12px/1.4 var(--irl-mono); color: var(--irl-slate-300); }

/* --------------------------------------------------------------------------
   404 + misc
   ------------------------------------------------------------------------ */

.irl-404 { display: flex; flex-wrap: wrap; gap: 12px; }
.irl-post-summary { padding: 20px 0; border-bottom: 1px solid var(--irl-hairline); }

/* --------------------------------------------------------------------------
   Phones
   ------------------------------------------------------------------------ */

@media (max-width: 600px) {
	:root { --irl-gutter: 16px; }
	.irl-header-cart { margin-left: 10px; }
	.irl-header-cart > span:not(.irl-cart-count) { display: none; }
	.irl-banner__title { font-size: 30px; }
	.irl-h2 { font-size: 26px; }
	.irl-section, .irl-how__inner { padding-top: 48px; padding-bottom: 48px; }
	.irl-quality__inner { padding-top: 56px; padding-bottom: 56px; }
	.irl-wc-page__title { font-size: 30px; }
	.irl-pdp__buy .irl-qty { flex: 1 1 100%; justify-content: space-between; }
	.irl-form .irl-btn, .irl-hero__actions .irl-btn { width: 100%; }
	.irl-gate__panel { padding: 24px; }
	.irl-op-card { grid-template-columns: 24px minmax(0, 1fr); }
	.irl-op-card__side { grid-column: 2; flex-direction: row; align-items: center; justify-content: space-between; }
}

/* The payment plugin keeps Place Order disabled until a payment screenshot
   is uploaded; say so, instead of a silently dead button. */
.irl-wc-page .wc-block-checkout__actions:has(.wc-block-components-checkout-place-order-button:disabled)::after,
.irl-wc-page .wc-block-checkout__actions:has(.wc-block-components-checkout-place-order-button[aria-disabled="true"])::after {
	content: "Upload your payment screenshot above to enable Place Order.";
	display: block;
	margin-top: 10px;
	text-align: center;
	font: 500 13px/1.4 var(--irl-sans);
	color: #92400E;
}

/* --------------------------------------------------------------------------
   Narrow phones (found in the 320–480px responsive sweep)
   ------------------------------------------------------------------------ */

@media (max-width: 480px) {
	/* The bar wraps onto several lines here; a dot at a line end reads as a stray mark. */
	.irl-announce__dot { display: none; }
	.irl-announce__inner { flex-direction: column; gap: 2px; }

	/* Cart rows: WooCommerce's fixed grid (80px + 132px + 19px + 76px) is
	   wider than a 320px screen; let the details column flex instead. */
	.irl-wc-page .wc-block-cart-items .wc-block-cart-items__row { grid-template-columns: 56px minmax(0, 1fr) auto; column-gap: 12px; }
	.irl-wc-page .wc-block-cart-items .wc-block-cart-item__image,
	.irl-wc-page .wc-block-cart-items .wc-block-cart-item__image img { width: 56px; }
	.irl-wc-page .wc-block-cart-items .wc-block-cart-item__image { padding-right: 0 !important; }
	.irl-wc-page .wc-block-cart-items .wc-block-cart-item__product { min-width: 0; padding-right: 0 !important; }
	.irl-wc-page .wc-block-cart-items .wc-block-cart-item__total { padding-left: 0 !important; }
	.irl-wc-page .wc-block-cart-item__total .wc-block-components-product-price { font-size: 14px; }
	.irl-wc-page .wc-block-components-product-name { font-size: 15px; word-break: break-word; }
}

@media (max-width: 359px) {
	:root { --irl-gutter: 14px; }
	/* All five menu links on one row at 320px. */
	.irl-nav--mobile a { padding: 10px 5px; font-size: 13px; }
	.irl-logo__word { font-size: 14px; letter-spacing: .16em; }
}

/* The payment plugin's copy-address buttons: a full-size tap target. */
.irlpay-address-copy__btn { min-width: 32px; min-height: 32px; display: inline-flex; align-items: center; justify-content: center; }

@media (max-width: 380px) {
	/* Too narrow for three columns: the line total moves under the details.
	   WooCommerce's own is-mobile grid rules are more specific, hence !important. */
	.irl-wc-page table.wc-block-cart-items .wc-block-cart-items__row { grid-template-columns: 56px minmax(0, 1fr) !important; column-gap: 12px !important; }
	.irl-wc-page table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image { grid-area: 1 / 1 / 3 / 2 !important; }
	.irl-wc-page table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product { grid-area: 1 / 2 / 2 / 3 !important; padding-bottom: 6px !important; }
	.irl-wc-page table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total { grid-area: 2 / 2 / 3 / 3 !important; justify-self: start; padding-top: 0 !important; }
}

/* --------------------------------------------------------------------------
   My Account (classic WooCommerce markup): login, lost password, orders
   ------------------------------------------------------------------------ */

.woocommerce-account .irl-prose { max-width: none; }
.woocommerce-account .irl-prose h2 { font: 600 12px/1 var(--irl-mono); letter-spacing: .08em; text-transform: uppercase; margin: 0 0 16px; }

.woocommerce-account .woocommerce-form,
.woocommerce-account .woocommerce-ResetPassword,
.woocommerce-account .woocommerce-EditAccountForm {
	max-width: 440px; margin: 0; padding: 24px;
	border: 1px solid var(--irl-hairline); border-radius: var(--irl-radius-box); background: var(--irl-white);
	display: flex; flex-direction: column; gap: 14px;
}
.woocommerce-account .woocommerce-form .form-row,
.woocommerce-account .woocommerce-ResetPassword .form-row,
.woocommerce-account .woocommerce-EditAccountForm .form-row { margin: 0; display: flex; flex-direction: column; gap: 6px; }
.woocommerce-account form label { font: 500 13px/1.3 var(--irl-sans); color: var(--irl-navy); }
.woocommerce-account form .required { color: #B91C1C; text-decoration: none; border: 0; }
.woocommerce-account form .input-text,
.woocommerce-account form input[type="text"],
.woocommerce-account form input[type="email"],
.woocommerce-account form input[type="password"] {
	width: 100%; height: 44px; padding: 0 12px;
	border: 1px solid var(--irl-border); border-radius: var(--irl-radius);
	background: var(--irl-white); color: var(--irl-navy); font: 400 15px/1 var(--irl-sans);
}
.woocommerce-account .password-input { position: relative; display: block; }
.woocommerce-account .show-password-input { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; border: 0; background: none; cursor: pointer; }
.woocommerce-account .show-password-input::after { content: "👁"; font-size: 15px; opacity: .55; }
.woocommerce-account .woocommerce-form-login__rememberme { flex-direction: row !important; align-items: center; gap: 8px; font-weight: 400 !important; }
.woocommerce-account .woocommerce-form-login__rememberme input { accent-color: var(--irl-navy); width: 16px; height: 16px; margin: 0; }
.woocommerce-account form .button,
.woocommerce-account .woocommerce-Button,
.woocommerce-account .woocommerce-MyAccount-content .button {
	display: inline-flex; align-items: center; justify-content: center;
	height: 44px; padding: 0 22px; border: 1px solid var(--irl-navy); border-radius: var(--irl-radius);
	background: var(--irl-black); color: var(--irl-fg); font: 500 14px/1 var(--irl-sans); cursor: pointer; text-decoration: none;
}
.woocommerce-account form .button:hover,
.woocommerce-account .woocommerce-MyAccount-content .button:hover { background: var(--irl-navy-hover); color: var(--irl-fg); }
.woocommerce-account .woocommerce-form-login .form-row:has(.button) { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.woocommerce-account .lost_password { margin: 0; font: 500 13px/1 var(--irl-sans); }
.woocommerce-account .h-captcha { margin: 2px 0; }
.woocommerce-account .clear { display: none; }

/* Logged-in account: side nav + content */
.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) { display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { flex: 1 1 100%; }
.woocommerce-MyAccount-navigation { flex: 1 1 200px; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--irl-navy); }
.woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--irl-hairline); }
.woocommerce-MyAccount-navigation a { display: block; padding: 12px 0; font: 500 14px/1.2 var(--irl-sans); color: var(--irl-muted); text-decoration: none; }
.woocommerce-MyAccount-navigation .is-active a, .woocommerce-MyAccount-navigation a:hover { color: var(--irl-navy); }
.woocommerce-MyAccount-navigation .is-active a { box-shadow: inset 3px 0 0 var(--irl-accent); padding-left: 12px; }
.woocommerce-MyAccount-content { flex: 4 1 520px; min-width: 0; font: 400 15px/1.6 var(--irl-sans); color: var(--irl-text); }
.woocommerce-MyAccount-content table,
.woocommerce-account .woocommerce-table {
	width: 100%; border-collapse: collapse; border: 1px solid var(--irl-hairline); border-radius: var(--irl-radius-box); overflow: hidden; font: 400 14px/1.4 var(--irl-sans);
}
.woocommerce-MyAccount-content th { padding: 12px 14px; background: var(--irl-surface); text-align: left; font: 600 12px/1 var(--irl-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--irl-text); border-bottom: 1px solid var(--irl-hairline); }
.woocommerce-MyAccount-content td { padding: 12px 14px; border-bottom: 1px solid var(--irl-row); vertical-align: middle; }
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-number a { font-family: var(--irl-mono); font-weight: 600; }
.woocommerce-MyAccount-content mark { background: none; color: var(--irl-navy); font-weight: 600; }
.woocommerce-MyAccount-content address { font-style: normal; padding: 16px; border: 1px solid var(--irl-hairline); border-radius: var(--irl-radius-box); }
@media (max-width: 600px) {
	.woocommerce-MyAccount-content table.shop_table_responsive thead { display: none; }
	.woocommerce-MyAccount-content table.shop_table_responsive tr { display: block; border-bottom: 1px solid var(--irl-hairline); }
	.woocommerce-MyAccount-content table.shop_table_responsive td { display: flex; justify-content: space-between; gap: 12px; border: 0; }
	.woocommerce-MyAccount-content table.shop_table_responsive td::before { content: attr(data-title); font: 500 12px/1.4 var(--irl-mono); color: var(--irl-muted); }
}

/* ==========================================================================
   Iron Raven design layer — values from design-source/
   "Iron Raven Storefront.dc.html". Kept after the shared structure above so
   the dark palette, Cinzel headings and orange actions win cleanly.
   ========================================================================== */

body, .irl-site { background: var(--irl-card); color: var(--irl-fg); }
input, select, textarea { background-color: var(--irl-black); color: var(--irl-fg); }
a { color: var(--irl-orange); }
a:hover { color: var(--irl-orange-hover); }
::selection { background: var(--irl-orange); color: var(--irl-fg); }

/* Display type */
.irl-h2,
.irl-hero__title,
.irl-banner__title,
.irl-pdp__title,
.irl-wc-page__title,
.irl-display { font-family: var(--irl-display); letter-spacing: .01em; }
.irl-h2 { font-weight: 600; }
.irl-hero__title { font-weight: 600; text-shadow: 0 2px 24px rgba(0, 0, 0, .5); }

/* Buttons: iron orange for every primary action */
.irl-btn--primary,
.irl-btn--white { background: var(--irl-orange); border-color: var(--irl-orange); color: var(--irl-fg); }
.irl-btn--primary:hover,
.irl-btn--white:hover { background: var(--irl-orange-hover); border-color: var(--irl-orange-hover); color: var(--irl-fg); }
.irl-btn--primary.is-added { background: var(--irl-orange-hover); border-color: var(--irl-orange-hover); }
.irl-btn--outline { background: var(--irl-card); border-color: var(--irl-line-2); color: var(--irl-fg); }
.irl-btn--outline:hover { border-color: var(--irl-fg); color: var(--irl-fg); }
.irl-btn--ghost-light { background: rgba(11, 11, 12, .35); border-color: var(--irl-line-2); color: var(--irl-fg); }
.irl-btn--ghost-light:hover { background: rgba(255, 255, 255, .12); border-color: var(--irl-line-2); color: var(--irl-fg); }
.irl-btn--transparent { background: transparent; border-color: var(--irl-line-2); color: var(--irl-fg); }
.irl-btn--transparent:hover { border-color: var(--irl-silver); color: var(--irl-fg); }
.irl-btn--strong { font-weight: 600; }
.irl-btn--disabled,
.irl-btn:disabled { background: var(--irl-raise); border-color: var(--irl-line); color: var(--irl-dim); }

/* Announcement bar + header */
.irl-announce { background: var(--irl-orange); color: var(--irl-fg); }
.irl-announce__dot { color: var(--irl-fg); }
.irl-header { background: var(--irl-black); border-bottom-color: var(--irl-line); }
.irl-logo__img { display: block; height: clamp(54px, 6vw, 70px); width: auto; max-width: 60vw; object-fit: contain; }
.irl-nav a { color: var(--irl-silver); }
.irl-nav a:hover { color: var(--irl-fg); }
.irl-nav .current-menu-item > a,
.irl-nav .current_page_item > a,
.irl-nav .current-menu-ancestor > a { color: var(--irl-fg); box-shadow: inset 0 -2px 0 var(--irl-orange); }
.irl-header-cart { background: var(--irl-card); border-color: var(--irl-line-2); color: var(--irl-fg); }
.irl-header-cart:hover { border-color: var(--irl-fg); color: var(--irl-fg); }
.irl-cart-count { background: var(--irl-black); color: var(--irl-fg); }
.irl-kit-notice { background: var(--irl-card); color: var(--irl-fg); }

/* Banners: about-banner image under a left-to-right black fade */
.irl-banner {
	background-color: var(--irl-black);
	background-image:
		linear-gradient(90deg, rgba(11,11,12,.94) 0%, rgba(11,11,12,.78) 45%, rgba(11,11,12,.2) 100%),
		var(--irl-bg-image, none);
	background-position: left center;
}
.irl-banner .irl-eyebrow { color: var(--irl-orange-soft); }
.irl-banner__text { color: var(--irl-silver); }
.irl-banner--about {
	background-image:
		linear-gradient(90deg, rgba(11,11,12,.96) 0%, rgba(11,11,12,.86) 45%, rgba(11,11,12,.25) 100%),
		linear-gradient(0deg, rgba(11,11,12,.45), rgba(11,11,12,.45)),
		var(--irl-bg-image, none);
	background-position: right center;
}
.irl-banner--about .irl-banner__inner { padding-top: clamp(64px, 10vw, 120px); padding-bottom: clamp(56px, 8vw, 96px); gap: 18px; }
.irl-banner--about .irl-eyebrow { color: var(--irl-orange); font-weight: 600; letter-spacing: .16em; }
.irl-banner--about .irl-banner__title { max-width: 720px; font-size: clamp(34px, 5.2vw, 58px); line-height: 1.06; }
.irl-banner--about .irl-banner__text { max-width: 600px; font-size: 17px; line-height: 1.65; }

/* Home hero: home-banner image, text overlays on the left */
.irl-hero {
	position: relative;
	background-color: var(--irl-black);
	background-image:
		linear-gradient(90deg, rgba(11,11,12,.97) 0%, rgba(11,11,12,.93) 38%, rgba(11,11,12,.55) 62%, rgba(11,11,12,.08) 85%),
		linear-gradient(0deg, rgba(11,11,12,.85) 0%, rgba(11,11,12,0) 45%),
		var(--irl-bg-image, none);
	background-position: right center;
	min-height: clamp(560px, 46vw, 720px);
	display: flex; align-items: center;
}
.irl-hero__inner { width: 100%; padding-top: clamp(72px, 10vw, 120px); padding-bottom: clamp(48px, 7vw, 80px); }
.irl-hero__content { max-width: 600px; gap: 18px; }
.irl-hero .irl-eyebrow { color: var(--irl-orange); letter-spacing: .16em; }
.irl-hero__title { font-size: clamp(34px, 5.4vw, 62px); line-height: 1.04; }
.irl-hero__text { max-width: 560px; font-size: 17px; line-height: 1.6; color: var(--irl-fg); }
.irl-hero__actions { margin-top: 6px; }
.irl-hero__actions .irl-btn { height: 52px; padding: 0 28px; }
.irl-hero__actions .irl-btn--primary { font-weight: 600; }

/* Trust strip + how ordering */
.irl-trust { background: var(--irl-card); }
.irl-trust__value { color: var(--irl-orange); }
.irl-how { background: var(--irl-card); }
.irl-how__steps { background: var(--irl-card); }

/* Eyebrows sit in orange everywhere */
.irl-eyebrow { color: var(--irl-orange); }
.irl-eyebrow--wide { letter-spacing: .14em; }
.irl-eyebrow--strong { font-weight: 600; letter-spacing: .16em; }

/* Stat grid (home standard + about standard) */
.irl-stats {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px;
	background: var(--irl-line); border: 1px solid var(--irl-line); border-radius: var(--irl-radius-box); overflow: hidden;
}
.irl-stats__cell { background: var(--irl-card); padding: 28px 22px; display: flex; flex-direction: column; gap: 8px; }
.irl-stats__v { font: 600 clamp(30px, 4vw, 44px)/1 var(--irl-mono); color: var(--irl-fg); }
.irl-stats__cell:first-child .irl-stats__v { color: var(--irl-orange); }
.irl-stats__k { font: 400 13.5px/1.4 var(--irl-sans); color: var(--irl-silver); }
.irl-stats__link {
	grid-column: 1 / -1; background: var(--irl-card); padding: 18px 22px;
	display: flex; justify-content: space-between; align-items: center; gap: 12px;
	text-decoration: none; color: var(--irl-orange); font: 600 14px/1 var(--irl-sans);
}
.irl-stats__link:hover { background: var(--irl-raise-2); color: var(--irl-orange-hover); }

/* Two-column feature band (home "Iron Raven Standard", about approach/standard) */
.irl-feature { padding-top: clamp(56px, 8vw, 88px); padding-bottom: clamp(56px, 8vw, 88px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: clamp(32px, 5vw, 64px); align-items: center; }
.irl-feature--top { align-items: start; }
.irl-feature--wide { grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); }
.irl-feature__copy { display: flex; flex-direction: column; gap: 16px; }
.irl-feature__copy--loose { gap: 20px; }
.irl-feature__title { margin: 0; font: 600 clamp(26px, 3.4vw, 38px)/1.15 var(--irl-display); letter-spacing: .01em; color: var(--irl-fg); text-wrap: balance; }
.irl-feature__title--lg { font-size: clamp(28px, 3.6vw, 40px); }
.irl-feature__copy > p { margin: 0; font: 400 16px/1.65 var(--irl-sans); color: var(--irl-silver); text-wrap: pretty; }
.irl-feature__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 6px; }

.irl-band { border-bottom: 1px solid var(--irl-line); }
.irl-band--black { background: var(--irl-black); border-bottom: 0; }
.irl-band--card { background: var(--irl-card); }

/* Numbered rule list (home standard) */
.irl-rules { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; border-top: 1px solid var(--irl-line); }
.irl-rules li { display: grid; grid-template-columns: 44px 1fr; gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--irl-line); }
.irl-rules__n { font: 600 12px/1.6 var(--irl-mono); color: var(--irl-orange); }
.irl-rules__body { display: flex; flex-direction: column; gap: 4px; }
.irl-rules__body b { font: 600 15px/1.3 var(--irl-sans); color: var(--irl-fg); }
.irl-rules__body span { font: 400 14px/1.55 var(--irl-sans); color: var(--irl-dim); }

/* Numbered card list (about approach) */
.irl-steps-cards { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.irl-steps-cards li { display: grid; grid-template-columns: 48px 1fr; gap: 14px; padding: 20px; background: var(--irl-card); border: 1px solid var(--irl-line); border-radius: var(--irl-radius-box); }
.irl-steps-cards__n { font: 600 13px/1.5 var(--irl-mono); color: var(--irl-orange); }
.irl-steps-cards__body { display: flex; flex-direction: column; gap: 4px; }
.irl-steps-cards__body b { font: 600 16px/1.3 var(--irl-sans); color: var(--irl-fg); }
.irl-steps-cards__body span { font: 400 14px/1.55 var(--irl-sans); color: var(--irl-silver); }

/* "The meaning behind Iron Raven" */
.irl-meaning { padding-top: clamp(56px, 8vw, 88px); padding-bottom: clamp(56px, 8vw, 88px); display: flex; flex-direction: column; gap: 36px; }
.irl-meaning__head { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 28px; }
.irl-meaning__emblem { display: block; width: 88px; height: 88px; }
.irl-meaning--about .irl-meaning__emblem { width: 96px; height: 96px; }
.irl-meaning__titles { flex: 1 1 320px; display: flex; flex-direction: column; gap: 10px; }
.irl-meaning__titles p { margin: 0; font: 400 15.5px/1.6 var(--irl-sans); color: var(--irl-silver); }
.irl-meaning__title { margin: 0; font: 600 clamp(26px, 3.4vw, 36px)/1.15 var(--irl-display); letter-spacing: .01em; color: var(--irl-fg); text-wrap: balance; }
.irl-meaning--about .irl-meaning__title { font-size: clamp(26px, 3.4vw, 38px); }
.irl-meaning__cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 28px; }
.irl-meaning__col { padding-top: 24px; border-top: 2px solid var(--irl-fg); display: flex; flex-direction: column; gap: 10px; }
.irl-meaning__col--accent { border-top-color: var(--irl-orange); }
.irl-meaning__word { font: 700 22px/1 var(--irl-display); letter-spacing: .06em; color: var(--irl-fg); }
.irl-meaning__col--accent .irl-meaning__word { color: var(--irl-orange); }
.irl-meaning__col p { margin: 0; font: 400 15px/1.6 var(--irl-sans); color: var(--irl-silver); }
.irl-meaning--about .irl-meaning__cols { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 16px; }
.irl-meaning--about .irl-meaning__col { padding: 28px; background: var(--irl-card); border: 1px solid var(--irl-line); border-top: 2px solid var(--irl-fg); border-radius: var(--irl-radius-box); gap: 12px; }
.irl-meaning--about .irl-meaning__word { font-size: 26px; letter-spacing: .08em; }
.irl-meaning--about .irl-meaning__col p { font-size: 15.5px; }

/* About mission */
.irl-mission { max-width: 880px; margin: 0 auto; padding: clamp(64px, 9vw, 104px) 20px; display: flex; flex-direction: column; align-items: center; gap: 18px; text-align: center; }
.irl-mission__quote { margin: 0; font: 600 clamp(22px, 2.8vw, 32px)/1.35 var(--irl-display); letter-spacing: .01em; color: var(--irl-fg); text-wrap: balance; }
.irl-mission__text { margin: 0; max-width: 620px; font: 400 16px/1.65 var(--irl-sans); color: var(--irl-silver); text-wrap: pretty; }
.irl-mission .irl-feature__actions { justify-content: center; margin-top: 8px; }
.irl-mission__fine { margin: 12px 0 0; font: 400 12.5px/1.6 var(--irl-mono); color: var(--irl-dim); text-wrap: pretty; }

/* Cards, filters, product */
.irl-card { background: var(--irl-card); border-color: var(--irl-line); }
.irl-card__image { background: var(--irl-card); border-bottom-color: var(--irl-line); }
.irl-card__title a:hover { color: var(--irl-orange); }
.irl-filter__opt input { accent-color: var(--irl-fg); }
.irl-product-img--placeholder {
	background: repeating-linear-gradient(135deg, transparent 0 10px, rgba(255,255,255,.025) 10px 20px), var(--irl-card);
}
.irl-product-img--placeholder img { width: 44%; height: auto; opacity: .55; }
.irl-pdp__image { background: var(--irl-card); }
.irl-ruo-box { background: var(--irl-card); border-color: var(--irl-line-2); }
.irl-specs { border-top-color: var(--irl-fg); }
.irl-qty__btn:hover { background: var(--irl-raise); }

/* Inputs */
.irl-input,
.irl-shop__sort select { background: var(--irl-black); border-color: var(--irl-line-2); color: var(--irl-fg); }
.irl-shop__sort select,
.irl-coa__compound { background: var(--irl-card); }
.irl-coa__q { background: var(--irl-card); font-family: var(--irl-mono); }
.irl-note { background: var(--irl-card); border-color: var(--irl-line-2); color: var(--irl-fg); }

.irl-coa__table thead tr { background: var(--irl-card); }
.irl-coa__table tbody tr:hover { background: var(--irl-card); }

/* Cart / Checkout blocks */
.irl-wc-page .wc-block-components-button:not(.is-link),
.irl-wc-page .wc-block-cart__submit-button,
.irl-wc-page .wc-block-components-checkout-place-order-button {
	background: var(--irl-orange) !important;
	border-color: var(--irl-orange) !important;
	color: var(--irl-fg) !important;
}
.irl-wc-page .wc-block-components-button:not(.is-link):hover { background: var(--irl-orange-hover) !important; border-color: var(--irl-orange-hover) !important; }
.irl-wc-page .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button { background: transparent !important; border: 0 !important; color: var(--irl-fg) !important; min-height: 0; }
.irl-wc-page .wc-block-components-quantity-selector input { background: transparent; }
.irl-wc-page .wc-block-components-text-input input,
.irl-wc-page .wc-block-components-combobox .wc-block-components-combobox-control input,
.irl-wc-page .wc-blocks-components-select .wc-blocks-components-select__select,
.irl-wc-page .wc-block-components-textarea { background: var(--irl-black) !important; border-color: var(--irl-line-2) !important; color: var(--irl-fg) !important; }
.irl-wc-page .wc-block-components-text-input label,
.irl-wc-page .wc-blocks-components-select__label,
.irl-wc-page .wc-block-components-combobox label { color: var(--irl-dim) !important; }
.irl-wc-page .wc-blocks-components-select__expand { fill: var(--irl-fg); }
.irl-wc-page .wc-block-components-form .wc-block-components-text-input input:-webkit-autofill { -webkit-text-fill-color: var(--irl-fg); -webkit-box-shadow: 0 0 0 40px var(--irl-black) inset; }
.irl-wc-page .wp-block-woocommerce-checkout-order-summary-block,
.irl-wc-page .wp-block-woocommerce-cart-order-summary-block { background: var(--irl-card); border-color: var(--irl-line) !important; }
.irl-wc-page .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option-checked,
.irl-wc-page .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option--checked-option-highlighted {
	background: var(--irl-black); color: var(--irl-fg); box-shadow: inset 0 0 0 1px var(--irl-fg);
}
.irl-wc-page .wc-block-components-radio-control__input { background: var(--irl-black); border-color: var(--irl-line-2); }
.irl-wc-page .wc-block-components-radio-control__input:checked,
.irl-wc-page .wc-block-components-radio-control__option-checked .wc-block-components-radio-control__input:checked { border-color: var(--irl-orange-hover); }
.irl-wc-page .wc-block-components-radio-control__input:checked::before,
.irl-wc-page .wc-block-components-radio-control__option-checked .wc-block-components-radio-control__input:checked::before { background: var(--irl-orange-hover); }
.irl-wc-page .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option { background: var(--irl-card); border-color: var(--irl-line-2) !important; }
.irl-wc-page .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option--checked-option-highlighted { border-color: var(--irl-fg) !important; background: var(--irl-black); }
.irl-wc-page .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] { background: var(--irl-black); border-color: var(--irl-line-2); }
.irl-wc-page .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--irl-fg); border-color: var(--irl-fg); }
.irl-wc-page .wp-block-woocommerce-checkout-additional-information-block .wc-block-components-address-form,
.irl-wc-page .wp-block-woocommerce-checkout-additional-information-block .wc-block-checkout__additional-fields { background: var(--irl-card); border-color: var(--irl-line-2); }
.irl-wc-page .wc-block-components-panel__button,
.irl-wc-page .wc-block-components-totals-coupon__button,
.irl-wc-page .wc-block-components-order-summary-item__description,
.irl-wc-page .wc-block-components-order-summary-item__individual-prices { color: var(--irl-silver); }
/* Quantity bubble on the summary thumbnail: orange with a white count
   (WooCommerce's default white bubble lost its number on dark). */
.irl-wc-page .wc-block-components-order-summary-item__quantity {
	min-width: 22px; height: 22px; padding: 0 6px;
	background: var(--irl-orange) !important; border: 2px solid var(--irl-card) !important; box-shadow: none !important;
	color: var(--irl-fg) !important; font: 600 12px/18px var(--irl-mono);
}
.irl-wc-page .wc-block-components-order-summary-item__quantity span { color: var(--irl-fg) !important; }
/* The short description ("Research chemical · 10 vials per kit …") repeats
   the "Kit of 10 vials" line — the summary shows name, price and unit only. */
.irl-wc-page .wc-block-components-order-summary-item .wc-block-components-product-metadata__description,
.irl-wc-page .wc-block-cart-item__product .wc-block-components-product-metadata__description { display: none; }
.irl-wc-page .wc-block-components-order-summary-item__image img { border: 1px solid var(--irl-line); border-radius: var(--irl-radius); }
.irl-wc-page .wc-block-components-panel__button-icon,
.irl-wc-page .wc-block-components-chip__remove-icon { fill: var(--irl-fg); }
.irl-wc-page .wc-block-components-address-card { border-color: var(--irl-line-2); background: var(--irl-card); }
.irl-wc-page .wc-block-components-address-card__edit { color: var(--irl-orange); }

/* Payment-plugin panels on dark */
.irl-wc-page .irlpay-manual-payment-description,
.irl-wc-page .irlpay-payment-content-box { background: transparent; color: var(--irl-silver); border-radius: 0; }
.irl-wc-page .irlpay-step__title,
.irl-wc-page .irlpay-field label,
.irl-wc-page .irlpay-field-label,
.irl-wc-page .irlpay-proof-section__title { color: var(--irl-fg); }
.irl-wc-page .irlpay-field input { background: var(--irl-black); border-color: var(--irl-line-2); color: var(--irl-fg); }
.irl-wc-page .irlpay-dropzone { background: var(--irl-black); border-color: var(--irl-line-2); color: var(--irl-silver); }
.irl-wc-page .irlpay-dropzone:hover { border-color: var(--irl-fg); }
.irl-wc-page .irlpay-dropzone--done { background: rgba(22, 163, 74, .12); border-color: #16A34A; color: var(--irl-fg); }
.irl-wc-page .irlpay-manual-payment-description code,
.irl-wc-page .irlpay-payment-content-box code { background: var(--irl-black); color: var(--irl-fg); border: 1px solid var(--irl-line-2); border-radius: 2px; padding: 1px 5px; }

/* Order Protection pop-ups */
.irl-op-card:hover { border-color: var(--irl-fg); }
.irl-op-card.is-active { border-color: var(--irl-orange); background: rgba(242, 84, 15, .08); }
.irl-op-card__box { background: var(--irl-black); border-color: var(--irl-line-2); }
.irl-op-card__tag { background: var(--irl-raise); color: var(--irl-fg); }
.irl-op-modal { background: var(--irl-card); box-shadow: 0 24px 60px rgba(0, 0, 0, .5); }
.irl-op-modal__head, .irl-op-policy__head { background: var(--irl-black); }
.irl-op-cover { background: var(--irl-raise); border-color: var(--irl-line-3); }
.irl-op-price { border-color: var(--irl-line-3); }
.irl-op-price__tag { border-color: var(--irl-orange); color: var(--irl-fg); }
.irl-op-btn--add { background: var(--irl-orange); color: var(--irl-fg); }
.irl-op-btn--add:hover { background: var(--irl-orange-hover); }
.irl-op-btn--no { background: var(--irl-card); color: var(--irl-fg); border-color: var(--irl-line-2); }
.irl-op-btn--no:hover { border-color: var(--irl-fg); }
.irl-op-link { color: var(--irl-orange); }
.irl-op-link:hover { color: var(--irl-orange-hover); }
.irl-op-policy__foot { background: var(--irl-card); }
.irl-op-policy__body h3 span:first-child { color: var(--irl-orange); }

/* Thank-you */
.irl-overview { background: var(--irl-card); color: var(--irl-fg); }
.irl-summary--strong { border-top-color: var(--irl-fg); }
.irl-acks__tick { background: var(--irl-black); color: var(--irl-fg); }
.irl-box--surface { background: var(--irl-card); }

/* Age gate */
.irl-gate { background: rgba(11, 11, 12, .82); }
.irl-gate__panel { background: var(--irl-card); }
.irl-gate__brand { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; }
.irl-gate__emblem { display: block; width: 72px; height: 72px; }
.irl-gate__name { font: 700 18px/1 var(--irl-display); letter-spacing: .08em; color: var(--irl-fg); }
.irl-gate__tagline { font: 500 12px/1 var(--irl-mono); letter-spacing: .14em; color: var(--irl-orange); }
.irl-gate__copy .irl-eyebrow { color: var(--irl-orange); }
.irl-gate__copy p { color: var(--irl-silver); }
.irl-gate__note, .irl-gate__note a { color: var(--irl-dim); }
.irl-gate-exit { background: var(--irl-black); }
.irl-gate-exit .irl-btn { background: transparent; border-color: var(--irl-line-3); color: var(--irl-fg); }

/* RUO band + footer */
.irl-ruo-band { background: var(--irl-raise); border-top-color: var(--irl-line-2); }
.irl-ruo-band__label { color: var(--irl-fg); }
.irl-ruo-band p { color: var(--irl-silver); }
.irl-footer { background: var(--irl-black); color: var(--irl-silver); }
.irl-footer__logo { display: block; width: 100%; max-width: 240px; height: auto; }
.irl-footer__motto { font: 600 12px/1.4 var(--irl-mono); letter-spacing: .2em; color: var(--irl-orange); }
.irl-footer__tagline { max-width: 300px; margin: 0; font: 400 13.5px/1.6 var(--irl-sans); color: var(--irl-silver); text-wrap: pretty; }
.irl-footer__contact { display: flex; flex-direction: column; gap: 6px; margin-top: 2px; }
.irl-footer__email { color: var(--irl-fg); text-decoration: underline; text-decoration-color: var(--irl-orange); }
.irl-footer__email:hover { color: var(--irl-orange-hover); }
.irl-footer__links a { color: var(--irl-silver); }
.irl-footer__links a:hover { color: var(--irl-fg); }
.irl-footer__disclaimer { color: var(--irl-silver); border-color: var(--irl-line); }
.irl-footer__legal { color: var(--irl-dim); }

/* My Account on dark */
.woocommerce-account form .button,
.woocommerce-account .woocommerce-Button,
.woocommerce-account .woocommerce-MyAccount-content .button { background: var(--irl-orange); border-color: var(--irl-orange); color: var(--irl-fg); }
.woocommerce-account form .button:hover,
.woocommerce-account .woocommerce-MyAccount-content .button:hover { background: var(--irl-orange-hover); border-color: var(--irl-orange-hover); }
.woocommerce-account form .input-text,
.woocommerce-account form input[type="text"],
.woocommerce-account form input[type="email"],
.woocommerce-account form input[type="password"] { background: var(--irl-black); }

/* Order status lookup (carried over from the previous site) */
.irl-status { padding-top: 32px; padding-bottom: 64px; display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; }
.irl-status__form { flex: 1 1 320px; max-width: 440px; }
.irl-status__result { flex: 2 1 420px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.irl-status__steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; border-top: 1px solid var(--irl-fg); }
.irl-status__steps li { display: grid; grid-template-columns: 28px 1fr; gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--irl-line); font: 400 14px/1.5 var(--irl-sans); color: var(--irl-dim); }
.irl-status__steps li.is-done { color: var(--irl-fg); }
.irl-status__steps li.is-done .irl-next__n { color: var(--irl-orange); }

@media (max-width: 600px) {
	.irl-hero { min-height: 0; }
	.irl-banner__title { font-size: 30px; }
	.irl-banner--about .irl-banner__title { font-size: 34px; }
	.irl-stats__cell { padding: 22px 16px; }
}

/* --------------------------------------------------------------------------
   Google Places address suggestions (checkout autocomplete) — Google
   appends .pac-container to <body>; restyled to the dark theme.
   ------------------------------------------------------------------------ */

.pac-container {
	margin-top: 4px;
	background: var(--irl-card);
	border: 1px solid var(--irl-line-2);
	border-radius: var(--irl-radius-box);
	box-shadow: 0 16px 40px rgba(0, 0, 0, .55);
	font-family: var(--irl-sans);
	overflow: hidden;
	z-index: 100000;
}
.pac-container::after { filter: invert(1) brightness(.75); opacity: .7; } /* "powered by Google" logo, readable on dark */
.pac-item {
	padding: 10px 14px;
	border-top: 1px solid var(--irl-line);
	color: var(--irl-dim);
	font: 400 12.5px/1.4 var(--irl-sans);
	cursor: pointer;
}
.pac-item:first-child { border-top: 0; }
.pac-item:hover,
.pac-item-selected,
.pac-item-selected:hover { background: var(--irl-raise); }
.pac-item-query { padding-right: 6px; color: var(--irl-fg); font: 500 14px/1.4 var(--irl-sans); }
.pac-matched { color: var(--irl-orange); font-weight: 600; }
.pac-icon { filter: invert(1) brightness(.7); opacity: .6; }
.pac-item-selected .pac-icon,
.pac-item:hover .pac-icon { filter: none; opacity: 1; background-image: none; }
.pac-item-selected .pac-icon::before,
.pac-item:hover .pac-icon::before { content: ""; display: block; width: 8px; height: 8px; margin: 4px; border-radius: 50%; background: var(--irl-orange); }

/* ==========================================================================
   Package 10-19 — half/full kits, page banner standard, COA viewer,
   black text on orange, 12px minimum text. Values from the updated
   design-source/"Iron Raven Storefront.dc.html" and the setup guide § 6.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Orange actions use black text (#0B0B0C) for readability
   ------------------------------------------------------------------------ */

.irl-btn--primary,
.irl-btn--white,
.irl-btn--primary:hover,
.irl-btn--white:hover,
.irl-op-btn--add,
.irl-op-btn--add:hover,
.irl-op-card.is-active .irl-op-card__tag,
.woocommerce-account form .button,
.woocommerce-account .woocommerce-Button,
.woocommerce-account .woocommerce-MyAccount-content .button { color: var(--irl-black); }
.irl-btn--primary,
.irl-btn--white { font-weight: 600; }
.irl-wc-page .wc-block-components-button:not(.is-link),
.irl-wc-page .wc-block-cart__submit-button,
.irl-wc-page .wc-block-components-checkout-place-order-button,
.irl-wc-page .wc-block-components-button:not(.is-link) .wc-block-components-button__text { color: var(--irl-black) !important; font-weight: 600 !important; }
.irl-wc-page .wc-block-components-order-summary-item__quantity,
.irl-wc-page .wc-block-components-order-summary-item__quantity span { color: var(--irl-black) !important; }

.irl-announce { color: var(--irl-black); font: 600 12.5px/1.4 var(--irl-mono); }
.irl-announce__dot { color: var(--irl-black); }
.irl-btn--primary.irl-btn--disabled,
.irl-btn--primary.irl-btn--disabled:hover { background: var(--irl-raise); border-color: var(--irl-line); color: var(--irl-dim); cursor: not-allowed; }

/* --------------------------------------------------------------------------
   Page banner standard (every page except Home, Cart, Checkout):
   340px → 36vw → 520px, content bottom-left, white Cinzel H1 with shadow
   ------------------------------------------------------------------------ */

.irl-banner {
	min-height: clamp(340px, 36vw, 520px);
	display: flex;
	align-items: flex-end;
	background-color: var(--irl-black);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: right center;
	background-image:
		linear-gradient(90deg, rgba(11,11,12,.92) 0%, rgba(11,11,12,.7) 34%, rgba(11,11,12,.15) 62%, rgba(11,11,12,0) 100%),
		linear-gradient(0deg, rgba(11,11,12,.92) 0%, rgba(11,11,12,.35) 40%, rgba(11,11,12,0) 70%),
		linear-gradient(rgba(11,11,12,.38), rgba(11,11,12,.38)),
		var(--irl-bg-image, none);
}
.irl-banner .irl-banner__inner,
.irl-banner--sm .irl-banner__inner,
.irl-banner--lg .irl-banner__inner {
	width: 100%;
	padding-top: clamp(72px, 10vw, 140px);
	padding-bottom: clamp(32px, 5vw, 52px);
	gap: 12px;
}
.irl-banner .irl-banner__eyebrow,
.irl-banner .irl-eyebrow {
	font: 600 12.5px/1 var(--irl-mono);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--irl-orange-soft);
	text-shadow: 0 1px 10px rgba(0, 0, 0, .8);
}
.irl-banner .irl-banner__title {
	max-width: 760px;
	color: #FFFFFF;
	font: 600 clamp(32px, 4.6vw, 52px)/1.05 var(--irl-display);
	letter-spacing: .01em;
	text-wrap: balance;
	text-shadow: 0 2px 20px rgba(0, 0, 0, .75);
}
.irl-banner .irl-banner__text {
	max-width: 640px;
	font: 400 clamp(15px, 1.5vw, 17px)/1.55 var(--irl-sans);
	color: #E4E4E7;
	text-wrap: pretty;
	text-shadow: 0 1px 12px rgba(0, 0, 0, .8);
}
.irl-banner .irl-banner__text b { color: var(--irl-fg); font-weight: 500; }
.irl-banner .irl-banner__meta { font: 400 clamp(14px, 1.4vw, 16px)/1.5 var(--irl-mono); color: #E4E4E7; text-shadow: 0 1px 12px rgba(0, 0, 0, .8); }
.irl-banner .irl-crumbs { font-size: 12.5px; line-height: 1.4; color: #E4E4E7; text-shadow: 0 1px 8px rgba(0, 0, 0, .7); }
.irl-banner .irl-crumbs a { color: #E4E4E7; }
.irl-banner .irl-crumbs a:hover { color: #FFFFFF; }

/* Shop + Product: shop banner, centred, upper third */
.irl-banner--shop,
.irl-banner--product {
	background-position: center 30%;
	background-image:
		linear-gradient(90deg, rgba(11,11,12,.92) 0%, rgba(11,11,12,.72) 32%, rgba(11,11,12,.15) 60%, rgba(11,11,12,0) 100%),
		linear-gradient(0deg, rgba(11,11,12,.92) 0%, rgba(11,11,12,.35) 40%, rgba(11,11,12,0) 70%),
		var(--irl-bg-image, none);
}
/* COA Library */
.irl-banner--coa {
	background-position: center 35%;
	background-image:
		linear-gradient(90deg, rgba(11,11,12,.92) 0%, rgba(11,11,12,.7) 34%, rgba(11,11,12,.15) 62%, rgba(11,11,12,0) 100%),
		linear-gradient(0deg, rgba(11,11,12,.9) 0%, rgba(11,11,12,.3) 40%, rgba(11,11,12,0) 70%),
		var(--irl-bg-image, none);
}
/* FAQ + Contact: bottom fade only; the raven sits right of centre */
.irl-banner--faq,
.irl-banner--contact {
	background-position: 62% center;
	background-image:
		linear-gradient(0deg, rgba(11,11,12,.96) 0%, rgba(11,11,12,.78) 38%, rgba(11,11,12,0) 72%),
		var(--irl-bg-image, none);
}
/* About: the home banner, darker on the left like the home hero */
.irl-banner--about {
	background-position: right center;
	background-image:
		linear-gradient(90deg, rgba(11,11,12,.97) 0%, rgba(11,11,12,.93) 38%, rgba(11,11,12,.55) 62%, rgba(11,11,12,.08) 85%),
		linear-gradient(0deg, rgba(11,11,12,.85) 0%, rgba(11,11,12,0) 45%),
		var(--irl-bg-image, none);
}
.irl-banner--about .irl-banner__inner { padding-top: clamp(72px, 10vw, 140px); padding-bottom: clamp(32px, 5vw, 52px); gap: 12px; }
.irl-banner--about .irl-banner__title { font-size: clamp(32px, 4.6vw, 52px); line-height: 1.05; }
.irl-banner--about .irl-banner__text { font-size: clamp(15px, 1.5vw, 17px); line-height: 1.55; }

@media (max-width: 760px) {
	.irl-banner--faq { background-position: 18% center; }
	.irl-banner--contact { background-position: 12% center; }
}

.irl-thankyou__banner .irl-banner__title { font-size: clamp(32px, 4.6vw, 52px); }
.irl-thankyou__overview { padding-top: 24px; }
.irl-thankyou__overview .irl-overview { margin: 0; }
.irl-thankyou__body { padding-top: 24px; }

/* --------------------------------------------------------------------------
   Half kit / Full kit picker
   ------------------------------------------------------------------------ */

.irl-kit-size { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 6px; }
.irl-kit-size__opt {
	min-height: 44px;
	padding: 6px 4px;
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
	background: var(--irl-black);
	border: 1px solid var(--irl-line-2);
	border-radius: var(--irl-radius);
	color: var(--irl-fg);
	font: 600 13px/1 var(--irl-sans);
	cursor: pointer;
	transition: border-color .15s, background-color .15s;
}
.irl-kit-size__opt b { font-weight: 600; }
.irl-kit-size__opt > span { font: 400 12px/1 var(--irl-mono); color: var(--irl-dim); }
.irl-kit-size__opt:hover { border-color: var(--irl-silver); }
.irl-kit-size__opt[aria-checked="true"] { background: rgba(242, 84, 15, .14); border-color: var(--irl-orange); }
.irl-kit-size__opt[aria-checked="true"] > span,
.irl-kit-size__opt[aria-checked="true"] > span span { color: var(--irl-fg); }
.irl-kit-size__opt:focus-visible { outline: 2px solid var(--irl-orange); outline-offset: 2px; }
.irl-kit-size__opt:disabled { opacity: .45; cursor: not-allowed; }

.irl-kit-size--pdp { gap: 10px; }
.irl-kit-size--pdp .irl-kit-size__opt { min-height: 76px; padding: 12px 14px; align-items: flex-start; gap: 6px; text-align: left; font-size: 15px; }
.irl-kit-size--pdp .irl-kit-size__opt > span { display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: 12.5px; line-height: 1.2; }
.irl-pdp__form .irl-pdp__qty-label + .irl-pdp__buy { margin-top: 0; }
.irl-kit-size--pdp + input + input + input + .irl-pdp__qty-label,
.irl-kit-size--pdp ~ label.irl-pdp__qty-label { margin-top: 6px; }

.irl-card__blend { font: 400 12px/1.4 var(--irl-mono); color: var(--irl-dim); }
.irl-badge { white-space: nowrap; }

/* --------------------------------------------------------------------------
   "You may also like"
   ------------------------------------------------------------------------ */

.irl-related { background: var(--irl-black); border-top: 1px solid var(--irl-line); }
.irl-related__inner { padding-top: clamp(40px, 6vw, 64px); padding-bottom: clamp(48px, 7vw, 72px); display: flex; flex-direction: column; gap: 24px; }
.irl-related .irl-section__head { margin-bottom: 0; }
.irl-related .irl-h2 { font-size: clamp(24px, 3vw, 32px); }
.irl-eyebrow--soft { color: var(--irl-orange-soft); letter-spacing: .18em; }
.irl-related__all { font: 500 14px/1 var(--irl-sans); color: var(--irl-fg); text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--irl-orange); }
.irl-related__all:hover { color: var(--irl-orange-hover); }

/* --------------------------------------------------------------------------
   COA trigger buttons + viewer pop-up
   ------------------------------------------------------------------------ */

button.irl-coa-trigger { font-family: inherit; cursor: pointer; }
button.irl-card__coa,
button.irl-link-button {
	background: none; border: 0; padding: 4px 0;
	color: var(--irl-orange);
	text-decoration: underline; text-underline-offset: 3px;
}
button.irl-card__coa { width: 100%; font: 500 13px/1 var(--irl-sans); }
button.irl-link-button { font: 500 14px/1 var(--irl-sans); text-decoration: none; }
button.irl-card__coa:hover,
button.irl-link-button:hover { color: var(--irl-orange-hover); }

html.irl-coa-open { overflow: hidden; }
.irl-coa-modal {
	position: fixed; inset: 0; z-index: 9990;
	background: rgba(11, 11, 12, .72);
	display: flex; align-items: center; justify-content: center;
	padding: 16px;
}
.irl-coa-modal[hidden] { display: none; }
.irl-coa-modal__box {
	width: 100%; max-width: 880px; height: min(860px, calc(100vh - 32px));
	display: flex; flex-direction: column;
	background: var(--irl-card); border: 1px solid var(--irl-line); border-radius: 6px;
	box-shadow: 0 24px 60px rgba(0, 0, 0, .5); overflow: hidden;
}
.irl-coa-modal__head { flex: none; display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 16px 20px; background: var(--irl-black); border-bottom: 1px solid var(--irl-line); }
.irl-coa-modal__titles { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.irl-coa-modal__eyebrow { font: 500 12px/1 var(--irl-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--irl-orange-soft); }
.irl-coa-modal__title { margin: 0; font: 600 20px/1.2 var(--irl-display); color: var(--irl-fg); }
.irl-coa-modal__meta { font: 400 12.5px/1.4 var(--irl-mono); color: var(--irl-silver); }
.irl-coa-modal__x { flex: none; width: 40px; height: 40px; background: none; border: 1px solid var(--irl-line-2); border-radius: var(--irl-radius); color: var(--irl-fg); font: 400 20px/1 var(--irl-sans); cursor: pointer; }
.irl-coa-modal__x:hover { border-color: var(--irl-fg); }
.irl-coa-modal__viewer { flex: 1 1 auto; min-height: 0; overflow: auto; background: var(--irl-line); padding: clamp(12px, 3vw, 28px); }
.irl-coa-modal__viewer iframe { display: block; width: 100%; height: 100%; min-height: 520px; border: 0; background: #FFFFFF; }
.irl-coa-modal__viewer iframe[hidden] { display: none; }
.irl-coa-modal__empty { max-width: 520px; margin: 48px auto; padding: 28px; background: var(--irl-card); border: 1px dashed var(--irl-line-2); border-radius: var(--irl-radius-box); display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.irl-coa-modal__empty[hidden] { display: none; }
.irl-coa-modal__empty strong { font: 600 16px/1.3 var(--irl-sans); color: var(--irl-fg); }
.irl-coa-modal__empty p { margin: 0; font: 400 14px/1.6 var(--irl-sans); color: var(--irl-silver); }
.irl-coa-modal__foot { flex: none; display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding: 14px 20px; border-top: 1px solid var(--irl-line); }
.irl-coa-modal__note { display: flex; flex-wrap: wrap; gap: 4px 14px; font: 400 12px/1.4 var(--irl-sans); color: var(--irl-dim); }
.irl-coa-modal__note a { color: var(--irl-silver); }
.irl-coa-modal__note a[hidden] { display: none; }
.irl-coa-modal__actions { display: flex; gap: 10px; flex-wrap: wrap; }
.irl-coa-modal__actions .irl-btn[hidden] { display: none; }

@media (max-width: 600px) {
	.irl-coa-modal { padding: 0; }
	.irl-coa-modal__box { height: 100vh; height: 100dvh; max-width: none; border-radius: 0; border: 0; }
	.irl-coa-modal__viewer iframe { min-height: 0; }
	.irl-coa-modal__actions { width: 100%; }
	.irl-coa-modal__actions .irl-btn { flex: 1 1 0; }
}

/* --------------------------------------------------------------------------
   About — "The meaning behind Iron Raven" opener over the raven image
   ------------------------------------------------------------------------ */

.irl-meaning-hero { position: relative; overflow: hidden; background: var(--irl-black); border-bottom: 1px solid var(--irl-line); }
.irl-meaning-hero__bg {
	position: absolute; top: 0; left: 0; right: 0;
	height: clamp(600px, 62vw, 920px);
	background-image:
		radial-gradient(ellipse 70% 60% at 50% 40%, rgba(11,11,12,0) 0%, rgba(11,11,12,.3) 60%, rgba(11,11,12,.8) 100%),
		linear-gradient(180deg, rgba(11,11,12,.5) 0%, rgba(11,11,12,0) 22%, rgba(11,11,12,.2) 42%, rgba(11,11,12,.74) 58%, rgba(11,11,12,.94) 76%, #0B0B0C 100%),
		var(--irl-bg-image, none);
	background-size: cover, cover, cover;
	background-position: center, center, center top;
	background-repeat: no-repeat;
}
.irl-meaning-hero__inner {
	position: relative;
	padding-top: clamp(300px, 36vw, 500px);
	padding-bottom: clamp(64px, 9vw, 104px);
	display: flex; flex-direction: column; align-items: center;
	gap: clamp(36px, 5vw, 56px);
}
.irl-meaning-hero__copy { max-width: 980px; display: flex; flex-direction: column; align-items: center; gap: 22px; text-align: center; }
.irl-meaning-hero__label { margin: 0; width: 100%; display: flex; align-items: center; justify-content: center; gap: 14px; }
.irl-meaning-hero__rule { flex: 0 1 96px; min-width: 0; height: 2px; background: linear-gradient(90deg, rgba(242,84,15,0), var(--irl-orange)); }
.irl-meaning-hero__label .irl-meaning-hero__rule:last-child { background: linear-gradient(90deg, var(--irl-orange), rgba(242,84,15,0)); }
.irl-meaning-hero__pill {
	flex: 0 0 auto; max-width: 100%;
	padding: 12px clamp(16px, 3vw, 26px);
	background: rgba(11, 11, 12, .82);
	border: 1px solid rgba(242, 84, 15, .6);
	border-radius: 2px;
	box-shadow: 0 8px 28px rgba(0,0,0,.6), 0 0 24px rgba(242,84,15,.18);
	font: 700 clamp(14px, 1.7vw, 19px)/1.2 var(--irl-display);
	letter-spacing: .16em; text-transform: uppercase; color: #FFFFFF;
	text-wrap: balance;
}
.irl-meaning-hero__lead { margin: 0; font: 600 clamp(25px, 3.5vw, 42px)/1.25 var(--irl-display); letter-spacing: .01em; color: var(--irl-fg); text-wrap: balance; text-shadow: 0 2px 24px rgba(0,0,0,.85); }
.irl-meaning-hero__text { margin: 0; max-width: 680px; font: 400 clamp(16px, 1.6vw, 18.5px)/1.65 var(--irl-sans); color: #D4D4D8; text-wrap: pretty; }
.irl-meaning-hero__cards { width: 100%; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 20px clamp(20px, 3vw, 36px); }
.irl-meaning-card {
	flex: 1 1 280px; max-width: 420px;
	padding: clamp(24px, 3vw, 34px);
	background: rgba(11, 11, 12, .6);
	-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
	border: 1px solid rgba(255, 255, 255, .12); border-radius: 4px;
	display: flex; flex-direction: column; align-items: flex-start; gap: 14px;
	box-shadow: 0 18px 40px rgba(0, 0, 0, .45);
}
.irl-meaning-card__word { font: 700 clamp(28px, 3vw, 36px)/1 var(--irl-display); letter-spacing: .14em; color: var(--irl-fg); text-shadow: 0 0 24px rgba(242,84,15,.35); }
.irl-meaning-card__rule { width: 44px; height: 2px; background: var(--irl-orange); }
.irl-meaning-card p { margin: 0; font: 400 15.5px/1.6 var(--irl-sans); color: #E4E4E7; text-wrap: pretty; }
.irl-meaning-hero__emblem { flex: none; display: block; width: clamp(80px, 9vw, 120px); height: auto; filter: drop-shadow(0 0 28px rgba(242,84,15,.45)); }
@media (max-width: 760px) {
	.irl-meaning-hero__emblem { order: -1; }
}

/* --------------------------------------------------------------------------
   Banner images on phones — sharp, subject-framed, readable.
   Each banner reads one variable, --irl-bg-image. On phones it switches to
   the dedicated copy in assets/images/mobile/ (cropped to the phone shape and
   enlarged once with sharpening, so the browser no longer stretches a thin
   slice of the wide original 1.5–2.5× — the cause of the blur). Text spans
   the full width on a phone, so the fade runs bottom-up instead of
   left-to-right.
   ------------------------------------------------------------------------ */

.irl-banner { --irl-bg-image: var(--irl-banner-image); }
.irl-hero { --irl-bg-image: var(--irl-hero-image); }
.irl-meaning-hero__bg { --irl-bg-image: var(--irl-meaning-image); }

@media (max-width: 760px) {
	.irl-banner { --irl-bg-image: var(--irl-banner-image-m, var(--irl-banner-image)); }
	.irl-hero { --irl-bg-image: var(--irl-hero-image-m, var(--irl-hero-image)); }
	.irl-meaning-hero__bg { --irl-bg-image: var(--irl-meaning-image-m, var(--irl-meaning-image)); }

	.irl-banner.page-banner {
		background-position: center center;
		background-image:
			linear-gradient(0deg, rgba(11,11,12,.96) 0%, rgba(11,11,12,.82) 38%, rgba(11,11,12,.4) 72%, rgba(11,11,12,.18) 100%),
			var(--irl-bg-image, none);
	}
	.irl-hero.home-hero {
		background-position: center center;
		background-image:
			linear-gradient(0deg, rgba(11,11,12,.97) 0%, rgba(11,11,12,.86) 48%, rgba(11,11,12,.55) 100%),
			var(--irl-bg-image, none);
	}
	.irl-meaning-hero__bg { background-position: center, center, center top; }
}

/* Policy pop-up (checkout checkboxes link policies: assets/js/checkout-consent-links.js) */
html.irl-policy-open { overflow: hidden; }
.irl-policy-pop {
	position: fixed; inset: 0; z-index: 9990;
	background: rgba(11, 11, 12, .72);
	display: flex; align-items: center; justify-content: center;
	padding: 16px;
}
.irl-policy-pop[hidden] { display: none; }
.irl-policy-pop__box {
	width: 100%; max-width: 720px; max-height: min(820px, calc(100vh - 32px));
	display: flex; flex-direction: column;
	background: var(--irl-card); border: 1px solid var(--irl-line); border-radius: 6px;
	box-shadow: 0 24px 60px rgba(0, 0, 0, .5); overflow: hidden;
}
.irl-policy-pop__head { flex: none; display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 16px 20px; background: var(--irl-black); border-bottom: 1px solid var(--irl-line); }
.irl-policy-pop__titles { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.irl-policy-pop__eyebrow { font: 500 12px/1 var(--irl-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--irl-orange-soft); }
.irl-policy-pop__title { margin: 0; font: 600 20px/1.2 var(--irl-display); color: var(--irl-fg); }
.irl-policy-pop__meta { font: 400 12.5px/1.4 var(--irl-mono); color: var(--irl-silver); }
.irl-policy-pop__x { flex: none; width: 40px; height: 40px; background: none; border: 1px solid var(--irl-line-2); border-radius: var(--irl-radius); color: var(--irl-fg); font: 400 20px/1 var(--irl-sans); cursor: pointer; }
.irl-policy-pop__x:hover { border-color: var(--irl-fg); }
.irl-policy-pop__body { flex: 1 1 auto; min-height: 0; overflow: auto; padding: 18px 20px 22px; font: 400 14.5px/1.65 var(--irl-sans); color: var(--irl-text); }
.irl-policy-pop__body > :first-child { margin-top: 0; }
.irl-policy-pop__body p, .irl-policy-pop__body li { margin: 0 0 10px; }
.irl-policy-pop__body ul, .irl-policy-pop__body ol { margin: 0 0 12px; padding-left: 20px; }
.irl-policy-pop__body h2 { margin: 20px 0 8px; font: 600 16px/1.3 var(--irl-sans); color: var(--irl-fg); }
.irl-policy-pop__body h3 { margin: 16px 0 6px; font: 600 14.5px/1.3 var(--irl-sans); color: var(--irl-fg); }
.irl-policy-pop__body a { color: var(--irl-orange); }
.irl-policy-pop__intro { font-size: 15.5px; color: var(--irl-fg); }
.irl-policy-pop__foot { flex: none; display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding: 14px 20px; border-top: 1px solid var(--irl-line); }
.irl-policy-pop__open { font: 500 13px/1 var(--irl-sans); color: var(--irl-silver); }
.irl-policy-pop__open:hover { color: var(--irl-fg); }
.wc-block-components-checkbox__label a.irl-policy-link { color: var(--irl-orange); text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.irl-checkout-foot__notice > :last-child { margin-bottom: 8px; }
.irl-checkout-foot__notice ul, .irl-checkout-foot__notice ol { margin: 0 0 8px; padding-left: 18px; font: 400 12px/1.5 var(--irl-sans); color: var(--irl-muted); }
@media (max-width: 600px) {
	.irl-policy-pop { padding: 0; align-items: stretch; }
	.irl-policy-pop__box { max-width: none; max-height: none; height: 100%; border-radius: 0; border: 0; }
}
