/*
Theme Name: AGROHIT
Theme URI: https://agro-hit.pl
Author: Artur Kowalczyk
Description: Custom WooCommerce theme for AGROHIT – sklep ogrodniczy. Steel-blue & lime-green palette.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: agrohit
WooCommerce: true
*/

/* ─── GOOGLE FONTS ───────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@300;400;500;600;700&family=DM+Sans:ital,wght@0,300;0,400;0,500;1,300&display=swap');

/* ─── DESIGN TOKENS ─────────────────────────── */
:root {
  --steel-900: #2e3a45;
  --steel-700: #3d4f5e;
  --steel-500: #526475;
  --steel-400: #697887;
  --steel-200: #c0cad4;
  --steel-100: #e8ecf0;
  --steel-50:  #f4f6f8;

  --green-900: #3d5a10;
  --green-700: #507a18;
  --green-500: #6fa020;
  --green-400: #90b838;
  --green-300: #b0c830;
  --green-200: #d4e088;
  --green-100: #eef4cc;
  --green-50:  #f7fae8;

  --accent:    #8cb430;
  --accent-dk: #6f9020;

  --sand:      #f5f6f2;
  --warm-gray: #eceef0;

  --text-dark: #2e3a45;
  --text-mid:  #526475;
  --text-soft: #8a9aa8;

  --white:     #ffffff;
  --border:    #d4dbe2;

  --shadow-sm: 0 2px 8px rgba(46,58,69,.08);
  --shadow-md: 0 6px 24px rgba(46,58,69,.13);
  --shadow-lg: 0 12px 40px rgba(46,58,69,.18);
  --shadow-card: 0 4px 16px rgba(46,58,69,.10), 0 1px 4px rgba(46,58,69,.06);
  --shadow-card-hover: 0 12px 36px rgba(46,58,69,.18), 0 3px 8px rgba(46,58,69,.08);
  --radius-sm: 8px;
  --radius-md: 10px;
  --radius-lg: 10px;
  --radius-xl: 10px;
  --gap: 24px;
}

/* ─── RESET ──────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'DM Sans', sans-serif; background: var(--sand); color: var(--text-dark); }
img { display: block; max-width: 100%; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }

/* ─── SITE WRAPPER ───────────────────────────── */
.site-wrapper {
  width: 1200px;
  margin: 0 auto;
}

/* ─── TOP RIBBON ─────────────────────────────── */
.top-ribbon {
  background: var(--steel-700);
  color: rgba(255,255,255,.9);
  font-size: 12.5px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 32px;
  padding: 8px 24px;
}
.top-ribbon a { color: rgba(255,255,255,.8); font-size: 12px; }
.ribbon-badge {
  background: var(--accent);
  color: white;
  font-family: 'Sora', sans-serif;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 20px;
  letter-spacing: .04em;
}

/* ─── NAVBAR ─────────────────────────────────── */
.site-header .navbar {
  background: var(--white);
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 40px;
  height: 68px;
  box-shadow: 0 2px 12px rgba(30,60,35,.06);
}
.nav-logo {
  display: flex;
  align-items: center;
}
.nav-logo img { height: 44px; width: auto; }
.nav-logo-text {
  font-family: 'Sora', sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: var(--steel-700);
  letter-spacing: -.02em;
}
.nav-logo-text span { color: var(--accent); }
.nav-links { display: flex; gap: 4px; }
.nav-link {
  font-family: 'Sora', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-mid);
  padding: 8px 16px;
  border-radius: var(--radius-sm);
  transition: color .2s, background .2s;
}
.nav-link:hover, .nav-link.current-menu-item,
.nav-link.active { color: var(--steel-700); background: var(--steel-50); }
.nav-right { display: flex; align-items: center; gap: 12px; }

/* Cart button */
.cart-btn {
  display: flex; align-items: center; gap: 8px;
  background: var(--steel-100);
  color: var(--steel-700);
  font-family: 'Sora', sans-serif;
  font-size: 13px;
  font-weight: 600;
  padding: 9px 18px;
  border-radius: var(--radius-md);
  border: 1.5px solid var(--steel-200);
  cursor: pointer;
  transition: background .2s, box-shadow .2s, transform .15s;
  text-decoration: none;
}
.cart-btn:hover { background: var(--steel-500); color: white; box-shadow: var(--shadow-md); }
.cart-badge {
  background: var(--accent);
  color: white;
  font-size: 11px;
  font-weight: 700;
  width: 20px; height: 20px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
}

/* ─── NAV SEARCH ─────────────────────────────── */
.nav-search {
  position: relative;
  display: flex;
  align-items: center;
}
.nav-search-input {
  font-family: 'DM Sans', sans-serif;
  font-size: 13.5px;
  color: var(--text-dark);
  background: var(--green-50);
  border: 1.5px solid var(--border);
  border-radius: 40px;
  padding: 9px 42px 9px 16px;
  width: 220px;
  outline: none;
  transition: width .3s ease, border-color .25s, box-shadow .25s, background .2s;
}
.nav-search-input::placeholder { color: var(--text-soft); }
.nav-search-input:focus {
  width: 300px;
  border-color: var(--accent);
  background: var(--white);
  box-shadow: 0 0 0 3px rgba(140,180,48,.15);
}
.nav-search-btn {
  position: absolute; right: 10px;
  background: none; border: none; cursor: pointer;
  color: var(--text-soft);
  display: flex; align-items: center; justify-content: center;
  width: 24px; height: 24px;
  transition: color .2s;
}
.nav-search-btn:hover { color: var(--green-500); }
.nav-search-btn svg { width: 16px; height: 16px; }

/* Search dropdown */
.search-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  left: 0; right: 0;
  background: var(--white);
  border: 1.5px solid var(--border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-lg);
  z-index: 200;
  overflow: hidden;
  display: none;
  min-width: 320px;
}
.search-dropdown.visible { display: block; }
.search-sugg-title {
  font-family: 'Sora', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-soft);
  padding: 10px 14px 6px;
}
.search-sugg-item {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 14px;
  cursor: pointer;
  font-size: 13.5px;
  color: var(--text-dark);
  transition: background .15s;
  border-bottom: 1px solid var(--green-50);
}
.search-sugg-item:last-child { border-bottom: none; }
.search-sugg-item:hover { background: var(--green-50); }
.search-sugg-item .sugg-icon { font-size: 18px; width: 28px; text-align: center; }
.search-sugg-item .sugg-name { flex: 1; font-weight: 500; }
.search-sugg-item .sugg-price { font-size: 12px; color: var(--green-500); font-weight: 600; }
.search-sugg-item mark { background: #e4f0a0; color: var(--green-900); border-radius: 2px; padding: 0 2px; }
.search-no-results { padding: 16px 14px; font-size: 13px; color: var(--text-soft); text-align: center; }
.search-view-all {
  display: flex; align-items: center; justify-content: center; gap: 6px;
  padding: 11px 14px;
  background: var(--green-50);
  font-family: 'Sora', sans-serif;
  font-size: 12px;
  font-weight: 700;
  color: var(--steel-700);
  cursor: pointer;
  border-top: 1px solid var(--border);
  transition: background .15s;
}
.search-view-all:hover { background: var(--steel-100); }

/* ─── BUTTONS ────────────────────────────────── */
.btn {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: 'Sora', sans-serif;
  font-weight: 600;
  border-radius: var(--radius-md);
  border: none; cursor: pointer;
  transition: all .2s ease;
  text-decoration: none;
}
.btn-primary {
  background: var(--green-500);
  color: white;
  padding: 13px 28px;
  font-size: 14px;
  box-shadow: 0 4px 14px rgba(110,160,30,.35);
}
.btn-primary:hover {
  background: var(--steel-700);
  box-shadow: 0 6px 20px rgba(110,160,30,.45);
  transform: translateY(-2px);
  color: white;
}
.btn-outline {
  background: transparent;
  color: var(--steel-700);
  border: 2px solid var(--steel-400);
  padding: 11px 26px;
  font-size: 14px;
}
.btn-outline:hover { background: var(--steel-100); box-shadow: var(--shadow-sm); }
.btn-sm { padding: 9px 20px; font-size: 13px; }
.btn-ghost {
  background: rgba(255,255,255,.15);
  color: white;
  border: 1.5px solid rgba(255,255,255,.4);
  padding: 11px 24px;
  font-size: 14px;
  backdrop-filter: blur(8px);
}
.btn-ghost:hover { background: rgba(255,255,255,.3); }

/* ─── HERO ───────────────────────────────────── */
.hero {
  background: linear-gradient(135deg, var(--steel-900) 0%, var(--steel-700) 40%, var(--green-700) 100%);
  color: white;
  min-height: 500px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  padding: 60px 60px 60px 80px;
  position: relative;
  overflow: hidden;
}
.hero::before {
  content: '';
  position: absolute; inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Ccircle cx='30' cy='30' r='20'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.hero-content { position: relative; z-index: 1; }
.hero-tag {
  display: inline-flex;
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.25);
  backdrop-filter: blur(10px);
  color: rgba(255,255,255,.9);
  font-family: 'Sora', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 5px 14px;
  border-radius: 20px;
  margin-bottom: 20px;
}
.hero h1 {
  font-family: 'Sora', sans-serif;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.02em;
  margin-bottom: 18px;
}
.hero h1 span { color: #c8e060; }
.hero p {
  font-size: 16px;
  color: rgba(255,255,255,.75);
  line-height: 1.7;
  max-width: 440px;
  margin-bottom: 32px;
}
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.hero-image-area {
  display: flex; gap: 16px;
  justify-content: center; align-items: center;
  position: relative; z-index: 1;
}
.hero-img-card {
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: var(--radius-xl);
  overflow: hidden;
  backdrop-filter: blur(10px);
}
.hero-img-card img { width: 100%; height: 220px; object-fit: cover; opacity: .85; }
.hero-img-card.big { width: 260px; }
.hero-img-card.sm { width: 160px; margin-top: 40px; }

/* ─── HERO SEARCH ────────────────────────────── */
.hero-search {
  display: flex;
  align-items: center;
  background: rgba(255,255,255,.12);
  border: 1.5px solid rgba(255,255,255,.25);
  border-radius: 50px;
  padding: 6px 6px 6px 20px;
  backdrop-filter: blur(12px);
  margin-bottom: 28px;
  max-width: 480px;
  transition: background .2s, border-color .2s;
}
.hero-search:focus-within {
  background: rgba(255,255,255,.2);
  border-color: rgba(255,255,255,.5);
}
.hero-search input {
  flex: 1;
  background: none;
  border: none;
  outline: none;
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  color: white;
}
.hero-search input::placeholder { color: rgba(255,255,255,.55); }
.hero-search-btn {
  background: var(--accent);
  color: white;
  border: none;
  border-radius: 40px;
  padding: 10px 20px;
  font-family: 'Sora', sans-serif;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  display: flex; align-items: center; gap: 7px;
  transition: background .2s, transform .15s;
  white-space: nowrap;
}
.hero-search-btn:hover { background: var(--accent-dk); transform: scale(1.02); }
.hero-search-btn svg { width: 14px; height: 14px; }

/* ─── TRUST BAR ──────────────────────────────── */
.trust-bar {
  background: var(--white);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  display: flex; justify-content: center; gap: 0;
}
.trust-item {
  display: flex; align-items: center; gap: 12px;
  padding: 20px 40px;
  border-right: 1px solid var(--border);
  flex-basis: 50%;
}
.trust-item:last-child { border-right: none; }
.trust-icon { font-size: 28px; }
.trust-label { font-size: 13px; font-weight: 600; color: var(--text-dark); }
.trust-sub { font-size: 12px; color: var(--text-soft); }

/* ─── SECTIONS ───────────────────────────────── */
.section { padding: 64px 60px; }
.section-sm { padding: 48px 60px; }
.section-head {
  display: flex; align-items: baseline; justify-content: space-between;
  margin-bottom: 32px;
}
.section-title {
  font-family: 'Sora', sans-serif;
  font-size: 26px;
  font-weight: 700;
  color: var(--text-dark);
  letter-spacing: -.02em;
}
.section-title span { color: var(--accent); }
.section-subtitle { font-size: 14px; color: var(--text-soft); margin-top: 6px; }

/* ─── CATEGORY CARDS ─────────────────────────── */
.category-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); }
.cat-card {
  background: var(--white);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  transition: transform .25s ease, box-shadow .25s ease;
  cursor: pointer;
  position: relative;
}
.cat-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-card-hover); }
.cat-card-img {
  width: 100%; height: 200px; object-fit: cover;
  background: linear-gradient(135deg, var(--green-100), var(--green-300));
  display: flex; align-items: center; justify-content: center;
  font-size: 64px;
}
.cat-card-body { padding: 20px 22px; }
.cat-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 6px;
}
.cat-card-body h3 {
  font-family: 'Sora', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 10px;
}
.cat-card-body p { font-size: 13.5px; color: var(--text-soft); line-height: 1.6; margin-bottom: 16px; }

/* ─── BANNER STRIP ───────────────────────────── */
.banner-strip {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: var(--gap);
  padding: 0 60px 64px;
}
.banner {
  border-radius: var(--radius-xl);
  padding: 40px 44px;
  display: flex; align-items: center; justify-content: space-between;
  overflow: hidden; position: relative;
  box-shadow: var(--shadow-md);
}
.banner-green { background: linear-gradient(135deg, var(--steel-700), var(--steel-500)); color: white; }
.banner-earth { background: linear-gradient(135deg, var(--green-700), var(--green-500)); color: white; }
.banner h2 { font-family: 'Sora', sans-serif; font-size: 24px; font-weight: 700; margin-bottom: 8px; }
.banner p { font-size: 14px; opacity: .8; margin-bottom: 20px; }
.banner-icon { font-size: 72px; opacity: .25; position: absolute; right: 30px; top: 50%; transform: translateY(-50%); }

