/*
Theme Name: Ecobrite
Theme URI: https://www.ecobriteled.com
Template: xts-antares
Author: Ecobrite / GPA Estates
Author URI: https://www.ecobriteled.com
Description: Bespoke Ecobrite LED theme. Frosted-glow design system, WooCommerce-native, no Woodmart dependency. Built to replace the Woodmart theme incrementally on staging.
Version: 0.1.0
Requires at least: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ecobrite
WC requires at least: 8.0
Tested up to: 6.7
*/

/* ==========================================================================
   Design tokens — lifted from the live redesign (lumina-glow + blog redesign)
   ========================================================================== */
:root{
  /* Brand */
  --ecb-green:#22c55e;
  --ecb-green-d:#16a34a;
  --ecb-green-l:#34d399;
  --ecb-teal:#14b8a6;
  --ecb-grad:linear-gradient(145deg,var(--ecb-green-l),var(--ecb-green));
  --ecb-grad-txt:linear-gradient(120deg,var(--ecb-green-d),var(--ecb-teal));

  /* Ink / text ramp */
  --ecb-ink:#0f172a;
  --ecb-ink-2:#334155;
  --ecb-muted:#64748b;
  --ecb-faint:#94a3b8;

  /* Surfaces */
  --ecb-bg:#f4f8f6;
  --ecb-surface:rgba(255,255,255,.92);
  --ecb-surface-solid:#ffffff;
  --ecb-border:#e2e8f0;
  --ecb-border-soft:#e7ebf0;

  /* Effects */
  --ecb-shadow:0 14px 34px -22px rgba(15,23,42,.22);
  --ecb-shadow-lift:0 22px 48px -24px rgba(15,23,42,.28);
  --ecb-radius:16px;
  --ecb-radius-lg:18px;
  --ecb-radius-pill:999px;

  /* Layout */
  --ecb-container:1240px;
  --ecb-gutter:20px;

  --ecb-font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}

/* ==========================================================================
   Base
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--ecb-font);
  color:var(--ecb-ink-2);
  background:var(--ecb-bg);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--ecb-green-d);text-decoration:none}
a:hover{color:var(--ecb-green)}
h1,h2,h3,h4,h5,h6{color:var(--ecb-ink);letter-spacing:-.02em;line-height:1.2}

/* Layout helpers */
.eco-container{max-width:var(--ecb-container);margin-inline:auto;padding-inline:var(--ecb-gutter)}
.eco-site-main{min-height:50vh;padding-block:32px}

