/* ==========================================================================
   Costume Limité – site CSS (loaded by mu-plugins/cl-site.php)
   Tokens come from Elementor V4 global variables (--color-*, --font-*, --fs-*, --space-*, --gap-*).
   Sections: 1 base · 2 header · 3 main menu + mega menu · 4 mobile menu · 5 icons/cart ·
             6 search overlay · 7 footer · 8 accessibility helpers
   ========================================================================== */

/* 1. Base ----------------------------------------------------------------- */
body { background: var(--color-white, #fff); color: var(--color-ink, #222); font-family: var(--font-body, Roboto), sans-serif; }
:where(a, button, input, select, textarea):focus-visible { outline: 2px solid var(--color-ink, #222); outline-offset: 3px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Hello Elementor paints every button:hover pink – neutralise it for our UI buttons */
.hero-dot, .hero-dot:hover, .hero-dot:focus,
.cl-search__close, .cl-search__close:hover, .cl-search__close:focus,
.elementor-menu-toggle, .elementor-menu-toggle:hover, .elementor-menu-toggle:focus { background-color: transparent !important; border: 0 !important; box-shadow: none; }
.cl-search__close:hover { color: var(--color-ink-soft); }
.cl-search__submit:hover, .cl-search__submit:focus { background-color: transparent !important; color: var(--color-ink) !important; }
.carousel-btn:focus { background-color: var(--color-white); color: var(--color-ink); }
.carousel-btn:hover { background-color: var(--color-ink) !important; color: var(--color-white) !important; }
/* 2. Header: sticky, announcement scrolls away, hides on scroll down ------- */
.elementor-location-header { position: sticky; top: 0; z-index: 900; transition: transform .35s ease; }
.cl-js .elementor-location-header.is-hidden { transform: translateY(-100%); }
.elementor-location-header.is-scrolled .header-main { box-shadow: 0 1px 0 var(--color-hairline), 0 8px 24px rgba(0,0,0,.04); }
.header-main > * { min-width: 0; }
.header-logo svg { display: block; width: 100%; height: 100%; }

/* Align menu + icons with the logo lettering (not the crown): text centre sits 24.1% of the logo height
   (= 9.23% of its width) below the logo centre; a top margin of 2× that shifts a centred grid item by that amount. */
.header-main { --logo-w: clamp(150px, 11vw + 90px, 230px); }
@media (max-width: 767px) { .header-main { --logo-w: 124px; } }
.header-main .header-logo { width: var(--logo-w) !important; }
.header-main .header-nav, .header-main .header-icons { margin-top: calc(var(--logo-w) * 0.1846); }
/* Mobile header: burger + search left, logo exactly centred, account/wishlist/bag right.
   Side tracks are equal (40+62 = 3×34 = 102px) so the logo sits in the true centre. */
@media (max-width: 767px) {
	.header-main { display: grid !important; grid-template-columns: 40px 62px 1fr auto 1fr 34px 34px 34px !important; gap: 0 !important; align-items: center; padding-left: 12px !important; padding-right: 12px !important; }
	.header-main .header-icons { display: contents !important; }
	.header-main .header-nav { grid-column: 1; grid-row: 1; width: auto !important; }
	.header-main .header-icons > a[href="#search"] { grid-column: 2; grid-row: 1; justify-self: start; }
	.header-main .header-logo { grid-column: 4; grid-row: 1; justify-self: center; }
	.header-main .header-icon--account { grid-column: 6; grid-row: 1; }
	.header-main .header-icons > a[href*="wishlist"] { grid-column: 7; grid-row: 1; }
	.header-main .cart-count-wrap { grid-column: 8; grid-row: 1; }
	.header-main .header-icons > * { margin-top: calc(var(--logo-w) * 0.1846); }
	.header-nav .elementor-menu-toggle.has-cl-burger { justify-content: flex-start; }
}
/* Compact header on scroll: announcement bar scrolls away (negative sticky top), logo + bar shrink */
.elementor-location-header { top: calc(-1 * var(--announce-h, 0px)); }
.header-main { transition: padding .35s ease, box-shadow .35s ease; }
.header-main .header-logo { transition: width .35s ease; }
.header-main .header-nav, .header-main .header-icons, .header-main .header-icons > * { transition: margin-top .35s ease; }
.elementor-location-header.is-scrolled .header-main { --logo-w: clamp(118px, 4vw + 70px, 150px); padding-top: 8px !important; padding-bottom: 8px !important; }
@media (max-width: 767px) { .elementor-location-header.is-scrolled .header-main { --logo-w: 100px; padding-top: 6px !important; padding-bottom: 6px !important; } }
/* 3. Main menu (Elementor Nav Menu) --------------------------------------- */
.header-nav .elementor-widget-nav-menu { width: auto; }
.header-nav .elementor-nav-menu--main .elementor-nav-menu { flex-wrap: nowrap; }
.header-nav .elementor-nav-menu--main .elementor-item {
	font-family: var(--font-body), sans-serif; font-size: 13px; font-weight: 400; letter-spacing: .06em;
	color: var(--color-ink); padding: 12px 14px !important; line-height: 20px; white-space: nowrap; transition: color .2s ease;
}
.header-nav .elementor-nav-menu--main > .elementor-nav-menu > li:first-child > .elementor-item { padding-left: 0 !important; }
.header-nav .elementor-nav-menu--main .elementor-item:hover,
.header-nav .elementor-nav-menu--main .elementor-item.highlighted { color: var(--color-ink-soft); }
.header-nav .elementor-nav-menu--main .elementor-item .sub-arrow svg { width: 8px; height: 8px; fill: currentColor; margin-left: 2px; }
.elementor-nav-menu .menu-item--sale > a, .elementor-nav-menu .menu-item--sale > a:hover { color: var(--color-sale-text) !important; }

/* Mega menu: first-level dropdowns become a full-width white panel with columns, anchored to .header-main */
.header-main { position: relative; }
.header-nav, .header-nav .elementor-widget-nav-menu, .header-nav .elementor-widget-container, .header-nav .elementor-nav-menu--main,
.header-nav .elementor-nav-menu--main .elementor-nav-menu, .header-nav .elementor-nav-menu--main .elementor-nav-menu > li { position: static !important; }
.header-main .header-nav .elementor-nav-menu--main .elementor-nav-menu > li > .sub-menu {
	--e-nav-menu-horizontal-menu-item-margin: 0px;
	position: absolute !important; top: 100% !important; inset-inline: 0 !important; left: 0 !important; right: 0 !important;
	width: auto !important; max-width: none !important; margin: 0 !important;
	display: none; grid-template-columns: repeat(3, minmax(0, 260px)); column-gap: 48px; row-gap: 0; justify-content: start;
	padding: 24px var(--space-section-x) 28px !important; background: var(--color-white) !important;
	border-top: 1px solid var(--color-hairline); border-bottom: 1px solid var(--color-hairline); box-shadow: 0 18px 30px rgba(0,0,0,.06);
	max-height: none !important; overflow: visible !important;
}
.header-nav .elementor-nav-menu--main .sub-menu[aria-expanded="true"], .header-nav .elementor-nav-menu--main li:hover > .sub-menu { display: grid !important; }
/* Hover bridge: invisible strip from the menu link down to the mega panel so the cursor can travel to it */
.header-nav .elementor-nav-menu--main .menu-item-has-children:hover > .elementor-item::after {
	content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 48px; background: transparent;
	opacity: 1 !important; transform: none !important;
}
.header-nav .elementor-nav-menu--main .menu-item-has-children:nth-child(3) > .sub-menu { grid-template-columns: repeat(4, minmax(0, 220px)); } /* Brands: 4 columns */
.header-nav .elementor-nav-menu--main .sub-menu li { border: 0 !important; }
.header-nav .elementor-nav-menu--main .sub-menu .elementor-sub-item {
	font-family: var(--font-body), sans-serif; font-size: 13px; letter-spacing: .04em; color: var(--color-ink) !important; background: transparent !important;
	padding: 4px 0 !important; line-height: 1.5 !important; border: 0 !important;
}
.header-nav .elementor-nav-menu--main .sub-menu .elementor-sub-item { transition: color .2s ease; }
.header-nav .elementor-nav-menu--main .sub-menu .elementor-sub-item:hover,
.header-nav .elementor-nav-menu--main .sub-menu .elementor-sub-item:focus-visible { color: var(--color-ink-soft) !important; text-decoration: none; }

/* 4. Mobile / tablet menu (burger) ----------------------------------------- */
.header-nav .elementor-menu-toggle { background: transparent; color: var(--color-ink); padding: 8px 8px 8px 0; font-size: 22px; }
.header-nav .elementor-menu-toggle svg { fill: currentColor; width: 22px; height: 22px; }
.header-main .header-nav .elementor-nav-menu__container.elementor-nav-menu--dropdown {
	position: absolute !important; top: 100% !important; inset-inline: 0 !important; left: 0 !important; right: 0 !important; width: auto !important; margin: 0 !important; background: var(--color-white); border-top: 1px solid var(--color-hairline);
	max-height: calc(100dvh - 90px); overflow-y: auto; box-shadow: 0 18px 30px rgba(0,0,0,.08);
}
.header-nav .elementor-nav-menu--dropdown .elementor-item,
.header-nav .elementor-nav-menu--dropdown .elementor-sub-item {
	font-family: var(--font-body), sans-serif; font-size: 15px; letter-spacing: .04em; color: var(--color-ink) !important; background: transparent !important;
	padding: 14px 20px !important; border-bottom: 1px solid var(--color-hairline);
}
.header-nav .elementor-nav-menu--dropdown .sub-menu { padding: 4px 0 10px !important; border-bottom: 1px solid var(--color-hairline); }
.header-nav .elementor-nav-menu--dropdown .sub-menu li { border: 0 !important; }
.header-nav .elementor-nav-menu--dropdown .sub-menu .elementor-sub-item { padding: 7px 20px 7px 36px !important; font-size: 14px; line-height: 1.5; border: 0 !important; }

.header-nav .elementor-nav-menu--dropdown .menu-item--sale > a { color: var(--color-sale-text) !important; }

/* Burger icon: 3 lines -> X (middle fades, outer rotate). JS adds .cl-burger into .elementor-menu-toggle */
.header-nav .elementor-menu-toggle.has-cl-burger { width: 40px; height: 40px; padding: 0 !important; align-items: center; justify-content: flex-start; }
.header-nav .elementor-menu-toggle.has-cl-burger svg, .header-nav .elementor-menu-toggle.has-cl-burger i.eicon-menu-bar, .header-nav .elementor-menu-toggle.has-cl-burger i.eicon-close { display: none !important; }
.cl-burger { position: relative; display: block; width: 22px; height: 14px; color: var(--color-ink); }
.cl-burger > span { position: absolute; left: 0; width: 100%; height: 1.5px; background: currentColor; border-radius: 1px;
	transition: top .3s ease, transform .3s ease, opacity .2s ease; }
.cl-burger > span:nth-child(1) { top: 0; }
.cl-burger > span:nth-child(2) { top: 6.25px; }
.cl-burger > span:nth-child(3) { top: 12.5px; }
.elementor-menu-toggle.elementor-active .cl-burger > span:nth-child(1) { top: 6.25px; transform: rotate(45deg); }
.elementor-menu-toggle.elementor-active .cl-burger > span:nth-child(2) { opacity: 0; }
.elementor-menu-toggle.elementor-active .cl-burger > span:nth-child(3) { top: 6.25px; transform: rotate(-45deg); }
/* 5. Header icons + cart count --------------------------------------------- */
.header-icon svg { width: 100%; height: 100%; fill: none !important; }
.cart-count-wrap .cart-count {
	position: absolute; top: 2px; right: -2px; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 9px;
	background: var(--color-ink); color: var(--color-white); font: 500 10px/17px var(--font-body), sans-serif; text-align: center; pointer-events: none;
}
.cart-count-wrap .cart-count[data-count="0"], .cart-count-wrap .cart-count:empty { display: none; }

/* 6. Search overlay --------------------------------------------------------- */
.cl-search { position: fixed; inset: 0; z-index: 1000; background: rgba(17,17,17,.45); display: flex; align-items: flex-start; }
.cl-search[hidden] { display: none; }
.cl-search__form {
	width: 100%; display: flex; align-items: center; gap: 12px; background: var(--color-white);
	padding: 28px var(--space-section-x); border-bottom: 1px solid var(--color-hairline);
}
.cl-search__input {
	flex: 1; min-width: 0; height: 52px; border: 0; border-bottom: 1px solid var(--color-ink); border-radius: 0; padding: 0 4px;
	font: 400 clamp(18px, 1rem + .6vw, 24px) var(--font-display), serif; color: var(--color-ink); background: transparent;
}
.cl-search__input::placeholder { color: var(--color-ink-soft); }
.cl-search__submit {
	height: 48px; padding: 0 24px; background: var(--color-ink); color: var(--color-white); border: 1px solid var(--color-ink); border-radius: 0;
	font: 500 12px var(--font-body), sans-serif; letter-spacing: .14em; text-transform: uppercase; cursor: pointer;
}
.cl-search__close { width: 44px; height: 44px; border: 0; background: transparent; font-size: 30px; line-height: 1; color: var(--color-ink); cursor: pointer; }
@media (max-width: 767px) { .cl-search__submit { display: none; } }

/* 7. Footer ----------------------------------------------------------------- */
.site-footer .elementor-widget-nav-menu { width: 100%; }
.site-footer .elementor-nav-menu--main .elementor-item {
	font-family: var(--font-body), sans-serif; font-size: var(--fs-small); letter-spacing: .04em; font-weight: 400;
	color: var(--color-white) !important; padding: 5px 0 !important; justify-content: flex-start;
}
.site-footer .elementor-nav-menu--main .elementor-item { transition: color .2s ease; }
.site-footer .elementor-nav-menu--main .elementor-item:hover,
.site-footer .elementor-nav-menu--main .elementor-item:focus-visible { color: #B3B3B3 !important; text-decoration: none; }
.site-footer .elementor-nav-menu--layout-vertical .elementor-nav-menu > li > a { justify-content: flex-start; }
@media (max-width: 767px) { .site-footer .elementor-nav-menu--layout-vertical .elementor-nav-menu > li > a { justify-content: center; } }
.site-footer .footer-input::placeholder { color: var(--color-ink-soft); }
.site-footer .footer-logo svg { width: 100%; height: 100%; }

/* 9. Homepage: hero slider ---------------------------------------------------
   Markup: .hero-slider > .hero-slide (e-div-block) > img.hero-media + .hero-content. JS adds .is-ready/.is-active + dots. */
.hero-slide::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background: radial-gradient(ellipse 70% 65% at 50% 55%, rgba(10,10,10,.52) 0%, rgba(10,10,10,.34) 55%, rgba(10,10,10,.22) 100%); }
.hero-slider img.hero-media, .hero-slider .hero-media img { width: 100%; height: 100%; object-fit: cover; }
.cl-js .hero-slider .hero-slide { opacity: 0; visibility: hidden; transition: opacity 1.1s ease, visibility 0s linear 1.1s; }
.cl-js .hero-slider:not(.is-ready) .hero-slide:first-child,
.cl-js .hero-slider .hero-slide.is-active { opacity: 1; visibility: visible; transition: opacity 1.1s ease, visibility 0s; }
.hero-controls { position: absolute; left: 50%; bottom: clamp(18px, 1rem + 1vw, 32px); transform: translateX(-50%); z-index: 3; display: flex; align-items: center; gap: 10px; }
.hero-dot { width: 34px; height: 24px; padding: 0; border: 0; background: transparent; cursor: pointer; position: relative; }
.hero-dot::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 2px; margin-top: -1px; background: rgba(255,255,255,.5); transition: background .3s ease; }
.hero-dot[aria-current="true"]::before, .hero-dot:hover::before { background: #fff; }
.hero-dot:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
@media (prefers-reduced-motion: no-preference) {
	.cl-js .hero-slide.is-active .hero-media { animation: cl-hero-zoom 9s ease-out both; }
}
@keyframes cl-hero-zoom { from { transform: scale(1.06); } to { transform: scale(1); } }
/* Elementor editor: show every slide stacked so each one can be edited */
.cl-editor .hero-slider, .elementor-editor-active .hero-slider { height: auto !important; display: block !important; }
.cl-editor .hero-slide, .elementor-editor-active .hero-slide { min-height: 520px; }

/* 10. Homepage: brand marquee --------------------------------------------------
   Markup: .brand-marquee > .marquee-track > .marquee-item links. JS clones the track (aria-hidden) for a seamless loop. */
@media (prefers-reduced-motion: no-preference) {
	.cl-js .brand-marquee.is-ready .marquee-track { animation: cl-marquee var(--marquee-speed, 40s) linear infinite; }
	.cl-js .brand-marquee:hover .marquee-track, .cl-js .brand-marquee:focus-within .marquee-track { animation-play-state: paused; }
}
@keyframes cl-marquee { to { transform: translateX(-100%); } }
@media (prefers-reduced-motion: reduce) { .brand-marquee { justify-content: center; } .brand-marquee .marquee-track { flex-wrap: wrap; width: auto; justify-content: center; row-gap: 12px; } .brand-marquee .marquee-track[aria-hidden] { display: none; } }
/* 11. Product cards + carousels ------------------------------------------------
   .carousel = horizontal scroll-snap track (Loop layout or plain flexbox); JS adds .carousel-btn prev/next.
   .pcard-media holds two .pcard-img (second = .pcard-img--alt, shown on hover). */
.carousel::-webkit-scrollbar { display: none; }
.carousel > .e-collection-loop-item, .carousel > * { min-width: 0; }
.carousel > *, .product-grid-2 > * { padding: 0 !important; scroll-snap-align: start; }
.pcard-media:hover .pcard-img--alt, .pcard-media:focus-visible .pcard-img--alt { opacity: 1; }
.pcard-price del { color: var(--color-ink-soft); margin-right: 6px; }
.pcard-price ins { text-decoration: none; }
.pcard-sizes:empty { display: none; }
.carousel-btn {
	position: absolute; z-index: 3; width: 40px; height: 40px; margin-top: -20px; border-radius: 50%; border: 0; padding: 0; cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center; background: var(--color-white); color: var(--color-ink);
	box-shadow: 0 2px 10px rgba(0,0,0,.14); transition: opacity .25s ease, visibility .25s ease;
}
.carousel-btn svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.carousel-btn--prev { left: -12px; } .carousel-btn--next { right: -12px; }
.carousel-btn:hover { background: var(--color-ink); color: var(--color-white); }
.carousel-btn[hidden], .quote-controls[hidden] { display: none !important; }
.carousel-btn:focus-visible { outline: 2px solid var(--color-ink); outline-offset: 2px; }
@media (max-width: 1024px) { .carousel-btn { display: none !important; } }
.cat-tile .cat-img { transition: transform .8s ease; } .cat-tile { overflow: hidden; }
.cat-tile:hover .cat-title { color: var(--color-ink-soft); }

/* 12. Banners (reuse .hero-slide inside .banner-section / .feature-card) ------ */
.hero-content .type-display em { font-style: italic; color: var(--color-gold); }
.hero-content .type-body a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.hero-content .type-body a:hover { color: #B3B3B3; }
.banner-section .hero-slide, .feature-card .hero-slide { height: 100%; }
/* 13. Scroll reveal (JS adds .cl-reveal, then .is-in when visible; front end only via .cl-js) */
@media (prefers-reduced-motion: no-preference) {
	.cl-js .cl-reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s ease var(--reveal-delay, 0s), transform .7s ease var(--reveal-delay, 0s); }
	.cl-js .cl-reveal.is-in { opacity: 1; transform: none; }
}
/* 14. Testimonials – editorial quote carousel (.carousel--quotes): one review per view.
   Visual order via CSS: quote text → stars → "Name · Location" (elements stay editable in Elementor). */
.carousel--quotes { max-width: 780px; margin-left: auto; margin-right: auto; }
.carousel--quotes .testimonial { flex-direction: row !important; flex-wrap: wrap; justify-content: center; align-items: baseline; row-gap: 14px; column-gap: 0; padding: 0 8px !important; text-align: center; }
.carousel--quotes .testimonial > p:last-child {
	order: 1; flex: 0 0 100%; max-width: 680px; margin: 0 auto !important;
	font-family: var(--font-display) !important; font-style: italic; font-weight: 400 !important; letter-spacing: 0 !important;
	font-size: clamp(1.25rem, 1.05rem + .8vw, 1.75rem) !important; line-height: 1.45 !important; color: var(--color-ink) !important;
}
.carousel--quotes .testimonial > p:last-child::before { content: "\201C"; display: block; font-style: normal; font-weight: 400; font-size: 4.2em; line-height: 1; height: .5em; margin: 0 0 .15em; color: var(--color-ink); }
.carousel--quotes .testimonial .stars { order: 2; flex: 0 0 100%; width: 100% !important; height: 17px !important; margin-top: 6px !important; }
.carousel--quotes .testimonial .stars svg { width: 100px; height: 17px; margin: 0 auto; display: block; }
.carousel--quotes .testimonial h3 { order: 3; font-size: 17px !important; margin: 0 !important; }
.carousel--quotes .testimonial h3::after { content: "\00B7"; margin: 0 10px; color: var(--color-ink-soft); }
.carousel--quotes .testimonial > p:not(:last-child) { order: 4; margin: 0 !important; color: var(--color-ink-soft) !important; }
.quote-controls { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: clamp(1.5rem, 1rem + 1.5vw, 2.25rem); }
.quote-controls .quote-arrow { width: 40px; height: 40px; padding: 0; border: 0 !important; background: transparent !important; color: var(--color-ink); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: color .2s ease; }
.quote-controls .quote-arrow:hover { color: var(--color-ink-soft) !important; background: transparent !important; }
.quote-controls .quote-arrow svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.quote-dot { width: 30px; height: 24px; padding: 0; border: 0 !important; background: transparent !important; cursor: pointer; position: relative; }
.quote-dot::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 2px; margin-top: -1px; background: #C9C9C9; transition: background .3s ease; }
.quote-dot[aria-current="true"]::before, .quote-dot:hover::before { background: var(--color-ink); }
.quote-arrow:focus-visible, .quote-dot:focus-visible { outline: 2px solid var(--color-ink); outline-offset: 2px; }
@media (max-width: 767px) { .quote-dot { width: 20px; } }
/* 15. Single product ----------------------------------------------------------- */
.pdp-note-icon svg { width: 100%; height: 100%; fill: none !important; }
.pdp-size-pill:empty, .pdp-stock:empty, .pdp-tax:empty, .pdp-sku:empty { display: none; }
.pdp-section .woocommerce-breadcrumb { font-family: var(--font-body); font-size: var(--fs-small); letter-spacing: .04em; color: var(--color-ink-soft); margin: 0; }
.pdp-section .woocommerce-breadcrumb a { color: var(--color-ink); text-decoration: none; transition: color .2s ease; }
.pdp-section .woocommerce-breadcrumb a:hover { color: var(--color-ink-soft); }
/* gallery ([cl_product_gallery]) */
.cl-gallery { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 20px; align-items: start; }
.cl-gallery__thumbs { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 10px; }
.cl-gallery__thumb { display: block; width: 72px; aspect-ratio: 1000 / 1424; padding: 0 !important; overflow: hidden; cursor: pointer; background: transparent !important; border: 1px solid transparent !important; border-radius: 0 !important; transition: border-color .2s ease; }
.cl-gallery__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cl-gallery__thumb:hover, .cl-gallery__thumb.is-active { border-color: var(--color-ink) !important; }
.cl-gallery__main { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.cl-gallery__slide { margin: 0; scroll-margin-top: 100px; }
.cl-gallery__slide img { display: block; width: 100%; height: auto; }
.cl-gallery__count { display: none; }
@media (max-width: 767px) {
	.cl-gallery { grid-template-columns: 1fr; position: relative; margin: 0 calc(-1 * var(--space-section-x)); }
	.cl-gallery__thumbs { display: none; }
	.cl-gallery__main { flex-direction: row; gap: 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.cl-gallery__main::-webkit-scrollbar { display: none; }
	.cl-gallery__slide { flex: 0 0 100%; scroll-snap-align: start; }
	.cl-gallery__count { display: block; position: absolute; right: 12px; bottom: 12px; padding: 4px 10px; background: rgba(255,255,255,.9); font: 500 11px var(--font-body), sans-serif; letter-spacing: .08em; color: var(--color-ink); }
}
/* add to cart + size buttons */
.pdp-info .quantity, .pdp-info .reset_variations, .pdp-info .woocommerce-variation-price, .pdp-info .woocommerce-variation-description { display: none !important; }
.pdp-info form.variations_form table.variations { display: none; }
.pdp-info form.cart { display: flex; flex-direction: column; gap: 14px; margin: 0 !important; }
.pdp-info .woocommerce-variation-add-to-cart, .pdp-info form.cart:not(.variations_form) { display: flex; flex-direction: column; }
.cl-sizes { display: flex; flex-wrap: wrap; gap: 8px; }
.cl-size { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-width: 56px; height: 52px; padding: 4px 12px !important; border: 1px solid #C9C9C9 !important; border-radius: 0 !important; background: var(--color-white) !important; color: var(--color-ink) !important; font: 400 13px/1.1 var(--font-body), sans-serif; letter-spacing: .04em; cursor: pointer; transition: border-color .2s ease; }
.cl-size small { font-size: 10px; letter-spacing: .06em; color: var(--color-ink-soft); }
.cl-size:hover, .cl-size[aria-pressed="true"] { border-color: var(--color-ink) !important; }
.cl-size[aria-pressed="true"] { box-shadow: inset 0 0 0 1px var(--color-ink); }
.cl-size[disabled] { cursor: not-allowed; color: var(--color-ink-soft) !important; text-decoration: line-through; border-style: dashed !important; }
.pdp-info .single_add_to_cart_button {
	width: 100%; min-height: 52px; margin: 0 !important; border-radius: 0 !important; border: 1px solid var(--color-ink) !important;
	background: var(--color-ink) !important; color: var(--color-white) !important; font: 500 var(--fs-small) var(--font-body), sans-serif !important;
	letter-spacing: .14em; text-transform: uppercase; transition: background-color .25s ease, color .25s ease;
}
.pdp-info .single_add_to_cart_button:hover { background: transparent !important; color: var(--color-ink) !important; }
.pdp-info .single_add_to_cart_button.disabled { opacity: .55; }
.pdp-info .stock { display: none; }
/* wishlist link (YITH) */
.pdp-info .yith-wcwl-add-to-wishlist { margin: 0; }
.pdp-info .yith-wcwl-add-to-wishlist a, .pdp-info .yith-wcwl-add-to-wishlist .feedback { font: 400 var(--fs-small) var(--font-body), sans-serif !important; letter-spacing: .04em; color: var(--color-ink) !important; text-decoration: none !important; background: none !important; padding: 0 !important; border: 0 !important; }
.pdp-info .yith-wcwl-add-to-wishlist a:hover { color: var(--color-ink-soft) !important; }
.pdp-info .yith-wcwl-add-to-wishlist svg, .pdp-info .yith-wcwl-add-to-wishlist .yith-wcwl-icon { display: none !important; }
/* accordions (details/summary) */
.pdp-acc-head { list-style: none; }
.pdp-acc-head::-webkit-details-marker { display: none; }
.pdp-acc-head::after { content: ""; width: 8px; height: 8px; border-right: 1.3px solid var(--color-ink); border-bottom: 1.3px solid var(--color-ink); transform: rotate(45deg) translateY(-3px); transition: transform .25s ease; flex-shrink: 0; margin-right: 4px; }
details[open] > .pdp-acc-head::after { transform: rotate(-135deg) translateY(-2px); }
.pdp-acc-body .woocommerce-product-details__short-description, .pdp-acc-body .elementor-widget-woocommerce-product-content { font-family: var(--font-body); font-size: var(--fs-small); line-height: 1.7; letter-spacing: .04em; color: var(--color-ink); }
.pdp-acc-body p { margin: 0 0 .6em; }
.pdp-acc-body a, .pdp-small a { color: var(--color-ink); text-decoration: underline; text-underline-offset: 3px; transition: color .2s ease; }
.pdp-acc-body a:hover, .pdp-small a:hover { color: var(--color-ink-soft); }
.faq-grid > .pdp-acc-item:nth-child(-n+2) { border-top: 1px solid var(--color-hairline); }
.faq-grid > .pdp-acc-item { border-top: 0; border-bottom: 1px solid var(--color-hairline); }
@media (max-width: 767px) { .faq-grid > .pdp-acc-item:nth-child(2) { border-top: 0; } }
/* 16. WooCommerce notices (added to cart, errors, info) in brand style */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 24px;
	width: auto; max-width: var(--content-max, 1240px); margin: 16px auto !important; padding: 14px 20px 14px 52px !important;
	background: var(--color-paper-alt) !important; color: var(--color-ink) !important; border: 0 !important; border-left: 3px solid var(--color-ink) !important; border-radius: 0 !important;
	font: 400 14px/1.5 var(--font-body), sans-serif !important; letter-spacing: .03em; list-style: none; box-shadow: none !important;
}
.woocommerce-message:focus, .woocommerce-info:focus, .woocommerce-error:focus, .woocommerce-notices-wrapper:focus { outline: none !important; }
.woocommerce-message:focus-visible, .woocommerce-error:focus-visible { outline: 2px solid var(--color-ink) !important; outline-offset: 2px; }
.woocommerce-error { border-left-color: var(--color-sale) !important; }
.woocommerce-info { border-left-color: var(--color-ink-soft) !important; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before {
	content: "" !important; display: block !important; position: absolute !important; left: 18px; top: 50%; width: 20px; height: 20px; margin: -10px 0 0 !important; background-color: var(--color-ink);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12.3 2.7 2.7L16.3 9.5'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12.3 2.7 2.7L16.3 9.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.woocommerce-info::before, .woocommerce-error::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v6M12 16.3v.2'/%3E%3C/svg%3E");
	        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v6M12 16.3v.2'/%3E%3C/svg%3E");
}
.woocommerce-error::before { background-color: var(--color-sale); top: 22px; margin-top: -10px !important; }
.woocommerce-error li { margin: 0; padding: 0; }
.woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button, .woocommerce-message a.button.wc-forward {
	order: 2; float: none !important; display: inline-flex !important; align-items: center; min-height: 38px; padding: 0 18px !important; margin: 0 !important;
	background: var(--color-ink) !important; border: 1px solid var(--color-ink) !important; border-radius: 0 !important; color: #fff !important;
	font: 500 11px/1 var(--font-body), sans-serif !important; letter-spacing: .14em; text-transform: uppercase; text-decoration: none !important; transition: background-color .2s;
}
.woocommerce-message .button:hover, .woocommerce-info .button:hover, .woocommerce-error .button:hover { background: var(--color-ink-soft) !important; border-color: var(--color-ink-soft) !important; color: #fff !important; }
.woocommerce-message a:not(.button), .woocommerce-info a:not(.button), .woocommerce-error a:not(.button) { color: var(--color-ink) !important; font-weight: 500; text-decoration: none; }
@media (max-width: 767px) {
	.woocommerce-message, .woocommerce-info, .woocommerce-error { margin: 12px 16px !important; padding: 14px 16px 14px 46px !important; font-size: 13px !important; }
	.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { left: 14px; }
	.woocommerce-message .button, .woocommerce-message a.button.wc-forward { width: 100%; justify-content: center; }
}
/* inside page content (cart, checkout, account) the notice already sits in the content column */
.pg-inner .woocommerce-message, .pg-inner .woocommerce-info, .pg-inner .woocommerce-error { max-width: none; margin: 0 0 20px !important; }
/* popup form full width */
[data-elementor-type="popup"] form, [data-elementor-type="popup"] .e-form-base { width: 100% !important; align-self: stretch !important; margin: 0 !important; padding: 0 !important; }
/* 17. Fixes (review round 3) */
/* accordion: Elementor adds its own icon element even with icons off – we draw the chevron in CSS */
.pdp-acc-head .e-accordion-item-icon-base { display: none !important; }
/* product cards: second photo swaps instantly */
.pcard-img, .pcard-img--alt { transition: none !important; }
/* carousels + mobile gallery: horizontal only – no inner vertical scroll (it clipped the top of cards on touch) */
.carousel, .cl-gallery__main { overflow-y: hidden !important; overscroll-behavior-y: auto; touch-action: pan-x pan-y; }
.carousel .cl-reveal { transform: none !important; }
.carousel--quotes .testimonial { padding-bottom: 8px !important; }
/* wishlist link (YITH block markup) */
.pdp-info .yith-add-to-wishlist-button-block { margin: 2px 0 0; }
.pdp-info .yith-wcwl-add-to-wishlist-button, .pdp-info .yith-add-to-wishlist-button-block a {
	display: inline-flex !important; align-items: center; gap: 10px; padding: 6px 0 !important; background: none !important; border: 0 !important; box-shadow: none !important;
	font: 500 var(--fs-kicker) var(--font-body), sans-serif !important; letter-spacing: .14em !important; text-transform: uppercase; color: var(--color-ink) !important;
	text-decoration: none !important; cursor: pointer; transition: color .2s ease;
}
.pdp-info .yith-wcwl-add-to-wishlist-button::before {
	content: ""; width: 18px; height: 18px; flex-shrink: 0; background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7.5-4.6-7.5-10.2A4.3 4.3 0 0 1 12 7.2a4.3 4.3 0 0 1 7.5 2.6C19.5 15.4 12 20 12 20Z'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7.5-4.6-7.5-10.2A4.3 4.3 0 0 1 12 7.2a4.3 4.3 0 0 1 7.5 2.6C19.5 15.4 12 20 12 20Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.pdp-info [class*="yith-wcwl-add-to-wishlist-button--added"]::before, .pdp-info [class*="--added"] .yith-wcwl-add-to-wishlist-button::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20s-7.5-4.6-7.5-10.2A4.3 4.3 0 0 1 12 7.2a4.3 4.3 0 0 1 7.5 2.6C19.5 15.4 12 20 12 20Z'/%3E%3C/svg%3E");
	        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20s-7.5-4.6-7.5-10.2A4.3 4.3 0 0 1 12 7.2a4.3 4.3 0 0 1 7.5 2.6C19.5 15.4 12 20 12 20Z'/%3E%3C/svg%3E");
}
.pdp-info .yith-wcwl-add-to-wishlist-button:hover { color: var(--color-ink-soft) !important; }
.pdp-info .yith-wcwl-add-to-wishlist-button:focus-visible { outline: 2px solid var(--color-ink); outline-offset: 3px; }
.pdp-info .yith-wcwl-add-to-wishlist-button svg, .pdp-info .yith-wcwl-add-to-wishlist-button img { display: none !important; }
/* YITH wishlist feedback toast – brand style, bottom centre */
.yith-wcwl-feedback-messages-container { position: fixed !important; left: 50% !important; right: auto !important; top: auto !important; bottom: 28px !important; transform: translateX(-50%); z-index: 1100 !important; width: max-content; max-width: calc(100vw - 32px); pointer-events: none; }
.yith-wcwl-feedback-modal, .yith-wcwl-feedback-messages-container > * {
	background: var(--color-ink) !important; color: var(--color-white) !important; border: 0 !important; border-radius: 0 !important; box-shadow: 0 10px 30px rgba(0,0,0,.18) !important;
	padding: 14px 22px !important; font: 400 var(--fs-small)/1.5 var(--font-body), sans-serif !important; letter-spacing: .04em; text-align: center; pointer-events: auto;
}
.yith-wcwl-feedback-modal * { color: inherit !important; font: inherit !important; }
.yith-wcwl-feedback-modal img, .yith-wcwl-feedback-modal svg { display: none !important; }

/* 18. Shop / category archive (template "Shop archive": .shop-layout > .shop-sidebar + .shop-main)
   Filters = JetSmartFilters widgets; grid = Elementor "Archive Products" with the .cl-card markup from cl-shop.php */
.shop-intro:empty { display: none; }
.shop-intro a { color: var(--color-ink); text-decoration: none; font-weight: 500; }
.shop-intro a:hover { color: var(--color-ink-soft); }

/* product grid: 4 / 3 / 2 columns */
.cl-products ul.products, .shop-main .woocommerce ul.products, .shop-main ul.products {
	display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 24px; row-gap: 44px; margin: 0 !important; padding: 0; list-style: none;
}
.cl-products ul.products::before, .cl-products ul.products::after, .shop-main ul.products::before, .shop-main ul.products::after { display: none !important; }
.cl-products ul.products li.product, .shop-main ul.products li.product { width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important; text-align: left; }
@media (max-width: 1024px) { .cl-products ul.products, .shop-main .woocommerce ul.products, .shop-main ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 16px; } }
@media (max-width: 767px) { .cl-products ul.products, .shop-main .woocommerce ul.products, .shop-main ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 12px; row-gap: 32px; } }
.shop-main .woocommerce-info { margin: 0; }

/* card (same look as the homepage .pcard) */
.cl-card { display: flex; flex-direction: column; gap: 10px; color: var(--color-ink); }
.cl-card__media { position: relative; display: block; aspect-ratio: 2 / 3; overflow: hidden; background: var(--color-paper-alt); }
.cl-card__img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; filter: brightness(.95) contrast(1.02); margin: 0 !important; }
.cl-card__img--alt { opacity: 0; }
.cl-card__media:hover .cl-card__img--alt, .cl-card__media:focus-visible .cl-card__img--alt { opacity: 1; }
.cl-card__media:focus-visible { outline: 2px solid var(--color-ink); outline-offset: 2px; }
.cl-card__meta { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-top: 4px; }
.cl-card__brand { font: 500 .73rem/1.5 var(--font-body), sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.cl-card__price { font: 400 .79rem/1.5 var(--font-body), sans-serif; letter-spacing: .04em; white-space: nowrap; text-align: right; }
.cl-card__price del { color: var(--color-ink-soft); margin-right: 6px; }
.cl-card__price ins { text-decoration: none; color: var(--color-sale-text); }
.cl-card__title { margin: 0 !important; padding: 0 !important; font: 400 .79rem/1.45 var(--font-body), sans-serif !important; letter-spacing: .06em; text-transform: uppercase; }
.cl-card__title a { color: var(--color-ink); text-decoration: none; }
.cl-card__title a:hover { color: var(--color-ink-soft); }
.cl-card__sizes { margin: 0; font: 400 .73rem/1.5 var(--font-body), sans-serif; letter-spacing: .08em; color: var(--color-ink-soft); }
@media (max-width: 767px) {
	.cl-card { gap: 6px; }
	.cl-card__meta { flex-direction: column; gap: 2px; }
	.cl-card__price { text-align: left; }
}

/* JetSmartFilters loading state */
.shop-main .jet-filters-loading, .shop-main .elementor-widget-wc-archive-products.jet-filters-loading { opacity: .45; transition: opacity .2s; pointer-events: none; }

/* sidebar blocks */
.shop-sidebar .jet-filter-label, .shop-sidebar .jet-sorting-label {
	display: block; margin: 0 0 14px; font: 500 var(--fs-kicker, .75rem)/1.4 var(--font-body), sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--color-ink);
}
.shop-sidebar > .shop-slot { padding: 22px 0 !important; border-top: 1px solid var(--color-gray); }
/* sidebar children: drawer head (JS), search, sort, categories, brands, size, clear all, drawer foot (JS) */
.shop-sidebar > .shop-slot:first-child, .shop-sidebar > .cl-drawer-head + .shop-slot { padding-top: 0 !important; border-top: 0; }
.shop-sidebar > .shop-slot:last-child, .shop-sidebar > .shop-slot:nth-last-child(2) { border-top: 0; padding-top: 0 !important; }
.shop-sidebar .jet-sorting, .shop-sidebar .jet-sorting-select { width: 100% !important; max-width: none !important; }
.shop-main .e-wc-products-not-found, .shop-main .woocommerce-info, .shop-main .elementor-products-nothing-found { padding: 64px 16px; text-align: center; background: var(--color-paper-alt); color: var(--color-ink-soft); font: 400 .9rem/1.6 var(--font-body), sans-serif; letter-spacing: .04em; border: 0; }
.shop-sidebar input.jet-search-filter__input, .shop-sidebar select.jet-sorting-select {
	width: 100%; height: 44px; padding: 0 14px; border: 1px solid var(--color-gray) !important; border-radius: 0 !important; background: var(--color-white, #fff);
	font: 400 .875rem var(--font-body), sans-serif; letter-spacing: .04em; color: var(--color-ink); box-shadow: none !important; outline: none;
}
.shop-sidebar input.jet-search-filter__input { padding-left: 40px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23222' stroke-width='1.2'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='m16 16 4 4'/%3E%3C/svg%3E") 12px center / 18px no-repeat; }
.shop-sidebar select.jet-sorting-select {
	-webkit-appearance: none; appearance: none; padding-right: 36px; cursor: pointer;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23222' stroke-width='1.2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 12px center / 16px no-repeat;
}
.shop-sidebar input.jet-search-filter__input:focus, .shop-sidebar select.jet-sorting-select:focus-visible { border-color: var(--color-ink) !important; }
.shop-sidebar .jet-search-filter__submit { display: none !important; }
.shop-sidebar .jet-sorting { gap: 0 !important; }
.shop-sidebar fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.shop-sidebar .jet-filter-row { margin: 0 !important; }
.shop-sidebar input.jet-radio-list__input, .shop-sidebar input.jet-checkboxes-list__input { position: absolute !important; opacity: 0 !important; width: 1px; height: 1px; pointer-events: none; }
.shop-sidebar .jet-radio-list__item, .shop-sidebar .jet-checkboxes-list__item { display: block; margin: 0; cursor: pointer; position: relative; }

/* category page: no Categories filter; brand page: no Brands filter (the page already is that category/brand) */
body.tax-product_cat .shop-sidebar > .shop-slot:has(.jet-radio-list[data-query-var="product_cat"]),
body.tax-product_brand .shop-sidebar > .shop-slot:has(.jet-checkboxes-list[data-query-var="product_brand"]) { display: none; }
/* indexer hides options without products in the current results */
.shop-sidebar .jet-filter-row.jet-filter-row-hide, .shop-sidebar .jet-filter-row[hidden] { display: none !important; }

/* Categories = radio list */
.shop-sidebar .jet-radio-list .jet-radio-list-wrapper fieldset { display: flex; flex-direction: column; gap: 2px; }
.shop-sidebar .jet-radio-list__button { display: flex !important; align-items: center; gap: 12px; padding: 5px 0; background: none !important; border: 0 !important; }
.shop-sidebar .jet-radio-list__decorator { flex: 0 0 16px; width: 16px !important; height: 16px !important; margin: 0 !important; border: 1px solid #9a9a9a !important; border-radius: 50% !important; background: #fff !important; display: grid !important; place-items: center; }
.shop-sidebar .jet-radio-list__checked-icon { display: none !important; }
.shop-sidebar .jet-radio-list__label { font: 400 .875rem/1.4 var(--font-body), sans-serif; letter-spacing: .04em; color: var(--color-ink-soft); transition: color .15s; }
.shop-sidebar .jet-radio-list__item:hover .jet-radio-list__label { color: var(--color-ink); }
.shop-sidebar .jet-radio-list__input:checked + .jet-radio-list__button .jet-radio-list__decorator { border-color: var(--color-ink) !important; box-shadow: inset 0 0 0 3px #fff; background: var(--color-ink) !important; }
.shop-sidebar .jet-radio-list__input:checked + .jet-radio-list__button .jet-radio-list__label { color: var(--color-ink); font-weight: 500; }
.shop-sidebar .jet-radio-list__input:focus-visible + .jet-radio-list__button .jet-radio-list__decorator { outline: 2px solid var(--color-ink); outline-offset: 2px; }

/* Brands + Size = names in squares */
.shop-sidebar .jet-checkboxes-list-wrapper { display: flex; flex-wrap: wrap; gap: 8px; }
.shop-sidebar .jet-checkboxes-list__decorator { display: none !important; }
.shop-sidebar .jet-checkboxes-list__button {
	display: flex !important; align-items: center; justify-content: center; min-height: 38px; padding: 8px 12px !important; border: 1px solid var(--color-gray) !important; border-radius: 0 !important; background: #fff !important;
	transition: border-color .15s, background-color .15s, color .15s;
}
.shop-sidebar .jet-checkboxes-list__label { font: 500 .72rem/1.2 var(--font-body), sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--color-ink); text-align: center; transition: color .15s; }
.shop-sidebar .jet-checkboxes-list__item:hover .jet-checkboxes-list__button { border-color: var(--color-ink) !important; }
.shop-sidebar .jet-checkboxes-list__input:checked + .jet-checkboxes-list__button { background: var(--color-ink) !important; border-color: var(--color-ink) !important; }
.shop-sidebar .jet-checkboxes-list__input:checked + .jet-checkboxes-list__button .jet-checkboxes-list__label { color: #fff; }
.shop-sidebar .jet-checkboxes-list__input:focus-visible + .jet-checkboxes-list__button { outline: 2px solid var(--color-ink); outline-offset: 2px; }
/* sizes: equal squares, 5 per row */
.shop-sidebar .jet-checkboxes-list[data-query-var^="pa_size"] .jet-checkboxes-list-wrapper { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
.shop-sidebar .jet-checkboxes-list[data-query-var^="pa_size"] .jet-checkboxes-list__button { aspect-ratio: 1; min-height: 0; padding: 0 !important; }
.shop-sidebar .jet-checkboxes-list[data-query-var^="pa_size"] .jet-checkboxes-list__label { letter-spacing: .04em; font-size: .8rem; }

/* clear all */
.shop-sidebar .jet-remove-all-filters.hide, .cl-js .shop-sidebar:not(.has-active) .jet-remove-all-filters { display: none; }
.shop-sidebar .jet-remove-all-filters__button {
	width: 100%; height: 44px; background: none !important; border: 1px solid var(--color-ink) !important; border-radius: 0 !important; color: var(--color-ink) !important;
	font: 500 var(--fs-kicker, .75rem) var(--font-body), sans-serif; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; transition: background-color .2s, color .2s;
}
.shop-sidebar .jet-remove-all-filters__button:hover { background: var(--color-ink) !important; color: #fff !important; }

/* pagination */
.shop-main .jet-filters-pagination { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.shop-main .jet-filters-pagination__item { cursor: pointer; }
.shop-main .jet-filters-pagination__link {
	display: grid; place-items: center; min-width: 40px; height: 40px; padding: 0 12px; border: 1px solid var(--color-gray); background: #fff; color: var(--color-ink);
	font: 400 .8rem var(--font-body), sans-serif; letter-spacing: .06em; transition: border-color .15s, color .15s;
}
.shop-main .jet-filters-pagination__item:hover .jet-filters-pagination__link { border-color: var(--color-ink); }
.shop-main .jet-filters-pagination__current .jet-filters-pagination__link { background: var(--color-ink); border-color: var(--color-ink); color: #fff; }
.shop-main .jet-filters-pagination__dots .jet-filters-pagination__link { border-color: transparent; }

/* mobile / tablet: filters in a drawer (JS adds .cl-filter-bar button + drawer head/foot) */
.cl-filter-bar, .cl-drawer-head, .cl-drawer-foot, .cl-drawer-backdrop { display: none; }
@media (max-width: 1024px) {
	.cl-filter-bar {
		display: flex; align-items: center; justify-content: space-between; gap: 12px; position: sticky; top: var(--cl-header-h, 64px); z-index: 20; background: #fff; padding: 10px 0; margin: -10px 0 -16px;
	}
	.cl-filter-toggle {
		display: inline-flex; align-items: center; gap: 10px; height: 42px; padding: 0 18px; background: #fff !important; border: 1px solid var(--color-ink) !important; border-radius: 0 !important; color: var(--color-ink) !important;
		font: 500 var(--fs-kicker, .75rem) var(--font-body), sans-serif; letter-spacing: .14em; text-transform: uppercase; cursor: pointer;
	}
	.cl-filter-toggle svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.2; }
	.cl-filter-toggle__count:empty { display: none; }
	.cl-filter-toggle__count { display: inline-grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--color-ink); color: #fff; font-size: .65rem; letter-spacing: 0; }
	.cl-filter-bar__total { font: 400 .8rem var(--font-body), sans-serif; letter-spacing: .06em; color: var(--color-ink-soft); }

	.shop-sidebar {
		position: fixed !important; top: 0; bottom: 0; left: 0; z-index: 1200; width: min(380px, 88vw); background: #fff; padding: 0 20px !important; overflow-y: auto; overscroll-behavior: contain;
		transform: translateX(-100%); visibility: hidden; transition: transform .3s ease, visibility 0s linear .3s; box-shadow: 0 0 40px rgba(0,0,0,.15);
	}
	.shop-sidebar.is-open { transform: none; visibility: visible; transition: transform .3s ease; }
	.cl-drawer-head { display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 2; background: #fff; padding: 18px 0; margin-bottom: 4px; border-bottom: 1px solid var(--color-gray); }
	.cl-drawer-head span { font: 500 1.25rem var(--font-display), serif; color: var(--color-ink); }
	.cl-drawer-close { width: 40px; height: 40px; display: grid; place-items: center; margin-right: -10px; background: none !important; border: 0 !important; color: var(--color-ink) !important; cursor: pointer; padding: 0; }
	.cl-drawer-close svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.2; }
	.shop-sidebar > .shop-slot:nth-child(2) { border-top: 0; padding-top: 18px !important; }
	.cl-drawer-foot { display: block; position: sticky; bottom: 0; background: #fff; padding: 14px 0 20px; margin-top: auto; }
	.cl-drawer-foot button { width: 100%; height: 48px; background: var(--color-ink) !important; color: #fff !important; border: 0 !important; border-radius: 0 !important; font: 500 var(--fs-kicker, .75rem) var(--font-body), sans-serif; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; }
	.cl-drawer-backdrop { display: block; position: fixed; inset: 0; z-index: 1150; background: rgba(0,0,0,.4); opacity: 0; visibility: hidden; transition: opacity .3s, visibility 0s linear .3s; }
	.cl-drawer-backdrop.is-open { opacity: 1; visibility: visible; transition: opacity .3s; }
	html.cl-drawer-lock, html.cl-drawer-lock body { overflow: hidden; }
}
/* 8. Reduced motion --------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
/* 19. Brands page ([cl_brand_list]) – brand name in a square, number of products below */
.cl-brands { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 32px 20px; margin: 0; padding: 0; list-style: none; }
@media (max-width: 1024px) { .cl-brands { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) { .cl-brands { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 12px; } }
.cl-brand { display: block; color: var(--color-ink); text-decoration: none; }
.cl-brand__box {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; aspect-ratio: 16 / 9; padding: 16px; border: 1px solid var(--color-gray); background: var(--color-paper-alt);
	font: 500 1.25rem/1.25 var(--font-display), serif; text-align: center; color: var(--color-ink); transition: background-color .2s, color .2s, border-color .2s;
}
.cl-brand__count { font: 400 .7rem/1.4 var(--font-body), sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--color-ink-soft); text-align: center; transition: color .2s; }
.cl-brand:hover .cl-brand__count, .cl-brand:focus-visible .cl-brand__count { color: #B3B3B3; }
.cl-brand:hover .cl-brand__box, .cl-brand:focus-visible .cl-brand__box { background: var(--color-ink); border-color: var(--color-ink); color: #fff; }
.cl-brand:focus-visible { outline: none; }
.cl-brand:focus-visible .cl-brand__box { outline: 2px solid var(--color-ink); outline-offset: 3px; }
@media (max-width: 767px) { .cl-brand__box { font-size: 1.05rem; padding: 10px; } }
/* 20. Filter counters (JetSmartFilters indexer) – categories: number on the right; brands: small number after the name */
.shop-sidebar .jet-filters-counter { font: 400 .75rem/1 var(--font-body), sans-serif; letter-spacing: .04em; color: #8a8a8a; }
.shop-sidebar .jet-radio-list__button { width: 100%; }
.shop-sidebar .jet-radio-list__button .jet-filters-counter { margin-left: auto !important; }
.shop-sidebar .jet-checkboxes-list__button { gap: 6px; }
.shop-sidebar .jet-checkboxes-list__button .jet-filters-counter { font-size: .68rem; }
.shop-sidebar .jet-checkboxes-list__input:checked + .jet-checkboxes-list__button .jet-filters-counter { color: #B3B3B3; }
.shop-sidebar .jet-checkboxes-list[data-query-var^="pa_size"] .jet-filters-counter { display: none; }

/* 21. Clothing page ([cl_category_grid]) – category cards */
.cl-cats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 24px; margin: 0; padding: 0; list-style: none; }
@media (max-width: 1024px) { .cl-cats { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) { .cl-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 12px; } }
.cl-cat { display: flex; flex-direction: column; gap: 6px; color: var(--color-ink); text-decoration: none; }
.cl-cat__media { position: relative; display: block; aspect-ratio: 2 / 3; overflow: hidden; background: var(--color-paper-alt); margin-bottom: 8px; }
.cl-cat__img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; filter: brightness(.95) contrast(1.02); transition: transform .6s ease; }
.cl-cat:hover .cl-cat__img { transform: scale(1.03); }
.cl-cat__name { font: 500 1.125rem/1.3 var(--font-display), serif; color: var(--color-ink); transition: color .2s; }
.cl-cat:hover .cl-cat__name { color: var(--color-ink-soft); }
.cl-cat__count { font: 400 .7rem/1.4 var(--font-body), sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--color-ink-soft); }
.cl-cat:focus-visible { outline: none; }
.cl-cat:focus-visible .cl-cat__media { outline: 2px solid var(--color-ink); outline-offset: 3px; }
@media (max-width: 767px) { .cl-cat__name { font-size: 1rem; } }
@media (prefers-reduced-motion: reduce) { .cl-cat__img { transition: none; } }
/* 22. Content pages (Contact, About, Club, TOM FORD guide / Made to Order, Reviews, Legal) + sale badges */
/* our line icons (stroke="currentColor") – Elementor's e-svg forces fill=currentColor */
.contact-icon[stroke], .contact-icon svg[stroke], .pg-icon[stroke], .pg-icon svg[stroke], .mto-icon[stroke], .mto-icon svg[stroke] { fill: none !important; }
.contact-icon svg, .pg-icon svg, .mto-icon svg { width: 100%; height: 100%; display: block; }
/* links + emphasis inside running text */
.pg-p a, .pg-lead a, .shop-intro a, .pdp-small a, .benefit a, .fit-row a { color: var(--color-ink); font-weight: 500; text-decoration: none; transition: color .2s; }
.pg-p a:hover, .pg-lead a:hover, .shop-intro a:hover, .pdp-small a:hover, .benefit a:hover, .fit-row a:hover { color: var(--color-ink-soft); }
.pg-p strong, .fit-row strong, .benefit strong { color: var(--color-ink); font-weight: 500; }
.bg-ink .pg-p strong, .bg-ink .pg-p a { color: #fff; }
/* check-mark list items (Club benefits, guide bullets) */
.benefit::before {
	content: ""; position: absolute; left: 0; top: .45em; width: 14px; height: 14px; background-color: var(--color-ink);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4.5 12.5 5 5 10-11'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4.5 12.5 5 5 10-11'/%3E%3C/svg%3E") center / contain no-repeat;
}
.fit-row:last-child { border-bottom: 0; }
/* forms (Contact) */
.form-field::placeholder { color: #9a9a9a; opacity: 1; }
textarea.form-field { resize: vertical; min-height: 150px; }
.form-field:focus-visible { outline: none; border-color: var(--color-ink) !important; }
/* product grid on content pages: empty state */
.cl-products-empty { margin: 0; padding: 48px 24px; text-align: center; background: var(--color-paper-alt); font: 400 .9rem/1.7 var(--font-body), sans-serif; letter-spacing: .03em; color: var(--color-ink-soft); }
/* sale badges */
.pcard-media { position: relative; }
.pcard-badge:empty, .pdp-badge:empty { display: none !important; }
.cl-card__badge { position: absolute; top: 10px; left: 10px; z-index: 2; padding: 4px 8px; background: var(--color-sale); color: #fff; font: 500 11px/1.2 var(--font-body), sans-serif; letter-spacing: .08em; pointer-events: none; }
@media (max-width: 767px) { .cl-card__badge, .pcard-badge { top: 6px; left: 6px; font-size: 10px; padding: 3px 6px; } }
/* 23. Wishlist page (YITH [yith_wcwl_wishlist] table) */
.yith-wcwl-form .wishlist-title-container, .yith-wcwl-form .yith_wcwl_wishlist_footer { display: none !important; }
.yith-wcwl-form { margin: 0; }
.yith-wcwl-form table.wishlist_table { width: 100%; margin: 0; border: 0 !important; border-collapse: collapse; background: none; font-family: var(--font-body); }
.yith-wcwl-form table.wishlist_table th, .yith-wcwl-form table.wishlist_table td { background: none !important; border: 0 !important; text-align: left; vertical-align: middle; }
.yith-wcwl-form table.wishlist_table thead th { padding: 0 12px 14px; border-bottom: 1px solid var(--color-ink) !important; font: 500 11px/1.4 var(--font-body), sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--color-ink-soft); }
.yith-wcwl-form table.wishlist_table tbody td { padding: 20px 12px; border-bottom: 1px solid var(--color-gray) !important; font-size: 14px; letter-spacing: .3px; color: var(--color-ink); }
.yith-wcwl-form table.wishlist_table td.product-remove, .yith-wcwl-form table.wishlist_table th.product-remove { width: 36px; padding-left: 0; padding-right: 0; }
.yith-wcwl-form table.wishlist_table td.product-thumbnail { width: 96px; }
.yith-wcwl-form table.wishlist_table td.product-thumbnail img { display: block; width: 72px !important; max-width: none; height: auto !important; aspect-ratio: 2 / 3; object-fit: cover; background: var(--color-paper-alt); filter: brightness(.95) contrast(1.02); }
.yith-wcwl-form table.wishlist_table td.product-name a { color: var(--color-ink); text-decoration: none; font-weight: 400; line-height: 1.5; transition: color .2s; }
.yith-wcwl-form table.wishlist_table td.product-name a:hover { color: var(--color-ink-soft); }
.yith-wcwl-form table.wishlist_table td.product-price { white-space: nowrap; }
.yith-wcwl-form table.wishlist_table td.product-price del { color: var(--color-ink-soft); margin-right: 6px; }
.yith-wcwl-form table.wishlist_table td.product-price ins { color: var(--color-sale-text); text-decoration: none; }
.yith-wcwl-form .wishlist-in-stock, .yith-wcwl-form .wishlist-out-of-stock { font: 500 11px/1.4 var(--font-body), sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--color-ink-soft) !important; }
.yith-wcwl-form .wishlist-out-of-stock { color: var(--color-sale-text) !important; }
.yith-wcwl-form a.remove_from_wishlist { display: grid !important; place-items: center; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--color-gray); color: var(--color-ink-soft) !important; background: none !important; font: 300 18px/1 var(--font-body), sans-serif; text-decoration: none; transition: border-color .2s, color .2s; }
.yith-wcwl-form a.remove_from_wishlist:hover { border-color: var(--color-ink); color: var(--color-ink) !important; }
.yith-wcwl-form td.product-add-to-cart { text-align: right !important; width: 1%; white-space: nowrap; }
.yith-wcwl-form .product-add-to-cart a.button, .yith-wcwl-form .product-add-to-cart a.add_to_cart_button, .yith-wcwl-form .product-add-to-cart a.product_type_variable {
	display: inline-flex !important; align-items: center; justify-content: center; min-height: 44px; padding: 0 22px !important; margin: 0 !important; border: 1px solid var(--color-ink) !important; border-radius: 0 !important;
	background: var(--color-ink) !important; color: #fff !important; font: 500 12px/1 var(--font-body), sans-serif !important; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; transition: background-color .2s, border-color .2s;
}
.yith-wcwl-form .product-add-to-cart a.button:hover, .yith-wcwl-form .product-add-to-cart a.add_to_cart_button:hover, .yith-wcwl-form .product-add-to-cart a.product_type_variable:hover { background: var(--color-ink-soft) !important; border-color: var(--color-ink-soft) !important; }
.yith-wcwl-form td.product-add-to-cart a.added_to_cart { display: block; margin-top: 8px; font: 500 11px var(--font-body), sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--color-ink); text-decoration: none; }
.yith-wcwl-form td.wishlist-empty { padding: 64px 16px !important; text-align: center !important; background: var(--color-paper-alt) !important; color: var(--color-ink-soft); font-size: 15px; }
@media (max-width: 767px) {
	.yith-wcwl-form table.wishlist_table thead { display: none; }
	.yith-wcwl-form table.wishlist_table, .yith-wcwl-form table.wishlist_table tbody { display: block; }
	.yith-wcwl-form table.wishlist_table tbody tr { display: grid; grid-template-columns: 72px 1fr 28px; grid-template-areas: "img name remove" "img price price" "img stock stock" "cart cart cart"; column-gap: 14px; row-gap: 4px; padding: 16px 0; border-bottom: 1px solid var(--color-gray); }
	.yith-wcwl-form table.wishlist_table tbody td { display: block; padding: 0 !important; border: 0 !important; width: auto !important; text-align: left !important; }
	.yith-wcwl-form table.wishlist_table tbody td::before { display: none !important; }
	.yith-wcwl-form td.product-thumbnail { grid-area: img; }
	.yith-wcwl-form td.product-name { grid-area: name; }
	.yith-wcwl-form td.product-remove { grid-area: remove; }
	.yith-wcwl-form td.product-price { grid-area: price; }
	.yith-wcwl-form td.product-stock-status { grid-area: stock; }
	.yith-wcwl-form td.product-add-to-cart { grid-area: cart; margin-top: 12px; }
	.yith-wcwl-form .product-add-to-cart a.button, .yith-wcwl-form .product-add-to-cart a.add_to_cart_button, .yith-wcwl-form .product-add-to-cart a.product_type_variable { width: 100%; }
	.yith-wcwl-form table.wishlist_table tbody tr:has(td.wishlist-empty) { display: block; }
}
/* 24. Legal pages (template "Legal page": Post Content widget .legal-content) */
.legal-content { font-family: var(--font-body); font-size: 15px; line-height: 1.8; letter-spacing: .3px; color: var(--color-ink-soft); }
.legal-content > *:first-child { margin-top: 0; }
.legal-content p, .legal-content ul, .legal-content ol, .legal-content table { margin: 0 0 1.1em; }
.legal-content h2, .legal-content h3, .legal-content h4 { margin: 2em 0 .6em; font-family: var(--font-display); font-weight: 500; line-height: 1.3; color: var(--color-ink); letter-spacing: 0; }
.legal-content h2 { font-size: 24px; } .legal-content h3 { font-size: 20px; } .legal-content h4 { font-size: 18px; }
.legal-content ul, .legal-content ol { padding-left: 1.25em; }
.legal-content li { margin: 0 0 .4em; } .legal-content li::marker { color: var(--color-ink); }
.legal-content strong, .legal-content b { color: var(--color-ink); font-weight: 500; }
.legal-content a { color: var(--color-ink); font-weight: 500; text-decoration: none; overflow-wrap: anywhere; transition: color .2s; }
.legal-content a:hover { color: var(--color-ink-soft); }
.legal-content table { width: 100%; border-collapse: collapse; font-size: 14px; }
.legal-content th, .legal-content td { padding: 10px 12px; border: 1px solid var(--color-gray); text-align: left; vertical-align: top; background: none; }
@media (max-width: 767px) { .legal-content { font-size: 14px; } .legal-content h2 { font-size: 21px; } }
/* YITH mobile list (ul.wishlist_table.mobile – YITH swaps the table for this markup on phones) */
.yith-wcwl-form ul.wishlist_table.mobile { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--color-ink); }
.yith-wcwl-form ul.wishlist_table.mobile > li { position: relative; margin: 0; padding: 18px 0; border-bottom: 1px solid var(--color-gray); }
.yith-wcwl-form ul.wishlist_table.mobile .item-wrapper { display: flex; gap: 14px; align-items: flex-start; padding-right: 40px; }
.yith-wcwl-form ul.wishlist_table.mobile .product-thumbnail { flex: 0 0 80px; width: 80px !important; max-width: 80px !important; margin: 0 !important; float: none !important; }
.yith-wcwl-form ul.wishlist_table.mobile .item-details { margin: 0 !important; padding: 0 !important; float: none !important; width: auto !important; }
.yith-wcwl-form ul.wishlist_table.mobile .product-thumbnail img { display: block; width: 80px !important; height: auto !important; max-width: none; aspect-ratio: 2 / 3; object-fit: cover; background: var(--color-paper-alt); filter: brightness(.95) contrast(1.02); }
.yith-wcwl-form ul.wishlist_table.mobile .item-details { flex: 1; min-width: 0; }
.yith-wcwl-form ul.wishlist_table.mobile .product-name h3 { margin: 0 0 6px; font: 400 14px/1.45 var(--font-body), sans-serif; letter-spacing: .3px; }
.yith-wcwl-form ul.wishlist_table.mobile .product-name a { color: var(--color-ink); text-decoration: none; }
.yith-wcwl-form ul.wishlist_table.mobile table { width: auto; margin: 0; border: 0 !important; background: none; }
.yith-wcwl-form ul.wishlist_table.mobile td { padding: 0 !important; border: 0 !important; background: none !important; font-size: 13px; color: var(--color-ink); text-align: left !important; }
.yith-wcwl-form ul.wishlist_table.mobile td.label { display: none; }
.yith-wcwl-form ul.wishlist_table.mobile del { color: var(--color-ink-soft); margin-right: 6px; }
.yith-wcwl-form ul.wishlist_table.mobile ins { color: var(--color-sale-text); text-decoration: none; }
.yith-wcwl-form ul.wishlist_table.mobile .additional-info-wrapper { display: flex; flex-direction: column; gap: 12px; margin-top: 12px; padding-left: 94px; }
.yith-wcwl-form ul.wishlist_table.mobile .product-add-to-cart a { width: 100%; }
.yith-wcwl-form ul.wishlist_table.mobile .product-remove { position: absolute; top: 18px; right: 0; }
.yith-wcwl-form ul.wishlist_table.mobile .product-remove a { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--color-gray); color: var(--color-ink-soft); text-decoration: none; }
.yith-wcwl-form ul.wishlist_table.mobile .product-remove a i { display: none; }
.yith-wcwl-form ul.wishlist_table.mobile .product-remove a::before { content: "\00d7"; font: 300 18px/1 var(--font-body), sans-serif; }
.yith-wcwl-form ul.wishlist_table.mobile .product-remove a:hover { border-color: var(--color-ink); color: var(--color-ink); }
.yith-wcwl-form ul.wishlist_table.mobile .wishlist-empty { padding: 48px 16px; text-align: center; background: var(--color-paper-alt); color: var(--color-ink-soft); }
/* PDP old price (sale): lighter + thinner so the current price leads */ /* PDP old price */
.pdp-price del, .pdp-price del * { color: #9E9E9E !important; font-weight: 300 !important; }
.pdp-price del { margin-right: 10px; text-decoration-thickness: 1px; }
.pdp-price ins { text-decoration: none; }

/* 25. Page-load animation for content pages (same feel as the homepage hero): page title block fades up,
   a top banner slowly zooms out while its text fades up. Scroll reveal for the rest is in cl-site.js §7. */
@keyframes cl-fade-up { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: no-preference) {
	.cl-js .shop-head > * { animation: cl-fade-up .8s ease both; }
	.cl-js .shop-head > *:nth-child(2) { animation-delay: .12s; }
	.cl-js .shop-head > *:nth-child(3) { animation-delay: .24s; }
	.cl-js .shop-head > *:nth-child(4) { animation-delay: .36s; }
	.cl-js .elementor > .banner-section:first-child .hero-media { animation: cl-hero-zoom 9s ease-out both; }
	.cl-js .elementor > .banner-section:first-child .hero-content > * { animation: cl-fade-up .9s ease both; }
	.cl-js .elementor > .banner-section:first-child .hero-content > *:nth-child(1) { animation-delay: .15s; }
	.cl-js .elementor > .banner-section:first-child .hero-content > *:nth-child(2) { animation-delay: .3s; }
	.cl-js .elementor > .banner-section:first-child .hero-content > *:nth-child(3) { animation-delay: .45s; }
	.cl-js .elementor > .banner-section:first-child .hero-content > *:nth-child(4) { animation-delay: .6s; }
}
/* 26. Cart, checkout, account (classic WooCommerce shortcodes inside the V4 pages) */
.woocommerce-cart .pg-inner, .woocommerce-checkout .pg-inner, .woocommerce-account .pg-inner { max-width: 1240px; }
/* shared: inputs, selects, buttons */
.woocommerce-cart .woocommerce input.input-text, .woocommerce-checkout .woocommerce input.input-text, .woocommerce-account .woocommerce input.input-text,
.woocommerce-checkout .woocommerce textarea, .woocommerce-account .woocommerce textarea, .woocommerce-checkout .woocommerce select, .woocommerce-account .woocommerce select {
	width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid var(--color-gray); border-radius: 0; background: #fff; box-shadow: none;
	font: 400 15px/1.4 var(--font-body), sans-serif; letter-spacing: .3px; color: var(--color-ink);
}
.woocommerce .input-text:focus, .woocommerce select:focus, .woocommerce textarea:focus { outline: none; border-color: var(--color-ink) !important; }
.woocommerce .input-text::placeholder, .woocommerce textarea::placeholder { color: #9a9a9a; }
.woocommerce-cart .woocommerce .button, .woocommerce-checkout .woocommerce .button, .woocommerce-account .woocommerce .button,
.woocommerce-cart .woocommerce button.button, .woocommerce-checkout .woocommerce button.button, .woocommerce-account .woocommerce button.button {
	display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 24px; border: 1px solid var(--color-ink); border-radius: 0;
	background: var(--color-ink); color: #fff; font: 500 12px/1 var(--font-body), sans-serif; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; cursor: pointer; transition: background-color .2s, border-color .2s, color .2s;
}
.woocommerce-cart .woocommerce .button:hover, .woocommerce-checkout .woocommerce .button:hover, .woocommerce-account .woocommerce .button:hover { background: var(--color-ink-soft); border-color: var(--color-ink-soft); color: #fff; }
.woocommerce .button:disabled, .woocommerce .button.disabled, .woocommerce .button:disabled[disabled] { opacity: .35; cursor: default; padding: 0 24px; }
.woocommerce-cart .woocommerce .coupon .button, .woocommerce-cart button[name="update_cart"], .woocommerce-checkout .checkout_coupon .button { background: #fff; color: var(--color-ink); }
.woocommerce-cart .woocommerce .coupon .button:hover, .woocommerce-cart button[name="update_cart"]:hover:not(:disabled), .woocommerce-checkout .checkout_coupon .button:hover { background: var(--color-ink); color: #fff; }
.woocommerce form .form-row label, .woocommerce-form label { font: 500 11px/1.4 var(--font-body), sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--color-ink); margin-bottom: 6px; }
.woocommerce form .form-row .required { color: var(--color-sale-text); text-decoration: none; border: 0; }
.woocommerce form .form-row { margin: 0 0 18px; padding: 0; }
.woocommerce .select2-container .select2-selection--single { height: 48px; border: 1px solid var(--color-gray); border-radius: 0; }
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered { line-height: 46px; padding-left: 14px; font: 400 15px/46px var(--font-body), sans-serif; color: var(--color-ink); }
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow { height: 46px; right: 8px; }
.select2-dropdown { border-color: var(--color-gray) !important; border-radius: 0 !important; font-family: var(--font-body); }
.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--color-ink) !important; }
.woocommerce table.shop_table { border: 0; border-radius: 0; margin: 0; border-collapse: collapse; width: 100%; font-family: var(--font-body); }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { background: none !important; border: 0; border-bottom: 1px solid var(--color-gray); padding: 16px 12px; vertical-align: middle; text-align: left; font-size: 14px; letter-spacing: .3px; color: var(--color-ink); }
.woocommerce table.shop_table thead th { padding-top: 16px; padding-bottom: 14px; border-bottom: 1px solid var(--color-ink); font: 500 11px/1.4 var(--font-body), sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--color-ink-soft); }
.woocommerce a { color: var(--color-ink); }
.woocommerce del { color: #9E9E9E; font-weight: 300; margin-right: 6px; }
.woocommerce ins { text-decoration: none; }

/* cart: items left, totals card right */
.woocommerce-cart .shop-slot > .elementor-widget-shortcode .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 48px; align-items: start; }
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-cart table.cart td.product-remove { width: 40px; padding-left: 0; padding-right: 0; }
.woocommerce-cart table.cart th.product-remove { width: 40px; }
.woocommerce-cart table.cart th.product-thumbnail { width: 96px; }
.woocommerce-cart table.cart a.remove { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--color-gray); color: var(--color-ink-soft) !important; background: none !important; font: 300 18px/1 var(--font-body), sans-serif; text-decoration: none; }
.woocommerce-cart table.cart a.remove:hover { border-color: var(--color-ink); color: var(--color-ink) !important; }
.woocommerce-cart table.cart td.product-thumbnail { width: 96px; }
.woocommerce-cart table.cart td.product-thumbnail img { display: block; width: 72px !important; max-width: none !important; height: auto !important; aspect-ratio: 2 / 3; object-fit: cover; background: var(--color-paper-alt); filter: brightness(.95) contrast(1.02); }
.woocommerce-cart table.cart td.product-name a { text-decoration: none; font-size: 14px; line-height: 1.5; }
.woocommerce-cart table.cart td.product-name a:hover { color: var(--color-ink-soft); }
.woocommerce-cart table.cart td.product-name dl.variation { margin: 6px 0 0; font-size: 12px; color: var(--color-ink-soft); display: grid; grid-template-columns: auto 1fr; gap: 2px 6px; }
.woocommerce-cart table.cart td.product-name dl.variation dt, .woocommerce-cart table.cart td.product-name dl.variation dd, .woocommerce-cart table.cart td.product-name dl.variation p { margin: 0; padding: 0; font-weight: 400; }
.woocommerce .quantity input.qty { width: 64px !important; min-height: 44px; padding: 8px; text-align: center; border: 1px solid var(--color-gray); border-radius: 0; font: 400 14px var(--font-body), sans-serif; }
.woocommerce-cart table.cart td.actions { padding: 20px 0 0; border-bottom: 0; }
.woocommerce-cart table.cart td.actions .coupon { display: flex; gap: 8px; float: left; }
.woocommerce-cart table.cart td.actions .coupon .input-text { width: 220px; min-height: 48px; }
.woocommerce-cart table.cart td.actions > .button { float: right; }
.woocommerce-cart .cart-collaterals { width: auto; position: sticky; top: calc(var(--cl-header-h, 80px) + 24px); }
.woocommerce-cart .cart-collaterals .cart_totals { width: 100%; float: none; padding: 32px; background: var(--color-paper-alt); }
.woocommerce-cart .cart_totals h2 { margin: 0 0 16px; font: 500 24px/1.3 var(--font-display), serif; color: var(--color-ink); }
.woocommerce-cart .cart_totals table.shop_table th, .woocommerce-cart .cart_totals table.shop_table td { padding: 14px 0; border-bottom: 1px solid #dcdcdc; font-size: 14px; }
.woocommerce-cart .cart_totals table.shop_table th { width: 40%; font-weight: 400; color: var(--color-ink-soft); }
.woocommerce-cart .cart_totals tr.order-total th, .woocommerce-cart .cart_totals tr.order-total td { border-bottom: 0; font-size: 16px; font-weight: 500; color: var(--color-ink); }
.woocommerce-cart .cart_totals .includes_tax { display: block; font-size: 12px; font-weight: 400; color: var(--color-ink-soft); margin-top: 4px; }
.woocommerce ul#shipping_method { margin: 0; padding: 0; list-style: none; }
.woocommerce ul#shipping_method li { margin: 0 0 6px; padding: 0; display: flex; align-items: center; gap: 8px; }
.woocommerce ul#shipping_method li input { margin: 0; accent-color: var(--color-ink); }
.woocommerce .woocommerce-shipping-destination { margin: 6px 0 0; font-size: 12px; color: var(--color-ink-soft); }
.woocommerce-cart .wc-proceed-to-checkout { padding: 20px 0 0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { display: flex !important; align-items: center; justify-content: center; width: 100%; min-height: 54px; margin: 0; padding: 0 24px !important; font-size: 13px !important; line-height: 1 !important; }
.woocommerce-cart .cross-sells { display: none; }
/* empty cart */
.woocommerce-cart .cart-empty.woocommerce-info { padding: 48px 24px; text-align: center; background: var(--color-paper-alt); border: 0; color: var(--color-ink-soft); font-size: 15px; }
.woocommerce-cart .cart-empty.woocommerce-info::before { display: none; }
.woocommerce-cart .return-to-shop { margin-top: 24px; text-align: center; }

/* checkout: details left, order summary card right */
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) 420px; grid-template-rows: auto 1fr; gap: 0 56px; align-items: start; }
.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup { grid-column: 1 / -1; }
.woocommerce-checkout form.checkout > #customer_details { grid-column: 1; grid-row: 1 / span 2; }
.woocommerce-checkout form.checkout > #order_review_heading { grid-column: 2; grid-row: 1; margin: 0; padding: 32px 32px 8px; background: var(--color-paper-alt); font: 500 24px/1.3 var(--font-display), serif; color: var(--color-ink); }
.woocommerce-checkout form.checkout > #order_review { grid-column: 2; grid-row: 2; padding: 8px 32px 32px; background: var(--color-paper-alt); }
.woocommerce-checkout #customer_details.col2-set { width: auto; display: flex; flex-direction: column; gap: 32px; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { width: 100%; float: none; max-width: none; flex: none; padding: 0; }
.woocommerce-checkout #customer_details h3, .woocommerce-checkout .woocommerce-additional-fields h3 { margin: 0 0 20px; font: 500 22px/1.3 var(--font-display), serif; color: var(--color-ink); }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper, .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.woocommerce-checkout .form-row-wide, .woocommerce-checkout #billing_address_1_field, .woocommerce-checkout #billing_address_2_field, .woocommerce-checkout #billing_company_field, .woocommerce-checkout #billing_country_field, .woocommerce-checkout #shipping_address_1_field, .woocommerce-checkout #shipping_address_2_field, .woocommerce-checkout #shipping_company_field, .woocommerce-checkout #shipping_country_field { grid-column: 1 / -1; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row, .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row { width: auto; float: none; }
.woocommerce-checkout #ship-to-different-address { font: 500 15px/1.4 var(--font-body), sans-serif !important; letter-spacing: .3px; margin: 8px 0 16px; }
.woocommerce-checkout #ship-to-different-address label { display: inline-flex; align-items: center; gap: 10px; text-transform: none; letter-spacing: .3px; font-size: 15px; cursor: pointer; }
.woocommerce form input[type="checkbox"], .woocommerce form input[type="radio"] { accent-color: var(--color-ink); width: 16px; height: 16px; }
.woocommerce-checkout #order_review table.shop_table th, .woocommerce-checkout #order_review table.shop_table td { padding: 14px 0; border-bottom: 1px solid #dcdcdc; font-size: 14px; }
.woocommerce-checkout #order_review table.shop_table thead th { border-bottom-color: var(--color-ink); }
.woocommerce-checkout #order_review td.product-total, .woocommerce-checkout #order_review th.product-total, .woocommerce-checkout #order_review tfoot td { text-align: right; }
.woocommerce-checkout #order_review td.product-name { font-size: 13px; line-height: 1.5; padding-right: 12px; }
.woocommerce-checkout #order_review td.product-name dl.variation { margin: 4px 0 0; font-size: 12px; color: var(--color-ink-soft); }
.woocommerce-checkout #order_review td.product-name dl.variation dt, .woocommerce-checkout #order_review td.product-name dl.variation dd, .woocommerce-checkout #order_review td.product-name dl.variation p { display: inline; margin: 0; }
.woocommerce-checkout #order_review tfoot th { font-weight: 400; color: var(--color-ink-soft); }
.woocommerce-checkout #order_review tr.order-total th, .woocommerce-checkout #order_review tr.order-total td { border-bottom: 0; font-size: 16px; font-weight: 500; color: var(--color-ink); }
.woocommerce-checkout #order_review ul#shipping_method li { justify-content: flex-end; }
.woocommerce-checkout #payment { margin-top: 20px; background: #fff; border-radius: 0; border: 1px solid var(--color-gray); }
.woocommerce-checkout #payment ul.payment_methods { margin: 0; padding: 18px 20px; border-bottom: 1px solid var(--color-gray); list-style: none; }
.woocommerce-checkout #payment ul.payment_methods li { margin: 0 0 8px; font: 500 14px/1.5 var(--font-body), sans-serif; }
.woocommerce-checkout #payment ul.payment_methods li label { text-transform: none; letter-spacing: .3px; font-size: 14px; display: inline; }
.woocommerce-checkout #payment div.payment_box { margin: 10px 0 4px; padding: 14px 16px; background: var(--color-paper-alt); color: var(--color-ink-soft); font-size: 13px; line-height: 1.6; border-radius: 0; }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #payment div.form-row.place-order { margin: 0; padding: 20px; }
.woocommerce-checkout #payment .woocommerce-privacy-policy-text p, .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { font-size: 12px; line-height: 1.6; color: var(--color-ink-soft); }
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper label { text-transform: none; letter-spacing: .2px; font-size: 13px; font-weight: 400; }
.woocommerce-checkout #place_order { width: 100%; min-height: 54px; margin-top: 12px; font-size: 13px; float: none; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info, .woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info { margin-bottom: 20px; }
.woocommerce-checkout form.checkout_coupon { display: flex; gap: 8px; align-items: flex-start; flex-wrap: wrap; margin: 0 0 24px; padding: 20px; border: 1px solid var(--color-gray); border-radius: 0; }
.woocommerce-checkout form.checkout_coupon p { margin: 0; }
.woocommerce-checkout form.checkout_coupon .form-row-first { flex: 1 1 220px; width: auto; float: none; }
.woocommerce-checkout form.checkout_coupon .form-row-last { flex: 0 0 auto; width: auto; float: none; }
.woocommerce-checkout form.checkout_coupon > p:first-child { flex: 1 1 100%; font-size: 13px; color: var(--color-ink-soft); }

/* order received (thank you) */
.woocommerce-order { max-width: 860px; margin: 0 auto; }
.woocommerce-order .woocommerce-thankyou-order-received { padding: 24px; margin: 0 0 28px; background: var(--color-paper-alt); text-align: center; font: 500 20px/1.4 var(--font-display), serif; color: var(--color-ink); }
.woocommerce-order ul.order_details { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0; margin: 0 0 32px; padding: 0; list-style: none; border: 1px solid var(--color-gray); }
.woocommerce-order ul.order_details li { margin: 0; padding: 16px 18px; border: 0; border-right: 1px solid var(--color-gray); float: none; font: 500 11px/1.5 var(--font-body), sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--color-ink-soft); }
.woocommerce-order ul.order_details li:last-child { border-right: 0; }
.woocommerce-order ul.order_details li strong { display: block; margin-top: 6px; font: 400 14px/1.4 var(--font-body), sans-serif; letter-spacing: .3px; text-transform: none; color: var(--color-ink); }
.woocommerce-order h2, .woocommerce-account .woocommerce h2 { margin: 32px 0 14px; font: 500 22px/1.3 var(--font-display), serif; color: var(--color-ink); }
.woocommerce-order address, .woocommerce-account address { padding: 18px 20px; border: 1px solid var(--color-gray); border-radius: 0; font-style: normal; font-size: 14px; line-height: 1.7; color: var(--color-ink-soft); }

/* my account: nav left, content right */
.woocommerce-account.logged-in .shop-slot > .elementor-widget-shortcode .woocommerce { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 56px; align-items: start; }
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { width: auto; float: none; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--color-ink); }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; border-bottom: 1px solid var(--color-gray); }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 14px 0; font: 500 12px/1.4 var(--font-body), sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--color-ink-soft); text-decoration: none; transition: color .2s, padding .2s; }
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { color: var(--color-ink); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: var(--color-ink); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a::before { content: ""; display: inline-block; width: 14px; height: 1px; margin-right: 10px; vertical-align: middle; background: var(--color-ink); }
.woocommerce-account .woocommerce-MyAccount-content { font-size: 15px; line-height: 1.75; color: var(--color-ink-soft); }
.woocommerce-account .woocommerce-MyAccount-content > p:first-child { margin-top: 0; }
.woocommerce-account .woocommerce-MyAccount-content a { font-weight: 500; text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-content a:hover { color: var(--color-ink-soft); }
.woocommerce-account .woocommerce-MyAccount-content table.shop_table .button { min-height: 36px; padding: 0 14px; font-size: 11px; margin: 2px 4px 2px 0; }
.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.woocommerce-account .woocommerce-Addresses .woocommerce-Address { width: auto; float: none; max-width: none; padding: 0; }
.woocommerce-account .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; }
.woocommerce-account .woocommerce-Address-title h2, .woocommerce-account .woocommerce-Address-title h3 { margin: 0 0 12px; font: 500 20px/1.3 var(--font-display), serif; color: var(--color-ink); }
.woocommerce-account .woocommerce-EditAccountForm fieldset { margin: 24px 0; padding: 20px; border: 1px solid var(--color-gray); }
.woocommerce-account .woocommerce-EditAccountForm legend { padding: 0 8px; font: 500 11px var(--font-body), sans-serif; letter-spacing: .14em; text-transform: uppercase; }
/* logged out: login + register cards */
.woocommerce-account:not(.logged-in) .woocommerce > .u-columns.col2-set, .woocommerce-account:not(.logged-in) #customer_login { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; width: auto; }
.woocommerce-account #customer_login .u-column1, .woocommerce-account #customer_login .u-column2 { width: auto; float: none; max-width: none; padding: 36px; background: var(--color-paper-alt); }
.woocommerce-account #customer_login h2, .woocommerce-account:not(.logged-in) .woocommerce > h2 { margin: 0 0 20px; font: 500 26px/1.3 var(--font-display), serif; color: var(--color-ink); }
.woocommerce-account form.login, .woocommerce-account form.register, .woocommerce-account form.lost_reset_password { margin: 0; padding: 0; border: 0; border-radius: 0; }
.woocommerce-account .woocommerce-form-login__rememberme { display: inline-flex !important; align-items: center; gap: 8px; text-transform: none !important; letter-spacing: .3px !important; font-size: 13px !important; font-weight: 400 !important; margin: 0 16px 0 0 !important; }
.woocommerce-account .woocommerce-form-login__submit, .woocommerce-account .woocommerce-form-register__submit { width: 100%; margin-top: 12px; }
.woocommerce-account .lost_password { margin: 14px 0 0; font-size: 13px; }
.woocommerce-account .lost_password a { text-decoration: none; color: var(--color-ink-soft); }
.woocommerce-account .lost_password a:hover { color: var(--color-ink); }
.woocommerce-account .woocommerce-privacy-policy-text p, .woocommerce-account form.register > p:not(.form-row) { font-size: 13px; line-height: 1.6; color: var(--color-ink-soft); }
.woocommerce .password-input { display: block; position: relative; }
.woocommerce .show-password-input { top: 50%; transform: translateY(-50%); right: 12px; }

@media (max-width: 1024px) {
	.woocommerce-cart .shop-slot > .elementor-widget-shortcode .woocommerce, .woocommerce-checkout form.checkout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.woocommerce-checkout form.checkout > #customer_details, .woocommerce-checkout form.checkout > #order_review_heading, .woocommerce-checkout form.checkout > #order_review { grid-column: 1; grid-row: auto; }
	.woocommerce-checkout form.checkout > #order_review_heading { margin-top: 8px; }
	.woocommerce-cart .cart-collaterals { position: static; }
	.woocommerce-account.logged-in .shop-slot > .elementor-widget-shortcode .woocommerce { grid-template-columns: minmax(0, 1fr); gap: 28px; }
}
@media (max-width: 767px) {
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper, .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { grid-template-columns: minmax(0, 1fr); }
	.woocommerce-checkout form.checkout > #order_review_heading { padding: 24px 20px 4px; }
	.woocommerce-checkout form.checkout > #order_review { padding: 4px 20px 24px; }
	.woocommerce-cart .cart-collaterals .cart_totals { padding: 24px 20px; }
	/* cart table → stacked rows */
	.woocommerce-cart table.cart thead { display: none; }
	.woocommerce-cart table.cart, .woocommerce-cart table.cart tbody { display: block; }
	.woocommerce-cart table.cart tr.cart_item { display: grid; grid-template-columns: 72px 1fr 28px; grid-template-areas: "img name remove" "img price price" "img qty qty" "img sub sub"; column-gap: 14px; row-gap: 6px; padding: 16px 0; border-bottom: 1px solid var(--color-gray); }
	.woocommerce-cart table.cart tr.cart_item td { display: block; padding: 0 !important; border: 0 !important; width: auto !important; text-align: left !important; }
	.woocommerce-cart table.cart tr.cart_item td::before { display: none !important; }
	.woocommerce-cart table.cart td.product-thumbnail { grid-area: img; display: block !important; }
	.woocommerce-cart table.cart td.product-name { grid-area: name; }
	.woocommerce-cart table.cart td.product-remove { grid-area: remove; }
	.woocommerce-cart table.cart td.product-price { grid-area: price; font-size: 13px; color: var(--color-ink-soft); }
	.woocommerce-cart table.cart td.product-quantity { grid-area: qty; }
	.woocommerce-cart table.cart td.product-subtotal { grid-area: sub; font-weight: 500; }
	.woocommerce-cart table.cart tr:last-child, .woocommerce-cart table.cart td.actions { display: block; }
	.woocommerce-cart table.cart td.actions .coupon { float: none; width: 100%; }
	.woocommerce-cart table.cart td.actions .coupon .input-text { flex: 1; width: auto; }
	.woocommerce-cart table.cart td.actions > .button { float: none; width: 100%; margin-top: 10px; }
	.woocommerce-account:not(.logged-in) .woocommerce > .u-columns.col2-set, .woocommerce-account:not(.logged-in) #customer_login, .woocommerce-account .woocommerce-Addresses { grid-template-columns: minmax(0, 1fr); }
	.woocommerce-account #customer_login .u-column1, .woocommerce-account #customer_login .u-column2 { padding: 24px 20px; }
	.woocommerce-order ul.order_details li { border-right: 0; border-bottom: 1px solid var(--color-gray); }
}
/* cart: wc .alt buttons (WooCommerce colours them purple) */
.woocommerce-cart .woocommerce a.button.alt, .woocommerce-checkout .woocommerce button.button.alt, .woocommerce-account .woocommerce button.button.alt, .woocommerce a.button.alt, .woocommerce button.button.alt { background: var(--color-ink) !important; border-color: var(--color-ink) !important; color: #fff !important; }
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: var(--color-ink-soft) !important; border-color: var(--color-ink-soft) !important; }
.woocommerce-cart button[name="update_cart"]:disabled { background: #fff !important; color: var(--color-ink) !important; border-color: var(--color-gray) !important; opacity: 1 !important; color: #b5b5b5 !important; }

form.cart.cl-submitting .single_add_to_cart_button { opacity: .6; pointer-events: none; }

.woocommerce table.shop_table, .woocommerce table.shop_table thead, .woocommerce table.shop_table thead tr, .woocommerce table.shop_table thead th, .woocommerce table.shop_table tr:first-child > th, .woocommerce table.shop_table tr:first-child > td { border-top: 0 !important; }

/* checkout details */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info, .woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info { display: block; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a { margin-left: 6px; }
.woocommerce-checkout #order_review td.product-name dl.variation { display: grid; grid-template-columns: auto 1fr; gap: 0 6px; }
.woocommerce-checkout #order_review td.product-name dl.variation dt, .woocommerce-checkout #order_review td.product-name dl.variation dd, .woocommerce-checkout #order_review td.product-name dl.variation p { display: block; margin: 0; font-weight: 400; }
.woocommerce-checkout #order_review .product-quantity { font-weight: 500; color: var(--color-ink); }

/* 27. Thank-you page (checkout → order received) */
.woocommerce-order-received .shop-head { display: none; }
.woocommerce-order-received .elementor > .pg-section:first-of-type, .woocommerce-order-received .pg-section { padding-top: 56px; }
.woocommerce-order { max-width: 900px; }
.woocommerce-order .woocommerce-thankyou-order-received { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 0 0 8px; margin: 0 0 36px; background: none; text-align: center; font: inherit; }
.woocommerce-order .woocommerce-thankyou-order-received::before {
	content: ""; width: 56px; height: 56px; margin-bottom: 6px; background-color: var(--color-ink);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m7.5 12.3 3 3 6-6.3'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m7.5 12.3 3 3 6-6.3'/%3E%3C/svg%3E") center / contain no-repeat;
}
.cl-ty__kicker { font: 500 12px/1.4 var(--font-body), sans-serif; letter-spacing: .16em; text-transform: uppercase; color: var(--color-ink-soft); }
.cl-ty__title { font: 500 40px/1.15 var(--font-display), serif; color: var(--color-ink); }
.cl-ty__text { max-width: 560px; font: 400 15px/1.7 var(--font-body), sans-serif; letter-spacing: .3px; color: var(--color-ink-soft); }
.cl-ty__text strong { color: var(--color-ink); font-weight: 500; }
.woocommerce-order ul.order_details { margin-bottom: 40px; }
.woocommerce-order ul.order_details li.method { text-transform: uppercase; }
.cl-ty-next { margin: 0 0 40px; padding: 32px; background: var(--color-paper-alt); }
.cl-ty-next h2 { margin: 0 0 20px !important; font: 500 22px/1.3 var(--font-display), serif; color: var(--color-ink); }
.cl-ty-next ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; }
.cl-ty-next li { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.cl-ty-next__num { display: grid; place-items: center; width: 30px; height: 30px; margin-bottom: 4px; border: 1px solid var(--color-ink); border-radius: 50%; font: 500 13px/1 var(--font-body), sans-serif; color: var(--color-ink); }
.cl-ty-next strong { font: 500 12px/1.4 var(--font-body), sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--color-ink); }
.cl-ty-next p { margin: 0; font-size: 14px; line-height: 1.65; color: var(--color-ink-soft); }
.cl-ty-next a { color: var(--color-ink); font-weight: 500; text-decoration: none; }
.woocommerce-order .woocommerce-bacs-bank-details, .woocommerce-order > p:not(.cl-ty-cta):not(.woocommerce-thankyou-order-received) { margin: 0 0 32px; font-size: 14px; line-height: 1.7; color: var(--color-ink-soft); }
.woocommerce-order .wc-bacs-bank-details-heading, .woocommerce-order .wc-bacs-bank-details-account-name { font: 500 20px/1.3 var(--font-display), serif !important; color: var(--color-ink); margin: 0 0 10px; }
.woocommerce-order ul.wc-bacs-bank-details { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); margin: 0 0 24px; padding: 0; list-style: none; border: 1px solid var(--color-gray); }
.woocommerce-order ul.wc-bacs-bank-details li { margin: 0; padding: 14px 16px; border-right: 1px solid var(--color-gray); font: 500 11px/1.5 var(--font-body), sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--color-ink-soft); }
.woocommerce-order ul.wc-bacs-bank-details li strong { display: block; margin-top: 4px; font: 400 14px var(--font-body), sans-serif; letter-spacing: .3px; text-transform: none; color: var(--color-ink); }
.woocommerce-order .woocommerce-order-details, .woocommerce-order .woocommerce-customer-details { margin: 0 0 36px; }
.woocommerce-order .woocommerce-order-details__title, .woocommerce-order .woocommerce-column__title { margin: 0 0 14px !important; }
.woocommerce-order table.order_details tfoot th { font-weight: 400; color: var(--color-ink-soft); }
.woocommerce-order table.order_details tfoot tr:last-child th, .woocommerce-order table.order_details tfoot tr:last-child td { font-size: 16px; font-weight: 500; color: var(--color-ink); border-bottom: 0; }
.woocommerce-order table.order_details td.woocommerce-table__product-total, .woocommerce-order table.order_details th.woocommerce-table__product-table.product-total, .woocommerce-order table.order_details tfoot td { text-align: right; }
.woocommerce-order table.order_details td.product-name a { text-decoration: none; }
.woocommerce-order table.order_details .wc-item-meta { margin: 6px 0 0; padding: 0; list-style: none; font-size: 12px; color: var(--color-ink-soft); }
.woocommerce-order table.order_details .wc-item-meta li { display: flex; gap: 6px; margin: 0; } .woocommerce-order table.order_details .wc-item-meta p { margin: 0; }
.woocommerce-order .woocommerce-columns--addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.woocommerce-order .woocommerce-columns--addresses .woocommerce-column { width: auto; float: none; max-width: none; padding: 0; }
.woocommerce-order address p { margin: 6px 0 0; }
.cl-ty-cta { text-align: center; margin: 8px 0 0; }
.cl-ty-cta .button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 32px; background: var(--color-ink); color: #fff !important; border: 1px solid var(--color-ink); font: 500 12px/1 var(--font-body), sans-serif; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; }
.cl-ty-cta .button:hover { background: var(--color-ink-soft); border-color: var(--color-ink-soft); }
@media (max-width: 767px) {
	.cl-ty__title { font-size: 30px; }
	.cl-ty-next { padding: 24px 20px; }
	.cl-ty-next ol, .woocommerce-order .woocommerce-columns--addresses { grid-template-columns: minmax(0, 1fr); }
	.woocommerce-order ul.wc-bacs-bank-details li { border-right: 0; border-bottom: 1px solid var(--color-gray); }
}
.woocommerce-order ul.order_details::before, .woocommerce-order ul.order_details::after, .woocommerce-order ul.wc-bacs-bank-details::before, .woocommerce-order ul.wc-bacs-bank-details::after, .woocommerce-order .woocommerce-columns--addresses::before, .woocommerce-order .woocommerce-columns--addresses::after, .woocommerce-account .woocommerce-Addresses::before, .woocommerce-account .woocommerce-Addresses::after, .woocommerce-account #customer_login::before, .woocommerce-account #customer_login::after, .woocommerce-checkout #customer_details::before, .woocommerce-checkout #customer_details::after, .woocommerce-cart .woocommerce::before, .woocommerce-cart .woocommerce::after, .woocommerce-checkout form.checkout::before, .woocommerce-checkout form.checkout::after, .woocommerce-account .woocommerce::before, .woocommerce-account .woocommerce::after { display: none !important; content: none !important; }
@media (min-width: 768px) { .woocommerce-order ul.order_details { grid-template-columns: repeat(5, minmax(0, 1fr)); } }

.cl-order-item { display: inline-flex; align-items: center; gap: 14px; vertical-align: middle; }
.cl-order-item .cl-order-thumb { width: 52px !important; height: auto !important; aspect-ratio: 2 / 3; object-fit: cover; background: var(--color-paper-alt); filter: brightness(.95) contrast(1.02); flex-shrink: 0; }

.cl-register-intro { margin: -6px 0 18px; font-size: 14px; line-height: 1.7; color: var(--color-ink-soft); }
.woocommerce-account form.lost_reset_password { max-width: 520px; margin: 0 auto; padding: 36px; background: var(--color-paper-alt); }
.woocommerce-account form.lost_reset_password > p:first-child { margin-top: 0; font-size: 14px; line-height: 1.7; color: var(--color-ink-soft); }
.woocommerce-account form.lost_reset_password .form-row-first { width: 100%; float: none; }

/* empty bag */
.woocommerce-cart .shop-slot > .elementor-widget-shortcode .woocommerce:not(:has(.woocommerce-cart-form)) { display: block; max-width: 640px; margin: 0 auto; text-align: center; }
.woocommerce-cart .wc-empty-cart-message .cart-empty.woocommerce-info { display: block !important; max-width: none; margin: 0 !important; padding: 56px 24px 20px !important; border: 0 !important; background: none !important; text-align: center; font: 500 26px/1.3 var(--font-display), serif !important; color: var(--color-ink) !important; }
.woocommerce-cart .wc-empty-cart-message .cart-empty.woocommerce-info::before {
	position: static !important; display: block !important; width: 44px; height: 44px; margin: 0 auto 18px !important; background-color: var(--color-ink);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1 12.5H6L5 8Z'/%3E%3Cpath d='M9 10V6.5a3 3 0 0 1 6 0V10'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1 12.5H6L5 8Z'/%3E%3Cpath d='M9 10V6.5a3 3 0 0 1 6 0V10'/%3E%3C/svg%3E") center / contain no-repeat;
}
.woocommerce-cart .return-to-shop { margin: 8px 0 0; text-align: center; }
.woocommerce-cart .return-to-shop .button { min-height: 52px !important; padding: 0 32px !important; }
/* cart totals on phones: keep label | value rows (WooCommerce's responsive table stacks them) */ /* cart totals on phones */
.woocommerce-cart .cart_totals .woocommerce-shipping-destination { display: none; }
@media (max-width: 768px) {
	.woocommerce-cart .cart_totals table.shop_table_responsive tbody tr { display: flex !important; justify-content: space-between; align-items: flex-start; gap: 16px; padding: 14px 0; border-bottom: 1px solid #dcdcdc; }
	.woocommerce-cart .cart_totals table.shop_table_responsive tbody tr.order-total { border-bottom: 0; }
	.woocommerce-cart .cart_totals table.shop_table_responsive th { display: block !important; width: auto !important; padding: 0 !important; border: 0 !important; }
	.woocommerce-cart .cart_totals table.shop_table_responsive td { display: block !important; padding: 0 !important; border: 0 !important; text-align: right !important; }
	.woocommerce-cart .cart_totals table.shop_table_responsive td::before { display: none !important; content: none !important; }
	.woocommerce-cart .cart_totals ul#shipping_method li { justify-content: flex-end; }
}
/* 28. 404 page – inline product search */
.cl-search-inline { display: flex; width: 100%; border: 1px solid var(--color-ink); background: #fff; }
.cl-search-inline input[type="search"] { flex: 1; min-width: 0; min-height: 52px; padding: 0 16px 0 46px; border: 0 !important; border-radius: 0; outline: none; box-shadow: none; font: 400 15px var(--font-body), sans-serif; letter-spacing: .3px; color: var(--color-ink);
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23222' stroke-width='1.2'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='m16 16 4 4'/%3E%3C/svg%3E") 16px center / 18px no-repeat; }
.cl-search-inline input[type="search"]::placeholder { color: #9a9a9a; }
.cl-search-inline button { flex: 0 0 auto; min-height: 52px; padding: 0 24px; border: 0; border-radius: 0; background: var(--color-ink); color: #fff; font: 500 12px/1 var(--font-body), sans-serif; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; transition: background-color .2s; }
.cl-search-inline button:hover { background: var(--color-ink-soft); }
.cl-search-inline:focus-within { outline: 2px solid var(--color-ink); outline-offset: 2px; }
/* 29. Saved templates placed with the Template widget (e.g. Testimonials) – always full width so their content stays centered */
.e-con > .elementor-widget-template, .e-con-inner > .elementor-widget-template { flex: 1 1 100%; width: 100%; max-width: 100%; align-self: stretch; }
.elementor-widget-template > .elementor-widget-container, .elementor-widget-template .elementor-template, .elementor-widget-template .elementor-template > .elementor { width: 100%; }
/* 30. Sold out (out of stock) */
.cl-card__badge--soldout, .pcard-badge.is-soldout, .pdp-badge.is-soldout { background: var(--color-ink) !important; color: #fff; }
.cl-soldout .pdp-stock { display: block; margin: 4px 0 0; padding: 14px 16px 14px 46px; position: relative; background: var(--color-paper-alt); border-left: 3px solid var(--color-ink); font: 400 14px/1.6 var(--font-body), sans-serif; letter-spacing: .2px; color: var(--color-ink); }
.cl-soldout .pdp-stock::before {
	content: ""; position: absolute; left: 16px; top: 16px; width: 18px; height: 18px; background-color: var(--color-ink);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M6 18 18 6'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M6 18 18 6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.cl-soldout .pdp-size-pill { display: none !important; }
/* sold out: label sits below "Tax free" (title, price, tax first – then the rest in normal order) */
.cl-soldout .pdp-info > .pdp-title, .cl-soldout .pdp-info > .pdp-price, .cl-soldout .pdp-info > .pdp-tax { order: -1; }
.cl-soldout .pdp-info > .pdp-badge { margin-top: 2px; }
.cl-soldout .pdp-price, .cl-soldout .pdp-tax { color: var(--color-ink-soft); }
/* 31. Testimonials spacing: compact quote → stars → name, carousel as tall as the review shown, small gap to the dots */
.carousel--quotes { align-items: flex-start !important; transition: height .35s ease; }
.carousel--quotes .testimonial { align-content: center !important; row-gap: 12px !important; padding-bottom: 0 !important; }
.carousel--quotes .testimonial .stars { margin-top: 10px !important; margin-bottom: 10px !important; }
.quote-controls { margin-top: -8px !important; }
@media (max-width: 767px) { .quote-controls { margin-top: 0 !important; } }
.quote-arrow:focus:not(:focus-visible), .quote-dot:focus:not(:focus-visible), .carousel-btn:focus:not(:focus-visible) { outline: none !important; box-shadow: none !important; border-color: transparent !important; }
@media (prefers-reduced-motion: reduce) { .carousel--quotes { transition: none; } }
/* 32. Split sections (image + text): on desktop the image is exactly as tall as the text column; on mobile a fixed, balanced size */
@media (min-width: 768px) {
	.split-grid { align-items: stretch !important; }
	.split-grid > img.split-media, .split-grid > .split-media img { width: 100% !important; height: 0 !important; min-height: 100% !important; max-height: none !important; aspect-ratio: auto !important; object-fit: cover; }
	.split-grid > .split-content { align-self: center; }
}
@media (max-width: 767px) {
	.split-grid > img.split-media, .split-grid > .split-media img { width: 100% !important; height: 280px !important; aspect-ratio: auto !important; max-height: none; object-fit: cover; }
}
/* 33. Product cards (Elementor loops) on phones: brand above price so sale prices (old + new) never overflow */
@media (max-width: 767px) {
	.pcard-meta { flex-direction: column !important; align-items: flex-start !important; justify-content: flex-start !important; gap: 2px !important; }
	.pcard-price { text-align: left !important; white-space: normal; }
	.pcard-price del { margin-right: 6px; }
	.pcard-brand, .pcard-title { overflow-wrap: anywhere; }
}
.pcard-price ins { text-decoration: none; color: var(--color-sale-text); }
/* drawer polish */
@media (max-width: 1024px) {
	.shop-sidebar { z-index: 100001 !important; }
	.cl-drawer-backdrop { z-index: 100000 !important; }
	.cl-drawer-head { margin: 0 -20px 4px !important; padding: 18px 20px !important; box-shadow: 0 1px 0 var(--color-gray); border-bottom: 0 !important; z-index: 3 !important; }
	.cl-drawer-foot { margin: auto -20px 0 !important; padding: 14px 20px 20px !important; z-index: 3; box-shadow: 0 -1px 0 var(--color-gray); }
}
/* 34. Notices: no left border / no focus outline (client feedback v1) – flat grey box with icon */
.woocommerce-message, .woocommerce-info, .woocommerce-error { border: 0 !important; border-left: 0 !important; outline: none !important; box-shadow: none !important; }
.woocommerce-message:focus, .woocommerce-message:focus-visible, .woocommerce-info:focus-visible, .woocommerce-error:focus-visible, .woocommerce-notices-wrapper:focus-visible { outline: none !important; }
.woocommerce-error { background: #FBEFEF !important; }
/* 35. Size labels – "48 IT" / "38 US" on two lines, never overflowing */
.cl-size { min-width: 64px; padding: 8px 10px !important; height: auto !important; min-height: 56px; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; line-height: 1.2; white-space: nowrap; }
.cl-size span { font-size: 14px; }
.cl-size small { font-size: 11px; letter-spacing: .04em; color: var(--color-ink-soft); }
.cl-size[aria-pressed="true"] small { color: inherit; }
.pdp-size-pill { line-height: 1.35 !important; text-align: center; min-width: 64px; padding: 8px 12px !important; height: auto !important; }
/* 36. Shopify-style filters (client feedback v1): plain text lists, Besley headings, active filter = grey chip with ×, mobile "Refine" drawer from the right with collapsible sections */
.shop-sidebar .jet-filter-label { font: 500 20px/1.3 var(--font-display), serif !important; letter-spacing: 0 !important; text-transform: none !important; margin: 0 0 12px !important; color: var(--color-ink); }
.shop-sidebar .jet-sorting-label { font: 400 14px/1.4 var(--font-body), sans-serif !important; letter-spacing: .3px !important; text-transform: none !important; margin: 0 0 8px !important; color: var(--color-ink); }
.shop-sidebar input.jet-search-filter__input { border-radius: 999px !important; height: 42px; }
/* lists */
.shop-sidebar .jet-checkboxes-list-wrapper, .shop-sidebar .jet-checkboxes-list[data-query-var^="pa_size"] .jet-checkboxes-list-wrapper, .shop-sidebar .jet-radio-list .jet-radio-list-wrapper fieldset { display: flex !important; flex-direction: column; align-items: flex-start; gap: 2px !important; grid-template-columns: none !important; }
.shop-sidebar .jet-checkboxes-list__button, .shop-sidebar .jet-radio-list__button,
.shop-sidebar .jet-checkboxes-list[data-query-var^="pa_size"] .jet-checkboxes-list__button {
	display: inline-flex !important; align-items: center; gap: 8px; min-height: 0 !important; aspect-ratio: auto !important; padding: 4px 0 !important; border: 0 !important; background: none !important; width: auto !important; border-radius: 999px !important; transition: background-color .15s;
}
.shop-sidebar .jet-radio-list__decorator, .shop-sidebar .jet-checkboxes-list__decorator { display: none !important; }
.shop-sidebar .jet-checkboxes-list__label, .shop-sidebar .jet-radio-list__label, .shop-sidebar .jet-checkboxes-list[data-query-var^="pa_size"] .jet-checkboxes-list__label {
	font: 400 14px/1.45 var(--font-body), sans-serif !important; letter-spacing: .3px !important; text-transform: none !important; color: var(--color-ink-soft) !important; text-align: left !important;
}
.shop-sidebar .jet-checkboxes-list__item:hover .jet-checkboxes-list__label, .shop-sidebar .jet-radio-list__item:hover .jet-radio-list__label { color: var(--color-ink) !important; }
.shop-sidebar .jet-checkboxes-list__item:hover .jet-checkboxes-list__button { border-color: transparent !important; }
.shop-sidebar .jet-filters-counter { display: none !important; }
/* active = chip with × */
.shop-sidebar .jet-checkboxes-list__input:checked + .jet-checkboxes-list__button, .shop-sidebar .jet-radio-list__input:checked:not([value=""]) + .jet-radio-list__button {
	background: #ECECEC !important; padding: 4px 12px 4px 10px !important;
}
.shop-sidebar .jet-checkboxes-list__input:checked + .jet-checkboxes-list__button .jet-checkboxes-list__label, .shop-sidebar .jet-radio-list__input:checked + .jet-radio-list__button .jet-radio-list__label { color: var(--color-ink) !important; font-weight: 400 !important; }
.shop-sidebar .jet-checkboxes-list__input:checked + .jet-checkboxes-list__button::before, .shop-sidebar .jet-radio-list__input:checked:not([value=""]) + .jet-radio-list__button::before {
	content: ""; width: 14px; height: 14px; flex-shrink: 0; border-radius: 50%; background: var(--color-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7 7 17'/%3E%3C/svg%3E") center / 8px no-repeat;
}
.shop-sidebar .jet-radio-list__input[value=""] + .jet-radio-list__button .jet-radio-list__label { color: var(--color-ink-soft) !important; }
.shop-sidebar .jet-radio-list__input:checked[value=""] + .jet-radio-list__button .jet-radio-list__label { color: var(--color-ink) !important; }
.shop-sidebar .jet-checkboxes-list__input:focus-visible + .jet-checkboxes-list__button, .shop-sidebar .jet-radio-list__input:focus-visible + .jet-radio-list__button { outline: 2px solid var(--color-ink); outline-offset: 2px; }

@media (max-width: 1024px) {
	/* "Refine" pill */
	.cl-filter-toggle { height: 40px !important; padding: 0 20px !important; border-radius: 999px !important; border: 1px solid #cfcfcf !important; font: 400 14px var(--font-body), sans-serif !important; letter-spacing: .3px !important; text-transform: none !important; }
	.cl-filter-toggle svg { display: none; }
	/* drawer from the right */
	.shop-sidebar { left: auto !important; right: 0 !important; transform: translateX(100%) !important; }
	.shop-sidebar.is-open { transform: none !important; }
	/* collapsible sections */
	.shop-sidebar .cl-acc-head { display: flex !important; align-items: center; justify-content: space-between; width: 100%; cursor: pointer; user-select: none; margin: 0 !important; }
	.shop-sidebar .cl-acc-head::after { content: ""; width: 12px; height: 12px; margin-left: 12px; background: currentColor; transition: transform .2s;
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='m5 9 7 7 7-7'/%3E%3C/svg%3E") center / contain no-repeat;
		        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='m5 9 7 7 7-7'/%3E%3C/svg%3E") center / contain no-repeat; }
	.shop-sidebar .shop-slot:not(.is-collapsed) .cl-acc-head::after { transform: rotate(180deg); }
	.shop-sidebar .shop-slot.cl-acc:not(.is-collapsed) .cl-acc-head { margin-bottom: 12px !important; }
	.shop-sidebar .shop-slot.is-collapsed .jet-checkboxes-list-wrapper, .shop-sidebar .shop-slot.is-collapsed .jet-radio-list-wrapper, .shop-sidebar .shop-slot.is-collapsed .jet-sorting-select { display: none !important; }
	.shop-sidebar .shop-slot.cl-acc { padding-top: 16px !important; padding-bottom: 16px !important; }
}
/* 37. Checkout – see section 49 (client feedback part 2) */

/* 38. Watches (Curated Timepieces) – Shopify-like: big stacked images, no thumbs, enquiry instead of cart */
.cl-watch .cl-gallery { grid-template-columns: minmax(0, 1fr); }
.cl-watch .cl-gallery__thumbs { display: none; }
@media (min-width: 1025px) { .cl-watch .pdp-grid { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) !important; } }
.cl-watch .pdp-grid .pg-card-alt { scroll-margin-top: calc(var(--cl-header-h, 80px) + 24px); }
.cl-watch .pdp-grid .pg-card-alt h2 { font-size: 24px !important; line-height: 1.25 !important; }@media (max-width: 767px) { .cl-gallery__main { align-items: flex-start; } }

/* 39. Made To Order – Step 3 product page (Shopify-like) */
.cl-mto .pdp-section > .e-div-block-base:first-child { display: flex !important; width: 100%; flex-direction: column; align-items: center; gap: 10px; text-align: center; position: relative; }
.cl-mto .pdp-section > .e-div-block-base:first-child > p:first-child { align-self: flex-start; font-size: 12px; }
.cl-mto .pdp-section > .e-div-block-base:first-child > h2 { margin: 8px 0 12px !important; }
.cl-mto .pdp-info table.variations { display: table !important; width: 100%; margin: 4px 0 18px !important; border: 0 !important; }
.cl-mto .pdp-info table.variations tr { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.cl-mto .pdp-info table.variations th, .cl-mto .pdp-info table.variations td { display: block; padding: 0 !important; border: 0 !important; background: none !important; text-align: left; }
.cl-mto .pdp-info table.variations th label { font: 400 13px var(--font-body), sans-serif !important; letter-spacing: .02em; text-transform: none !important; color: var(--color-ink-soft); }
.cl-mto .pdp-info table.variations select { width: 100%; height: 46px; padding: 0 40px 0 14px; border: 1px solid #cfcfcf; border-radius: 0; background-color: #fff; font-size: 14px; color: var(--color-ink); appearance: none; -webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='1.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 14px; }
.cl-mto .pdp-info table.variations .reset_variations { display: none !important; }
.cl-mto .pdp-section .woocommerce-variation-price { display: none; }
.cl-mto .pg-card-alt { width: 100%; max-width: 640px; margin-inline: auto; }
.cl-mto-fabrics { scroll-margin-top: 280px; }.single-product .section-padding:has(.e-collection-loop):not(:has(.e-collection-loop-item)) { display: none !important; }
/* sold-out cards: no dimming – the badge marks them; hover image swap identical to other cards (client feedback v1) */

/* 40. Sticky header (client feedback part 2): stays on top; on scroll the logo becomes the crown only */
.elementor-location-header .header-logo { transition: width .3s ease, height .3s ease; }
.elementor-location-header .header-logo svg { transition: opacity .2s ease; }
.elementor-location-header.is-scrolled .header-logo { width: 64px !important; height: 39px !important; max-width: none !important; aspect-ratio: auto !important;
	background: url("/wp-content/uploads/2026/10/crown.svg") center / contain no-repeat; }
.elementor-location-header.is-scrolled .header-logo svg { opacity: 0; }
@media (max-width: 767px) { .elementor-location-header.is-scrolled .header-logo { width: 52px !important; height: 32px !important; } }.admin-bar .elementor-location-header { top: calc(32px - var(--announce-h, 0px)); }
@media (max-width: 782px) { .admin-bar .elementor-location-header { top: calc(46px - var(--announce-h, 0px)); } }
@media (max-width: 600px) { .admin-bar .elementor-location-header { top: calc(-1 * var(--announce-h, 0px)); } }

/* 41. Product image zoom viewer (client feedback part 2) */
.cl-gallery__slide, .cl-gallery__slide img { cursor: zoom-in !important; } /* magnifier = click opens the full image */
.cl-zoom { position: fixed; inset: 0; z-index: 100050; display: none; align-items: center; justify-content: center; background: #111; }
.cl-zoom.is-open { display: flex; }
html.cl-zoom-lock, html.cl-zoom-lock body { overflow: hidden; }
.cl-zoom__stage { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; padding: 56px 88px; touch-action: pinch-zoom; }
.cl-zoom__img { max-width: 100%; max-height: 100%; object-fit: contain; cursor: zoom-in; transition: transform .25s ease; user-select: none; -webkit-user-drag: none; }
.cl-zoom.is-zoomed .cl-zoom__img { transform: scale(2.5); cursor: zoom-out; transition: transform .25s ease, transform-origin 0s; }
.cl-zoom__close { position: absolute; top: 14px; right: 18px; z-index: 3; width: 44px; height: 44px; padding: 0 !important; background: none !important; border: 0 !important; color: #fff !important; font: 300 40px/1 var(--font-body), sans-serif; cursor: pointer; }
.cl-zoom__nav { position: absolute; top: 50%; z-index: 3; width: 44px; height: 44px; margin-top: -22px; padding: 0 !important; border-radius: 50% !important; background: rgba(255,255,255,.92) !important; border: 0 !important; cursor: pointer; }
.cl-zoom__nav::before { content: ""; position: absolute; inset: 0; margin: auto; width: 10px; height: 10px; border: solid var(--color-ink); border-width: 0 1.5px 1.5px 0; }
.cl-zoom__prev { left: 20px; } .cl-zoom__prev::before { transform: translateX(2px) rotate(135deg); }
.cl-zoom__next { right: 20px; } .cl-zoom__next::before { transform: translateX(-2px) rotate(-45deg); }
.cl-zoom.is-single .cl-zoom__nav, .cl-zoom.is-single .cl-zoom__count, .cl-zoom.is-zoomed .cl-zoom__nav { display: none; }
.cl-zoom__count { position: absolute; bottom: 16px; left: 0; right: 0; z-index: 3; margin: 0; text-align: center; color: rgba(255,255,255,.8); font: 500 12px var(--font-body), sans-serif; letter-spacing: .1em; }
@media (max-width: 767px) {
	.cl-zoom__stage { padding: 56px 0; }
	.cl-zoom__nav { top: auto; bottom: 10px; margin: 0; width: 38px; height: 38px; }
	.cl-zoom__prev { left: 16px; } .cl-zoom__next { right: 16px; }
	.cl-zoom__count { bottom: 22px; }
}
/* 42. Watches offline (client feedback part 2): hide watch promos */
.cl-watches-offline .elementor-element-5b14de56, /* homepage watch banner */
.cl-watches-offline .elementor-element-494c2cc5, /* homepage watch carousel */
.cl-watches-offline a.e-con[href$="/curated-timepieces/"] /* category tiles */ { display: none !important; }

/* 43. Header: menu never overlaps the centred logo – burger (as tablet) below the width where the full menu fits */
@media (min-width: 1025px) and (max-width: 1679.98px) { .header-nav .elementor-nav-menu--main .elementor-item { padding-left: 10px !important; padding-right: 10px !important; letter-spacing: .04em; } }
/* Small laptops 1025–1439px: same burger header as tablet (burger left, logo centred, icons right) – the full menu doesn't fit next to the centred logo */
@media (min-width: 1025px) and (max-width: 1439.98px) {
	.header-nav .elementor-nav-menu--dropdown-tablet .elementor-nav-menu--main { display: none !important; }
	.header-nav .elementor-nav-menu--dropdown-tablet .elementor-menu-toggle { display: flex !important; }
	.header-nav .elementor-nav-menu--dropdown-tablet .elementor-nav-menu__container.elementor-nav-menu--dropdown { display: block !important; }
}/* 1440–1679px: slightly smaller logo so the full menu (6 items) keeps a clear gap to the centred logo */
@media (min-width: 1440px) and (max-width: 1679.98px) { .header-main { --logo-w: 180px; } }

/* 44. Size display like Shopify (client feedback part 2): number on top, small grey "IT" underneath */
.cl-size { min-width: 52px; min-height: 46px; padding: 6px 10px !important; gap: 1px; }
.cl-size span { font-size: 14px; line-height: 1.25; }
.cl-size small { font-size: 10px; line-height: 1.25; letter-spacing: .06em; color: #808080; }
.pdp-size-pill { line-height: 1.25 !important; font-size: 10px !important; letter-spacing: .06em; color: #808080 !important; text-align: center; }
.pdp-size-pill strong { display: block; font-size: 14px; font-weight: 400; letter-spacing: .04em; color: var(--color-ink); }
/* 45. Size guide (client feedback part 2) – icon next to "View more …", popup like the Shopify theme */
.cl-sg-btn { display: inline-flex; flex: 0 0 auto; width: 44px; height: 44px; padding: 0 !important; background: none !important; border: 0 !important; cursor: pointer; transition: opacity .2s ease; }
.cl-sg-btn:hover { opacity: .75; }
.cl-sg-btn img { width: 100%; height: 100%; }
.cl-sg { width: min(600px, calc(100vw - 32px)); max-height: calc(100dvh - 64px); padding: 28px 24px 24px; border: 0; background: #fff; color: var(--color-ink); overflow-y: auto; overscroll-behavior: contain; }
.cl-sg::backdrop { background: rgba(0, 0, 0, .6); }
.cl-sg__close { position: sticky; top: -12px; float: right; margin: -16px -10px 0 0; width: 36px; height: 36px; padding: 0 !important; background: none !important; border: 0 !important; color: var(--color-ink) !important; font: 400 30px/1 var(--font-body), sans-serif; cursor: pointer; }
.cl-sg__title { margin: 0 0 20px !important; text-align: center; font: 400 22px/1.3 var(--font-display), serif !important; }
.cl-sg__body { font-size: 13px; line-height: 1.75; letter-spacing: .02em; }
.cl-sg__body p { margin: 0 0 14px; }
.cl-sg__body h2 { margin: 26px 0 12px !important; font: 400 20px/1.3 var(--font-display), serif !important; }
.cl-sg__body .wp-block-table { margin: 0 0 8px; overflow-x: auto; }
.cl-sg__body table { width: 100%; border-collapse: collapse; font-size: 12px; text-align: center; }
.cl-sg__body thead th { padding: 10px 6px; background: var(--color-ink); color: #fff; font-weight: 500; letter-spacing: .06em; border: 0; }
.cl-sg__body td { padding: 9px 6px; border: 0; border-bottom: 1px solid #f0f0f0; }
.cl-sg-row { display: flex !important; flex-direction: row !important; align-items: center; justify-content: space-between; gap: 16px; }.cl-sg__body tbody tr, .cl-sg__body tbody tr:nth-child(odd), .cl-sg__body tbody tr:nth-child(even) { background: #fff !important; }
.cl-sg__body tbody td { background: transparent !important; }

/* 46. Own magnifier cursor (Windows showed a busy/spinner cursor for the system zoom-in cursor) */
.cl-gallery__slide, .cl-gallery__slide img, .cl-zoom__img { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Ccircle cx='11.5' cy='11.5' r='8' fill='white' stroke='black' stroke-width='2'/%3E%3Cpath d='M17.5 17.5l7 7' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3Cpath d='M11.5 7.5v8M7.5 11.5h8' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") 11 11, zoom-in !important; }
.cl-zoom.is-zoomed .cl-zoom__img { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Ccircle cx='11.5' cy='11.5' r='8' fill='white' stroke='black' stroke-width='2'/%3E%3Cpath d='M17.5 17.5l7 7' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3Cpath d='M7.5 11.5h8' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") 11 11, zoom-out !important; }

/* 47. /size-guide/ page – same typography as the popup (section 45 styles .cl-sg__title / .cl-sg__body) */
.cl-size-guide-page .page-content { max-width: 1200px; margin: 0 auto; padding: 56px var(--space-section-x, 24px) 88px; color: var(--color-ink); }
.cl-size-guide-page .page-header { display: none; }
.cl-size-guide-page .cl-sg__title { margin: 0 0 24px !important; font-size: 28px !important; }
.cl-size-guide-page .cl-sg__body table, .cl-size-guide-page .cl-sg__body th, .cl-size-guide-page .cl-sg__body td { border-left: 0 !important; border-right: 0 !important; border-top: 0 !important; }
.cl-size-guide-page .cl-sg__body thead th { border-bottom: 0 !important; }
.cl-size-guide-page .cl-sg__body .wp-block-table { margin-bottom: 8px; }
.cl-sg__body .wp-block-table thead { border-bottom: 0 !important; }.pdp-size-pill { flex-direction: column !important; align-items: center !important; justify-content: center !important; gap: 1px; }
.pdp-size-pill br { display: none; }

/* 48. Size & fit accordion (client feedback part 2) – hidden when the short description is empty */
.cl-no-size-fit .elementor-element-c15f1a1, .cl-no-size-fit .elementor-element-c15f1a2 { display: none !important; }
.cl-size-fit, .cl-size-fit p { font-size: 13px !important; line-height: 1.7 !important; letter-spacing: .04em !important; font-weight: 400 !important; color: var(--color-ink); } /* same as Details (client feedback part 3) */
.cl-size-fit p { margin: 0 0 8px; }
.cl-size-fit p:last-child { margin-bottom: 0; }

/* 49. Checkout (client feedback part 2): Figma functionality in the site's style.
   Markup: cl-shop.php "Checkout"; behaviour (steps / accordion): cl-site.js §14 */
.woocommerce-checkout:not(.woocommerce-order-received) .shop-head { display: none !important; }
.woocommerce-checkout:not(.woocommerce-order-received) section.e-con:has(form.checkout) { padding-top: 0 !important; padding-bottom: 0 !important; }
/* split layout: left = form, right = grey summary panel to the window edge */
.woocommerce-checkout form.checkout { display: grid !important; grid-template-columns: minmax(0, 1fr) 500px !important; grid-template-areas: none !important; column-gap: 0 !important; row-gap: 0 !important; align-items: start; }
.woocommerce-checkout form.checkout > * { grid-column: 1; grid-area: auto !important; min-width: 0; }
.woocommerce-checkout form.checkout > *:not(.cl-co-summary) { padding-right: 56px; }
.woocommerce-checkout form.checkout > .cl-co-summary { grid-column: 2 !important; grid-row: 1 / span 40 !important; align-self: stretch; position: relative; padding: 40px 0 48px 48px !important; background: var(--color-paper-alt, #f5f5f5); border-left: 1px solid #e1e1e1; box-shadow: 0 0 0 100vmax var(--color-paper-alt, #f5f5f5); clip-path: inset(-100vmax -100vmax -100vmax 0); }
.woocommerce-checkout .cl-co-summary > .cl-sum-h, .woocommerce-checkout #order_review_heading { display: none !important; }
.woocommerce-checkout .cl-co-summary #order_review { position: sticky; top: calc(var(--cl-header-h, 80px) + 24px); margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; }
.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup { padding-top: 24px; }
.woocommerce-checkout .woocommerce-form-login-toggle { display: none !important; }
.woocommerce-checkout form.woocommerce-form-login { max-width: calc(100% - 556px); margin: 24px 0 0 !important; padding: 20px !important; border: 1px solid var(--color-hairline) !important; border-radius: 0 !important; }
/* breadcrumb */
.cl-co-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding-top: 40px; font: 400 12px var(--font-body), sans-serif; letter-spacing: .06em; }
.cl-co-crumbs button { padding: 0 !important; margin: 0; background: none !important; border: 0 !important; color: var(--color-ink-soft) !important; font: inherit !important; letter-spacing: inherit; cursor: pointer; }
.cl-co-crumbs button.is-current { color: var(--color-ink) !important; font-weight: 500 !important; }
.cl-co-crumbs button:disabled { cursor: default; opacity: .55; }
.cl-co-crumbs span { color: #b5b5b5; }
/* headings + contact */
.woocommerce-checkout .cl-co-h { margin: 0 !important; font: 400 24px/1.25 var(--font-display), serif !important; color: var(--color-ink); text-transform: none !important; letter-spacing: 0 !important; }
.cl-co-contact { padding: 28px 0 28px; border-bottom: 1px solid var(--color-hairline); }
.cl-co-contact__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; margin-bottom: 16px; }
.cl-co-login { margin: 0; font-size: 13px; color: var(--color-ink-soft); }
.cl-co-login a { color: var(--color-ink); text-decoration: underline; text-underline-offset: 3px; }
.cl-co-note { margin: 0 0 16px; font-size: 13px; color: var(--color-ink-soft); }
.woocommerce-checkout form.checkout .cl-co-check { margin: 4px 0 0 !important; }
.woocommerce-checkout form.checkout .cl-co-check label, .woocommerce-checkout form.checkout .cl-co-check label.checkbox { position: static !important; display: inline-flex !important; align-items: center; gap: 10px; margin: 0 !important; font: 400 13px var(--font-body), sans-serif !important; color: var(--color-ink) !important; pointer-events: auto; cursor: pointer; }
.woocommerce-checkout form.checkout .cl-co-check input[type="checkbox"] { width: 16px; height: 16px; margin: 0 !important; accent-color: var(--color-ink); }
.cl-express { padding: 28px 0 0; }
/* steps (accordion) */
.cl-step { padding: 26px 0; border-bottom: 1px solid var(--color-hairline); }
.cl-step__head { position: relative; }
.cl-step__kicker { margin: 0 0 6px !important; font: 500 11px var(--font-body), sans-serif !important; letter-spacing: .16em; text-transform: uppercase; color: var(--color-ink-soft); }
.cl-step__sum { display: none; margin: 8px 0 0 !important; padding-right: 64px; font-size: 13px; line-height: 1.5; color: var(--color-ink-soft); }
.cl-step__edit { display: none; position: absolute; right: 0; bottom: 0; padding: 0 !important; background: none !important; border: 0 !important; color: var(--color-ink) !important; font: 400 13px var(--font-body), sans-serif !important; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.cl-step.is-done .cl-step__sum, .cl-step.is-done .cl-step__edit { display: block; }
.cl-step:not(.is-open) .cl-step__body { display: none; }
.cl-step.is-locked .cl-step__head { opacity: .45; }
.cl-step__body { padding-top: 20px; }
.woocommerce-checkout form.checkout .cl-step__next, .woocommerce-checkout #place_order { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 54px; margin-top: 14px; padding: 0 24px !important; border: 1px solid var(--color-ink) !important; border-radius: 0 !important; background: var(--color-ink) !important; color: #fff !important; font: 500 12px var(--font-body), sans-serif !important; letter-spacing: .16em; text-transform: uppercase; cursor: pointer; transition: background .2s ease, color .2s ease; }
.woocommerce-checkout form.checkout .cl-step__next:hover, .woocommerce-checkout #place_order:hover { background: #fff !important; color: var(--color-ink) !important; }
.woocommerce-checkout #place_order::before { content: ""; width: 14px; height: 14px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='5' y='11' width='14' height='10' rx='1'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='5' y='11' width='14' height='10' rx='1'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center / contain no-repeat; }
/* fields: floating labels, square like the rest of the site */
.woocommerce-checkout #customer_details.col2-set { display: block !important; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { width: 100% !important; float: none !important; padding: 0 !important; }
.woocommerce-checkout .woocommerce-billing-fields > h3, .woocommerce-checkout .woocommerce-shipping-fields > h3, .woocommerce-checkout #ship-to-different-address { display: none !important; }
.cl-bill-slot .woocommerce-billing-fields { margin-top: 14px; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper, .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 0 12px !important; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > *, .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > * { grid-column: 1 / -1 !important; width: auto !important; float: none !important; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-first, .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row-first { grid-column: 1 !important; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-last, .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row-last { grid-column: 2 !important; }
.woocommerce-checkout form.checkout .form-row { position: relative; margin: 0 0 12px !important; padding: 0 !important; }
.woocommerce-checkout form.checkout .form-row > label:not(.checkbox):not(.screen-reader-text) { position: absolute; left: 14px; top: 7px; z-index: 2; margin: 0 !important; pointer-events: none; font: 400 11px/1.3 var(--font-body), sans-serif !important; letter-spacing: .02em !important; text-transform: none !important; color: var(--color-ink-soft) !important; transition: top .15s, font-size .15s; }
.woocommerce-checkout form.checkout .form-row:has(.input-text:placeholder-shown):not(:focus-within) > label:not(.checkbox):not(.screen-reader-text) { top: 17px; font-size: 14px !important; }
.woocommerce-checkout form.checkout .form-row:not(#billing_address_2_field):not(#shipping_address_2_field) .input-text::placeholder { color: transparent !important; }
.woocommerce-checkout form.checkout .form-row .required, .woocommerce-checkout form.checkout .form-row .optional { display: none; }
.woocommerce-checkout form.checkout .form-row input.input-text, .woocommerce-checkout form.checkout .form-row textarea { width: 100%; min-height: 54px !important; padding: 22px 14px 6px !important; border: 1px solid #cfcfcf !important; border-radius: 0 !important; background: #fff !important; font-size: 14px !important; box-shadow: none !important; }
.woocommerce-checkout form.checkout #billing_address_2_field input, .woocommerce-checkout form.checkout #shipping_address_2_field input { padding: 14px !important; }
.woocommerce-checkout form.checkout .form-row input.input-text:focus { border-color: var(--color-ink) !important; outline: none; }
.woocommerce-checkout form.checkout .select2-container .select2-selection--single { height: 54px !important; border: 1px solid #cfcfcf !important; border-radius: 0 !important; }
.woocommerce-checkout form.checkout .select2-container .select2-selection--single .select2-selection__rendered { padding: 16px 40px 0 14px !important; line-height: 36px !important; font-size: 14px; }
.woocommerce-checkout form.checkout .select2-container .select2-selection--single .select2-selection__arrow { height: 52px !important; right: 8px !important; }
.woocommerce-checkout form.checkout .form-row.woocommerce-invalid input.input-text, .woocommerce-checkout form.checkout .form-row.woocommerce-invalid .select2-selection { border-color: var(--color-sale) !important; }
/* shipping method cards */
.cl-ship-methods { display: grid; gap: 10px; }
.cl-ship-opt { display: flex; align-items: center; gap: 14px; padding: 18px; border: 1px solid #cfcfcf; background: #fff; cursor: pointer; transition: border-color .2s ease; }
.cl-ship-opt:hover { border-color: var(--color-ink); }
.cl-ship-opt:has(input:checked) { border-color: var(--color-ink); box-shadow: inset 0 0 0 1px var(--color-ink); }
.cl-ship-opt input { flex: 0 0 auto; width: 18px; height: 18px; margin: 0 !important; accent-color: var(--color-ink); }
.cl-ship-opt__name { flex: 1; font-size: 14px; color: var(--color-ink); }
.cl-ship-opt__price { font-size: 14px; font-weight: 500; color: var(--color-ink); }
.cl-ship-none { margin: 0; font-size: 13px; color: var(--color-ink-soft); }
.cl-ship-methods.is-error .cl-ship-none { color: var(--color-sale); }
/* payment */
.woocommerce-checkout #payment { margin: 0 !important; background: #fff !important; border: 1px solid #cfcfcf !important; border-radius: 0 !important; }
.woocommerce-checkout #payment ul.payment_methods { margin: 0 !important; padding: 0 !important; border-bottom: 0 !important; }
.woocommerce-checkout #payment ul.payment_methods > li { margin: 0 !important; padding: 16px 18px !important; border-bottom: 1px solid #e6e6e6; font-size: 14px; }
.woocommerce-checkout #payment div.payment_box { margin: 12px 0 0 !important; border-radius: 0 !important; background: var(--color-paper-alt, #f5f5f5) !important; font-size: 13px; }
.woocommerce-checkout #payment div.payment_box::before { display: none !important; }
.woocommerce-checkout #payment div.form-row.place-order { margin: 0 !important; padding: 18px !important; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { font-size: 12px; color: var(--color-ink-soft); }
/* summary */
.woocommerce-checkout #order_review table.shop_table { margin: 0 !important; border: 0 !important; }
.woocommerce-checkout #order_review table.shop_table thead { display: none; }
.woocommerce-checkout #order_review table.shop_table tbody tr:first-child td { padding-top: 0 !important; }
.woocommerce-checkout #order_review table.shop_table td.product-name { padding: 10px 12px 10px 0 !important; border: 0 !important; }
.woocommerce-checkout #order_review table.shop_table td.product-total { padding: 10px 0 !important; border: 0 !important; vertical-align: middle !important; font-size: 14px; text-align: right; }
.woocommerce-checkout #order_review td.product-name > dl.variation { display: none !important; }
.cl-sum-item { display: flex; align-items: center; gap: 14px; }
.cl-sum-thumb { position: relative; flex: 0 0 64px; width: 64px; height: 64px; border: 1px solid #dedede; background: #fff; }
.cl-sum-thumb img { width: 100% !important; height: 100% !important; object-fit: cover; }
.cl-sum-qty { position: absolute; top: -8px; right: -8px; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: var(--color-ink-soft); color: #fff; font: 500 11px/20px var(--font-body), sans-serif; text-align: center; }
.cl-sum-name { font-size: 13px; line-height: 1.45; color: var(--color-ink); }
.cl-sum-size { display: block; margin-top: 3px; font-size: 12px; color: var(--color-ink-soft); }
.cl-sum-coupon td { padding: 16px 0 !important; border: 0 !important; border-top: 1px solid #dcdcdc !important; border-bottom: 1px solid #dcdcdc !important; }
.cl-coupon { display: flex; gap: 10px; }
.cl-coupon .input-text { flex: 1; min-width: 0; min-height: 50px !important; padding: 0 14px !important; border: 1px solid #cfcfcf !important; border-radius: 0 !important; background: #fff !important; font-size: 14px; }
.cl-coupon .cl-coupon-apply { min-height: 50px !important; padding: 0 20px !important; border: 1px solid var(--color-ink) !important; border-radius: 0 !important; background: transparent !important; color: var(--color-ink) !important; font: 500 12px var(--font-body), sans-serif !important; letter-spacing: .16em; text-transform: uppercase; }
.cl-coupon .cl-coupon-apply:hover { background: var(--color-ink) !important; color: #fff !important; }
.cl-coupon-msg { margin-top: 14px; }
.cl-coupon-msg .woocommerce-error, .cl-coupon-msg .woocommerce-message { margin: 0 !important; padding: 12px 14px !important; font-size: 13px !important; text-align: left !important; justify-content: flex-start !important; }
.cl-coupon-msg .woocommerce-error::before, .cl-coupon-msg .woocommerce-message::before { display: none !important; }
.woocommerce-checkout #order_review tfoot tr, .woocommerce-checkout #order_review tfoot th, .woocommerce-checkout #order_review tfoot td { border: 0 !important; box-shadow: none !important; background: none !important; }
.woocommerce-checkout #order_review tfoot th, .woocommerce-checkout #order_review tfoot td { padding: 5px 0 !important; font-size: 14px !important; font-weight: 400 !important; vertical-align: top; }
.woocommerce-checkout #order_review tfoot td { text-align: right; }
.woocommerce-checkout #order_review tfoot tr.cart-subtotal th, .woocommerce-checkout #order_review tfoot tr.cart-subtotal td { padding-top: 18px !important; }
.woocommerce-checkout #order_review tfoot tr.tax-rate, .woocommerce-checkout #order_review tfoot tr.tax-total, .woocommerce-checkout #order_review tfoot tr.order-total { display: none !important; }
.cl-ship-row .cl-ship-cost { display: none; }
form.checkout.cl-co-ship-known .cl-ship-row .cl-ship-cost { display: inline; }
form.checkout.cl-co-ship-known .cl-ship-row .cl-ship-later { display: none; }
.cl-ship-row .cl-ship-later { color: var(--color-ink-soft); }
.woocommerce-checkout #order_review tfoot tr.cl-total th, .woocommerce-checkout #order_review tfoot tr.cl-total td { padding-top: 18px !important; border-top: 1px solid #dcdcdc !important; }
.woocommerce-checkout #order_review tfoot tr.cl-total th { font-weight: 500 !important; }
.cl-total__amount { font: 500 22px/1.2 var(--font-body), sans-serif; color: var(--color-ink); }
.cl-total__badge { margin-left: 8px; font: 500 10px var(--font-body), sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--color-ink-soft); vertical-align: super; }
.cl-total__note { display: block; margin-top: 4px; font-size: 12px; color: var(--color-ink-soft); }
.cl-co-secure { display: flex; gap: 12px; margin-top: 22px; padding-top: 18px; border-top: 1px solid #dcdcdc; font-size: 12px; line-height: 1.6; color: var(--color-ink-soft); }
.cl-co-secure p { margin: 0; }
.cl-co-secure strong { color: var(--color-ink); font-weight: 500; }
.cl-co-secure a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.cl-co-secure__icon { flex: 0 0 14px; height: 18px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Crect x='5' y='11' width='14' height='10' rx='1'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Crect x='5' y='11' width='14' height='10' rx='1'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center / contain no-repeat; }
/* express pay slot */
.cl-express[hidden] { display: none !important; }
.cl-express__label { margin: 0 0 12px; text-align: center; font-size: 13px; color: var(--color-ink-soft); }
.cl-express__slot { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 12px; }
.cl-express__slot > * { margin: 0 !important; min-width: 0; }
.cl-express__or { display: flex; align-items: center; gap: 16px; margin: 20px 0 0; font-size: 12px; color: var(--color-ink-soft); }
.cl-express__or::before, .cl-express__or::after { content: ""; flex: 1; height: 1px; background: #dedede; }
.cl-sum-toggle { display: none; }
/* tablet + mobile: one column, collapsible summary on top */
@media (max-width: 1024px) {
	.woocommerce-checkout form.checkout { grid-template-columns: minmax(0, 1fr) !important; }
	.woocommerce-checkout form.checkout > *:not(.cl-co-summary) { padding-right: 0; }
	.woocommerce-checkout form.checkout > .cl-co-summary { grid-column: 1 !important; grid-row: auto !important; order: -1; margin: 0 calc(-1 * var(--space-section-x, 16px)); padding: 0 !important; border-left: 0; border-bottom: 1px solid #e1e1e1; box-shadow: none; clip-path: none; }
	.woocommerce-checkout .cl-co-summary #order_review { position: static; }
	.cl-sum-toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 16px var(--space-section-x, 16px) !important; background: none !important; border: 0 !important; color: var(--color-ink) !important; font: 400 14px var(--font-body), sans-serif; cursor: pointer; }
	.cl-sum-toggle__label::after { content: ""; display: inline-block; width: 10px; height: 10px; margin-left: 8px; background: currentColor; transition: transform .2s;
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='m5 9 7 7 7-7'/%3E%3C/svg%3E") center / contain no-repeat;
		        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='m5 9 7 7 7-7'/%3E%3C/svg%3E") center / contain no-repeat; }
	.cl-co-summary.is-open .cl-sum-toggle__label::after { transform: rotate(180deg); }
	.cl-sum-toggle__total { font-weight: 600; font-size: 16px; }
	.cl-co-summary:not(.is-open) #order_review, .cl-co-summary:not(.is-open) .cl-coupon-msg, .cl-co-summary:not(.is-open) .cl-co-secure { display: none !important; }
	.cl-co-summary #order_review, .cl-co-summary .cl-co-secure, .cl-co-summary .cl-coupon-msg { margin: 0 var(--space-section-x, 16px) 18px !important; }
	.cl-co-crumbs { padding-top: 24px; }
	.woocommerce-checkout form.woocommerce-form-login { max-width: none; }
	.cl-express__slot { grid-auto-flow: row; }
}.woocommerce-checkout form.checkout .cl-co-check label, .woocommerce-checkout form.checkout .cl-co-check label span { text-transform: none !important; letter-spacing: 0 !important; }
.cl-ship-row td { white-space: nowrap; }
.woocommerce-checkout #order_review tfoot td, .woocommerce-checkout #order_review td.product-total { white-space: nowrap; }
.woocommerce-checkout #order_review .tax_label { font-size: 11px; color: var(--color-ink-soft); }
.woocommerce-checkout form.checkout .form-row select:not(.select2-hidden-accessible) { width: 100%; height: 54px; padding: 18px 40px 0 14px; border: 1px solid #cfcfcf; border-radius: 0; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='1.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center / 14px no-repeat; font-size: 14px; color: var(--color-ink); appearance: none; -webkit-appearance: none; }

/* 50. Low stock note: small caps line with a brand-red dot (replaces the plain red sentence).
   The Elementor paragraph strips class names from the shortcode HTML, so it is styled through .pdp-stock > span > span */
.pdp-stock { color: var(--color-ink, #111) !important; }
.pdp-stock > span { display: inline-flex; align-items: center; gap: 9px; font-size: 11.5px; line-height: 1.4; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--color-ink, #111); }
.pdp-stock > span > span { position: relative; flex: 0 0 7px; width: 7px; height: 7px; border-radius: 50%; background: #9A1B20; }
.pdp-stock > span > span::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; border: 1px solid #9A1B20; opacity: 0; animation: cl-stock-pulse 2.4s ease-out infinite; }
@keyframes cl-stock-pulse { 0% { transform: scale(.5); opacity: .7; } 100% { transform: scale(1.4); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .pdp-stock > span > span::after { animation: none; } }
body.cl-soldout .pdp-stock > span { display: block; font-size: 13px; font-weight: 400; letter-spacing: .02em; text-transform: none; color: #6b6b6b; }

/* 51. Express checkout (Stripe: Apple Pay / Google Pay / Link) on the product page + cart
   Labelled divider above the buttons; Stripe's black "blocked" overlay (shown until a size is chosen) is replaced
   by faded buttons + a short hint, so it never looks like it is still loading. */
#wc-stripe-express-checkout-element { flex-direction: row; flex-wrap: wrap; gap: 8px !important; margin-top: 18px !important; }
#wc-stripe-express-checkout-element > .StripeElement { flex: 1 1 calc((100% - 16px) / 3); min-width: 120px; } /* 2–3 per row, more wrap to a new row */
#wc-stripe-express-checkout-element::before, #wc-stripe-express-checkout-element::after { flex: 0 0 100%; }
#wc-stripe-express-checkout-element { padding-top: 18px; border-top: 1px solid var(--color-gray, #e5e5e5); }
#wc-stripe-express-checkout-element::before { content: "Express checkout"; margin-bottom: 4px; font-size: 11px; line-height: 1.4; letter-spacing: .14em; text-transform: uppercase; color: #6b6b6b; }
#wc-stripe-express-checkout-element > .StripeElement { margin: 0 !important; }
#wc-stripe-express-checkout-element .blockUI.blockOverlay, #wc-stripe-express-checkout-element .blockUI.blockMsg { display: none !important; }
#wc-stripe-express-checkout-element:has(.blockOverlay) > .StripeElement { opacity: .35; filter: grayscale(1); pointer-events: none; transition: opacity .2s; }
#wc-stripe-express-checkout-element:has(.blockOverlay)::after { content: "Select your size to use express checkout"; order: 99; font-size: 12px; letter-spacing: .02em; color: #6b6b6b; text-align: center; }
#wc-stripe-express-checkout-element:not(:has(.StripeElement)) { display: none !important; }

/* 52. Client feedback part 4 ----------------------------------------------------------------------------- */
/* Homepage: no dark overlay on the hero, "Wardrobe essentials" and "Tuxedos & dinner jackets" banners – a soft text shadow keeps the white text readable */
.elementor-element-19327104 .hero-slide::after, .elementor-element-2427645d::after, .elementor-element-1ee35c3::after { display: none !important; }
.elementor-element-19327104 .hero-content, .elementor-element-2427645d .hero-content, .elementor-element-1ee35c3 .hero-content { text-shadow: 0 1px 18px rgba(0, 0, 0, .35), 0 1px 3px rgba(0, 0, 0, .25); }
/* Mega menu: categories and brands read top-to-bottom per column (like Shopify); rows per column set by cl-site.js §19 */
.header-main .header-nav .elementor-nav-menu--main .elementor-nav-menu > li > .sub-menu { grid-auto-flow: column; grid-template-rows: repeat(var(--cl-rows, 5), auto); }
/* Clothing page = Shopify /collections: tall photo tiles, name in white centred on the photo, no counter */
.cl-cats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 767px) { .cl-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } }
.cl-cat { position: relative; gap: 0; }
.cl-cat__media { margin: 0; }
.cl-cat__name { position: absolute; left: 12px; right: 12px; top: 50%; transform: translateY(-50%); text-align: center; color: #fff !important; font: 400 1.35rem/1.25 var(--font-display), serif; text-shadow: 0 1px 14px rgba(0, 0, 0, .45), 0 1px 2px rgba(0, 0, 0, .3); pointer-events: none; }
@media (max-width: 767px) { .cl-cat__name { font-size: 1.05rem; } }
.cl-cat__media::after { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .18); transition: background .3s; pointer-events: none; } /* light tint so the white name reads on any photo (as on Shopify) */
.cl-cat:hover .cl-cat__media::after { background: rgba(0, 0, 0, .28); }
.cl-cat__count, .cl-brand__count { display: none !important; }
/* Notices: space between the text and the "View cart" button */
.woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button, .woocommerce-message a.button.wc-forward { margin-left: 24px !important; }
@media (max-width: 767px) { .woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button, .woocommerce-message a.button.wc-forward { margin-left: 0 !important; margin-top: 10px !important; } }
/* Category filter: "All" (value "all") is never a chip; category pages show the link list instead of the AJAX filter */
.shop-sidebar .jet-radio-list__input:checked[value="all"] + .jet-radio-list__button { background: none !important; padding: 4px 0 !important; }
.shop-sidebar .jet-radio-list__input:checked[value="all"] + .jet-radio-list__button::before { display: none !important; }
.shop-sidebar .jet-radio-list__input[value="all"]:checked + .jet-radio-list__button .jet-radio-list__label { color: var(--color-ink) !important; }
.shop-sidebar > .shop-slot:has(.elementor-widget-shortcode):not(:has(.cl-cat-links)) { display: none !important; }
.cl-cat-links .jet-radio-list__input { position: absolute; opacity: 0; width: 0; height: 0; pointer-events: none; }
.cl-cat-links a.jet-radio-list__item { text-decoration: none; }
/* Product page tax band: Tax Free Shopping logo (white) instead of the "Tax free" text box – text stays for screen readers */
.tax-mark { border: 0 !important; padding: 0 !important; width: 92px !important; height: 92px !important; flex: 0 0 92px; background: url("/wp-content/mu-plugins/cl-site/tax-free-logo.svg") center / contain no-repeat; font-size: 0 !important; line-height: 0 !important; color: transparent !important; }
@media (max-width: 767px) { .tax-mark { width: 72px !important; height: 72px !important; flex-basis: 72px; } }
/* Categories filter = checkboxes (multiple, like Shopify): hidden on category pages, where the link list (.cl-cat-links) is shown */
body.tax-product_cat .shop-sidebar > .shop-slot:has(.jet-checkboxes-list[data-query-var="product_cat"]) { display: none; }
.cl-cat-links .jet-checkboxes-list__input { position: absolute; opacity: 0; width: 0; height: 0; pointer-events: none; }
.cl-cat-links a.jet-checkboxes-list__item { text-decoration: none; display: block; cursor: pointer; }
/* Cart: "(ex. VAT)" on its own line below the price (item subtotal + cart totals) */
.woocommerce-cart .shop_table small.tax_label, .woocommerce-cart .cart_totals small.tax_label { display: block; margin-top: 2px; font-size: 11px; line-height: 1.3; color: var(--color-ink-soft); white-space: nowrap; }