/* Primotaglio Theme — migrated from HTML templates */

/* ── CSS VARIABLES ──────────────────────────────────────────────── */
:root{
  --verde:#1a4a3a;--verde2:#22604d;--verde3:#2d7a60;
  --verde-light:rgba(26,74,58,.08);--verde-dark:#0f2e24;
  --oro:#b8860b;--oro2:#d4a017;--oro3:#f0c040;--oro-light:rgba(184,134,11,.6);
  --crema:#faf7f2;--crema2:#f3ede3;--crema3:#ede4d4;
  --avorio:#e8dcc8;--avorio2:#c8b898;
  --testo:#2c2416;--testo2:#5a4e3a;--testo3:#8a7a62;--testo4:#a89880;
  --bordo:rgba(184,134,11,.18);--bordo2:rgba(26,74,58,.15);
  --ombra:0 2px 20px rgba(44,36,22,.08);--ombra2:0 8px 40px rgba(44,36,22,.12);
}

/* ── BASE ── */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--crema);color:var(--testo);font-family:'Nunito',sans-serif;overflow-x:hidden}
.serif{font-family:'Cormorant Garamond',serif}
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif}
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:.018;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.geo-pattern{background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='rgba(184,134,11,0.07)' stroke-width='0.8'%3E%3Cpolygon points='30,5 55,20 55,40 30,55 5,40 5,20'/%3E%3Cpolygon points='30,12 48,22 48,38 30,48 12,38 12,22'/%3E%3Cline x1='30' y1='5' x2='30' y2='12'/%3E%3Cline x1='55' y1='20' x2='48' y2='22'/%3E%3Cline x1='55' y1='40' x2='48' y2='38'/%3E%3Cline x1='30' y1='55' x2='30' y2='48'/%3E%3Cline x1='5' y1='40' x2='12' y2='38'/%3E%3Cline x1='5' y1='20' x2='12' y2='22'/%3E%3C/g%3E%3C/svg%3E")}

/* ── KILL OLD THEME VISUAL ARTIFACTS ── */
.luci{display:none !important}
body::after{display:none !important}

/* ── TOPBAR (ticker) ── */
.topbar,.topbar.ticker{background:var(--verde-dark) !important;color:rgba(255,255,255,.8) !important;font-size:.72rem !important;font-weight:700 !important;letter-spacing:.08em !important;padding:.42rem 0 !important;text-align:center !important;overflow:hidden !important;border:none !important}
.topbar strong{color:var(--oro3) !important}

/* ── HEADER / NAV — override old CSS that uses #site-navigation, .nav-item etc ── */
header.site-header,
header.site-header#site-navigation,
header#site-navigation{
  background:rgba(250,247,242,.97) !important;
  backdrop-filter:blur(20px) !important;
  -webkit-backdrop-filter:blur(20px) !important;
  border-bottom:2px solid var(--avorio) !important;
  position:sticky !important;top:0 !important;z-index:500 !important;
  box-shadow:0 2px 16px rgba(44,36,22,.07) !important;
  overflow:visible !important;
}
.admin-bar header.site-header,
.admin-bar header#site-navigation{top:32px !important}
@media screen and (max-width:782px){
  .admin-bar header.site-header,
  .admin-bar header#site-navigation{top:46px !important}
}

.nav-inner{max-width:1280px !important;margin:0 auto !important;padding:0 1.5rem !important;display:flex !important;align-items:center !important;gap:.75rem !important;height:90px !important;overflow:visible !important}

/* Logo */
.nav-logo-link{display:flex !important;align-items:center !important;gap:.6rem !important;flex-shrink:0 !important;text-decoration:none !important}
.nav-logo-link img,.nav-logo-link .custom-logo,.nav-logo-img,.logo-img,.custom-logo-link img{height:66px !important;width:auto !important;object-fit:contain !important;max-width:160px !important}
/* Brand text next to logo image */
.nav-logo-brand{display:flex;flex-direction:column;line-height:1.1;flex-shrink:0}
.nav-logo-name{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:1.05rem;color:var(--verde);white-space:nowrap}
.nav-logo-sub{font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--oro);margin-top:1px}

/* Nav menu (category links) */
.nav-menu,.nav-menu.nav-cats{display:flex !important;align-items:center !important;justify-content:flex-start !important;gap:.35rem !important;flex-wrap:nowrap !important;list-style:none !important;margin:0 !important;padding:0 !important;min-width:0 !important;flex:0 1 auto !important;overflow:visible !important}

/* Nav dropdown wrapper (replaces old .nav-item) */
.nav-menu .nav-dropdown,
.nav-cats .nav-dropdown{position:relative !important;padding:0 !important;visibility:visible !important;opacity:1 !important;display:flex !important;align-items:center !important;transform:none !important;pointer-events:auto !important;min-width:0 !important;flex-shrink:0 !important}
/* Override old .nav-item styles that may bleed via .nav-dropdown */
.nav-menu .nav-dropdown::after{display:none !important;content:none !important}

/* Nav link (category pill) */
.nav-link,.nav-menu .nav-dropdown > a.nav-link{
  font-family:'Nunito',sans-serif !important;font-size:.78rem !important;font-weight:700 !important;
  letter-spacing:.03em !important;text-transform:uppercase !important;
  color:var(--testo2) !important;padding:.4rem .65rem !important;border-radius:6px !important;
  cursor:pointer !important;transition:all .18s !important;border:none !important;
  background:none !important;position:relative !important;text-decoration:none !important;
  display:flex !important;align-items:center !important;gap:.35rem !important;white-space:nowrap !important;
}
.nav-link::after{content:'' !important;position:absolute !important;bottom:4px !important;left:.9rem !important;right:.9rem !important;height:2px !important;background:var(--verde) !important;transform:scaleX(0) !important;transition:transform .2s !important;border-radius:1px !important}
.nav-link:hover::after,.nav-link.active::after,.nav-dropdown.active > .nav-link::after{transform:scaleX(1) !important}
.nav-link:hover,.nav-link.active,.nav-dropdown.active > .nav-link{color:var(--verde) !important}

/* Nav actions (right side icons) */
.nav-actions,.nav-actions.nav-right{display:flex !important;align-items:center !important;gap:.5rem !important;flex-shrink:0 !important}

/* Nav button (icon buttons) */
.nav-btn{width:40px !important;height:40px !important;border-radius:10px !important;border:1.5px solid var(--avorio) !important;background:transparent !important;cursor:pointer !important;display:flex !important;align-items:center !important;justify-content:center !important;color:var(--testo2) !important;transition:all .18s !important;position:relative !important;text-decoration:none !important;padding:0 !important}
.nav-btn:hover{background:var(--verde-light) !important;border-color:var(--bordo2) !important;color:var(--verde) !important}