/* Buttons */
.eco-btn{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--ecb-grad);color:#fff;
  border:none;border-radius:var(--ecb-radius-pill);
  padding:12px 22px;font-weight:800;font-size:.9rem;cursor:pointer;
  box-shadow:0 8px 18px -8px rgba(34,197,94,.6);transition:transform .2s,box-shadow .2s;
}
.eco-btn:hover{transform:translateY(-1px);color:#fff;box-shadow:0 12px 24px -8px rgba(34,197,94,.7)}

/* Frosted panel */
.eco-panel{
  background:var(--ecb-surface);border:1px solid var(--ecb-border-soft);
  border-radius:var(--ecb-radius-lg);padding:20px;box-shadow:var(--ecb-shadow);
  backdrop-filter:saturate(140%) blur(8px);
}

/* Skip link (a11y) */
.skip-link{position:absolute;left:-9999px;top:0;background:#fff;padding:10px 16px;border-radius:0 0 10px 0;z-index:100000}
.skip-link:focus{left:0}

/* ==========================================================================
   Header responsive swap — desktop capsule (.ebdh-wrap) ≤1024px hidden;
   the mobile header block self-hides ≥1025px with its own rule.
   (Woodmart used to hide the desktop column; the theme owns this now.)
   ========================================================================== */
@media (max-width:1024px){
  .ebdh-wrap{display:none !important}
}

/* Header stacking — Woodmart's wrapper used to carry a high z-index; without
   it the capsule bar's backdrop-filter traps the mega-menu/dropdown panels in
   a z:auto stacking context and the hero paints OVER them (menus "underlap"
   and close when the mouse crosses onto hero content). Elevate the whole
   header above page content; top bar higher still for its own dropdowns. */
#masthead{position:relative;z-index:1005}
.eco-topbar-live{position:relative;z-index:991}

/* ==========================================================================
   Breadcrumbs — slim trail below the header (Yoast or WooCommerce)
   ========================================================================== */
.eco-breadcrumb{background:transparent;padding-block:12px 0}
.eco-breadcrumb .eco-container{font-size:.8rem;color:var(--ecb-faint);display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.eco-breadcrumb a{color:var(--ecb-muted);font-weight:600}
.eco-breadcrumb a:hover{color:var(--ecb-green-d)}
.eco-breadcrumb .eco-breadcrumb__sep,.eco-breadcrumb .breadcrumb_last{color:var(--ecb-faint)}
.eco-breadcrumb .breadcrumb_last{font-weight:700;color:var(--ecb-ink-2)}
@media (max-width:640px){.eco-breadcrumb{padding-block:8px 0}.eco-breadcrumb .eco-container{font-size:.72rem}}

/* ==========================================================================
   Top bar — slim ink strip above the header (replaces the Woodmart top bar)
   ========================================================================== */
.eco-topbar{background:var(--ecb-ink);color:#cbd5e1;font-size:.78rem;font-weight:600}
.eco-topbar__inner{display:flex;align-items:center;gap:16px;min-height:36px}
.eco-topbar__msg{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.eco-topbar__dot{width:7px;height:7px;border-radius:50%;background:var(--ecb-green);box-shadow:0 0 8px rgba(34,197,94,.9);flex-shrink:0}
.eco-topbar__spacer{flex:1}
.eco-topbar__link{color:#fff;font-weight:700;white-space:nowrap;transition:color .2s}
.eco-topbar__link:hover{color:var(--ecb-green-l)}
.eco-topbar__tp{color:#00b67a}
.eco-topbar__sep{width:1px;height:14px;background:rgba(255,255,255,.18)}
@media (max-width:640px){
  .eco-topbar__hide-sm{display:none}
  .eco-topbar{font-size:.72rem}
}

/* ==========================================================================
   Footer — frosted-light, widgets flow as columns
   ========================================================================== */
.eco-footer{background:#fff;border-top:1px solid var(--ecb-border-soft);margin-top:56px}
.eco-footer__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:32px;padding-block:44px 30px}
.eco-footer__col{display:contents} /* widgets themselves become the grid items */
.eco-footer-widget{font-size:.88rem;color:var(--ecb-muted);line-height:1.75}
.eco-footer-widget p{margin:0 0 8px}
.eco-footer-widget a{color:var(--ecb-ink-2);font-weight:600}
.eco-footer-widget a:hover{color:var(--ecb-green-d)}
.eco-footer-widget img{max-height:44px;width:auto;margin-bottom:14px}
.eco-footer-widget ul{list-style:none;margin:0;padding:0}
.eco-footer-widget li{margin:0 0 8px}
.eco-footer-widget__title{margin:0 0 14px;font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--ecb-faint)}
.eco-footer__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #f1f5f9;padding-block:16px;font-size:.78rem;color:var(--ecb-faint)}
.eco-footer__menu{display:flex;flex-wrap:wrap;gap:16px;list-style:none;margin:0;padding:0}
.eco-footer__menu a{color:var(--ecb-muted);font-weight:600}
.eco-footer__menu a:hover{color:var(--ecb-green-d)}

/* ==========================================================================
   WooCommerce polish — cart / checkout / product inside the eco shell
   ========================================================================== */
/* Buttons → green pill system */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce button[name="update_cart"],
.woocommerce #place_order{
  background:var(--ecb-grad) !important;color:#fff !important;border:none !important;
  border-radius:999px !important;padding:12px 22px !important;font-weight:800 !important;
  font-size:.88rem !important;line-height:1.2 !important;cursor:pointer;
  box-shadow:0 8px 18px -8px rgba(34,197,94,.6);transition:transform .2s,box-shadow .2s,opacity .2s;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce #place_order:hover{transform:translateY(-1px);box-shadow:0 12px 24px -8px rgba(34,197,94,.7);color:#fff !important}
.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled]{
  background:#e2e8f0 !important;color:#94a3b8 !important;box-shadow:none;transform:none;
}
.woocommerce #place_order{width:100%;padding:16px 22px !important;font-size:1rem !important}

/* Tables (cart, totals, orders) → frosted panels */
.woocommerce table.shop_table{
  border:1px solid var(--ecb-border-soft);border-radius:16px;background:#fff;
  box-shadow:var(--ecb-shadow);border-collapse:separate;border-spacing:0;overflow:hidden;
}
.woocommerce table.shop_table th{
  font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ecb-faint);padding:14px 16px;border:none;background:#fbfdfc;
}
.woocommerce table.shop_table td{padding:14px 16px;border-top:1px solid #f1f5f9;font-size:.92rem}
.woocommerce table.shop_table td.product-name a{color:var(--ecb-ink);font-weight:700}
.woocommerce table.shop_table td.product-name a:hover{color:var(--ecb-green-d)}
.woocommerce a.remove{color:var(--ecb-faint) !important;border-radius:50%;transition:.2s}
.woocommerce a.remove:hover{background:#fee2e2 !important;color:#dc2626 !important}
.woocommerce td.product-thumbnail img{border-radius:10px;border:1px solid #f1f5f9}

/* Quantity + coupon inputs */
.woocommerce .quantity .qty,.woocommerce #coupon_code{
  border:1.5px solid var(--ecb-border);border-radius:12px;padding:10px 12px;
  background:#fbfdfc;font:inherit;font-size:.9rem;color:var(--ecb-ink);outline:none;transition:border-color .2s;
}
.woocommerce .quantity .qty:focus,.woocommerce #coupon_code:focus{border-color:var(--ecb-green)}
.woocommerce #coupon_code{min-width:150px}

/* Cart totals / checkout review */
.woocommerce .cart_totals h2,.woocommerce #order_review_heading{
  font-size:1.15rem;font-weight:900;letter-spacing:-.02em;margin:0 0 12px;
}
.woocommerce .cart_totals,.woocommerce-checkout #order_review{font-size:.92rem}
.woocommerce ul#shipping_method li{margin-bottom:6px}
.woocommerce ul#shipping_method input[type="radio"]{accent-color:var(--ecb-green-d)}

/* Checkout form fields */
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce form .form-row select,.select2-container--default .select2-selection--single{
  border:1.5px solid var(--ecb-border);border-radius:12px;padding:11px 14px;
  background:#fbfdfc;font:inherit;font-size:.92rem;color:var(--ecb-ink);outline:none;transition:border-color .2s;
}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{border-color:var(--ecb-green)}
.woocommerce form .form-row label{font-size:.8rem;font-weight:700;color:var(--ecb-ink-2)}
.select2-container--default .select2-selection--single{height:auto;padding:9px 14px}

/* Notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  border-radius:14px;background:#fff;box-shadow:var(--ecb-shadow);
  border-top-width:3px;padding:14px 20px 14px 48px;font-size:.9rem;
}
.woocommerce-message{border-top-color:var(--ecb-green)}
.woocommerce-info{border-top-color:var(--ecb-teal)}

/* Single product layout fixes */
.eco-wc div.product .esh-rel,.eco-wc div.product .esh-prodside{
  float:none !important;clear:both;width:100% !important;margin-top:44px;
}
.eco-wc div.product div.images{margin-bottom:32px}
.eco-wc div.product div.images img{border-radius:18px}
.eco-wc h1.product_title{font-size:clamp(1.4rem,2.6vw,2rem);font-weight:900;letter-spacing:-.03em}
.eco-wc div.product .woocommerce-tabs{clear:both;padding-top:8px}


/* Custom Fix: Force Social Topbar Icon Dimensions */
.eco-topbar__icon, 
.eco-topbar__social svg, 
.eco-topbar__social img,
.eco-topbar__social a svg,
.eco-topbar__social a img {
    width: 16px !important;
    height: 16px !important;
    max-width: 16px !important;
    max-height: 16px !important;
    display: inline-block !important;
    vertical-align: middle !important;
}


/* ==========================================================================
   Bespoke Topbar elements layout & dropdown styling (restore horizontal style)
   ========================================================================== */
.eco-topbar-live .elementor-widget-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    min-height: 36px;
    background: var(--ecb-ink, #0f172a);
    color: #cbd5e1;
    font-size: .78rem;
    font-weight: 600;
    padding-inline: 20px;
    flex-wrap: wrap;
}
.eco-topbar-live .elementor-widget-container a {
    color: #fff;
    font-weight: 700;
    transition: color .2s;
    display: inline-flex;
    align-items: center;
}
.eco-topbar-live .elementor-widget-container a:hover {
    color: var(--ecb-green-l, #34d399);
}
.eco-topbar__promo {
    margin: 0;
    white-space: nowrap;
}
.eco-topbar__promo--strong {
    color: #fff;
    font-weight: 700;
}
.eco-topbar__menu {
    position: relative;
    display: inline-block;
}
.eco-topbar__trigger {
    background: transparent;
    border: none;
    color: inherit;
    font: inherit;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    cursor: pointer;
    padding: 0;
}
.eco-topbar__chevron {
    width: 10px;
    height: 10px;
    stroke-width: 3;
    transition: transform .2s;
    display: inline-block;
}
.eco-topbar__dropdown {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(8px);
    background: #fff;
    color: var(--ecb-ink, #0f172a);
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);
    border-radius: 8px;
    list-style: none;
    margin: 0;
    padding: 8px 0;
    min-width: 120px;
    display: none;
    z-index: 1000;
    border: 1px solid #e2e8f0;
}
.eco-topbar__menu:hover .eco-topbar__dropdown,
.eco-topbar__menu:focus-within .eco-topbar__dropdown {
    display: block;
}
.eco-topbar__menu:hover .eco-topbar__chevron {
    transform: rotate(180deg);
}
.eco-topbar__option {
    background: transparent;
    border: none;
    width: 100%;
    text-align: left;
    padding: 6px 16px;
    font: inherit;
    font-size: 0.75rem;
    color: var(--ecb-ink-2, #334155);
    cursor: pointer;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
.eco-topbar__option:hover {
    background: #f1f5f9;
    color: var(--ecb-ink, #0f172a);
}
.eco-topbar__sym {
    color: var(--ecb-muted, #64748b);
}
.eco-topbar__flag {
    display: inline-flex;
    align-items: center;
    width: 16px;
    height: 11px;
    margin-right: 4px;
    vertical-align: middle;
}
.eco-topbar__flag svg {
    width: 100%;
    height: 100%;
}

/* Custom Styling: Topbar Background and Mobile Hiding */
html body .eco-topbar-live,
html body .eco-topbar-live .elementor-section,
html body .eco-topbar-live .elementor-container,
html body .eco-topbar-live .elementor-column,
html body .eco-topbar-live .elementor-widget-wrap,
html body .eco-topbar-live .elementor-widget-container {
    background-color: #f5f5f5 !important;
}
.eco-topbar-live {
    border-bottom: 1px solid #e2e8f0 !important;
    padding-block: 6px !important;
}

@media (max-width: 1024px) {
    .eco-topbar-live {
        display: none !important;
    }
}

/* WooCommerce Sidebar Layout */
.eco-has-sidebar {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
@media (min-width: 992px) {
    .eco-has-sidebar {
        flex-direction: row;
        gap: 40px;
    }
    .eco-has-sidebar .eco-site-main {
        flex: 1;
        min-width: 0;
    }
    .eco-has-sidebar .eco-sidebar {
        width: 300px;
        flex-shrink: 0;
    }
}
@media (max-width: 991px) {
    .eco-has-sidebar .eco-sidebar {
        display: none !important; /* Hide the sidebar on mobile and tablet */
    }
}

/* Sidebar Widget Styles */
.eco-sidebar-widget {
    margin-bottom: 35px;
    background: #fff;
    padding: 24px;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
}
.eco-sidebar-widget__title {
    font-size: 16px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 2px solid #e2e8f0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Page vertical spacing */
.eco-site-main {
    padding-block: 40px;
}
@media (min-width: 768px) {
    .eco-site-main {
        padding-block: 60px;
    }
}

/* Page Header Title Banner */
.eco-page-header {
    background-color: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    padding-block: 30px;
    margin-bottom: 0;
}
@media (min-width: 768px) {
    .eco-page-header {
        padding-block: 45px;
    }
}
.eco-page-title {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 1.8rem;
    font-weight: 900;
    color: #0f172a;
    margin: 0;
    line-height: 1.2;
    letter-spacing: -0.03em;
}
@media (min-width: 768px) {
    .eco-page-title {
        font-size: 2.2rem;
    }
}

/* Checkout Page Grid Layout (Side-by-Side) */
@media (min-width: 992px) {
    .woocommerce-checkout form.checkout {
        display: grid !important;
        grid-template-columns: 58% 38% !important;
        column-gap: 4% !important;
        row-gap: 20px !important;
        align-items: start !important;
    }
    .woocommerce-checkout #customer_details {
        grid-column: 1 !important;
        grid-row: 1 / 3 !important;
        width: 100% !important;
        float: none !important;
    }
    .woocommerce-checkout #order_review_heading {
        grid-column: 2 !important;
        grid-row: 1 !important;
        margin: 0 !important;
        width: 100% !important;
        float: none !important;
    }
    .woocommerce-checkout #order_review {
        grid-column: 2 !important;
        grid-row: 2 !important;
        width: 100% !important;
        float: none !important;
    }
}

/* WooCommerce My Account Sidebar Layout */
@media (min-width: 768px) {
    .woocommerce-account .woocommerce {
        display: flex;
        gap: 40px;
        align-items: flex-start;
    }
    .woocommerce-MyAccount-navigation {
        flex: 0 0 250px;
        background: #f8fafc;
        border: 1px solid var(--ecb-border-soft);
        border-radius: 16px;
        padding: 20px;
    }
    .woocommerce-MyAccount-content {
        flex: 1;
    }
}
/* My Account Menu Styling */
.woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.woocommerce-MyAccount-navigation li {
    border-bottom: 1px solid #e2e8f0;
}
.woocommerce-MyAccount-navigation li:last-child {
    border-bottom: none;
}
.woocommerce-MyAccount-navigation a {
    display: block;
    padding: 12px 8px;
    color: var(--ecb-ink-2);
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s;
    font-size: 0.92rem;
}
.woocommerce-MyAccount-navigation a:hover {
    color: var(--ecb-green-d);
}
.woocommerce-MyAccount-navigation li.is-active a {
    color: var(--ecb-green);
    font-weight: 700;
}


/* === TOPBAR REDESIGN OVERRIDES === */
  /* ---- scoped reset --------------------------------------------------- */
  .eco-topbar, .eco-topbar *, .eco-topbar *::before, .eco-topbar *::after { box-sizing: border-box; }
  .eco-topbar ul { list-style: none; margin: 0; padding: 0; }
  /* theme-proofing: kill host-theme margins the site adds to buttons/links */
  .eco-topbar a,
  .eco-topbar button,
  .eco-topbar p,
  .eco-topbar span { margin: 0; }
  .eco-topbar {
    --eco-tb-accent: #111827;   /* hover / active text          */
    --eco-tb-text:   #475569;   /* interactive text (?8.6:1)    */
    --eco-tb-muted:  #64748b;   /* secondary promo text (?4.8:1)*/
    --eco-tb-sep:    #e2e8f0;
    --eco-tb-bg:     rgba(255, 255, 255, 0.98);
    width: 100%;
    background: var(--eco-tb-bg);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid #f1f5f9;
    font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    /* To make it stick to the top of the page, uncomment:
       position: sticky; top: 0; z-index: 50; */
  }
  .eco-topbar__inner {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 24px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;   /* centre the utility items in the bar */
  }
  /* ---- centre the bar across the page --------------------------------- */
  /* The theme drops this block into a left (xts-start) header column and
     leaves an empty, space-eating xts-center column beside it, so the bar
     hugs the left. Stretch the start column full-width and collapse the
     empty siblings so justify-content:center actually centres on the page.
     Desktop only — the whole top-bar row is hidden below 1025px. */
  @media (min-width: 1025px) {
    .xts-header-col.xts-start:has(.eco-topbar),
    .xts-header-html-block:has(.eco-topbar) {
      flex: 1 1 auto !important;
      width: 100% !important;
      max-width: 100% !important;
    }
    .xts-header-row-inner:has(.eco-topbar) > .xts-header-col.xts-center,
    .xts-header-row-inner:has(.eco-topbar) > .xts-header-col.xts-end {
      flex: 0 0 0 !important;
      width: 0 !important;
      min-width: 0 !important;
    }
  }
  /* ---- social --------------------------------------------------------- */
  .eco-topbar__social { display: flex; align-items: center; padding-right: 8px; }
  .eco-topbar__social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    color: var(--eco-tb-text);
    border-radius: 6px;
    transition: color .2s ease, transform .2s ease;
  }
  .eco-topbar__social a:hover { color: var(--eco-tb-accent); }
  .eco-topbar__social a:hover .eco-topbar__icon { transform: scale(1.15); }
  .eco-topbar__icon { width: 14px; height: 14px; fill: currentColor; transition: transform .2s ease; }
  /* ---- separators ----------------------------------------------------- */
  .eco-topbar__sep {
    width: 1px;
    height: 14px;
    background: var(--eco-tb-sep);
    margin: 0 4px;
    flex-shrink: 0;
  }
  /* ---- promo messages ------------------------------------------------- */
  .eco-topbar__promo {
    padding: 0 16px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--eco-tb-muted);
    white-space: nowrap;
  }
  .eco-topbar__promo--strong {
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #0f172a;
  }
  /* ---- links & dropdown triggers (shared chrome) ---------------------- */
  .eco-topbar__link,
  .eco-topbar__trigger {
    display: inline-flex;
    align-items: center;
    height: 42px;
    padding: 0 14px;
    border: 0;
    background: transparent;
    color: var(--eco-tb-text);
    font: inherit;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.03em;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: color .2s ease;
  }
  .eco-topbar__link:hover,
  .eco-topbar__trigger:hover,
  .eco-topbar__trigger[aria-expanded="true"] { color: var(--eco-tb-accent); }
  /* keyboard focus only — no outline on mouse click */
  .eco-topbar a:focus-visible,
  .eco-topbar button:focus-visible {
    outline: 2px solid var(--eco-tb-accent);
    outline-offset: -2px;
    border-radius: 4px;
    color: var(--eco-tb-accent);
  }
  .eco-topbar__chevron {
    width: 10px; height: 10px;
    margin-left: 6px;
    opacity: .4;
    transition: transform .2s ease;
  }
  .eco-topbar__trigger[aria-expanded="true"] .eco-topbar__chevron { transform: rotate(180deg); }
  .eco-topbar__flag {
    width: 16px; height: 12px;
    margin-right: 8px;
    border: 1px solid #f1f5f9;
    border-radius: 1px;
    overflow: hidden;
    flex-shrink: 0;
    display: inline-flex;
  }
  .eco-topbar__flag svg { width: 100%; height: 100%; display: block; }
  /* ---- dropdowns ------------------------------------------------------ */
  .eco-topbar__menu { position: relative; }
  .eco-topbar__dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 180px;
    margin-top: 2px;
    background: #fff;
    border: 1px solid var(--eco-tb-sep);
    border-radius: 8px;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, .08);
    overflow: hidden;
    z-index: 100;
    display: none;
  }
  .eco-topbar__menu[data-open="true"] .eco-topbar__dropdown {
    display: block;
    animation: eco-tb-fade .2s ease-out;
  }
  .eco-topbar__option {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 16px;
    border: 0;
    background: transparent;
    color: var(--eco-tb-muted);
    font: inherit;
    font-size: 11px;
    text-align: left;
    cursor: pointer;
    transition: background .2s ease, color .2s ease;
  }
  .eco-topbar__option:hover,
  .eco-topbar__option:focus-visible {
    background: #f8fafc;
    color: var(--eco-tb-accent);
    outline: none;
  }
  .eco-topbar__option .eco-topbar__sym { opacity: .35; }
  @keyframes eco-tb-fade {
    from { opacity: 0; transform: translateY(5px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  /* ---- toast ---------------------------------------------------------- */
  .eco-topbar-toast {
    position: fixed;
    bottom: 24px;
    right: 24px;
    padding: 12px 20px;
    background: #111827;
    color: #fff;
    border-radius: 8px;
    font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 12px;
    font-weight: 500;
    z-index: 1000;
    opacity: 0;
    transform: translateY(100px);
    pointer-events: none;
    transition: transform .3s cubic-bezier(.175, .885, .32, 1.275), opacity .3s ease;
  }
  .eco-topbar-toast.is-visible { opacity: 1; transform: translateY(0); }
  /* ---- responsive ----------------------------------------------------- */
  @media (max-width: 768px) {
    /* drop the promo messages (and their separators) so essentials still fit */
    .eco-topbar__hide-sm { display: none; }
  }
  @media (max-width: 480px) {
    .eco-topbar__inner {
      padding: 0 12px;
      overflow-x: auto;
      scrollbar-width: none;          /* Firefox */
    }
    .eco-topbar__inner::-webkit-scrollbar { display: none; }  /* WebKit */
  }
  @media (prefers-reduced-motion: reduce) {
    .eco-topbar *,
    .eco-topbar-toast { transition: none !important; animation: none !important; }
  }
  /* ====================================================================
     ON-BRAND THEME SKIN (added 2026-06-24)
     Restyles the utility bar to match the site: Inter, Apple-black text,
     green (#16a34a / #22c55e) accents, light-green pills, rounded controls,
     1280px frame. Appended last so it cleanly overrides the base chrome above.
     ==================================================================== */
  .eco-topbar{
    background:#fafafa !important;
    border-bottom:1px solid #ececec !important;
    font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif !important;
    -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
    width:calc(100vw + 80px) !important;
    max-width:none !important;
    margin-left:calc(50% - 50vw - 40px) !important;
    margin-right:calc(50% - 50vw - 40px) !important;
  }
  .eco-topbar__inner{ max-width:1280px !important; padding:0 24px !important; height:32px !important; justify-content:center !important; gap:4px !important; }
  .eco-topbar__social{ padding-right:4px !important; }
  .eco-topbar__social a{ color:#86868b !important; padding:5px 7px !important; border-radius:9999px !important; }
  .eco-topbar__social a:hover{ color:#16a34a !important; background:#f0fdf4 !important; }
  .eco-topbar__icon{ width:13px !important; height:13px !important; }
  .eco-topbar__sep{ background:#e2e2e6 !important; height:12px !important; margin:0 6px !important; }
  .eco-topbar__promo{ color:#86868b !important; font-weight:500 !important; letter-spacing:0 !important; text-transform:none !important; font-size:11.5px !important; padding:0 12px !important; }
  .eco-topbar__promo--strong{ text-transform:uppercase !important; letter-spacing:.04em !important; font-size:10px !important; font-weight:700 !important; color:#15803d !important; background:#dcfce7 !important; padding:4px 11px !important; border-radius:9999px !important; }
  .eco-topbar__link, .eco-topbar__trigger{ height:32px !important; padding:0 12px !important; color:#48484d !important; font-size:11.5px !important; font-weight:500 !important; letter-spacing:0 !important; border-radius:9999px !important; }
  .eco-topbar__link:hover, .eco-topbar__trigger:hover, .eco-topbar__trigger[aria-expanded="true"]{ color:#16a34a !important; }
  .eco-topbar__chevron{ opacity:.45 !important; }
  .eco-topbar__flag{ border-radius:3px !important; border:1px solid #e2e2e6 !important; }
  .eco-topbar__dropdown{ border:1px solid #f1f5f9 !important; border-radius:16px !important; box-shadow:0 20px 40px -12px rgba(0,0,0,.15) !important; padding:6px !important; margin-top:8px !important; }
  .eco-topbar__option{ color:#48484d !important; font-size:12px !important; font-weight:500 !important; border-radius:9999px !important; padding:9px 14px !important; }
  .eco-topbar__option:hover, .eco-topbar__option:focus-visible{ background:#f0fdf4 !important; color:#15803d !important; }
  .eco-topbar__option .eco-topbar__sym{ color:#86868b !important; opacity:1 !important; }
  .eco-topbar-toast{ background:#1d1d1f !important; border-radius:12px !important; font-family:'Inter',sans-serif !important; }
  .eco-topbar a:focus-visible, .eco-topbar button:focus-visible{ outline-color:#16a34a !important; color:#16a34a !important; }
  .eco-topbar__social a svg {
    width: 14px !important;
    height: 14px !important;
    display: inline-block;
    vertical-align: middle;
  }
  .eco-topbar__trigger svg {
    width: 10px !important;
    height: 10px !important;
    display: inline-block;
    vertical-align: middle;
    margin-left: 4px;
  }

  /* Crop out the "See our reviews on" text to show only stars/logo on desktop */
  @media (min-width: 1025px) {
    #trustpilot-widget-trustbox-0 {
      height: 28px !important;
      overflow: visible !important;
    }
    #trustpilot-widget-trustbox-0 iframe {
      height: 36px !important;
      transform: scale(0.8) !important;
      transform-origin: left center !important;
      clip-path: none !important;
    }
  }

  /* Mobile styling for topbar (retains only socials & trustpilot banner, prevents screen breakage) */
  @media (max-width: 1024px) {
    .eco-topbar {
      width: 100% !important;
      max-width: 100% !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      overflow: hidden !important;
      height: auto !important;
    }
    .eco-topbar__inner {
      height: auto !important;
      padding: 6px 16px !important;
      display: flex !important;
      justify-content: space-between !important;
      align-items: center !important;
      flex-wrap: nowrap !important;
      gap: 12px !important;
    }
    /* Hide everything except social links and Trustpilot widget */
    .eco-topbar__promo,
    .eco-topbar__sep,
    .eco-topbar__link,
    .eco-topbar__trigger,
    .eco-topbar__inner > div:not(.eco-topbar__social):not(#trustpilot-widget-trustbox-0-wrapper) {
      display: none !important;
    }
    #trustpilot-widget-trustbox-0-wrapper {
      margin: 0 !important;
      display: flex !important;
      align-items: center !important;
      justify-content: flex-end !important;
      flex: 1 !important;
    }
  }

  /* Standard Page (Policies / Resources) Layout & Styling Fixes */
  .eco-site-main, .xts-content-area {
      max-width: 900px;
      margin: 40px auto;
      line-height: 1.75;
      color: #475569;
      font-family: "HK Grotesk Pro", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  }

  .eco-site-main h2, .xts-content-area h2 {
      font-size: 1.75rem;
      font-weight: 800;
      color: #0f172a;
      margin-top: 2.5rem;
      margin-bottom: 1.25rem;
      border-bottom: 1px solid #e2e8f0;
      padding-bottom: 8px;
  }

  .eco-site-main h3, .xts-content-area h3 {
      font-size: 1.25rem;
      font-weight: 700;
      color: #1e293b;
      margin-top: 2rem;
      margin-bottom: 1rem;
  }

  .eco-site-main h4, .xts-content-area h4 {
      font-size: 1.05rem;
      font-weight: 700;
      color: #334155;
      margin-top: 1.5rem;
      margin-bottom: 0.75rem;
  }

  .eco-site-main p, .xts-content-area p {
      margin-bottom: 1.25rem;
  }

  .eco-site-main ul, .eco-site-main ol, .xts-content-area ul, .xts-content-area ol {
      margin-bottom: 1.5rem;
      padding-left: 1.5rem;
  }

  .eco-site-main li, .xts-content-area li {
      margin-bottom: 0.5rem;
  }

  .eco-site-main a, .xts-content-area a {
      color: #47ad35;
      text-decoration: underline;
      font-weight: 500;
  }

  .eco-site-main a:hover, .xts-content-area a:hover {
      color: #3e962e;
  }

  .eco-site-main svg, .xts-content-area svg {
      width: 28px !important;
      height: 28px !important;
      max-width: 28px !important;
      max-height: 28px !important;
      color: #47ad35 !important;
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
      display: inline-block !important;
      vertical-align: middle !important;
      margin-right: 10px !important;
      margin-bottom: 4px !important;
  }

  .eco-site-main h2 svg, 
  .eco-site-main h3 svg, 
  .eco-site-main h4 svg,
  .xts-content-area h2 svg, 
  .xts-content-area h3 svg, 
  .xts-content-area h4 svg {
      width: 24px !important;
      height: 24px !important;
      max-width: 24px !important;
      max-height: 24px !important;
  }

  /* Fix grid cards for policies in case they are side-by-side on desktop */
  @media (min-width: 768px) {
      .eco-site-main .grid, .xts-content-area .grid {
          display: grid !important;
          grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
          gap: 24px !important;
      }
  }

  .eco-site-main .grid, .xts-content-area .grid {
      display: flex;
      flex-direction: column;
      gap: 16px;
      margin-bottom: 24px;
  }

/* ==========================================================================
   WIDESCREEN CART & CHECKOUT PAGE REDESIGN
   ========================================================================== */

/* Widescreen Containers */
.woocommerce-cart .eco-container,
.woocommerce-checkout .eco-container,
.woocommerce-order-received .eco-container {
    max-width: 1440px !important;
    width: 100% !important;
    padding-inline: 24px !important;
}

/* Page titles */
.woocommerce-cart .eco-page-header,
.woocommerce-checkout .eco-page-header {
    background: #fff !important;
    border-bottom: 1px solid #e2e8f0 !important;
    padding-block: 40px !important;
    margin-bottom: 40px !important;
}
.woocommerce-cart .eco-page-title,
.woocommerce-checkout .eco-page-title {
    font-size: 2.2rem !important;
    font-weight: 900 !important;
    color: #0f172a !important;
    letter-spacing: -0.03em !important;
}

/* Cart Page side-by-side flexbox */
@media (min-width: 992px) {
    .woocommerce-cart .woocommerce {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 40px !important;
        align-items: flex-start !important;
    }
    
    .woocommerce-cart .woocommerce-cart-form {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        margin-bottom: 0 !important;
    }
    
    .woocommerce-cart .cart-collaterals {
        flex: 0 0 420px !important;
        width: 420px !important;
        margin: 0 !important;
        position: sticky !important;
        top: 110px !important;
        z-index: 10 !important;
    }
}

/* Ensure notifications / shipping bar take 100% width on Cart page */
.woocommerce-cart .woocommerce > .woocommerce-message,
.woocommerce-cart .woocommerce > .woocommerce-info,
.woocommerce-cart .woocommerce > .woocommerce-error,
.woocommerce-cart .woocommerce > .xoo-wsc-cart-notice,
.woocommerce-cart .woocommerce > div:not(.woocommerce-cart-form):not(.cart-collaterals) {
    flex: 0 0 100% !important;
    width: 100% !important;
    margin-bottom: 24px !important;
}

/* Modern Card Surfaces for Tables and Blocks */
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart_totals,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review,
.woocommerce-order-received .woocommerce-order {
    background: #ffffff !important;
    border: 1px solid rgba(226, 232, 240, 0.8) !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 30px -10px rgba(15, 23, 42, 0.06) !important;
    padding: 32px !important;
}

/* Modern Cart Tables styling */
.woocommerce table.shop_table.cart {
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    background: transparent !important;
}
.woocommerce table.shop_table.cart th {
    background: transparent !important;
    border-bottom: 2px solid #f1f5f9 !important;
    color: #475569 !important;
    padding-bottom: 16px !important;
}
.woocommerce table.shop_table.cart td {
    padding-block: 20px !important;
    border-top: 1px solid #f1f5f9 !important;
}
.woocommerce table.shop_table.cart tr:first-child td {
    border-top: none !important;
}

/* Cart Item details */
.woocommerce table.shop_table.cart td.product-thumbnail img {
    width: 72px !important;
    height: 72px !important;
    object-fit: contain !important;
    background: #fbfbfb !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 4px !important;
}
.woocommerce table.shop_table.cart td.product-name a {
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
}
.woocommerce table.shop_table.cart td.product-name a:hover {
    color: #16a34a !important;
}
.woocommerce table.shop_table.cart td.product-price span,
.woocommerce table.shop_table.cart td.product-subtotal span {
    font-weight: 700 !important;
}
.woocommerce table.shop_table.cart td.product-subtotal span {
    color: #16a34a !important;
}

/* Coupon & Update Basket Row */
.woocommerce table.shop_table.cart td.actions {
    border-top: 2px solid #f1f5f9 !important;
    padding-top: 24px !important;
}
.woocommerce-cart .actions .coupon {
    display: flex !important;
    gap: 12px !important;
    align-items: center !important;
    float: left !important;
}
.woocommerce-cart .actions .coupon #coupon_code {
    height: 46px !important;
    border-radius: 12px !important;
    border: 1px solid #cbd5e1 !important;
    padding-inline: 16px !important;
    font-size: 14px !important;
    margin: 0 !important;
    background: #fff !important;
}
.woocommerce-cart .actions .coupon input.button {
    height: 46px !important;
    padding: 0 24px !important;
    background: #fff !important;
    color: #16a34a !important;
    border: 1px solid #16a34a !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    font-weight: 700 !important;
    font-size: 14px !important;
}
.woocommerce-cart .actions .coupon input.button:hover {
    background: #f0fdf4 !important;
}
.woocommerce-cart .actions > button.button {
    float: right !important;
    height: 46px !important;
    border-radius: 12px !important;
    padding-inline: 28px !important;
    font-size: 14px !important;
}

/* Modern Card Totals Layout */
.woocommerce-cart .cart_totals h2 {
    font-size: 18px !important;
    font-weight: 900 !important;
    color: #0f172a !important;
    border-bottom: 1px solid #f1f5f9 !important;
    padding-bottom: 14px !important;
    margin-bottom: 20px !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.woocommerce-cart .cart_totals table.shop_table_totals {
    width: 100% !important;
    border: none !important;
    background: transparent !important;
    margin-bottom: 20px !important;
}
.woocommerce-cart .cart_totals table.shop_table_totals tr {
    display: flex !important;
    justify-content: space-between !important;
    padding-block: 12px !important;
    border-bottom: 1px solid #f8fafc !important;
}
.woocommerce-cart .cart_totals table.shop_table_totals tr.order-total {
    border-bottom: none !important;
    padding-top: 16px !important;
    border-top: 2px solid #f1f5f9 !important;
}
.woocommerce-cart .cart_totals table.shop_table_totals td,
.woocommerce-cart .cart_totals table.shop_table_totals th {
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    font-size: 14px !important;
}
.woocommerce-cart .cart_totals table.shop_table_totals th {
    color: #64748b !important;
    font-weight: 600 !important;
}
.woocommerce-cart .cart_totals table.shop_table_totals td {
    text-align: right !important;
    font-weight: 700 !important;
    color: #0f172a !important;
}
.woocommerce-cart .cart_totals table.shop_table_totals tr.order-total td span {
    font-size: 20px !important;
    color: #16a34a !important;
    font-weight: 900 !important;
}
.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    height: 52px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    border-radius: 14px !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Shipping Notices Qualify Bar */
.xoo-wsc-cart-notice, .woocommerce-cart .woocommerce > .xoo-wsc-cart-notice {
    background: #f0fdf4 !important;
    border: 1px solid #bbf7d0 !important;
    border-radius: 12px !important;
    padding: 16px 20px !important;
    color: #15803d !important;
    font-weight: 600 !important;
    font-size: 13.5px !important;
}

/* Widescreen Checkout Split Grid & Flex Layouts */
@media (min-width: 992px) {
    /* If direct children (CSS Grid) */
    html body.woocommerce-checkout form.checkout {
        display: grid !important;
        grid-template-columns: 58% 38% !important;
        column-gap: 4% !important;
        row-gap: 24px !important;
        align-items: start !important;
    }
    
    /* Reset all Bootstrap grid item constraints on direct children grid items */
    html body.woocommerce-checkout form.checkout > .col-lg-7,
    html body.woocommerce-checkout form.checkout > .col-md-5,
    html body.woocommerce-checkout form.checkout > .col-lg-5,
    html body.woocommerce-checkout form.checkout > .col-md-7,
    html body.woocommerce-checkout form.checkout > #customer_details,
    html body.woocommerce-checkout form.checkout > #order_review,
    html body.woocommerce-checkout form.checkout > #order_review_heading {
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
        float: none !important;
        margin: 0 !important;
    }
    
    /* Assign Grid Columns to direct children */
    html body.woocommerce-checkout form.checkout > .col-lg-7,
    html body.woocommerce-checkout form.checkout > .col-md-5,
    html body.woocommerce-checkout form.checkout > #customer_details {
        grid-column: 1 !important;
        grid-row: 1 / 3 !important;
    }
    html body.woocommerce-checkout form.checkout > .col-lg-5,
    html body.woocommerce-checkout form.checkout > .col-md-7,
    html body.woocommerce-checkout form.checkout > #order_review {
        grid-column: 2 !important;
        grid-row: 2 !important;
        position: sticky !important;
        top: 110px !important;
        z-index: 10 !important;
    }
    html body.woocommerce-checkout form.checkout > #order_review_heading {
        grid-column: 2 !important;
        grid-row: 1 !important;
    }
    
    /* If nested in Bootstrap row/col (Flexbox fallback) */
    html body.woocommerce-checkout form.checkout .row {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: space-between !important;
        align-items: flex-start !important;
        width: 100% !important;
        gap: 4% !important;
    }
    html body.woocommerce-checkout form.checkout .row > .col-lg-7,
    html body.woocommerce-checkout form.checkout .row > .col-md-5 {
        flex: 0 0 58% !important;
        width: 58% !important;
        max-width: 58% !important;
    }
    html body.woocommerce-checkout form.checkout .row > .col-lg-5,
    html body.woocommerce-checkout form.checkout .row > .col-md-7 {
        flex: 0 0 38% !important;
        width: 38% !important;
        max-width: 38% !important;
        position: sticky !important;
        top: 110px !important;
        z-index: 10 !important;
    }
    
    /* Ensure inner cards take full width of their columns */
    html body.woocommerce-checkout #customer_details,
    html body.woocommerce-checkout #order_review {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* Checkout Fields Restyling */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
    border: 1px solid #cbd5e1 !important;
    border-radius: 12px !important;
    padding: 12px 16px !important;
    background: #fff !important;
    font-size: 14px !important;
    color: #0f172a !important;
    outline: none !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.02) !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.select2-container--default.select2-container--focus .select2-selection--single {
    border-color: #16a34a !important;
    box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.15) !important;
}
.woocommerce form .form-row label {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #334155 !important;
    margin-bottom: 6px !important;
}

/* Checkout Login & Coupon Notices */
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-coupon-toggle {
    margin-bottom: 16px !important;
}
.woocommerce-info {
    border-left: 4px solid #14b8a6 !important;
    background: #f0fdfa !important;
    border-radius: 12px !important;
    padding: 16px 20px !important;
    color: #0f766e !important;
    font-weight: 600 !important;
    font-size: 13.5px !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.02) !important;
}
.woocommerce-info a {
    color: #0f766e !important;
    text-decoration: underline !important;
    font-weight: 700 !important;
}

/* Checkout Order Review table */
#order_review table.shop_table {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    margin-bottom: 20px !important;
}
#order_review table.shop_table th {
    background: transparent !important;
    border-bottom: 1px solid #f1f5f9 !important;
    color: #64748b !important;
    font-weight: 600 !important;
    padding: 10px 0 !important;
}
#order_review table.shop_table td {
    background: transparent !important;
    border-top: 1px solid #f8fafc !important;
    padding: 12px 0 !important;
    color: #0f172a !important;
}
#order_review table.shop_table td.product-name {
    font-weight: 600 !important;
}
#order_review table.shop_table td.product-total {
    text-align: right !important;
    font-weight: 700 !important;
}
#order_review table.shop_table tr.order-total td {
    text-align: right !important;
    font-size: 18px !important;
    color: #16a34a !important;
    font-weight: 900 !important;
}

/* Checkout Payment Methods Container */
#payment {
    background: #f8fafc !important;
    border: 1px solid #f1f5f9 !important;
    border-radius: 12px !important;
    padding: 20px !important;
}
#payment ul.payment_methods {
    border-bottom: 1px solid #e2e8f0 !important;
    padding-bottom: 16px !important;
    margin-bottom: 16px !important;
}
#payment ul.payment_methods li {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #334155 !important;
}
#payment div.payment_box {
    background: #fff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    font-size: 12.5px !important;
    color: #64748b !important;
    padding: 12px 14px !important;
    margin-top: 10px !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.02) !important;
}
#payment div.payment_box::before {
    display: none !important;
}
#payment #place_order {
    height: 52px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    border-radius: 14px !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 12px !important;
}

