/* ==========================================================================
   Industrial Sneakers — main stylesheet
   Monochrome, mobile-first, no frameworks. Breakpoints: 640px / 1024px.
   ========================================================================== */

:root {
	--is-black: #0a0a0a;
	--is-white: #ffffff;
	--is-gray-100: #f5f5f5;
	--is-gray-200: #e5e5e5;
	--is-gray-300: #d4d4d4;
	--is-gray-500: #737373;
	--is-gray-700: #404040;
	--is-red: #d40000;

	--is-font: "Helvetica Neue", Helvetica, Arial, sans-serif;

	--is-spacing-xs: 0.25rem;
	--is-spacing-s: 0.5rem;
	--is-spacing-m: 1rem;
	--is-spacing-l: 2rem;
	--is-spacing-xl: 4rem;

	--is-container: 1400px;
	--is-header-h: 64px;
	--is-transition: 0.2s ease;
}

/* --------------------------------------------------------------------------
   Reset & base
   -------------------------------------------------------------------------- */

*,
*::before,
*::after {
	box-sizing: border-box;
}

[hidden] {
	display: none !important;
}

html {
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	font-family: var(--is-font);
	font-size: 1rem;
	line-height: 1.5;
	color: var(--is-black);
	background: var(--is-white);
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: inherit;
	text-decoration: none;
}

h1, h2, h3, h4 {
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: -0.02em;
	line-height: 1.1;
	margin: 0 0 var(--is-spacing-m);
}

p {
	margin: 0 0 var(--is-spacing-m);
}

ul, ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

button {
	font-family: inherit;
	cursor: pointer;
}

:focus-visible {
	outline: 2px solid var(--is-black);
	outline-offset: 2px;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.is-skip-link:focus {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	width: auto;
	height: auto;
	padding: var(--is-spacing-s) var(--is-spacing-m);
	clip: auto;
	background: var(--is-black);
	color: var(--is-white);
}

.is-container {
	max-width: var(--is-container);
	margin: 0 auto;
	padding-left: var(--is-spacing-m);
	padding-right: var(--is-spacing-m);
}

.is-icon {
	width: 22px;
	height: 22px;
	display: inline-block;
	vertical-align: middle;
}

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

.is-btn,
button.single_add_to_cart_button,
.single_add_to_cart_button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
#respond input#submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--is-spacing-s);
	width: auto;
	padding: 0.9rem 2rem;
	font-size: 0.95rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	line-height: 1;
	color: var(--is-white);
	background: var(--is-black);
	border: 2px solid var(--is-black);
	border-radius: 0;
	transition: color var(--is-transition), background var(--is-transition);
}

.is-btn:hover,
button.single_add_to_cart_button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
#respond input#submit:hover {
	color: var(--is-black);
	background: var(--is-white);
}

.is-btn--inverted {
	color: var(--is-black);
	background: var(--is-white);
	border-color: var(--is-white);
}

.is-btn--inverted:hover {
	color: var(--is-white);
	background: transparent;
}

/* --------------------------------------------------------------------------
   Promo bar
   -------------------------------------------------------------------------- */

.is-promo-bar {
	background: var(--is-black);
	color: var(--is-white);
	text-align: center;
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: var(--is-spacing-s) var(--is-spacing-m);
}

.is-promo-bar p {
	margin: 0;
}

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

.is-header {
	position: sticky;
	top: 0;
	z-index: 200;
	background: var(--is-white);
	border-bottom: 1px solid var(--is-gray-200);
	transition: box-shadow var(--is-transition);
}

.is-header.is-scrolled {
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
}

.is-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--is-spacing-m);
	height: var(--is-header-h);
	max-width: var(--is-container);
	margin: 0 auto;
	padding: 0 var(--is-spacing-m);
}

.is-wordmark {
	font-size: 1.25rem;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: -0.02em;
	white-space: nowrap;
}

.custom-logo-link img {
	max-height: 56px;
	width: auto;
}

.is-header__actions {
	display: flex;
	align-items: center;
	gap: var(--is-spacing-s);
}

.is-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 42px;
	height: 42px;
	padding: 0;
	color: var(--is-black);
	background: none;
	border: 0;
	border-radius: 0;
}

.is-icon-btn:hover {
	color: var(--is-gray-500);
}

.is-cart-count {
	position: absolute;
	top: 0;
	right: -2px;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	font-size: 0.7rem;
	font-weight: 700;
	line-height: 18px;
	text-align: center;
	color: var(--is-white);
	background: var(--is-black);
	border-radius: 9px;
}

/* Desktop nav — hidden on mobile */

.is-nav {
	display: none;
}

.is-nav__list {
	display: flex;
	justify-content: center;
	gap: var(--is-spacing-xl);
	max-width: var(--is-container);
	margin: 0 auto;
	padding: 0 var(--is-spacing-m);
}

.is-nav__list li {
	position: relative;
}

/* Top-level items */
.is-nav__list > li > a {
	position: relative;
	display: block;
	padding: 0.9rem 0;
	font-size: 0.8rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.09em;
	color: var(--is-black);
}

/* Animated underline on hover / current */
.is-nav__list > li > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	background: var(--is-black);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform var(--is-transition);
}

.is-nav__list > li:hover > a::after,
.is-nav__list > li:focus-within > a::after,
.is-nav__list .current-menu-item > a::after {
	transform: scaleX(1);
}

/* Dropdown */
.is-nav__list .sub-menu {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%) translateY(8px);
	min-width: 220px;
	padding: var(--is-spacing-s) 0;
	background: var(--is-white);
	border: 1px solid var(--is-gray-200);
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.12);
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--is-transition), transform var(--is-transition);
	z-index: 210;
}

.is-nav__list li:hover > .sub-menu,
.is-nav__list li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}

.is-nav__list .sub-menu a {
	display: block;
	padding: 0.55rem 1.4rem;
	font-size: 0.8rem;
	font-weight: 500;
	letter-spacing: 0.03em;
	white-space: nowrap;
	color: var(--is-gray-700);
	transition: background var(--is-transition), color var(--is-transition);
}

.is-nav__list .sub-menu a:hover {
	background: var(--is-gray-100);
	color: var(--is-black);
}

/* --------------------------------------------------------------------------
   Mobile menu
   -------------------------------------------------------------------------- */

.is-mobile-menu {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 400;
	width: min(320px, 85vw);
	height: 100dvh;
	background: var(--is-white);
	transform: translateX(-100%);
	transition: transform 0.3s ease;
	overflow-y: auto;
}

.is-mobile-menu.is-open {
	transform: translateX(0);
}

.is-mobile-menu__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: var(--is-spacing-m);
	border-bottom: 1px solid var(--is-gray-200);
}

.is-mobile-menu__title {
	font-weight: 800;
	text-transform: uppercase;
}

.is-mobile-menu__list a {
	display: block;
	padding: var(--is-spacing-m);
	font-weight: 700;
	text-transform: uppercase;
	border-bottom: 1px solid var(--is-gray-100);
}

.is-mobile-menu__list .sub-menu a {
	padding-left: var(--is-spacing-l);
	font-weight: 400;
	text-transform: none;
}

.is-mobile-menu__backdrop {
	position: fixed;
	inset: 0;
	z-index: 300;
	background: rgba(0, 0, 0, 0.5);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.is-mobile-menu__backdrop.is-open {
	opacity: 1;
	visibility: visible;
}

/* --------------------------------------------------------------------------
   Search overlay & form
   -------------------------------------------------------------------------- */

.is-search-overlay {
	position: fixed;
	inset: 0;
	z-index: 500;
	background: var(--is-white);
	padding: var(--is-spacing-xl) var(--is-spacing-m);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.25s ease, visibility 0.25s ease;
}

.is-search-overlay.is-open {
	opacity: 1;
	visibility: visible;
}

.is-search-overlay__inner {
	position: relative;
	max-width: 720px;
	margin: 0 auto;
}

.is-search-overlay__close {
	position: absolute;
	top: calc(-1 * var(--is-spacing-l));
	right: 0;
}

.is-search-form {
	display: flex;
	border-bottom: 2px solid var(--is-black);
}

.is-search-form__field {
	flex: 1;
	padding: var(--is-spacing-s) 0;
	font-size: 1.25rem;
	font-weight: 700;
	border: 0;
	background: transparent;
}

.is-search-form__field:focus {
	outline: none;
}

.is-search-form__submit {
	padding: var(--is-spacing-s);
	background: none;
	border: 0;
	color: var(--is-black);
}

/* --------------------------------------------------------------------------
   Hero & homepage sections
   -------------------------------------------------------------------------- */

.is-hero {
	background: linear-gradient(135deg, var(--is-gray-700) 0%, var(--is-black) 100%);
	color: var(--is-white);
	padding: calc(var(--is-spacing-xl) * 1.5) var(--is-spacing-m);
	text-align: center;
}

/* Hero with a background image */
.is-hero--media {
	background-color: var(--is-black);
	position: relative;
	overflow: hidden;
}

.is-hero__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.is-hero--media::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
	pointer-events: none;
}

.is-hero__inner {
	position: relative;
	z-index: 1;
	max-width: 720px;
	margin: 0 auto;
}

/* Hero carousel (2+ slides) */
.is-hero-slider {
	position: relative;
}

.is-hero-slider--multi .is-hero-slides {
	display: grid;
}

.is-hero-slider--multi .is-hero__slide {
	grid-area: 1 / 1;
	opacity: 0;
	visibility: hidden;
	transition: none;
}

.is-hero-slider--multi .is-hero__slide.is-active {
	opacity: 1;
	visibility: visible;
}

.is-hero-slider--multi[data-hero-ready] .is-hero__slide {
	transition: opacity 0.6s ease;
}

.is-hero-dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: var(--is-spacing-m);
	z-index: 2;
	display: flex;
	gap: 0.5rem;
	justify-content: center;
}

.is-hero-dot {
	width: 10px;
	height: 10px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.5);
	cursor: pointer;
	transition: background var(--is-transition), transform var(--is-transition);
}

.is-hero-dot:hover {
	background: rgba(255, 255, 255, 0.8);
}

.is-hero-dot.is-active {
	background: var(--is-white);
	transform: scale(1.2);
}

.is-hero__title {
	font-size: clamp(2rem, 6vw, 4rem);
	margin-bottom: var(--is-spacing-m);
}

.is-hero__subtitle {
	color: var(--is-gray-300);
	margin-bottom: var(--is-spacing-l);
}

.is-section {
	padding-top: var(--is-spacing-xl);
	padding-bottom: var(--is-spacing-l);
}

.is-section__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: var(--is-spacing-l);
}

.is-section__title {
	font-size: 1.5rem;
	margin: 0;
}

.is-teasers {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--is-spacing-m);
}

