/* ==========================================================================
   Iron Oak Armory — skin for Altitude Pro (Genesis) + WooCommerce
   Loaded after the theme. Everything is scoped to body.ioa-skin.
   ========================================================================== */

:root {
	--ioa-black: #0e0d0c;      /* logo background            */
	--ioa-coal: #171614;       /* dark panels                */
	--ioa-iron: #24221f;       /* cards on dark              */
	--ioa-steel: #74726f;      /* "IRON OAK" letterforms     */
	--ioa-silver: #c9c4bb;     /* light text on dark         */
	--ioa-mist: #a19c93;       /* secondary text on dark     */
	--ioa-bone: #f5f2ec;       /* solid sections, pages      */
	--ioa-paper: #fbf9f5;      /* cards on light             */
	--ioa-ink: #1d1b18;        /* body text on light         */
	--ioa-ink-2: #5d5a54;      /* secondary text on light    */
	--ioa-line: #e2ddd3;       /* hairlines on light         */
	--ioa-line-dark: #34312c;  /* hairlines on dark          */
	--ioa-bronze: #b07a45;     /* "ARMORY" — accent on dark  */
	--ioa-bronze-ink: #8c5a2b; /* accent text on light       */
	--ioa-oak: #4b5a37;        /* oak leaf green             */
	--ioa-oak-light: #8d9a74;
	--ioa-serif: "Cinzel", "Trajan Pro", Georgia, serif;
	--ioa-sans: "Mukta", "Ek Mukta", "Helvetica Neue", Arial, sans-serif;
}

/* ---------- Base ---------------------------------------------------------- */

body.ioa-skin {
	background-color: var(--ioa-bone);
	color: var(--ioa-ink);
	font-family: var(--ioa-sans);
	font-weight: 400;
	font-size: 18px;
	line-height: 1.65;
}

body.ioa-skin h1, body.ioa-skin h2, body.ioa-skin h3,
body.ioa-skin h4, body.ioa-skin h5, body.ioa-skin h6,
body.ioa-skin .entry-title, body.ioa-skin .archive-title,
body.ioa-skin .widget-title {
	font-family: var(--ioa-serif);
	font-weight: 600;
	letter-spacing: 0.04em;
	color: inherit;
}

body.ioa-skin a { color: var(--ioa-bronze-ink); }
body.ioa-skin a:hover, body.ioa-skin a:focus { color: var(--ioa-ink); }

body.ioa-skin :focus-visible { outline: 2px solid var(--ioa-bronze); outline-offset: 2px; }

body.ioa-skin ::selection { background: var(--ioa-bronze); color: var(--ioa-black); }

/* ---------- Buttons ------------------------------------------------------- */

