/* ══════════════ TOKENS ══════════════ */
:root {
  --w: #ffffff;
  --g1: #f8f7f5;
  --g2: #f1ede8;
  --g3: #e4ddd4;
  --g4: #cfc5b8;
  --g5: #9e9085;
  --g6: #5c534a;
  --dark: #18150f;
  --ink: #2a2520;
  --a1: #d97f4a;      /* terra cotta accent */
  --a2: #b5653a;      /* deep terra */
  --a3: #f5e6d8;      /* blush light */
  --a4: #e8c9af;      /* blush mid */
  --green: #667c60;
  --blue: #5d7a98;
  --border: rgba(0,0,0,.07);
  --shadow-xs: 0 1px 4px rgba(0,0,0,.05);
  --shadow-sm: 0 4px 16px rgba(0,0,0,.07);
  --shadow-md: 0 8px 32px rgba(0,0,0,.10);
  --shadow-lg: 0 20px 60px rgba(0,0,0,.14);
  --radius: 16px;
  --ease: cubic-bezier(.16,1,.3,1);
  /* hero: announce + header + nav */
  --hero-chrome: 152px;
  --hero-max-h: 680px;
}

/* ══════════════ RESET ══════════════ */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body { font-family:'Vazirmatn',sans-serif; background:var(--w); color:var(--ink); overflow-x:hidden; line-height:1.6; }
img { display:block; max-width:100%; }
a { text-decoration:none; color:inherit; }
button { font-family:inherit; cursor:pointer; }
::-webkit-scrollbar { width:5px; }
::-webkit-scrollbar-track { background:var(--g1); }
::-webkit-scrollbar-thumb { background:var(--g4); border-radius:3px; }

/* ══════════════ OVERLAY ══════════════ */
#overlay {
  position:fixed; inset:0;
  background:rgba(0,0,0,.38);
  backdrop-filter:blur(6px);
  z-index:1900;
  opacity:0; pointer-events:none;
  transition:opacity .4s var(--ease);
}
#overlay.show { opacity:1; pointer-events:all; }

/* ══════════════ SLIDE PANELS ══════════════ */
.panel {
  position:fixed; top:0; left:0;
  width:min(420px,100vw); height:100dvh;
  background:var(--w);
  z-index:2000;
  transform:translateX(-100%);
  transition:transform .45s var(--ease);
  display:flex; flex-direction:column;
  box-shadow:4px 0 60px rgba(0,0,0,.15);
}
.panel:not(.open) {
  visibility: hidden;
}
.panel.open { transform:translateX(0); visibility: visible; }