.is-teaser {
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: flex-end;
	aspect-ratio: 4 / 3;
	padding: var(--is-spacing-m);
	background: var(--is-gray-100);
	border: 1px solid var(--is-gray-200);
	transition: background var(--is-transition);
}

.is-teaser:hover {
	background: var(--is-black);
	color: var(--is-white);
}

.is-teaser__title {
	position: relative;
	z-index: 1;
	font-size: 1.1rem;
	font-weight: 800;
	text-transform: uppercase;
}

/* Teasers backed by a product image */
.is-teaser--media {
	background: var(--is-white);
}

.is-teaser--media:hover {
	background: var(--is-white);
}

.is-teaser__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
	transition: transform var(--is-transition);
}

.is-teaser--media:hover .is-teaser__img {
	transform: scale(1.04);
}

.is-teaser--media .is-teaser__title {
	background: var(--is-black);
	color: var(--is-white);
	padding: 0.35em 0.7em;
}

/* --------------------------------------------------------------------------
   Product grid & card (archives, shortcodes, related)
   -------------------------------------------------------------------------- */

ul.products,
.is-products {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--is-spacing-m);
	margin: 0 !important;
	padding: 0;
}

ul.products::before,
ul.products::after {
	display: none !important;
}

ul.products li.product,
.is-card {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	list-style: none;
}

.is-card__link {
	display: block;
}

.is-card__media {
	position: relative;
	display: block;
	/* Shoes are wide & short: a 4:3 card crops the square photo's empty top/
	   bottom margins so cards stay compact instead of tall white boxes. */
	aspect-ratio: 4 / 3;
	background: var(--is-white);
	overflow: hidden;
}

.is-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 0.35s ease;
}

.is-card__link:hover .is-card__media img {
	transform: scale(1.05);
}

/* Second photo cross-fades in on card hover (if the product has one). */
.is-card__media-hover {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	opacity: 0;
	transition: opacity var(--is-transition);
}

.is-card__link:hover .is-card__media-hover {
	opacity: 1;
}

.is-card__body {
	display: block;
	padding-top: var(--is-spacing-s);
}

.is-card__brand {
	display: block;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--is-gray-500);
}

.is-card__title {
	display: block;
	font-size: 0.95rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: -0.01em;
}

.is-card__price {
	display: block;
	font-size: 0.95rem;
	font-weight: 700;
	margin-top: var(--is-spacing-xs);
}

.is-card__price del,
.is-price del {
	color: var(--is-gray-500);
	font-weight: 400;
	margin-right: var(--is-spacing-xs);
}

.is-card__price ins,
.is-price ins {
	text-decoration: none;
}

/* Sale badge */

.is-badge--sale {
	display: inline-block;
	padding: 0.15rem 0.5rem;
	font-size: 0.8rem;
	font-weight: 800;
	line-height: 1.4;
	color: var(--is-white);
	background: var(--is-red);
}

.is-card__media .is-badge--sale {
	position: absolute;
	top: var(--is-spacing-s);
	left: var(--is-spacing-s);
	z-index: 2;
}

/* --------------------------------------------------------------------------
   Shop header & toolbar
   -------------------------------------------------------------------------- */

.is-woo-wrapper {
	padding-top: var(--is-spacing-l);
	padding-bottom: var(--is-spacing-xl);
}

.is-shop-header__title {
	font-size: 2rem;
}

.is-shop-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--is-spacing-m);
	padding: var(--is-spacing-s) 0;
	margin-bottom: var(--is-spacing-l);
	border-top: 1px solid var(--is-gray-200);
	border-bottom: 1px solid var(--is-gray-200);
}

.woocommerce-result-count {
	margin: 0;
	font-size: 0.85rem;
	color: var(--is-gray-500);
}

.woocommerce-ordering {
	margin: 0;
}

.woocommerce-ordering select {
	padding: var(--is-spacing-s) var(--is-spacing-m);
	font-size: 0.85rem;
	font-weight: 700;
	text-transform: uppercase;
	border: 1px solid var(--is-gray-300);
	border-radius: 0;
	background: var(--is-white);
}

/* Breadcrumbs */

.woocommerce-breadcrumb {
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--is-gray-500);
	margin-bottom: var(--is-spacing-m);
}

.woocommerce-breadcrumb a {
	color: var(--is-gray-500);
}

.woocommerce-breadcrumb a:hover {
	color: var(--is-black);
}

/* Pagination */

.woocommerce-pagination ul {
	display: flex;
	gap: var(--is-spacing-xs);
	justify-content: center;
	border: 0 !important;
	margin-top: var(--is-spacing-l) !important;
}

.woocommerce-pagination ul li {
	border: 0 !important;
}

.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 var(--is-spacing-s);
	font-weight: 700;
	border: 1px solid var(--is-gray-300) !important;
	background: var(--is-white);
	color: var(--is-black);
}

.woocommerce-pagination ul li span.current,
.woocommerce-pagination ul li a:hover {
	background: var(--is-black) !important;
	color: var(--is-white) !important;
	border-color: var(--is-black) !important;
}

/* Notices */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	padding: var(--is-spacing-m);
	margin-bottom: var(--is-spacing-l);
	border: 1px solid var(--is-gray-300);
	background: var(--is-gray-100);
	list-style: none;
}

.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
	float: right;
	padding: 0.4rem 1rem;
	font-size: 0.8rem;
}

/* --------------------------------------------------------------------------
   Single product
   -------------------------------------------------------------------------- */

.is-product__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--is-spacing-l);
}

/* Gallery: mobile = swipe carousel with dots, desktop = two-column image grid.
   Click on any image opens the lightbox (assets/js/main.js). */

.is-gallery__grid {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.is-gallery__grid::-webkit-scrollbar {
	display: none;
}

.is-gallery__item {
	position: relative;
	flex: 0 0 100%;
	margin: 0;
	background: var(--is-gray-100);
	scroll-snap-align: start;
	overflow: hidden;
}

.is-gallery__item .is-badge--sale {
	position: absolute;
	top: var(--is-spacing-s);
	left: var(--is-spacing-s);
	z-index: 2;
}

.is-gallery__image {
	display: block;
	width: 100%;
	height: auto;
	cursor: zoom-in;
}

.is-gallery__dots {
	display: flex;
	justify-content: center;
	gap: 6px;
	margin-top: var(--is-spacing-s);
}

.is-gallery__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--is-gray-300);
	transition: background var(--is-transition);
}

.is-gallery__dot.is-active {
	background: var(--is-black);
}

@media (min-width: 1024px) {
	.is-gallery__grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
		overflow: visible;
		scroll-snap-type: none;
	}

	.is-gallery__item {
		flex: none;
	}

	.is-gallery__dots {
		display: none;
	}
}

/* Lightbox */

.is-lightbox {
	position: fixed;
	inset: 0;
	z-index: 200;
	display: flex;
	align-items: center;
	justify-content: center;
}

.is-lightbox__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(10, 10, 10, 0.92);
}

.is-lightbox__image {
	position: relative;
	z-index: 1;
	max-width: 92vw;
	max-height: 88vh;
	object-fit: contain;
	cursor: zoom-in;
	transition: transform var(--is-transition);
}

.is-lightbox__image.is-zoomed {
	transform: scale(2);
	cursor: zoom-out;
	max-width: none;
	max-height: none;
}

.is-lightbox__btn {
	position: absolute;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	font-size: 1.5rem;
	line-height: 1;
	color: var(--is-black);
	background: var(--is-white);
	border: 0;
	border-radius: 50%;
	cursor: pointer;
}

.is-lightbox__btn--prev {
	left: var(--is-spacing-m);
	top: 50%;
	transform: translateY(-50%);
}

.is-lightbox__btn--next {
	right: var(--is-spacing-m);
	top: 50%;
	transform: translateY(-50%);
}

.is-lightbox__btn--close {
	top: var(--is-spacing-m);
	right: var(--is-spacing-m);
}

/* Recently viewed */

.is-recently-viewed {
	margin-top: var(--is-spacing-xl);
}

.is-recently-viewed__list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--is-spacing-m);
}

.is-recently-viewed__item {
	position: relative;
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
}

.is-recently-viewed__badge {
	position: absolute;
	top: var(--is-spacing-s);
	left: var(--is-spacing-s);
	padding: 2px 6px;
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--is-white);
	background: var(--is-red);
}

.is-recently-viewed__price del {
	margin-right: var(--is-spacing-xs);
	color: var(--is-gray-500);
}

.is-recently-viewed__price-current {
	color: var(--is-red);
	font-weight: 700;
}

.is-recently-viewed__item img {
	width: 100%;
	height: auto;
	background: var(--is-gray-100);
}

.is-recently-viewed__title {
	margin-top: var(--is-spacing-xs);
	font-size: 0.85rem;
	font-weight: 700;
}

.is-recently-viewed__price {
	font-size: 0.85rem;
	color: var(--is-gray-700);
}

@media (min-width: 640px) {
	.is-recently-viewed__list {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 1024px) {
	.is-recently-viewed__list {
		grid-template-columns: repeat(6, 1fr);
	}
}


/* Buy box */

.is-buy-box__brand {
	font-size: 0.85rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--is-gray-500);
	margin-bottom: var(--is-spacing-xs);
}

.is-buy-box__title {
	font-size: 1.75rem;
	margin-bottom: var(--is-spacing-s);
}

.is-buy-box__meta {
	display: flex;
	gap: var(--is-spacing-m);
	margin: 0 0 var(--is-spacing-s);
	font-size: 0.75rem;
	color: var(--is-gray-500);
}

.is-price {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--is-spacing-s);
	margin-bottom: var(--is-spacing-l);
}

.is-omnibus {
	flex-basis: 100%;
	margin: 0;
	font-size: 0.75rem;
	color: var(--is-gray-500);
}

.is-tax-note {
	flex-basis: 100%;
	margin: 0;
	font-size: 0.75rem;
	color: var(--is-gray-500);
}

.is-price__value {
	font-size: 1.35rem;
	font-weight: 800;
}

.is-price__value--sale ins {
	color: var(--is-red);
}

/* Size selector */

.is-size-selector {
	margin-bottom: var(--is-spacing-m);
}

.is-size-selector__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: var(--is-spacing-s);
}

.is-size-selector__label {
	font-size: 0.85rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.is-size-selector__guide {
	font-size: 0.8rem;
	text-decoration: underline;
	color: var(--is-gray-500);
}

.is-size-selector__guide:hover {
	color: var(--is-black);
}

.is-size-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(56px, 1fr));
	gap: var(--is-spacing-s);
}

.is-size {
	padding: 0.7rem 0.25rem;
	font-size: 0.9rem;
	font-weight: 700;
	text-align: center;
	background: var(--is-white);
	border: 1px solid var(--is-black);
	border-radius: 0;
	transition: color var(--is-transition), background var(--is-transition);
}

