/*
Theme Name:  IWT Astra Child
Theme URI:   https://iwtstudwelding.com
Description: Child theme of Astra for IWT Marketplace. Custom CSS, template overrides and PHP go here so Astra updates don't overwrite them.
Author:      IWT Stud Welding
Template:    astra
Version:     1.14.97
Text Domain: iwt-astra-child
*/

/* Custom styles below. Astra Customizer settings still live in the database (astra-settings). */

/* ==========================================================================
   Site shell, Option A "flat navy" (2026-10-15)
   Solid navy header, IBM Plex Sans (set in astra-settings), 4px corners.
   Red is used only for the current-page underline and the cart count.
   Settings side: scripts/staging-shell-option-a.sh
   ========================================================================== */
:root {
	--iwt-navy: #0c344e;
	--iwt-navy-deep: #082638;
	--iwt-navy-line: #1d4a68;
	--iwt-mist: #d1dae5;
	--iwt-steel: #eef2f6;
	--iwt-ink: #0f172a;
	--iwt-red: #ec1f2a;
	--iwt-footer-text: #c9d6e0;
	--iwt-slate-700: #334155;
	--iwt-slate-600: #475569;
	--iwt-slate-500: #64748b;
	--iwt-slate-400: #94a3b8;
	--iwt-tint: #e3edf5;
	--iwt-sky: #9fc3dc;
	--iwt-ok: #166534;
	--iwt-ok-bg: #e7f5ec;
	--iwt-warn: #8a4b00;
	--iwt-warn-bg: #fff4e0;
	--iwt-gutter: clamp(16px, 3vw, 48px);
}

/* Fluid site width with a cap (2026-10-16): fills the screen minus ~3% side
   margins, stops growing at 1600px of content (astra-settings site-content-width).
   Page-builder/full-width layouts keep Astra's more specific 100%/no-padding rules. */
.ast-container {
	max-width: calc(1600px + 2 * var(--iwt-gutter));
	padding-inline: var(--iwt-gutter);
}

/* Header: one solid navy, no gradient or photo */
.site-header .main-header-bar,
.site-header .ast-primary-header-bar,
.site-header .ast-below-header-bar {
	background-color: var(--iwt-navy);
	background-image: none;
}
.site-header .main-header-bar {
	border-bottom: 0;
}

/* Menu: current page gets a red underline; hover just brightens */
.ast-builder-menu-1 .main-header-menu > .menu-item > .menu-link {
	font-weight: 500;
	letter-spacing: 0.005em;
}
.ast-builder-menu-1 .main-header-menu > .current-menu-item > .menu-link,
.ast-builder-menu-1 .main-header-menu > .current-menu-ancestor > .menu-link {
	text-decoration: underline;
	text-decoration-color: var(--iwt-red);
	text-decoration-thickness: 2px;
	text-underline-offset: 10px;
}

/* "New" badge on the Automation and LYNX Battery items (2026-10-26, 1.9.6, 1.10.0): top right of the label in the desktop header, inline
   after the label in the phone menu. Remove this block when the page is no longer new. */
.main-header-menu .menu-item > .menu-link[href$="/equipment/automation/"],
.main-header-menu .menu-item > .menu-link[href$="/equipment/lynx-battery/"] {
	position: relative;
}
.main-header-menu .menu-item > .menu-link[href$="/equipment/automation/"]::after,
.main-header-menu .menu-item > .menu-link[href$="/equipment/lynx-battery/"]::after {
	content: "New";
	display: inline-block;
	margin-left: 8px;
	padding: 2px 7px;
	border-radius: 2px;
	background: var(--iwt-red);
	color: #fff;
	font-size: 0.625rem;
	font-style: italic;
	font-weight: 800;
	letter-spacing: 0.1em;
	line-height: 1.4;
	text-transform: uppercase;
	vertical-align: middle;
	pointer-events: none;
}
@media (min-width: 1100px) {
	.main-header-menu .menu-item > .menu-link[href$="/equipment/automation/"]::after,
	.main-header-menu .menu-item > .menu-link[href$="/equipment/lynx-battery/"]::after {
		position: absolute;
		top: -20px;
		right: -2px;
		left: auto;
		margin: 0;
	}
	/* Inside a dropdown the badge sits inline after the label instead of above the row */
	.main-header-menu .sub-menu .menu-link[href$="/equipment/lynx-battery/"]::after {
		position: static;
		margin-left: 8px;
	}
}

/* Dropdowns: white panel, small radius, one soft shadow */
.ast-builder-menu-1 .main-header-menu .sub-menu {
	background: #fff;
	border: 1px solid var(--iwt-mist);
	border-radius: 4px;
	box-shadow: 0 14px 28px -14px rgba(8, 38, 56, 0.4);
	padding-block: 6px;
}
.ast-builder-menu-1 .main-header-menu .sub-menu .menu-link {
	color: var(--iwt-ink);
	font-size: 15px;
	padding: 9px 18px;
}
.ast-builder-menu-1 .main-header-menu .sub-menu .menu-link:hover,
.ast-builder-menu-1 .main-header-menu .sub-menu .menu-link:focus {
	background: var(--iwt-steel);
	color: var(--iwt-navy);
}


/* Account and cart: plain light text, red only on the count */
.site-header .ast-header-account-text {
	color: var(--iwt-mist);
	font-size: 15px;
	font-weight: 500;
}
.site-header .ast-header-account-text:hover {
	color: #fff;
}
.site-header .ast-site-header-cart .ast-addon-cart-wrap .ast-icon-shopping-cart::after {
	background-color: var(--iwt-red);
	color: #fff;
	border-color: var(--iwt-red);
}

/* Header search (1.14.92): our own box and instant dropdown (inc/header-search.php, js/header-search.js).
   Soft translucent fill on navy; turns white with dark text while typing. The dropdown is a white card under the box. */
.iwt-hsearch {
	position: relative;
}
@media (min-width: 1100px) {
	.site-header .ast-header-search .iwt-hsearch {
		width: clamp(240px, 24vw, 420px);
	}
}
/* Five top-level items: keep them on one line on small laptops */
@media (min-width: 1100px) and (max-width: 1199px) {
	.ast-builder-menu-1 .main-header-menu > .menu-item > .menu-link {
		font-size: 15px;
		padding-inline: 7px;
		white-space: nowrap;
	}
	.site-header .ast-site-identity .site-logo-img .custom-logo-link img {
		width: 140px;
		max-width: 140px;
	}
	.site-header .ast-header-search .iwt-hsearch {
		width: 170px;
	}
}
@media (max-width: 1099px) {
	/* Phone/tablet: search spans the bar under the logo (Astra header breakpoint is 1099) */
	.site-header .site-header-below-section-center {
		flex: 1 1 auto;
	}
	.site-header .site-header-below-section-center .ast-header-search,
	.site-header .site-header-below-section-center .ast-search-menu-icon,
	.site-header .site-header-below-section-center .iwt-hsearch {
		width: 100%;
	}
}
.iwt-hsearch__form {
	display: flex;
	align-items: center;
	height: 44px;
	margin: 0;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 8px;
	overflow: hidden;
	transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.iwt-hsearch__form:hover {
	background: rgba(255, 255, 255, 0.12);
	border-color: rgba(255, 255, 255, 0.24);
}
.iwt-hsearch__form:focus-within {
	background: #fff;
	border-color: #fff;
	box-shadow: 0 0 0 3px rgba(209, 218, 229, 0.35);
}
.iwt-hsearch .iwt-hsearch__form input[type="search"].iwt-hsearch__field {
	flex: 1 1 auto;
	min-width: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0 4px 0 16px;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	color: #fff;
	font-size: 15px;
	line-height: 1;
	-webkit-appearance: none;
	appearance: none;
}
.iwt-hsearch .iwt-hsearch__form input[type="search"].iwt-hsearch__field:focus {
	outline: none;
	border: 0 !important; /* beats Astra's dark-mode input:focus border (!important) */
	box-shadow: none;
	color: var(--iwt-ink);
}
.iwt-hsearch .iwt-hsearch__field::placeholder {
	color: #a9bccb;
	opacity: 1;
}
.iwt-hsearch .iwt-hsearch__form:focus-within .iwt-hsearch__field::placeholder {
	color: var(--iwt-slate-500);
}
.iwt-hsearch .iwt-hsearch__field::-webkit-search-cancel-button {
	cursor: pointer;
}
.iwt-hsearch .iwt-hsearch__form button.iwt-hsearch__btn {
	flex: 0 0 44px;
	display: grid;
	place-items: center;
	width: 44px;
	height: 100%;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	color: #a9bccb;
	cursor: pointer;
}
.iwt-hsearch .iwt-hsearch__form button.iwt-hsearch__btn:hover {
	color: #fff;
}
.iwt-hsearch .iwt-hsearch__form:focus-within button.iwt-hsearch__btn {
	color: var(--iwt-navy);
}

/* Dropdown */
.iwt-hsearch__panel {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	z-index: 1000;
	width: max(100%, 460px);
	max-width: calc(100vw - 32px);
	max-height: min(72vh, 600px);
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 6px;
	background: #fff;
	border: 1px solid var(--iwt-mist);
	border-radius: 10px;
	box-shadow: 0 14px 36px rgba(8, 38, 56, 0.24);
	text-align: left;
}
.iwt-hsearch__panel[hidden],
.iwt-hsearch__panel:empty {
	display: none;
}
@media (max-width: 1099px) {
	.iwt-hsearch__panel {
		left: 0;
		right: 0;
		width: auto;
		max-width: none;
		max-height: min(70vh, 520px);
	}
}
.iwt-hsearch__panel .iwt-hsearch__row {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	padding: 8px 10px;
	border-radius: 8px;
	color: var(--iwt-ink);
	text-decoration: none;
}
.iwt-hsearch__panel .iwt-hsearch__row:hover,
.iwt-hsearch__panel .iwt-hsearch__row:focus {
	color: var(--iwt-ink);
}
.iwt-hsearch__panel .iwt-hsearch__row[aria-selected="true"] {
	background: var(--iwt-steel);
}
.iwt-hsearch__img {
	display: block;
	width: 44px;
	height: 44px;
	overflow: hidden;
	border-radius: 6px;
	background: var(--iwt-steel);
}
.iwt-hsearch__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.iwt-hsearch__row--page .iwt-hsearch__img {
	background: var(--iwt-tint);
}
.iwt-hsearch__text {
	min-width: 0;
}
.iwt-hsearch__title {
	display: block;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	overflow-wrap: anywhere;
}
.iwt-hsearch__panel mark {
	padding: 0 1px;
	border-radius: 2px;
	background: var(--iwt-tint);
	color: inherit;
}
.iwt-hsearch__meta {
	display: block;
	margin-top: 2px;
	overflow: hidden;
	color: var(--iwt-slate-600);
	font-size: 13px;
	line-height: 1.35;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.iwt-hsearch__sku {
	color: var(--iwt-slate-700);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 12.5px;
}
.iwt-hsearch__price {
	color: var(--iwt-navy);
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
}
.iwt-hsearch__tag {
	display: inline-block;
	padding: 1px 8px;
	border-radius: 999px;
	background: var(--iwt-navy);
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.iwt-hsearch__note,
.iwt-hsearch__empty {
	padding: 8px 12px;
	color: var(--iwt-slate-600);
	font-size: 13px;
}
.iwt-hsearch__note {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.iwt-hsearch__empty a {
	color: var(--iwt-navy);
	font-weight: 600;
}
.iwt-hsearch__panel .iwt-hsearch__all {
	display: block;
	margin-top: 4px;
	padding: 10px 12px;
	border-top: 1px solid var(--iwt-steel);
	color: var(--iwt-navy);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}
.iwt-hsearch__panel .iwt-hsearch__all:hover,
.iwt-hsearch__panel .iwt-hsearch__all:focus-visible {
	text-decoration: underline;
}

/* Search results page (1.14.96, inc/search-results.php): same rows as the dropdown, filled by js/header-search.js. */
.iwt-search-page .site-content > .ast-container {
	max-width: 1040px;
}
.iwt-search-page #primary {
	width: 100%;
	margin-block: 28px 56px;
}
.iwt-sresults__form {
	display: flex;
	gap: 8px;
	margin: 0 0 18px;
}
.iwt-sresults .iwt-sresults__form input[type="search"].iwt-sresults__field {
	flex: 1 1 auto;
	min-width: 0;
	height: 52px;
	margin: 0;
	padding: 0 16px;
	background: #fff;
	border: 1px solid var(--iwt-mist) !important;
	border-radius: 8px;
	box-shadow: none;
	color: var(--iwt-ink);
	font-size: 17px;
}
.iwt-sresults .iwt-sresults__form input[type="search"].iwt-sresults__field:focus {
	outline: none;
	border-color: var(--iwt-navy) !important;
	box-shadow: 0 0 0 3px var(--iwt-tint);
}
.iwt-sresults .iwt-sresults__form button.iwt-sresults__btn {
	flex: 0 0 auto;
	height: 52px;
	margin: 0;
	padding: 0 22px;
	border: 0;
	border-radius: 8px;
	background: var(--iwt-navy);
	color: #fff;
	font-size: 15px;
	font-weight: 600;
}
.iwt-sresults .iwt-sresults__form button.iwt-sresults__btn:hover {
	background: var(--iwt-navy-deep);
}
.iwt-sresults__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 16px;
	margin-bottom: 12px;
}
.iwt-sresults__count {
	margin: 0;
	color: var(--iwt-slate-600);
	font-size: 15px;
}
.iwt-sresults__count:empty {
	display: none;
}
.iwt-sresults__filters {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.iwt-sresults .iwt-sresults__filters button.iwt-sresults__chip {
	margin: 0;
	padding: 6px 12px;
	border: 1px solid var(--iwt-mist);
	border-radius: 999px;
	background: #fff;
	color: var(--iwt-ink);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
}
.iwt-sresults .iwt-sresults__filters button.iwt-sresults__chip span {
	color: var(--iwt-slate-600);
	font-weight: 400;
}
.iwt-sresults .iwt-sresults__filters button.iwt-sresults__chip:hover {
	border-color: var(--iwt-navy);
}
.iwt-sresults .iwt-sresults__filters button.iwt-sresults__chip[aria-pressed="true"] {
	border-color: var(--iwt-navy);
	background: var(--iwt-navy);
	color: #fff;
}
.iwt-sresults .iwt-sresults__filters button.iwt-sresults__chip[aria-pressed="true"] span {
	color: var(--iwt-mist);
}
.iwt-sresults__list {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--iwt-steel);
}
.iwt-sresults__list:empty {
	border-top: 0;
}
.iwt-sresults__list li {
	margin: 0;
	border-bottom: 1px solid var(--iwt-steel);
}
.iwt-sresults .iwt-sresults__row {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr) auto;
	align-items: center;
	gap: 16px;
	padding: 12px 10px;
	color: var(--iwt-ink);
	text-decoration: none;
}
.iwt-sresults .iwt-sresults__row:hover,
.iwt-sresults .iwt-sresults__row:focus-visible {
	background: var(--iwt-steel);
	color: var(--iwt-ink);
}
.iwt-sresults .iwt-hsearch__img {
	width: 64px;
	height: 64px;
}
.iwt-sresults .iwt-hsearch__title {
	font-size: 16px;
}
.iwt-sresults .iwt-hsearch__meta {
	white-space: normal;
	font-size: 14px;
}
.iwt-sresults .iwt-hsearch__price {
	font-size: 15px;
}
.iwt-sresults mark {
	padding: 0 1px;
	border-radius: 2px;
	background: var(--iwt-tint);
	color: inherit;
}
.iwt-sresults .iwt-sresults__more {
	display: block;
	margin: 18px auto 0;
	padding: 10px 22px;
	border: 1px solid var(--iwt-navy);
	border-radius: 8px;
	background: #fff;
	color: var(--iwt-navy);
	font-size: 15px;
	font-weight: 600;
}
.iwt-sresults .iwt-sresults__more:hover {
	background: var(--iwt-steel);
}
.iwt-sresults .iwt-sresults__more[hidden],
.iwt-sresults__help[hidden] {
	display: none;
}
.iwt-sresults__help {
	padding: 22px 24px;
	border-radius: 10px;
	background: var(--iwt-steel);
	color: var(--iwt-ink);
	font-size: 16px;
}
.iwt-sresults__help p {
	margin: 0;
}
.iwt-sresults__help p + p {
	margin-top: 8px;
	color: var(--iwt-slate-600);
	font-size: 15px;
}
.iwt-sresults__help a {
	color: var(--iwt-navy);
	font-weight: 600;
}
@media (max-width: 600px) {
	.iwt-search-page #primary {
		margin-block: 18px 40px;
	}
	.iwt-sresults .iwt-sresults__row {
		grid-template-columns: 48px minmax(0, 1fr);
		gap: 12px;
		padding: 10px 4px;
	}
	.iwt-sresults .iwt-hsearch__img {
		width: 48px;
		height: 48px;
	}
	.iwt-sresults .iwt-hsearch__price,
	.iwt-sresults .iwt-hsearch__tag {
		grid-column: 2;
		justify-self: start;
	}
	.iwt-sresults .iwt-sresults__form button.iwt-sresults__btn {
		padding: 0 16px;
	}
}

/* Visible keyboard focus in the header */
.site-header a:focus-visible,
.site-header button:focus-visible {
	outline: 2px solid var(--iwt-mist);
	outline-offset: 3px;
}

/* Footer: deep navy, four quiet columns */
.site-footer .site-above-footer-wrap,
.site-footer .site-primary-footer-wrap,
.site-footer .site-below-footer-wrap {
	background-color: var(--iwt-navy-deep);
	background-image: none;
}
.site-footer {
	color: var(--iwt-footer-text);
	font-size: 15px;
	line-height: 1.6;
}
.site-footer .widget-title,
.site-footer h2.widget-title {
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 10px;
}
.site-footer a,
.site-footer .widget a {
	color: var(--iwt-footer-text);
	text-decoration: none;
}
.site-footer a:hover,
.site-footer .widget a:hover {
	color: #fff;
	text-decoration: underline;
}
.site-footer .widget_nav_menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.site-footer .widget_nav_menu li {
	padding-block: 3px;
}
.site-footer .iwt-footer-contact p {
	margin-bottom: 10px;
}
.site-footer .site-below-footer-wrap {
	border-top: 1px solid var(--iwt-navy-line);
	font-size: 14px;
}

/* Footer layout (2026-10-16): same 1600px cap and side margins as the header and
   page, every column left-aligned, contact column a bit wider, social links
   stacked under the Company menu, no grey strip above. */