/* ─── PRODUCT CARDS ──────────────────────────── */
.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--gap); }
.product-card {
  background: var(--white);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  transition: transform .25s ease, box-shadow .25s ease;
  cursor: pointer;
  display: flex; flex-direction: column;
  border: 1px solid transparent;
}
.product-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-card-hover);
  border-color: var(--green-200);
}
.product-card-img {
  display: flex; align-items: center; justify-content: center;
  padding: 24px;
  height: 200px;
  position: relative;
}
.product-card-img img { max-height: 150px; object-fit: contain; mix-blend-mode: multiply; }
.badge {
  position: absolute; top: 12px; left: 12px;
  font-family: 'Sora', sans-serif;
  font-size: 10px; font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 20px;
}
.badge-new { background: var(--green-500); color: white; }
.badge-sale { background: #e05858; color: white; }
.badge-best { background: #f0a840; color: white; }
.product-card-body { padding: 16px 18px 20px; flex: 1; display: flex; flex-direction: column; }
.product-card-body h4 {
  font-family: 'Sora', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-dark);
  line-height: 1.45;
  margin-bottom: 8px;
  flex: 1;
}
.product-price {
  font-family: 'Sora', sans-serif;
  font-size: 17px;
  font-weight: 700;
  color: var(--steel-700);
  margin-bottom: 12px;
}
.product-price .price-range {
  font-size: 12px;
  font-weight: 400;
  color: var(--text-soft);
  display: block;
  margin-top: 2px;
}
.product-card-body .btn { width: 100%; justify-content: center; }
.product-card mark { background: #e4f0a0; color: var(--green-900); border-radius: 2px; padding: 0 2px; font-style: normal; }

/* ─── STORE HERO ─────────────────────────────── */
.store-hero {
  background: linear-gradient(100deg, var(--green-900) 0%, #358050 100%);
  color: white;
  padding: 48px 60px;
  display: flex; align-items: center; justify-content: space-between;
}
.store-hero h1 { font-family: 'Sora', sans-serif; font-size: 36px; font-weight: 700; margin-bottom: 10px; }
.store-hero p { font-size: 15px; opacity: .75; }
.breadcrumb { font-size: 13px; opacity: .6; margin-bottom: 12px; }

/* ─── STORE LAYOUT ───────────────────────────── */
.store-layout { display: grid; grid-template-columns: 260px 1fr; gap: 32px; padding: 48px 60px; }

/* Sidebar */
.sidebar {
  background: var(--white);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  padding: 28px 24px;
  height: fit-content;
  position: sticky; top: 80px;
}
.sidebar-title {
  font-family: 'Sora', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-soft);
  margin-bottom: 16px;
}
.cat-item {
  padding: 10px 12px;
  border-radius: var(--radius-sm);
  font-size: 14px;
  color: var(--text-mid);
  cursor: pointer;
  transition: all .15s;
  display: flex; justify-content: space-between;
  align-items: center;
}
.cat-item:hover, .cat-item.active { background: var(--green-100); color: var(--green-700); }
.cat-item.active { font-weight: 600; }
.cat-count {
  background: var(--green-100);
  color: var(--green-500);
  font-size: 11px; font-weight: 600;
  padding: 2px 7px; border-radius: 10px;
}
.sub-cat { padding-left: 16px; font-size: 13px; color: var(--text-soft); }
.sidebar-divider { border: none; border-top: 1px solid var(--border); margin: 20px 0; }
.price-filter { margin-top: 8px; }
.price-filter label { font-size: 12px; color: var(--text-soft); display: block; margin-bottom: 8px; }
.price-range-input { width: 100%; accent-color: var(--green-500); }
.price-vals {
  display: flex; justify-content: space-between;
  font-size: 12px; color: var(--text-mid);
  font-weight: 600; margin-top: 6px;
}

/* Store toolbar */
.store-toolbar {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 24px;
  background: var(--white);
  border-radius: var(--radius-md);
  padding: 14px 20px;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--border);
}
.store-count { font-size: 14px; color: var(--text-soft); }
.store-count strong { color: var(--text-dark); }
.sort-select {
  font-family: 'DM Sans', sans-serif;
  font-size: 13px; font-weight: 500;
  color: var(--text-dark);
  border: 1.5px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 8px 12px;
  background: var(--white);
  cursor: pointer;
  outline: none;
}
.sort-select:focus { border-color: var(--green-400); }

/* Store search */
.store-search-wrap { position: relative; margin-bottom: 20px; }
.store-search-bar {
  display: flex;
  align-items: center;
  background: var(--white);
  border: 2px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  transition: border-color .25s, box-shadow .25s;
}
.store-search-bar:focus-within {
  border-color: var(--accent);
  box-shadow: 0 0 0 4px rgba(140,180,48,.12), var(--shadow-sm);
}
.store-search-icon { padding: 0 16px; color: var(--text-soft); display: flex; }
.store-search-icon svg { width: 18px; height: 18px; }
.store-search-input {
  flex: 1; border: none; outline: none;
  font-family: 'DM Sans', sans-serif;
  font-size: 14.5px; color: var(--text-dark);
  padding: 14px 0; background: transparent;
}
.store-search-input::placeholder { color: var(--text-soft); }
.store-search-clear {
  display: none;
  background: var(--warm-gray);
  border: none; cursor: pointer;
  margin: 6px; border-radius: 50%;
  width: 28px; height: 28px;
  align-items: center; justify-content: center;
  color: var(--text-soft);
  font-size: 16px;
  transition: background .15s, color .15s;
}
.store-search-clear:hover { background: var(--border); color: var(--text-dark); }
.store-search-clear.visible { display: flex; }
.store-search-submit {
  background: var(--steel-700);
  color: white;
  border: none; cursor: pointer;
  padding: 0 24px; height: 100%;
  font-family: 'Sora', sans-serif;
  font-size: 13px; font-weight: 700;
  display: flex; align-items: center; gap: 8px;
  transition: background .2s;
  min-height: 52px;
}
.store-search-submit:hover { background: var(--steel-900); }
.store-search-submit svg { width: 15px; height: 15px; }
.search-chips { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.search-chip {
  background: var(--white);
  border: 1.5px solid var(--border);
  border-radius: 20px;
  padding: 5px 14px;
  font-size: 12.5px; font-weight: 500;
  color: var(--text-mid);
  cursor: pointer;
  transition: all .15s;
}
.search-chip:hover, .search-chip.active {
  background: var(--steel-100);
  border-color: var(--accent);
  color: var(--steel-700);
}

/* Store grid */
.store-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); }

/* No results */
.no-results { display: none; grid-column: 1 / -1; text-align: center; padding: 60px 20px; }
.no-results.visible { display: block; }
.no-results-icon { font-size: 56px; margin-bottom: 16px; }
.no-results h3 { font-family: 'Sora', sans-serif; font-size: 18px; font-weight: 700; color: var(--text-dark); margin-bottom: 8px; }
.no-results p { font-size: 14px; color: var(--text-soft); }

/* ─── PRODUCT PAGE ───────────────────────────── */
.product-page { padding: 48px 60px; }
.product-page-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  margin-bottom: 48px;
}
/* Gallery layout is handled inline in single-product.php matching design */
.product-gallery { display: block; }
.product-thumbnails { display: none; } /* old layout - not used */
.prod-thumb {
  aspect-ratio: 1;
  background: var(--steel-50);
  border-radius: var(--radius-md);
  border: 2px solid var(--border);
  overflow: hidden;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  padding: 6px;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.prod-thumb img { max-width: 100%; max-height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.prod-thumb:hover { border-color: var(--accent); transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.prod-thumb.active { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(140,180,48,.2); }
/* .product-main-image handled inline */
#prodMainImgEl {
  max-height: 380px; object-fit: contain;
  mix-blend-mode: multiply;
  transition: opacity .2s;
}
.product-info { display: flex; flex-direction: column; gap: 16px; }
.product-breadcrumb { font-size: 13px; color: var(--text-soft); }
.product-info h1 {
  font-family: 'Sora', sans-serif;
  font-size: 28px; font-weight: 700;
  color: var(--text-dark);
  line-height: 1.2;
}
.product-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.prod-tag {
  background: var(--steel-100);
  color: var(--steel-500);
  border-radius: 20px;
  padding: 4px 12px;
  font-size: 11.5px; font-weight: 500;
  cursor: pointer;
  transition: background .15s, color .15s;
}
.prod-tag:hover { background: var(--steel-200); color: var(--steel-700); }
.product-price-block {
  font-family: 'Sora', sans-serif;
}
.product-price-label { font-size: 13px; color: var(--text-soft); margin-bottom: 4px; }
.product-price-value { font-size: 32px; font-weight: 700; color: var(--steel-700); }
.product-price-note { font-size: 12px; color: var(--text-soft); margin-top: 4px; }

/* Variant selector */
.variant-label {
  font-family: 'Sora', sans-serif;
  font-size: 13px; font-weight: 700;
  color: var(--text-mid);
  margin-bottom: 10px;
}
.variant-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.variant-btn {
  font-family: 'Sora', sans-serif;
  font-size: 14px; font-weight: 600;
  padding: 10px 22px;
  border: 2px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--white);
  color: var(--text-mid);
  cursor: pointer;
  transition: all .2s;
}
.variant-btn:hover { border-color: var(--accent); color: var(--text-dark); background: var(--green-50); }
.variant-btn.active {
  border-color: var(--accent);
  background: var(--green-100);
  color: var(--green-900);
  box-shadow: 0 0 0 3px rgba(140,180,48,.15);
}
.variant-info { font-size: 13px; color: var(--green-500); font-weight: 600; min-height: 20px; }

/* Qty + Add to cart */
.qty-add-row { display: flex; align-items: center; gap: 12px; }
.qty-control {
  display: flex; align-items: center;
  border: 1.5px solid var(--border);
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--white);
}
.qty-btn {
  width: 40px; height: 48px;
  background: var(--steel-50);
  border: none;
  font-size: 18px;
  cursor: pointer;
  color: var(--steel-500);
  transition: background .15s;
  display: flex; align-items: center; justify-content: center;
}
.qty-btn:hover { background: var(--steel-100); }
.qty-input {
  width: 60px;
  text-align: center;
  border: none;
  border-left: 1.5px solid var(--border);
  border-right: 1.5px solid var(--border);
  font-family: 'Sora', sans-serif;
  font-size: 16px; font-weight: 600;
  color: var(--text-dark);
  padding: 0 8px;
  height: 48px;
  outline: none;
}
.add-to-cart-btn {
  flex: 1;
  background: var(--green-500);
  color: white;
  border: none;
  border-radius: var(--radius-md);
  padding: 14px 28px;
  font-family: 'Sora', sans-serif;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  transition: all .2s;
  box-shadow: 0 4px 14px rgba(110,160,30,.35);
}
.add-to-cart-btn:hover { background: var(--steel-700); transform: translateY(-2px); }
.add-to-cart-btn:disabled { opacity: .5; cursor: not-allowed; transform: none; }

/* Product trust */
.product-trust {
  display: flex; gap: 16px;
  padding: 16px 20px;
  background: var(--steel-50);
  border-radius: var(--radius-md);
  font-size: 13px; color: var(--text-mid);
}
.product-trust span { display: flex; align-items: center; gap: 6px; }

/* Product description tabs */
.prod-desc-area { margin-top: 8px; }
.prod-desc-tabs {
  display: flex;
  border: 1px solid var(--border);
  border-bottom: none;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  overflow: hidden;
  background: var(--warm-gray);
}
.prod-desc-tab {
  font-family: 'Sora', sans-serif;
  font-size: 13.5px; font-weight: 600;
  padding: 14px 28px;
  border: none; background: none; cursor: pointer;
  color: var(--text-soft);
  border-right: 1px solid var(--border);
  transition: background .2s, color .2s;
}
.prod-desc-tab:last-child { border-right: none; }
.prod-desc-tab:hover { background: var(--steel-100); color: var(--text-dark); }
.prod-desc-tab.active { background: var(--white); color: var(--steel-700); }
.prod-desc-content {
  border: 1px solid var(--border);
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  padding: 28px;
  background: var(--white);
}
.prod-desc-panel { display: none; }
.prod-desc-panel.active { display: block; }
.prod-desc-panel p { font-size: 14px; color: var(--text-mid); line-height: 1.7; margin-bottom: 12px; }
.prod-desc-panel ul { padding-left: 20px; margin-bottom: 12px; }
.prod-desc-panel li { font-size: 14px; color: var(--text-mid); line-height: 1.7; }

/* Specs table */
.specs-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.specs-table tr { border-bottom: 1px solid var(--border); }
.specs-table tr:last-child { border-bottom: none; }
.specs-table td { padding: 13px 16px; }
.specs-table td:first-child {
  font-family: 'Sora', sans-serif;
  font-weight: 600; color: var(--text-dark);
  width: 40%; background: var(--steel-50);
}
.specs-table td:last-child { color: var(--text-mid); }
.specs-table tr:hover td { background: var(--steel-50); }
.specs-table tr:hover td:first-child { background: var(--steel-100); }

/* Related products */
.related-products { padding: 48px 60px; background: var(--warm-gray); }
.related-products .section-title { margin-bottom: 8px; }
.related-products .section-subtitle { margin-bottom: 32px; }
.related-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: var(--gap); margin-top: 32px; }

/* ─── FOOTER ─────────────────────────────────── */
.site-footer .footer {
  background: var(--steel-900);
  color: rgba(255,255,255,.7);
  padding: 48px 60px 32px;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 40px;
}
.footer-logo { font-family: 'Sora', sans-serif; font-size: 20px; font-weight: 700; color: white; margin-bottom: 12px; }
.footer-logo span { color: var(--green-300); }
.footer-logo img { height: 56px; width: auto; margin-bottom: 12px; }
.site-footer p { font-size: 13px; line-height: 1.7; }
.footer-col h5 {
  font-family: 'Sora', sans-serif;
  font-size: 12px; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
  color: var(--green-300); margin-bottom: 14px;
}
.footer-brand-col .emoji{
  filter: invert(48%) sepia(4%) saturate(324%) hue-rotate(86deg) brightness(161%) contrast(119%);
}
.footer-col a {
  display: block; font-size: 13px;
  color: rgba(255,255,255,.6); padding: 4px 0;
  transition: color .2s;
}
.footer-col a:hover { color: white; }
.footer-bottom {
  background: var(--steel-900);
  border-top: 1px solid rgba(255,255,255,.08);
  padding: 16px 60px;
  font-size: 12px;
  color: rgba(255,255,255,.4);
  display: flex; justify-content: space-between;
  align-items: center;
}

.wc-block-components-checkout-place-order-button .wc-block-components-checkout-place-order-button__text{
  color: var(--white);
  font-weight: normal;
  font-size: var(--wp--preset--font-size--small,14px);
}

/* ─── ANIMATIONS ─────────────────────────────── */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
.animate-up { animation: fadeUp .4s ease both; }
.animate-up:nth-child(2) { animation-delay: .06s; }
.animate-up:nth-child(3) { animation-delay: .12s; }
.animate-up:nth-child(4) { animation-delay: .18s; }

/* ─── WOOCOMMERCE OVERRIDES ──────────────────── */
.woocommerce-notices-wrapper { padding: 0 60px; }
.woocommerce-message, .woocommerce-error, .woocommerce-info {
  border-radius: var(--radius-md);
  margin-bottom: 16px;
}

