:root {
	--alls-accent: #d8a400;
	--alls-ink: #202020;
	--alls-muted: #6d6d6d;
	--alls-line: #e2e2e2;
	--alls-soft: #f7f7f7;
	--alls-brand: #2095a6;
	--alls-brand-dark: #177b8a;
	--alls-brand-soft: #f0fafb;
}

.alls-menu-panel[hidden] {
	display: none !important;
}

/* ================================================================
   KAUPAN YHTEINEN YLÄPALKKI JA REAALIAIKAINEN HAKU
   ================================================================ */

.alls-store-toolbar {
	position: relative;
	z-index: 20;
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	gap: 16px;
	align-items: center;
	justify-content: flex-start;
	margin: 22px 0 32px;
}

/* Align the product toolbar with the theme content container. */
body.single-product #main > .ct-container-full > article > .alls-store-toolbar {
	width: var(--theme-container-width, 90%);
	max-width: var(--theme-normal-container-max-width, 1440px);
	margin-inline: auto;
}

.alls-back-to-shop {
	display: inline-flex;
	gap: 9px;
	align-items: center;
	min-height: 46px;
	padding: 0 17px;
	border: 1px solid var(--alls-brand);
	border-radius: 3px;
	background: var(--alls-brand);
	color: #fff !important;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none !important;
}

.alls-back-to-shop:hover,
.alls-back-to-shop:focus-visible {
	border-color: var(--alls-accent);
	background: var(--alls-brand-dark);
	box-shadow: 0 0 0 2px rgba(32, 149, 166, 0.18);
}

.alls-product-search {
	position: relative;
	display: block;
	width: min(100%, 640px);
	max-width: 640px;
	margin: 0;
}

.alls-store-toolbar .alls-product-search {
	flex: 0 1 640px;
}

.alls-live-search-field {
	position: relative;
	display: flex;
	width: 100%;
	border: 1px solid #cfcfcf;
	border-radius: 3px;
	background: #fff;
}

.alls-live-search-field:focus-within {
	border-color: #9b9b9b;
	box-shadow: 0 0 0 2px rgba(216, 164, 0, 0.16);
}

.alls-product-search input[type="search"] {
	min-width: 0;
	flex: 1;
	height: 62px;
	padding: 0 21px;
	border: 0 !important;
	border-radius: 0;
	background: #fff;
	box-shadow: none !important;
	font-size: 16px;
}

.alls-product-search button {
	display: grid;
	place-items: center;
	width: 67px;
	min-width: 67px;
	height: 62px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: var(--alls-accent);
	color: #161616;
	cursor: pointer;
}

.alls-product-search button:hover,
.alls-product-search button:focus-visible {
	background: #c99700;
}

.alls-product-search svg {
	width: 24px;
	height: 24px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-width: 1.8;
}

.alls-live-search-results {
	position: absolute;
	z-index: 9999;
	top: calc(100% + 6px);
	right: 0;
	left: 0;
	border: 1px solid #d5d5d5;
	border-radius: 3px;
	background: #fff;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.14);
	max-height: 246px;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-gutter: stable;
}

.alls-live-search-results[hidden] {
	display: none !important;
}

.alls-live-search-item {
	display: grid;
	grid-template-columns: 68px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	min-height: 82px;
	padding: 7px 13px;
	border-bottom: 1px solid var(--alls-line);
	background: #fff;
	color: var(--alls-ink) !important;
	text-decoration: none !important;
}

.alls-live-search-item:last-child {
	border-bottom: 0;
}

.alls-live-search-item:hover,
.alls-live-search-item:focus-visible,
.alls-live-search-item.is-active {
	background: #f7f7f7;
}

.alls-live-search-image {
	display: grid;
	width: 68px;
	height: 68px;
	place-items: center;
	background: #fff;
}

.alls-live-search-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.alls-live-search-text {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 4px;
}

.alls-live-search-name {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
}

.alls-live-search-sku {
	color: var(--alls-muted);
	font-size: 13px;
}

.alls-live-search-empty {
	padding: 17px 18px;
	color: var(--alls-muted);
	font-size: 14px;
}

.alls-top-pagination {
	display: flex;
	width: 100%;
	flex-basis: 100%;
	justify-content: center;
	margin: 0 0 28px;
	clear: both;
}

.alls-top-pagination .woocommerce-pagination {
	margin: 0;
}

/* ================================================================
   OTSIKON OSTOSKORI JA OMA TILI
   ================================================================ */

.alls-header-action > a {
	position: relative;
	display: inline-flex !important;
	gap: 6px;
	align-items: center;
}

.alls-header-action svg {
	width: 21px;
	height: 21px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
}

.alls-cart-count {
	display: grid;
	min-width: 19px;
	height: 19px;
	padding: 0 5px;
	place-items: center;
	border-radius: 10px;
	background: var(--alls-accent);
	color: #161616;
	font-size: 11px;
	font-weight: 700;
	line-height: 19px;
}

/* ================================================================
   KAUPAN ETUSIVU
   ================================================================ */

.alls-shop-front {
	margin: 18px 0 44px;
	color: var(--alls-ink);
}

.alls-category-browser {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	gap: 24px;
	align-items: start;
}

.alls-root-categories {
	padding: 24px 30px;
	background: var(--alls-soft);
}

.alls-root-category {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr) 20px;
	gap: 18px;
	align-items: center;
	min-height: 92px;
	padding: 10px 4px;
	border-bottom: 1px solid var(--alls-line);
	color: var(--alls-ink) !important;
	font-size: 16px;
	line-height: 1.25;
	text-decoration: none !important;
}

.alls-root-category:first-child {
	border-top: 1px solid var(--alls-line);
}

.alls-root-category:hover,
.alls-root-category:focus-visible,
.alls-root-category.is-active {
	font-weight: 650;
}

.alls-category-thumb {
	display: grid;
	place-items: center;
	width: 100%;
	background: transparent;
}

.alls-root-category .alls-category-thumb {
	height: 64px;
}

.alls-category-thumb img,
.alls-choice-image img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: contain;
}

.alls-menu-arrow {
	color: transparent;
	font-size: 34px;
	font-weight: 300;
	line-height: 1;
}

.alls-root-category.is-active .alls-menu-arrow,
.alls-root-category:hover .alls-menu-arrow,
.alls-root-category:focus-visible .alls-menu-arrow {
	color: var(--alls-accent);
}