.is-size:hover {
	background: var(--is-gray-100);
}

.is-size.is-selected {
	background: var(--is-black);
	color: var(--is-white);
}

.is-size.is-disabled,
.is-size:disabled {
	color: var(--is-gray-300);
	border-color: var(--is-gray-300);
	text-decoration: line-through;
	cursor: not-allowed;
}

/* Out of stock but selectable — muted, no strike-through, still clickable
   so the buyer can open the back-in-stock notify modal. */
.is-size.is-oos {
	color: var(--is-gray-500);
	border-color: var(--is-gray-300);
	background:
		repeating-linear-gradient(
			-45deg,
			transparent,
			transparent 5px,
			var(--is-gray-100) 5px,
			var(--is-gray-100) 6px
		);
	cursor: pointer;
}

.is-size.is-oos:hover {
	border-color: var(--is-black);
	color: var(--is-black);
}

.is-size.is-oos.is-selected {
	background: var(--is-black);
	color: var(--is-white);
	border-color: var(--is-black);
}

/* Hide WooCommerce's native variation availability text — our own
   is-stock line (styled, colour-coded) replaces it. */
.woocommerce-variation-availability,
.single_variation .stock {
	display: none !important;
}

/* Back-in-stock notify */
/* Notify button reuses .single_add_to_cart_button look; just size it. */
.is-notify-trigger {
	flex: 1 1 auto;
	width: auto;
}

.is-notify__intro {
	margin: 0 0 var(--is-spacing-m);
	color: var(--is-gray-500);
	font-size: 0.9rem;
}

.is-notify-form {
	display: flex;
	flex-direction: column;
	gap: var(--is-spacing-s);
}

.is-notify__email {
	padding: 0.8rem;
	font-size: 0.95rem;
	border: 1px solid var(--is-black);
}

.is-notify__submit {
	padding: 0.9rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	background: var(--is-black);
	color: var(--is-white);
	border: none;
	cursor: pointer;
}

.is-notify__submit:disabled {
	opacity: 0.6;
	cursor: wait;
}

.is-notify__msg {
	margin: 0;
	font-size: 0.85rem;
	font-weight: 700;
}

.is-notify__msg.is-ok {
	color: #1a7f37;
}

.is-notify__msg.is-err {
	color: #c00;
}

/* Stock status line */
.is-stock {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	margin: var(--is-spacing-s) 0 var(--is-spacing-m);
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.is-stock__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: currentColor;
}

.is-stock--in {
	color: #1a7f37;
}

.is-stock--back {
	color: #b26a00;
}

.is-stock--out {
	color: #c00;
}

/* Brand logo at the top of the buy box */
.is-buy-box__brand--logo {
	margin: 0 0 var(--is-spacing-s);
}

.is-buy-box__brand-logo {
	display: block;
	height: 28px;
	width: auto;
}

.is-buy-box__brand-link {
	display: inline-block;
	line-height: 0;
}

.is-buy-box__brand-link:hover {
	opacity: 0.75;
}

@media (max-width: 1023px) {
	.is-buy-box__brand-logo {
		height: 24px;
	}
}

/* Add-to-cart validation state */
.is-variation-error {
	margin: 0 0 var(--is-spacing-s);
	color: #c00;
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.is-size-grid--error .is-size:not(:disabled) {
	border-color: #c00;
	color: #c00;
}

/* Size guide modal */
.is-size-guide-modal {
	position: fixed;
	inset: 0;
	z-index: 1200;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--is-spacing-m);
}

.is-size-guide-modal[hidden] {
	display: none;
}

.is-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.6);
}

.is-modal__panel {
	position: relative;
	width: 100%;
	max-width: 560px;
	max-height: 85vh;
	overflow-y: auto;
	background: var(--is-white);
	padding: var(--is-spacing-l);
}

.is-modal__title {
	margin: 0 0 var(--is-spacing-s);
	font-size: 1.1rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.is-modal__close {
	position: absolute;
	top: var(--is-spacing-s);
	right: var(--is-spacing-s);
	padding: 0.4rem;
	background: none;
	border: none;
	cursor: pointer;
	line-height: 0;
}

.is-modal__close:hover {
	opacity: 0.6;
}

body.is-modal-open {
	overflow: hidden;
}

/* The guide trigger is a <button> now — keep the link look */
button.is-size-selector__guide {
	padding: 0;
	background: none;
	border: none;
	cursor: pointer;
}

/* Size unit tabs (EU/UK/US/CM) */
.is-size-selector__tools {
	margin-left: auto;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 6px;
}

.is-size-selector__units {
	display: flex;
	gap: 4px;
}

.is-size-selector__unit {
	padding: 2px 8px;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	background: var(--is-white);
	border: 1px solid var(--is-gray-300);
	cursor: pointer;
	transition: color var(--is-transition), background var(--is-transition);
}

.is-size-selector__unit.is-active {
	background: var(--is-black);
	border-color: var(--is-black);
	color: var(--is-white);
}

/* Width button row */
.is-size-selector--width {
	margin-bottom: var(--is-spacing-l);
}

.is-size-grid--width {
	grid-template-columns: repeat(auto-fill, minmax(48px, max-content));
}

.is-size-grid--width .is-size {
	padding: 0.4rem 0.9rem;
	font-size: 0.8rem;
}

/* Size chart table (Size guide accordion) */
.is-size-table {
	width: 100%;
	margin-top: var(--is-spacing-s);
	border-collapse: collapse;
	font-size: 0.8rem;
}

.is-size-table th,
.is-size-table td {
	padding: 0.35rem 0.5rem;
	text-align: center;
	border: 1px solid var(--is-gray-200);
}

.is-size-table th {
	background: var(--is-gray-100);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 0.7rem;
}

/* Color selector (PDP) */

.is-color-selector {
	margin-bottom: var(--is-spacing-m);
}

.is-color-selector__head {
	display: flex;
	align-items: baseline;
	gap: var(--is-spacing-s);
	margin-bottom: var(--is-spacing-s);
}

.is-color-selector__label {
	font-size: 0.85rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.is-color-selector__current {
	font-size: 0.85rem;
	color: var(--is-gray-500);
}

.is-color-grid {
	display: flex;
	flex-wrap: wrap;
	gap: var(--is-spacing-s);
}

.is-color-thumb {
	display: inline-block;
	width: 130px;
	height: 130px;
	padding: 0;
	background: var(--is-gray-100);
	border: 1px solid var(--is-gray-300);
	border-radius: 0;
	cursor: pointer;
	overflow: hidden;
	transition: border-color var(--is-transition);
}

span.is-color-thumb {
	cursor: default;
}

.is-color-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.is-color-thumb:hover {
	border-color: var(--is-gray-700);
}

.is-color-thumb.is-selected {
	border: 2px solid var(--is-black);
}

/* Listing card color swatches */

.is-card-swatches {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: var(--is-spacing-xs) var(--is-spacing-s) var(--is-spacing-s);
}

.is-card-swatch {
	width: 22px;
	height: 22px;
	padding: 0;
	background: none;
	border: 1px solid var(--is-gray-300);
	border-radius: 50%;
	overflow: hidden;
	cursor: pointer;
	transition: border-color var(--is-transition);
}

.is-card-swatch img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.is-card-swatch:hover,
.is-card-swatch.is-active {
	border-color: var(--is-black);
	box-shadow: 0 0 0 1px var(--is-black);
}

.is-card-swatches__more {
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--is-gray-500);
}

/* Width info panel (2E/4E explanations) */

.is-size-selector__info-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	justify-self: start;
	align-self: center;
	width: 22px;
	height: 22px;
	padding: 0;
	color: var(--is-gray-500);
	background: none;
	border: 0;
	cursor: pointer;
	transition: color var(--is-transition);
}

.is-size-selector__info-btn:hover,
.is-size-selector__info-btn[aria-expanded="true"] {
	color: var(--is-black);
}

.is-size-selector__info-btn .is-icon {
	width: 16px;
	height: 16px;
}

.is-width-info {
	margin-top: var(--is-spacing-s);
	padding: var(--is-spacing-s) var(--is-spacing-m);
	background: var(--is-gray-100);
	font-size: 0.8rem;
	line-height: 1.5;
}

.is-width-info__item {
	margin: var(--is-spacing-xs) 0;
}

/* Payment badges in the buy box */

.is-buy-box__payments {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: var(--is-spacing-s);
}

/* Native variations form — selects stay functional but visually reduced;
   the row for the size attribute is hidden by JS when a size grid exists. */

.variations {
	width: 100%;
	margin-bottom: var(--is-spacing-m);
	border-collapse: collapse;
}

.variations th,
.variations td {
	display: block;
	width: 100%;
	padding: var(--is-spacing-xs) 0;
	text-align: left;
	border: 0;
}

.variations .label {
	font-size: 0.85rem;
	font-weight: 700;
	text-transform: uppercase;
}

.variations select {
	width: 100%;
	padding: var(--is-spacing-s);
	border: 1px solid var(--is-gray-300);
	border-radius: 0;
	background: var(--is-white);
}

.reset_variations {
	display: inline-block;
	font-size: 0.8rem;
	color: var(--is-gray-500);
	text-decoration: underline;
	margin-bottom: var(--is-spacing-s);
}

.woocommerce-variation-price {
	margin-bottom: var(--is-spacing-s);
	font-size: 1.2rem;
	font-weight: 800;
}

.woocommerce-variation-availability {
	margin-bottom: var(--is-spacing-s);
}

.stock.in-stock {
	color: inherit;
	font-size: 0.85rem;
	font-weight: 700;
	text-transform: uppercase;
}

.stock.out-of-stock {
	color: var(--is-red);
	font-size: 0.85rem;
	font-weight: 700;
	text-transform: uppercase;
}

.single_variation_wrap .woocommerce-variation.single_variation {
	margin-bottom: var(--is-spacing-s);
}

/* Add to cart — one row: [qty] [button flex:1] [♥] */

.woocommerce-variation-add-to-cart {
	display: flex;
	align-items: stretch;
	gap: var(--is-spacing-s);
	flex-wrap: nowrap;
}

.single_add_to_cart_button {
	flex: 1 1 auto;
	width: auto;
}

/* Favourite (heart) button — square, to the right of add-to-cart */
.is-fav {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	background: var(--is-white);
	border: 2px solid var(--is-black);
	cursor: pointer;
	color: var(--is-black);
	transition: background var(--is-transition), color var(--is-transition);
}

.is-fav .is-icon {
	width: 22px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
}

.is-fav:hover {
	background: var(--is-gray-100);
}

.is-fav--active {
	background: var(--is-black);
	color: var(--is-white);
}