.panel-header {
  display:flex; align-items:center; justify-content:space-between;
  padding:22px 28px;
  border-bottom:1px solid var(--border);
  background:var(--g1);
  flex-shrink:0;
}
.panel-header h3 { font-size:17px; font-weight:700; letter-spacing:-.3px; }
.panel-header h3 i { margin-left:10px; color:var(--a1); }
.panel-close {
  width:36px; height:36px; border-radius:10px;
  border:1px solid var(--border); background:var(--w);
  color:var(--g5); font-size:13px;
  display:flex; align-items:center; justify-content:center;
  transition:all .2s;
}
.panel-close:hover { background:var(--dark); color:#fff; border-color:var(--dark); }
.panel-scroll { flex:1; overflow-y:auto; padding:24px 28px; }
.panel-scroll::-webkit-scrollbar { width:3px; }
.panel-scroll::-webkit-scrollbar-thumb { background:var(--g3); }
.panel-footer { flex-shrink:0; padding:20px 28px; border-top:1px solid var(--border); background:var(--g1); }

/* Cart */
.cart-row {
  display:flex; gap:14px; padding:16px 0;
  border-bottom:1px solid var(--border);
  align-items:flex-start;
}
.cart-thumb {
  width:76px; height:92px; border-radius:12px;
  overflow:hidden; flex-shrink:0; background:var(--g2);
}
.cart-thumb img { width:100%; height:100%; object-fit:cover; }
.cart-meta { flex:1; }
.cart-meta .brand { font-size:10px; font-weight:700; letter-spacing:1.2px; color:var(--a1); text-transform:uppercase; }
.cart-meta .name { font-size:13px; font-weight:600; color:var(--ink); margin:3px 0 5px; }
.cart-meta .spec { font-size:12px; color:var(--g5); }
.cart-meta .price { font-size:15px; font-weight:800; color:var(--dark); margin-top:8px; }
.cart-qty-row { display:flex; align-items:center; gap:8px; margin-top:8px; }
.cqb { width:26px; height:26px; border:1px solid var(--border); border-radius:7px; background:var(--w); color:var(--g5); font-size:13px; display:flex; align-items:center; justify-content:center; transition:all .2s; }
.cqb:hover { border-color:var(--a1); color:var(--a1); }
.cqn { font-size:13px; font-weight:700; min-width:18px; text-align:center; }
.cart-del { margin-top:4px; background:none; border:none; font-size:11px; color:var(--g5); transition:color .2s; }
.cart-del:hover { color:#c0392b; }
.cart-summary { margin-bottom:14px; }
.cart-summary .row { display:flex; justify-content:space-between; font-size:13px; color:var(--g5); margin-bottom:6px; }
.cart-summary .total { font-size:16px; font-weight:800; color:var(--dark); }
.checkout-btn {
  width:100%; padding:15px;
  background:var(--dark); color:#fff;
  border:none; border-radius:12px;
  font-size:15px; font-weight:700;
  display:flex; align-items:center; justify-content:center; gap:8px;
  transition:all .3s;
}
.checkout-btn:hover { background:var(--a2); transform:translateY(-1px); box-shadow:var(--shadow-md); }

/* Login */
.login-switch { display:flex; background:var(--g2); border-radius:12px; padding:4px; margin-bottom:24px; }
.ls-btn { flex:1; padding:10px; border:none; border-radius:9px; background:transparent; font-size:13px; font-weight:600; color:var(--g5); transition:all .3s; }
.ls-btn.on { background:var(--w); color:var(--ink); box-shadow:var(--shadow-xs); }
.form-field { margin-bottom:16px; }
.form-field label { display:block; font-size:12px; font-weight:700; letter-spacing:.3px; color:var(--g6); margin-bottom:7px; }
.form-field input {
  width:100%; padding:13px 15px;
  border:1.5px solid var(--g3); border-radius:11px;
  font-size:13px; color:var(--ink); background:var(--g1);
  outline:none; transition:all .3s;
}
.form-field input:focus { border-color:var(--a1); background:var(--w); box-shadow:0 0 0 3px var(--focus-ring, rgba(217,127,74,.12)); }
.form-submit {
  width:100%; padding:15px;
  background:var(--dark); color:#fff;
  border:none; border-radius:12px;
  font-size:15px; font-weight:700;
  margin-top:4px; transition:all .3s;
}
.form-submit:hover { background:var(--a2); }
.or-line { text-align:center; font-size:12px; color:var(--g4); margin:18px 0; position:relative; }
.or-line::before,.or-line::after { content:''; position:absolute; top:50%; width:40%; height:1px; background:var(--g3); }
.or-line::before { right:0; } .or-line::after { left:0; }
.soc-btns { display:flex; gap:10px; }
.soc-btn { flex:1; padding:11px; border:1.5px solid var(--g3); border-radius:11px; background:var(--w); font-size:13px; font-weight:600; color:var(--g6); display:flex; align-items:center; justify-content:center; gap:7px; transition:all .2s; }
.soc-btn:hover { border-color:var(--dark); color:var(--dark); }

/* Profile */
.prof-avatar { text-align:center; padding:28px 0 20px; }
.avatar-ring {
  width:86px; height:86px; border-radius:50%;
  overflow:hidden; margin:0 auto 12px;
  border:3px solid var(--a3); box-shadow:var(--shadow-sm);
}
.avatar-ring img { width:100%; height:100%; object-fit:cover; }
.prof-name { font-size:17px; font-weight:700; }
.prof-email { font-size:12px; color:var(--g5); margin-top:3px; }
.prof-stats { display:flex; gap:0; margin:18px 0; border:1px solid var(--border); border-radius:12px; overflow:hidden; }
.prof-stat { flex:1; text-align:center; padding:14px 8px; border-left:1px solid var(--border); }
.prof-stat:last-child { border-left:none; }
.prof-stat strong { display:block; font-size:18px; font-weight:800; color:var(--dark); }
.prof-stat span { font-size:11px; color:var(--g5); }
.menu-link {
  display:flex; align-items:center; gap:13px;
  padding:15px 0; border-bottom:1px solid var(--border);
  font-size:13px; font-weight:500; color:var(--g6);
  transition:all .2s;
}
.menu-link:hover { color:var(--a1); padding-right:6px; }
.menu-link i { width:18px; text-align:center; color:var(--g4); transition:color .2s; }
.menu-link:hover i { color:var(--a1); }
.menu-link.danger { color:#c0392b; }
.menu-link.danger i { color:#e07070; }

/* ══════════════ ANNOUNCEMENT ══════════════ */
.announce {
  background:var(--dark); color:rgba(255,255,255,.85);
  text-align:center; font-size:12px; font-weight:500; letter-spacing:.3px;
  padding:10px 20px;
  display:flex; align-items:center; justify-content:center; gap:24px;
  overflow:hidden; position:relative;
}
.announce::before {
  content:'';
  position:absolute; left:0; top:0; bottom:0; width:3px;
  background:linear-gradient(var(--a1),var(--a2));
}
.announce em { font-style:normal; color:var(--a1); font-weight:700; }
.ann-links { display:flex; gap:20px; align-items:center; }
.ann-links a { color:rgba(255,255,255,.55); font-size:11px; transition:color .2s; }
.ann-links a:hover { color:#fff; }
@media(max-width:640px){ .ann-links { display:none; } }

/* ══════════════ SITE CHROME (header + nav) ══════════════ */
.site-chrome {
  position: sticky;
  top: 0;
  z-index: 1000;
  overflow: visible;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border);
}
.site-chrome > header {
  position: static;
  z-index: auto;
  background: transparent;
  backdrop-filter: none;
  border-bottom: 0;
}

main,
.vpb-main {
  position: relative;
  z-index: 0;
}

/* ══════════════ HEADER ══════════════ */
header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border);
  overflow: visible;
}
/* Page-builder menu nests nav inside header — inner row keeps theme separator */
header.vpb-site-header {
  position: relative;
  z-index: 1000;
  border-bottom: 0;
  overflow: visible;
}
header.vpb-site-header.vpb-sticky {
  position: sticky;
  top: 0;
}
.header-inner {
  display:flex; align-items:center;
  padding:0 40px; height:68px; gap:16px;
}
@media(max-width:768px){ .header-inner { padding:0 18px; } }

/* Logo */
.logo {
  display:flex; align-items:center; gap:0;
  flex-shrink:0;
}
.logo-text {
  font-size:22px; font-weight:800; letter-spacing:-1px; color:var(--dark);
  line-height:1;
}
.logo-img { max-height:48px; width:auto; display:block; object-fit:contain; }
.logo-accent { color:var(--a1); }
.logo-sub { font-size:9px; font-weight:400; letter-spacing:3px; color:var(--g5); margin-top:2px; display:block; }

/* Search */
.search-box {
  flex:1; min-width:0; max-width:560px; position:relative;
  z-index: 1100;
}
.search-box-input {
  width:100%;
  padding:10px 44px 10px 18px;
  border:1.5px solid var(--g3);
  border-radius:40px;
  font-size:13px;
  color:var(--ink);
  background:var(--g1);
  outline:none;
  transition:all .3s;
}
.search-box input.search-box-input,
.search-box .search-box-input {
  width:100%;
}
.search-box-input::placeholder { color:var(--g4); font-size:12px; }
.search-box-input:focus,
.search-box.is-search-open .search-box-input {
  border-color:var(--a1);
  background:var(--w);
  box-shadow:0 0 0 3px var(--focus-ring-soft, rgba(217,127,74,.1));
}
.search-box-submit {
  position:absolute;
  inset-inline-end:6px;
  top:50%;
  transform:translateY(-50%);
  width:34px;
  height:34px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:var(--g5);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  cursor:pointer;
  transition:background .2s, color .2s;
}
.search-box-submit:hover,
.search-box-submit:focus-visible {
  background:var(--a3);
  color:var(--a1);
  outline:none;
}
.search-suggest {
  position:absolute;
  top:calc(100% + 8px);
  inset-inline:0;
  background:var(--w);
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow:var(--shadow-lg);
  max-height:min(70vh, 420px);
  overflow:auto;
  padding:8px;
}
.search-suggest[hidden] { display:none !important; }
.search-suggest-label {
  font-size:11px;
  font-weight:700;
  color:var(--g5);
  padding:6px 10px 4px;
}
.search-suggest-item {
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px;
  border-radius:12px;
  color:inherit;
  text-decoration:none;
  transition:background .15s;
}
.search-suggest-item:hover,
.search-suggest-item.is-active {
  background:var(--g1);
}
.search-suggest-item.is-unavailable { opacity:.72; }
.search-suggest-thumb {
  width:48px;
  height:48px;
  border-radius:10px;
  overflow:hidden;
  background:var(--g2);
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--g4);
  font-size:16px;
}
.search-suggest-thumb img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.search-suggest-meta {
  min-width:0;
  display:grid;
  gap:2px;
}
.search-suggest-meta strong {
  font-size:13px;
  font-weight:700;
  color:var(--dark);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.search-suggest-meta > span {
  font-size:11px;
  color:var(--g5);
}
.search-suggest-price {
  font-size:12px;
  font-weight:700;
  color:var(--a1);
}
.search-suggest-price s {
  color:var(--g4);
  font-weight:500;
  margin-left:6px;
}
.search-suggest-empty,
.search-suggest-loading {
  padding:18px 14px;
  text-align:center;
  font-size:13px;
  color:var(--g5);
}
.search-suggest-spinner {
  display:inline-block;
  width:14px;
  height:14px;
  border:2px solid var(--g3);
  border-top-color:var(--a1);
  border-radius:50%;
  margin-left:8px;
  vertical-align:-2px;
  animation:searchSpin .7s linear infinite;
}
@keyframes searchSpin { to { transform:rotate(360deg); } }
.search-suggest-footer {
  border-top:1px solid var(--border);
  margin-top:4px;
  padding-top:4px;
}
.search-suggest-item--all {
  justify-content:center;
  gap:10px;
}
.search-suggest-all-icon {
  width:32px;
  height:32px;
  border-radius:50%;
  background:var(--a3);
  color:var(--a1);
  display:flex;
  align-items:center;
  justify-content:center;
}
.visually-hidden {
  position:absolute !important;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0);
  white-space:nowrap; border:0;
}
@media(max-width:768px){
  .header-inner { flex-wrap:wrap; height:auto; min-height:68px; padding-top:10px; padding-bottom:10px; }
  .search-box { order:3; flex:1 1 100%; max-width:none; }
}

/* Actions */
.hdr-actions { display:flex; align-items:center; gap:6px; margin-right:auto; }
.soc-row { display:flex; gap:5px; padding-left:12px; border-left:1px solid var(--border); margin-left:4px; }
@media(max-width:900px){ .soc-row { display:none; } }
.soc-a {
  width:32px; height:32px; border-radius:8px;
  display:flex; align-items:center; justify-content:center;
  color:var(--g5); font-size:13px; transition:all .2s;
}
.soc-a:hover { color:var(--a1); background:var(--a3); }
.hbtn {
  width:42px; height:42px; border-radius:11px;
  border:1.5px solid var(--g3); background:var(--w);
  color:var(--g5); font-size:15px; position:relative;
  display:flex; align-items:center; justify-content:center;
  transition:all .25s;
  text-decoration:none;
}
.hbtn:hover { border-color:var(--dark); color:var(--dark); background:var(--g1); }
.hbtn .bdg {
  position:absolute; top:-5px; right:-5px;
  width:17px; height:17px; border-radius:50%;
  background:var(--a1); color:#fff; font-size:9px; font-weight:800;
  display:flex; align-items:center; justify-content:center;
  border:2px solid var(--w);
}
.burger {
  display:none; flex-direction:column; gap:5px;
  background:none; border:none; padding:5px;
  flex-shrink:0;
  order:-1;
}
.burger span { width:22px; height:2px; background:var(--dark); border-radius:2px; transition:all .35s var(--ease); transform-origin:center; display:block; }
.burger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.burger.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.burger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
@media(max-width:768px){ .burger { display:flex; } }

/* ══════════════ NAV ══════════════ */
nav.gnav {
  display:flex; align-items:center;
  padding:0 40px;
  background:var(--w);
  overflow: visible;
  gap:0;
  position: relative;
  z-index: 1;
  direction: rtl;
  isolation: isolate;
}
nav.gnav::-webkit-scrollbar { height:0; }
nav.gnav a {
  font-size:13px; font-weight:500; color:var(--g5);
  padding:14px 16px; white-space:nowrap;
  position:relative; transition:color .25s;
  display:flex; align-items:center; gap:5px;
}
nav.gnav a::after {
  content:''; position:absolute; bottom:0;
  inset-inline-end:0; inset-inline-start:100%;
  height:2px; background:var(--a1);
  transition:inset-inline-start .3s ease;
}
nav.gnav a:hover { color:var(--dark); }
nav.gnav a:hover::after { inset-inline-start:0; }
nav.gnav a.cur { color:var(--dark); font-weight:700; }
nav.gnav a.cur::after { inset-inline-start:0; }
nav.gnav .nav-chip { background:var(--a1); color:#fff; font-size:9px; font-weight:800; padding:2px 7px; border-radius:20px; letter-spacing:.3px; }
nav.gnav .nav-chip.green { background:var(--green); }

nav.gnav .nav-item {
  position:relative; display:flex; align-items:stretch; flex-shrink:0;
  overflow: visible;
}
nav.gnav .nav-item > .nav-link,
nav.gnav > .nav-link {
  font-size:13px; font-weight:500; color:var(--g5);
  padding:14px 16px; white-space:nowrap;
  position:relative; transition:color .25s;
  display:flex; align-items:center; gap:5px;
}
nav.gnav a.nav-link::after,
nav.gnav a.nav-trigger::after {
  content:''; position:absolute; bottom:0;
  inset-inline-end:0; inset-inline-start:100%;
  height:2px; background:var(--a1);
  transition:inset-inline-start .3s ease;
}
nav.gnav a:hover { color:var(--dark); }
nav.gnav a.nav-link:hover::after,
nav.gnav a.nav-trigger:hover::after { inset-inline-start:0; }
nav.gnav a.cur { color:var(--dark); font-weight:700; }
nav.gnav a.cur::after { inset-inline-start:0; }
nav.gnav .nav-caret {
  width:0; height:0; border-left:4px solid transparent; border-right:4px solid transparent;
  border-top:5px solid currentColor; opacity:.55; margin-inline-start:4px; flex-shrink:0;
}
nav.gnav .nav-item.has-children:not(.is-mega) > .nav-dropdown {
  top:50px;
  right:10%;
  bottom:auto;
  left:auto;
  text-align:right;
  direction:rtl;
  transform:translate3d(0, 8px, 0);
}
nav.gnav .nav-item.has-children:not(.is-mega) > .nav-dropdown::before {
  content:'';
  position:absolute;
  bottom:100%;
  right:0;
  left:0;
  height:12px;
}
nav.gnav .nav-dropdown,
nav.gnav .nav-mega {
  position:absolute; min-width:220px;
  background:var(--w); border:1px solid var(--border);
  box-shadow:var(--shadow-md); border-radius:12px;
  padding:8px 0; opacity:0; visibility:hidden;
  transition:opacity .25s var(--ease), transform .25s var(--ease), visibility .25s;
  z-index: 1100;
  pointer-events:none;
  direction:rtl;
  text-align:right;
  overflow:visible;
}
nav.gnav .nav-mega {
  top:100%;
  transform:translateY(8px);
}
nav.gnav .nav-item:hover > .nav-dropdown,
nav.gnav .nav-item.open > .nav-dropdown,
nav.gnav .nav-item:focus-within > .nav-dropdown {
  opacity:1; visibility:visible;
  transform:translate3d(0, 0, 0);
  pointer-events:auto;
}
nav.gnav .nav-item:hover > .nav-mega,
nav.gnav .nav-item.open > .nav-mega,
nav.gnav .nav-item:focus-within > .nav-mega {
  opacity:1; visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}
nav.gnav .nav-sublink,
nav.gnav .nav-mega-title,
nav.gnav .nav-mega-sub-link {
  display:block; padding:10px 16px; font-size:13px; color:var(--g6);
  white-space:nowrap; transition:background .2s, color .2s;
  text-align:right;
  justify-content:flex-start;
}
nav.gnav .nav-sublink:hover,
nav.gnav .nav-mega-title:hover,
nav.gnav .nav-mega-sub-link:hover { background:var(--g1); color:var(--dark); }
nav.gnav .nav-flyout-list {
  list-style:none; margin:0; padding:0;
  overflow:visible;
}
nav.gnav .nav-flyout-item {
  position:relative;
  overflow:visible;
}
nav.gnav .nav-flyout-trigger {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-direction:row;
}
nav.gnav .nav-flyout-caret {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:14px;
  height:14px;
  opacity:.55;
  flex-shrink:0;
  font-size:16px;
  line-height:1;
  margin-inline-start:auto;
}
nav.gnav .nav-flyout-caret::before {
  content:'›';
}
/* RTL: زیردسته‌ها سمت چپ فیزیکی — دسته سطح اول ← زیردسته (نه inset-inline که در RTL برعکس می‌شود) */
nav.gnav .nav-flyout-item.has-flyout > .nav-flyout-panel {
  position:absolute;
  top:0;
  right:100%;
  left:auto;
  min-width:220px;
  margin-right:4px;
  margin-left:0;
  background:var(--w);
  border:1px solid var(--border);
  box-shadow:var(--shadow-md);
  border-radius:12px;
  padding:8px 0;
  opacity:0;
  visibility:hidden;
  transform:translate3d(8px, 0, 0);
  transition:opacity .2s var(--ease), transform .2s var(--ease), visibility .2s;
  z-index: 1110;
  pointer-events:none;
  direction:rtl;
  text-align:right;
  overflow:visible;
}
nav.gnav .nav-flyout-item.has-flyout > .nav-flyout-panel::before {
  content:'';
  position:absolute;
  top:0;
  bottom:0;
  left:100%;
  width:10px;
}
nav.gnav .nav-flyout-item.has-flyout:hover > .nav-flyout-panel,
nav.gnav .nav-flyout-item.has-flyout:focus-within > .nav-flyout-panel,
nav.gnav .nav-flyout-item.has-flyout.open > .nav-flyout-panel {
  opacity:1;
  visibility:visible;
  transform:translate3d(0, 0, 0);
  pointer-events:auto;
}
nav.gnav .nav-flyout-item.has-flyout:hover > .nav-flyout-trigger,
nav.gnav .nav-flyout-item.has-flyout:focus-within > .nav-flyout-trigger,
nav.gnav .nav-flyout-item.has-flyout.open > .nav-flyout-trigger {
  background:var(--g1);
  color:var(--dark);
}
nav.gnav .nav-item.is-mega { position:static; }
nav.gnav .nav-item.is-mega > .nav-mega {
  inset-inline-start:40px;
  inset-inline-end:40px;
  width:auto;
  min-width:0;
  max-width:none;
  padding:16px 20px;
}
nav.gnav .nav-mega-inner {
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(160px, 1fr));
  gap:8px 16px;
  direction:rtl;
  text-align:right;
}
nav.gnav .nav-mega-col {
  min-width:0;
  text-align:right;
  border-inline-start:1px solid var(--border);
  padding-inline-start:12px;
}
nav.gnav .nav-mega-col:first-child {
  border-inline-start:0;
  padding-inline-start:0;
}
nav.gnav .nav-mega-title {
  font-weight:700; color:var(--dark); padding:6px 10px 8px;
  display:block;
}
nav.gnav .nav-mega-title::after { display:none; }
nav.gnav .nav-mega-sub {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:2px;
}
nav.gnav .nav-mega-sub-link { padding:6px 10px; font-size:12px; color:var(--g5); display:block; }
nav.gnav .nav-mega-sub-link::after,
nav.gnav .nav-sublink::after,
nav.gnav .nav-mega-title::after { display:none; }

@media(max-width:768px){
  nav.gnav {
    position:fixed; top:70px; right:0; left:auto;
    width:min(320px, 86vw); height:calc(100dvh - 70px); max-height:calc(100dvh - 70px);
    flex-direction:column; align-items:stretch;
    padding:8px 0 24px; background:var(--w);
    border-bottom:0; border-inline-start:1px solid var(--border);
    box-shadow:-8px 0 40px rgba(24,21,15,.12);
    transform:translateX(100%);
    transition:transform .4s var(--ease), visibility .4s var(--ease);
    z-index:1950; overflow-y:auto; overflow-x:hidden;
    visibility:hidden; pointer-events:none;
  }
  nav.gnav.mob-open {
    transform:translateX(0);
    visibility:visible; pointer-events:auto;
  }
  nav.gnav .nav-item { flex-direction:column; align-items:stretch; }
  nav.gnav .nav-item > .nav-link,
  nav.gnav > .nav-link { padding:14px 24px; border-bottom:1px solid var(--border); font-size:15px; }
  nav.gnav a::after { display:none; }
  nav.gnav .nav-item.has-children:not(.is-mega) > .nav-dropdown {
    top:auto;
    right:auto;
    left:auto;
    margin:0;
    transform:none;
  }
  nav.gnav .nav-dropdown,
  nav.gnav .nav-mega {
    position:static; opacity:1; visibility:visible; transform:none;
    box-shadow:none; border:none; border-radius:0; padding:0 0 8px;
    display:none; background:var(--g1);
    pointer-events:auto;
  }
  nav.gnav .nav-item.open > .nav-dropdown,
  nav.gnav .nav-item.open > .nav-mega { display:block; }
  nav.gnav .nav-item:hover > .nav-dropdown,
  nav.gnav .nav-item:hover > .nav-mega {
    opacity:1; visibility:visible; transform:none;
  }
  nav.gnav .nav-mega-inner { grid-template-columns:1fr; gap:0; }
  nav.gnav .nav-item.is-mega > .nav-mega {
    inset-inline-start:0;
    inset-inline-end:0;
    padding:0 0 8px;
  }
  nav.gnav .nav-sublink,
  nav.gnav .nav-mega-sub-link { padding:12px 32px; border-bottom:1px solid var(--border); }
  nav.gnav .nav-mega-title { padding:12px 24px; border-bottom:1px solid var(--border); }
  nav.gnav .nav-flyout-item.has-flyout > .nav-flyout-panel {
    position:static;
    inset:auto;
    margin:0;
    transform:none;
    opacity:1;
    visibility:visible;
    box-shadow:none;
    border:none;
    border-radius:0;
    display:none;
    background:var(--g2);
    padding:0 0 4px;
  }
  nav.gnav .nav-flyout-item.has-flyout.open > .nav-flyout-panel { display:block; }
  nav.gnav .nav-flyout-panel .nav-sublink { padding-inline-start:40px; font-size:14px; }
  nav.gnav .nav-mega-col {
    border-inline-start:0;
    padding-inline-start:0;
    border-bottom:1px solid var(--border);
    padding-bottom:8px;
    margin-bottom:4px;
  }
  nav.gnav .nav-mega-col:last-child { border-bottom:0; margin-bottom:0; }
  nav.gnav a { padding:14px 24px; border-bottom:1px solid var(--border); font-size:15px; }
}

/* Mobile nav open — header + drawer above blur overlay */
@media(max-width:768px){
  body.mob-nav-open .vpb-main,
  body.mob-nav-open main {
    position:static;
    z-index:auto;
  }
  body.mob-nav-open header.vpb-site-header,
  body.mob-nav-open header {
    position:sticky;
    z-index:2100;
  }
  body.mob-nav-open nav.gnav.mob-open {
    z-index:2110;
  }
}

/* ══════════════ HERO ══════════════ */
.hero {
  display:grid; grid-template-columns:55% 45%;
  height:min(var(--hero-max-h), calc(100dvh - var(--hero-chrome)));
  min-height:min(380px, calc(100dvh - var(--hero-chrome)));
  overflow:hidden;
}
@media(max-width:900px){ .hero { grid-template-columns:1fr; } }
@media(max-width:768px){
  :root { --hero-chrome:106px; --hero-max-h:580px; }
}
@media(orientation:portrait){
  :root { --hero-max-h:620px; }
}
@media(orientation:portrait) and (max-width:600px){
  :root { --hero-max-h:540px; }
}

.hero-left {
  position:relative; overflow:hidden; background:var(--g2);
  min-height:0; height:100%;
}
.hero-left .slide-bg {
  position:absolute; inset:0; transition:opacity .8s ease;
  opacity:0;
}
.hero-left .slide-bg.on { opacity:1; }
.hero-left .slide-bg img { width:100%; height:100%; object-fit:cover; object-position:top center; }
.hero-left .slide-bg::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(105deg,rgba(248,247,245,.9) 0%,rgba(248,247,245,.3) 50%,transparent 100%);
}

