/* =========================================================
   GOHARASA - LUXE STONE UI 2026 (MOBILE-FIRST, FAST)
   هدف: لوک شیک + حس لوکس سنگ/طلا + UX موبایل بی‌نقص
   نکته: ساختار کلاس‌ها دست‌نخورده (همین کلاس‌های فعلی شما)
   ========================================================= */

/* -----------------------------
   0) PERFORMANCE + SAFETY
------------------------------ */
@media (prefers-reduced-motion: reduce){
  *{ animation: none !important; transition: none !important; scroll-behavior:auto !important; }
}
*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; }
img{ max-width:100%; height:auto; display:block; }
button, input, select, textarea{ font: inherit; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }

/* -----------------------------
   1) DESIGN TOKENS (Premium)
------------------------------ */
:root{
  /* base */
  --bg:        #F7F4EF;     /* warm paper */
  --surface:   #FFFFFF;     /* cards */
  --surface-2: #FBFAF8;     /* sections */
  --surface-3: #F3EFE8;     /* inputs bg */
  --ink:       #120B0B;     /* primary text */
  --ink-2:     #3C2F2B;     /* secondary */
  --ink-3:     #7A6A62;     /* muted */

  --border:    rgba(18,11,11,.10);
  --border-2:  rgba(18,11,11,.06);

  /* brand */
  --accent:    #7E0E46;     /* burgundy */
  --accent-2:  #4F0627;
  --gold:      #C5A059;     /* matte gold */
  --gold-2:    #E2C77C;

  /* system */
  --danger:    #E74C3C;
  --ok:        #10B981;

  /* radius */
  --r-xs: 10px;
  --r-sm: 14px;
  --r-md: 18px;
  --r-lg: 22px;
  --r-xl: 28px;

  /* shadows */
  --shadow-1:  0 10px 24px rgba(18,11,11,.06);
  --shadow-2:  0 18px 46px rgba(18,11,11,.10);
  --shadow-3:  0 26px 68px rgba(18,11,11,.14);

  /* effects */
  --ring:      0 0 0 4px rgba(197,160,89,.22);
  --tap:       44px;
  --container: 1200px;

  /* gradients */
  --grad-accent: linear-gradient(135deg, var(--accent), var(--accent-2));
  --grad-gold:   linear-gradient(135deg, rgba(197,160,89,.98), rgba(226,199,124,.98));
  --grad-line:   linear-gradient(90deg, transparent, rgba(197,160,89,.85), transparent);

  /* timing */
  --t-fast: 160ms ease;
  --t:      220ms ease;
}

/* Optional: Dark mode (اگر دوست داشتی فعال بماند) */
@media (prefers-color-scheme: dark){
  :root{
    --bg:        #0C0A0A;
    --surface:   #141010;
    --surface-2: #100C0C;
    --surface-3: #1B1414;

    --ink:       rgba(255,255,255,.92);
    --ink-2:     rgba(255,255,255,.80);
    --ink-3:     rgba(255,255,255,.62);

    --border:    rgba(255,255,255,.10);
    --border-2:  rgba(255,255,255,.06);

    --shadow-1:  0 10px 26px rgba(0,0,0,.35);
    --shadow-2:  0 18px 54px rgba(0,0,0,.45);
    --shadow-3:  0 26px 78px rgba(0,0,0,.55);
  }
}

/* -----------------------------
   2) BASE + TYPOGRAPHY SCALE
------------------------------ */
body{
  font-family: 'Vazirmatn', sans-serif;
  direction: rtl;
  background: var(--bg);
  color: var(--ink);
  line-height: 1.75;
  overflow-x:hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.container{
  width:100%;
  max-width: var(--container);
  margin:0 auto;
  padding: 0 14px; /* mobile-first */
}

/* better focus */
:where(a,button,input,select,textarea):focus-visible{
  outline: none;
  box-shadow: var(--ring);
  border-radius: 12px;
}

/* subtle selection */
::selection{
  background: rgba(197,160,89,.28);
  color: var(--ink);
}

/* section titles */
.section-title{
  text-align:center;
  font-weight: 950;
  font-size: clamp(1.15rem, 2.6vw, 1.55rem);
  letter-spacing: -.25px;
  margin: 22px 0 14px;
  position:relative;
}
.section-title::after{
  content:"";
  display:block;
  width: 78px;
  height: 3px;
  background: var(--grad-line);
  margin: 10px auto 0;
  border-radius: 999px;
}

/* -----------------------------
   3) GLOBAL UI PRIMITIVES (بدون تغییر ساختار)
------------------------------ */
.muted{ color: var(--ink-3); }

.card-like{
  background: var(--surface);
  border: 1px solid var(--border-2);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-1);
}