body.ioa-skin button,
body.ioa-skin input[type="button"],
body.ioa-skin input[type="reset"],
body.ioa-skin input[type="submit"],
body.ioa-skin .button,
body.ioa-skin .woocommerce a.button,
body.ioa-skin .woocommerce button.button,
body.ioa-skin .woocommerce input.button,
body.ioa-skin .wc-block-components-button:not(.is-link) {
	background-color: var(--ioa-bronze);
	border: 2px solid var(--ioa-bronze);
	border-radius: 0;
	color: var(--ioa-black);
	font-family: var(--ioa-sans);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.2;
	padding: 15px 28px;
	text-transform: uppercase;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

body.ioa-skin button:hover, body.ioa-skin button:focus,
body.ioa-skin input[type="submit"]:hover, body.ioa-skin input[type="submit"]:focus,
body.ioa-skin .button:hover, body.ioa-skin .button:focus,
body.ioa-skin .woocommerce a.button:hover, body.ioa-skin .woocommerce button.button:hover,
body.ioa-skin .wc-block-components-button:not(.is-link):hover {
	background-color: var(--ioa-black);
	border-color: var(--ioa-black);
	color: var(--ioa-bone);
}

/* Ghost button — Altitude Pro's outlined style on image sections */
body.ioa-skin .image-section .button,
body.ioa-skin .button.ghost {
	background-color: transparent;
	border-color: var(--ioa-silver);
	color: var(--ioa-bone);
}
body.ioa-skin .image-section .button:hover,
body.ioa-skin .image-section .button:focus,
body.ioa-skin .button.ghost:hover {
	background-color: var(--ioa-bronze);
	border-color: var(--ioa-bronze);
	color: var(--ioa-black);
}
body.ioa-skin .image-section .button.primary {
	background-color: var(--ioa-bronze);
	border-color: var(--ioa-bronze);
	color: var(--ioa-black);
}

/* ---------- Header -------------------------------------------------------- */

body.ioa-skin .site-header {
	background-color: transparent;
	transition: background-color .3s ease, padding .3s ease, box-shadow .3s ease;
}

body.ioa-skin .site-header.dark,
body.ioa-skin:not(.front-page) .site-header {
	background-color: rgba(14, 13, 12, 0.97);
	box-shadow: 0 1px 0 var(--ioa-line-dark), 0 2px 0 rgba(176, 122, 69, 0.35);
}

body.ioa-skin.ioa-has-logo .title-area { width: auto; max-width: 340px; padding: 0; }
body.ioa-skin .ioa-logo-link { display: block; line-height: 0; }
body.ioa-skin .ioa-logo { display: block; height: 68px; width: auto; max-width: 100%; transition: height .3s ease; filter: brightness(1.35) contrast(1.05); /* lifts the gunmetal lettering on the dark header */ }
body.ioa-skin .site-header.dark .ioa-logo { height: 52px; }

body.ioa-skin .genesis-nav-menu a {
	color: var(--ioa-silver);
	font-family: var(--ioa-sans);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.14em;
}
body.ioa-skin .genesis-nav-menu a:hover,
body.ioa-skin .genesis-nav-menu a:focus,
body.ioa-skin .genesis-nav-menu .current-menu-item > a {
	color: var(--ioa-bronze);
}
body.ioa-skin .genesis-nav-menu .highlight > a {
	border: 2px solid var(--ioa-bronze);
	color: var(--ioa-bone);
}
body.ioa-skin .genesis-nav-menu .highlight > a:hover {
	background-color: var(--ioa-bronze);
	color: var(--ioa-black);
}
body.ioa-skin .genesis-nav-menu .sub-menu a {
	background-color: var(--ioa-coal);
	border-top: 1px solid var(--ioa-line-dark);
	color: var(--ioa-silver);
	font-size: 14px;
	letter-spacing: 0.08em;
}
body.ioa-skin .genesis-nav-menu .sub-menu a:hover { color: var(--ioa-bronze); }

body.ioa-skin .menu-toggle,
body.ioa-skin .sub-menu-toggle {
	background-color: transparent;
	border: 0;
	color: var(--ioa-silver);
}

/* ---------- Front page: image (parallax) sections — odd numbered ------------ */

body.ioa-skin .front-page-1,
body.ioa-skin .front-page-3,
body.ioa-skin .front-page-5,
body.ioa-skin .front-page-7 { background-color: var(--ioa-black); }
body.ioa-skin .image-section {
	background-color: transparent;
	/* Darken whatever photo is set in the Customizer so text always reads. */
	box-shadow: inset 0 0 0 100vmax rgba(14, 13, 12, 0.5);
	color: var(--ioa-silver);
}

body.ioa-skin .image-section .widget-title,
body.ioa-skin .image-section h1,
body.ioa-skin .image-section h2,
body.ioa-skin .image-section h3 {
	color: var(--ioa-bone);
}

body.ioa-skin .front-page-1 .widget-title,
body.ioa-skin .front-page-1 h1,
body.ioa-skin .front-page-1 h2 {
	font-size: clamp(40px, 6vw, 76px);
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 1.08;
	text-shadow: 0 2px 24px rgba(0, 0, 0, 0.5);
}

body.ioa-skin .image-section p { color: var(--ioa-silver); }

body.ioa-skin .ioa-eyebrow {
	color: var(--ioa-bronze);
	display: block;
	font-family: var(--ioa-sans);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.32em;
	margin-bottom: 14px;
	text-transform: uppercase;
}

/* Bronze rule like the one framing "ARMORY" in the logo */
body.ioa-skin .ioa-rule {
	align-items: center;
	color: var(--ioa-bronze);
	display: flex;
	gap: 18px;
	justify-content: center;
	margin: 0 auto 24px;
	max-width: 420px;
}
body.ioa-skin .ioa-rule::before,
body.ioa-skin .ioa-rule::after {
	background: linear-gradient(90deg, transparent, var(--ioa-bronze));
	content: "";
	flex: 1;
	height: 1px;
}
body.ioa-skin .ioa-rule::after { background: linear-gradient(90deg, var(--ioa-bronze), transparent); }

body.ioa-skin .arrow a {
	border-color: var(--ioa-bronze);
	color: var(--ioa-bronze);
}
body.ioa-skin .arrow a:hover { background-color: var(--ioa-bronze); color: var(--ioa-black); }

/* ---------- Front page: solid sections — even numbered ---------------------- */

body.ioa-skin .solid-section {
	background-color: var(--ioa-bone);
	color: var(--ioa-ink);
}
body.ioa-skin .front-page-4.solid-section,
body.ioa-skin .front-page-4 {
	background-color: var(--ioa-paper);
}
body.ioa-skin .solid-section .widget-title {
	color: var(--ioa-ink);
	font-size: clamp(28px, 3.4vw, 40px);
}
body.ioa-skin .solid-section p { color: var(--ioa-ink-2); }

/* ---------- Shortcode components ------------------------------------------ */

/* Trust bar */
body.ioa-skin .ioa-trust-bar {
	border-bottom: 1px solid var(--ioa-line);
	border-top: 1px solid var(--ioa-line);
	display: flex;
	flex-wrap: wrap;
	gap: 8px 36px;
	justify-content: center;
	list-style: none;
	margin: 36px 0 0;
	padding: 18px 0;
}
body.ioa-skin .ioa-trust-bar li {
	color: var(--ioa-ink-2);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.18em;
	list-style: none;
	margin: 0;
	text-transform: uppercase;
}
body.ioa-skin .ioa-trust-bar li::before {
	color: var(--ioa-bronze);
	content: "◆";
	font-size: 9px;
	margin-right: 10px;
	vertical-align: 2px;
}

/* Category tiles (wraps WooCommerce [product_categories]) */
body.ioa-skin .ioa-cat-tiles ul.products { display: grid; gap: 18px; grid-template-columns: repeat(4, 1fr); margin: 0; }
body.ioa-skin .ioa-cat-tiles ul.products::before,
body.ioa-skin .ioa-cat-tiles ul.products::after { display: none; }
body.ioa-skin .ioa-cat-tiles ul.products li.product-category {
	background: var(--ioa-black);
	float: none;
	margin: 0;
	overflow: hidden;
	position: relative;
	width: auto;
}
body.ioa-skin .ioa-cat-tiles li.product-category img {
	aspect-ratio: 4 / 5;
	display: block;
	margin: 0;
	object-fit: cover;
	opacity: 0.72;
	transition: opacity .3s ease, transform .5s ease;
	width: 100%;
}
body.ioa-skin .ioa-cat-tiles li.product-category a:hover img { opacity: 0.5; transform: scale(1.04); }
body.ioa-skin .ioa-cat-tiles li.product-category .woocommerce-loop-category__title {
	bottom: 0;
	color: var(--ioa-bone);
	font-family: var(--ioa-serif);
	font-size: 20px;
	left: 0;
	letter-spacing: 0.1em;
	margin: 0;
	padding: 22px;
	position: absolute;
	right: 0;
	text-transform: uppercase;
}
body.ioa-skin .ioa-cat-tiles li.product-category .woocommerce-loop-category__title::after {
	background: var(--ioa-bronze);
	content: "";
	display: block;
	height: 2px;
	margin-top: 10px;
	width: 36px;
}
body.ioa-skin .ioa-cat-tiles .count { display: none; }

/* Service cards */
body.ioa-skin .ioa-service-cards { display: grid; gap: 18px; grid-template-columns: repeat(4, 1fr); text-align: left; }
body.ioa-skin .ioa-card {
	background: var(--ioa-paper);
	border: 1px solid var(--ioa-line);
	border-top: 3px solid var(--ioa-oak);
	color: var(--ioa-ink);
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 26px 24px;
	text-decoration: none;
	transition: border-color .2s ease, transform .2s ease;
}
body.ioa-skin .ioa-card:hover { border-top-color: var(--ioa-bronze); color: var(--ioa-ink); transform: translateY(-2px); }
body.ioa-skin .ioa-card-title { font-family: var(--ioa-serif); font-size: 18px; font-weight: 600; letter-spacing: 0.05em; }
body.ioa-skin .ioa-card-text { color: var(--ioa-ink-2); font-size: 16px; line-height: 1.5; }
body.ioa-skin .ioa-card-more { color: var(--ioa-bronze-ink); font-size: 13px; font-weight: 700; letter-spacing: 0.14em; margin-top: auto; padding-top: 8px; text-transform: uppercase; }

body.ioa-skin .ioa-emblem { display: block; height: auto; margin: 0 auto 18px; max-width: 160px; }

/* ---------- Inner pages --------------------------------------------------- */

body.ioa-skin:not(.front-page) .site-inner { background-color: var(--ioa-bone); }
body.ioa-skin .entry,
body.ioa-skin .archive-description,
body.ioa-skin .author-box,
body.ioa-skin .sidebar .widget {
	background-color: var(--ioa-paper);
	border: 1px solid var(--ioa-line);
}
body.ioa-skin .entry-title,
body.ioa-skin .archive-title { color: var(--ioa-ink); }
body.ioa-skin .entry-title a { color: var(--ioa-ink); }
body.ioa-skin .entry-title a:hover { color: var(--ioa-bronze-ink); }

body.ioa-skin input, body.ioa-skin select, body.ioa-skin textarea {
	background-color: #fff;
	border: 1px solid #cfc8bb;
	border-radius: 0;
	color: var(--ioa-ink);
	font-family: var(--ioa-sans);
}
body.ioa-skin input:focus, body.ioa-skin select:focus, body.ioa-skin textarea:focus { border-color: var(--ioa-bronze); }

/* ---------- Footer -------------------------------------------------------- */

body.ioa-skin .footer-widgets,
body.ioa-skin .site-footer {
	background-color: var(--ioa-black);
	color: var(--ioa-mist);
}
body.ioa-skin .footer-widgets { border-top: 2px solid rgba(176, 122, 69, 0.35); }
body.ioa-skin .footer-widgets .widget-title { color: var(--ioa-bone); font-size: 16px; letter-spacing: 0.16em; text-transform: uppercase; }
body.ioa-skin .footer-widgets a, body.ioa-skin .site-footer a { color: var(--ioa-silver); }
body.ioa-skin .footer-widgets a:hover, body.ioa-skin .site-footer a:hover { color: var(--ioa-bronze); }
body.ioa-skin .site-footer { border-top: 1px solid var(--ioa-line-dark); font-size: 14px; }

/* ==========================================================================
   WooCommerce
   ========================================================================== */

/* Product grid */
body.ioa-skin.woocommerce ul.products li.product,
body.ioa-skin .woocommerce ul.products li.product {
	background: var(--ioa-paper);
	border: 1px solid var(--ioa-line);
	padding: 0 0 22px;
	position: relative;
	text-align: left;
	transition: border-color .2s ease, box-shadow .2s ease;
}
body.ioa-skin .woocommerce ul.products li.product:hover,
body.ioa-skin.woocommerce ul.products li.product:hover {
	border-color: #cdbfa9;
	box-shadow: 0 10px 30px -18px rgba(14, 13, 12, 0.45);
}
body.ioa-skin .woocommerce ul.products li.product a img,
body.ioa-skin.woocommerce ul.products li.product a img {
	aspect-ratio: 1 / 1;
	background: #fff;
	margin: 0 0 18px;
	object-fit: contain;
	padding: 18px;
}
body.ioa-skin ul.products li.product .woocommerce-loop-product__title {
	color: var(--ioa-ink);
	font-family: var(--ioa-sans);
	font-size: 17px !important;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.35;
	padding: 0 20px !important;
}
body.ioa-skin ul.products li.product .price {
	color: var(--ioa-ink) !important;
	display: block;
	font-family: var(--ioa-serif);
	font-size: 19px !important;
	font-weight: 600;
	padding: 6px 20px 14px;
}
body.ioa-skin ul.products li.product .price del { color: var(--ioa-ink-2); opacity: 1; }
body.ioa-skin ul.products li.product .price ins { color: var(--ioa-bronze-ink); text-decoration: none; }
body.ioa-skin ul.products li.product .button { margin: 0 20px; font-size: 13px; padding: 12px 20px; }

body.ioa-skin .woocommerce span.onsale,
body.ioa-skin.woocommerce span.onsale {
	background-color: var(--ioa-oak);
	border-radius: 0;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	left: 12px;
	letter-spacing: 0.14em;
	line-height: 1;
	min-height: 0;
	min-width: 0;
	padding: 8px 10px;
	right: auto;
	text-transform: uppercase;
	top: 12px;
}

/* Regulated-item badges */
body.ioa-skin .ioa-badge {
	background: var(--ioa-black);
	color: var(--ioa-silver);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1;
	padding: 7px 9px;
	position: absolute;
	right: 12px;
	text-transform: uppercase;
	top: 12px;
	z-index: 2;
}
body.ioa-skin .ioa-badge--ffl { border-left: 3px solid var(--ioa-bronze); }
body.ioa-skin .ioa-badge--ammo { border-left: 3px solid var(--ioa-oak-light); }

/* Single product */
body.ioa-skin.single-product div.product .product_title {
	color: var(--ioa-ink);
	font-size: clamp(26px, 3vw, 36px);
	line-height: 1.2;
}
body.ioa-skin.single-product div.product p.price,
body.ioa-skin.single-product div.product span.price {
	color: var(--ioa-ink);
	font-family: var(--ioa-serif);
	font-size: 28px;
	font-weight: 600;
}
body.ioa-skin.single-product div.product .woocommerce-product-gallery {
	background: #fff;
	border: 1px solid var(--ioa-line);
}
body.ioa-skin.single-product .woocommerce-tabs ul.tabs li {
	background: transparent;
	border: 0;
	border-radius: 0;
}
body.ioa-skin.single-product .woocommerce-tabs ul.tabs li a {
	color: var(--ioa-ink-2);
	font-size: 14px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
body.ioa-skin.single-product .woocommerce-tabs ul.tabs li.active { border-bottom: 2px solid var(--ioa-bronze); }
body.ioa-skin.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--ioa-ink); }
body.ioa-skin.single-product .woocommerce-tabs ul.tabs::before { border-color: var(--ioa-line); }
body.ioa-skin.single-product .woocommerce-tabs ul.tabs li::before,
body.ioa-skin.single-product .woocommerce-tabs ul.tabs li::after { display: none; }
body.ioa-skin .product_meta { border-top: 1px solid var(--ioa-line); color: var(--ioa-ink-2); font-size: 14px; padding-top: 14px; }