/* ─── RESPONSIVE (basic) ─────────────────────── */
@media (max-width: 1220px) {
  .site-wrapper { width: 100%; }
}
@media (max-width: 992px) {
  .hero { grid-template-columns: 1fr; }
  .hero-image-area { display: none; }
  .category-grid { grid-template-columns: 1fr 1fr; }
  .product-grid { grid-template-columns: 1fr 1fr; }
  .store-layout { grid-template-columns: 1fr; }
  .sidebar { position: static; }
  .store-grid { grid-template-columns: 1fr 1fr; }
  .product-page-layout { grid-template-columns: 1fr; }
  .site-footer .footer { grid-template-columns: 1fr 1fr; }
  .banner-strip { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .trust-bar { flex-wrap: wrap; }
  .trust-item { padding: 14px 20px; }
  .hero { padding: 40px 24px; }
  .section { padding: 40px 24px; }
  .store-grid { grid-template-columns: 1fr; }
  .section { padding: 32px 20px; }
  .banner-strip { padding: 0 20px 40px; }
  .store-hero, .store-layout { padding: 32px 20px; }
  .product-page { padding: 24px 20px; }
  .site-footer .footer { padding: 32px 20px; grid-template-columns: 1fr; }
  .footer-bottom { padding: 16px 20px; flex-direction: column; gap: 8px; text-align: center; }
  .site-header .navbar { padding: 0 16px; }
}

/* ─── PRODUCT IMAGE LIGHTBOX ────────────────────────────── */
#agrohit-lightbox {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: rgba(0,0,0,.88);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
  cursor: zoom-out;
}
#agrohit-lightbox.visible {
  opacity: 1;
  pointer-events: all;
}
#agrohit-lightbox-img {
  max-width: 90vw;
  max-height: 90vh;
  object-fit: contain;
  border-radius: var(--radius-lg);
  box-shadow: 0 32px 80px rgba(0,0,0,.6);
  transform: scale(.92);
  transition: transform .28s cubic-bezier(.22,.68,0,1.2), opacity .25s ease;
  opacity: 0;
  cursor: default;
  user-select: none;
}
#agrohit-lightbox.visible #agrohit-lightbox-img {
  transform: scale(1);
  opacity: 1;
}
#agrohit-lightbox-close {
  position: fixed;
  top: 20px;
  right: 24px;
  width: 44px;
  height: 44px;
  background: rgba(255,255,255,.12);
  border: 1.5px solid rgba(255,255,255,.25);
  border-radius: 50%;
  color: #fff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .15s, transform .15s;
  z-index: 100000;
}
#agrohit-lightbox-close:hover {
  background: rgba(255,255,255,.25);
  transform: scale(1.1);
}
#agrohit-lightbox-counter {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(255,255,255,.6);
  font-family: 'Sora', sans-serif;
  font-size: 13px;
  font-weight: 600;
  pointer-events: none;
  letter-spacing: .04em;
}
#agrohit-lightbox-prev,
#agrohit-lightbox-next {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  width: 52px;
  height: 52px;
  background: rgba(255,255,255,.1);
  border: 1.5px solid rgba(255,255,255,.2);
  border-radius: 50%;
  color: #fff;
  font-size: 22px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .15s, transform .15s;
  z-index: 100000;
  user-select: none;
}
#agrohit-lightbox-prev { left: 20px; }
#agrohit-lightbox-next { right: 20px; }
#agrohit-lightbox-prev:hover,
#agrohit-lightbox-next:hover {
  background: rgba(255,255,255,.22);
  transform: translateY(-50%) scale(1.08);
}
#agrohit-lightbox-prev.hidden,
#agrohit-lightbox-next.hidden { display: none; }
body.lightbox-open { overflow: hidden; }

/* ═══════════════════════════════════════════════════════════
   HERO SLIDER
═══════════════════════════════════════════════════════════ */
.hero-slider {
  position: relative;
  width: 100%;
  max-height: 522px;
  overflow: hidden;
  background: var(--steel-100);
  line-height: 0; /* remove gap under images */
}

/* Slides */
.hero-slider .swiper-slide {
  position: relative;
  width: 100%;
  line-height: 0;
}
.hero-slider .swiper-slide a,
.hero-slider .swiper-slide > span {
  display: block;
  width: 100%;
  line-height: 0;
}
.hero-slider .swiper-slide img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  max-height: 522px;
}

/* Navigation arrows */
.hero-slider .swiper-button-prev,
.hero-slider .swiper-button-next {
  width: 48px;
  height: 48px;
  background: rgba(255,255,255,.82);
  border-radius: 50%;
  box-shadow: 0 2px 12px rgba(0,0,0,.18);
  transition: background .18s, transform .18s;
}
.hero-slider .swiper-button-prev:hover,
.hero-slider .swiper-button-next:hover {
  background: #fff;
  transform: scale(1.08);
}
.hero-slider .swiper-button-prev::after,
.hero-slider .swiper-button-next::after {
  font-size: 16px;
  font-weight: 700;
  color: var(--steel-700);
}
.hero-slider .swiper-button-prev { left: 16px; }
.hero-slider .swiper-button-next { right: 16px; }

/* Pagination dots */
.hero-slider .swiper-pagination {
  bottom: 14px;
}
.hero-slider .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: rgba(255,255,255,.6);
  opacity: 1;
  transition: background .2s, transform .2s;
}
.hero-slider .swiper-pagination-bullet-active {
  background: var(--accent);
  transform: scale(1.25);
}

/* No slides placeholder */
.hero-slider-empty {
  background: var(--steel-100);
  padding: 48px 24px;
  text-align: center;
  color: var(--text-soft);
  font-size: 15px;
}
.hero-slider-empty a {
  color: var(--accent);
  font-weight: 700;
}

/* ── Responsive ── */
@media (max-width: 1024px) {
  /*.hero-slider .swiper-slide img { max-height: 360px; }*/
  .hero-slider .swiper-button-prev,
  .hero-slider .swiper-button-next { width: 40px; height: 40px; }
  .hero-slider .swiper-button-prev::after,
  .hero-slider .swiper-button-next::after { font-size: 14px; }
}
@media (max-width: 768px) {
  /*.hero-slider .swiper-slide img { max-height: 260px; }*/
  .hero-slider .swiper-button-prev { left: 8px; }
  .hero-slider .swiper-button-next { right: 8px; }
}
@media (max-width: 480px) {
  /*.hero-slider .swiper-slide img { max-height: 190px; }*/
  .hero-slider .swiper-button-prev,
  .hero-slider .swiper-button-next { display: none; }
}

/* ═══════════════════════════════════════════════════════════
   GLOBAL RESPONSIVE FIXES
═══════════════════════════════════════════════════════════ */
.site-wrapper { max-width: 1200px; margin: 0 auto; }

/* Ribbon & navbar */
@media (max-width: 768px) {
  .top-ribbon { padding: 6px 16px; font-size: 12px; flex-wrap: wrap; gap: 6px; }
  .ribbon-badge { display: none; }
  .navbar { height: auto; min-height: 60px; padding: 0 16px; flex-wrap: wrap; gap: 8px; }
  .nav-links { display: none; } /* mobile: hide links, hamburger could be added */
  .nav-right { gap: 8px; }
  .nav-search { width: 160px !important; }
  .cart-btn { font-size: 13px; padding: 6px 12px; }
}

/* Hero section (old, now replaced by slider) */
@media (max-width: 768px) {
  .hero { padding: 32px 16px; grid-template-columns: 1fr; }
  .hero-actions { flex-direction: column; }
  .hero-img-cards { display: none; }
}

/* Trust bar */
@media (max-width: 640px) {
  .trust-bar { grid-template-columns: 1fr 1fr; }
  .trust-item { border-right: none; border-bottom: 1px solid var(--border); padding: 14px 12px; }
  .trust-item:nth-child(odd) { border-right: 1px solid var(--border); }
  .trust-item:last-child { border-bottom: none; }
}
@media (max-width: 380px) {
  .trust-bar { grid-template-columns: 1fr; }
  .trust-item { border-right: none !important; }
}

/* Categories */
@media (max-width: 768px) {
  .category-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .category-grid { grid-template-columns: 1fr; }
}

/* Banner strip */
@media (max-width: 768px) {
  .banner-strip { grid-template-columns: 1fr; }
}

/* Product grids */
@media (max-width: 1024px) {
  .product-grid { grid-template-columns: repeat(3,1fr); }
}
@media (max-width: 768px) {
  .product-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 480px) {
  .product-grid { grid-template-columns: 1fr; }
}

/* Store layout */
@media (max-width: 960px) {
  .store-layout { grid-template-columns: 1fr; }
  .sidebar { position: static; order: -1; }
  .store-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 560px) {
  .store-grid { grid-template-columns: 1fr; }
}

/* Product page */
@media (max-width: 900px) {
  div[style*="grid-template-columns:1fr 1fr"][style*="gap:56px"] {
    display: block !important;
  }
}
@media (max-width: 768px) {
  div[style*="padding:48px 60px"] { padding: 24px 16px !important; }
  div[style*="padding:0 60px"]    { padding: 0 16px !important; }
  .prod-desc-tabs { overflow-x: auto; -webkit-overflow-scrolling: touch; white-space: nowrap; }
  .prod-desc-tab  { display: inline-block; white-space: nowrap; }
  div[style*="padding:40px 48px"] { padding: 24px 16px !important; }
}

/* Related products section */
@media (max-width: 768px) {
  section[style*="padding:0 60px"] { padding: 0 16px 32px !important; }
  .section-head { flex-direction: column; align-items: flex-start; gap: 8px; }
}

/* Footer */
@media (max-width: 768px) {
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; gap: 8px; text-align: center; }
}

/* Breadcrumb */
@media (max-width: 768px) {
  div[style*="padding:12px 60px"] { padding: 10px 16px !important; }
}

/* Sections generic padding */
@media (max-width: 768px) {
  .section { padding: 32px 16px; }
}

/* ═══════════════════════════════════════════════════════════
   NAVBAR — RESPONSIVE REWRITE
═══════════════════════════════════════════════════════════ */
.navbar {
  display: flex;
  align-items: center;
  gap: 24px;
  height: 68px;
  padding: 0 40px;
  background: var(--white);
  border-bottom: 1px solid var(--border);
  position: relative;
  z-index: 200;
}
.nav-logo { display: flex; align-items: center; text-decoration: none; flex-shrink: 0; }
.nav-logo-img { height: 44px; width: auto; }
.nav-logo-text { font-family: 'Sora',sans-serif; font-size: 20px; font-weight: 800; color: var(--steel-900); }
.nav-logo-text span { color: var(--accent); }

.nav-links { display: flex; align-items: center; gap: 4px; flex: 1; }
.nav-link {
  padding: 6px 14px;
  font-family: 'Sora',sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-mid);
  text-decoration: none;
  border-radius: var(--radius-md);
  transition: color .15s, background .15s;
  white-space: nowrap;
}
.nav-link:hover { color: var(--text-dark); background: var(--steel-50); }
.nav-link.active { color: var(--steel-700); font-weight: 700; }

.nav-right { display: flex; align-items: center; gap: 10px; margin-left: auto; }

.cart-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  background: var(--steel-100);
  border: none;
  border-radius: var(--radius-md);
  padding: 8px 14px;
  font-family: 'Sora',sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--steel-700);
  cursor: pointer;
  text-decoration: none;
  transition: background .15s, box-shadow .15s, transform .15s;
  white-space: nowrap;
}
.cart-btn:hover { background: var(--steel-500); color: var(--white); box-shadow: var(--shadow-md); }
.cart-btn-icon { font-size: 16px; }
.cart-btn-text { display: flex; flex-direction: column; }
.cart-badge { background: var(--accent); color: var(--white); border-radius: 50%; width: 20px; height: 20px; font-size: 11px; display: flex; align-items: center; justify-content: center; font-weight: 700; }

/* Ribbon */
.top-ribbon { display: flex; align-items: center; gap: 16px; padding: 8px 40px; background: var(--steel-700); font-size: 13px; }
.top-ribbon a { color: var(--steel-200); text-decoration: none; }
.top-ribbon a:hover { color: var(--white); }
.ribbon-badge { background: var(--accent); color: var(--white); padding: 2px 10px; border-radius: 20px; font-size: 12px; font-weight: 700; margin-left: auto;}
.ribbon-socials { display: flex; gap: 12px; margin-left: auto; }

/* Hamburger button */
.nav-hamburger {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 28px;
  height: 20px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
}
.nav-hamburger span {
  display: block;
  width: 100%;
  height: 2px;
  background: var(--steel-700);
  border-radius: 2px;
  transition: transform .25s, opacity .25s;
}
.nav-hamburger.open span:nth-child(1) { transform: translateY(9px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity: 0; }
.nav-hamburger.open span:nth-child(3) { transform: translateY(-9px) rotate(-45deg); }

/* Mobile drawer */
.nav-mobile-menu {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: min(320px, 88vw);
  height: 100vh;
  background: var(--white);
  box-shadow: 4px 0 24px rgba(0,0,0,.18);
  z-index: 9999;
  transform: translateX(-100%);
  transition: transform .3s cubic-bezier(.22,.68,0,1.1);
  overflow-y: auto;
}
.nav-mobile-menu.open { transform: translateX(0); }
.nav-mobile-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.42);
  z-index: 9998;
  opacity: 0;
  transition: opacity .3s;
}
.nav-mobile-backdrop.open { opacity: 1; }
.nav-mobile-inner {
  padding: 72px 0 32px;
  display: flex;
  flex-direction: column;
}
.nav-mobile-link {
  display: block;
  padding: 15px 28px;
  font-family: 'Sora',sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: var(--text-dark);
  text-decoration: none;
  border-bottom: 1px solid var(--border);
  transition: background .15s, color .15s;
}
.nav-mobile-link:hover, .nav-mobile-link.active { background: var(--steel-50); color: var(--accent); }
.nav-mobile-search {
  display: flex;
  margin: 20px 16px 0;
  border: 1.5px solid var(--border);
  border-radius: var(--radius-md);
  overflow: hidden;
}
.nav-mobile-search input {
  flex: 1;
  border: none;
  padding: 10px 14px;
  font-size: 14px;
  outline: none;
  background: var(--steel-50);
}
.nav-mobile-search button {
  background: var(--accent);
  border: none;
  padding: 10px 14px;
  font-size: 16px;
  cursor: pointer;
}

/* ── Responsive navbar ── */
@media (max-width: 960px) {
  .navbar { padding: 0 20px; gap: 12px; }
  .nav-links { gap: 0; }
  .nav-link { padding: 6px 10px; font-size: 13px; }
  .top-ribbon { padding: 6px 20px; }
}
@media (max-width: 768px) {
  .navbar { height: 60px; padding: 0 16px; }
  .nav-links { display: none; }         /* hidden — shown in drawer */
  .nav-hamburger { display: flex; }
  .nav-mobile-menu { display: block; }  /* still hidden via transform */
  .nav-mobile-backdrop { display: block; pointer-events: none; }
  .nav-mobile-backdrop.open { pointer-events: all; }
  .top-ribbon { padding: 6px 16px; font-size: 12px; gap: 8px; }
  .ribbon-socials { display: none; }
  .cart-btn-text { display: none; }     /* show only icon + count on mobile */
  .cart-btn { padding: 8px 10px; }
  .nav-search { display: none; }        /* search moves to mobile drawer */
}
@media (max-width: 480px) {
  .ribbon-badge { display: none; }
}
body.menu-open { overflow: hidden; }

/* ═══════════════════════════════════════════════════════════
   SINGLE PRODUCT PAGE — CSS-CLASS LAYOUT
═══════════════════════════════════════════════════════════ */

/* Breadcrumb bar */
.product-breadcrumb-bar {
  background: var(--white);
  border-bottom: 1px solid var(--border);
  padding: 12px 40px;
}
.product-breadcrumb-inner {
  max-width: 1200px;
  margin: 0 auto;
  font-size: 13px;
  color: var(--text-soft);
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.product-breadcrumb-inner a { color: var(--text-soft); text-decoration: none; transition: color .15s; }
.product-breadcrumb-inner a:hover { color: var(--accent); }
.breadcrumb-current { color: var(--text-dark); font-weight: 500; }

/* Product page wrapper */
.product-page-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 48px 40px;
}
.product-page-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: start;
}

