/*
Theme Name: Zopiclone Health
Theme URI: https://zopiclone.health
Author: Zopiclone Health
Description: Premium healthcare WordPress theme for Zopiclone Health. WooCommerce compatible.
Version: 2.0.3
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: zopiclone-health
*/

/* ============================================================
   RESET & ROOT
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --blue-50:   #EFF6FF;
  --blue-100:  #DBEAFE;
  --blue-200:  #BFDBFE;
  --blue-400:  #60A5FA;
  --blue-500:  #3B82F6;
  --blue-600:  #1D6EC5;
  --blue-700:  #1D4ED8;
  --blue-800:  #1E3A8A;
  --slate-50:  #F8FAFC;
  --slate-100: #F1F5F9;
  --slate-200: #E2E8F0;
  --slate-300: #CBD5E1;
  --slate-400: #94A3B8;
  --slate-500: #64748B;
  --slate-600: #475569;
  --slate-700: #334155;
  --slate-800: #1E293B;
  --slate-900: #0F172A;
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-serif: 'Merriweather', Georgia, serif;
  --r-sm:  6px;
  --r-md:  10px;
  --r-lg:  16px;
  --r-xl:  24px;
  --sh-sm: 0 1px 3px rgba(15,23,42,.06), 0 1px 2px rgba(15,23,42,.04);
  --sh-md: 0 4px 16px rgba(15,23,42,.08);
  --sh-lg: 0 10px 40px rgba(15,23,42,.12);
}

html { scroll-behavior: smooth; }
body {
  font-family: var(--font-sans);
  color: var(--slate-800);
  background: #fff;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--blue-600); }
a:hover { text-decoration: underline; }
ul, ol { list-style: none; padding: 0; margin: 0; }

/* ============================================================
   LAYOUT
   ============================================================ */
.zh-container { max-width: 1200px; margin: 0 auto; padding: 0 2rem; }

/* ============================================================
   BUTTONS
   ============================================================ */
.zh-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  padding: 10px 22px; border-radius: var(--r-sm);
  font-size: 14px; font-weight: 600; line-height: 1;
  text-decoration: none !important; cursor: pointer; border: none;
  transition: all .15s; font-family: var(--font-sans); white-space: nowrap;
}
.zh-btn-primary { background: var(--blue-600) !important; color: #fff !important; }
.zh-btn-primary:hover { background: var(--blue-700) !important; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(29,110,197,.35); }
.zh-btn-ghost { color: var(--slate-600) !important; background: transparent !important; border: 1.5px solid var(--slate-200) !important; }
.zh-btn-ghost:hover { color: var(--blue-600) !important; border-color: var(--blue-200) !important; background: var(--blue-50) !important; }
.zh-btn-outline-white { color: #fff !important; background: transparent !important; border: 1.5px solid rgba(255,255,255,.55) !important; }
.zh-btn-outline-white:hover { background: rgba(255,255,255,.15) !important; border-color: #fff !important; }
.zh-btn-white { background: #fff !important; color: var(--blue-700) !important; }
.zh-btn-white:hover { background: var(--blue-50) !important; transform: translateY(-1px); }
.zh-btn-lg { padding: 14px 30px !important; font-size: 15px !important; border-radius: var(--r-md) !important; }
.zh-btn-full { width: 100% !important; }

/* ============================================================
   HEADER / NAV
   ============================================================ */
#zh-header {
  position: sticky; top: 0; z-index: 9999;
  background: rgba(255,255,255,.97);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--slate-100);
  transition: box-shadow .2s;
}
#zh-header.zh-scrolled { box-shadow: 0 2px 20px rgba(15,23,42,.09); }

.zh-nav {
  max-width: 1200px; margin: 0 auto; padding: 0 2rem;
  display: flex; align-items: center; justify-content: space-between;
  height: 68px; gap: 16px;
}

/* ── Logo ── */
.zh-logo {
  display: flex; align-items: center; gap: 10px;
  text-decoration: none !important; flex-shrink: 0; line-height: 1;
}
/* The logo image — constrain it so it can't break the nav */
.zh-logo-img {
  height: 44px !important; width: auto !important;
  max-width: 180px !important; display: block !important;
  object-fit: contain !important; flex-shrink: 0;
}
/* Fallback icon logo */
.zh-logo-icon {
  width: 36px; height: 36px; min-width: 36px;
  background: var(--blue-600); border-radius: 9px;
  display: flex; align-items: center; justify-content: center;
}
.zh-logo-icon svg { width: 20px; height: 20px; }
.zh-logo-text { font-size: 18px; font-weight: 700; color: var(--blue-800); letter-spacing: -.3px; }
.zh-logo-text span { color: var(--blue-600); }

/* ── Desktop menu ── */
.zh-menu-wrap { flex: 1; display: flex; justify-content: center; }

#zh-primary-menu {
  display: flex; align-items: center; gap: 2px;
  list-style: none; margin: 0; padding: 0;
}
#zh-primary-menu li { position: relative; list-style: none; }
#zh-primary-menu > li > a {
  display: block; padding: 8px 14px; border-radius: var(--r-sm);
  font-size: 14px; font-weight: 500; color: var(--slate-600);
  text-decoration: none !important; transition: all .15s; white-space: nowrap;
}
#zh-primary-menu > li > a:hover,
#zh-primary-menu > li.current-menu-item > a,
#zh-primary-menu > li.current-menu-parent > a { color: var(--blue-600); background: var(--blue-50); }

/* Dropdown */
#zh-primary-menu .sub-menu {
  display: none; position: absolute; top: calc(100% + 6px); left: 0;
  min-width: 200px; background: #fff;
  border: 1px solid var(--slate-100); border-radius: var(--r-md);
  box-shadow: var(--sh-md); list-style: none; padding: 6px; z-index: 200;
}
#zh-primary-menu li:hover > .sub-menu { display: block; }
#zh-primary-menu .sub-menu li { list-style: none; }
#zh-primary-menu .sub-menu a { display: block; padding: 8px 12px; font-size: 13px; color: var(--slate-600); border-radius: var(--r-sm); text-decoration: none !important; }
#zh-primary-menu .sub-menu a:hover { background: var(--blue-50); color: var(--blue-600); }

/* ── Nav right ── */
.zh-nav-right { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }

.zh-cart-link {
  display: flex; align-items: center; gap: 6px; position: relative;
  padding: 8px 12px; border-radius: var(--r-sm);
  border: 1.5px solid var(--slate-200); color: var(--slate-600) !important;
  text-decoration: none !important; font-size: 14px; font-weight: 500;
  transition: all .15s; white-space: nowrap;
}
.zh-cart-link:hover { color: var(--blue-600) !important; border-color: var(--blue-200); background: var(--blue-50); }
.zh-cart-link svg { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 2; }
.zh-cart-count {
  position: absolute; top: -7px; right: -7px;
  width: 18px; height: 18px; background: var(--blue-600); color: #fff;
  border-radius: 50%; font-size: 10px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  border: 2px solid #fff;
}

/* ── Hamburger ── */
.zh-menu-toggle {
  display: none; align-items: center; justify-content: center;
  background: none; border: 1.5px solid var(--slate-200);
  border-radius: var(--r-sm); padding: 7px; cursor: pointer;
  color: var(--slate-700); transition: all .15s;
}
.zh-menu-toggle:hover { border-color: var(--blue-200); color: var(--blue-600); background: var(--blue-50); }
.zh-menu-toggle svg { width: 20px; height: 20px; display: block; }
.zh-icon-close { display: none; }
.zh-menu-toggle.zh-open .zh-icon-menu { display: none; }
.zh-menu-toggle.zh-open .zh-icon-close { display: block; }

/* ── Mobile nav panel ── */
#zh-mobile-nav {
  display: none; position: fixed; top: 68px; left: 0; right: 0; bottom: 0;
  background: #fff; z-index: 9998; overflow-y: auto;
  padding: 20px 24px 40px; border-top: 1px solid var(--slate-100);
}
#zh-mobile-nav.zh-open { display: block; }
#zh-mobile-nav ul { list-style: none; padding: 0; margin: 0; }
#zh-mobile-nav li { border-bottom: 1px solid var(--slate-100); list-style: none; }
#zh-mobile-nav > ul > li > a { display: block; padding: 14px 0; font-size: 16px; font-weight: 500; color: var(--slate-700); text-decoration: none !important; }
#zh-mobile-nav .sub-menu { padding-left: 16px; }
#zh-mobile-nav .sub-menu a { padding: 10px 0; font-size: 14px; color: var(--slate-500); text-decoration: none !important; display: block; }
.zh-mobile-cta { margin-top: 24px; display: flex; flex-direction: column; gap: 10px; }

/* ============================================================
   TRUST BAR
   ============================================================ */
.zh-trust-bar { background: var(--slate-50); border-bottom: 1px solid var(--slate-100); padding: 14px 2rem; }
.zh-trust-inner { max-width: 1200px; margin: 0 auto; display: flex; align-items: center; justify-content: center; gap: 24px; flex-wrap: wrap; }
.zh-trust-item { display: flex; align-items: center; gap: 7px; color: var(--slate-500); font-size: 12.5px; font-weight: 500; white-space: nowrap; }
.zh-trust-item svg { width: 15px; height: 15px; stroke: var(--blue-500); fill: none; stroke-width: 2; flex-shrink: 0; }
.zh-trust-divider { width: 1px; height: 18px; background: var(--slate-200); }

/* ============================================================
   HERO
   ============================================================ */