/* Admin button (navbar — visible for admins only) */
.pt-admin-link{display:inline-flex !important;align-items:center !important;gap:.35rem !important;height:40px !important;padding:0 .85rem !important;border-radius:10px !important;border:1.5px solid var(--verde3) !important;background:var(--verde-light) !important;color:var(--verde) !important;font-size:.72rem !important;font-weight:700 !important;letter-spacing:.04em !important;text-transform:uppercase !important;text-decoration:none !important;cursor:pointer !important;transition:all .18s !important;white-space:nowrap !important}
.pt-admin-link:hover{background:var(--verde) !important;color:#fff !important;border-color:var(--verde) !important}
.cart-badge{position:absolute !important;top:-5px !important;right:-5px !important;background:var(--oro) !important;color:#fff !important;width:18px !important;height:18px !important;border-radius:50% !important;font-size:.6rem !important;font-weight:900 !important;display:flex !important;align-items:center !important;justify-content:center !important}

/* Dropdown menu (the panel that appears on hover) */
.nav-dropdown > .nav-dropdown-menu{
  position:absolute !important;top:100% !important;left:0 !important;
  background:#fff !important;border:1.5px solid var(--avorio) !important;border-radius:14px !important;
  box-shadow:0 8px 40px rgba(44,36,22,.14) !important;min-width:200px !important;
  opacity:0 !important;transform:translateY(-6px) !important;pointer-events:none !important;
  transition:all .2s !important;z-index:200 !important;padding-left:0 !important;padding-right:0 !important;
  overflow:hidden !important;
}
/* Invisible bridge to prevent hover gap — needs overflow:visible to work */
.nav-dropdown > .nav-dropdown-menu::before{content:'' !important;position:absolute !important;top:-20px !important;left:0 !important;right:0 !important;height:20px !important;background:transparent !important}
.nav-dropdown:hover > .nav-dropdown-menu{opacity:1 !important;transform:translateY(0) !important;pointer-events:all !important}

/* Dropdown items */
.dd-item{display:block !important;padding:.55rem 1rem !important;font-size:.83rem !important;font-weight:600 !important;color:var(--testo2) !important;transition:background .15s,color .15s !important;text-decoration:none !important}
.dd-item:hover{background:var(--verde-light) !important;color:var(--verde) !important}
.dd-item:first-child{border-radius:10px 10px 0 0}
.dd-item:last-child{border-radius:0 0 10px 10px}

/* Search bar in header — pill shape, grows to fill space between menu and actions */
.nav-search{display:flex !important;align-items:center !important;gap:.5rem !important;background:var(--crema2) !important;border:1.5px solid var(--bordo) !important;border-radius:999px !important;padding:.45rem 1rem !important;transition:border-color .2s,box-shadow .2s !important;flex:1 1 180px !important;min-width:180px !important;max-width:340px !important;box-sizing:border-box !important}
.nav-search:focus-within{border-color:var(--verde) !important;box-shadow:0 0 0 3px rgba(26,74,58,.08) !important}
.nav-search input[type="search"]{border:none !important;background:transparent !important;outline:none !important;font-size:.85rem !important;font-family:'Nunito',sans-serif !important;color:var(--testo) !important;flex:1 !important;min-width:0 !important;width:100% !important}
.nav-search input[type="search"]::placeholder{color:var(--testo3) !important}
.nav-search svg{flex-shrink:0 !important;color:var(--testo3) !important}

/* Language switcher — dropdown */
.nav-lang-dropdown { position: relative; font-size: .78rem; font-weight: 700; }
.nav-lang-current {
  display: flex; align-items: center; gap: .3rem;
  padding: .25rem .5rem; border-radius: 5px;
  background: transparent; border: none; cursor: pointer;
  color: var(--testo3); font-size: .78rem; font-weight: 700;
  transition: color .18s;
}
.nav-lang-current:hover { color: var(--verde); }
.nav-lang-chevron { transition: transform .18s; flex-shrink: 0; }
.nav-lang-dropdown.open .nav-lang-chevron { transform: rotate(180deg); }
.nav-lang-menu {
  display: none; position: absolute; top: calc(100% + .35rem); right: 0;
  background: var(--crema); border: 1.5px solid var(--bordo2);
  border-radius: 8px; box-shadow: 0 4px 18px rgba(0,0,0,.12);
  list-style: none; margin: 0; padding: 0; min-width: 70px; z-index: 9999;
   overflow: hidden;
}
.nav-lang-dropdown.open .nav-lang-menu { display: block; }
.nav-lang-menu li { padding: 0; }
.nav-lang-menu li a,
.nav-lang-menu li span {
  display: block; padding: .4rem .85rem;
  text-decoration: none; font-size: .78rem; font-weight: 700;
  color: var(--testo3); white-space: nowrap; transition: background .12s, color .12s;
  background-color: var(--crema);
}
.nav-lang-menu li a:hover { background: var(--verde-light); color: var(--verde); }
.nav-lang-menu li[aria-selected="true"] span { color: var(--verde); }

/* ── MOBILE NAV ── */
/* Hamburger button — hidden on desktop, shown on mobile */
.nav-hamburger{display:none !important}

/* Mobile menu panel */
.nav-mobile-menu{
  display:none;overflow:hidden;
  background:rgba(250,247,242,.98) !important;
  border-top:1px solid var(--avorio) !important;
  box-shadow:0 8px 24px rgba(44,36,22,.1);
}
.nav-mobile-menu.is-open{display:block}
.mobile-menu-inner{max-width:1280px;margin:0 auto;padding:1rem 1.5rem 1.5rem}

/* Mobile search inside the panel */
.mobile-search-form{display:flex;align-items:center;gap:.5rem;background:var(--crema2);border:1.5px solid var(--avorio);border-radius:10px;padding:.5rem .85rem;margin-bottom:1rem;transition:border-color .2s}
.mobile-search-form:focus-within{border-color:var(--verde)}
.mobile-search-form svg{flex-shrink:0;color:var(--testo3)}
.mobile-search-form input[type=search]{flex:1;border:none;background:transparent;outline:none;font-size:.9rem;font-family:'Nunito',sans-serif;color:var(--testo)}
.mobile-search-form input::placeholder{color:var(--testo4)}

/* Mobile nav links */
.mobile-nav-links{display:flex;flex-direction:column;gap:.2rem}
.mobile-nav-link{display:block;padding:.65rem .9rem;border-radius:8px;font-size:.9rem;font-weight:700;color:var(--testo2);text-decoration:none;transition:background .15s,color .15s}
.mobile-nav-link:hover{background:var(--verde-light);color:var(--verde)}

@media(max-width:1000px){
  /* Hide search bar before it starts compressing nav items */
  .nav-search{display:none !important}
}
@media(max-width:900px){
  /* Switch to 2-col nav: logo + right actions */
  .nav-inner{grid-template-columns:auto auto !important;justify-content:space-between !important;gap:.5rem !important}
  /* Hide desktop-only nav elements */
  .nav-menu.nav-cats{display:none !important}
  .nav-search{display:none !important}
  /* Show hamburger */
  .nav-hamburger{display:flex !important}
}

/* ── BREADCRUMB ── */
.wc-breadcrumb{background:var(--crema2);border-bottom:1px solid var(--avorio);padding:.65rem 0;font-size:.8rem;color:var(--testo3)}
.wc-breadcrumb .inner{max-width:1280px;margin:0 auto;padding:0 1.5rem}
.wc-breadcrumb a{color:var(--verde);text-decoration:none;font-weight:700}
.wc-breadcrumb a:hover{text-decoration:underline}
.wc-breadcrumb .sep{margin:0 .45rem;color:var(--avorio2)}

/* ── LAYOUT ── */
.wc-container{max-width:1280px;margin:0 auto;padding:2.5rem 0;grid-column:1/-1 !important;width:100% !important;box-sizing:border-box !important}
.wc-2col{display:grid;grid-template-columns:260px 1fr;gap:2rem;align-items:start}
.wc-checkout-grid{display:grid;grid-template-columns:1fr 380px;gap:2rem;align-items:start}
@media(max-width:960px){.wc-2col{grid-template-columns:1fr}}
@media(max-width:860px){.wc-checkout-grid{grid-template-columns:1fr}}

/* ── BUTTONS ── */
.btn-verde,.btn-primary{background:var(--verde);color:#fff;font-family:'Nunito',sans-serif;font-weight:700;font-size:.88rem;border:none;border-radius:12px;padding:11px 22px;cursor:pointer;transition:background .2s,transform .18s,box-shadow .2s;display:inline-flex;align-items:center;gap:.4rem;text-decoration:none}
.btn-verde:hover,.btn-primary:hover{background:var(--verde2);transform:translateY(-1px);box-shadow:0 6px 20px rgba(26,74,58,.25)}
.btn-oro{background:linear-gradient(135deg,var(--oro),var(--oro2));color:#fff;font-family:'Nunito',sans-serif;font-weight:700;font-size:.88rem;border:none;border-radius:12px;padding:11px 22px;cursor:pointer;transition:transform .2s,box-shadow .2s;display:inline-flex;align-items:center;gap:.4rem}
.btn-oro:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(184,134,11,.35)}
.btn-outline{background:transparent;border:1.5px solid var(--bordo2);color:var(--verde);font-family:'Nunito',sans-serif;font-weight:600;font-size:.82rem;border-radius:10px;padding:9px 20px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:.4rem;text-decoration:none}
.btn-outline:hover{background:var(--verde-light);border-color:var(--verde)}
.btn-ghost{background:transparent;border:1.5px solid var(--avorio);color:var(--testo2);font-family:'Nunito',sans-serif;font-weight:600;font-size:.78rem;border-radius:8px;padding:6px 14px;cursor:pointer;transition:all .2s}
.btn-ghost:hover{background:var(--crema2);border-color:var(--testo3)}
.btn-full{width:100%;justify-content:center;padding:13px 24px;font-size:.92rem}

/* ── WC BADGES ── */
.wc-badge{display:inline-flex;align-items:center;font-size:.6rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:4px}
.badge-halal{background:linear-gradient(135deg,var(--verde),var(--verde2));color:#fff}
.badge-new{background:linear-gradient(135deg,var(--oro),var(--oro2));color:#fff}
.badge-sale{background:#dc2626;color:#fff}

/* ── SIDEBAR ── */
.wc-sidebar .widget,.wc-sidebar .pt-widget{background:#fff;border:1.5px solid var(--avorio);border-radius:16px;padding:1.3rem;margin-bottom:1.2rem}
/* Sidebar search — matches nav-search style with icon on left */
.sidebar-search-form{display:flex;align-items:center;gap:.5rem;background:var(--crema2);border:1.5px solid var(--avorio);border-radius:10px;padding:.45rem .85rem;transition:border-color .2s}
.sidebar-search-form:focus-within{border-color:var(--verde)}
.sidebar-search-icon{flex-shrink:0;color:var(--testo3)}
.sidebar-search-input{flex:1;border:none;background:transparent;outline:none;font-size:.85rem;font-family:'Nunito',sans-serif;color:var(--testo);min-width:0}
.sidebar-search-input::placeholder{color:var(--testo4)}
.widget-title,.pt-widget-title{font-size:.82rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--verde);margin-bottom:.9rem;padding-bottom:.6rem;border-bottom:1.5px solid var(--crema3)}
.filter-row{display:flex;align-items:center;justify-content:space-between;padding:.3rem 0;font-size:.85rem;cursor:pointer;color:var(--testo2)}
.filter-row input[type=checkbox]{accent-color:var(--verde);width:14px;height:14px;margin-right:.5rem}
.filter-count{background:var(--crema3);color:var(--testo3);font-size:.68rem;font-weight:700;padding:2px 7px;border-radius:99px}
input[type=range]{-webkit-appearance:none;width:100%;height:4px;border-radius:2px;background:linear-gradient(90deg,var(--verde) 65%,var(--avorio) 65%);outline:none;cursor:pointer}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;border-radius:50%;background:var(--verde);border:2px solid #fff;box-shadow:0 1px 6px rgba(26,74,58,.4)}

/* ── WC TOOLBAR (woocommerce_before_shop_loop output) ── */
.wc-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:.75rem}
.wc-result-count{font-size:.85rem;color:var(--testo3)}
.wc-select{border:1.5px solid var(--avorio);border-radius:8px;padding:.45rem .85rem;font-size:.83rem;font-family:'Nunito',sans-serif;color:var(--testo2);background:var(--crema2);outline:none;cursor:pointer}
.wc-select:focus{border-color:var(--verde)}
/* WooCommerce toolbar — wc-hooks.php wraps result-count + ordering in .pt-shop-toolbar */
.pt-shop-toolbar{display:flex !important;align-items:center !important;justify-content:space-between !important;margin-bottom:1.5rem !important;flex-wrap:wrap !important;gap:.75rem !important}
.pt-shop-toolbar .woocommerce-result-count{font-size:.85rem !important;color:var(--testo3) !important;font-family:'Nunito',sans-serif !important;float:none !important;margin:0 !important;padding:0 !important}
.pt-shop-toolbar .woocommerce-ordering{float:none !important;margin:0 !important}
.pt-shop-toolbar .woocommerce-ordering select{border:1.5px solid var(--avorio) !important;border-radius:8px !important;padding:.45rem .85rem !important;font-size:.83rem !important;font-family:'Nunito',sans-serif !important;color:var(--testo2) !important;background:var(--crema2) !important;outline:none !important;cursor:pointer !important}
/* Content wrapper from wc-hooks.php */
.pt-main{background:transparent !important;position: relative;z-index:0;}
.pt-wc-container{max-width:100% !important;padding:0 !important;margin:0 !important}
/* wc-main layout */
.wc-main{display:block}
.wc-main > .woocommerce-notices-wrapper{margin-bottom:1rem}

/* ── WC PRODUCTS HEADER (category title/description) ── */
.woocommerce-products-header{background:var(--crema2) !important;border:1.5px solid var(--avorio) !important;border-radius:16px !important;padding:1.3rem 1.5rem !important;margin-bottom:0 !important;max-width:1280px !important;margin-left:auto !important;margin-right:auto !important;box-sizing:border-box !important}
.woocommerce-products-header__title{font-size:1.4rem !important;color:var(--verde) !important;margin-bottom:.3rem !important;font-family:'Cormorant Garamond',serif !important}
.woocommerce-products-header .term-description p{font-size:.88rem !important;color:var(--testo2) !important;margin:0 !important}

/* ── WC CONTENT WRAPPER (from woocommerce_output_content_wrapper hook) ── */
.woocommerce .content-area,.site-main{background:transparent !important}

/* ── PRODUCT LOOP (ul.products from woocommerce_product_loop_start) ── */
.wc-loop{display:grid;gap:1.4rem}
.cols-3{grid-template-columns:repeat(3,1fr)}
.cols-2{grid-template-columns:repeat(2,1fr)}
@media(max-width:680px){.cols-3,.cols-2{grid-template-columns:1fr}.nav-logo-brand{display:none !important}}
/* WooCommerce product grid — ul.products generated by the loop */
.woocommerce ul.products,
.woocommerce-page ul.products,
.wc-main ul.products{
  display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:1.4rem !important;
  list-style:none !important;padding:0 !important;margin:0 !important;
  float:none !important;width:100% !important;
}
.wc-main ul.products::before,.wc-main ul.products::after{display:none !important}
.woocommerce ul.products li.product{float:none !important;width:100% !important;margin:0 !important;padding:0 !important}
@media(max-width:960px){.woocommerce ul.products,.woocommerce-page ul.products,.wc-main ul.products{grid-template-columns:repeat(2,1fr) !important}}
@media(max-width:600px){.woocommerce ul.products,.woocommerce-page ul.products,.wc-main ul.products{grid-template-columns:1fr !important}}
.product-card{background:#fff;border:1.5px solid var(--avorio);border-radius:16px;overflow:hidden;transition:transform .28s cubic-bezier(.22,.68,0,1.2),box-shadow .28s,border-color .22s;position:relative;cursor:pointer}
/* Beat primo-taglio.css "border-radius:0 !important; overflow:visible !important; background:none !important" on ul.products li.product (0,3,2 + !important) */
.woocommerce ul.products li.product.product-card,
.woocommerce-page ul.products li.product.product-card{background:#fff !important;border:1.5px solid var(--avorio) !important;border-radius:16px !important;overflow:hidden !important;position:relative !important;cursor:pointer !important;transition:transform .28s cubic-bezier(.22,.68,0,1.2),box-shadow .28s,border-color .22s !important;display:flex !important;flex-direction:column !important}
.product-card:hover{transform:translateY(-6px) !important;box-shadow:0 20px 50px rgba(44,36,22,.22) !important;border-color:var(--bordo) !important}
.woocommerce ul.products li.product.product-card:hover,
.woocommerce-page ul.products li.product.product-card:hover{transform:translateY(-6px) !important;box-shadow:0 20px 50px rgba(44,36,22,.22) !important;border-color:var(--bordo) !important}
.pc-thumb{position:relative;overflow:hidden;background:var(--crema2)}
.pc-thumb img{width:100%;display:block;transition:transform .45s;aspect-ratio:4/3;object-fit:cover}
.product-card:hover .pc-thumb img{transform:scale(1.06) !important}
.woocommerce ul.products li.product.product-card:hover .pc-thumb img,
.woocommerce-page ul.products li.product.product-card:hover .pc-thumb img{transform:scale(1.06) !important}
.pc-badges{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;gap:5px}
.pc-wishlist{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.92);border:1.5px solid var(--avorio);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .18s;color:var(--testo3);font-size:1rem}
.pc-wishlist:hover{background:var(--verde);border-color:var(--verde);color:#fff}
.pc-wishlist.active{background:var(--verde) !important;border-color:var(--verde) !important;color:#fff !important}
.pc-wishlist.active:hover{background:var(--verde-scuro,#0f3328) !important;border-color:var(--verde-scuro,#0f3328) !important}
@keyframes pt-wish-pop{0%{transform:scale(1)}40%{transform:scale(1.45)}70%{transform:scale(.9)}100%{transform:scale(1)}}
.pc-wishlist.pt-wish-pop{animation:pt-wish-pop .38s ease}
.pt-wishlist-page{padding:.5rem 0}
.pt-wishlist-page h2{font-size:1.4rem;font-weight:700;color:var(--testo);margin-bottom:1.5rem}
.pt-wishlist-empty{color:var(--testo3);font-size:1rem}
.pc-body{padding:1rem}
.pc-cat{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--verde);margin-bottom:.3rem;display:block}
.pc-name{font-size:1rem;font-weight:600;color:var(--testo);margin-bottom:.3rem;line-height:1.3;transition:color .15s}
.pc-name a{color:inherit;text-decoration:none}
.product-card:hover .pc-name,.product-card:hover .pc-name a{color:var(--verde)}
.pc-price{font-size:1.1rem;font-weight:800;color:var(--oro);margin-bottom:.6rem;font-family:'Cormorant Garamond',serif}
.pc-price del{color:var(--testo4);font-size:.82rem;font-weight:400;margin-right:.3rem;font-family:'Nunito',sans-serif}
.pc-stock{font-size:.72rem;font-weight:700;margin-bottom:.6rem}
.stock-ok{color:#16a34a}.stock-low{color:#d97706}.stock-no{color:#dc2626}
.pc-sku{font-size:.68rem;color:var(--testo4);margin-top:.4rem}
.pc-add,
.product-card .button,
.product-card .add_to_cart_button,
.product-card a.button.add_to_cart_button,
.woocommerce ul.products li.product-card .button,
.woocommerce ul.products li.product-card a.button,
.woocommerce ul.products li.product-card .add_to_cart_button,
.woocommerce ul.products li.product.product-card .button.add_to_cart_button,
.woocommerce ul.products li.product.product-card a.button.add_to_cart_button{width:100% !important;padding:.7rem !important;border-radius:8px !important;border:none !important;background:var(--verde) !important;color:#fff !important;font-family:'Nunito',sans-serif !important;font-size:.83rem !important;font-weight:700 !important;letter-spacing:.04em !important;text-transform:uppercase !important;cursor:pointer !important;transition:background .18s,transform .15s !important;display:flex !important;align-items:center !important;justify-content:center !important;gap:.5rem !important;text-decoration:none !important;box-sizing:border-box !important;margin:0 !important}
.pc-add:hover,
.product-card .button:hover,
.product-card .add_to_cart_button:hover,
.woocommerce ul.products li.product-card .button:hover,
.woocommerce ul.products li.product-card a.button:hover{background:var(--verde2) !important;transform:translateY(-1px) !important}

/* ── PAGINATION ── */
.wc-pagination{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:2rem}
.page-n{width:38px;height:38px;border-radius:9px;border:1.5px solid var(--avorio);background:transparent;cursor:pointer;font-size:.88rem;font-weight:700;color:var(--testo2);display:flex;align-items:center;justify-content:center;transition:all .18s;font-family:'Nunito',sans-serif}
.page-n:hover{border-color:var(--verde);color:var(--verde);background:var(--verde-light)}
.page-n.current{background:var(--verde);color:#fff;border-color:var(--verde)}

/* ── FORMS ── */
.wc-input{width:100%;padding:.7rem 1rem;border:1.5px solid var(--avorio);border-radius:10px;font-size:.9rem;font-family:'Nunito',sans-serif;color:var(--testo);background:var(--crema2);outline:none;transition:border-color .2s,box-shadow .2s}
.wc-input:focus{border-color:var(--verde);box-shadow:0 0 0 3px rgba(26,74,58,.1)}
.wc-input::placeholder{color:var(--testo4)}
.wc-label{display:block;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--testo2);margin-bottom:.4rem}
.wc-label .req{color:#dc2626}
.field-group{margin-bottom:.9rem}
.field-row-2{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}

/* ── RADIO CARD ── */
.r-card{border:1.5px solid var(--avorio);border-radius:12px;padding:.85rem 1rem;display:flex;align-items:center;gap:.7rem;cursor:pointer;margin-bottom:.5rem;transition:all .18s}
.r-card:hover{border-color:var(--bordo2);background:var(--verde-light)}
.r-card.sel{border-color:var(--verde);background:rgba(26,74,58,.06)}
.r-card input[type=radio]{accent-color:var(--verde);width:15px;height:15px;flex-shrink:0}
.r-icon{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}

/* ── PAYMENT BOX ── */
.pay-box{border:1.5px solid var(--avorio);border-radius:12px;padding:.85rem 1rem;cursor:pointer;margin-bottom:.5rem;transition:all .18s}
.pay-box.sel{border-color:var(--verde);background:rgba(26,74,58,.06)}
.pay-box label{display:flex;align-items:center;gap:.7rem;cursor:pointer;font-weight:700;font-size:.9rem;color:var(--testo)}
.pay-box input[type=radio]{accent-color:var(--verde)}
.pay-detail{display:none;padding:.8rem 0 0 1.6rem;font-size:.82rem;color:var(--testo3);line-height:1.6}
.pay-box.sel .pay-detail{display:block}

/* ── ORDER BOX (right column) ── */
.order-box{background:#fff;border:1.5px solid var(--avorio);border-radius:18px;padding:1.5rem;position:sticky;top:96px}
.order-box h3{font-size:1.1rem;color:var(--verde);margin-bottom:1rem;padding-bottom:.7rem;border-bottom:1.5px solid var(--crema3)}
.order-item{display:flex;align-items:center;gap:.75rem;padding:.6rem 0;border-bottom:1px solid var(--crema3)}
.order-item:last-of-type{border-bottom:none}
.order-item img{width:52px;height:52px;object-fit:cover;border-radius:9px;border:1.5px solid var(--avorio);flex-shrink:0}
.order-item .item-info{flex:1;min-width:0}
.order-item .item-name{font-size:.85rem;font-weight:700;color:var(--testo)}
.order-item .item-meta{font-size:.72rem;color:var(--testo3);margin-top:2px}
.order-item .item-price{font-weight:800;color:var(--oro);font-family:'Cormorant Garamond',serif;flex-shrink:0}
.order-totals-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.88rem;color:var(--testo2);border-bottom:1px solid var(--crema3)}
.order-totals-row:last-of-type{border-bottom:none;padding-top:.8rem;margin-top:.2rem}

/* ── CART TABLE ── */
.cart-table{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden;border:1.5px solid var(--avorio)}
.cart-table th{background:var(--crema2);padding:.8rem 1.2rem;font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--testo3);text-align:left;border-bottom:2px solid var(--avorio)}
.cart-table td{padding:.9rem 1.2rem;border-bottom:1px solid var(--crema3);vertical-align:middle}
.cart-table tr:last-child td{border-bottom:none}
.cart-qty{display:flex;align-items:center;border:1.5px solid var(--avorio);border-radius:9px;overflow:hidden;background:#fff}
.cart-qty button{width:32px;height:34px;border:none;background:transparent;cursor:pointer;color:var(--verde);font-size:1rem;transition:background .15s;display:flex;align-items:center;justify-content:center}
.cart-qty button:hover{background:var(--verde-light)}
.cart-qty input{width:42px;border:none;text-align:center;font-size:.88rem;font-weight:700;color:var(--testo);font-family:'Nunito',sans-serif;outline:none;background:transparent}
.cart-price{font-weight:800;color:var(--oro);font-family:'Cormorant Garamond',serif}
.remove-btn{width:26px;height:26px;border-radius:50%;background:var(--crema2);border:1.5px solid var(--avorio);color:var(--testo3);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .18s;font-size:.82rem}
.remove-btn:hover{background:#dc2626;border-color:#dc2626;color:#fff}

/* ── TOTALS SIDEBAR ── */
.cart-totals{background:#fff;border:1.5px solid var(--avorio);border-radius:18px;padding:1.5rem;position:sticky;top:96px}
.cart-totals h3{font-size:1.1rem;color:var(--verde);margin-bottom:1rem;padding-bottom:.7rem;border-bottom:1.5px solid var(--crema3)}
.totals-row{display:flex;justify-content:space-between;align-items:center;padding:.55rem 0;font-size:.88rem;color:var(--testo2);border-bottom:1px solid var(--crema3)}
.totals-row:last-of-type{border-bottom:none}

/* ── CART 2-COLUMN LAYOUT ── */
.pt-cart-2col{display:grid !important;grid-template-columns:1fr 360px !important;gap:2rem !important;align-items:start !important}
.pt-cart-main{min-width:0 !important}
.pt-cart-sidebar .woocommerce .cart_totals,
.pt-cart-sidebar .cart_totals{position:sticky !important;top:96px !important}
@media(max-width:860px){.pt-cart-2col{grid-template-columns:1fr !important}}

/* ── SINGLE PRODUCT ── */

/* 2-column grid: gallery + info */
.sp-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
@media(max-width:860px){.sp-grid{grid-template-columns:1fr}}

/* Override old WC product flex/grid layout */
.woocommerce div.product.pt-single-product,
.woocommerce div.product.pt-single-product.product{display:block !important;gap:0 !important;flex-wrap:nowrap !important;grid-template-columns:none !important}
.woocommerce div.product.pt-single-product .woocommerce-product-gallery{grid-column:unset !important;max-width:100% !important;width:100% !important;float:none !important}
.woocommerce div.product.pt-single-product .summary{grid-column:unset !important;width:100% !important;float:none !important}

/* Gallery column */
.sp-gallery{position:relative}
.sp-gallery .woocommerce-product-gallery{width:100% !important;float:none !important;max-width:100% !important;margin:0 !important}
.sp-gallery .woocommerce-product-gallery__wrapper{margin:0 !important}
.sp-gallery .woocommerce-product-gallery .woocommerce-product-gallery__image img,
.sp-gallery .woocommerce-product-gallery img{width:100% !important;display:block !important;border-radius:16px !important;border:1.5px solid var(--avorio) !important;aspect-ratio:1 !important;object-fit:cover !important}
.sp-gallery .flex-control-thumbs{display:flex !important;gap:.6rem !important;margin-top:.7rem !important;list-style:none !important;padding:0 !important;flex-wrap:wrap !important}
.sp-gallery .flex-control-thumbs li{width:70px !important;height:70px !important;border-radius:9px !important;overflow:hidden !important;border:2px solid transparent !important;cursor:pointer !important;transition:border-color .18s !important;flex-shrink:0 !important}
.sp-gallery .flex-control-thumbs li:hover,.sp-gallery .flex-control-thumbs li .flex-active{border-color:var(--verde) !important}
.sp-gallery .flex-control-thumbs li img{width:100% !important;height:100% !important;object-fit:cover !important}
/* Hide WC gallery nav arrows */
.sp-gallery .flex-direction-nav{display:none !important}
/* Sale flash inside gallery */
.sp-gallery .onsale{position:absolute !important;top:12px !important;left:12px !important;z-index:5 !important;background:#dc2626 !important;border-radius:4px !important;padding:3px 8px !important;font-size:.6rem !important;min-height:unset !important;min-width:unset !important;line-height:1.6 !important}

/* Standalone gallery classes */
.gallery-main{border-radius:16px;overflow:hidden;border:1.5px solid var(--avorio);background:var(--crema2)}
.gallery-main img{width:100%;display:block;aspect-ratio:1;object-fit:cover}
.gallery-thumbs{display:flex;gap:.6rem;margin-top:.7rem;flex-wrap:wrap}
.g-thumb{width:70px;height:70px;border-radius:9px;overflow:hidden;border:2px solid transparent;cursor:pointer;transition:border-color .18s;flex-shrink:0}
.g-thumb:hover,.g-thumb.active{border-color:var(--verde)}
.g-thumb img{width:100%;height:100%;object-fit:cover}

/* Info column */
.sp-info{padding:0 !important;width:100% !important;float:none !important;flex:none !important}
.sp-badges-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.7rem;flex-wrap:wrap}
.sp-cat-link{font-size:.75rem;font-weight:700;color:var(--verde);text-decoration:none;letter-spacing:.04em}
.sp-cat-link:hover{text-decoration:underline}
.sp-title{font-size:2rem;font-weight:700;color:var(--testo);margin-bottom:.5rem;line-height:1.2}
.sp-rating-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}
.sp-rating-row .star-rating{color:var(--oro);letter-spacing:.05em;font-size:.9rem}
.sp-price{margin-bottom:1rem}
.sp-price .price{font-size:2.1rem !important;font-weight:800 !important;color:var(--oro) !important;font-family:'Cormorant Garamond',serif !important}
.sp-price .price del{font-size:1.2rem !important;color:var(--testo4) !important;font-weight:400 !important;margin-right:.5rem !important}
.sp-excerpt{border-top:1px solid var(--crema3);border-bottom:1px solid var(--crema3);padding:1rem 0;margin:1rem 0}
.sp-excerpt p,.sp-excerpt .woocommerce-product-details__short-description p{font-size:.9rem;line-height:1.7;color:var(--testo2);margin:0}
.sp-meta{margin:.5rem 0}
.sp-meta-row{font-size:.82rem;color:var(--testo3);margin:.3rem 0}
.sp-meta-row strong{color:var(--testo2)}
.sp-meta-row a{color:var(--verde);text-decoration:none;font-weight:600}
.sp-meta-row a:hover{text-decoration:underline}
.sp-divider{height:1px;background:var(--avorio);margin:.9rem 0}

/* Stock status in single product — hide WC default, we show our own */
.sp-info .pc-stock,.pt-single-product .pc-stock{font-size:.82rem !important;font-weight:700 !important;margin:.6rem 0 !important}
.sp-info .stock-ok{color:#16a34a !important}.sp-info .stock-low{color:#d97706 !important}.sp-info .stock-no{color:#dc2626 !important}
.sp-info > p.stock,.woocommerce div.product.pt-single-product > .wc-container p.stock,
.pt-single-product .sp-info > p.stock{display:none !important}

/* Add to cart form in single product */
.sp-info .cart,.sp-info form.cart,.woocommerce div.product.pt-single-product form.cart{display:flex !important;flex-direction:row !important;align-items:center !important;gap:.8rem !important;margin-bottom:1rem !important;flex-wrap:wrap !important}
.sp-info .quantity,.woocommerce div.product.pt-single-product .quantity{display:flex !important;align-items:center !important;border:1.5px solid var(--avorio) !important;border-radius:10px !important;overflow:hidden !important;background:#fff !important;float:none !important}
.sp-info .quantity .qty,.woocommerce div.product.pt-single-product .quantity .qty{width:52px !important;border:none !important;text-align:center !important;font-size:1rem !important;font-weight:700 !important;color:var(--testo) !important;font-family:'Nunito',sans-serif !important;outline:none !important;background:transparent !important;height:44px !important;line-height:44px !important;-moz-appearance:textfield !important;padding:0 !important}
.sp-info .quantity .qty::-webkit-inner-spin-button,.sp-info .quantity .qty::-webkit-outer-spin-button{-webkit-appearance:none !important;margin:0 !important}
/* Qty stepper −/+ buttons injected via JS */
.sp-info .quantity .pt-qty-btn,.woocommerce div.product.pt-single-product .quantity .pt-qty-btn{width:42px !important;height:44px !important;border:none !important;background:transparent !important;font-size:1.2rem !important;cursor:pointer !important;color:var(--verde) !important;transition:background .15s !important;flex-shrink:0 !important;display:flex !important;align-items:center !important;justify-content:center !important;padding:0 !important;font-family:'Nunito',sans-serif !important;font-weight:400 !important}
.sp-info .quantity .pt-qty-btn:hover,.woocommerce div.product.pt-single-product .quantity .pt-qty-btn:hover{background:var(--verde-light) !important}
.sp-info .single_add_to_cart_button,.woocommerce div.product.pt-single-product .single_add_to_cart_button{flex:1 !important;justify-content:center !important;padding:.82rem 1.2rem !important;font-size:.9rem !important;background:var(--verde) !important;color:#fff !important;border:none !important;border-radius:12px !important;font-family:'Nunito',sans-serif !important;font-weight:700 !important;cursor:pointer !important;transition:background .2s,transform .18s !important;display:inline-flex !important;align-items:center !important;gap:.4rem !important;text-transform:none !important;letter-spacing:normal !important}
.sp-info .single_add_to_cart_button:hover,.woocommerce div.product.pt-single-product .single_add_to_cart_button:hover{background:var(--verde2) !important;transform:translateY(-1px) !important;box-shadow:0 6px 20px rgba(26,74,58,.25) !important}

/* Trust badges */
.sp-trust{display:flex;flex-wrap:wrap;gap:.6rem;font-size:.72rem;color:var(--testo3);font-weight:700;margin-top:.5rem}
.sp-trust-item{display:flex;align-items:center;gap:.3rem}

/* Star rating */
.star-rating,.woocommerce .star-rating{color:var(--oro);letter-spacing:.05em}

/* ── Tabs ── */
.woocommerce-tabs{margin-top:3rem !important;width:100% !important;clear:both !important;display:block !important;flex-direction:unset !important;border-bottom:none !important;margin-bottom:0 !important}
.wc-tabs,.woocommerce div.product .woocommerce-tabs ul.tabs{border-bottom:2px solid var(--avorio) !important;display:flex !important;gap:0 !important;margin-bottom:1.5rem !important;padding:0 !important;list-style:none !important;background:none !important}
.wc-tabs::before,.wc-tabs::after,.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs::after{display:none !important}
.wc-tab,.woocommerce div.product .woocommerce-tabs ul.tabs li{padding:0 !important;margin:0 !important;border:none !important;background:none !important;border-radius:0 !important}
.wc-tab,.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:.65rem 1.3rem !important;font-size:.85rem !important;font-weight:700 !important;cursor:pointer !important;color:var(--testo3) !important;border-bottom:3px solid transparent !important;margin-bottom:-2px !important;transition:all .18s !important;border-top:none !important;border-left:none !important;border-right:none !important;background:none !important;font-family:'Nunito',sans-serif !important;text-decoration:none !important;display:block !important;outline:none !important;box-shadow:none !important}
.wc-tab.active,.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--verde) !important;border-bottom-color:var(--verde) !important}
.wc-tab:hover,.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{color:var(--verde) !important}
.woocommerce div.product .woocommerce-tabs .panel,.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel{margin:0 !important;padding:0 !important;border:none !important;background:transparent !important;border-radius:0 !important}
/* Tab panels — only show active (toggled by JS below) */
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel{display:none !important}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel.pt-active{display:block !important}
.woocommerce div.product .woocommerce-tabs .panel h2{font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--testo);margin-bottom:1rem}
.woocommerce div.product .woocommerce-tabs .panel p{font-size:.9rem;line-height:1.75;color:var(--testo2);margin-bottom:.8rem}
.tab-panel{display:none}.tab-panel.active{display:block}

/* Related products */
.woocommerce div.product .related.products,
.woocommerce div.product .upsells.products{margin-top:3rem !important;width:100% !important;border-top:none !important;padding-top:0 !important}
.woocommerce div.product .related.products > h2,
.woocommerce div.product .upsells.products > h2{font-family:'Cormorant Garamond',serif !important;font-size:1.6rem !important;color:var(--testo) !important;margin-bottom:1.5rem !important;font-weight:700 !important}
.tab-panel p{font-size:.9rem;line-height:1.75;color:var(--testo2);margin-bottom:.8rem}
.attr-table,.woocommerce div.product .woocommerce-tabs .shop_attributes{width:100% !important;border-collapse:collapse !important;font-size:.88rem !important;border:none !important}
.attr-table th,.attr-table td,.woocommerce div.product .woocommerce-tabs .shop_attributes th,.woocommerce div.product .woocommerce-tabs .shop_attributes td{padding:.6rem .9rem !important;text-align:left !important;border-bottom:1px solid var(--crema3) !important;border-top:none !important}
.attr-table th,.woocommerce div.product .woocommerce-tabs .shop_attributes th{background:var(--crema2) !important;font-weight:700 !important;color:var(--testo2) !important;width:35% !important}
.attr-table td,.woocommerce div.product .woocommerce-tabs .shop_attributes td{color:var(--testo3) !important;background:transparent !important}
.qty-group{display:flex;align-items:center;border:1.5px solid var(--avorio);border-radius:10px;overflow:hidden;background:#fff}
.qty-group button{width:42px;height:44px;border:none;background:transparent;font-size:1.1rem;cursor:pointer;color:var(--verde);transition:background .15s}
.qty-group button:hover{background:var(--verde-light)}
.qty-group input{width:52px;border:none;text-align:center;font-size:1rem;font-weight:700;color:var(--testo);font-family:'Nunito',sans-serif;outline:none;background:transparent}

/* ── MY ACCOUNT ── */
.account-nav{background:#fff;border:1.5px solid var(--avorio);border-radius:16px;overflow:hidden}
.account-nav-item{display:flex;align-items:center;gap:.75rem;padding:.82rem 1.2rem;cursor:pointer;border-bottom:1px solid var(--crema3);font-size:.88rem;font-weight:700;color:var(--testo2);transition:all .18s;border-left:3px solid transparent}
.account-nav-item:last-child{border-bottom:none}
.account-nav-item:hover,.account-nav-item.active{background:var(--verde-light);color:var(--verde);border-left-color:var(--verde)}
.account-content{background:#fff;border:1.5px solid var(--avorio);border-radius:16px;padding:1.6rem}
.account-section{display:none}.account-section.active{display:block}
.orders-table{width:100%;border-collapse:collapse}
.orders-table th{font-size:.72rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--testo3);padding:.7rem .9rem;text-align:left;border-bottom:2px solid var(--avorio)}
.orders-table td{padding:.8rem .9rem;border-bottom:1px solid var(--crema3);font-size:.86rem;color:var(--testo2);vertical-align:middle}
.orders-table tr:last-child td{border-bottom:none}
.orders-table tbody tr:hover{background:var(--crema2)}
.order-status{display:inline-flex;align-items:center;font-size:.68rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;padding:3px 9px;border-radius:4px;white-space:nowrap}
.os-comp{background:#dcfce7;color:#14532d}.os-ship{background:#dbeafe;color:#1e3a8a}.os-wait{background:#fef9c3;color:#713f12}.os-can{background:#fee2e2;color:#7f1d1d}

/* ── ORDER CONFIRM ── */
.confirm-icon{width:80px;height:80px;border-radius:50%;background:var(--verde);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;box-shadow:0 8px 24px rgba(26,74,58,.3)}
.confirm-detail-box{background:var(--crema2);border:1.5px solid var(--avorio);border-radius:12px;padding:1rem}
.confirm-detail-box h4{font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--testo3);margin-bottom:.5rem;font-family:'Nunito',sans-serif}

/* ── FOOTER ── */
.site-footer {
  background: var(--verde) !important;
  color: rgba(255,255,255,.8) !important;
  padding: 3.5rem 1.5rem 1.5rem !important;
  margin-top: 0 !important;
  border-top: none !important;
}
.footer-inner {
  max-width: 1280px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1.6fr 1fr 1fr 1fr !important;
  gap: 2.5rem !important;
  margin-bottom: 2.5rem !important;
  padding: 0 !important;
}
@media (max-width: 900px) { .footer-inner { grid-template-columns: 1fr 1fr !important; } }
@media (max-width: 540px) { .footer-inner { grid-template-columns: 1fr !important; } }
.footer-col-title {
  font-size: .78rem !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--oro3) !important;
  margin-bottom: .9rem !important;
  font-family: 'Nunito', sans-serif !important;
}
.footer-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin-bottom: .85rem !important;
}
.footer-brand-desc {
  font-size: .83rem !important;
  line-height: 1.6 !important;
  color: rgba(255,255,255,.7) !important;
  margin-bottom: 1rem !important;
}
.footer-link {
  display: block !important;
  font-size: .83rem !important;
  padding: .22rem 0 !important;
  color: rgba(255,255,255,.6) !important;
  cursor: pointer !important;
  transition: color .15s !important;
  text-decoration: none !important;
}
.footer-link:hover { color: var(--oro3) !important; }
.footer-links { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.footer-links li { margin-bottom: .4rem !important; }
.footer-links li a {
  color: rgba(255,255,255,.6) !important;
  font-size: .83rem !important;
  transition: color .15s !important;
  text-decoration: none !important;
  display: block !important;
  padding: .22rem 0 !important;
}
.footer-links li a:hover { color: var(--oro3) !important; padding-left: 0 !important; }
.footer-badge-wrap { margin-top: 1rem !important; }
.foot-badge,
.foot-halal-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  background: rgba(255,255,255,.1) !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  border-radius: 8px !important;
  padding: 5px 12px !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.8) !important;
}
.footer-social { display: flex !important; gap: .5rem !important; margin-top: 1rem !important; }
.footer-social-btn,
.soc-btn {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: rgba(255,255,255,.55) !important;
  transition: all .18s !important;
  text-decoration: none !important;
  background: transparent !important;
}
.footer-social-btn:hover,
.soc-btn:hover {
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.4) !important;
  color: #fff !important;
}
.footer-store-block {
  font-size: .83rem !important;
  line-height: 1.6 !important;
  color: rgba(255,255,255,.7) !important;
  margin-bottom: 1.2rem !important;
}
.footer-store-block strong { color: #fff !important; }
.footer-stores { display: flex !important; flex-direction: column !important; gap: .5rem !important; }
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,.12) !important;
  padding-top: 1.2rem !important;
  padding-bottom: 1.2rem !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}
.footer-bottom-inner {
  max-width: 1280px !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: .5rem !important;
  font-size: .75rem !important;
  color: rgba(255,255,255,.35) !important;
}
.footer-credit-link { color: var(--oro2) !important; text-decoration: none !important; }
.footer-credit-link:hover { color: var(--oro3) !important; }
@media (max-width: 900px) {
  .footer-bottom-inner { flex-direction: column !important; text-align: center !important; }
}

/* ── TOAST ── */
#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(80px);background:var(--verde);border-radius:999px;padding:11px 22px;font-size:.83rem;font-weight:700;color:#fff;z-index:600;transition:transform .35s cubic-bezier(.22,.68,0,1.2);white-space:nowrap;box-shadow:0 8px 28px rgba(26,74,58,.4)}
#toast.show{transform:translateX(-50%) translateY(0)}

/* ── MINI CART DRAWER ── */
.minicart{position:fixed;top:0;right:0;width:min(420px,100vw);height:100vh;background:#fff;border-left:2px solid var(--avorio);z-index:500;transform:translateX(100%);transition:transform .42s cubic-bezier(.22,.68,0,1.15);display:flex;flex-direction:column;box-shadow:-8px 0 40px rgba(44,36,22,.12)}
.minicart.open{transform:translateX(0)}
.minicart-ov{position:fixed;inset:0;background:rgba(44,36,22,.35);z-index:499;opacity:0;pointer-events:none;transition:opacity .3s}
.minicart-ov.open{opacity:1;pointer-events:all}
.mc-item{display:flex;gap:.9rem;padding:.9rem 0;border-bottom:1px solid var(--crema3)}
.mc-item img{width:56px;height:56px;object-fit:cover;border-radius:9px;border:1.5px solid var(--avorio);flex-shrink:0}

/* ── UTILS ── */
.divider{height:1px;background:var(--avorio);margin:1rem 0}
.trust-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:.8rem}
.trust-item{display:flex;align-items:center;gap:.35rem;font-size:.72rem;color:var(--testo3);font-weight:700}
::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--crema2)}::-webkit-scrollbar-thumb{background:var(--avorio2);border-radius:3px}

/* ── HERO SLIDER (index.html) ── */
.hero{position:relative;width:100%;height:90vh;min-height:520px;overflow:hidden}
.slides{display:flex;height:100%;transition:transform .85s cubic-bezier(.77,0,.175,1)}
.slide{min-width:100%;height:100%;position:relative;flex-shrink:0;overflow:hidden}
.slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 8s ease}
.slide.active img{transform:scale(1)}
.slide-ov{position:absolute;inset:0;background:linear-gradient(110deg,rgba(15,46,36,.82) 0%,rgba(15,46,36,.38) 55%,rgba(15,46,36,.08) 100%)}
.slide-c{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:0 8vw;max-width:760px}
.s-tag{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--oro3);margin-bottom:1rem;opacity:0;transform:translateY(16px);transition:opacity .6s .3s,transform .6s .3s}
.slide.active .s-tag{opacity:1;transform:translateY(0)}
.s-h{font-family:'Cormorant Garamond',serif;font-weight:700;line-height:1.02;color:#fff;margin-bottom:.9rem;opacity:0;transform:translateY(20px);transition:opacity .6s .44s,transform .6s .44s}
.slide.active .s-h{opacity:1;transform:translateY(0)}
.s-p{font-size:.97rem;line-height:1.65;color:rgba(255,255,255,.72);max-width:460px;margin-bottom:1.6rem;opacity:0;transform:translateY(16px);transition:opacity .6s .56s,transform .6s .56s}
.slide.active .s-p{opacity:1;transform:translateY(0)}
.s-cta{opacity:0;transform:translateY(14px);transition:opacity .6s .66s,transform .6s .66s}
.slide.active .s-cta{opacity:1;transform:translateY(0)}
.slide-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:48px;height:48px;border-radius:50%;background:rgba(250,247,242,.15);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s;color:#fff;border:none}
.slide-arrow:hover{background:rgba(250,247,242,.3);transform:translateY(-50%) scale(1.08)}
.arrow-prev{left:24px}.arrow-next{right:24px}
.slide-dots{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:10}
.dot{width:26px;height:3px;border-radius:2px;background:rgba(255,255,255,.3);cursor:pointer;transition:all .35s;border:none}
.dot.active{background:var(--oro3);width:46px}
.slide-progress{position:absolute;bottom:0;left:0;height:3px;background:linear-gradient(90deg,var(--verde3),var(--oro2));z-index:10;transition:width linear}
.slide-badge{position:absolute;top:24px;right:24px;background:rgba(250,247,242,.15);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:6px 14px;font-size:.63rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.trust-bar{background:var(--verde-dark);padding:.75rem 1rem}
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
@media(max-width:700px){.cat-grid{grid-template-columns:repeat(2,1fr)}}
.cat-tile{border-radius:16px;overflow:hidden;position:relative;cursor:pointer;height:260px;display:block;text-decoration:none}
.cat-tile img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
.cat-tile:hover img{transform:scale(1.07)}
.cat-tile .overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,46,36,.85) 0%,transparent 55%)}
.cat-tile .label{position:absolute;bottom:0;left:0;right:0;padding:1rem .9rem .85rem}
.ara-line{display:flex;align-items:center;gap:12px;margin-bottom:.5rem}
.ara-line::before,.ara-line::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--bordo))}
.ara-line::after{background:linear-gradient(90deg,var(--bordo),transparent)}
.halal-strip{background:var(--verde);padding:2.5rem 1.5rem;text-align:center}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.fu1{animation:fadeUp .65s .06s ease forwards;opacity:0}
.fu2{animation:fadeUp .65s .16s ease forwards;opacity:0}

/* ── WOOCOMMERCE OVERRIDES ─────────────────────────────────────── */

/* Buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.single_add_to_cart_button {
  background: var(--verde) !important;
  color: #fff !important;
  border-radius: 12px !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 700 !important;
  border: none !important;
  padding: 11px 22px !important;
  transition: background .2s, transform .18s !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.single_add_to_cart_button:hover {
  background: var(--verde2) !important;
  transform: translateY(-1px) !important;
}

/* Prices */
.woocommerce .price,
.woocommerce-Price-amount {
  color: var(--oro);
  font-family: 'Cormorant Garamond', serif;
  font-weight: 800;
}

/* Sale badge */
.woocommerce span.onsale {
  background: #dc2626;
  border-radius: 4px;
  min-height: unset;
  min-width: unset;
  padding: 3px 8px;
  line-height: 1.6;
}

/* Form fields */
.woocommerce-input-wrapper input,
.woocommerce-input-wrapper select,
.woocommerce-input-wrapper textarea,
.woocommerce form .input-text {
  border: 1.5px solid var(--avorio) !important;
  border-radius: 10px !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: .9rem !important;
  color: var(--testo) !important;
  background: var(--crema2) !important;
  outline: none !important;
  padding: .7rem 1rem !important;
}
.woocommerce-input-wrapper input:focus,
.woocommerce form .input-text:focus {
  border-color: var(--verde) !important;
  box-shadow: 0 0 0 3px rgba(26,74,58,.1) !important;
}

/* Product loop */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.4rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
@media (max-width: 960px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 600px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: 1fr;
  }
}

