/* ==========================================================================
   Vaportiser polish layer (staging demo, 2026-10-31)
   Loaded last by mu-plugins/vaportiser-polish.php. Visual only: no markup
   changes, no theme files touched. Remove the mu-plugin to revert.
   ========================================================================== */
:root{
  --vp-blue:#0577b3; --vp-blue-600:#05618f; --vp-blue-50:#eaf5fc; /* #0577b3 = brand blue darkened to pass WCAG AA (4.9:1 on white) */
  --vp-navy:#16202f; --vp-ink:#1b2433; --vp-muted:#5d6878; --vp-line:#e3e8ef;
  --vp-soft:#f5f8fb; --vp-green:#0e7a4b; --vp-red:#d64545;
  --vp-r:14px; --vp-r-sm:10px;
  --vp-shadow:0 1px 2px rgba(16,24,40,.05),0 4px 14px rgba(16,24,40,.06);
  --vp-shadow-h:0 2px 4px rgba(16,24,40,.06),0 12px 28px rgba(16,24,40,.10);
  --vp-head:'Outfit',system-ui,sans-serif; --vp-body:'Poppins',system-ui,sans-serif;
}

/* ---------- 1. Typography: one body font everywhere ---------- */
body, body p, body li, body input, body select, body textarea, body button,
.elementor-widget-text-editor, .elementor-icon-list-text, .elementor-icon-box-description,
.woocommerce-Price-amount, .product-details, .faq-answer-content, .term-description, .elementor-cta__description, [class*="vp-tp"], .elementor-icon-box-description{
  font-family:var(--vp-body) !important;
}
h1,h2,h3,h4,.elementor-heading-title,.product-title,.product-title-custom,.faq-question{
  font-family:var(--vp-head) !important; letter-spacing:-.01em;
}
body{ color:var(--vp-ink); -webkit-font-smoothing:antialiased; }

/* ---------- 2. Announcement bar: calmer ---------- */
.weekend_discount-topbar .elementor-widget-container{ font-size:13px !important; font-weight:500; letter-spacing:.01em; }

/* ---------- 3. Header actions: one primary (basket), two quiet ---------- */
.elementor-element-6f4b284 > .elementor-widget-container,
.elementor-element-2981c0e > .elementor-widget-container{
  background:#fff !important; border:1px solid var(--vp-line) !important; box-shadow:none !important;
  transition:border-color .15s ease;
}
.elementor-element-6f4b284 > .elementor-widget-container:hover,
.elementor-element-2981c0e > .elementor-widget-container:hover{ border-color:var(--vp-blue) !important; }
.elementor-element-6f4b284 .etheme-elementor-off-canvas__toggle_button,
.elementor-element-2981c0e .etheme-elementor-off-canvas__toggle_button,
.elementor-element-6f4b284 .etheme-elementor-off-canvas__toggle_button *,
.elementor-element-2981c0e .etheme-elementor-off-canvas__toggle_button *{ color:var(--vp-navy) !important; fill:var(--vp-navy) !important; }
.elementor-element-09cb972 > .elementor-widget-container{ background:var(--vp-navy) !important; }
.elementor-element-41111bd input[type=text], .elementor-element-41111bd input[type=search]{
  border-radius:12px 0 0 12px !important; border-color:var(--vp-line) !important; background:var(--vp-soft) !important;
}

/* ---------- 4. Trust strip under the menu ---------- */
.elementor-element-0fcb70f .elementor-icon-list-text,
.elementor-element-0fcb70f .elementor-widget-text-editor{ font-size:15px !important; font-weight:500 !important; }
.elementor-element-0fcb70f{ padding-top:2px !important; padding-bottom:2px !important; }

/* ---------- 5. Category tiles (Elementor call-to-action) ---------- */
/* The product photo is the widget container's background (right side); the navy fades out over it so the photo shows. */
.elementor-element-f7b6e86 .elementor-widget-call-to-action > .elementor-widget-container{
  border-radius:var(--vp-r) !important; overflow:hidden; background-color:#16202f !important; transition:transform .2s ease, box-shadow .2s ease;
}
.elementor-element-f7b6e86 .elementor-widget-call-to-action > .elementor-widget-container:hover{ transform:translateY(-3px); box-shadow:var(--vp-shadow-h); }
.elementor-element-f7b6e86 .elementor-cta{
  border-radius:var(--vp-r) !important; overflow:hidden;
  background:linear-gradient(90deg, rgba(22,32,47,1) 0%, rgba(22,32,47,.96) 38%, rgba(22,32,47,.55) 56%, rgba(22,32,47,0) 72%) !important;
}
.elementor-element-f7b6e86 .elementor-cta__title{ font-size:20px !important; }
@media (max-width:767px){
  /* Narrow tiles: smaller photo tucked into the bottom-right, text keeps a solid background */
  .elementor-element-f7b6e86 .elementor-widget-call-to-action > .elementor-widget-container,
  .elementor-element-f7b6e86 .elementor-cta__bg{ background-size:52% auto !important; background-position:right -6px bottom -2px !important; background-repeat:no-repeat !important; }
  .elementor-element-f7b6e86 .elementor-cta{ background:linear-gradient(90deg, rgba(22,32,47,1) 0%, rgba(22,32,47,.95) 46%, rgba(22,32,47,0) 62%) !important; }
}
.elementor-element-f7b6e86 .elementor-cta__description{ font-size:14px !important; opacity:.75; }
.elementor-element-f7b6e86 .elementor-cta__content::after{
  content:"Shop now \2192"; display:block; margin-top:10px; font:600 13px/1 var(--vp-body); color:#7cc7f0;
}

/* ---------- 6. Section headers: heading + quiet "View all" link ---------- */
.cstm_font-2 .elementor-heading-title{ font-size:26px !important; font-weight:700 !important; text-transform:none !important; }
.cstm_font-2 .elementor-heading-title::first-letter{ text-transform:uppercase; }
.cstm_font-2 .elementor-widget-button .elementor-button{
  background:transparent !important; color:var(--vp-blue) !important; padding:8px 4px !important;
  font-weight:600 !important; text-transform:none !important; border:0 !important; box-shadow:none !important;
}
.cstm_font-2 .elementor-widget-button .elementor-button-text::after{ content:" \2192"; }
.cstm_font-2 .elementor-widget-button .elementor-button:hover{ color:var(--vp-blue-600) !important; text-decoration:underline; }

