/*
Theme Name: Camping Electricals
Theme URI: https://www.campingelectricals.co.uk/
Author: Camping Electricals
Author URI: https://www.campingelectricals.co.uk/
Description: A fast, conversion-focused WooCommerce theme for Camping Electricals — caravan & camping hookup cables, reels and connectors. Navy / amber brand, Jost typography, full WooCommerce support.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
WC requires at least: 7.0
WC tested up to: 8.7
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: camping-electricals
Tags: e-commerce, woocommerce, two-columns, custom-menu, featured-images, footer-widgets
*/

/* ============================================================
   TOKENS
   ============================================================ */
:root{
  --navy:#2e3d4f;
  --nav-dark:#26333f;
  --ink:#1f2933;
  --muted:#6b7682;
  --muted2:#8a96a3;
  --blue:#1196ee;
  --amber:#f0a500;
  --amber-dark:#d98e00;
  --green:#2e8b4f;
  --line:#eef0f2;
  --line2:#e6e8eb;
  --bg-soft:#f6f7f9;
  --radius:8px;
  --shadow-sm:0 1px 2px rgba(16,24,40,.06);
  --shadow:0 8px 24px rgba(16,24,40,.08);
  --shadow-lg:0 14px 34px rgba(16,24,40,.12);
  --font:"Jost", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

/* ============================================================
   RESET / BASE
   ============================================================ */
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  font-family:var(--font);
  color:var(--ink);
  background:#fff;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
h1,h2,h3,h4,p{margin:0;}
ul{margin:0;padding:0;list-style:none;}

.ce-container{max-width:1280px;margin:0 auto;padding:0 28px;}
.ce-link{transition:color .15s;}
.ce-link:hover{color:var(--amber);}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden;}

/* ============================================================
   TOP BAR
   ============================================================ */