.chip-like{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid var(--border-2);
  background: rgba(255,255,255,.75);
}

@supports (backdrop-filter: blur(10px)){
  .chip-like{
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }
}

/* -----------------------------
   4) HEADER (اگر هدر شما CSS جدا دارد، این بخش با inline شما تداخل ندارد)
------------------------------ */
.site-header{
  position: sticky;
  top:0;
  z-index:1000;
  background: rgba(255,255,255,.92);
  border-bottom: 1px solid var(--border-2);
  box-shadow: 0 10px 26px rgba(18,11,11,.06);
}

@supports (backdrop-filter: blur(12px)){
  .site-header{
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }
}

.header-container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  padding: 10px 0;
}

/* header buttons */
.header-buttons{
  display:flex;
  align-items:center;
  gap: 10px;
}

.header-buttons .icon-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width: var(--tap);
  height: var(--tap);
  border-radius: 14px;
  background: var(--surface);
  border: 1px solid var(--border-2);
  box-shadow: 0 10px 22px rgba(18,11,11,.06);
  font-size: 1.05rem;
  position: relative;
  transition: transform var(--t), box-shadow var(--t), border-color var(--t), filter var(--t);
}
.header-buttons .icon-btn:active{ transform: scale(.98); }

@media (hover:hover){
  .header-buttons .icon-btn:hover{
    transform: translateY(-2px);
    box-shadow: 0 18px 46px rgba(18,11,11,.10);
    border-color: rgba(197,160,89,.32);
    filter: brightness(1.01);
  }
}

.cart-badge{
  position:absolute;
  top: -7px;
  right: -7px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: #D32F2F;
  color:#fff;
  font-size: 10px;
  font-weight: 900;
  display:flex;
  align-items:center;
  justify-content:center;
  border: 2px solid #fff;
}

.login-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 8px;
  height: var(--tap);
  padding: 0 12px;
  border-radius: 999px;
  background: var(--grad-accent);
  color:#fff;
  font-weight: 950;
  font-size: .86rem;
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 18px 38px rgba(126,14,70,.20);
  transition: transform var(--t), box-shadow var(--t), filter var(--t);
  white-space: nowrap;
}
.login-btn:active{ transform: scale(.99); }
@media (hover:hover){
  .login-btn:hover{
    transform: translateY(-2px);
    box-shadow: 0 24px 56px rgba(126,14,70,.26);
    filter: brightness(1.04);
  }
}
@media (max-width: 420px){
  .login-btn span{ display:none; }
  .login-btn{ padding: 0 10px; }
}

/* -----------------------------
   5) NAV + DROPDOWN + OFFCANVAS (ساختار شما)
------------------------------ */
.mobile-menu-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width: var(--tap);
  height: var(--tap);
  border-radius: 14px;
  background: var(--surface);
  border: 1px solid var(--border-2);
  box-shadow: 0 10px 22px rgba(18,11,11,.06);
  cursor:pointer;
  transition: transform var(--t-fast), box-shadow var(--t), border-color var(--t);
}
.mobile-menu-toggle:active{ transform: scale(.98); }
@media (hover:hover){
  .mobile-menu-toggle:hover{ border-color: rgba(197,160,89,.32); box-shadow: 0 18px 46px rgba(18,11,11,.10); }
}

.main-nav{ display:none; }
.main-nav ul{ display:flex; gap: 18px; align-items:center; }
.main-nav > ul > li{ position:relative; }