.site-footer .site-above-footer-wrap {
	border-top: 0;
	padding-block: clamp(40px, 5vw, 64px) 32px;
}
.site-footer .ast-builder-grid-row-container-inner {
	box-sizing: border-box;
	width: 100%;
	max-width: calc(1600px + 2 * var(--iwt-gutter));
	margin-inline: auto;
	padding-inline: var(--iwt-gutter);
}
@media (min-width: 922px) {
	.site-footer .site-above-footer-wrap .ast-builder-grid-row {
		grid-template-columns: 1.4fr 1fr 1fr 1fr;
		column-gap: clamp(24px, 4vw, 64px);
	}
}
.site-footer .site-footer-section,
.site-footer .footer-widget-area,
.site-footer .footer-widget-area .widget-title,
.site-footer .footer-widget-area p,
.site-footer .footer-widget-area .menu {
	text-align: left;
	justify-content: flex-start;
	align-items: flex-start;
}
.site-footer .site-footer-section {
	flex-direction: column;
}
.site-footer .iwt-footer-contact .wp-block-image {
	margin: 0 0 18px;
}
.site-footer .iwt-footer-contact .wp-block-image img {
	display: block;
}
.site-footer .site-footer-above-section-4 .ast-builder-layout-element {
	margin-top: 20px;
	justify-content: flex-start;
}
.site-footer .ast-footer-social-wrap .footer-social-inner-wrap {
	justify-content: flex-start;
	text-align: left;
}
.site-footer .site-below-footer-wrap .ast-builder-grid-row,
.site-footer .site-below-footer-wrap .site-footer-section,
.site-footer .site-below-footer-wrap .ast-builder-layout-element,
.site-footer .site-below-footer-wrap .ast-footer-copyright {
	width: 100%;
	text-align: left;
	justify-content: flex-start;
	justify-items: start;
}

/* One footer block (1.14.71): the copyright row joins the column block. No divider,
   no second band: the columns' bottom padding shrinks and the copyright sits as the
   last line on the same navy, aligned to the contact column. */
.site-footer .site-above-footer-wrap {
	padding-bottom: 8px;
}
.site-footer .site-below-footer-wrap {
	border-top: 0;
	padding-block: 16px clamp(28px, 3vw, 40px);
	min-height: 0;
	font-size: 13px;
}
.site-footer .site-below-footer-wrap .ast-builder-grid-row {
	min-height: 0;
}
.site-footer .site-below-footer-wrap .ast-footer-copyright,
.site-footer .site-below-footer-wrap .ast-footer-copyright p {
	margin: 0;
	opacity: 0.8;
}

/* WooCommerce: wider quantity input (moved from Additional CSS) */
.woocommerce div.product form.cart .quantity input.qty {
	width: 100px;
	max-width: none;
}

/* ==========================================================================
   Home hero: rotating photos behind the intro (2026-10-16)
   Slides are injected by iwt_home_hero_slides() in functions.php and rotated
   by js/hero-slides.js. Navy gradient keeps the text readable on any photo;
   it is darkest on the left where the text sits.
   ========================================================================== */
.iwt-home-intro {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: clamp(460px, 70vh, 680px);
	margin-block: 0;
	padding-block: clamp(56px, 8vw, 104px);
	padding-inline: var(--iwt-gutter);
	background-color: var(--iwt-navy-deep);
	color: #fff;
}

/* Text column: left edge lines up with the header/logo, about 760px wide */
.iwt-home-intro > :not(.iwt-hero-slides):not(.iwt-hero-pause) {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: min(760px, 100%);
	margin-left: max(0px, calc((100% - var(--wp--style--global--content-size, 1600px)) / 2)) !important;
	margin-right: auto !important;
}
.iwt-home-intro h1 {
	margin: 0 0 20px;
	color: #fff;
	font-size: clamp(2.25rem, 4.4vw, 3.75rem);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.015em;
	text-wrap: balance;
}
.iwt-home-intro p {
	margin: 0 0 32px;
	color: var(--iwt-mist);
	font-size: clamp(1.0625rem, 1.3vw, 1.25rem);
	line-height: 1.6;
	max-width: 62ch;
}
.iwt-home-intro .wp-block-buttons {
	gap: 12px;
}
.iwt-home-intro .wp-block-button__link {
	padding: 14px 26px;
	border: 2px solid #fff;
	border-radius: 4px;
	background: #fff;
	color: var(--iwt-navy);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
}
.iwt-home-intro .wp-block-button__link:hover,
.iwt-home-intro .wp-block-button__link:focus-visible {
	background: var(--iwt-mist);
	border-color: var(--iwt-mist);
	color: var(--iwt-navy-deep);
}
.iwt-home-intro .wp-block-button + .wp-block-button .wp-block-button__link {
	background: transparent;
	color: #fff;
}
.iwt-home-intro .wp-block-button + .wp-block-button .wp-block-button__link:hover,
.iwt-home-intro .wp-block-button + .wp-block-button .wp-block-button__link:focus-visible {
	background: rgba(255, 255, 255, 0.12);
	border-color: #fff;
	color: #fff;
}
.iwt-home-intro .wp-block-button__link:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

/* Photo layer: stacked slides crossfade, the active one zooms in slowly */
.iwt-home-intro > .iwt-hero-slides {
	position: absolute;
	inset: 0;
	z-index: 0;
	max-width: none;
	margin: 0 !important;
}
.iwt-hero-slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 1.2s ease;
}
.iwt-hero-slide.is-active {
	opacity: 1;
}
.iwt-hero-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1);
	transition: transform 0s linear 1.2s; /* reset only after it has faded out */
}
.iwt-hero-slide.is-active img {
	transform: scale(1.06);
	transition: transform 7s linear;
}
.iwt-home-intro.is-paused .iwt-hero-slide img {
	transition: none;
}
.iwt-hero-slides::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(8, 38, 56, 0.92) 0%, rgba(8, 38, 56, 0.78) 40%, rgba(8, 38, 56, 0.35) 100%),
		linear-gradient(0deg, rgba(8, 38, 56, 0.5) 0%, rgba(8, 38, 56, 0) 35%);
}
@media (max-width: 921px) {
	.iwt-hero-slides::after {
		background: rgba(8, 38, 56, 0.8);
	}
}

/* Pause/play: small round control, bottom right */
.iwt-home-intro > .iwt-hero-pause {
	position: absolute;
	right: var(--iwt-gutter);
	bottom: 20px;
	z-index: 2;
	width: 36px;
	height: 36px;
	margin: 0 !important;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 50%;
	background: rgba(8, 38, 56, 0.55);
	cursor: pointer;
}
.iwt-home-intro > .iwt-hero-pause[hidden] {
	display: none;
}
.iwt-hero-pause::before {
	/* pause: two bars */
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 12px;
	transform: translate(-50%, -50%);
	border-left: 3px solid #fff;
	border-right: 3px solid #fff;
}
.iwt-home-intro.is-paused .iwt-hero-pause::before {
	/* play: triangle */
	width: 0;
	height: 0;
	margin-left: 1px;
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
	border-left: 11px solid #fff;
	border-right: 0;
}
.iwt-hero-pause:hover {
	background: rgba(8, 38, 56, 0.85);
	border-color: #fff;
}
.iwt-hero-pause:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	.iwt-hero-slide,
	.iwt-hero-slide img,
	.iwt-hero-slide.is-active img {
		transition: none;
		transform: none;
	}
}

/* Home hero video (1.14.91): the poster photo shows first, the video fades in over it once it plays (js/hero-video.js).
   No zoom on the poster, the video has its own motion. The gradient overlay (.iwt-hero-slides::after) stays on top. */
.iwt-hero-slides--video .iwt-hero-slide.is-active img {
	transform: none;
	transition: none;
}
.iwt-hero-video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.8s ease;
}
.iwt-home-intro.is-playing .iwt-hero-video {
	opacity: 1;
}
@media (max-width: 921px), (prefers-reduced-motion: reduce) {
	.iwt-hero-video {
		display: none;
	}
}

/* ==========================================================================
   Home page sections below the hero (2026-10-16)
   Core Group blocks with classes; content lives in the page, layout here.
   Each section is full-bleed, content capped at the site width (1600px)
   and left-aligned with the header via the constrained layout.
   ========================================================================== */
.iwt-section {
	margin-block: 0;
	padding-block: clamp(56px, 7vw, 96px);
	padding-inline: var(--iwt-gutter);
	background: #fff;
	color: var(--iwt-ink);
}
/* All sections white (2026-10-16); a thin rule separates them instead of tinted bands.
   The --steel modifier is kept in the content but no longer tints. */
.iwt-section--steel {
	background: #fff;
}
.iwt-section + .iwt-section:not(.iwt-kb) {
	border-top: 1px solid var(--iwt-mist);
}
.iwt-section > *,
.iwt-section .iwt-card-grid > * {
	margin-block: 0;
}
/* Left edge lines up with the header/logo even for narrow children (the
   constrained layout would otherwise center anything under 1600px wide) */
.iwt-section > * {
	margin-left: max(0px, calc((100% - var(--wp--style--global--content-size, 1600px)) / 2)) !important;
	margin-right: auto !important;
}
.iwt-section h2 {
	margin: 0 0 16px;
	color: var(--iwt-navy-deep);
	font-size: clamp(1.75rem, 2.8vw, 2.5rem);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.01em;
	text-wrap: balance;
}
.iwt-section h3 {
	margin: 0 0 8px;
	color: var(--iwt-navy-deep);
	font-size: 1.1875rem;
	font-weight: 600;
	line-height: 1.3;
}
.iwt-section p {
	margin: 0;
	color: var(--iwt-slate-700);
	font-size: 1rem;
	line-height: 1.6;
}
.iwt-section .iwt-eyebrow {
	margin-bottom: 10px;
	color: var(--iwt-red);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.iwt-section .iwt-lede {
	max-width: 62ch;
	margin-bottom: 8px;
	font-size: 1.125rem;
}
.iwt-card-grid {
	display: grid;
	gap: clamp(16px, 2vw, 28px);
	margin-top: clamp(28px, 3vw, 40px) !important;
}
.iwt-card-grid--2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); }
/* --3 tops out at three columns, so six cards sit 3 + 3 instead of 4 + 2 (1.7.5). */
.iwt-card-grid--3 { grid-template-columns: repeat(auto-fit, minmax(max(min(100%, 300px), calc((100% - 2 * clamp(16px, 2vw, 28px)) / 3)), 1fr)); }
.iwt-card-grid--4 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
/* A lone card in a --3 grid keeps one column's width instead of filling the row (1.8.6). */
.iwt-card-grid--3 > :only-child { max-width: min(100%, max(300px, calc((100% - 2 * clamp(16px, 2vw, 28px)) / 3))); }

/* Card links: the heading link covers the whole card */
.iwt-cat-card,
.iwt-express-card {
	position: relative;
}
/* .entry-content beats Astra's ".ast-single-post .entry-content a" underline */
.entry-content .iwt-cat-card h3 a,
.entry-content .iwt-express-card h3 a {
	color: inherit;
	text-decoration: none;
}
.iwt-cat-card h3 a::after,
.iwt-express-card h3 a::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
}
.iwt-cat-card h3 a:focus-visible,
.iwt-express-card h3 a:focus-visible {
	outline: none;
}
.iwt-cat-card:focus-within,
.iwt-express-card:focus-within {
	outline: 2px solid var(--iwt-navy);
	outline-offset: 3px;
}

/* Trust strip: four short points with line icons */
.iwt-trust {
	padding-block: clamp(28px, 3.5vw, 44px);
}
.iwt-trust-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
	gap: 24px clamp(20px, 3vw, 48px);
}
/* WordPress's 24px block gap would push items 2-4 below the first one */
.iwt-trust-grid > * {
	margin-block: 0;
}
.iwt-trust-item {
	position: relative;
	padding-left: 48px;
}
.iwt-trust-item::before {
	content: "";
	position: absolute;
	top: 2px;
	left: 0;
	width: 32px;
	height: 32px;
	background-color: var(--iwt-navy);
	-webkit-mask: var(--iwt-icon) center / contain no-repeat;
	mask: var(--iwt-icon) center / contain no-repeat;
}
.iwt-section .iwt-trust-title {
	margin-bottom: 2px;
	color: var(--iwt-navy-deep);
	font-weight: 600;
}
.iwt-trust-item p:not(.iwt-trust-title) {
	font-size: 0.9375rem;
	line-height: 1.5;
}
.iwt-icon-flag { --iwt-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V4'/%3E%3Cpath d='M4 4h13l-2 4 2 4H4'/%3E%3C/svg%3E"); }
.iwt-icon-cart { --iwt-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11h11.2L21 7H6.2'/%3E%3Ccircle cx='9' cy='19.5' r='1.5'/%3E%3Ccircle cx='17' cy='19.5' r='1.5'/%3E%3C/svg%3E"); }
.iwt-icon-phone { --iwt-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E"); }
.iwt-icon-check { --iwt-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.5-3 8.5-7 10-4-1.5-7-5.5-7-10V6z'/%3E%3Cpath d='M8.5 12l2.5 2.5 4.5-5'/%3E%3C/svg%3E"); }

/* Shop by category (and every card built on .iwt-cat-card): navy cards, white text, product
   photo on a light tile so white photo backgrounds still blend in. Navy since 1.6.5. */
.iwt-cat-card {
	display: flex;
	flex-direction: column;
	padding: 16px 16px 22px;
	border: 1px solid var(--iwt-navy);
	border-radius: 8px;
	background: var(--iwt-navy);
	color: #fff;
	transition: background-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
.iwt-cat-card:hover {
	border-color: var(--iwt-navy-deep);
	background: var(--iwt-navy-deep);
	box-shadow: 0 16px 32px -20px rgba(8, 38, 56, 0.6);
	transform: translateY(-2px);
}
.iwt-section .iwt-cat-card h3,
.entry-content .iwt-cat-card h3 {
	color: #fff;
}
.iwt-section .iwt-cat-card p,
.entry-content .iwt-cat-card p {
	color: var(--iwt-mist);
}
/* Fixed 4:3 tile; the photo is fitted inside it whatever its own shape */
.iwt-cat-card .wp-block-image {
	position: relative;
	aspect-ratio: 4 / 3;
	margin: 0 0 18px;
	border-radius: 6px;
	background: var(--iwt-steel);
	overflow: hidden;
}
.iwt-cat-card .wp-block-image img {
	position: absolute;
	inset: 8%;
	width: 84%;
	height: 84%;
	object-fit: contain;
	mix-blend-mode: multiply; /* white product backgrounds blend into the tile */
}
.iwt-cat-card h3 {
	padding-inline: 4px;
}
.iwt-cat-card h3 a::before {
	content: "\2192";
	float: right;
	margin-left: 8px;
	color: var(--iwt-red);
	transition: transform 0.15s ease;
}
.iwt-cat-card:hover h3 a::before {
	transform: translateX(3px);
}
.iwt-cat-card p {
	padding-inline: 4px;
	font-size: 0.9375rem;
}
.iwt-section .iwt-section-note {
	margin-top: 28px;
	font-size: 0.9375rem;
}
.iwt-section-note a {
	color: var(--iwt-navy);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: var(--iwt-red);
	text-underline-offset: 4px;
}

/* Express Shops: two navy cards */
.iwt-express-card {
	padding: clamp(24px, 3vw, 36px);
	border-radius: 8px;
	background: var(--iwt-navy);
	transition: background-color 0.15s ease;
}
.iwt-express-card:hover {
	background: var(--iwt-navy-deep);
}
.iwt-section .iwt-express-card h3 {
	margin-bottom: 10px;
	color: #fff;
	font-size: 1.5rem;
}
.iwt-express-card h3 a::before {
	content: "Shop now \2192";
	float: right;
	margin-top: 6px;
	color: var(--iwt-mist);
	font-size: 0.9375rem;
	font-weight: 500;
}
.iwt-section .iwt-express-card p {
	max-width: 46ch;
	color: var(--iwt-mist);
}

/* About: photo beside text, figures underneath */
.iwt-about-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
	gap: clamp(28px, 4vw, 64px);
	align-items: center;
}
.iwt-about-photo {
	margin: 0;
}
.iwt-about-photo img {
	width: 100%;
	border-radius: 8px;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}
.iwt-about-text > p:not(.iwt-eyebrow) {
	max-width: 60ch;
}
.iwt-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
	gap: 20px;
	margin-top: 32px;
	padding-top: 24px;
	border-top: 1px solid #c7d3df;
}
.iwt-section .iwt-stat {
	font-size: 0.875rem;
	line-height: 1.35;
}
.iwt-stat strong {
	display: block;
	margin-bottom: 4px;
	color: var(--iwt-navy);
	font-size: clamp(1.75rem, 2.4vw, 2.25rem);
	font-weight: 700;
	line-height: 1;
}

/* Capabilities: photo cards */
.iwt-feature-card .wp-block-image {
	margin: 0 0 18px;
}
.iwt-feature-card .wp-block-image img {
	width: 100%;
	border-radius: 8px;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

/* Knowledgebase band: navy, same buttons as the hero */
.iwt-section.iwt-kb {
	background: var(--iwt-navy);
}
.iwt-section.iwt-kb h2 {
	color: #fff;
}
.iwt-section.iwt-kb p {
	max-width: 60ch;
	margin-bottom: 28px;
	color: var(--iwt-mist);
	font-size: 1.125rem;
}
.iwt-kb .wp-block-buttons {
	gap: 12px;
}
.iwt-kb .wp-block-button__link {
	padding: 14px 26px;
	border: 2px solid #fff;
	border-radius: 4px;
	background: #fff;
	color: var(--iwt-navy);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
}
.iwt-kb .wp-block-button__link:hover,
.iwt-kb .wp-block-button__link:focus-visible {
	background: var(--iwt-mist);
	border-color: var(--iwt-mist);
	color: var(--iwt-navy-deep);
}
.iwt-kb .wp-block-button + .wp-block-button .wp-block-button__link {
	background: transparent;
	color: #fff;
}
.iwt-kb .wp-block-button + .wp-block-button .wp-block-button__link:hover,
.iwt-kb .wp-block-button + .wp-block-button .wp-block-button__link:focus-visible {
	background: rgba(255, 255, 255, 0.12);
	border-color: #fff;
}
.iwt-kb .wp-block-button__link:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	.iwt-cat-card,
	.iwt-cat-card h3 a::before {
		transition: none;
	}
	.iwt-cat-card:hover {
		transform: none;
	}
}

/* Phones: category cards two per row, tighter, so the section isn't four screens tall */
@media (max-width: 599px) {
	.iwt-card-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}
	.iwt-cat-card {
		padding: 10px 10px 14px;
	}
	.iwt-cat-card .wp-block-image {
		margin-bottom: 12px;
	}
	.iwt-section .iwt-cat-card h3 {
		font-size: 1rem;
		padding-inline: 2px;
	}
	.iwt-cat-card h3 a::before {
		display: none;
	}
	.iwt-cat-card p {
		padding-inline: 2px;
		font-size: 0.8125rem;
		line-height: 1.45;
	}
}

/* Landing pages (home, Studs; body class from iwt_landing_body_class()): the container runs
   full width so the full-bleed sections need no 100vw breakout (which Astra offsets by half
   the scrollbar and pads by 80px). Each section then uses the same side margin as the header
   and footer. */
.iwt-landing .site-content > .ast-container {
	max-width: none;
	padding-inline: 0;
}
.iwt-landing .entry-content > .wp-block-group.alignfull.iwt-section,
.iwt-landing .entry-content > .wp-block-group.alignfull.iwt-home-intro,
.iwt-landing .entry-content > .wp-block-uagb-container.alignfull {
	width: auto;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	padding-left: var(--iwt-gutter);
	padding-right: var(--iwt-gutter);
}

/* ==========================================================================
   Studs page (page 1559, 2026-10-16)
   Same hero and section system as the home page, plus method cards, numbered
   process steps, a brand list, a call-to-action panel and an FAQ.
   ========================================================================== */

/* Shorter hero with a small eyebrow above the H1 */
.iwt-page-hero {
	min-height: clamp(380px, 52vh, 520px);
}
.iwt-page-hero .iwt-hero-eyebrow {
	margin-bottom: 14px;
	color: var(--iwt-mist);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.iwt-page-hero .iwt-hero-eyebrow::before {
	content: "";
	display: inline-block;
	width: 24px;
	height: 2px;
	margin-right: 10px;
	vertical-align: middle;
	background: var(--iwt-red);
}

/* Product shots with a baked-in grey square: fill the tile instead of floating in it.
   .iwt-img-fill on the image block does the same for one card without the --fill phone layout. */
.iwt-cat-card--fill .wp-block-image img,
.iwt-cat-card .wp-block-image.iwt-img-fill img {
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	mix-blend-mode: normal;
}

/* CD or Drawn Arc: two bordered cards */
.iwt-method-card {
	display: flex;
	flex-direction: column;
	padding: clamp(22px, 2.6vw, 34px);
	border: 1px solid var(--iwt-mist);
	border-radius: 8px;
	background: #fff;
}
.iwt-section .iwt-method-tag {
	align-self: flex-start;
	margin-bottom: 14px;
	padding: 3px 10px;
	border-radius: 4px;
	background: var(--iwt-navy);
	color: #fff;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.06em;
}
.iwt-section .iwt-method-card h3 {
	font-size: 1.5rem;
}
.iwt-method-card > p:not(.iwt-method-tag):not(.iwt-method-links) {
	max-width: 56ch;
}
.iwt-method-card ul {
	margin: 20px 0 24px;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--iwt-mist);
}
.iwt-method-card li {
	margin: 0;
	padding: 10px 0;
	border-bottom: 1px solid var(--iwt-mist);
	color: var(--iwt-slate-700);
	font-size: 0.9375rem;
	line-height: 1.5;
}
.iwt-method-card li strong {
	color: var(--iwt-navy-deep);
	font-weight: 600;
}
.iwt-section .iwt-method-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	margin-top: auto;
}
.entry-content .iwt-method-links a {
	color: var(--iwt-navy);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: var(--iwt-red);
	text-underline-offset: 4px;
}
.iwt-method-links a::after {
	content: " \2192";
	color: var(--iwt-red);
}

/* How we make our studs: numbered steps beside the photo */
.iwt-steps {
	counter-reset: iwt-step;
	margin-top: 24px;
}
.iwt-steps > * {
	margin-block: 0;
}
.iwt-step {
	position: relative;
	padding: 16px 0 16px 56px;
	border-top: 1px solid var(--iwt-mist);
}
.iwt-step::before {
	counter-increment: iwt-step;
	content: counter(iwt-step, decimal-leading-zero);
	position: absolute;
	top: 16px;
	left: 0;
	color: var(--iwt-red);
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.3;
	font-variant-numeric: tabular-nums;
}
.iwt-section .iwt-step h3 {
	margin-bottom: 4px;
}
.iwt-process .iwt-stats {
	margin-top: 24px;
}

/* Compatible brands: plain text chips */
.iwt-section .iwt-brand-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	max-width: 1100px;
	margin-top: clamp(20px, 2.4vw, 32px);
	padding: 0;
	list-style: none;
}
.iwt-brand-list li {
	margin: 0;
	padding: 9px 16px;
	border: 1px solid var(--iwt-mist);
	border-radius: 4px;
	color: var(--iwt-navy-deep);
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.2;
}