.zh-hero {
  background: linear-gradient(135deg, #1E3A8A 0%, #1a4fa8 50%, #1D6EC5 100%);
  padding: 80px 0 90px; position: relative; overflow: hidden;
}
.zh-hero::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  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='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");
}
.zh-hero-inner { max-width: 1200px; margin: 0 auto; padding: 0 2rem; display: grid; grid-template-columns: 1fr 400px; gap: 60px; align-items: center; position: relative; z-index: 1; }
.zh-hero-eyebrow { display: inline-flex; align-items: center; gap: 6px; background: rgba(255,255,255,.12); color: #93C5FD; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; padding: 5px 13px; border-radius: 999px; margin-bottom: 20px; border: 1px solid rgba(255,255,255,.2); }
.zh-hero-eyebrow svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2; }
.zh-hero h1 { font-family: var(--font-serif) !important; font-weight: 700 !important; font-size: clamp(32px,4vw,50px) !important; line-height: 1.15 !important; color: #fff !important; margin-bottom: 20px !important; letter-spacing: -.5px !important; }
.zh-hero h1 em { font-style: normal !important; color: #93C5FD !important; }
.zh-hero-sub { font-size: 17px; color: rgba(255,255,255,.8); line-height: 1.7; margin-bottom: 32px; max-width: 460px; }
.zh-hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 40px; }
.zh-hero-trust { display: flex; align-items: center; gap: 12px; }
.zh-hero-avatars { display: flex; }
.zh-hero-avatars span { width: 30px; height: 30px; border-radius: 50%; background: linear-gradient(135deg,#93C5FD,#3B82F6); border: 2px solid rgba(255,255,255,.4); display: flex; align-items: center; justify-content: center; font-size: 9px; font-weight: 700; color: #fff; margin-left: -7px; }
.zh-hero-avatars span:first-child { margin-left: 0; }
.zh-hero-trust-text { color: rgba(255,255,255,.72); font-size: 13px; }
.zh-hero-trust-text strong { color: #fff; }

/* Hero card */
.zh-hero-card { background: #fff; border-radius: var(--r-xl); padding: 28px; box-shadow: 0 20px 60px rgba(0,0,0,.28); }
.zh-hero-card-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.zh-hero-card-title { font-size: 14px; font-weight: 700; color: var(--slate-800); }
.zh-badge { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 600; padding: 4px 10px; border-radius: 999px; }
.zh-badge-success { background: #DCFCE7; color: #166534; }
.zh-badge-info { background: var(--blue-50); color: var(--blue-700); }
.zh-sleep-score { display: flex; flex-direction: column; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--slate-100); margin-bottom: 14px; }
.zh-score-ring { width: 88px; height: 88px; position: relative; margin-bottom: 10px; }
.zh-score-ring svg { width: 88px; height: 88px; transform: rotate(-90deg); }
.zh-score-num { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.zh-score-num strong { font-size: 22px; font-weight: 700; color: var(--blue-600); line-height: 1; }
.zh-score-num span { font-size: 10px; color: var(--slate-400); }
.zh-sleep-metrics { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; }
.zh-metric { text-align: center; padding: 10px 6px; background: var(--slate-50); border-radius: var(--r-md); }
.zh-metric-val { font-size: 17px; font-weight: 700; color: var(--slate-800); }
.zh-metric-lbl { font-size: 10px; color: var(--slate-400); font-weight: 500; margin-top: 2px; }
.zh-sleep-tip { margin-top: 12px; padding: 10px 14px; background: var(--blue-50); border-radius: var(--r-md); border-left: 3px solid var(--blue-600); font-size: 12px; color: var(--blue-700); line-height: 1.55; }
.zh-sleep-tip strong { font-weight: 600; }

/* ============================================================
   SECTION BASE
   ============================================================ */
.zh-section { padding: 80px 0; }
.zh-section-alt { background: var(--slate-50); }
.zh-section-label { display: block; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--blue-600); margin-bottom: 10px; }
.zh-section-title { font-family: var(--font-serif) !important; font-size: clamp(26px,3vw,36px) !important; font-weight: 700 !important; color: var(--slate-900) !important; line-height: 1.2 !important; letter-spacing: -.3px !important; margin-bottom: 14px !important; }
.zh-section-sub { font-size: 17px; color: var(--slate-500); max-width: 560px; line-height: 1.7; }
.zh-section-head { margin-bottom: 48px; }
.zh-section-head.zh-center { text-align: center; }
.zh-section-head.zh-center .zh-section-sub { margin: 0 auto; }

/* ============================================================
   ARTICLES
   ============================================================ */
.zh-articles-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; }
.zh-article-card { background: #fff; border-radius: var(--r-lg); border: 1px solid var(--slate-100); overflow: hidden; transition: all .2s; text-decoration: none !important; display: flex; flex-direction: column; box-shadow: var(--sh-sm); }
.zh-article-card:hover { transform: translateY(-3px); box-shadow: var(--sh-md); border-color: var(--blue-100); }
.zh-article-card img { width: 100%; height: 180px; object-fit: cover; display: block; }
.zh-article-img-placeholder { width: 100%; height: 180px; background: linear-gradient(135deg,var(--blue-100),var(--blue-200)); display: flex; align-items: center; justify-content: center; font-size: 48px; }
.zh-article-body { padding: 20px; flex: 1; display: flex; flex-direction: column; }
.zh-article-cat { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--blue-600); margin-bottom: 8px; }
.zh-article-title { font-family: var(--font-serif); font-size: 16px; font-weight: 700; color: var(--slate-800); line-height: 1.4; margin-bottom: 10px; flex: 1; }
.zh-article-excerpt { font-size: 14px; color: var(--slate-500); line-height: 1.6; margin-bottom: 14px; }
.zh-article-meta { display: flex; align-items: center; justify-content: space-between; font-size: 12px; color: var(--slate-400); margin-top: auto; }
.zh-article-author { display: flex; align-items: center; gap: 6px; }
.zh-article-avatar { width: 24px; height: 24px; border-radius: 50%; background: var(--blue-100); display: flex; align-items: center; justify-content: center; font-size: 9px; font-weight: 700; color: var(--blue-700); flex-shrink: 0; }

/* ============================================================
   STATS
   ============================================================ */
.zh-stats { background: linear-gradient(135deg,#1D4ED8 0%,#1E3A8A 100%); padding: 56px 0; }
.zh-stats-grid { max-width: 1200px; margin: 0 auto; padding: 0 2rem; display: grid; grid-template-columns: repeat(4,1fr); }
.zh-stat { text-align: center; padding: 28px 20px; border-right: 1px solid rgba(255,255,255,.1); }
.zh-stat:last-child { border-right: none; }
.zh-stat-num { font-size: 40px; font-weight: 800; color: #fff; line-height: 1; margin-bottom: 6px; }
.zh-stat-label { font-size: 14px; color: rgba(255,255,255,.65); font-weight: 500; }

/* ============================================================
   PRODUCTS GRID (homepage)
   ============================================================ */
.zh-products-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.zh-product-card { background: #fff; border-radius: var(--r-lg); border: 1px solid var(--slate-100); padding: 28px; transition: all .2s; box-shadow: var(--sh-sm); position: relative; overflow: hidden; display: flex; flex-direction: column; }
.zh-product-card.zh-featured { border-color: var(--blue-200); border-width: 2px; }
.zh-product-card.zh-featured::before { content: 'Most Popular'; position: absolute; top: 0; right: 0; background: var(--blue-600); color: #fff; font-size: 11px; font-weight: 700; padding: 5px 14px; border-bottom-left-radius: var(--r-sm); letter-spacing: .04em; }
.zh-product-card:hover { transform: translateY(-2px); box-shadow: var(--sh-md); }
.zh-product-thumb { width: 80px; height: 80px; margin: 0 auto 16px; border-radius: var(--r-md); background: var(--blue-50); display: flex; align-items: center; justify-content: center; font-size: 38px; overflow: hidden; }
.zh-product-thumb img { width: 80px; height: 80px; object-fit: contain; }
.zh-product-name { font-size: 16px; font-weight: 700; color: var(--slate-800); margin-bottom: 4px; text-align: center; }
.zh-product-brand { font-size: 12px; color: var(--blue-600); font-weight: 600; text-align: center; margin-bottom: 16px; }
.zh-product-price { text-align: center; margin-bottom: 16px; }
.zh-from { font-size: 12px; color: var(--slate-400); display: block; }
.zh-amount { font-size: 26px; font-weight: 700; color: var(--slate-900); }
.zh-per { font-size: 12px; color: var(--slate-400); display: block; }
.zh-product-features { list-style: none; padding: 0; margin: 0 0 20px; flex: 1; }
.zh-product-features li { font-size: 13px; color: var(--slate-600); padding: 5px 0; display: flex; align-items: flex-start; gap: 8px; line-height: 1.5; list-style: none; }
.zh-product-features li::before { content: '✓'; color: #16A34A; font-weight: 700; font-size: 13px; flex-shrink: 0; }

/* ============================================================
   DISCLAIMER
   ============================================================ */
.zh-disclaimer { background: #FFFBEB; border: 1px solid #FDE68A; border-radius: var(--r-md); padding: 14px 20px; display: flex; align-items: flex-start; gap: 12px; margin-bottom: 32px; }
.zh-disclaimer svg { width: 18px; height: 18px; min-width: 18px; stroke: #D97706; fill: none; stroke-width: 2; margin-top: 1px; }
.zh-disclaimer p { font-size: 13px; color: #92400E; line-height: 1.6; margin: 0; }
.zh-disclaimer strong { font-weight: 600; }

/* ============================================================
   WHY US
   ============================================================ */
.zh-why-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
.zh-why-item { text-align: center; }
.zh-why-icon { width: 56px; height: 56px; margin: 0 auto 16px; background: var(--blue-50); border-radius: var(--r-lg); display: flex; align-items: center; justify-content: center; }
.zh-why-icon svg { width: 26px; height: 26px; stroke: var(--blue-600); fill: none; stroke-width: 1.8; }
.zh-why-item h3 { font-size: 15px; font-weight: 700; color: var(--slate-800); margin-bottom: 8px; }
.zh-why-item p { font-size: 14px; color: var(--slate-500); line-height: 1.65; }

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.zh-reviews-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.zh-review-card { background: #fff; border-radius: var(--r-lg); border: 1px solid var(--slate-100); padding: 24px; box-shadow: var(--sh-sm); }
.zh-stars { color: #F59E0B; font-size: 14px; margin-bottom: 14px; letter-spacing: 1px; }
.zh-review-text { font-size: 14px; color: var(--slate-600); line-height: 1.7; margin-bottom: 18px; font-style: italic; }
.zh-review-author { display: flex; align-items: center; gap: 10px; }
.zh-review-avatar { width: 38px; height: 38px; border-radius: 50%; background: var(--blue-100); display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; color: var(--blue-700); flex-shrink: 0; }
.zh-review-name { font-size: 14px; font-weight: 600; color: var(--slate-800); }
.zh-review-loc { font-size: 12px; color: var(--slate-400); }

/* ============================================================
   FAQ
   ============================================================ */
.zh-faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.zh-faq-item { background: #fff; border: 1px solid var(--slate-100); border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--sh-sm); }
.zh-faq-q { width: 100%; text-align: left; padding: 18px 22px; background: none; border: none; cursor: pointer; font-size: 15px; font-weight: 600; color: var(--slate-800); display: flex; align-items: center; justify-content: space-between; gap: 12px; transition: background .15s; font-family: var(--font-sans); }
.zh-faq-q:hover { background: var(--slate-50); }
.zh-faq-chevron { width: 20px; height: 20px; min-width: 20px; stroke: var(--blue-500); fill: none; stroke-width: 2; transition: transform .2s; }
.zh-faq-item.zh-open .zh-faq-chevron { transform: rotate(180deg); }
.zh-faq-a { display: none; padding: 16px 22px 20px; font-size: 14px; color: var(--slate-600); line-height: 1.7; border-top: 1px solid var(--slate-100); }
.zh-faq-item.zh-open .zh-faq-a { display: block; }

/* ============================================================
   NEWSLETTER
   ============================================================ */
.zh-newsletter { background: var(--blue-50); border-top: 1px solid var(--blue-100); border-bottom: 1px solid var(--blue-100); padding: 72px 0; }
.zh-newsletter-inner { max-width: 580px; margin: 0 auto; text-align: center; padding: 0 2rem; }
.zh-newsletter-icon { width: 56px; height: 56px; background: var(--blue-100); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; }
.zh-newsletter-icon svg { width: 26px; height: 26px; stroke: var(--blue-600); fill: none; stroke-width: 1.8; }
.zh-newsletter-form { display: flex; gap: 10px; margin-top: 24px; }
.zh-newsletter-form input { flex: 1; padding: 12px 16px; border-radius: var(--r-sm); border: 1.5px solid var(--blue-200); font-size: 14px; outline: none; font-family: var(--font-sans); background: #fff; color: var(--slate-800); transition: border-color .15s; }
.zh-newsletter-form input:focus { border-color: var(--blue-500); }
.zh-newsletter-note { font-size: 12px; color: var(--slate-400); margin-top: 10px; }

/* ============================================================
   BREADCRUMBS
   ============================================================ */
.zh-breadcrumbs { background: var(--slate-50); border-bottom: 1px solid var(--slate-100); padding: 12px 0; font-size: 13px; color: var(--slate-400); }
.zh-breadcrumbs a { color: var(--blue-600); text-decoration: none; }
.zh-breadcrumbs a:hover { text-decoration: underline; }
.zh-sep { margin: 0 6px; color: var(--slate-300); }

/* ============================================================
   SINGLE POST
   ============================================================ */
.zh-entry-header { padding: 52px 0 36px; background: var(--slate-50); border-bottom: 1px solid var(--slate-100); }
.zh-entry-cat { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--blue-600); margin-bottom: 12px; display: block; }
.zh-entry-title { font-family: var(--font-serif) !important; font-size: clamp(28px,4vw,44px) !important; font-weight: 700 !important; color: var(--slate-900) !important; line-height: 1.2 !important; margin-bottom: 16px !important; }
.zh-entry-meta { display: flex; align-items: center; gap: 16px; font-size: 13px; color: var(--slate-400); flex-wrap: wrap; }
.zh-entry-meta-author { display: flex; align-items: center; gap: 8px; }
.zh-entry-meta-avatar { width: 32px; height: 32px; border-radius: 50%; background: var(--blue-100); display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; color: var(--blue-700); }
.zh-entry-content { font-size: 17px; color: var(--slate-700); line-height: 1.8; }
.zh-entry-content p { margin-bottom: 24px; }
.zh-entry-content h2 { font-family: var(--font-serif); font-size: 26px; font-weight: 700; color: var(--slate-900); margin: 40px 0 16px; }
.zh-entry-content h3 { font-family: var(--font-serif); font-size: 20px; font-weight: 700; color: var(--slate-800); margin: 32px 0 12px; }
.zh-entry-content ul, .zh-entry-content ol { margin: 0 0 24px 24px; }
.zh-entry-content li { font-size: 16px; line-height: 1.7; margin-bottom: 6px; }
.zh-entry-content blockquote { border-left: 4px solid var(--blue-500); margin: 32px 0; padding: 16px 24px; background: var(--blue-50); border-radius: 0 var(--r-md) var(--r-md) 0; }

/* ============================================================
   SINGLE PRODUCT PAGE
   ============================================================ */
.zh-product-page { padding: 0 0 72px; }
.zh-product-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; padding: 48px 0 56px; align-items: start; }

.zh-product-main-img { width: 100%; border-radius: var(--r-lg); border: 1px solid var(--slate-100); background: var(--slate-50); object-fit: contain; max-height: 420px; }
.zh-product-img-placeholder { width: 100%; height: 360px; background: var(--blue-50); border-radius: var(--r-lg); display: flex; align-items: center; justify-content: center; font-size: 80px; border: 1px solid var(--blue-100); }
.zh-product-thumbs { display: flex; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.zh-product-thumb-img { width: 72px; height: 72px; object-fit: cover; border-radius: var(--r-md); border: 2px solid var(--slate-100); cursor: pointer; transition: border-color .15s; }
.zh-product-thumb-img:hover { border-color: var(--blue-400); }

.zh-product-badges { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 20px; }
.zh-pbadge { display: flex; align-items: center; gap: 7px; background: var(--slate-50); border: 1px solid var(--slate-100); border-radius: var(--r-md); padding: 8px 12px; font-size: 12px; font-weight: 500; color: var(--slate-600); }
.zh-pbadge svg { width: 14px; height: 14px; stroke: var(--blue-500); fill: none; stroke-width: 2; flex-shrink: 0; }

.zh-product-cat { margin-bottom: 10px; }
.zh-product-cat a { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--blue-600); background: var(--blue-50); padding: 3px 10px; border-radius: 999px; text-decoration: none !important; }
.zh-product-title { font-family: var(--font-serif) !important; font-size: clamp(24px,3vw,36px) !important; font-weight: 700 !important; color: var(--slate-900) !important; line-height: 1.2 !important; margin: 0 0 14px !important; }
.zh-product-rating { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; }
.zh-rating-count { font-size: 13px; color: var(--slate-400); }

.zh-product-price-box { margin-bottom: 20px; }
.zh-product-price-box .woocommerce-Price-amount,
.zh-product-price-box .price { font-size: 28px !important; font-weight: 800 !important; color: var(--blue-700) !important; display: block !important; line-height: 1.2 !important; }
.zh-product-price-box del .woocommerce-Price-amount,
.zh-product-price-box del { font-size: 18px !important; color: var(--slate-400) !important; font-weight: 400 !important; }
.zh-product-price-box ins { text-decoration: none !important; }

.zh-product-short-desc { font-size: 15px; color: var(--slate-600); line-height: 1.7; margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid var(--slate-100); }

/* Add to cart form */
.zh-product-form { margin-bottom: 20px; }
.zh-product-form table.variations { width: 100%; border-collapse: collapse; margin-bottom: 14px; }
.zh-product-form table.variations td { padding: 6px 0; border: none; font-size: 14px; vertical-align: middle; }
.zh-product-form table.variations .label label { font-weight: 600; color: var(--slate-700); white-space: nowrap; padding-right: 16px; }
.zh-product-form table.variations select { width: 100%; padding: 10px 14px; border: 1.5px solid var(--slate-200); border-radius: var(--r-sm); font-size: 14px; font-family: var(--font-sans); color: var(--slate-800); background: #fff; outline: none; cursor: pointer; transition: border-color .15s; }
.zh-product-form table.variations select:focus { border-color: var(--blue-500); }
.zh-product-form .reset_variations { font-size: 12px; color: var(--slate-400); text-decoration: none; display: inline-block; margin-top: 4px; }
.zh-product-form .quantity { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.zh-product-form .quantity label { font-size: 14px; font-weight: 600; color: var(--slate-700); }
.zh-product-form .qty { width: 72px; padding: 10px; border: 1.5px solid var(--slate-200); border-radius: var(--r-sm); font-size: 16px; font-weight: 600; text-align: center; font-family: var(--font-sans); outline: none; }
.zh-product-form .qty:focus { border-color: var(--blue-500); }
.zh-product-form .single_add_to_cart_button { width: 100% !important; background: var(--blue-600) !important; color: #fff !important; border: none !important; border-radius: var(--r-md) !important; font-size: 16px !important; font-weight: 700 !important; padding: 15px 32px !important; cursor: pointer !important; transition: all .15s !important; font-family: var(--font-sans) !important; letter-spacing: .01em !important; margin-bottom: 10px !important; display: block !important; }
.zh-product-form .single_add_to_cart_button:hover { background: var(--blue-700) !important; transform: translateY(-1px) !important; box-shadow: 0 4px 16px rgba(29,110,197,.3) !important; }
.zh-product-form .wc-buy-now-button { display: block !important; width: 100% !important; background: #fff !important; color: var(--blue-600) !important; border: 2px solid var(--blue-200) !important; border-radius: var(--r-md) !important; font-size: 15px !important; font-weight: 600 !important; padding: 13px !important; cursor: pointer !important; transition: all .15s !important; text-align: center !important; font-family: var(--font-sans) !important; text-decoration: none !important; }
.zh-product-form .wc-buy-now-button:hover { background: var(--blue-50) !important; border-color: var(--blue-400) !important; }

/* Delivery strips */
.zh-delivery-strips { display: flex; flex-direction: column; gap: 8px; margin-bottom: 20px; }
.zh-delivery-strip { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--slate-600); padding: 9px 14px; background: var(--slate-50); border-radius: var(--r-md); border: 1px solid var(--slate-100); }
.zh-delivery-strip svg { width: 15px; height: 15px; stroke: var(--blue-500); fill: none; stroke-width: 2; flex-shrink: 0; }

.zh-product-meta { display: flex; gap: 16px; flex-wrap: wrap; font-size: 13px; color: var(--slate-400); padding-top: 16px; border-top: 1px solid var(--slate-100); }
.zh-product-meta a { color: var(--blue-600); text-decoration: none; }

/* Product tabs */
.zh-product-tabs { margin-top: 48px; padding-top: 48px; border-top: 2px solid var(--slate-100); }
.zh-tabs-nav { display: flex; border-bottom: 2px solid var(--slate-100); margin-bottom: 32px; gap: 0; }
.zh-tab-btn { background: none; border: none; border-bottom: 2px solid transparent; margin-bottom: -2px; cursor: pointer; font-size: 15px; font-weight: 600; color: var(--slate-500); padding: 12px 24px; transition: all .15s; font-family: var(--font-sans); white-space: nowrap; }
.zh-tab-btn:hover { color: var(--blue-600); }
.zh-tab-btn.zh-active { color: var(--blue-600); border-bottom-color: var(--blue-600); }
.zh-tab-panel { display: none; }
.zh-tab-panel.zh-active { display: block; }

/* WC attributes table */
.woocommerce-product-attributes { width: 100%; border-collapse: collapse; font-size: 14px; border: 1px solid var(--slate-100); border-radius: var(--r-md); overflow: hidden; }
.woocommerce-product-attributes th, .woocommerce-product-attributes td { padding: 12px 16px; border-bottom: 1px solid var(--slate-100); text-align: left; }
.woocommerce-product-attributes th { font-weight: 600; color: var(--slate-700); background: var(--slate-50); width: 200px; }
.woocommerce-product-attributes td { color: var(--slate-600); }
.woocommerce-product-attributes tr:last-child th, .woocommerce-product-attributes tr:last-child td { border-bottom: none; }

/* Related products */
.zh-related-products { margin-top: 56px; padding-top: 48px; border-top: 1px solid var(--slate-100); }

/* Star ratings */
.star-rating { color: #F59E0B !important; font-size: 14px !important; }

/* ============================================================
   WOOCOMMERCE GLOBAL OVERRIDES
   ============================================================ */
/* Hide the default WC sidebar completely */
.woocommerce-sidebar,
.widget-area,
aside.widget-area,
#secondary,
.secondary,
.woocommerce-page aside { display: none !important; }

/* Shop page product grid */
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(3,1fr) !important; gap: 24px !important; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.woocommerce ul.products li.product { background: #fff !important; border-radius: var(--r-lg) !important; border: 1px solid var(--slate-100) !important; padding: 24px !important; box-shadow: var(--sh-sm) !important; transition: all .2s !important; list-style: none !important; }
.woocommerce ul.products li.product:hover { transform: translateY(-2px) !important; box-shadow: var(--sh-md) !important; }
.woocommerce ul.products li.product a img { border-radius: var(--r-md) !important; margin-bottom: 14px !important; width: 100% !important; height: 200px !important; object-fit: contain !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--font-serif) !important; font-size: 16px !important; font-weight: 700 !important; color: var(--slate-800) !important; margin-bottom: 8px !important; }
.woocommerce ul.products li.product .price { font-size: 18px !important; font-weight: 700 !important; color: var(--blue-700) !important; display: block !important; margin-bottom: 12px !important; }
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product button.button { background: var(--blue-600) !important; color: #fff !important; border-radius: var(--r-sm) !important; font-size: 14px !important; font-weight: 600 !important; padding: 10px 20px !important; border: none !important; width: 100% !important; text-align: center !important; display: block !important; text-decoration: none !important; transition: background .15s !important; cursor: pointer !important; }
.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product button.button:hover { background: var(--blue-700) !important; }

/* All WC buttons */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button { background: var(--blue-600) !important; color: #fff !important; border-radius: var(--r-sm) !important; font-weight: 600 !important; padding: 11px 24px !important; border: none !important; transition: background .15s !important; cursor: pointer !important; font-family: var(--font-sans) !important; }
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover { background: var(--blue-700) !important; }

/* WC notices */
.woocommerce-message { background: #DCFCE7 !important; color: #166534 !important; border-top: none !important; border-left: 4px solid #16A34A !important; border-radius: var(--r-md) !important; padding: 14px 20px !important; }
.woocommerce-info { background: var(--blue-50) !important; color: var(--blue-800) !important; border-top: none !important; border-left: 4px solid var(--blue-500) !important; border-radius: var(--r-md) !important; padding: 14px 20px !important; }
.woocommerce-error { background: #FEE2E2 !important; color: #991B1B !important; border-top: none !important; border-left: 4px solid #EF4444 !important; border-radius: var(--r-md) !important; padding: 14px 20px !important; }

/* ============================================================
   FOOTER
   ============================================================ */
#zh-footer { background: #0F172A; color: rgba(255,255,255,.6); padding: 64px 0 32px; }
.zh-footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; margin-bottom: 48px; }
.zh-footer-logo { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.zh-footer-logo-icon { width: 32px; height: 32px; background: var(--blue-600); border-radius: 8px; display: flex; align-items: center; justify-content: center; }
.zh-footer-logo-icon svg { width: 18px; height: 18px; fill: none; stroke: #fff; stroke-width: 2; }
.zh-footer-logo-text { font-size: 17px; font-weight: 700; color: #fff; }
.zh-footer-logo-text span { color: #60A5FA; }
.zh-footer-brand p { font-size: 14px; line-height: 1.7; max-width: 280px; }
.zh-footer-social { display: flex; gap: 8px; margin-top: 16px; }
.zh-footer-social a { color: rgba(255,255,255,.5) !important; text-decoration: none !important; padding: 5px 11px; border: 1px solid rgba(255,255,255,.12); border-radius: var(--r-sm); font-size: 12px; transition: all .15s; }
.zh-footer-social a:hover { color: #fff !important; border-color: rgba(255,255,255,.3); }
.zh-footer-col h4 { font-size: 12px; font-weight: 700; color: #fff !important; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 16px; }
.zh-footer-col ul { list-style: none; padding: 0; margin: 0; }
.zh-footer-col ul li { margin-bottom: 10px; list-style: none; }
.zh-footer-col ul a { font-size: 14px; color: rgba(255,255,255,.55) !important; text-decoration: none !important; transition: color .15s; }
.zh-footer-col ul a:hover { color: #fff !important; }
.zh-footer-bottom { border-top: 1px solid rgba(255,255,255,.08); padding-top: 24px; display: flex; align-items: center; justify-content: space-between; font-size: 12px; flex-wrap: wrap; gap: 12px; color: rgba(255,255,255,.5); }
.zh-footer-certs { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.zh-cert-badge { display: flex; align-items: center; gap: 5px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); padding: 4px 10px; border-radius: var(--r-sm); font-size: 11px; font-weight: 600; color: rgba(255,255,255,.6); }
.zh-cert-badge svg { width: 13px; height: 13px; stroke: #60A5FA; fill: none; stroke-width: 2; }

/* Sidebar */
.zh-sidebar-widget { background: #fff; border-radius: var(--r-lg); border: 1px solid var(--slate-100); padding: 24px; margin-bottom: 24px; box-shadow: var(--sh-sm); }
.zh-sidebar-title { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--slate-800); margin-bottom: 16px; padding-bottom: 12px; border-bottom: 2px solid var(--blue-100); }

/* Pagination */
.zh-pagination { display: flex; justify-content: center; gap: 6px; padding: 40px 0; }
.zh-pagination .page-numbers { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: var(--r-sm); font-size: 14px; font-weight: 500; border: 1px solid var(--slate-200); color: var(--slate-600); text-decoration: none; transition: all .15s; }
.zh-pagination .page-numbers:hover { border-color: var(--blue-200); color: var(--blue-600); background: var(--blue-50); }
.zh-pagination .page-numbers.current { background: var(--blue-600); color: #fff; border-color: var(--blue-600); }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
  .zh-hero-inner { grid-template-columns: 1fr; }
  .zh-hero-card { display: none; }
  .zh-articles-grid { grid-template-columns: 1fr 1fr; }
  .zh-products-grid { grid-template-columns: 1fr 1fr; }
  .zh-why-grid { grid-template-columns: 1fr 1fr; }
  .zh-stats-grid { grid-template-columns: 1fr 1fr; }
  .zh-stat { border-right: none; border-bottom: 1px solid rgba(255,255,255,.1); }
  .zh-faq-grid { grid-template-columns: 1fr; }
  .zh-reviews-grid { grid-template-columns: 1fr 1fr; }
  .zh-footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .zh-product-layout { grid-template-columns: 1fr; gap: 32px; }
  .woocommerce ul.products { grid-template-columns: repeat(2,1fr) !important; }
  .zh-menu-wrap { display: none; }
  .zh-menu-toggle { display: flex; }
}
@media (max-width: 640px) {
  .zh-section { padding: 52px 0; }
  .zh-container { padding: 0 1.25rem; }
  .zh-articles-grid, .zh-products-grid, .zh-reviews-grid { grid-template-columns: 1fr; }
  .zh-stats-grid { grid-template-columns: 1fr 1fr; }
  .zh-why-grid { grid-template-columns: 1fr 1fr; }
  .zh-footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .zh-newsletter-form { flex-direction: column; }
  .zh-hero-actions { flex-direction: column; }
  .zh-trust-inner { gap: 10px; }
  .zh-trust-divider { display: none; }
  .zh-footer-bottom { flex-direction: column; text-align: center; }
  .woocommerce ul.products { grid-template-columns: 1fr !important; }
  .zh-tabs-nav { overflow-x: auto; }
  .zh-tab-btn { padding: 10px 16px; font-size: 13px; }
  .zh-product-badges { grid-template-columns: 1fr 1fr; }
  .zh-nav { padding: 0 1.25rem; }
}

/* ============================================================
   CRITICAL FIXES — sidebar, double nav, logo
   ============================================================ */

/* 1. KILL the rogue sidebar / widget area on all WooCommerce pages */
.woocommerce-page .widget-area,
.woocommerce-page #secondary,
.woocommerce-page aside,
.woocommerce-page .sidebar,
.single-product .widget-area,
.single-product #secondary,
.single-product aside.widget-area,
#secondary,
.widget-area { display: none !important; }

/* 2. LOGO — force the custom_logo link + image to sit inline inside nav */
.zh-logo,
.zh-logo .custom-logo-link {
  display: flex !important;
  align-items: center !important;
  text-decoration: none !important;
  line-height: 1 !important;
  gap: 0 !important;
}
.zh-logo .custom-logo-link {
  display: flex !important;
  align-items: center !important;
}
.zh-logo img,
.zh-logo .custom-logo,
.zh-logo .custom-logo-link img {
  height: 46px !important;
  width: auto !important;
  max-width: 180px !important;
  display: block !important;
  object-fit: contain !important;
  margin: 0 !important;
  padding: 0 !important;
  /* Remove any block/float that pushes it out of flex row */
  float: none !important;
  position: static !important;
}

/* 3. DOUBLE MENU — mobile nav hidden by default, only shown when toggled */
#zh-mobile-nav {
  display: none !important;
}
#zh-mobile-nav.zh-open {
  display: block !important;
}

/* 4. NAV layout — ensure logo + menu + actions stay on one horizontal row */
.zh-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  height: 68px !important;
  gap: 16px !important;
}
.zh-menu-wrap {
  flex: 1 !important;
  display: flex !important;
  justify-content: center !important;
}
.zh-nav-right {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-shrink: 0 !important;
}

/* 5. PRODUCT PAGE — remove extra space/padding WooCommerce adds */
.woocommerce div.product {
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-notices-wrapper { max-width: 1200px; margin: 0 auto; padding: 0 2rem; }

/* 6. WooCommerce breadcrumb fix */
.woocommerce-breadcrumb {
  max-width: 1200px;
  margin: 0 auto !important;
  padding: 14px 2rem !important;
  font-size: 13px !important;
  color: var(--slate-400) !important;
  background: var(--slate-50) !important;
  border-bottom: 1px solid var(--slate-100) !important;
  display: block !important;
  width: 100% !important;
}
.woocommerce-breadcrumb a { color: var(--blue-600) !important; }

/* 7. Force product page to use full width, no sidebar column */
.woocommerce-page .woocommerce,
.single-product .woocommerce {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}

/* 8. Hide WooCommerce default sidebar navigation widget */
.widget_pages,
.widget_search,
.widget_archive,
.widget_categories { display: none !important; }

/* ============================================================
   CART & CHECKOUT STYLING
   ============================================================ */

/* ── Shared page wrapper ── */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
  padding: 48px 0 72px;
}

/* ── Cart table ── */
.woocommerce-cart-form { margin-bottom: 40px; }

table.woocommerce-cart-form__contents,
table.shop_table {
  width: 100% !important;
  border-collapse: collapse !important;
  border: 1px solid var(--slate-100) !important;
  border-radius: var(--radius-lg) !important;
  overflow: hidden !important;
  background: white !important;
  box-shadow: var(--shadow-sm) !important;
  font-size: 15px !important;
}
table.shop_table th {
  background: var(--slate-50) !important;
  color: var(--slate-600) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  padding: 14px 20px !important;
  border-bottom: 1px solid var(--slate-100) !important;
  text-align: left !important;
}
table.shop_table td {
  padding: 18px 20px !important;
  border-bottom: 1px solid var(--slate-100) !important;
  vertical-align: middle !important;
  color: var(--slate-700) !important;
}
table.shop_table tr:last-child td { border-bottom: none !important; }
table.shop_table .product-thumbnail img {
  width: 72px !important; height: 72px !important;
  object-fit: cover !important; border-radius: var(--radius-md) !important;
  border: 1px solid var(--slate-100) !important;
}
table.shop_table .product-name a {
  font-weight: 600 !important; color: var(--slate-800) !important;
  font-size: 15px !important; text-decoration: none !important;
}
table.shop_table .product-name a:hover { color: var(--blue-600) !important; }
table.shop_table .product-price,
table.shop_table .product-subtotal {
  font-weight: 700 !important; color: var(--blue-700) !important;
}
table.shop_table .product-quantity .qty {
  width: 65px !important; padding: 8px 10px !important;
  border: 1.5px solid var(--slate-200) !important;
  border-radius: var(--radius-sm) !important;
  font-size: 15px !important; text-align: center !important;
  font-family: var(--font-sans) !important; outline: none !important;
}
table.shop_table .product-quantity .qty:focus { border-color: var(--blue-500) !important; }

/* Remove item button */
a.remove {
  color: var(--slate-300) !important; font-size: 20px !important;
  font-weight: 700 !important; line-height: 1 !important;
  transition: color 0.15s !important; text-decoration: none !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 28px !important; height: 28px !important;
  border-radius: 50% !important;
}
a.remove:hover { color: #EF4444 !important; background: #FEE2E2 !important; }

/* Cart actions row */
.cart_item td.actions { padding: 16px 20px !important; }
.wc-proceed-to-checkout,
.actions { display: flex !important; align-items: center !important; gap: 12px !important; flex-wrap: wrap !important; }
.wc-proceed-to-checkout .checkout-button,
.button[name="update_cart"] {
  background: var(--blue-600) !important; color: white !important;
  border: none !important; border-radius: var(--radius-sm) !important;
  font-size: 15px !important; font-weight: 600 !important;
  padding: 13px 28px !important; cursor: pointer !important;
  font-family: var(--font-sans) !important; text-decoration: none !important;
  display: inline-flex !important; align-items: center !important;
  transition: all 0.15s !important;
}
.wc-proceed-to-checkout .checkout-button:hover { background: var(--blue-700) !important; transform: translateY(-1px) !important; }
.button[name="update_cart"] { background: white !important; color: var(--slate-600) !important; border: 1.5px solid var(--slate-200) !important; }
.button[name="update_cart"]:hover { border-color: var(--blue-200) !important; color: var(--blue-600) !important; }

/* Coupon form */
.coupon { display: flex !important; gap: 10px !important; align-items: center !important; }
.coupon label { font-size: 14px !important; font-weight: 600 !important; color: var(--slate-600) !important; }
.coupon #coupon_code {
  padding: 10px 14px !important; border: 1.5px solid var(--slate-200) !important;
  border-radius: var(--radius-sm) !important; font-size: 14px !important;
  font-family: var(--font-sans) !important; outline: none !important;
  transition: border-color 0.15s !important;
}
.coupon #coupon_code:focus { border-color: var(--blue-500) !important; }
.coupon .button { background: var(--slate-700) !important; color: white !important; padding: 10px 18px !important; font-size: 14px !important; }

/* Cart totals box */
.cart-collaterals { margin-top: 32px !important; }
.cart_totals {
  background: white !important; border: 1px solid var(--slate-100) !important;
  border-radius: var(--radius-lg) !important; padding: 28px !important;
  box-shadow: var(--shadow-sm) !important; max-width: 420px !important;
  margin-left: auto !important;
}
.cart_totals h2 {
  font-family: var(--font-serif) !important; font-size: 20px !important;
  font-weight: 700 !important; color: var(--slate-900) !important;
  margin-bottom: 20px !important; padding-bottom: 14px !important;
  border-bottom: 2px solid var(--blue-100) !important;
}
.cart_totals table { width: 100% !important; border-collapse: collapse !important; }
.cart_totals table th,
.cart_totals table td { padding: 12px 0 !important; border-bottom: 1px solid var(--slate-50) !important; font-size: 15px !important; }
.cart_totals table th { color: var(--slate-600) !important; font-weight: 500 !important; }
.cart_totals table td { color: var(--slate-800) !important; font-weight: 600 !important; text-align: right !important; }
.cart_totals table .order-total th,
.cart_totals table .order-total td { font-size: 18px !important; font-weight: 700 !important; color: var(--slate-900) !important; border-bottom: none !important; }
.cart_totals table .order-total td { color: var(--blue-700) !important; }
.cart_totals .wc-proceed-to-checkout { margin-top: 20px !important; display: block !important; }
.cart_totals .wc-proceed-to-checkout .checkout-button { width: 100% !important; justify-content: center !important; font-size: 16px !important; padding: 15px !important; }

/* ── CHECKOUT ── */
.woocommerce-checkout #customer_details { margin-bottom: 32px; }

.woocommerce-checkout .col2-set {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 32px !important;
}
@media (max-width: 768px) {
  .woocommerce-checkout .col2-set { grid-template-columns: 1fr !important; }
}

/* Checkout form sections */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout #order_review_heading {
  background: white !important;
  border: 1px solid var(--slate-100) !important;
  border-radius: var(--radius-lg) !important;
  padding: 28px !important;
  box-shadow: var(--shadow-sm) !important;
}
.woocommerce-checkout h3 {
  font-family: var(--font-serif) !important;
  font-size: 18px !important; font-weight: 700 !important;
  color: var(--slate-900) !important; margin-bottom: 20px !important;
  padding-bottom: 14px !important; border-bottom: 2px solid var(--blue-100) !important;
}

/* Form fields */
.woocommerce-checkout .form-row { margin-bottom: 16px !important; }
.woocommerce-checkout .form-row label {
  display: block !important; font-size: 13px !important;
  font-weight: 600 !important; color: var(--slate-600) !important;
  margin-bottom: 6px !important; letter-spacing: 0.01em !important;
}
.woocommerce-checkout .form-row .required { color: #EF4444 !important; }
.woocommerce-checkout .form-row input[type="text"],
.woocommerce-checkout .form-row input[type="email"],
.woocommerce-checkout .form-row input[type="tel"],
.woocommerce-checkout .form-row input[type="password"],
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single {
  width: 100% !important; padding: 11px 14px !important;
  border: 1.5px solid var(--slate-200) !important;
  border-radius: var(--radius-sm) !important;
  font-size: 14px !important; font-family: var(--font-sans) !important;
  color: var(--slate-800) !important; background: white !important;
  outline: none !important; transition: border-color 0.15s !important;
  box-shadow: none !important; appearance: auto !important;
}
.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .select2-container--focus .select2-selection--single { border-color: var(--blue-500) !important; box-shadow: 0 0 0 3px rgba(29,110,197,0.1) !important; }
.woocommerce-checkout .form-row.woocommerce-invalid input { border-color: #EF4444 !important; }
.woocommerce-checkout .form-row textarea { min-height: 90px !important; resize: vertical !important; }

/* Inline half-width fields */
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last { display: inline-block !important; width: calc(50% - 8px) !important; }
.woocommerce-checkout .form-row-first { margin-right: 12px !important; }
@media (max-width: 500px) {
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last { width: 100% !important; margin-right: 0 !important; display: block !important; }
}

/* Order review table */
#order_review { background: white !important; border: 1px solid var(--slate-100) !important; border-radius: var(--radius-lg) !important; padding: 28px !important; box-shadow: var(--shadow-sm) !important; }
#order_review table.shop_table { border: none !important; box-shadow: none !important; }
#order_review table.shop_table th { background: none !important; }

/* Payment box */
#payment {
  background: var(--slate-50) !important;
  border-radius: var(--radius-lg) !important;
  border: 1px solid var(--slate-100) !important;
  padding: 24px !important; margin-top: 24px !important;
}
#payment .payment_methods { list-style: none !important; padding: 0 !important; margin: 0 0 20px !important; }
#payment .payment_methods li { padding: 12px 0 !important; border-bottom: 1px solid var(--slate-100) !important; font-size: 14px !important; }
#payment .payment_methods li label { font-weight: 500 !important; color: var(--slate-700) !important; cursor: pointer !important; }
#payment .payment_box { background: white !important; border-radius: var(--radius-md) !important; padding: 14px !important; margin-top: 10px !important; font-size: 13px !important; color: var(--slate-500) !important; }
#payment #place_order {
  width: 100% !important; background: var(--blue-600) !important;
  color: white !important; border: none !important;
  border-radius: var(--radius-md) !important; font-size: 16px !important;
  font-weight: 700 !important; padding: 16px !important;
  cursor: pointer !important; font-family: var(--font-sans) !important;
  transition: all 0.15s !important; letter-spacing: 0.01em !important;
}
#payment #place_order:hover { background: var(--blue-700) !important; transform: translateY(-1px) !important; box-shadow: 0 4px 16px rgba(29,110,197,0.3) !important; }

/* Checkout layout — two column (billing left, order summary right) */
.woocommerce-checkout .woocommerce > form.checkout {
  display: grid !important;
  grid-template-columns: 1fr 420px !important;
  gap: 32px !important;
  align-items: start !important;
}
.woocommerce-checkout .woocommerce > form.checkout #order_review_heading,
.woocommerce-checkout .woocommerce > form.checkout #order_review,
.woocommerce-checkout .woocommerce > form.checkout #payment {
  grid-column: 2 !important;
}
.woocommerce-checkout .woocommerce > form.checkout #customer_details {
  grid-column: 1 !important;
  grid-row: 1 !important;
}
@media (max-width: 900px) {
  .woocommerce-checkout .woocommerce > form.checkout {
    grid-template-columns: 1fr !important;
  }
  .woocommerce-checkout .woocommerce > form.checkout #order_review_heading,
  .woocommerce-checkout .woocommerce > form.checkout #order_review,
  .woocommerce-checkout .woocommerce > form.checkout #payment {
    grid-column: 1 !important;
  }
}

/* Woo notices */
.woocommerce-info, .woocommerce-message, .woocommerce-error {
  border-radius: var(--radius-md) !important;
  padding: 14px 20px !important;
  font-size: 14px !important;
  margin-bottom: 20px !important;
  list-style: none !important;
}

/* ============================================================
   WOOCOMMERCE BLOCKS — Cart & Checkout (block editor versions)
   ============================================================ */

/* ── Page title fix ── */
.woocommerce-cart h1.entry-title,
.woocommerce-checkout h1.entry-title,
.wc-block-checkout__main h1,
.page-title {
  font-family: var(--font-serif) !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  color: var(--slate-900) !important;
  margin-bottom: 32px !important;
}

/* ── Wrapper padding ── */
.wc-block-cart,
.wc-block-checkout {
  padding: 48px 0 72px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

/* ── Input fields (blocks) ── */
.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-block-components-country-input input,
.wc-block-components-state-input input,
.wc-block-components-combobox input {
  border: 1.5px solid var(--slate-200) !important;
  border-radius: var(--radius-sm) !important;
  padding: 11px 14px !important;
  font-size: 14px !important;
  font-family: var(--font-sans) !important;
  color: var(--slate-800) !important;
  background: white !important;
  box-shadow: none !important;
  outline: none !important;
  transition: border-color 0.15s !important;
  width: 100% !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus,
.wc-block-components-combobox input:focus {
  border-color: var(--blue-500) !important;
  box-shadow: 0 0 0 3px rgba(29,110,197,0.1) !important;
}
.wc-block-components-text-input label,
.wc-block-components-select label,
.wc-block-components-combobox label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--slate-600) !important;
}

/* ── Section headings ── */
.wc-block-checkout__contact-fields h2,
.wc-block-checkout__shipping-fields h2,
.wc-block-checkout__billing-fields h2,
.wc-block-checkout__shipping-method h2,
.wc-block-checkout__payment-method h2,
.wc-block-components-checkout-step__title {
  font-family: var(--font-serif) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--slate-900) !important;
  margin-bottom: 18px !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid var(--blue-100) !important;
}

/* ── Checkout step container ── */
.wc-block-components-checkout-step {
  background: white !important;
  border: 1px solid var(--slate-100) !important;
  border-radius: var(--radius-lg) !important;
  padding: 28px !important;
  margin-bottom: 20px !important;
  box-shadow: var(--shadow-sm) !important;
}
.wc-block-components-checkout-step__container {
  border: none !important;
  padding: 0 !important;
}

/* ── Order summary panel ── */
.wc-block-cart__totals,
.wc-block-checkout__sidebar,
.wp-block-woocommerce-checkout-order-summary-block {
  background: white !important;
  border: 1px solid var(--slate-100) !important;
  border-radius: var(--radius-lg) !important;
  padding: 28px !important;
  box-shadow: var(--shadow-sm) !important;
}
.wc-block-cart__totals h2,
.wc-block-checkout__sidebar h2,
.wp-block-woocommerce-checkout-order-summary-block h2,
.wc-block-components-totals-wrapper h2 {
  font-family: var(--font-serif) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--slate-900) !important;
  margin-bottom: 16px !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid var(--blue-100) !important;
}

/* ── Order summary line items ── */
.wc-block-components-order-summary-item {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid var(--slate-50) !important;
}
.wc-block-components-order-summary-item__image img {
  width: 60px !important;
  height: 60px !important;
  object-fit: cover !important;
  border-radius: var(--radius-md) !important;
  border: 1px solid var(--slate-100) !important;
}
.wc-block-components-order-summary-item__individual-price,
.wc-block-components-order-summary-item__total-price {
  font-weight: 700 !important;
  color: var(--blue-700) !important;
}
.wc-block-components-order-summary-item__name {
  font-weight: 600 !important;
  color: var(--slate-800) !important;
  font-size: 14px !important;
}
.wc-block-components-order-summary-item__variation {
  font-size: 12px !important;
  color: var(--slate-400) !important;
}

/* ── Totals rows ── */
.wc-block-components-totals-item {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid var(--slate-50) !important;
  font-size: 14px !important;
}
.wc-block-components-totals-item__label { color: var(--slate-600) !important; }
.wc-block-components-totals-item__value { font-weight: 600 !important; color: var(--slate-800) !important; }
.wc-block-components-totals-footer-item {
  padding: 16px 0 0 !important;
  border-top: 2px solid var(--slate-200) !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-size: 16px !important; font-weight: 700 !important; color: var(--slate-900) !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 20px !important; font-weight: 800 !important; color: var(--blue-700) !important;
}

/* ── Coupon block ── */
.wc-block-components-totals-coupon details {
  background: var(--slate-50) !important;
  border-radius: var(--radius-md) !important;
  padding: 10px 14px !important;
  border: 1px solid var(--slate-100) !important;
}
.wc-block-components-totals-coupon__button {
  background: var(--slate-700) !important;
  color: white !important;
  border-radius: var(--radius-sm) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 9px 16px !important;
  border: none !important;
  cursor: pointer !important;
  transition: background 0.15s !important;
}
.wc-block-components-totals-coupon__button:hover { background: var(--slate-800) !important; }

/* ── Proceed to checkout / Place order buttons ── */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-proceed-to-checkout-block a,
.wc-block-cart__submit .wc-block-cart__submit-button {
  width: 100% !important;
  background: var(--blue-600) !important;
  color: white !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  padding: 16px 28px !important;
  cursor: pointer !important;
  font-family: var(--font-sans) !important;
  text-align: center !important;
  text-decoration: none !important;
  display: block !important;
  transition: all 0.15s !important;
  letter-spacing: 0.01em !important;
  margin-top: 16px !important;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block a:hover {
  background: var(--blue-700) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(29,110,197,0.3) !important;
  color: white !important;
  text-decoration: none !important;
}

/* ── Cart item rows (blocks) ── */
.wc-block-cart-items__row {
  display: grid !important;
  grid-template-columns: 80px 1fr auto !important;
  gap: 16px !important;
  align-items: center !important;
  padding: 18px 0 !important;
  border-bottom: 1px solid var(--slate-100) !important;
}
.wc-block-cart-item__image img {
  width: 80px !important; height: 80px !important;
  object-fit: cover !important;
  border-radius: var(--radius-md) !important;
  border: 1px solid var(--slate-100) !important;
}
.wc-block-cart-item__product a {
  font-weight: 600 !important; font-size: 15px !important;
  color: var(--slate-800) !important; text-decoration: none !important;
}
.wc-block-cart-item__product a:hover { color: var(--blue-600) !important; }
.wc-block-cart-item__prices .wc-block-components-product-price {
  font-weight: 700 !important; color: var(--blue-700) !important; font-size: 16px !important;
}
.wc-block-components-quantity-selector {
  display: flex !important; align-items: center !important; gap: 4px !important;
}
.wc-block-components-quantity-selector input {
  width: 56px !important; text-align: center !important;
  border: 1.5px solid var(--slate-200) !important;
  border-radius: var(--radius-sm) !important;
  padding: 8px !important; font-size: 14px !important;
  font-family: var(--font-sans) !important;
}
.wc-block-components-quantity-selector__button {
  width: 32px !important; height: 36px !important;
  background: var(--slate-50) !important;
  border: 1.5px solid var(--slate-200) !important;
  border-radius: var(--radius-sm) !important;
  font-size: 16px !important; cursor: pointer !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  transition: all 0.15s !important;
}
.wc-block-components-quantity-selector__button:hover {
  background: var(--blue-50) !important; border-color: var(--blue-200) !important;
}
.wc-block-cart-item__remove-link a {
  color: var(--slate-300) !important; font-size: 12px !important;
  text-decoration: none !important; transition: color 0.15s !important;
}
.wc-block-cart-item__remove-link a:hover { color: #EF4444 !important; }

/* ── Checkbox styling ── */
.wc-block-components-checkbox input[type="checkbox"] {
  accent-color: var(--blue-600) !important;
  width: 16px !important; height: 16px !important;
}
.wc-block-components-checkbox .wc-block-components-checkbox__label {
  font-size: 14px !important; color: var(--slate-600) !important;
}

/* ── Payment methods ── */
.wc-block-components-radio-control__option {
  padding: 12px 0 !important;
  border-bottom: 1px solid var(--slate-50) !important;
}
.wc-block-components-radio-control__option-layout {
  display: flex !important; align-items: center !important; gap: 10px !important;
}
.wc-block-components-radio-control__option label {
  font-size: 14px !important; font-weight: 500 !important; color: var(--slate-700) !important;
  cursor: pointer !important;
}
.wc-block-components-radio-control input[type="radio"] {
  accent-color: var(--blue-600) !important;
}
.wc-block-components-payment-method-label__brand img { height: 24px !important; }

/* ── Error / notice messages ── */
.wc-block-components-validation-error p,
.wc-block-components-notice--error {
  color: #991B1B !important; font-size: 13px !important;
  background: #FEE2E2 !important; padding: 8px 12px !important;
  border-radius: var(--radius-sm) !important; margin-top: 4px !important;
  border-left: 3px solid #EF4444 !important;
}

/* ── Fix page title "Checkoutt" – just hide the ugly double-t visually
   (rename the page in WP admin from "Checkoutt" to "Checkout") ── */
.woocommerce-checkout .entry-title,
.woocommerce-cart .entry-title {
  display: none !important;
}

/* ── Responsive cart/checkout ── */
@media (max-width: 768px) {
  .wc-block-cart-items__row { grid-template-columns: 64px 1fr !important; }
  .wc-block-cart__submit { padding: 0 !important; }
}

/* ============================================================
   WOOCOMMERCE BLOCKS — Cart & Checkout (Block Editor version)
   WooCommerce 8+ uses .wp-block-woocommerce-* classes
   ============================================================ */

/* ── Shared block wrapper ── */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 48px 2rem 72px !important;
  font-family: var(--font-sans) !important;
}

/* ── Two-column layout ── */
.wp-block-woocommerce-cart .wp-block-woocommerce-cart-items-block,
.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-fields-block {
  flex: 1 1 0% !important;
}
.wp-block-woocommerce-cart .wp-block-woocommerce-cart-totals-block,
.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
  width: 380px !important;
  flex-shrink: 0 !important;
}

/* ── Section headings ── */
.wp-block-woocommerce-checkout h2,
.wp-block-woocommerce-checkout .wc-block-components-title,
.wp-block-woocommerce-cart h2 {
  font-family: var(--font-serif) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--slate-900) !important;
  margin-bottom: 20px !important;
  padding-bottom: 14px !important;
  border-bottom: 2px solid var(--blue-100) !important;
}

/* ── All input fields ── */
.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-block-components-country-input input,
.wc-block-components-state-input input,
.wp-block-woocommerce-checkout input[type="text"],
.wp-block-woocommerce-checkout input[type="email"],
.wp-block-woocommerce-checkout input[type="tel"],
.wp-block-woocommerce-checkout input[type="password"],
.wp-block-woocommerce-checkout select,
.wp-block-woocommerce-cart input[type="text"],
.wp-block-woocommerce-cart input[type="email"] {
  width: 100% !important;
  padding: 12px 14px !important;
  border: 1.5px solid var(--slate-200) !important;
  border-radius: var(--radius-sm) !important;
  font-size: 14px !important;
  font-family: var(--font-sans) !important;
  color: var(--slate-800) !important;
  background: white !important;
  outline: none !important;
  transition: border-color 0.15s, box-shadow 0.15s !important;
  box-shadow: none !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus,
.wp-block-woocommerce-checkout input:focus,
.wp-block-woocommerce-checkout select:focus {
  border-color: var(--blue-500) !important;
  box-shadow: 0 0 0 3px rgba(29,110,197,0.1) !important;
}

/* Field labels */
.wc-block-components-text-input label,
.wc-block-components-select label,
.wc-block-components-checkbox__label,
.wp-block-woocommerce-checkout label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--slate-600) !important;
  margin-bottom: 5px !important;
  display: block !important;
}

/* ── Checkout fields block (left column) ── */
.wp-block-woocommerce-checkout-fields-block {
  background: white !important;
  border: 1px solid var(--slate-100) !important;
  border-radius: var(--radius-lg) !important;
  padding: 28px !important;
  box-shadow: var(--shadow-sm) !important;
}

/* Contact info + shipping sections */
.wc-block-checkout__contact-fields,
.wc-block-checkout__shipping-fields,
.wc-block-checkout__billing-fields,
.wc-block-checkout__payment-method {
  margin-bottom: 28px !important;
  padding-bottom: 28px !important;
  border-bottom: 1px solid var(--slate-100) !important;
}
.wc-block-checkout__contact-fields:last-child,
.wc-block-checkout__payment-method { border-bottom: none !important; }

/* Section titles inside checkout */
.wc-block-checkout__contact-fields h2,
.wc-block-checkout__shipping-fields h2,
.wc-block-checkout__billing-fields h2,
.wc-block-checkout__payment-method h2 {
  font-size: 16px !important;
  margin-bottom: 16px !important;
  padding-bottom: 10px !important;
}

/* ── Order summary (right column) ── */
.wp-block-woocommerce-checkout-order-summary-block,
.wp-block-woocommerce-cart-order-summary-block,
.wp-block-woocommerce-cart-totals-block {
  background: white !important;
  border: 1px solid var(--slate-100) !important;
  border-radius: var(--radius-lg) !important;
  padding: 24px !important;
  box-shadow: var(--shadow-sm) !important;
  position: sticky !important;
  top: 84px !important;
}
.wc-block-components-order-summary__title,
.wc-block-cart__totals-title {
  font-family: var(--font-serif) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--slate-900) !important;
  margin-bottom: 16px !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid var(--blue-100) !important;
  display: block !important;
}

/* Order items */
.wc-block-components-order-summary-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid var(--slate-50) !important;
}
.wc-block-components-order-summary-item__image img {
  width: 56px !important;
  height: 56px !important;
  object-fit: cover !important;
  border-radius: var(--radius-md) !important;
  border: 1px solid var(--slate-100) !important;
}
.wc-block-components-order-summary-item__description {
  flex: 1 !important;
}
.wc-block-components-order-summary-item__name {
  font-weight: 600 !important;
  color: var(--slate-800) !important;
  font-size: 14px !important;
}
.wc-block-components-order-summary-item__individual-prices,
.wc-block-components-order-summary-item__variation {
  font-size: 12px !important;
  color: var(--slate-400) !important;
}
.wc-block-components-order-summary-item__total-price {
  font-weight: 700 !important;
  color: var(--blue-700) !important;
  font-size: 15px !important;
}

/* Totals rows */
.wc-block-components-totals-item {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid var(--slate-50) !important;
  font-size: 14px !important;
}
.wc-block-components-totals-item__label { color: var(--slate-600) !important; }
.wc-block-components-totals-item__value { font-weight: 600 !important; color: var(--slate-800) !important; }
.wc-block-components-totals-item.wc-block-components-totals-footer-item {
  border-bottom: none !important;
  padding-top: 14px !important;
  margin-top: 4px !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-size: 16px !important; font-weight: 700 !important; color: var(--slate-900) !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 20px !important; font-weight: 800 !important; color: var(--blue-700) !important;
}

/* Coupon / discount row */
.wc-block-components-totals-discount .wc-block-components-totals-item__value { color: #16A34A !important; }

/* ── Cart item rows ── */
.wc-block-cart-items__row {
  display: grid !important;
  grid-template-columns: 80px 1fr auto auto !important;
  gap: 16px !important;
  align-items: center !important;
  padding: 16px 0 !important;
  border-bottom: 1px solid var(--slate-100) !important;
}
.wc-block-cart-item__image img {
  width: 72px !important; height: 72px !important;
  object-fit: cover !important; border-radius: var(--radius-md) !important;
  border: 1px solid var(--slate-100) !important;
}
.wc-block-cart-item__product-name a {
  font-weight: 600 !important; color: var(--slate-800) !important;
  font-size: 15px !important; text-decoration: none !important;
}
.wc-block-cart-item__product-name a:hover { color: var(--blue-600) !important; }
.wc-block-cart-item__product-metadata { font-size: 13px !important; color: var(--slate-400) !important; margin-top: 4px !important; }

/* Quantity stepper */
.wc-block-components-quantity-selector {
  display: flex !important;
  align-items: center !important;
  border: 1.5px solid var(--slate-200) !important;
  border-radius: var(--radius-sm) !important;
  overflow: hidden !important;
  background: white !important;
}
.wc-block-components-quantity-selector__button {
  width: 34px !important; height: 38px !important;
  background: var(--slate-50) !important; border: none !important;
  cursor: pointer !important; font-size: 16px !important;
  color: var(--slate-600) !important; transition: background 0.15s !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
}
.wc-block-components-quantity-selector__button:hover { background: var(--blue-50) !important; color: var(--blue-600) !important; }
.wc-block-components-quantity-selector__input {
  width: 46px !important; height: 38px !important;
  border: none !important; border-left: 1px solid var(--slate-200) !important; border-right: 1px solid var(--slate-200) !important;
  text-align: center !important; font-size: 14px !important; font-weight: 600 !important;
  font-family: var(--font-sans) !important; outline: none !important; background: white !important;
}

/* Cart item remove link */
.wc-block-cart-item__remove-link {
  font-size: 12px !important; color: var(--slate-400) !important;
  text-decoration: none !important; margin-top: 6px !important;
  display: inline-block !important; transition: color 0.15s !important;
}
.wc-block-cart-item__remove-link:hover { color: #EF4444 !important; }

/* ── Coupon block ── */
.wc-block-components-totals-coupon__form {
  display: flex !important; gap: 8px !important; margin: 14px 0 !important;
}
.wc-block-components-totals-coupon__form input {
  flex: 1 !important; padding: 10px 14px !important;
  border: 1.5px solid var(--slate-200) !important;
  border-radius: var(--radius-sm) !important;
  font-size: 14px !important; outline: none !important;
}
.wc-block-components-totals-coupon__form input:focus { border-color: var(--blue-500) !important; }

/* ── Place order / Proceed to checkout buttons ── */
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block a,
.wc-block-components-button.wc-block-components-checkout-place-order-button {
  width: 100% !important;
  background: var(--blue-600) !important;
  color: white !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  padding: 15px 24px !important;
  cursor: pointer !important;
  font-family: var(--font-sans) !important;
  transition: all 0.15s !important;
  text-align: center !important;
  display: block !important;
  margin-top: 16px !important;
  text-decoration: none !important;
  letter-spacing: 0.01em !important;
}
.wc-block-components-checkout-place-order-button:hover,
.wc-block-cart__submit-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block a:hover {
  background: var(--blue-700) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(29,110,197,0.3) !important;
  color: white !important;
}

/* ── Payment methods ── */
.wc-block-components-radio-control {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
.wc-block-components-radio-control-accordion-option {
  background: var(--slate-50) !important;
  border: 1.5px solid var(--slate-200) !important;
  border-radius: var(--radius-md) !important;
  padding: 14px 16px !important;
  transition: border-color 0.15s !important;
}
.wc-block-components-radio-control-accordion-option:has(input:checked) {
  border-color: var(--blue-400) !important;
  background: var(--blue-50) !important;
}
.wc-block-components-radio-control__option-layout { display: flex !important; align-items: center !important; gap: 10px !important; }
.wc-block-components-radio-control__label { font-weight: 500 !important; color: var(--slate-700) !important; font-size: 14px !important; }
.wc-block-components-radio-control__description { font-size: 12px !important; color: var(--slate-400) !important; margin-top: 4px !important; }

/* ── Express payment (Apple Pay, Google Pay) ── */
.wc-block-components-express-payment-continue-rule { text-align: center !important; color: var(--slate-400) !important; font-size: 13px !important; margin: 12px 0 !important; }

/* ── Checkbox (create account, same address) ── */
.wc-block-components-checkbox {
  display: flex !important; align-items: center !important; gap: 10px !important;
  cursor: pointer !important; margin: 10px 0 !important;
}
.wc-block-components-checkbox input[type="checkbox"] {
  width: 18px !important; height: 18px !important;
  accent-color: var(--blue-600) !important; cursor: pointer !important;
}
.wc-block-components-checkbox .wc-block-components-checkbox__label {
  font-size: 14px !important; color: var(--slate-600) !important; font-weight: 400 !important;
}

/* ── Notices / errors ── */
.wc-block-components-notice-banner {
  border-radius: var(--radius-md) !important;
  padding: 14px 18px !important;
  font-size: 14px !important;
  margin-bottom: 20px !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
}
.wc-block-components-notice-banner.is-error { background: #FEE2E2 !important; color: #991B1B !important; border-left: 4px solid #EF4444 !important; }
.wc-block-components-notice-banner.is-success { background: #DCFCE7 !important; color: #166534 !important; border-left: 4px solid #16A34A !important; }
.wc-block-components-notice-banner.is-info { background: var(--blue-50) !important; color: var(--blue-800) !important; border-left: 4px solid var(--blue-500) !important; }

/* ── Validation errors inline ── */
.wc-block-components-validation-error {
  color: #EF4444 !important; font-size: 12px !important;
  margin-top: 4px !important; display: flex !important;
  align-items: center !important; gap: 4px !important;
}
.wc-block-components-text-input.has-error input,
.wc-block-components-select.has-error select { border-color: #EF4444 !important; }

/* ── Stock badge ── */
.wc-block-components-product-badge {
  background: #DCFCE7 !important; color: #166534 !important;
  font-size: 11px !important; font-weight: 600 !important;
  padding: 2px 8px !important; border-radius: 999px !important;
  display: inline-block !important;
}

/* ── Responsive ── */
@media (max-width: 768px) {
  .wp-block-woocommerce-cart,
  .wp-block-woocommerce-checkout { padding: 24px 1.25rem 56px !important; }
  .wp-block-woocommerce-cart .wp-block-woocommerce-cart-totals-block,
  .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
    width: 100% !important;
    position: static !important;
  }
  .wc-block-cart-items__row { grid-template-columns: 64px 1fr auto !important; }
}

/* ============================================================
   WOOCOMMERCE BLOCK CHECKOUT & CART (new block-based)
   ============================================================ */

/* ── Shared block wrapper ── */
.wp-block-woocommerce-checkout,
.wp-block-woocommerce-cart {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 48px 2rem 72px !important;
  font-family: var(--font-sans) !important;
}

/* ── Block Cart ── */
.wp-block-woocommerce-cart .wc-block-cart {
  display: grid !important;
  grid-template-columns: 1fr 380px !important;
  gap: 32px !important;
  align-items: start !important;
}
@media (max-width: 900px) {
  .wp-block-woocommerce-cart .wc-block-cart { grid-template-columns: 1fr !important; }
}

/* Cart items table */
.wc-block-cart-items {
  background: white !important;
  border: 1px solid var(--slate-100) !important;
  border-radius: var(--radius-lg) !important;
  overflow: hidden !important;
  box-shadow: var(--shadow-sm) !important;
}
.wc-block-cart-items__header {
  background: var(--slate-50) !important;
  padding: 12px 20px !important;
  border-bottom: 1px solid var(--slate-100) !important;
}
.wc-block-cart-items__header span {
  font-size: 12px !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 0.06em !important;
  color: var(--slate-500) !important;
}
.wc-block-cart-item {
  display: grid !important;
  grid-template-columns: 80px 1fr auto !important;
  gap: 16px !important; align-items: center !important;
  padding: 18px 20px !important;
  border-bottom: 1px solid var(--slate-100) !important;
}
.wc-block-cart-item:last-child { border-bottom: none !important; }
.wc-block-cart-item__image img {
  width: 72px !important; height: 72px !important;
  object-fit: cover !important; border-radius: var(--radius-md) !important;
  border: 1px solid var(--slate-100) !important;
}
.wc-block-cart-item__product-name {
  font-weight: 600 !important; color: var(--slate-800) !important;
  font-size: 15px !important; text-decoration: none !important;
  display: block !important; margin-bottom: 4px !important;
}
.wc-block-cart-item__product-metadata {
  font-size: 13px !important; color: var(--slate-400) !important;
}
.wc-block-cart-item__quantity .wc-block-components-quantity-selector {
  display: flex !important; align-items: center !important;
  border: 1.5px solid var(--slate-200) !important;
  border-radius: var(--radius-sm) !important; overflow: hidden !important;
}
.wc-block-components-quantity-selector__button {
  background: var(--slate-50) !important; border: none !important;
  padding: 8px 12px !important; cursor: pointer !important;
  font-size: 16px !important; color: var(--slate-600) !important;
  transition: background 0.15s !important;
}
.wc-block-components-quantity-selector__button:hover { background: var(--blue-50) !important; color: var(--blue-600) !important; }
.wc-block-components-quantity-selector input {
  width: 48px !important; text-align: center !important;
  border: none !important; outline: none !important;
  font-size: 15px !important; font-weight: 600 !important;
  font-family: var(--font-sans) !important;
  border-left: 1px solid var(--slate-200) !important;
  border-right: 1px solid var(--slate-200) !important;
}
.wc-block-cart-item__remove-link {
  font-size: 12px !important; color: var(--slate-300) !important;
  text-decoration: none !important; transition: color 0.15s !important;
  display: block !important; margin-top: 6px !important;
}
.wc-block-cart-item__remove-link:hover { color: #EF4444 !important; }
.wc-block-cart-item__total {
  font-size: 16px !important; font-weight: 700 !important;
  color: var(--blue-700) !important; text-align: right !important;
}

/* Cart totals sidebar */
.wc-block-cart__submit-container,
.wp-block-woocommerce-cart-order-summary-block {
  background: white !important;
  border: 1px solid var(--slate-100) !important;
  border-radius: var(--radius-lg) !important;
  padding: 24px !important;
  box-shadow: var(--shadow-sm) !important;
  position: sticky !important; top: 84px !important;
}
.wp-block-woocommerce-cart-order-summary-heading-block h2 {
  font-family: var(--font-serif) !important;
  font-size: 18px !important; font-weight: 700 !important;
  color: var(--slate-900) !important; margin-bottom: 16px !important;
  padding-bottom: 14px !important; border-bottom: 2px solid var(--blue-100) !important;
}
.wc-block-components-totals-item {
  display: flex !important; justify-content: space-between !important;
  padding: 10px 0 !important; border-bottom: 1px solid var(--slate-50) !important;
  font-size: 14px !important;
}
.wc-block-components-totals-item__label { color: var(--slate-600) !important; }
.wc-block-components-totals-item__value { font-weight: 600 !important; color: var(--slate-800) !important; }
.wc-block-components-totals-footer-item {
  display: flex !important; justify-content: space-between !important;
  padding: 14px 0 0 !important; font-size: 18px !important; font-weight: 700 !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label { color: var(--slate-900) !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { color: var(--blue-700) !important; }

/* Proceed to checkout button */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-proceed-to-checkout-block a,
.wc-block-cart__submit {
  display: block !important; width: 100% !important;
  background: var(--blue-600) !important; color: white !important;
  border: none !important; border-radius: var(--radius-md) !important;
  font-size: 16px !important; font-weight: 700 !important;
  padding: 15px !important; text-align: center !important;
  cursor: pointer !important; text-decoration: none !important;
  font-family: var(--font-sans) !important; margin-top: 16px !important;
  transition: all 0.15s !important; letter-spacing: 0.01em !important;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block a:hover {
  background: var(--blue-700) !important; color: white !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(29,110,197,0.3) !important;
}

/* Coupon block */
.wc-block-components-totals-coupon__form {
  display: flex !important; gap: 8px !important; margin-top: 12px !important;
}
.wc-block-components-totals-coupon__input input {
  flex: 1 !important; padding: 10px 14px !important;
  border: 1.5px solid var(--slate-200) !important;
  border-radius: var(--radius-sm) !important; font-size: 14px !important;
  font-family: var(--font-sans) !important; outline: none !important;
}
.wc-block-components-totals-coupon__input input:focus { border-color: var(--blue-500) !important; }
.wc-block-components-totals-coupon__button {
  background: var(--slate-700) !important; color: white !important;
  border: none !important; border-radius: var(--radius-sm) !important;
  padding: 10px 16px !important; font-size: 14px !important;
  font-weight: 600 !important; cursor: pointer !important;
}

/* ── BLOCK CHECKOUT layout ── */
.wp-block-woocommerce-checkout .wc-block-checkout__main {
  display: grid !important;
  grid-template-columns: 1fr 400px !important;
  gap: 32px !important; align-items: start !important;
}
@media (max-width: 900px) {
  .wp-block-woocommerce-checkout .wc-block-checkout__main { grid-template-columns: 1fr !important; }
}

/* Checkout form sections */
.wc-block-checkout__contact-fields,
.wc-block-checkout__shipping-fields,
.wc-block-checkout__billing-fields,
.wc-block-checkout__shipping-method,
.wc-block-checkout__payment-method {
  background: white !important;
  border: 1px solid var(--slate-100) !important;
  border-radius: var(--radius-lg) !important;
  padding: 28px !important; margin-bottom: 20px !important;
  box-shadow: var(--shadow-sm) !important;
}
.wc-block-checkout__contact-fields h2,
.wc-block-checkout__shipping-fields h2,
.wc-block-checkout__billing-fields h2,
.wc-block-checkout__shipping-method h2,
.wc-block-checkout__payment-method h2 {
  font-family: var(--font-serif) !important;
  font-size: 17px !important; font-weight: 700 !important;
  color: var(--slate-900) !important; margin-bottom: 20px !important;
  padding-bottom: 12px !important; border-bottom: 2px solid var(--blue-100) !important;
}

/* Block checkout input fields */
.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-block-components-country-input input,
.wc-block-components-state-input input,
.wp-block-woocommerce-checkout input[type="text"],
.wp-block-woocommerce-checkout input[type="email"],
.wp-block-woocommerce-checkout input[type="tel"],
.wp-block-woocommerce-checkout select {
  width: 100% !important; padding: 11px 14px !important;
  border: 1.5px solid var(--slate-200) !important;
  border-radius: var(--radius-sm) !important;
  font-size: 14px !important; font-family: var(--font-sans) !important;
  color: var(--slate-800) !important; background: white !important;
  outline: none !important; transition: border-color 0.15s, box-shadow 0.15s !important;
  box-shadow: none !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus,
.wp-block-woocommerce-checkout input:focus,
.wp-block-woocommerce-checkout select:focus {
  border-color: var(--blue-500) !important;
  box-shadow: 0 0 0 3px rgba(29,110,197,0.1) !important;
}
.wc-block-components-text-input label,
.wc-block-components-select label {
  display: block !important; font-size: 13px !important;
  font-weight: 600 !important; color: var(--slate-600) !important;
  margin-bottom: 5px !important;
}

/* Checkbox styling */
.wc-block-components-checkbox input[type="checkbox"] { accent-color: var(--blue-600) !important; }
.wc-block-components-checkbox label { font-size: 14px !important; color: var(--slate-600) !important; }

/* Order summary sidebar (block checkout) */
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block {
  background: white !important;
  border: 1px solid var(--slate-100) !important;
  border-radius: var(--radius-lg) !important;
  padding: 24px !important; box-shadow: var(--shadow-sm) !important;
  position: sticky !important; top: 84px !important;
}
.wc-block-checkout__sidebar h2 {
  font-family: var(--font-serif) !important;
  font-size: 17px !important; font-weight: 700 !important;
  color: var(--slate-900) !important; margin-bottom: 16px !important;
  padding-bottom: 12px !important; border-bottom: 2px solid var(--blue-100) !important;
}

/* Order summary items */
.wc-block-order-summary-item {
  display: flex !important; gap: 12px !important; align-items: flex-start !important;
  padding: 12px 0 !important; border-bottom: 1px solid var(--slate-50) !important;
}
.wc-block-order-summary-item__image img {
  width: 56px !important; height: 56px !important;
  object-fit: cover !important; border-radius: var(--radius-md) !important;
  border: 1px solid var(--slate-100) !important;
}
.wc-block-order-summary-item__description {
  flex: 1 !important; font-size: 14px !important;
}
.wc-block-order-summary-item__name { font-weight: 600 !important; color: var(--slate-800) !important; }
.wc-block-order-summary-item__meta { color: var(--slate-400) !important; font-size: 12px !important; }
.wc-block-order-summary-item__individual-prices { font-size: 13px !important; color: var(--slate-500) !important; }
.wc-block-order-summary-item__total-price { font-weight: 700 !important; color: var(--blue-700) !important; }

/* Place order button */
.wc-block-components-checkout-place-order-button {
  width: 100% !important; background: var(--blue-600) !important;
  color: white !important; border: none !important;
  border-radius: var(--radius-md) !important;
  font-size: 16px !important; font-weight: 700 !important;
  padding: 16px !important; cursor: pointer !important;
  font-family: var(--font-sans) !important;
  transition: all 0.15s !important; margin-top: 16px !important;
  display: block !important; text-align: center !important;
  letter-spacing: 0.01em !important;
}
.wc-block-components-checkout-place-order-button:hover {
  background: var(--blue-700) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(29,110,197,0.3) !important;
}

/* Express payment buttons area */
.wc-block-components-express-payment {
  border: 1px solid var(--slate-100) !important;
  border-radius: var(--radius-lg) !important;
  padding: 20px !important; margin-bottom: 20px !important;
  background: white !important;
}
.wc-block-components-express-payment__title {
  font-size: 13px !important; color: var(--slate-400) !important;
  text-align: center !important; margin-bottom: 12px !important;
}

/* Payment methods */
.wc-block-components-radio-control-accordion-option {
  border: 1.5px solid var(--slate-200) !important;
  border-radius: var(--radius-md) !important;
  margin-bottom: 8px !important; overflow: hidden !important;
  transition: border-color 0.15s !important;
}
.wc-block-components-radio-control-accordion-option:has(input:checked) { border-color: var(--blue-400) !important; background: var(--blue-50) !important; }
.wc-block-components-radio-control__option label { padding: 14px 16px !important; font-size: 14px !important; font-weight: 500 !important; color: var(--slate-700) !important; cursor: pointer !important; display: flex !important; align-items: center !important; gap: 10px !important; }
.wc-block-components-radio-control__option input[type="radio"] { accent-color: var(--blue-600) !important; width: 16px !important; height: 16px !important; }
.wc-block-components-radio-control-accordion-content { padding: 0 16px 14px !important; font-size: 13px !important; color: var(--slate-500) !important; }

/* Notices / alerts */
.wc-block-components-notice-banner {
  border-radius: var(--radius-md) !important;
  padding: 14px 18px !important; margin-bottom: 16px !important;
  font-size: 14px !important; display: flex !important;
  align-items: flex-start !important; gap: 10px !important;
}
.wc-block-components-notice-banner.is-error { background: #FEE2E2 !important; color: #991B1B !important; border-left: 4px solid #EF4444 !important; }
.wc-block-components-notice-banner.is-success { background: #DCFCE7 !important; color: #166534 !important; border-left: 4px solid #16A34A !important; }
.wc-block-components-notice-banner.is-info { background: var(--blue-50) !important; color: var(--blue-800) !important; border-left: 4px solid var(--blue-500) !important; }

/* Step indicator on block checkout */
.wc-block-checkout__step-heading { font-size: 14px !important; font-weight: 600 !important; color: var(--blue-600) !important; letter-spacing: 0.04em !important; text-transform: uppercase !important; margin-bottom: 8px !important; }

/* "Return to cart" link */
.wc-block-components-checkout-return-to-cart-button {
  font-size: 13px !important; color: var(--slate-400) !important;
  text-decoration: none !important; display: inline-flex !important;
  align-items: center !important; gap: 4px !important; margin-top: 12px !important;
  transition: color 0.15s !important;
}
.wc-block-components-checkout-return-to-cart-button:hover { color: var(--blue-600) !important; }

/* ============================================================
   SHORTCODE-BASED CART & CHECKOUT FIXES
   ============================================================ */

/* Force our container padding on WC pages */
.woocommerce-page .woocommerce,
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  clear: both !important;
}

/* ── CART TABLE ── */
.woocommerce table.shop_table,
.woocommerce-page table.shop_table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid var(--slate-100) !important;
  border-radius: var(--radius-lg) !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: var(--shadow-sm) !important;
  font-size: 14px !important;
  margin-bottom: 32px !important;
}
.woocommerce table.shop_table thead th,
.woocommerce-page table.shop_table thead th {
  background: var(--slate-50) !important;
  color: var(--slate-500) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  padding: 14px 20px !important;
  border-bottom: 1px solid var(--slate-100) !important;
  text-align: left !important;
}
.woocommerce table.shop_table td,
.woocommerce-page table.shop_table td {
  padding: 16px 20px !important;
  border-bottom: 1px solid var(--slate-100) !important;
  vertical-align: middle !important;
  color: var(--slate-700) !important;
  background: #fff !important;
}
.woocommerce table.shop_table tr:last-child td { border-bottom: none !important; }
.woocommerce table.shop_table .product-thumbnail { width: 80px !important; }
.woocommerce table.shop_table .product-thumbnail img {
  width: 68px !important; height: 68px !important;
  object-fit: cover !important; border-radius: var(--radius-md) !important;
  border: 1px solid var(--slate-100) !important;
}
.woocommerce table.shop_table .product-name a {
  font-weight: 600 !important; color: var(--slate-800) !important;
  font-size: 14px !important; text-decoration: none !important;
}
.woocommerce table.shop_table .product-name a:hover { color: var(--blue-600) !important; }
.woocommerce table.shop_table .product-price,
.woocommerce table.shop_table .product-subtotal { font-weight: 700 !important; color: var(--blue-700) !important; }
.woocommerce table.shop_table .product-quantity .qty {
  width: 60px !important; padding: 8px 10px !important;
  border: 1.5px solid var(--slate-200) !important;
  border-radius: var(--radius-sm) !important;
  font-size: 14px !important; text-align: center !important;
  font-family: var(--font-sans) !important; outline: none !important;
}
.woocommerce table.shop_table .product-quantity .qty:focus { border-color: var(--blue-500) !important; }
.woocommerce table.shop_table a.remove {
  color: var(--slate-300) !important; font-size: 18px !important;
  font-weight: 700 !important; text-decoration: none !important;
  display: flex !important; align-items: center !important;
  justify-content: center !important;
  width: 28px !important; height: 28px !important;
  border-radius: 50% !important; transition: all 0.15s !important;
}
.woocommerce table.shop_table a.remove:hover { color: #EF4444 !important; background: #FEE2E2 !important; }

/* Cart actions */
.woocommerce-cart-form__contents .actions {
  display: flex !important; align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important; gap: 12px !important;
  padding: 16px 20px !important;
  background: var(--slate-50) !important;
  border-top: 1px solid var(--slate-100) !important;
}
.woocommerce .coupon { display: flex !important; gap: 8px !important; align-items: center !important; }
.woocommerce .coupon label { font-size: 13px !important; font-weight: 600 !important; color: var(--slate-600) !important; }
.woocommerce .coupon #coupon_code {
  padding: 9px 13px !important; border: 1.5px solid var(--slate-200) !important;
  border-radius: var(--radius-sm) !important; font-size: 14px !important;
  font-family: var(--font-sans) !important; outline: none !important;
}
.woocommerce .coupon #coupon_code:focus { border-color: var(--blue-500) !important; }
.woocommerce .coupon .button,
.woocommerce button.button[name="apply_coupon"] {
  background: var(--slate-700) !important; color: #fff !important;
  border: none !important; border-radius: var(--radius-sm) !important;
  padding: 9px 16px !important; font-size: 13px !important;
  font-weight: 600 !important; cursor: pointer !important;
  font-family: var(--font-sans) !important;
}
.woocommerce button.button[name="update_cart"] {
  background: #fff !important; color: var(--slate-600) !important;
  border: 1.5px solid var(--slate-200) !important;
  border-radius: var(--radius-sm) !important;
  padding: 9px 18px !important; font-size: 13px !important;
  font-weight: 600 !important; cursor: pointer !important;
  font-family: var(--font-sans) !important; transition: all 0.15s !important;
}
.woocommerce button.button[name="update_cart"]:hover { border-color: var(--blue-300) !important; color: var(--blue-600) !important; }

/* Cart totals */
.cart-collaterals { display: flex !important; justify-content: flex-end !important; margin-top: 8px !important; }
.woocommerce .cart_totals {
  width: 100% !important; max-width: 400px !important;
  background: #fff !important; border: 1px solid var(--slate-100) !important;
  border-radius: var(--radius-lg) !important; padding: 26px !important;
  box-shadow: var(--shadow-sm) !important;
}
.woocommerce .cart_totals h2 {
  font-family: var(--font-serif) !important; font-size: 18px !important;
  font-weight: 700 !important; color: var(--slate-900) !important;
  margin-bottom: 18px !important; padding-bottom: 12px !important;
  border-bottom: 2px solid var(--blue-100) !important;
}
.woocommerce .cart_totals table { width: 100% !important; border-collapse: collapse !important; }
.woocommerce .cart_totals table th,
.woocommerce .cart_totals table td {
  padding: 10px 0 !important; border-bottom: 1px solid var(--slate-50) !important;
  font-size: 14px !important; vertical-align: middle !important;
}
.woocommerce .cart_totals table th { color: var(--slate-500) !important; font-weight: 500 !important; width: 40% !important; }
.woocommerce .cart_totals table td { color: var(--slate-800) !important; font-weight: 600 !important; text-align: right !important; }
.woocommerce .cart_totals table .order-total th,
.woocommerce .cart_totals table .order-total td {
  font-size: 17px !important; font-weight: 700 !important;
  border-bottom: none !important; padding-top: 14px !important;
}
.woocommerce .cart_totals table .order-total td { color: var(--blue-700) !important; }
.woocommerce .wc-proceed-to-checkout { margin-top: 18px !important; }
.woocommerce .wc-proceed-to-checkout a.checkout-button {
  display: block !important; width: 100% !important; text-align: center !important;
  background: var(--blue-600) !important; color: #fff !important;
  border: none !important; border-radius: var(--radius-md) !important;
  font-size: 16px !important; font-weight: 700 !important;
  padding: 15px !important; text-decoration: none !important;
  font-family: var(--font-sans) !important; transition: all 0.15s !important;
  letter-spacing: 0.01em !important;
}
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover {
  background: var(--blue-700) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(29,110,197,0.3) !important;
}

/* ── CHECKOUT FORM ── */
.woocommerce-checkout #customer_details {
  display: grid !important; grid-template-columns: 1fr 1fr !important;
  gap: 28px !important; margin-bottom: 32px !important;
}
@media (max-width: 768px) {
  .woocommerce-checkout #customer_details { grid-template-columns: 1fr !important; }
}
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields {
  background: #fff !important; border: 1px solid var(--slate-100) !important;
  border-radius: var(--radius-lg) !important; padding: 26px !important;
  box-shadow: var(--shadow-sm) !important;
}
.woocommerce-checkout h3 {
  font-family: var(--font-serif) !important; font-size: 17px !important;
  font-weight: 700 !important; color: var(--slate-900) !important;
  margin-bottom: 20px !important; padding-bottom: 12px !important;
  border-bottom: 2px solid var(--blue-100) !important;
}
.woocommerce-checkout .form-row { margin-bottom: 14px !important; position: relative !important; }
.woocommerce-checkout .form-row label {
  display: block !important; font-size: 12px !important;
  font-weight: 600 !important; color: var(--slate-600) !important;
  margin-bottom: 5px !important; letter-spacing: 0.01em !important;
}
.woocommerce-checkout .form-row .required { color: #EF4444 !important; }
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .select2-container--default .select2-selection--single {
  width: 100% !important; padding: 11px 14px !important;
  border: 1.5px solid var(--slate-200) !important;
  border-radius: var(--radius-sm) !important;
  font-size: 14px !important; font-family: var(--font-sans) !important;
  color: var(--slate-800) !important; background: #fff !important;
  outline: none !important; transition: border-color 0.15s, box-shadow 0.15s !important;
  box-shadow: none !important; height: auto !important;
  appearance: auto !important; -webkit-appearance: auto !important;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
  border-color: var(--blue-500) !important;
  box-shadow: 0 0 0 3px rgba(29,110,197,0.08) !important;
}
.woocommerce-checkout .form-row.woocommerce-invalid input { border-color: #EF4444 !important; }
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last {
  float: none !important; width: 100% !important; clear: none !important;
}
/* Select2 fix */
.select2-container--default .select2-selection--single {
  height: auto !important; padding: 11px 14px !important;
  border: 1.5px solid var(--slate-200) !important;
  border-radius: var(--radius-sm) !important; outline: none !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0 !important; line-height: 1.4 !important;
  color: var(--slate-800) !important; font-size: 14px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 50% !important; transform: translateY(-50%) !important;
}
.select2-dropdown {
  border: 1.5px solid var(--slate-200) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-md) !important; font-size: 14px !important;
}
.select2-container--default .select2-results__option--highlighted {
  background: var(--blue-600) !important;
}

/* Order review */
.woocommerce-checkout #order_review_heading {
  font-family: var(--font-serif) !important; font-size: 17px !important;
  font-weight: 700 !important; color: var(--slate-900) !important;
  margin-bottom: 14px !important; padding-bottom: 12px !important;
  border-bottom: 2px solid var(--blue-100) !important;
}
#order_review {
  background: #fff !important; border: 1px solid var(--slate-100) !important;
  border-radius: var(--radius-lg) !important; padding: 26px !important;
  box-shadow: var(--shadow-sm) !important; margin-bottom: 24px !important;
}

/* Payment box */
#payment {
  background: var(--slate-50) !important; border: 1px solid var(--slate-100) !important;
  border-radius: var(--radius-lg) !important; padding: 24px !important;
}
#payment h3 { margin-bottom: 16px !important; }
#payment ul.payment_methods { list-style: none !important; padding: 0 !important; margin: 0 0 20px !important; }
#payment ul.payment_methods li {
  padding: 12px 14px !important; border: 1.5px solid var(--slate-200) !important;
  border-radius: var(--radius-md) !important; margin-bottom: 8px !important;
  background: #fff !important; transition: border-color 0.15s !important;
  list-style: none !important;
}
#payment ul.payment_methods li:has(input:checked) { border-color: var(--blue-400) !important; background: var(--blue-50) !important; }
#payment ul.payment_methods li label {
  font-size: 14px !important; font-weight: 500 !important;
  color: var(--slate-700) !important; cursor: pointer !important;
  display: flex !important; align-items: center !important; gap: 8px !important;
}
#payment ul.payment_methods li input[type="radio"] { accent-color: var(--blue-600) !important; }
#payment .payment_box {
  background: var(--blue-50) !important; border-radius: var(--radius-sm) !important;
  padding: 12px 14px !important; margin-top: 10px !important;
  font-size: 13px !important; color: var(--slate-600) !important;
}
#payment #place_order {
  width: 100% !important; background: var(--blue-600) !important;
  color: #fff !important; border: none !important;
  border-radius: var(--radius-md) !important; font-size: 16px !important;
  font-weight: 700 !important; padding: 16px !important;
  cursor: pointer !important; font-family: var(--font-sans) !important;
  transition: all 0.15s !important; letter-spacing: 0.01em !important;
  display: block !important;
}
#payment #place_order:hover {
  background: var(--blue-700) !important; transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(29,110,197,0.3) !important;
}

/* ============================================================
   MOBILE HEADER — RESPONSIVE FIX
   ============================================================ */

/* Desktop: hide toggle, show menu */
@media (min-width: 1025px) {
  .zh-menu-toggle { display: none !important; }
  .zh-menu-wrap { display: flex !important; }
  #zh-mobile-nav { display: none !important; }
}

/* Tablet/Mobile: hide desktop menu, show toggle */
@media (max-width: 1024px) {
  .zh-menu-wrap { display: none !important; }
  .zh-menu-toggle { display: flex !important; align-items: center; justify-content: center; }
  #zh-mobile-nav { display: none !important; }
  #zh-mobile-nav.zh-open { display: block !important; }

  /* Tighten nav on mobile */
  .zh-nav {
    padding: 0 1.25rem !important;
    height: 62px !important;
    gap: 10px !important;
  }
  /* Hide "Order Now" button text on very small screens, keep it small */
  .zh-nav-right .zh-btn-primary {
    padding: 8px 14px !important;
    font-size: 13px !important;
  }
  /* Hide cart label on mobile, keep icon */
  .zh-cart-link {
    padding: 8px 10px !important;
  }
}

@media (max-width: 480px) {
  /* On very small screens hide Order Now to save space */
  .zh-nav-right .zh-btn-primary { display: none !important; }
  .zh-nav { padding: 0 1rem !important; }
  .zh-logo-text { font-size: 16px !important; }
}

/* Mobile nav panel styling */
#zh-mobile-nav {
  position: fixed !important;
  top: 62px !important;
  left: 0 !important; right: 0 !important; bottom: 0 !important;
  background: #fff !important;
  z-index: 9998 !important;
  overflow-y: auto !important;
  padding: 16px 20px 32px !important;
  border-top: 1px solid var(--slate-100) !important;
  box-shadow: 0 8px 32px rgba(15,23,42,0.12) !important;
}
#zh-mobile-nav ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
#zh-mobile-nav li { list-style: none !important; border-bottom: 1px solid var(--slate-100) !important; }
#zh-mobile-nav > ul > li > a {
  display: block !important; padding: 15px 4px !important;
  font-size: 16px !important; font-weight: 500 !important;
  color: var(--slate-700) !important; text-decoration: none !important;
  transition: color 0.15s !important;
}
#zh-mobile-nav > ul > li > a:hover { color: var(--blue-600) !important; }
#zh-mobile-nav .sub-menu { padding-left: 12px !important; }
#zh-mobile-nav .sub-menu li { border-bottom: none !important; }
#zh-mobile-nav .sub-menu a {
  font-size: 14px !important; color: var(--slate-500) !important;
  padding: 9px 0 !important; display: block !important; text-decoration: none !important;
}
.zh-mobile-cta {
  margin-top: 24px !important;
  display: flex !important; flex-direction: column !important; gap: 10px !important;
}
.zh-mobile-cta .zh-btn { text-align: center !important; justify-content: center !important; font-size: 15px !important; padding: 13px !important; }

/* Trust bar on mobile */
@media (max-width: 768px) {
  .zh-trust-bar { padding: 12px 1.25rem !important; }
  .zh-trust-inner { gap: 12px !important; justify-content: flex-start !important; overflow-x: auto !important; flex-wrap: nowrap !important; }
  .zh-trust-divider { display: none !important; }
  .zh-trust-item { white-space: nowrap !important; font-size: 12px !important; }
}

/* ============================================================
   CART PAGE — fix wrong wrapper from page.php
   ============================================================ */
.woocommerce-cart .zh-entry-header { display: none !important; }
.woocommerce-cart .zh-container { max-width: 1200px !important; }
.woocommerce-cart .zh-entry-content {
  max-width: 100% !important;
  padding: 0 !important;
}

/* Cart table full width */
.woocommerce-cart table.shop_table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid var(--slate-100) !important;
  border-radius: var(--radius-lg) !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: var(--shadow-sm) !important;
  margin-bottom: 32px !important;
}
.woocommerce-cart table.shop_table thead th {
  background: var(--slate-50) !important;
  color: var(--slate-500) !important;
  font-size: 11px !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 0.07em !important;
  padding: 14px 20px !important;
  border-bottom: 1px solid var(--slate-100) !important;
  text-align: left !important;
}
.woocommerce-cart table.shop_table td {
  padding: 16px 20px !important;
  border-bottom: 1px solid var(--slate-100) !important;
  vertical-align: middle !important;
  color: var(--slate-700) !important;
  background: #fff !important;
}
.woocommerce-cart table.shop_table tr:last-child td { border-bottom: none !important; }
.woocommerce-cart .product-thumbnail img {
  width: 68px !important; height: 68px !important;
  object-fit: cover !important; border-radius: var(--radius-md) !important;
  border: 1px solid var(--slate-100) !important;
}
.woocommerce-cart .product-name a {
  font-weight: 600 !important; color: var(--slate-800) !important;
  font-size: 15px !important; text-decoration: none !important;
}
.woocommerce-cart .product-name a:hover { color: var(--blue-600) !important; }
.woocommerce-cart .product-price,
.woocommerce-cart .product-subtotal { font-weight: 700 !important; color: var(--blue-700) !important; }
.woocommerce-cart .product-quantity .qty {
  width: 60px !important; padding: 8px 10px !important;
  border: 1.5px solid var(--slate-200) !important; border-radius: var(--radius-sm) !important;
  font-size: 14px !important; text-align: center !important;
  font-family: var(--font-sans) !important; outline: none !important;
}
.woocommerce-cart .product-quantity .qty:focus { border-color: var(--blue-500) !important; }
.woocommerce-cart a.remove {
  color: var(--slate-300) !important; font-size: 20px !important;
  font-weight: 700 !important; text-decoration: none !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 28px !important; height: 28px !important; border-radius: 50% !important;
  transition: all 0.15s !important; background: none !important;
}
.woocommerce-cart a.remove:hover { color: #EF4444 !important; background: #FEE2E2 !important; }

/* Cart actions row */
.woocommerce-cart td.actions {
  background: var(--slate-50) !important;
  padding: 14px 20px !important;
}
.woocommerce-cart td.actions .coupon {
  display: flex !important; align-items: center !important; gap: 8px !important; flex-wrap: wrap !important;
}
.woocommerce-cart td.actions .coupon input#coupon_code {
  padding: 10px 14px !important; border: 1.5px solid var(--slate-200) !important;
  border-radius: var(--radius-sm) !important; font-size: 14px !important;
  font-family: var(--font-sans) !important; outline: none !important;
  transition: border-color 0.15s !important;
}
.woocommerce-cart td.actions .coupon input#coupon_code:focus { border-color: var(--blue-500) !important; }
.woocommerce-cart td.actions .coupon .button {
  background: var(--slate-700) !important; color: #fff !important;
  border: none !important; border-radius: var(--radius-sm) !important;
  padding: 10px 16px !important; font-size: 13px !important; font-weight: 600 !important;
  cursor: pointer !important; font-family: var(--font-sans) !important;
}
.woocommerce-cart button[name="update_cart"] {
  background: #fff !important; color: var(--slate-600) !important;
  border: 1.5px solid var(--slate-200) !important; border-radius: var(--radius-sm) !important;
  padding: 10px 18px !important; font-size: 13px !important; font-weight: 600 !important;
  cursor: pointer !important; font-family: var(--font-sans) !important; float: right !important;
  transition: all 0.15s !important;
}
.woocommerce-cart button[name="update_cart"]:hover { border-color: var(--blue-300) !important; color: var(--blue-600) !important; }

/* Cart totals */
.woocommerce-cart .cart-collaterals {
  display: flex !important; justify-content: flex-end !important; margin-top: 0 !important;
}
.woocommerce-cart .cart_totals {
  width: 100% !important; max-width: 420px !important;
  background: #fff !important; border: 1px solid var(--slate-100) !important;
  border-radius: var(--radius-lg) !important; padding: 28px !important;
  box-shadow: var(--shadow-sm) !important;
}
.woocommerce-cart .cart_totals h2 {
  font-family: var(--font-serif) !important; font-size: 18px !important;
  font-weight: 700 !important; color: var(--slate-900) !important;
  margin-bottom: 18px !important; padding-bottom: 12px !important;
  border-bottom: 2px solid var(--blue-100) !important;
}
.woocommerce-cart .cart_totals table { width: 100% !important; border-collapse: collapse !important; }
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  padding: 10px 0 !important; border-bottom: 1px solid var(--slate-50) !important; font-size: 14px !important;
}
.woocommerce-cart .cart_totals table th { color: var(--slate-500) !important; font-weight: 500 !important; }
.woocommerce-cart .cart_totals table td { text-align: right !important; font-weight: 600 !important; color: var(--slate-800) !important; }
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
  font-size: 18px !important; font-weight: 700 !important; border-bottom: none !important; padding-top: 14px !important;
}
.woocommerce-cart .cart_totals .order-total td { color: var(--blue-700) !important; }
.woocommerce-cart .cart_totals .wc-proceed-to-checkout { margin-top: 18px !important; }
.woocommerce-cart .cart_totals .wc-proceed-to-checkout a {
  display: block !important; width: 100% !important; text-align: center !important;
  background: var(--blue-600) !important; color: #fff !important;
  border-radius: var(--radius-md) !important; font-size: 16px !important;
  font-weight: 700 !important; padding: 15px !important; text-decoration: none !important;
  font-family: var(--font-sans) !important; transition: all 0.15s !important;
}
.woocommerce-cart .cart_totals .wc-proceed-to-checkout a:hover {
  background: var(--blue-700) !important; transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(29,110,197,0.3) !important;
}
/* Shipping calculator */
.woocommerce-cart .shipping-calculator-button {
  color: var(--blue-600) !important; font-size: 13px !important; font-weight: 600 !important; text-decoration: none !important;
}
.woocommerce-cart .shipping-calculator-form { margin-top: 12px !important; }
.woocommerce-cart .shipping-calculator-form .form-row { margin-bottom: 10px !important; }
.woocommerce-cart .shipping-calculator-form input,
.woocommerce-cart .shipping-calculator-form select {
  width: 100% !important; padding: 9px 12px !important;
  border: 1.5px solid var(--slate-200) !important; border-radius: var(--radius-sm) !important;
  font-size: 13px !important; font-family: var(--font-sans) !important; outline: none !important;
}
.woocommerce-cart .shipping-calculator-form button {
  background: var(--blue-600) !important; color: #fff !important;
  border: none !important; border-radius: var(--radius-sm) !important;
  padding: 9px 16px !important; font-size: 13px !important; font-weight: 600 !important;
  cursor: pointer !important; margin-top: 8px !important;
}

/* ============================================================
   CARTFLOWS CHECKOUT — complete restyle
   ============================================================ */
body.cartflows-canvas { background: var(--slate-50) !important; }

/* Remove CartFlows default container styles */
.cartflows-container {
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 32px 24px 72px !important;
  font-family: var(--font-sans) !important;
}

/* CartFlows header logo */
.cartflows-container > p:first-child,
.cartflows-container .wcf-embed-checkout-form-logo {
  text-align: center !important; margin-bottom: 24px !important;
}
.cartflows-container > p:first-child img {
  max-height: 52px !important; width: auto !important; margin: 0 auto !important;
}

/* CartFlows trust badges row */
.cartflows-container > ul:first-of-type {
  display: flex !important; justify-content: center !important;
  gap: 24px !important; flex-wrap: wrap !important;
  list-style: none !important; padding: 0 !important; margin: 0 0 28px !important;
  background: white !important; border: 1px solid var(--slate-100) !important;
  border-radius: var(--radius-lg) !important; padding: 16px 24px !important;
  box-shadow: var(--shadow-sm) !important;
}
.cartflows-container > ul:first-of-type li {
  display: flex !important; align-items: center !important; gap: 7px !important;
  font-size: 13px !important; font-weight: 500 !important; color: var(--slate-600) !important;
  list-style: none !important; text-align: center !important; flex-direction: column !important;
}
.cartflows-container > ul:first-of-type li svg {
  width: 20px !important; height: 20px !important; fill: var(--blue-500) !important;
}

/* CartFlows order summary (show/hide toggle) */
.cartflows-container .wcf-order-review-toggle,
.cartflows-container p:has(.wcf-order-toggle) {
  background: var(--blue-600) !important; color: white !important;
  padding: 14px 20px !important; border-radius: var(--radius-md) !important;
  margin-bottom: 16px !important; font-weight: 600 !important; cursor: pointer !important;
  text-align: center !important;
}

/* CartFlows order table */
.cartflows-container table {
  width: 100% !important; border-collapse: collapse !important;
  background: white !important; border: 1px solid var(--slate-100) !important;
  border-radius: var(--radius-lg) !important; overflow: hidden !important;
  box-shadow: var(--shadow-sm) !important; margin-bottom: 20px !important;
  font-size: 14px !important;
}
.cartflows-container table thead th {
  background: var(--slate-50) !important; padding: 12px 18px !important;
  font-size: 11px !important; font-weight: 700 !important; text-transform: uppercase !important;
  letter-spacing: 0.07em !important; color: var(--slate-500) !important;
  border-bottom: 1px solid var(--slate-100) !important; text-align: left !important;
}
.cartflows-container table td,
.cartflows-container table th {
  padding: 12px 18px !important; border-bottom: 1px solid var(--slate-50) !important;
  vertical-align: middle !important;
}
.cartflows-container table tfoot tr:last-child td,
.cartflows-container table tfoot tr:last-child th { border-bottom: none !important; font-size: 16px !important; font-weight: 700 !important; }
.cartflows-container table tfoot .order-total td { color: var(--blue-700) !important; }
.cartflows-container table tfoot th { color: var(--slate-500) !important; font-weight: 500 !important; }

/* CartFlows coupon */
.cartflows-container p:has(#order_review_coupon_code),
.cartflows-container p:has(#coupon_code) {
  display: flex !important; gap: 8px !important; margin-bottom: 20px !important;
}
.cartflows-container #order_review_coupon_code,
.cartflows-container #coupon_code {
  flex: 1 !important; padding: 10px 14px !important;
  border: 1.5px solid var(--slate-200) !important; border-radius: var(--radius-sm) !important;
  font-size: 14px !important; font-family: var(--font-sans) !important; outline: none !important;
}
.cartflows-container #order_review_coupon_code:focus,
.cartflows-container #coupon_code:focus { border-color: var(--blue-500) !important; }
.cartflows-container button[name="apply_coupon"] {
  background: var(--slate-700) !important; color: white !important;
  border: none !important; border-radius: var(--radius-sm) !important;
  padding: 10px 16px !important; font-size: 13px !important; font-weight: 600 !important;
  cursor: pointer !important; font-family: var(--font-sans) !important;
}

/* CartFlows main form layout */
.cartflows-container form[name="checkout"] {
  display: grid !important;
  grid-template-columns: 1fr 400px !important;
  gap: 28px !important; align-items: start !important;
}
@media (max-width: 900px) {
  .cartflows-container form[name="checkout"] { grid-template-columns: 1fr !important; }
}

/* CartFlows form headings */
.cartflows-container form h3 {
  font-family: var(--font-serif) !important; font-size: 17px !important;
  font-weight: 700 !important; color: var(--slate-900) !important;
  margin-bottom: 18px !important; padding-bottom: 12px !important;
  border-bottom: 2px solid var(--blue-100) !important;
}

/* CartFlows billing fields section */
.cartflows-container #customer_information_heading,
.cartflows-container #billing_fields_heading {
  font-family: var(--font-serif) !important; font-size: 17px !important;
  font-weight: 700 !important; color: var(--slate-900) !important;
  margin-bottom: 16px !important; padding-bottom: 12px !important;
  border-bottom: 2px solid var(--blue-100) !important;
  grid-column: 1 !important;
}

/* CartFlows input fields */
.cartflows-container form p {
  margin-bottom: 14px !important;
}
.cartflows-container form p label {
  display: block !important; font-size: 12px !important;
  font-weight: 600 !important; color: var(--slate-600) !important;
  margin-bottom: 5px !important;
}
.cartflows-container form input[type="text"],
.cartflows-container form input[type="email"],
.cartflows-container form input[type="tel"],
.cartflows-container form input[type="password"],
.cartflows-container form textarea,
.cartflows-container form select {
  width: 100% !important; padding: 11px 14px !important;
  border: 1.5px solid var(--slate-200) !important; border-radius: var(--radius-sm) !important;
  font-size: 14px !important; font-family: var(--font-sans) !important;
  color: var(--slate-800) !important; background: #fff !important;
  outline: none !important; transition: border-color 0.15s, box-shadow 0.15s !important;
  box-shadow: none !important; appearance: auto !important;
}
.cartflows-container form input:focus,
.cartflows-container form select:focus,
.cartflows-container form textarea:focus {
  border-color: var(--blue-500) !important;
  box-shadow: 0 0 0 3px rgba(29,110,197,0.08) !important;
}

/* Billing section wrapper */
.cartflows-container #billing_fields_heading ~ p,
.cartflows-container #customer_information_heading ~ p {
  background: white !important; border-radius: 0 !important;
}

/* Wrap billing fields in a card */
.cartflows-container form[name="checkout"] {
  background: none !important;
}

/* Payment section */
.cartflows-container #payment_options_heading {
  font-family: var(--font-serif) !important; font-size: 17px !important;
  font-weight: 700 !important; color: var(--slate-900) !important;
  margin-bottom: 16px !important; padding-bottom: 12px !important;
  border-bottom: 2px solid var(--blue-100) !important;
}
.cartflows-container form ul { list-style: none !important; padding: 0 !important; margin: 0 0 16px !important; }
.cartflows-container form ul li {
  border: 1.5px solid var(--slate-200) !important; border-radius: var(--radius-md) !important;
  margin-bottom: 8px !important; padding: 14px 16px !important; background: white !important;
  list-style: none !important; transition: border-color 0.15s !important;
}
.cartflows-container form ul li label {
  font-size: 14px !important; font-weight: 500 !important; color: var(--slate-700) !important;
  cursor: pointer !important; display: flex !important; align-items: center !important; gap: 8px !important;
}
.cartflows-container form ul li input[type="radio"] { accent-color: var(--blue-600) !important; }
.cartflows-container form fieldset {
  border: 1px solid var(--slate-100) !important; border-radius: var(--radius-md) !important;
  padding: 16px !important; margin-top: 12px !important; background: var(--slate-50) !important;
}

/* Place Order button */
.cartflows-container #place_order {
  width: 100% !important; background: var(--blue-600) !important;
  color: white !important; border: none !important; border-radius: var(--radius-md) !important;
  font-size: 16px !important; font-weight: 700 !important; padding: 16px !important;
  cursor: pointer !important; font-family: var(--font-sans) !important;
  transition: all 0.15s !important; letter-spacing: 0.01em !important;
  display: block !important; margin-top: 16px !important;
}
.cartflows-container #place_order:hover {
  background: var(--blue-700) !important; transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(29,110,197,0.3) !important;
}

/* Order review section (right column) */
.cartflows-container #order_review_heading {
  font-family: var(--font-serif) !important; font-size: 17px !important;
  font-weight: 700 !important; color: var(--slate-900) !important;
  margin-bottom: 16px !important; padding-bottom: 12px !important;
  border-bottom: 2px solid var(--blue-100) !important;
}

/* CartFlows footer links */
.cartflows-container > ul:last-of-type {
  display: flex !important; justify-content: center !important; gap: 24px !important;
  flex-wrap: wrap !important; list-style: none !important; padding: 0 !important;
  margin: 32px 0 16px !important; border-top: 1px solid var(--slate-100) !important;
  padding-top: 24px !important;
}
.cartflows-container > ul:last-of-type li { list-style: none !important; }
.cartflows-container > ul:last-of-type li a { font-size: 13px !important; color: var(--slate-400) !important; text-decoration: none !important; }
.cartflows-container > ul:last-of-type li a:hover { color: var(--blue-600) !important; }

/* CartFlows copyright footer */
.cartflows-container > p:last-of-type {
  text-align: center !important; font-size: 12px !important; color: var(--slate-300) !important;
}

/* CartFlows step progress bar */
.cartflows-container > ul:nth-of-type(2) {
  display: flex !important; justify-content: center !important; gap: 0 !important;
  list-style: none !important; padding: 0 !important; margin: 0 0 28px !important;
  background: white !important; border: 1px solid var(--slate-100) !important;
  border-radius: var(--radius-lg) !important; overflow: hidden !important;
  box-shadow: var(--shadow-sm) !important;
}
.cartflows-container > ul:nth-of-type(2) li {
  flex: 1 !important; text-align: center !important; padding: 12px 8px !important;
  font-size: 12px !important; font-weight: 600 !important; color: var(--slate-400) !important;
  border-right: 1px solid var(--slate-100) !important; list-style: none !important;
  display: flex !important; flex-direction: column !important; align-items: center !important; gap: 6px !important;
}
.cartflows-container > ul:nth-of-type(2) li:last-child { border-right: none !important; }
.cartflows-container > ul:nth-of-type(2) li svg { width: 18px !important; height: 18px !important; fill: var(--slate-300) !important; }

/* Responsive CartFlows */
@media (max-width: 768px) {
  .cartflows-container { padding: 20px 16px 48px !important; }
  .cartflows-container > ul:first-of-type { gap: 14px !important; padding: 12px !important; }
  .cartflows-container > ul:first-of-type li { font-size: 11px !important; }
  .cartflows-container > ul:nth-of-type(2) li { padding: 10px 4px !important; font-size: 10px !important; }
}

/* ============================================================
   CART — targeted fixes from screenshot
   ============================================================ */

/* The cart table has 6 columns: remove | thumbnail | name | price | qty | subtotal
   Left side gap = remove button column too wide */
.woocommerce-cart table.shop_table .product-remove {
  width: 40px !important;
  padding: 16px 8px 16px 20px !important;
  text-align: center !important;
}
.woocommerce-cart table.shop_table .product-remove a.remove {
  font-size: 18px !important;
  color: var(--slate-300) !important;
  background: none !important;
  border: none !important;
  width: 28px !important; height: 28px !important;
  display: inline-flex !important;
  align-items: center !important; justify-content: center !important;
  border-radius: 50% !important;
  transition: all 0.15s !important;
  text-decoration: none !important;
}
.woocommerce-cart table.shop_table .product-remove a.remove:hover {
  color: #EF4444 !important; background: #FEE2E2 !important;
}
/* Thumbnail column */
.woocommerce-cart table.shop_table .product-thumbnail {
  width: 88px !important; padding: 12px !important;
}
.woocommerce-cart table.shop_table .product-thumbnail img {
  width: 68px !important; height: 68px !important;
  object-fit: cover !important; border-radius: var(--radius-md) !important;
  border: 1px solid var(--slate-100) !important; display: block !important;
}
/* Actions row — coupon left, update right */
.woocommerce-cart td.actions {
  background: var(--slate-50) !important;
  border-top: 1px solid var(--slate-100) !important;
  padding: 16px 20px !important;
  display: table-cell !important;
}
.woocommerce-cart td.actions .coupon {
  display: inline-flex !important; align-items: center !important; gap: 8px !important;
  float: left !important;
}
.woocommerce-cart td.actions .coupon input#coupon_code {
  padding: 10px 14px !important; border: 1.5px solid var(--slate-200) !important;
  border-radius: var(--radius-sm) !important; font-size: 14px !important;
  font-family: var(--font-sans) !important; outline: none !important;
  width: 200px !important; background: white !important;
}
.woocommerce-cart td.actions .coupon input#coupon_code:focus { border-color: var(--blue-500) !important; }
.woocommerce-cart td.actions .coupon button.button {
  background: var(--blue-600) !important; color: white !important;
  border: none !important; border-radius: var(--radius-sm) !important;
  padding: 10px 18px !important; font-size: 14px !important; font-weight: 600 !important;
  cursor: pointer !important; font-family: var(--font-sans) !important; white-space: nowrap !important;
}
.woocommerce-cart td.actions button[name="update_cart"] {
  float: right !important; background: white !important; color: var(--slate-600) !important;
  border: 1.5px solid var(--slate-200) !important; border-radius: var(--radius-sm) !important;
  padding: 10px 18px !important; font-size: 14px !important; font-weight: 600 !important;
  cursor: pointer !important; font-family: var(--font-sans) !important;
  transition: all 0.15s !important;
}
.woocommerce-cart td.actions button[name="update_cart"]:hover {
  border-color: var(--blue-300) !important; color: var(--blue-600) !important;
}
.woocommerce-cart td.actions::after { content: ''; display: table !important; clear: both !important; }

/* Cart totals — force right alignment */
.woocommerce-cart .cart-collaterals {
  width: 100% !important; float: none !important; clear: both !important;
  display: flex !important; justify-content: flex-end !important; margin-top: 24px !important;
}
.woocommerce-cart .cart_totals {
  float: none !important; width: 420px !important; max-width: 100% !important;
  background: white !important; border: 1px solid var(--slate-100) !important;
  border-radius: var(--radius-lg) !important; padding: 28px !important;
  box-shadow: var(--shadow-sm) !important;
}
.woocommerce-cart .cart_totals h2 {
  font-family: var(--font-serif) !important; font-size: 18px !important;
  font-weight: 700 !important; color: var(--slate-900) !important;
  margin: 0 0 18px !important; padding-bottom: 14px !important;
  border-bottom: 2px solid var(--blue-100) !important;
}
.woocommerce-cart .cart_totals table { width: 100% !important; border-collapse: collapse !important; border: none !important; box-shadow: none !important; border-radius: 0 !important; }
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  padding: 10px 0 !important; border-bottom: 1px solid var(--slate-50) !important;
  font-size: 14px !important; background: none !important;
}
.woocommerce-cart .cart_totals table th { color: var(--slate-500) !important; font-weight: 500 !important; text-align: left !important; }
.woocommerce-cart .cart_totals table td { text-align: right !important; font-weight: 600 !important; color: var(--slate-800) !important; }
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
  font-size: 18px !important; font-weight: 700 !important;
  border-bottom: none !important; padding-top: 14px !important;
}
.woocommerce-cart .cart_totals .order-total td { color: var(--blue-700) !important; }
.woocommerce-cart .wc-proceed-to-checkout { margin-top: 20px !important; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: block !important; width: 100% !important; text-align: center !important;
  background: var(--blue-600) !important; color: white !important;
  border-radius: var(--radius-md) !important; font-size: 16px !important; font-weight: 700 !important;
  padding: 15px !important; text-decoration: none !important;
  font-family: var(--font-sans) !important; transition: all 0.15s !important;
  letter-spacing: 0.01em !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  background: var(--blue-700) !important; transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(29,110,197,0.3) !important;
}

/* ============================================================
   CARTFLOWS — fix giant SVG icons (the black blob on screen)
   ============================================================ */

/* The huge black shape is a CartFlows step-progress SVG rendered at full page size */
.cartflows-container svg,
.cartflows-container ul li svg,
.wcf-embed-checkout-form svg {
  width: 20px !important;
  height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
  display: inline-block !important;
  vertical-align: middle !important;
  fill: var(--blue-500) !important;
  flex-shrink: 0 !important;
}

/* Override the body-level SVG reset that CartFlows might be inheriting */
.cartflows-container * {
  max-width: 100% !important;
}
.cartflows-container svg {
  max-width: 20px !important;
  max-height: 20px !important;
}

/* Step icons specifically */
.cartflows-container ul li svg {
  width: 18px !important; height: 18px !important;
  fill: var(--slate-300) !important;
}

/* Trust badge icons (first ul) */
.cartflows-container > ul:first-of-type li svg {
  width: 22px !important; height: 22px !important;
  fill: var(--blue-500) !important;
  display: block !important; margin: 0 auto !important;
}

/* Progress step icons */
.cartflows-container > ul:nth-of-type(2) li svg,
.cartflows-container > ul:nth-of-type(3) li svg {
  width: 18px !important; height: 18px !important;
  fill: var(--slate-300) !important; display: block !important; margin: 0 auto 4px !important;
}

/* CartFlows main layout — put billing left, order summary right */
.cartflows-container form[name="checkout"] {
  display: grid !important;
  grid-template-columns: 1fr 380px !important;
  gap: 32px !important;
  align-items: start !important;
}
@media (max-width: 860px) {
  .cartflows-container form[name="checkout"] { grid-template-columns: 1fr !important; }
}

/* Billing section card */
.cartflows-container form[name="checkout"] > h3,
.cartflows-container form[name="checkout"] > p,
.cartflows-container form[name="checkout"] > ul:not(#shipping_method),
.cartflows-container form[name="checkout"] > fieldset {
  grid-column: 1 !important;
}

/* Order review section stays in col 2 */
.cartflows-container #order_review_heading,
.cartflows-container table[data-update-time] {
  grid-column: 2 !important;
}
.cartflows-container #place_order { grid-column: 1 !important; }

/* Wrap billing fields visually */
.cartflows-container #billing_fields_heading,
.cartflows-container #customer_information_heading {
  font-family: var(--font-serif) !important; font-size: 17px !important;
  font-weight: 700 !important; color: var(--slate-900) !important;
  padding-bottom: 12px !important; border-bottom: 2px solid var(--blue-100) !important;
  margin-bottom: 18px !important;
}

/* All form inputs */
.cartflows-container input[type="text"],
.cartflows-container input[type="email"],
.cartflows-container input[type="tel"],
.cartflows-container input[type="password"],
.cartflows-container select,
.cartflows-container textarea {
  width: 100% !important; padding: 11px 14px !important;
  border: 1.5px solid var(--slate-200) !important; border-radius: var(--radius-sm) !important;
  font-size: 14px !important; font-family: var(--font-sans) !important;
  color: var(--slate-800) !important; background: white !important;
  outline: none !important; transition: border-color 0.15s, box-shadow 0.15s !important;
  box-shadow: none !important; margin-top: 4px !important;
}
.cartflows-container input:focus,
.cartflows-container select:focus,
.cartflows-container textarea:focus {
  border-color: var(--blue-500) !important;
  box-shadow: 0 0 0 3px rgba(29,110,197,0.08) !important;
}

/* Payment method list items */
.cartflows-container #payment_options_heading {
  font-family: var(--font-serif) !important; font-size: 17px !important;
  font-weight: 700 !important; color: var(--slate-900) !important;
  padding-bottom: 12px !important; border-bottom: 2px solid var(--blue-100) !important;
  margin-bottom: 16px !important;
}
.cartflows-container ul#payment_methods_list,
.cartflows-container form ul {
  list-style: none !important; padding: 0 !important; margin: 0 0 16px !important;
}
.cartflows-container form ul li {
  border: 1.5px solid var(--slate-200) !important; border-radius: var(--radius-md) !important;
  padding: 14px 16px !important; margin-bottom: 8px !important; background: white !important;
  list-style: none !important;
}
.cartflows-container form ul li label {
  display: flex !important; align-items: center !important; gap: 10px !important;
  font-size: 14px !important; font-weight: 500 !important; color: var(--slate-700) !important;
  cursor: pointer !important; margin: 0 !important;
}
.cartflows-container form ul li input[type="radio"] { accent-color: var(--blue-600) !important; width: 16px !important; height: 16px !important; }

/* Payeasy card input fieldset */
.cartflows-container fieldset {
  border: 1px solid var(--slate-100) !important; border-radius: var(--radius-md) !important;
  padding: 16px !important; background: var(--slate-50) !important; margin-top: 8px !important;
}
.cartflows-container fieldset p { margin-bottom: 12px !important; }
.cartflows-container fieldset label {
  font-size: 12px !important; font-weight: 600 !important; color: var(--slate-600) !important;
  display: block !important; margin-bottom: 4px !important;
}

/* Place Order */
.cartflows-container #place_order {
  width: 100% !important; background: var(--blue-600) !important; color: white !important;
  border: none !important; border-radius: var(--radius-md) !important;
  font-size: 16px !important; font-weight: 700 !important; padding: 16px 24px !important;
  cursor: pointer !important; font-family: var(--font-sans) !important;
  transition: all 0.15s !important; letter-spacing: 0.01em !important;
  display: block !important; margin-top: 20px !important;
}
.cartflows-container #place_order:hover {
  background: var(--blue-700) !important; transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(29,110,197,0.3) !important;
}

/* CartFlows logo at top */
.cartflows-container > p:first-child { text-align: center !important; margin-bottom: 20px !important; padding-top: 20px !important; }
.cartflows-container > p:first-child img { max-height: 56px !important; width: auto !important; display: inline-block !important; }

/* Footer links */
.cartflows-container > ul:last-of-type {
  display: flex !important; justify-content: center !important; gap: 24px !important;
  flex-wrap: wrap !important; list-style: none !important; padding: 24px 0 0 !important;
  margin-top: 32px !important; border-top: 1px solid var(--slate-100) !important;
}
.cartflows-container > ul:last-of-type li { list-style: none !important; }
.cartflows-container > ul:last-of-type li a { font-size: 13px !important; color: var(--slate-400) !important; text-decoration: none !important; }
.cartflows-container > ul:last-of-type li a:hover { color: var(--blue-600) !important; }

/* Copyright text */
.cartflows-container > p:last-of-type { text-align: center !important; font-size: 12px !important; color: var(--slate-300) !important; margin-top: 12px !important; }


/* ============================================================
   CART — 60/40 layout (cart items left, totals right)
   ============================================================ */
.woocommerce-cart .woocommerce {
  display: grid !important;
  grid-template-columns: 1fr !important;
}
.woocommerce-cart .woocommerce-cart-form {
  width: 100% !important;
  float: none !important;
}
/* Wrap cart form + totals in a 60/40 grid */
.woocommerce-cart .woocommerce > * {
  float: none !important;
}
.woocommerce-cart .woocommerce {
  display: block !important;
}
.woocommerce-cart-form,
.cart-collaterals {
  display: block !important;
}

/* Use a wrapper grid trick via after the form */
.woocommerce-cart .woocommerce-cart-form {
  width: 60% !important;
  float: left !important;
  padding-right: 28px !important;
  box-sizing: border-box !important;
}
.woocommerce-cart .cart-collaterals {
  width: 40% !important;
  float: right !important;
  display: block !important;
  margin-top: 0 !important;
  box-sizing: border-box !important;
}
.woocommerce-cart .cart-collaterals .cart_totals {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}
/* Clear float after */
.woocommerce-cart .woocommerce::after {
  content: '' !important;
  display: table !important;
  clear: both !important;
}

@media (max-width: 768px) {
  .woocommerce-cart .woocommerce-cart-form,
  .woocommerce-cart .cart-collaterals {
    width: 100% !important;
    float: none !important;
    padding-right: 0 !important;
  }
}

/* ============================================================
   CARTFLOWS — force load our CSS even when CartFlows
   replaces the template (cartflows-canvas body class)
   ============================================================ */
body.cartflows-canvas {
  font-family: var(--font-sans) !important;
  background: var(--slate-50) !important;
  color: var(--slate-800) !important;
}

/* CartFlows uses its own template so our header/footer don't load.
   Target everything inside .cartflows-container */
.cartflows-container {
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 28px 24px 60px !important;
  font-family: var(--font-sans) !important;
  font-size: 15px !important;
  color: var(--slate-800) !important;
  background: var(--slate-50) !important;
}

/* Fix ALL SVGs inside cartflows to never be huge */
.cartflows-container svg {
  width: 20px !important;
  height: 20px !important;
  min-width: unset !important;
  min-height: unset !important;
  max-width: 20px !important;
  max-height: 20px !important;
  display: inline-block !important;
  vertical-align: middle !important;
  overflow: hidden !important;
}

/* CartFlows logo */
.cartflows-container img { max-width: 100% !important; height: auto !important; }
.wcf-embed-checkout-form-logo { text-align: center !important; margin-bottom: 24px !important; }
.wcf-embed-checkout-form-logo img { max-height: 60px !important; width: auto !important; display: inline-block !important; }

/* Step progress bar */
.wcf-step-main-wrap,
.cartflows-container .wcf-steps-wrap {
  display: flex !important; justify-content: center !important;
  gap: 0 !important; margin-bottom: 28px !important;
  background: white !important; border: 1px solid var(--slate-100) !important;
  border-radius: var(--radius-lg) !important; overflow: hidden !important;
  box-shadow: var(--shadow-sm) !important; list-style: none !important; padding: 0 !important;
}
.wcf-step-main-wrap li,
.cartflows-container .wcf-steps-wrap li {
  flex: 1 !important; text-align: center !important;
  padding: 12px 8px !important; font-size: 11px !important; font-weight: 600 !important;
  color: var(--slate-400) !important; border-right: 1px solid var(--slate-100) !important;
  list-style: none !important; display: flex !important; flex-direction: column !important;
  align-items: center !important; gap: 5px !important;
}
.wcf-step-main-wrap li:last-child,
.cartflows-container .wcf-steps-wrap li:last-child { border-right: none !important; }
.wcf-step-main-wrap li.wcf-active-step { color: var(--blue-600) !important; background: var(--blue-50) !important; }

/* Trust badges row */
.wcf-header-trust-badges,
.cartflows-container .wcf-trust-badges {
  display: flex !important; justify-content: center !important; gap: 24px !important;
  flex-wrap: wrap !important; background: white !important;
  border: 1px solid var(--slate-100) !important; border-radius: var(--radius-lg) !important;
  padding: 14px 20px !important; margin-bottom: 24px !important;
  box-shadow: var(--shadow-sm) !important; list-style: none !important;
}
.wcf-header-trust-badges li,
.cartflows-container .wcf-trust-badges li {
  display: flex !important; align-items: center !important; gap: 7px !important;
  font-size: 13px !important; font-weight: 500 !important; color: var(--slate-600) !important;
  list-style: none !important;
}

/* Main checkout form — 2 column 60/40 */
.wcf-checkout-form,
.cartflows-container form.checkout,
.cartflows-container form[name="checkout"] {
  display: grid !important;
  grid-template-columns: 1fr 380px !important;
  gap: 32px !important;
  align-items: start !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
}
@media (max-width: 860px) {
  .wcf-checkout-form,
  .cartflows-container form.checkout,
  .cartflows-container form[name="checkout"] { grid-template-columns: 1fr !important; }
}

/* Left column — billing fields card */
.wcf-billing-fields,
.cartflows-container .woocommerce-billing-fields,
.cartflows-container #customer_details {
  background: white !important; border: 1px solid var(--slate-100) !important;
  border-radius: var(--radius-lg) !important; padding: 28px !important;
  box-shadow: var(--shadow-sm) !important; grid-column: 1 !important;
}