/* Compliance notice on product pages */
body.ioa-skin .ioa-notice {
	background: var(--ioa-paper);
	border: 1px solid var(--ioa-line);
	border-left: 4px solid var(--ioa-bronze);
	margin: 0 0 22px;
	padding: 14px 18px;
}
body.ioa-skin .ioa-notice--ammo { border-left-color: var(--ioa-oak); }
body.ioa-skin .ioa-notice strong {
	color: var(--ioa-ink);
	display: block;
	font-size: 13px;
	letter-spacing: 0.14em;
	margin-bottom: 4px;
	text-transform: uppercase;
}
body.ioa-skin .ioa-notice p { color: var(--ioa-ink-2); font-size: 15px; line-height: 1.5; margin: 0; }

/* Store notices */
body.ioa-skin .woocommerce-message,
body.ioa-skin .woocommerce-info,
body.ioa-skin .woocommerce-error {
	background-color: var(--ioa-paper);
	border-top-color: var(--ioa-bronze);
	color: var(--ioa-ink);
}
body.ioa-skin .woocommerce-message::before,
body.ioa-skin .woocommerce-info::before { color: var(--ioa-bronze); }
body.ioa-skin .woocommerce-error { border-top-color: #9b2c1f; }
body.ioa-skin .woocommerce-error::before { color: #9b2c1f; }

/* Cart & checkout (classic and blocks) */
body.ioa-skin .woocommerce table.shop_table { background: var(--ioa-paper); border-color: var(--ioa-line); border-radius: 0; }
body.ioa-skin .woocommerce table.shop_table th { font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; }
body.ioa-skin .ioa-cert { background: var(--ioa-paper); border: 1px solid var(--ioa-line); border-left: 4px solid var(--ioa-bronze); padding: 12px 16px !important; }
body.ioa-skin .wc-block-components-totals-item__value,
body.ioa-skin .wc-block-components-order-summary-item__total-price { font-weight: 700; }

/* Pagination & ordering */
body.ioa-skin .woocommerce nav.woocommerce-pagination ul li a,
body.ioa-skin .woocommerce nav.woocommerce-pagination ul li span { color: var(--ioa-ink); }
body.ioa-skin .woocommerce nav.woocommerce-pagination ul li span.current { background: var(--ioa-black); color: var(--ioa-bone); }

/* ==========================================================================
   Age gate
   ========================================================================== */

html.ioa-age-gate-open, html.ioa-age-gate-open body { overflow: hidden; }

.ioa-age-gate {
	align-items: center;
	background: rgba(14, 13, 12, 0.94);
	display: flex;
	inset: 0;
	justify-content: center;
	padding: 16px;
	position: fixed;
	z-index: 100000;
}
.ioa-age-gate[hidden] { display: none; }
.ioa-age-gate__panel {
	background: var(--ioa-coal);
	border: 1px solid var(--ioa-line-dark);
	border-top: 3px solid var(--ioa-bronze);
	color: var(--ioa-silver);
	max-width: 480px;
	padding: 40px 32px 32px;
	text-align: center;
	width: 100%;
}
.ioa-age-gate__logo { display: block; height: auto; margin: 0 auto 18px; width: 120px; }
.ioa-age-gate h2 {
	color: var(--ioa-bone);
	font-family: var(--ioa-serif);
	font-size: 24px;
	font-weight: 600;
	letter-spacing: 0.06em;
	margin: 0 0 12px;
}
.ioa-age-gate__text { color: var(--ioa-silver); font-family: var(--ioa-sans); font-size: 16px; line-height: 1.55; margin: 0 0 24px; }
.ioa-age-gate__actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
body.ioa-skin .ioa-age-gate .ioa-age-no { background: transparent; border-color: var(--ioa-steel); color: var(--ioa-silver); }
body.ioa-skin .ioa-age-gate .ioa-age-no:hover { border-color: var(--ioa-silver); background: transparent; color: var(--ioa-bone); }
.ioa-age-gate__denied { color: #e3a28f; font-family: var(--ioa-sans); margin: 18px 0 0; }

/* ==========================================================================
   v1.1 fixes after the first live install
   ========================================================================== */

/* Header rule: Altitude Pro draws a white line under the header; make it bronze. */
body.ioa-skin .site-header > .wrap { border-bottom-color: rgba(176, 122, 69, 0.45); }
body.ioa-skin .site-header.dark > .wrap { border-bottom-color: transparent; }

/* Headings inside photo sections 3, 5, 7 (Altitude sets widget titles small). */
body.ioa-skin .image-section .widget-title,
body.ioa-skin .image-section .widget h3 {
	font-size: clamp(28px, 3.6vw, 44px);
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.15;
	margin-bottom: 16px;
	text-transform: none;
}
body.ioa-skin .image-section .widget p { font-size: 19px; max-width: 60ch; margin-left: auto; margin-right: auto; }
body.ioa-skin .solid-section .widget-title,
body.ioa-skin .solid-section .widget h3 { text-transform: none; margin-bottom: 32px; }

/* Category tiles: undo the product-card styles (category items also carry .product). */
body.ioa-skin .ioa-cat-tiles ul.products li.product.product-category {
	background: linear-gradient(160deg, #2a2723, #0e0d0c);
	border: 0;
	box-shadow: none;
	padding: 0;
	aspect-ratio: 4 / 5;
	max-width: 100%;
}
body.ioa-skin .ioa-cat-tiles ul.products li.product-category:nth-child(4n+2) { background: radial-gradient(circle at 35% 40%, rgba(75, 90, 55, 0.6), transparent 62%), linear-gradient(160deg, #252a1f, #0e0d0c); }
body.ioa-skin .ioa-cat-tiles ul.products li.product-category:nth-child(4n+3) { background: radial-gradient(circle at 60% 60%, rgba(176, 122, 69, 0.38), transparent 62%), linear-gradient(160deg, #2b2520, #0e0d0c); }
body.ioa-skin .ioa-cat-tiles ul.products li.product-category:nth-child(4n+4) { background: radial-gradient(circle at 40% 30%, rgba(201, 196, 187, 0.16), transparent 58%), linear-gradient(160deg, #24221f, #0e0d0c); }
body.ioa-skin .ioa-cat-tiles ul.products li.product-category:nth-child(4n+1) { background: radial-gradient(circle at 65% 35%, rgba(116, 114, 111, 0.35), transparent 60%), linear-gradient(160deg, #2a2723, #0e0d0c); }
body.ioa-skin .ioa-cat-tiles li.product-category > a { display: block; height: 100%; position: relative; text-decoration: none; }
body.ioa-skin .ioa-cat-tiles ul.products li.product-category a img {
	aspect-ratio: auto;
	background: transparent;
	height: 100%;
	margin: 0;
	object-fit: cover;
	padding: 0;
	width: 100%;
}
/* No category image yet: hide WooCommerce's gray placeholder and let the tile color show. */
body.ioa-skin .ioa-cat-tiles li.product-category img[src*="placeholder"] { opacity: 0 !important; }
body.ioa-skin .ioa-cat-tiles li.product-category .woocommerce-loop-category__title {
	color: var(--ioa-bone) !important;
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.6);
}
body.ioa-skin .ioa-cat-tiles li.product-category .woocommerce-loop-category__title mark { display: none; }

/* Featured: empty-catalog message */
body.ioa-skin .ioa-featured--empty p {
	border: 1px dashed #cfc8bb;
	color: var(--ioa-ink-2);
	font-size: 17px;
	margin: 0 auto;
	max-width: 560px;
	padding: 28px 24px;
}

/* Block editor buttons used Altitude's blue */
body.ioa-skin .wp-block-button__link:not(.has-background),
body.ioa-skin .site-container .wp-block-button__link { background-color: var(--ioa-bronze); color: var(--ioa-black); border-radius: 0; }
body.ioa-skin .wp-block-button__link:not(.has-background):hover { background-color: var(--ioa-black); color: var(--ioa-bone); }

/* Footer credit line */
body.ioa-skin .site-footer p { color: var(--ioa-mist); letter-spacing: 0.08em; }

/* ==========================================================================
   Responsive
   ========================================================================== */

@media only screen and (max-width: 1023px) {
	body.ioa-skin .ioa-cat-tiles ul.products,
	body.ioa-skin .ioa-service-cards { grid-template-columns: repeat(2, 1fr); }
	body.ioa-skin .ioa-logo { height: 54px; }
	body.ioa-skin .genesis-nav-menu .menu-item { background-color: transparent; }
	body.ioa-skin .nav-primary .genesis-nav-menu { background-color: var(--ioa-coal); }
}

@media only screen and (max-width: 600px) {
	body.ioa-skin { font-size: 17px; }
	body.ioa-skin .ioa-cat-tiles ul.products { grid-template-columns: 1fr 1fr; gap: 10px; }
	body.ioa-skin .ioa-service-cards { grid-template-columns: 1fr; }
	body.ioa-skin .ioa-logo { height: 44px; }
	body.ioa-skin .site-header.dark .ioa-logo { height: 40px; }
	body.ioa-skin .ioa-trust-bar { gap: 6px 18px; }
	body.ioa-skin .ioa-trust-bar li { font-size: 11px; letter-spacing: 0.12em; }
	body.ioa-skin .ioa-cat-tiles li.product-category .woocommerce-loop-category__title { font-size: 15px; padding: 14px; }
}

@media (prefers-reduced-motion: reduce) {
	body.ioa-skin *, body.ioa-skin *::before, body.ioa-skin *::after { transition: none !important; }
}