.is-fav--active .is-icon {
	fill: currentColor;
}

/* Waiting-for-selection state (Woo adds .disabled before options are
   picked): keep the normal look and cursor — our click validation
   explains what's missing instead of scaring people off. */
.single_add_to_cart_button.disabled {
	cursor: pointer;
	opacity: 1;
}

/* Genuinely disabled (attribute — e.g. out of stock) stays muted. */
.single_add_to_cart_button:disabled {
	background: var(--is-gray-300);
	border-color: var(--is-gray-300);
	color: var(--is-gray-500);
	cursor: not-allowed;
}

.quantity {
	display: inline-flex;
	align-items: stretch;
	margin-bottom: 0;
	border: 1px solid var(--is-black);
}

.quantity .qty {
	width: 48px;
	height: auto;
	padding: var(--is-spacing-s) 0;
	text-align: center;
	border: none;
	border-radius: 0;
	font-weight: 700;
	/* hide native number spinners */
	-moz-appearance: textfield;
	appearance: textfield;
}

.quantity .qty::-webkit-outer-spin-button,
.quantity .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.is-qty-steps {
	display: flex;
	flex-direction: column;
	border-left: 1px solid var(--is-black);
}

.is-qty-step {
	flex: 1 1 0;
	width: 30px;
	padding: 0;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	background: var(--is-white);
	border: none;
	color: var(--is-black);
	cursor: pointer;
	transition: background var(--is-transition), color var(--is-transition);
}

.is-qty-step:hover {
	background: var(--is-black);
	color: var(--is-white);
}

.is-qty-down {
	border-top: 1px solid var(--is-gray-300);
}

.quantity .qty {
	width: 64px;
	padding: var(--is-spacing-s);
	text-align: center;
	border: 1px solid var(--is-gray-300);
	border-radius: 0;
}

/* Trust lines */

.is-trust {
	margin: var(--is-spacing-l) 0;
	border-top: 1px solid var(--is-gray-200);
	padding-top: var(--is-spacing-m);
}

.is-trust__item {
	display: flex;
	align-items: center;
	gap: var(--is-spacing-s);
	padding: var(--is-spacing-xs) 0;
	font-size: 0.85rem;
	color: var(--is-gray-700);
}

.is-trust__item .is-icon {
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
}

/* Accordions */

.is-accordions {
	border-bottom: 1px solid var(--is-gray-200);
}

.is-accordion {
	border-top: 1px solid var(--is-gray-200);
}

.is-accordion__heading {
	margin: 0;
}

.is-accordion__toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: var(--is-spacing-m) 0;
	font-size: 0.95rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	text-align: left;
	background: none;
	border: 0;
}

.is-accordion__toggle .is-icon {
	width: 18px;
	height: 18px;
	transition: transform 0.25s ease;
}

.is-accordion.is-open .is-accordion__toggle .is-icon {
	transform: rotate(180deg);
}

.is-accordion__panel {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease;
}

.is-accordion__inner {
	padding: 0 0 var(--is-spacing-m);
	font-size: 0.95rem;
	color: var(--is-gray-700);
}

.is-attributes table,
.shop_attributes {
	width: 100%;
	border-collapse: collapse;
	margin-top: var(--is-spacing-m);
}

.shop_attributes th,
.shop_attributes td {
	padding: var(--is-spacing-s);
	text-align: left;
	border: 1px solid var(--is-gray-200) !important;
}

.shop_attributes th {
	font-weight: 700;
	text-transform: uppercase;
	font-size: 0.8rem;
	background: var(--is-gray-100);
}

/* Related products */

.related.products {
	margin-top: var(--is-spacing-xl);
}

.related.products > h2 {
	font-size: 1.5rem;
}

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

.is-footer {
	background: var(--is-black);
	color: var(--is-white);
	margin-top: var(--is-spacing-xl);
}

/* Front page ends on the full-bleed newsletter band — no gap before footer. */
.home .is-footer {
	margin-top: 0;
}

.is-footer__cols {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--is-spacing-l);
	padding-top: var(--is-spacing-xl);
	padding-bottom: var(--is-spacing-xl);
}

.is-footer__wordmark {
	font-size: 1.25rem;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: -0.02em;
}

.is-footer__logo {
	display: inline-block;
	margin-bottom: var(--is-spacing-s);
}

.is-footer__logo img {
	display: block;
	width: 240px;
	max-width: 70%;
	height: auto;
}

.is-footer__tagline {
	color: var(--is-gray-300);
	font-size: 0.9rem;
}

.is-footer__payments {
	display: flex;
	flex-wrap: wrap;
	gap: var(--is-spacing-s);
}

.is-payment-badge {
	padding: 0.25rem 0.75rem;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--is-gray-300);
	border: 1px solid var(--is-gray-700);
}

.is-footer__heading {
	font-size: 0.9rem;
	color: var(--is-gray-300);
	letter-spacing: 0.08em;
}

.is-footer__menu a {
	display: block;
	padding: var(--is-spacing-xs) 0;
	font-size: 0.9rem;
	color: var(--is-white);
}

.is-footer__menu a:hover {
	color: var(--is-gray-300);
}

.is-footer__bottom {
	border-top: 1px solid var(--is-gray-700);
	padding: var(--is-spacing-m) 0;
	font-size: 0.8rem;
	color: var(--is-gray-500);
}

.is-footer__bottom p {
	margin: 0;
}

.is-footer__langs {
	display: flex;
	gap: var(--is-spacing-m);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.is-footer__langs a {
	color: var(--is-gray-500);
	text-decoration: none;
}

.is-footer__langs a:hover {
	color: var(--is-white);
}

.is-footer__langs strong {
	color: var(--is-white);
}

.is-footer__lang-disabled {
	color: var(--is-gray-700);
	cursor: default;
}

.is-footer__meta {
	border-top: 1px solid var(--is-gray-700);
	padding: var(--is-spacing-m) 0;
}

.is-footer__meta-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--is-spacing-m);
}

.is-footer__meta-caption {
	margin: 0;
	font-size: 0.8rem;
	color: var(--is-gray-500);
}

.is-footer__meta-social {
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--is-gray-300);
	text-decoration: none;
}

.is-footer__meta-social:hover {
	color: var(--is-white);
}

/* --------------------------------------------------------------------------
   Generic content / 404 / comments
   -------------------------------------------------------------------------- */

.is-content {
	padding-top: var(--is-spacing-l);
	padding-bottom: var(--is-spacing-xl);
}

.is-entry {
	margin-bottom: var(--is-spacing-l);
}

/* Legal and information pages: calm, editorial reading layout. */
.is-content--legal {
	padding-top: clamp(2rem, 5vw, 5rem);
	padding-bottom: clamp(3rem, 8vw, 7rem);
	background: linear-gradient(180deg, var(--is-gray-100) 0, var(--is-white) 19rem);
}

.is-entry--legal {
	max-width: 960px;
	margin: 0 auto;
	padding: clamp(1.5rem, 4vw, 4rem);
	background: var(--is-white);
	border: 1px solid var(--is-gray-200);
	box-shadow: 0 18px 50px rgba(10, 10, 10, 0.06);
}

.is-entry--legal .is-entry__title {
	position: relative;
	margin: 0 0 clamp(2rem, 5vw, 4rem);
	padding-bottom: 1.25rem;
	font-size: clamp(2rem, 5vw, 4rem);
	letter-spacing: -0.055em;
	line-height: 0.98;
	text-wrap: balance;
}

.is-entry--legal .is-entry__title::after {
	content: "";
	display: block;
	width: 3.5rem;
	height: 0.3rem;
	margin-top: 1.25rem;
	background: var(--is-black);
}

.is-entry--legal .is-entry__content {
	max-width: 740px;
	margin: 0 auto;
	font-size: 1.02rem;
	line-height: 1.78;
	color: var(--is-gray-700);
}

.is-entry--legal .is-entry__content > p:first-child {
	font-size: 1.15rem;
	line-height: 1.65;
	color: var(--is-black);
}

.is-entry--legal .is-entry__content h2 {
	margin: 2.75rem 0 0.85rem;
	padding-top: 1.4rem;
	border-top: 1px solid var(--is-gray-200);
	font-size: clamp(1.05rem, 2vw, 1.35rem);
	letter-spacing: 0.015em;
}

.is-entry--legal .is-entry__content h3 {
	margin: 1.75rem 0 0.6rem;
	font-size: 1rem;
	letter-spacing: 0.02em;
}

.is-entry--legal .is-entry__content ul,
.is-entry--legal .is-entry__content ol {
	margin: 0 0 1.35rem;
	padding-left: 1.35rem;
	list-style: revert;
}

.is-entry--legal .is-entry__content li {
	margin: 0.45rem 0;
	padding-left: 0.25rem;
}

.is-entry--legal .is-entry__content a {
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.is-entry--legal .is-entry__content a:hover {
	text-decoration-thickness: 2px;
}

.is-entry--legal .is-entry__content strong {
	color: var(--is-black);
}

.is-entry--legal .is-entry__content table {
	width: 100%;
	margin: 1.5rem 0 2rem;
	border-collapse: collapse;
	font-size: 0.93rem;
}

.is-entry--legal .is-entry__content th,
.is-entry--legal .is-entry__content td {
	padding: 0.8rem 0.9rem;
	border: 1px solid var(--is-gray-200);
	text-align: left;
	vertical-align: top;
}

.is-entry--legal .is-entry__content th {
	color: var(--is-black);
	background: var(--is-gray-100);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

@media (max-width: 639px) {
	.is-content--legal {
		padding-right: 0;
		padding-left: 0;
	}

	.is-entry--legal {
		padding: 1.5rem 1rem 2.5rem;
		border-right: 0;
		border-left: 0;
		box-shadow: none;
	}

	.is-entry--legal .is-entry__content {
		font-size: 0.98rem;
	}

	.is-entry--legal .is-entry__content table {
		display: block;
		overflow-x: auto;
		white-space: nowrap;
	}
}

.is-entry__meta {
	font-size: 0.85rem;
	color: var(--is-gray-500);
}

.is-archive-header {
	margin-bottom: var(--is-spacing-l);
}

.is-archive-header__desc {
	color: var(--is-gray-500);
	margin-top: var(--is-spacing-xs);
}

.is-404 {
	text-align: center;
}

.is-404__title {
	font-size: clamp(4rem, 12vw, 8rem);
	line-height: 1;
	margin-bottom: var(--is-spacing-s);
}

.is-404__text {
	color: var(--is-gray-500);
	margin-bottom: var(--is-spacing-m);
}

.is-404 .is-search-form,
.is-search-empty .is-search-form {
	max-width: 480px;
	margin: var(--is-spacing-l) auto 0;
}

.is-404__cats {
	display: flex;
	flex-wrap: wrap;
	gap: var(--is-spacing-s);
	justify-content: center;
	align-items: center;
	margin: var(--is-spacing-l) 0 0;
}

.is-404__cats-label {
	width: 100%;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--is-gray-500);
	margin-bottom: var(--is-spacing-xs);
}

.is-chip {
	display: inline-block;
	padding: 0.45rem 0.95rem;
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--is-black);
	border: 1px solid var(--is-gray-200);
	transition: background var(--is-transition), color var(--is-transition), border-color var(--is-transition);
}