/* Product thumbnails in loop */
.woocommerce ul.products li.product .product-card .woocommerce-loop-product__link img,
.product-card .pc-thumb img,
.product-card .pc-thumb .wp-post-image {
  width: 100%;
  display: block;
  aspect-ratio: 4/3;
  object-fit: cover;
  transition: transform .45s;
}

/* Notices */
.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
  border-top-color: var(--verde) !important;
  background: var(--crema2) !important;
  color: var(--testo2) !important;
  border-radius: 12px !important;
  font-family: 'Nunito', sans-serif !important;
}
.woocommerce-error { border-top-color: #dc2626 !important; }

/* Pagination */
.woocommerce nav.woocommerce-pagination ul {
  border: none !important;
}
.woocommerce nav.woocommerce-pagination ul li {
  border: none !important;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  width: 38px;
  height: 38px;
  border-radius: 9px !important;
  border: 1.5px solid var(--avorio) !important;
  background: transparent !important;
  font-weight: 700 !important;
  color: var(--testo2) !important;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Nunito', sans-serif;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--verde) !important;
  color: #fff !important;
  border-color: var(--verde) !important;
}

/* Star ratings */
.woocommerce .star-rating span::before,
.woocommerce .star-rating::before {
  color: var(--oro);
}

/* Breadcrumb */
.woocommerce .woocommerce-breadcrumb {
  font-size: .8rem;
  color: var(--testo3);
  background: var(--crema2);
  padding: 0;
  margin: 0;
  border-bottom: 1px solid var(--avorio);
}
/* Inner wrapper aligns breadcrumb text with page content (same as .wc-container) */
.woocommerce .woocommerce-breadcrumb .pt-bc-inner {
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
  padding: .65rem 1.5rem;
}
.woocommerce .woocommerce-breadcrumb a {
  color: var(--verde);
  font-weight: 700;
  text-decoration: none;
}

/* Ordering select */
.woocommerce-ordering select {
  border: 1.5px solid var(--avorio) !important;
  border-radius: 8px !important;
  padding: .45rem .85rem !important;
  font-size: .83rem !important;
  font-family: 'Nunito', sans-serif !important;
  color: var(--testo2) !important;
  background: var(--crema2) !important;
  outline: none !important;
  cursor: pointer !important;
}

/* Cart table */
.woocommerce table.shop_table {
  border: 1.5px solid var(--avorio) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: #fff !important;
  font-family: 'Nunito', sans-serif !important;
}
.woocommerce table.shop_table th {
  background: var(--crema2) !important;
  padding: .8rem 1.2rem !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--testo3) !important;
  border-bottom: 2px solid var(--avorio) !important;
}
.woocommerce table.shop_table td {
  padding: .9rem 1.2rem !important;
  border-bottom: 1px solid var(--crema3) !important;
  vertical-align: middle !important;
}
.woocommerce table.cart .product-thumbnail img {
  width: 72px !important;
  height: 72px !important;
  object-fit: cover !important;
  border-radius: 9px !important;
  border: 1.5px solid var(--avorio) !important;
}

/* Cart totals */
.woocommerce .cart_totals,
.cart-totals {
  background: #fff !important;
  border: 1.5px solid var(--avorio) !important;
  border-radius: 18px !important;
  padding: 1.5rem !important;
}
.woocommerce .cart_totals h2,
.cart-totals h3 {
  font-size: 1.1rem !important;
  color: var(--verde) !important;
  margin-bottom: 1rem !important;
  padding-bottom: .7rem !important;
  border-bottom: 1.5px solid var(--crema3) !important;
}

/* Checkout */
.woocommerce-checkout #customer_details,
.woocommerce-checkout .woocommerce-checkout-review-order {
  background: #fff;
  border: 1.5px solid var(--avorio);
  border-radius: 18px;
  padding: 1.5rem;
}
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
  background: #fff;
  border: 1.5px solid var(--avorio) !important;
  border-radius: 16px !important;
  padding: 1.5rem !important;
}

/* Checkout form inputs */
.woocommerce-checkout .form-row label {
  font-size: .78rem !important;
  font-weight: 700 !important;
  color: var(--testo2) !important;
  margin-bottom: .25rem !important;
  display: block !important;
}
.woocommerce-checkout .form-row .input-text,
.woocommerce-checkout .form-row select {
  width: 100% !important;
  border: 1.5px solid var(--avorio) !important;
  border-radius: 10px !important;
  padding: .65rem .9rem !important;
  font-size: .88rem !important;
  font-family: 'Nunito', sans-serif !important;
  color: var(--testo) !important;
  background: #fff !important;
  outline: none !important;
  transition: border-color .18s !important;
  box-sizing: border-box !important;
}
.woocommerce-checkout .form-row .input-text:focus,
.woocommerce-checkout .form-row select:focus {
  border-color: var(--verde) !important;
}
.woocommerce-checkout h3 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.2rem !important;
  color: var(--testo) !important;
  margin-bottom: 1rem !important;
}

/* col2-set layout — billing and shipping stack vertically inside .wc-checkout-main */
.woocommerce-checkout .col2-set {
  display: block !important;
}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
  width: 100% !important;
  float: none !important;
  margin-bottom: 1.5rem !important;
}