/* Gallery column */
.product-gallery-col {}
.product-main-img-wrap {
  background: var(--steel-50);
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow-md);
  position: relative;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  cursor: zoom-in;
}
.product-main-img {
  max-width: 80%;
  max-height: 80%;
  object-fit: contain;
  mix-blend-mode: multiply;
  transition: opacity .25s;
}
.product-badge { position: absolute; top: 16px; left: 16px; }
.product-zoom-hint {
  position: absolute;
  bottom: 14px;
  right: 14px;
  background: rgba(255,255,255,.8);
  backdrop-filter: blur(6px);
  border-radius: 8px;
  padding: 5px 10px;
  font-size: 11px;
  color: var(--text-mid);
  font-family: 'Sora',sans-serif;
  font-weight: 600;
}
.product-thumbs-row {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
  margin-top: 0;
}
.product-thumbs-row + .product-thumbs-row { margin-top: 10px; }

/* Info column */
.product-info-col { display: flex; flex-direction: column; gap: 0; }
.product-cat-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--steel-100);
  color: var(--steel-500);
  border-radius: 20px;
  padding: 4px 14px;
  font-family: 'Sora',sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 14px;
  align-self: flex-start;
}
.product-title {
  font-family: 'Sora',sans-serif;
  font-size: 26px;
  font-weight: 700;
  color: var(--text-dark);
  line-height: 1.25;
  letter-spacing: -.02em;
  margin-bottom: 10px;
}
.product-meta-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--border);
}
.product-brand-label { font-size: 13px; color: var(--text-soft); }
.product-brand-link { color: var(--text-dark); font-weight: 700; text-decoration: none; transition: color .15s; }
.product-brand-link:hover { color: var(--accent); }
.product-in-stock { font-size: 12px; color: var(--green-500); font-weight: 600; font-family: 'Sora',sans-serif; }
.product-price-block { margin-bottom: 24px; }
.product-price-value {
  font-family: 'Sora',sans-serif;
  font-size: 36px;
  font-weight: 800;
  color: var(--steel-700);
  line-height: 1;
}
.product-price-note { font-size: 13px; color: var(--text-soft); margin-top: 4px; }
.product-variants-block { margin-bottom: 24px; }
.product-variants-label {
  font-family: 'Sora',sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 10px;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.product-variants-btns { display: flex; gap: 10px; flex-wrap: wrap; }
.product-variant-info { margin-top: 10px; font-size: 13px; color: var(--text-soft); min-height: 18px; }
.product-add-row {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.product-qty-wrap {
  display: flex;
  align-items: center;
  border: 2px solid var(--border);
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--white);
  flex-shrink: 0;
}
.product-qty-input {
  width: 52px;
  height: 52px;
  border: none;
  text-align: center;
  font-family: 'Sora',sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: var(--text-dark);
  background: none;
  outline: none;
}
.product-add-btn { flex: 1; justify-content: center; padding: 15px 28px; font-size: 15px; min-width: 160px; }
.product-add-btn.btn-disabled { opacity: .6; cursor: not-allowed; }
.product-cart-flash {
  display: none;
  background: var(--green-100);
  border: 1.5px solid var(--green-300);
  border-radius: var(--radius-md);
  padding: 12px 16px;
  margin-bottom: 16px;
  font-size: 13.5px;
  color: var(--green-900);
  font-weight: 500;
  font-family: 'Sora',sans-serif;
}
.product-short-desc { font-size: 14px; color: var(--text-mid); line-height: 1.7; margin-bottom: 16px; }
.product-tags-row { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top:20px;}
.product-tags-label {
  font-size: 11px;
  font-weight: 700;
  color: var(--text-soft);
  font-family: 'Sora',sans-serif;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-right: 4px;
}

/* Description tabs */
.product-tabs-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px 48px;
}
.product-tab-panel {
  background: var(--white);
  border: 1px solid var(--border);
  border-top: none;
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  padding: 36px 40px;
  box-shadow: var(--shadow-sm);
}

/* Related products */
.product-related-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px 48px;
}

/* ── Product page responsive ── */
@media (max-width: 900px) {
  .product-page-wrap { padding: 32px 24px; }
  .product-page-grid { grid-template-columns: 1fr; gap: 32px; }
  .product-breadcrumb-bar { padding: 10px 24px; }
  .product-tabs-wrap { padding: 0 24px 36px; }
  .product-related-wrap { padding: 0 24px 36px; }
}
@media (max-width: 640px) {
  .product-page-wrap { padding: 20px 16px; }
  .product-breadcrumb-bar { padding: 8px 16px; }
  .product-tabs-wrap { padding: 0 16px 28px; }
  .product-related-wrap { padding: 0 16px 28px; }
  .product-tab-panel { padding: 20px 16px; }
  .product-title { font-size: 20px; }
  .product-price-value { font-size: 28px; }
  .product-add-row { flex-direction: column; align-items: stretch; }
  .product-add-btn { min-width: unset; width: 100%; }
  .product-qty-wrap { align-self: flex-start; }
  .product-zoom-hint { font-size: 10px; padding: 4px 8px; }
  .prod-desc-tabs { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .prod-desc-tab { white-space: nowrap; }
  .product-thumbs-row { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 400px) {
  .product-thumbs-row { grid-template-columns: repeat(3, 1fr); }
}

/* ═══════════════════════════════════════════════════════════
   AJAX CART SIDEBAR
═══════════════════════════════════════════════════════════ */
.cart-sidebar {
  position: fixed;
  top: 0;
  right: 0;
  width: min(420px, 100vw);
  height: 100vh;
  background: var(--white);
  box-shadow: -4px 0 32px rgba(0,0,0,.18);
  z-index: 10000;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform .32s cubic-bezier(.22,.68,0,1.1);
}
.cart-sidebar.open { transform: translateX(0); }

.cart-sidebar-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.44);
  z-index: 9999;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s;
}
.cart-sidebar-backdrop.open { opacity: 1; pointer-events: all; }

/* Header */
.cart-sidebar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
  background: var(--steel-50);
}
.cart-sidebar-title {
  font-family: 'Sora', sans-serif;
  font-size: 17px;
  font-weight: 700;
  color: var(--text-dark);
}
.cart-sidebar-close {
  background: none;
  border: 1.5px solid var(--border);
  border-radius: 50%;
  width: 34px;
  height: 34px;
  font-size: 16px;
  cursor: pointer;
  color: var(--text-mid);
  display: flex; align-items: center; justify-content: center;
  transition: background .15s, color .15s;
}
.cart-sidebar-close:hover { background: var(--steel-100); color: var(--text-dark); }

/* Body: scrollable item list */
.cart-sidebar-body {
  flex: 1;
  overflow-y: auto;
  padding: 0;
  overscroll-behavior: contain;
}
.cart-sidebar-loading {
  padding: 48px 24px;
  text-align: center;
  color: var(--text-soft);
  font-size: 14px;
}
.cart-sidebar-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 64px 24px;
  gap: 12px;
  color: var(--text-soft);
}
.cart-sidebar-empty span { font-size: 48px; }
.cart-sidebar-empty p { font-size: 15px; font-weight: 500; }

/* Cart items */
.cart-sidebar-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 20px;
  border-bottom: 1px solid var(--border);
  transition: background .15s;
}
.cart-sidebar-item:hover { background: var(--steel-50); }
.cart-item-img-link { flex-shrink: 0; }
.cart-item-img {
  width: 72px;
  height: 72px;
  object-fit: contain;
  border-radius: var(--radius-md);
  background: var(--steel-50);
  border: 1px solid var(--border);
  mix-blend-mode: multiply;
}
.cart-item-info { flex: 1; min-width: 0; }
.cart-item-name {
  font-family: 'Sora', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-dark);
  text-decoration: none;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color .15s;
}
.cart-item-name:hover { color: var(--accent); }
.cart-item-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 5px; }
.cart-item-variation, .cart-item-qty {
  font-size: 11px;
  color: var(--text-soft);
  background: var(--steel-100);
  border-radius: 4px;
  padding: 2px 7px;
}
.cart-item-price {
  font-family: 'Sora', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: var(--steel-700);
  margin-top: 6px;
}
.cart-item-remove {
  flex-shrink: 0;
  background: var(--steel-100);
  border: 1.5px solid var(--border);
  color: var(--text-soft);
  font-size: 12px;
  cursor: pointer;
  width: 28px;
  height: 28px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  transition: background .15s, color .15s, border-color .15s;
  font-weight: 700;
  line-height: 1;
  align-self: flex-start;
  margin-top: 2px;
}
.cart-item-remove:hover { background: #fee2e2; color: #dc2626; border-color: #fca5a5; }

/* Footer: total + buttons */
.cart-sidebar-footer {
  padding: 20px 24px;
  border-top: 1px solid var(--border);
  background: var(--steel-50);
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.cart-sidebar-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: 'Sora', sans-serif;
  font-size: 15px;
  color: var(--text-dark);
  margin-bottom: 4px;
}
.cart-total-sum { font-weight: 800; font-size: 20px; color: var(--steel-700); }
.cart-sidebar-btn-cart,
.cart-sidebar-btn-checkout {
  width: 100%;
  justify-content: center;
  text-align: center;
  padding: 13px 20px;
  font-size: 14px;
}

/* Cart count pulse animation when item added */
@keyframes cartBadgePulse {
  0%   { transform: scale(1); }
  40%  { transform: scale(1.5); }
  100% { transform: scale(1); }
}
.cart-badge.pulse { animation: cartBadgePulse .35s ease; }

/* ═══════════════════════════════════════════════════════════
   BLOG PAGE & ARTICLE CARDS
═══════════════════════════════════════════════════════════ */
.blog-hero {
  background: linear-gradient(135deg, var(--steel-900) 0%, var(--steel-700) 50%, var(--green-700) 100%);
  padding: 56px 40px;
  text-align: center;
}
.blog-hero-inner .section-title { color: var(--white); margin-bottom: 8px; }
.blog-hero-inner .section-title span { color: var(--green-300); }
.blog-hero-inner .section-subtitle { color: var(--steel-200); font-size: 15px; }

.blog-section { padding-top: 48px; padding-bottom: 64px; }

/* Article card variant of cat-card */
.article-card-img {
  position: relative;
  overflow: hidden;
}
.article-card-img::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.35) 0%, transparent 60%);
}
.article-card-emoji {
  font-size: 56px;
  z-index: 1;
}
.article-card-cat-badge {
  position: absolute;
  bottom: 12px;
  left: 12px;
  z-index: 2;
  background: var(--accent);
  color: var(--white);
  font-family: 'Sora', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 20px;
}

/* Blog pagination */
.blog-pagination {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 48px;
  flex-wrap: wrap;
}
.blog-pagination .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border-radius: var(--radius-md);
  font-family: 'Sora', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-mid);
  background: var(--white);
  border: 1.5px solid var(--border);
  text-decoration: none;
  transition: background .15s, color .15s, border-color .15s;
}
.blog-pagination .page-numbers:hover,
.blog-pagination .page-numbers.current {
  background: var(--accent);
  color: var(--white);
  border-color: var(--accent);
}

/* ═══════════════════════════════════════════════════════════
   SINGLE ARTICLE PAGE
═══════════════════════════════════════════════════════════ */
.article-wrap {
  max-width: 780px;
  margin: 0 auto;
  padding: 48px 40px 64px;
}
.article-header { margin-bottom: 32px; }
.article-cats { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.article-cat-pill {
  background: var(--accent);
  color: var(--white);
  font-family: 'Sora', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 20px;
  text-decoration: none;
  transition: background .15s;
}
.article-cat-pill:hover { background: var(--accent-dk); }
.article-title {
  font-family: 'Sora', sans-serif;
  font-size: 32px;
  font-weight: 800;
  color: var(--text-dark);
  line-height: 1.2;
  letter-spacing: -.025em;
  margin-bottom: 16px;
}
.article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 13px;
  color: var(--text-soft);
}
.article-meta-item { display: flex; align-items: center; gap: 5px; }

/* Featured image */
.article-featured-img {
  width: 100%;
  border-radius: var(--radius-xl);
  overflow: hidden;
  margin-bottom: 40px;
  box-shadow: var(--shadow-md);
  aspect-ratio: 16 / 7;
}
.article-featured-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Article body content */
.article-content {
  font-size: 15.5px;
  color: var(--text-mid);
  line-height: 1.8;
  margin-bottom: 40px;
}
.article-content h2 {
  font-family: 'Sora', sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: var(--text-dark);
  margin: 32px 0 12px;
}
.article-content h3 {
  font-family: 'Sora', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: var(--text-dark);
  margin: 24px 0 10px;
}
.article-content p { margin-bottom: 18px; }
.article-content ul, .article-content ol { padding-left: 24px; margin-bottom: 18px; }
.article-content li { margin-bottom: 6px; }
.article-content a { color: var(--accent); text-decoration: underline; }
.article-content a:hover { color: var(--accent-dk); }
.article-content img {
  max-width: 100%;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  margin: 8px 0;
}
.article-content blockquote {
  border-left: 4px solid var(--accent);
  padding: 12px 20px;
  margin: 24px 0;
  background: var(--green-50);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  color: var(--text-dark);
  font-style: italic;
}
.article-content table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 18px;
  font-size: 14px;
}
.article-content table th,
.article-content table td {
  padding: 10px 14px;
  border: 1px solid var(--border);
  text-align: left;
}
.article-content table th { background: var(--steel-50); font-weight: 700; }
.article-content pre, .article-content code {
  background: var(--steel-50);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  font-size: 13px;
  padding: 2px 6px;
}
.article-content pre { padding: 16px; overflow-x: auto; }

/* Tags row */
.article-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 20px 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  margin-bottom: 32px;
}

/* Author box */
.article-author-box {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  background: var(--steel-50);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 22px 24px;
  margin-bottom: 32px;
}
.article-author-avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  flex-shrink: 0;
  border: 2px solid var(--border);
}
.article-author-name {
  font-family: 'Sora', sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 4px;
}
.article-author-bio { font-size: 13px; color: var(--text-soft); line-height: 1.6; }

/* Prev/Next nav */
.article-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 40px;
}
.article-nav-item {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 16px 20px;
  background: var(--white);
  border: 1.5px solid var(--border);
  border-radius: var(--radius-lg);
  text-decoration: none;
  transition: border-color .15s, box-shadow .15s, transform .15s;
}
.article-nav-item:hover {
  border-color: var(--accent);
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}
.article-nav-next { text-align: right; }
.article-nav-dir { font-size: 11px; font-weight: 700; color: var(--accent); text-transform: uppercase; letter-spacing: .06em; }
.article-nav-title {
  font-family: 'Sora', sans-serif;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text-dark);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Comments */
/* ── Article comments — full theme styling ── */
.article-comments {
  margin-top: 40px;
  padding-top: 32px;
  border-top: 2px solid var(--border);
}

