/* =====================================================================
   Grimdrop Sections 2.x : store screens
   ---------------------------------------------------------------------
   The 2.0 replacement for the "Additional CSS" that lived in the
   Customizer (v5). Same selectors and the same layout fixes, redrawn in
   the new design system, plus re-skins for the snippet screens:

     WooCommerce ... forms, buttons, notices, shop grid, product page,
                     cart, checkout, thank-you, login / register,
                     My Account, orders, addresses, blog
     Snippets ...... wallet (.gdw + inline wallet card), bulk orders
                     (.qtbo), bulk pay (.qtbp), eBay export v2 (.gde2g),
                     contact form (.qtcf), single-product export
                     (.qtspx), imported list, cart button (.gdc-btn),
                     mobile nav pill (.gdmn)

   While this file is active the plugin stops printing the Customizer
   CSS (Settings > Grimdrop Sections > Store styles). The Customizer text
   itself is never edited or deleted, so switching back is one click.

   Snippet stylesheets print inside <body>, after this file, so every
   snippet override below is prefixed with `body` to win on specificity.
   ===================================================================== */

:root {
	--s-canvas: #DCEDB4;
	--s-paper: #F2F7E6;
	--s-card: #FFFFFF;
	--s-soft: #F5F9EC;
	--s-lime: #D2F27F;
	--s-lime-soft: #EEF8D2;
	--s-volt: #BDEB45;
	--s-leaf: #1F4D2B;
	--s-leaf-2: #163C20;
	--s-forest: #13261D;
	--s-forest-2: #1B3328;
	--s-ink: #0E1C14;
	--s-ink-2: #4C5E52;
	--s-ink-3: #6E8574;
	--s-line: #E3E8DC;
	--s-line-2: #D3DDC8;
	--s-danger: #B23A3A;
	--s-danger-bg: #FBEFEF;
	--s-danger-bd: #F0D4D4;
	--s-warn: #6B5208;
	--s-warn-bg: #FBF4DC;
	--s-warn-bd: #EFE0AE;
	--s-r: 28px;
	--s-r-card: 22px;
	--s-r-field: 14px;
	--s-ring: 0 0 0 4px rgba(31, 77, 43, .12);
	--s-font: "Geist", "Helvetica Neue", Helvetica, Arial, sans-serif;

	/* Legacy tokens: anything still reading the 1.x names gets the new palette. */
	--qt-bg: #F2F7E6; --qt-card: #FFFFFF; --qt-ink: #0E1C14; --qt-ink-2: #4C5E52; --qt-ink-3: #6E8574;
	--qt-green: #D2F27F; --qt-green-ink: #13261D; --qt-green-soft: #EEF8D2; --qt-green-bd: #D6EA9F;
	--qt-yellow: #D2F27F; --qt-yellow-ink: #13261D; --qt-hair: #E3E8DC; --qt-hairline: #E3E8DC;
	--qt-danger: #B23A3A; --qt-danger-bg: #FBEFEF; --qt-danger-bd: #F0D4D4;
	--qt-r-card: 22px; --qt-r-btn: 999px; --qt-r-input: 14px; --qt-r-pill: 999px;
	--qt-d: "Geist", "Helvetica Neue", Helvetica, Arial, sans-serif; --qt-b: "Geist", "Helvetica Neue", Helvetica, Arial, sans-serif;
	--qt-display: "Geist", "Helvetica Neue", Helvetica, Arial, sans-serif; --qt-body: "Geist", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* ---------- Page canvas + panel for store screens ----------
   Cart, checkout, wallet, eBay export and the contact form are plain
   shortcodes on Elementor pages. Give them the lime canvas and seat the
   shortcode in a rounded paper panel, like every other section. */
body:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .single-product),
body:has(.gdw, .gde2g, .qtcf) { background-color: var(--s-canvas); }
body:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .single-product, .woocommerce-page),
body:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .single-product) :is(input, select, textarea, button) {
	font-family: var(--s-font);
}
/* Elementor prints per-element width and padding for the widget
   (0,3,0); the body/.elementor prefix keeps the panel above that. */
body .elementor .elementor-element.elementor-widget-shortcode:has(.woocommerce, .gdw, .gde2g) {
	margin: 12px; padding: clamp(22px, 4vw, 52px); border-radius: var(--s-r);
	background: var(--s-paper); color: var(--s-ink); font-family: var(--s-font);
	width: calc(100% - 24px); max-width: calc(100% - 24px); align-self: center;
}
.elementor-widget-shortcode:has(.gdw) > .elementor-shortcode,
.elementor-widget-shortcode:has(.gde2g) > .elementor-shortcode { max-width: 1240px; margin: 0 auto; }

/* Page heading the plugin prints above cart, checkout, wallet and export. */
.gd-pagehead { display: flex; justify-content: space-between; align-items: flex-end; gap: 18px; flex-wrap: wrap; margin: 0 0 30px; font-family: var(--s-font); }
.gd-pagehead__kicker { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; color: var(--s-ink-2); }
.gd-pagehead__kicker::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--s-volt); box-shadow: 0 0 0 4px rgba(189, 235, 69, .22); }
.gd-pagehead__title { margin: 14px 0 0; font-size: clamp(32px, 4vw, 52px); font-weight: 420; letter-spacing: -.035em; line-height: 1.04; color: var(--s-ink); }
.gd-pagehead__note { margin: 0; max-width: 44ch; font-size: 15px; line-height: 1.6; color: var(--s-ink-2); }

/* Plain text links inside WooCommerce screens (privacy policy, lost
   password, terms): the theme paints them pink. */
.woocommerce :is(p, li, td, th, label, small, span, div, address) > a:not([class]),
body .woocommerce-privacy-policy-text a, body .woocommerce-terms-and-conditions-link {
	color: var(--s-leaf); text-decoration: underline; text-decoration-color: var(--s-volt); text-decoration-thickness: 2px; text-underline-offset: 3px;
}

/* ======================================================================
   1 - SHARED FORM INPUTS
   ==================================================================== */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-page form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce .select2-selection {
	border-radius: var(--s-r-field); border: 1px solid var(--s-line-2);
	padding: 13px 15px; background-color: var(--s-card); box-shadow: none;
	transition: border-color .15s ease, box-shadow .15s ease;
	font-family: var(--s-font); font-size: 16px; color: var(--s-ink);
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	border-color: var(--s-leaf); background-color: var(--s-card); box-shadow: var(--s-ring); outline: none;
}
.woocommerce form .form-row label { font-family: var(--s-font); font-weight: 500; font-size: 13.5px; color: var(--s-ink); margin-bottom: 7px; }
.woocommerce form .form-row .required { color: var(--s-leaf); border: 0; text-decoration: none; }
.woocommerce :is(input[type=checkbox], input[type=radio]) { accent-color: var(--s-leaf); }

/* ======================================================================
   2 - BASE BUTTONS  (no !important: context rules below must win)
   ==================================================================== */
.woocommerce #respond input#submit,
.woocommerce a.button, .woocommerce button.button,
.woocommerce input.button, .woocommerce #place_order {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	background-color: var(--s-leaf); color: var(--s-lime);
	border-radius: 999px; padding: 15px 26px; min-height: 50px;
	font-family: var(--s-font); font-weight: 500; font-size: 15px; line-height: 1.1; letter-spacing: -.005em;
	border: none; box-shadow: 0 0 0 4px rgba(31, 77, 43, .1);
	transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
.woocommerce #respond input#submit:hover, .woocommerce a.button:hover,
.woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce #place_order:hover { background-color: var(--s-leaf-2); color: var(--s-lime); box-shadow: 0 0 0 4px rgba(31, 77, 43, .1); }
.woocommerce a.button.alt.added_to_cart,
.woocommerce a.button.wc-backward { background-color: var(--s-forest); color: var(--s-lime); }
.woocommerce .button:disabled,
.woocommerce button.button:disabled[disabled] { background-color: #DCE4D2 !important; color: var(--s-ink-3) !important; box-shadow: none !important; }

/* ======================================================================
   3 - NOTICES
   ==================================================================== */
.woocommerce-message, .woocommerce-info {
	border: 1px solid #D6EA9F; border-top: 1px solid #D6EA9F; background-color: var(--s-lime-soft);
	color: var(--s-forest); border-radius: 18px; box-shadow: none;
	font-family: var(--s-font); font-size: 15px; padding: 16px 20px 16px 52px;
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--s-leaf); top: 1.05em; left: 1.25em; }
.woocommerce-error {
	border: 1px solid var(--s-danger-bd); border-top: 1px solid var(--s-danger-bd); background-color: var(--s-danger-bg);
	color: var(--s-danger); border-radius: 18px; box-shadow: none; font-family: var(--s-font); padding: 16px 20px 16px 52px;
}
.woocommerce-error::before { color: var(--s-danger); top: 1.05em; left: 1.25em; }
.woocommerce-message .button, .woocommerce-info .button {
	background: var(--s-forest) !important; color: var(--s-lime) !important; border-radius: 999px !important;
	padding: 9px 18px !important; min-height: 0 !important; font-size: 13px !important; box-shadow: none !important;
}

/* ======================================================================
   4 - SHOP / ARCHIVE PRODUCT GRID
   ==================================================================== */