.main-nav > ul > li > a{
  font-weight: 950;
  font-size: .98rem;
  color: var(--ink);
  padding: 10px 0;
  display:flex;
  align-items:center;
  gap: 6px;
  position:relative;
}

.main-nav > ul > li > a::after{
  content:"";
  position:absolute;
  right:0;
  bottom: -2px;
  width: 0;
  height: 2px;
  background: var(--grad-line);
  border-radius: 999px;
  transition: width var(--t);
}

@media (hover:hover){
  .main-nav > ul > li:hover > a{ color: var(--accent); }
  .main-nav > ul > li:hover > a::after{ width: 100%; }
}

/* dropdown desktop */
.dropdown-menu{
  position:absolute;
  top: calc(100% + 10px);
  right:0;
  width: 250px;
  background: var(--surface);
  border: 1px solid rgba(197,160,89,.25);
  border-radius: 18px;
  box-shadow: var(--shadow-2);
  padding: 8px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity var(--t), transform var(--t), visibility var(--t);
  z-index: 9999;
  overflow:hidden;
}
.dropdown-menu a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 12px 12px;
  border-radius: 14px;
  font-weight: 900;
  font-size: .92rem;
  color: var(--ink);
  transition: background var(--t), color var(--t), transform var(--t-fast);
}
@media (hover:hover){
  .dropdown:hover .dropdown-menu{
    opacity:1;
    visibility:visible;
    transform: translateY(0);
  }
  .dropdown-menu a:hover{
    background: rgba(197,160,89,.12);
    color: var(--accent);
    transform: translateX(-1px);
  }
}