.hero-copy {
  position:absolute; inset:0;
  display:flex; flex-direction:column; justify-content:center;
  padding:clamp(24px,4vh,56px) clamp(22px,4vw,52px); z-index:2;
}
@media(orientation:portrait) and (max-width:900px){
  .hero-copy { justify-content:flex-end; padding-bottom:clamp(40px,8vh,56px); }
}
@media(max-width:600px){ .hero-copy { padding:28px 22px 44px; } }
.hero-kicker {
  display:inline-flex; align-items:center; gap:8px;
  background:var(--a3); color:var(--a2);
  padding:6px 14px; border-radius:40px;
  font-size:11px; font-weight:800; letter-spacing:.5px;
  margin-bottom:20px; width:fit-content;
  border:1px solid var(--a4);
}
.hero-title {
  font-size:clamp(28px,5.5vw,54px); font-weight:900; line-height:1.05;
  color:var(--dark); letter-spacing:-2px; margin-bottom:clamp(12px,2vh,18px);
}
@media(max-width:600px){ .hero-title { letter-spacing:-1px; } }
.hero-title span { color:var(--a1); }
.hero-desc {
  font-size:clamp(13px,1.6vw,15px); font-weight:300; color:var(--g6); line-height:1.75;
  max-width:380px; margin-bottom:clamp(18px,3vh,32px);
}
.hero-btns { display:flex; gap:12px; flex-wrap:wrap; }
.btn-solid {
  padding:14px 28px; background:var(--dark); color:#fff;
  border:none; border-radius:12px;
  font-size:14px; font-weight:700;
  display:inline-flex; align-items:center; gap:8px;
  transition:all .3s;
}
.btn-solid:hover { background:var(--a2); transform:translateY(-2px); box-shadow:var(--shadow-md); }
.btn-ghost {
  padding:14px 28px; background:transparent;
  border:1.5px solid var(--g4); color:var(--ink);
  border-radius:12px; font-size:14px; font-weight:600;
  display:inline-flex; align-items:center; gap:8px;
  transition:all .3s;
}
.btn-ghost:hover { border-color:var(--dark); background:var(--dark); color:#fff; }

/* hero right panel — stacked cards */
.hero-right {
  display:grid; grid-template-rows:1fr 1fr; gap:2px;
  background:var(--g3);
  min-height:0; height:100%;
}
@media(max-width:900px){ .hero-right { display:none; } }
.hero-card {
  position:relative; overflow:hidden; cursor:pointer;
}
.hero-card img { width:100%; height:100%; object-fit:cover; object-position:top; transition:transform .6s var(--ease); }
.hero-card:hover img { transform:scale(1.06); }
.hero-card-label {
  position:absolute; bottom:20px; right:20px;
  background:rgba(255,255,255,.92); backdrop-filter:blur(8px);
  padding:8px 16px; border-radius:10px;
  display:flex; flex-direction:column;
}
.hero-card-label span:first-child { font-size:12px; font-weight:800; color:var(--dark); }
.hero-card-label span:last-child { font-size:11px; color:var(--g5); }
.hero-dots {
  position:absolute; bottom:22px; left:22px; z-index:3;
  display:flex; gap:6px;
}
.hdot { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.5); cursor:pointer; transition:all .3s; }
.hdot.on { width:20px; border-radius:3px; background:var(--w); }