.ce-topbar{background:var(--navy);color:#cdd5de;font-size:13px;}
.ce-topbar .ce-container{height:40px;display:flex;align-items:center;gap:18px;}
.ce-topbar .tb-call{display:flex;align-items:center;gap:8px;}
.ce-topbar .tb-call strong{color:#fff;font-weight:600;}
.ce-topbar .tb-ship{flex:1;text-align:center;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:500;color:#eef2f6;}
.ce-topbar .tb-ship strong{color:#fff;}
.ce-topbar .tb-right{display:flex;align-items:center;gap:16px;}
.ce-topbar .tb-right .sep{color:#42505f;}
.ce-topbar .tb-right .cur{color:#9aa6b2;}

/* ============================================================
   HEADER
   ============================================================ */
.ce-header{background:#fff;border-bottom:1px solid var(--line);}
.ce-header .ce-container{padding-top:18px;padding-bottom:18px;display:flex;align-items:center;gap:34px;}
.ce-logo{display:flex;align-items:center;gap:11px;flex:0 0 auto;}
.ce-logo .mark{width:44px;height:44px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(46,61,79,.28);flex:0 0 auto;}
.ce-logo .wordmark{display:flex;flex-direction:column;line-height:1;}
.ce-logo .wordmark .name{font-size:21px;font-weight:700;color:var(--navy);letter-spacing:-.01em;}
.ce-logo .wordmark .tag{font-size:11px;font-weight:500;color:var(--muted2);letter-spacing:.16em;text-transform:uppercase;margin-top:4px;}
.ce-logo img,.ce-logo .custom-logo{max-height:56px;width:auto;height:auto;display:block;}
.ce-logo a.custom-logo-link{display:block;line-height:0;}

.ce-searchform{flex:1;display:flex;height:48px;border:2px solid var(--navy);border-radius:var(--radius);overflow:hidden;background:#fff;}
.ce-searchform input[type=search],.ce-searchform input[type=text]{flex:1;border:none;outline:none;padding:0 16px;font-family:inherit;font-size:15px;color:var(--ink);background:transparent;}
.ce-searchform select{border:none;border-left:1px solid var(--line2);background:var(--bg-soft);padding:0 12px;font-family:inherit;font-size:13px;color:var(--muted);outline:none;cursor:pointer;}
.ce-searchform button{background:var(--amber);color:var(--navy);border:none;padding:0 22px;display:flex;align-items:center;gap:8px;font-weight:600;font-size:15px;transition:background .15s,box-shadow .15s;}
.ce-searchform button:hover{background:var(--amber-dark);box-shadow:0 8px 20px rgba(240,165,0,.32);}

.ce-actions{display:flex;align-items:center;gap:22px;flex:0 0 auto;}
.ce-actions .act-account{display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--navy);}
.ce-actions .act-account span{font-size:11px;font-weight:600;}
.ce-cart{display:flex;align-items:center;gap:11px;background:var(--navy);padding:10px 16px;border-radius:var(--radius);color:#fff;}
.ce-cart .cart-ic{position:relative;display:flex;}
.ce-cart .cart-count{position:absolute;top:-7px;right:-9px;background:var(--amber);color:var(--navy);font-size:10px;font-weight:700;min-width:17px;height:17px;padding:0 4px;border-radius:9px;display:flex;align-items:center;justify-content:center;}
.ce-cart .cart-meta{display:flex;flex-direction:column;line-height:1.2;}
.ce-cart .cart-meta .lbl{font-size:10px;color:#aeb8c2;text-transform:uppercase;letter-spacing:.08em;}
.ce-cart .cart-meta .amt{font-size:14px;font-weight:700;}

.ce-burger{display:none;width:44px;height:44px;border-radius:8px;background:var(--navy);color:#fff;align-items:center;justify-content:center;flex:0 0 auto;}

/* ============================================================
   PRIMARY NAV
   ============================================================ */
.ce-nav{background:var(--nav-dark);}
.ce-nav .ce-container{display:flex;align-items:center;height:52px;padding-left:22px;padding-right:22px;}
.ce-nav .all-products{display:flex;align-items:center;gap:9px;background:var(--amber);color:var(--navy);font-weight:700;font-size:14px;padding:9px 16px;border-radius:7px;margin-right:18px;white-space:nowrap;}
.ce-menu{display:flex;align-items:center;}
.ce-menu li{position:relative;}
.ce-menu a{display:flex;align-items:center;gap:6px;color:#dfe5eb;font-size:14.5px;font-weight:500;padding:16px 14px;position:relative;}
.ce-menu li.current-menu-item>a,.ce-menu a:hover{color:#fff;}
.ce-menu a::after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:2px;background:var(--amber);transform:scaleX(0);transform-origin:left;transition:transform .2s;}
.ce-menu li.current-menu-item>a::after,.ce-menu a:hover::after{transform:scaleX(1);}
.ce-menu .own-brand{background:var(--amber);color:var(--navy);font-size:9px;font-weight:700;padding:2px 5px;border-radius:4px;letter-spacing:.04em;}
/* submenus */
.ce-menu ul.sub-menu{position:absolute;top:100%;left:6px;min-width:210px;background:#fff;border:1px solid var(--line2);border-radius:10px;box-shadow:var(--shadow);padding:8px;opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s;z-index:60;}
.ce-menu li:hover>ul.sub-menu{opacity:1;visibility:visible;transform:translateY(0);}
.ce-menu ul.sub-menu a{color:var(--ink);font-weight:500;font-size:14px;padding:9px 12px;border-radius:7px;}
.ce-menu ul.sub-menu a::after{display:none;}
.ce-menu ul.sub-menu a:hover{background:var(--bg-soft);color:var(--navy);}
.ce-nav .nav-hours{flex:1;text-align:right;color:#9aa6b2;font-size:13px;display:flex;align-items:center;justify-content:flex-end;gap:7px;}

/* ============================================================
   PROMO BAR
   ============================================================ */
.ce-promo{background:var(--amber);color:var(--navy);}
.ce-promo .ce-container{padding-top:11px;padding-bottom:11px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:14px;font-weight:600;position:relative;}
.ce-promo .code{background:var(--navy);color:#fff;padding:3px 11px;border-radius:5px;font-weight:700;letter-spacing:.06em;font-size:13px;}
.ce-promo .promo-close{position:absolute;right:28px;color:var(--navy);opacity:.6;font-size:18px;line-height:1;}
.ce-promo .promo-close:hover{opacity:1;}

/* ============================================================
   HERO
   ============================================================ */
.ce-hero{background:linear-gradient(180deg,#f6f7f9 0%,#eef2f5 100%);}
.ce-hero .ce-container{padding-top:56px;padding-bottom:60px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.ce-eyebrow{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line2);color:var(--green);font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:7px 13px;border-radius:30px;}
.ce-eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--green);}
.ce-hero h1{font-size:60px;line-height:1.04;font-weight:700;color:var(--navy);margin-top:20px;letter-spacing:-.02em;}
.ce-hero h1 .hl{color:var(--amber);}
.ce-hero .lead{font-size:18px;line-height:1.6;color:var(--muted);margin-top:20px;max-width:460px;}
.ce-hero .hero-cta{display:flex;align-items:center;gap:16px;margin-top:32px;}
.ce-hero .fineprint{font-size:13px;color:var(--muted2);margin-top:18px;}
.ce-hero .fineprint strong{color:var(--navy);}
.ce-hero-media{position:relative;}
.ce-hero-media .hero-img{width:100%;height:430px;object-fit:cover;border-radius:16px;box-shadow:0 24px 60px rgba(46,61,79,.18);}
.ce-hero-media .badge-rating{position:absolute;bottom:-22px;left:-22px;background:#fff;border-radius:12px;box-shadow:0 12px 30px rgba(16,24,40,.14);padding:16px 20px;display:flex;align-items:center;gap:13px;}
.ce-hero-media .badge-rating .ic{width:42px;height:42px;border-radius:10px;background:#eaf6ee;display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.ce-hero-media .badge-rating .t{display:block;font-size:15px;font-weight:700;color:var(--navy);}
.ce-hero-media .badge-rating .s{display:block;font-size:12.5px;color:var(--muted2);}
.ce-hero-media .badge-uk{position:absolute;top:-18px;right:-10px;background:var(--navy);color:#fff;border-radius:50%;width:96px;height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 12px 26px rgba(46,61,79,.3);transform:rotate(-8deg);}
.ce-hero-media .badge-uk .a{font-size:11px;color:#aeb8c2;}
.ce-hero-media .badge-uk .flag{display:block;width:38px;height:19px;border-radius:2px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.35);margin-bottom:6px;}
.ce-hero-media .badge-uk .flag svg{display:block;width:100%;height:100%;}
.ce-hero-media .badge-uk .b{font-size:15px;font-weight:700;line-height:1;}
.ce-hero-media .badge-uk .c{font-size:10px;color:var(--amber);font-weight:600;margin-top:2px;}

/* ============================================================
   BUTTONS
   ============================================================ */
.ce-btn-amber{background:var(--amber);color:var(--navy);font-size:16px;font-weight:700;padding:16px 28px;border-radius:9px;display:inline-flex;align-items:center;gap:10px;transition:background .15s,box-shadow .15s;}
.ce-btn-amber:hover{background:var(--amber-dark);color:var(--navy);box-shadow:0 8px 20px rgba(240,165,0,.32);}
.ce-btn-navy{background:var(--navy);color:#fff;font-weight:700;font-size:15px;padding:14px 26px;border-radius:9px;display:inline-flex;align-items:center;gap:9px;transition:background .15s;}
.ce-btn-navy:hover{background:var(--ink);color:#fff;}
.ce-text-link{color:var(--navy);font-weight:600;font-size:15px;border-bottom:2px solid #cfd6dd;padding-bottom:3px;}
.ce-text-link:hover{color:var(--amber);border-color:var(--amber);}

/* ============================================================
   USP STRIP
   ============================================================ */
.ce-usp{background:#fff;border-bottom:1px solid var(--line);}
.ce-usp .ce-container{padding-top:20px;padding-bottom:20px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.ce-usp .usp{display:flex;align-items:center;gap:13px;}
.ce-usp .usp .t{display:block;font-size:14px;font-weight:700;color:var(--navy);}
.ce-usp .usp .s{display:block;font-size:12.5px;color:var(--muted2);}

/* ============================================================
   SECTION HELPERS
   ============================================================ */
.ce-section{max-width:1280px;margin:0 auto;padding:48px 28px;}
.ce-kicker{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--amber);}
.ce-sec-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px;gap:20px;}
.ce-sec-head h2{font-size:32px;font-weight:700;color:var(--navy);margin-top:8px;letter-spacing:-.01em;}
.ce-viewall{color:var(--blue);font-weight:600;font-size:15px;display:flex;align-items:center;gap:7px;white-space:nowrap;}
.ce-viewall:hover{color:var(--amber);}

/* ============================================================
   CATEGORY TILES
   ============================================================ */
.ce-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.ce-cat{position:relative;border-radius:14px;overflow:hidden;height:240px;display:block;box-shadow:var(--shadow);transition:transform .25s;}
.ce-cat:hover{transform:translateY(-4px);}
.ce-cat .ce-cat-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .25s;background:var(--navy);}
.ce-cat:hover .ce-cat-img{transform:scale(1.06);}
.ce-cat .ovl{position:absolute;inset:0;background:linear-gradient(120deg,rgba(38,51,63,.82) 0%,rgba(38,51,63,.25) 70%);}
.ce-cat.amber .ovl{background:linear-gradient(120deg,rgba(240,165,0,.92) 0%,rgba(240,165,0,.45) 70%);}
.ce-cat .body{position:absolute;inset:0;padding:26px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;}
.ce-cat .ck{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#f0c873;}
.ce-cat.amber .body{color:var(--navy);}
.ce-cat.amber .ck{color:var(--navy);font-weight:700;}
.ce-cat .ctitle{font-size:24px;font-weight:700;margin-top:4px;}
.ce-cat .cfrom{font-size:14px;color:#dfe5eb;margin-top:2px;}
.ce-cat.amber .cfrom{color:#5b4a13;}
.ce-cat .cshop{margin-top:14px;display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--amber);}
.ce-cat.amber .cshop{color:var(--navy);}

/* ============================================================
   PRODUCT GRID (custom + WooCommerce loop)
   ============================================================ */
.ce-products,
ul.products,
.woocommerce ul.products,
.woocommerce-page ul.products{
  display:grid !important;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
  margin:0;
  padding:0;
  list-style:none;
}
/* Kill WooCommerce's clearfix pseudo-elements — as a grid they'd each
   occupy a cell and shove the real products out of alignment. */
.ce-products::before,.ce-products::after,
ul.products::before,ul.products::after,
.woocommerce ul.products::before,.woocommerce ul.products::after,
.woocommerce-page ul.products::before,.woocommerce-page ul.products::after{
  content:none !important;display:none !important;
}
.ce-prodcard,
ul.products li.product,
.woocommerce ul.products li.product{
  background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;
  margin:0 !important;width:auto !important;float:none !important;clear:none !important;text-align:left;
  display:flex;flex-direction:column;
  transition:box-shadow .18s,transform .18s;position:relative;
}
.ce-prodcard:hover,
.woocommerce ul.products li.product:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px);}
.ce-prodcard .media{position:relative;}
.ce-prodcard .media .ce-img{width:100%;height:210px;object-fit:cover;background:var(--bg-soft);}
.woocommerce ul.products li.product a img{margin:0 0 0;border-radius:0;}
.woocommerce ul.products li.product{padding:0;}
.woocommerce ul.products li.product>a{display:block;}
.woocommerce ul.products li.product .woocommerce-loop-product__link{padding:0;}
.woocommerce ul.products li.product img{height:210px;object-fit:cover;width:100%;}
ul.products li.product img{height:210px;object-fit:cover;width:100%;background:var(--bg-soft);display:block;}
/* equal-height cards even when a product has no image */
ul.products li.product>a:first-child,
.woocommerce ul.products li.product>a.woocommerce-loop-product__link{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;}
.woocommerce ul.products li.product>a.woocommerce-loop-product__link .price{margin-top:auto;padding-top:10px;}
.woocommerce ul.products li.product>a.woocommerce-loop-product__link::before{content:"";display:none;}

.ce-badge{position:absolute;top:12px;left:12px;font-size:11px;font-weight:700;padding:4px 9px;border-radius:5px;z-index:2;}
.ce-badge.amber{background:var(--amber);color:var(--navy);}
.ce-badge.green{background:var(--green);color:#fff;}
.woocommerce ul.products li.product .onsale{position:absolute;top:12px;left:12px;right:auto;margin:0;background:var(--green);color:#fff;border-radius:5px;font-size:11px;font-weight:700;min-height:auto;min-width:auto;padding:4px 9px;line-height:1.3;}

.ce-prodcard .info{padding:16px;}
.woocommerce ul.products li.product .info,
.woocommerce ul.products li.product>a:not(.button){padding:0;}
.ce-eyebrow-cat{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted2);}
.ce-prodcard h3,
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:14.5px;font-weight:600;color:var(--ink);margin:7px 0 0;line-height:1.4;padding:0;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:0 16px;}
.ce-stars{display:flex;align-items:center;gap:6px;margin-top:9px;}
.ce-stars .s{color:var(--amber);font-size:13px;letter-spacing:1px;}
.ce-stars .s .empty{color:#d8dce0;}
.ce-stars .n{font-size:12px;color:var(--muted2);}
.ce-price,
.woocommerce ul.products li.product .price{margin-top:10px;font-size:18px;font-weight:700;color:var(--blue) !important;display:block;}
.woocommerce ul.products li.product .price{padding:0 16px 0;}
.ce-price .range{font-size:13px;font-weight:500;color:var(--muted2);}
.woocommerce ul.products li.product .price del{color:var(--muted2);font-weight:500;font-size:14px;}
.woocommerce ul.products li.product .price ins{text-decoration:none;color:var(--blue);}

.ce-quickadd{position:absolute;bottom:12px;left:12px;right:12px;background:var(--navy);color:#fff;font-weight:700;font-size:13.5px;padding:11px;border-radius:8px;opacity:0;transform:translateY(8px);transition:.18s;z-index:2;text-align:center;}
.ce-prodcard:hover .ce-quickadd{opacity:1;transform:translateY(0);}

/* WooCommerce add-to-cart button on loop */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{
  display:block;margin:12px 16px 16px;background:var(--navy);color:#fff;border-radius:8px;
  font-weight:700;font-size:13.5px;padding:11px;text-align:center;transition:background .15s;
}
.woocommerce ul.products li.product .button:hover{background:var(--amber);color:var(--navy);}

/* ============================================================
   FAMILY / FEATURES BAND
   ============================================================ */
.ce-band{background:var(--bg-soft);margin-top:56px;}
.ce-band .ce-container{padding-top:56px;padding-bottom:56px;}
.ce-center{text-align:center;max-width:680px;margin:0 auto 40px;}
.ce-center h2{font-size:30px;font-weight:700;color:var(--navy);margin-top:10px;letter-spacing:-.01em;}
.ce-center p{font-size:16px;line-height:1.65;color:var(--muted);margin-top:14px;}
.ce-features{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.ce-feature{background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px;}
.ce-feature .ic{width:52px;height:52px;border-radius:13px;background:#fff5dd;display:flex;align-items:center;justify-content:center;}
.ce-feature h3{font-size:18px;font-weight:700;color:var(--navy);margin-top:18px;}
.ce-feature p{font-size:14.5px;line-height:1.6;color:var(--muted);margin-top:8px;}

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.ce-testimonials{background:var(--navy);}
.ce-testimonials .ce-container{padding-top:56px;padding-bottom:56px;}
.ce-testimonials .head{text-align:center;margin-bottom:38px;}
.ce-testimonials .head h2{font-size:30px;font-weight:700;color:#fff;margin-top:10px;}
.ce-tcards{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.ce-tcard{background:#34424f;border:1px solid #3f4e5c;border-radius:16px;padding:32px;}
.ce-tcard .stars{color:var(--amber);font-size:16px;letter-spacing:2px;}
.ce-tcard p{font-size:17px;line-height:1.6;color:#eef2f6;margin-top:16px;}
.ce-tcard .who{display:flex;align-items:center;gap:13px;margin-top:24px;}
.ce-tcard .who .ava{width:48px;height:48px;border-radius:50%;background:#46566580 url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23aeb8c2"><circle cx="12" cy="8" r="4"/><path d="M4 21a8 8 0 0 1 16 0z"/></svg>') center/26px no-repeat;flex:0 0 auto;}
.ce-tcard .who .n{display:block;font-size:15px;font-weight:700;color:#fff;}
.ce-tcard .who .r{display:block;font-size:13px;color:#aeb8c2;}

/* ============================================================
   BRANDS
   ============================================================ */
.ce-brands{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;}
.ce-brands .brand{height:74px;background:var(--bg-soft);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--muted2);font-weight:700;font-size:13px;}
.ce-brands .brand img{max-height:48px;width:auto;filter:grayscale(1);opacity:.75;transition:.2s;}
.ce-brands .brand:hover img{filter:none;opacity:1;}

/* ============================================================
   NEWSLETTER
   ============================================================ */
.ce-newsletter{max-width:1280px;margin:0 auto 56px;padding:0 28px;}
.ce-newsletter .box{background:linear-gradient(120deg,#f0a500 0%,#f5b82e 100%);border-radius:20px;padding:44px 48px;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;}
.ce-newsletter h2{font-size:28px;font-weight:700;color:var(--navy);letter-spacing:-.01em;}
.ce-newsletter .box>div{max-width:520px;}
.ce-newsletter p{font-size:15.5px;color:#5b4a13;margin-top:10px;}
.ce-newsletter .box > form{display:flex;gap:10px;flex:1;min-width:320px;max-width:440px;}
.ce-newsletter .box > form input{flex:1;min-width:0;border:none;border-radius:9px;padding:15px 18px;font-family:inherit;font-size:15px;color:var(--ink);outline:none;}
.ce-newsletter .box > form .ce-btn-navy{flex:0 0 auto;white-space:nowrap;padding:14px 24px;}
.ce-news-embed{flex:1;min-width:280px;max-width:460px;}
/* Contact Form 7 newsletter form — match the inline email + button style.
   The form is a wrapping flex row: email + button on the first line, and the
   response/validation message wraps to its own full-width line below. */
.ce-news-embed .wpcf7{margin:0;}
.ce-news-embed .wpcf7-form{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0;width:100%;}
.ce-news-embed .wpcf7-form > p,
.ce-news-embed .wpcf7-form .ce-news-row{display:flex;gap:10px;margin:0;align-items:center;flex-wrap:nowrap;flex:1 1 100%;}
.ce-news-embed input.wpcf7-form-control.wpcf7-email,
.ce-news-embed input[type=email]{flex:1;min-width:0;border:none;border-radius:9px;padding:15px 18px;font-family:inherit;font-size:15px;color:var(--ink);outline:none;}
.ce-news-embed input.wpcf7-submit,
.ce-news-embed input[type=submit]{flex:0 0 auto;white-space:nowrap;background:var(--navy);color:#fff;font-weight:700;font-size:15px;padding:14px 24px;border:none;border-radius:9px;cursor:pointer;transition:background .15s;width:auto;}
.ce-news-embed input.wpcf7-submit:hover,
.ce-news-embed input[type=submit]:hover{background:var(--ink);}
.ce-news-embed .wpcf7-spinner{flex:0 0 auto;margin:0 0 0 4px;}
.ce-news-embed .wpcf7-response-output{flex:1 1 100%;width:100%;margin:14px 0 0 !important;padding:11px 15px !important;border-radius:9px;background:rgba(255,255,255,.85);border:1px solid rgba(46,61,79,.18) !important;color:var(--navy);font-size:14px;line-height:1.45;text-align:left;}
.ce-news-embed .wpcf7-not-valid-tip{color:#9a1f1c;font-size:13px;margin-top:4px;}

/* ============================================================
   FOOTER
   ============================================================ */
.ce-footer{background:var(--nav-dark);color:#aeb8c2;}
.ce-footer .cols{max-width:1280px;margin:0 auto;padding:54px 28px 30px;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;}
.ce-footer .brandcol .row{display:flex;align-items:center;gap:11px;}
.ce-footer .brandcol .mark{width:40px;height:40px;border-radius:50%;background:var(--amber);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.ce-footer .brandcol .name{font-size:18px;font-weight:700;color:#fff;}
.ce-footer .brandcol p{font-size:14px;line-height:1.65;margin-top:18px;max-width:300px;}
.ce-footer .socials{display:flex;gap:10px;margin-top:20px;}
.ce-footer .socials a{width:36px;height:36px;border-radius:8px;background:#34424f;display:flex;align-items:center;justify-content:center;transition:background .15s;}
.ce-footer .socials a:hover{background:var(--amber);}
.ce-footer h4{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;margin-bottom:16px;}
.ce-footer .flinks{display:flex;flex-direction:column;gap:11px;font-size:14px;}
.ce-footer .flinks a{color:#aeb8c2;}
.ce-footer .contact{display:flex;flex-direction:column;gap:12px;font-size:14px;}
.ce-footer .contact span{display:flex;align-items:flex-start;gap:9px;}
.ce-footer .bottom{border-top:1px solid #34424f;}
.ce-footer .bottom .ce-container{padding-top:20px;padding-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.ce-footer .copyright{font-size:13px;color:var(--muted2);}
.ce-pay{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.ce-pay span{background:#fff;border-radius:5px;padding:5px 9px;font-size:11px;font-weight:800;line-height:1;}
.ce-pay span span{font-size:inherit;font-weight:inherit;background:none;padding:0;border-radius:0;}

/* footer widgets (optional) */
.ce-footer .widget{margin-bottom:24px;}
.ce-footer .widget-title{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;margin-bottom:16px;}
.ce-footer .widget ul li{margin-bottom:10px;font-size:14px;}

/* ============================================================
   GENERIC CONTENT (pages, posts, WooCommerce)
   ============================================================ */
.ce-main{min-height:40vh;}
.ce-page{max-width:1280px;margin:0 auto;padding:48px 28px;}
.ce-page-narrow{max-width:820px;}
.ce-page h1.entry-title,.ce-page .page-title{font-size:34px;font-weight:700;color:var(--navy);margin-bottom:8px;letter-spacing:-.01em;}
.ce-page .entry-content{font-size:16px;line-height:1.7;color:var(--ink);}
.ce-page .entry-content h2{font-size:24px;font-weight:700;color:var(--navy);margin:28px 0 10px;}
.ce-page .entry-content p{margin:0 0 16px;}
.ce-page .entry-content a{color:var(--blue);}
.ce-page .entry-content a:hover{color:var(--amber);}
.ce-breadcrumb,.woocommerce-breadcrumb{font-size:13px;color:var(--muted2);margin-bottom:18px;}
.ce-breadcrumb a,.woocommerce-breadcrumb a,
.woocommerce .woocommerce-breadcrumb a,
body.woocommerce-page .woocommerce-breadcrumb a{color:var(--blue) !important;text-decoration:none;}
.ce-breadcrumb a:hover,.woocommerce-breadcrumb a:hover,
.woocommerce .woocommerce-breadcrumb a:hover{color:var(--amber) !important;}

/* shop layout */
.ce-shop{max-width:1280px;margin:0 auto;padding:36px 28px 56px;}
/* Safety net: guarantee outer padding on WooCommerce pages even if the
   .ce-shop content wrapper is missing on a given template, and prevent
   double-padding when it (or .ce-page) IS present. WooCommerce pages never
   contain full-bleed sections, so padding #content here is safe. */
body.woocommerce #content.ce-main,
body.woocommerce-page #content.ce-main{
  max-width:1336px;margin:0 auto;padding:8px 28px 56px;box-sizing:border-box;
}
body.woocommerce #content.ce-main .ce-shop,
body.woocommerce #content.ce-main .ce-page,
body.woocommerce-page #content.ce-main .ce-shop,
body.woocommerce-page #content.ce-main .ce-page{
  max-width:none;margin-left:0;margin-right:0;padding-left:0;padding-right:0;
}
.woocommerce .woocommerce-result-count{color:var(--muted);font-size:14px;}
.woocommerce .woocommerce-ordering select{border:1px solid var(--line2);border-radius:8px;padding:8px 10px;font-family:inherit;}
.woocommerce-products-header__title,.woocommerce .page-title{font-size:32px;font-weight:700;color:var(--navy);letter-spacing:-.01em;}

/* single product */
.woocommerce div.product .product_title{font-size:30px;font-weight:700;color:var(--navy);}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--blue);font-weight:700;font-size:26px;}
.woocommerce div.product form.cart .button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
  background:var(--amber);color:var(--navy);border-radius:8px;font-weight:700;
  padding:13px 22px;font-size:15px;border:none;transition:background .15s,box-shadow .15s;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,.woocommerce div.product form.cart .button:hover{
  background:var(--amber-dark);color:var(--navy);box-shadow:0 8px 20px rgba(240,165,0,.3);
}
/* "alt" buttons (Proceed to checkout, Place order, etc.) — override WooCommerce's default purple */
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce #place_order{
  background:var(--amber);color:var(--navy);border:none;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce #place_order:hover{
  background:var(--amber-dark);color:var(--navy);
}
.woocommerce span.onsale{background:var(--green);color:#fff;border-radius:6px;font-weight:700;}
.woocommerce .star-rating span{color:var(--amber);}
/* loop star rating — align to card text inset + give breathing room */
.woocommerce ul.products li.product .star-rating{
  margin:9px 16px 0 !important;font-size:14px;width:5.4em;color:var(--amber);float:none;
}
.woocommerce ul.products li.product .star-rating::before{color:#d8dce0;}
.woocommerce ul.products li.product .star-rating span::before{color:var(--amber);}
.woocommerce-tabs ul.tabs li.active{border-bottom-color:var(--amber);}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--navy);}

/* notices */
.woocommerce-message,.woocommerce-info{border-top-color:var(--amber);}
.woocommerce-message::before,.woocommerce-info::before{color:var(--amber);}
.woocommerce-error{border-top-color:#d63638;}

/* cart / checkout buttons reuse above */
.woocommerce-cart table.cart img{max-width:64px;border-radius:6px;}
.woocommerce a.added_to_cart{margin-left:10px;}

/* posts grid */
.ce-posts{max-width:1280px;margin:0 auto;padding:48px 28px;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.ce-post{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:box-shadow .18s,transform .18s;}
.ce-post:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px);}
.ce-post img{width:100%;height:200px;object-fit:cover;}
.ce-post .pbody{padding:20px;}
.ce-post .pmeta{font-size:12px;color:var(--muted2);text-transform:uppercase;letter-spacing:.06em;}
.ce-post h2{font-size:19px;font-weight:700;color:var(--navy);margin-top:8px;line-height:1.35;}
.ce-post p{font-size:14.5px;color:var(--muted);margin-top:10px;line-height:1.6;}

/* pagination */
.ce-pagination{display:flex;justify-content:center;gap:8px;padding:40px 0;}
.ce-pagination a,.ce-pagination span{padding:9px 14px;border:1px solid var(--line2);border-radius:8px;color:var(--navy);font-weight:600;}
.ce-pagination .current{background:var(--navy);color:#fff;border-color:var(--navy);}
.woocommerce nav.woocommerce-pagination ul{border:none;}
.woocommerce nav.woocommerce-pagination ul li{border:none;margin:0 4px;}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{
  border:1px solid var(--line2);border-radius:8px;color:var(--navy);font-weight:600;padding:9px 14px;
}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--navy);color:#fff;border-color:var(--navy);}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1024px){
  .ce-products,.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(3,1fr);}
  .ce-hero h1{font-size:48px;}
}
@media (max-width:900px){
  .ce-topbar .tb-ship{display:none;}
  .ce-nav .nav-hours{display:none;}
  .ce-hero .ce-container{grid-template-columns:1fr;}
  .ce-hero-media{order:-1;}
  .ce-usp .ce-container{grid-template-columns:repeat(2,1fr);}
  .ce-cats{grid-template-columns:1fr;}
  .ce-features{grid-template-columns:1fr;}
  .ce-tcards{grid-template-columns:1fr;}
  .ce-footer .cols{grid-template-columns:1fr 1fr;}
  .ce-posts{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:760px){
  .ce-header .ce-container{flex-wrap:wrap;gap:14px;align-items:center;}
  .ce-logo{flex:1 1 auto;min-width:0;margin-right:auto;}
  .ce-logo .wordmark{min-width:0;}
  .ce-logo .wordmark .name{font-size:18px;}
  .ce-logo .wordmark .tag{display:none;}
  .ce-logo img,.ce-logo .custom-logo{max-height:42px;}
  .ce-searchform{order:3;flex-basis:100%;height:46px;}
  /* compact actions: icon-only account + basket, then burger */
  .ce-actions{margin-left:auto;flex:0 0 auto;gap:12px;align-items:center;}
  .ce-actions .act-account span{display:none;}
  .ce-cart{padding:0;background:none;gap:0;}
  .ce-cart .cart-meta{display:none;}
  .ce-cart .cart-ic svg{stroke:var(--navy);}
  .ce-cart .cart-count{background:var(--amber);color:var(--navy);}
  .ce-burger{display:flex;}
  .ce-nav{display:none;}
  .ce-nav.open{display:block;}
  .ce-nav .ce-container{flex-direction:column;align-items:stretch;height:auto;padding-top:8px;padding-bottom:12px;}
  .ce-nav .all-products{margin:8px 0;}
  .ce-menu{flex-direction:column;align-items:stretch;}
  .ce-menu a{padding:12px 6px;}
  .ce-menu a::after{display:none;}
  .ce-menu ul.sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;background:transparent;padding-left:16px;}
  .ce-menu ul.sub-menu a{color:#cdd5de;}
  .ce-products,.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,1fr);}
  .ce-hero h1{font-size:38px;}
  .ce-usp .ce-container{grid-template-columns:1fr;}
  .ce-footer .cols{grid-template-columns:1fr;}
  .ce-posts{grid-template-columns:1fr;}
  .ce-newsletter .box{padding:30px 26px;}
  .ce-newsletter form{min-width:0;width:100%;max-width:none;flex-direction:column;}
  .ce-newsletter form .ce-btn-navy{width:100%;justify-content:center;padding:15px;}
  /* CF7 newsletter form: stack on mobile too */
  .ce-news-embed{width:100%;max-width:none;}
  .ce-news-embed .wpcf7-form > p,
  .ce-news-embed .wpcf7-form .ce-news-row{flex-direction:column;align-items:stretch;}
  .ce-news-embed input.wpcf7-submit,
  .ce-news-embed input[type=submit]{width:100%;}
  /* topbar tidy */
  .ce-topbar .ce-container{gap:10px;}
  .ce-topbar .tb-right{gap:10px;font-size:12px;}
  .ce-topbar .tb-right .cur{display:none;}
  .ce-topbar .tb-call{font-size:12px;}
  /* hero 'MADE in Kent' badge — smaller and kept within the image */
  .ce-hero-media .badge-uk{width:78px;height:78px;top:-8px;right:6px;}
  .ce-hero-media .badge-uk .b{font-size:13px;}
  .ce-hero-media .badge-uk .c{font-size:9px;}
  .ce-hero-media .badge-uk .flag{width:30px;height:15px;margin-bottom:4px;}
  .ce-hero-media .badge-rating{left:8px;bottom:-16px;padding:12px 16px;}
}
@media (max-width:480px){
  .ce-products,.woocommerce ul.products{grid-template-columns:1fr 1fr;}
  .ce-container,.ce-section,.ce-page,.ce-shop{padding-left:16px;padding-right:16px;}
  body.woocommerce #content.ce-main,body.woocommerce-page #content.ce-main{padding-left:16px;padding-right:16px;}
  /* topbar: keep only the phone, centered (account/help live in header + menu) */
  .ce-topbar .tb-right{display:none;}
  .ce-topbar .ce-container{justify-content:center;}
  .ce-topbar .tb-call{font-size:12.5px;}
  /* header actions a touch tighter so logo + basket + menu sit comfortably */
  .ce-actions{gap:14px;}
  .ce-cart{padding:9px 13px;}
  /* footer payment strip: wrap + centre so it never forces page width */
  .ce-footer .bottom .ce-container{justify-content:center;text-align:center;}
  .ce-pay{justify-content:center;width:100%;}
}

/* ============================================================
   SINGLE PRODUCT PAGE
   ============================================================ */
.single-product div.product{
  display:flex;flex-wrap:wrap;align-items:flex-start;gap:48px;
  margin:0 0 8px;position:relative;
}
.single-product div.product .woocommerce-product-gallery{
  width:46% !important;margin:0 !important;float:none !important;overflow:hidden;
  background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 14px 16px !important;box-sizing:border-box;
}
.single-product div.product .summary{
  width:calc(54% - 48px) !important;margin:0 !important;float:none !important;clear:none;
}
.single-product div.product .woocommerce-product-gallery__wrapper{margin:0;}
.single-product div.product .woocommerce-product-gallery__image{margin:0;}
.single-product div.product .woocommerce-product-gallery__image img{border-radius:10px;width:100%;height:auto;background:#fff;}
.single-product div.product .woocommerce-product-gallery .flex-viewport{border-radius:10px;overflow:hidden;background:#fff;}
.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger{top:24px;right:24px;}
/* Thumbnail strip — FlexSlider positions this absolutely by default. Force it
   fully into normal flow (reset every inset) so it reserves vertical space and
   never overlaps the image or, on stacked mobile layouts, the product title. */
.single-product div.product ol.flex-control-nav,
.single-product div.product .flex-control-thumbs{
  position:static !important;inset:auto !important;top:auto !important;right:auto !important;bottom:auto !important;left:auto !important;
  display:flex;flex-wrap:wrap;gap:10px;padding:0;
  margin:14px 0 2px !important;list-style:none;width:auto !important;height:auto !important;overflow:visible !important;
}
.single-product div.product .flex-control-thumbs li{width:76px;height:76px;margin:0 !important;float:none;}
.single-product div.product .flex-control-thumbs img{
  width:100%;height:100%;display:block;border-radius:8px;border:1px solid var(--line2);opacity:.7;transition:.15s;object-fit:cover;
}
.single-product div.product .flex-control-thumbs img:hover,
.single-product div.product .flex-control-thumbs .flex-active img{opacity:1;border-color:var(--amber);}
.single-product div.product .onsale{position:absolute;top:14px;left:14px;z-index:5;}

/* summary blocks */
.single-product .summary{display:flex;flex-direction:column;}
.single-product .summary .product_title{margin-bottom:10px;}
.single-product .summary>.price{margin-bottom:18px;}
.single-product .summary .woocommerce-product-rating{margin-bottom:14px;}
.single-product .summary .woocommerce-product-details__short-description{
  color:var(--muted);line-height:1.7;margin-bottom:20px;font-size:15.5px;
}
.single-product .summary .woocommerce-product-details__short-description ul{
  list-style:disc;padding-left:18px;margin:0 0 6px;
}
.single-product .summary form.cart{margin:0 0 20px;display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px;}
.single-product .summary form.cart.variations_form{display:block;}
.single-product .summary form.cart .quantity{margin:0;}
.single-product .summary table.variations{margin:0 0 18px;width:100%;border:none;border-collapse:collapse;}
.single-product .summary table.variations tr{display:flex;flex-wrap:wrap;align-items:center;gap:12px;}
.single-product .summary table.variations td,
.single-product .summary table.variations th{padding:6px 0;vertical-align:middle;border:none;background:none;}
.single-product .summary table.variations th.label{width:auto;min-width:64px;font-weight:700;color:var(--navy);}
.single-product .summary table.variations td.value{flex:1;display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.single-product .summary table.variations select{
  border:1px solid var(--line2);border-radius:8px;padding:11px 12px;font-family:inherit;font-size:15px;
  min-width:200px;max-width:280px;background:#fff;
}
.single-product .summary .reset_variations{font-size:13px;color:var(--muted2);white-space:nowrap;}
/* purchase box — groups variation price, stock and add-to-cart cleanly */
.single-product .summary .single_variation_wrap{
  background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin:2px 0 4px;
}
.single-product .summary .single_variation{margin-bottom:14px;}
.single-product .summary .single_variation .price{font-size:26px;color:var(--blue);font-weight:700;margin:0;line-height:1.1;}
.single-product .summary .woocommerce-variation-availability .stock{color:var(--green);font-size:14px;font-weight:600;margin-top:6px;}
.single-product .summary .woocommerce-variation-add-to-cart{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0;}
.single-product .summary .stock{color:var(--green);font-weight:600;}
.single-product .summary .product_meta{
  font-size:13px;color:var(--muted2);margin-top:20px;padding-top:16px;border-top:1px solid var(--line);
}
.single-product .summary .product_meta a{color:var(--blue);}
.woocommerce .quantity input.qty{
  border:1px solid var(--line2);border-radius:8px;padding:12px 8px;width:72px;font-family:inherit;font-size:15px;text-align:center;
}

/* tabs — full width below the two columns */
.woocommerce div.product .woocommerce-tabs{width:100%;clear:both;margin-top:44px;padding-top:8px;}
.woocommerce div.product .woocommerce-tabs ul.tabs{
  padding:0;margin:0 0 0;border-bottom:1px solid var(--line2);display:flex;flex-wrap:wrap;gap:2px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:transparent;border:none;border-radius:0;margin:0;padding:0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  display:block;padding:13px 20px;font-weight:600;font-size:15px;color:var(--muted);border-bottom:2px solid transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{color:var(--navy);border-bottom-color:var(--amber);}
.woocommerce div.product .woocommerce-tabs .panel{
  max-width:820px;padding:28px 0 8px;color:var(--ink);line-height:1.75;font-size:15.5px;margin:0;
}
.woocommerce div.product .woocommerce-tabs .panel>h2:first-child{
  font-size:26px;color:var(--navy);font-weight:700;margin:0 0 16px;letter-spacing:-.01em;
}
.woocommerce div.product .woocommerce-tabs .panel>p:first-of-type{font-size:17px;color:var(--ink);}
.woocommerce div.product .woocommerce-tabs .panel h3,
.woocommerce div.product .woocommerce-tabs .panel h4{
  font-size:17px;color:var(--navy);font-weight:700;margin:22px 0 6px;
}
.woocommerce div.product .woocommerce-tabs .panel p{margin:0 0 14px;}
.woocommerce div.product .woocommerce-tabs .panel ul,
.woocommerce div.product .woocommerce-tabs .panel ol{padding-left:20px;margin:0 0 14px;}
.woocommerce table.shop_attributes{border:1px solid var(--line);border-radius:8px;overflow:hidden;}
.woocommerce table.shop_attributes th{background:var(--bg-soft);color:var(--navy);}

/* related / upsells */
.woocommerce .related,
.woocommerce .upsells{clear:both;width:100%;margin-top:40px;padding-top:40px;border-top:1px solid var(--line);}
.woocommerce .related>h2,
.woocommerce .upsells>h2{
  font-size:28px;color:var(--navy);font-weight:700;margin:0 0 24px;letter-spacing:-.01em;
}

@media (max-width:900px){
  .single-product div.product{flex-direction:column;gap:24px;}
  .single-product div.product .woocommerce-product-gallery,
  .single-product div.product .summary{width:100% !important;}
}

/* ============================================================
   WOOCOMMERCE FORMS (global)
   ============================================================ */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce #order_comments{
  border:1px solid var(--line2);border-radius:8px;padding:12px;font-family:inherit;font-size:15px;line-height:1.3;color:var(--ink);
}
.woocommerce .select2-container--default .select2-selection--single{
  border:1px solid var(--line2);border-radius:8px;font-family:inherit;font-size:15px;color:var(--ink);
}
/* Native selects (incl. WooCommerce country/state, variation dropdowns):
   give a fixed height, vertically centered text, and a custom arrow so the
   label never looks clipped. */
.woocommerce form .form-row select,
.woocommerce select,
.single-product .summary table.variations select{
  -webkit-appearance:none;-moz-appearance:none;appearance:none;
  height:46px;line-height:1.2;padding:0 40px 0 12px;
  border:1px solid var(--line2);border-radius:8px;background-color:#fff;color:var(--ink);
  font-family:inherit;font-size:15px;box-sizing:border-box;cursor:pointer;
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="%236b7682" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"/></svg>');
  background-repeat:no-repeat;background-position:right 14px center;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce select:focus{border-color:var(--navy);box-shadow:0 0 0 2px rgba(46,61,79,.12);outline:none;}
.select2-container .select2-selection--single{height:46px;}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:44px;padding-left:8px;color:var(--ink);}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:44px;right:10px;}
.woocommerce form .form-row label{font-weight:600;color:var(--navy);font-size:14px;margin-bottom:6px;display:inline-block;}

/* ============================================================
   CART
   ============================================================ */
.woocommerce-cart table.shop_table,
.woocommerce-checkout table.shop_table{
  border:1px solid var(--line);border-radius:12px;border-collapse:separate;border-spacing:0;overflow:hidden;
}
.woocommerce table.shop_table th{background:var(--bg-soft);color:var(--navy);font-weight:700;padding:14px 16px;text-align:left;border:none;}
.woocommerce table.shop_table td{padding:16px;border-top:1px solid var(--line);vertical-align:middle;}
.woocommerce-cart table.cart td.product-name a{color:var(--navy);font-weight:600;}
.woocommerce-cart table.cart td.product-name a:hover{color:var(--amber);}
.woocommerce-cart table.cart img{max-width:72px;border-radius:8px;}
.woocommerce a.remove{color:var(--muted2)!important;border:1px solid var(--line2);line-height:24px;height:24px;width:24px;}
.woocommerce a.remove:hover{background:#d63638!important;color:#fff!important;border-color:#d63638;}
.woocommerce .cart .actions .coupon .input-text{width:180px;margin-right:8px;height:46px;}
.woocommerce-cart .cart-collaterals{display:flex;justify-content:flex-end;margin-top:28px;}
.woocommerce-cart .cart-collaterals .cart_totals{
  width:420px;max-width:100%;float:none;background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px 22px 22px;
}
.woocommerce-cart .cart_totals h2{font-size:20px;color:var(--navy);font-weight:700;margin:18px 0 8px;}
.woocommerce-cart .cart_totals table{border:none;}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td{padding:13px 0;border-top:1px solid var(--line);background:none;}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{display:block;text-align:center;font-size:16px;padding:15px;margin-top:12px;}

/* ============================================================
   CHECKOUT
   ============================================================ */
/* Two-column checkout: all address/billing fields on the LEFT,
   order summary + payment on the RIGHT. */
.woocommerce-checkout form.checkout.woocommerce-checkout{
  display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:start;
}
.woocommerce-checkout form.checkout #customer_details{grid-column:1;grid-row:1 / span 2;}
.woocommerce-checkout form.checkout #order_review_heading{grid-column:2;grid-row:1;}
.woocommerce-checkout form.checkout #order_review{grid-column:2;grid-row:2;position:sticky;top:20px;}
/* billing + shipping stack within the left column */
.woocommerce-checkout #customer_details .col2-set{display:block;width:auto;}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{width:auto;float:none;margin-bottom:8px;}
.woocommerce-checkout h3{font-size:20px;color:var(--navy);font-weight:700;margin-bottom:14px;}
.woocommerce-checkout #order_review_heading{margin:0 0 14px;}
.woocommerce-checkout #order_review{background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px 22px 22px;}
.woocommerce-checkout #order_review table.shop_table{border:none;}
.woocommerce-checkout #payment{background:var(--bg-soft);border-radius:10px;}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--line);}
.woocommerce #payment #place_order,
.woocommerce-checkout #place_order{width:100%;font-size:16px;padding:16px;margin-top:6px;}
@media (max-width:900px){
  .woocommerce-checkout form.checkout.woocommerce-checkout{display:block;}
  .woocommerce-checkout form.checkout #order_review{position:static;margin-top:24px;}
}

/* ============================================================
   MY ACCOUNT
   ============================================================ */
.woocommerce-account.logged-in .woocommerce{display:flex;flex-wrap:wrap;gap:36px;align-items:flex-start;}
.woocommerce-account .woocommerce-MyAccount-navigation{width:240px;flex:0 0 auto;}
.woocommerce-account .woocommerce-MyAccount-navigation ul{border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--line);}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{border-bottom:none;}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:13px 16px;color:var(--ink);font-weight:500;}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--bg-soft);}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--navy);color:#fff;}
.woocommerce-account .woocommerce-MyAccount-content{flex:1;min-width:0;}
.woocommerce form.login,
.woocommerce form.register{border:1px solid var(--line);border-radius:12px;padding:24px;}
.woocommerce-account .col2-set .col-1,
.woocommerce-account .col2-set .col-2{width:auto;}

/* order received / thank-you */
.woocommerce ul.order_details{
  display:flex;flex-wrap:wrap;gap:24px;background:var(--bg-soft);border-radius:12px;padding:22px;list-style:none;margin:0 0 28px;
}
.woocommerce ul.order_details li{border:none;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted2);padding:0;}
.woocommerce ul.order_details li strong{display:block;font-size:18px;color:var(--navy);text-transform:none;letter-spacing:0;margin-top:5px;}

@media (max-width:760px){
  .woocommerce-checkout #customer_details{grid-template-columns:1fr;}
  .woocommerce-cart .cart-collaterals .cart_totals{width:100%;}
  .woocommerce-account.logged-in .woocommerce{flex-direction:column;}
  .woocommerce-account .woocommerce-MyAccount-navigation{width:100%;}
}