.woocommerce ul.products li.product {
	background-color: var(--s-card); border-radius: var(--s-r-card); border: 1px solid var(--s-line);
	transition: border-color .2s ease, box-shadow .25s ease, transform .3s ease; padding: 10px 10px 14px !important; text-align: left;
	box-shadow: none; overflow: hidden; position: relative;
}
.woocommerce ul.products li.product:hover { border-color: var(--s-line-2); box-shadow: 0 14px 30px -22px rgba(14, 28, 20, .45); transform: translateY(-2px); }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: block; overflow: hidden; }
.woocommerce ul.products li.product a img {
	border-radius: 16px; margin: 0; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; background: #F1F4EC; transition: none;
}
.woocommerce ul.products li.product:hover a img { transform: none; }
.woocommerce ul.products li.product span.onsale {
	background-color: var(--s-lime) !important; color: var(--s-forest) !important; border-radius: 999px !important;
	font-family: var(--s-font); font-size: 11.5px !important; font-weight: 600 !important; text-transform: none; letter-spacing: 0;
	padding: 5px 11px !important; min-height: auto !important; min-width: auto !important; line-height: 1.1 !important;
	top: 18px !important; right: 18px !important; left: auto !important; box-shadow: none; border: none !important; margin: 0 !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--s-font); font-size: 15px; font-weight: 500; color: var(--s-ink); letter-spacing: -.01em;
	padding: 14px 6px 6px; margin: 0; line-height: 1.35;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.woocommerce ul.products li.product .price {
	font-family: var(--s-font); font-size: 19px; font-weight: 500; letter-spacing: -.02em; color: var(--s-ink) !important;
	padding: 4px 6px 12px !important; margin: 0; background: transparent !important; border: none !important;
	display: flex !important; align-items: center; gap: 8px; font-variant-numeric: tabular-nums;
}
.woocommerce ul.products li.product .price del { color: var(--s-ink-3) !important; font-size: 14px; font-weight: 400; opacity: 1; }
.woocommerce ul.products li.product .price ins { background: transparent !important; text-decoration: none; color: var(--s-ink) !important; }
.woocommerce ul.products li.product .button {
	margin: 0 !important; width: 100%; display: flex !important; text-align: center;
	background-color: var(--s-forest) !important; color: var(--s-lime) !important; border: 0 !important;
	border-radius: 999px; padding: 11px 0 !important; min-height: 42px; font-family: var(--s-font); font-weight: 500; font-size: 14px; box-shadow: none !important;
	transition: background-color .2s ease;
}
.woocommerce ul.products li.product .button:hover { background-color: var(--s-leaf) !important; color: var(--s-lime) !important; }

/* ======================================================================
   5 - SINGLE PRODUCT  >>> PLUGIN TEMPLATE <<<   (layout fixes kept)
   ==================================================================== */
.single-product div.product.qtsp-page {
	display: block !important; grid-template-columns: none !important; grid-column: 1 / -1 !important;
	grid-row: auto !important; gap: 0 !important; float: none !important; clear: both !important;
	width: 100% !important; max-width: 100% !important; flex: 1 1 100% !important; flex-basis: 100% !important;
}
.single-product div.product.qtsp-page::before,
.single-product div.product.qtsp-page::after { display: none !important; content: none !important; }
.single-product div.product.qtsp-page > .qtsp,
.single-product div.product.qtsp-page .qtsp,
.single-product div.product.qtsp-page .qtsp__card { width: 100% !important; max-width: 100% !important; float: none !important; }
.single-product .woocommerce { display: block !important; }
.single-product #primary, .single-product .content-area, .single-product .site-main, .single-product #content {
	width: 100% !important; max-width: 100% !important; float: none !important;
}
.single-product #secondary, .single-product .widget-area, .single-product .sidebar { display: none !important; }
.single-product div.product.qtsp-page form.cart { margin: 0 0 22px !important; display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.single-product div.product.qtsp-page .related.products,
.single-product div.product.qtsp-page .up-sells.upsells { border-top: 1px solid var(--s-line); margin-top: 12px; padding-top: 32px; clear: both; }
.single-product div.product.qtsp-page .related.products > h2,
.single-product div.product.qtsp-page .up-sells.upsells > h2,
.single-product .qtsp__related .related.products > h2 {
	font-family: var(--s-font); font-weight: 420; letter-spacing: -.03em; color: var(--s-ink); font-size: clamp(26px, 2.6vw, 36px); margin-bottom: 22px;
}
/* The product page sits on the canvas; give the related block the same panel. */
.single-product .qtsp__related { margin: 12px; padding: clamp(22px, 4vw, 44px); background: var(--s-paper); border-radius: var(--s-r); }
.single-product .qtsp__related .related.products { border: 0; padding: 0; margin: 0; }

/* ======================================================================
   6 - SINGLE PRODUCT  >>> CLASSIC FALLBACK <<<   (only without the template)
   ==================================================================== */
.single-product { overflow-x: hidden; }
.single-product div.product:not(.qtsp-page) {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 44px; align-items: start;
}
.single-product div.product:not(.qtsp-page) .woocommerce-product-gallery { margin: 0 !important; }
.single-product div.product:not(.qtsp-page) .woocommerce-product-gallery__wrapper,
.single-product div.product:not(.qtsp-page) .woocommerce-product-gallery img { border-radius: 22px; }
.single-product div.product:not(.qtsp-page) .flex-control-thumbs { margin-top: 12px !important; display: flex; gap: 10px; flex-wrap: wrap; padding: 0; }
.single-product div.product:not(.qtsp-page) .flex-control-thumbs li { width: 72px !important; margin: 0 !important; }
.single-product div.product:not(.qtsp-page) .flex-control-thumbs li img { border-radius: 14px; border: 1px solid var(--s-line); }
.single-product div.product:not(.qtsp-page) .product_title.entry-title {
	font-family: var(--s-font); font-weight: 420; letter-spacing: -.03em; color: var(--s-ink); font-size: 34px; line-height: 1.1; margin: 0 0 12px;
}
.single-product div.product:not(.qtsp-page) p.price,
.single-product div.product:not(.qtsp-page) span.price { font-family: var(--s-font); font-weight: 500; color: var(--s-ink); font-size: 26px; letter-spacing: -.02em; }
.single-product div.product:not(.qtsp-page) p.price del { color: var(--s-ink-3); font-weight: 400; font-size: 18px; }
.single-product div.product:not(.qtsp-page) p.price ins { text-decoration: none; }
.single-product div.product:not(.qtsp-page) .woocommerce-product-details__short-description { font-family: var(--s-font); color: var(--s-ink-2); line-height: 1.65; font-size: 16px; margin: 16px 0; }
.single-product div.product:not(.qtsp-page) .stock.in-stock { color: var(--s-leaf); font-family: var(--s-font); font-weight: 500; font-size: 13px; }
.single-product div.product:not(.qtsp-page) form.cart { margin: 22px 0 !important; display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.single-product div.product:not(.qtsp-page) form.cart .button.single_add_to_cart_button {
	background: var(--s-leaf) !important; color: var(--s-lime) !important; border-radius: 999px;
	font-family: var(--s-font); font-weight: 500; font-size: 15px; padding: 15px 30px; flex: 0 0 auto;
}
.single-product div.product:not(.qtsp-page) .product_meta { font-family: var(--s-font); font-size: 13px; color: var(--s-ink-3); border-top: 1px solid var(--s-line); padding-top: 16px; margin-top: 20px; }
.single-product .woocommerce-breadcrumb { font-family: var(--s-font); font-size: 13px; color: var(--s-ink-3); margin-bottom: 18px; }
.single-product .woocommerce-breadcrumb a { color: var(--s-ink-2); text-decoration: none; }
.single-product span.onsale {
	background: var(--s-lime) !important; color: var(--s-forest) !important; border-radius: 999px !important;
	font-family: var(--s-font); font-weight: 600; font-size: 12px; text-transform: none; letter-spacing: 0;
	padding: 6px 13px !important; min-height: auto !important; border: none !important; top: 14px !important; left: 14px !important;
}
.single-product .woocommerce-tabs ul.tabs { padding: 0 0 6px !important; margin: 0 0 24px !important; }
.single-product .woocommerce-tabs ul.tabs::before { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li { background: var(--s-card) !important; border: 1px solid var(--s-line) !important; border-radius: 999px !important; margin: 0 8px 8px 0 !important; padding: 0 !important; }
.single-product .woocommerce-tabs ul.tabs li::before, .single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li a { font-family: var(--s-font); font-weight: 500; font-size: 14px; color: var(--s-ink-2) !important; padding: 10px 18px !important; }
.single-product .woocommerce-tabs ul.tabs li.active { background: var(--s-forest) !important; border-color: var(--s-forest) !important; }
.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--s-lime) !important; }
.single-product .woocommerce-tabs .panel { font-family: var(--s-font); color: var(--s-ink-2); line-height: 1.7; }
.single-product .woocommerce-tabs .panel h2 { font-family: var(--s-font); font-weight: 500; color: var(--s-ink); letter-spacing: -.02em; }

/* ======================================================================
   7 - CART  >>> CLASSIC [woocommerce_cart] <<<
   ==================================================================== */
.woocommerce-cart .entry-title, .woocommerce-cart .wp-block-post-title, .woocommerce-cart h1.page-title {
	font-family: var(--s-font); font-weight: 420; letter-spacing: -.03em; color: var(--s-ink);
}
.woocommerce-cart .woocommerce:has(.woocommerce-cart-form) {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 400px); gap: 24px; align-items: start;
}
.woocommerce-cart .woocommerce:has(.woocommerce-cart-form) > :is(.woocommerce-notices-wrapper, .gd-pagehead) { grid-column: 1 / -1; }
.woocommerce-cart .woocommerce:has(.woocommerce-cart-form) > .cart-collaterals { grid-column: 2; grid-row: auto; }