/* ---------- 7. Homepage product cards ([product_carousel]) ---------- */
.product-item{
  border:1px solid var(--vp-line) !important; border-radius:var(--vp-r) !important;
  box-shadow:none !important; background:#fff !important; transition:box-shadow .2s ease, border-color .2s ease;
}
.product-item:hover{ box-shadow:var(--vp-shadow-h) !important; border-color:#d3dbe6 !important; }
.product-description-custom{ display:none !important; }
.product-title-custom{
  font-size:15px !important; line-height:1.35 !important; font-weight:600 !important; text-transform:none !important;
  min-height:2.7em; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.product-price-custom, .product-price-custom .woocommerce-Price-amount{ font-size:18px !important; font-weight:700 !important; color:var(--vp-ink) !important; }
.product-price-custom del, .product-price-custom del .woocommerce-Price-amount{ font-size:13px !important; color:var(--vp-muted) !important; font-weight:400 !important; }
.stock-badge{ background:transparent !important; padding:0 !important; font-size:12px !important; font-weight:600 !important; text-transform:none !important; }
.stock-badge::before{ content:""; display:inline-block; width:7px; height:7px; border-radius:50%; margin-right:6px; vertical-align:1px; background:currentColor; }
.stock-badge.stock-in{ color:var(--vp-green) !important; }
.stock-badge.stock-out{ color:var(--vp-muted) !important; }
.product-sale-badge{ background:var(--vp-red) !important; border-radius:999px !important; font-weight:700 !important; }
.qb-quick-buy-btn, .product-cart-custom .button{
  border-radius:10px !important; font-weight:600 !important; text-transform:none !important; letter-spacing:0 !important;
}
html body .qb-quick-buy-btn{ background:var(--vp-navy) !important; background-image:none !important; color:#fff !important; }
html body .qb-quick-buy-btn:hover{ background:var(--vp-blue) !important; }

/* ---------- 8. Shop / category grid (XStore loop) ---------- */
html body .term-description a, html body .term-description strong a{ color:var(--vp-blue) !important; -webkit-text-fill-color:var(--vp-blue) !important; opacity:1 !important; visibility:visible !important; text-decoration:underline; text-underline-offset:2px; }
.content-product .product-title a{ font-weight:600 !important; color:var(--vp-ink) !important; }
.content-product .products-page-brands a{ color:var(--vp-muted) !important; font-size:13px !important; }
.content-product .price, .content-product .price .woocommerce-Price-amount{ font-weight:700 !important; color:var(--vp-ink) !important; }
.content-product .swiper-pagination{ max-width:70%; margin:0 auto; overflow:hidden; white-space:nowrap; }
.content-product .swiper-pagination-bullet{ width:5px !important; height:5px !important; margin:0 2px !important; }

/* ---------- 9. FAQ: lighter accordion ---------- */
.faq-item{ border-radius:var(--vp-r-sm) !important; overflow:hidden; }
.faq-question{
  background:#fff !important; color:var(--vp-ink) !important; border:1px solid var(--vp-line) !important;
  border-radius:var(--vp-r-sm) !important; font-weight:600 !important;
}
.faq-question:hover{ border-color:var(--vp-blue) !important; }
.faq-icon{ color:var(--vp-blue) !important; }

/* ---------- 10. Single product ---------- */
.single-product .single_add_to_cart_button{ border-radius:12px !important; font-weight:700 !important; font-size:16px !important; min-height:52px; }
.single-product .single_add_to_cart_button.disabled{ opacity:.55 !important; }
.single-product .single_add_to_cart_button:not(.disabled){ background:var(--vp-blue) !important; }
.single-product .st-swatch-preview li, .single-product ul.st-swatch-preview li{
  border-radius:999px !important;
}

/* ---------- 11. Header buttons: remove the theme's blue gradient ---------- */
.elementor-element-6f4b284 .etheme-elementor-off-canvas__toggle_button,
.elementor-element-2981c0e .etheme-elementor-off-canvas__toggle_button{
  background:transparent !important; background-image:none !important; box-shadow:none !important;
}
.elementor-element-09cb972 .etheme-elementor-off-canvas__toggle_button{
  background:var(--vp-navy) !important; background-image:none !important; box-shadow:none !important;
}
.elementor-element-09cb972 .etheme-elementor-off-canvas__toggle_button:hover{ background:var(--vp-blue) !important; }

/* ---------- 12. Real star ratings on homepage cards (one element, no SVGs) ---------- */
.product-rating-custom{ display:flex !important; align-items:center; gap:6px !important; min-height:18px; margin-bottom:10px !important; }
.vp-stars{ position:relative; display:inline-block; font-size:14px; line-height:1; letter-spacing:2px; color:#d5dbe3; }
.vp-stars::before{ content:"\2605\2605\2605\2605\2605"; }
.vp-stars::after{ content:"\2605\2605\2605\2605\2605"; position:absolute; left:0; top:0; width:var(--vp-rating,0%); overflow:hidden; white-space:nowrap; color:#f5a623; }
.vp-review-count{ font-size:12px; color:var(--vp-muted); }

/* ---------- 13. Product page details ---------- */
.guardian-delivery-timer, .guardian-delivery-timer span{ font-family:var(--vp-body) !important; }
.guardian-delivery-timer{ font-size:14px !important; background:var(--vp-soft); border:1px solid var(--vp-line); border-radius:10px; padding:10px 14px; display:inline-flex !important; gap:6px; align-items:center; }
.single-product .product_title{ text-transform:none !important; font-size:34px !important; }
.single-product p.price{ font-weight:700 !important; color:var(--vp-ink) !important; }

/* ---------- 14. Mobile: carousel arrows were covering card titles ---------- */
html body .product-title-custom{ letter-spacing:0 !important; }
@media (max-width: 767px){
  html body .slick-prev.slick-arrow, html body .slick-next.slick-arrow{ display:none !important; }
  html body .product-title-custom{ font-size:14px !important; }
  html body .cstm_font-2 .elementor-heading-title{ font-size:21px !important; }
}

/* ---------- 15. Trust strip: smaller, one line each (desktop) ---------- */
@media (min-width: 1025px){
  html body .elementor-element-0fcb70f .elementor-icon-list-item .elementor-icon-list-text,
  html body .elementor-element-0fcb70f .elementor-widget-text-editor p{ font-size:15px !important; white-space:nowrap; }
}

/* ==========================================================================
   Stage 3 (2026-10-31 evening): product page purchase area + mobile layout
   ========================================================================== */

/* ---------- 16. Compact, searchable flavour picker ---------- */
.vp-swatch-tools{ display:flex; gap:8px; align-items:center; margin:2px 0 10px; }
.vp-swatch-search{
  flex:1; min-width:0; height:40px; padding:0 12px 0 36px !important; border:1px solid var(--vp-line) !important;
  border-radius:10px !important; background:var(--vp-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%235d6878' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 12px 50% !important;
  font:400 14px/1 var(--vp-body) !important; color:var(--vp-ink) !important;
}
.vp-swatch-search:focus{ outline:2px solid var(--vp-blue); outline-offset:1px; background-color:#fff !important; }
.vp-swatch-box{ position:relative; }
.vp-swatch-box.is-collapsed ul.st-swatch-preview{ max-height:164px; overflow:hidden; }
.vp-swatch-box.is-collapsed::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:44px; pointer-events:none;
  background:linear-gradient(rgba(255,255,255,0), #fff);
}
.vp-swatch-toggle{
  margin-top:8px; background:none !important; border:0 !important; padding:4px 0 !important; color:var(--vp-blue) !important;
  font:600 13px/1.2 var(--vp-body) !important; text-transform:none !important; letter-spacing:0 !important; cursor:pointer; box-shadow:none !important;
}
.vp-swatch-toggle:hover{ text-decoration:underline; }
.vp-swatch-empty{ font-size:13px; color:var(--vp-muted); padding:6px 0; }
html body.single-product ul.st-swatch-preview{ gap:6px !important; display:flex !important; flex-wrap:wrap; }
html body.single-product ul.st-swatch-preview li{ margin:0 !important; }
html body.single-product ul.st-swatch-preview li .st-custom-attribute{
  font:500 12.5px/1 var(--vp-body) !important; letter-spacing:0 !important; text-transform:none !important; padding:9px 12px !important;
}
html body.single-product ul.st-swatch-preview li.selected,
html body.single-product ul.st-swatch-preview li.st-swatch-selected{ border-color:var(--vp-blue) !important; background:var(--vp-blue-50) !important; }
.variations th.label label .vp-chosen{ font-weight:600; color:var(--vp-blue); margin-left:6px; }
.variations th.label label .vp-chosen:empty{ display:none; }
.vp-pulse{ animation:vp-pulse 1s ease 2; border-radius:12px; }
@keyframes vp-pulse{ 0%,100%{ box-shadow:0 0 0 0 rgba(6,144,216,0); } 50%{ box-shadow:0 0 0 6px rgba(6,144,216,.25); } }

/* ---------- 17. Buttons: Add to Basket primary, Buy Now secondary ---------- */
html body.single-product .et-single-buy-now{
  background:transparent !important; background-image:none !important; color:var(--vp-navy) !important;
  border:1.5px solid var(--vp-navy) !important; box-shadow:none !important; font-weight:600 !important;
}
html body.single-product .et-single-buy-now:not(.disabled):hover{ background:var(--vp-navy) !important; color:#fff !important; }

/* ---------- 18. Sticky add-to-basket bar (phones) ---------- */
.vp-sticky-buy{ display:none; }
@media (max-width: 767px){
  .vp-sticky-buy{
    display:flex; align-items:center; gap:12px; position:fixed; left:0; right:0; bottom:0; z-index:1000;
    padding:10px max(16px, env(safe-area-inset-right,0px)) max(10px, env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));
    background:#fff; border-top:1px solid var(--vp-line); box-shadow:0 -6px 18px rgba(16,24,40,.08);
    transform:translateY(120%); transition:transform .22s ease;
  }
  .vp-sticky-buy.is-on{ transform:none; }
  .vp-sticky-buy .vp-sb-info{ flex:1; min-width:0; display:grid; gap:2px; }
  .vp-sticky-buy .vp-sb-line{ font:500 12px/1.3 var(--vp-body); color:var(--vp-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .vp-sticky-buy .vp-sb-price, .vp-sticky-buy .vp-sb-price *{ font:700 17px/1.1 var(--vp-body) !important; color:var(--vp-ink) !important; }
  .vp-sticky-buy .vp-sb-price del{ display:none; }
  .vp-sticky-buy button{
    flex:none; height:46px; padding:0 18px; border:0; border-radius:12px; background:var(--vp-blue); color:#fff;
    font:700 15px/1 var(--vp-body); cursor:pointer;
  }
  .vp-sticky-buy button.is-choose{ background:var(--vp-navy); }
  body.vp-has-sticky{ padding-bottom:calc(var(--vp-panel-h,0px) + 12px) !important; }
  /* While the buy bar is up it replaces the theme's bottom nav, so the two never stack or overlap. */
  body.vp-sticky-on .et-mobile-panel-wrapper{ transform:translateY(110%) !important; transition:transform .22s ease; }
  body.vp-sticky-on #back-top, body.vp-sticky-on .back-top{ bottom:84px !important; }
}

/* ---------- 19. Phones: keep content clear of the bottom nav bar ---------- */
@media (max-width: 767px){
  body.vp-has-panel{ padding-bottom:var(--vp-panel-h,68px); }
}

/* ---------- 20. Phones: tighter header so the banner shows sooner ---------- */
@media (max-width: 767px){
  html body .weekend_discount-topbar .elementor-widget-container{ font-size:12px !important; line-height:1.35 !important; }
  html body .elementor-element-58efd4a, html body .elementor-element-0c3c5b7{ padding-top:6px !important; padding-bottom:6px !important; }
  html body .elementor-element-41111bd input[type=text], html body .elementor-element-41111bd input[type=search]{ height:44px !important; min-height:44px !important; font-size:16px !important; }
  html body .elementor-element-41111bd button, html body .elementor-element-41111bd .search-button{ height:44px !important; min-height:44px !important; }
  html body .elementor-element-2a43cfc{ padding-top:0 !important; padding-bottom:0 !important; }
  html body .elementor-element-a70c795, html body .elementor-element-6574908{ padding-top:6px !important; padding-bottom:4px !important; }
  html body .elementor-element-9dbf96d{ padding-top:2px !important; padding-bottom:8px !important; }
}

/* ---------- 21. Hero slider: show the first slide before its script runs (stops the layout jump) ---------- */
.home-banner-slider .slides:not(:has(.slide.active)) .slide:first-child{ position:relative; opacity:1; visibility:visible; }

/* ==========================================================================
   Stage 4: category / shop pages
   ========================================================================== */

/* ---------- 22. Product grid cards: equal height, buttons on one line ---------- */
html body .ajax-content{ align-items:stretch !important; }
html body .ajax-content > [class*="col-"]{ display:flex !important; flex-direction:column; }
html body .ajax-content > [class*="col-"] .content-product{ display:flex; flex-direction:column; flex:1 1 auto; }
html body .content-product .product-details{ display:flex; flex-direction:column; align-items:center; flex:1 1 auto; gap:4px; padding-bottom:16px; }
html body .content-product .product-details .qb-loop-quickbuy{ margin-top:auto !important; width:100%; padding-top:8px; }
html body .content-product .product-title{ font-size:15px !important; line-height:1.35 !important; margin:6px 0 0 !important; }
html body .content-product .product-title a{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
html body .content-product .products-page-brands{ margin:0 !important; line-height:1.3 !important; }
html body .content-product .products-page-brands a{ font-size:12px !important; text-transform:none; }
html body .content-product .price, html body .content-product .price .woocommerce-Price-amount{ font-size:17px !important; }
html body .content-product .price del, html body .content-product .price del .woocommerce-Price-amount{ font-size:13px !important; color:var(--vp-muted) !important; font-weight:400 !important; }
/* Image hover slider: 10-20 dots per card was noise; the hover/swipe still works without them. */
html body .content-product .hover-slider-indicator{ display:none !important; }
/* Out of stock label: a small badge instead of a big overlay in the middle of the photo. */
html body .content-product .stock.out-of-stock{
  top:10px !important; left:10px !important; right:auto !important; bottom:auto !important; transform:none !important;
  width:auto !important; height:auto !important; padding:5px 9px !important; border-radius:999px !important;
  background:#fff !important; color:var(--vp-muted) !important; border:1px solid var(--vp-line) !important;
  font:600 11px/1 var(--vp-body) !important; text-transform:none !important; letter-spacing:0 !important;
}
html body .content-product .product-image-wrapper{ position:relative; }
@media (hover:hover){
  html body .ajax-content > [class*="col-"]:hover .content-product{ box-shadow:var(--vp-shadow-h); position:relative; z-index:1; }
}

/* ---------- 23. Category intro: short on phones, "Read more" to expand ---------- */
@media (max-width: 767px){
  .term-description.vp-clamped{ position:relative; max-height:132px; overflow:hidden; }
  .term-description.vp-clamped::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:56px; background:linear-gradient(rgba(255,255,255,0), #fff); }
  .term-description h2{ font-size:20px !important; line-height:1.25 !important; }
  .term-description p{ font-size:14px !important; line-height:1.6 !important; }
}
.vp-readmore{ background:none !important; border:0 !important; padding:6px 0 !important; margin:0 0 12px; color:var(--vp-blue) !important; font:600 14px/1.2 var(--vp-body) !important; text-transform:none !important; letter-spacing:0 !important; cursor:pointer; box-shadow:none !important; }

/* ---------- 24. Phones: a proper "Filters" button instead of the edge tab over the heading ---------- */
@media (max-width: 767px){
  html body .et-toggle-mob-sidebars-inner.pos-fixed{
    top:auto !important; left:16px !important; right:auto !important; bottom:calc(var(--vp-panel-h,0px) + 14px) !important;
    z-index:999 !important; transform:none !important;
  }
  html body .et-toggle-mob-sidebars-inner .et-toggle-mob-sidebar{
    display:inline-flex !important; align-items:center; gap:8px; height:42px; padding:0 16px !important; border-radius:999px !important;
    background:var(--vp-navy) !important; color:#fff !important; box-shadow:0 6px 18px rgba(16,24,40,.22) !important; width:auto !important;
  }
  html body .et-toggle-mob-sidebars-inner .et-toggle-mob-sidebar *{ color:#fff !important; fill:#fff !important; stroke:#fff; background:transparent !important; box-shadow:none !important; width:auto !important; height:auto !important; min-width:0 !important; padding:0 !important; }
  html body .et-toggle-mob-sidebars-inner .et-toggle-mob-sidebar::after{ content:"Filters"; font:600 14px/1 var(--vp-body); }
}

/* ---------- 25. Sidebar "Popular searches" tags: show three rows, expand on request ---------- */
.widget_product_tag_cloud .tagcloud.vp-clamped{ max-height:112px; overflow:hidden; position:relative; }
.widget_product_tag_cloud .tagcloud.vp-clamped::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:36px; background:linear-gradient(rgba(255,255,255,0), #fff); }
html body .widget_product_tag_cloud .tagcloud a{ border-radius:999px !important; font:500 12.5px/1 var(--vp-body) !important; padding:7px 11px !important; }

/* ==========================================================================
   Stage 5: basket + checkout (layout only; no change to fields, totals or payment)
   ========================================================================== */

/* ---------- 26. One font for forms and labels ---------- */
html body.woocommerce-cart label, html body.woocommerce-checkout label,
html body.woocommerce-cart .shop_table, html body.woocommerce-checkout .shop_table,
html body.woocommerce-checkout .woocommerce-billing-fields h3, html body.woocommerce-checkout #order_review_heading{
  font-family:var(--vp-body) !important;
}
html body.woocommerce-checkout .form-row label{ font-weight:500 !important; font-size:14px !important; color:var(--vp-ink) !important; }

/* ---------- 27. Inputs: taller, rounded, clear focus ---------- */
html body.woocommerce-checkout .form-row input.input-text,
html body.woocommerce-checkout .form-row textarea,
html body.woocommerce-checkout .form-row select,
html body.woocommerce-checkout .select2-container .select2-selection--single,
html body.woocommerce-cart .coupon input.input-text{
  min-height:46px !important; border:1px solid #cfd8e3 !important; border-radius:10px !important; background:#fff !important;
  font:400 15px/1.3 var(--vp-body) !important; padding-left:14px !important; box-shadow:none !important;
}
html body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered{ line-height:44px !important; padding-left:0 !important; }
html body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow{ height:44px !important; }
html body.woocommerce-checkout .form-row input.input-text:focus,
html body.woocommerce-checkout .form-row textarea:focus,
html body.woocommerce-cart .coupon input.input-text:focus{ border-color:var(--vp-blue) !important; outline:3px solid rgba(6,144,216,.18) !important; outline-offset:0; }
html body.woocommerce-checkout .form-row.woocommerce-invalid input.input-text{ border-color:#d64545 !important; }

/* ---------- 28. The two shipping notices: a calm info box instead of red capitals ---------- */
html body.woocommerce-checkout .elementor-element-155f7b9 .elementor-widget-container{
  background:#fff8eb; border:1px solid #f3d9a4; border-left:4px solid #e3a008; border-radius:12px; padding:14px 16px;
}
html body.woocommerce-checkout .elementor-element-155f7b9 p{ margin:0 0 6px !important; font:500 14px/1.55 var(--vp-body) !important; }
html body.woocommerce-checkout .elementor-element-155f7b9 p:last-child{ margin-bottom:0 !important; }
html body.woocommerce-checkout .elementor-element-155f7b9 span[style*="ff0000"]{ color:#7a4b00 !important; }

/* ---------- 29. Basket: one primary action ---------- */
html body .wc-proceed-to-checkout a.checkout-button{
  min-height:54px !important; display:flex !important; align-items:center; justify-content:center;
  font:700 16px/1 var(--vp-body) !important; text-transform:none !important; letter-spacing:0 !important;
  border-radius:12px !important; background:var(--vp-blue) !important; background-image:none !important; color:#fff !important;
}
html body .wc-proceed-to-checkout a.checkout-button:hover{ background:var(--vp-blue-600) !important; }
html body .wc-proceed-to-checkout a.return-shop{
  background:transparent !important; background-image:none !important; border:0 !important; box-shadow:none !important;
  color:var(--vp-blue) !important; font:600 14px/1 var(--vp-body) !important; text-transform:none !important; letter-spacing:0 !important; min-height:40px;
}
html body .wc-proceed-to-checkout a.return-shop:hover{ text-decoration:underline; }
html body .cart-collaterals .cart_totals{ border-radius:var(--vp-r) !important; }
html body.woocommerce-cart .cart_totals h2{ font-size:15px !important; letter-spacing:.04em; }

/* ---------- 30. Checkout: Place Order as the clear primary action ---------- */
html body.woocommerce-checkout #place_order{
  min-height:54px !important; border-radius:12px !important; font:700 16px/1 var(--vp-body) !important; text-transform:none !important;
  letter-spacing:0 !important; background:var(--vp-blue) !important; background-image:none !important;
}
html body.woocommerce-checkout .elementor-element-155f7b9 p, html body.woocommerce-checkout .elementor-element-155f7b9 span{ color:#7a4b00 !important; }
html body.woocommerce-checkout .elementor-element-155f7b9 p:last-child{ font-weight:600 !important; }
/* Basket: "Clear shopping cart" was as loud as the main actions; make it a quiet text link. */
html body.woocommerce-cart a.clear-cart{
  background:transparent !important; background-image:none !important; border:0 !important; box-shadow:none !important;
  color:var(--vp-muted) !important; font:500 13px/1 var(--vp-body) !important; text-transform:none !important; letter-spacing:0 !important; padding:8px 4px !important;
}
html body.woocommerce-cart a.clear-cart:hover{ color:#d64545 !important; text-decoration:underline; }
html body.woocommerce-cart a.clear-cart *{ color:inherit !important; }

/* ==========================================================================
   Stage 6: payment messaging, free-delivery bar, strength chips, accessibility
   ========================================================================== */

/* ---------- 31. While card payments are off (body.vp-no-cards): no card logos ---------- */
body.vp-no-cards .sales-booster-safe-checkout{ display:none !important; }
body.vp-no-cards img[src*="visa."], body.vp-no-cards img[src*="master-card."], body.vp-no-cards img[src*="mastercard."],
body.vp-no-cards img[src*="american-express."], body.vp-no-cards img[src*="maestro."]{ display:none !important; }
/* PayPal is not offered at checkout at all, so its logo goes everywhere. */
img[src*="/paypal."], img[src*="paypal.jpeg"]{ display:none !important; }
/* Calmer announcement bar: no alarm emoji, informative tone */
.weekend_discount-topbar .elementor-widget-container{ font-weight:500 !important; }

/* ---------- 32. Free-delivery progress ---------- */
.vp-freeship{ background:var(--vp-soft); border:1px solid var(--vp-line); border-radius:12px; padding:12px 14px; margin:0 0 16px; display:grid; gap:8px; }
.vp-freeship-msg{ margin:0 !important; font:400 14px/1.4 var(--vp-body) !important; color:var(--vp-ink) !important; }
.vp-freeship-msg strong, .vp-freeship-msg .woocommerce-Price-amount{ font-weight:700 !important; color:var(--vp-ink) !important; }
.vp-freeship-track{ height:8px; border-radius:999px; background:#e3e8ef; overflow:hidden; }
.vp-freeship-track span{ display:block; height:100%; border-radius:999px; background:var(--vp-blue); transition:width .3s ease; }
.vp-freeship.is-done{ background:#eaf7f0; border-color:#bfe3cf; }
.vp-freeship.is-done .vp-freeship-track span{ background:var(--vp-green); }
.widget_shopping_cart .vp-freeship, .et_b_header-cart .vp-freeship, .etheme-elementor-off-canvas .vp-freeship{ margin:10px 0 12px; }

/* ---------- 33. Nicotine strength chips ---------- */
.vp-chips{ display:flex; align-items:center; gap:10px; margin:0 0 16px; min-width:0; }
.vp-chips-label{ flex:none; font:600 13px/1 var(--vp-body); color:var(--vp-muted); }
.vp-chips-row{ display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch; padding:2px; min-width:0; }
.vp-chips-row::-webkit-scrollbar{ display:none; }
html body .vp-chip{
  flex:none; display:inline-flex; align-items:center; gap:6px; height:38px; padding:0 14px; border-radius:999px;
  border:1px solid #cfd8e3; background:#fff; color:var(--vp-ink) !important; text-decoration:none !important;
  font:600 14px/1 var(--vp-body); white-space:nowrap; transition:border-color .15s ease, background .15s ease;
}
html body .vp-chip:hover{ border-color:var(--vp-blue); }
html body .vp-chip.is-active{ background:var(--vp-navy); border-color:var(--vp-navy); color:#fff !important; }
.vp-chip-n{ font-weight:500; font-size:12px; color:var(--vp-muted); }
.vp-chip.is-active .vp-chip-n{ color:#c9d3df; }
.vp-chip:focus-visible{ outline:3px solid rgba(5,119,179,.35); outline-offset:2px; }
@media (max-width: 767px){ .vp-chips{ margin:0 -16px 14px; padding:0 16px; } .vp-chips-label{ display:none; } }
/* The chips print inside the theme's sort/view toolbar (a flex row): give them a full row of their own. */
html body *:has(> .vp-chips){ flex-wrap:wrap !important; }
html body .vp-chips{ flex:1 0 100% !important; width:100%; max-width:100%; order:-1; }

/* ---------- 34. Home FAQ: six questions, link to the full list ---------- */
body.home .faq-column .faq-item:nth-child(1),
body.home .faq-column .faq-item:nth-child(3),
body.home .faq-column .faq-item:nth-child(6){ display:none !important; }
body.home .faq-cta-container{ display:flex; flex-wrap:wrap; gap:12px 20px; align-items:center; justify-content:center; }
html body .faq-all-link{ font:600 15px/1 var(--vp-body); color:var(--vp-blue) !important; text-decoration:underline; text-underline-offset:3px; }

/* ---------- 35. Accessibility: readable breadcrumbs ---------- */
html body .woocommerce-breadcrumb, html body .woocommerce-breadcrumb a{ color:var(--vp-muted) !important; }
html body .woocommerce-breadcrumb a:hover{ color:var(--vp-blue) !important; }

/* ---------- 36. Darker brand blue for the announcement bar and the page title band (WCAG AA) ---------- */
/* Was rgba(6,144,217,.75) on white = #44ace3, white text 2.5:1. Now #0577b3, white text 4.9:1. */
html body .elementor .elementor-element.weekend_discount-topbar.weekend_discount-topbar.weekend_discount-topbar{ background:#0577b3 !important; }
html body .page-heading{ background-color:#0577b3 !important; background-image:none !important; }
html body .page-heading .woocommerce-breadcrumb, html body .page-heading .woocommerce-breadcrumb a,
html body .page-heading .woocommerce-breadcrumb .delimeter, html body .page-heading .title, html body .page-heading h1{ color:#fff !important; }
html body .page-heading .woocommerce-breadcrumb a:hover{ color:#d6ecf8 !important; text-decoration:underline; }

/* ---------- 37. Logos ---------- */
/* Header: new trimmed logo file (no transparent padding), so cap its width to keep the header balanced. */
html body .elementor-element-93da70f img{ width:auto !important; max-width:250px !important; max-height:56px !important; height:auto !important; }
@media (max-width: 767px){ html body .elementor-element-93da70f img{ max-width:160px !important; max-height:36px !important; } }
/* Footer: on-dark logo straight on the navy footer (the light box behind it is removed). */
html body .elementor-element-5b930a58 img, html body .elementor-element-64f0792 img{ width:100% !important; max-width:240px !important; height:auto !important; border-radius:0 !important; }
/* Copyright row: was a bright blue strip under the navy footer; now a darker band of the same footer. */
html body .e-con:has(> .elementor-element-78c7e3b), html body .e-con:has(> .elementor-element-ed05573){
  background-color:#141c28 !important; background-image:none !important; border-top:1px solid rgba(255,255,255,.08) !important;
}
html body .elementor-element-78c7e3b p, html body .elementor-element-ed05573 p{ color:#aeb8c6 !important; font:400 13px/1.5 var(--vp-body) !important; margin:0 !important; }
/* Last contrast fixes from the axe pass */
html body .vp-tp-count-link strong{ color:#0577b3 !important; }
html body .vp-tp-v{ color:#00704a !important; }
html body.single-product .posted_in, html body.single-product .posted_in > span:first-child{ color:var(--vp-muted) !important; }
html body .elementor-element-e45b8af p{ color:var(--vp-muted) !important; }
html body .vp-tp-card-footer .vp-tp-brand-badge .vp-tp-v, html body .vp-tp-card-footer .vp-tp-brand-badge .vp-tp-v *{ color:#00704a !important; }
html body.single-product .wc-tabs li.active a, html body.single-product .tabs li.active a, html body.single-product a[href="#tab-description"][aria-selected="true"]{ background-color:#0577b3 !important; color:#fff !important; }

/* ---------- 38. Benefits: trust strip under the menu + footer row ([vp_benefits]) ---------- */
.vp-benefits{ list-style:none !important; margin:0 !important; padding:0 !important; }
.vp-benefits li{ margin:0 !important; padding:0 !important; list-style:none !important; }
.vp-benefits .vp-b-item{ text-decoration:none !important; }
.vp-b-ico{ flex:none; width:22px; height:22px; }

/* Strip: four equal cells, hairline dividers, one line each */
.vp-benefits--strip{ display:grid !important; grid-template-columns:repeat(4, minmax(0,1fr)); width:100%; max-width:1400px; margin:0 auto !important; }
.vp-benefits--strip li + li{ border-left:1px solid rgba(255,255,255,.12) !important; }
.vp-benefits--strip .vp-b-item{
  display:flex; align-items:center; justify-content:center; gap:10px; height:46px; padding:0 14px;
  color:#e8eef5 !important; font:500 14px/1.2 var(--vp-body); white-space:nowrap; transition:color .15s ease;
}
.vp-benefits--strip .vp-b-item:hover{ color:#fff !important; }
.vp-benefits--strip .vp-b-item span{ overflow:hidden; text-overflow:ellipsis; }
.vp-benefits--strip .vp-b-ico{ color:#7cc7f0; }
.vp-benefits--strip li:nth-child(3) .vp-b-ico{ color:#00d47e; fill:#00d47e; } /* Trustpilot green star */
@media (max-width: 1024px){
  .vp-benefits--strip{ display:block !important; position:relative; height:40px; overflow:hidden; }
  .vp-benefits--strip li{ position:absolute !important; inset:0; border:0 !important; opacity:0; animation:vp-strip-rotate 16s infinite; }
  .vp-benefits--strip li:nth-child(2){ animation-delay:4s; }
  .vp-benefits--strip li:nth-child(3){ animation-delay:8s; }
  .vp-benefits--strip li:nth-child(4){ animation-delay:12s; }
  .vp-benefits--strip .vp-b-item{ height:40px; font-size:13.5px; }
}
@keyframes vp-strip-rotate{ 0%{ opacity:0; transform:translateY(8px); } 3%,22%{ opacity:1; transform:none; } 25%,100%{ opacity:0; transform:translateY(-8px); } }
@media (max-width: 1024px) and (prefers-reduced-motion: reduce){
  .vp-benefits--strip li{ animation:none; }
  .vp-benefits--strip li:first-child{ opacity:1; }
}
/* The header container that holds the strip */
html body .elementor-element-0fcb70f{ padding:0 16px !important; min-height:0 !important; }
html body .elementor-element-0fcb70f > .e-con-inner{ padding:0 !important; }

/* Footer row: icon tile + title + one line of detail, aligned on a grid */
.vp-benefits--footer{ display:grid !important; grid-template-columns:repeat(4, minmax(0,1fr)); gap:16px 24px; width:100%; max-width:1400px; margin:0 auto !important; padding:28px 0 !important; }
.vp-benefits--footer .vp-b-item{ display:flex; align-items:center; gap:14px; color:#fff !important; }
.vp-benefits--footer .vp-b-tile{
  flex:none; display:grid; place-items:center; width:46px; height:46px; border-radius:12px;
  background:rgba(124,199,240,.12); color:#7cc7f0; transition:background .15s ease;
}
.vp-benefits--footer a.vp-b-item:hover .vp-b-tile{ background:rgba(124,199,240,.22); }
.vp-benefits--footer .vp-b-text{ display:grid; gap:3px; min-width:0; }
.vp-benefits--footer .vp-b-text strong{ font:600 15px/1.25 var(--vp-head); color:#fff; letter-spacing:-.005em; }
.vp-benefits--footer .vp-b-text span{ font:400 13px/1.35 var(--vp-body); color:#aeb8c6; }
@media (max-width: 1024px){ .vp-benefits--footer{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width: 520px){
  .vp-benefits--footer{ gap:18px 14px; padding:22px 0 !important; }
  .vp-benefits--footer .vp-b-item{ flex-direction:column; align-items:flex-start; gap:10px; }
  .vp-benefits--footer .vp-b-tile{ width:40px; height:40px; border-radius:10px; }
  .vp-benefits--footer .vp-b-text strong{ font-size:14px; }
  .vp-benefits--footer .vp-b-text span{ font-size:12.5px; }
}
html body .elementor-element-786370fe, html body .elementor-element-1ee5e4f{ padding-left:16px !important; padding-right:16px !important; }
.elementor-widget-shortcode:has(.vp-benefits){ width:100% !important; max-width:100% !important; flex:1 1 100% !important; }
.elementor-widget-shortcode:has(.vp-benefits) .elementor-shortcode{ width:100%; }
.elementor-widget-shortcode:has(.vp-benefits){ grid-column:1 / -1 !important; }
html body .vp-benefits--strip .vp-b-item{ font-size:14px !important; font-weight:500 !important; letter-spacing:0 !important; line-height:1.2 !important; }
@media (max-width: 1024px){
  html body .vp-benefits--strip li, html body .vp-benefits--strip li + li{ border:0 !important; }
  html body .vp-benefits--strip .vp-b-item{ font-size:13.5px !important; }
}

/* ---------- 39. Product page redesign (body.vp-pp) ---------- */
/* Title, price, facts, dispatch */
html body.vp-pp .single-product-builder .product_title{ font:700 32px/1.15 var(--vp-head) !important; letter-spacing:-.015em; margin:0 0 10px !important; color:var(--vp-ink) !important; }
html body.vp-pp .single-product-builder p.price{ margin:0 0 6px !important; line-height:1 !important; }
html body.vp-pp .single-product-builder p.price .woocommerce-Price-amount{ font:700 30px/1 var(--vp-head) !important; color:var(--vp-ink) !important; }
html body.vp-pp .single-product-builder p.price del .woocommerce-Price-amount{ font-size:18px !important; color:var(--vp-muted) !important; font-weight:500 !important; }
html body.vp-pp .sales-booster-total-sales{ margin:4px 0 0 !important; font:500 13px/1.4 var(--vp-body) !important; color:#b45309 !important; }
html body.vp-pp .single_product-html_block3:not(:has(*:not(br):not(p))),
html body.vp-pp .single_product-html_block3 br{ display:none !important; }
.vp-facts{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 14px; margin:10px 0 14px; font:500 14px/1.4 var(--vp-body); color:var(--vp-muted); }
.vp-facts-list i{ font-style:normal; margin:0 8px; color:#b9c2ce; }
.vp-facts-list a{ color:var(--vp-ink) !important; font-weight:600; text-decoration:none !important; }
.vp-facts-list a:hover{ color:var(--vp-blue) !important; }
.vp-facts-stock{ display:inline-flex; align-items:center; gap:6px; font-weight:600; }
.vp-facts-stock::before{ content:""; width:8px; height:8px; border-radius:50%; background:currentColor; }
.vp-facts-stock.is-in{ color:var(--vp-green); }
.vp-facts-stock.is-out{ color:var(--vp-red); }
.vp-dispatch{
  display:flex; align-items:center; gap:10px; width:100%; padding:11px 14px; border-radius:12px;
  background:#ecf8f1; border:1px solid #cbebd9; color:#0b5e3a; font:400 14.5px/1.35 var(--vp-body);
}
.vp-dispatch strong{ font-weight:700; color:#0b5e3a; }
.vp-dispatch .vp-dispatch-ico{ flex:none; color:var(--vp-green); }
.vp-dispatch.is-urgent{ background:#fff6e8; border-color:#f6dcb0; color:#7a4100; }
.vp-dispatch.is-urgent strong, .vp-dispatch.is-urgent .vp-dispatch-ico{ color:#9a4d00; }
html body.vp-pp .single_product-html_block1, html body.vp-pp .single_product-html_block1 p{ margin:0 !important; }
html body.vp-pp .single_product-html_block1 p:empty{ display:none; }

/* Picker: labels, no stray arrows, chips aligned with the column */
html body.vp-pp .single-product-builder form.cart{ margin-top:22px !important; }
html body.vp-pp table.variations{ margin:0 0 6px !important; border:0 !important; }
html body.vp-pp table.variations tr{ display:block; margin:0 0 16px; }
html body.vp-pp table.variations th, html body.vp-pp table.variations td{ display:block; padding:0 !important; border:0 !important; text-align:left; }
html body.vp-pp table.variations th.label label{ font:600 14px/1.3 var(--vp-body) !important; color:var(--vp-ink) !important; margin:0 0 8px !important; display:block; text-transform:none !important; letter-spacing:0 !important; }
html body.vp-pp table.variations td.value::after, html body.vp-pp table.variations td.value::before{ display:none !important; content:none !important; }
html body.vp-pp table.variations ul.st-swatch-preview{ margin:0 !important; padding:0 !important; }
html body.vp-pp .reset_variations{ font-size:12.5px !important; color:var(--vp-muted) !important; margin-top:8px; display:inline-block; }

/* Quantity + Add to basket on one row, Buy now as a quiet outline under it */
html body.vp-pp .single-product-builder .woocommerce-variation-add-to-cart,
html body.vp-pp .single-product-builder form.cart:not(.variations_form){
  display:flex !important; flex-wrap:wrap; align-items:stretch; gap:10px; width:100%;
}
html body.vp-pp .single-product-builder form.cart .et-or-wrapper,
html body.vp-pp .single-product-builder form.cart p.points:empty,
html body.vp-pp .single-product-builder form.cart .et-ghost-inline-block{ display:none !important; }
html body.vp-pp .single-product-builder form.cart .quantity{ flex:0 0 auto; margin:0 !important; }
html body.vp-pp .single-product-builder form.cart .quantity-wrapper{
  display:flex !important; align-items:center; height:52px; border:1px solid var(--vp-line) !important; border-radius:12px !important;
  background:#fff; overflow:hidden; margin:0 !important; padding:0 !important;
}
html body.vp-pp .single-product-builder form.cart .quantity-wrapper .minus,
html body.vp-pp .single-product-builder form.cart .quantity-wrapper .plus{
  width:40px !important; height:50px !important; display:grid !important; place-items:center; border:0 !important; background:transparent !important;
  color:var(--vp-ink) !important; cursor:pointer; margin:0 !important;
}
html body.vp-pp .single-product-builder form.cart .quantity-wrapper .minus:hover,
html body.vp-pp .single-product-builder form.cart .quantity-wrapper .plus:hover{ background:var(--vp-soft) !important; }
html body.vp-pp .single-product-builder form.cart .quantity-wrapper input.qty{
  width:44px !important; height:50px !important; border:0 !important; padding:0 !important; background:transparent !important;
  font:600 16px/1 var(--vp-body) !important; text-align:center; color:var(--vp-ink) !important; box-shadow:none !important;
}
html body.vp-pp .single-product-builder form.cart .single_add_to_cart_button:not(.et-single-buy-now){
  flex:1 1 200px; margin:0 !important; height:52px !important; min-height:52px; border-radius:12px !important;
  font:700 16px/1 var(--vp-body) !important; text-transform:none !important; letter-spacing:0 !important;
  background:var(--vp-blue) !important; background-image:none !important; color:#fff !important; border:0 !important; box-shadow:0 6px 16px -8px rgba(5,119,179,.6) !important;
}
html body.vp-pp .single-product-builder form.cart .single_add_to_cart_button:not(.et-single-buy-now):not(.disabled):hover{ background:var(--vp-blue-600) !important; }
html body.vp-pp .single-product-builder form.cart .single_add_to_cart_button.disabled{ opacity:.45 !important; box-shadow:none !important; }
html body.vp-pp .single-product-builder form.cart .et-single-buy-now{
  flex:1 1 100%; margin:0 !important; height:48px !important; min-height:48px; border-radius:12px !important;
  background:#fff !important; background-image:none !important; color:var(--vp-ink) !important; border:1.5px solid #c9d2de !important;
  font:600 15px/1 var(--vp-body) !important; text-transform:none !important; letter-spacing:0 !important; box-shadow:none !important; opacity:1 !important;
}
html body.vp-pp .single-product-builder form.cart .et-single-buy-now.disabled{ color:#8b95a3 !important; border-color:var(--vp-line) !important; }
html body.vp-pp .single-product-builder form.cart .et-single-buy-now:not(.disabled):hover{ border-color:var(--vp-ink) !important; background:var(--vp-soft) !important; }
html body.vp-pp .single-product-builder form.cart .et-single-buy-now svg,
html body.vp-pp .single-product-builder form.cart .single_add_to_cart_button svg{ display:none !important; }

/* Trust points, trade link, wishlist/compare, meta, questions */
.vp-pp-trust{ list-style:none !important; margin:16px 0 0 !important; padding:14px 0 0 !important; border-top:1px solid var(--vp-line); display:flex; flex-wrap:wrap; gap:8px 22px; }
.vp-pp-trust li{ display:flex; align-items:center; gap:8px; margin:0 !important; font:500 13.5px/1.3 var(--vp-body); color:var(--vp-ink); }
.vp-pp-trust .vp-b-ico{ width:20px; height:20px; color:var(--vp-blue); }
html body.vp-pp .vp-pp-trade{ justify-content:flex-start !important; margin:14px 0 0 !important; }
html body.vp-pp .vp-pp-trade .et_b_single-request-quote-button{
  margin:0 !important; padding:0 !important; font:500 14px/1.3 var(--vp-body) !important; color:var(--vp-blue) !important; background:none !important; transform:none !important; zoom:1 !important;
}
html body.vp-pp .vp-pp-trade .et_b_single-request-quote-button span{ font:inherit !important; color:inherit !important; }
html body.vp-pp .vp-pp-trade .et_b_single-request-quote-button:hover span{ text-decoration:underline; }
.vp-pp-actions{ display:flex; flex-wrap:wrap; gap:6px 22px; margin:18px 0 0; padding-top:14px; border-top:1px solid var(--vp-line); }
.vp-pp-actions .single-wishlist, .vp-pp-actions .single-compare{ margin:0 !important; padding:0 !important; }
.vp-pp-actions a{ font:500 13.5px/1.3 var(--vp-body) !important; color:var(--vp-muted) !important; padding:0 !important; height:auto !important; min-height:0 !important; }
.vp-pp-actions a:hover{ color:var(--vp-ink) !important; }
html body.vp-pp .single-product-builder .product_meta{ margin:12px 0 0 !important; padding:0 !important; border:0 !important; font:400 13px/1.5 var(--vp-body) !important; color:var(--vp-muted) !important; }
html body.vp-pp .single-product-builder .product_meta *{ font-size:13px !important; }
html body.vp-pp .single-product-builder .product_meta a{ color:var(--vp-muted) !important; }
html body.vp-pp .single-product-builder .product_meta a:hover{ color:var(--vp-blue) !important; }
html body.vp-pp .single_product-html_block2{ margin:16px 0 0 !important; padding:12px 14px; background:var(--vp-soft); border-radius:12px; }
html body.vp-pp .single_product-html_block2 .elementor-section,
html body.vp-pp .single_product-html_block2 .elementor-container{ margin:0 !important; padding:0 !important; align-items:center !important; }
html body.vp-pp .single_product-html_block2 p{ margin:0 !important; font:400 13.5px/1.45 var(--vp-body) !important; color:var(--vp-muted) !important; }
html body.vp-pp .single_product-html_block2 p br{ display:none; }
html body.vp-pp .single_product-html_block2 p a{ color:var(--vp-blue) !important; font-weight:600; margin-left:4px; }

/* Desktop: gallery stays in view while the buy box scrolls */
@media (min-width: 993px){
  html body.vp-pp .template-container{ overflow:clip !important; }
  html body.vp-pp .single-product-builder .element-raHwF{ float:none !important; }
  html body.vp-pp .single-product-builder .element-raHwF, html body.vp-pp .single-product-builder .element-TFML4{ flex:0 0 50%; max-width:50%; }
  html body.vp-pp .single-product-builder .row:has(> .element-raHwF){ display:flex !important; flex-wrap:wrap !important; align-items:stretch !important; }
  html body.vp-pp .single-product-builder .row:has(> .element-raHwF) > :not(.element-raHwF):not(.element-TFML4){ flex:0 0 100%; max-width:100%; }
  html body.vp-pp .single-product-builder .element-raHwF > .swiper-entry{ position:sticky !important; top:16px; }
  html body.vp-pp .single-product-builder .element-TFML4{ padding-left:28px !important; }
}

/* Details: one section, readable width, specs and policies on the side */
html body.vp-pp .woocommerce-tabs:has(.vp-pd) > .wc-tabs,
html body.vp-pp .woocommerce-tabs:has(.vp-pd) .tabs{ display:none !important; }
html body.vp-pp .woocommerce-tabs:has(.vp-pd){ margin-top:48px !important; padding-top:40px !important; border-top:1px solid var(--vp-line) !important; }
html body.vp-pp .woocommerce-tabs:has(.vp-pd) .woocommerce-Tabs-panel{ display:block !important; padding:0 !important; margin:0 !important; border:0 !important; opacity:1 !important; }
.vp-pd{ display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:48px; align-items:start; }
.vp-pd-h{ font:700 24px/1.2 var(--vp-head) !important; color:var(--vp-ink) !important; margin:0 0 16px !important; letter-spacing:-.01em; }
.vp-pd-desc{ max-width:72ch; font:400 15.5px/1.7 var(--vp-body); color:#334155; }
.vp-pd-desc > h2:first-child{ display:none; }
.vp-pd-desc p{ margin:0 0 14px !important; font:inherit !important; color:inherit !important; }
.vp-pd-desc a{ color:var(--vp-blue) !important; }
.vp-pd-desc h2, .vp-pd-desc h3, .vp-pd-desc h4{ font:700 18px/1.3 var(--vp-head) !important; color:var(--vp-ink) !important; margin:26px 0 10px !important; }
.vp-pd-desc ul, .vp-pd-desc ol{ margin:0 0 16px !important; padding-left:20px !important; }
.vp-pd-desc li{ margin:0 0 6px !important; font:inherit !important; color:inherit !important; }
.vp-pd-desc ul:has(> li:nth-child(9)){ columns:3 180px; column-gap:28px; list-style:none; padding-left:0 !important; }
.vp-pd-desc ul:has(> li:nth-child(9)) li{ break-inside:avoid; padding-left:16px; position:relative; }
.vp-pd-desc ul:has(> li:nth-child(9)) li::before{ content:""; position:absolute; left:0; top:.7em; width:6px; height:6px; border-radius:50%; background:var(--vp-blue); }
.vp-pd-desc img{ max-width:100%; height:auto; border-radius:12px; }
.vp-pd-desc table{ width:100%; border-collapse:collapse; margin:0 0 16px; font-size:14px; }
.vp-pd-desc td, .vp-pd-desc th{ border:1px solid var(--vp-line); padding:8px 10px; }
.vp-pd-side{ display:grid; gap:12px; position:sticky; top:16px; }
.vp-pd-card{ display:block; border:1px solid var(--vp-line); border-radius:14px; padding:18px 18px 8px; background:#fff; }
.vp-pd-card h3{ font:700 16px/1.3 var(--vp-head) !important; margin:0 0 10px !important; color:var(--vp-ink) !important; }
.vp-specs{ margin:0 !important; }
.vp-specs > div{ display:grid; grid-template-columns:42% 1fr; gap:12px; padding:10px 0; border-top:1px solid var(--vp-line); font:400 14px/1.45 var(--vp-body); }
.vp-specs > div:first-child{ border-top:0; padding-top:0; }
.vp-specs dt{ color:var(--vp-muted); font-weight:500; margin:0 !important; }
.vp-specs dd{ color:var(--vp-ink); font-weight:600; margin:0 !important; }
.vp-pd-acc{ border:1px solid var(--vp-line); border-radius:14px; background:#fff; overflow:hidden; }
.vp-pd-acc summary{
  list-style:none; cursor:pointer; padding:16px 18px; font:700 15px/1.3 var(--vp-head); color:var(--vp-ink);
  display:flex; justify-content:space-between; align-items:center; gap:12px;
}
.vp-pd-acc summary::-webkit-details-marker{ display:none; }
.vp-pd-acc summary::after{ content:""; width:9px; height:9px; border-right:2px solid var(--vp-muted); border-bottom:2px solid var(--vp-muted); transform:rotate(45deg) translateY(-3px); transition:transform .2s ease; flex:none; }
.vp-pd-acc[open] summary::after{ transform:rotate(-135deg) translateY(-1px); }
.vp-pd-acc summary:focus-visible{ outline:2px solid var(--vp-blue); outline-offset:-2px; }
.vp-pd-acc-body{ padding:0 18px 16px; font:400 14px/1.6 var(--vp-body); color:#334155; }
.vp-pd-acc-body > h2:first-child, .vp-pd-acc-body > h3:first-child{ display:none; }
.vp-pd-acc-body *{ font-family:var(--vp-body) !important; }
.vp-pd-acc-body p, .vp-pd-acc-body li{ font-size:14px !important; line-height:1.6 !important; color:#334155 !important; margin:0 0 10px !important; }
.vp-pd-acc-body h1, .vp-pd-acc-body h2, .vp-pd-acc-body h3, .vp-pd-acc-body h4, .vp-pd-acc-body h5{ font-size:14.5px !important; color:var(--vp-ink) !important; margin:14px 0 6px !important; line-height:1.35 !important; }
.vp-pd-acc-body img{ max-width:100%; height:auto; }
.vp-pd-acc-body .elementor-section, .vp-pd-acc-body .elementor-container, .vp-pd-acc-body .e-con{ padding:0 !important; margin:0 !important; width:100% !important; max-width:100% !important; }
a.vp-pd-tp{ display:flex; align-items:center; gap:14px; padding:16px 18px; text-decoration:none !important; transition:border-color .15s ease; }
a.vp-pd-tp:hover{ border-color:#00b67a; }
.vp-pd-tp-stars{ color:#00b67a; font-size:18px; letter-spacing:1px; flex:none; }
a.vp-pd-tp strong{ display:block; font:700 14.5px/1.3 var(--vp-head); color:var(--vp-ink); }
a.vp-pd-tp span span{ display:block; font:400 13px/1.4 var(--vp-body); color:var(--vp-muted); }

/* Related products row */
.vp-related{ margin:56px 0 8px; }
.vp-related-head h2{ font:700 26px/1.2 var(--vp-head) !important; color:var(--vp-ink) !important; margin:0 0 18px !important; letter-spacing:-.01em; }
html body.vp-pp .single_product-html_block5{ width:100%; }

/* "What sets Vaportiser apart" repeats the footer row on product pages */
html body.vp-pp .vp-feat-container{ display:none !important; }

@media (max-width: 992px){
  .vp-pd{ grid-template-columns:1fr; gap:28px; }
  .vp-pd-side{ position:static; }
}
@media (max-width: 767px){
  html body.vp-pp .single-product-builder .product_title{ font-size:24px !important; margin-top:6px !important; }
  html body.vp-pp .single-product-builder p.price .woocommerce-Price-amount{ font-size:26px !important; }
  .vp-dispatch{ font-size:14px; padding:10px 12px; }
  .vp-pd-h{ font-size:20px !important; }
  .vp-pd-desc{ font-size:15px; }
  .vp-pd-desc ul:has(> li:nth-child(9)){ columns:2 140px; }
  html body.vp-pp .woocommerce-tabs:has(.vp-pd){ margin-top:28px !important; padding-top:28px !important; }
  .vp-related{ margin-top:40px; }
  .vp-related-head h2{ font-size:21px !important; }
  .vp-pp-trust{ gap:8px 16px; }
}
/* 39b. Product page fine-tuning */
.vp-pd{ grid-template-columns:minmax(0,800px) 400px; justify-content:space-between; }
.vp-pd-desc{ max-width:none; }
html body.vp-pp .single_product-html_block2 p a{ display:inline !important; }
.vp-related .carousel-outer-wrap{ margin-top:0 !important; padding-top:0 !important; margin-bottom:0 !important; }
.vp-related .custom-product-carousel{ margin-top:0 !important; padding-top:4px !important; }
@media (max-width: 992px){ .vp-pd{ grid-template-columns:1fr; } }
html body.vp-pp .single-product-builder form.cart .single_add_to_cart_button:not(.et-single-buy-now){ flex:1 1 0 !important; min-width:0; width:auto !important; }
html body.vp-pp .single_product-html_block2 .elementor-column:first-child{ flex:1 1 auto; width:auto !important; }
html body.vp-pp .single_product-html_block2 .elementor-column:last-child{ flex:0 0 auto; width:auto !important; }
/* Estimated-delivery line says "2 days" while the site promises next-day: hide it. Stock count kept, quieter. */
html body.vp-pp .sales-booster-estimated-delivery{ display:none !important; }
html body.vp-pp .single-product-builder .element-TFML4 p.stock{ font:500 13px/1.4 var(--vp-body) !important; color:var(--vp-muted) !important; margin:12px 0 0 !important; }
html body.vp-pp .single-product-builder .element-TFML4 p.stock::before, html body.vp-pp .single-product-builder .element-TFML4 p.stock svg{ display:none !important; }
html body.vp-pp .single-product-builder .element-TFML4 p.stock.out-of-stock{ color:var(--vp-red) !important; font-weight:600 !important; }
/* XStore desktop sticky add-to-cart bar holds a copy of the form: no trust row / trade link there */
.etheme-sticky-cart .vp-pp-trust, .etheme-sticky-cart .vp-pp-trade, .etheme-sticky-cart .single-product-request-quote-wrapper{ display:none !important; }

/* ---------- 40. 404, empty search, social login ---------- */
html body .page-404 h2.largest{
  background:none !important; -webkit-background-clip:border-box !important; background-clip:border-box !important;
  -webkit-text-fill-color:var(--vp-blue) !important; color:var(--vp-blue) !important;
  font:800 120px/1 var(--vp-head) !important; letter-spacing:-.04em; margin:0 0 8px !important;
}
html body .page-404 h2:not(.largest){ font:700 26px/1.25 var(--vp-head) !important; color:var(--vp-ink) !important; text-transform:none !important; }
html body .page-404 p{ color:var(--vp-muted) !important; font:400 15.5px/1.6 var(--vp-body) !important; }
html body .page-404 .widget_search{ max-width:460px; margin:18px auto 0 !important; }
html body .page-404 .widget_search .input-row{ display:flex; border:1px solid var(--vp-line); border-radius:12px; overflow:hidden; background:#fff; }
html body .page-404 .widget_search input[type=text]{ flex:1; height:48px !important; border:0 !important; padding:0 16px !important; font:400 15px var(--vp-body) !important; background:#fff !important; }
html body .page-404 .widget_search button{ width:52px; height:48px !important; border:0 !important; background:var(--vp-blue) !important; color:#fff !important; border-radius:0 !important; position:static !important; }
html body .empty-category-block h2{ font:700 24px/1.25 var(--vp-head) !important; color:var(--vp-ink) !important; text-transform:none !important; }
html body .empty-category-block .btn{ border-radius:12px !important; text-transform:none !important; font:600 15px/1 var(--vp-body) !important; padding:14px 22px !important; height:auto !important; }
.vp-quick{ max-width:760px; margin:28px auto 0; text-align:center; }
.vp-quick-title{ font:600 14px/1.3 var(--vp-body) !important; color:var(--vp-muted) !important; margin:0 0 12px !important; }
.vp-quick ul{ list-style:none !important; margin:0 !important; padding:0 !important; display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
.vp-quick li{ margin:0 !important; }
.vp-quick a{
  display:inline-flex; align-items:center; height:40px; padding:0 16px; border:1px solid var(--vp-line); border-radius:999px; background:#fff;
  font:500 14px/1 var(--vp-body); color:var(--vp-ink) !important; text-decoration:none !important; transition:border-color .15s ease, background .15s ease;
}
.vp-quick a:hover{ border-color:var(--vp-blue); background:var(--vp-blue-50); }
html body a.et-google-login-button{
  display:flex !important; align-items:center; justify-content:center; gap:10px; height:48px; border-radius:12px !important;
  background:#fff !important; color:var(--vp-ink) !important; border:1px solid #c9d2de !important; box-shadow:none !important;
  font:600 15px/1 var(--vp-body) !important; text-transform:none !important; letter-spacing:0 !important;
}
html body a.et-google-login-button:hover{ border-color:var(--vp-ink) !important; background:var(--vp-soft) !important; }
html body a.et-google-login-button .et-icon{ margin:0 !important; }
html body a.et-google-login-button .et-icon svg{ width:1.6em !important; height:1.6em !important; }
@media (max-width:767px){ html body .page-404 h2.largest{ font-size:88px !important; } html body .page-404 h2:not(.largest){ font-size:21px !important; } }

/* ---------- 41. Newsletter block in brand colours (footer templates 208352 / 216835 / 210411) ---------- */
:is(.elementor-element-8240c2a, .elementor-element-73b6721, .elementor-element-451c4a4) .elementor-icon-list-icon svg{ fill:var(--vp-blue) !important; color:var(--vp-blue) !important; }
:is(.elementor-element-8240c2a, .elementor-element-73b6721, .elementor-element-451c4a4) .elementor-icon-list-icon i{ color:var(--vp-blue) !important; }
:is(.elementor-element-8240c2a, .elementor-element-73b6721, .elementor-element-451c4a4) .e-con .elementor-icon-list-icon svg{ fill:#7cc7f0 !important; color:#7cc7f0 !important; }
:is(.elementor-element-8240c2a, .elementor-element-73b6721, .elementor-element-451c4a4) .e-con .elementor-icon-list-icon i{ color:#7cc7f0 !important; }
/* "10% off welcome gift" badge: orange gradient -> brand blue */
:is(.elementor-element-d3c4af8, .elementor-element-627a672) > .elementor-widget-container{
  background:var(--vp-blue) !important; background-image:none !important; border-radius:999px !important; box-shadow:none !important;
}
:is(.elementor-element-d3c4af8, .elementor-element-627a672) .elementor-icon-list-icon svg{ fill:#fff !important; }
:is(.elementor-element-d3c4af8, .elementor-element-627a672) .elementor-icon-list-text{ color:#fff !important; }
/* Subscribe button: solid, rounded like the rest of the site */
:is(.elementor-element-8240c2a, .elementor-element-73b6721, .elementor-element-451c4a4) .elementor-button{
  background:var(--vp-blue) !important; background-image:none !important; border-radius:10px !important; box-shadow:none !important;
}
:is(.elementor-element-8240c2a, .elementor-element-73b6721, .elementor-element-451c4a4) .elementor-button:hover{ background:var(--vp-blue-600) !important; }
:is(.elementor-element-8240c2a, .elementor-element-73b6721, .elementor-element-451c4a4) .e-con input:is([type=text],[type=email]){ border-radius:10px !important; }
/* "Your information is safe" line was 20px with a yellow lock: quieter */
:is(.elementor-element-8240c2a, .elementor-element-73b6721, .elementor-element-451c4a4) .e-con .elementor-icon-list-text{ font-size:13.5px !important; }

/* ---------- 42. Small polish ---------- */
body.woocommerce-account .page-heading, body.woocommerce-account .page-heading *{ text-transform:none !important; }
body.search .woocommerce-breadcrumb, body.search .woocommerce-breadcrumb .title{ text-transform:none !important; }
.term-description h1, .term-description h2, .term-description h3{ color:var(--vp-ink) !important; }
:is(.elementor-element-8240c2a, .elementor-element-73b6721, .elementor-element-451c4a4) .e-con :is(.elementor-element-d3c4af8, .elementor-element-627a672) .elementor-icon-list-icon svg{ fill:#fff !important; color:#fff !important; }

/* ---------- 43. Delivery date, delivery box, slim sticky header ---------- */
.vp-dispatch .vp-dispatch-text{ display:flex; flex-wrap:wrap; column-gap:12px; row-gap:2px; align-items:baseline; }
.vp-dispatch .vp-dispatch-eta{ color:#0b5e3a; opacity:.92; }
.vp-dispatch .vp-dispatch-eta::before{ content:"·"; margin-right:12px; opacity:.5; }
@media (max-width:767px){ .vp-dispatch .vp-dispatch-text{ flex-direction:column; } .vp-dispatch .vp-dispatch-eta::before{ content:none; } }
.woocommerce-cart .vp-dispatch{ margin:0 0 16px; }

.vp-deliv{ margin:16px 0 0; border:1px solid var(--vp-line); border-radius:14px; background:#fff; overflow:hidden; }
.vp-deliv-row{ display:flex; align-items:center; gap:12px; padding:12px 14px; }
.vp-deliv-row + .vp-deliv-row{ border-top:1px solid var(--vp-line); }
.vp-deliv-row .vp-b-ico{ width:22px; height:22px; color:var(--vp-blue); flex:none; }
.vp-deliv-text{ flex:1; min-width:0; display:grid; gap:2px; }
.vp-deliv-text strong{ font:600 14px/1.3 var(--vp-body); color:var(--vp-ink); }
.vp-deliv-text span{ font:400 13px/1.4 var(--vp-body); color:var(--vp-muted); }
.vp-deliv-text b{ font-weight:600; color:var(--vp-green); }
.vp-deliv-text a{ color:var(--vp-blue) !important; text-decoration:underline; }
.vp-deliv-price{ flex:none; display:grid; text-align:right; font:700 14px/1.2 var(--vp-body); color:var(--vp-ink); }
.vp-deliv-price small{ font:500 12px/1.3 var(--vp-body); color:var(--vp-green); }
.etheme-sticky-cart .vp-deliv{ display:none !important; }

.vp-shead{
  position:fixed; left:0; right:0; top:0; z-index:9990; background:rgba(255,255,255,.97); backdrop-filter:saturate(1.4) blur(6px);
  border-bottom:1px solid var(--vp-line); box-shadow:0 6px 18px -12px rgba(16,24,40,.35);
  transform:translateY(-110%); transition:transform .22s ease; pointer-events:none;
}
.vp-shead.is-on{ transform:none; pointer-events:auto; }
.admin-bar .vp-shead{ top:32px; }
.vp-shead-in{ max-width:1440px; margin:0 auto; padding:8px 24px; display:flex; align-items:center; gap:20px; }
.vp-shead-logo{ flex:none; display:flex; align-items:center; }
.vp-shead-logo img{ height:30px; width:auto; display:block; }
.vp-shead-search{ flex:1; max-width:640px; margin:0 auto; display:flex; height:42px; border:1.5px solid var(--vp-navy); border-radius:10px; overflow:hidden; background:var(--vp-soft); }
.vp-shead-search input{ flex:1; min-width:0; border:0 !important; background:transparent !important; padding:0 14px !important; height:100% !important; font:400 15px var(--vp-body) !important; color:var(--vp-ink) !important; box-shadow:none !important; outline:none; }
.vp-shead-search button{ width:52px; border:0 !important; background:var(--vp-blue) !important; color:#fff !important; display:grid; place-items:center; padding:0 !important; border-radius:0 !important; cursor:pointer; }
.vp-shead-basket{ flex:none; position:relative; display:flex; align-items:center; gap:8px; height:42px; padding:0 14px; border-radius:10px; background:var(--vp-navy); color:#fff !important; text-decoration:none !important; font:700 14px/1 var(--vp-body); }
.vp-shead-basket:hover{ background:#0d1520; }
.vp-shead-count{ position:absolute; top:-6px; left:26px; min-width:18px; height:18px; padding:0 5px; border-radius:9px; background:var(--vp-red); color:#fff; font:700 11px/18px var(--vp-body); text-align:center; }
.vp-shead-count[hidden]{ display:none; }
@media (max-width:767px){
  .vp-shead-in{ padding:8px 12px; gap:10px; }
  .vp-shead-logo{ display:none; }
  .vp-shead-search{ height:40px; }
  .vp-shead-basket{ height:40px; padding:0 11px; }
  .vp-shead-total{ display:none; }
  .admin-bar .vp-shead{ top:0; }
}
@media (prefers-reduced-motion:reduce){ .vp-shead{ transition:none; } }
/* Simple products on phones: no "Quantity:" label, quantity + button on one row */
html body.vp-pp .single-product-builder form.cart .quantity-wrapper::before,
html body.vp-pp .single-product-builder form.cart .quantity > label:not(.screen-reader-text){ display:none !important; content:none !important; }
html body.vp-pp .single-product-builder form.cart .quantity{ width:auto !important; flex:0 0 auto !important; }
html body.vp-pp .single-product-builder form.cart:not(.variations_form){ flex-wrap:wrap !important; justify-content:flex-start !important; }
html body.vp-pp .single-product-builder .woocommerce-variation-add-to-cart,
html body.vp-pp .single-product-builder form.cart:not(.variations_form){ flex-direction:row !important; align-items:stretch !important; }
html body.vp-pp .vp-pp-trade{ margin:12px 0 0 !important; }

/* ---------- 44. Footer ([vp_footer]) ---------- */
html body .elementor-element-27f18330, html body .elementor-element-7d01a09{ background:#16202f !important; padding-top:0 !important; }
.vp-footer{ width:100%; max-width:1400px; margin:0 auto; padding:0 16px; color:#aeb8c6; font:400 14.5px/1.6 var(--vp-body); }
.vp-f-grid{ display:grid; grid-template-columns:1.35fr 1fr 1fr 1fr; gap:40px; padding:44px 0 36px; border-top:1px solid rgba(255,255,255,.08); }
.vp-f-logo img{ height:44px; width:auto; display:block; margin:0 0 16px; }
.vp-f-brand p{ margin:0 0 18px !important; color:#aeb8c6 !important; font:400 14.5px/1.6 var(--vp-body) !important; max-width:34ch; }
.vp-f-contact{ list-style:none !important; margin:0 0 18px !important; padding:0 !important; display:grid; gap:10px; }
.vp-f-contact li{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:0 !important; }
.vp-f-contact a, .vp-f-contact span{ display:inline-flex; align-items:center; gap:10px; color:#e8eef5 !important; text-decoration:none !important; font:500 14.5px/1.4 var(--vp-body); }
.vp-f-contact svg{ color:#7cc7f0; flex:none; }
.vp-f-contact a:hover{ color:#fff !important; }
.vp-f-contact a.vp-f-wa{ font:600 12px/1 var(--vp-body); padding:5px 9px; border-radius:999px; background:rgba(37,211,102,.14); color:#4ade80 !important; }
.vp-f-tp{ display:inline-flex; align-items:center; gap:10px; padding:8px 12px; border-radius:10px; border:1px solid rgba(255,255,255,.1); color:#e8eef5 !important; text-decoration:none !important; font:400 13.5px/1 var(--vp-body); }
.vp-f-tp:hover{ border-color:#00b67a; }
.vp-f-tp-stars{ color:#00b67a; letter-spacing:1px; }
.vp-f-col summary{ list-style:none; cursor:default; font:600 13px/1.2 var(--vp-body); letter-spacing:.08em; text-transform:uppercase; color:#fff; margin:6px 0 16px; }
.vp-f-col summary::-webkit-details-marker{ display:none; }
.vp-f-col ul{ list-style:none !important; margin:0 !important; padding:0 !important; display:grid; gap:9px; }
.vp-f-col li{ margin:0 !important; }
.vp-f-col a{ color:#aeb8c6 !important; text-decoration:none !important; font:400 14.5px/1.4 var(--vp-body); transition:color .15s ease; }
.vp-f-col a:hover{ color:#fff !important; }
.vp-f-age{ display:flex; align-items:center; gap:14px; padding:16px 0; border-top:1px solid rgba(255,255,255,.08); }
.vp-f-18{ flex:none; display:grid; place-items:center; width:40px; height:40px; border-radius:50%; border:2px solid #e8eef5; color:#e8eef5; font:800 13px/1 var(--vp-head); }
.vp-f-age p{ margin:0 !important; font:400 13px/1.5 var(--vp-body) !important; color:#aeb8c6 !important; }
.vp-f-age strong{ color:#e8eef5; font-weight:600; }
.vp-f-bottom{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 24px; padding:18px 0 22px; border-top:1px solid rgba(255,255,255,.08); }
.vp-f-legal{ margin:0 !important; font:400 12.5px/1.5 var(--vp-body) !important; color:#8a96a8 !important; }
.vp-f-links{ list-style:none !important; margin:0 !important; padding:0 !important; display:flex; gap:18px; }
.vp-f-links li{ margin:0 !important; }
.vp-f-links a{ color:#aeb8c6 !important; font:400 12.5px/1.5 var(--vp-body); text-decoration:none !important; }
.vp-f-links a:hover{ color:#fff !important; }
.vp-f-pay{ display:flex; gap:6px; }
.vp-f-paychip{ font:600 11.5px/1 var(--vp-body); color:#e8eef5; padding:6px 9px; border-radius:6px; background:rgba(255,255,255,.08); }
@media (min-width:768px){ .vp-f-col summary{ pointer-events:none; } }
@media (max-width:1024px){ .vp-f-grid{ grid-template-columns:1fr 1fr; gap:32px; } .vp-f-brand{ grid-column:1 / -1; } }
@media (max-width:767px){
  .vp-f-grid{ grid-template-columns:1fr; gap:0; padding:28px 0 8px; }
  .vp-f-brand{ padding-bottom:22px; }
  .vp-f-col{ border-top:1px solid rgba(255,255,255,.08); }
  .vp-f-col summary{ cursor:pointer; display:flex; justify-content:space-between; align-items:center; margin:0; padding:16px 0; font-size:13.5px; }
  .vp-f-col summary::after{ content:""; width:8px; height:8px; border-right:2px solid #aeb8c6; border-bottom:2px solid #aeb8c6; transform:rotate(45deg); transition:transform .2s ease; }
  .vp-f-col[open] summary::after{ transform:rotate(-135deg); }
  .vp-f-col ul{ padding:0 0 16px !important; gap:12px; }
  .vp-f-bottom{ flex-direction:column; align-items:flex-start; padding-bottom:calc(22px + var(--vp-panel-h, 0px)); }
}
.elementor-widget-shortcode:has(.vp-footer){ width:100% !important; max-width:100% !important; flex:1 1 100% !important; }
@media (min-width:768px){ .vp-f-bottom{ padding-right:76px; } }

/* ---------- 45. Header + mega menu (2026-11-01) ---------- */
/* Search: same look as the slim sticky header (navy outline, blue button), one height */
html body .elementor-element-41111bd .etheme-search-input-form-wrapper{
  height:48px !important; border:1.5px solid var(--vp-navy) !important; border-radius:12px !important; overflow:hidden !important;
  background:#fff !important; box-shadow:none !important; transition:border-color .15s ease, box-shadow .15s ease;
}
html body .elementor-element-41111bd .etheme-search-input-form-wrapper:focus-within{ border-color:var(--vp-blue) !important; box-shadow:0 0 0 4px rgba(5,119,179,.14) !important; }
html body .elementor-element-41111bd .etheme-search-input-wrapper{ border:0 !important; height:100% !important; background:transparent !important; }
html body .elementor-element-41111bd input.etheme-search-form-input{
  height:100% !important; min-height:0 !important; border:0 !important; border-radius:0 !important; background:transparent !important;
  padding:0 16px !important; font:400 15px var(--vp-body) !important; color:var(--vp-ink) !important; box-shadow:none !important;
}
html body .elementor-element-41111bd input.etheme-search-form-input::placeholder{ color:#6b7685 !important; }
html body .elementor-element-41111bd .etheme-search-form-button-wrapper{ height:100% !important; }
html body .elementor-element-41111bd button.etheme-search-form-submit{
  height:100% !important; min-height:0 !important; width:56px !important; border:0 !important; border-radius:0 !important;
  background:var(--vp-blue) !important; background-image:none !important; box-shadow:none !important; color:#fff !important;
}
html body .elementor-element-41111bd button.etheme-search-form-submit:hover{ background:var(--vp-blue-600) !important; }

/* Account / wishlist / basket: icon over a short label, no boxes. The basket count is a badge on the icon. */
html body :is(.elementor-element-6f4b284,.elementor-element-2981c0e,.elementor-element-09cb972) > .elementor-widget-container{
  background:transparent !important; border:0 !important; box-shadow:none !important; padding:0 !important;
}
html body :is(.elementor-element-6f4b284,.elementor-element-2981c0e,.elementor-element-09cb972) .etheme-elementor-off-canvas__toggle_button{
  background:transparent !important; background-image:none !important; box-shadow:none !important; border:0 !important;
  border-radius:10px !important; transition:background-color .15s ease;
}
html body :is(.elementor-element-6f4b284,.elementor-element-2981c0e,.elementor-element-09cb972) .etheme-elementor-off-canvas__toggle_button:hover{ background:var(--vp-soft) !important; }
html body :is(.elementor-element-6f4b284,.elementor-element-2981c0e,.elementor-element-09cb972) .elementor-button-icon,
html body :is(.elementor-element-6f4b284,.elementor-element-2981c0e,.elementor-element-09cb972) .elementor-button-icon i{
  color:var(--vp-navy) !important; fill:var(--vp-navy) !important; font-size:23px !important; line-height:1 !important;
}
html body :is(.elementor-element-6f4b284,.elementor-element-2981c0e,.elementor-element-09cb972) .etheme-elementor-off-canvas__toggle_button:hover .elementor-button-icon i{ color:var(--vp-blue) !important; }
html body .elementor-element-09cb972 .elementor-button-icon{ position:relative !important; }
html body .elementor-element-09cb972 .elementor-button-icon-qty{
  position:absolute !important; top:-7px !important; right:-11px !important; left:auto !important; bottom:auto !important; transform:none !important;
  min-width:19px !important; width:auto !important; height:19px !important; padding:0 5px !important; border-radius:10px !important;
  background:var(--vp-blue) !important; color:#fff !important; border:2px solid #fff !important; box-sizing:content-box !important;
  font:700 11px/19px var(--vp-body) !important; text-align:center !important; display:block !important;
}
html body .elementor-element-09cb972 .elementor-button-icon-qty[data-counter="0"]{ display:none !important; }

@media (min-width:768px){
  html body :is(.elementor-element-6f4b284,.elementor-element-2981c0e,.elementor-element-09cb972) .etheme-elementor-off-canvas__toggle_button{
    padding:7px 12px 6px !important; min-width:76px !important; height:auto !important;
  }
  html body :is(.elementor-element-6f4b284,.elementor-element-2981c0e,.elementor-element-09cb972) .elementor-button-content-wrapper{
    flex-direction:column !important; align-items:center !important; justify-content:center !important; gap:5px !important;
  }
  html body :is(.elementor-element-6f4b284,.elementor-element-2981c0e,.elementor-element-09cb972) .button-text,
  html body :is(.elementor-element-6f4b284,.elementor-element-2981c0e,.elementor-element-09cb972) .button-text *{
    font:500 12.5px/1.2 var(--vp-body) !important; color:var(--vp-ink) !important; text-transform:none !important; letter-spacing:0 !important; margin:0 !important; padding:0 !important;
  }
  html body .elementor-element-09cb972 .button-text, html body .elementor-element-09cb972 .button-text *{ font-weight:600 !important; }
}

/* Desktop main row: logo left, search centred and wide, actions flush right */
@media (min-width:1025px){
  html body .elementor-element-2a43cfc > .e-con-inner{ column-gap:24px !important; }
  html body .elementor-element-a70c795{ flex:0 0 260px !important; width:260px !important; max-width:260px !important; }
  html body .elementor-element-9dbf96d{ flex:1 1 0 !important; width:auto !important; max-width:none !important; align-items:center !important; }
  html body .elementor-element-41111bd{ width:100% !important; max-width:700px !important; margin:0 auto !important; }
  html body .elementor-element-6574908{ flex:0 0 auto !important; width:auto !important; max-width:none !important; justify-content:flex-end !important; gap:2px !important; }
  html body .elementor-element-6574908 > .elementor-element{ margin:0 !important; }
}

/* Category bar */
@media (min-width:1025px){
  html body .wp-mega-menu-wrapper{ border-top:1px solid var(--vp-line) !important; border-bottom:0 !important; box-shadow:none !important; }
  html body .wp-mega-menu-wrapper .wp-mega-menu-nav{ position:relative !important; padding:0 !important; }
  html body .wp-mega-menu-wrapper .mega-menu-list{ justify-content:space-between !important; gap:0 !important; }
  html body .wp-mega-menu-wrapper .mega-menu-item{ position:static !important; }
  html body .wp-mega-menu-wrapper .mega-menu-link{
    position:relative; height:50px; padding:0 14px !important; gap:6px !important;
    font:600 14.5px/1 var(--vp-head) !important; letter-spacing:.03em !important; color:var(--vp-navy) !important;
  }
  html body .wp-mega-menu-wrapper .mega-menu-link::after{
    content:""; position:absolute; left:14px; right:14px; bottom:0; height:3px; border-radius:3px 3px 0 0;
    background:var(--vp-blue); transform:scaleX(0); transition:transform .18s ease;
  }
  html body .wp-mega-menu-wrapper .mega-menu-item:hover > .mega-menu-link,
  html body .wp-mega-menu-wrapper .mega-menu-item:focus-within > .mega-menu-link{ color:var(--vp-blue) !important; }
  html body .wp-mega-menu-wrapper .mega-menu-item:hover > .mega-menu-link::after,
  html body .wp-mega-menu-wrapper .mega-menu-item:focus-within > .mega-menu-link::after{ transform:scaleX(1); }
  html body .wp-mega-menu-wrapper .mega-menu-link svg{ width:10px !important; height:10px !important; opacity:.55; stroke-width:3 !important; }

  /* Panel: full width of the bar, opens after a short pause so passing over the bar does not flash panels */
  html body .wp-mega-menu-wrapper .mega-dropdown-panel{
    left:0 !important; right:0 !important; top:100% !important; width:auto !important; max-width:none !important;
    padding:28px 32px 30px !important; background:#fff !important;
    border:1px solid var(--vp-line) !important; border-top:0 !important; border-radius:0 0 16px 16px !important;
    box-shadow:0 30px 50px -24px rgba(16,24,40,.30), 0 2px 0 0 var(--vp-line) inset !important;
    transform:translateY(6px) !important; max-height:calc(100vh - 190px) !important;
    transition:opacity .15s ease, transform .15s ease, visibility 0s linear .15s !important;
  }
  html body .wp-mega-menu-wrapper .mega-menu-item:hover > .mega-dropdown-panel,
  html body .wp-mega-menu-wrapper .mega-menu-item:focus-within > .mega-dropdown-panel{
    transform:none !important; transition:opacity .16s ease .09s, transform .16s ease .09s, visibility 0s linear .09s !important;
  }
  html body .wp-mega-menu-wrapper .mega-dropdown-inner{
    width:100% !important; max-width:none !important; flex-wrap:nowrap !important; align-items:stretch !important; gap:48px !important;
  }
  html body .wp-mega-menu-wrapper .mega-column{ flex:0 0 auto !important; gap:0 !important; width:auto !important; }
  html body .wp-mega-menu-wrapper .mega-col-title,
  html body .wp-mega-menu-wrapper .mega-column h2,
  html body .wp-mega-menu-wrapper .mega-column h4{
    background:none !important; box-shadow:none !important; border-radius:0 !important; width:auto !important;
    margin:0 0 10px !important; padding:0 0 10px !important; border-bottom:1px solid var(--vp-line);
    font:700 12.5px/1.3 var(--vp-head) !important; letter-spacing:.08em !important; text-transform:uppercase !important; color:var(--vp-muted) !important;
  }
  html body .wp-mega-menu-wrapper .mega-col-list,
  html body .wp-mega-menu-wrapper .mega-col-list.is-split{ gap:0 !important; row-gap:0 !important; column-gap:36px !important; width:auto !important; }
  html body .wp-mega-menu-wrapper .mega-col-list a{
    padding:6px 0 !important; font:500 14.5px/1.35 var(--vp-body) !important; color:var(--vp-ink) !important; white-space:nowrap !important;
    transform:none !important; transition:color .12s ease !important;
  }
  html body .wp-mega-menu-wrapper .mega-col-list a:hover{ color:var(--vp-blue) !important; text-decoration:underline; text-underline-offset:3px; }
  html body .wp-mega-menu-wrapper .vp-mm-all{
    display:inline-flex; align-items:center; gap:6px; margin-top:12px; font:600 14px/1.3 var(--vp-body); color:var(--vp-blue) !important; text-decoration:none;
  }
  html body .wp-mega-menu-wrapper .vp-mm-all:hover{ text-decoration:underline; text-underline-offset:3px; }
  html body .wp-mega-menu-wrapper .vp-mm-all span{ transition:transform .15s ease; }
  html body .wp-mega-menu-wrapper .vp-mm-all:hover span{ transform:translateX(3px); }

  /* Card on the right of each panel: what every order gets + "Shop all" */
  html body .wp-mega-menu-wrapper .vp-mm-card{
    margin-left:auto; flex:0 0 268px; align-self:stretch; display:flex; flex-direction:column; gap:14px;
    padding:20px 20px 18px; border-radius:14px; background:linear-gradient(160deg,#1b2a40 0%,#16202f 100%); color:#dbe3ec;
  }
  html body .wp-mega-menu-wrapper .vp-mm-card-t{ margin:0; font:700 15px/1.3 var(--vp-head); color:#fff; letter-spacing:0; }
  html body .wp-mega-menu-wrapper .vp-mm-card ul{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
  html body .wp-mega-menu-wrapper .vp-mm-card li{ display:flex; align-items:center; gap:10px; font:400 13.5px/1.35 var(--vp-body); color:#dbe3ec; }
  html body .wp-mega-menu-wrapper .vp-mm-card li svg{ width:18px; height:18px; flex:none; color:#7cc4ee; }
  html body .wp-mega-menu-wrapper .vp-mm-card-btn{
    margin-top:auto; display:flex; align-items:center; justify-content:center; gap:6px; height:42px; border-radius:10px;
    background:#fff; color:var(--vp-navy) !important; font:600 14px/1 var(--vp-body); text-decoration:none !important; transition:background-color .15s ease;
  }
  html body .wp-mega-menu-wrapper .vp-mm-card-btn:hover{ background:#e8f2fa; }
  html body .wp-mega-menu-wrapper .vp-mm-nocard .vp-mm-card{ display:none; }
}
@media (min-width:1025px) and (max-width:1280px){
  html body .wp-mega-menu-wrapper .mega-menu-link{ padding:0 9px !important; font-size:13px !important; }
  html body .wp-mega-menu-wrapper .mega-menu-link::after{ left:9px; right:9px; }
  html body .wp-mega-menu-wrapper .mega-dropdown-inner{ gap:36px !important; }
  html body .wp-mega-menu-wrapper .mega-col-list a{ font-size:14px !important; }
}

/* Phones and tablets: one row of quiet icon buttons, menu drawer that reads like a list */
@media (max-width:1024px){
  html body .mobile-menu-toggle-bar{ border:0 !important; }
  html body .mobile-menu-toggle-bar .mobile-menu-toggle{
    width:44px !important; height:44px !important; padding:0 !important; justify-content:center !important; border-radius:10px !important;
    background:transparent !important; background-image:none !important; box-shadow:none !important; color:var(--vp-navy) !important;
  }
  html body .mobile-menu-toggle-bar .mobile-menu-toggle:hover{ background:var(--vp-soft) !important; opacity:1 !important; }
  html body .mobile-menu-toggle-bar .mobile-menu-toggle svg{ width:25px !important; height:25px !important; stroke-width:2 !important; }
}
@media (max-width:767px){
  html body :is(.elementor-element-6f4b284,.elementor-element-09cb972) .etheme-elementor-off-canvas__toggle_button{
    width:44px !important; height:44px !important; min-width:0 !important; padding:0 !important; display:grid !important; place-items:center !important;
  }
  html body .elementor-element-6574908{ gap:0 !important; }
  html body .elementor-element-41111bd .etheme-search-input-form-wrapper{ height:46px !important; }
  html body .elementor-element-41111bd input.etheme-search-form-input{ font-size:16px !important; }
  html body .elementor-element-41111bd button.etheme-search-form-submit{ width:52px !important; }
}

html body .drawer-overlay{ background:rgba(16,24,40,.45) !important; backdrop-filter:none !important; }
html body .mobile-drawer{ width:min(88vw,400px) !important; max-width:none !important; box-shadow:12px 0 40px rgba(16,24,40,.25) !important; }
html body .mobile-drawer-header{ padding:14px 14px 14px 20px !important; background:#fff !important; border-bottom:1px solid var(--vp-line) !important; }
html body .mobile-drawer-header h3{ font:700 18px/1.2 var(--vp-head) !important; text-transform:none !important; color:var(--vp-navy) !important; letter-spacing:0 !important; }
html body .mobile-drawer .close-drawer-btn{
  width:40px !important; height:40px !important; padding:0 !important; display:grid !important; place-items:center !important; border-radius:10px !important;
  background:var(--vp-soft) !important; background-image:none !important; box-shadow:none !important; color:var(--vp-navy) !important; font-size:24px !important; line-height:1 !important;
}
html body .mobile-drawer .mobile-nav-item{ border-bottom:1px solid var(--vp-line) !important; }
html body .mobile-drawer .mobile-nav-row{ padding:0 8px 0 0 !important; min-height:54px; }
html body .mobile-drawer .mobile-nav-link-text{
  padding:15px 20px !important; font:600 16px/1.3 var(--vp-head) !important; text-transform:none !important; color:var(--vp-navy) !important; letter-spacing:0 !important;
}
html body .mobile-drawer .mobile-submenu-toggle{
  width:44px !important; height:44px !important; padding:0 !important; display:grid !important; place-items:center !important; border-radius:10px !important;
  background:transparent !important; background-image:none !important; box-shadow:none !important; color:var(--vp-navy) !important;
}
html body .mobile-drawer .mobile-submenu-toggle svg{ width:18px !important; height:18px !important; color:var(--vp-navy) !important; stroke-width:2.2 !important; }
html body .mobile-drawer .mobile-nav-item.open > .mobile-nav-row{ background:var(--vp-soft); }
html body .mobile-drawer .mobile-nav-item.open > .mobile-nav-row .mobile-nav-link-text{ color:var(--vp-blue) !important; }
html body .mobile-drawer .mobile-submenu{ background:var(--vp-soft) !important; }
html body .mobile-drawer .mobile-nav-item.open .mobile-submenu{ padding:0 20px 14px !important; }
html body .mobile-drawer .mobile-submenu h2,
html body .mobile-drawer .mobile-submenu h4{
  display:block !important; width:auto !important; background:none !important; box-shadow:none !important; border-radius:0 !important;
  margin:14px 0 2px !important; padding:0 !important; font:700 11.5px/1.3 var(--vp-head) !important; letter-spacing:.09em !important;
  text-transform:uppercase !important; color:var(--vp-muted) !important;
}
html body .mobile-drawer .mobile-submenu h2:first-child, html body .mobile-drawer .mobile-submenu h4:first-child{ margin-top:6px !important; }
html body .mobile-drawer .mobile-submenu ul{ gap:0 !important; }
html body .mobile-drawer .mobile-submenu a{ padding:9px 0 !important; font:400 15px/1.35 var(--vp-body) !important; color:var(--vp-ink) !important; }
html body .mobile-drawer .mobile-submenu a strong{ font-weight:600; color:var(--vp-blue); }
html body .mobile-drawer .vp-dr-extra{ padding:18px 20px calc(var(--vp-panel-h,68px) + 24px); display:grid; gap:14px; }
html body .mobile-drawer .vp-dr-h{ margin:0; font:700 11.5px/1.3 var(--vp-head); letter-spacing:.09em; text-transform:uppercase; color:var(--vp-muted); }
html body .mobile-drawer .vp-dr-links{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:2px 16px; }
html body .mobile-drawer .vp-dr-links a{ display:block; padding:7px 0; font:400 14.5px/1.35 var(--vp-body); color:var(--vp-ink) !important; text-decoration:none; }
html body .mobile-drawer .vp-dr-call{
  display:flex; align-items:center; justify-content:center; gap:8px; height:46px; border-radius:12px; border:1px solid var(--vp-line);
  font:600 15px/1 var(--vp-body); color:var(--vp-navy) !important; text-decoration:none !important; background:#fff;
}
html body .mobile-drawer .vp-dr-call svg{ width:18px; height:18px; color:var(--vp-blue); }
html body .mobile-drawer .vp-dr-note{ margin:0; display:flex; align-items:center; gap:10px; padding:12px 14px; border-radius:12px; background:var(--vp-blue-50); font:500 13.5px/1.4 var(--vp-body); color:var(--vp-navy); }
html body .mobile-drawer .vp-dr-note svg{ width:20px; height:20px; flex:none; color:var(--vp-blue); }
@media (prefers-reduced-motion:reduce){
  html body .wp-mega-menu-wrapper .mega-dropdown-panel, html body .mobile-drawer{ transition:none !important; }
}

/* Elementor's tablet breakpoint on this site is 1335px. That hid the category bar on 1025-1335px laptops
   and the menu button on 768-1335px, so those screens had no navigation at all. */
@media (min-width:1025px){
  html body .elementor-element-b4713ff.elementor-hidden-tablet{ display:flex !important; width:100% !important; flex-basis:100% !important; }
  html body .elementor-element-a70c795{ order:1 !important; }
  html body .elementor-element-9dbf96d{ order:2 !important; }
  html body .elementor-element-6574908{ order:3 !important; }
  html body .elementor-element-b4713ff{ order:4 !important; }
}
@media (min-width:768px) and (max-width:1024px){
  html body .elementor-element-a2a0c07.elementor-hidden-tablet{ display:block !important; }
}
/* Open menu panels sit above the page (slider arrows were drawn over them) */
html body .elementor-element-2a43cfc{ position:relative; z-index:60 !important; }
@media (min-width:1025px) and (max-width:1335px){
  html body .elementor-element-2a43cfc > .e-con-inner{ padding-left:16px !important; padding-right:16px !important; }
}

/* ---------- 46. Phone bottom bar (XStore mobile panel) ---------- */
/* White bar, one line-icon set (drawn in polish.js), muted labels, blue for the current page, badge on the basket */
@media (max-width:1024px){
  html body .et-mobile-panel-wrapper{
    background:#fff !important; border-top:1px solid var(--vp-line) !important;
    box-shadow:0 -8px 24px -16px rgba(16,24,40,.35) !important; padding-bottom:env(safe-area-inset-bottom,0px) !important;
  }
  html body .et-mobile-panel-wrapper .et-mobile-panel, html body .et-mobile-panel-wrapper .et-row-container{ background:transparent !important; padding:0 !important; }
  html body .et-mobile-panel-wrapper .et-wrap-columns{ height:62px !important; max-width:560px; margin:0 auto; padding:0 4px !important; }
  html body .et-mobile-panel-wrapper .et_column{ flex:1 1 0 !important; position:relative; padding:0 !important; background:transparent !important; background-image:none !important; }
  html body .et-mobile-panel-wrapper .et_column > a{
    width:100%; height:100%; justify-content:center !important; gap:4px !important; padding:0 !important;
    color:var(--vp-muted) !important; text-decoration:none !important; -webkit-tap-highlight-color:transparent;
  }
  html body .et-mobile-panel-wrapper .et_column > a:active .et_b-icon{ transform:scale(.92); }
  html body .et-mobile-panel-wrapper .et_b-icon{ position:relative; display:grid !important; place-items:center; width:26px; height:26px; margin:0 !important; transition:transform .12s ease; }
  html body .et-mobile-panel-wrapper .et-svg{ display:grid !important; place-items:center; width:24px !important; height:24px !important; line-height:0 !important; }
  html body .et-mobile-panel-wrapper .et-svg svg{ width:24px !important; height:24px !important; fill:none !important; stroke:currentColor !important; }
  html body .et-mobile-panel-wrapper .et-svg svg *{ fill:none !important; }
  html body .et-mobile-panel-wrapper .text-nowrap{ font:500 11px/1.1 var(--vp-body) !important; letter-spacing:.01em !important; color:inherit !important; margin:0 !important; text-transform:none !important; }
  /* current page */
  html body .et-mobile-panel-wrapper .et_column.vp-cur > a{ color:var(--vp-blue) !important; }
  html body .et-mobile-panel-wrapper .et_column.vp-cur .text-nowrap{ font-weight:600 !important; }
  html body .et-mobile-panel-wrapper .et_column.vp-cur::before{
    content:""; position:absolute; top:0; left:50%; width:28px; height:3px; margin-left:-14px; border-radius:0 0 3px 3px; background:var(--vp-blue);
  }
  html body .et-mobile-panel-wrapper .et_column.active:not(.vp-cur) > a{ color:var(--vp-muted) !important; }
  /* basket count */
  html body .et-mobile-panel-wrapper .et-cart-quantity{
    position:absolute !important; top:-5px !important; right:-10px !important; left:auto !important; transform:none !important;
    min-width:16px !important; height:16px !important; width:auto !important; padding:0 3px !important; border-radius:9px !important; box-sizing:border-box !important;
    background:var(--vp-blue) !important; color:#fff !important; border:0 !important; box-shadow:0 0 0 2px #fff !important; font:700 10px/16px var(--vp-body) !important; text-align:center !important;
  }
  html body .et-mobile-panel-wrapper .et-cart-quantity.count-0{ display:none !important; }
  /* chat: small green "online" dot instead of the theme's blue one */
  html body .et-mobile-panel-wrapper .with-dot .et_b-icon::before, html body .et-mobile-panel-wrapper .with-dot .et_b-icon::after{ display:none !important; content:none !important; }
  html body .et-mobile-panel-wrapper .vp-dot{
    position:absolute; top:0; right:-2px; width:9px; height:9px; border-radius:50%; background:#1fa855; border:2px solid #fff; box-sizing:content-box;
  }
}

/* ---------- 47. Category pages: title, brand links, toolbar, sidebar, list view (2026-11-01) ---------- */
/* Page title: the category name is the last breadcrumb (theme layout "left2"); give it its own line and size */
html body.archive .page-heading .woocommerce-breadcrumb{ display:flex !important; flex-wrap:wrap; align-items:center; column-gap:6px; row-gap:2px; }
html body.archive .page-heading .woocommerce-breadcrumb h1.title{
  flex:0 0 100%; margin:4px 0 0 !important; padding:0 !important; font:700 30px/1.15 var(--vp-head) !important; letter-spacing:-.01em !important;
  color:#fff !important; text-transform:none !important;
}
html body.archive .page-heading .woocommerce-breadcrumb h1.title + *{ display:none; }
html body.archive .page-heading .woocommerce-breadcrumb .delimeter:last-of-type{ }
html body.archive .page-heading .vp-count{ display:inline-block; margin-left:12px; font:500 14px/1 var(--vp-body); color:rgba(255,255,255,.82); vertical-align:middle; letter-spacing:0; }
html body.archive .page-heading{ padding-top:18px !important; padding-bottom:20px !important; }
@media (max-width:767px){
  html body.archive .page-heading .woocommerce-breadcrumb h1.title{ font-size:24px !important; }
  html body.archive .page-heading{ padding-top:12px !important; padding-bottom:14px !important; }
}

/* Brand links in the category intro: a row of small pills instead of four big light-blue blocks */
html body .term-description .category-container{ display:flex !important; flex-wrap:wrap; gap:8px; margin:0 0 18px !important; padding:0 !important; }
html body .term-description .category-container br{ display:none !important; }
html body .term-description .category-container a.cat-button{
  display:inline-flex !important; flex:0 0 auto !important; align-items:center; height:38px; margin:0 !important; padding:0 16px !important; width:auto !important; min-width:0 !important;
  border-radius:999px !important; border:1px solid var(--vp-line) !important; background:#fff !important; box-shadow:none !important;
  color:var(--vp-navy) !important; -webkit-text-fill-color:var(--vp-navy) !important; text-decoration:none !important;
  font:600 14px/1 var(--vp-body) !important; text-transform:none !important; letter-spacing:0 !important; transition:border-color .15s ease, background-color .15s ease;
}
html body .term-description .category-container a.cat-button:hover{ border-color:var(--vp-blue) !important; background:var(--vp-blue-50) !important; }
html body .term-description .category-container a.cat-button:first-child{ background:var(--vp-navy) !important; border-color:var(--vp-navy) !important; color:#fff !important; -webkit-text-fill-color:#fff !important; }
html body .term-description .category-container a.cat-button:first-child:hover{ background:#0d1520 !important; }
@media (max-width:767px){
  html body .term-description .category-container{ flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; margin-right:-16px !important; padding-right:16px !important; }
  html body .term-description .category-container::-webkit-scrollbar{ display:none; }
  html body .term-description .category-container a.cat-button{ flex:none; height:36px; font-size:13.5px !important; }
  html body .term-description.vp-pills-only{ max-height:none !important; }
  html body .term-description.vp-pills-only::after{ display:none !important; }
}

/* Toolbar: full sort label, grid + list only, no "Show" when everything fits on one page */
html body .filter-wrap .woocommerce-ordering select{ min-width:232px !important; width:auto !important; height:40px !important; border-radius:10px !important; font:500 14px var(--vp-body) !important; color:var(--vp-ink) !important; }
html body .view-switcher .switch-grid:has(a[data-row-count="2"]),
html body .view-switcher .switch-grid:has(a[data-row-count="3"]),
html body .view-switcher .switch-more{ display:none !important; }
html body .view-switcher > label{ display:none !important; }
html body.vp-one-page .products-per-page, html body.vp-one-page .et-products-per-page, html body.vp-one-page .filter-wrap form:has(select[name="et_per_page"]){ display:none !important; }

/* Sidebar: even spacing, current category highlighted */
html body .sidebar .sidebar-widget{ margin-bottom:28px !important; padding-bottom:0 !important; }
html body .sidebar .sidebar-widget .widget-title, html body .sidebar .sidebar-widget .widgettitle{ margin-bottom:14px !important; }
html body .widget_product_categories li a{ color:var(--vp-ink) !important; }
html body .widget_product_categories li.current-cat > a{ color:var(--vp-blue) !important; font-weight:600 !important; }

/* Grid cards: price + button sit at the bottom, so they line up across a row */
html body .products-grid .content-product .product-details .price,
html body .products-loop:not(.products-list) .content-product .product-details .price{ margin-top:auto !important; padding-top:6px; }
html body .products-loop:not(.products-list) .content-product .product-details .qb-loop-quickbuy{ margin-top:8px !important; }

/* List view: photo left, details right, ~200px per row (was a 740px stack with the photo off the right edge) */
html body .products-list.products-loop .ajax-content{ width:auto !important; }
html body .products-list.products-loop .ajax-content > [class*="col-"]{ width:100% !important; max-width:100% !important; flex:0 0 100% !important; }
html body .products-list .content-product{
  flex-direction:row !important; align-items:center !important; gap:28px; padding:18px 18px !important; width:100% !important; max-width:100% !important; box-sizing:border-box;
}
html body .products-list .content-product .product-image-wrapper{ flex:0 0 180px !important; width:180px !important; max-width:180px !important; margin:0 !important; float:none !important; }
html body .products-list .content-product .product-image-wrapper img{ width:100% !important; height:auto !important; }
html body .products-list .content-product .footer-product{ display:none !important; }
html body .products-list .content-product .product-details{
  flex:1 1 auto !important; min-width:0; width:auto !important; float:none !important; align-items:flex-start !important; text-align:left !important; padding:0 !important; gap:4px;
}
html body .products-list .content-product .product-title{ font-size:17px !important; margin:0 !important; text-align:left !important; }
html body .products-list .content-product .price{ margin-top:4px !important; }
html body .products-list .content-product .product-excerpt{
  display:-webkit-box !important; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; max-width:720px; margin:4px 0 0 !important;
  font:400 14px/1.55 var(--vp-body) !important; color:var(--vp-muted) !important; text-align:left !important;
}
html body .products-list .content-product .qb-loop-quickbuy{ margin-top:12px !important; width:auto !important; padding-top:0 !important; }
html body .products-list .content-product .qb-quick-buy-btn{ display:inline-flex !important; align-items:center; justify-content:center; width:auto !important; min-width:180px; height:42px !important; padding:0 28px !important; }
html body .products-list .content-product .xstore-compare, html body .products-list .content-product .quantity-wrapper{ display:none !important; }
@media (max-width:767px){
  html body .products-list .content-product{ align-items:flex-start !important; gap:14px; padding:14px 0 !important; }
  html body .products-list .content-product .product-image-wrapper{ flex-basis:108px !important; width:108px !important; max-width:108px !important; }
  html body .products-list .content-product .product-title{ font-size:15px !important; }
  html body .products-list .content-product .product-excerpt{ display:none !important; }
  html body .products-list .content-product .qb-loop-quickbuy{ width:100% !important; margin-top:8px !important; }
  html body .products-list .content-product .qb-quick-buy-btn{ width:100% !important; min-width:0; height:40px !important; }
  html body .products-list .content-product .product-details{ padding-right:0 !important; max-width:calc(100% - 122px); }
}

/* ---------- 2026-11-01 live fixes after the release ---------- */
/* Tablet (601-1024px): the bottom bar sat off-centre because the theme row keeps a 750px max-width and the
   560px bar did not centre inside it. Let the row span the screen and centre the bar. */
@media (max-width:1024px){
  html body .et-mobile-panel-wrapper .et-row-container{ max-width:none !important; width:100% !important; }
  html body .et-mobile-panel-wrapper .et-wrap-columns{ width:100%; margin-left:auto !important; margin-right:auto !important; }
}
/* Desktop 1025-1439px: four equal cells were too narrow for "Order by 2pm for same-day dispatch", so it was cut
   with an ellipsis. Cells now size to their text (dividers kept) with slightly smaller type. */
@media (min-width:1025px) and (max-width:1439px){
  html body .vp-benefits--strip{ grid-template-columns:repeat(4, auto); justify-content:space-between; }
  html body .vp-benefits--strip .vp-b-item{ font-size:13px !important; padding:0 12px !important; gap:8px; }
}
@media (min-width:1025px) and (max-width:1199px){
  html body .vp-benefits--strip .vp-b-item{ font-size:12px !important; padding:0 8px !important; gap:6px; }
  html body .vp-benefits--strip .vp-b-ico{ width:18px; height:18px; }
}
/* CookieYes banner: the Elementor kit paints a blue gradient on every <button>, which turned "Customize" and
   "Reject All" into blue text on blue. Keep CookieYes's own colours (Reject as readable as Accept). */
html body .cky-consent-container .cky-btn, html body .cky-modal .cky-btn, html body .cky-preference-center .cky-btn{ background-image:none !important; }