/* Order Confirmation Page thank you layout */
.woocommerce-order-received .woocommerce-order {
    max-width: 900px !important;
    margin: 0 auto !important;
    text-align: center !important;
}
.woocommerce-order-received .woocommerce-thankyou-order-received {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    background: #f0fdf4 !important;
    border: 1px solid #bbf7d0 !important;
    border-radius: 16px !important;
    padding: 32px !important;
    color: #15803d !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    width: 100% !important;
    margin-bottom: 32px !important;
    gap: 12px !important;
}
/* Success checkmark symbol */
.woocommerce-order-received .woocommerce-thankyou-order-received::before {
    content: "✓" !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 52px !important;
    height: 52px !important;
    background: #22c55e !important;
    color: #fff !important;
    border-radius: 50% !important;
    font-size: 26px !important;
    font-weight: 900 !important;
    box-shadow: 0 4px 12px rgba(34, 197, 94, 0.3) !important;
}

/* Order summary cards grid */
ul.woocommerce-order-overview {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
    gap: 16px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 32px 0 !important;
}
ul.woocommerce-order-overview li {
    background: #f8fafc !important;
    border: 1px solid #f1f5f9 !important;
    border-radius: 12px !important;
    padding: 16px !important;
    font-size: 12px !important;
    color: #64748b !important;
    font-weight: 600 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    border-top: 1px solid #f1f5f9 !important; /* Fix WC overrides */
}
ul.woocommerce-order-overview li strong {
    font-size: 15px !important;
    color: #0f172a !important;
    font-weight: 800 !important;
}