/* Custom or bulk order: one bordered panel, text left, buttons right */
.iwt-section.iwt-cta {
	padding-block: clamp(40px, 5vw, 64px);
}
.iwt-cta-panel {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px clamp(24px, 4vw, 64px);
	padding: clamp(24px, 3vw, 40px);
	border: 1px solid var(--iwt-mist);
	border-radius: 8px;
	background: var(--iwt-steel);
}
.iwt-cta-panel > * {
	margin-block: 0;
}
.iwt-section .iwt-cta-panel h2 {
	margin-bottom: 8px;
	font-size: clamp(1.375rem, 2vw, 1.75rem);
}
.iwt-cta-panel .wp-block-buttons {
	gap: 12px;
}
.iwt-cta-panel .wp-block-button__link {
	padding: 14px 26px;
	border: 2px solid var(--iwt-navy);
	border-radius: 4px;
	background: var(--iwt-navy);
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
}
.iwt-cta-panel .wp-block-button__link:hover,
.iwt-cta-panel .wp-block-button__link:focus-visible {
	background: var(--iwt-navy-deep);
	border-color: var(--iwt-navy-deep);
	color: #fff;
}
.iwt-cta-panel .wp-block-button + .wp-block-button .wp-block-button__link {
	background: transparent;
	color: var(--iwt-navy);
}
.iwt-cta-panel .wp-block-button + .wp-block-button .wp-block-button__link:hover,
.iwt-cta-panel .wp-block-button + .wp-block-button .wp-block-button__link:focus-visible {
	background: var(--iwt-steel);
	border-color: var(--iwt-navy);
	color: var(--iwt-navy-deep);
}
.iwt-cta-panel .wp-block-button__link:focus-visible {
	outline: 2px solid var(--iwt-navy);
	outline-offset: 3px;
}

/* FAQ: native details/summary, divided rows, red plus/minus */
.iwt-faq-list {
	max-width: 900px;
	margin-top: clamp(20px, 2.4vw, 32px) !important;
	border-top: 1px solid var(--iwt-mist);
}
.iwt-faq-list > * {
	margin-block: 0;
}
.iwt-faq-list details {
	border-bottom: 1px solid var(--iwt-mist);
}
.iwt-faq-list summary {
	position: relative;
	padding: 18px 40px 18px 0;
	color: var(--iwt-navy-deep);
	font-size: 1.0625rem;
	font-weight: 600;
	line-height: 1.4;
	list-style: none;
	cursor: pointer;
}
.iwt-faq-list summary::-webkit-details-marker {
	display: none;
}
.iwt-faq-list summary::after {
	content: "+";
	position: absolute;
	top: 50%;
	right: 4px;
	transform: translateY(-50%);
	color: var(--iwt-red);
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1;
}
.iwt-faq-list details[open] summary::after {
	content: "\2212";
}
.iwt-faq-list summary:hover {
	color: var(--iwt-navy);
}
.iwt-faq-list summary:focus-visible {
	outline: 2px solid var(--iwt-navy);
	outline-offset: 2px;
}
.iwt-faq-list details > p {
	max-width: 70ch;
	margin: 0;
	padding: 0 40px 20px 0;
}
.entry-content .iwt-faq-list details a {
	color: var(--iwt-navy);
	font-weight: 600;
	text-decoration-color: var(--iwt-red);
	text-underline-offset: 3px;
}

/* Phones: stud type cards and the shop cards in a 3-column grid (Equipment) become compact rows, photo left */
@media (max-width: 599px) {
	.iwt-cat-card--fill,
	.iwt-shop .iwt-card-grid--3 > .iwt-cat-card {
		display: grid;
		grid-template-columns: 96px 1fr;
		grid-template-rows: auto 1fr;
		column-gap: 14px;
		padding: 10px;
	}
	.iwt-cat-card--fill .wp-block-image,
	.iwt-shop .iwt-card-grid--3 > .iwt-cat-card .wp-block-image {
		grid-row: 1 / 3;
		aspect-ratio: 1;
		margin: 0;
	}
	.iwt-section .iwt-cat-card--fill h3,
	.iwt-section.iwt-shop .iwt-card-grid--3 > .iwt-cat-card h3 {
		align-self: end;
		margin: 4px 0 4px;
		padding-inline: 0;
		font-size: 1rem;
	}
	.iwt-cat-card--fill p,
	.iwt-shop .iwt-card-grid--3 > .iwt-cat-card p {
		padding-inline: 0;
		font-size: 0.875rem;
		line-height: 1.45;
	}
}

/* Equipment hub: smaller shop cards (1.13.6). Page-scoped; .iwt-shop is also on home and studs. */
@media (min-width: 600px) {
	.page-id-1561 .iwt-shop .iwt-card-grid--3 { gap: clamp(14px, 1.6vw, 22px); }
	.page-id-1561 .iwt-shop .iwt-cat-card { padding: 10px 10px 14px; }
	/* 1.14.63: 2:1 tile (was 16:9) for the 1200x600 transparent card images; they carry their own margin */
	.page-id-1561 .iwt-shop .iwt-cat-card .wp-block-image { aspect-ratio: 2 / 1; margin-bottom: 10px; }
	.page-id-1561 .iwt-shop .iwt-cat-card .wp-block-image img { inset: 3%; width: 94%; height: 94%; }
	.page-id-1561 .iwt-section.iwt-shop .iwt-cat-card h3 { font-size: 1.0625rem; }
	.page-id-1561 .iwt-shop .iwt-cat-card p { font-size: 0.875rem; line-height: 1.45; }
}

/* Consumables (1563, 1.14.64): two cards under the navy band; 2:1 tiles for the 1200x600 transparent card images */
.entry-content .iwt-subhead + .uagb-is-root-container:has(.iwt-consumables) { padding-top: 32px; }
.page-id-1563 .iwt-consumables .iwt-card-grid--2 { max-width: 960px; }
.page-id-1563 .iwt-consumables .iwt-cat-card { padding: 10px 10px 16px; }
.page-id-1563 .iwt-consumables .iwt-cat-card .wp-block-image { aspect-ratio: 2 / 1; margin-bottom: 12px; }
.page-id-1563 .iwt-consumables .iwt-cat-card .wp-block-image img { inset: 3%; width: 94%; height: 94%; }

/* CD Stud Welders (1896): smaller "Add to your setup" cards (1.13.7). The 4-card packages grid is untouched. */
@media (min-width: 600px) {
	.page-id-1896 .iwt-setup .iwt-card-grid--3 { gap: clamp(14px, 1.6vw, 22px); }
	.page-id-1896 .iwt-setup .iwt-card-grid--3 > .iwt-pkg-card { padding: 12px 12px 16px; }
	.page-id-1896 .iwt-setup .iwt-card-grid--3 > .iwt-pkg-card .wp-block-image { aspect-ratio: 16 / 9; margin-bottom: 12px; }
	.entry-content.entry-content .iwt-setup .iwt-card-grid--3 > .iwt-pkg-card h3 { font-size: 1.125rem; }
	.page-id-1896 .iwt-setup .iwt-card-grid--3 > .iwt-pkg-card p:not(.iwt-pkg-meta) { margin-bottom: 10px; font-size: 0.875rem; line-height: 1.45; }
	.page-id-1896 .iwt-setup .iwt-card-grid--3 > .iwt-pkg-card .iwt-pkg-meta { padding-top: 10px; }
}

/* ==========================================================================
   CD weld stud table, [iwt_cd_stud_table] on page 1573 (2026-10-16, 1.6.0)
   Spec table, no images. Chip filters + search above; rows become cards on phones.
   PHP: inc/cd-stud-table.php · JS: js/cd-stud-table.js
   ========================================================================== */
.iwt-studs {
	--iwt-studs-line: #e2e8f0;
	color: var(--iwt-ink);
	font-size: 0.9375rem;
}
.iwt-studs__filters {
	display: grid;
	gap: 14px;
	margin-bottom: 20px;
	padding: clamp(16px, 2vw, 24px);
	border: 1px solid var(--iwt-mist);
	border-radius: 8px;
	background: #fff;
}
.iwt-studs__search input[type="search"] {
	width: 100%;
	height: 48px;
	padding: 0 16px;
	border: 1px solid var(--iwt-mist);
	border-radius: 8px;
	background: #fff;
	color: var(--iwt-ink);
	font-size: 1rem;
}
.iwt-studs__search input[type="search"]::placeholder {
	color: var(--iwt-slate-500);
}
.iwt-studs__search input[type="search"]:focus {
	border-color: var(--iwt-navy);
	outline: 2px solid var(--iwt-navy);
	outline-offset: 0;
}
.iwt-studs__group {
	display: grid;
	grid-template-columns: 84px 1fr;
	align-items: start;
	gap: 10px;
}
.iwt-studs__group-label {
	padding-top: 7px;
	color: var(--iwt-navy-deep);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.iwt-studs__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.iwt-studs .iwt-studs__chip {
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	min-height: 36px;
	padding: 7px 12px;
	border: 1px solid var(--iwt-mist);
	border-radius: 4px;
	background: #fff;
	color: var(--iwt-navy-deep);
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.2;
	font-variant-numeric: tabular-nums;
	cursor: pointer;
}
.iwt-studs .iwt-studs__chip[hidden] {
	display: none;
}
.iwt-studs .iwt-studs__chip:hover {
	border-color: var(--iwt-navy);
	background: var(--iwt-steel);
}
.iwt-studs .iwt-studs__chip[aria-pressed="true"] {
	border-color: var(--iwt-navy);
	background: var(--iwt-navy);
	color: #fff;
}
.iwt-studs .iwt-studs__chip:disabled {
	border-style: dashed;
	background: #fff;
	color: var(--iwt-slate-400);
	cursor: default;
}
.iwt-studs .iwt-studs__chip:focus-visible {
	outline: 2px solid var(--iwt-navy);
	outline-offset: 2px;
}
.iwt-studs__count {
	color: var(--iwt-slate-500);
	font-size: 0.75rem;
	font-weight: 400;
}
.iwt-studs__chip[aria-pressed="true"] .iwt-studs__count {
	color: var(--iwt-mist);
}
.iwt-studs__status {
	display: flex;
	align-items: center;
	gap: 16px;
	padding-top: 12px;
	border-top: 1px solid var(--iwt-studs-line);
}
.iwt-studs__result {
	margin: 0;
	color: var(--iwt-navy-deep);
	font-weight: 600;
}
.iwt-studs .iwt-studs__clear {
	padding: 0;
	border: 0;
	background: none;
	color: var(--iwt-navy);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: var(--iwt-red);
	text-underline-offset: 3px;
	cursor: pointer;
}

/* Table */
.iwt-studs__table {
	width: 100%;
	margin: 0;
	border: 1px solid var(--iwt-mist);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 8px;
	font-variant-numeric: tabular-nums;
}
.iwt-studs__table[hidden] {
	display: none;
}
.iwt-studs__table th {
	position: sticky;
	top: 0;
	z-index: 1;
	padding: 12px 14px;
	border: 0;
	border-bottom: 1px solid var(--iwt-mist);
	background: var(--iwt-navy);
	color: #fff;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-align: left;
	text-transform: uppercase;
	white-space: nowrap;
}
.iwt-studs__table th:first-child {
	border-top-left-radius: 7px;
}
.iwt-studs__table th:last-child {
	border-top-right-radius: 7px;
}
.iwt-studs .iwt-studs__sort {
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
	cursor: pointer;
}
.iwt-studs__sort::after {
	content: "↕";
	margin-left: 6px;
	opacity: 0.5;
}
th[aria-sort="ascending"] .iwt-studs__sort::after {
	content: "↑";
	opacity: 1;
}
th[aria-sort="descending"] .iwt-studs__sort::after {
	content: "↓";
	opacity: 1;
}
.iwt-studs__sort:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}
.iwt-studs__table td {
	padding: 10px 14px;
	border: 0;
	border-bottom: 1px solid var(--iwt-studs-line);
	vertical-align: middle;
}
.iwt-studs__table tbody tr:nth-child(even of :not([hidden])) td {
	background: #f8fafc;
}
.iwt-studs__table tbody tr:hover td {
	background: var(--iwt-steel);
}
.iwt-studs__table tbody tr:last-child td {
	border-bottom: 0;
}
.iwt-studs__num {
	text-align: right;
}
.iwt-studs__table th.iwt-studs__num {
	text-align: right;
}
.entry-content .iwt-studs__sku a {
	color: var(--iwt-navy);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.875rem;
	text-decoration: none;
}
.entry-content .iwt-studs__sku a:hover {
	text-decoration: underline;
}
.iwt-studs__size {
	font-weight: 600;
	white-space: nowrap;
}
.iwt-studs__type,
.iwt-studs__material span,
.iwt-studs__price span {
	display: block;
	color: var(--iwt-slate-500);
	font-size: 0.75rem;
	font-weight: 400;
}
.iwt-studs__length {
	font-weight: 600;
	white-space: nowrap;
}
.iwt-studs__material strong {
	font-weight: 600;
}
.iwt-studs__price {
	font-weight: 600;
	white-space: nowrap;
}
.iwt-studs__stock {
	display: inline-block;
	padding: 3px 8px;
	border-radius: 4px;
	font-size: 0.8125rem;
	font-weight: 500;
	white-space: nowrap;
}
.iwt-studs__stock--in {
	background: var(--iwt-ok-bg);
	color: var(--iwt-ok);
}
.iwt-studs__stock--low {
	background: var(--iwt-warn-bg);
	color: var(--iwt-warn);
}
.iwt-studs__stock--production {
	background: var(--iwt-steel);
	color: var(--iwt-navy);
}
.iwt-studs__buy form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 6px;
	margin: 0;
}
.iwt-studs .iwt-studs__qty {
	width: 84px;
	height: 38px;
	padding: 0 8px;
	border: 1px solid var(--iwt-mist);
	border-radius: 4px;
	background: #fff;
	color: var(--iwt-ink);
	text-align: right;
}
.iwt-studs .iwt-studs__add {
	min-width: 5rem; /* "Added" fits without resizing the button or the row (1.8.13) */
	height: 38px;
	padding: 0 16px;
	border: 0;
	border-radius: 4px;
	background: var(--iwt-navy);
	color: #fff;
	font-size: 0.9375rem;
	font-weight: 600;
	cursor: pointer;
}
.iwt-studs .iwt-studs__add:hover,
.iwt-studs .iwt-studs__add:focus-visible {
	background: var(--iwt-navy-deep);
}
.iwt-studs .iwt-studs__add.is-added {
	background: var(--iwt-ok);
}
/* CD stud table quantity (1.14.87): steps of 100 with - / + only; the box is read-only and joins the buttons. */
.iwt-studs__stepper {
	display: inline-flex;
	flex: none;
	align-items: stretch;
	border-radius: 4px;
	background: #fff;
	box-shadow: inset 0 0 0 1px var(--iwt-mist); /* a border would make it 2px taller than the Add button */
}
.iwt-studs .iwt-studs__stepper .iwt-studs__qty {
	flex: none;
	width: 60px;
	padding: 0 4px;
	border: 0;
	border-radius: 0;
	background: transparent;
	text-align: center;
	cursor: default;
	-moz-appearance: textfield;
	appearance: textfield;
}
.iwt-studs__stepper .iwt-studs__qty::-webkit-inner-spin-button,
.iwt-studs__stepper .iwt-studs__qty::-webkit-outer-spin-button {
	margin: 0;
	-webkit-appearance: none;
}
.iwt-studs .iwt-studs__step {
	width: 30px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--iwt-navy);
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
}
.iwt-studs .iwt-studs__step:hover:not(:disabled),
.iwt-studs .iwt-studs__step:focus-visible {
	background: var(--iwt-steel);
}
.iwt-studs .iwt-studs__step:disabled {
	color: var(--iwt-slate-500);
	opacity: 0.45;
	cursor: default;
}
.iwt-studs__call {
	color: var(--iwt-navy);
	font-size: 0.8125rem;
	font-weight: 600;
	white-space: nowrap;
}
.iwt-studs__empty {
	padding: 32px;
	border: 1px dashed var(--iwt-mist);
	border-radius: 8px;
	text-align: center;
}