/* ══════════════ MARQUEE ══════════════ */
.marquee-wrap {
  overflow:hidden; border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  background:var(--g1); padding:10px 0;
}
.marquee-wrap--infinite { direction:ltr; }
.marquee-track {
  display:flex; gap:0; width:max-content;
  animation-duration:var(--marquee-duration, 30s);
  animation-timing-function:linear;
  animation-iteration-count:infinite;
  will-change:transform;
}
.marquee-track--loop { animation-name:marquee-loop; }
.marquee-track--infinite { animation-name:marquee-infinite; }
.marquee-track:not(.marquee-no-pause):hover { animation-play-state:paused; }
@keyframes marquee-loop {
  0% { transform:translate3d(100%, 0, 0); }
  100% { transform:translate3d(-100%, 0, 0); }
}
@keyframes marquee-infinite {
  0% { transform:translate3d(0, 0, 0); }
  100% { transform:translate3d(-50%, 0, 0); }
}
.marquee-item {
  display:flex; align-items:center; gap:10px;
  padding:0 32px; white-space:nowrap;
  font-size:12px; font-weight:500; color:var(--g5);
  border-left:1px solid var(--g3);
  direction:rtl;
}
.marquee-item i { color:var(--a1); }

/* ══════════════ SECTION UTILITY ══════════════ */
.sec { padding:72px 40px; }
@media(max-width:768px){ .sec { padding:48px 18px; } }
.sec-head { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:40px; gap:16px; flex-wrap:wrap; }
.sec-label { font-size:10px; font-weight:800; letter-spacing:2px; text-transform:uppercase; color:var(--a1); margin-bottom:8px; display:block; }
.sec-title { font-size:28px; font-weight:800; letter-spacing:-1px; color:var(--dark); }
.sec-sub { font-size:14px; color:var(--g5); font-weight:300; margin-top:5px; }
.see-more { font-size:12px; font-weight:700; color:var(--a2); display:flex; align-items:center; gap:6px; white-space:nowrap; transition:gap .2s; }
.see-more:hover { gap:10px; }