.alls-subcategory-area {
	min-width: 0;
	padding-top: 18px;
}

/* ================================================================
   YHTEISET OIKEAN PUOLEN PANEELIT JA KUVAKORTIT
   ================================================================ */

.alls-menu-panel-heading {
	display: flex;
	gap: 24px;
	align-items: baseline;
	justify-content: space-between;
	margin: 0 0 28px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--alls-line);
}

.alls-menu-panel-heading h2 {
	margin: 0;
	color: var(--alls-ink);
	font-size: clamp(25px, 2.2vw, 36px);
	font-weight: 500;
	line-height: 1.2;
}

.alls-menu-panel-heading a {
	color: #168da1;
	font-size: 14px;
	text-decoration: underline;
	text-underline-offset: 3px;
	white-space: nowrap;
}

.alls-choice-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 276px));
	gap: 24px 20px;
	width: 100%;
	max-width: 1164px;
	margin-inline: auto;
	justify-content: center;
}

.alls-choice-card {
	display: flex;
	min-width: 0;
	max-width: 276px;
	box-sizing: border-box;
	flex-direction: column;
	gap: 12px;
	padding: 10px 10px 14px;
	border: 1px solid var(--alls-line);
	border-radius: 4px;
	background: #fff;
	color: var(--alls-ink) !important;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3;
	text-align: center;
	text-decoration: none !important;
	overflow: hidden;
	transition: border-color 150ms ease, background-color 150ms ease, box-shadow 150ms ease;
}

.alls-choice-image {
	display: grid;
	place-items: center;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	padding: 9px;
	border: 0;
	background: #fff;
}

.alls-choice-card:hover,
.alls-choice-card:focus-visible {
	border-color: var(--alls-brand);
	background: #fff;
	box-shadow: none;
	outline: 0;
}

.alls-choice-card:hover .alls-choice-image,
.alls-choice-card:focus-visible .alls-choice-image {
	background: #fff;
}

.alls-choice-name {
	display: block;
}

.alls-empty-category {
	margin: 24px 0;
	color: var(--alls-muted);
	font-size: 16px;
}

@media (max-width: 1100px) {
	.alls-category-browser {
		display: block;
	}

	.alls-root-categories {
		display: flex;
		gap: 10px;
		padding: 13px 16px;
		overflow-x: auto;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
	}

	.alls-root-category {
		grid-template-columns: 48px minmax(105px, auto);
		gap: 10px;
		min-width: max-content;
		min-height: 64px;
		padding: 7px 12px 7px 7px;
		border: 1px solid var(--alls-line) !important;
		border-radius: 3px;
		font-size: 14px;
		scroll-snap-align: start;
	}

	.alls-root-category.is-active {
		border-color: var(--alls-accent) !important;
	}

	.alls-root-category .alls-category-thumb {
		height: 48px;
	}

	.alls-menu-arrow {
		display: none;
	}

	.alls-subcategory-area {
		padding: 22px 18px 36px;
	}

	.alls-category-browser {
		margin: 0 -16px;
	}

	.alls-subcategory-area {
		padding-top: 4px;
	}


	.alls-choice-card {
		font-size: 14px;
	}
}

@media (max-width: 600px) {
	.alls-shop-front {
		margin-top: 10px;
	}

	.alls-store-toolbar {
		display: block;
		margin: 15px 0 24px;
	}

	.alls-back-to-shop {
		margin-bottom: 12px;
	}

	.alls-product-search {
		width: 100%;
	}

	.alls-product-search input[type="search"],
	.alls-product-search button {
		height: 50px;
	}

	.alls-product-search button {
		width: 54px;
		min-width: 54px;
	}

	.alls-live-search-item {
		grid-template-columns: 56px minmax(0, 1fr);
		min-height: 70px;
		padding: 6px 9px;
	}

	.alls-live-search-image {
		width: 56px;
		height: 56px;
	}

	.alls-header-action-label {
		display: inline;
	}

	.alls-menu-panel-heading {
		margin-bottom: 20px;
		padding-bottom: 11px;
	}

	.alls-menu-panel-heading h2 {
		font-size: 23px;
	}

	.alls-menu-panel-heading a {
		font-size: 12px;
	}

	.alls-choice-image {
		padding: 5px;
	}

}

@media (prefers-reduced-motion: reduce) {
	.alls-choice-card {
		transition: none;
	}
}


/* ALLS PRODUCT COMPACT */