/* Phones and tablets: chips scroll sideways, rows become cards (the table needs ~920px) */
@media (max-width: 1023px) {
	.iwt-studs__group {
		grid-template-columns: 1fr;
		gap: 6px;
	}
	.iwt-studs__group-label {
		padding-top: 0;
	}
	.iwt-studs__chips {
		flex-wrap: nowrap;
		margin-inline: calc(-1 * clamp(16px, 2vw, 24px));
		padding-inline: clamp(16px, 2vw, 24px);
		padding-bottom: 4px;
		overflow-x: auto;
		scrollbar-width: none;
	}
	.iwt-studs .iwt-studs__chip {
		flex: none;
	}
	.iwt-studs__table,
	.iwt-studs__table tbody {
		display: block;
		border: 0;
	}
	.iwt-studs__table thead {
		display: none;
	}
	.iwt-studs__table tbody tr {
		display: grid;
		grid-template-columns: auto 1fr auto;
		grid-template-areas:
			"size len price"
			"mat mat flange"
			"sku sku stock"
			"buy buy buy";
		align-items: baseline;
		gap: 6px 10px;
		margin-bottom: 10px;
		padding: 14px;
		border: 1px solid var(--iwt-mist);
		border-radius: 8px;
		background: #fff;
	}
	.iwt-studs__table tbody tr[hidden] {
		display: none;
	}
	.iwt-studs__table tbody tr td,
	.iwt-studs__table tbody tr:nth-child(even of :not([hidden])) td,
	.iwt-studs__table tbody tr:hover td {
		padding: 0;
		border: 0;
		background: none;
	}
	.iwt-studs__size { grid-area: size; font-size: 1.0625rem; }
	.iwt-studs__length { grid-area: len; font-size: 1.0625rem; }
	.iwt-studs__length::before { content: "× "; color: var(--iwt-slate-500); font-weight: 400; }
	.iwt-studs__type { display: none; }
	.iwt-studs__price { grid-area: price; }
	.iwt-studs__material { grid-area: mat; color: var(--iwt-slate-700); }
	.iwt-studs__material span { display: inline; }
	.iwt-studs__flange { grid-area: flange; justify-self: end; color: var(--iwt-slate-700); }
	.iwt-studs__sku { grid-area: sku; }
	.iwt-studs__table td:nth-child(6) { grid-area: stock; justify-self: end; }
	.iwt-studs__buy { grid-area: buy; margin-top: 4px; }
	.iwt-studs__buy form {
		justify-content: stretch;
	}
	.iwt-studs .iwt-studs__qty {
		flex: 1;
		height: 44px;
	}
	.iwt-studs .iwt-studs__add {
		flex: 2;
		height: 44px;
	}
}
.entry-content .iwt-studs-intro {
	max-width: 62ch;
	margin-bottom: 20px;
	color: var(--iwt-slate-700);
	font-size: 1.125rem;
}

/* CD stud page, wide layout (1.6.1): the Spectra container that holds the table drops its
   1200px cap for the site's 1600px column and lines up with the header's side margin. */
.wp-block-uagb-container.uagb-is-root-container:has(.iwt-studs, .iwt-compare) {
	padding-inline: var(--iwt-gutter);
}
/* Beats Spectra's per-block rule (.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-… > …). */
.entry-content .wp-block-uagb-container.uagb-is-root-container.alignfull:has(.iwt-studs, .iwt-compare) > .uagb-container-inner-blocks-wrap {
	max-width: min(100%, 1600px);
	align-items: stretch;
}
.entry-content .iwt-studs-intro {
	margin-inline: 0;
	text-align: left;
}

/* Desktop: filters in a sticky left column, table on the right */
@media (min-width: 1280px) {
	.iwt-studs {
		--iwt-studs-top: calc(var(--wp-admin--admin-bar--height, 0px) + 16px);
		display: grid;
		grid-template-columns: 296px minmax(0, 1fr);
		align-items: start;
		gap: 28px;
	}
	.iwt-studs__filters {
		position: sticky;
		top: var(--iwt-studs-top);
		max-height: calc(100vh - var(--iwt-studs-top) - 16px);
		margin-bottom: 0;
		padding: 18px;
		overflow-y: auto;
		overscroll-behavior: contain;
		scrollbar-width: thin;
	}
	/* Result count and Clear sit at the top of the column */
	.iwt-studs__status {
		order: -1;
		justify-content: space-between;
		padding-top: 0;
		padding-bottom: 12px;
		border-top: 0;
		border-bottom: 1px solid var(--iwt-studs-line);
	}
	.iwt-studs__group {
		grid-template-columns: 1fr;
		gap: 8px;
	}
	.iwt-studs__group-label {
		padding-top: 0;
	}
	.iwt-studs__chips {
		gap: 6px;
	}
	.iwt-studs .iwt-studs__chip {
		min-height: 32px;
		padding: 5px 9px;
		font-size: 0.875rem;
	}
	.iwt-studs__search input[type="search"] {
		height: 44px;
		padding: 0 12px;
		font-size: 0.9375rem;
	}
	.iwt-studs__table th {
		top: var(--wp-admin--admin-bar--height, 0px);
	}
	.iwt-studs__table th,
	.iwt-studs__table td {
		padding-inline: 12px;
	}
}

/* CD stud table, first 50 matches + "Show more" (1.6.2) */
.iwt-studs__more {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	padding: 24px 0 8px;
}
.iwt-studs__more[hidden],
.iwt-studs .iwt-studs__more-btn[hidden] {
	display: none;
}
.iwt-studs__more-count {
	margin: 0;
	color: var(--iwt-slate-500);
	font-size: 0.875rem;
}
.iwt-studs .iwt-studs__more-btn {
	min-width: 220px;
	height: 46px;
	padding: 0 24px;
	border: 2px solid var(--iwt-navy);
	border-radius: 4px;
	background: #fff;
	color: var(--iwt-navy);
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
}
.iwt-studs .iwt-studs__more-btn:hover,
.iwt-studs .iwt-studs__more-btn:focus-visible {
	background: var(--iwt-navy);
	color: #fff;
}
.iwt-studs .iwt-studs__more-btn:focus-visible {
	outline: 2px solid var(--iwt-navy);
	outline-offset: 3px;
}

/* CD stud table polish (1.6.3): compact rows, Clear filters sized like the count, help line */
.iwt-studs .iwt-studs__clear {
	min-height: 0;
	font-size: 0.875rem;
	line-height: 1.3;
}
.iwt-studs__result {
	font-size: 0.9375rem;
	line-height: 1.3;
}
@media (min-width: 1024px) {
	/* One line per spec: the Type filter already says Standard/Metric/Pin */
	.iwt-studs__size .iwt-studs__type {
		display: none;
	}
	.iwt-studs__material span {
		display: inline;
		margin-left: 4px;
	}
	.iwt-studs__table td {
		padding-block: 7px;
		line-height: 1.3;
	}
	.iwt-studs__price span {
		display: inline;
		margin-left: 6px;
	}
	.iwt-studs .iwt-studs__qty,
	.iwt-studs .iwt-studs__add {
		height: 34px;
	}
	.iwt-studs .iwt-studs__qty {
		width: 76px;
	}
	.iwt-studs__stock {
		padding-block: 2px;
	}
	/* Keep each cell on one line so the auto table layout sizes columns to their content */
	.iwt-studs__sku,
	.iwt-studs__material,
	.iwt-studs__flange,
	.iwt-studs__buy {
		white-space: nowrap;
	}
	.iwt-studs__buy {
		width: 1%;
	}
	.iwt-studs__buy form {
		flex-wrap: nowrap;
	}
}
.iwt-studs__status {
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 12px;
}
.iwt-studs__result,
.iwt-studs .iwt-studs__clear {
	white-space: nowrap;
}
.entry-content .iwt-studs-help {
	margin: 28px 0 0;
	padding: 18px 20px;
	border: 1px solid var(--iwt-mist);
	border-left: 4px solid var(--iwt-navy);
	border-radius: 8px;
	background: var(--iwt-steel);
	color: var(--iwt-slate-700);
	font-size: 1rem;
}
.entry-content .iwt-studs-help strong {
	color: var(--iwt-navy-deep);
}
.entry-content .iwt-studs-help a {
	color: var(--iwt-navy);
	font-weight: 600;
	text-decoration-color: var(--iwt-red);
	text-underline-offset: 3px;
	white-space: nowrap;
}

/* Fit the table beside the filter column down to 1280px */
@media (min-width: 1024px) {
	.iwt-studs__table th,
	.iwt-studs__table td {
		padding-inline: 9px;
	}
}
@media (min-width: 1024px) and (max-width: 1499px) {
	.iwt-studs__price span,
	.iwt-studs__material span {
		display: none;
	}
}
@media (min-width: 1280px) and (max-width: 1499px) {
	.iwt-studs {
		grid-template-columns: 260px minmax(0, 1fr);
		gap: 24px;
	}
}

/* CD stud page: "Complete your setup" welding packages (1.6.4). Sits inside the table's
   container so it shares its edges; type and spacing mirror the home page sections. */