/* Review order table */
.woocommerce-checkout-review-order table {
  border: none !important;
}

/* Order review panel table cells */
.woocommerce-checkout-review-order-table thead tr th {
  font-size: .72rem !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: var(--testo3) !important;
  padding: .6rem .5rem !important;
  border-bottom: 2px solid var(--crema3) !important;
}
.woocommerce-checkout-review-order-table tbody tr td {
  padding: .65rem .5rem !important;
  font-size: .88rem !important;
  border-bottom: 1px solid var(--crema3) !important;
  vertical-align: middle !important;
}
.woocommerce-checkout-review-order-table tfoot tr th,
.woocommerce-checkout-review-order-table tfoot tr td {
  padding: .55rem .5rem !important;
  font-size: .88rem !important;
  color: var(--testo2) !important;
  border-bottom: 1px solid var(--crema3) !important;
}
.woocommerce-checkout-review-order-table tfoot tr.order-total th,
.woocommerce-checkout-review-order-table tfoot tr.order-total td {
  font-size: 1rem !important;
  font-weight: 800 !important;
  color: var(--oro) !important;
  border-bottom: none !important;
  padding-top: .8rem !important;
}

/* Place order button */
#place_order {
  width: 100% !important;
  padding: 13px 24px !important;
  font-size: .92rem !important;
  justify-content: center !important;
  background: var(--verde) !important;
  border-radius: 12px !important;
}

/* Payment method cards */
#payment .wc_payment_methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .6rem !important;
}
#payment .wc_payment_method {
  border: 1.5px solid var(--avorio) !important;
  border-radius: 12px !important;
  padding: .85rem 1rem !important;
  cursor: pointer !important;
  transition: border-color .18s, background .18s !important;
  background: #fff !important;
}
#payment .wc_payment_method:hover {
  border-color: var(--verde) !important;
}
#payment .wc_payment_method.sel,
#payment .wc_payment_method.payment_method_active {
  border-color: var(--verde) !important;
  background: rgba(26,74,58,.04) !important;
}
#payment .wc_payment_method label {
  display: flex !important;
  align-items: center !important;
  gap: .6rem !important;
  font-size: .88rem !important;
  font-weight: 700 !important;
  color: var(--testo) !important;
  cursor: pointer !important;
  margin: 0 !important;
}
#payment .wc_payment_method input[type=radio] {
  accent-color: var(--verde) !important;
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
}
#payment .payment_box {
  margin-top: .6rem !important;
  font-size: .82rem !important;
  color: var(--testo2) !important;
  padding: .5rem .6rem !important;
  background: var(--crema2) !important;
  border-radius: 8px !important;
}
/* Place order button area */
#payment #place_order {
  margin-top: 1rem !important;
}

/* Cancel old primo-taglio.css grid on inner .woocommerce div (lines 3149-3173 conflict) */
.woocommerce-account .woocommerce {
  display: block !important;
  grid-template-columns: none !important;
  padding: 0 !important;
}

/* My account nav */
.woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #fff !important;
  border-radius: 16px !important;
  overflow: hidden !important;
}
.woocommerce-MyAccount-navigation ul li a {
  display: flex !important;
  align-items: center !important;
  gap: .75rem !important;
  padding: .82rem 1.2rem !important;
  font-size: .88rem !important;
  font-weight: 700 !important;
  color: var(--testo2) !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  border-bottom: 1px solid var(--crema3) !important;
  border-left: 3px solid transparent !important;
  transition: all .18s !important;
  font-family: 'Nunito', sans-serif !important;
}
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
  background: var(--verde-light) !important;
  color: var(--verde) !important;
  border-left-color: var(--verde) !important;
}
.woocommerce-MyAccount-content {
  background: #fff !important;
  border: 1.5px solid var(--avorio) !important;
  border-radius: 16px !important;
  padding: 1.6rem !important;
}

/* Dashboard greeting */
.woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-MyAccount-content p:first-child {
  color: var(--testo2) !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: .9rem !important;
}
/* Address boxes */
.woocommerce-MyAccount-content .woocommerce-Addresses address {
  background: var(--crema2) !important;
  border: 1.5px solid var(--avorio) !important;
  border-radius: 12px !important;
  padding: 1rem !important;
  font-size: .88rem !important;
  color: var(--testo2) !important;
  line-height: 1.7 !important;
}
/* Edit account form inputs */
.woocommerce-MyAccount-content .woocommerce-EditAccountForm input[type="text"],
.woocommerce-MyAccount-content .woocommerce-EditAccountForm input[type="email"],
.woocommerce-MyAccount-content .woocommerce-EditAccountForm input[type="password"],
.woocommerce-MyAccount-content fieldset input[type="password"] {
  border: 1.5px solid var(--avorio) !important;
  border-radius: 10px !important;
  padding: .65rem .9rem !important;
  font-family: 'Nunito', sans-serif !important;
  width: 100% !important;
  box-sizing: border-box !important;
  color: var(--testo) !important;
  background: #fff !important;
}
.woocommerce-MyAccount-content .woocommerce-EditAccountForm input:focus,
.woocommerce-MyAccount-content fieldset input:focus {
  outline: none !important;
  border-color: var(--verde) !important;
  box-shadow: 0 0 0 3px rgba(26,74,58,.08) !important;
}

/* Orders table in my account */
.woocommerce-orders-table {
  border-collapse: collapse !important;
  width: 100% !important;
  font-family: 'Nunito', sans-serif !important;
}
.woocommerce-orders-table th {
  font-size: .72rem !important;
  font-weight: 900 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
  color: var(--testo3) !important;
  padding: .7rem .9rem !important;
  text-align: left !important;
  border-bottom: 2px solid var(--avorio) !important;
}
.woocommerce-orders-table td {
  padding: .8rem .9rem !important;
  border-bottom: 1px solid var(--crema3) !important;
  font-size: .86rem !important;
  color: var(--testo2) !important;
}
.woocommerce-orders-table tbody tr:hover {
  background: var(--crema2) !important;
}

/* Order status badges — WC 9.5 outputs status class on <tr>, not on cell content */
/* orders.php override adds <span class="order-status os-*"> — these styles back that up */
.woocommerce-orders-table__row--status-completed .woocommerce-orders-table__cell-order-status span,
.woocommerce-orders-table__row--status-completed .order-status {
  background: #dcfce7 !important; color: #14532d !important;
  display: inline-flex !important; align-items: center !important;
  padding: 3px 9px !important; border-radius: 4px !important;
  font-size: .68rem !important; font-weight: 900 !important;
  text-transform: uppercase !important; letter-spacing: .07em !important;
  white-space: nowrap !important;
}
.woocommerce-orders-table__row--status-processing .woocommerce-orders-table__cell-order-status span,
.woocommerce-orders-table__row--status-processing .order-status {
  background: #dbeafe !important; color: #1e3a8a !important;
  display: inline-flex !important; align-items: center !important;
  padding: 3px 9px !important; border-radius: 4px !important;
  font-size: .68rem !important; font-weight: 900 !important;
  text-transform: uppercase !important; letter-spacing: .07em !important;
  white-space: nowrap !important;
}
.woocommerce-orders-table__row--status-on-hold .woocommerce-orders-table__cell-order-status span,
.woocommerce-orders-table__row--status-on-hold .order-status {
  background: #fef9c3 !important; color: #713f12 !important;
  display: inline-flex !important; align-items: center !important;
  padding: 3px 9px !important; border-radius: 4px !important;
  font-size: .68rem !important; font-weight: 900 !important;
  text-transform: uppercase !important; letter-spacing: .07em !important;
  white-space: nowrap !important;
}
.woocommerce-orders-table__row--status-cancelled .woocommerce-orders-table__cell-order-status span,
.woocommerce-orders-table__row--status-cancelled .order-status {
  background: #fee2e2 !important; color: #7f1d1d !important;
  display: inline-flex !important; align-items: center !important;
  padding: 3px 9px !important; border-radius: 4px !important;
  font-size: .68rem !important; font-weight: 900 !important;
  text-transform: uppercase !important; letter-spacing: .07em !important;
  white-space: nowrap !important;
}

/* Thank you page */
.woocommerce-order .woocommerce-order-overview {
  background: var(--crema2) !important;
  border: 1.5px solid var(--avorio) !important;
  border-radius: 12px !important;
  padding: 1rem !important;
  list-style: none !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 1rem !important;
}
.woocommerce-order .woocommerce-order-overview li {
  font-size: .85rem !important;
  color: var(--testo2) !important;
}
.woocommerce-order .woocommerce-order-overview li strong {
  color: var(--verde) !important;
}

/* WC order details table inside thankyou box */
.woocommerce-order .woocommerce-table--order-details {
  width: 100% !important;
  border-collapse: collapse !important;
  font-family: 'Nunito', sans-serif !important;
  background: transparent !important;
}
.woocommerce-order .woocommerce-table--order-details th,
.woocommerce-order .woocommerce-table--order-details td {
  padding: .65rem .8rem !important;
  border-bottom: 1px solid var(--crema3) !important;
  font-size: .86rem !important;
  color: var(--testo2) !important;
  background: transparent !important;
}
.woocommerce-order .woocommerce-table--order-details tfoot tr:last-child td,
.woocommerce-order .woocommerce-table--order-details tfoot tr:last-child th {
  font-weight: 900 !important;
  color: var(--oro) !important;
  border-bottom: none !important;
}

/* Order-received notice heading */
.woocommerce-thankyou-order-received {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.6rem !important;
  color: var(--verde) !important;
  font-weight: 700 !important;
  margin-bottom: .5rem !important;
}

/* BACS bank details panel */
.woocommerce-bacs-bank-details {
  background: var(--crema2) !important;
  border: 1.5px solid var(--avorio) !important;
  border-radius: 12px !important;
  padding: 1rem !important;
  margin-top: 1rem !important;
  font-size: .88rem !important;
  color: var(--testo2) !important;
}

/* Responsive */
@media (max-width: 768px) {
  .wc-2col { grid-template-columns: 1fr !important; }
  .wc-checkout-grid { grid-template-columns: 1fr !important; }
  .wc-container { padding: 1.5rem 0 !important; }
  .woocommerce ul.products { grid-template-columns: 1fr 1fr !important; }
  .footer-inner { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 480px) {
  .woocommerce ul.products { grid-template-columns: 1fr !important; }
  .footer-inner { grid-template-columns: 1fr !important; }
}

/* ── CLN-01: Dark-theme artefact neutralisation ─────────────────────────── */
/* Source: primo-taglio.css dark vars (--nero/#131110, --nero2/#1b1916, --nero3/#221f1b)
   leaking through CSS cascade. Rules below override only what is visibly dark
   on the 7 production page types. Do NOT edit primo-taglio.css. */

/* CLN-01: Home — "La Nostra Selezione" section dark background */
.section-selezione {
  background: var(--crema) !important;
}

/* CLN-01: Mini cart and login drawer dark background */
.pt-drawer {
  background: #fff !important;
  border-left: 1.5px solid var(--avorio) !important;
}
.pt-drawer-header {
  background: var(--crema2) !important;
  border-bottom: 1.5px solid var(--avorio) !important;
  color: var(--testo) !important;
}
.pt-drawer-label {
  color: var(--testo3) !important;
}
.pt-drawer-title {
  color: var(--testo) !important;
}
.pt-drawer-footer {
  background: var(--crema2) !important;
  border-top: 1.5px solid var(--avorio) !important;
}
.pt-drawer-close {
  color: var(--testo2) !important;
}

/* CLN-01: My Account — navigation container dark wrapper */
.woocommerce-MyAccount-navigation {
  background: #fff !important;
  border: 1.5px solid var(--avorio) !important;
}

/* ── Account user profile card ───────────────────────────────────────────── */
.pt-account-user-card {
  background: #fff !important;
  border: 1.5px solid var(--avorio) !important;
  border-radius: 16px !important;
  padding: 1.4rem !important;
  text-align: center !important;
  margin-bottom: 1rem !important;
}
.pt-account-avatar {
  width: 72px !important;
  height: 72px !important;
  border-radius: 50% !important;
  background: var(--verde) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto .9rem !important;
  font-size: 1.9rem !important;
  font-weight: 800 !important;
  color: #fff !important;
  font-family: 'Cormorant Garamond', serif !important;
}
.pt-account-name {
  font-weight: 700 !important;
  color: var(--testo) !important;
  font-size: .95rem !important;
  font-family: 'Nunito', sans-serif !important;
}
.pt-account-email {
  font-size: .78rem !important;
  color: var(--testo3) !important;
  margin-top: .2rem !important;
  font-family: 'Nunito', sans-serif !important;
}

/* ── Account nav icons ───────────────────────────────────────────────────── */
.woocommerce-MyAccount-navigation ul li a svg {
  flex-shrink: 0 !important;
}
/* Logout item — red */
.woocommerce-MyAccount-navigation ul li.pt-nav-logout a {
  color: #dc2626 !important;
  border-left-color: transparent !important;
}
.woocommerce-MyAccount-navigation ul li.pt-nav-logout a:hover {
  background: #fee2e2 !important;
  color: #b91c1c !important;
  border-left-color: transparent !important;
}

/* ── Dashboard stat cards ────────────────────────────────────────────────── */
.pt-dashboard-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.6rem !important;
  color: var(--verde) !important;
  margin-bottom: 1rem !important;
}
.pt-dashboard-welcome {
  font-size: .9rem !important;
  color: var(--testo2) !important;
  line-height: 1.7 !important;
  margin-bottom: 1.2rem !important;
  font-family: 'Nunito', sans-serif !important;
}
.pt-dashboard-welcome a {
  color: var(--verde) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
.pt-dashboard-welcome a:hover {
  text-decoration: underline !important;
}
.pt-dashboard-stats {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1rem !important;
}
.pt-stat-card {
  background: var(--crema2) !important;
  border: 1.5px solid var(--avorio) !important;
  border-radius: 12px !important;
  padding: 1.1rem !important;
  text-align: center !important;
}
.pt-stat-num {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 2.2rem !important;
  font-weight: 800 !important;
}
.pt-stat-label {
  font-size: .78rem !important;
  font-weight: 700 !important;
  color: var(--testo3) !important;
  margin-top: .3rem !important;
  font-family: 'Nunito', sans-serif !important;
}

/* CLN-01: My Account — content headings using dark sabbia-pale variable */
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
  color: var(--verde) !important;
  border-bottom-color: var(--avorio) !important;
}

/* CLN-01: My Account — address box dark background (non-Addresses wrapper context) */
.woocommerce-MyAccount-content address {
  background: var(--crema2) !important;
  border-color: var(--avorio) !important;
  color: var(--testo2) !important;
}

/* CLN-01: Orders table dark header row (th background: --nero3) */
.woocommerce-orders-table th,
.woocommerce-table--order-details th {
  background: var(--crema2) !important;
  color: var(--testo3) !important;
  border-bottom-color: var(--avorio) !important;
}
/* CLN-01: Orders table dark container background */
.woocommerce-orders-table,
.woocommerce-table--order-details {
  background: transparent !important;
  border-color: var(--avorio) !important;
}
/* CLN-01: Orders table cell text colour */
.woocommerce-orders-table td,
.woocommerce-table--order-details td {
  color: var(--testo2) !important;
  border-bottom-color: var(--crema3) !important;
}

/* CLN-01: Product gallery image dark placeholder background */
.woocommerce div.product .woocommerce-product-gallery__wrapper img,
.woocommerce div.product .woocommerce-product-gallery__image {
  background: var(--crema2) !important;
}

/* CLN-01: WC block notices dark background */
.wc-block-store-notice,
.wc-block-checkout__no-payment-methods-notice {
  background: var(--crema2) !important;
  color: var(--testo2) !important;
}

/* CLN-01: WC block order summary dark background (block checkout) */
.wc-block-order-summary,
.wc-block-components-order-summary {
  background: transparent !important;
}

/* CLN-01: Woocommerce info/error in account context dark background
   (overrides old .woocommerce-account rule at 3475 in primo-taglio.css) */
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error {
  background: var(--crema2) !important;
  color: var(--testo2) !important;
  border-top-color: var(--verde) !important;
}

/* CLN-01: select2 dropdown dark background (WC checkout country/state select) */
.select2-dropdown,
.select2-container--default .select2-results__option {
  background: #fff !important;
  color: var(--testo) !important;
}
.select2-container--default .select2-results__option--highlighted {
  background: var(--verde-light) !important;
  color: var(--verde) !important;
}
.select2-container--default .select2-selection--single {
  background: #fff !important;
  border-color: var(--avorio) !important;
}

/* CLN-01: Scrollbar track dark background */
::-webkit-scrollbar-track {
  background: var(--crema2) !important;
}
::-webkit-scrollbar-thumb {
  background: var(--avorio2) !important;
}

/* === Phase 5: Shop Fix-ups === */

/* Product card price — force WC inner spans to inherit gold color */
.pc-price .price,
.pc-price .price span,
.pc-price .woocommerce-Price-amount,
.pc-price bdi {
  color: var(--oro) !important;
  font-size: inherit !important;
  font-family: inherit !important;
  font-weight: inherit !important;
}
.pc-price .price del,
.pc-price .price del .woocommerce-Price-amount {
  color: var(--testo4) !important;
  font-size: .82rem !important;
  font-weight: 400 !important;
  font-family: 'Nunito', sans-serif !important;
}

/* Product grid: ensure 3-col layout even when WC adds columns-4 class */
.woocommerce ul.products.columns-4,
.woocommerce-page ul.products.columns-4,
.wc-main ul.products.columns-4 {
  grid-template-columns: repeat(3, 1fr) !important;
}
@media (max-width: 960px) {
  .woocommerce ul.products.columns-4,
  .woocommerce-page ul.products.columns-4,
  .wc-main ul.products.columns-4 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 600px) {
  .woocommerce ul.products.columns-4,
  .woocommerce-page ul.products.columns-4,
  .wc-main ul.products.columns-4 {
    grid-template-columns: 1fr !important;
  }
}

/* Product card placeholder image — maintain 4:3 aspect ratio */
.pc-thumb .woocommerce-placeholder,
.product-card .pc-thumb img.woocommerce-placeholder {
  aspect-ratio: 4/3 !important;
  object-fit: cover !important;
  width: 100% !important;
  display: block !important;
  background: var(--crema2) !important;
}

/* Sidebar availability filter radio inputs — align correctly */
.wc-sidebar .filter-row input[type=radio] {
  accent-color: var(--verde) !important;
  width: 14px !important;
  height: 14px !important;
  margin-right: .5rem !important;
  flex-shrink: 0 !important;
}
.wc-sidebar .filter-row span {
  display: flex !important;
  align-items: center !important;
}

/* === Phase 5: Single Product Fix-ups === */

/* Hide WC default stock text — we render our own .pc-stock inside sp-info */
.sp-info > p.stock,
.sp-info p.stock.in-stock,
.sp-info p.stock.out-of-stock,
.sp-info p.stock.available-on-backorder,
.woocommerce div.product.pt-single-product .sp-info p.stock {
  display: none !important;
}

/* sp-price p.price — WC wraps price in a p tag; remove default p margin */
.sp-price p.price {
  margin: 0 !important;
  padding: 0 !important;
}
.sp-price p.price,
.sp-price p.price .woocommerce-Price-amount,
.sp-price p.price bdi {
  font-size: 2.1rem !important;
  font-weight: 800 !important;
  color: var(--oro) !important;
  font-family: 'Cormorant Garamond', serif !important;
}
.sp-price p.price del,
.sp-price p.price del .woocommerce-Price-amount {
  font-size: 1.2rem !important;
  color: var(--testo4) !important;
  font-weight: 400 !important;
  margin-right: .5rem !important;
}