/* Right column — order summary card */
.wcf-order-review,
.cartflows-container #order_review,
.cartflows-container .woocommerce-checkout-review-order {
  background: white !important; border: 1px solid var(--slate-100) !important;
  border-radius: var(--radius-lg) !important; padding: 24px !important;
  box-shadow: var(--shadow-sm) !important;
  grid-column: 2 !important; grid-row: 1 / span 3 !important;
  position: sticky !important; top: 16px !important;
}

/* Payment section */
.wcf-payment-wrap,
.cartflows-container #payment {
  background: white !important; border: 1px solid var(--slate-100) !important;
  border-radius: var(--radius-lg) !important; padding: 24px !important;
  box-shadow: var(--shadow-sm) !important; grid-column: 1 !important;
}

/* Section headings */
.cartflows-container h3,
.cartflows-container h3#customer_information_heading,
.cartflows-container h3#billing_fields_heading,
.cartflows-container h3#payment_options_heading,
.cartflows-container h3#order_review_heading,
.cartflows-container h3#ship-to-different-address {
  font-family: var(--font-serif) !important;
  font-size: 16px !important; font-weight: 700 !important;
  color: var(--slate-900) !important; margin: 0 0 18px !important;
  padding-bottom: 12px !important; border-bottom: 2px solid var(--blue-100) !important;
}