.entry-content .iwt-setup {
	margin: clamp(56px, 7vw, 88px) 0 0;
	padding-top: clamp(40px, 5vw, 64px);
	border-top: 1px solid var(--iwt-mist);
	color: var(--iwt-ink);
}
.iwt-setup > *,
.iwt-setup .iwt-card-grid > * {
	margin-block: 0;
}
.entry-content .iwt-setup .iwt-eyebrow {
	margin-bottom: 10px;
	color: var(--iwt-red);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.entry-content .iwt-setup h2 {
	margin-bottom: 12px;
	color: var(--iwt-navy-deep);
	font-size: clamp(1.75rem, 2.8vw, 2.5rem);
	font-weight: 700;
	line-height: 1.15;
}
.entry-content .iwt-setup .iwt-lede {
	max-width: 70ch;
	color: var(--iwt-slate-700);
	font-size: 1.0625rem;
	line-height: 1.6;
}
.entry-content .iwt-setup h3 {
	margin-bottom: 6px;
	font-size: 1.1875rem;
	font-weight: 600;
	line-height: 1.3;
}
.iwt-pkg-card p {
	line-height: 1.5;
}
/* WordPress's block gap (24px between blocks in a flow layout) would split title and text */
.iwt-pkg-card > *:not(.iwt-pkg-meta) {
	margin-block-start: 0;
}
.entry-content .iwt-pkg-card .iwt-pkg-meta {
	margin-bottom: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 4px 12px;
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	font-size: 0.875rem;
}
.iwt-pkg-card p:not(.iwt-pkg-meta) {
	margin-bottom: 14px;
}
.iwt-pkg-meta span {
	color: var(--iwt-mist);
}
.iwt-pkg-meta strong {
	color: #fff;
	font-size: 1.0625rem;
	font-weight: 700;
}
.entry-content .iwt-setup .iwt-section-note {
	margin-top: 28px;
	font-size: 0.9375rem;
}
/* Phones: one package per row, photo left, so long package names don't squeeze */
@media (max-width: 599px) {
	.iwt-setup .iwt-card-grid--4 {
		grid-template-columns: 1fr;
		gap: 12px;
	}
	.iwt-pkg-card {
		display: grid;
		grid-template-columns: 104px minmax(0, 1fr);
		grid-template-areas:
			"img title"
			"img text"
			"meta meta";
		column-gap: 14px;
		padding: 12px;
	}
	.iwt-pkg-card .wp-block-image {
		grid-area: img;
		align-self: start;
		margin: 0;
	}
	.entry-content .iwt-setup .iwt-pkg-card h3 {
		grid-area: title;
		margin-bottom: 4px;
		padding-inline: 0;
		font-size: 1.0625rem;
	}
	.iwt-pkg-card p:not(.iwt-pkg-meta) {
		grid-area: text;
		margin-bottom: 10px;
		padding-inline: 0;
	}
	.entry-content .iwt-pkg-card .iwt-pkg-meta {
		grid-area: meta;
		padding-inline: 0;
		font-size: 0.875rem;
	}
}

/* ==========================================================================
   Short part lists, [iwt_part_list] on Drawn Arc Studs 1575 and Specialty Fasteners 1576
   (2026-10-16, 1.7.0). Reuses the CD stud table rows; one small table per product, no filters.
   PHP: inc/part-list.php · JS: js/part-list.js
   ========================================================================== */
@media (min-width: 1280px) {
	.iwt-studs.iwt-parts {
		display: block;
	}
}
.iwt-parts__group + .iwt-parts__group {
	margin-top: clamp(32px, 4vw, 48px);
}
.entry-content .iwt-parts__title {
	margin: 0 0 4px;
	color: var(--iwt-navy-deep);
	font-size: 1.1875rem;
	font-weight: 600;
}
.entry-content .iwt-parts__note {
	max-width: 70ch;
	margin: 0 0 14px;
	color: var(--iwt-slate-700);
}
.entry-content .iwt-parts .iwt-parts__call {
	display: inline-flex;
	align-items: center;
	height: 34px;
	padding: 0 14px;
	border: 2px solid var(--iwt-navy);
	border-radius: 4px;
	background: #fff;
	color: var(--iwt-navy);
	font-size: 0.875rem;
	text-decoration: none;
}
.entry-content .iwt-parts .iwt-parts__call:hover,
.entry-content .iwt-parts .iwt-parts__call:focus-visible {
	background: var(--iwt-navy);
	color: #fff;
}
@media (min-width: 1024px) {
	.iwt-parts .iwt-studs__buy {
		text-align: right;
	}
}
@media (max-width: 1023px) {
	.iwt-parts .iwt-studs__table tbody tr {
		grid-template-areas:
			"size len price"
			"mat mat mat"
			"sku sku stock"
			"buy buy buy";
	}
	.iwt-parts .iwt-studs__table td:nth-child(n) {
		grid-area: auto;
		justify-self: auto;
	}
	.iwt-parts .iwt-studs__table td.iwt-studs__sku { grid-area: sku; }
	.iwt-parts .iwt-studs__table td.iwt-studs__size { grid-area: size; }
	.iwt-parts .iwt-studs__table td.iwt-studs__length { grid-area: len; }
	.iwt-parts .iwt-studs__table td.iwt-studs__material { grid-area: mat; }
	.iwt-parts .iwt-studs__table td.iwt-parts__stock { grid-area: stock; justify-self: end; }
	.iwt-parts .iwt-studs__table td.iwt-studs__price { grid-area: price; justify-self: end; }
	.iwt-parts .iwt-studs__table td.iwt-studs__buy { grid-area: buy; }
	.iwt-parts--no-length .iwt-studs__table tbody tr {
		grid-template-areas:
			"size size price"
			"sku sku stock"
			"buy buy buy";
	}
	.entry-content .iwt-parts .iwt-parts__call {
		justify-content: center;
		width: 100%;
		height: 44px;
	}
}

/* Call for pricing (Drawn Arc studs): price text and the product page call box */
.iwt-call-price {
	color: var(--iwt-navy);
	font-weight: 600;
}
.iwt-call-box {
	margin: 16px 0 20px;
	padding: 14px 16px;
	border: 1px solid var(--iwt-mist);
	border-left: 4px solid var(--iwt-navy);
	border-radius: 8px;
	background: var(--iwt-steel);
	color: var(--iwt-slate-700);
}
.iwt-call-box strong {
	display: block;
	color: var(--iwt-navy-deep);
}
.iwt-call-box a {
	color: var(--iwt-navy);
	font-weight: 600;
	text-decoration-color: var(--iwt-red);
	text-underline-offset: 3px;
}
.entry-content .iwt-studs-help--top {
	margin: 0 0 clamp(24px, 3vw, 36px);
}
/* Stud pages (CD 1573, DA 1575, Specialty 1576): space between the navy [iwt_subheader] band and the list */
.entry-content .iwt-subhead + .uagb-is-root-container:has(.iwt-studs) {
	padding-top: 32px;
}
/* wpautop leaves empty paragraphs around the shortcode; they add a gap above and below the list */
.uagb-container-inner-blocks-wrap:has(> .iwt-studs) > p:empty {
	display: none;
}
/* Phones, call lists: the call button sits top right instead of a full-width row */
@media (max-width: 1023px) {
	.iwt-parts--call .iwt-studs__table tbody tr {
		grid-template-areas:
			"size len buy"
			"mat mat mat"
			"sku sku stock";
		align-items: center;
	}
	.iwt-parts--call .iwt-studs__table td.iwt-studs__buy {
		justify-self: end;
		margin-top: 0;
	}
	.entry-content .iwt-parts--call .iwt-parts__call {
		width: auto;
		height: 36px;
	}
}
@media (max-width: 1023px) {
	.iwt-parts .iwt-studs__table td.iwt-studs__material--empty {
		display: none;
	}
	.entry-content .iwt-parts--call .iwt-parts__call {
		padding: 0 10px;
		font-size: 0.8125rem;
	}
}

/* Part list photos (1.7.2): one product photo beside each group heading, or a thumbnail per row
   when the variations have their own photos. Steel tile + multiply, as on the category cards. */
.iwt-parts__head {
	display: flex;
	align-items: center;
	gap: clamp(14px, 2vw, 22px);
	margin-bottom: 14px;
}
.entry-content .iwt-parts__head .iwt-parts__note {
	margin-bottom: 0;
}
.iwt-parts__photo {
	flex: none;
	width: clamp(88px, 8vw, 120px);
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: 8px;
	background: var(--iwt-steel);
}
.iwt-parts__photo img,
.iwt-parts__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.iwt-studs__table td.iwt-parts__img {
	width: 1%;
	padding-block: 4px;
}
.iwt-parts__img a {
	display: block;
	width: 52px;
	height: 52px;
	overflow: hidden;
	border-radius: 6px;
	background: var(--iwt-steel);
}
@media (max-width: 1023px) {
	.iwt-parts__group--thumbs .iwt-studs__table tbody tr {
		grid-template-columns: 64px auto 1fr auto;
		grid-template-areas:
			"img size len price"
			"img mat mat mat"
			"img sku sku stock"
			"buy buy buy buy";
	}
	.iwt-parts--no-length .iwt-parts__group--thumbs .iwt-studs__table tbody tr {
		grid-template-areas:
			"img size size price"
			"img sku sku stock"
			"buy buy buy buy";
	}
	.iwt-parts .iwt-studs__table td.iwt-parts__img {
		grid-area: img;
		align-self: start;
		width: auto;
	}
	.iwt-parts__img a {
		width: 64px;
		height: 64px;
	}
}

/* CD studs page (1.7.2): one stud photo beside the intro so shoppers see what they're buying */
.entry-content .iwt-studs-lead {
	display: flex;
	align-items: center;
	gap: clamp(16px, 2.5vw, 32px);
	margin-bottom: 20px;
}
.entry-content .iwt-studs-lead > * {
	margin-block: 0;
}
.entry-content .iwt-studs-lead .iwt-studs-intro {
	margin-bottom: 0;
}
.entry-content .iwt-studs-lead .wp-block-image {
	flex: none;
	width: clamp(96px, 9vw, 136px);
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: 8px;
	background: var(--iwt-steel);
}
.entry-content .iwt-studs-lead .wp-block-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media (max-width: 599px) {
	.entry-content .iwt-studs-lead {
		align-items: flex-start;
	}
	.entry-content .iwt-studs-lead .wp-block-image {
		width: 88px;
	}
}
.iwt-parts p:empty {
	display: none;
}

/* Spectra page title band (block add60476, shared by the stud pages and a few others): the title
   lines up with the logo and the page content instead of sitting 10px from the screen edge. */
.entry-content .wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-add60476 {
	padding-inline: var(--iwt-gutter);
}
.entry-content .wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-add60476 > .uagb-container-inner-blocks-wrap {
	max-width: min(100%, 1600px);
	margin-inline: auto;
	align-items: flex-start;
}

/* ==========================================================================
   CD stud welders page 1896 (1.7.6): packages, compare table, add-ons.
   Same shell as the CD studs page (title band, lead, .iwt-setup sections).
   ========================================================================== */
.entry-content .iwt-setup--first {
	margin-top: clamp(32px, 4vw, 48px);
}
/* Intro line under a section title runs the full content width on this page (the 70ch cap wrapped it early). */
.page-id-1896 .entry-content .iwt-setup .iwt-lede {
	max-width: none;
}
.entry-content .iwt-compare {
	margin: clamp(20px, 2.5vw, 28px) 0 0;
	overflow-x: auto;
	border: 1px solid var(--iwt-mist);
	border-radius: 8px;
}
.entry-content .iwt-compare table {
	width: 100%;
	min-width: 720px;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	font-size: 0.9375rem;
}
.entry-content .iwt-compare th,
.entry-content .iwt-compare td {
	padding: 14px 16px;
	border: 0;
	border-bottom: 1px solid var(--iwt-mist);
	text-align: left;
	vertical-align: top;
	color: var(--iwt-slate-700);
}
.entry-content .iwt-compare thead th {
	background: var(--iwt-navy);
	color: #fff;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	white-space: nowrap;
}
.entry-content .iwt-compare tbody tr:last-child td {
	border-bottom: 0;
}
.entry-content .iwt-compare tbody tr:nth-child(even) td {
	background: var(--iwt-steel);
}
/* Welder name, size and prices don't wrap; "Best for" takes the slack */
.entry-content .iwt-compare td:not(:nth-child(3)) {
	white-space: nowrap;
}
.entry-content .iwt-compare td:nth-child(3) {
	min-width: 240px;
}
.entry-content .iwt-compare td:first-child a,
.entry-content .iwt-compare td:last-child a {
	color: var(--iwt-navy);
	font-weight: 600;
	text-decoration-color: var(--iwt-red);
	text-underline-offset: 3px;
}
.entry-content .iwt-compare td:nth-child(n+4) {
	font-variant-numeric: tabular-nums;
}
/* Phones: each welder becomes a small card: name, what it's for, then three labeled figures.
   The labels come from CSS because the core table block can't carry data attributes. */
@media (max-width: 899px) {
	.entry-content .iwt-compare {
		overflow: visible;
		border: 0;
		border-radius: 0;
	}
	.entry-content .iwt-compare table {
		min-width: 0;
	}
	.entry-content .iwt-compare thead {
		display: none;
	}
	.entry-content .iwt-compare tbody {
		display: grid;
		gap: 12px;
	}
	.entry-content .iwt-compare tr {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 10px 12px;
		padding: 14px;
		border: 1px solid var(--iwt-mist);
		border-radius: 8px;
		background: #fff;
	}
	.entry-content .iwt-compare tbody tr:nth-child(even) td,
	.entry-content .iwt-compare td {
		padding: 0;
		border: 0;
		background: none;
		white-space: normal;
		min-width: 0;
	}
	.entry-content .iwt-compare td:first-child {
		grid-column: 1 / -1;
		font-size: 1.0625rem;
	}
	.entry-content .iwt-compare td:nth-child(3) {
		grid-column: 1 / -1;
		order: 1;
	}
	.entry-content .iwt-compare td:nth-child(2),
	.entry-content .iwt-compare td:nth-child(4),
	.entry-content .iwt-compare td:nth-child(5) {
		order: 2;
		padding-top: 10px;
		border-top: 1px solid var(--iwt-mist);
		color: var(--iwt-navy-deep);
		font-weight: 600;
	}
	.entry-content .iwt-compare td:nth-child(2)::before,
	.entry-content .iwt-compare td:nth-child(4)::before,
	.entry-content .iwt-compare td:nth-child(5)::before {
		display: block;
		margin-bottom: 2px;
		color: var(--iwt-slate-500);
		font-size: 0.6875rem;
		font-weight: 600;
		letter-spacing: 0.06em;
		text-transform: uppercase;
	}
	.entry-content .iwt-compare td:nth-child(2)::before { content: "Max stud"; }
	.entry-content .iwt-compare td:nth-child(4)::before { content: "Welder only"; }
	.entry-content .iwt-compare td:nth-child(5)::before { content: "Package"; }
}

/* ==========================================================================
   Product views (2026-10-26, 1.8.0): shared shell. Router and hooks: inc/product-views.php
   ========================================================================== */
.pv-breadcrumb {
	margin: 0 0 18px;
	font-size: 13px;
	color: var(--iwt-slate-600);
}
.pv-breadcrumb .woocommerce-breadcrumb {
	margin: 0;
	padding: 0;
}
.pv-breadcrumb a {
	color: var(--iwt-navy);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.iwt-pv .woocommerce-tabs ul.tabs {
	border-bottom: 2px solid var(--iwt-navy);
	padding: 0;
	margin: 0 0 24px;
}
.iwt-pv .woocommerce-tabs ul.tabs li a {
	font-weight: 600;
	color: var(--iwt-ink);
}
.iwt-pv .woocommerce-tabs ul.tabs li.active a {
	color: var(--iwt-navy);
	box-shadow: inset 0 -3px 0 var(--iwt-red);
}
.iwt-pv .pv-also {
	margin: 56px 0 0;
}
/* Stud pages (1.14.49): the "also needed" cards are compact rows (photo left, text right) at every width, not tall
   photo cards. Same row layout the phone breakpoint gives .iwt-pkg-card. */
.iwt-pv-stud .entry-content .iwt-setup.pv-also {
	margin-top: 40px;
}
.iwt-pv-stud .entry-content .iwt-setup.pv-also h2 {
	margin-bottom: 14px;
	font-size: 1.5rem;
}
.iwt-pv-stud .pv-also .iwt-card-grid {
	gap: 14px;
}
.iwt-pv-stud .pv-also .iwt-pkg-card {
	display: grid;
	grid-template-columns: 144px minmax(0, 1fr);
	grid-template-areas:
		"img title"
		"img text";
	align-content: center;
	column-gap: 16px;
	padding: 12px;
}
.iwt-pv-stud .pv-also .iwt-pkg-card .wp-block-image {
	grid-area: img;
	align-self: center;
	margin: 0;
	aspect-ratio: 4 / 3;
	border-radius: 4px;
	background: #fff;
}
/* 1.14.87: the welder (2:1) and chuck (16:9) images show whole, not cropped to a square. */
.iwt-pv-stud .pv-also .iwt-cat-card .wp-block-image.iwt-img-fill img {
	object-fit: contain;
}
.iwt-pv-stud .entry-content .pv-also .iwt-pkg-card h3 {
	grid-area: title;
	align-self: end;
	margin: 0 0 4px;
	padding-inline: 0;
	font-size: 1.125rem;
}
.iwt-pv-stud .pv-also .iwt-pkg-card p {
	grid-area: text;
	align-self: start;
	margin: 0;
	padding-inline: 0;
	font-size: 0.9375rem;
	line-height: 1.45;
}
@media (max-width: 768px) {
	.iwt-pv .woocommerce-tabs ul.tabs li {
		display: block;
	}
}

/* Stud view (1.8.1): gallery, spec tables, spec sheet, empty tabs. inc/pv-stud.php, js/pv-stud.js */
.iwt-pv-stud .pv-empty {
	display: none;
}
/* Picker (1.14.42): choices no orderable stud has with the other picks. The long Length row hides them. */
.iwt-pv-stud .ast-single-variation.iwt-pv-unavailable {
	opacity: 0.4;
	border-style: dashed;
	cursor: not-allowed;
}
/* Length is a dropdown (js/pv-stud.js rebuildLengths): the swatch buttons go, the select shows. */
.iwt-pv-stud td.value.iwt-pv-length-row .ast-variation-button-group {
	display: none;
}
.iwt-pv-stud td.value.iwt-pv-length-row select {
	display: block !important;
	width: 100%;
	max-width: 280px;
	min-height: 46px;
	padding: 0 14px;
	font-size: 16px;
	border: 1px solid var(--iwt-steel-dark, #8a96a3);
	border-radius: 4px;
	background-color: #fff;
}
/* !important: WooCommerce's `.woocommerce #content div.product .woocommerce-tabs ul.tabs li` has an id. */
.iwt-pv .woocommerce-tabs ul.tabs li.pv-tab-empty {
	display: none !important;
}
@media (min-width: 922px) {
	.iwt-pv-stud div.product div.images,
	.iwt-pv-stud div.product .woocommerce-product-gallery {
		width: 42% !important;
	}
	.iwt-pv-stud div.product div.summary {
		width: 54% !important;
	}
}
.pv-specs {
	width: 100%;
	max-width: 760px;
	border-collapse: collapse;
	font-size: 15px;
}
.pv-specs th,
.pv-specs td {
	padding: 10px 14px;
	text-align: left;
	border-bottom: 1px solid var(--iwt-mist);
	vertical-align: top;
}
.pv-specs th {
	width: 38%;
	font-weight: 600;
	color: var(--iwt-navy);
	background: var(--iwt-steel);
}
.pv-sheet__link {
	margin: 0 0 14px;
}
.pv-sheet__frame {
	display: block;
	width: 100%;
	max-width: 900px;
	height: 560px;
	border: 1px solid var(--iwt-mist);
	border-radius: 4px;
}
.iwt-pv-stud .woocommerce-product-gallery .woocommerce-product-gallery__image img,
.iwt-pv-stud .woocommerce-product-gallery img {
	background: var(--iwt-steel);
	border-radius: 4px;
}

/* ==========================================================================
   Package view (1.14.0): hero, kit cards, sticky "Your package" card.
   inc/pv-equipment.php, js/pv-equipment.js. Body class iwt-pv-package.
   ========================================================================== */
.iwt-pv-package .ast-single-entry-banner {
	display: none;
}
/* Full width container so the hero can run edge to edge (same idea as .iwt-landing). */
.iwt-pv-package .site-content > .ast-container {
	max-width: none;
	padding-inline: 0;
}
.pv-wrap,
.iwt-pv-package div.product > .summary,
.iwt-pv-package div.product > .woocommerce-tabs,
.iwt-pv-package div.product > .pv-also,
.iwt-pv-package div.product > .related,
.iwt-pv-package div.product > .up-sells {
	box-sizing: border-box;
	width: 100%;
	max-width: 1280px;
	margin-inline: auto;
	padding-inline: var(--iwt-gutter);
}
/* Astra sets this inside a media query on .ast-plain-container.ast-no-sidebar #primary, so match its specificity. */
.iwt-pv-package.ast-plain-container.ast-no-sidebar #primary {
	margin-top: 0;
}
/* !important: WooCommerce floats the summary at 48% with an id-based selector, and Astra adds a width. */
.iwt-pv-package div.product > .summary {
	float: none !important;
	width: 100% !important;
	clear: both;
	padding-block: 0;
}
/* Astra shrinks the currency symbol into a superscript; here it reads as part of the price. */
.pv-hero__price .woocommerce-Price-currencySymbol,
.pv-kit .woocommerce-Price-currencySymbol {
	font-size: inherit;
	vertical-align: baseline;
}
.iwt-pv-package [hidden] {
	display: none !important;
}
.pv-anchor {
	display: block;
}

/* Title bar under the navbar: same look as the Spectra title band on /equipment/parts-and-accessories. */
.pv-titlebar {
	position: relative;
	background-color: var(--iwt-navy-deep);
	background-position: 13% 68%;
	background-repeat: no-repeat;
	background-size: auto;
	color: #fff;
}
.pv-titlebar::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.89) 25%, rgba(0, 0, 0, 0) 100%);
}
.pv-titlebar__inner {
	position: relative;
	padding-block: 10px;
}
.pv-titlebar__text {
	margin: 0;
	color: #fff;
	font-family: "Abel", sans-serif;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.2;
}