/* Comments heading */
.article-comments #comments {}
.article-comments .comments-title,
.article-comments #reply-title {
  font-family: 'Sora', sans-serif;
  font-size: 20px;
  font-weight: 800;
  color: var(--text-dark);
  margin-bottom: 24px;
  letter-spacing: -.02em;
}
.article-comments #reply-title { font-size: 18px; margin-top: 36px; }

/* Comment list */
.article-comments .comment-list {
  list-style: none;
  padding: 0;
  margin: 0 0 36px;
}
.article-comments .comment-list .comment {
  display: flex;
  gap: 16px;
  padding: 20px 0;
  border-bottom: 1px solid var(--border);
}
.article-comments .comment-list .comment:last-child { border-bottom: none; }
.article-comments .comment-list .comment-body { flex: 1; min-width: 0; }
.article-comments .comment-list .comment-author .avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 2px solid var(--border);
  flex-shrink: 0;
}
.article-comments .comment-list .comment-author .fn {
  font-family: 'Sora', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: var(--text-dark);
  font-style: normal;
}
.article-comments .comment-list .comment-metadata {
  font-size: 12px;
  color: var(--text-soft);
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.article-comments .comment-list .comment-metadata a { color: var(--text-soft); text-decoration: none; }
.article-comments .comment-list .comment-content p {
  font-size: 14px;
  color: var(--text-mid);
  line-height: 1.7;
  margin-bottom: 8px;
}
.article-comments .comment-list .reply a {
  font-family: 'Sora', sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: var(--accent);
  text-decoration: none;
  border: 1px solid var(--green-200);
  padding: 3px 10px;
  border-radius: 20px;
  transition: background .15s, color .15s;
}
.article-comments .comment-list .reply a:hover {
  background: var(--accent);
  color: var(--white);
  border-color: var(--accent);
}
/* Awaiting moderation notice */
.article-comments .comment-awaiting-moderation {
  font-size: 12px;
  color: var(--text-soft);
  background: var(--steel-50);
  border-radius: var(--radius-sm);
  padding: 3px 10px;
  display: inline-block;
  margin-bottom: 6px;
}

/* Comment form */
.article-comments .comment-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.article-comments .comment-form p { margin: 0; }
.article-comments .comment-form label {
  display: block;
  font-family: 'Sora', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 6px;
  line-height: 1.4;
}
.article-comments .comment-form input[type=text],
.article-comments .comment-form input[type=email],
.article-comments .comment-form input[type=url],
.article-comments .comment-form textarea {
  width: 100%;
  padding: 11px 15px;
  border: 1.5px solid var(--border);
  border-radius: var(--radius-md);
  font-size: 14px;
  font-family: 'DM Sans', sans-serif;
  color: var(--text-dark);
  background: var(--white);
  outline: none;
  transition: border-color .15s, box-shadow .15s;
  box-sizing: border-box;
}
.article-comments .comment-form input:focus,
.article-comments .comment-form textarea:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(140,180,48,.15);
}
.article-comments .comment-form textarea {
  height: 130px;
  resize: vertical;
  min-height: 100px;
}
.article-comments .form-allowed-tags { display: none; }
.article-comments .comment-notes {
  font-size: 13px;
  color: var(--text-soft);
  line-height: 1.5;
  margin: 0 !important;
}
.article-comments .comment-notes .required-field-message { color: var(--text-soft); }
.article-comments .required { color: var(--accent); }

/* Name / Email / URL fields on one row on wider screens */
.article-comments .comment-form-author,
.article-comments .comment-form-email,
.article-comments .comment-form-url {
  flex: 1;
}
.article-comments #comment-form-fields-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

/* Submit button — theme style */
.article-comments .form-submit { margin: 0; }
.article-comments .form-submit .submit,
.article-comments input#submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--green-500);
  color: var(--white);
  border: none;
  border-radius: var(--radius-md);
  padding: 13px 28px;
  font-family: 'Sora', sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .02em;
  cursor: pointer;
  text-decoration: none;
  transition: background .18s, box-shadow .18s, transform .15s;
  box-shadow: var(--shadow-sm);
  width: auto;
  -webkit-appearance: none;
  appearance: none;
}
.article-comments .form-submit .submit:hover,
.article-comments input#submit:hover {
  background: var(--accent-dk);
  box-shadow: var(--shadow-md);
  transform: translateY(-1px);
}
.article-comments .form-submit .submit:active,
.article-comments input#submit:active {
  transform: translateY(0);
  box-shadow: var(--shadow-sm);
}

/* Logged-in-as notice */
.article-comments .logged-in-as {
  font-size: 13px;
  color: var(--text-soft);
  margin: 0 !important;
  line-height: 1.5;
}
.article-comments .logged-in-as a { color: var(--accent); text-decoration: none; }

/* No comments text */
.article-comments .no-comments {
  font-size: 14px;
  color: var(--text-soft);
  padding: 20px 0;
  text-align: center;
}

/* Respond / cancel reply */
.article-comments #cancel-comment-reply-link {
  font-size: 13px;
  color: var(--text-soft);
  text-decoration: none;
  margin-left: 12px;
  font-weight: 400;
}
.article-comments #cancel-comment-reply-link:hover { color: var(--accent); }

/* Nested comment children */
.article-comments .comment-list .children {
  list-style: none;
  padding-left: 64px;
  margin: 0;
}

@media (max-width: 640px) {
  .article-comments .comment-list .comment { gap: 12px; }
  .article-comments .comment-list .comment-author .avatar { width: 38px; height: 38px; }
  .article-comments .children { padding-left: 28px !important; }
  .article-comments #comment-form-fields-wrapper { grid-template-columns: 1fr; }
}

/* Related articles section */
.article-related-section { padding: 0 40px 64px; }

/* ── Responsive ── */
@media (max-width: 900px) {
  .article-wrap { padding: 32px 24px 48px; }
  .article-related-section { padding: 0 24px 48px; }
  .blog-hero { padding: 40px 24px; }
  .article-title { font-size: 26px; }
}
@media (max-width: 640px) {
  .article-wrap { padding: 20px 16px 36px; }
  .article-related-section { padding: 0 16px 36px; }
  .blog-hero { padding: 32px 16px; }
  .article-title { font-size: 22px; }
  .article-nav { grid-template-columns: 1fr; }
  .article-author-box { flex-direction: column; }
  .article-featured-img { aspect-ratio: 16 / 9; }
  .blog-section { padding-top: 32px; padding-bottom: 40px; }
}

/* ── Cart sidebar responsive ── */
@media (max-width: 480px) {
  .cart-sidebar { width: 100vw; }
  .cart-sidebar-header { padding: 16px 18px; }
  .cart-sidebar-footer { padding: 16px 18px; }
  .cart-sidebar-item { padding: 14px 18px; }
  .cart-item-img { width: 60px; height: 60px; }
}

/* ═══════════════════════════════════════════════════════════
   CONTACT PAGE
═══════════════════════════════════════════════════════════ */

/* Hero */
.contact-hero {
  background: linear-gradient(135deg, var(--steel-900) 0%, var(--steel-700) 50%, var(--green-700) 100%);
  padding: 56px 40px;
  text-align: center;
}
.contact-hero-inner .section-title { color: var(--white); margin-bottom: 8px; }
.contact-hero-inner .section-title span { color: var(--green-300); }
.contact-hero-inner .section-subtitle { color: var(--steel-200); font-size: 15px; }

/* Map */
.contact-map-wrap {
  width: 100%;
  height: 420px;
  overflow: hidden;
  background: var(--steel-100);
  position: relative;
}
.contact-map-iframe {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}

/* Main content wrapper */
.contact-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 56px 40px 72px;
}
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 48px;
  align-items: start;
}

/* ── Company info card ── */
.contact-info-card,
.contact-form-card {
  background: var(--white);
  border: 1.5px solid var(--border);
  border-radius: var(--radius-xl);
  padding: 36px 36px;
  box-shadow: var(--shadow-card);
}
.contact-info-title {
  font-family: 'Sora', sans-serif;
  font-size: 22px;
  font-weight: 800;
  color: var(--text-dark);
  margin-bottom: 6px;
  letter-spacing: -.02em;
}
.contact-info-subtitle {
  font-size: 14px;
  color: var(--text-soft);
  line-height: 1.6;
  margin-bottom: 28px;
}

/* Detail blocks */
.contact-detail-block {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 16px 0;
  border-bottom: 1px solid var(--border);
}
.contact-detail-block:last-of-type { border-bottom: none; }
.contact-detail-icon {
  font-size: 22px;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  background: var(--green-50);
  border: 1px solid var(--green-200);
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
}
.contact-detail-label {
  font-family: 'Sora', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: var(--text-soft);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 3px;
}
.contact-detail-value {
  font-family: 'Sora', sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: var(--text-dark);
}
.contact-detail-sub {
  font-size: 13px;
  color: var(--text-soft);
  margin-top: 2px;
  line-height: 1.5;
}
.contact-detail-link {
  text-decoration: none;
  transition: color .15s;
}
.contact-detail-link:hover { color: var(--accent); }

/* Social row */
.contact-social-row {
  display: flex;
  align-items: center;
  gap: 5px;
  padding-top: 20px;
  flex-wrap: wrap;
}
.contact-social-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 16px;
  border-radius: var(--radius-md);
  font-family: 'Sora', sans-serif;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  border: 1.5px solid var(--border);
  color: var(--text-mid);
  transition: background .15s, border-color .15s, color .15s, transform .15s;
  background: var(--white);
}
.contact-social-btn:hover {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--white);
  transform: translateY(-2px);
}

/* ── Contact form ── */
.contact-form { display: flex; flex-direction: column; gap: 18px; }
.cf-row { display: grid; gap: 16px; }
.cf-row-2 { grid-template-columns: 1fr 1fr; }
.cf-field { display: flex; flex-direction: column; gap: 6px; }
.cf-field label {
  font-family: 'Sora', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: var(--text-dark);
}
.cf-required { color: var(--accent); font-weight: 700; }
.cf-optional { font-size: 11px; color: var(--text-soft); font-weight: 400; }
.cf-field input[type=text],
.cf-field input[type=email],
.cf-field input[type=tel],
.cf-field select,
.cf-field textarea {
  width: 100%;
  padding: 12px 16px;
  border: 1.5px solid var(--border);
  border-radius: var(--radius-md);
  font-size: 14px;
  font-family: 'DM Sans', sans-serif;
  color: var(--text-dark);
  background: var(--white);
  outline: none;
  transition: border-color .15s, box-shadow .15s;
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
}
.cf-field select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23697887' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 40px;
  cursor: pointer;
}
.cf-field input:focus,
.cf-field select:focus,
.cf-field textarea:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(140,180,48,.15);
}
.cf-field input.cf-invalid,
.cf-field select.cf-invalid,
.cf-field textarea.cf-invalid {
  border-color: #dc2626;
}
.cf-field textarea { resize: vertical; min-height: 140px; }
.cf-field-error { font-size: 12px; color: #dc2626; min-height: 16px; }

/* Consent checkbox */
.cf-consent-field { margin-top: 4px; }
.cf-checkbox-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  font-size: 13px;
  color: var(--text-mid);
  line-height: 1.5;
}
.cf-checkbox-label input[type=checkbox] {
  width: 18px;
  height: 18px;
  border: 1.5px solid var(--border);
  border-radius: 4px;
  cursor: pointer;
  flex-shrink: 0;
  margin-top: 2px;
  accent-color: var(--accent);
}
.cf-checkbox-label a { color: var(--accent); }

/* Submit button */
.cf-submit {
  align-self: flex-start;
  padding: 14px 32px;
  font-size: 15px;
  min-width: 200px;
  justify-content: center;
}

/* Messages */
.cf-message {
  border-radius: var(--radius-md);
  padding: 14px 18px;
  font-size: 14px;
  font-weight: 500;
  font-family: 'Sora', sans-serif;
  margin-bottom: 4px;
}
.cf-success {
  background: var(--green-100);
  border: 1.5px solid var(--green-300);
  color: var(--green-900);
}
.cf-error {
  background: #fee2e2;
  border: 1.5px solid #fca5a5;
  color: #991b1b;
}

/* ── Responsive ── */
@media (max-width: 960px) {
  .contact-grid { grid-template-columns: 1fr; gap: 32px; }
  .contact-wrap { padding: 40px 24px 56px; }
  .contact-info-card, .contact-form-card { padding: 28px 24px; }
  .contact-map-wrap { height: 320px; }
  .contact-hero { padding: 40px 24px; }
}
@media (max-width: 640px) {
  .contact-wrap { padding: 28px 16px 40px; }
  .contact-info-card, .contact-form-card { padding: 22px 18px; }
  .contact-map-wrap { height: 240px; }
  .contact-hero { padding: 32px 16px; }
  .cf-row-2 { grid-template-columns: 1fr; }
  .cf-submit { width: 100%; align-self: stretch; }
  .contact-info-title { font-size: 19px; }
}

/* ═══════════════════════════════════════════════════════════
   WooCommerce PAGES — SHARED BASE
═══════════════════════════════════════════════════════════ */
.wc-page-wrap { max-width: 1200px; margin: 0 auto; padding: 0 40px 64px; }
.wc-page-header { padding: 36px 0 24px; }
.wc-page-title { font-family:'Sora',sans-serif; font-size:28px; font-weight:800; color:var(--text-dark); letter-spacing:-.025em; }
.wc-empty-state { text-align:center; padding:80px 20px; }
.wc-empty-icon  { font-size:64px; margin-bottom:16px; }
.wc-empty-state h2 { font-family:'Sora',sans-serif; font-size:22px; font-weight:700; color:var(--text-dark); margin-bottom:8px; }
.wc-empty-state p  { color:var(--text-soft); margin-bottom:24px; }

