/*
Theme Name:   Stagemart Child
Theme URI:    https://stagemart.eu
Description:  Child theme for Storefront — Stagemart B2B stage equipment store. Electric blue industrial design.
Author:       EZEKEN Group Sp. z o.o.
Author URI:   https://ezeken.eu
Template:     storefront
Version:      1.0.0
Requires PHP: 8.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  stagemart-child
*/

/* ==========================================================================
   1. Design tokens
   ========================================================================== */
:root {
  --sm-blue:        #0052ff;   /* electric blue — primary */
  --sm-blue-dark:   #0038c2;   /* hover / active */
  --sm-blue-glow:   #338aff;   /* light accent, focus rings */
  --sm-ink:         #0b1220;   /* near-black graphite — header, footer, headings */
  --sm-steel:       #3d4757;   /* secondary text */
  --sm-line:        #dde3ee;   /* borders */
  --sm-bg:          #f5f7fb;   /* light section background */
  --sm-white:       #ffffff;
  --sm-radius:      6px;
  --sm-shadow:      0 8px 24px rgba(11, 18, 32, 0.10);
  --sm-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
             "Helvetica Neue", Arial, sans-serif;
}

/* ==========================================================================
   2. Base typography & links
   ========================================================================== */
body {
  font-family: var(--sm-font);
  color: var(--sm-ink);
  background-color: var(--sm-white);
}

h1, h2, h3, h4, h5, h6 {
  color: var(--sm-ink);
  font-weight: 700;
  letter-spacing: -0.015em;
}

a {
  color: var(--sm-blue);
}
a:hover, a:focus {
  color: var(--sm-blue-dark);
}

/* Visible keyboard focus */
a:focus-visible,
button:focus-visible,
input:focus-visible,
.button:focus-visible {
  outline: 2px solid var(--sm-blue-glow);
  outline-offset: 2px;
}

/* ==========================================================================
   3. Header & navigation
   ========================================================================== */
.site-header {
  background-color: var(--sm-ink);
  border-bottom: 3px solid var(--sm-blue);
  color: var(--sm-white);
}

.site-header .site-title a,
.site-header .site-description,
.site-header a,
.site-header .widget a {
  color: var(--sm-white);
}
.site-header a:hover {
  color: var(--sm-blue-glow);
}

.storefront-primary-navigation,
.main-navigation ul.menu ul.sub-menu,
.main-navigation ul.nav-menu ul.children {
  background-color: var(--sm-ink);
}

.main-navigation ul li a,
.site-title a,
ul.menu li a,
.site-branding h1 a {
  color: var(--sm-white);
}

.main-navigation ul li a:hover,
.main-navigation ul li.current-menu-item > a {
  color: var(--sm-blue-glow);
}

/* Cart in header */
.site-header-cart .cart-contents,
.site-header-cart .cart-contents:hover {
  color: var(--sm-white);
}
.site-header-cart .cart-contents .count {
  background-color: var(--sm-blue);
  color: var(--sm-white);
}

/* Search field in header */
.site-header .widget_product_search input[type="search"],
.site-header .widget_search input[type="search"] {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: var(--sm-white);
}

/* ==========================================================================
   4. Buttons
   ========================================================================== */
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.button,
.added_to_cart,
.widget a.button,
.site-header-cart .widget_shopping_cart a.button,
.wc-block-components-button,
.wp-block-button__link {
  background-color: var(--sm-blue);
  border: 0;
  border-radius: var(--sm-radius);
  color: var(--sm-white);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 0.92em;
  transition: background-color 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease;
}

button:hover,
input[type="submit"]:hover,
.button:hover,
.added_to_cart:hover,
.wc-block-components-button:hover,
.wp-block-button__link:hover {
  background-color: var(--sm-blue-dark);
  color: var(--sm-white);
  box-shadow: 0 4px 14px rgba(0, 82, 255, 0.35);
}

.button.alt,
button.alt,
.button.checkout,
.wc-block-cart__submit-button {
  background-color: var(--sm-ink);
  color: var(--sm-white);
}
.button.alt:hover,
button.alt:hover,
.button.checkout:hover {
  background-color: var(--sm-blue);
}

.button.disabled,
.button:disabled {
  background-color: var(--sm-steel);
  opacity: 0.6;
}

/* ==========================================================================
   5. WooCommerce: catalog & product cards
   ========================================================================== */
ul.products li.product {
  background: var(--sm-white);
  border: 1px solid var(--sm-line);
  border-radius: var(--sm-radius);
  padding: 1em;
  transition: box-shadow 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
ul.products li.product:hover {
  border-color: var(--sm-blue);
  box-shadow: var(--sm-shadow);
  transform: translateY(-2px);
}

ul.products li.product .woocommerce-loop-product__title {
  color: var(--sm-ink);
  font-weight: 600;
}

.price,
ul.products li.product .price,
.woocommerce-Price-amount {
  color: var(--sm-blue);
  font-weight: 700;
}

ul.products li.product .price del,
.price del {
  color: var(--sm-steel);
  font-weight: 400;
  opacity: 0.7;
}

/* Sale / status badge */
.onsale,
span.onsale {
  background-color: var(--sm-blue);
  color: var(--sm-white);
  border-radius: 4px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  min-height: auto;
  min-width: auto;
  padding: 0.35em 0.8em;
  border: 0;
}

/* Star ratings */
.star-rating span,
.star-rating::before,
p.stars a {
  color: var(--sm-blue);
}

/* ==========================================================================
   6. Single product
   ========================================================================== */
.single-product div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--sm-blue);
  border-bottom: 2px solid var(--sm-blue);
}

.single-product div.product .quantity .qty {
  border: 1px solid var(--sm-line);
  border-radius: var(--sm-radius);
}

table.variations select {
  border-radius: var(--sm-radius);
  border: 1px solid var(--sm-line);
}

/* Stock status — important for B2B */
.stock.in-stock {
  color: #0a8a3c;
  font-weight: 600;
}
.stock.out-of-stock {
  color: #c22f2f;
  font-weight: 600;
}

/* ==========================================================================
   7. Cart, checkout, notices
   ========================================================================== */
.woocommerce-message,
.woocommerce-info,
.wc-block-components-notice-banner.is-info,
.wc-block-components-notice-banner.is-success {
  border-top-color: var(--sm-blue);
}
.woocommerce-message::before,
.woocommerce-info::before {
  color: var(--sm-blue);
}

.woocommerce-error {
  border-top-color: #c22f2f;
}