/* Order Received detail tables */
.woocommerce-order-received .woocommerce-table--order-details {
    margin-top: 24px !important;
    text-align: left !important;
}
.woocommerce-order-received section.woocommerce-customer-details {
    margin-top: 32px !important;
    text-align: left !important;
}
.woocommerce-order-received section.woocommerce-customer-details h2 {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    margin-bottom: 16px !important;
}
.woocommerce-order-received section.woocommerce-customer-details address {
    background: #f8fafc !important;
    border: 1px solid #f1f5f9 !important;
    border-radius: 12px !important;
    padding: 20px !important;
    font-style: normal !important;
    color: #475569 !important;
    font-size: 13.5px !important;
    line-height: 1.6 !important;
}

/* Mini-Cart Hover Dropdown Styles */
.eco-cart-wrapper {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.eco-minicart-dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  width: 340px;
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(226, 232, 240, 0.8);
  border-radius: 16px;
  box-shadow: 0 20px 45px -15px rgba(15, 23, 42, 0.16);
  padding: 16px;
  margin-top: 12px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 1000;
}
/* Invisible hover bridge to prevent closing when moving cursor */
.eco-minicart-dropdown::before {
  content: "";
  position: absolute;
  top: -15px;
  left: 0;
  right: 0;
  height: 15px;
  background: transparent;
}
.eco-cart-wrapper:hover .eco-minicart-dropdown,
.eco-cart-wrapper:focus-within .eco-minicart-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.eco-minicart-empty {
  text-align: center;
  padding: 28px 0;
  color: #94a3b8;
  font-size: 13px;
  font-weight: 500;
}
.eco-minicart-header {
  font-size: 11px;
  font-weight: 800;
  color: #64748b;
  border-bottom: 1px solid #f1f5f9;
  padding-bottom: 10px;
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 0.8px;
}
.eco-minicart-items {
  max-height: 250px;
  overflow-y: auto;
  margin-bottom: 12px;
  padding-right: 4px;
}
/* Custom Scrollbar for mini-cart */
.custom-scroll::-webkit-scrollbar {
  width: 5px;
}
.custom-scroll::-webkit-scrollbar-track {
  background: transparent;
}
.custom-scroll::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 99px;
}
.custom-scroll::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}
.eco-minicart-item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 10px;
  background: #fff;
  border: 1px solid #f8fafc;
  border-radius: 12px;
  margin-bottom: 6px;
  transition: all 0.2s ease;
}
.eco-minicart-item:hover {
  border-color: #cbd5e1;
  box-shadow: 0 4px 12px -6px rgba(15, 23, 42, 0.05);
}
.eco-minicart-thumb {
  width: 44px;
  height: 44px;
  object-fit: contain;
  background: #fbfbfb;
  border: 1px solid #f1f5f9;
  border-radius: 8px;
  padding: 2px;
  flex-shrink: 0;
}
.eco-minicart-info {
  flex: 1;
  min-width: 0;
  padding-right: 8px;
}
.eco-minicart-name {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 12px;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.3;
  text-decoration: none;
  margin-bottom: 3px;
}
.eco-minicart-name:hover {
  color: #16a34a;
}
.eco-minicart-meta {
  font-size: 11.5px;
  font-weight: 600;
}
.eco-minicart-qty {
  color: #94a3b8;
}
.eco-minicart-price {
  color: #16a34a;
}
.eco-minicart-remove {
  border: none;
  background: none;
  color: #cbd5e1;
  font-size: 18px;
  cursor: pointer;
  padding: 2px;
  line-height: 1;
  transition: color 0.15s ease;
}
.eco-minicart-remove:hover {
  color: #ef4444;
}
.eco-minicart-footer {
  border-top: 1px solid #f1f5f9;
  padding-top: 12px;
}
.eco-minicart-subtotal {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  color: #334155;
  margin-bottom: 12px;
}
.eco-minicart-subtotal span {
  font-weight: 600;
}
.eco-minicart-subtotal strong {
  font-weight: 800;
  color: #16a34a;
  font-size: 14.5px;
}
.eco-minicart-buttons {
  display: flex;
  gap: 8px;
}
.eco-mc-btn {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-decoration: none;
  border: 1.5px solid #16a34a;
  transition: all 0.2s ease;
}
.eco-mc-btn.btn-secondary {
  background: #fff;
  color: #16a34a;
}
.eco-mc-btn.btn-secondary:hover {
  background: #f0fdf4;
}
.eco-mc-btn.btn-primary {
  background: #16a34a;
  color: #fff;
}
.eco-mc-btn.btn-primary:hover {
  background: #15803d;
  border-color: #15803d;
}