/* ══════════════ CATEGORIES ══════════════ */
.cats-sec { background:var(--w); }
.cats-grid {
  display:grid; grid-template-columns:repeat(6,1fr); gap:16px;
}
@media(max-width:1100px){ .cats-grid { grid-template-columns:repeat(4,1fr); } }
@media(max-width:768px){ .cats-grid { grid-template-columns:repeat(3,1fr); gap:12px; } }
@media(max-width:480px){ .cats-grid { grid-template-columns:repeat(2,1fr); } }

.cat-box {
  display:flex; flex-direction:column;
  background:var(--w); border:1.5px solid var(--border);
  border-radius:20px; overflow:hidden;
  text-decoration:none; color:inherit;
  transition:all .35s var(--ease);
}
.cat-box:hover {
  transform:translateY(-5px);
  box-shadow:var(--shadow-md);
  border-color:transparent;
}
.cat-img {
  aspect-ratio:1250/1331; overflow:hidden; background:var(--g2);
}
.cat-img img {
  width:100%; height:100%; object-fit:cover; object-position:top;
  transition:transform .5s var(--ease);
}
.cat-box:hover .cat-img img { transform:scale(1.06); }
.cat-info {
  padding:12px 10px 14px; text-align:center;
  display:flex; flex-direction:column; gap:4px;
}
.cat-name { font-size:13px; font-weight:700; color:var(--dark); }
.cat-cnt { font-size:11px; color:var(--g5); }

