/* ============================================================
 * Shelly Store — luxe.css
 * The luxury layer for the catalogue: shop and archive pages, product pages and
 * the cart. Same language as the Experience Centre: graphite headers, warm paper
 * body, thin large type, hairlines, one restrained blue. Everything is scoped to
 * body.shelly-luxe so no other page changes.
 * ========================================================== */
.shelly-luxe {
	--lx-ink: #0B1419;
	--lx-graphite: #121519;
	--lx-paper: #F9F9F9;
	--lx-tile: #F2F5F8;
	--lx-white: #FDFDFD;
	--lx-dim: rgba(253, 253, 253, 0.66);
	--lx-faint: rgba(253, 253, 253, 0.42);
	--lx-line: rgba(18, 18, 18, 0.1);
	--lx-line-dark: rgba(255, 255, 255, 0.13);
	--lx-blue: #4594D1;
	--lx-sky: #9CDBF6;
	background: var(--lx-paper);
}
.shelly-luxe .wp-site-blocks > main { margin-block-start: 0; background: var(--lx-paper); }
.shelly-luxe .wp-site-blocks > main > * { margin-block-start: 0; }
.shelly-luxe .wp-site-blocks > main.shelly-product { padding-top: 0; }
/* On product pages WooCommerce wraps <main> in its own group, which carries the block gap. */
.shelly-luxe .wp-site-blocks > .woocommerce.product { margin-block-start: 0; background: var(--lx-paper); }
.shelly-luxe .wp-site-blocks > .woocommerce.product > main { margin-block-start: 0; }

/* ============================================================
 * Graphite page header (shop, archives, cart)
 * ========================================================== */
.shelly-luxe-head {
	position: relative;
	overflow: hidden;
	color: var(--lx-white);
	background:
		radial-gradient(70% 130% at 88% -10%, rgba(69, 148, 209, 0.42) 0%, rgba(69, 148, 209, 0) 60%),
		radial-gradient(50% 90% at 0% 110%, rgba(69, 148, 209, 0.16) 0%, rgba(69, 148, 209, 0) 60%),
		linear-gradient(180deg, #0B1419 0%, #121519 100%);
}
/* A page header is never scroll-revealed: it must be there on first paint. */
.shelly-luxe-head.shelly-reveal,
.shelly-luxe .shelly-pdp-hero.shelly-reveal { opacity: 1 !important; transform: none !important; }
.shelly-luxe-head::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.22) 30%, rgba(255,255,255,0.22) 70%, rgba(255,255,255,0) 100%); }
.shelly-luxe-head__inner { position: relative; max-width: var(--shelly-page-max); margin-inline: auto; padding: 40px var(--shelly-pad-x) 52px; }
.shelly-luxe-head .wc-block-breadcrumbs,
.shelly-luxe-head__crumbs { margin: 0 0 44px !important; padding: 0; max-width: none; font: 400 12.5px/1.4 'Manrope', sans-serif; color: var(--lx-faint); }
.shelly-luxe-head .wc-block-breadcrumbs a { color: var(--lx-dim); }
.shelly-luxe-head .wc-block-breadcrumbs a:hover { color: var(--lx-white); }
.shelly-luxe-head__eyebrow { margin: 0 0 16px; font: 700 11px/1 'Manrope', sans-serif; letter-spacing: 0.22em; text-transform: uppercase; color: var(--lx-sky); }
.shelly-luxe-head__title,
.shelly-luxe-head h1.shelly-luxe-head__title { margin: 0 !important; font: 200 clamp(40px, 5.2vw, 76px)/1.02 'Manrope', sans-serif !important; letter-spacing: -0.035em; color: var(--lx-white); text-wrap: balance; }
.shelly-luxe-head__lead { margin: 22px 0 0; max-width: 62ch; font: 400 17px/1.65 'Manrope', sans-serif; color: var(--lx-dim); }
.shelly-luxe-head__lead p { margin: 0; }
.shelly-luxe-head__lead:empty { display: none; }
.shelly-luxe-head__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 36px; }
.shelly-luxe-head__chips a { display: inline-flex; align-items: center; min-height: 38px; padding: 0 16px; font: 600 13px/1 'Manrope', sans-serif; color: var(--lx-dim); border: 1px solid var(--lx-line-dark); background: rgba(255, 255, 255, 0.03); transition: all 180ms ease; }
.shelly-luxe-head__chips a:hover { color: var(--lx-ink); background: var(--lx-white); border-color: var(--lx-white); }
.shelly-luxe-head__chips a[aria-current="page"] { color: var(--lx-ink); background: var(--lx-white); border-color: var(--lx-white); }
.shelly-luxe-head :focus-visible { outline: 2px solid var(--lx-white); outline-offset: 3px; }