/* Hero: deep navy, same as the gun parts header band (css/subheader.css .iwt-subhead). */
.pv-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: var(--iwt-navy-deep);
	color: #fff;
}
/* Optional photo layer (off by default, see IWT_PKG_HERO_PHOTO); the overlay keeps the text side dark. */
.pv-hero__bg {
	position: absolute;
	inset: 0;
	z-index: -1;
}
.pv-hero__bg img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.pv-hero__bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(8, 38, 56, 0.55) 0%, rgba(8, 38, 56, 0.86) 55%, rgba(8, 38, 56, 0.92) 100%),
		linear-gradient(0deg, rgba(8, 38, 56, 0.5) 0%, rgba(8, 38, 56, 0) 35%);
}
@media (max-width: 921px) {
	.pv-hero__bg::after {
		background: rgba(8, 38, 56, 0.85);
	}
}
.pv-hero .pv-breadcrumb {
	margin: 0;
	padding-top: 16px;
	color: var(--iwt-footer-text);
}
.pv-hero .pv-breadcrumb .woocommerce-breadcrumb {
	color: var(--iwt-footer-text);
}
.pv-hero .pv-breadcrumb a {
	color: #fff;
}
.pv-hero__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 40px 48px;
	padding-block: 24px 48px;
}
.pv-hero__media {
	flex: 1 1 440px;
	min-width: 0;
}
.pv-hero__stage {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 420px;
	padding: 24px;
	background: var(--iwt-steel);
	border-radius: 8px;
	box-sizing: border-box;
}
.pv-hero__img {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: 420px;
	height: auto;
	object-fit: contain;
}
.pv-hero__stage.is-scene {
	padding: 0;
	overflow: hidden;
}
.pv-hero__stage.is-scene .pv-hero__img {
	width: 100%;
	max-width: none;
	height: 100%;
	max-height: none;
	min-height: inherit;
	object-fit: cover;
}
.pv-hero__thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}
.pv-hero__thumb {
	display: block;
	width: 64px;
	height: 64px;
	padding: 2px;
	background: var(--iwt-steel);
	border: 2px solid transparent;
	border-radius: 4px;
	cursor: pointer;
}
.pv-hero__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.pv-hero__thumb.is-active {
	border-color: var(--iwt-sky);
}
/* 3D tile and viewer (1.14.75): the tile is a text button after the photos; the viewer fills the stage. */
.pv-hero__thumb--3d {
	color: var(--iwt-navy);
	font-weight: 700;
	font-size: 1rem;
	letter-spacing: 0.02em;
}
.pv-hero__stage.is-3d {
	padding: 0;
}
.pv-hero__model {
	display: block;
	width: 100%;
	height: 420px;
	--poster-color: transparent;
	background: transparent;
}
.pv-hero__model[hidden] {
	display: none;
}
.pv-hero__thumb:focus-visible,
.pv-hero__cta:focus-visible,
.pv-hero__link:focus-visible {
	outline: 3px solid var(--iwt-sky);
	outline-offset: 2px;
}
.pv-hero__body {
	flex: 1 1 440px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.pv-hero__body > * {
	margin: 0;
}
.pv-hero__eyebrow {
	color: var(--iwt-sky);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.pv-hero__title {
	color: #fff;
	font-size: clamp(1.75rem, 3.4vw, 2.875rem);
	font-weight: 600;
	line-height: 1.1;
}
.pv-hero__summary {
	max-width: 36em;
	color: #d6e2ec;
	font-size: 1.1875rem;
	line-height: 1.5;
}
.pv-hero__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: 0;
	list-style: none;
}
.pv-hero__chips li {
	padding: 8px 14px;
	color: #eaf1f7;
	font-size: 0.875rem;
	background: #0f3d5a;
	border: 1px solid var(--iwt-navy-line);
	border-radius: 999px;
}
.pv-hero__price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 16px;
	margin-top: 4px;
	color: #fff;
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 600;
	line-height: 1;
}
.pv-hero__price > span:last-child {
	color: var(--iwt-footer-text);
	font-size: 0.9375rem;
	font-weight: 400;
}
.pv-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 24px;
}
.pv-hero__cta {
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	padding: 0 28px;
	color: var(--iwt-navy);
	font-weight: 600;
	text-decoration: none;
	background: #fff;
	border-radius: 4px;
}
.pv-hero__link {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Kit: cards left, summary right. Everything sits inside form.cart. */
.iwt-pv-package form.cart {
	display: block;
	margin: 0;
}
.pv-kit {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 400px);
	gap: 32px;
	align-items: start;
	padding-block: 56px;
}
.pv-kit__main {
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-width: 0;
}
.pv-kit__title {
	margin: 0;
	color: var(--iwt-navy);
	font-size: 2rem;
	font-weight: 600;
}
.pv-kit__lead {
	max-width: 44em;
	margin: 0 0 8px;
	font-size: 1.0625rem;
	line-height: 1.5;
}
.pv-card {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 28px;
	align-items: flex-start;
	padding: 24px;
	background: #fff;
	border: 1px solid var(--iwt-mist);
	border-radius: 8px;
}
/* Bigger cards (1.14.56): a 200px image (the gun shows the render of its 3D model on white). */
.pv-card__thumb {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 200px;
	height: 200px;
	background: var(--iwt-steel);
	border-radius: 8px;
	overflow: hidden;
}
.pv-card--gun .pv-card__thumb {
	background: #fff;
	border: 1px solid var(--iwt-mist);
}
/* The renders carry a wide white margin (they were made for the gun series picker), so zoom in a little. */
.pv-card--gun .pv-card__thumb img {
	transform: scale(1.3);
}
.pv-card__best {
	align-self: flex-start;
	padding: 6px 12px;
	color: var(--iwt-navy);
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.4;
	background: var(--iwt-tint);
	border-left: 3px solid var(--iwt-navy);
	border-radius: 4px;
}
.pv-card__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.pv-card__body {
	flex: 1 1 180px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
/* A group holds a grid of selects, so on phones it wraps below its thumbnail instead of squeezing beside it. */
.pv-card--group .pv-card__body {
	flex-basis: 260px;
}
.pv-card__body > * {
	margin: 0;
}
.pv-card__eyebrow {
	color: var(--iwt-slate-600);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.pv-card__name {
	color: var(--iwt-ink);
	font-size: 1.3125rem;
	font-weight: 600;
	line-height: 1.3;
}
.pv-card__desc {
	font-size: 0.9375rem;
	line-height: 1.5;
}
.pv-card__side {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 6px;
	margin-left: auto;
	text-align: right;
}
.pv-card__sold {
	color: var(--iwt-slate-600);
	font-size: 0.8125rem;
}
/* The gun card's side column runs the card's full height so "Not Sure?" sits bottom right. */
.pv-card--gun .pv-card__side {
	align-self: stretch;
}
.pv-card__help {
	margin-top: auto;
	padding: 6px 14px;
	color: var(--iwt-navy);
	font: inherit;
	font-size: 0.875rem;
	font-weight: 600;
	background: #fff;
	border: 1px solid var(--iwt-navy);
	border-radius: 999px;
	cursor: pointer;
}
.pv-card__help:hover,
.pv-card__help:focus-visible {
	color: #fff;
	background: var(--iwt-navy);
}
/* Gun guide pop-up (1.14.59): "Not Sure?" on the gun card opens it; a plain grid, no logic. */
.pv-gunguide {
	width: min(960px, calc(100vw - 32px));
	max-height: calc(100vh - 48px);
	padding: 28px;
	color: var(--iwt-ink);
	background: #fff;
	border: 0;
	border-radius: 12px;
	box-shadow: 0 24px 64px rgba(8, 38, 56, 0.35);
	overflow-y: auto;
}
.pv-gunguide::backdrop {
	background: rgba(8, 38, 56, 0.6);
}
.pv-gunguide__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.pv-gunguide__title {
	margin: 0;
	color: var(--iwt-navy);
	font-size: 1.5rem;
}
.pv-gunguide__close {
	flex: none;
	width: 40px;
	height: 40px;
	padding: 0;
	color: var(--iwt-navy);
	font-size: 1.75rem;
	line-height: 1;
	background: var(--iwt-steel);
	border: 0;
	border-radius: 999px;
	cursor: pointer;
}
.pv-gunguide__close:hover,
.pv-gunguide__close:focus-visible {
	color: #fff;
	background: var(--iwt-navy);
}
.pv-gunguide__lead {
	margin: 6px 0 20px;
	color: var(--iwt-slate-600);
}
.pv-gunguide__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.pv-gunguide__grid li {
	margin: 0;
}
.pv-gunguide__tile {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	width: 100%;
	height: 100%;
	padding: 12px;
	color: inherit;
	font: inherit;
	text-align: left;
	background: #fff;
	border: 1px solid var(--iwt-mist);
	border-radius: 10px;
	cursor: pointer;
	transition: border-color 0.15s, box-shadow 0.15s;
}
.pv-gunguide__tile:hover,
.pv-gunguide__tile:focus-visible {
	background: var(--iwt-tint); /* Soft fill, not navy: the gun names are navy. */
	border-color: var(--iwt-sky);
	box-shadow: 0 4px 14px rgba(12, 52, 78, 0.12);
}
.pv-gunguide__tile[aria-pressed="true"] {
	border-color: var(--iwt-navy);
	box-shadow: inset 0 0 0 1px var(--iwt-navy);
}
.pv-gunguide__img {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: 6px;
}
.pv-gunguide__img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transform: scale(1.3); /* Same render margin as the gun card thumb. */
}
.pv-gunguide__name {
	color: var(--iwt-navy);
	font-weight: 700;
	line-height: 1.25;
}
.pv-gunguide__best {
	color: var(--iwt-slate-600);
	font-size: 0.875rem;
	line-height: 1.35;
}
.pv-gunguide__foot {
	margin: 20px 0 0;
	color: var(--iwt-slate-600);
}
.pv-gunguide__foot a {
	color: var(--iwt-navy);
	font-weight: 700;
}
@media (max-width: 921px) {
	.pv-gunguide__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
@media (max-width: 599px) {
	.pv-gunguide {
		width: 100vw;
		max-width: 100vw;
		height: 100%;
		max-height: 100%;
		margin: 0;
		padding: 20px 16px;
		border-radius: 0;
	}
	.pv-gunguide__title {
		font-size: 1.25rem;
	}
	.pv-gunguide__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}
	.pv-gunguide__tile {
		padding: 8px;
	}
}
.pv-tag {
	padding: 5px 12px;
	color: var(--iwt-navy);
	font-size: 0.8125rem;
	font-weight: 600;
	background: var(--iwt-tint);
	border-radius: 999px;
}
.pv-card__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}
.pv-card__field {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}
.pv-card__label {
	color: var(--iwt-slate-600);
	font-size: 0.875rem;
}
.pv-select {
	width: 100%;
	max-width: 100%;
	height: 48px;
	padding: 0 12px;
	color: var(--iwt-ink);
	font: inherit;
	font-size: 1rem;
	background-color: #fff;
	border: 1px solid var(--iwt-slate-400);
	border-radius: 4px;
}
.pv-select:focus-visible,
.pv-kit .single_add_to_cart_button:focus-visible {
	outline: 3px solid #4a90c2;
	outline-offset: 2px;
}
.pv-case {
	padding: 20px;
	background: var(--iwt-steel);
	border-radius: 8px;
}
.pv-case ul {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 10px 24px;
	margin: 12px 0 0;
	padding: 0;
	color: var(--iwt-ink);
	list-style: none;
}

/* Summary card */
.pv-kit__side {
	position: sticky;
	top: 24px;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid var(--iwt-mist);
	border-radius: 8px;
	overflow: hidden;
}
.pv-kit__head {
	padding: 16px 24px;
	color: #fff;
	font-size: 1.125rem;
	font-weight: 600;
	background: var(--iwt-navy);
}
.pv-kit__detail,
.pv-kit__bar {
	padding: 20px 24px 0;
}
.pv-kit__bar {
	padding-bottom: 24px;
}
.pv-kit__sel {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 8px 16px;
	margin: 0 0 16px;
	font-size: 0.9375rem;
}
.pv-kit__sel dt {
	color: var(--iwt-slate-600);
}
.pv-kit__sel dd {
	margin: 0;
	color: var(--iwt-ink);
}
.pv-kit__totals {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding-top: 16px;
	border-top: 1px solid var(--iwt-mist);
}
.pv-kit__totals > * {
	margin: 0;
}
.pv-kit__row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	color: var(--iwt-slate-600);
	font-size: 0.9375rem;
}
.pv-kit__row--price {
	color: var(--iwt-ink);
	font-size: 1rem;
	font-weight: 600;
}
.pv-kit__row--price strong {
	color: var(--iwt-navy);
	font-size: 2rem;
	line-height: 1;
}
.pv-kit__save {
	align-self: flex-start;
	padding: 5px 12px;
	color: var(--iwt-navy);
	font-size: 0.875rem;
	font-weight: 600;
	background: var(--iwt-tint);
	border-radius: 999px;
}
.pv-kit__sku {
	margin: 12px 0 0;
	color: var(--iwt-slate-600);
	font-size: 0.8125rem;
}
.pv-kit__bar-price {
	display: none;
	margin: 0;
}
.pv-kit__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 12px;
	padding-top: 20px;
}
.pv-kit__bar .quantity {
	margin: 0;
}
.pv-kit__bar .single_add_to_cart_button {
	flex: 1 1 140px;
	min-height: 52px;
	margin: 0;
	font-size: 1.0625rem;
	font-weight: 600;
}

@media (max-width: 921px) {
	.pv-kit {
		grid-template-columns: minmax(0, 1fr);
		padding-block: 40px 24px;
	}
	.pv-kit__side {
		position: static;
		overflow: visible;
		border: 0;
		border-radius: 0;
		background: none;
	}
	.pv-kit__head {
		display: none;
	}
	.pv-kit__detail {
		padding: 0;
	}
	/* Price and Add to cart stay in view at the bottom of the phone screen. */
	.pv-kit__bar {
		position: fixed;
		inset: auto 0 0 0;
		z-index: 90;
		align-items: center;
		padding: 12px var(--iwt-gutter);
		background: #fff;
		border-top: 1px solid var(--iwt-mist);
		box-shadow: 0 -4px 16px rgba(15, 23, 42, 0.08);
	}
	.pv-kit__bar-price {
		display: flex;
		flex-direction: column;
		gap: 2px;
		color: var(--iwt-slate-600);
		font-size: 0.75rem;
	}
	.pv-kit__bar-price strong {
		color: var(--iwt-navy);
		font-size: 1.375rem;
		line-height: 1;
	}
	.pv-kit__bar .quantity {
		display: none;
	}
	.iwt-pv-package {
		padding-bottom: 84px;
	}
	.pv-hero__inner {
		padding-block: 28px;
	}
	.pv-hero__stage {
		min-height: 240px;
	}
	.pv-hero__img {
		max-height: 260px;
	}
	.pv-hero__model {
		height: 300px;
	}
}
@media (max-width: 599px) {
	.pv-card__side {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		text-align: left;
	}
	.pv-card__thumb {
		width: 100%;
		height: 200px;
	}
	.pv-card__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Chuck guide (1.14.65, inc/chuck-guide.php): pop-up reuses the gun guide styles. The button sits in the navy
   subheader band (js/chuck-guide.js moves it there, 1.14.67; it was a sticky corner button in 1.14.65-66). */
.iwt-chuckguide-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	color: #fff;
	font: inherit;
	font-weight: 500;
	line-height: 1.4;
	white-space: nowrap;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.55);
	border-radius: 4px;
	cursor: pointer;
	transition: background-color 0.15s, color 0.15s, border-color 0.15s;
}
/* Outline question-mark icon, drawn with a mask so it takes the text color. */
.iwt-chuckguide-btn::before {
	content: "";
	flex: none;
	width: 18px;
	height: 18px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9.1 9a3 3 0 0 1 5.8 1c0 2-3 3-3 3'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9.1 9a3 3 0 0 1 5.8 1c0 2-3 3-3 3'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E") center / contain no-repeat;
}
.iwt-chuckguide-btn:hover,
.iwt-chuckguide-btn:focus-visible {
	color: var(--iwt-navy);
	background: #fff;
	border-color: #fff;
	outline: none;
}
.iwt-chuckguide-btn:focus-visible {
	box-shadow: 0 0 0 3px var(--iwt-sky);
}
/* Chucks 1904: the band intro runs wider so it sits on two lines beside the button (1.14.69). */
.page-id-1904 .iwt-subhead .iwt-subhead__row .iwt-subhead__intro {
	max-width: 100ch;
}
/* Wider and taller than the gun guide, so the ten tiles fit without scrolling on a laptop (1.14.69). */
.iwt-chuckguide.pv-gunguide {
	width: min(1200px, calc(100vw - 32px));
	max-height: calc(100vh - 32px);
	padding: 24px 28px;
}
.iwt-chuckguide .pv-gunguide__lead {
	margin-bottom: 16px;
}
.iwt-chuckguide .pv-gunguide__foot {
	margin-top: 16px;
}
.iwt-chuckguide .pv-gunguide__grid {
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 14px;
}
.iwt-chuckguide .pv-gunguide__img {
	aspect-ratio: auto;
	height: 128px; /* Fixed height: wider tiles must not make the pop-up taller. */
	background: #cdcdcd; /* The chuck product photos' own grey, so the square photo blends into the wide tile. */
}
.iwt-chuckguide .pv-gunguide__img img {
	transform: none; /* Product photos, not renders with a margin. */
}
.iwt-parts__group {
	scroll-margin-top: 24px;
}
.iwt-parts__group.is-flash {
	animation: iwt-chuck-flash 1.6s ease-out;
	outline: none;
}
@keyframes iwt-chuck-flash {
	0%, 30% { box-shadow: 0 0 0 4px var(--iwt-sky); border-radius: 8px; }
	100% { box-shadow: 0 0 0 4px transparent; border-radius: 8px; }
}
@media (prefers-reduced-motion: reduce) {
	.iwt-parts__group.is-flash { animation: none; }
}
@media (max-width: 921px) {
	.iwt-chuckguide .pv-gunguide__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 599px) {
	.iwt-chuckguide.pv-gunguide { padding: 20px 16px; }
	.iwt-chuckguide .pv-gunguide__img { height: 96px; }
	.iwt-chuckguide .pv-gunguide__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.iwt-chuckguide .pv-gunguide__tile { padding: 8px; }
}

/* Part list closed rows (collapsed="1", 1.14.67; Chucks 1904 "Other chucks and collets"): each group is a
   <details>; the summary is the photo, name and machine line, with "Show sizes" on the right. */
.iwt-parts--fold .iwt-parts__group {
	border: 1px solid var(--iwt-mist);
	border-radius: 10px;
	background: #fff;
}
.iwt-parts--fold .iwt-parts__group + .iwt-parts__group {
	margin-top: 12px;
}
.iwt-parts--fold .iwt-parts__head {
	margin: 0;
	padding: 12px 16px 12px 12px;
	list-style: none;
	cursor: pointer;
	border-radius: 10px;
}
.iwt-parts--fold .iwt-parts__head::-webkit-details-marker {
	display: none;
}
.iwt-parts--fold .iwt-parts__head:hover {
	background: var(--iwt-tint);
}
.iwt-parts--fold .iwt-parts__head:focus-visible {
	outline: 2px solid var(--iwt-navy);
	outline-offset: 2px;
}
.iwt-parts--fold .iwt-parts__photo {
	width: 72px;
}
.iwt-parts--fold .iwt-parts__intro {
	flex: 1;
	min-width: 0;
}
.entry-content .iwt-parts--fold .iwt-parts__title {
	font-size: 1.0625rem;
}
.iwt-parts__toggle {
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--iwt-navy);
	font-size: 0.9375rem;
	font-weight: 600;
	white-space: nowrap;
}
.iwt-parts__toggle::after {
	content: "";
	width: 8px;
	height: 8px;
	border-right: 2px solid var(--iwt-red);
	border-bottom: 2px solid var(--iwt-red);
	transform: translateY(-2px) rotate(45deg);
	transition: transform 0.15s ease;
}
.iwt-parts__group[open] .iwt-parts__toggle::after {
	transform: translateY(2px) rotate(225deg);
}
.iwt-parts__toggle-hide,
.iwt-parts__group[open] .iwt-parts__toggle-show {
	display: none;
}
.iwt-parts__group[open] .iwt-parts__toggle-hide {
	display: inline;
}
.iwt-parts--fold .iwt-parts__group[open] .iwt-parts__head {
	border-bottom: 1px solid var(--iwt-mist);
	border-radius: 10px 10px 0 0;
}
.iwt-parts--fold .iwt-studs__scroll {
	padding: 12px;
}
@media (max-width: 599px) {
	.iwt-parts--fold .iwt-parts__head { gap: 12px; padding: 10px; }
	.iwt-parts--fold .iwt-parts__photo { width: 56px; }
	.iwt-parts__toggle-show, .iwt-parts__toggle-hide { display: none !important; }
	.iwt-parts--fold .iwt-studs__scroll { padding: 8px; }
}

/* Express pages (1.8.7): sticky cart bar */
.iwt-cartbar {
	position: fixed;
	inset: auto 0 0 0;
	z-index: 90;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 12px var(--iwt-gutter);
	background: var(--iwt-navy);
	color: #fff;
	box-shadow: 0 -10px 24px -14px rgba(8, 38, 56, 0.5);
}
.iwt-cartbar--empty {
	display: none;
}
.iwt-cartbar__text {
	font-size: 1rem;
}
.iwt-cartbar .iwt-cartbar__link {
	display: inline-flex;
	flex: none;
	align-items: center;
	height: 40px;
	padding: 0 20px;
	border-radius: 4px;
	background: #fff;
	color: var(--iwt-navy);
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}
.iwt-cartbar .iwt-cartbar__link:hover,
.iwt-cartbar .iwt-cartbar__link:focus-visible {
	background: var(--iwt-mist);
	outline: 2px solid #fff;
	outline-offset: 3px;
}
body:has(.iwt-cartbar:not(.iwt-cartbar--empty)) .site-footer {
	padding-bottom: 72px;
}

/* Lead block variants (1.8.9): a wider intro line, and an inline SVG icon in the photo tile's place */
.entry-content .iwt-studs-intro.iwt-studs-intro--wide {
	max-width: 110ch;
}
.entry-content .iwt-studs-lead .iwt-lead-icon {
	flex: none;
	width: clamp(96px, 9vw, 136px);
	aspect-ratio: 1;
	padding: 10px;
	border-radius: 8px;
	background: var(--iwt-steel);
}
.iwt-lead-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}
/* Lead with a PNG icon (1.14.22, CD welders page): the icon brings its own grey tile, so no steel
   background or crop; the box stays square and the image is contained */
.entry-content .iwt-studs-lead--icon .wp-block-image {
	background: none;
	border-radius: 0;
}
.entry-content .iwt-studs-lead--icon .wp-block-image img {
	object-fit: contain;
}