/* All input fields */
.cartflows-container input[type="text"],
.cartflows-container input[type="email"],
.cartflows-container input[type="tel"],
.cartflows-container input[type="password"],
.cartflows-container input[type="number"],
.cartflows-container select,
.cartflows-container textarea {
  width: 100% !important; padding: 11px 14px !important;
  border: 1.5px solid var(--slate-200) !important;
  border-radius: var(--radius-sm) !important;
  font-size: 14px !important; font-family: var(--font-sans) !important;
  color: var(--slate-800) !important; background: white !important;
  outline: none !important; box-shadow: none !important;
  transition: border-color 0.15s, box-shadow 0.15s !important;
  margin-top: 4px !important;
}
.cartflows-container input:focus,
.cartflows-container select:focus,
.cartflows-container textarea:focus {
  border-color: var(--blue-500) !important;
  box-shadow: 0 0 0 3px rgba(29,110,197,0.08) !important;
}

/* Labels */
.cartflows-container label {
  font-size: 12px !important; font-weight: 600 !important;
  color: var(--slate-600) !important; display: block !important;
  margin-bottom: 4px !important;
}

/* Payment method radio items */
.cartflows-container ul#payment_methods_list,
.cartflows-container ul.wc_payment_methods {
  list-style: none !important; padding: 0 !important; margin: 0 !important;
}
.cartflows-container ul.wc_payment_methods li,
.cartflows-container #payment ul.payment_methods li {
  border: 1.5px solid var(--slate-200) !important;
  border-radius: var(--radius-md) !important; padding: 12px 16px !important;
  margin-bottom: 8px !important; background: white !important; list-style: none !important;
  transition: border-color 0.15s !important;
}
.cartflows-container #payment ul.payment_methods li label {
  display: flex !important; align-items: center !important; gap: 10px !important;
  font-size: 14px !important; font-weight: 500 !important;
  color: var(--slate-700) !important; cursor: pointer !important; margin: 0 !important;
}
.cartflows-container #payment ul.payment_methods li input[type="radio"] {
  accent-color: var(--blue-600) !important; width: 16px !important; height: 16px !important;
}