.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img {
    display: block;
    width: auto !important;
    height: 210px !important;
    max-width: 250px !important;
    margin: 0 auto 16px !important;
    object-fit: contain !important;
    object-position: center !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce-page ul.products li.product h2,
.woocommerce ul.products li.product h3,
.woocommerce-page ul.products li.product h3 {
    color: #202a34 !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
    color: #202a34 !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
}

@media (max-width: 600px) {
    .woocommerce ul.products li.product a img,
    .woocommerce-page ul.products li.product a img {
        height: 150px !important;
        max-width: 190px !important;
        margin-bottom: 10px !important;
    }

    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .woocommerce-page ul.products li.product .woocommerce-loop-product__title {
        font-size: 15px !important;
    }

    .woocommerce ul.products li.product .price,
    .woocommerce-page ul.products li.product .price {
        font-size: 14px !important;
    }

    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product {
        margin-bottom: 24px !important;
    }
}


/* ============================================================
   ALLS BLACK PRODUCT TEXT + PRODUCT IMAGE
   ============================================================ */

/* Tootenimed ja WooCommerce tekstilingid mustaks.
   Nupud jäävad ALLS türkiissiniseks. */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price *,
.woocommerce ul.products li.product .posted_in,
.woocommerce ul.products li.product .posted_in a,
.woocommerce ul.products li.product a:not(.button),
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-category__title,
.woocommerce-page ul.products li.product h2,
.woocommerce-page ul.products li.product h3,
.woocommerce-page ul.products li.product .price,
.woocommerce-page ul.products li.product .price *,
.single-product .product_title,
.single-product .summary .price,
.single-product .summary .price *,
.single-product .product_meta,
.single-product .product_meta a,
.single-product .woocommerce-tabs a,
.woocommerce-breadcrumb,
.woocommerce-breadcrumb a {
    color: #202a34 !important;
}

/* Kategooria nimi tootekaardi all mustaks */
.woocommerce ul.products li.product .product-category,
.woocommerce ul.products li.product .product-category a,
.woocommerce ul.products li.product .category,
.woocommerce ul.products li.product .category a {
    color: #202a34 !important;
}

/* ALLS SHOP LANGUAGE SWITCHER */
.alls-language-switcher {
position: relative;
display: flex;
justify-content: flex-end;
margin: 0 0 14px auto;
width: fit-content;
z-index: 100;
}

.alls-language-current {
display: flex;
align-items: center;
gap: 10px;
padding: 6px 8px;
background: transparent;
border: 0;
cursor: pointer;
}

.alls-language-current img,
.alls-language-menu img {
width: 36px;
height: 24px;
object-fit: cover;
border: 1px solid #dddddd;
border-radius: 3px;
display: block;
}

.alls-language-arrow {
font-size: 22px;
line-height: 1;
color: #111111;
transform: rotate(0deg);
transition: transform .15s ease;
}

.alls-language-current[aria-expanded="true"] .alls-language-arrow {
transform: rotate(180deg);
}

.alls-language-menu {
position: absolute;
right: 0;
top: calc(100% + 4px);
min-width: 92px;
padding: 10px 0;
background: #ffffff;
box-shadow: 0 4px 18px rgba(0,0,0,.12);
border: 1px solid #eeeeee;
z-index: 9999;
}

.alls-language-menu[hidden] {
display: none !important;
}

.alls-language-menu a {
display: flex;
align-items: center;
gap: 10px;
padding: 10px 14px;
text-decoration: none !important;
color: #222222 !important;
background: #ffffff;
}

.alls-language-menu a:hover,
.alls-language-menu a:focus {
background: #f6f6f6;
}

.alls-language-menu span {
font-size: 12px;
font-weight: 600;
letter-spacing: .04em;
}


/* ALLS ARCHIVE TITLE ON WHITE AREA */
.alls-archive-heading-block {
background: #ffffff;
padding: 26px 0 10px;
margin: 0 0 18px;
}

.alls-archive-heading-block h1 {
margin: 0 0 10px;
font-size: 42px;
line-height: 1.15;
font-weight: 700;
color: #111111;
}

.alls-archive-heading-note {
margin: 0;
font-size: 18px;
line-height: 1.5;
color: #333333;
max-width: 980px;
}

.alls-archive-heading-note strong {
font-weight: 700;
}

.alls-archive-heading-hidden-original {
display: none !important;
}

@media (max-width: 980px) {
.alls-archive-heading-block {
padding: 20px 0 8px;
}

.alls-archive-heading-block h1 {
font-size: 32px;
}

.alls-archive-heading-note {
font-size: 16px;
}
}

@media (max-width: 640px) {
.alls-archive-heading-block h1 {
font-size: 26px;
}

.alls-archive-heading-note {
font-size: 15px;
}
}

/* One compact language choice sits beside the active header navigation. */
.alls-site-language-wrap{box-sizing:border-box;flex:0 0 auto;width:auto;background:transparent;padding:0;}
.alls-site-languages{display:flex;justify-content:flex-end;align-items:center;gap:3px;margin:0;min-height:28px;background:transparent;}
.alls-site-languages a{display:inline-flex;align-items:center;gap:3px;padding:4px;border:1px solid transparent;border-radius:5px;background:#fff;color:#30343b;font-size:11px;line-height:16px;text-decoration:none;font-weight:500;}
.alls-site-languages a[aria-current="true"]{border-color:#dfe3e8;background:#f5f7f9;font-weight:700;}
.alls-site-languages a:hover,.alls-site-languages a:focus-visible{border-color:#bdc5cf;background:#eef2f5;outline-offset:2px;}
.alls-site-languages img{width:16px;height:11px;object-fit:contain;border:1px solid #e2e4e8;border-radius:2px;}
.alls-language-dropdown{position:relative;}
.alls-language-dropdown[hidden]{display:none!important;}
.alls-language-dropdown summary{display:flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:4px 8px;border:1px solid #dfe3e8;border-radius:5px;background:#fff;cursor:pointer;font-size:12px;font-weight:600;list-style:none;}
.alls-language-dropdown summary::-webkit-details-marker{display:none;}
.alls-language-dropdown summary::after{content:'⌄';}
.alls-language-dropdown>.alls-site-languages{position:absolute;right:0;top:calc(100% + 6px);z-index:100010;min-width:94px;display:flex;flex-direction:column;align-items:stretch;padding:5px;background:#fff;border:1px solid #dfe3e8;border-radius:5px;box-shadow:0 4px 12px rgba(0,0,0,.12);}
.alls-language-dropdown:not([open])>.alls-site-languages{display:none;}
/* Scope colours to commerce actions; preserve the rest of the ALLS brand. */
.alls-product-search button,.woocommerce .single_add_to_cart_button,.woocommerce ul.products .button,.woocommerce a.added_to_cart,.alls-back-home .button,.alls-gpr-product-information .button,.alls-quote-request,.alls-choice-card .button,.wc-block-grid__product-add-to-cart .wp-block-button__link{
 background:var(--alls-brand)!important;background-color:var(--alls-brand)!important;border-color:var(--alls-brand)!important;color:#fff!important;--theme-button-background-initial:var(--alls-brand);--theme-button-background-hover:var(--alls-brand-dark);border-radius:3px!important;box-shadow:none!important;}
.alls-product-search button:hover,.woocommerce .single_add_to_cart_button:hover,.woocommerce ul.products .button:hover,.woocommerce a.added_to_cart:hover,.alls-back-home .button:hover,.alls-gpr-product-information .button:hover,.alls-quote-request:hover,.alls-choice-card .button:hover,.wc-block-grid__product-add-to-cart .wp-block-button__link:hover{background:var(--alls-brand-dark)!important;border-color:var(--alls-brand-dark)!important;color:#fff!important;}
.alls-product-search button:focus-visible,.woocommerce .button:focus-visible{outline:2px solid var(--alls-brand-dark);outline-offset:3px;}
.alls-product-search button{width:50px!important;min-width:50px!important;height:50px!important;padding:0!important;display:flex!important;align-items:center;justify-content:center;}
.alls-product-search button svg{fill:currentColor!important;color:#fff!important;}
.woocommerce ul.products .button{min-height:36px!important;padding:8px 12px!important;line-height:1.4!important;}
/* Compact country-based dual prices and one category label on product cards. */
.woocommerce ul.products li.product{display:flex!important;flex-direction:column!important;}
.woocommerce ul.products li.product .price .alls-vat-inclusive{font-size:15px;line-height:1.3;}
.woocommerce ul.products li.product .price .alls-vat-inclusive small{font-size:11px;}
.woocommerce ul.products li.product .price .alls-vat-exclusive{font-size:12px;line-height:1.3;margin-top:2px;}
.woocommerce ul.products li.product .meta-categories{font-size:11px!important;line-height:1.35!important;margin:0!important;}
.woocommerce ul.products li.product .ct-woo-card-actions{margin-top:auto!important;padding-top:6px;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{line-height:1.3!important;}
.wc-block-components-button:not(.is-link),.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button{background:var(--alls-brand)!important;border-color:var(--alls-brand)!important;color:#fff!important;border-radius:3px!important;box-shadow:none!important;}
.wc-block-components-button:not(.is-link):hover,.wc-block-cart__submit-button:hover,.wc-block-components-checkout-place-order-button:hover{background:var(--alls-brand-dark)!important;border-color:var(--alls-brand-dark)!important;}

/* Native cart/checkout structure like the Balcony reference. */
.woocommerce-cart .button,.woocommerce-checkout #place_order{background:var(--alls-brand)!important;border-color:var(--alls-brand)!important;color:#fff!important;border-radius:3px!important;box-shadow:none!important;}
.woocommerce-cart .button:hover,.woocommerce-checkout #place_order:hover{background:var(--alls-brand-dark)!important;border-color:var(--alls-brand-dark)!important;}
.woocommerce-cart .product-name .alls-vat-inclusive{font-size:15px;line-height:1.4;}.woocommerce-cart .product-name .alls-vat-inclusive small{font-size:12px;}.woocommerce-cart .product-name .alls-vat-exclusive{font-size:13px;margin-top:3px;}
.alls-commerce-shipping-note .alls-product-shipping-info{font-size:13px!important;margin:8px 0!important;font-weight:400;}
.woocommerce-cart .quantity{max-width:110px;}.woocommerce-cart .cart-collaterals{margin-top:24px!important;}
@media(max-width:689px){.woocommerce-cart .shop_table td{padding:12px 8px!important;}.woocommerce-cart .product-name{text-align:left!important;}.woocommerce-cart .product-name::before{display:none!important;}.woocommerce-cart .quantity{margin-left:auto;}}

/* Keep commerce navigation separated and tax percentages together. */
[data-header*=type] .alls-commerce-nav-item > .ct-menu-link { padding-inline: 10px; white-space: nowrap; }
.alls-vat-inclusive small { white-space: nowrap; }

/* Responsive category cards share a bounded grid and an uncropped image frame. */
.alls-shop-front .alls-choice-image img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;margin:0!important;}
@media(max-width:689px){
 .alls-shop-front .alls-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:564px;gap:20px 12px;}
 .alls-shop-front .alls-choice-card{padding:8px 8px 12px;font-size:13px;gap:10px;}
}

/* ALLS layout 1.13.0 — BALCONY_TECHNICAL_LAYOUT_AUDIT.md sections 5–10.
 * Keep country VAT, one context category, contain and ALLS branding.
 * Category navigation uses its own 900px breakpoint, not Blocksy's sidebar.
 */
.alls-category-browser{padding:0;}
.alls-root-categories{font-size:16px;line-height:1.65;}
.alls-root-category .alls-category-thumb{width:64px;}
.alls-root-category .alls-root-name{font-size:16px;line-height:1.25;}
.alls-root-category.is-active .alls-menu-arrow,.alls-root-category:hover .alls-menu-arrow,.alls-root-category:focus-visible .alls-menu-arrow{color:var(--alls-brand);}
.alls-root-category:focus-visible{outline:2px solid var(--alls-brand);outline-offset:2px;}
.alls-choice-image{overflow:hidden;box-sizing:border-box;}
.alls-choice-image img{object-fit:contain;object-position:center;}
.alls-product-search{max-width:640px;}
.alls-product-search button{width:67px!important;min-width:67px!important;height:62px!important;border-radius:0!important;}
.alls-product-search button svg{fill:none!important;stroke:currentColor!important;}
/* Native product cards use the same bounded responsive grid as shop choices. */
.woocommerce ul.products{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),276px))!important;gap:24px 20px!important;max-width:1164px;width:100%;margin-inline:auto;justify-content:center;}
.woocommerce ul.products li.product{display:flex!important;flex-direction:column!important;gap:0!important;font-size:16px;line-height:1.65;padding:0;min-width:0;max-width:276px;outline:1px solid var(--alls-line);outline-offset:4px;border-radius:4px;transition:outline-color 150ms ease;}
@media(hover:hover){.woocommerce ul.products li.product:hover{outline-color:var(--alls-brand);}}
.woocommerce ul.products li.product:focus-within{outline-color:var(--alls-brand);}
@media(prefers-reduced-motion:reduce){.woocommerce ul.products li.product{transition:none;}}
.woocommerce ul.products li.product figure{margin:0 0 10px;}
.woocommerce ul.products li.product .ct-media-container{display:block;width:100%;height:auto!important;min-height:0;aspect-ratio:4/3!important;}
.woocommerce ul.products li.product a img,.woocommerce ul.products li.product .ct-media-container img{width:100%!important;height:100%!important;max-height:100%!important;max-width:100%!important;object-fit:contain!important;object-position:center!important;aspect-ratio:auto!important;padding:8px!important;box-sizing:border-box;margin:0!important;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:17px!important;font-weight:600!important;line-height:1.35!important;margin:0 0 10px!important;}
.woocommerce ul.products li.product .price{font-size:15px!important;line-height:1.35!important;margin:0 0 10px!important;}
.woocommerce ul.products li.product .price .alls-vat-inclusive{font-size:15px;line-height:1.35;}
.woocommerce ul.products li.product .ct-woo-card-actions{order:2;margin-top:0!important;padding-top:0;}
/* Show each card SKU once, below its price, instead of the repeated category label. */
.woocommerce ul.products li.product>.alls-product-sku{order:1;margin:0 0 10px!important;}
.woocommerce ul.products li.product>.entry-meta:has(>.meta-categories:only-child){display:none!important;}
.woocommerce ul.products li.product .meta-categories{font-size:12px!important;line-height:1.35!important;margin:0 0 10px!important;}
.woocommerce ul.products .button,.woocommerce ul.products .added_to_cart{align-self:flex-start;width:auto!important;min-height:40px!important;padding:5px 20px!important;font-size:15px!important;line-height:1.65!important;margin:0!important;}
/* Native two-column gallery/summary proportions; images never crop. */
body.single-product .product-entry-wrapper{display:flex!important;align-items:flex-start!important;gap:40px!important;--product-gallery-width:35%;font-size:16px;line-height:1.65;}
body.single-product .woocommerce-product-gallery{flex:0 0 calc((100% - 40px)*.35)!important;width:calc((100% - 40px)*.35)!important;max-width:none!important;}
body.single-product .product-entry-wrapper>.summary{display:block!important;flex:1 1 0!important;width:auto!important;min-width:0!important;margin:0!important;}
body.single-product .ct-product-gallery-container{width:100%;max-width:100%;margin:0;}
body.single-product .ct-product-gallery-container>.ct-media-container,
body.single-product .ct-product-gallery-container .flexy-items .ct-media-container{width:100%!important;height:auto!important;aspect-ratio:4/3!important;max-height:430px;}
body.single-product .ct-product-gallery-container>.ct-media-container>img,
body.single-product .ct-product-gallery-container .flexy-items .ct-media-container img{width:100%!important;height:100%!important;max-width:100%!important;max-height:430px!important;object-fit:contain!important;object-position:center!important;}
body.single-product .ct-product-gallery-container .flexy-pills{margin-top:15px;}
body.single-product .ct-product-gallery-container .flexy-pills .ct-media-container{aspect-ratio:1!important;}
body.single-product .ct-product-gallery-container .flexy-pills img{object-fit:contain!important;}
body.single-product .ct-product-gallery-container .zoomImg{display:none!important;}
body.single-product .summary h1.product_title{display:block!important;visibility:visible!important;font-size:30px!important;line-height:1.5!important;margin:0 0 10px!important;color:var(--alls-ink);}
body.single-product .summary>.price{margin:0 0 35px!important;font-size:20px!important;line-height:1.65!important;}
.alls-vat-inclusive{display:block;font-weight:600;}.alls-vat-inclusive small{font-size:14px;font-weight:400;}.alls-vat-exclusive{display:block;font-size:15px;line-height:1.65;font-weight:400;color:var(--alls-muted);}
.alls-product-shipping-info{margin:14px 0 18px!important;line-height:1.55!important;font-size:14px!important;}
body.single-product .ct-cart-actions,body.single-product .woocommerce-variation-add-to-cart{display:flex!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:wrap!important;gap:10px!important;}
body.single-product form.cart .quantity{flex:0 0 120px!important;width:120px!important;max-width:120px!important;height:50px!important;--quantity-height:50px;margin:0!important;}
body.single-product form.cart .quantity input.qty{height:50px!important;min-height:50px!important;padding-block:0!important;}
body.single-product .single_add_to_cart_button,body.single-product .ct-cart-actions>.added_to_cart{flex:0 0 auto!important;width:auto!important;max-width:100%!important;min-height:50px!important;height:50px!important;padding:5px 24px!important;font-size:15px!important;line-height:1.65!important;margin:0!important;}
body.single-product .related.products{margin-top:50px!important;}
.alls-quote-action{margin:12px 0;}.alls-quote-action p{margin:0 0 8px;font-weight:600;}
@media(max-width:900px){.alls-root-category .alls-category-thumb{width:48px;}.alls-root-category .alls-root-name{font-size:14px;}.alls-root-category.is-active{border-color:var(--alls-brand)!important;}}
@media(max-width:689px){
 .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:564px;gap:20px 12px!important;}
 .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:14px!important;line-height:1.28!important;}
 .woocommerce ul.products li.product .price,.woocommerce ul.products li.product .price .alls-vat-inclusive{font-size:14px!important;}
 body.single-product .product-entry-wrapper{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important;}
 body.single-product .product-entry-wrapper>.summary{display:contents!important;}
 body.single-product .summary h1.product_title{grid-row:1;font-size:24px!important;line-height:1.25!important;margin-bottom:10px!important;}
 body.single-product .summary>.price{grid-row:2;margin-bottom:16px!important;}
 body.single-product .woocommerce-product-gallery{grid-row:3;flex:none!important;width:100%!important;max-width:100%!important;margin-bottom:20px!important;}
 body.single-product .ct-product-gallery-container>.ct-media-container,body.single-product .ct-product-gallery-container .flexy-items .ct-media-container{max-height:290px;}
 body.single-product .ct-product-gallery-container>.ct-media-container>img,body.single-product .ct-product-gallery-container .flexy-items .ct-media-container img{max-height:290px!important;}
 /* Retain the previously requested visible related section; use audited card sizes. */
 body.single-product .related.products.ct-hidden-sm,body.single-product .related.products.ct-hidden-md{display:block!important;}
}
@media(min-width:690px) and (max-width:999px){body.single-product .related.products.ct-hidden-md{display:block!important;}}
@media(max-width:600px){.alls-product-search button{height:50px!important;width:54px!important;min-width:54px!important;}}


/* ALLS 1.15: one content-fit navigation controller; no competing theme breakpoints. */
body.alls-shop-front-active ul.products,body.alls-shop-front-active .woocommerce-result-count,
body.alls-shop-front-active .woocommerce-ordering,body.alls-shop-front-active .ct-pagination,
body.alls-shop-front-active .woocommerce-pagination,body.alls-shop-front-active .alls-top-pagination,
body.home main .ct-pagination,body.home main .woocommerce-pagination,body.home main .alls-top-pagination{display:none!important;}
body.home main .alls-shop-front,body.home main .alls-category-browser,body.home main .alls-store-toolbar{display:none!important;}
.alls-full-catalog-link{display:inline-flex;align-items:center;min-height:46px;padding:8px 16px;border:1px solid var(--alls-brand);border-radius:3px;color:var(--alls-brand)!important;background:#fff;text-decoration:none;font-size:15px;line-height:1.4;}
.alls-full-catalog-link:hover,.alls-full-catalog-link:focus-visible{color:#fff!important;background:var(--alls-brand-dark);}
/* Shop is a catalogue page, not the website home hero. */
body.woocommerce-shop main > .hero-section{height:auto!important;min-height:0!important;padding:28px 0 0!important;background-image:none!important;background-color:transparent!important;}
body.woocommerce-shop main > .hero-section:before,body.woocommerce-shop main > .hero-section:after{display:none!important;}
body.woocommerce-shop main > .hero-section > .entry-header{width:var(--theme-container-width,90%);max-width:var(--theme-normal-container-max-width,1440px);height:auto!important;min-height:0!important;margin:0 auto!important;padding:0!important;text-align:left!important;}
body.woocommerce-shop main > .hero-section .page-title{margin:0!important;font-size:clamp(26px,2.6vw,36px);line-height:1.25;}
body.alls-shop-front-active main > .ct-container{padding-top:24px!important;}
body.alls-shop-front-active .alls-store-toolbar{margin-top:0;margin-bottom:24px;}
@media(max-width:689px){body.woocommerce-shop main > .hero-section{padding-top:20px!important;}body.alls-shop-front-active main > .ct-container{padding-top:18px!important;}.alls-full-catalog-link{margin-top:12px;}}

/* Default is the same light drawer; JS enables horizontal nav only if it fits. */
#header>[data-device="desktop"]{display:none!important;}
#header>[data-device="mobile"]{display:block!important;}
body.alls-nav-wide #header>[data-device="desktop"]{display:block!important;}
body.alls-nav-wide #header>[data-device="mobile"]{display:none!important;}
#header>[data-device="desktop"] [data-row="middle"]>.ct-container{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important;padding-top:0!important;padding-bottom:0!important;}
#header>[data-device="desktop"] [data-column="start"]{grid-column:1;width:100%!important;justify-content:flex-start!important;min-height:88px;}
#header>[data-device="desktop"] [data-column="end"]{display:flex!important;grid-column:1;width:100%!important;justify-content:flex-start!important;min-height:54px;border-top:1px solid #edf0f2;}
#header>[data-device="desktop"] [data-column="end"]>[data-items]{flex:1!important;width:100%!important;min-width:0!important;justify-content:flex-start;gap:16px;}
#header .header-menu-1{flex:1!important;width:100%!important;min-width:0!important;max-width:100%;margin:0!important;}
#header .header-menu-1>.menu{justify-content:flex-start;gap:0;flex-wrap:nowrap;}
#header .header-menu-1>.menu>li>.ct-menu-link{color:#263746!important;padding:15px clamp(3px,.5vw,8px)!important;white-space:nowrap;font-size:clamp(12px,1.2vw,14px)!important;}
#header .header-menu-1>.menu>li:first-child>.ct-menu-link{padding-left:0!important;}
#header .site-logo-container{height:auto!important;line-height:0;}
#header [data-device="desktop"] .site-logo-container img{width:160px!important;max-width:160px!important;height:auto;}
#header>[data-device="mobile"] [data-row="middle"]{--height:84px;height:84px!important;}
#header>[data-device="mobile"] [data-row="middle"]>.ct-container{height:84px!important;min-height:84px;grid-template-columns:minmax(0,1fr) auto!important;}
#header>[data-device="mobile"] [data-column="end"]>[data-items]{display:flex;align-items:center;justify-content:flex-end;gap:8px;}
#header>[data-device="mobile"] .site-logo-container img{width:130px!important;max-width:130px!important;height:auto!important;}
#header .ct-header-trigger{display:flex!important;align-items:center;justify-content:center;width:44px;min-height:44px;}
/* Measurement-only clone is inert and never an alternative visible menu. */
#header .alls-nav-measure{position:absolute!important;left:-10000px!important;top:0!important;visibility:hidden!important;pointer-events:none!important;display:block!important;flex:none!important;width:max-content!important;max-width:none!important;}
#header .alls-nav-measure>.menu{width:max-content!important;}
#header .alls-nav-measure .sub-menu{display:none!important;}
/* One native drawer and one light overlay at every width. */
#offcanvas{background:rgba(15,23,42,.12)!important;--theme-text-color:#30343b;--theme-link-initial-color:#30343b;--theme-link-hover-color:var(--alls-brand-dark);}
#offcanvas::before,#offcanvas::after{background:transparent!important;}
#offcanvas .ct-panel-inner{width:min(380px,95vw)!important;max-width:100vw!important;background:#fff!important;color:#30343b!important;}
#offcanvas .ct-panel-content[data-device="desktop"]{display:none!important;}
#offcanvas .ct-panel-content[data-device="mobile"]{display:flex!important;background:#fff!important;color:#30343b!important;}
#offcanvas .ct-panel-content-inner{background:#fff!important;color:#30343b!important;}
#offcanvas .mobile-menu{width:100%;max-width:100%;}
#offcanvas .mobile-menu>ul{display:flex!important;flex-direction:column;gap:0;list-style:none;padding:0;margin:0;}
#offcanvas .mobile-menu li{width:100%;min-width:0;}
#offcanvas .mobile-menu .ct-menu-link{display:flex;min-height:44px;padding:10px 0!important;line-height:1.4!important;white-space:normal;overflow-wrap:break-word;color:#30343b!important;}
#offcanvas .ct-sub-menu-parent{display:flex;align-items:center;justify-content:space-between;}
#offcanvas .ct-sub-menu-parent>.ct-menu-link{flex:1;min-width:0;}
#offcanvas .ct-toggle-dropdown-mobile{flex:0 0 44px;width:44px;min-height:44px;}
#offcanvas .sub-menu{position:static!important;width:auto!important;max-width:100%;padding-left:16px;}
#offcanvas .ct-toggle-close svg{fill:#30343b!important;}
#offcanvas .ct-toggle-close:hover svg{fill:var(--alls-brand-dark)!important;}
#offcanvas .alls-mobile-language-choice{padding:0 0 12px;border-bottom:1px solid #edf0f2;margin-bottom:8px;}
#offcanvas .alls-mobile-language-choice .alls-site-languages{justify-content:flex-start;}
.alls-header-space{height:0;pointer-events:none;}
body.alls-nav-sticky #header{position:fixed!important;top:var(--alls-sticky-offset,0px)!important;left:0;right:0;width:100%;z-index:99990;background:#fff;box-shadow:0 2px 9px rgba(0,0,0,.08);}
body.alls-nav-sticky #header [data-row="middle"]{--height:56px;min-height:56px!important;height:56px!important;}
body.alls-nav-sticky #header [data-row="middle"]>.ct-container{padding-top:0!important;padding-bottom:0!important;height:56px!important;min-height:56px!important;}
body.alls-nav-sticky #header .site-branding{display:none!important;}
body.alls-nav-sticky.alls-nav-wide #header [data-column="start"]{display:none!important;}
body.alls-nav-sticky.alls-nav-wide #header [data-column="end"]{min-height:56px!important;border-top:0;}
body.alls-nav-sticky .alls-site-languages{flex-wrap:nowrap;min-height:28px;}

/* Align the left panel with the active heading, without moving search. */
@media(min-width:901px){body.alls-shop-front-active .alls-root-categories{margin-top:18px;}}

/* Only terms links and the glass-thickness field; retain the locked layout. */
.single-product .summary form.variations_form:has(select[name="attribute_lasin-paksuus"]) table.variations {
    width: 300px !important;
    max-width: 100% !important;
}
.single-product .summary form.variations_form select[name="attribute_lasin-paksuus"] {
    width: 300px !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 44px;
    padding: 8px 36px 8px 14px;
    border: 2px solid #1683a7;
    border-radius: 4px;
    box-sizing: border-box;
}
.single-product .summary form.variations_form label[for="lasin-paksuus"] {
    display: block;
    padding: 10px 12px;
    border-left: 4px solid #1683a7;
    background: #f3f8fa;
    font-weight: 700;
}
.alls-product-terms { margin: 18px 0 12px; font-size: 1rem; }
.alls-product-terms a, .alls-order-terms a { color: #2197a9; text-decoration: none; }
.alls-product-terms a:hover, .alls-order-terms a:hover { color: #147080; text-decoration: underline; }
.alls-order-terms { margin: 20px 0; }
.alls-order-terms input[type="checkbox"] { margin-inline-end: 8px; accent-color: #2197a9; }

/* Prominent required delivery-terms consent, checkout only. */
.woocommerce-checkout p.form-row:has(#terms){margin:20px 0!important;padding:16px!important;border:2px solid #1683a7;border-left-width:6px;border-radius:6px;background:#f0f8fa;box-sizing:border-box;}
.woocommerce-checkout p.form-row:has(#terms) label{display:flex!important;align-items:flex-start;gap:12px;font-size:16px!important;line-height:1.55!important;font-weight:600;color:#263b46;cursor:pointer;margin:0!important;}
.woocommerce-checkout #terms{appearance:auto!important;-webkit-appearance:checkbox!important;position:static!important;opacity:1!important;flex:0 0 24px;width:24px!important;height:24px!important;margin:2px 0 0!important;accent-color:#1683a7;cursor:pointer;}
.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text{flex:1;min-width:0;}
.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text a{color:#116d83!important;text-decoration:underline!important;text-underline-offset:3px;font-weight:700;}
.woocommerce-checkout p.form-row:has(#terms):focus-within{outline:3px solid #92cfdb;outline-offset:3px;}
.woocommerce-checkout p.form-row:has(#terms:checked){background:#e6f5ef;border-color:#258767;}

/* All shop category and product photographs share the theme content width. */
body.tax-product_cat .hero-section,body.tax-product_tag .hero-section,body.single-product .hero-section{width:var(--theme-container-width,90%)!important;max-width:var(--theme-normal-container-max-width,1440px)!important;margin-inline:auto!important;}

/* ALLS existing railing photo: shop category and product title banners only. */
body.tax-product_cat .hero-section, body.tax-product_tag .hero-section, body.single-product .hero-section {
 background-image:linear-gradient(rgba(0,0,0,.46),rgba(0,0,0,.46)),url('https://alls.ee/wp-content/uploads/2024/12/Nayttokuva-2024-12-1-kello-8.51.01.png')!important;
 background-size:cover!important;background-position:center 68%!important;
 min-height:260px!important;padding:45px 24px!important;display:flex!important;align-items:center!important;justify-content:center!important;
}
body.tax-product_cat .hero-section .entry-header, body.tax-product_tag .hero-section .entry-header,body.single-product .hero-section .entry-header {color:#fff!important;text-align:center!important;}
body.tax-product_cat .hero-section :is(h1,a,span,svg),body.tax-product_tag .hero-section :is(h1,a,span,svg),body.single-product .hero-section :is(h1,a,span,svg){color:#fff!important;fill:currentColor;text-shadow:0 2px 5px rgba(0,0,0,.7);}
@media(max-width:768px){body.tax-product_cat .hero-section,body.tax-product_tag .hero-section,body.single-product .hero-section{min-height:200px!important;padding:28px 18px!important;background-position:55% 68%!important;}}

/* Keep order billing contact lines together. */
.woocommerce-customer-details address .woocommerce-customer-details--phone,
.woocommerce-customer-details address .woocommerce-customer-details--email {margin-top:0!important;margin-bottom:0!important;}

/* Product image banner followed by its title and breadcrumb, without overlaid text. */
body.single-product .hero-section{display:block!important;min-height:0!important;height:auto!important;padding:0!important;background:none!important;}
body.single-product .hero-section::before{content:''!important;display:block!important;width:100%;height:260px;background:url('https://alls.ee/wp-content/uploads/2024/12/Nayttokuva-2024-12-1-kello-8.51.01.png') center 68%/cover no-repeat!important;}
body.single-product .hero-section .entry-header{padding:20px 16px!important;text-align:left!important;background:#fff!important;color:#203241!important;}
body.single-product .hero-section .entry-header :is(h1,h2,a,span,svg){color:#203241!important;text-shadow:none!important;}
body.single-product .hero-section .alls-product-banner-caption{margin:0 0 12px;font-size:clamp(22px,2.4vw,32px);line-height:1.3;}
body.single-product .hero-section .ct-breadcrumbs{text-transform:none;font-size:12px;line-height:1.6;}
@media(max-width:768px){body.single-product .hero-section::before{height:200px;background-position:55% 68%!important;}}

/* Product heading over photo; breadcrumb remains below photo. */
body.single-product .hero-section{position:relative!important;}
body.single-product .hero-section::before{background-image:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),url('https://alls.ee/wp-content/uploads/2024/12/Nayttokuva-2024-12-1-kello-8.51.01.png')!important;}
body.single-product .hero-section .entry-header{position:static!important;}
body.single-product .hero-section .entry-header h2.alls-product-banner-caption{position:absolute;inset:0 0 auto;height:260px;margin:0;padding:24px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff!important;text-shadow:0 2px 5px rgba(0,0,0,.7)!important;box-sizing:border-box;}
@media(max-width:768px){body.single-product .hero-section .entry-header h2.alls-product-banner-caption{height:200px;padding:20px;font-size:22px;}}

/* Wrap category labels at spaces, never leave a single letter on another line. */
.alls-root-category{grid-template-columns:48px minmax(0,1fr) 16px!important;column-gap:10px!important;}
.alls-root-category .alls-category-thumb{width:48px;height:48px;}
.alls-root-categories{padding:14px;}
@media(max-width:1100px){.alls-root-category{grid-template-columns:48px minmax(105px,auto)!important;}.alls-root-categories{padding:13px 16px;}}
.alls-root-category .alls-root-name{min-width:0;font-size:14px!important;line-height:1.35!important;white-space:normal!important;word-break:keep-all!important;overflow-wrap:normal!important;hyphens:none!important;}
.alls-root-category .alls-menu-arrow{width:16px!important;}
.alls-shop-front .alls-choice-name{min-width:0;word-break:normal!important;overflow-wrap:anywhere!important;hyphens:auto!important;}

/* Start single-product photo directly below the navigation. */
body.single-product #main > .ct-container-full[data-vertical-spacing] {padding-top:0!important;}

/* Lower the photo content inside the unchanged product banner. */
body.single-product .hero-section::before{background-position:center calc(68% + 38px)!important;}
@media(max-width:768px){body.single-product .hero-section::before{background-position:55% calc(68% + 10px)!important;}}

/* ALLS account actions share the shop turquoise palette. */
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
body.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible,
body.woocommerce-account .woocommerce :is(a.button,button.button,input.button,button[type="submit"]){background:var(--alls-brand)!important;border-color:var(--alls-brand)!important;color:#fff!important;}
body.woocommerce-account .woocommerce :is(a.button,button.button,input.button,button[type="submit"]):hover{background:var(--alls-brand-dark)!important;border-color:var(--alls-brand-dark)!important;color:#fff!important;}
body.woocommerce-account .woocommerce-MyAccount-navigation li:not(.is-active) a,
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button){color:var(--alls-brand);}

/* Wide glass facade photograph: center the image without the old terrace offset. */
body.single-product .hero-section::before,body.tax-product_cat .hero-section,body.tax-product_tag .hero-section{background-position:center center!important;}
@media(max-width:768px){body.single-product .hero-section::before,body.tax-product_cat .hero-section,body.tax-product_tag .hero-section{background-position:center center!important;}}

/* More compact shop header photograph. */
body.tax-product_cat .hero-section,body.tax-product_tag .hero-section{height:295px!important;min-height:0!important;box-sizing:border-box!important;padding:24px!important;}
body.single-product .hero-section::before,body.single-product .hero-section .entry-header h2.alls-product-banner-caption{height:215px!important;}
@media(max-width:768px){body.tax-product_cat .hero-section,body.tax-product_tag .hero-section{height:155px!important;padding:18px!important;}body.single-product .hero-section::before,body.single-product .hero-section .entry-header h2.alls-product-banner-caption{height:155px!important;}}

/* Compact picture box requested: reduce the container, not just its crop. */
body.tax-product_cat .hero-section,body.tax-product_tag .hero-section{height:180px!important;min-height:180px!important;max-height:180px!important;padding:16px 24px!important;box-sizing:border-box!important;}
body.single-product .hero-section::before,body.single-product .hero-section .entry-header h2.alls-product-banner-caption{height:180px!important;min-height:0!important;max-height:180px!important;}
@media(max-width:768px){body.tax-product_cat .hero-section,body.tax-product_tag .hero-section{height:130px!important;min-height:130px!important;max-height:130px!important;padding:12px 16px!important;}body.single-product .hero-section::before,body.single-product .hero-section .entry-header h2.alls-product-banner-caption{height:130px!important;max-height:130px!important;font-size:20px!important;padding:12px 16px!important;}}

/* Shared ALLS colours for page navigation, above and below listings. */
:is(.ct-pagination,.woocommerce-pagination,.pagination) .page-numbers{color:var(--alls-brand,#2095a6);}
:is(.ct-pagination,.woocommerce-pagination,.pagination) :is(.page-numbers.current,a.page-numbers:hover,a.page-numbers:focus-visible){background:var(--alls-brand,#2095a6)!important;border-color:var(--alls-brand,#2095a6)!important;color:#fff!important;}
:is(.ct-pagination,.woocommerce-pagination,.pagination) :is(.next,.prev){border-color:var(--alls-brand,#2095a6);}

/* Homepage introduction and spacing between the three product departments. */
.alls-home-intro-band{width:100%;padding:26px 20px;background:#223646;color:#fff;text-align:center;}
.alls-home-intro-band p{margin:0;color:inherit;font-size:clamp(20px,2.1vw,28px);font-weight:600;line-height:1.4;}
.home .elementor-element-2036753e>.e-con-inner{row-gap:50px;}
.alls-back-home{margin-top:28px;margin-bottom:28px;}
@media(max-width:767px){.home .elementor-element-2036753e>.e-con-inner{row-gap:36px;}.alls-home-intro-band{padding:22px 20px;}}

/* Keep product image preview controls above the fixed site header. */
body.single-product .pswp{z-index:100000;}

/* The sole invoice method stays selected/submitted; omit its repeated explanation. */
body.woocommerce-checkout #payment .wc_payment_methods:has(>li.payment_method_cheque:only-child){display:none!important;}
body.alls-checkout-terms-open{overflow:hidden!important;}
dialog.alls-checkout-terms-preview{position:fixed;inset:16px;margin:auto;padding:0;border:1px solid #d8e2e7;border-radius:8px;width:900px;max-width:calc(100% - 32px);height:fit-content;max-height:calc(100dvh - 32px);color:var(--theme-text-color,#40566b);background:#fff;z-index:100001;overflow:hidden;}
dialog.alls-checkout-terms-preview[open]{display:flex;flex-direction:column;}
dialog.alls-checkout-terms-preview::backdrop{background:rgba(0,0,0,.6);}
.alls-checkout-terms-toolbar{display:flex;justify-content:flex-end;flex-shrink:0;padding:8px 12px;border-bottom:1px solid #d8e2e7;}
dialog.alls-checkout-terms-preview .alls-checkout-terms-close{display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:4px;background:#1c94a5;color:#fff;font-size:32px;line-height:1;cursor:pointer;}
.alls-checkout-terms-content{overflow:auto;overscroll-behavior:contain;min-height:0;padding:0 12px 16px;}
.alls-checkout-terms-content .alls-terms-document{padding:16px 8px;}
.alls-checkout-terms-content h1{font-size:clamp(26px,5vw,36px);}
