/*
Theme Name: Ham Dealer
Theme URI: https://hamdealer.com
Author: Ham Dealer
Author URI: https://hamdealer.com
Description: Bright, glassmorphism WooCommerce theme built for Ham Dealer — everyday favorites, delivered.
Version: 1.8.0
Requires at least: 6.4
Tested up to: 7.0
Requires PHP: 7.4
License: GPL-2.0+
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: centara
Tags: e-commerce, woocommerce
*/

:root{
  --ink:#16251d;--muted:#68786f;--green:#0d8f5b;--green-dark:#0c6848;--cream:#f7faf3;
  --lime:#b7e66d;--yellow:#ffe6a8;--blue:#dceefe;--line:rgba(20,63,40,.11);
  --card:rgba(255,255,255,.78);--r-lg:28px;--r-md:18px;--r-btn:14px;
  --shadow:0 18px 45px rgba(36,65,48,.07);--shadow-lg:0 30px 70px rgba(28,67,43,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:radial-gradient(circle at 5% 10%,#dff3d8 0,transparent 28%),radial-gradient(circle at 95% 45%,#ffedc4 0,transparent 25%),var(--cream);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Arial,sans-serif;line-height:1.55;font-size:15px}
img{max-width:100%;height:auto}
a{text-decoration:none;color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--green);outline-offset:2px;border-radius:6px}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.screen-reader-text{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:999;border-radius:0 0 10px 0}
.skip-link:focus{left:0}
h1,h2,h3,h4{line-height:1.15;letter-spacing:-.5px}
.serif,.hero-copy h1 em{font-family:Georgia,"Times New Roman",serif;font-weight:400}

/* ---------- layout helpers ---------- */
.wrap{max-width:1220px;margin-left:auto;margin-right:auto;padding-left:18px;padding-right:18px}
.section{margin-top:96px}
.head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:26px}
.head h2{font-size:clamp(26px,3vw,35px);letter-spacing:-1.6px;margin:8px 0 0}
.head small,.eyebrow{font-weight:900;letter-spacing:.17em;color:var(--green);font-size:11px;text-transform:uppercase}
.head>a{font-size:12px;color:var(--green);font-weight:800;white-space:nowrap}
.btn-primary,a.btn-primary{display:inline-block;background:var(--green);color:#fff;border:0;border-radius:var(--r-btn);padding:14px 20px;font-weight:800;font-size:13px;transition:.2s}
.btn-primary:hover{background:var(--green-dark);color:#fff}
.btn-outline,a.btn-outline{display:inline-block;background:rgba(255,255,255,.7);border:1px solid var(--line);color:var(--ink);border-radius:var(--r-btn);padding:14px 20px;font-weight:800;font-size:13px;transition:.2s}
.btn-outline:hover{background:#fff}

/* ---------- announcement + header ---------- */
.promo-bar{min-height:36px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;gap:10px;font-size:12px;padding:4px 12px;text-align:center}
.promo-bar b,.promo-bar a{color:var(--lime);font-weight:800}
.site-header{position:sticky;top:12px;z-index:40;max-width:1184px;width:calc(100% - 36px);margin:16px auto 0;border-radius:24px;padding:0 18px;height:72px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:rgba(255,255,255,.74);border:1px solid rgba(255,255,255,.9);box-shadow:0 18px 50px rgba(36,65,48,.10);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.brand{display:flex;align-items:center;gap:9px;font-size:20px;font-weight:800;white-space:nowrap}
.brand .cmark,.brand img{width:39px;height:39px;border-radius:13px 13px 13px 4px}
.brand .cmark{font-family:Georgia,serif;font-style:normal;display:grid;place-items:center;background:var(--green);color:#fff;font-size:21px}
.brand strong{color:var(--green);font-weight:800}
.main-nav{display:flex;align-items:center}
.main-nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0;font-size:13px;font-weight:700}
.main-nav li{position:relative}
.main-nav li a{padding:26px 0;display:inline-block}
.main-nav li a:hover{color:var(--green)}
.main-nav .sub-menu{position:absolute;left:50%;transform:translateX(-50%) translateY(6px);top:100%;background:rgba(255,255,255,.97);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lg);padding:14px;margin:0;display:none;min-width:230px;z-index:50}
.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{display:grid;grid-template-columns:1fr 1fr;gap:2px;width:480px}
.main-nav .sub-menu li a{padding:10px 12px;border-radius:12px;display:flex;gap:8px;align-items:center;width:100%}
.main-nav .sub-menu li a:hover{background:#eef6ea}
.nav-emoji{font-style:normal}
.header-tools{display:flex;align-items:center;gap:8px}
.tool-btn{position:relative;border:0;background:#edf4ea;border-radius:13px;width:42px;height:42px;display:grid;place-items:center;font-size:17px;color:var(--ink);transition:.2s}
.tool-btn:hover{background:#dfeeda}
.tool-btn .count{position:absolute;top:-5px;right:-5px;background:#ff6c49;color:#fff;border-radius:99px;min-width:17px;height:17px;display:grid;place-items:center;font-size:9px;font-weight:800;padding:0 4px}
.header-search{position:relative}
.header-search form{display:flex;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;height:42px;width:230px;padding:0 12px;transition:width .25s}
.header-search form:focus-within{width:290px}
.header-search input{border:0;outline:0;width:100%;background:none;padding-left:6px;font-size:13px}
.header-search button{border:0;background:none;font-size:15px;color:var(--muted);padding:0}
.menu-toggle{display:none}

/* mobile nav */
@media(max-width:1023px){
  .main-nav{display:none;position:fixed;inset:auto 18px auto 18px;top:130px;background:rgba(255,255,255,.98);border-radius:22px;box-shadow:var(--shadow-lg);padding:16px;z-index:60;max-height:70vh;overflow:auto}
  .main-nav.open{display:block}
  .main-nav ul{flex-direction:column;gap:2px}
  .main-nav li a{padding:11px 10px;width:100%;border-radius:12px}
  .main-nav li a:hover{background:#eef6ea}
  .main-nav .sub-menu{position:static;transform:none;display:block;box-shadow:none;border:0;padding:0 0 0 16px;width:auto!important;grid-template-columns:1fr!important}
  .menu-toggle{display:grid}
  .header-search{display:none}
  .site-header{margin:0;max-width:none;width:auto;top:0;padding:0 18px;border-radius:0 0 24px 24px}
}

/* ---------- hero ---------- */
.hero{margin-top:26px;padding:60px 56px;border-radius:42px;background:linear-gradient(125deg,#e8f7db,#f9fbf2 56%,#e4f4ed);display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;overflow:hidden}
.hero-copy h1{font-size:clamp(42px,5vw,71px);line-height:1;letter-spacing:-3.5px;margin:18px 0}
.hero-copy h1 em{display:block;color:var(--green);font-style:italic}
.hero-copy>p{color:var(--muted);font-size:17px;line-height:1.65;max-width:480px}
.hero-actions{display:flex;gap:12px;margin:26px 0 34px;flex-wrap:wrap}
.trust{display:flex;gap:24px}
.trust span{display:flex;flex-direction:column;font-size:10px;color:var(--muted);padding-right:24px;border-right:1px solid var(--line)}
.trust span:last-child{border:0;padding-right:0}
.trust b{font-size:15px;color:var(--ink);margin-bottom:3px}
.trust .stars{color:#f5b400;letter-spacing:1px}
.hero-art{position:relative}
.hero-art>img{width:100%;height:470px;object-fit:cover;border-radius:45% 45% 22px 22px;border:9px solid rgba(255,255,255,.7);box-shadow:var(--shadow-lg)}
.float{position:absolute;padding:12px 15px;border-radius:16px;background:rgba(255,255,255,.92);box-shadow:0 12px 30px rgba(36,65,48,.15);display:flex;gap:9px;align-items:center}
.float span{display:flex;flex-direction:column;font-size:9px;color:var(--muted)}
.float b{font-size:12px;color:var(--ink);margin-bottom:2px}
.float.top{right:-18px;top:38px}
.float.bottom{left:-22px;bottom:40px}

/* ---------- category cards ---------- */
.cat-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:12px}
.cat-card{border:0;border-radius:22px;padding:16px 6px 14px;background:var(--card);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:7px;align-items:center;text-align:center;transition:.22s}
.cat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.cat-card i{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:28px}
.cat-card b{font-size:11.5px}
.cat-card small{font-size:9px;color:var(--muted)}

/* ---------- deals ---------- */
.deal-grid{display:grid;grid-template-columns:1.45fr .75fr;gap:16px}
.big-deal{background:var(--green-dark);color:#fff;border-radius:31px;overflow:hidden;display:grid;grid-template-columns:1fr 1.05fr;min-height:390px}
.big-deal>div{padding:46px 12px 40px 44px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.big-deal .eyebrow{color:var(--lime)}
.big-deal h2{font-size:clamp(26px,3vw,37px);letter-spacing:-2px;margin:12px 0}
.big-deal p{color:#cde4d8;font-size:12.5px;margin:0 0 18px}
.big-deal img{width:100%;height:100%;object-fit:cover}
.big-deal .btn-white,.small-deals .btn-white{border:0;background:#fff;color:var(--ink);border-radius:12px;padding:12px 16px;font-weight:800;font-size:11.5px;display:inline-block;transition:.2s}
.btn-white:hover{transform:translateY(-2px)}
.small-deals{display:grid;gap:16px}
.small-deals article{border-radius:28px;padding:28px;background:var(--blue);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.small-deals article:last-child{background:var(--yellow)}
.small-deals h3{font-size:21px;margin:8px 0 4px}
.small-deals p{font-size:11.5px;color:var(--muted);margin:0 0 14px}

/* ---------- product cards ---------- */
.filters{display:flex;gap:8px;overflow:auto;padding-bottom:6px;margin-bottom:18px;scrollbar-width:thin}
.filters button,.chip{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:99px;padding:9px 15px;font-size:11.5px;font-weight:700;transition:.2s}
.filters button:hover{border-color:var(--green)}
.filters button.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;list-style:none;margin:0;padding:0}
.p-card{position:relative;overflow:hidden;border-radius:25px;background:var(--card);box-shadow:var(--shadow);display:flex;flex-direction:column;transition:.22s}
.p-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.p-card figure{height:240px;margin:0;position:relative;overflow:hidden;background:#eef3ea}
.p-card figure img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.p-card:hover figure img{transform:scale(1.05)}
.p-badge{position:absolute;top:12px;left:12px;z-index:2;background:var(--green);color:#fff;padding:5px 9px;border-radius:8px;font-size:8.5px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.p-badge.sale{background:#ff6c49}
.p-badge.new{background:#3b82d6}
.p-actions{position:absolute;top:10px;right:10px;z-index:2;display:flex;flex-direction:column;gap:7px;opacity:0;transform:translateX(6px);transition:.25s}
.p-card:hover .p-actions,.p-card:focus-within .p-actions{opacity:1;transform:none}
.p-actions button{width:34px;height:34px;border:0;border-radius:11px;background:rgba(255,255,255,.94);box-shadow:0 8px 20px rgba(36,65,48,.18);font-size:14px;display:grid;place-items:center;transition:.15s}
.p-actions button:hover{background:var(--green);color:#fff}
.p-actions .wishlisted{color:#ff6c49}
.p-actions .wishlisted:hover{color:#fff}
.p-info{padding:15px 16px 16px;display:flex;flex-direction:column;flex:1}
.p-info .p-cat{font-size:9px;text-transform:uppercase;color:var(--green);font-weight:800;letter-spacing:.08em}
.p-info h3{font-size:14px;margin:5px 0 4px;min-height:36px;font-weight:700;letter-spacing:-.2px}
.p-info h3 a:hover{color:var(--green)}
.p-rating{font-size:10.5px;color:#8a9790}
.p-rating b{color:#f5b400;letter-spacing:1px;font-weight:400}
.p-buy{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px}
.p-price{font-weight:800;font-size:14.5px}
.p-price del{color:#a7b3ab;font-weight:600;font-size:12px;margin-right:6px}
.p-price ins{text-decoration:none;color:#ff6c49}
.p-add{width:36px;height:36px;border:0;border-radius:11px;background:var(--green);color:#fff;font-size:19px;display:grid;place-items:center;transition:.2s;line-height:1}
.p-add:hover{background:var(--green-dark);transform:scale(1.06)}
.p-add.loading{opacity:.5;pointer-events:none}
.load-more{display:block;margin:32px auto 0;border:1px solid var(--line);background:#fff;border-radius:var(--r-btn);padding:13px 22px;font-weight:800;transition:.2s}
.load-more:hover{border-color:var(--green);color:var(--green)}

/* ---------- shop toolbar ---------- */
.shop-hero{margin-top:24px;padding:44px 48px;border-radius:34px;background:linear-gradient(120deg,#e8f7db,#eaf4fb)}
.shop-hero h1{margin:8px 0 6px;font-size:clamp(28px,4vw,44px);letter-spacing:-2px}
.shop-hero p{color:var(--muted);max-width:640px;margin:0;font-size:14px}
.shop-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:22px 0 18px;background:var(--card);border:1px solid rgba(255,255,255,.9);backdrop-filter:blur(14px);border-radius:20px;padding:12px 14px;box-shadow:var(--shadow)}
.shop-toolbar select,.shop-toolbar input[type=number]{border:1px solid var(--line);border-radius:11px;padding:9px 10px;background:#fff;font-size:12px;color:var(--ink)}
.shop-toolbar input[type=number]{width:84px}
.shop-toolbar label{font-size:11px;font-weight:700;color:var(--muted);display:flex;align-items:center;gap:6px}
.shop-toolbar .apply{margin-left:auto}
.result-count{font-size:11.5px;color:var(--muted)}
.grid-loading{opacity:.45;pointer-events:none;transition:.2s}

/* ---------- single product ---------- */
.breadcrumbs{font-size:11.5px;color:var(--muted);margin:20px 0 14px;display:flex;gap:6px;flex-wrap:wrap}
.breadcrumbs a{color:var(--green);font-weight:700}
.single-product-wrap{background:var(--card);border:1px solid rgba(255,255,255,.9);border-radius:34px;box-shadow:var(--shadow);padding:34px;backdrop-filter:blur(14px)}
.woocommerce div.product{display:block}
.woocommerce div.product div.images{width:46%}
.woocommerce div.product div.summary{width:50%}
.woocommerce div.product div.images img{border-radius:24px}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger{border-radius:50%}
.woocommerce div.product .product_title{font-size:clamp(24px,3vw,34px);letter-spacing:-1.4px}
.woocommerce div.product p.price{font-size:24px;font-weight:800;color:var(--ink)}
.woocommerce div.product p.price del{color:#a7b3ab;font-size:17px}
.woocommerce div.product p.price ins{color:#ff6c49;text-decoration:none}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--muted);font-size:14px;line-height:1.7}
.sku_wrapper,.posted_in,.tagged_as{display:block;font-size:11.5px;color:var(--muted)}
.product_meta{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}
.product_meta a{color:var(--green);font-weight:700}
.stock.in-stock{color:var(--green);font-weight:700;font-size:12.5px}
.woocommerce div.product form.cart{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:20px 0}
.woocommerce div.product form.cart div.quantity{margin:0}
.woocommerce .quantity .qty{width:74px;height:48px;border:1px solid var(--line);border-radius:12px;text-align:center;font-weight:700;background:#fff}
.woocommerce div.product form.cart .button,.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wc-block-components-button{background:var(--green);color:#fff;border-radius:var(--r-btn);font-weight:800;padding:15px 22px;border:0;transition:.2s}
.woocommerce div.product form.cart .button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--green-dark);color:#fff}
.woocommerce a.button.add_to_cart_button{padding:11px 16px;font-size:12px}
.centara-buy-now{background:var(--ink)!important}
.centara-buy-now:hover{background:#000!important}
.ship-promise{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0;font-size:11.5px}
.ship-promise span{display:flex;gap:9px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:11px 13px;font-weight:600}
.ship-promise i{font-style:normal;font-size:16px}
.woocommerce div.product .woocommerce-tabs{margin-top:34px}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 0;display:flex;gap:8px;border:0}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.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{background:#fff;border:1px solid var(--line);border-radius:99px;margin:0;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:11px 18px;font-weight:800;font-size:12px;color:var(--muted)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--ink);border-color:var(--ink)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:#fff}
.woocommerce div.product .woocommerce-tabs .panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px 28px;margin-top:14px;font-size:14px;line-height:1.75;color:#3c4a42}
.woocommerce div.product .woocommerce-tabs .panel h2:first-of-type{font-size:18px;margin-top:0}
.up-sells h2,.related.products>h2,.cross-sells h2,.centara-fbt h2{font-size:24px;letter-spacing:-1px}
.woocommerce .star-rating span::before,.woocommerce .star-rating::before{color:#f5b400}
.woocommerce #reviews #comments ol.commentlist li img.avatar{border-radius:50%;width:44px}
.woocommerce #reviews #comments ol.commentlist li .comment-text{border-radius:18px;border-color:var(--line);background:#fff}
.woocommerce #review_form #respond textarea,.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce-EditAccountForm input{border:1px solid var(--line);border-radius:12px;padding:12px 13px;background:#fff}
.centara-fbt{margin-top:44px}
.centara-fbt .fbt-actions{margin-top:16px}
.sticky-atc{position:fixed;left:0;right:0;bottom:0;z-index:45;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-top:1px solid var(--line);padding:10px 14px;display:none;align-items:center;gap:12px;box-shadow:0 -10px 30px rgba(36,65,48,.12)}
.sticky-atc img{width:44px;height:44px;border-radius:10px;object-fit:cover}
.sticky-atc .s-title{font-size:12px;font-weight:700;flex:1;line-height:1.3}
.sticky-atc .s-price{font-weight:800;font-size:14px}
.sticky-atc .btn-primary{padding:12px 16px;font-size:12px}
@media(max-width:767px){.sticky-atc.show{display:flex}}

/* ---------- woocommerce archive/related grids use our cards ---------- */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin:0;padding:0}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{width:auto;margin:0;float:none}

/* ---------- benefits / newsletter ---------- */
.benefits{background:#fff;border:1px solid var(--line);border-radius:27px;padding:32px 26px;display:grid;grid-template-columns:repeat(4,1fr)}
.benefits article{display:flex;gap:12px;padding:0 20px;border-right:1px solid var(--line)}
.benefits article:last-child{border:0}
.benefits i{font-style:normal;width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:#edf6e7;display:grid;place-items:center;font-size:17px}
.benefits b{font-size:12.5px;display:block;margin-bottom:3px}
.benefits p{font-size:10.5px;line-height:1.5;color:var(--muted);margin:0}
.newsletter{border-radius:32px;background:#dff0cb;padding:48px 54px;display:flex;justify-content:space-between;align-items:center;gap:30px}
.newsletter h2{font-size:clamp(24px,3vw,33px);margin:8px 0;letter-spacing:-1.4px}
.newsletter p{color:var(--muted);font-size:12px;margin:0}
.newsletter form{width:420px;max-width:100%;background:#fff;border-radius:16px;padding:6px;display:flex;box-shadow:var(--shadow)}
.newsletter input{border:0;outline:0;flex:1;padding:0 14px;min-width:0;background:none}
.newsletter .btn-primary{padding:13px 16px;font-size:11.5px;border-radius:12px}
.newsletter .nl-msg{font-weight:700;color:var(--green-dark);font-size:13px;margin-top:10px}

/* ---------- footer ---------- */
.site-footer{margin-top:100px;padding:58px 0 25px;background:#11271c;color:#fff}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:50px}
.footer-grid .brand{color:#fff}
.footer-col{display:flex;flex-direction:column;gap:11px}
.footer-col b{font-size:13px}
.footer-col p{font-size:11.5px;color:#aabbb1;line-height:1.7;margin:0}
.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.footer-col a{font-size:11.5px;color:#aabbb1;transition:.15s}
.footer-col a:hover{color:var(--lime)}
.social-row{display:flex;gap:9px;margin-top:6px}
.social-row a{width:34px;height:34px;border-radius:11px;background:#1d3527;display:grid;place-items:center;font-size:14px;color:#cfe0d5}
.social-row a:hover{background:var(--green);color:#fff}
.footer-bottom{border-top:1px solid #31473b;margin-top:44px;padding-top:20px;color:#82968a;font-size:10px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:center}
.pay-badges{display:flex;gap:6px}
.pay-badges span{background:#fff;color:#16251d;border-radius:6px;font-size:8.5px;font-weight:800;padding:4px 7px;letter-spacing:.03em}

/* ---------- cart drawer ---------- */
.drawer-overlay{position:fixed;inset:0;background:rgba(10,28,18,.42);opacity:0;pointer-events:none;transition:.25s;z-index:48}
.drawer-overlay.show{opacity:1;pointer-events:auto}
.centara-drawer{position:fixed;right:0;top:0;width:min(440px,100vw);height:100dvh;background:#f8faf5;z-index:49;transform:translateX(102%);transition:transform .3s;display:flex;flex-direction:column;box-shadow:-20px 0 60px rgba(20,50,33,.18)}
.centara-drawer.show{transform:none}
.drawer-head{padding:20px 22px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}
.drawer-head small{color:var(--green);font-weight:900;letter-spacing:.15em;font-size:10px}
.drawer-head h2{margin:4px 0 0;font-size:22px}
.drawer-close{border:0;background:#eaf1e8;width:36px;height:36px;border-radius:50%;font-size:20px;line-height:1}
.drawer-body{padding:16px 18px;overflow:auto;flex:1}
.drawer-body .woocommerce-mini-cart{list-style:none;margin:0;padding:0}
.drawer-body .woocommerce-mini-cart li.woocommerce-mini-cart-item{display:grid;grid-template-columns:64px 1fr;gap:12px;background:#fff;border-radius:17px;padding:10px;margin-bottom:10px;position:relative}
.drawer-body .woocommerce-mini-cart img{width:64px!important;height:64px;object-fit:cover;border-radius:11px;float:none!important;margin:0!important}
.drawer-body .woocommerce-mini-cart li a{font-size:12px;font-weight:700;display:block}
.drawer-body .woocommerce-mini-cart li a.remove{position:absolute;top:8px;right:10px;width:22px;height:22px;font-size:15px;color:#b04b34!important;background:#fff4f0;border-radius:50%;text-align:center;line-height:22px}
.drawer-body .quantity{font-size:11.5px;color:var(--muted)}
.drawer-body .woocommerce-mini-cart__empty-message{text-align:center;padding:90px 18px;font-size:14px;color:var(--muted)}
.drawer-body .woocommerce-mini-cart__empty-message::before{content:"🛒";display:block;font-size:40px;margin-bottom:12px}
.drawer-foot{padding:18px 20px;background:#fff;border-top:1px solid var(--line)}
.centara-drawer .woocommerce-mini-cart__total{display:flex;justify-content:space-between;font-size:14px;margin:0 0 6px}
.centara-drawer .woocommerce-mini-cart__buttons{display:grid;gap:8px;margin:12px 0 0}
.centara-drawer .woocommerce-mini-cart__buttons a{text-align:center;border-radius:12px;padding:13px;font-weight:800}
.centara-drawer .woocommerce-mini-cart__buttons a.checkout{background:var(--green);color:#fff}
.centara-drawer .woocommerce-mini-cart__buttons a:not(.checkout){background:#eef4ec;color:var(--ink)}
.drawer-note{font-size:9.5px;color:var(--muted);margin-top:8px;text-align:center}

/* ---------- quick view ---------- */
.qv-modal{position:fixed;inset:0;z-index:50;display:none;align-items:center;justify-content:center;padding:20px}
.qv-modal.show{display:flex}
.qv-box{position:relative;background:#fff;border-radius:26px;max-width:760px;width:100%;max-height:88vh;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:22px;box-shadow:var(--shadow-lg)}
.qv-box img{width:100%;height:100%;min-height:280px;object-fit:cover;border-radius:18px}
.qv-info{padding:8px 6px}
.qv-info .p-cat{font-size:9px;text-transform:uppercase;color:var(--green);font-weight:800;letter-spacing:.08em}
.qv-info h2{font-size:22px;margin:6px 0;letter-spacing:-.8px}
.qv-price{font-weight:800;font-size:19px;margin:6px 0}
.qv-price del{color:#a7b3ab;font-size:14px}
.qv-price ins{color:#ff6c49;text-decoration:none}
.qv-desc{font-size:12.5px;color:var(--muted);line-height:1.7}
.qv-close{position:absolute;top:12px;right:12px;border:0;background:#eef2ec;width:34px;height:34px;border-radius:50%;font-size:18px;z-index:2}
.qv-actions{display:flex;gap:9px;margin-top:14px;flex-wrap:wrap}

/* ---------- cart page / checkout / account ---------- */
.page-shell{background:var(--card);border:1px solid rgba(255,255,255,.9);border-radius:34px;box-shadow:var(--shadow);padding:clamp(22px,4vw,44px);backdrop-filter:blur(14px);margin-top:24px}
.page-shell>h1:first-child,.entry-title{font-size:clamp(26px,4vw,40px);letter-spacing:-1.8px;margin-top:0}
.page-lede{font-size:16px;color:var(--muted)}
.woocommerce table.shop_table{border:1px solid var(--line);border-radius:18px;border-collapse:separate;overflow:hidden;background:#fff}
.woocommerce table.shop_table th{background:#f2f7ef;font-size:12px}
.woocommerce table.shop_table td,.woocommerce table.shop_table th{border-color:var(--line)}
.woocommerce table.shop_table img{width:58px;border-radius:10px}
.woocommerce .cart_totals,.woocommerce-checkout #order_review{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px}
.woocommerce-checkout #order_review_heading{margin-top:22px}
.woocommerce .coupon .input-text{border:1px solid var(--line);border-radius:12px;padding:11px 12px;width:150px!important}
.woocommerce-form-coupon,.woocommerce-form-login{border:1px solid var(--line)!important;border-radius:18px!important;background:#fff}
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info,.woocommerce .woocommerce-error{border-radius:14px;background:#fff;border-top-color:var(--green)}
.woocommerce .woocommerce-error{border-top-color:#ff6c49}
.trust-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;justify-content:center}
.trust-badges span{font-size:10px;font-weight:700;background:#f2f7ef;color:#3c4a42;border-radius:99px;padding:7px 12px;display:inline-flex;gap:6px;align-items:center}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.woocommerce-account .woocommerce-MyAccount-navigation a{display:block;background:#fff;border:1px solid var(--line);border-radius:13px;padding:11px 15px;font-weight:700;font-size:13px}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--ink);color:#fff;border-color:var(--ink)}
#payment .payment_methods{background:#fff!important}
.woocommerce-checkout #payment{background:#f5f9f2;border-radius:18px}
.woocommerce-checkout #payment div.payment_box{background:#eef4ec;border-radius:12px}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#eef4ec}
.wc_payment_method label{font-weight:700}

/* ---------- payment method rows: radio + title stay on one line ---------- */
.woocommerce-checkout #payment ul.payment_methods>li{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
/* PayPal writes an inline display:block/none on its rows as it shows and hides
   them — re-assert the flex row, but never on a row it has hidden. */
.woocommerce-checkout #payment ul.payment_methods>li[style]:not([style*="none"]){display:flex!important}
.woocommerce-checkout #payment ul.payment_methods>li>input[type="radio"]{flex:0 0 auto;margin:0}
.woocommerce-checkout #payment ul.payment_methods>li>label{flex:1 1 0%;min-width:0;margin:0;display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;line-height:1.3}
.woocommerce-checkout #payment ul.payment_methods>li>label img{max-height:22px;width:auto;margin:0}
.woocommerce-checkout #payment ul.payment_methods>li>.payment_box{flex:1 0 100%}

/* ---------- PayPal Advanced Card Processing (hosted card fields) ---------- */
#wc-ppcp-credit-card-gateway-cc-form{
  max-width:520px;margin:0;padding:0;border:0;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 14px;
}
#wc-ppcp-credit-card-gateway-cc-form>p.form-row{
  margin:0!important;padding:0!important;width:auto!important;float:none!important;min-width:0;clear:none!important;
}
#wc-ppcp-credit-card-gateway-cc-form>p.form-row-wide{grid-column:1 / -1}
#wc-ppcp-credit-card-gateway-cc-form label{
  display:block;font-size:12px;font-weight:800;color:var(--ink);margin:0 0 6px;line-height:1.3;
}
#wc-ppcp-credit-card-gateway-cc-form label .required{color:#c0341a;text-decoration:none;border:0}
#wc-ppcp-credit-card-gateway-cc-form div[id^="zoid-paypal-card-"]{width:100%!important}
#wc-ppcp-credit-card-gateway-cc-form div[id^="zoid-paypal-card-"]>iframe{display:block;width:100%!important}
/* PayPal copies these computed styles from the hidden inputs into its iframes,
   so this is the only way to size the text inside the card fields. */
#ppcp-credit-card-gateway-card-number,
#ppcp-credit-card-gateway-card-expiry,
#ppcp-credit-card-gateway-card-cvc{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Arial,sans-serif!important;
  font-size:16px!important;font-weight:500!important;line-height:1.3!important;
  letter-spacing:.01em!important;color:#16251d!important;padding:8px 14px!important;
}
/* card brand badges beside the gateway title */
/* PayPal sets an inline display:block on this row, so the label is laid out
   inline — cap its width so it stays beside the radio and the badges wrap under. */
.woocommerce-checkout #payment ul.payment_methods>li.payment_method_ppcp-credit-card-gateway>label{
  max-width:calc(100% - 34px);vertical-align:middle;row-gap:5px;
}
.woocommerce-checkout #payment ul.payment_methods>li.payment_method_ppcp-credit-card-gateway>label::after{
  content:"";display:inline-block;flex:0 0 auto;width:151px;height:22px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 151 22'%3E%3Crect width='34' height='22' rx='4' fill='%231434CB'/%3E%3Ctext x='17' y='15' text-anchor='middle' font-family='Georgia,serif' font-style='italic' font-size='9' font-weight='700' fill='%23fff'%3EVISA%3C/text%3E%3Crect x='39' width='34' height='22' rx='4' fill='%2316251D'/%3E%3Ccircle cx='51' cy='11' r='6' fill='%23EB001B'/%3E%3Ccircle cx='61' cy='11' r='6' fill='%23F79E1B' fill-opacity='.9'/%3E%3Crect x='78' width='34' height='22' rx='4' fill='%23016FD0'/%3E%3Ctext x='95' y='15' text-anchor='middle' font-family='Arial,sans-serif' font-size='7' font-weight='700' fill='%23fff'%3EAMEX%3C/text%3E%3Crect x='117' y='.5' width='33' height='21' rx='4' fill='%23fff' stroke='%23E1E7DE'/%3E%3Ctext x='131' y='15' text-anchor='middle' font-family='Arial,sans-serif' font-size='7' font-weight='700' fill='%23231F20'%3EDISC%3C/text%3E%3Ccircle cx='145' cy='16' r='4' fill='%23FF6C49'/%3E%3C/svg%3E") no-repeat left center/contain;
}
@media(max-width:430px){
  .woocommerce-checkout #payment ul.payment_methods>li.payment_method_ppcp-credit-card-gateway>label::after{width:124px;height:18px}
}
/* wallet buttons that render empty must not leave a gap */
#ppc-button-ppcp-applepay:empty,#ppc-button-ppcp-googlepay:empty,.ppcp-button-container:empty{
  display:none!important;margin:0!important;height:0!important;
}
@media(max-width:600px){
  .payment_method_ppcp-credit-card-gateway .payment_box{padding:12px 11px}
  #wc-ppcp-credit-card-gateway-cc-form{max-width:none;gap:11px 10px;grid-template-columns:1.15fr .85fr}
  #wc-ppcp-credit-card-gateway-cc-form label{font-size:11.5px;white-space:nowrap}
}

/* ---------- content pages ---------- */
.entry-content h2{font-size:22px;margin-top:34px;letter-spacing:-.8px}
.entry-content p,.entry-content li{font-size:14.5px;line-height:1.8;color:#3c4a42}
.entry-content img{border-radius:24px;margin:14px 0}
/* page-body links are green — but never repaint a button, or its label
   disappears into its own background */
.entry-content a:not([class*="btn"]):not(.button):not(.wc-forward):not(.p-add):not(.tool-btn){color:var(--green);font-weight:700}
.policy-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.policy-table th,.policy-table td{padding:12px 15px;text-align:left;font-size:13px;border-bottom:1px solid var(--line)}
.policy-table th{background:#f2f7ef}
.policy-table tr:last-child td{border-bottom:0}
.centara-faq{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:16px;padding:0 20px}
.faq-item summary{cursor:pointer;font-weight:800;font-size:14px;padding:16px 0;list-style:none;position:relative}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:0;top:12px;font-size:20px;color:var(--green)}
.faq-item[open] summary::after{content:"–"}
.faq-item p{margin:0 0 16px;color:#3c4a42;font-size:13.5px;line-height:1.7}
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:36px;margin-top:10px}
.centara-contact-form input,.centara-contact-form textarea{width:100%;border:1px solid var(--line);border-radius:13px;padding:12px 13px;background:#fff;margin-top:5px}
.contact-form-note{color:var(--green-dark);font-weight:700}
.search-hero{margin-top:24px;padding:36px 44px;border-radius:30px;background:linear-gradient(120deg,#e8f7db,#eaf4fb)}
.error-404{text-align:center;padding:90px 20px}
.error-404 .num{font-size:110px;font-weight:800;letter-spacing:-6px;color:var(--green);line-height:1}
.wishlist-empty{text-align:center;color:var(--muted);padding:60px 0}

/* ---------- responsive ---------- */
@media(max-width:1023px){
  .hero{grid-template-columns:1fr;padding:46px 30px;margin-left:0;margin-right:0}
  .hero-art>img{height:380px}
  .cat-grid{grid-template-columns:repeat(4,1fr)}
  .deal-grid{grid-template-columns:1fr}
  .products-grid,.woocommerce ul.products{grid-template-columns:repeat(2,1fr)}
  .benefits{grid-template-columns:1fr 1fr;gap:22px;row-gap:26px}
  .benefits article{border:0;padding:0}
  .newsletter{flex-direction:column;align-items:flex-start}
  .footer-grid{grid-template-columns:1fr 1fr;gap:34px}
  .woocommerce div.product div.images,.woocommerce div.product div.summary{width:100%;float:none}
  .single-product-wrap{padding:22px}
  .qv-box{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .section{margin-top:70px}
}
@media(max-width:560px){
  body{font-size:14px}
  .hero{padding:38px 20px;border-radius:30px}
  .hero-copy h1{font-size:41px;letter-spacing:-2.5px}
  .hero-actions{flex-direction:column}
  .hero-actions a{text-align:center}
  .trust{overflow:auto;padding-bottom:4px}
  .hero-art>img{height:300px}
  .float.top{right:0}
  .float.bottom{left:0}
  .cat-grid{grid-template-columns:repeat(2,1fr)}
  .big-deal{grid-template-columns:1fr}
  .big-deal>div{padding:30px 24px}
  .big-deal img{height:210px}
  .products-grid,.woocommerce ul.products{grid-template-columns:repeat(2,1fr);gap:11px}
  .p-card figure{height:160px}
  .p-info{padding:11px 12px 13px}
  .p-info h3{font-size:12px;min-height:32px}
  .p-add{width:32px;height:32px}
  .newsletter{padding:34px 22px}
  .newsletter form{flex-direction:column;background:none;box-shadow:none;padding:0;gap:8px}
  .newsletter input{background:#fff;border-radius:12px;height:46px;padding:0 14px}
  .newsletter .btn-primary{width:100%}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-grid>div:first-child{grid-column:1/3}
  .footer-bottom{display:block;line-height:2.1}
  .shop-hero{padding:30px 22px}
  .shop-toolbar .apply{margin-left:0}
  .page-shell{padding:20px;border-radius:24px}
  .benefits{grid-template-columns:1fr}
}

/* mini-cart item refinement */
.drawer-body .woocommerce-mini-cart li.woocommerce-mini-cart-item{display:block;padding:12px 34px 12px 12px}
.drawer-body .woocommerce-mini-cart li.woocommerce-mini-cart-item>a:not(.remove){display:flex;align-items:center;gap:12px}
.drawer-body .woocommerce-mini-cart li .quantity{display:block;margin-top:6px;padding-left:76px;font-weight:700;color:var(--ink)}

/* small-screen header refinement */
@media(max-width:640px){
  .site-header .brand span{display:none}
  .site-header{padding:0 18px;gap:8px}
  .header-tools{gap:6px}
  .tool-btn{width:38px;height:38px;font-size:15px}
}

/* ---------- order received (thank you) page ---------- */
.woocommerce-order p.woocommerce-thankyou-order-received{background:#e8f6ec;border:1px solid #bfe3cb;color:var(--green-dark);font-weight:800;font-size:15px;padding:15px 18px;border-radius:16px;margin:4px 0 20px}
.woocommerce ul.order_details{list-style:none;margin:0 0 28px;padding:18px!important;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px 18px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}
.woocommerce ul.order_details::before,.woocommerce ul.order_details::after{display:none}
.woocommerce ul.order_details li{float:none!important;border:0!important;margin:0!important;padding:0!important;font-size:9.5px;letter-spacing:.08em;color:var(--muted);font-weight:800;text-transform:uppercase;line-height:1.4}
.woocommerce ul.order_details li strong{display:block;font-size:15px;line-height:1.35;color:var(--ink);margin-top:4px;text-transform:none;letter-spacing:-.2px;word-break:break-word}
.woocommerce-order-details,.woocommerce-customer-details{margin-top:26px}
h2.woocommerce-order-details__title,h2.woocommerce-column__title{font-size:21px;letter-spacing:-.8px}
.woocommerce-customer-details address{border:1px solid var(--line);border-radius:16px;background:#fff;padding:16px 18px;font-style:normal;line-height:1.8;font-size:13.5px}
.woocommerce-customer-details .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.woocommerce-customer-details .col2-set .col-1,.woocommerce-customer-details .col2-set .col-2{width:auto;float:none;max-width:none;margin:0}
.woocommerce-order table.shop_table tfoot th,.woocommerce-order table.shop_table tfoot td{border-top:1px solid var(--line)}
@media(max-width:640px){
  .woocommerce-customer-details .col2-set{grid-template-columns:1fr}
  .woocommerce ul.order_details{grid-template-columns:1fr 1fr;padding:15px!important;gap:12px}
  .woocommerce ul.order_details li strong{font-size:13.5px}
}
.woocommerce-customer-details .col2-set::before,.woocommerce-customer-details .col2-set::after{display:none!important;content:none!important}

/* ---------- vertical rhythm — uniform spacing header to footer ---------- */
.breadcrumbs{margin:20px 0 16px}
.page-shell,.shop-hero,.search-hero,.single-product-wrap{margin-top:8px}
.shop-hero h1,.search-hero h1{font-size:clamp(26px,4vw,40px);letter-spacing:-1.8px;margin:8px 0 6px}
.site-footer{margin-top:96px}
.wrap>.page-shell:last-child,.wrap>.products-grid:last-child{margin-bottom:8px}
@media(max-width:1023px){.site-footer{margin-top:72px}}
@media(max-width:640px){.site-footer{margin-top:56px}.breadcrumbs{margin:14px 0 12px}}

/* ---------- official payment logos ---------- */
.pay-badges{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.pay-badges .pay{display:inline-flex;align-items:center;justify-content:center;gap:5px;background:#fff;border-radius:7px;height:30px;min-width:46px;padding:0 8px;font-style:normal}
.pay-badges .pay svg{height:14px;width:auto;display:block}
.pay-badges .pay-amex{padding:0;overflow:hidden}
.pay-badges .pay-amex svg{height:30px;width:46px;border-radius:7px}
.pay-badges .pay-cod svg{height:17px}
.pay-badges .pay-cod b{font-size:8.5px;font-weight:800;color:#16251d;letter-spacing:.05em}

/* ---------- cart page layout & buttons ---------- */
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{background:var(--green);color:#fff}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover{background:var(--green-dark);color:#fff}
.woocommerce .wc-proceed-to-checkout a.checkout-button{background:var(--green)!important;color:#fff!important;border-radius:var(--r-btn);font-weight:800;font-size:14px;padding:16px}
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover{background:var(--green-dark)!important}
.woocommerce-cart .cart-collaterals{display:flex;flex-direction:column;align-items:flex-end}
.woocommerce-cart .cart-collaterals::before,.woocommerce-cart .cart-collaterals::after{display:none!important;content:none!important}
.woocommerce-cart .cart-collaterals .cart_totals{float:none;width:min(440px,100%)}
.woocommerce-cart .cart-collaterals .trust-badges{width:min(440px,100%);justify-content:center;margin-top:14px}
.woocommerce table.cart td.actions .coupon .input-text{width:170px!important}
.woocommerce table.cart img{width:64px}
.woocommerce a.remove{color:#b04b34!important;background:#fff4f0;border-radius:50%}
.woocommerce a.remove:hover{background:#b04b34;color:#fff!important}
.wc-empty-cart-message{text-align:center;padding:40px 0 10px;font-size:16px;color:var(--muted)}
.return-to-shop{text-align:center;padding-bottom:20px}
/* every cart button keeps its label on one line */
.woocommerce table.cart td.actions .button,
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce .cart_totals .button{white-space:nowrap}
/* NB: keep td.actions a real table-cell — display:flex on a <td> drops it out of
   the table layout and collapses the whole cart grid. */
.woocommerce table.cart td.actions{padding:14px;text-align:left;overflow:hidden}
.woocommerce table.cart td.actions .coupon{display:inline-flex;align-items:center;gap:8px;margin:0;vertical-align:middle}
.woocommerce table.cart td.actions .coupon .input-text{width:200px!important;max-width:100%}
.woocommerce table.cart td.actions .coupon .button{flex:0 0 auto;padding:12px 20px}
/* "Update" is secondary — an outline button, and a readable disabled state */
.woocommerce table.cart td.actions>button[name="update_cart"],
.woocommerce table.cart td.actions>input[name="update_cart"]{
  float:right;margin:0;background:#fff;border:1px solid var(--line);color:var(--ink);
  border-radius:var(--r-btn);font-weight:800;font-size:13px;padding:12px 20px;opacity:1;
}
.woocommerce table.cart td.actions>button[name="update_cart"]:hover:not(:disabled),
.woocommerce table.cart td.actions>input[name="update_cart"]:hover:not(:disabled){
  background:var(--ink);border-color:var(--ink);color:#fff;
}
.woocommerce table.cart td.actions>button[name="update_cart"]:disabled,
.woocommerce table.cart td.actions>input[name="update_cart"][disabled]{
  background:#f4f7f2;border-color:var(--line);color:#a2b0a7;cursor:not-allowed;opacity:1;
}
/* PayPal Pay-Later message under the totals */
.woocommerce-cart .cart_totals+*[data-pp-message],
.woocommerce-cart [data-pp-message]{margin:10px 0 4px;line-height:1.4}

@media(max-width:768px){
  .woocommerce-cart .cart-collaterals{align-items:stretch}
  .woocommerce table.shop_table_responsive tr td::before{font-weight:800;font-size:11px;letter-spacing:.03em;color:var(--muted);text-transform:uppercase}

  /* one card per line item instead of a stack of unlabelled rows */
  .woocommerce-cart table.shop_table_responsive{border:0;background:none;overflow:visible}
  .woocommerce-cart table.shop_table_responsive tbody tr.cart_item{
    display:block;position:relative;background:#fff;border:1px solid var(--line);
    border-radius:16px;padding:12px 14px 10px;margin-bottom:12px;
  }
  .woocommerce-cart table.shop_table_responsive tbody tr.cart_item td{
    display:flex!important;align-items:center;justify-content:space-between;gap:12px;
    border:0!important;padding:5px 0!important;text-align:right;background:transparent!important;
  }
  .woocommerce-cart table.shop_table_responsive tbody tr.cart_item td.product-thumbnail{
    justify-content:flex-start;padding-right:34px!important;
  }
  .woocommerce-cart table.shop_table_responsive tbody tr.cart_item td.product-thumbnail::before{display:none}
  .woocommerce-cart table.shop_table_responsive tbody tr.cart_item td.product-thumbnail img{width:60px;border-radius:12px}
  .woocommerce-cart table.shop_table_responsive tbody tr.cart_item td.product-name{
    justify-content:flex-start;text-align:left!important;font-weight:700;padding-bottom:8px!important;
    border-bottom:1px solid var(--line)!important;margin-bottom:4px;
  }
  .woocommerce-cart table.shop_table_responsive tbody tr.cart_item td.product-name a{text-align:left!important}
  .woocommerce-cart table.shop_table_responsive tbody tr.cart_item td.product-name::before{display:none}
  .woocommerce-cart table.shop_table_responsive tbody tr.cart_item td.product-remove{
    position:absolute;top:12px;right:12px;padding:0!important;width:auto;
  }
  .woocommerce-cart table.shop_table_responsive tbody tr.cart_item td.product-remove::before{display:none}
  .woocommerce-cart table.shop_table_responsive tbody tr.cart_item td.product-quantity .qty{width:76px;text-align:center}
  .woocommerce-cart table.shop_table_responsive tbody tr.cart_item td.product-subtotal{font-weight:800}

  /* coupon + update sit on one row, then update goes full width if it must wrap */
  /* the table is already block-level here, so flex on the cell is safe */
  .woocommerce table.cart td.actions{display:flex!important;flex-wrap:wrap;gap:10px;padding:0!important;background:none}
  .woocommerce table.cart td.actions .coupon{display:flex;flex:1 1 100%}
  .woocommerce table.cart td.actions .coupon .input-text{flex:1 1 auto;width:auto!important;max-width:none}
  .woocommerce table.cart td.actions>button[name="update_cart"],
  .woocommerce table.cart td.actions>input[name="update_cart"]{float:none;flex:1 1 100%}
  .woocommerce-cart .trust-badges{gap:6px}
  .woocommerce-cart .trust-badges span{font-size:10px;padding:6px 10px}
}
/* two-column cart layout on desktop */
@media(min-width:1024px){
  .woocommerce-cart .entry-content>.woocommerce{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:28px;align-items:start}
  .woocommerce-cart .entry-content>.woocommerce>.woocommerce-notices-wrapper{grid-column:1/-1}
  .woocommerce-cart form.woocommerce-cart-form{grid-column:1;margin:0;min-width:0}
  .woocommerce-cart .cart-collaterals{grid-column:2;position:sticky;top:104px}
  .woocommerce-cart .entry-content>.woocommerce>.section{grid-column:1/-1}
  .woocommerce-cart .cart-collaterals .cart_totals,.woocommerce-cart .cart-collaterals .trust-badges{width:100%}
}
@media(min-width:1024px){
  .woocommerce-cart .entry-content>.woocommerce>.wc-empty-cart-message,.woocommerce-cart .entry-content>.woocommerce>.cart-empty,.woocommerce-cart .entry-content>.woocommerce>.return-to-shop{grid-column:1/-1}
}

/* error notices: keep error tone, not brand green links */
.woocommerce .woocommerce-error{border-top-color:#ff6c49}
.woocommerce-error li{color:#8a3b28}
.woocommerce-error li a,.woocommerce-error li strong{color:#b04b34}
.woocommerce-error li a:hover{color:#7d3018}
/* review form polish */
#reply-title{font-size:20px;font-weight:800;letter-spacing:-.6px;display:block;margin-bottom:8px}
.woocommerce p.stars a{color:#f5b400}
.comment-form-rating label,.comment-form-comment label{font-weight:700;font-size:13px}

/* footer legal block */
.footer-legal{font-size:10.5px!important;color:#8ba396!important;line-height:1.75!important;margin-top:2px!important}
.footer-legal strong{color:#cfe0d5}

/* ---------- mega menu: invisible bridge across the gap ----------
   Without this the 6px space between the menu item and the panel drops
   :hover, so the dropdown closes before the pointer can reach an item. */
.main-nav .sub-menu::before{content:"";position:absolute;left:-14px;right:-14px;top:-16px;height:16px;background:transparent}
.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{animation:centara-menu-in .16s ease-out}
@keyframes centara-menu-in{from{opacity:0;transform:translateX(-50%) translateY(0)}to{opacity:1;transform:translateX(-50%) translateY(6px)}}
@media(max-width:1023px){
  .main-nav .sub-menu::before{display:none}
  .main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{animation:none}
}

/* ---------- QA sweep fixes ---------- */
/* drawer must sit below the WP admin bar, or its heading is cut off */
body.admin-bar .centara-drawer,body.admin-bar .drawer-overlay{top:32px}
body.admin-bar .centara-drawer{height:calc(100dvh - 32px)}
@media screen and (max-width:782px){
  body.admin-bar .centara-drawer,body.admin-bar .drawer-overlay{top:46px}
  body.admin-bar .centara-drawer{height:calc(100dvh - 46px)}
}
/* WooCommerce renders the mini-cart total + buttons inside .drawer-body, so pin
   them to the bottom instead of letting them float after the last item */
.drawer-body{display:flex;flex-direction:column}
.drawer-body>.widget_shopping_cart_content{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}
.drawer-body .woocommerce-mini-cart{flex:0 0 auto}
.drawer-body .woocommerce-mini-cart__empty-message{flex:1 1 auto;display:grid;align-content:center;padding:30px 18px}
.centara-drawer .woocommerce-mini-cart__total{
  margin-top:auto;padding-top:14px;border-top:1px solid var(--line);font-weight:700;
}
.centara-drawer .woocommerce-mini-cart__total strong{font-weight:800}


/* keep the product buy-box beside the gallery on tablets and landscape phones —
   full-width stacking pushed price and Add to cart far below the fold */
@media(min-width:700px) and (max-width:1023px){
  .woocommerce div.product div.images{width:46%!important;float:left!important}
  .woocommerce div.product div.summary{width:50%!important;float:right!important;clear:none!important}
  .woocommerce div.product .woocommerce-tabs,
  .woocommerce div.product .related,
  .woocommerce div.product .upsells{clear:both}
}
/* 8 category cards across is only comfortable on wide desktops */
@media(min-width:1024px) and (max-width:1199px){
  .cat-grid{grid-template-columns:repeat(4,1fr)}
}
/* the coupon field must be allowed to shrink so Apply never clips the card edge */
@media(max-width:768px){
  .woocommerce table.cart td.actions .coupon .input-text{min-width:0}
  .woocommerce table.cart td.actions .coupon .button{padding:12px 16px}
}

/* tablets have room for three product cards, not two */
@media(min-width:700px) and (max-width:1023px){
  .products-grid,.woocommerce ul.products{grid-template-columns:repeat(3,1fr)!important}
}

/* panels that are .wrap elements themselves (their border box IS the visible
   panel) must sit on the same rail as the header card, not 18px wider */
.hero,.section.benefits,.section.newsletter{
  max-width:1184px;width:calc(100% - 36px);margin-left:auto;margin-right:auto;
}

/* PayPal / Google Pay / Apple Pay buttons sit in the same button family as the
   theme's own — keep them from stretching into full-width banners */
.single-product div.summary [id^="ppc-button"],
.single-product div.summary .ppcp-button-apm,
.single-product div.summary .paypal-buttons{max-width:330px}
.single-product div.summary [data-pp-message]{max-width:330px}
/* drawer buttons on the same 45px rhythm as the PayPal buttons beneath them */
.centara-drawer .woocommerce-mini-cart__buttons a{
  height:45px;padding:0 14px;display:flex;align-items:center;justify-content:center;line-height:1;
}

/* ---------- product page + mini-cart: one button rail ---------- */
/* WooCommerce's clearfix pseudo-elements become flex items inside form.cart and
   push the whole quantity / add-to-cart row 10px off the rail */
.woocommerce div.product form.cart::before,
.woocommerce div.product form.cart::after{display:none!important}

.woocommerce div.product form.cart{max-width:370px;gap:10px;flex-wrap:wrap;align-items:stretch}
.woocommerce div.product form.cart div.quantity{flex:0 0 90px}
.woocommerce div.product form.cart div.quantity .qty{width:100%;height:45px}
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart .centara-buy-now{
  flex:1 1 0;min-width:0;height:45px;padding-left:12px;padding-right:12px;
}
.single-product div.summary [id^="ppc-button"],
.single-product div.summary .ppcp-button-apm,
.single-product div.summary .paypal-buttons,
.single-product div.summary [data-pp-message]{max-width:430px}

/* even 8px rhythm between every button in the drawer */
.centara-drawer .woocommerce-mini-cart__buttons+.woocommerce-mini-cart__buttons{margin-top:8px}
.centara-drawer .woocommerce-mini-cart__buttons>*{margin-top:0!important;margin-bottom:0!important}

/* wallet containers that render nothing (Apple Pay outside Safari) still reserve
   45px — collapse them so they don't punch a hole in the button stack */
.centara-drawer [id^="ppc-button-applepay"]:empty,
.centara-drawer [id^="ppc-button-googlepay"]:empty,
.cart_totals [id^="ppc-button-applepay"]:empty,
.cart_totals [id^="ppc-button-googlepay"]:empty,
div.summary [id^="ppc-button-applepay"]:empty,
div.summary [id^="ppc-button-googlepay"]:empty{display:none!important}

/* the totals column is ~760px tall — taller than most viewports — so sticky gave
   no benefit and let it ride over the cross-sell row while scrolling */
@media(min-width:1024px){
  .woocommerce-cart .cart-collaterals{position:static;top:auto}
}


/* ---------- checkout: compact two-column layout ---------- */
/* single-line inputs were running ~550px wide, which reads as a broken form */
@media(min-width:1024px){
  /* Left column = the address form, right column = summary + payment (sticky).
     Every element stays exactly where WooCommerce printed it — the columns are
     grid areas, not a DOM reshuffle. #payment must never leave #order_review:
     PayPal renders zoid iframes inside it and re-parenting reloads them. */
  .woocommerce-checkout form.checkout{
    display:grid;grid-template-columns:minmax(0,580px) 400px;
    grid-template-areas:"notices notices" "cust head" "cust review";
    column-gap:36px;align-items:start;justify-content:center;
  }
  .woocommerce-checkout form.checkout>.woocommerce-notices-wrapper{grid-area:notices}
  .woocommerce-checkout form.checkout>#customer_details{grid-area:cust;margin:0}
  .woocommerce-checkout form.checkout>#order_review_heading{grid-area:head;margin:0 0 12px;align-self:start}
  .woocommerce-checkout form.checkout>#order_review{grid-area:review;margin:0}
}
.woocommerce-checkout #customer_details{max-width:580px}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{width:100%!important;float:none!important;margin:0}
.woocommerce-checkout #customer_details .col2-set::before,
.woocommerce-checkout #customer_details .col2-set::after{display:none!important;content:none!important}
.woocommerce-checkout #customer_details .col-2{margin-top:22px}

/* billing fields on a tidy two-column grid */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{
  display:grid;grid-template-columns:1fr 1fr;gap:14px 14px;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper>.form-row,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper>.form-row{
  grid-column:1 / -1;width:auto!important;float:none!important;margin:0!important;padding:0!important;
}
.woocommerce-checkout #billing_first_name_field,
.woocommerce-checkout #billing_last_name_field,
.woocommerce-checkout #billing_city_field,
.woocommerce-checkout #billing_state_field,
.woocommerce-checkout #billing_postcode_field,
.woocommerce-checkout #billing_phone_field,
.woocommerce-checkout #shipping_first_name_field,
.woocommerce-checkout #shipping_last_name_field,
.woocommerce-checkout #shipping_city_field,
.woocommerce-checkout #shipping_state_field,
.woocommerce-checkout #shipping_postcode_field{grid-column:span 1}

.woocommerce-checkout .form-row label{
  display:block;font-size:12px;font-weight:800;color:var(--ink);margin:0 0 6px;line-height:1.3;
}
.woocommerce-checkout .form-row .input-text,
.woocommerce-checkout .form-row select:not(.select2-hidden-accessible),
.woocommerce-checkout .form-row .select2-container{width:100%!important;max-width:none}
.woocommerce-checkout .form-row .input-text,
.woocommerce-checkout .form-row select:not(.select2-hidden-accessible){
  height:48px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#fbfdfa;font-size:15px;
}
/* Select2 keeps the native <select> in the DOM as a 1px a11y stub — never resize
   it or it pushes the page into horizontal overflow */
.woocommerce-checkout .form-row select.select2-hidden-accessible{
  width:1px!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important;
}
.woocommerce-checkout .form-row .select2-container .select2-selection--single{
  height:48px;border:1px solid var(--line);border-radius:12px;background:#fbfdfa;
}
.woocommerce-checkout .form-row .select2-container .select2-selection__rendered{
  line-height:46px;padding-left:14px;padding-right:30px;color:var(--ink);font-size:15px;
}
.woocommerce-checkout .form-row .select2-container .select2-selection__arrow{height:46px}
.woocommerce-checkout .form-row textarea.input-text{height:auto;min-height:92px}
.woocommerce-checkout .form-row .input-text:focus,
.woocommerce-checkout .form-row select:focus{
  outline:none;background:#fff;border-color:var(--green);box-shadow:0 0 0 3px rgba(13,143,91,.16);
}

/* Add to cart, Buy now and the PayPal button share one rail at exactly the same
   width and height; the quantity box sits on its own line above them */
.woocommerce div.product form.cart{max-width:430px;display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
.woocommerce div.product form.cart div.quantity{flex:0 0 106px}
/* desktop: quantity + two equal buttons on one row */
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart .centara-buy-now{
  flex:1 1 0;min-width:0;height:45px;padding-left:12px;padding-right:12px;
}
/* below 1024 there is not enough room for three across without squashing one of
   them, so both buttons take a full-width line each and stay identical */
@media(max-width:1023px){
  .woocommerce div.product form.cart .single_add_to_cart_button,
  .woocommerce div.product form.cart .centara-buy-now{flex:1 0 100%;width:100%}
}
@media(max-width:1023px){
  .woocommerce div.product form.cart{max-width:none}
  .single-product div.summary [id^="ppc-button"],
  .single-product div.summary .ppcp-button-apm,
  .single-product div.summary .paypal-buttons,
  .single-product div.summary [data-pp-message]{max-width:none}
}

/* ---------- checkout v2: card-per-section + sticky order summary ---------- */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields{
  background:#fff;border:1px solid var(--line);border-radius:20px;
  padding:22px 24px;margin:0 0 16px;box-shadow:0 6px 18px rgba(36,65,48,.04);
}
.woocommerce-checkout .woocommerce-billing-fields>h3,
.woocommerce-checkout .woocommerce-shipping-fields>h3,
.woocommerce-checkout .woocommerce-additional-fields>h3{
  font-size:16px;font-weight:800;letter-spacing:-.4px;margin:0 0 16px;
}
.woocommerce-checkout #customer_details .col-2{margin-top:0}
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper .form-row{margin:0!important}

.woocommerce-checkout #order_review_heading{font-size:16px;font-weight:800;letter-spacing:-.4px}
.woocommerce-checkout #order_review{
  border-radius:20px;box-shadow:0 6px 18px rgba(36,65,48,.04);
}
@media(min-width:1024px){
  .woocommerce-checkout form.checkout>#order_review{position:sticky;top:96px;align-self:start}
  /* payment sits inside the summary card, so it drops its own panel chrome */
  .woocommerce-checkout #order_review>#payment{
    background:transparent!important;border:0;border-radius:0;padding:16px 0 0;margin-top:16px;
    border-top:1px solid var(--line);box-shadow:none;
  }
  .woocommerce-checkout #order_review>#payment .payment_methods{background:transparent!important}
}

/* ---------- cart: shorter action buttons ---------- */
.woocommerce-cart .cart-collaterals [id^="ppc-button"],
.woocommerce-cart .cart-collaterals .ppcp-button-apm{
  max-width:none;margin:10px 0 0;
}
/* the inner .paypal-buttons must stay flush or it inflates its own container */
.woocommerce-cart .cart-collaterals .paypal-buttons{max-width:none;margin:0}
/* NB: .wc-proceed-to-checkout also holds the PayPal buttons — making it a flex
   row put them side by side and squashed Checkout to 112x90 */
.woocommerce-cart .wc-proceed-to-checkout{display:block}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{display:block;width:100%;margin:0 0 10px}

/* WooCommerce still sizes li.product with its own width:22.05%/float, which in a
   grid container squeezes related-product cards to ~68px on phones */
.woocommerce ul.products li.product,
.products-grid li.product{
  width:auto!important;float:none!important;margin:0!important;clear:none!important;
}
.woocommerce ul.products li.product>.p-card,
.products-grid li.product>.p-card{height:100%}

/* PayPal Pay Later message under the hero CTAs */
/* no card around it — the block may be switched off at any time and must leave
   nothing behind */
.hd-hero-paylater{margin:18px auto 0;max-width:1184px;width:calc(100% - 36px);
  background:none;border:0;padding:0;box-shadow:none;}
.hd-hero-paylater:empty{display:none;margin:0}
.hd-hero-paylater>*{max-width:100%}
@media(max-width:1023px){.hd-hero-paylater{width:auto;margin-left:18px;margin-right:18px}}

/* ---------- footer accordion on phones + tablet portrait (incl. iPad 1024) ---------- */
@media(max-width:1024px){
  .footer-grid{grid-template-columns:1fr!important;gap:0}
  .footer-grid>div:first-child{grid-column:auto;padding-bottom:6px}
  .footer-col.is-accordion{gap:0}
  .footer-col.is-accordion>b{
    display:flex;align-items:center;justify-content:space-between;
    margin:0;padding:14px 2px;font-size:13px;cursor:pointer;
    border-top:1px solid rgba(255,255,255,.12);
  }
  .footer-col.is-accordion>b::after{
    content:"+";font-size:17px;font-weight:400;line-height:1;color:#8fa89a;
  }
  .footer-col.is-accordion.is-open>b::after{content:"\2013"}
  .footer-col.is-accordion>ul,
  .footer-col.is-accordion>a{
    max-height:0;overflow:hidden;opacity:0;margin:0;
    transition:max-height .25s ease,opacity .2s ease;
  }
  .footer-col.is-accordion.is-open>ul{max-height:460px;opacity:1;padding:2px 2px 14px}
  .footer-col.is-accordion.is-open>a{max-height:40px;opacity:1;padding:0 2px 14px;display:block}
  .footer-col.is-accordion>ul li a{padding:7px 0;display:block;font-size:12.5px}
  .footer-col:last-of-type.is-accordion{border-bottom:1px solid rgba(255,255,255,.12)}
}

/* every checkout block shares the same width; Place order sits centred */
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review{max-width:100%}
.woocommerce-checkout #payment .form-row.place-order{
  text-align:center;margin:18px 0 0;padding:20px 0 0;border-top:1px solid var(--line);
}
/* WooCommerce floats #place_order right — override or it never centres.
   NB: no display:block!important here — PayPal renders a second #place_order and
   hides it with .ppcp-hidden, and forcing display would show both buttons. */
.woocommerce-checkout #payment #place_order{
  float:none!important;
  width:100%;max-width:240px;height:48px;
  margin:0 auto!important;padding-left:16px;padding-right:16px;white-space:nowrap;
}
.woocommerce-checkout #payment #place_order.ppcp-hidden,
.woocommerce-checkout #payment .ppcp-hidden{display:none!important}
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper{text-align:left}

/* ---------- cart totals: flex rows so the shipment block can go full width ----------
   the table's column widths kept the shipment cell pinned at 125px, so the whole
   totals table is laid out as blocks instead */
.woocommerce-cart .cart_totals table.shop_table,
.woocommerce-cart .cart_totals table.shop_table tbody{display:block;width:100%}
.woocommerce-cart .cart_totals table.shop_table tr{
  display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  width:100%;border-bottom:1px solid var(--line);
}
.woocommerce-cart .cart_totals table.shop_table tr:last-child{border-bottom:0}
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td{
  display:block;border:0;padding:13px 16px;background:none;width:auto;
}
.woocommerce-cart .cart_totals table.shop_table th{
  text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);
}
.woocommerce-cart .cart_totals table.shop_table td{text-align:right;font-weight:700}
.woocommerce-cart .cart_totals table.shop_table tr.order-total td{font-size:17px;font-weight:800}

/* shipment stacks and reads left-aligned across the full width */
.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals{
  flex-direction:column;align-items:stretch;background:#f7faf3;
}
.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals th{padding-bottom:4px}
.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals td{
  text-align:left;font-weight:400;padding-top:0;
}
.woocommerce-cart .cart_totals #shipping_method{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.woocommerce-cart .cart_totals #shipping_method li{
  display:flex;align-items:center;gap:9px;margin:0;text-align:left;
}
.woocommerce-cart .cart_totals #shipping_method li input{flex:0 0 auto;margin:0}
.woocommerce-cart .cart_totals #shipping_method li label{
  flex:1 1 auto;margin:0;text-align:left;font-size:12.5px;line-height:1.35;color:var(--ink);
}
.woocommerce-cart .cart_totals .woocommerce-shipping-destination{
  text-align:left;font-size:11.5px;line-height:1.55;color:var(--muted);margin:12px 0 0;
}
.woocommerce-cart .cart_totals .shipping-calculator-button{
  display:inline-block;margin-top:4px;font-size:12px;font-weight:800;color:var(--green);
}
.woocommerce-cart .cart_totals .shipping-calculator-form{text-align:left;margin-top:10px}

/* footer column headings in caps */
.footer-col>b{text-transform:uppercase;letter-spacing:.07em;font-size:12px}

/* order notes live in the right column next to the summary on desktop */
@media(min-width:1024px){
  .woocommerce-checkout #order_review>.woocommerce-additional-fields{
    margin:16px 0 0;padding:20px 22px;background:#fff;border:1px solid var(--line);
    border-radius:18px;box-shadow:0 6px 18px rgba(36,65,48,.04);
  }
  .woocommerce-checkout #order_review>.woocommerce-additional-fields>h3{
    font-size:14px;font-weight:800;letter-spacing:-.2px;margin:0 0 12px;
  }
}

/* product tabs: the pills are a nowrap flex row, so on phones "Additional
   information" wrapped and squashed the Reviews pill — let them wrap instead */
.woocommerce div.product .woocommerce-tabs ul.tabs{flex-wrap:wrap;row-gap:8px}
.woocommerce div.product .woocommerce-tabs ul.tabs li{flex:0 0 auto;min-width:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{display:block;white-space:nowrap}
@media(max-width:560px){
  .woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:10px 14px;font-size:11.5px}
}

/* footer bottom bar centres on phones */
@media(max-width:640px){
  .footer-bottom{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;line-height:1.8}
  .footer-bottom>span:first-child{order:2}
  .footer-bottom .pay-badges{order:1;justify-content:center;width:100%}
}

/* reviews + accounts are switched off — hide any leftover UI */
.woocommerce div.product .woocommerce-tabs li.reviews_tab,
.woocommerce div.product #reviews,
.woocommerce div.product .woocommerce-product-rating,
.p-card .p-rating{display:none!important}

/* accounts are switched off site-wide — hide any login / register UI a plugin
   or block may still print */
.woocommerce-form-login,
.woocommerce-form-register,
.woocommerce-form-login-toggle,
.woocommerce-MyAccount-navigation,
.woocommerce-checkout .create-account,
.woocommerce-checkout #createaccount,
.woocommerce-checkout label[for="createaccount"]{display:none!important}
/* the account button is printed by header.php for store admins only, so it is
   deliberately NOT hidden here — the admin view keeps its own navigation */
.woocommerce-MyAccount-navigation{display:block}

/* ---------- readable colour pass (WCAG AA on every surface) ----------
   The palette kept its hues but every colour that carries text was deepened
   until it clears 4.5:1 against the surface it actually sits on. */
:root{
  --green:#0a744c;   /* was #0d8f5b — 4.12:1, failed on white, cream, yellow and blue tints */
  --muted:#5a6a60;   /* was #68786f — failed on the yellow / blue / lime tint cards */
  --hot:#cf4218;     /* sale + cart badges, was #ff6c49 at 2.8:1 with white text */
  --info:#2563c9;    /* "new" badge, was #3b82d6 */
  --was:#6b746e;     /* struck-through old prices, was #a7b3ab at 2.2:1 */
}
.tool-btn .count{background:var(--hot)}
.p-badge.sale{background:var(--hot)}
.p-badge.new{background:var(--info)}
.p-actions .wishlisted{color:var(--hot)}
.p-price ins,
.woocommerce div.product p.price ins,
.qv-price ins{color:var(--hot)}
.p-price del,
.woocommerce div.product p.price del,
.qv-price del,
.p-price del .woocommerce-Price-currencySymbol,
.woocommerce div.product p.price del .woocommerce-Price-currencySymbol{color:var(--was)}
.stock.in-stock,
.woocommerce div.product p.stock.in-stock{color:var(--green)}
.trust .stars,
.p-rating b,
.woocommerce p.stars a,
.woocommerce .star-rating span::before,
.woocommerce .star-rating::before{color:#b8860b}
/* the wordmark sits on the dark footer, so it needs a light green, not a deep one */
.site-footer .brand strong,
.site-footer .brand span strong{color:#9be8c4}

/* ---------- header search on phones + tablets ----------
   The field is too wide for a 390px header, so below 1024 it collapses behind a
   ⌕ button and drops down full-width under the header when tapped. */
.search-toggle{display:none}
@media(max-width:1023px){
  .search-toggle{display:grid}
  .header-search{
    display:none;
    position:absolute;left:14px;right:14px;top:calc(100% + 8px);z-index:60;
  }
  .header-search.is-open{display:block}
  .header-search form{
    width:auto;height:50px;border-radius:16px;padding:0 14px;
    border-color:rgba(20,63,40,.14);box-shadow:var(--shadow-lg);
  }
  .header-search form:focus-within{width:auto}
  .header-search button{font-size:18px}
  /* 16px keeps iOS Safari from zooming the page when the field takes focus */
  .header-search input{font-size:16px;padding-left:8px}
}
.shop-empty{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 24px;margin:0 0 18px;font-size:14px;color:var(--ink)}
.shop-empty a{color:var(--green);font-weight:700}

/* ---------- checkout: breathing room around Place order ----------
   The gateway prints its own button straight after our trust badges with no
   gap, so the badges carry the spacing. Nothing here moves a gateway node —
   the margin is on our own element and on the button in place. */
.woocommerce-checkout #payment .form-row.place-order .trust-badges{margin-bottom:22px}
.woocommerce-checkout #payment .form-row.place-order{padding-bottom:4px}
.woocommerce-checkout #payment #place_order{margin-top:0!important;margin-bottom:0!important}
@media(max-width:600px){
  .woocommerce-checkout #payment .form-row.place-order .trust-badges{margin-bottom:18px}
}