/* WooCommerce notices */
.woocommerce-message, .woocommerce-error, .woocommerce-info {
  border-radius:var(--radius-md); padding:14px 18px; margin-bottom:20px;
  font-size:14px; font-weight:500; font-family:'Sora',sans-serif; list-style:none;
}
.woocommerce-message { background:var(--green-100); border:1.5px solid var(--green-300); color:var(--green-900); }
.woocommerce-error   { background:#fee2e2; border:1.5px solid #fca5a5; color:#991b1b; }
.woocommerce-info    { background:var(--steel-100); border:1.5px solid var(--steel-200); color:var(--steel-700); }

/* ═══════════════════════════════════════════════════════════
   CART PAGE
═══════════════════════════════════════════════════════════ */
.cart-page-layout { display:grid; grid-template-columns:1fr 360px; gap:40px; align-items:start; }

/* Table head row */
.cart-table-head {
  display:grid; grid-template-columns:1fr 100px 140px 120px 40px;
  gap:12px; padding:10px 16px;
  background:var(--steel-50); border-radius:var(--radius-md);
  font-family:'Sora',sans-serif; font-size:12px; font-weight:700;
  color:var(--text-soft); text-transform:uppercase; letter-spacing:.08em;
  margin-bottom:8px;
}
.cart-table-row {
  display:grid; grid-template-columns:1fr 100px 140px 120px 40px;
  gap:12px; padding:16px;
  background:var(--white); border:1.5px solid var(--border);
  border-radius:var(--radius-lg); margin-bottom:8px;
  align-items:center; transition:box-shadow .15s;
}
.cart-table-row:hover { box-shadow:var(--shadow-card); }
.ct-col-product { display:flex; gap:14px; align-items:center; }
.ct-product-img-link { flex-shrink:0; }
.ct-product-img {
  width:70px; height:70px; object-fit:contain;
  border-radius:var(--radius-md); background:var(--steel-50);
  border:1px solid var(--border); mix-blend-mode:multiply;
}
.ct-product-info { flex:1; min-width:0; }
.ct-product-name {
  font-family:'Sora',sans-serif; font-size:14px; font-weight:600;
  color:var(--text-dark); text-decoration:none; line-height:1.4;
  display:block; margin-bottom:4px;
  transition:color .15s;
}
.ct-product-name:hover { color:var(--accent); }
.ct-variation, .ct-sku {
  font-size:11px; color:var(--text-soft);
  background:var(--steel-100); border-radius:4px; padding:2px 8px;
  display:inline-block; margin-top:3px;
}

/* Qty control */
.ct-qty-wrap { display:flex; align-items:center; border:1.5px solid var(--border); border-radius:var(--radius-md); overflow:hidden; width:fit-content; }
.ct-qty-btn {
  width:34px; height:40px; background:var(--steel-50); border:none;
  font-size:16px; color:var(--text-mid); cursor:pointer;
  transition:background .15s;
}
.ct-qty-btn:hover { background:var(--steel-100); }
.ct-qty-input {
  width:48px; height:40px; border:none; text-align:center;
  font-family:'Sora',sans-serif; font-size:14px; font-weight:700;
  color:var(--text-dark); background:var(--white); outline:none;
}
.ct-remove-btn {
  display:flex; align-items:center; justify-content:center;
  width:30px; height:30px; background:none; border:1.5px solid var(--border);
  border-radius:50%; color:var(--text-soft); text-decoration:none;
  font-weight:700; font-size:13px;
  transition:background .15s, color .15s, border-color .15s;
}
.ct-remove-btn:hover { background:#fee2e2; color:#dc2626; border-color:#fca5a5; }

/* Cart actions bar */
.cart-actions {
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:12px; padding:16px 0 0;
}
.cart-coupon-wrap { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.cart-coupon-input {
  padding:9px 14px; border:1.5px solid var(--border);
  border-radius:var(--radius-md); font-size:14px; outline:none;
  transition:border-color .15s; width:180px;
}
.cart-coupon-input:focus { border-color:var(--accent); }

/* Totals card */
.cart-totals-card {
  background:var(--white); border:1.5px solid var(--border);
  border-radius:var(--radius-xl); padding:28px 28px;
  box-shadow:var(--shadow-card); position:sticky; top:90px;
}
.cart-totals-title { font-family:'Sora',sans-serif; font-size:18px; font-weight:800; color:var(--text-dark); margin-bottom:20px; }
.cart-totals-row {
  display:flex; justify-content:space-between; align-items:baseline;
  padding:10px 0; border-bottom:1px solid var(--border);
  font-size:14px; color:var(--text-mid); gap:12px;
}
.cart-totals-row:last-of-type { border-bottom:none; }
.cart-totals-total { font-family:'Sora',sans-serif; font-weight:700; color:var(--text-dark); font-size:15px; }
.cart-total-big { font-family:'Sora',sans-serif; font-size:22px; font-weight:800; color:var(--steel-700); }
.cart-totals-discount { color:var(--green-700); }
.cart-remove-coupon { color:var(--text-soft); text-decoration:none; margin-left:6px; font-size:12px; }
.cart-checkout-btn { width:100%; justify-content:center; margin-top:16px; padding:14px; font-size:15px; }
.cart-continue-btn { width:100%; justify-content:center; margin-top:8px; padding:11px; font-size:13px; }

/* Responsive cart */
@media (max-width:960px) { .cart-page-layout { grid-template-columns:1fr; } .cart-totals-card { position:static; } }
@media (max-width:768px) {
  .wc-page-wrap { padding:0 20px 48px; }
  .cart-table-head { display:none; }
  .cart-table-row { grid-template-columns:1fr; gap:10px; }
  .ct-col-price::before  { content:attr(data-label)': '; font-weight:600; color:var(--text-soft); }
  .ct-col-qty::before    { content:attr(data-label)': '; font-weight:600; color:var(--text-soft); }
  .ct-col-subtotal::before{ content:attr(data-label)': '; font-weight:600; color:var(--text-soft); }
  .ct-col-remove { justify-self:flex-end; }
}
@media (max-width:480px) { .wc-page-wrap { padding:0 14px 36px; } }

/* ═══════════════════════════════════════════════════════════
   CHECKOUT PAGE
═══════════════════════════════════════════════════════════ */
.checkout-layout { display:grid; grid-template-columns:1.1fr 1fr; gap:40px; align-items:start; }
.checkout-section-card {
  background:var(--white); border:1.5px solid var(--border);
  border-radius:var(--radius-xl); padding:28px 32px;
  box-shadow:var(--shadow-card); margin-bottom:24px;
}
.checkout-section-title {
  font-family:'Sora',sans-serif; font-size:17px; font-weight:800;
  color:var(--text-dark); margin-bottom:22px; letter-spacing:-.01em;
}
.checkout-fields-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.checkout-field-wrap.form-row-wide { grid-column:1/-1; }
.checkout-field-wrap.form-row-first { grid-column:1/2; }
.checkout-field-wrap.form-row-last  { grid-column:2/3; }

/* WC generated field styling */
.checkout-fields-grid .form-row label,
.woocommerce-checkout .form-row label {
  display:block; font-family:'Sora',sans-serif; font-size:13px; font-weight:700;
  color:var(--text-dark); margin-bottom:6px;
}
.checkout-fields-grid .form-row .input-text,
.checkout-fields-grid .form-row select,
.woocommerce-checkout .input-text,
.woocommerce-checkout select {
  width:100%; padding:11px 15px; border:1.5px solid var(--border) !important;
  border-radius:var(--radius-md); font-size:14px !important; color:var(--text-dark);
  background:var(--white); outline:none; transition:border-color .15s, box-shadow .15s;
  box-sizing:border-box; -webkit-appearance:none; appearance:none;
}
.woocommerce-checkout .input-text:focus,
.woocommerce-checkout select:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(140,180,48,.15); }
.woocommerce-checkout .form-row.woocommerce-invalid .input-text,
.woocommerce-checkout .form-row.woocommerce-invalid select { border-color:#dc2626; }
.woocommerce-checkout select {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23697887' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 12px center; padding-right:36px;
}
.required { color:var(--accent); }

/* Create account */
.checkout-create-account-wrap {
  background:var(--steel-50); border:1.5px solid var(--border);
  border-radius:var(--radius-md); padding:16px 18px;
}
.checkout-account-password { margin-top:14px; }
.checkout-account-password label { font-family:'Sora',sans-serif; font-size:13px; font-weight:700; color:var(--text-dark); margin-bottom:6px; display:block; }
.checkout-password-wrap { display:flex; border:1.5px solid var(--border); border-radius:var(--radius-md); overflow:hidden; }
.checkout-password-wrap input { flex:1; border:none; padding:11px 15px; font-size:14px; outline:none; background:var(--white); }
.checkout-toggle-pw { background:var(--steel-50); border:none; padding:0 14px; cursor:pointer; font-size:16px; border-left:1px solid var(--border); }
.checkout-ship-diff { display:flex; align-items:center; gap:10px; margin-bottom:0; }

/* Checkbox labels */
.checkout-checkbox-label, .checkout-ship-diff {
  display:flex; align-items:flex-start; gap:10px; cursor:pointer;
  font-size:13px; color:var(--text-mid); line-height:1.5;
}
.checkout-checkbox-label input[type=checkbox],
.checkout-ship-diff input[type=checkbox] {
  width:18px; height:18px; border:1.5px solid var(--border); border-radius:4px;
  cursor:pointer; flex-shrink:0; margin-top:2px; accent-color:var(--accent);
}
.checkout-consent { margin-bottom:16px; }
.checkout-consent a { color:var(--accent); }

/* Payment methods */
.wc_payment_methods { list-style:none; padding:0; margin:0 0 16px; display:flex; flex-direction:column; gap:10px; }
.wc_payment_method { background:var(--steel-50); border:1.5px solid var(--border); border-radius:var(--radius-md); overflow:hidden; }
.checkout-payment-label {
  display:flex; align-items:center; gap:12px; padding:14px 18px;
  cursor:pointer; transition:background .15s;
}
.checkout-payment-label:hover { background:var(--steel-100); }
.checkout-payment-label input[type=radio] { accent-color:var(--accent); width:18px; height:18px; flex-shrink:0; }
.checkout-payment-title { font-family:'Sora',sans-serif; font-size:14px; font-weight:600; color:var(--text-dark); }
.checkout-payment-icon { margin-left:auto; }
.checkout-payment-icon img { height:28px; width:auto; }
.payment_box { padding:12px 18px; background:var(--white); border-top:1px solid var(--border); font-size:13px; color:var(--text-mid); }

/* Order review in checkout */
.woocommerce-checkout-review-order table { width:100%; border-collapse:collapse; font-size:14px; }
.woocommerce-checkout-review-order th,
.woocommerce-checkout-review-order td { padding:10px 0; border-bottom:1px solid var(--border); }
.woocommerce-checkout-review-order tfoot tr:last-child td,
.woocommerce-checkout-review-order tfoot tr:last-child th { font-family:'Sora',sans-serif; font-size:16px; font-weight:800; color:var(--steel-700); }
.woocommerce-checkout-review-order .product-name { font-weight:600; color:var(--text-dark); }
.woocommerce-checkout-review-order .product-total { text-align:right; font-weight:600; }
.checkout-order-review-card { position:sticky; top:90px; }
.checkout-submit-btn { width:100%; justify-content:center; padding:15px; font-size:16px; }

@media (max-width:960px) { .checkout-layout { grid-template-columns:1fr; } .checkout-order-review-card { position:static; } }
@media (max-width:640px) {
  .checkout-section-card { padding:20px 18px; }
  .checkout-fields-grid { grid-template-columns:1fr; }
  .checkout-field-wrap.form-row-first,
  .checkout-field-wrap.form-row-last { grid-column:1/-1; }
}

/* ═══════════════════════════════════════════════════════════
   ORDER RECEIVED / THANK YOU
═══════════════════════════════════════════════════════════ */
.order-received-wrap { max-width:860px; margin:0 auto; padding:48px 0 64px; }
.order-received-hero { text-align:center; padding:0 20px 40px; }
.order-received-icon { font-size:72px; margin-bottom:16px; }
.order-received-title { font-family:'Sora',sans-serif; font-size:30px; font-weight:800; color:var(--text-dark); margin-bottom:10px; }
.order-received-subtitle { font-size:15px; color:var(--text-soft); }
.order-details-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:32px; }
.order-detail-box { background:var(--white); border:1.5px solid var(--border); border-radius:var(--radius-lg); padding:18px 20px; }
.order-detail-label { font-size:11px; font-weight:700; color:var(--text-soft); text-transform:uppercase; letter-spacing:.08em; margin-bottom:6px; }
.order-detail-value { font-family:'Sora',sans-serif; font-size:15px; font-weight:700; color:var(--text-dark); }
.order-detail-total { color:var(--green-700); font-size:18px; }
.order-items-card { background:var(--white); border:1.5px solid var(--border); border-radius:var(--radius-xl); padding:28px 28px; margin-bottom:24px; }
.order-item-row { display:flex; gap:16px; align-items:center; padding:12px 0; border-bottom:1px solid var(--border); }
.order-item-row:last-of-type { border-bottom:none; }
.order-item-img { width:60px; height:60px; object-fit:contain; border-radius:var(--radius-md); background:var(--steel-50); border:1px solid var(--border); flex-shrink:0; mix-blend-mode:multiply; }
.order-item-info { flex:1; min-width:0; }
.order-item-name { font-family:'Sora',sans-serif; font-size:14px; font-weight:600; color:var(--text-dark); }
.order-item-qty { font-weight:400; color:var(--text-soft); }
.order-item-total { font-family:'Sora',sans-serif; font-size:14px; font-weight:700; color:var(--steel-700); flex-shrink:0; }
.order-totals-block { margin-top:16px; padding-top:16px; border-top:2px solid var(--border); }
.order-total-row { display:flex; justify-content:space-between; padding:6px 0; font-size:14px; color:var(--text-mid); }
.order-total-final { font-family:'Sora',sans-serif; font-size:16px; font-weight:800; color:var(--steel-700); padding-top:12px; margin-top:4px; border-top:1px solid var(--border); }
.order-addresses-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:32px; }
.order-address-card { background:var(--white); border:1.5px solid var(--border); border-radius:var(--radius-lg); padding:22px 24px; }
.order-address-card h3 { font-family:'Sora',sans-serif; font-size:15px; font-weight:700; color:var(--text-dark); margin-bottom:10px; }
.order-address-card address { font-style:normal; font-size:14px; color:var(--text-mid); line-height:1.7; }
.order-received-actions { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; padding-top:8px; }
@media (max-width:640px) { .order-details-grid{grid-template-columns:1fr 1fr;} .order-addresses-grid{grid-template-columns:1fr;} }
@media (max-width:400px) { .order-details-grid{grid-template-columns:1fr;} }

/* ═══════════════════════════════════════════════════════════
   MY ACCOUNT
═══════════════════════════════════════════════════════════ */
.myaccount-layout { display:grid; grid-template-columns:260px 1fr; gap:32px; align-items:start; padding-top:36px; }
.myaccount-nav-card { background:var(--white); border:1.5px solid var(--border); border-radius:var(--radius-xl); overflow:hidden; box-shadow:var(--shadow-card); position:sticky; top:90px; }
.myaccount-user-info { display:flex; gap:14px; align-items:center; padding:20px 20px 16px; border-bottom:1px solid var(--border); background:var(--steel-50); }
.myaccount-avatar { width:48px; height:48px; border-radius:50%; border:2px solid var(--border); flex-shrink:0; }
.myaccount-user-name { font-family:'Sora',sans-serif; font-size:14px; font-weight:700; color:var(--text-dark); }
.myaccount-user-email { font-size:12px; color:var(--text-soft); margin-top:2px; }
.myaccount-nav { display:flex; flex-direction:column; }
.myaccount-nav-link {
  display:flex; align-items:center; gap:12px;
  padding:13px 20px; font-family:'Sora',sans-serif;
  font-size:14px; font-weight:500; color:var(--text-mid);
  text-decoration:none; border-bottom:1px solid var(--border);
  transition:background .15s, color .15s;
}
.myaccount-nav-link:last-child { border-bottom:none; }
.myaccount-nav-link:hover { background:var(--steel-50); color:var(--text-dark); }
.myaccount-nav-link.active { background:var(--green-50); color:var(--accent-dk); font-weight:700; border-left:3px solid var(--accent); }
.myaccount-nav-icon { font-size:16px; }
.myaccount-content-card { background:var(--white); border:1.5px solid var(--border); border-radius:var(--radius-xl); padding:32px 36px; box-shadow:var(--shadow-card); }

/* WC account content tables */
.myaccount-content-card table.woocommerce-orders-table,
.myaccount-content-card table.shop_table {
  width:100%; border-collapse:collapse; font-size:14px;
}
.myaccount-content-card table th {
  font-family:'Sora',sans-serif; font-size:12px; font-weight:700;
  color:var(--text-soft); text-transform:uppercase; letter-spacing:.07em;
  padding:10px 14px; border-bottom:2px solid var(--border); text-align:left;
}
.myaccount-content-card table td { padding:12px 14px; border-bottom:1px solid var(--border); color:var(--text-mid); vertical-align:middle; }
.myaccount-content-card table tr:hover td { background:var(--steel-50); }
.myaccount-content-card .button,
.myaccount-content-card input[type=submit],
.myaccount-content-card button[type=submit] {
  display:inline-flex; align-items:center; gap:8px;
  background:var(--green-500); color:var(--white); border:none;
  border-radius:var(--radius-md); padding:9px 20px;
  font-family:'Sora',sans-serif; font-size:13px; font-weight:700;
  cursor:pointer; text-decoration:none;
  transition:background .18s, box-shadow .18s, transform .15s;
  box-shadow:var(--shadow-sm);
}
.myaccount-content-card .button:hover,
.myaccount-content-card input[type=submit]:hover { background:var(--accent-dk); }
.myaccount-content-card .woocommerce-MyAccount-content p { font-size:14px; color:var(--text-mid); line-height:1.7; }
.myaccount-content-card .woocommerce-MyAccount-content h2 { font-family:'Sora',sans-serif; font-size:20px; font-weight:700; color:var(--text-dark); margin:0 0 16px; }
.myaccount-content-card .form-row label { display:block; font-family:'Sora',sans-serif; font-size:13px; font-weight:700; color:var(--text-dark); margin-bottom:5px; }
.myaccount-content-card .form-row .input-text,
.myaccount-content-card .form-row select { width:100%; padding:10px 14px; border:1.5px solid var(--border); border-radius:var(--radius-md); font-size:14px; outline:none; transition:border-color .15s; box-sizing:border-box; }
.myaccount-content-card .form-row .input-text:focus { border-color:var(--accent); }
.myaccount-content-card .woocommerce-address-fields { /*display:grid; grid-template-columns:1fr 1fr; gap:14px;*/ }
.woocommerce-account .addresses .title .edit {
  float: none !important;
}
.woocommerce-account .addresses .title .edit{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--green-500);
  color: var(--white);
  border: none;
  border-radius: var(--radius-md);
  padding: 9px 20px;
  font-family: 'Sora',sans-serif;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  transition: background .18s, box-shadow .18s, transform .15s;
  box-shadow: var(--shadow-sm);
}
.woocommerce-account .addresses .title .edit:hover {
  background-color: #dcd7e2;
  text-decoration: none;
  background-image: none;
  color: #515151;
}
.myaccount-content-card .woocommerce-address-fields .form-row-wide { grid-column:1/-1; }
@media (max-width:900px) { .myaccount-layout{grid-template-columns:1fr;} .myaccount-nav-card{position:static;} }
@media (max-width:640px) { .myaccount-content-card{padding:20px 18px;} .myaccount-content-card .woocommerce-address-fields{grid-template-columns:1fr;} }