.shelly-luxe-steps { list-style: none; display: flex; flex-wrap: wrap; gap: 10px 34px; margin: 34px 0 0; padding: 0; }
.shelly-luxe-steps li { display: inline-flex; align-items: center; gap: 10px; font: 600 13px/1 'Manrope', sans-serif; color: var(--lx-faint); }
.shelly-luxe-steps li span { width: 24px; height: 24px; display: grid; place-items: center; font: 700 11px/1 'Manrope', sans-serif; border: 1px solid currentColor; }
.shelly-luxe-steps li[aria-current="step"] { color: var(--lx-white); }
.shelly-luxe-steps li[aria-current="step"] span { color: var(--lx-ink); background: var(--lx-white); border-color: var(--lx-white); }

/* ============================================================
 * Shop and archives
 * ========================================================== */
.shelly-luxe .shelly-shop { padding-top: 56px; gap: 64px; grid-template-columns: 250px minmax(0, 1fr); }
.shelly-luxe .shelly-shop__sidebar { position: sticky; top: calc(var(--shelly-header-h) + 24px); align-self: start; }
.shelly-luxe .shelly-shop__sidebar h4,
.shelly-luxe .shelly-shop__sidebar .wc-block-product-filter__title,
.shelly-luxe .shelly-shop__sidebar .wp-block-heading { margin: 34px 0 14px; padding: 0 0 12px; font: 700 11px/1 'Manrope', sans-serif !important; letter-spacing: 0.18em; text-transform: uppercase; color: #656669; border-bottom: 1px solid var(--lx-line); }
.shelly-luxe .shelly-shop__sidebar h4:first-child { margin-top: 0; }
.shelly-luxe .shelly-shop__sidebar ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.shelly-luxe .shelly-shop__sidebar li a { display: block; padding: 8px 0; font: 400 14.5px/1.35 'Manrope', sans-serif; color: #121212; border-bottom: 1px solid transparent; transition: color 160ms ease, padding 200ms ease; }
.shelly-luxe .shelly-shop__sidebar li a:hover { color: var(--lx-blue); padding-left: 6px; }

.shelly-luxe .shelly-shop__header { margin-bottom: 28px; padding-bottom: 18px; border-bottom: 1px solid var(--lx-line); }
.shelly-luxe .shelly-shop__count,
.shelly-luxe .woocommerce-result-count { margin: 0; font: 400 13.5px/1.4 'Manrope', sans-serif; color: #656669; }
.shelly-luxe .woocommerce-ordering select,
.shelly-luxe .wc-block-catalog-sorting select { -webkit-appearance: none; appearance: none; height: 42px; padding: 0 38px 0 14px; font: 600 13px/1 'Manrope', sans-serif; color: #121212; background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M2 3.5 5 6.5 8 3.5' fill='none' stroke='%23121212' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 14px center no-repeat; border: 1px solid var(--lx-line); cursor: pointer; }
.shelly-luxe .woocommerce-ordering select:hover { border-color: #121212; }

/* Product cards: a photo tile and a quiet caption */
.shelly-luxe .wp-block-woocommerce-product-template,
.shelly-luxe.woocommerce ul.products { gap: 22px !important; }
.shelly-luxe .wp-block-woocommerce-product-template > li,
.shelly-luxe .wp-block-woocommerce-product-template .wc-block-product,
.shelly-luxe.woocommerce ul.products li.product { padding: 0 0 22px !important; background: #FFFFFF; border: 1px solid rgba(18, 18, 18, 0.06); box-shadow: none; overflow: hidden; }
.shelly-luxe .wp-block-woocommerce-product-template > li:hover,
.shelly-luxe .wp-block-woocommerce-product-template .wc-block-product:hover,
.shelly-luxe.woocommerce ul.products li.product:hover { border-color: rgba(18, 18, 18, 0.18); box-shadow: 0 34px 70px -38px rgba(11, 20, 25, 0.5); transform: translateY(-4px); }
.shelly-luxe .wp-block-woocommerce-product-template .wc-block-components-product-image { margin: 0 0 18px; background: var(--lx-tile); overflow: hidden; }
.shelly-luxe .wp-block-woocommerce-product-template img,
.shelly-luxe .wp-block-woocommerce-product-template .wp-block-woocommerce-product-image img { margin: 0 !important; padding: 26px; background: transparent; mix-blend-mode: multiply; transition: transform 700ms cubic-bezier(0.2, 0.8, 0.2, 1); }
.shelly-luxe .wp-block-woocommerce-product-template .wc-block-product:hover img { opacity: 1; transform: scale(1.06); }
.shelly-luxe .wp-block-woocommerce-product-template .wp-block-post-title,
.shelly-luxe .wp-block-woocommerce-product-template .wc-block-components-product-title { margin: 0 22px 6px !important; font: 400 15.5px/1.4 'Manrope', sans-serif !important; min-height: calc(15.5px * 1.4 * 2); }
.shelly-luxe .wp-block-woocommerce-product-template .wp-block-woocommerce-product-price .wc-block-components-product-price { margin: 0 !important; }
.shelly-luxe .wp-block-woocommerce-product-template .wp-block-woocommerce-product-price { margin: 0 22px 18px !important; font: 600 15px/1.4 'Manrope', sans-serif !important; font-variant-numeric: tabular-nums; }
.shelly-luxe .wp-block-woocommerce-product-template .wc-block-components-product-button { margin: auto 22px 0 !important; width: auto !important; }
.shelly-luxe .wp-block-woocommerce-product-template .wc-block-components-product-button .wp-block-button__link,
.shelly-luxe .wp-block-woocommerce-product-template .wc-block-components-product-button a { width: 100%; min-height: 44px; padding: 0 14px !important; display: inline-flex; align-items: center; justify-content: center; font: 700 11.5px/1 'Manrope', sans-serif !important; letter-spacing: 0.14em; text-transform: uppercase; color: #121212 !important; background: transparent !important; border: 1px solid rgba(18, 18, 18, 0.85) !important; transition: background 200ms ease, color 200ms ease !important; }
.shelly-luxe .wp-block-woocommerce-product-template .wc-block-product:hover .wc-block-components-product-button .wp-block-button__link,
.shelly-luxe .wp-block-woocommerce-product-template .wc-block-components-product-button .wp-block-button__link:hover,
.shelly-luxe .wp-block-woocommerce-product-template .wc-block-components-product-button a:hover { color: #FFFFFF !important; background: var(--lx-ink) !important; border-color: var(--lx-ink) !important; }
.shelly-luxe .wc-block-components-product-sale-badge,
.shelly-luxe .wp-block-woocommerce-product-template .onsale { top: 14px; left: 14px; right: auto; padding: 6px 10px; font: 700 10.5px/1 'Manrope', sans-serif; letter-spacing: 0.12em; text-transform: uppercase; color: #FFFFFF; background: var(--lx-ink); border: 0; border-radius: 0 !important; }

.shelly-luxe .wp-block-query-pagination { gap: 6px; margin-top: 64px !important; }
.shelly-luxe .wp-block-query-pagination a,
.shelly-luxe .wp-block-query-pagination .page-numbers { min-width: 44px; height: 44px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; font: 600 13.5px/1 'Manrope', sans-serif; color: #121212; border: 1px solid var(--lx-line); background: transparent; transition: all 160ms ease; }
.shelly-luxe .wp-block-query-pagination a:hover { color: #FFFFFF; background: var(--lx-ink); border-color: var(--lx-ink); }
.shelly-luxe .wp-block-query-pagination .page-numbers.current { color: #FFFFFF; background: var(--lx-ink); border-color: var(--lx-ink); }

/* ============================================================
 * Product page: graphite stage, the product in a lit vitrine
 * ========================================================== */
.shelly-luxe .shelly-pdp-hero {
	color: var(--lx-white);
	border-bottom: 0;
	background:
		radial-gradient(60% 80% at 22% 38%, rgba(69, 148, 209, 0.30) 0%, rgba(69, 148, 209, 0) 62%),
		radial-gradient(45% 70% at 100% 0%, rgba(69, 148, 209, 0.16) 0%, rgba(69, 148, 209, 0) 60%),
		linear-gradient(180deg, #0B1419 0%, #121519 78%, #0B1419 100%);
}
.shelly-luxe .shelly-pdp-hero__watermark { color: rgba(255, 255, 255, 0.028); font-weight: 200; }
.shelly-luxe .shelly-pdp-hero .wc-block-breadcrumbs { color: var(--lx-faint); }
.shelly-luxe .shelly-pdp-hero .wc-block-breadcrumbs a { color: var(--lx-dim); }
.shelly-luxe .shelly-pdp-hero .wc-block-breadcrumbs a:hover { color: var(--lx-white); }
.shelly-luxe .shelly-pdp-hero__gallery { background: #FFFFFF; border: 0; box-shadow: 0 60px 120px -50px rgba(0, 0, 0, 0.85), 0 0 0 1px rgba(255, 255, 255, 0.06); }
.shelly-luxe .shelly-pdp-hero__gallery-tag span { color: #FFFFFF; background: var(--lx-ink); border-color: var(--lx-ink); }

.shelly-luxe .shelly-pdp-hero__summary { color: var(--lx-white); }
.shelly-luxe .shelly-pdp-hero__summary .shelly-eyebrow { color: var(--lx-sky); letter-spacing: 0.2em; }
.shelly-luxe .shelly-pdp-hero__summary .wc-block-components-product-sku,
.shelly-luxe .shelly-pdp-hero__summary .sku_wrapper { color: var(--lx-faint); }
.shelly-luxe .shelly-pdp-summary__title.wp-block-post-title { font: 200 clamp(36px, 3.7vw, 60px)/1.04 'Manrope', sans-serif; letter-spacing: -0.03em; color: var(--lx-white); text-wrap: balance; }
.shelly-luxe .shelly-pdp-summary__price,
.shelly-luxe .shelly-pdp-summary__price.wc-block-components-product-price,
.shelly-luxe .shelly-pdp-summary__price .amount { color: var(--lx-white) !important; font-weight: 300 !important; letter-spacing: -0.01em; }
.shelly-luxe .shelly-pdp-hero__summary .price,
.shelly-luxe .shelly-pdp-hero__summary .wc-block-components-product-price { color: var(--lx-white) !important; }
.shelly-luxe .shelly-pdp-summary__price del,
.shelly-luxe .shelly-pdp-summary__price del .amount { color: var(--lx-faint) !important; }
.shelly-luxe .shelly-pdp-summary__excerpt,
.shelly-luxe .shelly-pdp-summary__excerpt p { color: var(--lx-dim); }
.shelly-luxe .shelly-pdp-hero__summary .shelly-pdp-warranty,
.shelly-luxe .shelly-pdp-hero__summary [class*="warranty"] { color: var(--lx-white); border-color: var(--lx-line-dark); background: rgba(255, 255, 255, 0.04); }

.shelly-luxe .shelly-pdp-buy { background: rgba(255, 255, 255, 0.04); border: 1px solid var(--lx-line-dark); box-shadow: none; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.shelly-luxe .shelly-pdp-buy .quantity { border-color: rgba(255, 255, 255, 0.28); background: transparent; }
.shelly-luxe .shelly-pdp-buy .quantity input.qty { color: var(--lx-white) !important; background: transparent !important; }
.shelly-luxe .shelly-pdp-buy .quantity .qib-button { color: var(--lx-white) !important; background: transparent !important; border-color: rgba(255, 255, 255, 0.28) !important; }
.shelly-luxe .shelly-pdp-buy .quantity .qib-button:hover { color: var(--lx-ink) !important; background: var(--lx-white) !important; }
.shelly-luxe .shelly-pdp-buy .single_add_to_cart_button,
.shelly-luxe .shelly-pdp-buy button.button.alt { color: var(--lx-ink) !important; background: var(--lx-white) !important; border: 1px solid var(--lx-white) !important; letter-spacing: 0.14em; transition: background 200ms ease, color 200ms ease, border-color 200ms ease !important; }
.shelly-luxe .shelly-pdp-buy .single_add_to_cart_button:hover,
.shelly-luxe .shelly-pdp-buy button.button.alt:hover { color: #FFFFFF !important; background: var(--lx-blue) !important; border-color: var(--lx-blue) !important; }
.shelly-luxe .shelly-pdp-buy .single_add_to_cart_button.disabled { opacity: 0.45; }
.shelly-luxe .shelly-pdp-buy table.variations th,
.shelly-luxe .shelly-pdp-buy table.variations label,
.shelly-luxe .shelly-pdp-buy .woocommerce-variation-price .amount,
.shelly-luxe .shelly-pdp-buy .woocommerce-variation-availability,
.shelly-luxe .shelly-pdp-buy .stock { color: var(--lx-white) !important; }
.shelly-luxe .shelly-pdp-buy table.variations select { color: var(--lx-white); background-color: transparent; border-color: rgba(255, 255, 255, 0.28); }
.shelly-luxe .shelly-pdp-buy table.variations select option { color: #121212; }
.shelly-luxe .shelly-pdp-buy .reset_variations { color: var(--lx-dim); }
.shelly-luxe .shelly-pdp-secondary .wp-block-button__link { color: var(--lx-white) !important; background: transparent !important; border: 1px solid rgba(255, 255, 255, 0.35) !important; }
.shelly-luxe .shelly-pdp-secondary .wp-block-button__link:hover { color: var(--lx-ink) !important; background: var(--lx-white) !important; border-color: var(--lx-white) !important; }
.shelly-luxe .shelly-pdp-features__list,
.shelly-luxe .shelly-pdp-features__list li { color: var(--lx-dim); border-color: var(--lx-line-dark); }
.shelly-luxe .shelly-pdp-hero__summary hr,
.shelly-luxe .shelly-pdp-hero__summary [class*="features"] { border-color: var(--lx-line-dark); }
.shelly-luxe .shelly-pdp-hero :focus-visible { outline-color: var(--lx-white); }

/* Link into the matching 3D station */
.shelly-pdp-xp { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 16px; align-items: center; margin: 14px 0 0; padding: 16px 18px; color: var(--lx-white, #FDFDFD); background: linear-gradient(90deg, rgba(69, 148, 209, 0.34), rgba(69, 148, 209, 0.08)); border: 1px solid rgba(156, 219, 246, 0.4); transition: border-color 200ms ease, background 200ms ease, transform 200ms ease; }
.shelly-pdp-xp:hover { color: #FFFFFF; border-color: #9CDBF6; transform: translateX(3px); }
.shelly-pdp-xp__badge { padding: 7px 8px; font: 700 11px/1 'Manrope', sans-serif; letter-spacing: 0.08em; color: #0B1419; background: #FDFDFD; }
.shelly-pdp-xp__text { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.shelly-pdp-xp__text strong { font: 600 14.5px/1.3 'Manrope', sans-serif; }
.shelly-pdp-xp__text small { font: 400 12.5px/1.4 'Manrope', sans-serif; color: rgba(253, 253, 253, 0.66); }

/* Sections under the stage */
.shelly-luxe .shelly-pdp-specs { background: var(--lx-paper); }
.shelly-luxe .shelly-pdp-specs__head h2,
.shelly-luxe .shelly-pdp-compat__title,
.shelly-luxe .shelly-pdp-related h2,
.shelly-luxe .shelly-pdp-related .wp-block-heading { font-weight: 200 !important; letter-spacing: -0.03em; font-size: clamp(32px, 3.6vw, 52px) !important; }
.shelly-luxe .shelly-pdp-specs__watermark { font-weight: 200; }

/* ============================================================
 * Cart
 * ========================================================== */
.shelly-luxe-cart { max-width: var(--shelly-page-max); margin-inline: auto; padding: 56px var(--shelly-pad-x) 120px; }
.shelly-luxe-cart > .woocommerce { max-width: none !important; width: 100%; margin: 0; display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 40px; align-items: start; }
.shelly-luxe-cart > .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.shelly-luxe-cart > .woocommerce > .woocommerce-notices-wrapper:empty { display: none; }
.shelly-luxe-cart .wc-block-components-notice-banner,
.shelly-luxe-cart .woocommerce-message,
.shelly-luxe-cart .woocommerce-info,
.shelly-luxe-cart .woocommerce-error { margin: 0 0 8px; padding: 16px 20px; font: 400 14px/1.5 'Manrope', sans-serif; color: #121212; background: #FFFFFF; border: 1px solid var(--lx-line); border-left: 3px solid var(--lx-blue); border-radius: 0; box-shadow: none; outline: 0; }
.shelly-luxe-cart .woocommerce-error,
.shelly-luxe-cart .wc-block-components-notice-banner.is-error { border-left-color: #D1223E; }
.shelly-luxe-cart .wc-block-components-notice-banner { display: flex; align-items: center; gap: 12px; }
.shelly-luxe-cart .wc-block-components-notice-banner > svg { flex: none; width: 22px; height: 22px; padding: 3px; fill: #FFFFFF; background: var(--lx-blue); border-radius: 50%; }
.shelly-luxe-cart .wc-block-components-notice-banner.is-error > svg { background: #D1223E; }
.shelly-luxe-cart .wc-block-components-notice-banner__content { flex: 1 1 auto; }
.shelly-luxe-cart .wc-block-components-notice-banner .button,
.shelly-luxe-cart .woocommerce-message .button,
.shelly-luxe-cart .woocommerce-message a.wc-forward { display: none; }

.shelly-luxe-cart .woocommerce-cart-form { background: #FFFFFF; border: 1px solid var(--lx-line); padding: 8px 28px 24px; }
.shelly-luxe-cart table.shop_table { border: 0 !important; border-radius: 0 !important; margin: 0; background: transparent; border-collapse: collapse; }
.shelly-luxe-cart table.shop_table th { padding: 22px 12px 16px; font: 700 10.5px/1 'Manrope', sans-serif; letter-spacing: 0.16em; text-transform: uppercase; color: #656669; background: transparent; border: 0; border-bottom: 1px solid var(--lx-line); }
.shelly-luxe-cart table.shop_table td { padding: 22px 12px; border-top: 0; border-bottom: 1px solid var(--lx-line); vertical-align: middle; font: 400 15px/1.4 'Manrope', sans-serif; color: #121212; }
.shelly-luxe-cart td.product-thumbnail { width: 108px; min-width: 108px; }
.shelly-luxe-cart td.product-thumbnail a { display: block; background: var(--lx-tile); }
.shelly-luxe-cart td.product-thumbnail img { display: block; width: 84px !important; max-width: none; height: 84px !important; padding: 8px; object-fit: contain; mix-blend-mode: multiply; border-radius: 0 !important; }
.shelly-luxe-cart td.product-name a { font: 600 16px/1.35 'Manrope', sans-serif; color: #121212; }
.shelly-luxe-cart td.product-name a:hover { color: var(--lx-blue); }
.shelly-luxe-cart td.product-price,
.shelly-luxe-cart td.product-subtotal { font-variant-numeric: tabular-nums; white-space: nowrap; }
.shelly-luxe-cart td.product-subtotal { font-weight: 700; }
.shelly-luxe-cart td.product-remove { width: 44px; padding-left: 0; }
.shelly-luxe-cart td.product-remove a.remove { width: 30px; height: 30px; display: grid; place-items: center; font: 300 20px/1 'Manrope', sans-serif; color: #656669 !important; background: transparent; border: 1px solid var(--lx-line); border-radius: 50%; transition: all 160ms ease; }
.shelly-luxe-cart td.product-remove a.remove:hover { color: #FFFFFF !important; background: #D1223E; border-color: #D1223E; }
.shelly-luxe-cart td.actions { padding: 24px 12px 0 !important; border-bottom: 0 !important; }
.shelly-luxe-cart td.actions .coupon { display: inline-flex; gap: 8px; align-items: center; }
.shelly-luxe-cart td.actions .coupon input.input-text { width: 200px !important; height: 46px; padding: 0 14px !important; font: 400 14px/1 'Manrope', sans-serif; border: 1px solid var(--lx-line) !important; background: var(--lx-paper); }
.shelly-luxe-cart td.actions .button { height: 46px; padding: 0 20px !important; font: 700 11.5px/1 'Manrope', sans-serif !important; letter-spacing: 0.14em; text-transform: uppercase; color: #121212 !important; background: transparent !important; border: 1px solid rgba(18, 18, 18, 0.85) !important; transition: all 180ms ease; }
.shelly-luxe-cart td.actions .button:hover:not(:disabled) { color: #FFFFFF !important; background: var(--lx-ink) !important; }
.shelly-luxe-cart td.actions .button:disabled { opacity: 0.35; cursor: default; }
.shelly-luxe-cart td.actions > .button { float: right; }

/* Totals: a graphite card that stays in view */
.shelly-luxe-cart .cart-collaterals { position: sticky; top: calc(var(--shelly-header-h) + 24px); width: auto; float: none; }
.shelly-luxe-cart .cart-collaterals .cart_totals { width: 100% !important; float: none !important; padding: 34px 32px 32px; color: var(--lx-white); border: 0 !important; border-radius: 0 !important; background: radial-gradient(90% 60% at 100% 0%, rgba(69, 148, 209, 0.42) 0%, rgba(69, 148, 209, 0) 65%), linear-gradient(180deg, #0B1419 0%, #121519 100%); box-shadow: 0 50px 90px -50px rgba(11, 20, 25, 0.7); }
.shelly-luxe-cart .cart_totals h2 { margin: 0 0 22px; font: 200 32px/1.1 'Manrope', sans-serif; letter-spacing: -0.02em; color: var(--lx-white); }
.shelly-luxe-cart .cart_totals table.shop_table th,
.shelly-luxe-cart .cart_totals table.shop_table td { padding: 16px 0; color: var(--lx-white); border-bottom: 1px solid var(--lx-line-dark); background: transparent; vertical-align: top; }
.shelly-luxe-cart .cart_totals table.shop_table th { width: 38%; color: var(--lx-faint); text-align: left; }
.shelly-luxe-cart .cart_totals table.shop_table td { text-align: right; font-variant-numeric: tabular-nums; }
.shelly-luxe-cart .cart_totals .woocommerce-shipping-methods { list-style: none; margin: 0; padding: 0; }
.shelly-luxe-cart .cart_totals .woocommerce-shipping-destination,
.shelly-luxe-cart .cart_totals .woocommerce-shipping-calculator,
.shelly-luxe-cart .cart_totals small { margin: 6px 0 0; font-size: 12.5px; color: var(--lx-faint); }
.shelly-luxe-cart .cart_totals a { color: var(--lx-sky); }
.shelly-luxe-cart .cart_totals tr.order-total th,
.shelly-luxe-cart .cart_totals tr.order-total td { padding-top: 22px; border-bottom: 0; }
.shelly-luxe-cart .cart_totals tr.order-total td .amount { font: 300 30px/1 'Manrope', sans-serif; font-variant-numeric: normal; letter-spacing: -0.02em; color: var(--lx-white); }
.shelly-luxe-cart .cart_totals tr.order-total th { color: var(--lx-white); }
.shelly-luxe-cart .wc-proceed-to-checkout { padding: 22px 0 0; }
.shelly-luxe-cart .wc-proceed-to-checkout a.checkout-button { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 58px; margin: 0; padding: 0 20px; font: 700 12.5px/1 'Manrope', sans-serif !important; letter-spacing: 0.16em; text-transform: uppercase; color: var(--lx-ink) !important; background: var(--lx-white) !important; border: 1px solid var(--lx-white) !important; border-radius: 0 !important; transition: all 200ms ease; }
.shelly-luxe-cart .wc-proceed-to-checkout a.checkout-button:hover { color: #FFFFFF !important; background: var(--lx-blue) !important; border-color: var(--lx-blue) !important; }
.shelly-luxe-cart .shipping-calculator-form input,
.shelly-luxe-cart .shipping-calculator-form select { color: #121212; background: #FFFFFF; }
.shelly-luxe-cart .cross-sells { margin-top: 32px; }
.shelly-luxe-cart .cross-sells > h2 { font: 200 28px/1.1 'Manrope', sans-serif; letter-spacing: -0.02em; margin: 0 0 18px; }

/* Empty cart: keyed on the "Return to shop" block, which only exists when the cart is empty */
.shelly-luxe-cart > .woocommerce:has(.return-to-shop) { display: block; max-width: 720px !important; margin-inline: auto; padding: 56px 0 24px; text-align: center; }
.shelly-luxe-cart > .woocommerce:has(.return-to-shop) .wc-block-components-notice-banner,
.shelly-luxe-cart .cart-empty { display: block; margin: 0; padding: 0 !important; border: 0 !important; background: transparent !important; font: 200 clamp(28px, 4vw, 40px)/1.2 'Manrope', sans-serif !important; letter-spacing: -0.02em; color: #121212; }
.shelly-luxe-cart > .woocommerce:has(.return-to-shop) .wc-block-components-notice-banner > svg,
.shelly-luxe-cart .cart-empty::before { display: none; }
.shelly-luxe-cart .return-to-shop { margin: 0; }
.shelly-luxe-cart .return-to-shop .button { display: inline-flex; align-items: center; min-height: 54px; margin-top: 30px; padding: 0 30px !important; font: 700 12px/1 'Manrope', sans-serif !important; letter-spacing: 0.16em; text-transform: uppercase; color: #FFFFFF !important; background: var(--lx-ink) !important; border: 1px solid var(--lx-ink) !important; }
.shelly-luxe-cart .return-to-shop .button:hover { background: var(--lx-blue) !important; border-color: var(--lx-blue) !important; }

/* ============================================================
 * Responsive
 * ========================================================== */
@media (max-width: 1199px) {
	.shelly-luxe-cart > .woocommerce { grid-template-columns: minmax(0, 1fr) 360px; gap: 28px; }
	.shelly-luxe .shelly-shop { gap: 40px; grid-template-columns: 220px minmax(0, 1fr); }
}
@media (max-width: 989px) {
	.shelly-luxe-head__inner { padding: 28px var(--shelly-pad-x-mobile) 36px; }
	.shelly-luxe-head .wc-block-breadcrumbs { margin-bottom: 28px !important; }
	.shelly-luxe-head__chips { flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(var(--shelly-pad-x-mobile) * -1); padding-inline: var(--shelly-pad-x-mobile); scrollbar-width: none; }
	.shelly-luxe-head__chips::-webkit-scrollbar { display: none; }
	.shelly-luxe-head__chips a { white-space: nowrap; }
	.shelly-luxe .shelly-shop { grid-template-columns: 1fr; padding-top: 32px; }
	.shelly-luxe .shelly-shop__sidebar { position: static; }
	.shelly-luxe .wp-block-woocommerce-product-template img { padding: 16px; }
	.shelly-luxe .wp-block-woocommerce-product-template .wp-block-post-title,
	.shelly-luxe .wp-block-woocommerce-product-template .wp-block-woocommerce-product-price { margin-inline: 14px !important; }
	.shelly-luxe .wp-block-woocommerce-product-template .wc-block-components-product-button { margin-inline: 14px !important; }
	.shelly-luxe-cart { padding: 32px var(--shelly-pad-x-mobile) 80px; }
	.shelly-luxe-cart > .woocommerce { grid-template-columns: 1fr; }
	.shelly-luxe-cart .cart-collaterals { position: static; }
	.shelly-luxe-cart .woocommerce-cart-form { padding: 4px 16px 18px; }
	.shelly-luxe-cart td.actions .coupon { display: flex; width: 100%; margin-bottom: 10px; }
	.shelly-luxe-cart td.actions .coupon input.input-text { flex: 1 1 auto; width: auto !important; }
	.shelly-luxe-cart td.actions > .button { float: none; width: 100%; }
}
/* Cart rows stack on small screens: photo left, name and quantity in the middle, remove and subtotal right. */
@media (max-width: 720px) {
	.shelly-luxe-cart > .woocommerce > * { min-width: 0; }
	.shelly-luxe-cart .woocommerce-cart-form table.shop_table,
	.shelly-luxe-cart .woocommerce-cart-form table.shop_table tbody { display: block; width: 100%; }
	.shelly-luxe-cart .woocommerce-cart-form table.shop_table thead { display: none; }
	.shelly-luxe-cart .woocommerce-cart-form tr.cart_item { display: grid; grid-template-columns: 84px minmax(0, 1fr) auto; grid-template-areas: "thumb name remove" "thumb qty total"; gap: 12px 14px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--lx-line); }
	.shelly-luxe-cart .woocommerce-cart-form tr.cart_item td { display: block; width: auto !important; min-width: 0; padding: 0 !important; border: 0 !important; text-align: left !important; }
	.shelly-luxe-cart .woocommerce-cart-form tr.cart_item td::before { content: none !important; }
	.shelly-luxe-cart .woocommerce-cart-form td.product-thumbnail { grid-area: thumb; }
	.shelly-luxe-cart .woocommerce-cart-form td.product-name { grid-area: name; }
	.shelly-luxe-cart .woocommerce-cart-form td.product-remove { grid-area: remove; justify-self: end; }
	.shelly-luxe-cart .woocommerce-cart-form td.product-quantity { grid-area: qty; }
	.shelly-luxe-cart .woocommerce-cart-form td.product-subtotal { grid-area: total; justify-self: end; }
	.shelly-luxe-cart .woocommerce-cart-form td.product-price { display: none !important; }
	.shelly-luxe-cart .woocommerce-cart-form tr:not(.cart_item) { display: block; }
	.shelly-luxe-cart .woocommerce-cart-form td.actions { display: block; padding: 18px 0 0 !important; }
	.shelly-luxe-cart .cart-collaterals .cart_totals { padding: 28px 22px 24px; }
	.shelly-luxe-cart .cart_totals table.shop_table { display: table; width: 100%; table-layout: fixed; }
	.shelly-luxe-cart .cart_totals table.shop_table tr { display: table-row; }
	.shelly-luxe-cart .cart_totals table.shop_table th,
	.shelly-luxe-cart .cart_totals table.shop_table td { display: table-cell; }
	.shelly-luxe-cart .cart_totals table.shop_table td::before { content: none !important; }
	.shelly-luxe-head__title, .shelly-luxe-head h1.shelly-luxe-head__title { font-size: clamp(34px, 10vw, 44px) !important; }
	.shelly-luxe-steps { gap: 10px 20px; }
}
@media (prefers-reduced-motion: reduce) {
	.shelly-luxe .wp-block-woocommerce-product-template img,
	.shelly-luxe .wp-block-woocommerce-product-template > li,
	.shelly-pdp-xp { transition: none; }
}