/* Override global page max-width restriction on Cart & Checkout pages */
.woocommerce-cart .eco-site-main,
.woocommerce-checkout .eco-site-main,
.woocommerce-order-received .eco-site-main {
    max-width: 100% !important;
    width: 100% !important;
    margin-inline: 0 !important;
}

/* Fix checkout page container max-width to allow widescreen layout */
.woocommerce-checkout .eco-site-main {
    max-width: 1200px !important;
    width: 100% !important;
}

/* Fix columns max-width under display grid */
@media (min-width: 992px) {
    .woocommerce-checkout .checkout.woocommerce-checkout.row {
        display: grid !important;
        grid-template-columns: 724px 474px !important;
        column-gap: 24px !important;
        justify-content: center !important;
    }
    .woocommerce-checkout .checkout.woocommerce-checkout.row .col-lg-7 {
        max-width: 100% !important;
        flex: 0 0 100% !important;
        width: 100% !important;
    }
    .woocommerce-checkout .checkout.woocommerce-checkout.row .col-lg-5 {
        max-width: 100% !important;
        flex: 0 0 100% !important;
        width: 100% !important;
    }
    /* Make sure the title "YOUR ORDER" doesn't wrap and has enough width */
    .woocommerce-checkout #order_review_heading {
        white-space: nowrap !important;
    }
}