/* ═══════════════════════════════════════════════════════════
   AUTH PAGES (Login / Register / Reset Password)
═══════════════════════════════════════════════════════════ */
.auth-layout { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; padding:48px 0 64px; }
.auth-layout-single { grid-template-columns:1fr; max-width:480px; margin:0 auto; }
.auth-card { background:var(--white); border:1.5px solid var(--border); border-radius:var(--radius-xl); padding:36px 36px; box-shadow:var(--shadow-card); }
.auth-title { font-family:'Sora',sans-serif; font-size:22px; font-weight:800; color:var(--text-dark); margin-bottom:24px; letter-spacing:-.02em; }
.auth-info { font-size:14px; color:var(--text-soft); margin-bottom:20px; line-height:1.6; }
.auth-form { display:flex; flex-direction:column; gap:16px; }
.auth-field { display:flex; flex-direction:column; gap:6px; }
.auth-field label { font-family:'Sora',sans-serif; font-size:13px; font-weight:700; color:var(--text-dark); }
.auth-field input[type=text],
.auth-field input[type=email],
.auth-field input[type=password] {
  width:100%; padding:11px 15px; border:1.5px solid var(--border);
  border-radius:var(--radius-md); font-size:14px; color:var(--text-dark);
  background:var(--white); outline:none; box-sizing:border-box;
  transition:border-color .15s, box-shadow .15s;
}
.auth-field input:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(140,180,48,.15); }
.auth-password-wrap { display:flex; border:1.5px solid var(--border); border-radius:var(--radius-md); overflow:hidden; transition:border-color .15s; }
.auth-password-wrap:focus-within { border-color:var(--accent); box-shadow:0 0 0 3px rgba(140,180,48,.15); }
.auth-password-wrap input { flex:1; border:none!important; box-shadow:none!important; border-radius:0!important; }
.auth-show-pw { background:var(--steel-50); border:none; border-left:1px solid var(--border); padding:0 14px; cursor:pointer; font-size:16px; transition:background .15s; }
.auth-show-pw:hover { background:var(--steel-100); }
.auth-row-check { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; }
.auth-checkbox-label { display:flex; align-items:flex-start; gap:9px; cursor:pointer; font-size:13px; color:var(--text-mid); line-height:1.5; }
.auth-checkbox-label input[type=checkbox] { width:18px; height:18px; border:1.5px solid var(--border); border-radius:4px; flex-shrink:0; margin-top:2px; accent-color:var(--accent); }
.auth-checkbox-label a { color:var(--accent); }
.auth-forgot { font-size:13px; color:var(--text-soft); text-decoration:none; transition:color .15s; }
.auth-forgot:hover { color:var(--accent); }
.auth-submit { width:100%; justify-content:center; padding:13px; font-size:15px; }
.auth-back { width:100%; justify-content:center; margin-top:8px; }
.auth-field-consent { margin-top:4px; }
@media (max-width:768px) { .auth-layout{grid-template-columns:1fr; gap:28px; padding:32px 0 48px;} .auth-card{padding:24px 20px;} }

/* ═══════════════════════════════════════════════════════════
   PRICE FILTER (sidebar)
═══════════════════════════════════════════════════════════ */
.price-filter-label { font-size:13px; color:var(--text-dark); margin-bottom:14px; line-height:1.5; }
.price-range-wrap { position:relative; }
.price-range-track { position:relative; height:28px; display:flex; align-items:center; }
.price-range-fill {
  position:absolute; height:4px; background:var(--accent);
  border-radius:2px; pointer-events:none; z-index:1;
}
.price-range-input {
  position:absolute; width:100%; -webkit-appearance:none; appearance:none;
  height:4px; background:transparent; outline:none; pointer-events:none;
}
.price-range-input::-webkit-slider-thumb {
  -webkit-appearance:none; appearance:none;
  width:20px; height:20px; border-radius:50%;
  background:var(--accent); cursor:pointer; pointer-events:all;
  border:2px solid var(--white); box-shadow:0 1px 6px rgba(0,0,0,.2);
  transition:transform .15s;
}
.price-range-input::-webkit-slider-thumb:hover { transform:scale(1.2); }
.price-range-input::-moz-range-thumb {
  width:20px; height:20px; border-radius:50%;
  background:var(--accent); cursor:pointer; pointer-events:all;
  border:2px solid var(--white); box-shadow:0 1px 6px rgba(0,0,0,.2);
}
.price-range-track { background:var(--steel-200); border-radius:2px; height:4px; }
.price-vals { display:flex; justify-content:space-between; font-size:11px; color:var(--text-soft); margin-top:6px; }
.price-filter-apply { width:100%; justify-content:center; margin-top:12px; }
.price-filter-reset { display:block; text-align:center; margin-top:8px; font-size:12px; color:var(--text-soft); text-decoration:none; transition:color .15s; }
.price-filter-reset:hover { color:var(--accent); }

/* ═══════════════════════════════════════════════════════════
   LISTING PAGES (Promotions + Outlet)
═══════════════════════════════════════════════════════════ */

/* Hero variants */
.listing-hero {
  padding: 56px 40px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.listing-hero-promo {
  background: linear-gradient(135deg, var(--steel-900) 0%, #4a3060 50%, #8b1a1a 100%);
}
.listing-hero-outlet {
  background: linear-gradient(135deg, var(--steel-900) 0%, var(--steel-700) 45%, #5a3a10 100%);
}
.listing-hero-inner { position: relative; z-index: 1; }
.listing-hero-tag {
  font-family: 'Sora', sans-serif;
  font-size: 12px; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; color: rgba(255,255,255,.65);
  margin-bottom: 10px;
}
.listing-hero-title {
  font-family: 'Sora', sans-serif;
  font-size: 34px; font-weight: 800; color: var(--white);
  line-height: 1.15; letter-spacing: -.03em; margin-bottom: 10px;
}
.listing-hero-title span { color: #f0c060; }
.listing-hero-outlet .listing-hero-title span { color: var(--green-300); }
.listing-hero-sub { font-size: 15px; color: rgba(255,255,255,.7); margin-bottom: 16px; }
.listing-hero-count {
  display: inline-block;
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 20px; padding: 5px 16px;
  font-family: 'Sora', sans-serif; font-size: 13px;
  font-weight: 600; color: rgba(255,255,255,.9);
}

/* Listing wrap */
.listing-wrap {
  max-width: 1200px; margin: 0 auto; padding: 32px 40px 64px;
}
.listing-grid { grid-template-columns: repeat(4,1fr); }

/* Price styling on listing pages */
.promo-price-block { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.promo-sale-price { font-family: 'Sora',sans-serif; font-size: 16px; font-weight: 800; color: #dc2626; }
.promo-reg-price  { font-size: 13px; color: var(--text-soft); text-decoration: line-through; }

/* Outlet badges */
.badge-outlet {
  background: #92400e;
  color: #fff;
  font-family: 'Sora', sans-serif;
  font-size: 11px; font-weight: 700;
  padding: 4px 10px; border-radius: 20px;
  position: absolute; top: 12px; left: 12px; z-index: 2;
}
.outlet-sales-badge {
  font-size: 11px; color: var(--text-soft);
  background: var(--steel-100); border-radius: 4px;
  padding: 2px 8px; margin-bottom: 6px;
  display: inline-block;
}

/* Empty state */
.listing-empty {
  text-align: center; padding: 80px 20px;
  display: flex; flex-direction: column; align-items: center; gap: 12px;
}
.listing-empty h2 { font-family: 'Sora',sans-serif; font-size: 22px; font-weight: 700; color: var(--text-dark); }
.listing-empty p  { color: var(--text-soft); max-width: 400px; }

/* Responsive */
@media (max-width: 1024px) { .listing-grid { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 768px)  {
  .listing-grid { grid-template-columns: repeat(2,1fr); }
  .listing-hero { padding: 40px 20px; }
  .listing-hero-title { font-size: 26px; }
  .listing-wrap { padding: 24px 16px 48px; }
}
@media (max-width: 480px)  { .listing-grid { grid-template-columns: 1fr; } }

/* ═══════════════════════════════════════════════════════════
   CART SIDEBAR — QTY CONTROLS
═══════════════════════════════════════════════════════════ */
.cart-sidebar-item-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 8px;
  gap: 8px;
  flex-wrap: wrap;
}
.cart-sidebar-qty-wrap {
  display: flex;
  align-items: center;
  border: 1.5px solid var(--border);
  border-radius: var(--radius-md);
  overflow: hidden;
  flex-shrink: 0;
}
.cart-sidebar-qty-btn {
  width: 30px; height: 30px;
  background: var(--steel-50);
  border: none;
  font-size: 16px; font-weight: 600;
  color: var(--text-mid);
  cursor: pointer;
  line-height: 1;
  transition: background .15s;
}
.cart-sidebar-qty-btn:hover { background: var(--steel-100); }
.cart-sidebar-qty-input {
  width: 38px; height: 30px;
  border: none;
  border-left: 1px solid var(--border);
  border-right: 1px solid var(--border);
  text-align: center;
  font-family: 'Sora', sans-serif;
  font-size: 13px; font-weight: 700;
  color: var(--text-dark);
  background: var(--white);
  outline: none;
}
.cart-item-remove {
  background: none;
  cursor: pointer;
}

/* ═══════════════════════════════════════════════════════════
   HEADER — LOGIN / ACCOUNT BUTTON
═══════════════════════════════════════════════════════════ */
.nav-account-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 7px 13px;
  border: 1.5px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--white);
  color: var(--text-mid);
  font-family: 'Sora', sans-serif;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: background .15s, border-color .15s, color .15s;
  white-space: nowrap;
}
.nav-account-btn:hover {
  background: var(--accent);
  border-color: var(--steel-50);
  color: var(--text-dark);
}
.nav-account-icon { font-size: 15px; }
.nav-account-text { max-width: 90px; overflow: hidden; text-overflow: ellipsis; }

@media (max-width: 768px) {
  .nav-account-text { display: none; }
  .nav-account-btn { padding: 7px 9px; }
}

.cart-item-qty-label { font-size: 12px; color: var(--text-soft); }
.cart-item-qty-label strong { color: var(--text-dark); }

/* ═══════════════════════════════════════════════════════════
   MISC FIXES
═══════════════════════════════════════════════════════════ */

/* download_doc — document icon before link text */
a.download_doc,
.download_doc {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--accent-dk);
  text-decoration: none;
  font-weight: 600;
  font-size: 13px;
  transition: color .15s;
}
a.download_doc::before,
.download_doc::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 20px;
  background-color: var(--accent);
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3Cpolyline points='10 9 9 9 8 9'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3Cpolyline points='10 9 9 9 8 9'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
  flex-shrink: 0;
  transition: background-color .15s;
}
a.download_doc:hover { color: var(--accent); }
a.download_doc:hover::before { background-color: var(--accent); }

/* Ribbon social icons */
.ribbon-socials a {
  display: flex;
  align-items: center;
  color: var(--steel-200);
  opacity: .8;
  transition: opacity .15s, color .15s;
}
.ribbon-socials a:hover { opacity: 1; color: var(--white); }

/* Register button — slightly different style */
.nav-register-btn {
  background: var(--green-50) !important;
  border-color: var(--green-200) !important;
  color: var(--green-700) !important;
}
.nav-register-btn:hover {
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  color: var(--white) !important;
}

/* Hide price filter submit button */
.price-filter-apply { display: none !important; }

/* Outlet column in admin */
.column-agrohit_outlet { width: 52px; text-align: center !important; }

/* ─── Outlet price on product page ─── */
.product-outlet-price {
  margin-top: 10px;
  padding: 10px 14px;
  background: #fff8ed;
  border: 1.5px solid #f0c060;
  border-radius: var(--radius-md);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.outlet-price-wrap {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.outlet-price-label {
  font-family: 'Sora', sans-serif;
  font-size: 12px;
  font-weight: 700;
  color: #92400e;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.outlet-regular-price {
  font-size: 14px;
  color: var(--text-soft);
  text-decoration: line-through;
}
.outlet-sale-price {
  font-family: 'Sora', sans-serif;
  font-size: 20px;
  font-weight: 800;
  color: #92400e;
  text-decoration: none;
}

/* Outlet badge on product page */
.product-outlet-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #92400e;
  color: #fff;
  font-family: 'Sora', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 20px;
  margin-bottom: 8px;
}

/* WooCommerce sale flash overridden for outlet products */
span.onsale.badge-outlet {
  background: #92400e !important;
  color: #fff !important;
  border-radius: 20px !important;
  padding: 4px 10px !important;
  font-family: 'Sora', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  min-height: auto !important;
  min-width: auto !important;
  line-height: 1.4 !important;
}


/* ═══════════════════════════════════════════════════════════
   WooCommerce BLOCK CHECKOUT — minimal theme styling
   Only cosmetic overrides, never touch layout/display/grid
═══════════════════════════════════════════════════════════ */

/* Order summary sidebar card */
.wp-block-woocommerce-checkout-order-summary-block {
  background: var(--white);
  border-radius: var(--radius-xl);
  overflow: hidden;
}

/* Order summary heading */
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-title {
  font-family: 'Sora', sans-serif;
  font-size: 16px;
  font-weight: 800;
  color: var(--text-dark);
  letter-spacing: -.01em;
}

/* ── ORDER SUMMARY ROW — restore flex layout so name is horizontal ── */
.wc-block-components-order-summary-item {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 12px !important;
  border-bottom: 1px solid var(--border);
  padding: 12px 0;
}

/* Image cell — fixed width, never shrinks */
.wc-block-components-order-summary-item__image {
  flex: 0 0 56px !important;
  width: 56px !important;
  min-width: 56px !important;
}
.wc-block-components-order-summary-item__image img {
  width: 56px;
  height: 56px;
  object-fit: contain;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--steel-50);
  mix-blend-mode: multiply;
  display: block;
}

/* Description cell — grows to fill available space, MUST have min-width:0 */
.wc-block-components-order-summary-item__description,
.wc-block-components-order-summary-item__info {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px;
}

/* Price cell — fixed, never wraps */
.wc-block-components-order-summary-item__full-price,
.wc-block-components-order-summary-item__individual-prices {
  flex: 0 0 auto !important;
  text-align: right !important;
  font-family: 'Sora', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: var(--steel-700);
  white-space: nowrap;
}

/* Product name — HORIZONTAL, wraps at word boundaries */
.wc-block-components-order-summary-item__name {
  display: block !important;
  width: 100% !important;
  font-family: 'Sora', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-dark);
  line-height: 1.45;
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  hyphens: auto;
}
/* The inner <span> that WC wraps text in */
.wc-block-components-product-name {
  display: inline !important;
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  font-family: 'Sora', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-dark);
  line-height: 1.45;
}