/* Related products grid — 3-col matching shop grid */
.woocommerce div.product .related.products ul.products,
.woocommerce div.product .upsells.products ul.products {
  grid-template-columns: repeat(3, 1fr) !important;
}
@media (max-width: 960px) {
  .woocommerce div.product .related.products ul.products,
  .woocommerce div.product .upsells.products ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 600px) {
  .woocommerce div.product .related.products ul.products,
  .woocommerce div.product .upsells.products ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* Single product gallery — ensure placeholder shows correctly */
.sp-gallery .woocommerce-product-gallery__image a img.woocommerce-placeholder {
  aspect-ratio: 1 !important;
  object-fit: cover !important;
  background: var(--crema2) !important;
}

/* === Phase 5: Home Page Fix-ups === */

/* Hero slide: override old horizontal-track (position:relative) layout so the
   opacity-fade transition from new-default-theme.css works correctly.
   primotaglio-theme.css loads last so we must re-assert absolute positioning here. */
.hero-slider .slide {
  position: absolute !important;
  inset: 0 !important;
  min-width: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  transition: opacity .85s cubic-bezier(.77,0,.175,1) !important;
  flex-shrink: unset !important;
}
.hero-slider .slide.active {
  opacity: 1 !important;
}

/* Hero background image div: must fill slide absolutely and scale on active */
.hero-slider .hero-bg {
  position: absolute !important;
  inset: 0 !important;
  background-size: cover !important;
  background-position: center !important;
  transform: scale(1.06) !important;
  transition: transform 8s ease !important;
}
.hero-slider .slide.active .hero-bg {
  transform: scale(1) !important;
}

/* Hero headline: reference design uses clamp font size (missing from .s-h rule) */
.s-h {
  font-size: clamp(2.6rem, 5.5vw, 5rem) !important;
}

/* Category grid: ensure cat-card body text is above the pseudo-element overlay */
.cat-card-body {
  z-index: 2 !important;
}

/* Category section header: match reference title styling */
.pt-cats-title {
  font-size: clamp(1.9rem, 4vw, 3rem) !important;
  color: var(--verde) !important;
}

/* Features trust bar: dark green background matches reference index.html trust-bar */
.trust-bar.features-bar {
  background: var(--verde-dark) !important;
}

/* === Phase 5: My Account Fix-ups === */

/* Order number cell (<th scope="row">) — green monospace link, matching reference template */
.woocommerce-orders-table__cell-order-number {
  font-family: monospace !important;
  font-weight: 700 !important;
  color: var(--verde) !important;
  /* reset header-th styles that bleed in from .woocommerce-orders-table th rule */
  font-size: .86rem !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  border-bottom: 1px solid var(--crema3) !important;
  padding: .8rem .9rem !important;
  vertical-align: middle !important;
}
.woocommerce-orders-table__cell-order-number a {
  color: var(--verde) !important;
  font-family: monospace !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
.woocommerce-orders-table__cell-order-number a:hover {
  text-decoration: underline !important;
}

/* Order total cell — gold Cormorant serif matching reference */
.woocommerce-orders-table__cell-order-total {
  font-family: 'Cormorant Garamond', serif !important;
  font-weight: 700 !important;
  color: var(--oro) !important;
  vertical-align: middle !important;
}
.woocommerce-orders-table__cell-order-total .woocommerce-Price-amount,
.woocommerce-orders-table__cell-order-total bdi {
  color: var(--oro) !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-weight: 700 !important;
}

/* Order table td alignment */
.woocommerce-orders-table td {
  vertical-align: middle !important;
}

/* Action buttons in orders table — btn-ghost style */
.woocommerce-orders-table__cell-order-actions a.button,
.woocommerce-orders-table__cell-order-actions .woocommerce-button {
  background: transparent !important;
  border: 1.5px solid var(--avorio) !important;
  color: var(--testo2) !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 600 !important;
  font-size: .75rem !important;
  border-radius: 8px !important;
  padding: .35rem .8rem !important;
  cursor: pointer !important;
  transition: all .2s !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
}
.woocommerce-orders-table__cell-order-actions a.button:hover,
.woocommerce-orders-table__cell-order-actions .woocommerce-button:hover {
  background: var(--crema2) !important;
  border-color: var(--testo3) !important;
}

/* Last nav item — remove border-bottom */
.woocommerce-MyAccount-navigation ul li:last-child a {
  border-bottom: none !important;
}

/* Downloads nav icon — add for completeness (downloads endpoint may appear) */
/* Note: icon rendered via navigation.php SVG map; this ensures spacing is correct */
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--downloads a {
  gap: .75rem !important;
}

/* === Phase 5: Order Confirmation Fix-ups === */

/* Confirmation heading — clamp font size to match reference template */
.woocommerce-thankyou-order-received {
  font-size: clamp(2rem, 5vw, 3rem) !important;
  color: var(--testo) !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-weight: 700 !important;
  margin-bottom: .5rem !important;
}

/* Confirmation header area — centered */
.woocommerce-order > div:first-child {
  text-align: center !important;
}

/* Order details table — product name bold */
.woocommerce-order .woocommerce-table--order-details .product-name {
  font-weight: 700 !important;
  color: var(--testo) !important;
}
.woocommerce-order .woocommerce-table--order-details .product-name a {
  color: var(--testo) !important;
  text-decoration: none !important;
  font-weight: 700 !important;
}

/* Order details table — product subtotal (per row price) in gold */
.woocommerce-order .woocommerce-table--order-details .product-subtotal,
.woocommerce-order .woocommerce-table--order-details .product-total {
  font-weight: 700 !important;
  color: var(--oro) !important;
}
.woocommerce-order .woocommerce-table--order-details .product-subtotal .woocommerce-Price-amount,
.woocommerce-order .woocommerce-table--order-details .product-total .woocommerce-Price-amount,
.woocommerce-order .woocommerce-table--order-details .product-subtotal bdi,
.woocommerce-order .woocommerce-table--order-details .product-total bdi {
  color: var(--oro) !important;
  font-weight: 700 !important;
}

/* Order tfoot subtotal/shipping rows — normal style */
.woocommerce-order .woocommerce-table--order-details tfoot tr td,
.woocommerce-order .woocommerce-table--order-details tfoot tr th {
  font-size: .88rem !important;
  color: var(--testo2) !important;
  border-bottom: 1px solid var(--crema3) !important;
  padding: .6rem .8rem !important;
}

/* Order tfoot last row (grand total) — gold serif bold */
.woocommerce-order .woocommerce-table--order-details tfoot tr:last-child td,
.woocommerce-order .woocommerce-table--order-details tfoot tr:last-child th {
  font-size: 1rem !important;
  font-weight: 900 !important;
  font-family: 'Cormorant Garamond', serif !important;
  color: var(--oro) !important;
  border-bottom: none !important;
  padding-top: .7rem !important;
}
.woocommerce-order .woocommerce-table--order-details tfoot tr:last-child td .woocommerce-Price-amount,
.woocommerce-order .woocommerce-table--order-details tfoot tr:last-child td bdi {
  font-size: 1.2rem !important;
  color: var(--oro) !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-weight: 900 !important;
}

/* Shipping free label — green */
.woocommerce-order .woocommerce-table--order-details tfoot .shipping td {
  color: #16a34a !important;
  font-weight: 700 !important;
}

/* Product thumbnail in order details table — small rounded */
.woocommerce-order .woocommerce-table--order-details .product-name img {
  width: 48px !important;
  height: 48px !important;
  border-radius: 8px !important;
  object-fit: cover !important;
  margin-right: .6rem !important;
  vertical-align: middle !important;
  border: 1px solid var(--avorio) !important;
}

/* === Phase 5: Cart Fix-ups === */

/* Cart page heading */
.woocommerce-cart .wc-container > h1,
.woocommerce-cart h1.page-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(1.8rem, 4vw, 2.8rem) !important;
  color: var(--verde) !important;
  margin-bottom: 1.8rem !important;
  font-weight: 700 !important;
}

/* Remove link — circular button matching .remove-btn in reference */
.woocommerce table.cart td.product-remove a.remove,
.woocommerce-cart table.cart td.product-remove a.remove {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  background: var(--crema2) !important;
  border: 1.5px solid var(--avorio) !important;
  color: var(--testo3) !important;
  font-size: .9rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: background .18s, border-color .18s, color .18s !important;
  line-height: 1 !important;
}
.woocommerce table.cart td.product-remove a.remove:hover,
.woocommerce-cart table.cart td.product-remove a.remove:hover {
  background: #dc2626 !important;
  border-color: #dc2626 !important;
  color: #fff !important;
}

/* Cart table price cells — gold color matching .cart-price */
.woocommerce table.cart .product-price .woocommerce-Price-amount,
.woocommerce table.cart .product-price bdi,
.woocommerce table.cart .product-subtotal .woocommerce-Price-amount,
.woocommerce table.cart .product-subtotal bdi {
  color: var(--oro) !important;
  font-weight: 800 !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1rem !important;
}

/* Product name link in cart */
.woocommerce table.cart .product-name a {
  font-weight: 700 !important;
  color: var(--testo) !important;
  text-decoration: none !important;
  font-size: .9rem !important;
}
.woocommerce table.cart .product-name a:hover {
  color: var(--verde) !important;
}

/* Cart actions row — coupon + update button area */
.woocommerce-cart-form .actions {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: .8rem !important;
  padding: 1.2rem 0 0 !important;
  border-bottom: none !important;
  background: transparent !important;
}
.woocommerce-cart-form .actions .coupon {
  display: flex !important;
  gap: .6rem !important;
  flex: 1 !important;
  max-width: 420px !important;
  align-items: center !important;
}
.woocommerce-cart-form .actions .coupon input#coupon_code {
  flex: 1 !important;
  padding: .65rem 1rem !important;
  border: 1.5px solid var(--avorio) !important;
  border-radius: 9px !important;
  font-size: .85rem !important;
  font-family: 'Nunito', sans-serif !important;
  background: var(--crema2) !important;
  outline: none !important;
  color: var(--testo) !important;
  transition: border-color .2s !important;
}
.woocommerce-cart-form .actions .coupon input#coupon_code:focus {
  border-color: var(--verde) !important;
}
/* Coupon apply button — .btn-outline style */
.woocommerce-cart-form .actions .coupon button[name="apply_coupon"] {
  background: transparent !important;
  border: 1.5px solid var(--bordo2) !important;
  color: var(--verde) !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 600 !important;
  font-size: .82rem !important;
  border-radius: 10px !important;
  padding: .65rem 1.2rem !important;
  cursor: pointer !important;
  transition: all .2s !important;
  white-space: nowrap !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  box-shadow: none !important;
}
.woocommerce-cart-form .actions .coupon button[name="apply_coupon"]:hover {
  background: var(--verde-light) !important;
  border-color: var(--verde) !important;
}
/* Update cart button — .btn-ghost style */
.woocommerce-cart-form .actions button[name="update_cart"] {
  background: transparent !important;
  border: 1.5px solid var(--avorio) !important;
  color: var(--testo2) !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 600 !important;
  font-size: .82rem !important;
  border-radius: 8px !important;
  padding: .65rem 1.4rem !important;
  cursor: pointer !important;
  transition: all .2s !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  box-shadow: none !important;
}
.woocommerce-cart-form .actions button[name="update_cart"]:hover {
  background: var(--crema2) !important;
  border-color: var(--testo3) !important;
}

/* Cart totals table rows — match .totals-row pattern */
.woocommerce .cart_totals table.shop_table tr th,
.woocommerce .cart_totals table.shop_table tr td {
  padding: .55rem 0 !important;
  font-size: .88rem !important;
  color: var(--testo2) !important;
  border-bottom: 1px solid var(--crema3) !important;
  background: transparent !important;
}
.woocommerce .cart_totals table.shop_table tr:last-child th,
.woocommerce .cart_totals table.shop_table tr:last-child td {
  border-bottom: none !important;
}
/* Cart totals total row (gold, larger) */
.woocommerce .cart_totals table tr.order-total th,
.woocommerce .cart_totals table tr.order-total td {
  font-size: 1.1rem !important;
  font-weight: 900 !important;
  padding-top: .9rem !important;
  color: var(--testo) !important;
}
.woocommerce .cart_totals table tr.order-total td .woocommerce-Price-amount,
.woocommerce .cart_totals table tr.order-total td bdi {
  color: var(--oro) !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.5rem !important;
  font-weight: 800 !important;
}
/* Totals subtotal / shipping amounts — gold serif */
.woocommerce .cart_totals .cart-subtotal .woocommerce-Price-amount,
.woocommerce .cart_totals .cart-subtotal bdi {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  color: var(--oro) !important;
}

/* Proceed to checkout button — full-width verde */
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce .wc-proceed-to-checkout .checkout-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  background: var(--verde) !important;
  color: #fff !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 700 !important;
  font-size: .92rem !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 13px 24px !important;
  cursor: pointer !important;
  transition: background .2s, transform .18s, box-shadow .2s !important;
  text-decoration: none !important;
  text-align: center !important;
  margin-top: 1rem !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  box-shadow: none !important;
}
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce .wc-proceed-to-checkout .checkout-button:hover {
  background: var(--verde2) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(26,74,58,.25) !important;
}

/* Empty cart state */
.woocommerce-cart .cart-empty,
.woocommerce-info.woocommerce-cart-is-empty {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.4rem !important;
  color: var(--testo3) !important;
  border: none !important;
  background: transparent !important;
  padding: 3rem 0 !important;
  text-align: center !important;
}

/* === Phase 5: Checkout Fix-ups === */

/* Checkout page heading */
.woocommerce-checkout .wc-container > h1,
.woocommerce-checkout h1.page-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(1.8rem, 4vw, 2.8rem) !important;
  color: var(--verde) !important;
  margin-bottom: 1.8rem !important;
  font-weight: 700 !important;
}

/* Checkout grid — form is the grid container in our template */
.woocommerce-checkout form.checkout.wc-checkout-grid {
  display: grid !important;
  grid-template-columns: 1fr 380px !important;
  gap: 2rem !important;
  align-items: start !important;
}
@media (max-width: 860px) {
  .woocommerce-checkout form.checkout.wc-checkout-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Left column main content */
.wc-checkout-main {
  min-width: 0 !important;
}

/* Right column order box — sticky panel */
.wc-checkout-sidebar,
.order-box.wc-checkout-sidebar {
  position: sticky !important;
  top: 96px !important;
  background: #fff !important;
  border: 1.5px solid var(--avorio) !important;
  border-radius: 18px !important;
  padding: 1.5rem !important;
  min-width: 0 !important;
}
.wc-checkout-sidebar h3,
.order-box.wc-checkout-sidebar h3 {
  font-size: 1.1rem !important;
  color: var(--verde) !important;
  margin-bottom: 1rem !important;
  padding-bottom: .7rem !important;
  border-bottom: 1.5px solid var(--crema3) !important;
}

/* Billing section heading */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-billing-fields > h3 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.3rem !important;
  color: var(--testo) !important;
  margin-bottom: 1rem !important;
  font-weight: 700 !important;
}

/* Checkout form inputs — add green focus box-shadow */
.woocommerce-checkout .form-row .input-text:focus,
.woocommerce-checkout .form-row select:focus {
  border-color: var(--verde) !important;
  box-shadow: 0 0 0 3px rgba(26,74,58,.1) !important;
  outline: none !important;
}

/* Required field star */
.woocommerce-checkout .form-row label abbr.required {
  color: #dc2626 !important;
  text-decoration: none !important;
}

/* customer_details panel — consistent card style with !important */
.woocommerce-checkout #customer_details {
  background: #fff !important;
  border: 1.5px solid var(--avorio) !important;
  border-radius: 18px !important;
  padding: 1.5rem !important;
}

/* Order review panel background and border */
.woocommerce-checkout .woocommerce-checkout-review-order {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

/* Order review item rows — thumbnail + name + price pattern */
.woocommerce-checkout-review-order-table .product-name img {
  width: 52px !important;
  height: 52px !important;
  object-fit: cover !important;
  border-radius: 9px !important;
  border: 1.5px solid var(--avorio) !important;
  flex-shrink: 0 !important;
  vertical-align: middle !important;
  margin-right: .5rem !important;
}

/* Place order button — full width verde, override any WC defaults */
.woocommerce-checkout #place_order,
#payment #place_order {
  width: 100% !important;
  display: block !important;
  padding: 13px 24px !important;
  font-size: .92rem !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 700 !important;
  background: var(--verde) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  transition: background .2s, transform .18s !important;
  text-align: center !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  margin-top: 1rem !important;
  box-sizing: border-box !important;
}
.woocommerce-checkout #place_order:hover,
#payment #place_order:hover {
  background: var(--verde2) !important;
  transform: translateY(-1px) !important;
}

/* Terms checkbox */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  font-size: .82rem !important;
  color: var(--testo3) !important;
  margin-bottom: 1rem !important;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type=checkbox] {
  accent-color: var(--verde) !important;
  width: 14px !important;
  height: 14px !important;
  margin-right: .4rem !important;
}

/* ====================================================================
   Phase 5: Admin Dashboard Fix-ups
   Styles all .pt-dash-* / .pt-stat-* / .pt-panel-* / .pt-table /
   .pt-btn-* / .pt-filter-* / .pt-modal-* / .pt-form-* / .pt-toast
   classes used in page-pt-dashboard.php, matching admin.html reference.
   ==================================================================== */

/* ── Page wrapper ───────────────────────────────────────────────────── */
.pt-dashboard {
  background: var(--crema2) !important;
  min-height: 100vh !important;
  font-family: 'Nunito', sans-serif !important;
}

/* ── Dashboard header bar ───────────────────────────────────────────── */
.pt-dash-header {
  background: #fff !important;
  border-bottom: 2px solid var(--avorio) !important;
  box-shadow: 0 2px 12px rgba(44,36,22,.06) !important;
  padding: 1rem 1.5rem !important;
}
.pt-dash-header-inner {
  max-width: 1300px !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 1rem !important;
}
.pt-dash-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.8rem !important;
  font-weight: 700 !important;
  color: var(--verde) !important;
  line-height: 1.1 !important;
  margin: 0 !important;
}
.pt-dash-title em {
  color: var(--oro) !important;
  font-style: italic !important;
}
.pt-dash-subtitle {
  font-size: .82rem !important;
  color: var(--testo3) !important;
  font-family: 'Nunito', sans-serif !important;
  margin-top: .2rem !important;
}
.pt-dash-nav {
  display: flex !important;
  align-items: center !important;
  gap: .5rem !important;
  flex-wrap: wrap !important;
}
.pt-dash-tab {
  font-family: 'Nunito', sans-serif !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
  padding: .55rem 1.2rem !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  border: 1.5px solid var(--avorio) !important;
  background: transparent !important;
  color: var(--testo2) !important;
  transition: all .2s !important;
  text-decoration: none !important;
}
.pt-dash-tab.active,
.pt-dash-tab:focus {
  background: var(--verde) !important;
  color: #fff !important;
  border-color: var(--verde) !important;
}
.pt-dash-tab:hover:not(.active) {
  background: var(--verde-light) !important;
  border-color: var(--bordo2) !important;
  color: var(--verde) !important;
}
.pt-dash-back {
  font-family: 'Nunito', sans-serif !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
  padding: .55rem 1.2rem !important;
  border-radius: 8px !important;
  border: 1.5px solid var(--avorio) !important;
  background: transparent !important;
  color: var(--testo2) !important;
  text-decoration: none !important;
  transition: all .2s !important;
  display: inline-flex !important;
  align-items: center !important;
}
.pt-dash-back:hover {
  background: var(--verde-light) !important;
  border-color: var(--bordo2) !important;
  color: var(--verde) !important;
}

/* ── Stats cards row ────────────────────────────────────────────────── */
.pt-dash-stats-wrap {
  max-width: 1300px !important;
  margin: 1.5rem auto !important;
  padding: 0 1.5rem !important;
}
.pt-dash-stats {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1rem !important;
}
@media (max-width: 900px) {
  .pt-dash-stats { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 540px) {
  .pt-dash-stats { grid-template-columns: 1fr !important; }
}
.pt-stat-card {
  background: #fff !important;
  border: 1.5px solid var(--avorio) !important;
  border-radius: 18px !important;
  padding: 1.4rem !important;
  box-shadow: 0 2px 12px rgba(44,36,22,.06) !important;
}
.pt-stat-label {
  font-size: .68rem !important;
  font-weight: 900 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--testo3) !important;
  font-family: 'Nunito', sans-serif !important;
  margin-bottom: .4rem !important;
}
.pt-stat-value {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 2.6rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  color: var(--verde) !important;
  margin-bottom: .3rem !important;
}
.pt-stat-trend {
  font-size: .75rem !important;
  color: var(--testo3) !important;
  font-family: 'Nunito', sans-serif !important;
}
.pt-stat-trend.positive {
  color: #16a34a !important;
}

/* ── Main body / panels ─────────────────────────────────────────────── */
.pt-dash-body {
  max-width: 1300px !important;
  margin: 0 auto 3rem !important;
  padding: 0 1.5rem !important;
}
.pt-dash-panel {
  display: none !important;
}
.pt-dash-panel.active {
  display: block !important;
}
.pt-panel-card {
  background: #fff !important;
  border: 1.5px solid var(--avorio) !important;
  border-radius: 18px !important;
  box-shadow: 0 2px 12px rgba(44,36,22,.06) !important;
  overflow: hidden !important;
  margin-bottom: 1.5rem !important;
}
.pt-panel-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: .75rem !important;
  padding: 1.2rem 1.4rem !important;
  border-bottom: 1.5px solid var(--avorio) !important;
}
.pt-panel-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: var(--verde) !important;
  margin: 0 !important;
}
/* Panel title when not inside .pt-panel-header (e.g. cat stats card) */
.pt-panel-card > .pt-panel-title {
  padding: 1.2rem 1.4rem .8rem !important;
  border-bottom: 1.5px solid var(--avorio) !important;
}