.is-chip:hover {
	background: var(--is-black);
	color: var(--is-white);
	border-color: var(--is-black);
}

.is-404__products {
	margin-top: var(--is-spacing-xl);
	text-align: left;
}

.is-404__products .is-section__title {
	text-align: center;
	margin-bottom: var(--is-spacing-l);
}

.is-search-empty {
	text-align: center;
	padding: var(--is-spacing-xl) 0;
}

.is-comments {
	margin-top: var(--is-spacing-l);
}

.is-comments__list .comment-body {
	padding: var(--is-spacing-m) 0;
	border-bottom: 1px solid var(--is-gray-200);
}

/* Widgets */

.is-sidebar .widget {
	margin-bottom: var(--is-spacing-l);
}

/* Pagination (posts) */

.pagination .nav-links,
.nav-links {
	display: flex;
	gap: var(--is-spacing-xs);
}

/* --------------------------------------------------------------------------
   Breakpoints
   -------------------------------------------------------------------------- */

@media (min-width: 640px) {
	ul.products,
	.is-products {
		grid-template-columns: repeat(3, 1fr);
	}

	.is-teasers {
		grid-template-columns: repeat(3, 1fr);
	}

	.is-footer__cols {
		grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
	}

	.is-footer__bottom-inner {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: var(--is-spacing-s);
	}

	.is-footer__credit a {
		color: var(--is-gray-300);
		text-decoration: underline;
	}

	.is-footer__credit a:hover {
		color: var(--is-white);
	}
}

@media (min-width: 1024px) {
	.is-header__burger {
		display: none;
	}

	.is-nav {
		display: block;
	}

	ul.products,
	.is-products {
		grid-template-columns: repeat(4, 1fr);
		gap: var(--is-spacing-l);
	}

	.is-product__grid {
		grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
		gap: var(--is-spacing-xl);
	}

	.is-buy-box {
		position: sticky;
		top: calc(var(--is-header-h) + var(--is-spacing-m));
	}
}

@media (prefers-reduced-motion: reduce) {
	* {
		transition: none !important;
	}
}


/* --------------------------------------------------------------------------
   Home: USP cards + newsletter
   -------------------------------------------------------------------------- */

.is-usps {
	background: var(--is-gray-100);
	padding: var(--is-spacing-xl) 0;
}

.is-usps__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--is-spacing-m);
}

.is-usp {
	background: var(--is-white);
	padding: var(--is-spacing-l) var(--is-spacing-m);
	text-align: center;
}

.is-usp__icon .is-icon {
	width: 34px;
	height: 34px;
	color: #e07a00;
	stroke: currentColor;
	fill: none;
}

.is-usp__title {
	margin: var(--is-spacing-s) 0 var(--is-spacing-xs);
	font-size: 1rem;
}

.is-usp__text {
	margin: 0;
	font-size: 0.85rem;
	color: var(--is-gray-500);
	text-transform: none;
	letter-spacing: 0;
	font-weight: 400;
}

.is-newsletter {
	background: #e6dccb;
	padding: var(--is-spacing-xl) 0;
}

.is-newsletter__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--is-spacing-l);
	align-items: center;
}

.is-newsletter__title {
	font-size: clamp(1.6rem, 4vw, 2.4rem);
	margin: 0 0 var(--is-spacing-s);
}

.is-newsletter__lead {
	margin: 0;
	color: var(--is-gray-700);
}

.is-newsletter__form {
	display: flex;
	gap: var(--is-spacing-s);
}

.is-newsletter__email {
	flex: 1 1 auto;
	padding: 1rem;
	font-size: 0.95rem;
	border: none;
	background: var(--is-white);
}

.is-newsletter__btn {
	flex: 0 0 auto;
	padding: 1rem 2rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--is-white);
	background: var(--is-black);
	border: none;
	cursor: pointer;
}

.is-newsletter__btn:hover {
	background: var(--is-gray-700);
}

.is-newsletter__btn:disabled {
	opacity: 0.6;
	cursor: wait;
}

.is-newsletter__msg {
	margin: var(--is-spacing-s) 0 0;
	font-size: 0.85rem;
	font-weight: 700;
}

.is-newsletter__msg.is-ok { color: #1a7f37; }
.is-newsletter__msg.is-err { color: #c00; }

.is-newsletter__terms {
	margin: var(--is-spacing-m) 0 0;
	font-size: 0.8rem;
	color: var(--is-gray-700);
}

.is-newsletter__terms a {
	text-decoration: underline;
}

@media (min-width: 640px) {
	.is-usps__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.is-usps__grid {
		grid-template-columns: repeat(4, 1fr);
	}
	.is-newsletter__grid {
		grid-template-columns: 1fr 1fr;
		gap: var(--is-spacing-xl);
	}
}

/* Technical specification (Specification accordion) */
.is-spec-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.85rem;
}

.is-spec-table th,
.is-spec-table td {
	padding: 0.5rem 0.6rem;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid var(--is-gray-200);
}

.is-spec-table th {
	width: 42%;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	font-size: 0.75rem;
	color: var(--is-gray-700);
}

/* Code chips with info tooltip */
.is-codes {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 6px;
}

.is-code {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 3px;
	padding: 2px 6px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	background: var(--is-gray-100);
	border: 1px solid var(--is-gray-300);
	cursor: help;
}

.is-code--plain {
	cursor: default;
}

.is-code .is-icon {
	width: 12px;
	height: 12px;
	color: var(--is-gray-500);
}

/* tooltip bubble — positioned in a fixed layer by JS so no ancestor clips it */
.is-tip {
	position: fixed;
	z-index: 1300;
	max-width: 240px;
	padding: 6px 9px;
	font-size: 0.72rem;
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
	color: var(--is-white);
	background: var(--is-black);
	pointer-events: none;
}

/* Documents accordion — PDF link with icon */
.is-doc-link a {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	text-decoration: underline;
}

.is-doc-link .is-icon {
	width: 22px;
	height: 22px;
	flex: 0 0 auto;
	color: #c0392b;
	stroke: currentColor;
	fill: none;
}


/* PDF preview modal */
.is-pdf-modal {
	position: fixed;
	inset: 0;
	z-index: 1200;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--is-spacing-m);
}

.is-pdf-modal[hidden] { display: none; }

.is-modal__panel--wide {
	width: 100%;
	max-width: 900px;
	height: 88vh;
	max-height: 88vh;
	display: flex;
	flex-direction: column;
	padding: 0;
}

.is-pdf-modal__head {
	display: flex;
	align-items: center;
	gap: var(--is-spacing-m);
	padding: var(--is-spacing-s) var(--is-spacing-m);
	border-bottom: 1px solid var(--is-gray-200);
}

.is-pdf-modal__head .is-modal__title {
	margin: 0;
	font-size: 0.95rem;
	flex: 1 1 auto;
}

.is-pdf-modal__open {
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	text-decoration: underline;
	white-space: nowrap;
}

.is-pdf-modal__head .is-modal__close {
	position: static;
	flex: 0 0 auto;
}

.is-pdf-modal__frame {
	flex: 1 1 auto;
	min-height: 0;
	background: var(--is-gray-100);
}

.is-pdf-modal__frame iframe {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

/* --------------------------------------------------------------------------
   Cart page (classic shortcode, template overrides in woocommerce/cart/)
   -------------------------------------------------------------------------- */

.woocommerce-cart-form {
	margin-bottom: var(--is-spacing-xl);
}

.woocommerce-cart-form table.shop_table {
	width: 100%;
	border-collapse: collapse;
}

.woocommerce-cart-form thead th {
	padding: 0 0 var(--is-spacing-s);
	font-size: 0.75rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	text-align: left;
	border-bottom: 1px solid var(--is-black);
}

.woocommerce-cart-form thead th.product-price,
.woocommerce-cart-form thead th.product-quantity,
.woocommerce-cart-form thead th.product-subtotal {
	text-align: right;
}

.woocommerce-cart-form tbody td {
	padding: var(--is-spacing-m) var(--is-spacing-s) var(--is-spacing-m) 0;
	vertical-align: middle;
	border-bottom: 1px solid var(--is-gray-300);
}

.woocommerce-cart-form tbody td.product-price,
.woocommerce-cart-form tbody td.product-quantity,
.woocommerce-cart-form tbody td.product-subtotal {
	text-align: right;
	padding-right: 0;
}

.woocommerce-cart-form .product-thumbnail {
	width: 96px;
}

.woocommerce-cart-form .product-thumbnail img {
	width: 80px;
	height: auto;
	display: block;
}

.woocommerce-cart-form .product-remove {
	width: 40px;
}

.woocommerce-cart-form .remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	font-size: 1.2rem;
	line-height: 1;
	color: var(--is-gray-500);
	text-decoration: none;
	border: 1px solid var(--is-gray-300);
	transition: color var(--is-transition), background var(--is-transition), border-color var(--is-transition);
}

.woocommerce-cart-form .remove:hover {
	color: var(--is-white);
	background: var(--is-black);
	border-color: var(--is-black);
}

.woocommerce-cart-form .product-name a {
	font-weight: 700;
	color: var(--is-black);
	text-decoration: none;
}

.woocommerce-cart-form .product-name a:hover {
	text-decoration: underline;
}

.woocommerce-cart-form .product-name dl.variation {
	display: flex;
	flex-wrap: wrap;
	gap: 0 var(--is-spacing-xs);
	margin: var(--is-spacing-xs) 0 0;
	font-size: 0.8rem;
	color: var(--is-gray-500);
}

.woocommerce-cart-form .product-name dl.variation dt,
.woocommerce-cart-form .product-name dl.variation dd {
	margin: 0;
	padding: 0;
}

.woocommerce-cart-form .product-subtotal,
.woocommerce-cart-form .product-price {
	font-weight: 700;
}

/* Coupon + update row */

.woocommerce-cart-form .actions {
	padding: var(--is-spacing-m) 0 0;
	border-bottom: none;
}

.woocommerce-cart-form .actions::after {
	content: '';
	display: block;
	clear: both;
}

.woocommerce-cart-form .coupon {
	float: left;
	display: flex;
	gap: var(--is-spacing-s);
}