/* Card input fieldset */
.cartflows-container fieldset {
  border: 1px solid var(--slate-100) !important; border-radius: var(--radius-md) !important;
  padding: 16px !important; background: var(--slate-50) !important; margin-top: 10px !important;
}

/* Place Order button */
.cartflows-container #place_order,
.cartflows-container button#place_order {
  width: 100% !important; background: var(--blue-600) !important;
  color: white !important; border: none !important; border-radius: var(--radius-md) !important;
  font-size: 16px !important; font-weight: 700 !important; padding: 16px 24px !important;
  cursor: pointer !important; font-family: var(--font-sans) !important;
  transition: all 0.15s !important; letter-spacing: 0.01em !important;
  display: block !important; margin-top: 20px !important;
  text-align: center !important;
}
.cartflows-container #place_order:hover {
  background: var(--blue-700) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(29,110,197,0.3) !important;
}

/* Order summary table inside CartFlows */
.cartflows-container table.woocommerce-checkout-review-order-table,
.cartflows-container table.shop_table {
  width: 100% !important; border-collapse: collapse !important;
  border: none !important; box-shadow: none !important;
  font-size: 14px !important; margin-bottom: 16px !important;
}
.cartflows-container table th {
  font-size: 11px !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 0.07em !important;
  color: var(--slate-500) !important; padding: 8px 0 !important;
  border-bottom: 1px solid var(--slate-100) !important; text-align: left !important;
  background: none !important;
}
.cartflows-container table td {
  padding: 10px 0 !important; border-bottom: 1px solid var(--slate-50) !important;
  color: var(--slate-700) !important; background: none !important;
  vertical-align: middle !important;
}
.cartflows-container table tfoot th { color: var(--slate-500) !important; font-weight: 500 !important; font-size: 13px !important; text-transform: none !important; letter-spacing: 0 !important; }
.cartflows-container table tfoot .order-total th,
.cartflows-container table tfoot .order-total td {
  font-size: 17px !important; font-weight: 700 !important;
  color: var(--slate-900) !important; padding-top: 14px !important; border-bottom: none !important;
}
.cartflows-container table tfoot .order-total td { color: var(--blue-700) !important; }

/* Coupon row inside CartFlows */
.cartflows-container p:has(#coupon_code),
.cartflows-container p:has(#order_review_coupon_code) {
  display: flex !important; gap: 8px !important; align-items: center !important; margin: 12px 0 !important;
}
.cartflows-container #coupon_code,
.cartflows-container #order_review_coupon_code {
  flex: 1 !important; margin-top: 0 !important;
}
.cartflows-container button[name="apply_coupon"] {
  background: var(--slate-700) !important; color: white !important;
  border: none !important; border-radius: var(--radius-sm) !important;
  padding: 11px 16px !important; font-size: 13px !important; font-weight: 600 !important;
  cursor: pointer !important; font-family: var(--font-sans) !important; white-space: nowrap !important;
}