/* ── Filter bar ─────────────────────────────────────────────────────── */
.pt-panel-filters {
  display: flex !important;
  align-items: center !important;
  gap: .5rem !important;
  flex-wrap: wrap !important;
}
.pt-filter-select {
  border: 1.5px solid var(--avorio) !important;
  border-radius: 8px !important;
  padding: .45rem .85rem !important;
  font-size: .83rem !important;
  font-family: 'Nunito', sans-serif !important;
  color: var(--testo2) !important;
  background: var(--crema2) !important;
  outline: none !important;
  cursor: pointer !important;
}
.pt-filter-select:focus {
  border-color: var(--verde) !important;
}

/* ── Buttons in panel header ────────────────────────────────────────── */
.pt-btn-new {
  background: var(--verde) !important;
  color: #fff !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 700 !important;
  font-size: .88rem !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 9px 20px !important;
  cursor: pointer !important;
  transition: background .2s, transform .18s !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: .4rem !important;
}
.pt-btn-new:hover {
  background: var(--verde2) !important;
  transform: translateY(-1px) !important;
}
.pt-btn-csv {
  display: inline-flex !important;
  align-items: center !important;
  gap: .4rem !important;
  background: transparent !important;
  border: 1.5px solid var(--bordo2) !important;
  color: var(--verde) !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 600 !important;
  font-size: .82rem !important;
  border-radius: 10px !important;
  padding: 7px 16px !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: all .2s !important;
}
.pt-btn-csv:hover {
  background: var(--verde-light) !important;
  border-color: var(--verde) !important;
}

/* ── Data table ─────────────────────────────────────────────────────── */
.pt-table-wrap {
  overflow-x: auto !important;
}
.pt-table {
  width: 100% !important;
  border-collapse: collapse !important;
}
.pt-table th {
  font-size: .7rem !important;
  font-weight: 900 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
  color: var(--testo3) !important;
  padding: .75rem 1.1rem !important;
  text-align: left !important;
  border-bottom: 2px solid var(--avorio) !important;
  background: var(--crema2) !important;
  white-space: nowrap !important;
}
.pt-table td {
  padding: .8rem 1.1rem !important;
  font-size: .85rem !important;
  border-bottom: 1px solid var(--crema3) !important;
  vertical-align: middle !important;
  color: var(--testo2) !important;
}
.pt-table tr:last-child td {
  border-bottom: none !important;
}
.pt-table tbody tr:hover {
  background: rgba(250,247,242,.7) !important;
}
.pt-table-loading {
  text-align: center !important;
  padding: 2rem !important;
  color: var(--testo3) !important;
  font-size: .9rem !important;
}
.pt-table-footer {
  padding: .8rem 1.1rem !important;
  border-top: 1px solid var(--crema3) !important;
  display: flex !important;
  align-items: center !important;
  gap: .4rem !important;
  flex-wrap: wrap !important;
}

/* ── Status / stock badges inside table ─────────────────────────────── */
.pt-badge {
  display: inline-flex !important;
  align-items: center !important;
  font-size: .68rem !important;
  font-weight: 800 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  padding: 3px 10px !important;
  border-radius: 4px !important;
  white-space: nowrap !important;
}
.pt-badge-completed { background: #dcfce7 !important; color: #14532d !important; }
.pt-badge-processing { background: #dbeafe !important; color: #1e3a8a !important; }
.pt-badge-on-hold    { background: #fef9c3 !important; color: #713f12 !important; }
.pt-badge-shipped    { background: #e0f2fe !important; color: #0c4a6e !important; }
.pt-badge-cancelled  { background: #fee2e2 !important; color: #7f1d1d !important; }
.pt-badge-refunded   { background: #f3e8ff !important; color: #581c87 !important; }
.pt-badge-instock    { background: #dcfce7 !important; color: #14532d !important; }
.pt-badge-lowstock   { background: #fef9c3 !important; color: #713f12 !important; }
.pt-badge-outofstock { background: #fee2e2 !important; color: #7f1d1d !important; }

/* Action icon buttons inside product table rows */
.pt-table .pt-action-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 7px !important;
  border: 1.5px solid var(--avorio) !important;
  background: transparent !important;
  cursor: pointer !important;
  color: var(--testo3) !important;
  font-size: .82rem !important;
  transition: all .18s !important;
}
.pt-table .pt-action-btn:hover {
  background: var(--verde-light) !important;
  border-color: var(--bordo2) !important;
  color: var(--verde) !important;
}
.pt-table .pt-action-btn.danger:hover {
  background: #fee2e2 !important;
  border-color: #fca5a5 !important;
  color: #dc2626 !important;
}

/* ── Category bar chart (Vendite per Categoria) ──────────────────────── */
.pt-cat-bars {
  padding: 1rem 1.4rem !important;
}
.pt-cat-bars-loading {
  text-align: center !important;
  color: var(--testo3) !important;
  font-size: .9rem !important;
  padding: 1.5rem 0 !important;
}
.pt-cat-bar-row {
  display: flex !important;
  align-items: center !important;
  gap: .75rem !important;
  margin-bottom: .65rem !important;
  font-size: .82rem !important;
}
.pt-cat-bar-label {
  width: 120px !important;
  flex-shrink: 0 !important;
  font-weight: 700 !important;
  color: var(--testo2) !important;
}
.pt-cat-bar-track {
  flex: 1 !important;
  height: 8px !important;
  background: var(--crema3) !important;
  border-radius: 4px !important;
  overflow: hidden !important;
}
.pt-cat-bar-fill {
  height: 100% !important;
  background: linear-gradient(90deg, var(--verde), var(--verde3)) !important;
  border-radius: 4px !important;
  transition: width .4s ease !important;
}
.pt-cat-bar-val {
  width: 60px !important;
  text-align: right !important;
  font-weight: 700 !important;
  color: var(--oro) !important;
  font-family: 'Cormorant Garamond', serif !important;
}

/* ── Top 5 list ─────────────────────────────────────────────────────── */
.pt-top-list {
  list-style: none !important;
  padding: 1rem 1.4rem !important;
  margin: 0 !important;
}
.pt-top-list li {
  display: flex !important;
  align-items: center !important;
  gap: .75rem !important;
  padding: .55rem 0 !important;
  border-bottom: 1px solid var(--crema3) !important;
  font-size: .87rem !important;
  color: var(--testo2) !important;
}
.pt-top-list li:last-child {
  border-bottom: none !important;
}
.pt-top-loading {
  color: var(--testo3) !important;
  font-size: .9rem !important;
  text-align: center !important;
  padding: 1rem 0 !important;
}

/* ── Product thumbnail in table ─────────────────────────────────────── */
.pt-table .pt-thumb {
  width: 48px !important;
  height: 48px !important;
  object-fit: cover !important;
  border-radius: 9px !important;
  border: 1.5px solid var(--avorio) !important;
}

/* ── Pagination inside .pt-table-footer ─────────────────────────────── */
.pt-page-btn {
  width: 34px !important;
  height: 34px !important;
  border-radius: 8px !important;
  border: 1.5px solid var(--avorio) !important;
  background: transparent !important;
  cursor: pointer !important;
  font-size: .85rem !important;
  font-weight: 700 !important;
  color: var(--testo2) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all .18s !important;
  font-family: 'Nunito', sans-serif !important;
}
.pt-page-btn:hover {
  border-color: var(--verde) !important;
  color: var(--verde) !important;
  background: var(--verde-light) !important;
}
.pt-page-btn.current {
  background: var(--verde) !important;
  color: #fff !important;
  border-color: var(--verde) !important;
}

/* ── Modal overlay ──────────────────────────────────────────────────── */
.pt-modal-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(44,36,22,.5) !important;
  padding: 1rem !important;
  opacity: 1 !important;
  pointer-events: all !important;
}
.pt-modal-overlay[hidden] {
  display: none !important;
}
.pt-modal {
  background: #fff !important;
  border: 1.5px solid var(--avorio) !important;
  border-radius: 22px !important;
  width: 100% !important;
  max-width: 640px !important;
  box-shadow: 0 32px 80px rgba(44,36,22,.18) !important;
  max-height: 90vh !important;
  overflow-y: auto !important;
  padding: 1.6rem !important;
  position: relative !important;
}
.pt-modal-sm .pt-modal {
  max-width: 420px !important;
}
.pt-modal-close {
  position: absolute !important;
  top: 1rem !important;
  right: 1rem !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 8px !important;
  border: 1.5px solid var(--avorio) !important;
  background: transparent !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--testo3) !important;
  transition: all .18s !important;
}
.pt-modal-close:hover {
  background: var(--crema2) !important;
  border-color: var(--testo3) !important;
}
.pt-modal-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  color: var(--verde) !important;
  margin: 0 0 1.2rem !important;
  padding-right: 2rem !important;
}
.pt-modal-text {
  font-size: .88rem !important;
  color: var(--testo2) !important;
  line-height: 1.6 !important;
  margin-bottom: 1.2rem !important;
}
.pt-modal-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: .75rem !important;
  margin-top: 1.2rem !important;
  padding-top: 1rem !important;
  border-top: 1.5px solid var(--avorio) !important;
}

/* ── Modal form fields ──────────────────────────────────────────────── */
.pt-modal-form {
  display: flex !important;
  flex-direction: column !important;
  gap: .85rem !important;
}
.pt-form-row {
  display: grid !important;
  gap: .8rem !important;
}
.pt-form-row-2 {
  grid-template-columns: 1fr 1fr !important;
}
.pt-form-row-3 {
  grid-template-columns: 1fr 1fr 1fr !important;
}
@media (max-width: 560px) {
  .pt-form-row-2,
  .pt-form-row-3 { grid-template-columns: 1fr !important; }
}
.pt-form-group {
  display: flex !important;
  flex-direction: column !important;
  gap: .35rem !important;
}
.pt-form-label {
  display: block !important;
  font-size: .75rem !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: var(--testo2) !important;
  font-family: 'Nunito', sans-serif !important;
}
.pt-form-label .req {
  color: #dc2626 !important;
}
.pt-form-input {
  width: 100% !important;
  padding: .7rem 1rem !important;
  border: 1.5px solid var(--avorio) !important;
  border-radius: 10px !important;
  font-size: .9rem !important;
  font-family: 'Nunito', sans-serif !important;
  color: var(--testo) !important;
  background: var(--crema2) !important;
  outline: none !important;
  transition: border-color .2s, box-shadow .2s !important;
  box-sizing: border-box !important;
}
.pt-form-input:focus {
  border-color: var(--verde) !important;
  box-shadow: 0 0 0 3px rgba(26,74,58,.1) !important;
}
.pt-form-input::placeholder {
  color: var(--testo4) !important;
}
.pt-form-textarea {
  resize: vertical !important;
  min-height: 80px !important;
}

/* ── Image upload widget in modal ───────────────────────────────────── */
/* ── Image upload zone (replaces wp.media) ──────────────────────────── */
.pt-form-hint {
  font-size: .75rem !important;
  color: var(--testo3) !important;
  font-weight: 400 !important;
  margin-left: .4rem !important;
}
.pt-img-upload-zone {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .6rem !important;
  align-items: flex-start !important;
  padding: .75rem !important;
  border: 2px dashed var(--avorio) !important;
  border-radius: 12px !important;
  background: var(--crema) !important;
  transition: border-color .2s, background .2s !important;
  min-height: 80px !important;
}
.pt-img-upload-zone.drag-over {
  border-color: var(--verde) !important;
  background: var(--verde-light, rgba(44,94,44,.06)) !important;
}
.pt-img-upload-zone.uploading {
  opacity: .7 !important;
  pointer-events: none !important;
}
.pt-img-thumbs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .6rem !important;
}
.pt-thumb-item {
  position: relative !important;
  width: 80px !important;
  height: 80px !important;
  border-radius: 10px !important;
  overflow: visible !important;
  flex-shrink: 0 !important;
  cursor: pointer !important;
}
.pt-thumb-item.pt-thumb-main {
  cursor: default !important;
}
.pt-thumb-item img {
  width: 80px !important;
  height: 80px !important;
  object-fit: cover !important;
  border-radius: 10px !important;
  border: 2px solid var(--avorio) !important;
  display: block !important;
  transition: border-color .2s, opacity .2s !important;
}
.pt-thumb-item.pt-thumb-main img {
  border-color: var(--oro) !important;
  box-shadow: 0 0 0 2px rgba(200,164,90,.35) !important;
}
.pt-thumb-item:not(.pt-thumb-main):hover img {
  border-color: var(--oro) !important;
  opacity: .85 !important;
}
.pt-thumb-item.dragging {
  opacity: .35 !important;
}
.pt-thumb-item.drag-over img {
  border-color: var(--oro) !important;
  border-style: dashed !important;
}
.pt-thumb-badge {
  position: absolute !important;
  bottom: -7px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: var(--oro) !important;
  color: var(--nero) !important;
  font-size: .6rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  padding: 2px 6px !important;
  border-radius: 20px !important;
  white-space: nowrap !important;
}
.pt-thumb-remove {
  position: absolute !important;
  top: -7px !important;
  right: -7px !important;
  width: 20px !important;
  height: 20px !important;
  border-radius: 50% !important;
  background: #dc2626 !important;
  color: #fff !important;
  border: none !important;
  cursor: pointer !important;
  font-size: .85rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  padding: 0 !important;
}
.pt-img-add-btn {
  width: 80px !important;
  height: 80px !important;
  border: 2px dashed var(--bordo2) !important;
  border-radius: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  color: var(--verde) !important;
  background: transparent !important;
  transition: all .2s !important;
  flex-shrink: 0 !important;
}
.pt-img-add-btn:hover {
  border-color: var(--verde) !important;
  background: var(--verde-light, rgba(44,94,44,.06)) !important;
}
.pt-img-drop-hint {
  font-size: .72rem !important;
  color: var(--testo3) !important;
  margin-top: .3rem !important;
}

/* ── Modal action buttons ───────────────────────────────────────────── */
.pt-btn-cancel {
  background: transparent !important;
  border: 1.5px solid var(--avorio) !important;
  color: var(--testo2) !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 600 !important;
  font-size: .88rem !important;
  border-radius: 10px !important;
  padding: 9px 22px !important;
  cursor: pointer !important;
  transition: all .2s !important;
}
.pt-btn-cancel:hover {
  background: var(--crema2) !important;
  border-color: var(--testo3) !important;
}
.pt-btn-save {
  background: var(--verde) !important;
  color: #fff !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 700 !important;
  font-size: .88rem !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 9px 22px !important;
  cursor: pointer !important;
  transition: background .2s, transform .18s !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: .4rem !important;
}
.pt-btn-save:hover {
  background: var(--verde2) !important;
  transform: translateY(-1px) !important;
}
.pt-btn-danger {
  background: #dc2626 !important;
  color: #fff !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 700 !important;
  font-size: .88rem !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 9px 22px !important;
  cursor: pointer !important;
  transition: background .2s !important;
}
.pt-btn-danger:hover {
  background: #b91c1c !important;
}

/* ── Spinner in save button ─────────────────────────────────────────── */
.pt-btn-spinner {
  width: 14px !important;
  height: 14px !important;
  border: 2px solid rgba(255,255,255,.3) !important;
  border-top-color: #fff !important;
  border-radius: 50% !important;
  animation: pt-spin .7s linear infinite !important;
  display: inline-block !important;
}
/* hidden attribute must win over display:inline-block !important */
.pt-btn-spinner[hidden] { display: none !important; }
@keyframes pt-spin {
  to { transform: rotate(360deg); }
}

/* ── Toast notification ─────────────────────────────────────────────── */
.pt-toast {
  position: fixed !important;
  bottom: 1.5rem !important;
  right: 1.5rem !important;
  z-index: 9999 !important;
  background: var(--verde) !important;
  color: #fff !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: .88rem !important;
  font-weight: 700 !important;
  padding: .75rem 1.2rem !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 24px rgba(26,74,58,.3) !important;
  opacity: 0 !important;
  transform: translateY(8px) !important;
  transition: opacity .25s, transform .25s !important;
  pointer-events: none !important;
}
.pt-toast.visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
  pointer-events: all !important;
}

/* ── Suppress site content wrapper on dashboard page ─────────────────── */
body.page-template-page-pt-dashboard .site-content,
body.page-template-page-pt-dashboard .woocommerce-breadcrumb {
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
}
body.page-template-page-pt-dashboard .entry-content,
body.page-template-page-pt-dashboard .hentry {
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* ====================================================================
   End Phase 5: Admin Dashboard Fix-ups
   ==================================================================== */

/* ====================================================================
   Phase 6: Bug Fixes (Session)
   ==================================================================== */

/* ── FIX 1: Sidebar search input too tall ────────────────────────────── */
/* Root cause: primo-taglio.css sets padding:1.4rem 1rem 0.4rem on
   .woocommerce-page input[type="text"] which matches sidebar inputs too.
   This selector is specificity 0,2,1 — we beat it with !important below. */
.sidebar-search-form input[type="text"],
.sidebar-search-form input[type="search"],
.sidebar-search-form .sidebar-search-input {
  padding: 0 !important;
  height: auto !important;
  line-height: 1.4 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: .85rem !important;
  font-family: 'Nunito', sans-serif !important;
  color: var(--testo) !important;
  flex: 1 !important;
  min-width: 0 !important;
  outline: none !important;
}

/* ── FIX 2: Footer double lines ──────────────────────────────────────── */
/* Root cause: primo-taglio.css or new-default-theme.css sets
   border-bottom:1px on .footer-inner, which together with
   .footer-bottom border-top creates two visible separator lines. */
.footer-inner {
  border-bottom: none !important;
}

/* ── FIX 3: Home page product cards — hover shadow clipping ─────────── */
/* Root cause: .products-carousel has overflow-x:auto which forces
   overflow-y:auto per CSS spec, clipping card box-shadow on hover.
   Fix: add padding inside the scroll container so shadow has room. */
.products-carousel {
  padding-top: 50px !important;
  margin-top: -40px !important;
  padding-bottom: 80px !important;
  margin-bottom: -70px !important;
}

/* ── FIX 4: Home page product card — enforce light theme ────────────── */
/* new-default-theme.css already sets background:#fff and border-radius:18px
   on .pt-product-card — reinforce with !important so primo-taglio.css dark
   theme (#131310 background) cannot win in any cascade scenario. */
.pt-product-card {
  background: #fff !important;
  border: 1.5px solid var(--avorio) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  color: var(--testo) !important;
}
.pt-product-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 8px 16px rgba(44,36,22,.12), 0 20px 50px rgba(44,36,22,.28) !important;
  border-color: var(--bordo) !important;
}

/* ── FIX 5: Shop page cards — parent overflow clips hover shadow ────── */
/* woocommerce ul.products (the grid) has no overflow set, but if an
   ancestor clips, lift the cards with a slightly larger shadow that
   stays within the visible area. Ensure the 3-col product grid has
   enough row-gap for shadows to not be clipped between rows. */
.woocommerce ul.products,
.woocommerce-page ul.products {
  row-gap: 2rem !important;   /* extra space between rows for shadow */
  padding-bottom: 1rem !important;
}

/* ── FIX 6: Price range slider — ensure visible track + thumb ────────── */
/* The native range input renders differently across browsers.
   These rules ensure a consistent look within the sidebar widget. */
.pt-price-slider {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 100% !important;
  height: 4px !important;
  border-radius: 2px !important;
  background: var(--avorio) !important;
  outline: none !important;
  cursor: pointer !important;
  accent-color: var(--verde) !important;
}
.pt-price-slider::-webkit-slider-thumb {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: var(--verde) !important;
  cursor: pointer !important;
  border: 2px solid #fff !important;
  box-shadow: 0 1px 6px rgba(26,74,58,.25) !important;
}
.pt-price-slider::-moz-range-thumb {
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: var(--verde) !important;
  cursor: pointer !important;
  border: 2px solid #fff !important;
  box-shadow: 0 1px 6px rgba(26,74,58,.25) !important;
}
input[type="range"].pt-price-slider::-webkit-slider-runnable-track {
  background: linear-gradient(to right, var(--verde) 0%, var(--verde) var(--val, 100%), var(--avorio) var(--val, 100%), var(--avorio) 100%) !important;
}

/* ── FIX 7: Fascia di Prezzo widget container ────────────────────────── */
.pt-price-filter-wrap {
  display: flex !important;
  flex-direction: column !important;
  gap: .65rem !important;
}
.pt-price-display {
  display: flex !important;
  justify-content: space-between !important;
  font-size: .82rem !important;
  color: var(--testo2) !important;
  font-weight: 700 !important;
}
.pt-price-display .price-max {
  color: var(--verde) !important;
}

/* ── FIX 8: Sidebar filter labels (general) ──────────────────────────── */
.wc-sidebar .filter-row {
  padding: .3rem 0 !important;
  font-size: .85rem !important;
  color: var(--testo2) !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
}

/* ====================================================================
   End Phase 6: Bug Fixes
   ==================================================================== */

/* ====================================================================
   My Account Page Fixes
   ==================================================================== */

/* FIX MA-01: Hide redundant page title on WC pages (rendered by page.php before the_content) */
.woocommerce-account .section-title,
.woocommerce-cart .section-title,
.woocommerce-checkout .section-title {
  display: none !important;
}

/* FIX MA-02: Reduce top/bottom padding on WC pages — page.php sets inline padding-top:3rem */
.woocommerce-account .section-inner,
.woocommerce-cart .section-inner,
.woocommerce-checkout .section-inner {
  padding-top: 1.5rem !important;
  padding-bottom: 2rem !important;
}

/* FIX MA-03: Reset pt-prose styling inside WC content areas */
.woocommerce-account .pt-prose,
.woocommerce-cart .pt-prose,
.woocommerce-checkout .pt-prose {
  font-size: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
}

/* FIX MA-04: Fix tall input padding (primo-taglio.css sets 1.4rem top padding on
   .woocommerce-page inputs) — override for all account form inputs */
.woocommerce-account .woocommerce-MyAccount-content input[type="text"],
.woocommerce-account .woocommerce-MyAccount-content input[type="email"],
.woocommerce-account .woocommerce-MyAccount-content input[type="password"],
.woocommerce-account .woocommerce-MyAccount-content input[type="tel"],
.woocommerce-account .woocommerce-address-fields__field-wrapper input[type="text"],
.woocommerce-account .woocommerce-address-fields__field-wrapper input[type="tel"],
.woocommerce-account .woocommerce-address-fields__field-wrapper input[type="email"] {
  padding: 10px 14px !important;
  height: auto !important;
  line-height: 1.4 !important;
}

/* FIX MA-05: Fix select height in account forms */
.woocommerce-account .woocommerce-MyAccount-content select,
.woocommerce-account .woocommerce-address-fields__field-wrapper select {
  padding: 10px 14px !important;
  height: auto !important;
  line-height: 1.4 !important;
}

/* FIX MA-06: Clip address button text overflow (WC outputs full "Aggiungi Indirizzo di fatturazione"
   which becomes "AGGIUNGI INDIRIZZO DI FATTURAZIONE" and overflows the card).
   Must use inline-block (not inline-flex) for text-overflow: ellipsis to work. */
.woocommerce-MyAccount-content .woocommerce-Address {
  overflow: hidden !important;
}
.woocommerce-MyAccount-content .woocommerce-Address-title .edit,
.woocommerce-MyAccount-content .woocommerce-Address-title a {
  display: inline-block !important;
  max-width: 55% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  line-height: 2.2 !important;
}

/* ====================================================================
   End My Account Page Fixes
   ==================================================================== */

/* ====================================================================
   Cart Page Fixes
   ==================================================================== */

/* FIX CART-01: "Aggiorna carrello" button text wraps — force single line */
.woocommerce-cart-form button[name="update_cart"],
.woocommerce .woocommerce-cart-form .button[name="update_cart"] {
  white-space: nowrap !important;
  min-width: 140px !important;
}

/* FIX CART-02: Cart table header row uppercase & proper spacing */
.woocommerce-cart-form .shop_table thead th {
  font-size: .72rem !important;
  font-weight: 900 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
  color: var(--testo3) !important;
  padding: .7rem 1rem !important;
  border-bottom: 2px solid var(--avorio) !important;
  background: transparent !important;
}

/* FIX CART-03: Cart product rows — light theme cell padding + borders */
.woocommerce-cart-form .shop_table td {
  padding: .9rem 1rem !important;
  border-bottom: 1px solid var(--crema3) !important;
  background: transparent !important;
  color: var(--testo2) !important;
  vertical-align: middle !important;
}

/* FIX CART-04: Remove (×) button — make circular */
.woocommerce-cart-form .product-remove a.remove {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  background: var(--crema3) !important;
  color: var(--testo3) !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  text-decoration: none !important;
  border: none !important;
  transition: background .18s, color .18s !important;
}
.woocommerce-cart-form .product-remove a.remove:hover {
  background: #fee2e2 !important;
  color: #b91c1c !important;
}

/* FIX CART-05: Product name link color */
.woocommerce-cart-form .product-name a {
  color: var(--testo) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.woocommerce-cart-form .product-name a:hover {
  color: var(--verde) !important;
}

/* FIX CART-06: Cart totals — right column card styling */
.cart-collaterals .cart_totals {
  background: #fff !important;
  border: 1.5px solid var(--avorio) !important;
  border-radius: 18px !important;
  padding: 1.6rem !important;
}
.cart-collaterals .cart_totals h2 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.4rem !important;
  color: var(--testo) !important;
  margin-bottom: 1rem !important;
  padding-bottom: .6rem !important;
  border-bottom: 1.5px solid var(--avorio) !important;
}

/* FIX CART-07: Cart totals table rows */
.cart-collaterals .cart_totals .shop_table td,
.cart-collaterals .cart_totals .shop_table th {
  background: transparent !important;
  color: var(--testo2) !important;
  border-bottom: 1px solid var(--crema3) !important;
  padding: .6rem 0 !important;
  font-size: .9rem !important;
}
.cart-collaterals .cart_totals .shop_table .order-total td,
.cart-collaterals .cart_totals .shop_table .order-total th {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--testo) !important;
  border-bottom: none !important;
}
.cart-collaterals .cart_totals .shop_table .order-total .amount {
  color: var(--oro) !important;
}

/* ====================================================================
   FIX HERO-01: Restore --rosa for hero cosmetics slide btn-rosa
   new-default-theme.css line 49 overrides --rosa to verde globally:
   "--rosa: var(--verde)" — this breaks the pink cosmetica CTA button.
   Restore the real pink scoped to .hero-slider.
   ==================================================================== */
.hero-slider {
  --rosa: #d42e65 !important;
  --rosa-light: #b8235a !important;
  --rosa-glow: rgba(212, 46, 101, 0.32) !important;
}

/* ====================================================================
   End Cart Page Fixes
   ==================================================================== */

/* ── Wishlist page — button color fix ──────────────────────────────────────── */
/* .woocommerce-MyAccount-content a { color: var(--verde) !important } overrides btn-primary text */
.woocommerce-MyAccount-content a.btn-primary,
.woocommerce-MyAccount-content a.btn-verde {
  color: #fff !important;
}

/* ====================================================================
   PHASE 7 — MOBILE RESPONSIVENESS
   Plans 07-01, 07-02, 07-03
   ==================================================================== */

/* ── 07-01-03: Mobile menu extra links — divider, shop/account, lang ────── */
.mobile-nav-divider { border: none; border-top: 1px solid var(--avorio); margin: .5rem 0; }
.mobile-nav-lang { display: flex; gap: .5rem; padding: .65rem .9rem; align-items: center; }
.mobile-lang-btn { font-size: .82rem; font-weight: 700; color: var(--testo3); text-decoration: none; padding: .3rem .6rem; border-radius: 6px; border: 1.5px solid var(--avorio); transition: all .15s; }
.mobile-lang-btn.active { background: var(--verde); color: #fff; border-color: var(--verde); }
.mobile-lang-btn:hover:not(.active) { background: var(--verde-light); color: var(--verde); border-color: var(--bordo2); }

/* ── 07-01-01: Prevent horizontal overflow globally ──────────────────────── */
html, body { overflow-x: hidden !important; }

/* ── 07-01-02: Header mobile padding reduction ───────────────────────────── */
@media (max-width: 768px) {
  .nav-inner { padding: 0 1rem !important; }
  .nav-logo-img { max-height: 38px !important; }
}

/* ── 07-01-04: Mobile nav link touch targets ─────────────────────────────── */
@media (max-width: 900px) {
  .mobile-nav-link { min-height: 44px !important; display: flex !important; align-items: center !important; }
  /* Hamburger touch target */
  .nav-hamburger { min-width: 44px !important; min-height: 44px !important; }
}

/* ── 07-01-05: Mobile menu smooth slide using max-height ─────────────────── */
/* JS toggles .is-open class — CSS uses max-height transition for smooth animation.
   Existing rule: display:none / display:block. We replace the animation approach
   while keeping display:none on desktop (nav-hamburger hidden above 900px). */
.nav-mobile-menu {
  display: none;
  overflow: hidden;
  background: rgba(250,247,242,.98) !important;
  border-top: 1.5px solid var(--avorio) !important;
  box-shadow: 0 8px 24px rgba(44,36,22,.1);
  max-height: 0;
  transition: max-height .3s ease;
}
.nav-mobile-menu.is-open {
  display: block;
  max-height: 100vh;
}

/* ── 07-02-01: Hero mobile breakpoints ──────────────────────────────────── */
/* Hero markup: .hero.hero-slider > .slide.hero-slide > .slide-c > .s-h / .s-p / .s-cta */
@media (max-width: 768px) {
  .hero.hero-slider { min-height: 70vh !important; height: 70vh !important; }
  .slide-c { padding: 0 5vw !important; }
  .s-h { font-size: clamp(1.8rem, 8vw, 2.8rem) !important; }
  .s-p { font-size: .9rem !important; line-height: 1.5 !important; }
  .s-cta { display: flex !important; flex-direction: column !important; gap: .75rem !important; align-items: flex-start !important; }
  .s-cta a, .s-cta .btn-primary, .s-cta .btn-rosa, .s-cta .btn-outline { width: 100% !important; text-align: center !important; justify-content: center !important; }
  /* Hide hero arrow buttons — swipe/dot navigation used on mobile */
  .slide-arrow, .hero-arrows { display: none !important; }
}
@media (max-width: 480px) {
  .hero.hero-slider { min-height: 60vh !important; height: 60vh !important; }
  .slide-c { padding: 0 1rem !important; }
}

/* ── 07-02-02: Featured products carousel mobile ─────────────────────────── */
@media (max-width: 768px) {
  .products-carousel { gap: .75rem !important; scroll-snap-type: x mandatory !important; }
  .pt-product-card { min-width: 220px !important; width: 220px !important; scroll-snap-align: start !important; }
  /* Hide carousel prev/next buttons — swipe replaces them on mobile */
  .products-carousel-btn { display: none !important; }
}
@media (max-width: 480px) {
  .pt-product-card { min-width: 72vw !important; width: 72vw !important; }
}

/* ── 07-02-03: Category grid 1-col at 480px ──────────────────────────────── */
@media (max-width: 480px) {
  .cat-grid, .pt-cats-grid { grid-template-columns: 1fr !important; }
}

/* ── 07-02-04: Section headings and trust bar mobile ─────────────────────── */
@media (max-width: 480px) {
  .pt-cats-title { font-size: clamp(1.4rem, 6vw, 2rem) !important; }
  .trust-bar.features-bar .features-inner { flex-wrap: wrap !important; gap: .5rem !important; padding: .6rem 1rem !important; }
  .feature-item { font-size: .75rem !important; }
}

/* ── 07-03-01: Single product page mobile ────────────────────────────────── */
@media (max-width: 600px) {
  /* Full-width add-to-cart + quantity row */
  .sp-actions,
  .woocommerce-variation-add-to-cart,
  form.cart { display: flex !important; flex-direction: column !important; gap: .75rem !important; }
  form.cart .quantity { width: 100% !important; }
  form.cart .quantity input.qty { width: 100% !important; text-align: center !important; }
  .single_add_to_cart_button { width: 100% !important; }
  /* Gallery thumbnails: smaller on mobile */
  .sp-gallery .flex-control-thumbs li { width: 52px !important; height: 52px !important; }
  /* Product title sizing */
  .sp-title { font-size: clamp(1.4rem, 6vw, 2rem) !important; }
}

/* ── 07-03-02: Cart page mobile ──────────────────────────────────────────── */
@media (max-width: 600px) {
  /* Cart table: allow horizontal scroll */
  .woocommerce-cart-form { overflow-x: auto !important; }
  /* Coupon row: stack vertically */
  .coupon { display: flex !important; flex-direction: column !important; gap: .5rem !important; }
  .coupon input, .coupon .button { width: 100% !important; }
  /* Cart totals: full width */
  .cart_totals { width: 100% !important; }
  /* Remove item button: ensure tap target */
  a.remove { width: 28px !important; height: 28px !important; line-height: 28px !important; }
}

/* ── 07-03-03: Checkout page mobile ──────────────────────────────────────── */
@media (max-width: 600px) {
  /* Billing/shipping fields: full width on mobile (override WC half-width floats) */
  .woocommerce-billing-fields .form-row-first,
  .woocommerce-billing-fields .form-row-last,
  .woocommerce-shipping-fields .form-row-first,
  .woocommerce-shipping-fields .form-row-last {
    width: 100% !important;
    float: none !important;
    clear: both !important;
  }
  /* Order review: readable on mobile */
  #order_review { padding: 1rem !important; }
  .woocommerce-checkout-review-order-table { font-size: .85rem !important; }
}

/* ── 07-03-04: My Account layout — override inline style via .pt-account-layout ── */
/* The inline style="grid-template-columns:240px 1fr" on .wc-2col overrides the
   @media(max-width:960px) collapse rule. Adding .pt-account-layout class to the
   div and defining the columns here restores responsive behaviour. */
.pt-account-layout { grid-template-columns: 240px 1fr !important; }
@media (max-width: 960px) { .pt-account-layout { grid-template-columns: 1fr !important; } }

/* ── 07-03-05: Form inputs 44px min-height + prevent iOS zoom ────────────── */
@media (max-width: 768px) {
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="number"],
  input[type="password"],
  select,
  textarea {
    min-height: 44px !important;
    font-size: 16px !important; /* Prevent iOS Safari auto-zoom on focus */
  }
}

/* ====================================================================
   Checkout — Full Template Match
   Align desktop + mobile checkout with checkout.html reference template
   ==================================================================== */

/* ── Login / coupon notices ──────────────────────────────────────────── */
.woocommerce-checkout .woocommerce-info {
  background: var(--crema2) !important;
  border: 1.5px solid var(--avorio) !important;
  border-radius: 12px !important;
  color: var(--testo2) !important;
  font-size: .85rem !important;
  padding: .7rem 1.2rem !important;
  margin-bottom: .8rem !important;
  list-style: none !important;
}
.woocommerce-checkout .woocommerce-info::before { display: none !important; }
.woocommerce-checkout .woocommerce-info a {
  color: var(--verde) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

/* ── Billing fields: 2-col grid ─────────────────────────────────────── */
.woocommerce-billing-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: .8rem !important;
  clear: both !important;
}
.woocommerce-billing-fields__field-wrapper .form-row {
  float: none !important;
  width: auto !important;
  margin: 0 0 .15rem !important;
  padding: 0 !important;
}
/* Full-width fields */
.woocommerce-billing-fields__field-wrapper #billing_country_field,
.woocommerce-billing-fields__field-wrapper #billing_address_1_field,
.woocommerce-billing-fields__field-wrapper #billing_address_2_field,
.woocommerce-billing-fields__field-wrapper #billing_email_field {
  grid-column: span 2 !important;
}