.woocommerce-cart-form table.shop_table.cart {
	border-collapse: separate !important; border-spacing: 0 !important;
	border: 1px solid var(--s-line) !important; border-radius: var(--s-r-card) !important;
	overflow: hidden; background: var(--s-card); box-shadow: none; margin-bottom: 0; table-layout: auto; width: 100%;
}
.woocommerce-cart-form table.shop_table.cart thead th {
	background: var(--s-soft); border: 0 !important; border-bottom: 1px solid var(--s-line) !important;
	padding: 15px 18px !important; text-align: left;
	font-family: var(--s-font); font-weight: 500; font-size: 13px; letter-spacing: 0;
	text-transform: none; color: var(--s-ink-3); line-height: 1.3; white-space: nowrap;
}
.woocommerce-cart-form table.shop_table.cart tbody td {
	border: 0 !important; border-top: 1px solid var(--s-line) !important;
	padding: 18px !important; vertical-align: middle !important;
	font-family: var(--s-font); font-size: 15px; color: var(--s-ink-2); line-height: 1.5;
}
.woocommerce-cart-form table.shop_table.cart tbody tr:first-child td { border-top: 0 !important; }
.woocommerce-cart-form td.product-remove { width: 52px; text-align: center; }
.woocommerce-cart-form td.product-remove a.remove {
	display: inline-flex !important; align-items: center; justify-content: center;
	width: 30px; height: 30px; line-height: 1 !important; font-size: 18px !important; font-weight: 400 !important;
	color: var(--s-ink-3) !important; background: var(--s-card) !important;
	border: 1px solid var(--s-line); border-radius: 50%; text-decoration: none;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.woocommerce-cart-form td.product-remove a.remove:hover { background: var(--s-danger-bg) !important; color: var(--s-danger) !important; border-color: var(--s-danger-bd); }
.woocommerce-cart-form td.product-thumbnail { width: 96px; }
.woocommerce-cart-form td.product-thumbnail img {
	width: 72px !important; height: 72px !important; object-fit: cover; border-radius: 14px; border: 1px solid var(--s-line); display: block; background: #F1F4EC;
}
.woocommerce-cart-form td.product-name a { font-family: var(--s-font); font-weight: 500; font-size: 15px; color: var(--s-ink); text-decoration: none; line-height: 1.4; }
.woocommerce-cart-form td.product-name a:hover { color: var(--s-leaf); }
.woocommerce-cart-form td.product-name .variation,
.woocommerce-cart-form td.product-name dl.variation { font-family: var(--s-font); font-size: 13px; color: var(--s-ink-3); margin: 6px 0 0; }
.woocommerce-cart-form td.product-price,
.woocommerce-cart-form td.product-subtotal { font-family: var(--s-font); font-weight: 500; font-size: 15px; color: var(--s-ink); white-space: nowrap; font-variant-numeric: tabular-nums; }
.woocommerce-cart-form td.product-quantity .quantity { display: inline-flex; align-items: center; }
.woocommerce-cart-form td.product-quantity input.qty {
	width: 76px !important; text-align: center; padding: 11px 6px !important;
	border: 1px solid var(--s-line-2) !important; border-radius: 999px !important; background: var(--s-card) !important;
	font-family: var(--s-font); font-weight: 500; font-size: 15px; color: var(--s-ink); box-shadow: none;
}
.woocommerce-cart-form td.actions { padding: 18px !important; border-top: 1px solid var(--s-line) !important; background: var(--s-soft); }
.woocommerce-cart-form td.actions .coupon { display: flex; gap: 10px; align-items: center; float: none !important; flex-wrap: wrap; margin-bottom: 12px; }
.woocommerce-cart-form td.actions .coupon label { display: none !important; }
.woocommerce-cart-form td.actions .coupon input#coupon_code {
	flex: 1 1 200px; min-width: 180px; width: auto !important;
	border: 1px solid var(--s-line-2) !important; border-radius: 999px !important;
	background: var(--s-card) !important; padding: 13px 18px !important; font-family: var(--s-font); font-size: 15px; color: var(--s-ink);
}
.woocommerce-cart-form td.actions .coupon button.button {
	background: var(--s-forest) !important; color: var(--s-lime) !important; border: 0 !important;
	border-radius: 999px !important; padding: 13px 22px !important; min-height: 0; box-shadow: none !important;
	font-family: var(--s-font); font-weight: 500; font-size: 14px; flex: 0 0 auto;
}
.woocommerce-cart-form td.actions .coupon button.button:hover { background: var(--s-forest-2) !important; }
.woocommerce-cart-form td.actions > button.button[name="update_cart"] {
	float: right !important; background: var(--s-card) !important; color: var(--s-ink) !important;
	border: 1px solid var(--s-line-2) !important; border-radius: 999px !important; box-shadow: none !important;
	padding: 13px 22px !important; min-height: 0; font-family: var(--s-font); font-weight: 500; font-size: 14px;
}
.woocommerce-cart-form td.actions > button.button[name="update_cart"]:hover { background: var(--s-forest) !important; color: var(--s-lime) !important; border-color: var(--s-forest) !important; }
.woocommerce-cart-form td.actions > button.button[name="update_cart"]:disabled { opacity: .5; background: var(--s-card) !important; color: var(--s-ink-3) !important; }