/* Hide hover mini-cart dropdown on Cart and Checkout pages to prevent session conflicts */
body.woocommerce-cart .eco-minicart-dropdown,
body.woocommerce-checkout .eco-minicart-dropdown {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* Insulate mini-cart dropdown from inherited header styles (light/dark schemes) */
.eco-minicart-dropdown {
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    width: 340px !important;
    background: rgba(255, 255, 255, 0.98) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(226, 232, 240, 0.8) !important;
    border-radius: 16px !important;
    box-shadow: 0 20px 45px -15px rgba(15, 23, 42, 0.16) !important;
    padding: 16px !important;
    margin-top: 12px !important;
    z-index: 10000 !important;
    text-align: left !important;
}

.eco-minicart-dropdown,
.eco-minicart-dropdown div,
.eco-minicart-dropdown span,
.eco-minicart-dropdown button {
    font-family: inherit !important;
}

.eco-minicart-empty {
    color: #94a3b8 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-align: center !important;
    padding: 28px 0 !important;
}

.eco-minicart-header {
    font-size: 11px !important;
    font-weight: 800 !important;
    color: #64748b !important;
    border-bottom: 1px solid #f1f5f9 !important;
    padding-bottom: 10px !important;
    margin-bottom: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
}

.eco-minicart-name {
    color: #0f172a !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
}

.eco-minicart-name:hover {
    color: #16a34a !important;
    text-decoration: none !important;
}

.eco-minicart-qty {
    color: #94a3b8 !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
}

.eco-minicart-price {
    color: #16a34a !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
}

.eco-minicart-remove {
    color: #cbd5e1 !important;
    font-size: 18px !important;
    transition: color 0.15s ease !important;
}

.eco-minicart-remove:hover {
    color: #ef4444 !important;
}

.eco-minicart-subtotal {
    color: #334155 !important;
    font-size: 13px !important;
}

.eco-minicart-subtotal span {
    font-weight: 600 !important;
    color: #334155 !important;
}

.eco-minicart-subtotal strong {
    font-weight: 800 !important;
    color: #16a34a !important;
    font-size: 14.5px !important;
}

.eco-mc-btn {
    height: 36px !important;
    border-radius: 8px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.eco-mc-btn.btn-secondary {
    background: #fff !important;
    color: #16a34a !important;
    border: 1.5px solid #16a34a !important;
}

.eco-mc-btn.btn-secondary:hover {
    background: #f0fdf4 !important;
    color: #16a34a !important;
}

.eco-mc-btn.btn-primary {
    background: #16a34a !important;
    color: #fff !important;
    border: 1.5px solid #16a34a !important;
}

.eco-mc-btn.btn-primary:hover {
    background: #15803d !important;
    border-color: #15803d !important;
    color: #fff !important;
}

/* ==========================================================================
   Blog fallback (index.php) - image constraints. Added 2026-07-09.
   The fallback template outputs the_post_thumbnail('large') raw; these rules
   crop archive-card thumbs so square/tall product shots don't blow up cards.
   ========================================================================== */
.eco-post-card__thumb{display:block;overflow:hidden;border-radius:12px;margin:0 0 16px}
.eco-post-card__thumb img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;max-height:340px}
.eco-post-card__title{margin:0 0 10px}
.eco-post-card__title a{color:#0f172a;font-weight:800;letter-spacing:-.01em;text-decoration:none}
.eco-post-card__title a:hover{color:#16a34a}
/* single post: content images never overflow, keep natural aspect */
.single-post .eco-post-card__excerpt img{max-width:100%;height:auto}


/* ==========================================================================
   Single product: two-column restore (2026-07-09).
   The Woo shell capped .eco-site-main at 900px and the legacy .col-md-6
   flex-bases (497px + 540px) overflowed the row, so gallery + summary
   wrapped into a stack. Restore the previous side-by-side layout.
   ========================================================================== */
.single-product .eco-site-main{max-width:none}
.single-product div.product > .row{display:flex;flex-wrap:wrap;align-items:flex-start}
.single-product div.product > .row > .col-md-6{flex:0 0 50%;max-width:50%;min-width:0;padding:0 15px;box-sizing:border-box}
.single-product div.product > .row > .col-md-6 .woocommerce-product-gallery{width:100% !important}
@media(max-width:767px){
  .single-product div.product > .row > .col-md-6{flex:0 0 100%;max-width:100%}
}


/* ==========================================================================
   Single product: right shop-nav sidebar host (2026-07-09).
   The shop snippet (#68227) injects Categories + colour filter into
   .xts-sidebar-inner; this styles the host column to sit right of the product.
   ========================================================================== */
.single-product .eco-site-main{flex:1 1 auto;min-width:0}
.single-product .eco-wc-sidebar-nav{flex:0 0 306px;min-width:0;margin:20px 0 0 34px}
.single-product .eco-wc-sidebar-nav .xts-sidebar-inner{position:sticky;top:20px}
@media(max-width:1024px){
  .single-product .eco-wc-sidebar-nav{display:none}
}


/* ==========================================================================
   Blog: hide the legacy shop-filter widget aside (2026-07-09).
   A leftover Custom HTML widget (#custom_html-8, .ecobrite-live-sidebar with
   Product Categories / Filter by Colour / Price / Availability) renders in an
   aside.xts-sidebar BELOW single posts. It belongs to the old shop design and
   must not appear on blog contexts. Product pages are untouched - their shop
   nav is the snippet-injected .eco-wc-sidebar-nav host.
   ========================================================================== */
body.single-post aside.xts-sidebar,
body.blog aside.xts-sidebar,
body.category aside.xts-sidebar,
body.tag aside.xts-sidebar{display:none !important}


/* ==========================================================================
   Wide-view: blog + account (2026-07-09).
   Blog archive/single were capped at 1240px by snippet #68293's rules and the
   account dashboard by the 900px eco-site-main cap - too condensed on wide
   screens. Desktop-only overrides; the snippet's own breakpoints keep
   handling <=1200px and phones untouched.
   ========================================================================== */
@media(min-width:1201px){
  body.blog #main-content.container,
  body.category #main-content.container,
  body.tag #main-content.container,
  body.single-post #main-content.container{max-width:min(1600px,95vw) !important}
  body.single-post .eco-read{grid-template-columns:240px minmax(0,980px) 300px !important;max-width:min(1600px,95vw) !important}
  body.single-post .eco-read.eco-no-toc{grid-template-columns:minmax(0,1060px) 300px !important}
  body.blog .xts-content-area,
  body.category .xts-content-area,
  body.tag .xts-content-area,
  body.single-post .xts-content-area{max-width:none !important}
}
@media(min-width:1025px){
  body.woocommerce-account .eco-container{max-width:min(1500px,96vw)}
  body.woocommerce-account .eco-site-main{max-width:none}
  body.woocommerce-account .xts-my-account-wrapper{flex:1 1 auto;min-width:0;max-width:none}
  body.woocommerce-account .woocommerce-MyAccount-content{max-width:none}
}


/* ==========================================================================
   Checkout wide-view + Minicart dropdown polish (2026-07-09).
   - Checkout/order-received: release the 1200px main cap to match the cart.
   - Minicart dropdown: snappier hover (fast open, small close grace),
     frosted-glow quantity stepper (JS-injected .eco-mc-qty), restyled remove.
   ========================================================================== */
@media(min-width:1201px){
  body.woocommerce-checkout .eco-site-main{max-width:none !important}
}
/* fast open on hover, gentle close so the pointer can travel into the panel */
.eco-minicart-dropdown{transition:opacity .18s ease .14s,visibility .18s ease .14s,transform .18s ease .14s !important}
.eco-cart-wrapper:hover .eco-minicart-dropdown{transition:opacity .12s ease 0s,visibility .12s ease 0s,transform .12s ease 0s !important}
/* remove button: frosted circle, red on hover */
.eco-minicart-remove{width:30px !important;height:30px !important;min-height:0 !important;padding:0 !important;border:1.5px solid #e2e8f0 !important;background:#fff !important;border-radius:999px !important;color:#94a3b8 !important;display:flex !important;align-items:center;justify-content:center;transition:border-color .15s,background .15s,color .15s;cursor:pointer;flex-shrink:0}
.eco-minicart-remove:hover{border-color:#fca5a5 !important;background:#fef2f2 !important;color:#ef4444 !important}
/* quantity stepper */
.eco-mc-qty{display:inline-flex;align-items:center;border:1.5px solid #e2e8f0;border-radius:999px;background:#fbfdfc;margin-top:6px}
.eco-mc-qbtn{width:26px;height:26px;min-height:0 !important;padding:0 !important;border:none;background:none;color:#334155;font-size:15px;font-weight:700;line-height:1;cursor:pointer;border-radius:999px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}
.eco-mc-qbtn:hover{background:rgba(34,197,94,.12);color:#16a34a}
.eco-mc-qbtn:disabled{color:#cbd5e1;cursor:default;background:none}
.eco-mc-qnum{min-width:24px;text-align:center;font-size:12.5px;font-weight:700;color:#0f172a}


/* ==========================================================================
   Blog cards: compact on wide screens (2026-07-09).
   The wide-view made the 2-up cards and the featured card's 46% image column
   oversized. On desktop: 3-up grid + cap the featured image height so the
   card stays a tidy banner instead of a blown-up square.
   ========================================================================== */
@media(min-width:1201px){
  body.blog .eco-main .xts-blog,
  body.category .eco-main .xts-blog,
  body.tag .eco-main .xts-blog{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
  body.blog .eco-main .eco-featured .xts-post-thumb,
  body.category .eco-main .eco-featured .xts-post-thumb,
  body.tag .eco-main .eco-featured .xts-post-thumb{max-height:380px;overflow:hidden}
  body.blog .eco-main .eco-featured .xts-post-image img,
  body.category .eco-main .eco-featured .xts-post-image img,
  body.tag .eco-main .eco-featured .xts-post-image img{max-height:380px !important;height:100% !important;width:100%;object-fit:cover}
  body.blog .eco-main .eco-featured .xts-post-content,
  body.category .eco-main .eco-featured .xts-post-content,
  body.tag .eco-main .eco-featured .xts-post-content{padding:24px 28px !important}
}


/* ==========================================================================
   Checkout summary + footer + page-title cleanups (2026-07-09).
   1) Checkout: rebalance the 58/38 split to 54/43 so the order summary and
      payment fields stop being squashed; shipping options become tidy
      left-aligned rows in both the checkout review and the cart totals.
   2) Footer: keep the rounded-card design but cap its width and trim padding
      so it stops running edge-to-edge on wide screens.
   3) Hide the .eco-page-header title band on My Account and the resources /
      company pages whose content already carries its own heading.
   ========================================================================== */
@media(min-width:992px){
  html body.woocommerce-checkout form.checkout{grid-template-columns:54% 43% !important;column-gap:3% !important}
  html body.woocommerce-checkout form.checkout .row > .col-lg-7,
  html body.woocommerce-checkout form.checkout .row > .col-md-5{flex:0 0 54% !important;width:54% !important;max-width:54% !important}
  html body.woocommerce-checkout form.checkout .row > .col-lg-5,
  html body.woocommerce-checkout form.checkout .row > .col-md-7{flex:0 0 43% !important;width:43% !important;max-width:43% !important}
}
.woocommerce-checkout #order_review ul#shipping_method li,
.woocommerce .cart_totals ul#shipping_method li{display:flex;align-items:flex-start;gap:8px;text-align:left;margin:0 0 8px}
.woocommerce-checkout #order_review ul#shipping_method li label,
.woocommerce .cart_totals ul#shipping_method li label{flex:1;text-align:left;line-height:1.45}
.woocommerce-checkout #order_review table.shop_table tr.shipping td,
.woocommerce .cart_totals table.shop_table tr.shipping td{text-align:left}
.woocommerce-checkout #order_review .amount{white-space:nowrap}

@media(min-width:1201px){
  footer.eb-footer{max-width:1460px;margin-left:auto !important;margin-right:auto !important}
  .eb-footer .eb-container{max-width:1360px;padding:2.25rem 2.5rem}
}

body.woocommerce-account .eco-page-header,
body.page-id-2505 .eco-page-header,
body.page-id-20 .eco-page-header,
body.page-id-23 .eco-page-header,
body.page-id-16447 .eco-page-header,
body.page-id-6291 .eco-page-header,
body.page-id-2183 .eco-page-header,
body.page-id-8522 .eco-page-header,
body.page-id-54318 .eco-page-header,
body.page-id-54308 .eco-page-header,
body.page-id-54313 .eco-page-header,
body.page-id-8456 .eco-page-header,
body.page-id-52798 .eco-page-header,
body.page-id-532 .eco-page-header{display:none}

/* --------------------------------------------------------------------------
   Static Trustpilot badge (header-topbar.php) — replaces the JS-injected
   TrustBox so it renders instantly with the page and never re-loads.
   Keeping class "trustpilot-widget" on the element disarms the old injector
   (it early-returns when one already exists).
   -------------------------------------------------------------------------- */
.eco-tp-static{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:600;color:#475569;text-decoration:none;white-space:nowrap;margin-left:auto}
.eco-tp-static:hover{color:#0f172a}
.eco-tp-static svg{width:15px;height:15px;flex-shrink:0}
.eco-tp-static b{font-weight:800;color:#0f172a;letter-spacing:-.01em}
@media(max-width:640px){.eco-tp-static span{display:none}}

/* --------------------------------------------------------------------------
   Mobile shop grid: 2-up default + user-selectable 2/3/4 per row.
   The shop snippet forces repeat(3,1fr) at <=900px and hides its desktop
   per-row control; these rules make 2-up the default and honour the
   eco-m3/eco-m4 classes set by the theme's mobile switcher (functions.php).
   -------------------------------------------------------------------------- */
@media(max-width:900px){
  body #ecoShopApp .esh-grid,
  body #ecoShopApp .esh-grid.c3,
  body #ecoShopApp .esh-grid.c4{grid-template-columns:repeat(2,1fr) !important;gap:10px}
  body #ecoShopApp .esh-grid.eco-m3,
  body #ecoShopApp .esh-grid.c3.eco-m3,
  body #ecoShopApp .esh-grid.c4.eco-m3{grid-template-columns:repeat(3,1fr) !important;gap:8px}
  body #ecoShopApp .esh-grid.eco-m4,
  body #ecoShopApp .esh-grid.c3.eco-m4,
  body #ecoShopApp .esh-grid.c4.eco-m4{grid-template-columns:repeat(4,1fr) !important;gap:6px}
  .eco-mcols{display:inline-flex !important;align-items:center;gap:5px;font-size:.72rem;font-weight:700;color:#94a3b8}
  .eco-mcols button{width:28px;height:28px;min-height:0;border:1.5px solid #e2e8f0;background:#fff;border-radius:8px;color:#64748b;font-size:.72rem;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:.15s;padding:0}
  .eco-mcols button.on{background:linear-gradient(145deg,#34d399,#22c55e);border-color:transparent;color:#fff}
}
@media(min-width:901px){.eco-mcols{display:none !important}}


/* Header contact dropdown open-state fix (2026-07-10): the base
   .ebdh-wrap .ebdh-cmenu rule ties on specificity with .ebdh-cmenu.open and
   wins by order, keeping the menu invisible. Force the open state. */
.ebdh-wrap .ebdh-cmenu.open,
.ebdh-cmenu.open{opacity:1 !important;visibility:visible !important;transform:translateY(0) !important;pointer-events:auto !important}


/* ==========================================================================
   Resources pages: tighten top gap + green icon glow; footer newsletter
   rounded input; hide the dead Mailchimp-for-WooCommerce checkout checkbox
   (that plugin is NOT connected - MC4WP's checkbox is the live one). 2026-07-10.
   ========================================================================== */
body.page-id-2505 .eco-site-main,
body.page-id-20 .eco-site-main,
body.page-id-23 .eco-site-main,
body.page-id-16447 .eco-site-main,
body.page-id-6291 .eco-site-main,
body.page-id-2183 .eco-site-main,
body.page-id-8522 .eco-site-main,
body.page-id-54318 .eco-site-main,
body.page-id-54308 .eco-site-main,
body.page-id-54313 .eco-site-main,
body.page-id-8456 .eco-site-main,
body.page-id-52798 .eco-site-main,
body.page-id-532 .eco-site-main{padding-top:0;margin-top:0;min-height:0}
body.page-id-2505 .eco-site-main > section:first-of-type,
body.page-id-20 .eco-site-main > section:first-of-type,
body.page-id-23 .eco-site-main > section:first-of-type,
body.page-id-16447 .eco-site-main > section:first-of-type,
body.page-id-6291 .eco-site-main > section:first-of-type,
body.page-id-2183 .eco-site-main > section:first-of-type,
body.page-id-8522 .eco-site-main > section:first-of-type,
body.page-id-54318 .eco-site-main > section:first-of-type,
body.page-id-54308 .eco-site-main > section:first-of-type,
body.page-id-54313 .eco-site-main > section:first-of-type,
body.page-id-8456 .eco-site-main > section:first-of-type,
body.page-id-52798 .eco-site-main > section:first-of-type,
body.page-id-532 .eco-site-main > section:first-of-type{padding-top:2rem !important}
/* green glow behind the policy-page icons */
.bg-whatsapp-50.rounded-full,
.bg-whatsapp-50.rounded-xl{box-shadow:0 0 0 8px rgba(37,211,102,.07), 0 10px 30px -6px rgba(37,211,102,.5) !important}
/* footer newsletter: rounded pill input */
.eb-footer input[type="email"]{border-radius:999px !important;padding-left:18px !important}
/* checkout: hide the dead duplicate newsletter checkbox */
.woocommerce-checkout #mailchimp_woocommerce_newsletter_field,
.woocommerce-checkout p.form-row:has(#mailchimp_woocommerce_newsletter),
.woocommerce-checkout .mailchimp-newsletter{display:none !important}


/* Trustpilot badge: keep far right at every width (2026-07-10, r2).
   Two blockers found: a topbar rule zeroes the badge's margin-left, and the
   nav's own inline styles cap it at 1200px on mobile. */
.eco-topbar .eco-tp-static{margin-left:auto !important}
@media(max-width:900px){
  .eco-topbar__inner{width:100% !important;max-width:100% !important}
}