/* ── Billing section heading ────────────────────────────────────────── */
.woocommerce-checkout .woocommerce-billing-fields > h3 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.1rem !important;
  color: var(--verde) !important;
  margin-bottom: 1.2rem !important;
  padding-bottom: .7rem !important;
  border-bottom: 1.5px solid var(--crema3) !important;
  font-weight: 700 !important;
}

/* ── Customer details panel ─────────────────────────────────────────── */
.woocommerce-checkout #customer_details {
  background: #fff !important;
  border: 1.5px solid var(--avorio) !important;
  border-radius: 18px !important;
  padding: 1.6rem !important;
  margin-bottom: 1.2rem !important;
}

/* ── Shipping methods in order review table ─────────────────────────── */
.woocommerce-shipping-totals td { padding: .6rem 0 !important; }
.woocommerce-shipping-methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .4rem !important;
}
.woocommerce-shipping-methods li {
  border: 1.5px solid var(--avorio) !important;
  border-radius: 12px !important;
  padding: .7rem 1rem !important;
  display: flex !important;
  align-items: center !important;
  gap: .6rem !important;
  cursor: pointer !important;
  transition: border-color .18s, background .18s !important;
  background: #fff !important;
  font-size: .88rem !important;
  font-weight: 600 !important;
  color: var(--testo) !important;
}
.woocommerce-shipping-methods li:has(input:checked) {
  border-color: var(--verde) !important;
  background: rgba(26,74,58,.04) !important;
}
.woocommerce-shipping-methods li:hover {
  border-color: var(--bordo2) !important;
  background: var(--verde-light) !important;
}
.woocommerce-shipping-methods input[type=radio] {
  accent-color: var(--verde) !important;
  width: 15px !important;
  height: 15px !important;
  flex-shrink: 0 !important;
}
/* Shipment row label in table */
.woocommerce-shipping-totals.shipping th {
  font-size: .72rem !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: var(--testo3) !important;
  vertical-align: top !important;
  padding-top: .8rem !important;
}

/* ── Payment section card ───────────────────────────────────────────── */
.woocommerce-checkout-payment {
  background: #fff !important;
  border: 1.5px solid var(--avorio) !important;
  border-radius: 18px !important;
  padding: 1.4rem !important;
  margin-top: 1.2rem !important;
}
.woocommerce-checkout-payment::before {
  content: '💳 Pagamento' !important;
  display: block !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.1rem !important;
  color: var(--verde) !important;
  font-weight: 700 !important;
  margin-bottom: 1rem !important;
  padding-bottom: .7rem !important;
  border-bottom: 1.5px solid var(--crema3) !important;
}

/* ── Trust badge row after place order ─────────────────────────────── */
.woocommerce-checkout-payment .form-row.place-order::after {
  content: '✓ Prodotti 100% Halal Certificati  ·  🔒 Pagamento SSL 256-bit' !important;
  display: block !important;
  margin-top: 1rem !important;
  padding: .75rem 1rem !important;
  background: var(--crema2) !important;
  border-radius: 10px !important;
  font-size: .75rem !important;
  color: var(--testo3) !important;
  font-weight: 700 !important;
  text-align: center !important;
  line-height: 1.6 !important;
}

/* ── Privacy/terms notice ───────────────────────────────────────────── */
.woocommerce .woocommerce-privacy-policy-text {
  font-size: .82rem !important;
  color: var(--testo3) !important;
  background: var(--crema2) !important;
  border: 1.5px solid var(--avorio) !important;
  border-radius: 10px !important;
  padding: .75rem 1rem !important;
  margin-bottom: 1rem !important;
  line-height: 1.6 !important;
}
.woocommerce .woocommerce-privacy-policy-text a { color: var(--verde) !important; font-weight: 700 !important; }

/* ── Order review totals ────────────────────────────────────────────── */
.woocommerce-checkout-review-order-table tfoot .order-total td,
.woocommerce-checkout-review-order-table tfoot .order-total th {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.1rem !important;
  font-weight: 900 !important;
  color: var(--oro) !important;
}

/* ── Mobile checkout ────────────────────────────────────────────────── */
@media (max-width: 860px) {
  .woocommerce-checkout form.checkout.wc-checkout-grid,
  .wc-checkout-grid {
    grid-template-columns: 1fr !important;
  }
  .wc-checkout-sidebar,
  .order-box.wc-checkout-sidebar {
    position: static !important;
  }
  .woocommerce-billing-fields__field-wrapper {
    grid-template-columns: 1fr !important;
  }
  .woocommerce-billing-fields__field-wrapper #billing_country_field,
  .woocommerce-billing-fields__field-wrapper #billing_address_1_field,
  .woocommerce-billing-fields__field-wrapper #billing_address_2_field,
  .woocommerce-billing-fields__field-wrapper #billing_email_field,
  .woocommerce-billing-fields__field-wrapper #billing_first_name_field,
  .woocommerce-billing-fields__field-wrapper #billing_last_name_field,
  .woocommerce-billing-fields__field-wrapper #billing_city_field,
  .woocommerce-billing-fields__field-wrapper #billing_state_field,
  .woocommerce-billing-fields__field-wrapper #billing_postcode_field,
  .woocommerce-billing-fields__field-wrapper #billing_phone_field {
    grid-column: span 1 !important;
  }
}