/* Cart totals: a dark summary card, like the dashboard panels. */
.cart-collaterals,
.woocommerce .cart-collaterals, .woocommerce-page .cart-collaterals { width: 100%; float: none; }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals { float: none; width: 100%; }
.cart-collaterals .cart_totals {
	position: relative; overflow: hidden; float: none; width: 100%; max-width: none;
	background: var(--s-forest); color: #E9F3DA; border: 0; border-radius: var(--s-r-card);
	padding: 28px 28px 24px; box-shadow: none;
}
.cart-collaterals .cart_totals h2 { font-family: var(--s-font); font-weight: 450; font-size: 22px; color: #F2F9E4; margin: 0 0 14px; letter-spacing: -.02em; text-transform: none; }
.cart-collaterals .cart_totals table.shop_table { border: 0 !important; background: transparent !important; border-radius: 0 !important; margin: 0 !important; width: 100%; border-collapse: collapse !important; }
.cart-collaterals .cart_totals table.shop_table th {
	background: transparent !important; border: 0 !important; border-bottom: 1px solid rgba(210, 242, 127, .14) !important;
	padding: 14px 0 !important; width: 45%; text-align: left;
	font-family: var(--s-font); font-weight: 400; font-size: 14px; letter-spacing: 0; text-transform: none; color: #9DB3A2;
}
.cart-collaterals .cart_totals table.shop_table td {
	background: transparent !important; border: 0 !important; border-bottom: 1px solid rgba(210, 242, 127, .14) !important;
	padding: 14px 0 !important; text-align: right; font-family: var(--s-font); font-weight: 500; font-size: 15px; color: #F2F9E4; font-variant-numeric: tabular-nums;
}
.cart-collaterals .cart_totals tr.order-total th,
.cart-collaterals .cart_totals tr.order-total td { border-bottom: 0 !important; padding-top: 18px !important; }
.cart-collaterals .cart_totals tr.order-total td { font-size: 26px; letter-spacing: -.03em; color: var(--s-lime); }
.cart-collaterals .cart_totals tr.order-total td .woocommerce-Price-amount { font-family: var(--s-font); font-weight: 450; }
.cart-collaterals .cart_totals :is(.woocommerce-shipping-destination, .woocommerce-shipping-calculator) { font-family: var(--s-font); font-size: 13px; color: #9DB3A2; text-align: left; }
.cart-collaterals .cart_totals :is(a, .shipping-calculator-button) { color: var(--s-lime); }
.cart-collaterals .cart_totals ul#shipping_method { list-style: none; margin: 0; padding: 0; text-align: right; }
.cart-collaterals .cart_totals ul#shipping_method li { font-family: var(--s-font); font-size: 14px; color: #CFE2C2; margin: 0 0 6px; }
.wc-proceed-to-checkout { padding: 20px 0 0 !important; }
.wc-proceed-to-checkout a.checkout-button {
	display: flex !important; width: 100%; text-align: center; justify-content: center;
	background: var(--s-lime) !important; color: var(--s-forest) !important;
	border: 0 !important; border-radius: 999px !important; padding: 17px 26px !important; margin: 0 !important;
	font-family: var(--s-font) !important; font-weight: 500 !important; font-size: 16px !important;
	text-decoration: none; box-shadow: none !important; transition: background-color .2s ease;
}
.wc-proceed-to-checkout a.checkout-button:hover { background: var(--s-volt) !important; transform: none; }
.woocommerce-cart .cart-empty, .woocommerce-cart p.cart-empty {
	font-family: var(--s-font) !important; font-weight: 420 !important; font-size: 26px; letter-spacing: -.02em;
	color: var(--s-ink) !important; background: transparent !important; border: 0 !important; padding: 10px 0 6px !important;
}
.woocommerce-cart .cart-empty::before { display: none !important; }
.woocommerce-cart .return-to-shop { padding-bottom: 10px; }
.woocommerce-cart .return-to-shop .button { background: var(--s-leaf) !important; color: var(--s-lime) !important; border: 0 !important; border-radius: 999px !important; font-family: var(--s-font) !important; font-weight: 500 !important; text-decoration: none !important; }
.cross-sells > h2 { font-family: var(--s-font); font-weight: 420; color: var(--s-ink); letter-spacing: -.02em; }

/* ======================================================================
   8 - CHECKOUT  >>> CLASSIC [woocommerce_checkout] <<<
   ==================================================================== */
.woocommerce-checkout .entry-title, .woocommerce-checkout .wp-block-post-title, .woocommerce-checkout h1.page-title {
	font-family: var(--s-font); font-weight: 420; letter-spacing: -.03em; color: var(--s-ink);
}
.woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-form-login-toggle .woocommerce-info {
	background: var(--s-card) !important; border: 1px solid var(--s-line) !important; border-top: 1px solid var(--s-line) !important;
	border-radius: 999px !important; color: var(--s-ink-2) !important; font-family: var(--s-font); padding: 13px 22px !important; margin-bottom: 14px;
}
.woocommerce-form-coupon-toggle .woocommerce-info::before,
.woocommerce-form-login-toggle .woocommerce-info::before { display: none !important; }
.woocommerce-form-coupon-toggle .woocommerce-info a,
.woocommerce-form-login-toggle .woocommerce-info a { color: var(--s-leaf); font-weight: 500; text-decoration: none; border-bottom: 2px solid var(--s-volt); }
form.checkout_coupon, form.woocommerce-form-login {
	background: var(--s-card) !important; border: 1px solid var(--s-line) !important;
	border-radius: var(--s-r-card) !important; padding: 26px !important; margin-bottom: 22px !important;
}
/* Two columns with named areas: WooCommerce injects error notices as the
   first child of the form, so they get their own full-width row on top. */
form.checkout {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 430px); column-gap: 24px; row-gap: 0; align-items: start;
	grid-template-areas: "notice notice" "details head" "details review"; grid-template-rows: auto auto 1fr;
}
form.checkout > * { grid-column: 1 / -1; }
form.checkout > .woocommerce-NoticeGroup { grid-area: notice; margin-bottom: 18px; }
form.checkout #customer_details { grid-area: details; margin-bottom: 0; }
form.checkout #order_review_heading { grid-area: head; }
form.checkout #order_review { grid-area: review; position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 100px); }
form.checkout #customer_details .col2-set { display: grid; grid-template-columns: 1fr; gap: 18px; width: 100%; }
form.checkout #customer_details .col2-set::before,
form.checkout #customer_details .col2-set::after { display: none !important; content: none !important; }
form.checkout #customer_details .col-1,
form.checkout #customer_details .col-2 {
	width: 100% !important; max-width: 100% !important; float: none !important; margin: 0 !important;
	background: var(--s-card); border: 1px solid var(--s-line); border-radius: var(--s-r-card);
	padding: 28px 30px; box-sizing: border-box;
}
form.checkout #customer_details .col2-set > .col-1:only-child { grid-column: 1 / -1; }
form.checkout h3, form.checkout #ship-to-different-address span {
	font-family: var(--s-font) !important; font-weight: 450 !important; font-size: 21px !important;
	color: var(--s-ink) !important; letter-spacing: -.02em; margin: 0 0 18px !important; text-transform: none;
}
form.checkout #ship-to-different-address { font-size: 18px; }
form.checkout #ship-to-different-address label { display: inline-flex; align-items: center; gap: 9px; cursor: pointer; }
form.checkout #ship-to-different-address input[type="checkbox"] { accent-color: var(--s-leaf); width: 17px; height: 17px; }
form.checkout .form-row { margin: 0 0 16px !important; padding: 0 !important; }
form.checkout .form-row label { display: block; font-family: var(--s-font); font-weight: 500; font-size: 13.5px; color: var(--s-ink-2); margin: 0 0 7px; text-transform: none; letter-spacing: 0; }
form.checkout .form-row .required { color: var(--s-leaf); border: 0; text-decoration: none; }
form.checkout .form-row input.input-text, form.checkout .form-row textarea, form.checkout .form-row select {
	width: 100% !important; box-sizing: border-box; border: 1px solid var(--s-line-2) !important; border-radius: var(--s-r-field) !important;
	background: var(--s-card) !important; padding: 13px 15px !important; box-shadow: none !important;
	font-family: var(--s-font); font-size: 15.5px; color: var(--s-ink);
}
form.checkout .form-row textarea { min-height: 110px; line-height: 1.55; }
form.checkout .form-row input.input-text:focus, form.checkout .form-row textarea:focus, form.checkout .form-row select:focus {
	border-color: var(--s-leaf) !important; box-shadow: var(--s-ring) !important; outline: none;
}
form.checkout .select2-container .select2-selection--single {
	height: auto !important; border: 1px solid var(--s-line-2) !important; border-radius: var(--s-r-field) !important; background: var(--s-card) !important; padding: 12px 15px !important;
}
form.checkout .select2-container .select2-selection--single .select2-selection__rendered { padding: 0 !important; line-height: 1.5 !important; font-family: var(--s-font); font-size: 15.5px; color: var(--s-ink); }
form.checkout .select2-container .select2-selection--single .select2-selection__arrow { top: 50% !important; transform: translateY(-50%); right: 12px !important; }
.select2-dropdown { border: 1px solid var(--s-line-2) !important; border-radius: 16px !important; overflow: hidden; font-family: var(--s-font); }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--s-forest) !important; color: var(--s-lime) !important; }

#order_review_heading {
	font-family: var(--s-font) !important; font-weight: 450 !important; font-size: 22px !important;
	color: var(--s-ink) !important; letter-spacing: -.02em; margin: 0 0 14px !important;
}
#order_review {
	position: relative; overflow: hidden; background: var(--s-card); border: 1px solid var(--s-line);
	border-radius: var(--s-r-card); padding: 26px 26px 22px; box-shadow: none;
}
#order_review table.shop_table { border: 0 !important; background: transparent !important; border-radius: 0 !important; margin: 0 0 20px !important; width: 100%; border-collapse: collapse !important; }
#order_review table.shop_table thead th {
	background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--s-line) !important; padding: 0 0 12px !important; text-align: left;
	font-family: var(--s-font); font-weight: 400; font-size: 13px; letter-spacing: 0; text-transform: none; color: var(--s-ink-3);
}
#order_review table.shop_table thead th.product-total { text-align: right; }
#order_review table.shop_table tbody td {
	background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--s-line) !important;
	padding: 14px 0 !important; vertical-align: top; font-family: var(--s-font); font-size: 14.5px; color: var(--s-ink-2); line-height: 1.5;
}
#order_review table.shop_table tbody td.product-name { font-family: var(--s-font); font-weight: 500; color: var(--s-ink); padding-right: 14px !important; }
#order_review table.shop_table tbody td.product-name .product-quantity { color: var(--s-ink-3); font-weight: 400; }
#order_review table.shop_table tbody td.product-total { text-align: right; font-family: var(--s-font); font-weight: 500; color: var(--s-ink); white-space: nowrap; font-variant-numeric: tabular-nums; }
#order_review table.shop_table tfoot th {
	background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--s-line) !important;
	padding: 13px 0 !important; text-align: left; font-family: var(--s-font); font-weight: 400; font-size: 14px; letter-spacing: 0; text-transform: none; color: var(--s-ink-3);
}
#order_review table.shop_table tfoot td {
	background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--s-line) !important;
	padding: 13px 0 !important; text-align: right; font-family: var(--s-font); font-weight: 500; font-size: 15px; color: var(--s-ink); font-variant-numeric: tabular-nums;
}
#order_review table.shop_table tfoot tr.order-total th,
#order_review table.shop_table tfoot tr.order-total td { border-bottom: 0 !important; padding-top: 17px !important; }
#order_review table.shop_table tfoot tr.order-total td { font-size: 24px; letter-spacing: -.03em; color: var(--s-ink); }

#payment { background: transparent !important; border-radius: 0 !important; }
#payment ul.payment_methods { border: 0 !important; padding: 0 !important; margin: 0 0 18px !important; list-style: none !important; }
#payment ul.payment_methods li.wc_payment_method {
	background: var(--s-soft); border: 1px solid var(--s-line); border-radius: 18px;
	padding: 15px 18px !important; margin: 0 0 10px !important; list-style: none !important; transition: border-color .15s ease, background-color .15s ease;
}
#payment ul.payment_methods li.wc_payment_method:has(input:checked) { background: var(--s-lime-soft); border-color: #C9E28A; }
#payment ul.payment_methods li.wc_payment_method:hover { border-color: var(--s-line-2); }
#payment ul.payment_methods li.wc_payment_method > label {
	display: inline-flex !important; align-items: center; gap: 9px; cursor: pointer;
	font-family: var(--s-font) !important; font-weight: 500 !important; font-size: 15px !important;
	color: var(--s-ink) !important; text-transform: none !important; letter-spacing: 0 !important; margin: 0 !important;
}
#payment ul.payment_methods li.wc_payment_method input.input-radio { accent-color: var(--s-leaf); width: 17px; height: 17px; margin: 0 !important; flex: 0 0 auto; }
#payment ul.payment_methods li.wc_payment_method img { max-height: 24px; margin-left: 8px; }
#payment div.payment_box {
	background: var(--s-card) !important; border: 1px solid var(--s-line) !important;
	border-radius: 14px !important; color: var(--s-ink-2) !important; font-family: var(--s-font); font-size: 14px; line-height: 1.55;
	margin: 12px 0 0 !important; padding: 14px 16px !important; width: auto !important;
}
#payment div.payment_box::before { display: none !important; content: none !important; }
#payment div.payment_box p:last-child { margin-bottom: 0; }
#payment .woocommerce-terms-and-conditions-wrapper { padding: 4px 0 12px; }
#payment .woocommerce-terms-and-conditions-wrapper .form-row { margin: 0 !important; }
#payment .woocommerce-form__label-for-checkbox { display: inline-flex !important; align-items: flex-start; gap: 9px; font-family: var(--s-font); font-size: 14px; color: var(--s-ink-2); line-height: 1.5; }
#payment .woocommerce-form__input-checkbox { accent-color: var(--s-leaf); width: 17px; height: 17px; margin-top: 2px; flex: 0 0 auto; }
#payment .place-order { padding: 8px 0 0 !important; margin: 0 !important; }
#payment #place_order {
	width: 100% !important; float: none !important; background: var(--s-leaf) !important; color: var(--s-lime) !important;
	border: 0 !important; border-radius: 999px !important; padding: 17px 26px !important;
	font-family: var(--s-font) !important; font-weight: 500 !important; font-size: 16px !important;
	box-shadow: 0 0 0 4px rgba(31, 77, 43, .12) !important; transition: background-color .2s ease;
}
#payment #place_order:hover { background: var(--s-leaf-2) !important; transform: none; }