/* Package lists (1.8.10): the product name sits in the table, so the group heading only keeps the photo and
   description; long names wrap instead of pushing the phone layout past the screen */
.iwt-parts--package .iwt-parts__title {
	display: none;
}
.iwt-parts--package .iwt-studs__table td.iwt-studs__size {
	white-space: normal;
}

/* ==========================================================================
   Cart page (1.8.16): the WooCommerce Cart block, restyled to match the rest of the site.
   Items left, a bordered totals card right (sticky on desktop), quiet cross-sells below.
   ========================================================================== */
.woocommerce-cart .entry-title {
	margin-bottom: 0.5em;
	color: var(--iwt-navy-deep);
	font-size: clamp(1.75rem, 2.8vw, 2.5rem);
	font-weight: 700;
	line-height: 1.15;
}
.wp-block-woocommerce-cart {
	margin-bottom: clamp(32px, 5vw, 64px);
}
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout {
	gap: clamp(24px, 3vw, 48px);
}

/* Item table */
.wp-block-woocommerce-cart table.wc-block-cart-items {
	border-collapse: collapse;
}
.wp-block-woocommerce-cart table.wc-block-cart-items th {
	padding: 0 0 12px;
	border-bottom: 1px solid var(--iwt-mist);
	color: var(--iwt-slate-500);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.wp-block-woocommerce-cart table.wc-block-cart-items td {
	padding: 24px 0;
	border-top: 1px solid var(--iwt-mist);
	vertical-align: top;
}
.wp-block-woocommerce-cart .wc-block-cart-items__row:first-child td {
	border-top: 0;
}
.wp-block-woocommerce-cart .wc-block-cart-item__image {
	width: 112px;
	padding-right: 20px;
}
.wp-block-woocommerce-cart .wc-block-cart-item__image img {
	display: block;
	width: 96px;
	height: 96px;
	border: 1px solid var(--iwt-mist);
	border-radius: 8px;
	background: var(--iwt-steel);
	object-fit: contain;
	mix-blend-mode: multiply;
}
.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-components-product-name {
	color: var(--iwt-navy-deep);
	font-size: 1.0625rem;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
}
.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-components-product-name:hover {
	text-decoration: underline;
	text-decoration-color: var(--iwt-red);
	text-underline-offset: 3px;
}
.wp-block-woocommerce-cart .wc-block-components-product-metadata,
.wp-block-woocommerce-cart .wc-block-components-product-metadata p {
	color: var(--iwt-slate-700);
	font-size: 0.875rem;
	line-height: 1.5;
}
.wp-block-woocommerce-cart .wc-block-components-product-details__name {
	color: var(--iwt-ink);
	font-weight: 600;
}
.wp-block-woocommerce-cart .wc-block-cart-item__prices {
	margin: 4px 0;
	color: var(--iwt-slate-700);
	font-size: 0.9375rem;
}
.wp-block-woocommerce-cart .wc-block-cart-item__quantity {
	margin-top: 14px;
}
.wp-block-woocommerce-cart .wc-block-components-quantity-selector {
	border-radius: 4px;
}
.wp-block-woocommerce-cart .wc-block-components-quantity-selector::after {
	border: 1px solid var(--iwt-mist);
	border-radius: 4px;
}
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link {
	color: var(--iwt-slate-500);
	font-size: 0.875rem;
}
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link:hover {
	color: var(--iwt-red);
}
.wp-block-woocommerce-cart .wc-block-cart-item__total {
	padding-left: 16px;
}
.wp-block-woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price__value {
	color: var(--iwt-navy-deep);
	font-size: 1.0625rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}
/* WPC Composite hides the price on its cart rows; our packages have a fixed price, so show it */
.wp-block-woocommerce-cart .wc-block-cart-items__row.wooco-composite .wc-block-cart-item__total .wc-block-components-product-price__value {
	display: inline-block !important;
}

/* Share cart: a quiet text button under the table */
.wp-block-woocommerce-cart .wc-block-cart__main > .wp-block-button,
.wp-block-woocommerce-cart .wc-block-cart__main .share-cart-button,
.wp-block-woocommerce-cart .wc-block-cart__main > button {
	margin: 4px 0 0;
}
.wp-block-woocommerce-cart .wc-block-cart__main > button,
.wp-block-woocommerce-cart .wc-block-cart__main .share-cart-button {
	padding: 8px 0;
	border: 0;
	background: none;
	color: var(--iwt-navy);
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: var(--iwt-red);
	text-underline-offset: 4px;
}

/* Totals card */
.wp-block-woocommerce-cart .wc-block-cart__sidebar {
	align-self: start;
	padding: 24px;
	border: 1px solid var(--iwt-mist);
	border-radius: 8px;
	background: var(--iwt-steel);
}
@media (min-width: 783px) {
	.wp-block-woocommerce-cart .wc-block-cart__sidebar {
		position: sticky;
		top: 24px;
	}
}
.wp-block-woocommerce-cart .wc-block-cart__totals-title {
	padding: 0 0 12px;
	color: var(--iwt-red);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.wp-block-woocommerce-cart .wc-block-components-totals-wrapper {
	padding: 14px 0;
	border-color: var(--iwt-mist);
}
.wp-block-woocommerce-cart .wc-block-components-totals-item__label,
.wp-block-woocommerce-cart .wc-block-components-totals-coupon-link,
.wp-block-woocommerce-cart .wc-block-components-panel__button {
	color: var(--iwt-slate-700);
	font-size: 0.9375rem;
}
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item {
	align-items: baseline;
}
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	color: var(--iwt-navy-deep);
	font-size: 1.0625rem;
	font-weight: 600;
}
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--iwt-navy-deep);
	font-size: 1.375rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}
.wp-block-woocommerce-cart .wc-block-cart__submit-container {
	padding-top: 8px;
}
.wp-block-woocommerce-cart .wc-block-cart__submit-button {
	padding: 16px 22px;
	border-radius: 4px;
	background: var(--iwt-navy);
	color: #fff;
	font-size: 1.0625rem;
	font-weight: 600;
}
.wp-block-woocommerce-cart .wc-block-cart__submit-button:hover,
.wp-block-woocommerce-cart .wc-block-cart__submit-button:focus-visible {
	background: var(--iwt-navy-deep);
	color: #fff;
}

/* Cross-sells: a section heading and a left-aligned product row, not a centred shop grid */
.wp-block-woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block {
	margin-top: 8px;
	padding-top: clamp(24px, 3vw, 40px);
	border-top: 1px solid var(--iwt-mist);
}
.wp-block-woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block h2.has-large-font-size {
	margin-bottom: 20px;
	color: var(--iwt-navy-deep);
	font-size: 1.5rem !important;
	font-weight: 700;
	line-height: 1.2;
}
.wp-block-woocommerce-cart .cross-sells-product {
	max-width: 300px;
	text-align: left;
}
.wp-block-woocommerce-cart .cross-sells-product .wp-block-cart-cross-sells-product__product-image img {
	aspect-ratio: 4 / 3;
	border: 1px solid var(--iwt-mist);
	border-radius: 8px;
	background: var(--iwt-steel);
	mix-blend-mode: multiply;
	object-fit: contain !important;
}
.wp-block-woocommerce-cart .cross-sells-product h3.wc-block-components-product-title {
	margin: 14px 0 0;
	text-align: left;
}
.wp-block-woocommerce-cart .cross-sells-product h3.wc-block-components-product-title a.wc-block-components-product-name {
	color: var(--iwt-navy-deep);
	font-size: 1.0625rem;
	font-weight: 600;
	text-decoration: none;
}
.wp-block-woocommerce-cart .cross-sells-product .wc-block-components-product-price {
	display: block;
	margin: 4px 0 12px;
	color: var(--iwt-slate-700);
	text-align: left;
}
.wp-block-woocommerce-cart .cross-sells-product .wc-block-components-product-button,
.wp-block-woocommerce-cart .cross-sells-product .wc-block-components-product-button > * {
	align-items: flex-start;
	align-self: flex-start;
	justify-content: flex-start;
	margin-inline: 0;
	text-align: left;
}
.wp-block-woocommerce-cart .cross-sells-product .wp-block-button__link {
	padding: 10px 18px;
	border: 2px solid var(--iwt-navy);
	border-radius: 4px;
	background: none;
	color: var(--iwt-navy);
	font-size: 1rem;
	font-weight: 600;
}
.wp-block-woocommerce-cart .cross-sells-product .wp-block-button__link:hover {
	background: var(--iwt-navy);
	color: #fff;
}

/* Phones: photo left, details and price stacked beside it (a five-decimal price is too wide for its own column) */
@media (max-width: 599px) {
	.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row {
		display: grid;
		grid-template-columns: 80px minmax(0, 1fr);
		column-gap: 14px;
		padding: 20px 0;
		border-top: 1px solid var(--iwt-mist);
	}
	.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row td {
		padding: 0;
		border: 0;
	}
	.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__product {
		grid-column: 2;
		grid-row: 1;
	}
	.wp-block-woocommerce-cart .wc-block-cart-item__image {
		grid-column: 1;
		grid-row: 1 / span 2;
		width: auto;
		padding: 0;
	}
	.wp-block-woocommerce-cart .wc-block-cart-item__image img {
		width: 80px;
		height: 80px;
	}
	.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total {
		position: static;
		grid-column: 2;
		grid-row: 2;
		padding: 10px 0 0;
		justify-content: flex-start;
		text-align: left;
	}
	.wp-block-woocommerce-cart .wc-block-cart__sidebar {
		padding: 18px;
	}
}

/* Cart notices (1.8.17): removal toasts are small navy snackbars stacked bottom-left, one column, not the
   default wide blue banners that spread two-up over the totals card */
.wc-block-components-notice-snackbar-list {
	right: auto;
	left: var(--iwt-gutter);
	bottom: 16px;
	width: min(420px, calc(100vw - 2 * var(--iwt-gutter)));
	max-width: none;
}
.wc-block-components-notice-snackbar-list > div {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.wc-block-components-notice-snackbar-list .wc-block-components-notice-snackbar {
	width: auto;
	max-width: none;
	margin: 0;
	padding: 12px 14px;
	border: 1px solid rgba(209, 218, 229, 0.4);
	border-radius: 8px;
	background: var(--iwt-navy);
	box-shadow: 0 14px 28px -10px rgba(8, 38, 56, 0.7);
	color: #fff;
	font-size: 0.9375rem;
	line-height: 1.4;
}
.wc-block-components-notice-snackbar-list .wc-block-components-notice-snackbar[hidden] {
	display: none;
}
.wc-block-components-notice-snackbar-list .wc-block-components-notice-snackbar.wc-block-components-notice-banner.is-info > svg {
	background: none;
	fill: var(--iwt-mist);
}
.wc-block-components-notice-snackbar-list .wc-block-components-notice-banner > .wc-block-components-notice-banner__dismiss {
	background: none;
	color: var(--iwt-mist);
}
.wc-block-components-notice-snackbar-list .wc-block-components-notice-banner > .wc-block-components-notice-banner__dismiss svg {
	fill: var(--iwt-mist);
}
.wc-block-components-notice-snackbar-list .wc-block-components-notice-banner > .wc-block-components-notice-banner__dismiss:hover svg,
.wc-block-components-notice-snackbar-list .wc-block-components-notice-banner > .wc-block-components-notice-banner__dismiss:focus-visible svg {
	fill: #fff;
}
.wc-block-components-notice-snackbar-list .wc-block-components-notice-banner > .wc-block-components-notice-banner__dismiss:hover,
.wc-block-components-notice-snackbar-list .wc-block-components-notice-banner > .wc-block-components-notice-banner__dismiss:focus-visible {
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
}
/* on phones WooCommerce pins the checkout button to the bottom edge; sit above it */
@media (max-width: 782px) {
	.wc-block-components-notice-snackbar-list {
		bottom: 88px;
	}
}

/* Empty cart (1.8.17): a navy cart outline in place of the dark crying face, and two ways back into the shop */
.wp-block-woocommerce-empty-cart-block {
	padding: clamp(24px, 4vw, 56px) 0;
	text-align: center;
}
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title.with-empty-cart-icon {
	margin: 0 0 8px;
	color: var(--iwt-navy-deep);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.2;
}
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
	width: 72px;
	height: 72px;
	margin: 0 auto 20px;
	background-color: var(--iwt-navy);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.4'/%3E%3Ccircle cx='18' cy='20' r='1.4'/%3E%3Cpath d='M2 3h3l2.4 12.2a1 1 0 0 0 1 .8h9.2a1 1 0 0 0 1-.8L20.5 7H6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.4'/%3E%3Ccircle cx='18' cy='20' r='1.4'/%3E%3Cpath d='M2 3h3l2.4 12.2a1 1 0 0 0 1 .8h9.2a1 1 0 0 0 1-.8L20.5 7H6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.iwt-empty-cart__sub {
	margin: 0 0 24px;
	color: var(--iwt-slate-700);
}
.iwt-empty-cart__links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin: 0;
}
.entry-content .iwt-empty-cart__links a {
	display: inline-flex;
	align-items: center;
	padding: 12px 22px;
	border: 2px solid var(--iwt-navy);
	border-radius: 4px;
	background: var(--iwt-navy);
	color: #fff;
	font-weight: 600;
	text-decoration: none;
}
.entry-content .iwt-empty-cart__links a + a {
	background: none;
	color: var(--iwt-navy);
}
.entry-content .iwt-empty-cart__links a:hover,
.entry-content .iwt-empty-cart__links a:focus-visible {
	background: var(--iwt-navy-deep);
	border-color: var(--iwt-navy-deep);
	color: #fff;
}

/* Cart shipping (1.8.18): no shipping row, the footer total reads "Subtotal", and a note says shipping comes later.
   The label swap is CSS because the totals are rendered by the block's React app. */
.wp-block-woocommerce-cart .wp-block-woocommerce-cart-order-summary-shipping-block {
	display: none;
}
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-size: 0;
}
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label::after {
	content: "Subtotal";
	font-size: 1.0625rem;
}
.iwt-cart-note {
	margin: 4px 0 0;
	color: var(--iwt-slate-500);
	font-size: 0.875rem;
	line-height: 1.4;
}

/* ==========================================================================
   Checkout page (1.8.18): the classic WooCommerce checkout, restyled to match the cart.
   Form left, a bordered order card right. Payment box and gateway markup are left alone.
   ========================================================================== */
.woocommerce-checkout .entry-content h3,
.woocommerce-checkout #order_review_heading {
	margin: 0 0 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--iwt-mist);
	color: var(--iwt-navy-deep);
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.2;
}
.woocommerce-checkout .entry-content h3#ship-to-different-address {
	font-size: 1rem;
}

/* Fields */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container--default .select2-selection--single {
	border: 1px solid var(--iwt-mist);
	border-radius: 4px;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
	border-color: var(--iwt-navy);
	box-shadow: 0 0 0 3px rgba(12, 52, 78, 0.15);
	outline: 0;
}