.woocommerce-cart-form .coupon .input-text {
	width: 180px;
	padding: 0.9rem 1rem;
	font-size: 0.9rem;
	border: 1px solid var(--is-gray-300);
	border-radius: 0;
}

.woocommerce-cart-form .coupon .input-text:focus {
	outline: none;
	border-color: var(--is-black);
}

.woocommerce-cart-form .actions > .button[name="update_cart"] {
	float: right;
}

.woocommerce-cart-form .actions > .button[name="update_cart"][disabled] {
	opacity: 0.4;
	cursor: default;
}

/* Totals */

.cart-collaterals {
	display: flex;
	justify-content: flex-end;
}

.cart_totals {
	width: 100%;
	max-width: 420px;
}

.cart_totals h2 {
	margin: 0 0 var(--is-spacing-m);
	font-size: 1rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.cart_totals table.shop_table {
	width: 100%;
	border-collapse: collapse;
}

.cart_totals table.shop_table th,
.cart_totals table.shop_table td {
	padding: var(--is-spacing-m) 0;
	text-align: right;
	border-bottom: 1px solid var(--is-gray-300);
}

.cart_totals table.shop_table th {
	width: 40%;
	text-align: left;
	font-size: 0.8rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.cart_totals .order-total th,
.cart_totals .order-total td {
	border-bottom: none;
	font-size: 1.15rem;
	font-weight: 800;
}

.cart_totals .woocommerce-shipping-calculator {
	text-align: left;
}

.cart_totals .shipping-calculator-button {
	font-weight: 700;
	color: var(--is-black);
}

.cart_totals .shipping-calculator-form {
	margin-top: var(--is-spacing-s);
}

.cart_totals .shipping-calculator-form .input-text,
.cart_totals .shipping-calculator-form select {
	width: 100%;
	margin-bottom: var(--is-spacing-s);
	padding: 0.7rem 1rem;
	border: 1px solid var(--is-gray-300);
	border-radius: 0;
}

.wc-proceed-to-checkout {
	margin-top: var(--is-spacing-m);
}

.wc-proceed-to-checkout .checkout-button {
	width: 100%;
	padding: 1.1rem 2rem;
	font-size: 1rem;
}

/* Cross-sells under the cart use the standard product grid/cards. */
.cart-collaterals .cross-sells {
	width: 100%;
}

.cart-collaterals .cross-sells > h2 {
	margin: 0 0 var(--is-spacing-m);
	font-size: 1rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.cart-collaterals:has(.cross-sells) {
	flex-direction: column;
}

/* Empty cart state */

.is-cart-empty {
	padding: var(--is-spacing-xl) 0;
	text-align: center;
}

.is-cart-empty__icon svg {
	width: 64px;
	height: 64px;
}

.is-cart-empty__title {
	margin: var(--is-spacing-m) 0 var(--is-spacing-s);
	font-size: 1.4rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.is-cart-empty__text {
	margin: 0 0 var(--is-spacing-l);
	color: var(--is-gray-500);
}

.is-cart-empty__actions {
	margin: 0;
}

/* Mobile: stacked rows with data-title labels */

@media (max-width: 768px) {
	.woocommerce-cart-form thead {
		display: none;
	}

	.woocommerce-cart-form table.shop_table,
	.woocommerce-cart-form tbody,
	.woocommerce-cart-form tr,
	.woocommerce-cart-form td {
		display: block;
		width: 100%;
	}

	.woocommerce-cart-form tr.cart_item {
		position: relative;
		padding: var(--is-spacing-m) 0;
		border-bottom: 1px solid var(--is-gray-300);
	}

	.woocommerce-cart-form tbody td {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: var(--is-spacing-m);
		padding: var(--is-spacing-xs) 0;
		border-bottom: none;
		text-align: right;
	}

	.woocommerce-cart-form tbody td::before {
		content: attr(data-title);
		font-size: 0.75rem;
		font-weight: 800;
		text-transform: uppercase;
		letter-spacing: 0.06em;
	}

	.woocommerce-cart-form tbody td.product-remove,
	.woocommerce-cart-form tbody td.product-thumbnail {
		display: block;
		text-align: left;
	}

	.woocommerce-cart-form tbody td.product-remove::before,
	.woocommerce-cart-form tbody td.product-thumbnail::before {
		content: none;
	}

	.woocommerce-cart-form tbody td.product-remove {
		position: absolute;
		top: var(--is-spacing-m);
		right: 0;
		width: auto;
	}

	.woocommerce-cart-form .coupon,
	.woocommerce-cart-form .actions > .button[name="update_cart"] {
		float: none;
	}

	.woocommerce-cart-form .coupon {
		margin-bottom: var(--is-spacing-s);
	}

	.woocommerce-cart-form .coupon .input-text {
		flex: 1;
		width: auto;
	}

	.woocommerce-cart-form .actions > .button[name="update_cart"] {
		width: 100%;
	}

	.cart-collaterals {
		justify-content: stretch;
	}

	.cart_totals {
		max-width: none;
	}
}

/* --------------------------------------------------------------------------
   "Added to cart" modal
   -------------------------------------------------------------------------- */

.is-cart-modal {
	position: fixed;
	inset: 0;
	z-index: 500;
	display: none;
}

.is-cart-modal.is-open {
	display: block;
}

.is-cart-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
}

.is-cart-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(600px, 94vw);
	margin: 10vh auto 0;
	padding: var(--is-spacing-xl);
	background: var(--is-white);
	border: 1px solid var(--is-gray-200);
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.25);
	animation: is-cart-pop 0.25s ease;
}

@keyframes is-cart-pop {
	from {
		opacity: 0;
		transform: translateY(12px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

.is-cart-modal__close {
	position: absolute;
	top: 0.4rem;
	right: 0.7rem;
	padding: 0;
	font-size: 1.7rem;
	line-height: 1;
	color: var(--is-gray-500);
	background: none;
	border: 0;
	cursor: pointer;
}

.is-cart-modal__close:hover {
	color: var(--is-black);
}

.is-cart-modal__head {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 var(--is-spacing-l);
	font-size: 1.05rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.is-cart-modal__check {
	display: inline-flex;
	color: #16794a;
}

.is-cart-modal__body {
	display: flex;
	gap: var(--is-spacing-l);
	align-items: center;
}

.is-cart-modal__media {
	flex: 0 0 128px;
}

.is-cart-modal__media img {
	display: block;
	width: 128px;
	height: 128px;
	object-fit: cover;
	background: var(--is-gray-100);
}

.is-cart-modal__info {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	min-width: 0;
}

.is-cart-modal__name {
	font-weight: 700;
	font-size: 1.1rem;
	line-height: 1.35;
}

.is-cart-modal__meta {
	font-size: 0.8rem;
	color: var(--is-gray-500);
}

.is-cart-modal__pricing {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.15rem;
}

.is-cart-modal__price {
	font-weight: 700;
	font-size: 1.05rem;
}

/* De-cramp the sale price: struck old price, spaced from the new one. */
.is-cart-modal__price del {
	margin-right: 0.4rem;
	color: var(--is-gray-500);
	font-weight: 400;
}

.is-cart-modal__price del .amount {
	text-decoration: line-through;
}

.is-cart-modal__price ins {
	text-decoration: none;
}

.is-cart-modal__pricing .is-badge--sale {
	font-size: 0.75rem;
	padding: 0.1rem 0.45rem;
}

.is-cart-modal__actions {
	display: flex;
	gap: 0.5rem;
	margin-top: var(--is-spacing-l);
}

.is-cart-modal__actions .is-btn {
	flex: 1;
	text-align: center;
}

.is-cart-modal__btn-alt {
	color: var(--is-black);
	background: var(--is-white);
	border-color: var(--is-black);
}

.is-cart-modal__btn-alt:hover {
	color: var(--is-white);
	background: var(--is-black);
}

.is-cart-modal__link {
	display: block;
	width: 100%;
	margin-top: var(--is-spacing-s);
	padding: 0.25rem;
	font-size: 0.85rem;
	color: var(--is-gray-500);
	text-decoration: underline;
	background: none;
	border: 0;
	cursor: pointer;
}

.is-cart-modal__link:hover {
	color: var(--is-black);
}

/* --------------------------------------------------------------------------
   Checkout page (classic shortcode, one-page two-column layout)
   -------------------------------------------------------------------------- */

.is-checkout-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--is-spacing-xl);
	align-items: start;
}

.is-checkout__summary {
	position: sticky;
	top: calc(var(--is-header-height, 120px) + var(--is-spacing-m));
}

/* Section headings (Billing details / Shipping / Additional / Your order) */

.woocommerce-billing-fields > h3,
.woocommerce-shipping-fields > h3,
.woocommerce-additional-fields > h3,
.is-checkout-section__head h2,
#order_review_heading,
#ship-to-different-address {
	margin: 0 0 var(--is-spacing-m);
	font-size: 1rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.woocommerce-shipping-fields,
.woocommerce-additional-fields {
	margin-top: var(--is-spacing-xl);
}

/* Form fields */

.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 var(--is-spacing-m);
}

.woocommerce-checkout .form-row {
	margin: 0 0 var(--is-spacing-m);
}

.woocommerce-checkout .form-row-wide,
.woocommerce-checkout .form-row-notes {
	grid-column: 1 / -1;
}

.woocommerce-checkout .form-row label {
	display: block;
	margin-bottom: var(--is-spacing-xs);
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--is-gray-700);
}

.woocommerce-checkout .form-row label .required,
.woocommerce-checkout .form-row label .optional {
	color: var(--is-gray-500);
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
}

.woocommerce-checkout .form-row .required {
	color: #c00;
}

.woocommerce-checkout .input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
	width: 100%;
	padding: 0.6rem 0.8rem;
	font-size: 0.9rem;
	font-family: inherit;
	color: var(--is-black);
	background: var(--is-white);
	border: 1px solid var(--is-gray-300);
	border-radius: 0;
	transition: border-color var(--is-transition);
}

.woocommerce-checkout .input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
	outline: none;
	border-color: var(--is-black);
}

.woocommerce-checkout textarea {
	min-height: 100px;
	resize: vertical;
}

.woocommerce-checkout .woocommerce-input-wrapper {
	display: block;
	width: 100%;
}

.woocommerce-checkout .form-row.woocommerce-invalid .input-text,
.woocommerce-checkout .form-row.woocommerce-invalid select {
	border-color: #c00;
}

.woocommerce-checkout .form-row.woocommerce-validated .input-text,
.woocommerce-checkout .form-row.woocommerce-validated select {
	border-color: var(--is-gray-300);
}

.woocommerce-checkout input[type="checkbox"],
.woocommerce-checkout input[type="radio"] {
	accent-color: var(--is-black);
}

/* selectWoo (country/state dropdowns) */