/* Override new-default-theme.css grid-column: 1/-1 on form-row-wide
   so CAP/Città and Postcode/Phone sit in 2-col pairs */
.woocommerce-billing-fields__field-wrapper #billing_postcode_field,
.woocommerce-billing-fields__field-wrapper #billing_city_field,
.woocommerce-billing-fields__field-wrapper #billing_state_field,
.woocommerce-billing-fields__field-wrapper #billing_phone_field {
  grid-column: span 1 !important;
}

/* Collapse billing fields to 1-col at tablet (≤860px) — 
   use same selector specificity as new-default-theme.css to override */
@media (max-width: 860px) {
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    grid-template-columns: 1fr !important;
  }
  .woocommerce-checkout .form-row.form-row-first,
  .woocommerce-checkout .form-row.form-row-last {
    grid-column: 1 !important;
  }
  .woocommerce-billing-fields__field-wrapper #billing_postcode_field,
  .woocommerce-billing-fields__field-wrapper #billing_city_field,
  .woocommerce-billing-fields__field-wrapper #billing_state_field,
  .woocommerce-billing-fields__field-wrapper #billing_phone_field {
    grid-column: 1 !important;
  }
}

/* ====================================================================
   Checkout — Template Match Round 2
   ==================================================================== */

/* ── Checkout wrapper spacing — reduce top gap ───────────────────────── */
.woocommerce-checkout-wrapper {
  padding-top: 1.25rem !important;
}

/* ── Page heading ───────────────────────────────────────────────────── */
.pt-checkout-heading {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(1.6rem, 3.5vw, 2.4rem) !important;
  color: var(--verde) !important;
  margin-bottom: 1.2rem !important;
  margin-top: 0 !important;
  font-weight: 700 !important;
}

/* ── Error/notice banner — full-width, above the 2-col grid ─────────── */
/* WC injects .woocommerce-NoticeGroup-checkout as a direct child of the
   checkout form grid; force it to span both columns */
.woocommerce-checkout form.checkout.wc-checkout-grid > .woocommerce-NoticeGroup,
.woocommerce-checkout form.checkout.wc-checkout-grid > .woocommerce-NoticeGroup-checkout,
.woocommerce-checkout form.checkout.wc-checkout-grid > .woocommerce-notices-wrapper,
.woocommerce-checkout form.checkout.wc-checkout-grid > .wc-error-notice-container {
  grid-column: 1 / -1 !important;
  margin-bottom: 1rem !important;
}
/* Also target notices output before the form, inside the wrapper */
.woocommerce-checkout-wrapper > .woocommerce-notices-wrapper {
  margin-bottom: .75rem !important;
}
.woocommerce-checkout-wrapper .woocommerce-error,
.woocommerce-checkout form .woocommerce-error,
.woocommerce-NoticeGroup-checkout .woocommerce-error {
  background: rgba(212,46,101,0.07) !important;
  border: 1.5px solid var(--rosa) !important;
  border-radius: 14px !important;
  color: var(--testo) !important;
  padding: .9rem 1.25rem !important;
  list-style: none !important;
  margin: 0 0 1rem !important;
}
.woocommerce-checkout-wrapper .woocommerce-error li,
.woocommerce-checkout form .woocommerce-error li,
.woocommerce-NoticeGroup-checkout .woocommerce-error li {
  padding: .15rem 0 !important;
  font-size: .85rem !important;
}
/* Hide the WC icon ::before that overlaps text in checkout error notices */
.woocommerce-checkout-wrapper .woocommerce-error::before,
.woocommerce-checkout form .woocommerce-error::before,
.woocommerce-NoticeGroup-checkout .woocommerce-error::before {
  display: none !important;
}

/* ── Coupon toggle notice — compact ─────────────────────────────────── */
.woocommerce-checkout .woocommerce-form-coupon-toggle {
  margin-bottom: .75rem !important;
}
.woocommerce-checkout .woocommerce-info {
  background: rgba(201,146,14,0.07) !important;
  border: 1.5px solid var(--oro) !important;
  border-radius: 12px !important;
  color: var(--testo) !important;
  padding: .7rem 1rem !important;
  font-size: .85rem !important;
  margin-bottom: .75rem !important;
}
.woocommerce-checkout .woocommerce-info::before { display: none !important; }

/* ── Inline field validation errors — wrap gracefully ───────────────── */
.woocommerce-checkout .woocommerce-invalid label em,
.woocommerce-checkout .form-row .woocommerce-error {
  font-size: .75rem !important;
  color: #b91c1c !important;
  display: block !important;
  margin-top: .2rem !important;
  font-style: italic !important;
}

/* ── Input backgrounds → crema2 ─────────────────────────────────────── */
.woocommerce-checkout .form-row .input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
  background: var(--crema2) !important;
}
.woocommerce-checkout .form-row .input-text:focus,
.woocommerce-checkout .form-row select:focus {
  background: #fff !important;
  border-color: var(--verde) !important;
}

/* ── Billing section heading with emoji ─────────────────────────────── */
.woocommerce-checkout .woocommerce-billing-fields > h3 {
  color: var(--verde) !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  margin-bottom: 1.2rem !important;
  padding-bottom: .7rem !important;
  border-bottom: 1.5px solid var(--crema3) !important;
}

/* ── Shipping section card (left column) ────────────────────────────── */
.pt-shipping-section {
  background: #fff !important;
  border: 1.5px solid var(--avorio) !important;
  border-radius: 18px !important;
  padding: 1.6rem !important;
  margin-bottom: 1.2rem !important;
}
.pt-section-heading {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.1rem !important;
  color: var(--verde) !important;
  font-weight: 700 !important;
  margin-bottom: 1.2rem !important;
  padding-bottom: .7rem !important;
  border-bottom: 1.5px solid var(--crema3) !important;
}
.pt-shipping-methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .5rem !important;
}
.pt-shipping-option {
  border: 1.5px solid var(--avorio) !important;
  border-radius: 12px !important;
  transition: border-color .18s, background .18s !important;
}
.pt-shipping-option label {
  display: flex !important;
  align-items: center !important;
  gap: .75rem !important;
  padding: .75rem 1rem !important;
  cursor: pointer !important;
  font-size: .88rem !important;
  font-weight: 600 !important;
  color: var(--testo) !important;
}
.pt-shipping-option input[type=radio] {
  accent-color: var(--verde) !important;
  width: 15px !important;
  height: 15px !important;
  flex-shrink: 0 !important;
}
.pt-shipping-name { flex: 1 !important; }
.pt-shipping-price { font-weight: 800 !important; color: var(--testo2) !important; }
.pt-shipping-free { color: #16a34a !important; font-weight: 900 !important; }
.pt-shipping-option.is-selected,
.pt-shipping-option:has(input:checked) {
  border-color: var(--verde) !important;
  background: rgba(26,74,58,.04) !important;
}
.pt-shipping-option:hover {
  border-color: var(--bordo2) !important;
  background: var(--verde-light) !important;
}

/* Shipping row is visible in the right-column order review table (WC standard) */

/* ── Order review: product thumbnail wrapper ────────────────────────── */
.pt-checkout-thumb {
  width: 52px !important;
  height: 52px !important;
  object-fit: cover !important;
  border-radius: 9px !important;
  border: 1.5px solid var(--avorio) !important;
  flex-shrink: 0 !important;
  vertical-align: middle !important;
}
.pt-checkout-item-wrap {
  display: flex !important;
  align-items: center !important;
  gap: .6rem !important;
}
.woocommerce-checkout-review-order-table .cart_item td.product-name {
  font-size: .88rem !important;
  font-weight: 600 !important;
  color: var(--testo) !important;
}

/* ── Order review totals: clean row layout ──────────────────────────── */
.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal th,
.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal td {
  font-size: .88rem !important;
  color: var(--testo2) !important;
}
.woocommerce-checkout-review-order-table tfoot tr.shipping th {
  font-size: .88rem !important;
  font-weight: 600 !important;
  color: var(--testo2) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.woocommerce-checkout-review-order-table tfoot tr.tax-rate td .woocommerce-Price-amount,
.woocommerce-checkout-review-order-table tfoot tr.tax-total td .woocommerce-Price-amount {
  color: var(--testo2) !important;
}

/* ── Trust badges in order summary ──────────────────────────────────── */
.wc-checkout-sidebar .woocommerce-checkout-payment::before {
  display: none !important; /* hide from sidebar, shown in payment card */
}

@media (max-width: 860px) {
  .pt-checkout-heading { margin-bottom: 1.2rem !important; }
  .pt-shipping-section { margin-bottom: 1rem !important; }
}

/* ====================================================================
   Cart — Template Match (Phase 7 bugfix batch)
   ==================================================================== */

/* Cart breadcrumb bar */
.pt-cart-breadcrumb-bar {
  background: var(--crema2) !important;
  border-bottom: 1px solid var(--avorio) !important;
  font-size: .8rem !important;
  color: var(--testo3) !important;
}
.pt-cart-breadcrumb-bar .wc-container {
  padding-top: .65rem !important;
  padding-bottom: .65rem !important;
}
.pt-cart-breadcrumb-bar a {
  color: var(--verde) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
.pt-cart-breadcrumb-bar a:hover { text-decoration: underline !important; }
.pt-cart-breadcrumb-bar .sep {
  margin: 0 .45rem !important;
  color: var(--avorio2) !important;
}

/* Cart page h1 */
.woocommerce-cart .pt-cart-heading {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(1.8rem, 4vw, 2.8rem) !important;
  color: var(--verde) !important;
  margin-bottom: 1.8rem !important;
  font-weight: 700 !important;
}

/* SKU below product name */
.woocommerce-cart-form .product-name .pt-cart-sku {
  font-size: .72rem !important;
  color: var(--testo3) !important;
  margin-top: 2px !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 400 !important;
}

/* Quantity stepper — +/– buttons injected by JS around WC qty input */
.woocommerce-cart-form .quantity.pt-qty-stepper {
  display: inline-flex !important;
  align-items: center !important;
  border: 1.5px solid var(--avorio) !important;
  border-radius: 9px !important;
  overflow: hidden !important;
  background: #fff !important;
}
.woocommerce-cart-form .quantity.pt-qty-stepper .qty-btn {
  width: 32px !important;
  height: 36px !important;
  border: none !important;
  background: transparent !important;
  cursor: pointer !important;
  color: var(--verde) !important;
  font-size: 1.05rem !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background .15s !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
}
.woocommerce-cart-form .quantity.pt-qty-stepper .qty-btn:hover {
  background: var(--verde-light) !important;
}
.woocommerce-cart-form .quantity.pt-qty-stepper input.qty {
  width: 44px !important;
  border: none !important;
  border-left: 1px solid var(--crema3) !important;
  border-right: 1px solid var(--crema3) !important;
  text-align: center !important;
  font-size: .88rem !important;
  font-weight: 700 !important;
  color: var(--testo) !important;
  font-family: 'Nunito', sans-serif !important;
  outline: none !important;
  background: transparent !important;
  height: 36px !important;
  padding: 0 !important;
  -moz-appearance: textfield !important;
}
.woocommerce-cart-form .quantity.pt-qty-stepper input.qty::-webkit-inner-spin-button,
.woocommerce-cart-form .quantity.pt-qty-stepper input.qty::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
}

/* Cart totals: fix "SHIPMENT" label casing */
.woocommerce .cart_totals table.shop_table tr.shipping th,
.cart-collaterals .cart_totals .shop_table tr.shipping th {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 600 !important;
  font-size: .88rem !important;
}

/* Cart totals: subtotal/total labels — sentence case */
.woocommerce .cart_totals table.shop_table tr.cart-subtotal th,
.woocommerce .cart_totals table.shop_table tr.order-total th,
.cart-collaterals .cart_totals .shop_table tr.cart-subtotal th,
.cart-collaterals .cart_totals .shop_table tr.order-total th {
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* "Continua lo shopping" link */
.pt-cart-continue-shopping {
  text-align: center !important;
  margin-top: .85rem !important;
}
.pt-cart-continue-shopping a {
  font-size: .82rem !important;
  color: var(--testo3) !important;
  text-decoration: underline !important;
  font-family: 'Nunito', sans-serif !important;
  transition: color .15s !important;
}
.pt-cart-continue-shopping a:hover { color: var(--verde) !important; }

/* Trust badges row in cart totals */
.pt-cart-trust {
  display: flex !important;
  justify-content: center !important;
  gap: 1rem !important;
  margin-top: 1rem !important;
  flex-wrap: wrap !important;
}
.pt-cart-trust span {
  display: flex !important;
  align-items: center !important;
  gap: .3rem !important;
  font-size: .72rem !important;
  color: var(--testo3) !important;
  font-weight: 700 !important;
  font-family: 'Nunito', sans-serif !important;
}
.pt-cart-trust svg { flex-shrink: 0 !important; }

/* ── Order review: flex layout for thumbnail + name + qty ───────────── */
.woocommerce-checkout-review-order-table .cart_item td.product-name {
  display: flex !important;
  align-items: center !important;
  gap: .6rem !important;
}
.woocommerce-checkout-review-order-table .cart_item td.product-name .pt-checkout-thumb {
  width: 52px !important;
  height: 52px !important;
  object-fit: cover !important;
  border-radius: 9px !important;
  border: 1.5px solid var(--avorio) !important;
  flex-shrink: 0 !important;
}

/* =====================================================================
   MOBILE FIXES — CPH2251 / narrow viewport (≤430px)
   ===================================================================== */

/* ── NAV-01: Hide Admin button at narrow widths — prevents hamburger overflow ── */
@media (max-width: 430px) {
  .pt-admin-link { display: none !important; }
  /* Tighten nav-right gap so items fit without overflow */
  .nav-actions, .nav-actions.nav-right { gap: .3rem !important; }
}

/* ── NAV-02: Reduce nav padding on very small screens ── */
@media (max-width: 430px) {
  .nav-inner { padding: 0 .75rem !important; }
}

/* ── CART-01: Force product-name column visible (something hides it at narrow widths) ── */
.woocommerce-cart-form table.cart th.product-name,
.woocommerce-cart-form table.cart td.product-name {
  display: table-cell !important;
}

/* ── CART-02: Constrain product-remove column so it doesn't dominate the table ── */
.woocommerce-cart-form table.cart th.product-remove,
.woocommerce-cart-form table.cart td.product-remove {
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  padding: .6rem .4rem !important;
}

/* ── CART-03: Compact product-thumbnail column on mobile ── */
@media (max-width: 600px) {
  .woocommerce-cart-form table.cart .product-thumbnail img {
    width: 52px !important;
    height: 52px !important;
  }
  .woocommerce-cart-form table.cart th.product-thumbnail,
  .woocommerce-cart-form table.cart td.product-thumbnail {
    width: 60px !important;
    min-width: 60px !important;
    padding: .4rem .3rem !important;
  }
  /* Compact price/qty/subtotal cells */
  .woocommerce-cart-form table.cart th.product-price,
  .woocommerce-cart-form table.cart td.product-price,
  .woocommerce-cart-form table.cart th.product-subtotal,
  .woocommerce-cart-form table.cart td.product-subtotal {
    font-size: .78rem !important;
    padding: .5rem .4rem !important;
  }
  .woocommerce-cart-form table.cart td.product-name {
    padding: .6rem .4rem !important;
    font-size: .82rem !important;
    min-width: 100px !important;
  }
}

/* ── CART-04: Stacked cart layout at very narrow (≤430px) — 3-col: remove | thumb+name | price+qty+subtotal ── */
@media (max-width: 430px) {
  /* Show only: remove | [thumb + name stacked] | subtotal — hide price and qty headers */
  .woocommerce-cart-form table.cart th.product-price,
  .woocommerce-cart-form table.cart th.product-quantity {
    display: none !important;
  }
  /* But keep the cells visible with price inline via data-title */
  .woocommerce-cart-form table.cart td.product-price::before {
    content: attr(data-title) ': ';
    font-weight: 700;
    font-size: .7rem;
    color: var(--testo3);
    display: block;
    margin-bottom: .2rem;
  }
  .woocommerce-cart-form table.cart td.product-quantity::before {
    content: attr(data-title) ': ';
    font-weight: 700;
    font-size: .7rem;
    color: var(--testo3);
    display: block;
    margin-bottom: .2rem;
  }
  .woocommerce-cart-form table.cart td.product-price,
  .woocommerce-cart-form table.cart td.product-quantity {
    border-bottom: none !important;
    padding-bottom: .1rem !important;
  }
}

/* ── CONTAINER-01: Horizontal padding on mobile so content doesn't touch screen edges ── */
@media (max-width: 768px) {
  .wc-container { padding-left: 1rem !important; padding-right: 1rem !important; }
  .pt-cart-breadcrumb-bar .wc-container { padding-top: .5rem !important; padding-bottom: .5rem !important; }
}

/* ── CHECKOUT-01: Order review table readable at ≤480px ── */
@media (max-width: 480px) {
  .woocommerce-checkout-review-order-table { font-size: .8rem !important; }
  .woocommerce-checkout-review-order-table td,
  .woocommerce-checkout-review-order-table th { padding: .5rem .6rem !important; }
}

/* ── Shipping — free shipping notice (cart ≥ €50) ─────────────────────────── */
.pt-free-shipping-notice td {
  color: var(--verde) !important;
  font-weight: 700 !important;
  font-size: .85rem !important;
  padding: .4rem .75rem !important;
  border-bottom: none !important;
}

/* ── Shipping — method list in checkout ───────────────────────────────────── */
/* When free shipping is the only option, hide the entire shipping method
   selector row (WC still outputs it even with one option) */
.woocommerce-checkout #shipping_method li:only-child label {
  pointer-events: none !important;
}
.woocommerce-checkout #shipping_method li:only-child input[type="radio"] {
  display: none !important;
}
/* Compact shipping method list */
.woocommerce-checkout #shipping_method { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.woocommerce-checkout #shipping_method li { padding: .3rem 0 !important; font-size: .88rem !important; }

/* =====================================================================
   LOGO — enlarged, overflow pop-out, brand text removed
   ===================================================================== */

/* Hide brand text ("Il Primo Taglio / Halal Certified") — logo alone suffices */
.nav-logo-brand { display: none !important; }

/* Logo image: larger, allowed to overflow navbar boundary vertically */
.nav-logo-link { overflow: visible !important; position: relative; z-index: 20; }
.nav-logo-img,
.nav-logo-link img,
.nav-logo-link .custom-logo {
  height: 4.5rem !important;
  width: auto !important;
  max-width: none !important;
  object-fit: contain !important;
  /* Negative margins pull the logo above/below the nav bar boundary */
  margin-top: -0.75rem !important;
  margin-bottom: -0.75rem !important;
  position: relative;
  z-index: 20;
  filter: drop-shadow(0 4px 14px rgba(0,0,0,0.28));
  transition: transform .25s ease, filter .25s ease;
}
.nav-logo-link:hover .nav-logo-img,
.nav-logo-link:hover img,
.nav-logo-link:hover .custom-logo {
  transform: translateY(-3px) scale(1.04);
  filter: drop-shadow(0 8px 20px rgba(0,0,0,0.38));
}
/* Allow header to let logo overflow */
.site-header { overflow: visible !important; }
.nav-inner { overflow: visible !important; }

/* Mobile: slightly smaller but still pops out */
@media (max-width: 768px) {
  .nav-logo-img,
  .nav-logo-link img,
  .nav-logo-link .custom-logo {
    height: 3rem !important;
    margin-top: -0.4rem !important;
    margin-bottom: -0.4rem !important;
  }
}
@media (max-width: 480px) {
  .nav-logo-img,
  .nav-logo-link img,
  .nav-logo-link .custom-logo {
    height: 2.6rem !important;
    margin-top: -0.25rem !important;
    margin-bottom: -0.25rem !important;
  }
}

/* =====================================================================
   TRUST BAR — horizontal row on mobile (save vertical space)
   ===================================================================== */

/* ≤768px: single horizontal row, no wrapping */
@media (max-width: 768px) {
  .trust-bar.features-bar .features-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: space-around !important;
    align-items: center !important;
    gap: .25rem !important;
    padding: .5rem .75rem !important;
  }
  .feature-item {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: .2rem !important;
    padding: .2rem .1rem !important;
  }
  .feature-icon { font-size: 1.1rem !important; }
  .feature-icon img { width: 24px !important; height: 24px !important; }
  .feature-text strong { font-size: .65rem !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; display: block !important; }
  /* Hide subtitle text on mobile to keep compact */
  .feature-text span { display: none !important; }
}

/* ≤360px: allow 2+1 grid if items still don't fit */
@media (max-width: 360px) {
  .trust-bar.features-bar .features-inner {
    flex-wrap: wrap !important;
  }
  .feature-item {
    flex: 0 0 calc(50% - .25rem) !important;
  }
}