/* Order card */
form.woocommerce-checkout #ast-order-review-wrapper #order_review {
	border: 1px solid var(--iwt-mist);
	border-radius: 8px;
	background: var(--iwt-steel);
	overflow: hidden;
}
.woocommerce-checkout table.woocommerce-checkout-review-order-table {
	margin: 0 !important;
	border: 0;
	border-collapse: collapse;
	background: none;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
	padding: 14px 20px;
	border: 0;
	border-top: 1px solid var(--iwt-mist);
	background: none;
	color: var(--iwt-slate-700);
	font-size: 0.9375rem;
	vertical-align: top;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table thead th,
.woocommerce-checkout .woocommerce-checkout-review-order-table thead th.product-name {
	border-top: 0;
	color: var(--iwt-red);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-total,
.woocommerce-checkout .woocommerce-checkout-review-order-table thead th.product-total {
	text-align: right;
	font-variant-numeric: tabular-nums;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody .product-name {
	color: var(--iwt-ink);
	font-weight: 600;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th {
	color: var(--iwt-ink);
	font-weight: 600;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
	text-align: right;
	font-variant-numeric: tabular-nums;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total {
	background: #fff;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total td {
	background: none;
	color: var(--iwt-navy-deep);
	font-size: 1.25rem;
	font-weight: 700;
}

/* Rows are flex, not table rows: a full-width shipping row inside a table shrinks to the first column's width */
.woocommerce-checkout table.woocommerce-checkout-review-order-table,
.woocommerce-checkout .woocommerce-checkout-review-order-table thead,
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot {
	display: block;
	width: 100%;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table tr {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
	display: block;
	width: auto;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-total del {
	display: block;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name {
	flex: 1 1 auto;
	min-width: 0;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total {
	flex: none;
}

/* Shipping options: label on its own line, a left-aligned radio list under it */
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals {
	flex-direction: column;
	gap: 0;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td {
	width: 100% !important;
	text-align: left;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th {
	padding-bottom: 4px;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td {
	padding: 0 20px 14px !important;
	border-top: 0;
}
.woocommerce-checkout ul#shipping_method {
	margin: 0;
	padding: 0;
	list-style: none;
}
.woocommerce-checkout ul#shipping_method li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	padding: 8px 0 !important;
	text-align: left;
}
.woocommerce-checkout ul#shipping_method li + li {
	border-top: 1px solid var(--iwt-mist);
}
.woocommerce-checkout ul#shipping_method li input {
	flex: none;
	margin: 4px 0 0;
}
.woocommerce-checkout ul#shipping_method li label {
	margin: 0 !important;
	padding: 0 !important;
	text-indent: 0 !important;
	color: var(--iwt-ink);
	font-weight: 500;
	text-align: left;
}

/* Coupon toggle and notices: mist-bordered cards */
.woocommerce-checkout .entry-content .woocommerce-info,
.woocommerce-checkout .entry-content .woocommerce-message,
.woocommerce-checkout .entry-content .woocommerce-error {
	margin: 0 0 20px;
	padding: 14px 18px;
	border: 1px solid var(--iwt-mist);
	border-radius: 8px;
	background: var(--iwt-steel);
	color: var(--iwt-slate-700);
}
.woocommerce-checkout .entry-content .woocommerce-info::before,
.woocommerce-checkout .entry-content .woocommerce-message::before,
.woocommerce-checkout .entry-content .woocommerce-error::before {
	display: none;
}
.woocommerce-checkout .entry-content .woocommerce-error {
	border-color: var(--iwt-red);
}
.woocommerce-checkout .entry-content .woocommerce-info a,
.woocommerce-checkout .entry-content .woocommerce-error a {
	color: var(--iwt-navy);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: var(--iwt-red);
	text-underline-offset: 3px;
}
.woocommerce-checkout #payment .woocommerce-info {
	margin: 0;
}

/* Place Order */
.woocommerce-checkout #place_order {
	width: 100%;
	padding: 16px 22px;
	border-radius: 4px;
	background: var(--iwt-navy);
	color: #fff;
	font-size: 1.0625rem;
	font-weight: 600;
}
.woocommerce-checkout #place_order:hover,
.woocommerce-checkout #place_order:focus-visible {
	background: var(--iwt-navy-deep);
	color: #fff;
}

/* The UPS account number sits under the shipping options (js/checkout-ups.js); typing one enables the Bill My UPS methods */
.woocommerce-checkout .iwt-ups-field {
	margin: 12px 0 0 !important;
	padding: 12px 0 0;
	border-top: 1px solid var(--iwt-mist);
}

/* The "added to your cart / Continue shopping" banner repeats what the order table already shows */
.woocommerce-checkout .entry-content .woocommerce-message:has(a.wc-forward) {
	display: none;
}

/* Checkout on phones (1.8.20): the "Show Order Summary" bar matches the order card, and long floating labels such as
   "Apartment, suite, unit, etc. (optional)" truncate instead of pushing the page 4px wider than the screen */
.woocommerce-checkout .entry-content .woocommerce .ast-mobile-order-review-wrap {
	border-bottom: 1px solid var(--iwt-mist);
	background: var(--iwt-steel);
	color: var(--iwt-ink);
}
.woocommerce-checkout #ast-order-review-toggle {
	color: var(--iwt-navy-deep);
	font-weight: 600;
}
.woocommerce-checkout .form-row > label {
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Quantity pricing tooltip in the stud tables (1.8.22) */
.iwt-breaks {
	margin-top: 2px;
}
.iwt-breaks__btn {
	/* Padding with an equal negative margin: a bigger tap target without moving the row. */
	padding: 8px 0;
	margin: -6px 0;
	border: 0;
	background: none;
	color: var(--iwt-navy);
	font-size: 0.75rem;
	font-weight: 500;
	text-decoration: underline dotted;
	text-underline-offset: 3px;
	cursor: help;
}
.iwt-breaks__btn:hover,
.iwt-breaks__btn:focus,
.iwt-breaks__btn[aria-expanded="true"] {
	background: none;
	color: var(--iwt-red);
}
.iwt-breaks__btn:focus-visible {
	outline: 2px solid var(--iwt-navy);
	outline-offset: 2px;
}
.iwt-breaks__tip {
	position: fixed;
	z-index: 10000;
	min-width: 220px;
	padding: 10px 12px;
	border-radius: 6px;
	background: var(--iwt-navy-deep);
	color: #fff;
	box-shadow: 0 6px 20px rgba(8, 38, 56, 0.35);
	font-size: 0.8125rem;
	font-weight: 400;
	text-align: left;
	white-space: nowrap;
}
.iwt-breaks__tip[hidden] {
	display: none;
}
.iwt-breaks__tip p {
	margin: 0 0 6px;
	color: var(--iwt-mist);
	font-size: 0.75rem;
}
.iwt-breaks__tip ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.iwt-breaks__tip li {
	display: grid;
	grid-template-columns: 7.5em 1fr 4.5em;
	gap: 10px;
	padding: 2px 0;
}
.iwt-studs__price .iwt-breaks__tip li span {
	display: block;
	color: #fff;
	font-size: inherit;
	font-weight: 400;
}
.iwt-breaks__tip li strong {
	font-weight: 600;
	text-align: right;
}
.iwt-breaks__tip li em {
	color: #86efac;
	font-style: normal;
}

/* ==========================================================================
   Service request forms (child theme 1.14.24): FluentForm forms on Services > Repairs,
   Rentals and Training (pages 2404-2406).
   ========================================================================== */
.iwt-service-form {
	max-width: 760px;
}
.iwt-service-form .frm-fluent-form .ff-el-input--label label {
	color: var(--iwt-navy-deep);
	font-weight: 600;
}
.iwt-service-form .frm-fluent-form .ff-el-form-control {
	padding: 11px 14px;
	border: 1px solid var(--iwt-mist);
	border-radius: 8px;
	background: #fff;
	color: var(--iwt-ink);
	font-size: 1rem;
}
.iwt-service-form .frm-fluent-form .ff-el-form-control:focus {
	border-color: var(--iwt-navy);
	outline: 2px solid var(--iwt-sky);
	outline-offset: 1px;
}
.iwt-service-form .frm-fluent-form .ff-el-form-check-label,
.iwt-service-form .frm-fluent-form .ff-el-form-check label {
	color: var(--iwt-slate-700);
}
.iwt-service-form .frm-fluent-form .ff-btn-submit {
	padding: 14px 26px;
	border: 0;
	border-radius: 4px;
	background: var(--iwt-navy) !important;
	color: #fff !important;
	font-size: 1rem;
	font-weight: 600;
}
.iwt-service-form .frm-fluent-form .ff-btn-submit:hover,
.iwt-service-form .frm-fluent-form .ff-btn-submit:focus-visible {
	background: var(--iwt-navy-deep) !important;
	color: #fff;
}
.iwt-service-form .frm-fluent-form .ff-message-success {
	border: 1px solid var(--iwt-ok);
	border-radius: 8px;
	background: var(--iwt-ok-bg);
	color: var(--iwt-ok);
}
.iwt-service-form .frm-fluent-form .ff-el-is-error .ff-el-form-control {
	border-color: var(--iwt-red);
}
.iwt-service-form .frm-fluent-form .error.text-danger {
	color: var(--iwt-red);
}

/* Text-only cards (Services hub, Repairs): no photo column on phones. */
@media (max-width: 599px) {
	.iwt-pkg-card:not(:has(.wp-block-image)) {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"title"
			"text"
			"meta";
	}
}

/* ==========================================================================
   Services pages polish (child theme 1.14.28): compact photo hero, bold card CTA, contact grid.
   ========================================================================== */
.iwt-home-intro.iwt-hero-compact {
	min-height: clamp(320px, 44vh, 460px);
	padding-block: clamp(40px, 6vw, 72px);
}
/* First section sits right under the hero: no divider line. */
.entry-content .iwt-setup.iwt-setup-flush {
	margin-top: 0;
	border-top: 0;
}
/* Last section: room above the footer. */
.entry-content .iwt-setup.iwt-setup-end {
	padding-bottom: clamp(56px, 7vw, 96px);
}
/* Card CTA: solid white button on the navy card; the whole card is the link. */
.entry-content .iwt-pkg-card .iwt-pkg-cta {
	justify-content: flex-start;
	padding-top: 8px;
	border-top: 0;
}
.entry-content .iwt-pkg-cta span {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 22px;
	border-radius: 4px;
	background: #fff;
	color: var(--iwt-navy);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
	transition: background-color 0.15s;
}
.entry-content .iwt-pkg-cta span::after {
	content: "\2192";
	color: var(--iwt-red);
}
.entry-content .iwt-pkg-card:hover .iwt-pkg-cta span,
.entry-content .iwt-pkg-card:focus-within .iwt-pkg-cta span {
	background: var(--iwt-mist);
}
/* Contact panel: navy card, intro on the left, 2 x 2 details on the right. */
.entry-content .iwt-contact-panel {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: clamp(28px, 4vw, 64px);
	align-items: start;
	padding: clamp(28px, 4vw, 48px);
	border-radius: 8px;
	background: var(--iwt-navy);
	color: #fff;
}
.entry-content .iwt-contact-panel__intro > * {
	margin: 0;
}
.entry-content .iwt-contact-panel .iwt-eyebrow {
	margin-bottom: 10px;
	color: var(--iwt-sky);
}
.entry-content .iwt-contact-panel h2 {
	margin-bottom: 12px;
	color: #fff;
}
.entry-content .iwt-contact-panel__intro p:not(.iwt-eyebrow) {
	max-width: 36ch;
	color: var(--iwt-mist);
	font-size: 1.0625rem;
	line-height: 1.6;
}
.entry-content .iwt-contact {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px clamp(24px, 3vw, 40px);
	margin: 0;
}
.entry-content .iwt-contact > .iwt-contact__item,
.entry-content .iwt-contact__item > * {
	margin: 0;
}
.entry-content .iwt-contact__label {
	margin-bottom: 6px;
	color: var(--iwt-sky);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.entry-content .iwt-contact__item p:not(.iwt-contact__label) {
	color: #fff;
	font-size: 1.0625rem;
	line-height: 1.5;
	overflow-wrap: anywhere;
}
.entry-content .iwt-contact__item a {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.entry-content .iwt-contact__item a:hover,
.entry-content .iwt-contact__item a:focus-visible {
	color: var(--iwt-mist);
}
@media (max-width: 899px) {
	.entry-content .iwt-contact-panel {
		grid-template-columns: minmax(0, 1fr);
	}
}
@media (max-width: 599px) {
	.entry-content .iwt-contact {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Equipment Troubleshooting (3345): a short list of cards, so the sections stop at a narrower column,
   centered on the page. */
.page-id-3345 .entry-content .iwt-setup {
	max-width: 1120px;
	margin-inline: auto;
}

/* ==========================================================================
   CD stud table on phones and tablets (1.14.39, 2026-11-02): search + Filters button, chips fold into a
   panel, chosen filters as removable tags, compact cards (~140px instead of ~207px).
   Scoped to .iwt-studs--cd: the parts pages reuse the same table classes.
   PHP: inc/cd-stud-table.php · JS: js/cd-stud-table.js (adds .has-js, .is-open)
   ========================================================================== */
/* Desktop and no-JS: the new pieces vanish, the groups stay in the filter box as before. */
.iwt-studs--cd .iwt-studs__bar,
.iwt-studs--cd .iwt-studs__panel {
	display: contents;
}
.iwt-studs--cd .iwt-studs__active,
.iwt-studs--cd .iwt-studs__summary,
.iwt-studs--cd .iwt-studs__toggle,
.iwt-studs--cd .iwt-studs__apply,
.iwt-studs--cd .iwt-studs__tag {
	display: none;
}
.entry-content .iwt-studs-help--mobile {
	display: none;
}
/* The jump chip in the subheader sits at the foot of the row beside the icon instead of stretching to its height. */
.iwt-subhead .iwt-subhead__chip[href="#packages"] {
	align-self: flex-end;
}

@media (max-width: 1023px) {
	.iwt-studs--cd .iwt-studs__filters {
		gap: 10px;
		margin-bottom: 12px;
		padding: 12px;
	}
	.iwt-studs--cd .iwt-studs__bar {
		display: flex;
		gap: 8px;
	}
	.iwt-studs--cd .iwt-studs__search {
		flex: 1;
		min-width: 0;
	}
	.iwt-studs--cd .iwt-studs__toggle {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		height: 48px;
		padding: 0 16px;
		border: 1px solid var(--iwt-navy);
		border-radius: 8px;
		background: #fff;
		color: var(--iwt-navy);
		font-size: 1rem;
		font-weight: 600;
		cursor: pointer;
	}
	.iwt-studs--cd.is-open .iwt-studs__toggle {
		background: var(--iwt-navy);
		color: #fff;
	}
	.iwt-studs--cd .iwt-studs__toggle[hidden],
	.iwt-studs--cd .iwt-studs__toggle-n[hidden] {
		display: none;
	}
	.iwt-studs--cd .iwt-studs__toggle-n {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 22px;
		height: 22px;
		padding: 0 6px;
		border-radius: 11px;
		background: var(--iwt-navy);
		color: #fff;
		font-size: 0.8125rem;
	}
	.iwt-studs--cd.is-open .iwt-studs__toggle-n {
		background: #fff;
		color: var(--iwt-navy);
	}
	.iwt-studs--cd .iwt-studs__active {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
	}
	.iwt-studs--cd .iwt-studs__active[hidden] {
		display: none;
	}
	.iwt-studs--cd .iwt-studs__tag {
		display: inline-flex;
		align-items: center;
		min-height: 32px;
		padding: 4px 10px;
		border: 1px solid var(--iwt-navy);
		border-radius: 4px;
		background: var(--iwt-navy);
		color: #fff;
		font-size: 0.875rem;
		font-weight: 500;
		cursor: pointer;
	}
	.iwt-studs--cd .iwt-studs__tag span {
		margin-left: 6px;
	}
	.iwt-studs--cd .iwt-studs__summary {
		display: block;
		margin: 0;
		color: var(--iwt-navy-deep);
		font-size: 0.9375rem;
		font-weight: 600;
	}
	.iwt-studs--cd .iwt-studs__summary:empty {
		display: none;
	}

	/* The panel: closed until the Filters button opens it (only once JS is running). */
	.iwt-studs--cd .iwt-studs__panel {
		display: grid;
		gap: 14px;
		max-height: min(62vh, 520px);
		overflow-y: auto;
		overscroll-behavior: contain;
		padding-top: 12px;
		border-top: 1px solid var(--iwt-studs-line);
	}
	.iwt-studs--cd.has-js:not(.is-open) .iwt-studs__panel {
		display: none;
	}
	.iwt-studs--cd .iwt-studs__chips {
		flex-wrap: wrap;
		margin-inline: 0;
		padding: 0;
		overflow: visible;
	}
	.iwt-studs--cd .iwt-studs__status {
		position: sticky;
		bottom: 0;
		flex-wrap: wrap;
		gap: 10px 16px;
		padding: 10px 0 2px;
		background: #fff;
	}
	/* The live count is read out by screen readers; the summary line above shows it to everyone else. */
	.iwt-studs--cd .iwt-studs__result {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
	}
	.iwt-studs--cd .iwt-studs__apply {
		display: inline-flex;
		flex: 1;
		align-items: center;
		justify-content: center;
		min-width: 160px;
		height: 44px;
		border: 0;
		border-radius: 4px;
		background: var(--iwt-navy);
		color: #fff;
		font-size: 1rem;
		font-weight: 600;
		cursor: pointer;
	}
	.iwt-studs--cd .iwt-studs__apply[hidden] {
		display: none;
	}

	/* Compact cards. Row 1: size × length, price. Row 2: material, flange. Row 3: part #, stock note, qty + Add. */
	.iwt-studs--cd .iwt-studs__table tbody tr {
		display: flex;
		flex-wrap: wrap;
		align-items: baseline;
		gap: 0 10px;
		margin-bottom: 8px;
		padding: 12px 14px;
	}
	.iwt-studs--cd .iwt-studs__table tbody tr[hidden] {
		display: none;
	}
	.iwt-studs--cd .iwt-studs__table tbody tr::before,
	.iwt-studs--cd .iwt-studs__table tbody tr::after {
		content: "";
		flex: 0 0 100%;
		height: 0;
	}
	.iwt-studs--cd .iwt-studs__table tbody tr::before {
		order: 1;
	}
	.iwt-studs--cd .iwt-studs__table tbody tr::after {
		order: 3;
	}
	.iwt-studs--cd .iwt-studs__size {
		flex: none;
		order: 0;
	}
	.iwt-studs--cd .iwt-studs__length {
		flex: 1 1 auto;
		order: 0;
	}
	.iwt-studs--cd .iwt-studs__length::after {
		content: " long";
		color: var(--iwt-slate-500);
		font-size: 0.8125rem;
		font-weight: 400;
	}
	.iwt-studs--cd .iwt-studs__price {
		flex: none;
		order: 0;
		align-self: flex-start;
		text-align: right;
	}
	.iwt-studs--cd .iwt-studs__material {
		flex: 1 1 auto;
		order: 2;
		margin-top: 4px;
	}
	.iwt-studs--cd .iwt-studs__flange {
		flex: none;
		order: 2;
		margin-top: 4px;
		margin-left: auto;
	}
	.iwt-studs--cd .iwt-studs__sku {
		flex: none;
		order: 4;
		margin-top: 8px;
	}
	.iwt-studs--cd .iwt-studs__table td:nth-child(6) {
		flex: 1 1 auto;
		order: 4;
		margin-top: 8px;
		justify-self: auto;
	}
	/* "In Stock" is the normal case: only Low Stock and In Production get a note. */
	.iwt-studs--cd .iwt-studs__table td:nth-child(6):has(.iwt-studs__stock--in) {
		display: none;
	}
	.iwt-studs--cd .iwt-studs__table td.iwt-studs__buy {
		flex: none;
		order: 4;
		margin: 8px 0 0 auto;
	}
	.iwt-studs--cd .iwt-studs__buy form {
		flex-wrap: nowrap;
		justify-content: flex-end;
		gap: 8px;
	}
	.iwt-studs--cd .iwt-studs__buy .iwt-studs__qty {
		flex: none;
		width: 76px;
		height: 40px;
	}
	.iwt-studs--cd .iwt-studs__buy .iwt-studs__stepper .iwt-studs__qty {
		width: 56px;
	}
	.iwt-studs--cd .iwt-studs__buy .iwt-studs__step {
		width: 36px; /* thumb-sized */
	}
	.iwt-studs--cd .iwt-studs__buy .iwt-studs__add {
		flex: none;
		width: 88px;
		height: 40px;
	}

	/* One help line, above the list; the boxed one at the foot is for desktop. */
	.page-id-1573 .entry-content .iwt-studs-help:not(.iwt-studs-help--mobile) {
		display: none;
	}
	.entry-content .iwt-studs-help--mobile {
		display: block;
		margin: 0 0 12px;
		padding: 10px 14px;
		font-size: 0.9375rem;
	}
}

/* Insulation page (1.14.87): a card that is not available yet. No link, no hover change, muted, outlined label. */
.iwt-pkg-card.iwt-pkg-card--soon {
	opacity: 0.7;
	cursor: default;
}
.iwt-pkg-card.iwt-pkg-card--soon:hover {
	background: var(--iwt-navy);
}
.entry-content .iwt-pkg-card--soon .iwt-pkg-cta span {
	background: transparent;
	color: #fff;
	box-shadow: inset 0 0 0 1px var(--iwt-mist);
}
.entry-content .iwt-pkg-card--soon .iwt-pkg-cta span::after {
	content: none;
}
.entry-content .iwt-pkg-card--soon:hover .iwt-pkg-cta span {
	background: transparent;
}
/* Insulation page: the pins card is a full-width text row under the photo cards, copy left and button right. */
.iwt-pkg-card.iwt-pins-callout {
	display: flex;
	flex-direction: row; /* .iwt-cat-card is a column; the text block's flex-basis would become its height */
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 32px;
	margin-top: clamp(16px, 2vw, 28px);
	padding: clamp(24px, 3vw, 36px);
}
.iwt-pins-callout .iwt-pins-callout__text {
	flex: 1 1 360px;
}
.iwt-pins-callout .iwt-pins-callout__text p {
	margin-bottom: 0;
	padding-inline: 0;
}
.iwt-pins-callout .iwt-pins-callout__text h3 {
	padding-inline: 0;
}
.iwt-pins-callout h3 a::before {
	display: none; /* the button is the call to action here */
}
.entry-content .iwt-pins-callout .iwt-pkg-cta {
	flex: none;
	margin-top: 0;
	padding-top: 0;
}