table.cart td.actions .coupon .input-text,
.checkout .input-text,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
  border: 1px solid var(--sm-line);
  border-radius: var(--sm-radius);
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
  border-color: var(--sm-blue);
  box-shadow: 0 0 0 3px rgba(0, 82, 255, 0.15);
}

#order_review {
  border: 1px solid var(--sm-line);
  border-radius: var(--sm-radius);
}

/* ==========================================================================
   8. Footer
   ========================================================================== */
.site-footer {
  background-color: var(--sm-ink);
  color: #aeb8c9;
}
.site-footer a {
  color: var(--sm-white);
}
.site-footer a:hover {
  color: var(--sm-blue-glow);
}
.site-footer h1, .site-footer h2, .site-footer h3,
.site-footer h4, .site-footer h5, .site-footer h6 {
  color: var(--sm-white);
}
.site-footer .widget {
  border-top: 0;
}

/* ==========================================================================
   9. Homepage sections & misc
   ========================================================================== */
.storefront-product-section {
  border-bottom: 1px solid var(--sm-line);
}

.section-title,
.storefront-product-section .section-title {
  position: relative;
  padding-bottom: 0.4em;
}
.section-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 48px;
  height: 3px;
  background: var(--sm-blue);
}

/* Breadcrumbs */
.woocommerce-breadcrumb {
  background: var(--sm-bg);
  border-radius: var(--sm-radius);
  padding: 0.6em 1em;
  font-size: 0.85em;
}
.woocommerce-breadcrumb a {
  color: var(--sm-steel);
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul li span.current,
.page-numbers li .page-numbers.current {
  background-color: var(--sm-blue);
  color: var(--sm-white);
}

/* Mobile handheld bar (Storefront) */
.storefront-handheld-footer-bar {
  background-color: var(--sm-ink);
}
.storefront-handheld-footer-bar ul li > a {
  color: var(--sm-white);
}
.storefront-handheld-footer-bar ul li.cart .count {
  background-color: var(--sm-blue);
  color: var(--sm-white);
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  ul.products li.product,
  .button, button {
    transition: none;
  }
  ul.products li.product:hover {
    transform: none;
  }
}

/* Hide page title on Storefront homepage template */
.page-template-template-homepage .entry-header,
.page-template-template-homepage .entry-title {
  display: none;
}

/* ==== Homepage hero ==== */
.sm-hero {
  background: linear-gradient(135deg, #0b1220 0%, #101d3a 60%, #0b2f7a 100%);
  border-bottom: 3px solid var(--sm-blue);
  padding: 4.5em 0;
  margin-bottom: 3em;
  text-align: left;
}
.sm-hero h1 {
  color: #fff;
  font-size: 2.4em;
  max-width: 14em;
  margin-bottom: 0.4em;
}
.sm-hero p {
  color: #aeb8c9;
  font-size: 1.15em;
  max-width: 34em;
  margin-bottom: 1.6em;
}
.sm-hero .button { font-size: 1em; padding: 0.9em 2em; }

/* category tiles */
ul.products li.product.product-category img { border: 1px solid var(--sm-line); border-radius: var(--sm-radius); }
ul.products li.product.product-category h2 { color: var(--sm-ink); font-weight: 600; font-size: 0.95em; }
ul.products li.product.product-category .count { background: none; color: var(--sm-steel); }
@media (max-width: 768px) { .sm-hero { padding: 3em 0; } .sm-hero h1 { font-size: 1.7em; } }

/* ==========================================================
   EZEKEN aesthetic override — industrial cyan
   ========================================================== */
:root {
  --sm-blue:       #0e7490;   /* deep teal — кнопки, читабельний */
  --sm-blue-dark:  #155e75;   /* hover кнопок */
  --sm-blue-glow:  #22d3ee;   /* неоновий cyan — акценти, glow, фокус */
  --sm-violet:     #7c3aed;   /* фіолетовий підсвіт, другий план */
  --sm-ink:        #0b1220;
}

/* неон — там, де він працює: ціни, лінії, hover */
.price, ul.products li.product .price, .woocommerce-Price-amount { color: #0891b2; }
.site-header { border-bottom: 3px solid var(--sm-blue-glow); }
.site-header-cart .cart-contents .count { background-color: var(--sm-blue-glow); color: var(--sm-ink); }
ul.products li.product:hover { border-color: var(--sm-blue-glow); box-shadow: 0 8px 24px rgba(34,211,238,.18); }
button:hover, input[type="submit"]:hover, .button:hover, .wp-block-button__link:hover {
  box-shadow: 0 4px 16px rgba(34,211,238,.35);
}
.onsale, span.onsale { background-color: var(--sm-blue-glow); color: var(--sm-ink); }
.section-title::after { background: linear-gradient(90deg, var(--sm-blue-glow), var(--sm-violet)); }
.main-navigation ul li a:hover, .main-navigation ul li.current-menu-item > a,
.site-header a:hover { color: var(--sm-blue-glow); }
.site-footer a:hover { color: var(--sm-blue-glow); }
.storefront-handheld-footer-bar ul li.cart .count { background-color: var(--sm-blue-glow); color: var(--sm-ink); }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus {
  border-color: var(--sm-blue-glow); box-shadow: 0 0 0 3px rgba(34,211,238,.18);
}
.widget_price_filter .ui-slider .ui-slider-range { background-color: var(--sm-blue-glow); }
.widget_price_filter .ui-slider .ui-slider-handle { background-color: var(--sm-blue-glow); border: 2px solid var(--sm-ink); }

/* hero: графіт -> teal з фіолетовим підсвітом, як на ezeken/vikotone */
.sm-hero {
  background:
    radial-gradient(60% 90% at 85% 10%, rgba(124,58,237,.28) 0%, transparent 60%),
    radial-gradient(50% 80% at 10% 90%, rgba(34,211,238,.20) 0%, transparent 55%),
    linear-gradient(135deg, #0b1220 0%, #0c1a2e 55%, #083d47 100%);
  border-bottom: 3px solid var(--sm-blue-glow);
}
.sm-hero h1 { text-shadow: 0 0 24px rgba(34,211,238,.25); }

/* language switcher */
.sm-lang a { opacity: .55; font-size: .85em; letter-spacing: .08em; }
.sm-lang-current a { opacity: 1; color: var(--sm-blue-glow) !important; }

/* language switcher */
.sm-lang a { opacity: .55; font-size: .85em; letter-spacing: .08em; }
.sm-lang-current a { opacity: 1; color: var(--sm-blue-glow) !important; }

/* ==== category bar ==== */
.sm-catbar {
  background: #0f1b30;
  border-bottom: 1px solid rgba(34,211,238,.25);
  margin-bottom: 2em;
}
.sm-catbar ul {
  display: flex; flex-wrap: wrap; gap: .3em 1.6em;
  list-style: none; margin: 0; padding: .8em 0;
}
.sm-catbar li { margin: 0; }
.sm-catbar a {
  color: #aeb8c9; font-weight: 600; font-size: .9em;
  text-transform: uppercase; letter-spacing: .04em; text-decoration: none;
  transition: color .15s;
}
.sm-catbar a:hover, .sm-catbar .sm-cat-active a { color: var(--sm-blue-glow); }
@media (max-width: 768px) { .sm-catbar ul { gap: .2em 1em; font-size: .8em; overflow-x: auto; } }

/* --- sm-catbar: horizontal scroll on mobile — 2026-07-09 --- */
.sm-catbar ul {
    display: flex;
    flex-wrap: wrap;
    gap: .3em 1.2em;
    list-style: none;
    margin: 0;
    padding: .8em 0;
    align-items: center;
}
@media (max-width: 768px) {
    .sm-catbar {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .sm-catbar ul {
        flex-wrap: nowrap;
        white-space: nowrap;
        font-size: .82em;
        gap: 0 1.4em;
        padding: .6em 1em;
    }
    .sm-catbar ul li { flex: 0 0 auto; }
}

/* --- Custom logo size limits — 2026-07-10 --- */
.site-header .custom-logo-link {
    display: inline-block;
    max-width: 240px;
    line-height: 0;
}
.site-header .custom-logo {
    max-height: 56px;
    width: auto;
    height: auto;
    display: block;
}
@media (max-width: 768px) {
    .site-header .custom-logo { max-height: 42px; }
    .site-header .custom-logo-link { max-width: 180px; }
}

/* --- Header particles container — 2026-07-10 --- */
.site-header {
    position: relative;
    overflow: hidden;
}
.site-header .col-full,
.site-header .site-branding,
.site-header .main-navigation,
.site-header .site-search {
    position: relative;
    z-index: 2;
}
.site-header canvas.sm-header-particles {
    position: absolute !important;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    pointer-events: none;
    z-index: 1;
    opacity: .7;
}

@media (min-width: 769px) {
/* --- Dropdown z-index fix — 2026-07-10 v3 --- */
.site-header { z-index: 100; position: relative; }
.main-navigation ul.menu ul.sub-menu,
.main-navigation ul.nav-menu ul.children {
    z-index: 200 !important;
}
.sm-catbar { position: relative; z-index: 10; }

/* --- Dropdown positioning fix — 2026-07-10 v4 --- */
.main-navigation ul.menu > li,
.main-navigation ul.nav-menu > li {
    position: relative;
}
.main-navigation ul.menu ul.sub-menu,
.main-navigation ul.nav-menu ul.children {
    position: absolute !important;
    top: 100%;
    left: 0;
    min-width: 240px;
    background: #0b1220;
    border: 1px solid rgba(34, 211, 238, 0.25);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
    padding: 0.5em 0;
    display: none;
    z-index: 200;
}
.main-navigation ul.menu > li:hover > ul.sub-menu,
.main-navigation ul.menu > li:focus-within > ul.sub-menu,
.main-navigation ul.nav-menu > li:hover > ul.children,
.main-navigation ul.nav-menu > li:focus-within > ul.children {
    display: block;
}
.main-navigation ul.sub-menu li,
.main-navigation ul.children li {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
}
.main-navigation ul.sub-menu li a,
.main-navigation ul.children li a {
    display: block;
    padding: 0.5em 1.2em;
    white-space: nowrap;
    color: #ffffff;
}
.main-navigation ul.sub-menu li a:hover,
.main-navigation ul.children li a:hover {
    background: rgba(34, 211, 238, 0.1);
    color: #22d3ee;
}


}

/* --- Header overflow fix so dropdowns can escape — 2026-07-10 v5 --- */
.site-header { overflow: visible !important; }
.site-header .col-full { overflow: visible; }

/* Contain particles canvas within header without clipping dropdowns */
.site-header canvas.sm-header-particles {
    clip-path: inset(0);
}

/* --- Thomann-style horizontal product cards on mobile — 2026-07-10 --- */
@media (max-width: 768px) {
    ul.products {
        display: block !important;
    }
    ul.products li.product {
        display: flex !important;
        flex-direction: row;
        align-items: flex-start;
        gap: 1em;
        width: 100% !important;
        float: none !important;
        margin: 0 0 1em 0 !important;
        padding: 1em;
        background: #f4f6f8;
        border-radius: 10px;
    }
    ul.products li.product img {
        width: 110px !important;
        height: auto !important;
        flex: 0 0 110px;
        margin: 0 !important;
        background: #fff;
        border-radius: 6px;
    }
    ul.products li.product .woocommerce-loop-product__title {
        font-size: 1em !important;
        margin: 0 0 .3em !important;
        text-align: left;
    }
    ul.products li.product .price,
    ul.products li.product .sm-loop-sku,
    ul.products li.product .button {
        text-align: left;
        margin-left: 0 !important;
    }
    ul.products li.product .price {
        font-size: 1.15em !important;
        font-weight: 700;
    }
    /* Wrapper for text part */
    ul.products li.product > a {
        display: flex;
        flex-direction: row;
        gap: 1em;
        width: 100%;
    }
    ul.products li.product > a > *:not(img) {
        text-align: left;
    }
}

/* --- Handheld menu visibility fix — 2026-07-10 --- */
@media (max-width: 768px) {
    .handheld-navigation ul.menu,
    .handheld-navigation ul.nav-menu {
        display: block !important;
    }
    .handheld-navigation ul.menu li,
    .handheld-navigation ul.nav-menu li {
        display: block !important;
        width: 100%;
    }
    .handheld-navigation ul.menu li a,
    .handheld-navigation ul.nav-menu li a {
        display: block !important;
        padding: .75em 1em;
        color: #ffffff !important;
        border-bottom: 1px solid rgba(255,255,255,0.08);
    }
    /* Sub-menus collapsed by default, Storefront toggle opens them */
    .handheld-navigation ul.menu ul.sub-menu {
        display: none;
    }
    .handheld-navigation ul.menu li.focus > ul.sub-menu,
    .handheld-navigation ul.menu ul.sub-menu.toggled-on {
        display: block;
    }
    .handheld-navigation ul.sub-menu li a {
        padding-left: 2em;
        font-size: .95em;
        opacity: .9;
    }
    /* Dropdown toggle arrows (Storefront built-in buttons) */
    .handheld-navigation .dropdown-toggle {
        color: #22d3ee;
        background: transparent;
        border: none;
        padding: .6em 1em;
        float: right;
    }
}

/* --- Product card: icon-only cart button on mobile — 2026-07-10 --- */
@media (max-width: 768px) {
    ul.products li.product .button,
    ul.products li.product .add_to_cart_button {
        font-size: 0 !important;           /* hide text */
        width: 44px;
        height: 44px;
        min-width: 44px;
        padding: 0 !important;
        border-radius: 50%;
        position: relative;
        flex: 0 0 44px;
        margin-left: auto !important;
    }
    ul.products li.product .button::before {
        content: "\1F6D2";                 /* 🛒 fallback */
        content: "";
        font-size: 0;
    }
    ul.products li.product .button::after {
        content: "+";
        font-size: 22px;
        font-weight: 700;
        line-height: 1;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        color: #fff;
    }
    /* SVG cart icon via background (crisper than emoji) */
    ul.products li.product .button {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: center;
        background-size: 22px 22px;
    }
    ul.products li.product .button::after {
        content: "" !important;            /* SVG replaces the + */
    }
}

/* --- German long words: shrink instead of breaking — 2026-07-10 --- */
.sm-hero h1 {
    hyphens: manual;
    overflow-wrap: normal;
    word-break: keep-all;
}
@media (max-width: 768px) {
    .sm-hero h1 {
        font-size: clamp(1.15em, 5.5vw, 1.7em) !important;
    }
    .sm-hero p {
        font-size: clamp(.85em, 3.8vw, 1em);
    }
}
/* Menu items: never break words mid-word */
.handheld-navigation ul.menu li a,
.main-navigation ul.menu li a {
    word-break: keep-all;
    overflow-wrap: normal;
}

/* --- Compact product card grid (Thomann-like) — 2026-07-10 v2 --- */
@media (max-width: 768px) {
    ul.products li.product {
        display: grid !important;
        grid-template-columns: 96px 1fr auto;
        grid-template-areas:
            "img title  cart"
            "img title  price"
            "img sku    price";
        gap: .25em .8em;
        align-items: start;
        padding: .8em !important;
    }
    /* Break the <a> wrapper open so children participate in grid */
    ul.products li.product > a.woocommerce-LoopProduct-link {
        display: contents !important;
    }
    ul.products li.product img {
        grid-area: img;
        width: 96px !important;
        flex: none;
        align-self: start;
    }
    ul.products li.product .woocommerce-loop-product__title {
        grid-area: title;
        font-size: .95em !important;
        line-height: 1.3;
        margin: 0 !important;
        padding: 0 !important;
    }
    ul.products li.product .sm-loop-sku {
        grid-area: sku;
        align-self: end;
        margin: 0 !important;
    }
    ul.products li.product .price {
        grid-area: price;
        align-self: end;
        justify-self: end;
        text-align: right !important;
        font-size: 1em !important;
        margin: 0 !important;
    }
    ul.products li.product .button,
    ul.products li.product .add_to_cart_button {
        grid-area: cart;
        justify-self: end;
        align-self: start;
        margin: 0 !important;
    }
    /* Star ratings if present */
    ul.products li.product .star-rating {
        grid-area: title;
        align-self: end;
        margin: 1.8em 0 0 !important;
    }
}

/* --- Desktop: same horizontal cards as mobile — 2026-07-10 --- */
@media (min-width: 769px) {
    ul.products {
        display: block !important;
    }
    ul.products li.product {
        display: grid !important;
        grid-template-columns: 120px 1fr auto;
        grid-template-areas:
            "img title cart"
            "img sku   price";
        gap: .4em 1.5em;
        align-items: start;
        width: 100% !important;
        float: none !important;
        margin: 0 0 1em 0 !important;
        padding: 1.2em !important;
        background: #f4f6f8;
        border-radius: 10px;
    }
    ul.products li.product > a.woocommerce-LoopProduct-link {
        display: contents !important;
    }
    ul.products li.product img {
        grid-area: img; width: 120px !important; margin: 0 !important;
        background: #fff; border-radius: 6px;
    }
    ul.products li.product .woocommerce-loop-product__title {
        grid-area: title; font-size: 1.1em !important; margin: 0 !important; text-align: left;
    }
    ul.products li.product .sm-loop-sku { grid-area: sku; align-self: end; margin: 0 !important; }
    ul.products li.product .price {
        grid-area: price; justify-self: end; align-self: end;
        text-align: right !important; font-size: 1.25em !important; font-weight: 700; margin: 0 !important;
    }
    ul.products li.product .button {
        grid-area: cart; justify-self: end; align-self: start;
        width: 48px; height: 48px; min-width: 48px; padding: 0 !important; border-radius: 50%;
        font-size: 0 !important; margin: 0 !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E");
        background-repeat: no-repeat; background-position: center; background-size: 24px;
    }
}

/* --- Price suffix compact + hide floating currency bar — 2026-07-10 --- */
/* Сховати плаваючий сайдбар CURCY */
.wmc-sidebar, .woo-multi-currency.wmc-sidebar,
#wmc-sidebar, .wmc-currency-trigger { display: none !important; }

/* Ціна на картках: менший суфікс, не ламати слова */
ul.products li.product .price {
    line-height: 1.35;
}
ul.products li.product .price .woocommerce-price-suffix {
    display: block;
    font-size: .68em;
    font-weight: 400;
    opacity: .75;
    white-space: nowrap;
}
@media (max-width: 768px) {
    /* Дати ціновій зоні більше місця у гріді */
    ul.products li.product {
        grid-template-columns: 96px 1fr !important;
        grid-template-areas:
            "img title"
            "img cart"
            "price price" !important;
    }
    ul.products li.product .price {
        grid-area: price;
        justify-self: end;
        text-align: right !important;
        margin-top: .3em !important;
    }
    ul.products li.product .price .woocommerce-price-suffix {
        white-space: normal;
    }
}
/* Діапазони цін variable products — не розривати */
ul.products li.product .price > span,
ul.products li.product .price bdi {
    white-space: nowrap;
}

/* --- Inline currency switcher styling --- */
.sm-currency-switch { display: inline-flex; align-items: center; }
.sm-currency-switch .wmc-currency-wrapper { margin: 0; }
.sm-currency-switch select,
.sm-currency-switch .wmc-currency {
    background: transparent;
    color: #fff;
    border: 1px solid rgba(34,211,238,.35);
    border-radius: 4px;
    padding: .15em .5em;
    font-size: .85em;
}

/* --- Custom currency dropdown v3 — 2026-07-10 --- */
.sm-currency-header { display: none !important; } /* kill v2 remnants */

.sm-cur {
    position: absolute;
    top: 4.6em;      /* під рядком суми кошика */
    right: 2.5em;
    z-index: 60;
}
.sm-cur-btn {
    background: rgba(11,18,32,.85);
    border: 1px solid rgba(34,211,238,.35);
    border-radius: 4px;
    color: #fff;
    font-size: .8em;
    letter-spacing: 1px;
    padding: .35em .7em;
    cursor: pointer;
    white-space: nowrap;
    line-height: 1;
}
.sm-cur-btn:hover { border-color: #22d3ee; }
.sm-cur-arr { font-size: .8em; opacity: .7; }
.sm-cur-list {
    display: none;
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    margin: 0; padding: .25em 0;
    list-style: none;
    background: #0b1220;
    border: 1px solid rgba(34,211,238,.25);
    border-radius: 4px;
    box-shadow: 0 8px 24px rgba(0,0,0,.5);
    min-width: 100%;
}
.sm-cur.open .sm-cur-list { display: block; }
.sm-cur-list a {
    display: block;
    padding: .4em .9em;
    color: #fff;
    font-size: .8em;
    letter-spacing: 1px;
    white-space: nowrap;
}
.sm-cur-list a:hover { background: rgba(34,211,238,.12); color: #22d3ee; }



/* --- Cart count: clean white, no highlight bg — 2026-07-10 --- */
.site-header-cart .cart-contents .count,
.site-header-cart .cart-contents .amount + .count,
.storefront-header-cart .count {
    background: transparent !important;
    color: #ffffff !important;
    padding: 0 !important;
    border-radius: 0 !important;
    font-size: .9em;
    opacity: .85;
}

/* --- Mini-cart dropdown: light theme (inverted) — 2026-07-10 --- */
.site-header-cart .widget_shopping_cart,
.site-header-cart .widget_shopping_cart .widget_shopping_cart_content {
    background: #ffffff !important;
    color: #1e293b !important;
    border: 1px solid rgba(34,211,238,.3);
    border-radius: 6px;
    box-shadow: 0 12px 32px rgba(0,0,0,.35);
}
.site-header-cart .widget_shopping_cart a,
.site-header-cart .widget_shopping_cart .product_list_widget li a {
    color: #0f172a !important;
}
.site-header-cart .widget_shopping_cart .product_list_widget li {
    border-bottom: 1px solid #e2e8f0;
    padding: .8em 1em;
}
.site-header-cart .widget_shopping_cart .quantity,
.site-header-cart .widget_shopping_cart dl.variation,
.site-header-cart .widget_shopping_cart dl.variation dt,
.site-header-cart .widget_shopping_cart dl.variation dd {
    color: #475569 !important;
}
.site-header-cart .widget_shopping_cart .quantity .amount,
.site-header-cart .widget_shopping_cart .total .amount {
    color: #0e7490 !important;
    font-weight: 700;
}
.site-header-cart .widget_shopping_cart .total {
    background: #f1f5f9;
    border-top: 2px solid #22d3ee;
    color: #0f172a !important;
    padding: .8em 1em;
}
/* Кнопки лишаємо фірмові teal */
.site-header-cart .widget_shopping_cart .buttons .button {
    background: #0e7490;
    color: #fff;
}
.site-header-cart .widget_shopping_cart .buttons .button:hover {
    background: #22d3ee;
    color: #0b1220;
}
/* Хрестик видалення */
.site-header-cart .widget_shopping_cart a.remove {
    color: #94a3b8 !important;
    border: 1px solid #cbd5e1;
    background: #fff !important;
}
.site-header-cart .widget_shopping_cart a.remove:hover {
    color: #fff !important;
    background: #ef4444 !important;
    border-color: #ef4444;
}

/* --- Footer dark theme — 2026-07-10 --- */
.site-footer {
    background: #0b1220 !important;
    color: rgba(255,255,255,.75) !important;
    border-top: 2px solid #22d3ee;
}
.site-footer h4 {
    color: #fff;
    font-size: 1em;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: .8em;
}
.site-footer h4::after {
    content: "";
    display: block;
    width: 32px; height: 2px;
    margin-top: .4em;
    background: linear-gradient(90deg, #22d3ee, #7c3aed);
}
.site-footer a { color: rgba(255,255,255,.85) !important; }
.site-footer a:hover { color: #22d3ee !important; }
.site-footer ul { list-style: none; margin: 0; padding: 0; }
.site-footer ul li { margin-bottom: .4em; }
.site-footer .site-info {
    background: rgba(0,0,0,.3);
    color: rgba(255,255,255,.4);
    text-align: center;
    padding: 1em 0;
}

/* --- Footer columns grid --- */
.sm-footer-cols {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2em;
    padding: 3em 0 2em;
}
@media (max-width: 768px) {
    .sm-footer-cols { grid-template-columns: 1fr 1fr; gap: 1.5em; padding: 2em 1em; }
}
@media (max-width: 480px) {
    .sm-footer-cols { grid-template-columns: 1fr; }
}

/* ============================================================
   MOBILE FINAL OVERRIDES — 2026-07-11 (last block wins)
   ============================================================ */
@media (max-width: 768px) {

    /* --- Валюта: фіксована пігулка внизу-праворуч, НЕ в хедері --- */
    .sm-cur {
        position: fixed !important;
        top: auto !important;
        bottom: 5.2em !important;
        right: .8em !important;
        left: auto !important;
        z-index: 95 !important;
    }
    .sm-cur-btn {
        font-size: .7em !important;
        padding: .45em .7em !important;
        box-shadow: 0 4px 12px rgba(0,0,0,.55);
    }
    .sm-cur-list {
        bottom: calc(100% + 4px) !important;
        top: auto !important;
    }

    /* --- Картка: жорсткий 2-колонковий грід --- */
    ul.products li.product {
        display: grid !important;
        grid-template-columns: 96px minmax(0, 1fr) !important;
        grid-template-areas:
            "img title"
            "img cart"
            "sku sku"
            "price price" !important;
        gap: .3em .8em !important;
        align-items: start !important;
        padding: .8em !important;
    }
    ul.products li.product > a.woocommerce-LoopProduct-link,
    ul.products li.product > a.woocommerce-loop-product__link {
        display: contents !important;
    }
    ul.products li.product img {
        grid-area: img !important;
        width: 96px !important;
        margin: 0 !important;
    }
    ul.products li.product .woocommerce-loop-product__title {
        grid-area: title !important;
        font-size: .95em !important;
        margin: 0 !important;
        text-align: left !important;
    }
    ul.products li.product .button,
    ul.products li.product .add_to_cart_button {
        grid-area: cart !important;
        justify-self: start !important;
        align-self: start !important;
        margin: .2em 0 0 0 !important;
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
    }
    ul.products li.product .sm-loop-sku {
        grid-area: sku !important;
        justify-self: start !important;
        text-align: left !important;
        white-space: nowrap !important;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100% !important;
        font-size: .75em !important;
        margin: 0 !important;
        opacity: .7;
    }
    ul.products li.product .price {
        grid-area: price !important;
        justify-self: end !important;
        text-align: right !important;
        font-size: 1em !important;
        margin: 0 !important;
        width: 100%;
    }
    ul.products li.product .price .woocommerce-Price-amount {
        white-space: nowrap !important;
        display: inline-block;
    }

    /* --- Прибрати дубль пошук-бару що визирає під handheld-панеллю --- */
    .storefront-handheld-footer-bar { z-index: 80; }
    .site-search, .storefront-product-search {
        position: relative;
        z-index: 1;
    }
}

/* ========================================================
   STAGEMART CATEGORY TREE + SHOP LAYOUT — 2026-07-11
   ======================================================== */

/* Hide sidebar on single product */
body.single-product #secondary { display:none !important; }
body.single-product #primary   { width:100% !important; float:none !important; margin:0 !important; }

/* Sidebar wrapper */
.sm-shop-sidebar{
    background:#0b1220;
    border:1px solid rgba(34,211,238,.18);
    border-radius:10px;
    padding:.85em 0 .6em;
    color:#e5e7eb;
    font-size:.92em;
}
.sm-cat-tree-title{
    font-size:.72em;
    letter-spacing:.15em;
    text-transform:uppercase;
    color:#94a3b8;
    padding:0 1.1em .55em;
    margin:0 0 .35em;
    border-bottom:1px solid rgba(34,211,238,.15);
}

/* Tree lists */
.sm-cat-tree, .sm-cat-sub{ list-style:none; margin:0; padding:0; }
.sm-cat-sub{ padding-left:1.05em; border-left:1px dashed rgba(34,211,238,.18); margin-left:1.15em; }
.sm-cat-item{ margin:0; }

.sm-cat-row{
    display:flex; align-items:center; gap:.35em;
    padding:.32em .9em;
    transition:background .15s;
}
.sm-cat-row:hover{ background:rgba(34,211,238,.06); }
.sm-cat-item.is-current > .sm-cat-row{ background:rgba(34,211,238,.12); }
.sm-cat-item.is-current > .sm-cat-row .sm-cat-link{ color:#22d3ee; font-weight:600; }

.sm-cat-toggle{
    flex:0 0 18px; height:18px; width:18px;
    display:inline-flex; align-items:center; justify-content:center;
    background:transparent; border:0; padding:0; cursor:pointer;
    color:#94a3b8;
}
.sm-cat-toggle svg{ transition:transform .2s ease; }
.sm-cat-item.is-open > .sm-cat-row > .sm-cat-toggle svg{ transform:rotate(-180deg); }
.sm-cat-toggle--empty{ cursor:default; }

.sm-cat-link{
    flex:1; display:flex; justify-content:space-between; align-items:center; gap:.5em;
    color:#e5e7eb; text-decoration:none; line-height:1.35;
}
.sm-cat-link:hover{ color:#22d3ee; }
.sm-cat-count{ color:#64748b; font-size:.78em; }

/* Mobile: sidebar goes on top, collapse it too */
@media (max-width:768px){
    .sm-shop-sidebar{ margin-bottom:1.2em; }
}

/* Shop root — category cards look */
.woocommerce ul.products li.product-category{
    text-align:center;
    padding-bottom:.6em;
}
.woocommerce ul.products li.product-category h2.woocommerce-loop-category__title{
    font-size:1rem !important;
    color:#e5e7eb;
    padding:.7em .3em .1em;
    text-transform:none;
    font-weight:600;
}
.woocommerce ul.products li.product-category h2 mark{
    background:transparent; color:#94a3b8; font-size:.82em;
}
.woocommerce ul.products li.product-category a{
    display:block;
    background:#0b1220;
    border:1px solid rgba(34,211,238,.15);
    border-radius:10px;
    overflow:hidden;
    transition:border-color .2s, transform .2s;
    padding:0;
}
.woocommerce ul.products li.product-category a:hover{
    border-color:#22d3ee;
    transform:translateY(-2px);
}
.woocommerce ul.products li.product-category img.sm-cat-thumb,
.woocommerce ul.products li.product-category img{
    margin:0 !important;
    width:100% !important; height:auto;
    aspect-ratio:4/3; object-fit:cover;
    background:#0f172a;
}

/* ========================================================
   POLISH PASS — 2026-07-11 (cards / sidebar light / footer)
   ======================================================== */

/* ---------- 1) Category cards: horizontal, white photo ---------- */
.woocommerce ul.products li.product-category{
    width:100% !important;
    float:none !important;
    margin:0 0 .8em !important;
    padding:0 !important;
    text-align:left !important;
    clear:both;
}
.woocommerce ul.products li.product-category a{
    display:grid !important;
    grid-template-columns:140px 1fr;
    align-items:center;
    gap:1em;
    padding:0 !important;
    background:#ffffff;
    border:1px solid rgba(34,211,238,.35);
    border-radius:10px;
    overflow:hidden;
    transition:border-color .2s, transform .2s, box-shadow .2s;
}
.woocommerce ul.products li.product-category a:hover{
    border-color:#22d3ee;
    box-shadow:0 4px 14px rgba(34,211,238,.15);
    transform:none;
}
.woocommerce ul.products li.product-category img,
.woocommerce ul.products li.product-category img.sm-cat-thumb{
    display:block;
    width:140px !important; height:140px !important;
    aspect-ratio:1/1;
    object-fit:contain;
    background:#ffffff;
    margin:0 !important;
    padding:.5em;
    box-sizing:border-box;
}
.woocommerce ul.products li.product-category h2.woocommerce-loop-category__title{
    font-size:1.05rem !important;
    color:#0b1220 !important;
    padding:.9em 1em .9em 0 !important;
    margin:0 !important;
    font-weight:600;
    text-align:left;
    line-height:1.3;
}
.woocommerce ul.products li.product-category h2 mark{
    background:transparent !important;
    color:#64748b !important;
    font-size:.8em;
    font-weight:400;
    margin-left:.35em;
}
/* Mobile — фото трохи менше */
@media (max-width:600px){
    .woocommerce ul.products li.product-category a{ grid-template-columns:96px 1fr; gap:.7em; }
    .woocommerce ul.products li.product-category img{ width:96px !important; height:96px !important; }
    .woocommerce ul.products li.product-category h2.woocommerce-loop-category__title{ font-size:.95rem !important; padding:.65em .7em .65em 0 !important; }
}

/* ---------- 2) Sidebar — LIGHT theme with cyan outline ---------- */
.sm-shop-sidebar{
    background:#ffffff !important;
    border:1px solid rgba(34,211,238,.4) !important;
    box-shadow:0 2px 10px rgba(11,18,32,.06);
    color:#0b1220 !important;
}
.sm-cat-tree-title{
    color:#64748b !important;
    border-bottom:1px solid rgba(34,211,238,.25) !important;
}
.sm-cat-sub{ border-left:1px dashed rgba(34,211,238,.3) !important; }
.sm-cat-row:hover{ background:rgba(34,211,238,.08) !important; }
.sm-cat-item.is-current > .sm-cat-row{ background:rgba(34,211,238,.14) !important; }
.sm-cat-item.is-current > .sm-cat-row .sm-cat-link{ color:#0891b2 !important; }
.sm-cat-link{ color:#0b1220 !important; }
.sm-cat-link:hover{ color:#0891b2 !important; }
.sm-cat-toggle{ color:#64748b !important; }
.sm-cat-count{ color:#94a3b8 !important; }

/* ---------- 3) Footer — force 4 columns in one row ---------- */
.sm-footer-inner,
footer .sm-footer-inner,
.site-footer .sm-footer-inner{
    display:grid !important;
    grid-template-columns:repeat(4, 1fr) !important;
    gap:2em !important;
    align-items:start !important;
}
.sm-footer-col{
    grid-column:auto !important;
    grid-row:auto !important;
    min-width:0;
}
@media (max-width:900px){
    .sm-footer-inner{ grid-template-columns:repeat(2, 1fr) !important; }
}
@media (max-width:520px){
    .sm-footer-inner{ grid-template-columns:1fr !important; }
}

/* ========================================================
   FOOTER FIX (correct classes) — 2026-07-11
   ======================================================== */
.sm-footer-cols{
    display:grid !important;
    grid-template-columns:repeat(4, 1fr) !important;
    gap:2em !important;
    align-items:start !important;
    max-width:1200px;
    margin:0 auto;
    padding:2.4em 1.5em;
}
.sm-fcol{ min-width:0; }
.sm-fcol h4{ margin-top:0; }

@media (max-width:900px){
    .sm-footer-cols{ grid-template-columns:repeat(2, 1fr) !important; }
}
@media (max-width:520px){
    .sm-footer-cols{ grid-template-columns:1fr !important; }
}

/* ========================================================
   GRID CONFLICT FIX — category cards vs mobile product grid
   2026-07-11
   ======================================================== */
.woocommerce ul.products li.product-category a{
    display:grid !important;
    grid-template-areas:none !important;
    grid-template-columns:140px 1fr !important;
    grid-template-rows:auto !important;
    grid-auto-columns:unset !important;
    grid-auto-flow:row !important;
}
.woocommerce ul.products li.product-category a img{
    grid-area:auto !important;
    grid-column:1 !important;
    grid-row:1 !important;
    flex:none !important;
    width:140px !important;
    height:140px !important;
}
.woocommerce ul.products li.product-category a h2.woocommerce-loop-category__title{
    grid-area:auto !important;
    grid-column:2 !important;
    grid-row:1 !important;
}
@media (max-width:600px){
    .woocommerce ul.products li.product-category a{
        grid-template-columns:96px 1fr !important;
    }
    .woocommerce ul.products li.product-category a img{
        width:96px !important;
        height:96px !important;
    }
}

/* ========================================================
   FORCE FULL WIDTH ON CATEGORY CARD LINK — 2026-07-11
   ======================================================== */
.woocommerce ul.products li.product-category{
    width:100% !important;
    display:block !important;
}
.woocommerce ul.products li.product-category > a{
    width:100% !important;
    box-sizing:border-box !important;
    max-width:none !important;
}
.woocommerce ul.products li.product-category h2.woocommerce-loop-category__title{
    min-width:0 !important;
    overflow:visible !important;
    white-space:normal !important;
}

/* ========================================================
   KILL CLEARFIX PSEUDO-ELEMENTS INSIDE GRID FOOTER
   2026-07-11
   ======================================================== */
.sm-footer-cols::before,
.sm-footer-cols::after{
    content:none !important;
    display:none !important;
}

/* ========================================================
   FOOTER LINKS: no underline, color on hover - 2026-07-11
   ======================================================== */
.sm-footer-cols a{
    text-decoration:none !important;
    transition:color .15s;
}
.sm-footer-cols a:hover{
    color:#22d3ee !important;
    text-decoration:none !important;
}

/* ========================================================
   FOOTER PARTICLES CONTAINER - 2026-07-11
   ======================================================== */
.site-footer{
    position:relative;
    overflow:hidden;
}
.sm-footer-particles{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    pointer-events:none;
    z-index:0;
}
.sm-footer-cols{
    position:relative;
    z-index:1;
}

/* ========================================================
   SHOP BY BRAND: compact row layout — 2026-07-11
   ======================================================== */
.storefront-woocommerce-brands ul{
    display:flex !important;
    flex-wrap:wrap;
    gap:1em;
    list-style:none !important;
    margin:1em 0 0 !important;
    padding:0 !important;
}
.storefront-woocommerce-brands ul li{
    list-style:none !important;
    margin:0 !important;
    flex:0 0 auto;
}
.storefront-woocommerce-brands ul li a{
    display:flex;
    align-items:center;
    justify-content:center;
    width:150px;
    height:80px;
    background:#ffffff;
    border:1px solid rgba(34,211,238,.25);
    border-radius:8px;
    padding:.8em;
    box-sizing:border-box;
    transition:border-color .2s, box-shadow .2s;
}
.storefront-woocommerce-brands ul li a:hover{
    border-color:#22d3ee;
    box-shadow:0 4px 12px rgba(34,211,238,.15);
}
.storefront-woocommerce-brands ul li img.brand-thumbnail{
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain;
    margin:0 !important;
}
@media (max-width:600px){
    .storefront-woocommerce-brands ul li a{ width:110px; height:60px; padding:.5em; }
}

/* --- Handheld search: ховати поле до кліку (2026-07-12) --- */
@media (max-width: 767px) {
    .storefront-handheld-footer-bar ul li.search .site-search { display: none; }
    .storefront-handheld-footer-bar ul li.search.active .site-search { display: block; }
}

/* --- Header tools: мова+валюта біля пошуку (2026-07-12) --- */
.sm-header-tools {
    display: flex;
    align-items: center;
    gap: 1.2em;
    white-space: nowrap;
}
.sm-lang { list-style: none; margin: 0; padding: 0; display: flex; gap: .7em; }
.sm-lang li a {
    color: #cfd8e3;
    text-transform: uppercase;
    font-size: .85em;
    letter-spacing: .05em;
    text-decoration: none;
}
.sm-lang li.current-lang a { color: var(--sm-blue-glow); font-weight: 700; }
.sm-currency .wmc-currency-wrapper { position: static !important; }

@media (min-width: 768px) {
    .site-header .col-full { position: relative; }
    .sm-header-tools {
        float: none;
        position: absolute;
        top: calc(1.1em - 4px);           /* вертикаль: у лінію з логотипом і пошуком */
        right: calc(46.5% - 50px);        /* пошук займає праві 44.66%, стаємо впритул ліворуч */
        margin: 0;
        z-index: 200;
    }
}
/* Всі рештки CURCY-кнопок — геть (наш блок wmc-класів не має) */
[class*="wmc-currency"],
.woo-multi-currency { display: none !important; }
/* Плаваюча кнопка CURCY та її рештки — ховаємо, у нас свій .sm-currency */
.woo-multi-currency,
.wmc-currency-wrapper { display: none !important; }
/* Кнопка валюти — як стара плаваюча EUR */
.sm-currency { position: relative; }
.sm-currency-current {
    display: inline-block;
    padding: .25em .9em;
    background: rgba(11, 18, 32, .9);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 4px;
    font-size: .85em;
    letter-spacing: .05em;
    cursor: pointer;
}
.sm-currency:hover .sm-currency-current { border-color: var(--sm-blue-glow); }
.sm-currency-list {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    margin: 2px 0 0;
    padding: 2px 0;
    list-style: none;
    background: #0b1220;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 4px;
    min-width: 100%;
    z-index: 999;
}
.sm-currency:hover .sm-currency-list { display: block; }
.sm-currency-list li a {
    display: block;
    padding: .3em .9em;
    color: #cfd8e3;
    font-size: .85em;
    text-decoration: none;
}
.sm-currency-list li a:hover { color: var(--sm-blue-glow); }
/* CURCY select у стилі старої кнопки EUR */
.sm-currency select,
.sm-currency .wmc-currency-wrapper select {
    -webkit-appearance: none;
    appearance: none;
    background: rgba(11, 18, 32, .85);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 4px;
    padding: .25em 1.6em .25em .8em;
    font-size: .85em;
    letter-spacing: .05em;
    cursor: pointer;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='6'><path d='M0 0l4 6 4-6z' fill='%23ffffff'/></svg>");
    background-repeat: no-repeat;
    background-position: right .6em center;
}
.sm-currency select:hover { border-color: var(--sm-blue-glow); }
@media (max-width: 767px) {
    .sm-header-tools { display: none; } /* мобілка: мова в меню, валюта — вирішимо окремо */
}

/* ==== LIGHTEK SPEC TABLES — 2026-07-18 ==== */
.lightek-spec{
    width:100%;
    border-collapse:collapse;
    margin:1em 0 1.5em;
    font-size:.92em;
    line-height:1.45;
}
.lightek-spec tr{ border-bottom:1px solid #e6e6e6; }
.lightek-spec td{
    padding:.5em .75em;
    vertical-align:top;
}
.lightek-spec td:first-child{
    width:42%;
    color:#555;
}
.lightek-spec td:last-child{ font-weight:500; }
.lightek-spec th[colspan]{
    text-align:left;
    padding:.9em .75em .45em;
    background:#f5f5f5;
    font-weight:600;
    text-transform:uppercase;
    font-size:.85em;
    letter-spacing:.04em;
    border-bottom:2px solid #ddd;
}
.lightek-spec tr:nth-child(even):not(:has(th)){ background:#fafafa; }
@media (max-width:600px){
    .lightek-spec td:first-child{ width:50%; }
    .lightek-spec{ font-size:.88em; }
}


/* ==== HANDHELD LANG SWITCHER — 2026-07-18 ==== */
.storefront-handheld-footer-bar ul li.language > a::before{ display:none; }
.smt-lang-hh{ position:relative; height:100%; }
.smt-lang-hh .smt-lang-toggle{
    display:flex; align-items:center; justify-content:center;
    height:100%; font-weight:600; font-size:1em; text-indent:0;
}
.smt-lang-hh .smt-lang-list{
    display:none; position:absolute; bottom:100%; left:50%;
    transform:translateX(-50%); margin:0 0 .4em; padding:.3em 0;
    background:#1b2338; border:1px solid #2dd4de; border-radius:6px;
    list-style:none; min-width:64px; z-index:999;
}
.smt-lang-hh.open .smt-lang-list{ display:block; }
.smt-lang-hh .smt-lang-list li{ list-style:none; }
.smt-lang-hh .smt-lang-list a{
    display:block; padding:.5em 1em; text-align:center;
    color:#fff; font-weight:600; text-indent:0;
}

/* lang switcher fix v2 */
.smt-lang-hh .smt-lang-list{ min-width:80px; }
.smt-lang-hh .smt-lang-list li{ margin:0; padding:0; }
.smt-lang-hh .smt-lang-list li::marker{ content:none; }
.smt-lang-hh .smt-lang-list li::before{ display:none; }
.smt-lang-hh .smt-lang-list a{
    white-space:nowrap;
    text-decoration:none;
    border-bottom:none;
    line-height:1.2;
}

/* lang switcher fix v3: скинути успадковані li-стилі панелі */
.storefront-handheld-footer-bar .smt-lang-hh .smt-lang-list li{
    display:block !important;
    width:100% !important;
    float:none !important;
    text-align:center;
    border:0 !important;
}
.storefront-handheld-footer-bar .smt-lang-hh .smt-lang-list a{
    display:block !important;
    width:100% !important;
    height:auto !important;
    padding:.55em 1.2em !important;
    text-indent:0 !important;
}

/* lang switcher fix v4: центрування поточної мови */
.storefront-handheld-footer-bar ul li.language{ height:100%; }
.storefront-handheld-footer-bar ul li.language .smt-lang-hh{
    display:flex; align-items:center; justify-content:center;
}
.storefront-handheld-footer-bar ul li.language .smt-lang-toggle{
    width:100%;
    height:4.4em;          /* висота панелі Storefront */
    line-height:4.4em;
    padding:0;
    text-align:center;
    display:block;
}