.woocommerce-order .woocommerce-thankyou-order-received {
	font-family: var(--s-font); font-weight: 420; font-size: clamp(26px, 3vw, 36px); color: var(--s-ink); letter-spacing: -.03em; line-height: 1.15;
}
.woocommerce-order ul.woocommerce-thankyou-order-details,
.woocommerce-order .woocommerce-order-details,
.woocommerce-order .woocommerce-customer-details {
	background: var(--s-card); border: 1px solid var(--s-line); border-radius: var(--s-r-card); padding: 26px 28px; margin: 0 0 22px; list-style: none;
}
.woocommerce-order ul.woocommerce-thankyou-order-details li { font-family: var(--s-font); font-weight: 500; color: var(--s-ink); border-right: 1px solid var(--s-line); font-size: 13px; color: var(--s-ink-3); }
.woocommerce-order ul.woocommerce-thankyou-order-details li strong { display: block; color: var(--s-ink); font-size: 16px; margin-top: 4px; }
.woocommerce-order .woocommerce-order-details h2,
.woocommerce-order .woocommerce-customer-details h2 { font-family: var(--s-font); font-weight: 450; font-size: 21px; color: var(--s-ink); letter-spacing: -.02em; }

/* ======================================================================
   9 - LOGIN / REGISTER   (toggle behaviour unchanged)
   ==================================================================== */
.woocommerce-account #customer_login.u-columns { display: block !important; max-width: 520px !important; margin: 0 auto !important; gap: 0 !important; }
.woocommerce-account #customer_login .u-column1,
.woocommerce-account #customer_login .u-column2 {
	width: 100% !important; max-width: none !important; float: none !important; margin: 0 !important;
	background: transparent !important; border: 0 !important; padding: 0 !important; box-shadow: none !important;
}
.woocommerce-account #customer_login .u-column1 { display: none !important; }
.woocommerce-account #customer_login.show-login .u-column1 { display: block !important; }
.woocommerce-account #customer_login.show-login .u-column2 { display: none !important; }
.woocommerce-account #customer_login.only-login .u-column1 { display: block !important; }
.woocommerce-account #customer_login.only-login .grimdrop-auth-switch { display: none !important; }
.woocommerce-account #customer_login .u-column1 > h2,
.woocommerce-account #customer_login .u-column2 > h2 {
	font-family: var(--s-font) !important; font-weight: 450 !important; font-size: 24px !important; letter-spacing: -.02em;
	color: var(--s-ink) !important; margin: 0 0 4px !important; border: 0 !important; padding: 0 !important;
}
.woocommerce-account #customer_login form.login,
.woocommerce-account #customer_login form.register {
	background: var(--s-card) !important; border: 1px solid var(--s-line) !important; border-radius: var(--s-r-card) !important;
	padding: 30px !important; margin: 14px 0 0 !important; box-sizing: border-box;
	display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; gap: 16px !important; align-content: flex-start;
}
.woocommerce-account #customer_login form .form-row { margin: 0 !important; padding: 0 !important; width: 100% !important; float: none !important; flex: 1 1 100% !important; display: flex; flex-direction: column; }
.woocommerce-account #customer_login form .form-row-first,
.woocommerce-account #customer_login form .form-row-last { width: auto !important; flex: 1 1 calc(50% - 8px) !important; }
.woocommerce-account #customer_login form .clear { display: none !important; }
.woocommerce-account #customer_login form .form-row label {
	display: block !important; font-family: var(--s-font); font-weight: 500; font-size: 13.5px;
	color: var(--s-ink-2); margin: 0 0 7px !important; text-transform: none !important; letter-spacing: 0 !important;
}
.woocommerce-account #customer_login form .form-row .required { color: var(--s-leaf); border: 0; }
.woocommerce-account #customer_login form :is(input.input-text, input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="password"]) {
	width: 100% !important; box-sizing: border-box; background: var(--s-soft) !important; border: 1px solid var(--s-line-2) !important;
	border-radius: var(--s-r-field) !important; padding: 13px 15px !important; font-family: var(--s-font); font-size: 16px; color: var(--s-ink);
	transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.woocommerce-account #customer_login form input:focus { outline: none; background: var(--s-card) !important; border-color: var(--s-leaf) !important; box-shadow: var(--s-ring); }
.woocommerce-account #customer_login form.login .woocommerce-form-login__rememberme { flex: 1 1 100%; font-family: var(--s-font); font-size: 14px; color: var(--s-ink-2); margin: 0; }
.woocommerce-account #customer_login form .woocommerce-LostPassword,
.woocommerce-account #customer_login form .woocommerce-privacy-policy-text,
.woocommerce-account .grimdrop-auth-switch { flex: 1 1 100%; }
.woocommerce-account #customer_login form .woocommerce-privacy-policy-text { font-size: 13px; color: var(--s-ink-3); }
.woocommerce-account #customer_login form :is(.woocommerce-form-register__submit, .woocommerce-form-login__submit) {
	width: 100% !important; display: flex; margin: 6px 0 0 !important; background: var(--s-leaf) !important; color: var(--s-lime) !important;
	border: 0 !important; border-radius: 999px !important; padding: 16px 22px !important; font-family: var(--s-font); font-weight: 500; font-size: 15.5px;
	box-shadow: 0 0 0 4px rgba(31, 77, 43, .1) !important; transition: background-color .2s ease;
}
.woocommerce-account #customer_login form :is(.woocommerce-form-register__submit, .woocommerce-form-login__submit):hover { background: var(--s-leaf-2) !important; transform: none; }
.woocommerce-account .grimdrop-auth-switch { margin: 18px 0 0; text-align: center; font-family: var(--s-font); font-size: 14.5px; color: var(--s-ink-2); }
.woocommerce-account .grimdrop-auth-switch a { color: var(--s-leaf); font-weight: 500; text-decoration: none; border-bottom: 2px solid var(--s-volt); cursor: pointer; }
.woocommerce-account .grimdrop-auth-switch a:hover { border-bottom-color: var(--s-leaf); }
.woocommerce-account .woocommerce-LostPassword a { color: var(--s-ink-2); font-size: 14px; }

/* ======================================================================
   10 - MY ACCOUNT LAYOUT
   ==================================================================== */