.woocommerce-checkout .select2-container--default .select2-selection--single {
	height: auto;
	padding: 0.55rem 0.8rem;
	border: 1px solid var(--is-gray-300);
	border-radius: 0;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding-left: 0;
	line-height: 1.4;
	color: var(--is-black);
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 100%;
}

/* Ship to a different address toggle */

#ship-to-different-address {
	display: flex;
	align-items: center;
	gap: var(--is-spacing-s);
	cursor: pointer;
}

#ship-to-different-address-checkbox {
	width: 18px;
	height: 18px;
	margin: 0;
}

.shipping_address {
	display: none;
}

/* Order review sidebar */

.woocommerce-checkout-review-order-table {
	width: 100%;
	border-collapse: collapse;
}

.woocommerce-checkout-review-order-table thead th {
	padding: var(--is-spacing-s) 0;
	font-size: 0.8rem;
	font-weight: 600;
	text-align: left;
	color: var(--is-gray-700);
	border-bottom: 1px solid var(--is-gray-300);
}

.woocommerce-checkout-review-order-table thead th.product-total {
	text-align: right;
}

.woocommerce-checkout-review-order-table tbody td {
	padding: var(--is-spacing-m) 0;
	font-size: 0.9rem;
	border-bottom: 1px solid var(--is-gray-300);
}

.woocommerce-checkout-review-order-table tbody td.product-total {
	padding-left: var(--is-spacing-m);
	text-align: right;
	font-weight: 700;
	white-space: nowrap;
}

.woocommerce-checkout-review-order-table .product-quantity {
	font-weight: 700;
}

.woocommerce-checkout-review-order-table dl.variation {
	display: flex;
	flex-wrap: wrap;
	gap: 0 var(--is-spacing-xs);
	margin: var(--is-spacing-xs) 0 0;
	font-size: 0.8rem;
	color: var(--is-gray-500);
}

.woocommerce-checkout-review-order-table dl.variation dt,
.woocommerce-checkout-review-order-table dl.variation dd {
	margin: 0;
	padding: 0;
}

.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td {
	padding: var(--is-spacing-m) 0;
	border-bottom: 1px solid var(--is-gray-300);
}

.woocommerce-checkout-review-order-table tfoot th {
	font-size: 0.85rem;
	font-weight: 600;
	text-align: left;
	color: var(--is-gray-700);
}

.woocommerce-checkout-review-order-table tfoot td {
	text-align: right;
	font-weight: 700;
}

.woocommerce-checkout-review-order-table tfoot tr:last-child th,
.woocommerce-checkout-review-order-table tfoot tr:last-child td {
	border-bottom: none;
}

.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
	font-size: 1.1rem;
	font-weight: 800;
}

.woocommerce-checkout-review-order-table .woocommerce-shipping-methods {
	list-style: none;
	margin: 0;
	padding: 0;
	font-weight: 400;
}

.woocommerce-checkout-review-order-table .woocommerce-shipping-methods li {
	margin-bottom: var(--is-spacing-xs);
}

/* Payment box */

.woocommerce-checkout-payment {
	margin-top: var(--is-spacing-l);
}

.is-checkout-payment__intro {
	margin: -0.2rem 0 1rem;
	max-width: 42rem;
	font-size: 0.88rem;
	line-height: 1.5;
	color: var(--is-gray-500);
}

.wc_payment_methods {
	display: grid;
	gap: 0.75rem;
	list-style: none;
	margin: 0;
	padding: 0;
	border: 0;
}

.wc_payment_methods > li {
	position: relative;
	display: block;
	margin: 0;
	padding: 1.15rem 1.25rem;
	border: 1px solid var(--is-gray-200);
	border-radius: 0.7rem;
	background: var(--is-white);
	box-shadow: 0 1px 2px rgba(10, 10, 10, 0.025);
	transition: border-color var(--is-transition), box-shadow var(--is-transition), background-color var(--is-transition), transform var(--is-transition);
}

.wc_payment_methods > li > input.input-radio {
	position: absolute;
	top: 1.4rem;
	left: 1.25rem;
	margin: 0;
}

.wc_payment_methods > li:hover {
	border-color: var(--is-gray-500);
	box-shadow: 0 5px 18px rgba(10, 10, 10, 0.07);
	transform: translateY(-1px);
}

.wc_payment_methods > li:has(input.input-radio:checked) {
	border: 2px solid var(--is-black);
	padding: calc(1.15rem - 1px) calc(1.25rem - 1px);
	background: #fafafa;
	box-shadow: 0 6px 20px rgba(10, 10, 10, 0.08);
}

.wc_payment_methods > li > label {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	min-height: 2.2rem;
	padding-left: 2.15rem;
	font-weight: 700;
	font-size: 1rem;
	line-height: 1.3;
	cursor: pointer;
}

.wc_payment_methods .is-payment-copy {
	display: flex;
	flex: 1 1 auto;
	min-width: 0;
	flex-direction: column;
	gap: 0.18rem;
}

.wc_payment_methods .is-payment-name {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
	font-weight: 800;
}

.wc_payment_methods .is-payment-detail {
	font-size: 0.78rem;
	font-weight: 500;
	line-height: 1.35;
	color: var(--is-gray-500);
}

.wc_payment_methods .is-checkout-payment-badge {
	display: inline-flex;
	align-items: center;
	min-height: 1.35rem;
	padding: 0.15rem 0.45rem;
	border-radius: 999px;
	font-size: 0.62rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	line-height: 1;
	text-transform: uppercase;
	color: var(--is-white);
	background: var(--is-black);
}

.wc_payment_methods .input-radio {
	flex: 0 0 auto;
	width: 1.05rem;
	height: 1.05rem;
	margin: 0 0.15rem 0 0;
	accent-color: var(--is-black);
}

.wc_payment_methods > li > label img,
.wc_payment_methods > li > label .wc-stripe-card-icons img {
	order: 0;
	margin-left: auto;
	width: auto;
	max-width: 7rem;
	height: 1.65rem;
	object-fit: contain;
	object-position: left center;
}

.wc_payment_methods .revolut-scheme-icons-wrapper {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 0.35rem;
	margin-left: auto;
}

.wc_payment_methods .revolut-scheme-icons-wrapper img {
	margin-left: 0;
}

.wc_payment_methods > li.payment_method_stripe > label img,
.wc_payment_methods > li.payment_method_stripe > label .wc-stripe-card-icons img {
	max-width: 8.5rem;
}

.wc_payment_methods > li.payment_method_bacs > label::before {
	content: "⇄";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.2rem;
	height: 2.2rem;
	flex: 0 0 2.2rem;
	border: 1px solid var(--is-gray-300);
	border-radius: 0.45rem;
	font-size: 1.25rem;
	font-weight: 800;
	line-height: 1;
}

.wc_payment_methods > li.payment_method_stripe_klarna > label img,
.wc_payment_methods > li.payment_method_stripe_klarna > label .wc-stripe-card-icons img {
	width: 4.7rem;
	height: 1.7rem;
	padding: 0.2rem 0.4rem;
	border-radius: 0.3rem;
	background: #ffb3c7;
}

.wc_payment_methods .payment_box {
	margin: 1rem 0 0 2.2rem;
	padding: 0.9rem 1rem;
	border: 1px solid var(--is-gray-200);
	border-radius: 0.55rem;
	font-size: 0.88rem;
	line-height: 1.55;
	color: var(--is-gray-700);
	background: var(--is-gray-100);
}

.wc_payment_methods .payment_box p {
	margin: 0;
}

/* Express Checkout is injected by the Stripe mu-plugin through
 * is_checkout_payment_top. Keep it visually consistent with the method cards
 * while leaving the provider's inner button untouched. */
.is-checkout-payment > #wc-stripe-express-checkout-element,
.is-checkout-payment > .wc-stripe-express-checkout {
	margin: 0 0 0.75rem;
	padding: 1rem 1.25rem;
	border: 1px solid var(--is-gray-200);
	border-radius: 0.7rem;
	background: var(--is-white);
	box-shadow: 0 1px 2px rgba(10, 10, 10, 0.025);
}

.is-checkout-payment > #wc-stripe-express-checkout-element:empty,
.is-checkout-payment > .wc-stripe-express-checkout:empty {
	display: none;
}

@media (max-width: 639px) {
	.wc_payment_methods > li {
		padding: 1rem;
	}

	.wc_payment_methods > li > input.input-radio {
		top: 1.3rem;
		left: 1rem;
	}

	.wc_payment_methods > li:has(input.input-radio:checked) {
		padding: calc(1rem - 1px);
	}

	.wc_payment_methods .payment_box {
		margin-left: 0;
	}

	.is-checkout-payment > #wc-stripe-express-checkout-element,
	.is-checkout-payment > .wc-stripe-express-checkout {
		padding: 0.85rem 1rem;
	}
}

/* Terms + place order */

.woocommerce-terms-and-conditions-wrapper {
	margin: var(--is-spacing-m) 0;
	font-size: 0.85rem;
	color: var(--is-gray-500);
}

.woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p {
	margin: 0 0 var(--is-spacing-s);
}

.woocommerce-terms-and-conditions-wrapper a {
	color: var(--is-black);
	font-weight: 700;
}

.woocommerce-terms-and-conditions {
	max-height: 160px;
	overflow: auto;
	padding: var(--is-spacing-m);
	margin-bottom: var(--is-spacing-s);
	border: 1px solid var(--is-gray-300);
	background: var(--is-gray-100);
}

.form-row.place-order {
	margin: 0;
}

#place_order {
	width: 100%;
	padding: 1.1rem 2rem;
	font-size: 1rem;
}

/* Coupon / login forms above checkout */

.woocommerce-form-coupon-toggle,
.woocommerce-form-login-toggle {
	margin-bottom: var(--is-spacing-l);
}

.checkout_coupon.woocommerce-form-coupon {
	display: flex;
	flex-wrap: wrap;
	gap: var(--is-spacing-s);
	padding: var(--is-spacing-m);
	background: var(--is-gray-100);
}

.checkout_coupon.woocommerce-form-coupon p {
	margin: 0;
}

.checkout_coupon.woocommerce-form-coupon p:first-child {
	width: 100%;
	font-size: 0.85rem;
	color: var(--is-gray-500);
}

.checkout_coupon.woocommerce-form-coupon .input-text {
	flex: 1;
	min-width: 180px;
	padding: 0.9rem 1rem;
	border: 1px solid var(--is-gray-300);
	border-radius: 0;
}

/* Mobile: single column, summary below the form */

@media (max-width: 900px) {
	.is-checkout-grid {
		grid-template-columns: 1fr;
	}

	.is-checkout__summary {
		position: static;
	}
}

@media (max-width: 560px) {
	.woocommerce-billing-fields__field-wrapper,
	.woocommerce-shipping-fields__field-wrapper,
	.woocommerce-additional-fields__field-wrapper {
		grid-template-columns: 1fr;
	}
}