/* off-canvas mobile nav (با .active توسط JS شما) */
@media (max-width: 992px){
  .main-nav{
    display:flex;
    position: fixed;
    top: 0;
    right: 0;
    width: min(86vw, 420px);
    height: 100vh;
    background: var(--surface);
    border-left: 1px solid rgba(197,160,89,.22);
    box-shadow: -18px 0 56px rgba(0,0,0,.16);
    padding: 18px 16px 22px;
    transform: translateX(110%);
    transition: transform 260ms ease;
    z-index: 1001;
    flex-direction: column;
    gap: 10px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .main-nav.active{ transform: translateX(0); }

  .main-nav ul{
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
  }
  .main-nav li{ width:100%; }
  .main-nav a{
    width:100%;
    padding: 14px 12px;
    border-radius: 16px;
    border: 1px solid transparent;
    background: transparent;
  }
  .main-nav a:active{ transform: scale(.99); }
  .main-nav > ul > li > a::after{ display:none; }

  /* Mobile dropdown: by .dropdown.active */
  .dropdown-menu{
    position: static;
    width: 100%;
    opacity: 1;
    visibility: visible;
    transform: none;
    box-shadow: none;
    border: 1px solid var(--border-2);
    background: var(--surface-2);
    display: none;
    margin-top: 6px;
    padding: 6px;
    border-radius: 16px;
  }
  .dropdown.active .dropdown-menu{ display:block; }
  .dropdown-menu a{ padding: 12px 10px; }
}

/* -----------------------------
   6) HERO (لوکس + تمیز)
------------------------------ */
.hero-section{
  padding: 22px 0 10px;
  background:
    radial-gradient(900px 360px at 80% -10%, rgba(197,160,89,.18), transparent 60%),
    radial-gradient(680px 320px at 8% 0%, rgba(126,14,70,.10), transparent 60%),
    linear-gradient(to bottom, #fff, var(--bg));
  border-bottom: 1px solid rgba(18,11,11,.06);
}

.hero-content{
  text-align: center;
  padding: 6px 0 12px;
}
.hero-content h2{
  font-size: clamp(1.45rem, 4.4vw, 2.75rem);
  font-weight: 980;
  letter-spacing: -.35px;
  line-height: 1.22;
}
.hero-content h2 span{ color: var(--accent); }
.hero-content p{
  margin: 10px auto 14px;
  max-width: 660px;
  color: var(--ink-2);
  font-size: clamp(.95rem, 2.4vw, 1.12rem);
}

/* search */
.product-search-box{
  background: var(--surface);
  border: 1px solid rgba(18,11,11,.10);
  border-radius: 20px;
  box-shadow: 0 22px 54px rgba(18,11,11,.08);
  padding: 10px;
  max-width: 780px;
  margin: 0 auto;
  display:flex;
  flex-direction: column;
  gap: 10px;
}

.search-input-group{
  display:flex;
  align-items:center;
  gap: 10px;
  padding: 12px 12px;
  border: 1px solid rgba(18,11,11,.08);
  border-radius: 16px;
  background: linear-gradient(180deg, #fff, rgba(251,250,248,.9));
}
.search-input-group i{
  color: var(--gold);
  font-size: 1.15rem;
  flex: 0 0 auto;
}
.search-input-group input,
.search-input-group select{
  width:100%;
  border:none;
  outline:none;
  font-size: 1rem;
  color: var(--ink);
  background: transparent;
}
.search-submit-btn{
  width: 100%;
  height: 50px;
  border-radius: 16px;
  border: none;
  cursor:pointer;
  font-weight: 980;
  font-size: 1rem;
  color:#fff;
  background: var(--grad-accent);
  box-shadow: 0 20px 44px rgba(126,14,70,.20);
  transition: transform var(--t), box-shadow var(--t), filter var(--t);
}
.search-submit-btn:active{ transform: scale(.99); }
@media (hover:hover){
  .search-submit-btn:hover{ filter: brightness(1.04); box-shadow: 0 26px 66px rgba(126,14,70,.26); }
}

/* Desktop search inline */
@media (min-width: 992px){
  .hero-section{ padding: 46px 0 26px; }
  .product-search-box{
    flex-direction: row;
    align-items: center;
    gap: 12px;
    border-radius: 999px;
    padding: 10px;
  }
  .search-input-group{
    border-radius: 999px;
    padding: 12px 16px;
  }
  .search-submit-btn{
    width: 58px;
    height: 58px;
    border-radius: 999px;
    font-size: 1.15rem;
  }
}

/* -----------------------------
   7) PRODUCT GRID + CARDS (لوکس + سریع)
------------------------------ */
.product-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 14px 0 30px;
}

/* card */
.product-card{
  background: var(--surface);
  border: 1px solid rgba(18,11,11,.08);
  border-radius: var(--r-xl);
  box-shadow: 0 12px 26px rgba(18,11,11,.06);
  overflow:hidden;
  position:relative;
  transition: transform var(--t), box-shadow var(--t), border-color var(--t), filter var(--t);
  will-change: transform;
}

/* image */
.product-image-container{
  position:relative;
  width:100%;
  padding-top: 100%;
  background:
    radial-gradient(220px 140px at 30% 20%, rgba(197,160,89,.20), transparent 60%),
    linear-gradient(180deg, #F2F0ED, #ECE7E0);
}
.product-image-container img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit: cover;
  transform: scale(1.01);
  transition: transform 340ms ease;
}

.product-info{
  padding: 12px 12px 14px;
  text-align: center;
}
.product-info h3{
  font-size: .98rem;
  font-weight: 980;
  line-height: 1.35;
  margin-bottom: 6px;
  letter-spacing: -.15px;
}
.product-info .gem-type{
  display:block;
  font-size: .85rem;
  color: var(--ink-3);
  margin-bottom: 10px;
}

/* price row */
.product-meta{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;
}
.price{
  font-weight: 980;
  color: var(--accent);
  font-size: 1.06rem;
}

/* add-to-cart */
.add-to-cart-btn{
  width: 42px;
  height: 42px;
  border-radius: 14px;
  border: 1px solid rgba(197,160,89,.28);
  background: var(--grad-gold);
  color: #fff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow: 0 16px 36px rgba(197,160,89,.20);
  cursor:pointer;
  transition: transform var(--t), filter var(--t), box-shadow var(--t);
  flex: 0 0 auto;
}
.add-to-cart-btn:disabled{ opacity:.6; cursor:not-allowed; box-shadow:none; }
.add-to-cart-btn:active{ transform: scale(.98); }

@media (hover:hover){
  .product-card:hover{
    transform: translateY(-5px);
    box-shadow: var(--shadow-3);
    border-color: rgba(197,160,89,.36);
    filter: brightness(1.01);
  }
  .product-card:hover .product-image-container img{ transform: scale(1.07); }
  .add-to-cart-btn:hover{
    filter: brightness(1.03);
    transform: translateY(-1px);
    box-shadow: 0 22px 52px rgba(197,160,89,.26);
  }
}

/* out of stock */
.out-of-stock-overlay{
  position:absolute;
  inset:0;
  background: rgba(255,255,255,.86);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index: 2;
}
.out-of-stock-label{
  background: #fff;
  border: 1px solid rgba(231,76,60,.35);
  color: #B3261E;
  padding: 10px 14px;
  border-radius: 999px;
  font-weight: 980;
  box-shadow: 0 14px 34px rgba(0,0,0,.08);
}

/* grid scaling */
@media (min-width: 600px){
  .product-grid{ grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
}
@media (min-width: 992px){
  .container{ padding: 0 20px; }
  .product-grid{ grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; padding: 22px 0 52px; }
  .product-info h3{ font-size: 1.06rem; }
  .price{ font-size: 1.16rem; }
}

/* -----------------------------
   8) PRODUCT DETAILS (موبایل اول، تمیز)
------------------------------ */
.breadcrumb{
  margin: 14px 0;
  font-size: .85rem;
  color: var(--ink-3);
}
.breadcrumb a{ color: var(--ink-2); }
@media (hover:hover){ .breadcrumb a:hover{ color: var(--accent); } }

.product-details-layout{
  display:grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin-top: 10px;
}

/* gallery */
.main-image-container{
  background: var(--surface);
  border: 1px solid rgba(18,11,11,.08);
  border-radius: var(--r-xl);
  padding: 12px;
  box-shadow: var(--shadow-1);
}
.main-image-container img{
  width:100%;
  border-radius: 18px;
}

.thumbnail-list{
  display:flex;
  gap: 10px;
  justify-content: center;
  margin-top: 10px;
  flex-wrap: wrap;
}
.thumb{
  width: 68px;
  height: 68px;
  border-radius: 16px;
  border: 2px solid rgba(18,11,11,.10);
  object-fit: cover;
  opacity: .78;
  transition: opacity var(--t), border-color var(--t), transform var(--t-fast);
}
.thumb.active{ opacity: 1; border-color: rgba(126,14,70,.45); }
@media (hover:hover){
  .thumb:hover{ opacity: 1; transform: translateY(-1px); border-color: rgba(197,160,89,.45); }
}

.product-title-single{
  font-size: clamp(1.25rem, 3.5vw, 1.9rem);
  font-weight: 980;
  margin: 6px 0 8px;
  letter-spacing: -.25px;
}
.product-price-single{
  font-size: clamp(1.2rem, 3.2vw, 1.75rem);
  font-weight: 980;
  color: var(--accent);
  margin-bottom: 10px;
}
.short-description{
  color: var(--ink-2);
  font-size: .98rem;
  margin-bottom: 12px;
}

/* specs */
.specs-table{
  background: linear-gradient(180deg, #FFF7E3, #FFFDF8);
  border: 1px solid rgba(197,160,89,.35);
  border-radius: var(--r-xl);
  padding: 14px;
  box-shadow: 0 16px 38px rgba(197,160,89,.12);
}
.spec-row{
  display:flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px dashed rgba(197,160,89,.25);
}
.spec-row:last-child{ border-bottom: none; }
.spec-key{ font-weight: 950; color: var(--ink-2); }

/* purchase */
.purchase-box{
  background: var(--surface);
  border: 1px solid rgba(18,11,11,.08);
  border-radius: var(--r-xl);
  padding: 14px;
  box-shadow: var(--shadow-1);
}

.quantity-selector{
  display:flex;
  align-items:center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 12px;
}
.qty-btn{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  border: 1px solid rgba(18,11,11,.12);
  background: #fff;
  font-size: 1.15rem;
  cursor:pointer;
  transition: transform var(--t-fast), border-color var(--t);
}
.qty-btn:active{ transform: scale(.98); }

#product-quantity{
  width: 76px;
  height: 44px;
  border-radius: 14px;
  border: 1px solid rgba(18,11,11,.12);
  text-align:center;
  font-weight: 950;
  font-size: 1rem;
}

/* CTA */
.purchase-box .add-to-cart-btn{
  width: 100%;
  height: 54px;
  border-radius: 18px;
  border: none;
  background: var(--grad-accent);
  box-shadow: 0 22px 52px rgba(126,14,70,.20);
  font-weight: 980;
  font-size: 1.02rem;
  gap: 10px;
}
.purchase-box .add-to-cart-btn:active{ transform: scale(.99); }

/* guarantee */
.guarantee-features{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(18,11,11,.08);
}
.feature{
  background: linear-gradient(180deg, var(--surface-2), rgba(255,255,255,.70));
  border: 1px solid rgba(18,11,11,.08);
  border-radius: 18px;
  padding: 10px;
  text-align:center;
  color: var(--ink-2);
  font-size: .88rem;
}
.feature i{
  display:block;
  font-size: 1.25rem;
  color: var(--gold);
  margin-bottom: 6px;
}

@media (min-width: 992px){
  .product-details-layout{ grid-template-columns: 1.1fr .9fr; gap: 20px; align-items: start; }
  .guarantee-features{ grid-template-columns: repeat(3, minmax(0,1fr)); }
}

/* -----------------------------
   9) CART (موبایل کارتی، دسکتاپ جدول)
------------------------------ */
.cart-page-container{ margin: 16px 0 40px; }
.cart-title{
  text-align:center;
  font-size: 1.35rem;
  font-weight: 980;
  margin: 12px 0 14px;
}

.cart-table{
  width:100%;
  border-collapse: separate;
  border-spacing: 0 10px;
}
.cart-table th{
  text-align:right;
  padding: 12px;
  color: var(--ink-2);
  font-weight: 950;
  font-size: .9rem;
}
.cart-table tbody tr{
  background: var(--surface);
  border: 1px solid rgba(18,11,11,.08);
  box-shadow: var(--shadow-1);
  border-radius: var(--r-xl);
  overflow:hidden;
}
.cart-table td{ padding: 12px; vertical-align: middle; }

.cart-item-image img{
  width: 74px;
  height: 74px;
  border-radius: 18px;
  object-fit: cover;
  border: 1px solid rgba(18,11,11,.08);
}
.cart-item-title{ font-weight: 980; color: var(--ink); }

.qty-input{
  width: 70px;
  height: 42px;
  border-radius: 14px;
  border: 1px solid rgba(18,11,11,.12);
  text-align:center;
  font-weight: 980;
}
.remove-btn{
  border:none;
  background: transparent;
  color: var(--danger);
  font-size: 1.25rem;
  cursor:pointer;
  transition: transform var(--t-fast);
}
.remove-btn:active{ transform: scale(.96); }

/* summary */
.cart-summary{
  margin-top: 14px;
  background: var(--surface);
  border: 1px solid rgba(18,11,11,.08);
  border-radius: var(--r-xl);
  padding: 14px;
  box-shadow: var(--shadow-1);
}
.cart-summary h3{
  font-weight: 980;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(18,11,11,.08);
}
.summary-row.total{
  display:flex;
  align-items:center;
  justify-content: space-between;
  font-weight: 980;
}
.final-price{ color: var(--accent); font-size: 1.2rem; }

/* actions */
.cart-actions{
  display:grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(18,11,11,.08);
}
.btn-cart-action{
  height: 54px;
  border-radius: 18px;
  font-weight: 980;
  font-size: 1rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  transition: transform var(--t-fast), box-shadow var(--t), filter var(--t);
}
.btn-continue{
  background: #fff;
  border: 1px solid rgba(197,160,89,.45);
  color: var(--ink);
}
.btn-checkout{
  border: none;
  color: #fff;
  background: var(--grad-gold);
  box-shadow: 0 22px 52px rgba(197,160,89,.20);
}
.btn-cart-action:active{ transform: scale(.99); }

@media (hover:hover){
  .btn-cart-action:hover{ transform: translateY(-1px); filter: brightness(1.02); box-shadow: 0 22px 56px rgba(18,11,11,.10); }
  .btn-checkout:hover{ box-shadow: 0 28px 70px rgba(197,160,89,.26); }
}

@media (min-width: 992px){
  .cart-actions{ grid-template-columns: 1fr 1fr; }
  .cart-summary{ max-width: 420px; margin-right: auto; }
}

/* mobile card view (با data-label شما) */
@media (max-width: 768px){
  .cart-table thead{ display:none; }
  .cart-table, .cart-table tbody, .cart-table tr, .cart-table td{ display:block; width:100%; }
  .cart-table tbody tr{ padding: 12px; }
  .cart-table td{
    display:flex;
    align-items:center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(18,11,11,.06);
  }
  .cart-table td:last-child{ border-bottom:none; }
  .cart-table td::before{
    content: attr(data-label);
    font-weight: 980;
    color: var(--ink-2);
  }
  .cart-item-image::before{ display:none; }
}

/* -----------------------------
   10) FOOTER (لوکس، مینیمال)
------------------------------ */
.site-footer{
  background: #120B0B;
  color: rgba(255,255,255,.84);
  padding: 48px 0 22px;
  margin-top: 44px;
  border-top: 1px solid rgba(255,255,255,.06);
}

.footer-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 18px;
}
.footer-section{
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: var(--r-xl);
  padding: 14px;
}
.footer-section h3{
  color: var(--gold-2);
  font-weight: 980;
  margin-bottom: 10px;
  font-size: 1.05rem;
}
.footer-section ul li{ margin-bottom: 8px; }
.footer-section a{ color: rgba(255,255,255,.84); }
@media (hover:hover){
  .footer-section a:hover{ color: var(--gold-2); }
}

.social-links{
  display:flex;
  gap: 12px;
  margin-top: 10px;
  justify-content: flex-start;
}
.social-links a{ font-size: 1.35rem; }

.footer-bottom{
  text-align:center;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.08);
  font-size: .85rem;
  opacity: .85;
}

/* badges */
.footer-trust-badges,
.footer-trust-badges-column,
.payment-logos-container{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap: wrap;
  gap: 14px;
}
.footer-trust-badges a,
.footer-trust-badges-column a,
.payment-logos-container a{
  background: #fff;
  border-radius: 14px;
  padding: 6px;
  box-shadow: 0 14px 34px rgba(0,0,0,.16);
  transition: transform var(--t-fast), box-shadow var(--t);
  line-height: 0;
}
.footer-trust-badges a:active,
.footer-trust-badges-column a:active,
.payment-logos-container a:active{ transform: scale(.99); }
@media (hover:hover){
  .footer-trust-badges a:hover,
  .footer-trust-badges-column a:hover,
  .payment-logos-container a:hover{
    transform: translateY(-2px);
    box-shadow: 0 22px 60px rgba(0,0,0,.22);
  }
}
.footer-trust-badges img{ height: 78px; width:auto; }
.footer-trust-badges-column a img,
.payment-logos-container a img{ width: 86px; height:auto; }

@media (min-width: 768px){
  .footer-grid{ grid-template-columns: 1fr 1fr; }
}
@media (min-width: 992px){
  .footer-grid{ grid-template-columns: repeat(4, 1fr); }
}

/* -----------------------------
   11) MICRO FIXES (SITE-WIDE)
------------------------------ */
i{ line-height: 1; }
section{ padding: 8px 0; }

/* nicer scrollbars (WebKit) */
@media (hover:hover){
  ::-webkit-scrollbar{ width: 10px; height: 10px; }
  ::-webkit-scrollbar-track{ background: rgba(18,11,11,.06); border-radius: 999px; }
  ::-webkit-scrollbar-thumb{ background: rgba(197,160,89,.55); border-radius: 999px; }
  ::-webkit-scrollbar-thumb:hover{ background: rgba(197,160,89,.75); }
}