.logged-in.woocommerce-account .woocommerce::before,
.logged-in.woocommerce-account .woocommerce::after { display: none !important; }
.logged-in.woocommerce-account .woocommerce {
	display: grid !important; grid-template-columns: 250px minmax(0, 1fr) !important; gap: 20px !important;
	align-items: start !important; margin-top: 0 !important; margin-bottom: 0 !important;
}
.logged-in.woocommerce-account :is(.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content) { width: 100% !important; float: none !important; margin: 0 !important; }
.woocommerce-account .woocommerce-MyAccount-navigation {
	position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 100px);
	background: var(--s-forest); border-radius: var(--s-r-card); padding: 10px; box-shadow: none; border: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none !important; padding: 0 !important; margin: 0 !important; display: grid; gap: 2px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li { margin: 0 !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: flex !important; align-items: center; padding: 12px 16px !important; color: #CFE2C2 !important; font-family: var(--s-font);
	font-weight: 400 !important; font-size: 15px !important; border-radius: 14px !important; text-decoration: none !important; border: 0 !important;
	transition: background-color .15s ease, color .15s ease !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover { background-color: rgba(210, 242, 127, .08) !important; color: #F2F9E4 !important; transform: none; opacity: 1; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a { background-color: var(--s-lime) !important; color: var(--s-forest) !important; font-weight: 500 !important; box-shadow: none !important; }
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 8px !important; padding-top: 8px; border-top: 1px solid rgba(210, 242, 127, .14); }
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a { color: #9DB3A2 !important; }
.woocommerce-account .woocommerce-MyAccount-content { background: var(--s-card); border-radius: var(--s-r-card); padding: clamp(22px, 3vw, 36px); box-shadow: none; border: 1px solid var(--s-line); min-width: 0; }
/* Generic text only: snippet components (BEM classes with __) keep their own colours. */
.woocommerce-account .woocommerce-MyAccount-content p:not([class*="__"]) { font-family: var(--s-font); font-size: 16px; color: var(--s-ink-2); line-height: 1.6; }
.woocommerce-account .woocommerce-MyAccount-content :is(h2, h3):not([class*="__"]) { font-family: var(--s-font); font-weight: 450; letter-spacing: -.02em; color: var(--s-ink); }
.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not([class*="gd"]):not([class*="qt"]):not([class*="foxvert"]) { color: var(--s-ink); font-weight: 500; text-decoration: none; border-bottom: 2px solid var(--s-volt); }
.woocommerce-account .woocommerce-MyAccount-content a:not(.button):hover { text-decoration: none; border-bottom-color: var(--s-leaf); opacity: 1; }

/* Edit-account / address forms inside the content panel */
.woocommerce-account .woocommerce-MyAccount-content form :is(input.input-text, select, textarea) { background: var(--s-soft); }
.woocommerce-account .woocommerce-MyAccount-content fieldset { border: 1px solid var(--s-line); border-radius: 18px; padding: 18px 20px 6px; margin: 22px 0; }
.woocommerce-account .woocommerce-MyAccount-content fieldset legend { font-family: var(--s-font); font-weight: 500; font-size: 15px; padding: 0 8px; color: var(--s-ink); }

/* ======================================================================
   11 - ORDERS TABLE
   ==================================================================== */
.woocommerce-MyAccount-orders { width: 100%; border-collapse: separate !important; border-spacing: 0 10px !important; border: none !important; }
.woocommerce-MyAccount-orders thead th {
	background: transparent !important; border: none !important; color: var(--s-ink-3) !important; font-family: var(--s-font);
	font-size: 13px !important; font-weight: 400 !important; text-transform: none; letter-spacing: 0; padding: 0 18px 2px !important;
}
.woocommerce-MyAccount-orders tbody tr { background: var(--s-soft) !important; box-shadow: none !important; transition: background-color .15s ease; }
.woocommerce-MyAccount-orders tbody tr:hover { background: var(--s-lime-soft) !important; box-shadow: none !important; transform: none; }
.woocommerce-MyAccount-orders tbody :is(td, th) { border: none !important; padding: 16px 18px !important; vertical-align: middle !important; font-family: var(--s-font); color: var(--s-ink-2); font-variant-numeric: tabular-nums; }
.woocommerce-MyAccount-orders tbody tr > :first-child { border-radius: 16px 0 0 16px !important; }
.woocommerce-MyAccount-orders tbody tr > :last-child { border-radius: 0 16px 16px 0 !important; }
.woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-number a { font-family: var(--s-font); font-weight: 500; color: var(--s-ink) !important; text-decoration: none; border: 0 !important; }
.woocommerce-MyAccount-orders td.woocommerce-orders-table__cell-order-total { font-family: var(--s-font); font-weight: 500; color: var(--s-ink); }
.woocommerce-MyAccount-orders .button {
	background: var(--s-card) !important; color: var(--s-ink) !important; border: 1px solid var(--s-line-2) !important; border-radius: 999px !important;
	padding: 8px 16px !important; min-height: 0 !important; font-family: var(--s-font); font-size: 13px !important; font-weight: 500 !important; margin: 2px !important; box-shadow: none !important;
	transition: background-color .15s ease, color .15s ease !important;
}
.woocommerce-MyAccount-orders .button.pay { background: var(--s-leaf) !important; color: var(--s-lime) !important; border-color: var(--s-leaf) !important; }
.woocommerce-MyAccount-orders .button:hover { background: var(--s-forest) !important; color: var(--s-lime) !important; border-color: var(--s-forest) !important; }
.woocommerce-MyAccount-orders .button.pay:hover { background: var(--s-leaf-2) !important; border-color: var(--s-leaf-2) !important; }
.woocommerce-account mark.order-status, .woocommerce-account mark.order-number, .woocommerce-account mark.order-date {
	background: var(--s-lime-soft); color: var(--s-forest); padding: 1px 8px; border-radius: 999px; font-weight: 500;
}

/* ======================================================================
   12 - ADDRESSES
   ==================================================================== */
.woocommerce-account .woocommerce-Addresses.col2-set,
.woocommerce-account .addresses .col2-set { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 18px !important; float: none !important; width: 100% !important; }
.woocommerce-account .woocommerce-Address { background: var(--s-soft); border: 1px solid var(--s-line); border-radius: var(--s-r-card); padding: 24px; }
.woocommerce-account .woocommerce-Address-title h3 { font-family: var(--s-font); font-weight: 450; letter-spacing: -.02em; }
.woocommerce-account .woocommerce-Address address { font-style: normal; color: var(--s-ink-2); line-height: 1.6; }

/* ======================================================================
   13 - BLOG (theme archive / single, outside the Grimdrop widgets)
   ==================================================================== */
.blog article.post, .archive article.post, .search article, .wp-block-post-template > li.wp-block-post {
	background: var(--s-card); border: 1px solid var(--s-line); border-radius: var(--s-r-card); padding: 24px; margin-bottom: 18px; overflow: hidden;
}
.blog .entry-title a, .archive .entry-title a, .wp-block-post-title a, .wp-block-post-title {
	font-family: var(--s-font); color: var(--s-ink); text-decoration: none; font-weight: 450; letter-spacing: -.02em;
}
.blog .entry-title a:hover, .archive .entry-title a:hover, .wp-block-post-title a:hover { color: var(--s-leaf); }
.blog .entry-meta, .archive .entry-meta, .wp-block-post-date, .wp-block-post-terms { font-family: var(--s-font); color: var(--s-ink-3); font-size: 13px; }
.blog .post-thumbnail img, .archive .post-thumbnail img, .blog .wp-post-image, .archive .wp-post-image, .wp-block-post-featured-image img { border-radius: 16px; }
.blog .entry-content, .archive .entry-content, .blog .entry-summary, .archive .entry-summary, .wp-block-post-excerpt__excerpt { font-family: var(--s-font); color: var(--s-ink-2); line-height: 1.6; }
.blog .more-link, .archive .more-link, .wp-block-read-more, .wp-block-post-excerpt .wp-block-read-more {
	display: inline-block; font-family: var(--s-font); font-weight: 500; text-decoration: none; color: var(--s-leaf); border-bottom: 2px solid var(--s-volt);
}
.single-post .entry-header, .single-post .entry-content, .single-post .wp-block-post-content { font-family: var(--s-font); color: var(--s-ink-2); }
.single-post .entry-content, .single-post .entry-header, .single-post .wp-block-post-content { max-width: 760px; margin-left: auto; margin-right: auto; }
.single-post .entry-title, .single-post h1.entry-title, .single-post .wp-block-post-title {
	font-family: var(--s-font); font-weight: 420; letter-spacing: -.035em; line-height: 1.08; color: var(--s-ink);
}
.single-post .entry-meta, .single-post .posted-on, .single-post .wp-block-post-date { font-family: var(--s-font); font-size: 13.5px; color: var(--s-ink-3); }
.single-post .post-thumbnail img, .single-post .wp-post-image, .single-post .wp-block-post-featured-image img { border-radius: 22px; }
.single-post .entry-content, .single-post .wp-block-post-content { font-size: 17px; line-height: 1.75; }
.single-post .entry-content p, .single-post .wp-block-post-content p { margin: 0 0 1.1em; }
.single-post :is(.entry-content, .wp-block-post-content) :is(h2, h3, h4) { font-family: var(--s-font); font-weight: 450; color: var(--s-ink); letter-spacing: -.02em; line-height: 1.2; margin: 1.6em 0 .5em; }
.single-post :is(.entry-content, .wp-block-post-content) a { color: var(--s-leaf); text-decoration: none; border-bottom: 2px solid var(--s-volt); }
.single-post :is(.entry-content, .wp-block-post-content) img { max-width: 100%; height: auto; border-radius: 16px; }
.single-post :is(.entry-content, .wp-block-post-content) blockquote { border-left: 3px solid var(--s-volt); margin: 1.4em 0; padding: .2em 0 .2em 18px; color: var(--s-ink); }
.single-post .entry-content :is(ul, ol) { padding-left: 1.3em; margin: 0 0 1.1em; }

/* ======================================================================
   SNIPPET SCREENS
   ==================================================================== */

/* Shared: fonts, tokens. Each snippet keeps its own variables; these remap
   them to the new palette. --g is the accent fill, --gi the text on it. */
body :is(.qtbo, .qtbp, .gdw, .gde2g, .qtcf) {
	--g: #D2F27F; --gi: #13261D; --ink: #0E1C14; --ink2: #4C5E52; --ink3: #6E8574;
	--bg: #F5F9EC; --card: #FFFFFF; --hair: #E3E8DC; --y: #D2F27F;
	--ok-bg: #EEF8D2; --ok-bd: #D6EA9F; --err-bg: #FBEFEF; --err-tx: #B23A3A; --err-bd: #F0D4D4;
	--d: var(--s-font); --b: var(--s-font);
	font-family: var(--s-font);
}
body :is(.qtbo, .qtbp, .gdw, .gde2g, .qtcf, .qtspx) :is(h1, h2, h3, h4, p, span, div, a, label, button, input, select, textarea, th, td, b, strong) { font-family: var(--s-font); }
body :is(.qtbo__sq, .qtbp__sq, .qtcf__sq) { display: none; }

/* Bulk orders (.qtbo) */
body .qtbo__card { border-radius: var(--s-r-card); border-color: var(--s-line); padding: clamp(22px, 3vw, 32px); }
body .qtbo__h { font-weight: 450; font-size: 26px; letter-spacing: -.02em; }
body .qtbo__sec { font-weight: 500; font-size: 15px; letter-spacing: 0; }
body .qtbo__sec--ok { color: var(--s-leaf); }
body .qtbo__sec--ok::before { background: var(--s-volt); box-shadow: 0 0 0 4px rgba(189, 235, 69, .2); }
body .qtbo__table thead th { font-weight: 400; font-size: 13px; text-transform: none; letter-spacing: 0; background: var(--s-soft); }
body .qtbo__table thead th:first-child { border-radius: 12px 0 0 12px; }
body .qtbo__table thead th:last-child { border-radius: 0 12px 12px 0; }
body .qtbo__price { color: var(--s-ink); font-weight: 500; font-variant-numeric: tabular-nums; }
body .qtbo__cb { accent-color: var(--s-leaf); }
body .qtbo__btn { border-radius: 999px; font-weight: 500; padding: 15px 28px; }
body .qtbo__btn--primary { background: var(--s-leaf); color: var(--s-lime); box-shadow: 0 0 0 4px rgba(31, 77, 43, .1); }
body .qtbo__btn--primary:hover { background: var(--s-leaf-2); transform: none; box-shadow: 0 0 0 4px rgba(31, 77, 43, .1); }
body .qtbo__drop { border-radius: 20px; border-color: var(--s-line-2); background: var(--s-soft); }
body .qtbo__drop:hover { border-color: var(--s-leaf); background: var(--s-card); }
body .qtbo__dropicon { background: var(--s-forest); color: var(--s-lime); font-weight: 400; }
body .qtbo__droptext { font-weight: 500; }
body .qtbo__alert { border-radius: 16px; }
body .qtbo__alert--ok { color: var(--s-forest); }

/* Bulk pay banner (.qtbp) */
body .qtbp__banner { background: var(--s-forest); border: 0; border-radius: var(--s-r-card); color: #E9F3DA; }
body .qtbp__title { color: #F2F9E4; font-weight: 450; font-size: 20px; letter-spacing: -.02em; }
body .qtbp__dot { background: var(--s-lime); box-shadow: 0 0 0 4px rgba(210, 242, 127, .2); }
body .qtbp__meta { color: #9DB3A2; }
body .qtbp__total { color: var(--s-lime); font-variant-numeric: tabular-nums; }
body .qtbp__btn { background: var(--s-lime); color: var(--s-forest); border-radius: 999px; font-weight: 500; box-shadow: none; padding: 15px 28px; }
body .qtbp__btn:hover { background: var(--s-volt); transform: none; box-shadow: none; }
body .qtbp__warn { background: rgba(178, 58, 58, .14); border-color: rgba(240, 212, 212, .3); border-radius: 16px; }
body .qtbp__warn-title { color: #F4C7C7; font-weight: 500; }
body .qtbp__warn-sub { color: #9DB3A2; }

/* Wallet (.gdw) */
body .gdw { gap: 14px; }
body .gdw__balance {
	background: var(--s-forest); border-radius: var(--s-r-card); padding: 28px 30px; gap: 8px;
	background-image: none;
}
body .gdw__label { font-size: 13px; font-weight: 400; letter-spacing: 0; text-transform: none; color: #A9C7AE; opacity: 1; }
body .gdw__amount { color: #F2F9E4; font-weight: 450; font-size: clamp(32px, 4vw, 46px); letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
body .gdw__deposit { background: var(--s-card); border-color: var(--s-line); border-radius: var(--s-r-card); padding: 26px 28px; }
body .gdw__deposit-title { font-weight: 450; font-size: 20px; letter-spacing: -.02em; }
body .gdw__preset { font-weight: 500; border-color: var(--s-line-2); }
body .gdw__preset:hover, body .gdw__preset.is-active { background: var(--s-forest); color: var(--s-lime); border-color: var(--s-forest); }
body .gdw__input { background: var(--s-soft); border-color: var(--s-line-2); border-radius: 999px; padding: 14px 18px; }
body .gdw__input:focus { border-color: var(--s-leaf); box-shadow: var(--s-ring); background: var(--s-card); }
body .gdw__submit { background: var(--s-leaf); color: var(--s-lime); border-radius: 999px; font-weight: 500; padding: 14px 24px; }
body .gdw__submit:hover { background: var(--s-leaf-2); transform: none; }
body .gdw__note { color: var(--s-ink-3); font-size: 13.5px; }

/* Wallet card printed with inline styles (wallet gateway snippet, My Account) */
body .woocommerce-MyAccount-content > div[style*="#3DDC84"] {
	background: linear-gradient(115deg, #24582F 0%, #163F22 64%, #D2F27F 64%, #D2F27F 100%) !important;
	border-radius: 22px !important; padding: 28px 30px !important;
}
body .woocommerce-MyAccount-content > div[style*="#3DDC84"] > div:first-child > div:first-child {
	color: #A9C7AE !important; opacity: 1 !important; text-transform: none !important; letter-spacing: 0 !important; font-weight: 400 !important; font-family: var(--s-font) !important;
}
body .woocommerce-MyAccount-content > div[style*="#3DDC84"] > div:first-child > div:last-child {
	color: #F2F9E4 !important; font-family: var(--s-font) !important; font-weight: 450 !important; font-size: clamp(32px, 4vw, 44px) !important; letter-spacing: -.04em;
}
body .woocommerce-MyAccount-content > div[style*="#3DDC84"] > div:last-child {
	color: #13261D !important; background: rgba(255, 255, 255, .55) !important; font-family: var(--s-font) !important; font-weight: 500;
}

/* Imported products list (dashboard snippet, inline styles) */
body .woocommerce-MyAccount-content :is(h3, p, div, a, button)[style*="Space Grotesk"],
body .woocommerce-MyAccount-content :is(h3, p, div, a, button)[style*="DM Sans"] { font-family: var(--s-font) !important; }
body .woocommerce-MyAccount-content a[style*="#3DDC84"] { background: var(--s-leaf) !important; color: var(--s-lime) !important; border-radius: 999px !important; font-weight: 500 !important; }
body .foxvert-imported-row { border-color: var(--s-line) !important; border-radius: 16px !important; background: var(--s-soft) !important; }
body .foxvert-remove-imported { border-radius: 999px !important; border-color: var(--s-line-2) !important; background: var(--s-card) !important; }
body .foxvert-remove-imported:hover { background: var(--s-danger-bg) !important; color: var(--s-danger) !important; border-color: var(--s-danger-bd) !important; }

/* eBay export v2 grid (.gde2g) */
body .gde2g__bar { background: var(--s-forest); color: #E9F3DA; border: 0; border-radius: 999px; padding: 10px 10px 10px 22px; box-shadow: none; }
body .gde2g__all { font-weight: 500; color: #F2F9E4; }
body .gde2g__all input { accent-color: var(--s-lime); }
body .gde2g__count { font-size: 13px; letter-spacing: 0; text-transform: none; color: #9DB3A2; font-variant-numeric: tabular-nums; }
body .gde2g__btn { background: var(--s-lime); color: var(--s-forest); border-radius: 999px; font-weight: 500; }
body .gde2g__btn:hover { background: var(--s-volt); transform: none; }
body .gde2g__btn:disabled { background: rgba(210, 242, 127, .2); color: #9DB3A2; }
body .gde2g__grid { gap: 14px; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
body .gde2g__card { background: var(--s-card); border: 1px solid var(--s-line); border-radius: 22px; padding: 10px 10px 14px; transition: border-color .2s, box-shadow .25s; }
body .gde2g__card:hover { border-color: var(--s-line-2); box-shadow: 0 14px 30px -22px rgba(14, 28, 20, .45); }
body .gde2g__card:has(.gde2g__cb:checked) { border-color: var(--s-leaf); box-shadow: 0 0 0 2px var(--s-leaf); }
body .gde2g__tick { border-radius: 8px; border-color: var(--s-line-2); top: 18px; right: 18px; }
body .gde2g__cb:checked ~ .gde2g__tick { background: var(--s-lime); border-color: var(--s-lime); }
body .gde2g__card img { aspect-ratio: 1; border-radius: 16px; background: #F1F4EC; }
body .gde2g__name { font-weight: 500; font-size: 14.5px; padding: 6px 4px 0; }
body .gde2g__meta { padding: 0 4px; color: var(--s-ink-3); }
body .gde2g__meta b { color: var(--s-ink); font-weight: 500; }
body .gde2g__warn { color: var(--s-danger); font-weight: 500; padding: 0 4px; }

/* Contact form (.qtcf) */
body .qtcf { background: var(--s-card); border: 1px solid var(--s-line); border-radius: var(--s-r-card); padding: clamp(24px, 3vw, 36px); max-width: none; }
body .qtcf__field label { font-weight: 500; font-size: 13.5px; }
body .qtcf__field .req { color: var(--s-leaf); }
body .qtcf :is(input, textarea, select) { background: var(--s-soft); border-color: var(--s-line-2); border-radius: var(--s-r-field); }
body .qtcf :is(input, textarea, select):focus { border-color: var(--s-leaf); box-shadow: var(--s-ring); background: var(--s-card); }
body .qtcf__btn { background: var(--s-leaf); color: var(--s-lime); border-radius: 999px; font-weight: 500; padding: 16px 26px; box-shadow: 0 0 0 4px rgba(31, 77, 43, .1); }
body .qtcf__btn:hover { background: var(--s-leaf-2); transform: none; }
body .qtcf__msg { border-radius: 14px; }
body .qtcf__msg--ok { background: var(--s-lime-soft); color: var(--s-forest); border-color: #D6EA9F; }

/* Single-product export block (.qtspx) */
body .qtspx {
	--qt-bg: #F5F9EC; --qt-card: #FFFFFF; --qt-ink: #0E1C14; --qt-hairline: #E3E8DC;
	--qt-green: #1F4D2B; --qt-green-ink: #D2F27F; --qt-r-btn: 999px; --qt-display: var(--s-font); --qt-body: var(--s-font);
	border-radius: var(--s-r-card); background: var(--s-soft); border-color: var(--s-line);
}
body .qtspx__eyebrow { font-size: 13px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--s-ink-3); }
body .qtspx__btn { font-weight: 500; padding: 13px 22px; }
body .qtspx__btn--green:hover { background: var(--s-leaf-2); transform: none; }
body .qtspx__btn--green.is-added { background: var(--s-lime); color: var(--s-forest); }
body .qtspx__btn--quiet:hover { background: var(--s-forest); color: var(--s-lime); border-color: var(--s-forest); transform: none; }
body .qtspx__added { color: var(--s-leaf); }
body .qtspx__added a { color: var(--s-leaf); border-bottom-color: var(--s-volt); }

/* Cart button (cart snippet, used on the dashboard) */
body .gdc-btn { font-family: var(--s-font); font-weight: 500; color: var(--s-ink); }
body .gdc-btn:hover { color: var(--s-leaf); }
body .gdc-ico { color: var(--s-ink); }
body .gdc-count { background: var(--s-leaf); color: var(--s-lime); font-weight: 600; }

/* Mobile nav pill (snippet): dark floating bar matching the new footer */
body .gdmn { background: rgba(19, 38, 29, .95); border: 1px solid rgba(210, 242, 127, .14); border-radius: 22px; box-shadow: 0 18px 40px -20px rgba(0, 0, 0, .55); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
body .gdmn__item { color: #9DB3A2; font-family: var(--s-font); font-weight: 500; font-size: 11px; border-radius: 16px; }
body .gdmn__item.is-active { color: var(--s-forest); background: var(--s-lime); }
body .gdmn__item:active { background: rgba(210, 242, 127, .1); }
body .gdmn__ico .gdc-count { background: var(--s-lime); color: var(--s-forest); }
body .gdmn__item.is-active .gdmn__ico .gdc-count { background: var(--s-forest); color: var(--s-lime); }

/* ======================================================================
   14 - RESPONSIVE
   ==================================================================== */
@media screen and (max-width: 1024px) {
	.woocommerce-cart .woocommerce:has(.woocommerce-cart-form) { grid-template-columns: minmax(0, 1fr); }
	.woocommerce-cart .woocommerce:has(.woocommerce-cart-form) > .cart-collaterals { grid-column: 1; }
	form.checkout { grid-template-columns: minmax(0, 1fr); grid-template-areas: "notice" "details" "head" "review"; grid-template-rows: auto; }
	form.checkout #order_review_heading { margin-top: 26px !important; }
	form.checkout #order_review { position: static; }
}
@media screen and (max-width: 900px) {
	.single-product div.product:not(.qtsp-page) { grid-template-columns: 1fr; gap: 26px; }
	.single-product div.product:not(.qtsp-page) .product_title.entry-title { font-size: 26px; }
	.single-product div.product:not(.qtsp-page) :is(p.price, span.price) { font-size: 22px; }
	form.checkout #customer_details :is(.col-1, .col-2) { padding: 22px 20px; }
	#order_review { padding: 22px 20px; }
	.cart-collaterals .cart_totals { padding: 22px 20px; }
}
@media screen and (max-width: 768px) {
	body .elementor .elementor-element.elementor-widget-shortcode:has(.woocommerce, .gdw, .gde2g) { margin: 8px; width: calc(100% - 16px); max-width: calc(100% - 16px); border-radius: 22px; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 10px 4px 4px !important; font-size: 13.5px !important; }
	.woocommerce ul.products li.product .price { padding: 0 4px 10px !important; font-size: 16px !important; flex-wrap: wrap !important; gap: 2px !important; }
	.woocommerce ul.products li.product .price del { font-size: 12px !important; width: 100%; }
	.woocommerce ul.products li.product .button { padding: 8px 0 !important; font-size: 13px !important; min-height: 38px; }
	.woocommerce ul.products li.product span.onsale { top: 14px !important; right: 14px !important; padding: 4px 8px !important; font-size: 10.5px !important; }

	.logged-in.woocommerce-account .woocommerce { grid-template-columns: 1fr !important; gap: 14px !important; }
	.woocommerce-account .woocommerce-MyAccount-navigation { position: static; padding: 6px; border-radius: 999px; overflow-x: auto; scrollbar-width: none; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; gap: 2px; width: max-content; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul li a { padding: 10px 14px !important; font-size: 14px !important; border-radius: 999px !important; white-space: nowrap; }
	.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout { margin: 0 !important; padding: 0 0 0 6px; border-top: 0; border-left: 1px solid rgba(210, 242, 127, .14); }
	.woocommerce-account .woocommerce-MyAccount-content { padding: 22px 18px; }

	.woocommerce-MyAccount-orders thead { display: none !important; }
	:is(.woocommerce-message, .woocommerce-info, .woocommerce-error):has(> .button) { display: flex; flex-direction: column-reverse; align-items: flex-start; gap: 12px; }
	:is(.woocommerce-message, .woocommerce-info, .woocommerce-error) > .button { float: none !important; margin: 0 !important; }
	.woocommerce-MyAccount-orders tbody :is(td, th) { display: block !important; text-align: right !important; padding: 9px 16px !important; }
	.woocommerce-MyAccount-orders tbody tr > :first-child { border-radius: 16px 16px 0 0 !important; padding-top: 14px !important; }
	.woocommerce-MyAccount-orders tbody tr > :last-child { border-radius: 0 0 16px 16px !important; padding-bottom: 14px !important; }
	.woocommerce-MyAccount-orders tbody :is(td, th)::before { content: attr(data-title) ": "; font-family: var(--s-font); font-weight: 400; float: left; color: var(--s-ink-3); }

	.woocommerce-account .woocommerce-Addresses.col2-set,
	.woocommerce-account .addresses .col2-set { grid-template-columns: 1fr !important; }

	.woocommerce-cart, .woocommerce-checkout { overflow-x: hidden; }
	.woocommerce-cart-form table.shop_table.cart thead { display: none !important; }
	.woocommerce-cart-form table.shop_table.cart tbody tr.cart_item { display: block; position: relative; border-top: 1px solid var(--s-line); padding: 16px 16px 16px 104px; min-height: 110px; }
	.woocommerce-cart-form table.shop_table.cart tbody tr.cart_item:first-child { border-top: 0; }
	.woocommerce-cart-form table.shop_table.cart tbody tr.cart_item td { display: block; border: 0 !important; padding: 0 0 8px !important; text-align: left !important; width: auto !important; }
	.woocommerce-cart-form table.shop_table.cart tbody tr.cart_item { padding-right: 52px; }
	.woocommerce-cart-form table.shop_table.cart tbody tr.cart_item td { background: transparent !important; }
	.woocommerce-cart-form table.shop_table.cart tbody tr.cart_item :is(td.product-name, td.product-thumbnail, td.product-remove)::before { content: none !important; display: none !important; }
	.woocommerce-cart-form table.shop_table.cart tbody tr.cart_item td.product-thumbnail { display: block !important; position: absolute; left: 16px; top: 16px; padding: 0 !important; }
	.woocommerce-cart-form td.product-thumbnail img { width: 72px !important; height: 72px !important; }
	.woocommerce-cart-form td.product-remove { position: absolute; right: 12px; top: 14px; padding: 0 !important; }
	.woocommerce-cart-form table.shop_table.cart tbody tr.cart_item :is(td.product-price, td.product-quantity, td.product-subtotal)::before {
		content: attr(data-title) ": "; font-family: var(--s-font); font-weight: 400; font-size: 13px; color: var(--s-ink-3); margin-right: 6px; float: none;
	}
	.woocommerce-cart-form td.actions { display: block; padding: 16px !important; }
	.woocommerce-cart-form td.actions .coupon { margin-bottom: 10px; }
	.woocommerce-cart-form td.actions .coupon :is(input#coupon_code, button.button) { flex: 1 1 100%; }
	.woocommerce-cart-form td.actions > button.button[name="update_cart"] { float: none !important; width: 100%; }
	body .gde2g__bar { border-radius: 22px; }
	body .gde2g__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
}
@media (max-width: 480px) {
	.woocommerce-account #customer_login form :is(.form-row-first, .form-row-last) { flex: 1 1 100% !important; }
	.woocommerce-account #customer_login :is(form.login, form.register) { padding: 22px !important; }
}
@media (prefers-reduced-motion: reduce) {
	.woocommerce :is(a.button, button.button, input.button) { transition: none !important; }
	.woocommerce ul.products li.product:hover { transform: none; }
}

/* Elementor's Theme Builder wrapper carries the class `product`, so the
   classic 2-column grid rule would turn it into a 50% column. Release it. */
.single-product div.product.elementor,
.single-product div.product.elementor-location-single {
	display: block !important; grid-template-columns: none !important; gap: 0 !important;
	width: 100% !important; max-width: 100% !important; float: none !important;
}