/* Order review: product thumbnails */

.is-review-product {
	display: flex;
	align-items: center;
	gap: var(--is-spacing-m);
}

.is-review-product__thumb {
	flex: 0 0 56px;
}

.is-review-product__thumb img {
	width: 56px;
	height: auto;
	display: block;
}

.is-review-product__info {
	font-weight: 700;
}

.is-review-product__info dl.variation {
	font-weight: 400;
}

/* Checkout: customer type selector (private / company) */

.is-customer-type .woocommerce-input-wrapper {
	display: flex;
	gap: var(--is-spacing-xl);
}

.is-customer-type .woocommerce-input-wrapper label {
	display: flex;
	align-items: center;
	gap: var(--is-spacing-xs);
	margin: 0;
	font-size: 0.95rem;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
}

.is-customer-type input[type="radio"] {
	margin: 0;
}

/* Woo appends the required asterisk to every radio option; keep it
   only on the field label. */
.is-customer-type .woocommerce-input-wrapper abbr.required {
	display: none;
}

/* Free shipping progress bar (checkout, above the order table) */

.is-freeship {
	margin-bottom: var(--is-spacing-l);
}

.is-freeship__label {
	margin: 0 0 var(--is-spacing-s);
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.is-freeship__label--done {
	color: var(--is-black);
}

.is-freeship__track {
	height: 6px;
	background: var(--is-gray-300);
}

.is-freeship__fill {
	height: 100%;
	background: var(--is-black);
	transition: width 0.3s ease;
}

/* --------------------------------------------------------------------------
   Checkout: Maple layout (steps bar, Contact/Delivery/Payment sections,
   collapsible coupon box in the order summary)
   -------------------------------------------------------------------------- */

/* Steps bar + secure badge above the form */

.is-checkout-top {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--is-spacing-m);
	margin-bottom: var(--is-spacing-l);
}

.is-checkout-steps {
	display: flex;
	align-items: center;
	gap: var(--is-spacing-s);
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--is-gray-500);
}

.is-checkout-steps a {
	color: var(--is-gray-500);
}

.is-checkout-steps a:hover {
	color: var(--is-black);
}

.is-checkout-steps [aria-current="step"] {
	color: var(--is-black);
	font-weight: 800;
}

.is-checkout-steps__sep {
	color: var(--is-gray-300);
}

.is-checkout-secure {
	display: flex;
	align-items: center;
	gap: var(--is-spacing-xs);
	margin: 0;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--is-gray-500);
}

.is-checkout-secure .is-icon,
.is-checkout-secure svg {
	width: 14px;
	height: 14px;
}

/* Sections (Contact / Delivery / Payment) */

.is-checkout-section {
	margin-bottom: var(--is-spacing-xl);
}

.is-checkout-section__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--is-spacing-m);
	margin-bottom: var(--is-spacing-m);
}

.is-checkout-section__head h2 {
	margin: 0;
}

.is-checkout-login {
	margin: 0;
	font-size: 0.8rem;
	color: var(--is-gray-500);
}

.is-checkout-login a {
	color: var(--is-black);
	font-weight: 700;
}

/* Delivery fields: 6-col grid (name halves, zip/state/city thirds) */

.is-checkout-fields {
	grid-template-columns: repeat(6, 1fr);
}

.is-checkout-fields .form-row-first,
.is-checkout-fields .form-row-last {
	grid-column: span 3;
}

.is-checkout-fields .is-third {
	grid-column: span 2;
}

.is-checkout-fields .form-row-wide,
.is-checkout-fields .form-row-notes {
	grid-column: 1 / -1;
}

/* Newsletter opt-in checkbox (Contact section) */

.is-newsletter-optin .woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: center;
	gap: var(--is-spacing-xs);
	margin: 0;
	font-size: 0.9rem;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
}

.is-newsletter-optin input[type="checkbox"] {
	width: 16px;
	height: 16px;
	margin: 0;
}

/* Payment section in the left column */

.is-checkout-payment .woocommerce-checkout-payment {
	margin-top: 0;
}

/* Collapsible coupon box (order summary, below the totals table) */

.is-coupon-box {
	margin: var(--is-spacing-m) 0;
	border-top: 1px solid var(--is-gray-300);
	border-bottom: 1px solid var(--is-gray-300);
}

.is-coupon-box__toggle {
	display: flex;
	align-items: center;
	gap: var(--is-spacing-s);
	padding: var(--is-spacing-m) 0;
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	cursor: pointer;
	list-style: none;
}

.is-coupon-box__toggle::-webkit-details-marker {
	display: none;
}

.is-coupon-box__toggle .is-icon,
.is-coupon-box__toggle svg {
	width: 16px;
	height: 16px;
}

.is-coupon-box__toggle svg:last-child {
	margin-left: auto;
	transition: transform var(--is-transition);
}

.is-coupon-box[open] .is-coupon-box__toggle svg:last-child {
	transform: rotate(180deg);
}

.is-coupon-box__body {
	display: flex;
	gap: var(--is-spacing-s);
	margin-bottom: var(--is-spacing-m);
}

.is-coupon-box__body .input-text {
	flex: 1;
	min-width: 0;
}

.is-coupon-box__notices .woocommerce-error,
.is-coupon-box__notices .woocommerce-message {
	margin: 0 0 var(--is-spacing-m);
}

/* Free shipping bar: label left, threshold right (Maple) */

.is-freeship__row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--is-spacing-s);
	margin-bottom: var(--is-spacing-s);
}

.is-freeship__row .is-freeship__label {
	margin: 0;
}

.is-freeship__cap {
	font-size: 0.75rem;
	color: var(--is-gray-500);
	white-space: nowrap;
}

@media (max-width: 900px) {
	.is-checkout-top {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--is-spacing-xs);
	}
}

@media (max-width: 560px) {
	.is-checkout-fields {
		grid-template-columns: 1fr;
	}

	.is-checkout-fields .form-row-first,
	.is-checkout-fields .form-row-last,
	.is-checkout-fields .is-third {
		grid-column: 1 / -1;
	}
}

/* --------------------------------------------------------------------------
   Thankyou page (order received)
   -------------------------------------------------------------------------- */

.is-thankyou__head {
	text-align: center;
	margin-bottom: var(--is-spacing-xl);
}

.is-thankyou__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	margin-bottom: var(--is-spacing-m);
	border-radius: 50%;
	background: var(--is-black);
	color: var(--is-white);
}

.is-thankyou__icon svg {
	width: 32px;
	height: 32px;
}

.is-thankyou__title {
	margin: 0 0 var(--is-spacing-s);
	font-size: 1.75rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.is-thankyou__lead {
	margin: 0;
	font-size: 0.95rem;
	color: var(--is-gray-500);
}

.is-thankyou__grid {
	display: grid;
	grid-template-columns: 1.6fr 1fr;
	gap: var(--is-spacing-xl);
	align-items: start;
}

.is-thankyou__side {
	position: sticky;
	top: calc(var(--is-header-height, 120px) + var(--is-spacing-m));
}

.is-thankyou__section {
	margin-bottom: var(--is-spacing-xl);
}

.is-thankyou__section > h2,
.is-thankyou-card h2 {
	margin: 0 0 var(--is-spacing-m);
	font-size: 1rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

/* Order items */

.is-thankyou-items {
	list-style: none;
	margin: 0;
	padding: 0;
}

.is-thankyou-item {
	display: flex;
	align-items: center;
	gap: var(--is-spacing-m);
	padding: var(--is-spacing-m) 0;
	border-bottom: 1px solid var(--is-gray-300);
}

.is-thankyou-item__thumb {
	flex: 0 0 72px;
}

.is-thankyou-item__thumb img {
	display: block;
	width: 72px;
	height: auto;
}

.is-thankyou-item__info {
	flex: 1;
	min-width: 0;
}

.is-thankyou-item__name {
	display: block;
	font-weight: 700;
}

.is-thankyou-item__meta,
.is-thankyou-item__meta ul {
	display: block;
	margin: var(--is-spacing-xs) 0 0;
	padding: 0;
	font-size: 0.8rem;
	color: var(--is-gray-500);
	list-style: none;
}

.is-thankyou-item__meta li {
	display: inline;
}

.is-thankyou-item__qty {
	display: block;
	margin-top: var(--is-spacing-xs);
	font-size: 0.8rem;
	color: var(--is-gray-500);
}

.is-thankyou-item__total {
	font-weight: 700;
	white-space: nowrap;
}

/* Totals */

.is-thankyou-totals {
	margin-top: var(--is-spacing-m);
}

.is-thankyou-totals__row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--is-spacing-m);
	padding: var(--is-spacing-s) 0;
	font-size: 0.9rem;
	border-bottom: 1px solid var(--is-gray-300);
}

.is-thankyou-totals__row > span:first-child {
	font-size: 0.8rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.is-thankyou-totals__row:last-child {
	border-bottom: none;
}

.is-thankyou-totals__row--grand {
	font-size: 1.1rem;
	font-weight: 800;
}

/* Addresses */

.is-thankyou-addresses {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--is-spacing-xl);
}

.is-thankyou-addresses address {
	font-style: normal;
	font-size: 0.9rem;
	line-height: 1.6;
	color: var(--is-gray-500);
}

/* Sidebar cards */

.is-thankyou-card {
	padding: var(--is-spacing-l);
	margin-bottom: var(--is-spacing-m);
	background: var(--is-gray-100);
}

.is-thankyou-card__row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--is-spacing-m);
	padding: var(--is-spacing-xs) 0;
	font-size: 0.85rem;
}

.is-thankyou-card__row > span {
	color: var(--is-gray-500);
}

.is-thankyou-card__row--total {
	margin-top: var(--is-spacing-s);
	padding-top: var(--is-spacing-m);
	border-top: 1px solid var(--is-gray-300);
	font-size: 1rem;
	font-weight: 800;
}

.is-thankyou-next ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.is-thankyou-next li {
	display: flex;
	align-items: flex-start;
	gap: var(--is-spacing-s);
	margin-bottom: var(--is-spacing-m);
	font-size: 0.85rem;
}

.is-thankyou-next li:last-child {
	margin-bottom: 0;
}

.is-thankyou-next svg {
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	margin-top: 1px;
}

.is-thankyou__continue {
	display: block;
	width: 100%;
	text-align: center;
}

@media (max-width: 900px) {
	.is-thankyou__grid {
		grid-template-columns: 1fr;
	}

	.is-thankyou__side {
		position: static;
	}
}

@media (max-width: 560px) {
	.is-thankyou-addresses {
		grid-template-columns: 1fr;
		gap: var(--is-spacing-l);
	}
}