/* ══════════════ PRODUCTS GRID ══════════════ */
.prod-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
}
@media(max-width:1024px){ .prod-grid { grid-template-columns:repeat(3,1fr); } }
@media(max-width:700px){ .prod-grid { grid-template-columns:repeat(2,1fr); gap:12px; } }

.pcard {
  border-radius:18px; overflow:hidden; background:var(--w);
  border:1.5px solid var(--border);
  transition:all .35s var(--ease);
  position:relative;
  text-decoration:none; display:block; color:inherit;
}
.pcard:hover { transform:translateY(-7px); box-shadow:var(--shadow-lg); border-color:transparent; }
.pcard-img {
  aspect-ratio:3/4; overflow:hidden; position:relative;
  background:var(--g2);
}
.pcard-img img { width:100%; height:100%; object-fit:cover; object-position:top; transition:transform .55s var(--ease); }
.pcard:hover .pcard-img img { transform:scale(1.07); }
.ptag {
  position:absolute; top:10px; right:10px;
  padding:3px 10px; border-radius:20px;
  font-size:10px; font-weight:800; z-index:1;
}
.ptag-new { background:var(--dark); color:#fff; }
.ptag-sale { background:#c0392b; color:#fff; }
.ptag-hot { background:var(--a1); color:#fff; }
.ptag-lim { background:var(--green); color:#fff; }

.pcard-actions {
  position:absolute; bottom:0; right:0; left:0;
  padding:10px 10px 12px;
  background:linear-gradient(to top, rgba(255,255,255,.98) 0%, transparent 100%);
  display:flex; gap:6px;
  transform:translateY(105%);
  transition:transform .38s var(--ease);
}
.pcard:hover .pcard-actions { transform:translateY(0); }
.pa-btn {
  padding:9px 8px; border-radius:9px; border:none;
  font-size:11px; font-weight:700;
  display:flex; align-items:center; justify-content:center; gap:4px;
  transition:all .2s;
}
.pa-cart { flex:1; background:var(--dark); color:#fff; }
.pa-cart:hover { background:var(--a2); }
.pa-wish { width:36px; flex-shrink:0; background:var(--g1); color:var(--g5); border:1px solid var(--border); }
.pa-wish:hover { background:#fff0ee; color:#c0392b; border-color:#f0b0a8; }
.pa-quick { width:36px; flex-shrink:0; background:var(--g1); color:var(--g5); border:1px solid var(--border); }
.pa-quick:hover { background:var(--a3); color:var(--a2); border-color:var(--a4); }

.pcard-info { padding:12px 14px 15px; }
.pi-brand { font-size:9px; font-weight:800; letter-spacing:1.2px; color:var(--a1); text-transform:uppercase; margin-bottom:3px; }
.pi-name { font-size:13px; font-weight:600; color:var(--dark); margin-bottom:8px; line-height:1.4; }
.pi-price { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.pi-now { font-size:15px; font-weight:900; color:var(--dark); }
.pi-was { font-size:11px; color:var(--g4); text-decoration:line-through; }
.pi-disc { font-size:10px; font-weight:800; color:#c0392b; background:#fdf0ee; padding:2px 7px; border-radius:20px; }
.pi-stars { margin-top:7px; display:flex; align-items:center; gap:5px; }
.pi-stars .s { color:#e6ac3a; font-size:11px; }
.pi-stars .n { font-size:11px; font-weight:700; color:var(--g6); }
.pi-stars .c { font-size:10px; color:var(--g5); }

/* ══════════════ HERO BANNER 2 (dark) ══════════════ */
.hbanner {
  background:var(--dark); overflow:hidden;
  display:grid; grid-template-columns:1fr 1fr;
  min-height:440px; position:relative;
}
@media(max-width:768px){ .hbanner { grid-template-columns:1fr; } }
.hbanner-text {
  padding:72px 60px; display:flex; flex-direction:column; justify-content:center; z-index:2;
}
@media(max-width:600px){ .hbanner-text { padding:40px 22px; } }
.hbanner-eyebrow { font-size:10px; font-weight:800; letter-spacing:2.5px; text-transform:uppercase; color:var(--a1); margin-bottom:18px; }
.hbanner-title { font-size:46px; font-weight:900; letter-spacing:-2px; color:#fff; line-height:1.1; margin-bottom:18px; }
@media(max-width:600px){ .hbanner-title { font-size:28px; } }
.hbanner-title span { color:var(--a1); }
.hbanner-desc { font-size:14px; color:rgba(255,255,255,.55); font-weight:300; line-height:1.9; margin-bottom:32px; max-width:380px; }
.hbanner-img { position:relative; overflow:hidden; }
@media(max-width:768px){ .hbanner-img { height:280px; } }
.hbanner-img img { width:100%; height:100%; object-fit:cover; object-position:top; }
.hbanner-img::before {
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg,var(--dark) 0%,transparent 40%);
}
.hbanner-badge {
  position:absolute; bottom:28px; left:28px; z-index:2;
  background:rgba(255,255,255,.1); backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.15);
  border-radius:14px; padding:14px 18px;
  animation:bob 3s ease-in-out infinite;
}
@keyframes bob { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
.hbanner-badge strong { display:block; font-size:20px; font-weight:900; color:#fff; }
.hbanner-badge span { font-size:11px; color:rgba(255,255,255,.6); }
.hbanner-orb {
  position:absolute; width:320px; height:320px; border-radius:50%;
  background:radial-gradient(circle,var(--glow-accent, rgba(217,127,74,.18)),transparent 70%);
  right:-60px; top:-60px; pointer-events:none;
}

/* ══════════════ PROMO GRID ══════════════ */
.promo-grid {
  display:grid; gap:16px;
  grid-template-columns:1.2fr 1fr 1fr;
  grid-template-rows:auto auto;
}
@media(max-width:900px){ .promo-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:768px){
  .promo-grid {
    display:flex; flex-direction:column; gap:16px;
  }
  .promo-tile {
    grid-column:unset; grid-row:unset;
    width:100%; min-height:220px;
  }
  .promo-tile.tall { min-height:260px; }
  /* راست هر ردیف اول، چپ زیر آن */
  .promo-grid .promo-tile:nth-child(1) { order:3; }
  .promo-grid .promo-tile:nth-child(2) { order:2; }
  .promo-grid .promo-tile:nth-child(3) { order:1; }
  .promo-grid .promo-tile:nth-child(4) { order:4; }
}

.promo-tile {
  border-radius:20px; overflow:hidden; position:relative;
  min-height:200px; cursor:pointer; display:block; text-decoration:none;
  transition:transform .35s var(--ease), box-shadow .35s;
}
.promo-tile:hover { transform:scale(1.015); box-shadow:var(--shadow-lg); }
.promo-tile img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease); }
.promo-tile:hover img { transform:scale(1.06); }
.promo-tile .veil {
  position:absolute; inset:0;
  background:linear-gradient(to top,rgba(24,21,15,.75) 0%,rgba(24,21,15,.1) 55%,transparent);
}
.promo-tile .tcopy { position:relative; z-index:1; padding:20px 22px; height:100%; display:flex; flex-direction:column; justify-content:flex-end; }
.promo-tile .ttag {
  display:inline-block; padding:3px 10px; border-radius:20px;
  font-size:10px; font-weight:800; margin-bottom:7px; width:fit-content;
}
.promo-tile .ttitle { font-size:20px; font-weight:800; color:#fff; letter-spacing:-.5px; margin-bottom:5px; }
.promo-tile .tsub { font-size:12px; color:rgba(255,255,255,.75); margin-bottom:12px; }
.promo-tile .tlink {
  display:inline-flex; align-items:center; gap:6px;
  background:rgba(255,255,255,.16); backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.25);
  color:#fff; padding:7px 16px; border-radius:30px;
  font-size:11px; font-weight:700; width:fit-content;
  transition:background .2s;
}
.promo-tile .tlink:hover { background:rgba(255,255,255,.28); }
.promo-tile.tall { grid-row:span 2; min-height:430px; }
.promo-tile.promo-wide { grid-column:2 / -1; }
@media(max-width:900px){ .promo-tile.tall { grid-row:auto; min-height:200px; } }

/* ══════════════ SHOWCASE TABS ══════════════ */
.tab-bar { display:flex; gap:6px; margin-bottom:36px; flex-wrap:wrap; }
@media(max-width:768px){ .tab-bar { justify-content:center; } }
.tab-pill {
  padding:9px 20px; border-radius:40px;
  border:1.5px solid var(--g3); background:var(--w);
  font-size:13px; font-weight:600; color:var(--g5);
  transition:all .3s;
}
.tab-pill.on { background:var(--dark); border-color:var(--dark); color:#fff; }
.tab-pill:hover:not(.on) { border-color:var(--g4); color:var(--ink); }
.tab-pane { display:none; }
.tab-pane.on { display:block; }

/* Showcase masonry-ish */
.showcase-grid {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
}
@media(max-width:1024px){ .showcase-grid { grid-template-columns:repeat(4,1fr); } }
@media(max-width:700px){ .showcase-grid { grid-template-columns:repeat(2,1fr); } }
.show-item {
  border-radius:16px; overflow:hidden; position:relative;
  aspect-ratio:2/3; cursor:pointer; background:var(--g2);
}
.show-item:nth-child(3n-1) { aspect-ratio:2/2.2; }
.show-item img { width:100%; height:100%; object-fit:cover; object-position:top; transition:transform .5s var(--ease); }
.show-item:hover img { transform:scale(1.07); }
.show-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top,rgba(24,21,15,.78) 0%,transparent 55%);
  opacity:0; transition:opacity .3s;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:14px;
}
.show-item:hover .show-overlay { opacity:1; }
.show-overlay .sname { font-size:13px; font-weight:700; color:#fff; margin-bottom:4px; }
.show-overlay .sprice { font-size:12px; color:rgba(255,255,255,.8); margin-bottom:10px; }
.show-quick { display:flex; gap:5px; }
.sqb { flex:1; padding:7px 4px; border-radius:8px; border:none; font-size:10px; font-weight:700; cursor:pointer; transition:all .2s; display:flex; align-items:center; justify-content:center; gap:3px; }
.sqb-cart { background:var(--a1); color:#fff; }
.sqb-wish { background:rgba(255,255,255,.15); color:#fff; backdrop-filter:blur(6px); }
.sqb-quick { background:rgba(255,255,255,.15); color:#fff; backdrop-filter:blur(6px); }

/* ══════════════ TESTIMONIALS ══════════════ */
.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
@media(max-width:900px){ .testi-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .testi-grid { grid-template-columns:1fr; } }
.tcard {
  background:var(--g1); border:1.5px solid var(--border);
  border-radius:20px; padding:26px; transition:all .3s;
  position:relative;
}
.tcard:hover { transform:translateY(-5px); box-shadow:var(--shadow-sm); }
.tcard-stars { color:#e6ac3a; font-size:13px; margin-bottom:12px; }
.tcard-text { font-size:13px; color:var(--g6); line-height:1.85; margin-bottom:18px; }
.tcard-user { display:flex; align-items:center; gap:11px; }
.tcard-ava { width:42px; height:42px; border-radius:50%; overflow:hidden; flex-shrink:0; }
.tcard-ava img { width:100%; height:100%; object-fit:cover; }
.tcard-name { font-size:13px; font-weight:700; color:var(--dark); }
.tcard-role { font-size:11px; color:var(--g5); margin-top:2px; }
.tcard-check { font-size:10px; font-weight:700; color:var(--green); display:flex; align-items:center; gap:4px; margin-top:4px; }
.tcard-quote { position:absolute; top:18px; left:22px; font-size:36px; color:var(--a4); line-height:1; font-family:Georgia,serif; }

/* ══════════════ FAQ ══════════════ */
.faq-list { max-width:720px; margin:0 auto; }
.faq-it { border-bottom:1px solid var(--border); }
.faq-q {
  display:flex; align-items:center; justify-content:space-between;
  width:100%; padding:20px 0; background:none; border:none;
  text-align:right; font-size:14px; font-weight:600; color:var(--dark);
  cursor:pointer; gap:14px; transition:color .2s;
}
.faq-q:hover { color:var(--a1); }
.faq-q .fqi {
  width:28px; height:28px; border-radius:8px;
  border:1.5px solid var(--g3); flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  font-size:12px; color:var(--g5); transition:all .3s;
}
.faq-it.open .faq-q .fqi { background:var(--dark); border-color:var(--dark); color:#fff; transform:rotate(45deg); }
.faq-a {
  max-height:0; overflow:hidden;
  transition:max-height .4s var(--ease);
}
.faq-it.open .faq-a { max-height:200px; }
.faq-a-inner { padding:0 0 20px; font-size:13px; color:var(--g6); line-height:1.9; }

/* ══════════════ NEWSLETTER ══════════════ */
.newsletter { background:var(--g1); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.nl-inner { max-width:560px; margin:0 auto; text-align:center; padding:64px 20px; }
.nl-icon { font-size:40px; margin-bottom:16px; }
.nl-title { font-size:26px; font-weight:800; letter-spacing:-1px; color:var(--dark); margin-bottom:10px; }
.nl-sub { font-size:14px; color:var(--g5); font-weight:300; margin-bottom:28px; }
.nl-form { display:flex; gap:10px; max-width:400px; margin:0 auto; }
@media(max-width:480px){ .nl-form { flex-direction:column; } }
.nl-input {
  flex:1; padding:13px 18px; border:1.5px solid var(--g3);
  border-radius:12px; font-size:13px; color:var(--ink); background:var(--w); outline:none;
  transition:all .3s;
}
.nl-input:focus { border-color:var(--a1); box-shadow:0 0 0 3px var(--focus-ring-soft, rgba(217,127,74,.1)); }
.nl-btn {
  padding:13px 24px; background:var(--dark); color:#fff;
  border:none; border-radius:12px; font-size:13px; font-weight:700;
  white-space:nowrap; transition:all .3s;
}
.nl-btn:hover { background:var(--a2); transform:translateY(-1px); }

/* ══════════════ FOOTER ══════════════ */
footer { background:var(--dark); color:rgba(255,255,255,.6); }

/* Footer decorative image: muted photo under standard dark overlay (text stays readable) */
.vpb-site-footer--has-bg-image {
  position: relative;
  isolation: isolate;
  background-color: var(--dark);
}
.vpb-site-footer--has-bg-image::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image: var(--footer-bg-image);
  background-size: var(--footer-bg-size, cover);
  background-position: center;
  background-repeat: no-repeat;
}
.vpb-site-footer--has-bg-image::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: var(--dark);
  opacity: 0.88;
}
.ft-top {
  display:grid; grid-template-columns:1.8fr 1fr 1fr 1fr;
  gap:48px; padding:60px 40px 40px;
}
@media(max-width:900px){ .ft-top { grid-template-columns:1fr 1fr; gap:32px; } }
@media(max-width:560px){ .ft-top { grid-template-columns:1fr; padding:40px 20px 28px; gap:28px; } }

.ft-logo { font-size:24px; font-weight:800; letter-spacing:-1px; color:#fff; margin-bottom:14px; display:block; }
.ft-logo-a { color:var(--a1); }
.ft-desc { font-size:13px; color:rgba(255,255,255,.45); line-height:1.85; margin-bottom:22px; }
.ft-soc { display:flex; gap:10px; flex-wrap:wrap; }
.ft-soc-a {
  width:33px; height:33px; border-radius:11px;
  border:1px solid rgba(255,255,255,.12);
  display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.55); transition:all .25s;
}
.ft-soc-a .ft-soc-i {
  font-size:13px;
  color:inherit;
}
.ft-soc-a .soc-custom-icon {
  width:13px; height:13px; object-fit:contain; transition:filter .25s;
}
.ft-soc-a:hover {
  background:#fff;
  border-color:#fff;
  color:var(--dark);
  transform:translateY(0);
}
.ft-soc-a:hover .ft-soc-i { color:var(--dark); }
.ft-soc-a:hover .soc-custom-icon { filter:brightness(0); }
.ft-col h5 {
  font-size:12px; font-weight:800; letter-spacing:1px; text-transform:uppercase;
  color:rgba(255,255,255,.8); margin-bottom:18px; padding-bottom:12px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.ft-col ul { list-style:none; }
.ft-col li { margin-bottom:9px; }
.ft-col a { font-size:13px; color:rgba(255,255,255,.45); transition:color .2s; display:flex; align-items:center; gap:7px; }
.ft-col a:hover { color:rgba(255,255,255,.9); }
.ft-col a i { font-size:9px; color:var(--a1); }
.ft-bottom {
  display:flex; align-items:center; justify-content:center;
  padding:18px 40px; border-top:1px solid rgba(255,255,255,.07);
  flex-wrap:wrap; gap:12px;
  text-align:center;
}
@media(max-width:560px){ .ft-bottom { padding:16px 20px; } }
.ft-copy { font-size:11px; color:rgba(255,255,255,.3); margin:0; width:100%; text-align:center; }
.ft-copy--protected a { color:rgba(255,255,255,.45); text-decoration:none; transition:color .2s; }
.ft-copy--protected a:hover { color:var(--a1); }

.ft-top--module {
  grid-template-columns: 1fr 2fr 1fr;
}
@media(max-width:900px){ .ft-top--module { grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ .ft-top--module { grid-template-columns:1fr; } }

.ft-licenses-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.ft-license-item {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:72px;
  padding:8px;
  border-radius:10px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  overflow:hidden;
}
.ft-license-item img { max-width:100%; height:auto; display:block; }

.ft-contact-list { list-style:none; margin-bottom:16px; }
.ft-contact-list li { margin-bottom:10px; }
.ft-col--contact .ft-contact-list a i { font-size:13px; color:var(--a1); }
.ft-contact-address {
  display:flex;
  align-items:flex-start;
  gap:8px;
  font-size:12px;
  color:rgba(255,255,255,.45);
  line-height:1.7;
}
.ft-contact-address i { color:var(--a1); margin-top:4px; flex-shrink:0; }
.ft-col--contact .ft-soc { margin-top:4px; }
.pay-logos { display:flex; gap:7px; }
.pay-tag { padding:4px 10px; border:1px solid rgba(255,255,255,.1); border-radius:6px; font-size:10px; font-weight:700; color:rgba(255,255,255,.4); }

/* ══════════════ TOAST ══════════════ */
#toasts { position:fixed; bottom:24px; left:24px; z-index:9999; display:flex; flex-direction:column; gap:9px; }
.toast {
  background:var(--dark); color:#fff;
  padding:12px 18px; border-radius:12px;
  font-size:13px; font-weight:500;
  display:flex; align-items:center; gap:9px;
  box-shadow:var(--shadow-lg); max-width:290px;
  animation:tin .4s var(--ease);
  border-right:3px solid var(--a1);
}
@keyframes tin { from{transform:translateX(-20px);opacity:0} }
.toast i { color:var(--a1); }

/* ══════════════ FEATURES ROW ══════════════ */
.feats { display:grid; grid-template-columns:repeat(4,1fr); background:var(--g2); }
@media(max-width:768px){ .feats { grid-template-columns:repeat(2,1fr); } }
.feat {
  padding:28px 24px; display:flex; align-items:flex-start; gap:14px;
  border-left:1px solid var(--border);
}
.feat:last-child { border-left:none; }
@media(max-width:768px){
  .feat:nth-child(2){ border-left:none; }
  .feat:nth-child(3){ border-top:1px solid var(--border); }
  .feat:nth-child(4){ border-top:1px solid var(--border); border-left:none; }
}
.feat-ico { width:44px; height:44px; border-radius:12px; background:var(--w); display:flex; align-items:center; justify-content:center; font-size:19px; flex-shrink:0; box-shadow:var(--shadow-xs); }
.feat-txt strong { display:block; font-size:13px; font-weight:700; color:var(--dark); margin-bottom:3px; }
.feat-txt span { font-size:12px; color:var(--g5); line-height:1.5; }

/* ══════════════ REVEAL ══════════════ */
.rv { opacity:0; transform:translateY(22px); transition:opacity .55s ease,transform .55s ease; }
.rv.in { opacity:1; transform:none; }
.rv1 { transition-delay:.08s; }
.rv2 { transition-delay:.16s; }
.rv3 { transition-delay:.24s; }
.rv4 { transition-delay:.32s; }