/* Name as link */
.wc-block-components-order-summary-item a.wc-block-components-product-name,
.wc-block-components-order-summary-item a {
  color: var(--text-dark);
  text-decoration: none;
}
.wc-block-components-order-summary-item a:hover { color: var(--accent); }

/* Quantity badge */
.wc-block-components-order-summary-item__quantity {
  font-size: 11px;
  color: var(--text-soft);
  background: var(--steel-100);
  border-radius: 4px;
  padding: 1px 6px;
  display: inline-block;
  width: fit-content;
}

/* Variation text below name */
.wc-block-components-order-summary-item__variation {
  font-size: 11px;
  color: var(--text-soft);
  white-space: normal;
  word-break: break-word;
}

/* Totals section */
.wc-block-components-totals-wrapper{
  /* padding left to WC defaults */
  border:none !important;
}
.wc-block-components-totals-item {
  font-size: 14px;
  color: var(--text-mid);
  padding: 8px 0;
  border-bottom: 1px solid var(--border);
}
.wc-block-components-totals-item__label { font-weight: 500; }
.wc-block-components-totals-item__value {
  font-weight: 600;
  color: var(--text-dark);
}
/* Grand total */
.wc-block-components-totals-footer-item {
  border-top: none !important;
  margin-top: 4px !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-family: 'Sora', sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: var(--text-dark);
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-family: 'Sora', sans-serif;
  font-size: 20px;
  font-weight: 800;
  color: var(--steel-700);
}

/* Fields side inputs */
.wc-block-checkout .wc-block-components-text-input input,
.wc-block-checkout .wc-block-components-select select,
.wc-block-checkout .wc-block-components-textarea textarea {
  border: 1.5px solid var(--border) !important;
  border-radius: var(--radius-md) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  color: var(--text-dark) !important;
  transition: border-color .15s, box-shadow .15s !important;
}
.wc-block-checkout .wc-block-components-text-input input:focus,
.wc-block-checkout .wc-block-components-select select:focus,
.wc-block-checkout .wc-block-components-textarea textarea:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px rgba(140,180,48,.15) !important;
  outline: none !important;
}
.wc-block-checkout .wc-block-components-text-input label,
.wc-block-checkout .wc-block-components-select label {
  font-family: 'Sora', sans-serif;
  font-size: 12px;
  font-weight: 700;
  color: var(--text-soft);
  letter-spacing: .04em;
}

/* Section headings inside block checkout */
.wc-block-checkout .wc-block-components-checkout-step__title {
  font-family: 'Sora', sans-serif;
  font-size: 16px;
  font-weight: 800;
  color: var(--text-dark);
  letter-spacing: -.01em;
}

/* Payment radio options */
.wc-block-components-radio-control-accordion-option {
  border: 1.5px solid var(--border) !important;
  border-radius: var(--radius-md) !important;
  margin-bottom: 8px !important;
  background: var(--steel-50);
  transition: border-color .15s;
}
.wc-block-components-radio-control-accordion-option--checked {
  border-color: var(--accent) !important;
  background: var(--green-50);
}
.wc-block-components-payment-method-label__heading {
  font-family: 'Sora', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-dark);
}

/* Place order button */
.wc-block-components-checkout-place-order-button {
  background: var(--green-500) !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  font-family: 'Sora', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
  transition: background .18s, transform .15s !important;
}
.wc-block-components-checkout-place-order-button:hover {
  background: var(--accent-dk) !important;
}

/* Coupon input */
.wc-block-components-totals-coupon .wc-block-components-button {
  background: var(--accent);
  border: none;
  border-radius: var(--radius-md);
  font-family: 'Sora', sans-serif;
  font-size: 13px;
  font-weight: 700;
  transition: background .15s;
  color: var(--white);
}
.wc-block-components-totals-coupon .wc-block-components-button:hover { background: var(--accent-dk); }

/* Checkbox */
.wc-block-checkout .wc-block-components-checkbox input[type=checkbox] {
  accent-color: var(--accent);
}

/* WC block notices */
.wc-block-components-notice-banner.is-error {
  background: #fee2e2 !important;
  border-color: #fca5a5 !important;
  border-radius: var(--radius-md) !important;
  color: #991b1b !important;
}
.wc-block-components-notice-banner.is-success {
  background: var(--green-100) !important;
  border-color: var(--green-300) !important;
  border-radius: var(--radius-md) !important;
  color: var(--green-900) !important;
}

/* WooCommerce sale flash overridden for outlet products */
span.onsale.badge-outlet {
  background: #92400e !important;
  color: #fff !important;
  border-radius: 20px !important;
  padding: 4px 10px !important;
  font-family: 'Sora', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  min-height: auto !important;
  min-width: auto !important;
  line-height: 1.4 !important;
}
/* Outlet badge on product page */
.product-outlet-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #92400e;
  color: #fff;
  font-family: 'Sora', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 20px;
  margin-bottom: 8px;
}

/* ── Variant dropdown (20+ variants) ── */
.variant-dropdown-wrap { margin-bottom: 4px; }
.variant-select {
  width: 100%;
  padding: 12px 40px 12px 16px;
  border: 2px solid var(--border);
  border-radius: var(--radius-md);
  font-family: 'Sora', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-dark);
  background: var(--white);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23526475' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  outline: none;
  transition: border-color .15s, box-shadow .15s;
}
.variant-select:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(140,180,48,.15);
}
.variant-btn-oos {
  opacity: .45;
  cursor: not-allowed;
  text-decoration: line-through;
}

/* --- AGROHIT WIZUALIZACJE OPISÓW --- */
.agro-intro { font-size: 16px; font-weight: bold; }
.agro-subintro { font-size: 16px; color: #555; }

.agro-grid { display: flex; gap: 20px; flex-wrap: wrap; margin: 30px 0 40px; }
.agro-card { flex: 1 1 30%; min-width: 250px; background-color: #f8f9fa; border: 1px solid #e9ecef; border-radius: 8px; padding: 20px; box-sizing: border-box; }
.agro-card h4 { margin: 0 0 10px 0; font-size: 16px; color: #333; }
.agro-card p { margin: 0; font-size: 14px; color: #6c757d; line-height: 1.5; }
.agro-icon { font-size: 28px; margin-bottom: 15px; }

/* Kolory ramek na górze kart */
.agro-border-green { border-top: 4px solid #4caf50; }
.agro-border-yellow { border-top: 4px solid #f4c20d; }
.agro-border-blue { border-top: 4px solid #2196f3; }
.agro-border-purple { border-top: 4px solid #9c27b0; }
.agro-border-orange { border-top: 4px solid #ff9800; }

.agro-app-card { flex: 1 1 45%; min-width: 300px; background-color: #fcfdf5; border: 1px solid #e9ecef; border-radius: 8px; padding: 20px; display: flex; gap: 15px; align-items: flex-start; }
.agro-app-icon { font-size: 24px; margin-top: 2px; }

.agro-table { width: 100%; border-collapse: collapse; margin-bottom: 20px; font-size: 14px; border: 1px solid #eaeaea; }
.agro-table td { padding: 12px 10px; }
.agro-table .th-col { font-weight: bold; width: 30%; background-color: #444; color: #fff; border-bottom: 1px solid #eaeaea; }
.agro-table tr:nth-child(odd) .td-col { background-color: #fff; color: #000; border-bottom: 1px solid #eaeaea; }
.agro-table tr:nth-child(even) .td-col { background-color: #f2f2f2; color: #000; border-bottom: 1px solid #eaeaea; }

/* ── Article products section ── */
.article-products-section { padding: 0 40px 48px; }
@media (max-width:768px) { .article-products-section { padding: 0 16px 36px; } }

/* ═══════════════════════════════════════════════════════════
   WOOCOMMERCE NATIVE VARIATION FORM — theme styling
   Styles the standard WC attribute dropdowns & buttons
   to match the agrohit design
═══════════════════════════════════════════════════════════ */

.wc-variation-form-wrap .variations {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 16px;
}
.wc-variation-form-wrap .variations td,
.wc-variation-form-wrap .variations th {
  padding: 6px 0;
  vertical-align: middle;
  border: none;
  background: none;
}
.wc-variation-form-wrap .variations .label label {
  font-family: 'Sora', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: var(--text-dark);
  text-transform: uppercase;
  letter-spacing: .06em;
  white-space: nowrap;
  padding-right: 16px;
}
.wc-variation-form-wrap .variations .value {
  width: 100%;
}
.wc-variation-form-wrap .variations select {
  width: 100%;
  padding: 11px 36px 11px 14px;
  border: 1.5px solid var(--border);
  border-radius: var(--radius-md);
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  color: var(--text-dark);
  background: var(--white);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23526475' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  -webkit-appearance: none;
  appearance: none;
  outline: none;
  cursor: pointer;
  transition: border-color .15s, box-shadow .15s;
}
.wc-variation-form-wrap .variations select:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(140,180,48,.15);
}

/* Reset link (Clear) */
.wc-variation-form-wrap .reset_variations {
  font-size: 12px;
  color: var(--text-soft);
  text-decoration: none;
  margin-top: 4px;
  display: inline-block;
  transition: color .15s;
}
.wc-variation-form-wrap .reset_variations:hover { color: var(--accent); }

/* Single variation price/stock */
.wc-variation-form-wrap .single_variation_wrap .woocommerce-variation-price {
  display: none; /* we handle price display in #prodPrice */
}
.wc-variation-form-wrap .single_variation_wrap .woocommerce-variation-availability {
  font-size: 13px;
  color: var(--green-500);
  font-weight: 600;
  font-family: 'Sora', sans-serif;
  margin-bottom: 12px;
}

/* Native add-to-cart form inside WC variation form */
.wc-variation-form-wrap .woocommerce-variation-add-to-cart {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 8px;
}
.wc-variation-form-wrap .quantity input.qty {
  width: 64px;
  height: 52px;
  text-align: center;
  font-family: 'Sora', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: var(--text-dark);
  border: 2px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--white);
  outline: none;
  transition: border-color .15s;
  -moz-appearance: textfield;
}
.wc-variation-form-wrap .quantity input.qty:focus { border-color: var(--accent); }
.wc-variation-form-wrap .quantity input::-webkit-outer-spin-button,
.wc-variation-form-wrap .quantity input::-webkit-inner-spin-button { -webkit-appearance: none; }

.wc-variation-form-wrap .single_add_to_cart_button {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--green-500);
  color: var(--white);
  border: none;
  border-radius: var(--radius-md);
  padding: 14px 28px;
  font-family: 'Sora', sans-serif;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  transition: background .18s, box-shadow .18s, transform .15s;
  box-shadow: var(--shadow-sm);
  letter-spacing: .02em;
  -webkit-appearance: none;
  appearance: none;
  min-width: 160px;
}
.wc-variation-form-wrap .single_add_to_cart_button:hover:not(:disabled) {
  background: var(--accent-dk);
  box-shadow: var(--shadow-md);
  transform: translateY(-1px);
}
.wc-variation-form-wrap .single_add_to_cart_button:disabled,
.wc-variation-form-wrap .single_add_to_cart_button.disabled {
  opacity: .55;
  cursor: not-allowed;
  transform: none;
}

/* Responsive */
@media (max-width: 640px) {
  .wc-variation-form-wrap .woocommerce-variation-add-to-cart { flex-direction: column; align-items: stretch; }
  .wc-variation-form-wrap .single_add_to_cart_button { min-width: unset; width: 100%; }
  .wc-variation-form-wrap .quantity input.qty { width: 100%; }
}


.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt{
  flex: 1;
  justify-content: center;
  padding: 15px 28px;
  font-size: 15px;
  min-width: 160px;
  background: var(--green-500);
  color: white;
  padding: 13px 28px;
  font-size: 14px;
  box-shadow: 0 4px 14px rgba(110,160,30,.35);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Sora', sans-serif;
  font-weight: 600;
  border-radius: var(--radius-md);
  border: none;
  cursor: pointer;
  transition: all .2s ease;
  text-decoration: none;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt.disabled:hover{
  background: var(--steel-700);
  opacity: 0.6;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:hover{
  background: var(--steel-700);
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt.disabled{
  background: var(--green-500);
  opacity: 0.6;
}

.woocommerce-variation-description{
  display:none;
}