  /* [فونت محلی] Vazirmatn — self-hosted تا وابستگیِ Google Fonts حذف شود (آفلاین/بدونِ VPN هم کار کند) */
  @font-face{ font-family:'Vazirmatn'; font-style:normal; font-weight:400; font-display:swap; src:url('../fonts/vazirmatn/Vazirmatn-Regular.woff2') format('woff2'); }
  @font-face{ font-family:'Vazirmatn'; font-style:normal; font-weight:500; font-display:swap; src:url('../fonts/vazirmatn/Vazirmatn-Medium.woff2') format('woff2'); }
  @font-face{ font-family:'Vazirmatn'; font-style:normal; font-weight:600; font-display:swap; src:url('../fonts/vazirmatn/Vazirmatn-SemiBold.woff2') format('woff2'); }
  @font-face{ font-family:'Vazirmatn'; font-style:normal; font-weight:700; font-display:swap; src:url('../fonts/vazirmatn/Vazirmatn-Bold.woff2') format('woff2'); }
  @font-face{ font-family:'Vazirmatn'; font-style:normal; font-weight:800; font-display:swap; src:url('../fonts/vazirmatn/Vazirmatn-ExtraBold.woff2') format('woff2'); }
  @font-face{ font-family:'Vazirmatn'; font-style:normal; font-weight:900; font-display:swap; src:url('../fonts/vazirmatn/Vazirmatn-Black.woff2') format('woff2'); }

  :root{
    --ink:#211530;
    --ink-soft:#4a3b57;
    --surface:#FFF8F5;
    --card:#FFFFFF;
    --hot:#E31C5F;
    --hot-dark:#B8134B;
    --gold:#C99A2E;
    --mint:#1FA37D;
    --line:#F0E2E6;
    --line-strong:#E5D3D8;
    --radius:16px;
    --shadow: 0 8px 24px -12px rgba(33,21,48,.18);
    --shadow-lg: 0 20px 44px -16px rgba(33,21,48,.28);

    /* [ui-polish] placeholder / muted text — darkened for ≥4.5:1 on --surface */
    --placeholder:#8a7791;
    --price-was:#8b7d90;

    /* [ui-polish] motion — shared easing + duration steps */
    --ease:cubic-bezier(.4,0,.2,1);
    --dur-fast:.12s;
    --dur:.18s;
    --dur-slow:.3s;

    /* [ui-polish] spacing scale */
    --space-1:4px;
    --space-2:8px;
    --space-3:12px;
    --space-4:16px;
    --space-6:24px;
    --space-8:32px;
    --space-10:40px;
  }

  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--surface);
    color:var(--ink);
    font-family:'Vazirmatn', sans-serif;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;touch-action:manipulation;}
  button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;touch-action:manipulation;}
  /* [a11y] هر تیکه‌ی تعاملیِ دیگه (لیبل‌های toggle مثل gift-opt، چک‌باکس/رادیو، select، جمع‌شونده‌ها) هم
     باید بدون تاخیرِ ۳۰۰ms/زوم دوضربه‌ای لمسی جواب بده — نه فقط a/button */
  label,input,select,summary,[role="button"]{touch-action:manipulation;}
  ul{margin:0;padding:0;list-style:none;}
  h1,h2,h3{margin:0;}

  :focus-visible{
    outline:3px solid var(--gold);
    outline-offset:2px;
    border-radius:6px;
  }

  .wrap{
    max-width:none;
    margin:0 auto;
    /* فقط ~۲ سانت فاصله از هر طرف روی دسکتاپ؛ روی صفحه‌های باریک‌تر خودکار کم می‌شود */
    padding-inline:clamp(16px, 5vw, 2cm);
  }

  /* [دسترسی‌پذیری] پرش به محتوای اصلی — فقط وقتی با کیبورد فوکوس بگیره دیده می‌شه */
  .skip-link{
    position:absolute;
    top:-100px;
    right:16px;
    z-index:1000;
    background:var(--hot);
    color:#fff;
    font-weight:700;
    font-size:13px;
    padding:10px 18px;
    border-radius:0 0 10px 10px;
    transition:top .15s var(--ease);
  }
  .skip-link:focus{
    top:0;
    outline:none;
  }

  /* ===== [B0] نوار اطلاع‌رسانی بالای صفحه ===== */
  .ribbon{
    background:var(--ink);
    color:#F3E9D8;
    font-size:12.5px;
    padding:8px 0;
    overflow:hidden;
    white-space:nowrap;
  }
  .ribbon-track{
    display:inline-flex;
    gap:48px;
    animation:marquee 28s linear infinite;
    /* [ui-polish] was 100% — ribbon sat empty for ~14s on load; small lead-in keeps content on screen */
    padding-inline-start:25%;
  }
  .ribbon-track span{display:inline-flex;align-items:center;gap:8px;}
  .ribbon-track i{color:var(--gold);}
  @keyframes marquee{
    from{transform:translateX(0);}
    to{transform:translateX(-100%);}
  }
  @media (prefers-reduced-motion: reduce){
    .ribbon-track{animation:none;padding-inline-start:0;}
  }
  /* [هدر صفحه] نوارِ عکسِ باریکِ تمام‌عرض، درست زیرِ نوارِ اطلاع‌رسانی — فقط وقتی ادمین عکس آپلود کرده باشد */
  .page-header-imgbar{
    width:100%;
    height:2cm;
    overflow:hidden;
    background:var(--ink);
  }
  .page-header-imgbar img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
  }

  /* ===== [B1] هدر ===== */
  header{
    background:var(--card);
    border-bottom:1px solid var(--line);
    position:sticky;
    top:0;
    z-index:40;
  }
  .header-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    /* گوشه‌های افقی از .wrap می‌آید تا با محتوا هم‌تراز بماند */
    padding-block:16px;
  }
  .logo{
    display:flex;
    align-items:center;
    gap:2px;
    flex-shrink:0;
    text-decoration:none;
  }
  .logo .word{
    font-weight:900;
    font-size:24px;
    letter-spacing:-.01em;
    background:linear-gradient(135deg, var(--hot) 15%, var(--hot-dark) 100%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
  }
  .logo small{
    display:block;
    font-size:10px;
    font-weight:600;
    color:var(--ink-soft);
    margin-top:1px;
  }
  .logo .dot{
    width:8px;height:8px;border-radius:50%;
    background:var(--hot);
    display:inline-block;
    margin-inline-end:6px;
  }
  header .logo, .auth-top .logo, .wiz-top .logo{
    flex-direction:column;
    align-items:flex-start;
    gap:0;
  }

  .search{
    flex:1;
    max-width:560px;
    position:relative;
  }
  .search input{
    width:100%;
    padding:12px 46px 12px 16px;
    border-radius:999px;
    border:1.5px solid var(--line-strong);
    background:var(--surface);
    font-family:inherit;
    font-size:14px;
    color:var(--ink);
    transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
  }
  .search input::placeholder{color:var(--placeholder);}
  .search input:focus{
    border-color:var(--hot);
    box-shadow:0 0 0 4px rgba(227,28,95,.12);
    outline:none;
  }
  /* [دسترسی‌پذیری] دکمه‌ی واقعی به‌جای آیکونِ تنها — قابلِ فوکوس با Tab و فعال‌سازی با Enter/Space */
  .search-submit{
    position:absolute;
    right:16px;
    top:50%;
    transform:translateY(-50%);
    background:none;
    border:none;
    padding:4px;
    line-height:0;
    cursor:pointer;
    color:var(--hot);
    font-size:14px;
  }
  .search-hint{
    display:none;
  }

  .header-actions{
    display:flex;
    align-items:center;
    gap:10px;
    flex-shrink:0;
  }
  .btn-ghost{
    display:flex;
    align-items:center;
    gap:6px;
    padding:10px 16px;
    border-radius:999px;
    font-size:13.5px;
    font-weight:600;
    color:var(--ink);
    border:1.5px solid var(--line-strong);
    transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);
  }
  .btn-ghost:hover{border-color:var(--hot);background:#FFF1F5;}
  .btn-solid{
    padding:10px 18px;
    border-radius:999px;
    font-size:13.5px;
    font-weight:700;
    color:#fff;
    background:var(--hot);
    box-shadow:0 6px 16px -6px rgba(227,28,95,.6);
    transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
  }
  .btn-solid:hover{transform:translateY(-1px);box-shadow:0 10px 20px -8px rgba(227,28,95,.7);}

  /* [B1] جداکننده کنار لوگو + دکمه‌های انتخاب منطقه/دسته (مثل هدر دیوار) */
  .header-divider{
    width:1px;height:26px;background:var(--line-strong);flex-shrink:0;
  }
  .header-selectors{display:flex;align-items:center;gap:8px;flex-shrink:0;}
  .hsel-wrap{position:relative;}
  .hsel-btn{
    display:flex;align-items:center;gap:6px;
    padding:9px 13px;border-radius:12px;
    border:1.5px solid var(--line-strong);background:var(--card);
    font-size:12.5px;font-weight:700;color:var(--ink);
    cursor:pointer;white-space:nowrap;font-family:inherit;
    transition:border-color var(--dur) var(--ease);
  }
  .hsel-btn:hover{border-color:var(--hot);}
  .hsel-btn i.lead{color:var(--hot);font-size:12px;}
  .hsel-btn i.chev{font-size:9px;color:var(--ink-soft);transition:transform var(--dur) var(--ease);}
  .hsel-btn.open i.chev{transform:rotate(180deg);}

  .hsel-panel{
    position:absolute;top:calc(100% + 8px);right:0;
    min-width:200px;max-height:300px;overflow-y:auto;
    background:var(--card);border:1px solid var(--line);border-radius:14px;
    box-shadow:var(--shadow-lg);padding:8px;z-index:70;display:none;
  }
  .hsel-panel.open{display:block;}
  .hsel-item{
    padding:9px 12px;border-radius:9px;font-size:12.5px;font-weight:600;color:var(--ink-soft);
    cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;
  }
  .hsel-item:hover{background:var(--surface);color:var(--ink);}
  .hsel-item.active{color:var(--hot);font-weight:800;}
  .hsel-item i{font-size:11px;color:var(--hot);visibility:hidden;}
  .hsel-item.active i{visibility:visible;}
  .hsel-item input[type=checkbox]{accent-color:var(--hot);width:14px;height:14px;flex-shrink:0;}
  /* [B3.5] آکاردئونِ دسته/زیردسته در پنلِ دسته‌بندیِ هدر */
  button.hsel-item{border:none;background:none;width:100%;text-align:inherit;font:inherit;color:inherit;}
  .hsel-cat-chevron{font-size:10px;color:var(--ink-soft);visibility:visible!important;transition:transform var(--dur) var(--ease);}
  .hsel-cat-row.open .hsel-cat-chevron{transform:rotate(180deg);color:var(--hot);}
  .hsel-subcats{padding-inline-start:12px;margin:2px 4px 6px 6px;border-inline-start:2px solid var(--line);}
  .hsel-sub-item{font-size:11.5px;font-weight:500;padding:7px 10px;}
  .hsel-search-input{
    width:100%;box-sizing:border-box;padding:8px 10px;margin-bottom:6px;
    border:1.5px solid var(--line-strong);border-radius:9px;
    font-family:inherit;font-size:12.5px;color:var(--ink);background:var(--surface);
  }
  .hsel-search-input:focus{outline:none;border-color:var(--hot);}

  @media (max-width:860px){
    .header-selectors{display:none;}
    .header-divider{display:none;}
  }

  /* ===== [B2] نوار دسته‌بندی‌ها ===== */
  .categories{
    background:var(--card);
    border-bottom:1px solid var(--line);
  }
  .cat-row{
    display:flex;
    gap:8px;
    padding-block:10px;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .cat-row::-webkit-scrollbar{display:none;}
  .cat-item{
    display:flex;
    align-items:center;
    gap:8px;
    padding:9px 16px;
    border-radius:999px;
    font-size:13.5px;
    font-weight:600;
    color:var(--ink-soft);
    white-space:nowrap;
    flex-shrink:0;
    transition:background var(--dur) var(--ease), color var(--dur) var(--ease);
  }
  .cat-item i{font-size:14px;color:var(--hot);}
  .cat-item:hover, .cat-item.active{
    background:var(--ink);
    color:#fff;
  }
  .cat-item:hover i, .cat-item.active i{color:var(--gold);}
  /* [B3.5] دسته‌ای که زیردسته‌ی ثابت دارد، به‌جای لینکِ مستقیم، بازشو می‌شود */
  .cat-item.open{background:var(--ink);color:#fff;}
  .cat-item.open i{color:var(--gold);}
  .cat-strip-chevron{font-size:10px;margin-inline-start:2px;transition:transform var(--dur) var(--ease);}
  .cat-item.open .cat-strip-chevron{transform:rotate(180deg);}
  .cat-strip-expand{
    display:flex;flex-wrap:wrap;gap:8px;
    padding-block:0 12px;
    border-top:1px dashed var(--line);
    margin-top:-1px;
  }
  .cat-strip-expand[hidden]{display:none;}
  .cat-strip-sub{
    padding:7px 14px;border-radius:999px;font-size:12.5px;font-weight:600;
    background:var(--surface);color:var(--ink-soft);border:1px solid var(--line);
    white-space:nowrap;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);
  }
  .cat-strip-sub:hover{background:var(--hot);color:#fff;border-color:var(--hot);}
  .cat-strip-all{background:var(--ink);color:#fff;border-color:var(--ink);}

  /* ===== Section heading ===== */
  .section{padding:var(--space-10) 0;}
  .section-head{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    margin-bottom:20px;
    gap:12px;
  }
  .section-title{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:22px;
    font-weight:800;
  }
  .section-title .badge-icon{
    width:34px;height:34px;
    border-radius:10px;
    display:flex;align-items:center;justify-content:center;
    font-size:15px;
    color:#fff;
  }
  .section-title.hot .badge-icon{background:linear-gradient(135deg,var(--hot),var(--hot-dark));}
  .section-title.fresh .badge-icon{background:linear-gradient(135deg,var(--mint),#137a5c);}
  .section-sub{font-size:13px;color:var(--ink-soft);font-weight:500;margin-top:2px;}
  .see-all{
    font-size:13.5px;
    font-weight:700;
    color:var(--hot);
    display:flex;align-items:center;gap:4px;
    white-space:nowrap;
  }
  .see-all i{font-size:11px;}

  /* ===== [B3] اسلایدر بنر ===== */
  .hero{
    position:relative;
    border-radius:24px;
    overflow:hidden;
    box-shadow:var(--shadow-lg);
  }
  .slides{
    display:flex;
    transition:transform .6s cubic-bezier(.65,0,.35,1);
  }
  .slide{
    min-width:100%;
    aspect-ratio:16/6;
    position:relative;
    display:flex;
    align-items:center;
    padding:0 56px;
    color:#fff;
    overflow:hidden;
  }
  .slide::after{
    content:"";
    position:absolute;inset:0;
    background:linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.15) 55%, transparent 90%);
    z-index:1;
  }
  .slide-bg{position:absolute;inset:0;z-index:0;}
  .slide-content{position:relative;z-index:2;max-width:440px;}
  .slide-eyebrow{
    font-size:12px;font-weight:700;letter-spacing:.02em;
    background:rgba(255,255,255,.18);
    backdrop-filter:blur(6px);
    display:inline-block;
    padding:5px 12px;border-radius:999px;
    margin-bottom:12px;
  }
  .slide-title{font-size:clamp(22px,3.4vw,34px);font-weight:900;line-height:1.3;margin-bottom:10px;}
  .slide-desc{font-size:14px;opacity:.9;margin-bottom:18px;line-height:1.7;}

  .slide1 .slide-bg{background:linear-gradient(135deg,#6E2A55,#2A1A3D);}
  .slide2 .slide-bg{background:linear-gradient(135deg,#B8134B,#3A1230);}
  .slide3 .slide-bg{background:linear-gradient(135deg,#137a5c,#1c3b3f);}
  .slide4 .slide-bg{background:linear-gradient(135deg,#8a5a1f,#3a2410);}
  .slide5 .slide-bg{background:linear-gradient(135deg,#3d2a63,#161022);}

  .hero-nav{
    position:absolute;
    top:50%;transform:translateY(-50%);
    z-index:3;
    width:38px;height:38px;
    border-radius:50%;
    background:rgba(255,255,255,.18);
    backdrop-filter:blur(6px);
    color:#fff;
    display:flex;align-items:center;justify-content:center;
    transition:background .15s;
  }
  .hero-nav:hover{background:rgba(255,255,255,.32);}
  .hero-prev{right:16px;}
  .hero-next{left:16px;}

  .hero-dots{
    position:absolute;
    bottom:16px;left:50%;transform:translateX(-50%);
    z-index:3;
    display:flex;gap:7px;
  }
  .hero-dots button{
    position:relative;
    width:7px;height:7px;border-radius:50%;
    background:rgba(255,255,255,.45);
    transition:width var(--dur-slow) var(--ease), background var(--dur-slow) var(--ease);
  }
  /* [ui-polish] invisible ≈31px tap target without disturbing dot layout */
  .hero-dots button::before{content:"";position:absolute;inset:-12px;}
  .hero-dots button.active{width:22px;border-radius:4px;background:#fff;}

  /* ===== Card rows ===== */
  .row-scroll{
    display:flex;
    gap:16px;
    overflow-x:auto;
    padding:4px 4px 12px;
    scroll-snap-type:x proximity;
  }
  .card{
    scroll-snap-align:start;
    flex:0 0 240px;
    position:relative;
    background:var(--card);
    border-radius:var(--radius);
    border:1px solid var(--line);
    overflow:hidden;
    box-shadow:var(--shadow);
    transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
  }
  .card:hover, .card:focus-within{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
  .card-media{
    aspect-ratio:4/3;
    position:relative;
    display:flex;align-items:center;justify-content:center;
    font-size:34px;
    color:#fff;
  }

  /* [B5/B7] کارت‌های ردیف‌های افقی صفحه‌ی اصلی — مستطیل ثابت ۵ سانت عرض × ۹ سانت طول */
  .row-scroll > .card{
    flex:0 0 5cm;height:9cm;
    display:flex;flex-direction:column;
  }
  .row-scroll > .card > a{
    display:flex !important;flex-direction:column;flex:1;min-height:0;
  }
  .row-scroll > .card .card-media{aspect-ratio:auto;height:150px;flex-shrink:0;}
  .row-scroll > .card .card-body{flex:1;display:flex;flex-direction:column;min-height:0;padding:12px 14px;}
  .row-scroll > .card .card-title{
    min-height:0;margin-bottom:8px;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  }
  .row-scroll > .card .heat{margin-bottom:8px;}
  .row-scroll > .card .price-row{margin-bottom:8px;}
  .row-scroll > .card .card-foot{margin-top:auto;}
  .card-media i{opacity:.9;}
  .media-1{background:linear-gradient(135deg,#E31C5F,#7A1240);}
  .media-2{background:linear-gradient(135deg,#C99A2E,#7A5A12);}
  .media-3{background:linear-gradient(135deg,#1FA37D,#0E5C46);}
  .media-4{background:linear-gradient(135deg,#6E2A9E,#2E1050);}
  .media-5{background:linear-gradient(135deg,#2A6DB8,#123A63);}

  .badge-new{
    position:absolute;top:10px;right:10px;
    background:#2F80ED;
    color:#fff;font-size:9.5px;font-weight:800;letter-spacing:.01em;
    padding:3px 9px;border-radius:999px;
    box-shadow:0 2px 6px -1px rgba(0,0,0,.35);
  }
  .badge-new.badge-sale{background:var(--hot);}
  .badge-new.badge-amazing{background:#FF9F1C;}
  .badge-new.badge-picked{background:#22C55E;}
  .badge-new.badge-ended{background:var(--ink-soft);}

  /* [شمارنده‌ی روز باقیمانده] مهلت استفاده از آفر — رو کارت آفر تو صفحه فروشگاه */
  .offer-days-left{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--ink-soft);margin-top:6px;}
  .offer-days-left i{color:var(--hot);}
  .amaze-media .badge-stack{top:10px;left:10px;right:auto;align-items:flex-start;}
  .badge-stack{
    position:absolute;top:10px;right:10px;z-index:2;
    display:flex;flex-direction:column;gap:4px;align-items:flex-end;
  }
  .badge-stack .badge-new{position:relative;top:auto;right:auto;}
  .badge-off{
    position:absolute;top:10px;right:10px;
    background:var(--ink);
    color:#fff;font-size:12px;font-weight:800;
    padding:5px 10px;border-radius:999px;
    display:flex;align-items:center;gap:4px;
  }
  .badge-off i{color:var(--gold);font-size:10px;}

  /* [H-fav] دکمه‌ی حذف از علاقه‌مندی‌ها — روی کارت، گوشه‌ی مقابل بج‌ها */
  .fav-remove-btn{
    position:absolute;top:10px;left:10px;z-index:3;
    width:30px;height:30px;border-radius:50%;
    background:rgba(15,10,20,.55);color:#fff;border:none;cursor:pointer;
    display:flex;align-items:center;justify-content:center;font-size:12px;
    transition:background var(--dur) var(--ease);
  }
  /* [ui-polish] extend tap target past the 30px visual disc */
  .fav-remove-btn::before{content:"";position:absolute;inset:-7px;}
  .fav-remove-btn:hover{background:var(--hot);}

  .card-body{padding:14px;}
  .card-shop{
    font-size:11.5px;
    color:var(--ink-soft);
    font-weight:600;
    margin-bottom:4px;
    display:flex;align-items:center;gap:5px;
  }
  .card-title{
    font-size:14.5px;
    font-weight:700;
    line-height:1.5;
    margin-bottom:10px;
    min-height:44px;
  }

  /* heat gauge — signature element: bar fill + flame = discount intensity */
  .heat{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:10px;
  }
  .heat-track{
    flex:1;
    height:6px;
    border-radius:999px;
    background:var(--line);
    overflow:hidden;
  }
  .heat-fill{
    height:100%;
    border-radius:999px;
    background:linear-gradient(90deg,var(--gold),var(--hot));
  }
  .heat-label{
    font-size:11px;
    font-weight:800;
    color:var(--hot-dark);
    display:flex;align-items:center;gap:3px;
    flex-shrink:0;
  }
  .heat-label i{font-size:10px;}

  .price-row{
    display:flex;
    align-items:baseline;
    gap:8px;
    margin-bottom:10px;
  }
  .price-now{font-size:16.5px;font-weight:800;color:var(--ink);}
  .price-was{font-size:12.5px;color:var(--price-was);text-decoration:line-through;}
  .price-unit{font-size:11px;color:var(--ink-soft);}

  .card-foot{
    display:flex;
    align-items:center;
    justify-content:space-between;
    font-size:11.5px;
    color:var(--ink-soft);
    border-top:1px dashed var(--line-strong);
    padding-top:10px;
  }
  .card-foot .stars{color:var(--gold);}
  .card-foot .sold{display:flex;align-items:center;gap:4px;}

  .scroll-btn{
    width:40px;height:40px;
    border-radius:50%;
    background:var(--card);
    border:1px solid var(--line-strong);
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;
    box-shadow:var(--shadow);
  }
  .scroll-controls{display:flex;gap:8px;}

  /* ===== [B6] فوتر ===== */
  footer{
    background:var(--ink);
    color:#cbb8d1;
    margin-top:var(--space-10);
  }
  .footer-grid{
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr 1fr;
    gap:32px;
    padding-block:48px 28px;
  }
  .footer-col h3{
    color:#fff;font-size:14px;font-weight:700;margin-bottom:14px;
  }
  .footer-col ul li{margin-bottom:9px;font-size:13px;}
  .footer-col ul li a:hover{color:#fff;}
  .footer-brand .logo{color:#fff;}
  .footer-brand p{font-size:13px;line-height:1.9;margin-top:12px;color:#a893af;}
  .trust-row{display:flex;gap:10px;margin-top:16px;}
  .trust-badge{
    width:52px;height:52px;
    border-radius:10px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.1);
    display:flex;align-items:center;justify-content:center;
    font-size:18px;color:var(--gold);
  }
  /* [فوترِ سایت] شبکه‌هایِ اجتماعی + نمادهایِ اعتماد (اینماد و …) — site-footer.js */
  .footer-socials{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
  .footer-socials[hidden], .trust-row[hidden]{display:none;}
  .footer-social{
    width:38px;height:38px;border-radius:999px;
    display:inline-flex;align-items:center;justify-content:center;
    background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);
    color:#fff;font-size:16px;transition:background .2s,color .2s;
  }
  .footer-social:hover{background:var(--hot);border-color:var(--hot);color:#fff;}
  .footer-trust{
    display:inline-flex;align-items:center;justify-content:center;
    width:84px;height:84px;border-radius:12px;background:#fff;padding:6px;
  }
  .footer-trust img{max-width:100%;max-height:100%;object-fit:contain;display:block;}
  .footer-col ul li i{margin-inline-end:4px;}
  .footer-bottom{
    border-top:1px solid rgba(255,255,255,.08);
    padding-block:18px;
    font-size:12px;
    color:#9481a0;
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;
  }

  @media (max-width:860px){
    .search-hint{display:none;}
    .header-row{flex-wrap:wrap;}
    .search{order:3;max-width:100%;flex-basis:100%;}
    .btn-ghost span{display:none;}
    /* [ui-polish] narrow footer: brand row spans full width, tighter gap, wrapping trust badges */
    .footer-grid{grid-template-columns:1fr 1fr;gap:24px 20px;}
    .footer-brand{grid-column:1 / -1;}
    .trust-row{flex-wrap:wrap;}
    .footer-bottom{gap:8px 16px;}
    .footer-bottom > *{min-width:0;}
  }
  @media (max-width:560px){
    /* [ui-polish] on touch/narrow the prev/next circles overlap the slide title — swipe + dots remain */
    .hero-nav{display:none;}
  }
  @media (max-width:520px){
    .slide{padding:0 24px;}
    .slide-desc{display:none;}
    .footer-grid{grid-template-columns:1fr;}
  }

  /* ===== [صفحه‌هایِ اطلاعاتی] صفحه.html?p=… — site-page.js ===== */
  .site-page-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 18px;}
  .site-page-tab{
    padding:8px 16px;border-radius:999px;border:1.5px solid var(--line-strong);
    background:var(--card);color:var(--ink);font-size:13px;font-weight:700;
  }
  .site-page-tab:hover{border-color:var(--hot);color:var(--hot);}
  .site-page-tab.active{background:var(--hot);border-color:var(--hot);color:#fff;}
  .site-page{
    background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);
    padding:28px 32px;margin-bottom:24px;max-width:860px;
  }
  .site-page h1{font-size:22px;font-weight:800;color:var(--ink);margin:0 0 4px;}
  .site-page-meta{font-size:12px;color:var(--ink-soft);margin-bottom:18px;min-height:1em;}
  .site-page-body{font-size:14px;line-height:2.1;color:var(--ink);}
  .site-page-body p{margin:0 0 14px;}
  .site-page-body h2{font-size:16px;font-weight:800;margin:22px 0 10px;color:var(--ink);}
  .site-page-body ul{margin:0 0 14px;padding-inline-start:22px;list-style:disc;}
  .site-page-body li{margin-bottom:6px;}
  .site-page-empty{color:var(--ink-soft);}
  .site-page-cta{display:inline-flex;align-items:center;gap:6px;margin:0 0 18px;}
  .site-page-contact{
    border:1.5px solid var(--line);border-radius:14px;padding:14px 18px;margin:0 0 20px;
    display:grid;gap:10px;background:var(--surface);
  }
  .spc-row{display:flex;align-items:center;gap:10px;font-size:14px;flex-wrap:wrap;}
  .spc-row i{color:var(--hot);width:18px;text-align:center;}
  .spc-label{font-weight:700;color:var(--ink-soft);min-width:96px;}
  /* «ارتباط با ما»: نقشه + آدرس، سپس تلفن/ایمیل/شبکه‌ها، سپس فرمِ پیام */
  .site-page:has(.cu-top){max-width:none;}
  .cu-top{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 18px;}
  .cu-top.no-map{grid-template-columns:1fr;}
  .cu-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin:0 0 24px;}
  .cu-card{
    border:1.5px solid var(--line);border-radius:var(--radius);background:var(--card);
    padding:24px 18px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  }
  .cu-card h3{font-size:15px;font-weight:800;color:var(--ink);margin:4px 0 0;}
  .cu-ic{font-size:30px;color:var(--hot);margin-bottom:4px;}
  .cu-address{min-height:260px;}
  .cu-address p{margin:0;font-size:14.5px;line-height:2;color:var(--ink);}
  .cu-address .cu-hours{font-size:12.5px;color:var(--ink-soft);}
  .cu-route{margin-top:8px;font-size:13px;font-weight:700;color:var(--hot);}
  .cu-map{border-radius:var(--radius);overflow:hidden;border:1.5px solid var(--line);min-height:260px;background:var(--surface);}
  .cu-map iframe{display:block;width:100%;height:100%;min-height:260px;border:0;}
  .cu-value{font-size:15px;font-weight:600;color:var(--ink);}
  .cu-value:hover{color:var(--hot);}
  .cu-social-icons{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px;}
  .cu-social-icons a{
    width:44px;height:44px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;
    background:rgba(227,28,95,.1);color:var(--hot);font-size:19px;transition:background .2s,color .2s;
  }
  .cu-social-icons a:hover{background:var(--hot);color:#fff;}
  .cu-form{border-top:1.5px solid var(--line);margin-top:24px;padding-top:22px;max-width:720px;}
  .cu-form h2{font-size:17px;font-weight:800;margin:0 0 6px;color:var(--ink);}
  .cu-form-hint{font-size:12.5px;color:var(--ink-soft);margin:0 0 14px;line-height:1.9;}
  .cu-form textarea{width:100%;box-sizing:border-box;font-family:inherit;}
  .cu-send{display:inline-flex;align-items:center;gap:6px;border:0;cursor:pointer;font-family:inherit;}
  .cu-send:disabled{opacity:.6;cursor:default;}
  @media (max-width:760px){ .cu-top{grid-template-columns:1fr;} .cu-address{min-height:0;} }
  @media (max-width:560px){ .site-page{padding:20px 16px;} }

  /* ===== [C1/D... shared] مسیر ناوبری ===== */
  .breadcrumb{
    display:flex;align-items:center;gap:8px;
    font-size:12.5px;color:var(--ink-soft);
    padding:16px 0 0;
    flex-wrap:wrap;
  }
  .breadcrumb a:hover{color:var(--hot);}
  .breadcrumb i{font-size:9px;color:#c9b9cd;}
  .breadcrumb .current{color:var(--ink);font-weight:600;}

  /* ===== [C1] کاور و هویت فروشگاه ===== */
  /* [اندازه‌ی عکسِ بزرگ] ۱۰×۷ سانتی‌متر — max-width:100% فقط رویِ موبایلِ خیلی باریک جلویِ سرریز رو می‌گیره، aspect-ratio نسبت رو حفظ می‌کنه */
  .shop-cover{
    margin-top:16px;
    border-radius:20px;
    overflow:hidden;
    position:relative;
    width:10cm;aspect-ratio:10/7;max-width:100%;
    background:linear-gradient(120deg,#6E2A55,#2A1A3D);
  }
  .shop-cover::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.45) 100%);
  }
  .shop-identity{
    display:flex;align-items:flex-end;gap:18px;
    padding:0 8px;
    position:relative;
    z-index:2;
  }
  .shop-logo{
    width:96px;height:96px;border-radius:20px;
    background:linear-gradient(135deg,var(--hot),var(--hot-dark));
    border:4px solid var(--surface);
    display:flex;align-items:center;justify-content:center;
    color:#fff;font-size:32px;
    box-shadow:var(--shadow-lg);
    flex-shrink:0;
    overflow:hidden;
    /* روی کاور سوار می‌شه بدون اینکه رو جای متن (اسم/آدرس) کنارش اثر بذاره — چون transform تو layout حساب نمی‌شه، حتی اگه آدرس بلند باشه و متن دو خط بشه، اسم فروشگاه هیچ‌وقت زیر عکس نمی‌ره */
    transform:translateY(-46px);
  }
  .shop-logo.zoomable{cursor:zoom-in;}
  .shop-info{padding-bottom:6px;flex:1;min-width:0;}
  .shop-info h1{font-size:22px;font-weight:800;margin-bottom:4px;}
  .shop-meta{
    display:flex;align-items:center;gap:14px;flex-wrap:wrap;
    font-size:12.5px;color:var(--ink-soft);font-weight:500;
  }
  .shop-meta .rating{color:var(--gold);font-weight:700;display:flex;align-items:center;gap:4px;}
  .shop-meta .open{color:var(--mint);font-weight:700;display:flex;align-items:center;gap:4px;}
  .shop-meta .open::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--mint);}
  .shop-actions{display:flex;gap:8px;padding-bottom:6px;flex-shrink:0;}
  .icon-btn{
    width:44px;height:44px;border-radius:50%;
    border:1.5px solid var(--line-strong);
    background:var(--card);
    display:flex;align-items:center;justify-content:center;
    color:var(--ink-soft);
    transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease);
  }
  .icon-btn:hover{border-color:var(--hot);color:var(--hot);}

  /* ===== [C2] تب‌ها ===== */
  .tabs{
    display:flex;gap:4px;
    border-bottom:1.5px solid var(--line);
    margin-top:26px;
    overflow-x:auto;
  }
  .tab{
    padding:12px 18px;
    font-size:13.5px;font-weight:700;
    color:var(--ink-soft);
    border-bottom:2.5px solid transparent;
    white-space:nowrap;
    cursor:pointer;
  }
  .tab.active{color:var(--hot);border-color:var(--hot);}

  @media (max-width:600px){
    .shop-identity{flex-wrap:wrap;}
    /* دکمه‌ها در ردیفِ جدا — وگرنه نامِ فروشگاه در ~۱۳۰px فشرده و کلمه‌به‌کلمه شکسته می‌شد */
    .shop-actions{width:100%;justify-content:flex-end;}
    .shop-info h1{font-size:19px;}
    .rating-summary{flex-direction:column;align-items:stretch;gap:14px;}
  }

  /* ===== Layout: content + sidebar ===== */
  .layout{
    display:grid;
    grid-template-columns:1fr 300px;
    gap:28px;
    align-items:start;
    margin-top:24px;
  }
  /* این media query قبلاً بالاتر از قانونِ پایه بود و با همان specificity بازنویسی می‌شد → سایدبارِ shop.html رویِ موبایل
     ستونِ دوم می‌ماند و صفحه ~۲۰۰px افقی اسکرول می‌خورد. باید بعد از قانونِ پایه بیاید. */
  @media (max-width:900px){
    .layout{grid-template-columns:minmax(0,1fr);}
  }
  .grid-cards{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
    gap:16px;
  }

  .side-card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:18px;
    box-shadow:var(--shadow);
  }
  .side-card + .side-card{margin-top:16px;}
  .side-card h4{font-size:14px;font-weight:800;margin-bottom:12px;display:flex;align-items:center;gap:8px;}
  .side-card h4 i{color:var(--hot);}
  .side-row{
    display:flex;align-items:center;gap:10px;
    font-size:12.5px;color:var(--ink-soft);
    padding:8px 0;
    border-bottom:1px dashed var(--line);
  }
  .side-row:last-child{border-bottom:none;}
  .side-row i{width:16px;color:var(--hot);flex-shrink:0;}
  .hours-table{width:100%;font-size:12.5px;}
  .hours-table tr td{padding:5px 0;color:var(--ink-soft);}
  .hours-table tr td:last-child{text-align:left;font-weight:700;color:var(--ink);}
  .hours-table tr.today td{color:var(--hot);font-weight:700;}
  .map-box{
    height:120px;border-radius:12px;
    background:repeating-linear-gradient(45deg, #F0E2E6, #F0E2E6 8px, #FBF3F5 8px, #FBF3F5 16px);
    display:flex;align-items:center;justify-content:center;
    color:var(--ink-soft);font-size:12px;font-weight:600;
    margin-bottom:12px;
  }

  /* ===== [C5 / D7] نظرات کاربران ===== */
  .rating-summary{
    display:flex;gap:28px;align-items:center;
    padding:20px 0;border-bottom:1px solid var(--line);margin-bottom:18px;
  }
  .rating-big{text-align:center;flex-shrink:0;}
  .rating-big .num{font-size:40px;font-weight:900;color:var(--ink);line-height:1;}
  .rating-big .stars{color:var(--gold);font-size:13px;margin:6px 0 4px;}
  .rating-big .count{font-size:11.5px;color:var(--ink-soft);}
  .rating-bars{flex:1;display:flex;flex-direction:column;gap:6px;}
  .rating-bar-row{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--ink-soft);}
  .rating-bar-track{flex:1;height:6px;border-radius:999px;background:var(--line);overflow:hidden;}
  .rating-bar-fill{height:100%;background:var(--gold);border-radius:999px;}
  .rate-now-box{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:10px;padding:0 20px;margin-inline-start:auto;}
  .rate-now-box>span{font-size:12px;color:var(--ink-soft);font-weight:700;white-space:nowrap;}
  .star-rate-input{display:flex;gap:6px;font-size:22px;cursor:pointer;}
  .star-rate-input .fa-regular{color:var(--line-strong);}
  .star-rate-input .fa-solid{color:var(--gold);}

  .review{
    display:flex;gap:12px;
    padding:18px 0;
    border-bottom:1px solid var(--line);
  }
  .review:last-child{border-bottom:none;}
  .review-avatar{
    width:40px;height:40px;border-radius:50%;
    background:linear-gradient(135deg,#6E2A9E,#2E1050);
    color:#fff;font-size:13px;font-weight:800;
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;
  }
  .review-name{font-size:13.5px;font-weight:700;}
  .review-date{font-size:11px;color:var(--ink-soft);font-weight:500;}
  .review-stars{color:var(--gold);font-size:11px;margin:4px 0 6px;}
  .review-text{font-size:13px;color:var(--ink-soft);line-height:1.9;white-space:pre-wrap;}
  .review-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
  .review-body{flex:1;min-width:0;}
  .review-edited{font-size:10.5px;color:var(--ink-soft);font-weight:600;}

  /* [C5] لایک/دیس‌لایک/پاسخ نظر + پاسخ‌های تودرتو */
  .review-actions{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap;}
  .rv-react-btn{
    display:inline-flex;align-items:center;gap:6px;
    padding:5px 12px;border:1.5px solid var(--line-strong);border-radius:999px;
    background:var(--card);color:var(--ink-soft);font-family:inherit;font-size:11.5px;font-weight:700;
    cursor:pointer;transition:border-color .15s,color .15s,background .15s;
  }
  .rv-react-btn:hover{border-color:var(--hot);color:var(--hot);}
  .rv-react-btn.is-on{background:var(--hot);border-color:var(--hot);color:#fff;}
  .review-replies{margin:10px 0 0;display:flex;flex-direction:column;gap:8px;}
  .review-reply{
    padding:10px 12px;border-inline-start:3px solid var(--line-strong);
    background:var(--surface);border-radius:8px;
  }
  .review-reply-form{margin-top:10px;}
  .rv-role-badge{
    display:inline-flex;align-items:center;gap:4px;
    font-size:10px;font-weight:800;padding:2px 8px;border-radius:999px;vertical-align:middle;
  }
  .rv-role-badge.shop{background:rgba(31,163,125,.14);color:var(--mint);}
  .rv-role-badge.admin{background:rgba(227,28,95,.12);color:var(--hot);}

  /* [D6] پرسش و پاسخ */
  .qa-list{margin-top:14px;display:flex;flex-direction:column;gap:14px;}
  .qa-item{
    padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);
  }
  .qa-answers{margin:10px 0 0;display:flex;flex-direction:column;gap:8px;}
  .qa-answer{
    padding:10px 12px;border-inline-start:3px solid var(--hot);
    background:var(--surface);border-radius:8px;
  }
  .qa-answer-form{margin-top:12px;}
  .qa-locked-hint{
    margin-top:10px;font-size:11.5px;color:var(--ink-soft);font-weight:600;
    display:flex;align-items:center;gap:6px;
  }
  .qa-role-badge{ /* هم‌ارز rv-role-badge — برای سازگاری آینده */ }

  /* [خوانده/نخوانده] برچسبِ عنوانِ آفر — پنلِ «پرسش‌ها و نظراتِ» فروشگاه، چند آفر با هم قاطی‌ان */
  .qa-offer-tag{
    display:inline-flex;align-items:center;gap:5px;margin-bottom:8px;
    font-size:10.5px;font-weight:700;color:var(--ink-soft);
    background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:3px 10px;
  }

  /* ===== [D] صفحه آفر — عنوان تمام‌عرض بالا، سپس گالری بزرگ چپ + لیست قیمت بزرگ راست ===== */

  /* ----- [D2] عنوان + آیکون‌های اشتراک‌گذاری/علاقه‌مندی/بازدید، همون ردیف جلوی عنوان ----- */
  .offer-title{font-size:22px;font-weight:800;line-height:1.6;margin:0;}
  .offer-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px;}
  .offer-title-row .offer-title{flex:1;min-width:0;}
  .offer-title-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;}

  /* باکس کوچیک «بازدید این آفر» — قبلاً یه باکس آماری بزرگ بود، کنار عنوان کوچیک‌تر شد */
  .mini-stat-pill{
    display:flex;align-items:center;gap:6px;flex-shrink:0;
    background:var(--surface);border:1.5px solid var(--line-strong);border-radius:999px;
    padding:7px 14px;font-size:12px;font-weight:700;color:var(--ink-soft);
  }
  .mini-stat-pill i{color:var(--hot);font-size:12px;}

  /* شمارنده‌ی سراسری لایک، بالای دکمه‌ی قلب */
  .icon-btn{position:relative;}
  .icon-btn .icon-count{
    position:absolute;top:-6px;left:-6px;
    background:var(--hot);color:#fff;
    font-size:10px;font-weight:800;line-height:1;
    min-width:16px;height:16px;border-radius:999px;
    display:flex;align-items:center;justify-content:center;padding:0 3px;
    border:2px solid var(--card);
  }
  .icon-btn.liked{border-color:var(--hot);color:var(--hot);background:#FFF1F5;}

  .shop-strip{
    display:flex;align-items:center;flex-wrap:wrap;gap:14px;
    font-size:13px;color:var(--ink-soft);font-weight:600;
    margin-bottom:0;
  }
  .shop-strip .mini-logo{
    width:24px;height:24px;border-radius:7px;
    background:linear-gradient(135deg,var(--hot),var(--hot-dark));
    display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;
  }
  .shop-strip .rating{color:var(--gold);font-weight:700;}
  .shop-strip span{display:flex;align-items:center;gap:5px;}

  /* [D5-quick] دسترسی سریع به همه‌ی شماره‌های فروشگاه، کنار امتیاز — فیلد بازشو (از روی .hsel-btn/.hsel-panel هدر) چون این بالا جا کمه */
  .quick-phone-btn{font-size:12px;padding:7px 12px;}
  .quick-phone-panel{min-width:230px;padding:6px;}
  .quick-phone-row{display:flex;align-items:center;gap:8px;padding:8px 6px;font-size:12px;}
  .quick-phone-row + .quick-phone-row{border-top:1px dashed var(--line);}
  .quick-phone-row i{color:var(--hot);width:14px;text-align:center;flex-shrink:0;}
  .quick-phone-row .phone-masked{font-size:12px;}
  .quick-phone-row .phone-reveal-wrap{flex:1;}
  .qpr-desc{color:var(--ink-soft);font-size:11px;white-space:nowrap;}

  /* ----- چیدمان اصلی: گالری بزرگ (چپ) + لیست قیمت بزرگ (راست) ----- */
  .offer-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:26px;
    align-items:start;
    margin-top:22px;
  }

  /* ----- [D1] گالری تصاویر — بزرگ‌تر، با قابلیت کلیک برای دیدن سایز واقعی ----- */
  /* عکس‌های کوچیک کنارِ (سمتِ چپِ) عکسِ اصلی — چون گالری RTLه و عکسِ اصلی اول تو DOM میاد،
     ردیفِ flex بدونِ چیدمانِ خاص خودش عکسِ اصلی رو راست و تامب‌ها رو چپ می‌ذاره */
  .gallery{display:flex;gap:12px;}
  /* [اندازه‌ی عکسِ بزرگ] ۱۰×۷ سانتی‌متر — max-width:100% فقط رویِ موبایلِ خیلی باریک جلویِ سرریز رو می‌گیره، aspect-ratio نسبت رو حفظ می‌کنه */
  .gallery-main{
    width:10cm;aspect-ratio:10/7;max-width:100%;border-radius:20px;overflow:hidden;
    display:flex;align-items:center;justify-content:center;
    color:#fff;font-size:60px;
    box-shadow:var(--shadow-lg);
    cursor:zoom-in;position:relative;
  }
  /* [SEOِ تصاویر] عکسِ اصلی حالا <img> واقعیه (نه background-image) — پرکردنِ کاملِ جعبه */
  .gallery-main img{width:100%;height:100%;object-fit:cover;display:block;}
  .gallery-main::after{
    content:"\f00e";font-family:"Font Awesome 6 Free";font-weight:900;
    position:absolute;bottom:14px;left:14px;
    width:34px;height:34px;border-radius:50%;
    background:rgba(0,0,0,.4);color:#fff;font-size:14px;
    display:flex;align-items:center;justify-content:center;
  }
  .gallery-thumbs{display:flex;flex-direction:column;gap:10px;overflow-y:auto;overflow-x:hidden;}
  .gallery-thumbs .thumb{
    flex:0 0 88px;width:88px;aspect-ratio:1/1;border-radius:12px;
    display:flex;align-items:center;justify-content:center;
    color:#fff;font-size:18px;
    cursor:pointer;
    opacity:.65;border:2px solid transparent;
    transition:opacity .15s,border-color .15s;
  }
  .gallery-thumbs .thumb.active{opacity:1;border-color:var(--hot);}

  /* ----- [D4] لیست قیمت/مشخصات آفرها — بزرگ‌تر و واضح‌تر ----- */
  .variant-list{display:flex;flex-direction:column;gap:14px;}
  .variant-card{
    background:var(--card);border:1px solid var(--line);border-radius:18px;
    padding:16px;position:relative;box-shadow:var(--shadow);
  }
  .variant-off{
    position:absolute;top:14px;left:14px;
    background:var(--ink);color:#fff;font-size:12px;font-weight:800;
    padding:4px 10px;border-radius:999px;
  }
  .variant-top{display:flex;gap:14px;margin-bottom:12px;}
  .variant-photo{
    width:84px;height:84px;border-radius:14px;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;
    cursor:zoom-in;position:relative;
    overflow:hidden;
  }
  .variant-photo img{width:100%;height:100%;object-fit:cover;display:block;}
  .variant-photo::after{
    content:"\f00e";font-family:"Font Awesome 6 Free";font-weight:900;
    position:absolute;bottom:5px;left:5px;
    width:22px;height:22px;border-radius:50%;
    background:rgba(0,0,0,.4);color:#fff;font-size:9px;
    display:flex;align-items:center;justify-content:center;
  }
  .variant-title{font-size:14.5px;font-weight:700;line-height:1.6;align-self:center;}
  .variant-price-row{display:flex;align-items:baseline;gap:8px;margin-bottom:10px;flex-wrap:wrap;}
  .variant-price-now{font-size:18px;font-weight:900;color:var(--hot);}
  .variant-price-was{font-size:12px;color:var(--price-was);text-decoration:line-through;}
  .variant-price-orig{font-size:11px;color:var(--ink-soft);}
  .variant-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;}
  .variant-stock{font-size:11.5px;color:var(--hot);font-weight:700;white-space:nowrap;}
  .variant-add-btn{
    background:var(--mint);color:#fff;border:none;border-radius:10px;
    padding:10px 18px;font-size:12.5px;font-weight:800;font-family:inherit;cursor:pointer;
    display:flex;align-items:center;gap:6px;white-space:nowrap;
    transition:transform .12s, background .15s;
  }
  .variant-add-btn:hover{transform:translateY(-1px);}
  .variant-add-btn.added{background:var(--ink);}
  .variant-note{font-size:11px;color:var(--ink-soft);text-align:center;margin-top:4px;}

  /* ----- [D3] توضیحات — دو بخش مجزای قابل‌ویرایش، تمام‌عرض، بالای آدرس/تماس ----- */
  .desc-row{display:flex;gap:16px;align-items:stretch;}
  .desc-row > *{flex:1;}
  .desc-box{
    background:var(--card);border:1px solid var(--line);border-radius:16px;
    padding:18px 20px;box-shadow:var(--shadow);
  }
  .desc-box h3{font-size:13.5px;font-weight:800;margin:0 0 12px;display:flex;align-items:center;gap:7px;}
  .desc-box h3 i{color:var(--hot);}
  .desc-list{display:flex;flex-direction:column;gap:9px;}
  .desc-list li{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:var(--ink-soft);line-height:1.8;}
  .desc-list li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--hot);margin-top:7px;flex-shrink:0;}

  .trust-box{
    background:#EAF7F2;border:1px solid rgba(31,163,125,.25);border-radius:16px;
    padding:16px 20px;display:flex;align-items:flex-start;gap:12px;
  }
  .trust-box .tb-ic{
    width:34px;height:34px;border-radius:50%;flex-shrink:0;
    background:var(--mint);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;
  }
  .trust-box h3{font-size:13px;font-weight:800;color:#0e5c46;margin:0 0 5px;}
  .trust-box p{font-size:12px;color:#2f6d5c;line-height:1.8;margin:0;}

  /* ----- [D5] آدرس، شماره تماس و نقشه ----- */
  .contact-map-card{
    background:var(--card);border:1px solid var(--line);border-radius:18px;
    padding:22px;box-shadow:var(--shadow);
  }
  .contact-row{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink);font-weight:600;margin-bottom:12px;}
  .contact-row i{color:var(--hot);width:16px;text-align:center;}
  .phone-reveal-wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
  .phone-masked{font-weight:800;letter-spacing:.03em;direction:ltr;display:inline-block;}
  .show-phone-btn{
    background:none;border:none;color:var(--hot);font-weight:800;font-size:12.5px;
    cursor:pointer;font-family:inherit;text-decoration:underline;text-underline-offset:3px;
  }
  .phone-login-gate{
    display:flex;align-items:center;gap:10px;flex-wrap:wrap;
    background:#FFF1F5;border:1px solid rgba(227,28,95,.2);border-radius:12px;
    padding:10px 14px;font-size:12px;color:var(--hot);font-weight:700;
  }
  .phone-login-gate a, .phone-login-gate button.am-inline-login-btn{
    background:var(--hot);color:#fff;padding:7px 14px;border-radius:9px;
    font-size:11.5px;font-weight:800;text-decoration:none;white-space:nowrap;
    border:none;cursor:pointer;font-family:inherit;
  }
  /* [G14] لینک «سایر خدمات این فروشگاه» */
  .other-services-link{
    display:flex;align-items:center;gap:6px;
    background:var(--surface);border:1px solid var(--line-strong);
    border-radius:999px;padding:8px 14px;
    font-size:12.5px;font-weight:700;color:var(--ink);
    transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease);
  }
  .other-services-link i{color:var(--hot);}
  .other-services-link:hover{border-color:var(--hot);color:var(--hot);}

  .map-display{
    margin-top:16px;height:220px;border-radius:14px;position:relative;overflow:hidden;
    background:
      linear-gradient(135deg, rgba(31,163,125,.08), transparent 60%),
      repeating-linear-gradient(0deg, #EFEAE0 0 1px, transparent 1px 26px),
      repeating-linear-gradient(90deg, #EFEAE0 0 1px, transparent 1px 26px),
      #F6F2E9;
    border:1.5px solid var(--line-strong);
  }
  .map-display .pin{
    position:absolute;top:50%;left:50%;transform:translate(-50%,-100%);
    font-size:30px;color:var(--hot);filter:drop-shadow(0 4px 6px rgba(0,0,0,.25));
  }
  .map-display .pin::after{
    content:"";position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);
    width:14px;height:6px;border-radius:50%;background:rgba(0,0,0,.18);
  }

  /* ----- [D6] پرسش و پاسخ ----- */
  .qa-box textarea{
    width:100%;min-height:90px;padding:14px 16px;
    border:1.5px solid var(--line-strong);border-radius:14px;
    background:var(--surface);font-family:inherit;font-size:13px;color:var(--ink);
    resize:vertical;margin-bottom:12px;line-height:1.8;
  }
  .qa-box textarea:focus{outline:none;border-color:var(--hot);box-shadow:0 0 0 4px rgba(227,28,95,.12);}
  .qa-submit-btn{
    background:var(--hot);color:#fff;border:none;border-radius:12px;
    padding:11px 22px;font-weight:800;font-size:13px;font-family:inherit;cursor:pointer;
  }
  .qa-note{font-size:11.5px;color:var(--mint);font-weight:700;margin-inline-start:12px;display:none;align-items:center;gap:5px;}
  .qa-note.show{display:inline-flex;}

  /* ----- [D7] فروشگاه‌های مشابه ----- */
  .similar-shop-card{
    flex:0 0 220px;background:var(--card);border:1px solid var(--line);border-radius:16px;
    overflow:hidden;box-shadow:var(--shadow);text-decoration:none;color:var(--ink);
    transition:transform var(--dur) var(--ease);
  }
  .similar-shop-card:hover, .similar-shop-card:focus-visible{transform:translateY(-3px);}
  .similar-shop-media{
    height:110px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;position:relative;
  }
  .similar-shop-vip{
    position:absolute;top:8px;right:8px;background:var(--gold);color:var(--ink);
    font-size:9.5px;font-weight:900;padding:3px 8px;border-radius:999px;
  }
  .similar-shop-body{padding:12px 14px;}
  .similar-shop-name{font-size:13px;font-weight:800;margin-bottom:5px;}
  .similar-shop-meta{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--ink-soft);}
  .similar-shop-meta .stars{color:var(--gold);}

  h2.block-title{font-size:17px;font-weight:800;margin:28px 0 14px;display:flex;align-items:center;gap:8px;}
  h2.block-title i{color:var(--hot);font-size:15px;}

  /* ----- لایت‌باکس نمایش بزرگ عکس ----- */
  .lightbox-overlay{
    position:fixed;inset:0;z-index:250;
    background:rgba(15,10,20,.88);
    display:none;align-items:center;justify-content:center;
    padding:30px;
  }
  .lightbox-overlay.show{display:flex;}
  .lightbox-img{
    width:min(560px,90vw);aspect-ratio:1/1;border-radius:20px;
    display:flex;align-items:center;justify-content:center;
    color:#fff;font-size:90px;box-shadow:0 30px 60px -20px rgba(0,0,0,.6);
  }
  .lightbox-close{
    position:absolute;top:24px;left:24px;
    width:42px;height:42px;border-radius:50%;
    background:rgba(255,255,255,.12);color:#fff;border:none;font-size:16px;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
  }
  .lightbox-close:hover{background:rgba(255,255,255,.22);}
  .shop-lightbox-img{max-width:90vw;max-height:85vh;border-radius:12px;object-fit:contain;box-shadow:0 30px 60px -20px rgba(0,0,0,.6);}

  /* [G14] عکس‌های واقعی داخل کارت گالری تصاویر فروشگاه (بازدیدکننده) */
  #shopPhotosGrid .shop-photo-tile{cursor:zoom-in;}

  @media (max-width:900px){
    /* minmax(0,1fr): با 1fr ستون از min-contentِ محتوا کوچک‌تر نمی‌شد و صفحه‌ی آفر رویِ موبایل ~۲۰px افقی اسکرول می‌خورد */
    .offer-grid{grid-template-columns:minmax(0,1fr);}
    .offer-title-row{flex-direction:column;align-items:flex-start;}
    .offer-title-actions{align-self:flex-end;}
    .desc-row{flex-direction:column;}
    .variant-list{gap:12px;}
    /* [ui-polish] full-width 4/3 gallery was ~590px tall in this range — cap it */
    .gallery-main{font-size:46px;max-height:440px;}
  }

  /* [ui-polish] رویِ موبایلِ باریک، تامب‌های کنارِ عکس عکسِ اصلی رو خیلی کوچیک می‌کنن — همون چیدمانِ قبلی (زیرِ عکس) برمی‌گرده */
  @media (max-width:560px){
    .gallery{flex-direction:column;}
    .gallery-thumbs{flex-direction:row;overflow-x:auto;overflow-y:visible;max-height:none;}
  }

  /* ===== [E] ورود / ثبت‌نام کاربر ===== */
  .auth-body{
    min-height:100vh;
    display:flex;
    flex-direction:column;
    background:
      radial-gradient(circle at 15% 8%, rgba(227,28,95,.07), transparent 40%),
      radial-gradient(circle at 85% 92%, rgba(201,154,46,.10), transparent 45%),
      var(--surface);
  }
  .auth-top{display:flex;justify-content:center;padding:24px 20px 4px;}
  .auth-wrap{flex:1;display:flex;align-items:center;justify-content:center;padding:24px 16px 48px;}

  .auth-card{
    width:100%;max-width:420px;
    background:var(--card);
    border:1px solid var(--line);
    border-radius:24px;
    box-shadow:var(--shadow-lg);
    padding:32px 30px 30px;
    position:relative;
    overflow:hidden;
  }
  .auth-card::before{
    content:"";position:absolute;top:-60px;left:-60px;
    width:160px;height:160px;border-radius:50%;
    background:radial-gradient(circle, rgba(227,28,95,.10), transparent 70%);
  }
  .auth-head{text-align:center;margin-bottom:26px;position:relative;z-index:1;}
  .auth-eyebrow{
    display:inline-flex;align-items:center;gap:6px;
    background:linear-gradient(135deg,var(--gold),var(--hot));
    color:#fff;font-size:11px;font-weight:800;
    padding:5px 14px;border-radius:999px;margin-bottom:14px;
  }
  .auth-head h1{font-size:20px;font-weight:800;margin-bottom:6px;}
  .auth-head p{font-size:12.5px;color:var(--ink-soft);margin:0;}

  .auth-steps{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:24px;}
  .auth-dot{
    width:30px;height:30px;border-radius:50%;
    background:var(--surface);border:2px solid var(--line-strong);
    display:flex;align-items:center;justify-content:center;
    font-weight:800;font-size:12.5px;color:var(--ink-soft);
    flex-shrink:0;transition:all .2s;
  }
  .auth-dot.active{background:var(--hot);border-color:var(--hot);color:#fff;box-shadow:0 6px 14px -6px rgba(227,28,95,.6);}
  .auth-dot.done{background:var(--mint);border-color:var(--mint);color:#fff;}
  .auth-dot-line{width:28px;height:2px;background:var(--line-strong);}

  .auth-field{margin-bottom:16px;}
  .auth-field label{display:block;font-size:12.5px;font-weight:700;margin-bottom:7px;color:var(--ink);}
  .auth-field input{
    width:100%;padding:13px 16px;
    border:1.5px solid var(--line-strong);border-radius:12px;
    background:var(--surface);font-family:inherit;font-size:14.5px;font-weight:600;
    color:var(--ink);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
  }
  .auth-field input::placeholder{color:var(--placeholder);font-weight:500;}
  .auth-field input:focus{outline:none;border-color:var(--hot);box-shadow:0 0 0 4px rgba(227,28,95,.12);}
  .auth-hint{font-size:11px;color:var(--ink-soft);margin-top:6px;}

  .auth-otp-row{display:flex;gap:8px;justify-content:center;direction:ltr;margin-bottom:6px;}
  .auth-otp-row input{width:46px;height:52px;text-align:center;padding:0;font-size:19px;}

  .auth-submit{
    width:100%;padding:14px;border-radius:14px;
    background:var(--hot);color:#fff;font-weight:800;font-size:15px;border:none;
    box-shadow:0 10px 22px -8px rgba(227,28,95,.55);
    display:flex;align-items:center;justify-content:center;gap:8px;
    cursor:pointer;transition:transform var(--dur) var(--ease);font-family:inherit;
  }
  .auth-submit:hover{transform:translateY(-1px);}
  .auth-submit:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}

  .auth-ghost{
    display:block;width:100%;text-align:center;margin-top:12px;
    background:none;border:none;font-family:inherit;cursor:pointer;
    font-size:12.5px;font-weight:700;color:var(--ink-soft);
  }
  .auth-ghost:hover{color:var(--hot);}

  .auth-resend{text-align:center;font-size:12px;color:var(--ink-soft);margin:14px 0 18px;}
  .auth-resend button{background:none;border:none;font-family:inherit;font-weight:800;color:var(--hot);cursor:pointer;font-size:12px;}
  .auth-resend button:disabled{color:var(--ink-soft);cursor:default;}

  .auth-switch{
    text-align:center;font-size:12.5px;color:var(--ink-soft);
    margin-top:18px;padding-top:16px;border-top:1px dashed var(--line-strong);
    position:relative;z-index:1;
  }
  .auth-switch a{color:var(--hot);font-weight:700;text-decoration:none;}
  .auth-switch a:hover{text-decoration:underline;}

  .auth-success{
    display:none;align-items:center;justify-content:center;gap:8px;
    background:rgba(31,163,125,.1);color:var(--mint);
    border:1px solid rgba(31,163,125,.3);
    border-radius:12px;padding:12px;font-size:12.5px;font-weight:700;
    margin-bottom:16px;
  }
  .auth-success.show{display:flex;}

  .auth-panel{display:none;}
  .auth-panel.active{display:block;position:relative;z-index:1;}

  .auth-foot{text-align:center;padding:18px;font-size:11.5px;color:var(--ink-soft);}

  /* ===== [F1 / F2 / F3] ویزارد ۳ مرحله‌ای ثبت‌نام فروشگاه ===== */
  .wiz-body{
    min-height:100vh;
    background:
      radial-gradient(circle at 15% 8%, rgba(227,28,95,.07), transparent 40%),
      radial-gradient(circle at 85% 92%, rgba(201,154,46,.10), transparent 45%),
      var(--surface);
  }
  .wiz-top{display:flex;justify-content:center;padding:24px 20px 4px;}
  .wiz-wrap{max-width:640px;margin:0 auto;padding:24px 16px 60px;}

  .wiz-steps{
    display:flex;align-items:center;justify-content:center;
    gap:6px;margin-bottom:28px;
  }
  .wiz-step{
    display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0;
  }
  .wiz-step .n{
    width:36px;height:36px;border-radius:50%;
    background:var(--card);border:2px solid var(--line-strong);
    display:flex;align-items:center;justify-content:center;
    font-weight:800;font-size:13.5px;color:var(--ink-soft);
    transition:all .2s;
  }
  .wiz-step .t{font-size:10.5px;font-weight:700;color:var(--ink-soft);white-space:nowrap;}
  .wiz-step.active .n{background:var(--hot);border-color:var(--hot);color:#fff;box-shadow:0 6px 14px -6px rgba(227,28,95,.6);}
  .wiz-step.active .t{color:var(--hot);}
  .wiz-step.done .n{background:var(--mint);border-color:var(--mint);color:#fff;}
  .wiz-step.done .t{color:var(--mint);}
  .wiz-step-line{width:40px;height:2px;background:var(--line-strong);margin-bottom:20px;flex-shrink:0;}
  .wiz-step-line.done{background:var(--mint);}

  .wiz-card{
    background:var(--card);border:1px solid var(--line);border-radius:24px;
    box-shadow:var(--shadow-lg);padding:30px 28px;
  }
  .wiz-card-head{margin-bottom:22px;}
  .wiz-card-head .kicker{font-size:11.5px;font-weight:800;color:var(--hot);margin-bottom:6px;}
  .wiz-card-head h2{font-size:19px;font-weight:800;margin:0 0 6px;}
  .wiz-card-head p{font-size:12.5px;color:var(--ink-soft);margin:0;}

  .wiz-panel{display:none;}
  .wiz-panel.active{display:block;}

  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .form-row.single{grid-template-columns:1fr;}

  .f-field{margin-bottom:16px;}
  .f-field label{display:block;font-size:12.5px;font-weight:700;margin-bottom:7px;color:var(--ink);}
  .f-field label .opt{font-weight:500;color:var(--ink-soft);}
  .f-field input, .f-field select, .f-field textarea{
    width:100%;padding:12px 14px;
    border:1.5px solid var(--line-strong);border-radius:12px;
    background:var(--surface);font-family:inherit;font-size:13.5px;font-weight:600;
    color:var(--ink);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
  }
  .f-field select{cursor:pointer;}
  .f-field textarea{resize:vertical;min-height:90px;font-weight:500;line-height:1.8;}
  .f-field input::placeholder, .f-field textarea::placeholder{color:var(--placeholder);font-weight:500;}
  .f-field input:focus, .f-field select:focus, .f-field textarea:focus{
    outline:none;border-color:var(--hot);box-shadow:0 0 0 4px rgba(227,28,95,.12);
  }
  .f-hint{font-size:11px;color:var(--ink-soft);margin-top:6px;}
  .f-error{font-size:11px;color:var(--hot);margin-top:6px;display:none;}
  .f-error.show{display:block;}

  .fieldset-title{
    font-size:13px;font-weight:800;color:var(--ink);
    margin:22px 0 14px;padding-top:16px;border-top:1px dashed var(--line-strong);
    display:flex;align-items:center;gap:8px;
  }
  .fieldset-title:first-child{border-top:none;padding-top:0;margin-top:0;}
  .fieldset-title i{color:var(--hot);}

  .upload-box{
    border:2px dashed var(--line-strong);border-radius:14px;
    padding:22px;text-align:center;
    background:var(--surface);cursor:pointer;
    transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);
  }
  .upload-box:hover{border-color:var(--hot);background:#FFF1F5;}
  .upload-box i{font-size:22px;color:var(--hot);margin-bottom:8px;display:block;}
  .upload-box .u-title{font-size:13px;font-weight:700;margin-bottom:3px;}
  .upload-box .u-sub{font-size:11px;color:var(--ink-soft);}

  .map-picker{
    min-height:150px;border-radius:14px;
    background:repeating-linear-gradient(45deg, var(--line) 0 10px, #FBF3F5 10px 20px);
    display:flex;align-items:center;justify-content:center;
    color:var(--ink-soft);font-size:12.5px;font-weight:700;gap:8px;
    border:1.5px solid var(--line-strong);
    text-align:center;padding:14px 20px;line-height:1.8;cursor:pointer;
  }
  .map-picker i{color:var(--hot);font-size:18px;flex-shrink:0;}

  .gift-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
  .gift-opt{
    border:1.5px solid var(--line-strong);border-radius:12px;
    padding:12px 8px;text-align:center;cursor:pointer;
    font-size:11.5px;font-weight:700;color:var(--ink-soft);
    transition:border-color .15s, background .15s, color .15s;
  }
  .gift-opt i{display:block;font-size:16px;margin-bottom:6px;color:var(--ink-soft);}
  .gift-opt.selected{border-color:var(--hot);background:#FFF1F5;color:var(--hot);}
  .gift-opt.selected i{color:var(--hot);}
  .gift-opt input{display:none;}

  .wiz-nav{display:flex;gap:10px;margin-top:26px;}
  .wiz-btn-next{
    flex:1;padding:14px;border-radius:14px;border:none;
    background:var(--hot);color:#fff;font-weight:800;font-size:14.5px;font-family:inherit;
    box-shadow:0 10px 22px -8px rgba(227,28,95,.55);cursor:pointer;
    display:flex;align-items:center;justify-content:center;gap:8px;
    transition:transform var(--dur) var(--ease);
  }
  .wiz-btn-next:hover{transform:translateY(-1px);}
  .wiz-btn-back{
    padding:14px 20px;border-radius:14px;
    border:1.5px solid var(--line-strong);background:var(--card);
    color:var(--ink);font-weight:700;font-size:13.5px;font-family:inherit;cursor:pointer;
  }
  .wiz-btn-back:hover{border-color:var(--hot);color:var(--hot);}

  .offer-draft{
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    background:var(--surface);border:1px solid var(--line);border-radius:12px;
    padding:10px 14px;margin-bottom:10px;font-size:12.5px;
  }
  .offer-draft .od-title{font-weight:700;}
  .offer-draft .od-meta{color:var(--ink-soft);font-size:11px;}
  .offer-draft button{background:none;border:none;color:var(--hot);cursor:pointer;font-size:12px;font-weight:700;font-family:inherit;}

  .wiz-error-banner{
    display:none;align-items:center;gap:8px;
    background:rgba(227,28,95,.08);color:var(--hot);
    border:1px solid rgba(227,28,95,.25);border-radius:12px;
    padding:12px 14px;font-size:12.5px;font-weight:700;margin-bottom:18px;
  }
  .wiz-error-banner.show{display:flex;}

  .wiz-success{
    text-align:center;padding:20px 0 6px;
  }
  .wiz-success .ic{
    width:64px;height:64px;border-radius:50%;
    background:linear-gradient(135deg,var(--mint),#137a5c);
    color:#fff;font-size:26px;
    display:flex;align-items:center;justify-content:center;
    margin:0 auto 18px;
  }
  .wiz-success h2{font-size:19px;font-weight:800;margin-bottom:8px;}
  .wiz-success p{font-size:13px;color:var(--ink-soft);line-height:1.9;max-width:380px;margin:0 auto 22px;}

  @media (max-width:560px){
    .form-row{grid-template-columns:1fr;}
    .wiz-card{padding:24px 18px;}
    .wiz-step .t{display:none;}
    .gift-options{grid-template-columns:repeat(3,1fr);}
  }

  /* ===== [F] field-level validation highlight ===== */
  .f-invalid{
    border-color:var(--hot) !important;
    box-shadow:0 0 0 4px rgba(227,28,95,.14) !important;
  }
  .gift-options.f-invalid{
    outline:2px solid var(--hot);
    outline-offset:4px;
    border-radius:14px;
  }

  /* ===== [توضیحات کم‌رنگ راهنما] هر خط راهنما یک input/textarea مستقل با placeholder خودشه — نوشتن تو
     یک خط فقط placeholder همون خط رو پاک می‌کنه، نه کل باکس رو (برخلاف placeholder تکی رو یه textarea) ===== */
  .desc-tmpl-wrap{
    width:100%;padding:2px 14px;
    border:1.5px solid var(--line-strong);border-radius:12px;
    background:var(--surface);
    display:flex;flex-direction:column;
    transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
  }
  .desc-tmpl-wrap:focus-within{border-color:var(--hot);box-shadow:0 0 0 4px rgba(227,28,95,.12);}
  .desc-tmpl-wrap .desc-tmpl-row{
    width:100%;padding:9px 0;
    border:none;border-bottom:1px dashed var(--line);border-radius:0;
    background:transparent;box-shadow:none;
    font-family:inherit;font-size:13.5px;font-weight:500;color:var(--ink);line-height:1.8;
  }
  .desc-tmpl-wrap .desc-tmpl-row:last-child{border-bottom:none;resize:vertical;min-height:44px;}
  .desc-tmpl-wrap .desc-tmpl-row::placeholder{color:var(--placeholder);font-weight:500;}
  .desc-tmpl-wrap .desc-tmpl-row:focus{outline:none;box-shadow:none;}

  /* ===== [A] پنل کاربری ===== */
  .acc-body{
    min-height:100vh;
    background:
      radial-gradient(circle at 15% 8%, rgba(227,28,95,.06), transparent 40%),
      radial-gradient(circle at 85% 92%, rgba(201,154,46,.08), transparent 45%),
      var(--surface);
  }
  .acc-shell{
    max-width:1080px;margin:0 auto;
    padding:28px 20px 60px;
    display:flex;gap:26px;align-items:flex-start;
  }

  .acc-side{width:250px;flex-shrink:0;}
  .acc-profile-card{
    background:var(--card);border:1px solid var(--line);border-radius:20px;
    padding:20px;box-shadow:var(--shadow);text-align:center;margin-bottom:16px;
  }
  .acc-avatar{
    width:64px;height:64px;border-radius:50%;margin:0 auto 12px;
    background:linear-gradient(135deg,var(--gold),var(--hot));
    color:#fff;font-size:22px;font-weight:800;
    display:flex;align-items:center;justify-content:center;
  }
  .acc-profile-card h3{font-size:15px;font-weight:800;margin:0 0 3px;}
  .acc-profile-card .phone{font-size:12px;color:var(--ink-soft);direction:ltr;display:inline-block;}
  .acc-role-badge{
    display:inline-flex;align-items:center;gap:5px;
    background:#FFF1F5;color:var(--hot);font-size:10.5px;font-weight:800;
    padding:3px 10px;border-radius:999px;margin-top:8px;
  }

  .acc-nav{
    background:var(--card);border:1px solid var(--line);border-radius:20px;
    box-shadow:var(--shadow);padding:10px;
  }
  .acc-nav-item{
    display:flex;align-items:center;gap:10px;
    padding:11px 14px;border-radius:12px;
    font-size:13px;font-weight:700;color:var(--ink-soft);
    cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease);
  }
  .acc-nav-item i{width:16px;text-align:center;color:var(--ink-soft);transition:color .15s;}
  .acc-nav-item .acc-nav-label{flex:1;min-width:0;}
  .acc-nav-item:hover{background:var(--surface);color:var(--ink);}
  .acc-nav-item.active{background:var(--hot);color:#fff;}
  .acc-nav-item.active i{color:#fff;}
  .acc-nav-sep{height:1px;background:var(--line);margin:8px 6px;}
  /* [شمارنده‌ی کارهای نیمه‌تمام] عدد کنار هر تب — تعداد کارهای در انتظار انجامِ اون بخش */
  .acc-nav-badge{
    flex-shrink:0;min-width:20px;height:20px;padding:0 6px;border-radius:999px;
    display:inline-flex;align-items:center;justify-content:center;
    font-size:11px;font-weight:800;line-height:1;
    background:var(--hot);color:#fff;
  }
  .acc-nav-badge.is-zero{background:var(--line-strong);color:var(--ink-soft);}
  .acc-nav-item.active .acc-nav-badge{background:#fff;color:var(--hot);}
  .acc-nav-item.active .acc-nav-badge.is-zero{background:rgba(255,255,255,.4);color:#fff;}
  .acc-nav-item.danger{color:var(--hot);}
  .acc-nav-item.danger i{color:var(--hot);}

  .acc-main{
    flex:1;min-width:0;
    background:var(--card);border:1px solid var(--line);border-radius:24px;
    box-shadow:var(--shadow-lg);padding:30px 32px;
  }
  .acc-panel{display:none;}
  .acc-panel.active{display:block;}
  .acc-panel-head{margin-bottom:22px;}
  .acc-panel-head h2{font-size:19px;font-weight:800;margin:0 0 6px;}
  .acc-panel-head p{font-size:12.5px;color:var(--ink-soft);margin:0;}

  .acc-save-row{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:6px;}
  .acc-save-btn{
    padding:12px 26px;border-radius:12px;border:none;
    background:var(--hot);color:#fff;font-weight:800;font-size:13.5px;font-family:inherit;
    box-shadow:0 10px 20px -8px rgba(227,28,95,.5);cursor:pointer;
    display:flex;align-items:center;gap:8px;transition:transform var(--dur) var(--ease);
  }
  .acc-save-btn:hover{transform:translateY(-1px);}
  .acc-cancel-btn{
    padding:12px 22px;border-radius:12px;border:1.5px solid var(--line-strong);
    background:var(--surface);color:var(--ink);font-weight:700;font-size:13.5px;font-family:inherit;
    cursor:pointer;transition:background var(--dur) var(--ease);
  }
  .acc-cancel-btn:hover{background:var(--line);}
  .acc-saved-note{
    font-size:11.5px;color:var(--mint);font-weight:700;
    display:none;align-items:center;gap:5px;margin-inline-end:auto;
  }
  .acc-saved-note.show{display:flex;}

  /* sub-tabs inside A4 (favorites / recent) */
  .acc-subtabs{display:flex;gap:6px;margin-bottom:18px;border-bottom:1.5px solid var(--line);flex-wrap:wrap;}
  .acc-subtab{padding:9px 16px;font-size:12.5px;font-weight:700;color:var(--ink-soft);border-bottom:2.5px solid transparent;cursor:pointer;}
  .acc-subtab.active{color:var(--hot);border-color:var(--hot);}

  /* [ادمین استانی] نوار «مشاهده‌ی پنل نماینده» + شبکه‌ی استان‌های نمایندگی */
  #impersonateBar{display:none;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
    background:linear-gradient(135deg,var(--gold),#9c7415);color:#fff;padding:10px 16px;border-radius:12px;
    font-size:12.5px;font-weight:800;margin-bottom:16px;box-shadow:var(--shadow);}
  #impersonateBar .imp-stop{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.45);color:#fff;
    padding:7px 14px;border-radius:9px;font-family:inherit;font-weight:700;cursor:pointer;font-size:12px;}
  #impersonateBar .imp-stop:hover{background:rgba(255,255,255,.3);}
  .agent-prov-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;}
  .agent-prov-tile{border:1.5px solid var(--line-strong);border-radius:var(--radius);padding:12px;background:var(--card);}
  .agent-prov-tile.has-admin{border-color:var(--mint);background:rgba(31,163,125,.06);}
  .agent-prov-name{font-size:12.5px;font-weight:800;color:var(--ink);margin-bottom:4px;}
  .agent-prov-tile.has-admin .agent-prov-name{color:var(--mint);}
  .agent-prov-admin{display:flex;align-items:center;gap:6px;width:100%;text-align:right;background:var(--surface);
    border:1px solid var(--line);border-radius:9px;padding:7px 9px;margin-top:6px;font-family:inherit;
    font-size:11.5px;font-weight:700;color:var(--ink);cursor:pointer;}
  .agent-prov-admin:hover{border-color:var(--mint);background:rgba(31,163,125,.1);}
  .agent-prov-admin span{color:var(--ink-soft);font-weight:600;margin-right:auto;}
  .agent-prov-empty{font-size:11px;color:var(--ink-soft);margin-top:2px;}
  .gift-opt.region-toggle{width:100%;box-sizing:border-box;}

  /* [A4] تِرد پرسش و پاسخ / گزارش با پشتیبانی */
  .support-thread-intro{
    display:flex;gap:10px;align-items:flex-start;
    background:var(--surface);border:1px solid var(--line);border-radius:12px;
    padding:12px 14px;margin-bottom:14px;font-size:12px;color:var(--ink-soft);line-height:1.9;
  }
  .support-thread-intro i{color:var(--hot);font-size:15px;margin-top:2px;flex-shrink:0;}
  .support-thread-intro p{margin:0;}
  .support-thread{
    display:flex;flex-direction:column;gap:12px;
    max-height:440px;overflow-y:auto;padding:4px;margin-bottom:16px;
  }
  .support-msg{
    max-width:82%;border-radius:14px;padding:11px 14px;
    border:1px solid var(--line);font-size:12.5px;line-height:1.9;
  }
  .support-msg.from-user{align-self:flex-start;background:#FFF1F5;border-color:rgba(227,28,95,.18);}
  .support-msg.from-admin{align-self:flex-end;background:#EAF7F2;border-color:rgba(31,163,125,.22);}
  .support-msg-meta{display:flex;justify-content:space-between;gap:10px;font-size:10.5px;font-weight:700;color:var(--ink-soft);margin-bottom:5px;}
  .support-msg-report{
    font-size:10.5px;font-weight:800;color:var(--hot-dark);
    background:#fff;border:1px dashed rgba(227,28,95,.3);border-radius:8px;
    padding:4px 8px;margin-bottom:6px;display:inline-block;
  }
  .support-msg-text{color:var(--ink);white-space:pre-wrap;}
  .support-compose{display:flex;flex-direction:column;gap:8px;align-items:flex-start;}
  .support-compose textarea{
    width:100%;min-height:80px;padding:12px 14px;
    border:1.5px solid var(--line-strong);border-radius:12px;
    background:var(--surface);font-family:inherit;font-size:12.5px;color:var(--ink);
    resize:vertical;line-height:1.9;
  }
  .support-compose textarea:focus{outline:none;border-color:var(--hot);box-shadow:0 0 0 4px rgba(227,28,95,.12);}

  .recent-item{
    display:flex;align-items:center;gap:12px;
    padding:12px 0;border-bottom:1px solid var(--line);font-size:12.5px;
  }
  .recent-item:last-child{border-bottom:none;}
  .recent-item .ic{
    width:38px;height:38px;border-radius:10px;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;
    background:linear-gradient(135deg,var(--hot),var(--hot-dark));
  }
  .recent-item .rt{flex:1;font-weight:700;}
  .recent-item .rd{color:var(--ink-soft);font-size:11px;}

  /* A5 wallet */
  .wallet-card{
    background:linear-gradient(135deg,var(--ink),#3a2748);
    color:#fff;border-radius:20px;padding:22px 24px;margin-bottom:22px;
    position:relative;overflow:hidden;
  }
  .wallet-card::before{
    content:"";position:absolute;top:-40px;left:-40px;width:140px;height:140px;border-radius:50%;
    background:radial-gradient(circle, rgba(227,28,95,.25), transparent 70%);
  }
  .wallet-card .wl-label{font-size:11.5px;color:rgba(255,255,255,.7);margin-bottom:6px;position:relative;z-index:1;}
  .wallet-card .wl-amount{font-size:26px;font-weight:900;margin-bottom:16px;position:relative;z-index:1;}
  .wallet-card .wl-btn{
    background:var(--gold);color:var(--ink);border:none;border-radius:10px;
    padding:9px 18px;font-weight:800;font-size:12.5px;font-family:inherit;cursor:pointer;
    position:relative;z-index:1;
  }
  .coupon-item{
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    padding:13px 0;border-bottom:1px dashed var(--line-strong);
  }
  .coupon-item:last-child{border-bottom:none;}
  .coupon-item .ct{font-size:13px;font-weight:700;margin-bottom:3px;}
  .coupon-item .cc{font-size:11px;color:var(--ink-soft);direction:ltr;display:inline-block;}
  .coupon-status{font-size:10.5px;font-weight:800;padding:4px 10px;border-radius:999px;white-space:nowrap;}
  .coupon-status.active{background:#EAF7F2;color:var(--mint);}
  .coupon-status.used{background:var(--line);color:var(--ink-soft);}
  .coupon-status.expired{background:#FFF1F5;color:var(--hot);}

  /* A6/A7 gateway cards */
  .gateway-card{
    display:flex;align-items:center;gap:16px;
    border:1.5px solid var(--line-strong);border-radius:16px;
    padding:18px 20px;margin-bottom:14px;
    text-decoration:none;color:var(--ink);
    transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);
  }
  .gateway-card:hover{border-color:var(--hot);background:#FFF1F5;}
  .gateway-card .gw-ic{
    width:46px;height:46px;border-radius:12px;flex-shrink:0;
    background:linear-gradient(135deg,var(--hot),var(--hot-dark));color:#fff;
    display:flex;align-items:center;justify-content:center;font-size:18px;
  }
  .gateway-card .gw-t{font-size:14px;font-weight:800;margin-bottom:2px;}
  .gateway-card .gw-d{font-size:11.5px;color:var(--ink-soft);}
  .gateway-card.disabled{
    opacity:.6;cursor:not-allowed;pointer-events:none;
  }
  .gateway-card.disabled .gw-ic{background:var(--line-strong);color:var(--ink-soft);}
  .gateway-soon{font-size:10px;font-weight:800;color:var(--ink-soft);background:var(--line);padding:3px 9px;border-radius:999px;margin-inline-start:auto;}

  .logout-box{text-align:center;padding:20px 0;}
  .logout-box .lic{
    width:56px;height:56px;border-radius:50%;background:#FFF1F5;color:var(--hot);
    display:flex;align-items:center;justify-content:center;font-size:22px;margin:0 auto 16px;
  }
  .logout-box p{font-size:13px;color:var(--ink-soft);margin-bottom:20px;}
  .logout-confirm-btn{
    background:var(--hot);color:#fff;border:none;border-radius:12px;
    padding:12px 28px;font-weight:800;font-size:13.5px;font-family:inherit;cursor:pointer;
  }

  @media (max-width:820px){
    .acc-shell{flex-direction:column;}
    .acc-side{width:100%;}
    .acc-nav{display:flex;overflow-x:auto;gap:4px;}
    .acc-nav-item{white-space:nowrap;flex-shrink:0;}
    .acc-nav-sep{display:none;}
    .acc-main{padding:22px 18px;}
  }

  /* ===== [session] مودال نام کاربر + پیام خوش‌آمد ===== */
  .modal-overlay{
    position:fixed;inset:0;z-index:200;
    background:rgba(23,17,32,.55);
    display:none;align-items:center;justify-content:center;
    padding:20px;
    backdrop-filter:blur(2px);
  }
  .modal-overlay.show{display:flex;}
  .modal-card{
    width:100%;max-width:360px;
    background:var(--card);border-radius:22px;
    box-shadow:var(--shadow-lg);
    padding:28px 26px;text-align:center;
    animation:modalPop .25s ease;
  }
  @keyframes modalPop{
    from{opacity:0;transform:translateY(10px) scale(.97);}
    to{opacity:1;transform:translateY(0) scale(1);}
  }
  .modal-card .m-ic{
    width:56px;height:56px;border-radius:50%;margin:0 auto 14px;
    background:linear-gradient(135deg,var(--gold),var(--hot));color:#fff;font-size:22px;
    display:flex;align-items:center;justify-content:center;
  }
  .modal-card h3{font-size:17px;font-weight:800;margin:0 0 6px;}
  .modal-card p{font-size:12.5px;color:var(--ink-soft);margin:0 0 18px;}
  .modal-card input{
    width:100%;padding:13px 16px;margin-bottom:14px;
    border:1.5px solid var(--line-strong);border-radius:12px;
    background:var(--surface);font-family:inherit;font-size:14.5px;font-weight:600;
    color:var(--ink);text-align:center;
  }
  .modal-card input:focus{outline:none;border-color:var(--hot);box-shadow:0 0 0 4px rgba(227,28,95,.12);}

  /* [پشتیبانی کاربران] فیلدهای اختیاری جنسیت/شهر در مودال ثبت‌نام */
  .reg-extra{text-align:right;margin-bottom:6px;}
  .reg-extra-label{display:block;font-size:11.5px;font-weight:700;color:var(--ink-soft);margin:2px 0 7px;}
  .reg-extra-label span{font-weight:500;}
  .reg-gender-row{display:flex;flex-wrap:wrap;gap:10px 14px;margin-bottom:14px;font-size:12.5px;color:var(--ink);}
  .reg-gender-row label{display:flex;align-items:center;gap:5px;cursor:pointer;font-weight:600;}
  .reg-gender-row input{width:auto;margin:0;accent-color:var(--hot);}
  .modal-card .reg-extra input[type=text]{text-align:right;margin-bottom:10px;font-size:13.5px;font-weight:500;}
  .reg-extra-select{
    width:100%;text-align:right;margin-bottom:10px;font-family:inherit;font-size:13.5px;font-weight:600;
    padding:11px 12px;border:1.5px solid var(--line-strong);border-radius:12px;background:var(--card);color:var(--ink);
  }
  .reg-extra-select:focus{outline:none;border-color:var(--hot);}
  .sa-modal-card .reg-extra{text-align:right;}
  .sa-modal-card .reg-gender-row input{width:auto;}

  .welcome-toast{
    position:fixed;top:-80px;left:50%;transform:translateX(-50%);
    z-index:300;
    background:var(--ink);color:#fff;
    padding:14px 22px;border-radius:14px;
    font-size:13px;font-weight:700;
    display:flex;align-items:center;gap:10px;
    box-shadow:0 16px 34px -12px rgba(0,0,0,.4);
    transition:top .35s cubic-bezier(.34,1.3,.64,1);
    white-space:nowrap;
  }
  .welcome-toast i{color:var(--gold);font-size:16px;}
  .welcome-toast.show{top:20px;}
  @media (max-width:480px){
    .welcome-toast{white-space:normal;text-align:center;max-width:90vw;}
  }

  /* ===== [کوپن] پنجره‌ی تأیید خرید ===== */
  .pc-overlay{z-index:1300;}  /* بالاتر از مودالِ نوبت‌دهی (bkm-overlay: 1200) */
  .pc-card{max-width:400px;}
  .pc-rows{text-align:right;margin:4px 0 16px;border:1.5px solid var(--line);border-radius:14px;overflow:hidden;}
  .pc-row{display:flex;justify-content:space-between;gap:12px;padding:11px 14px;font-size:12.5px;}
  .pc-row + .pc-row{border-top:1px solid var(--line);}
  .pc-row-l{color:var(--ink-soft);font-weight:600;flex-shrink:0;}
  .pc-row-v{color:var(--ink);font-weight:800;text-align:left;}
  .pc-err{background:rgba(227,28,95,.08);color:var(--hot);border-radius:10px;padding:9px 12px;font-size:12px;font-weight:700;margin-bottom:12px;text-align:right;}
  .pc-go{
    width:100%;padding:13px 16px;border:none;border-radius:12px;cursor:pointer;
    background:linear-gradient(135deg,var(--hot),var(--hot-dark));color:#fff;
    font-family:inherit;font-size:14px;font-weight:800;margin-bottom:8px;
  }
  .pc-go:disabled{opacity:.7;cursor:default;}
  .pc-cancel{
    width:100%;padding:10px;border:none;background:none;cursor:pointer;
    color:var(--ink-soft);font-family:inherit;font-size:12.5px;font-weight:700;
  }

  /* ===== [کوپن] بنر موفقیت خرید (روی صفحه، دفعه‌ی بعدِ ورود) ===== */
  .buy-success-toast{
    position:fixed;top:-260px;left:50%;transform:translateX(-50%);
    z-index:305;width:min(94vw,440px);
    background:var(--card);color:var(--ink);
    border:1.5px solid var(--mint);border-radius:16px;
    padding:16px 18px 14px;
    box-shadow:0 18px 40px -14px rgba(0,0,0,.35);
    transition:top .4s cubic-bezier(.34,1.2,.64,1);
  }
  .buy-success-toast.show{top:16px;}
  .buy-success-toast .bst-head{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:900;color:var(--mint);margin-bottom:8px;}
  .buy-success-toast .bst-head i{font-size:16px;}
  .buy-success-toast .bst-x{margin-inline-start:auto;background:none;border:none;cursor:pointer;color:var(--ink-soft);font-size:15px;}
  .buy-success-toast .bst-line{font-size:12.5px;line-height:1.9;color:var(--ink);}
  .buy-success-toast .bst-code{
    display:inline-block;margin:6px 0;padding:6px 14px;border-radius:10px;
    background:var(--surface);border:1.5px dashed var(--gold);
    font-size:16px;font-weight:900;letter-spacing:3px;color:var(--ink);direction:ltr;
  }
  .buy-success-toast .bst-foot{font-size:11.5px;color:var(--ink-soft);margin-top:6px;}
  .buy-success-toast .bst-foot a{color:var(--hot);font-weight:700;text-decoration:none;}

  /* ===== [کوپن] نوار ابطال کوپن برای صاحب فروشگاه (صفحه‌ی اول) ===== */
  .coupon-redeem-bar{
    background:var(--ink);color:#fff;border-radius:var(--radius);
    padding:12px 16px;margin:0 0 18px;
    display:flex;align-items:center;gap:10px;flex-wrap:wrap;
    box-shadow:var(--shadow);
  }
  .coupon-redeem-bar .crb-label{font-size:12.5px;font-weight:800;display:flex;align-items:center;gap:7px;}
  .coupon-redeem-bar .crb-label i{color:var(--gold);}
  .coupon-redeem-bar input{
    flex:1;min-width:150px;padding:9px 12px;border-radius:10px;border:none;
    font-family:inherit;font-size:14px;font-weight:800;letter-spacing:2px;
    text-align:center;color:var(--ink);direction:ltr;
  }
  .coupon-redeem-bar button{
    padding:9px 18px;border:none;border-radius:10px;cursor:pointer;
    background:var(--hot);color:#fff;font-family:inherit;font-size:12.5px;font-weight:800;
  }
  .coupon-redeem-bar button:disabled{opacity:.6;cursor:default;}
  .coupon-redeem-bar .crb-msg{width:100%;font-size:12px;font-weight:700;margin-top:2px;}
  .coupon-redeem-bar .crb-msg.ok{color:#8ff0c8;}
  .coupon-redeem-bar .crb-msg.err{color:#ffc2d4;}
  .coupon-redeem-bar .crb-scan{background:rgba(255,255,255,.14);}
  .coupon-redeem-bar .crb-scan i{margin-inline-end:5px;}

  /* ===== [کوپن — اسکن] بارکد + QR کنارِ کدِ کوپن ===== */
  .sc-art{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 0 2px;}
  .sc-art-barcode{flex:1;min-width:150px;max-width:280px;}
  .sc-art-barcode svg{display:block;width:100%;height:46px;}
  .sc-art-qr svg{display:block;width:74px;height:74px;}
  .sc-art-compact{gap:9px;}
  .sc-art-compact .sc-art-barcode{min-width:120px;max-width:210px;}
  .sc-art-compact .sc-art-barcode svg{height:38px;}
  .sc-art-compact .sc-art-qr svg{width:58px;height:58px;}
  .buy-success-toast .bst-scan{margin:4px 0 2px;}
  .coupon-item .coupon-scan{margin:4px 0 2px;}

  /* ===== [کوپن — اسکن] مودالِ اسکنِ دوربین ===== */
  body.sc-lock{overflow:hidden;}
  .sc-modal{
    position:fixed;inset:0;z-index:1400;
    background:rgba(20,12,28,.6);backdrop-filter:blur(2px);
    display:flex;align-items:center;justify-content:center;padding:16px;
  }
  .sc-box{
    background:var(--card);border-radius:var(--radius);width:min(96vw,440px);
    max-height:92vh;overflow:auto;box-shadow:var(--shadow-lg);
  }
  .sc-head{
    display:flex;align-items:center;gap:8px;padding:14px 16px;
    font-size:13.5px;font-weight:900;color:var(--ink);border-bottom:1px solid var(--line);
  }
  .sc-head i{color:var(--hot);}
  .sc-x{margin-inline-start:auto;background:none;border:none;cursor:pointer;color:var(--ink-soft);font-size:16px;}
  .sc-stage{position:relative;background:#000;aspect-ratio:4/3;overflow:hidden;}
  .sc-video{width:100%;height:100%;object-fit:cover;display:block;}
  .sc-frame{
    position:absolute;inset:14% 12%;border:2.5px solid rgba(255,255,255,.85);
    border-radius:14px;box-shadow:0 0 0 2000px rgba(0,0,0,.25);pointer-events:none;
  }
  .sc-hint{padding:10px 16px;font-size:12px;font-weight:600;color:var(--ink-soft);line-height:1.8;}
  .sc-panel{padding:0 16px 16px;}
  .sc-empty{font-size:12px;color:var(--ink-soft);padding:6px 0;}
  .sc-full{
    background:rgba(227,28,95,.1);color:var(--hot);border-radius:10px;
    padding:9px 12px;font-size:12px;font-weight:800;margin-bottom:10px;text-align:center;
  }
  .sc-queue{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px;}
  .sc-chip{
    display:inline-flex;align-items:center;gap:6px;
    background:var(--surface);border:1.5px solid var(--line-strong);border-radius:999px;
    padding:5px 6px 5px 12px;font-size:12.5px;font-weight:800;color:var(--ink);direction:ltr;
  }
  .sc-chip button{
    width:18px;height:18px;line-height:1;border:none;border-radius:50%;cursor:pointer;
    background:var(--line-strong);color:var(--ink);font-size:13px;font-weight:900;
  }
  .sc-batch-btn{
    width:100%;padding:12px 16px;border:none;border-radius:12px;cursor:pointer;
    background:var(--ink);color:#fff;font-family:inherit;font-size:13px;font-weight:800;
  }
  .sc-batch-btn.hot{background:linear-gradient(135deg,var(--hot),var(--hot-dark));}
  .sc-batch-btn:disabled{opacity:.65;cursor:default;}
  .sc-results{margin-top:12px;display:flex;flex-direction:column;gap:6px;}
  .sc-res{font-size:12px;font-weight:700;border-radius:9px;padding:8px 11px;display:flex;gap:7px;align-items:flex-start;}
  .sc-res.ok{background:#EAF7F2;color:var(--mint);}
  .sc-res.err{background:rgba(227,28,95,.08);color:var(--hot);}

  /* ===== [D11] برچسب و توضیح کش‌بک ===== */
  .cashback-badge{
    display:inline-flex;align-items:center;gap:5px;
    background:#EAF7F2;color:var(--mint);
    font-size:11px;font-weight:800;padding:5px 12px;border-radius:999px;
  }
  .card-media .cashback-badge, .amaze-media .cashback-badge, .search-offer-media .cashback-badge{
    position:absolute;bottom:10px;inset-inline-start:10px;z-index:3;
    background:rgba(31,163,125,.95);color:#fff;padding:4px 10px;font-size:10.5px;
  }
  .cashback-note{
    background:#EAF7F2;border:1.5px solid rgba(31,163,125,.35);border-radius:12px;
    padding:11px 14px;margin:12px 0;font-size:12.5px;font-weight:600;color:var(--ink);
    display:flex;gap:9px;align-items:flex-start;
  }
  .cashback-note i{color:var(--mint);font-size:15px;flex-shrink:0;margin-top:1px;}

  /* ===== برچسبِ موربِ کش‌بک — گوشه‌ی بالا-چپِ کارتِ آفر ===== */
  .card-media, .amaze-media, .search-offer-media{ overflow:hidden; }
  /* [a11y] عکسِ واقعیِ کارت — <img alt> به‌جای background-image؛ همون‌جوری که .variant-photo/.gallery-main پرشدن */
  .card-media img, .amaze-media img, .search-offer-media img, .catrow-media img{width:100%;height:100%;object-fit:cover;display:block;}
  .cashback-ribbon{
    position:absolute;top:13px;left:-34px;z-index:4;
    transform:rotate(-45deg);
    background:linear-gradient(135deg,#1fae7a,#15895f);
    color:#fff;font-size:9.5px;font-weight:800;letter-spacing:.01em;
    padding:3px 34px;white-space:nowrap;text-align:center;pointer-events:none;
    box-shadow:0 3px 8px -2px rgba(0,0,0,.4);
  }
  .cashback-ribbon i{font-size:9px;margin-inline-end:2px;}
  .search-offer-media .cashback-ribbon{top:11px;left:-30px;padding:2.5px 30px;font-size:8.5px;}

  /* ===== [D13] کادرِ «مزیتِ خرید» — درصد تخفیف (قرمز) + کش‌بک ===== */
  .offer-benefit-box{
    background:#FFF7F2;border:1.5px solid rgba(224,36,36,.22);border-radius:12px;
    padding:11px 14px;margin:12px 0;font-size:13px;font-weight:600;line-height:1.9;color:var(--ink);
    display:flex;gap:9px;align-items:flex-start;
  }
  .offer-benefit-box > i{color:#e02424;font-size:15px;flex-shrink:0;margin-top:3px;}
  .offer-benefit-box .disc-pct{color:#e02424;font-weight:900;font-size:15px;}
  .offer-benefit-box .cb-pct{color:var(--mint);font-weight:900;font-size:15px;}
  .variant-benefit{
    font-size:12px;font-weight:600;line-height:1.85;color:var(--ink-soft);
    background:#FBFBFC;border:1px solid var(--line);border-radius:10px;padding:8px 11px;
    align-self:flex-start;max-width:280px;
  }
  .variant-benefit .disc-pct{color:#e02424;font-weight:900;}
  .variant-benefit .cb-pct{color:var(--mint);font-weight:900;}
  .pf-current{
    background:#EAF7F2;border:1.5px solid rgba(31,163,125,.3);border-radius:10px;
    padding:9px 13px;margin:0 0 12px;font-size:12.5px;font-weight:600;color:var(--ink);
    display:flex;gap:8px;align-items:center;flex-wrap:wrap;
  }
  .pf-current i{color:var(--mint);}
  .pf-current b{font-weight:800;letter-spacing:.03em;}

  /* ===== [D13] نمای فقط‌خواندنیِ پنلِ کاربر در پنل مدیریت ===== */
  .upv-h{font-size:13px;font-weight:800;margin:18px 0 8px;display:flex;align-items:center;gap:7px;color:var(--ink);}
  .upv-h i{color:var(--hot);}
  .upv-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;}
  .upv-kv{display:flex;flex-direction:column;gap:2px;font-size:12px;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:7px 10px;}
  .upv-kv span{color:var(--ink-soft);font-size:10.5px;}
  .upv-kv b{font-weight:800;}
  .upv-list{display:flex;flex-direction:column;gap:8px;}
  .upv-row{border:1px solid var(--line);border-radius:10px;padding:9px 11px;font-size:12px;}
  .upv-row-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px;color:var(--ink-soft);font-size:11px;}
  @media (max-width:520px){ .upv-grid{grid-template-columns:1fr;} }

  /* ===== [D11] تفکیک موجودی قابل‌برداشت / کش‌بکِ قفل‌شده در پنل کاربری ===== */
  .wallet-split{display:flex;flex-wrap:wrap;gap:14px;margin-top:4px;position:relative;z-index:1;}
  .wallet-split .ws-item{flex:1;min-width:130px;}
  .wallet-split .ws-l{font-size:10.5px;color:rgba(255,255,255,.7);margin-bottom:4px;}
  .wallet-split .ws-v{font-size:18px;font-weight:900;}
  .wallet-split .ws-lock{font-size:10px;color:rgba(255,255,255,.6);margin-top:2px;}

  /* ===== [D11] «پرداخت با کیف پول» در پنجره‌ی تأیید ===== */
  .pc-wallet{
    display:flex;gap:9px;align-items:flex-start;text-align:right;
    background:var(--surface);border:1.5px solid var(--line-strong);border-radius:12px;
    padding:11px 13px;margin-bottom:12px;font-size:12px;font-weight:600;color:var(--ink);cursor:pointer;
  }
  .pc-wallet input{width:auto;margin:2px 0 0;accent-color:var(--hot);flex-shrink:0;}
  .pc-wallet .pcw-sub{display:block;font-weight:500;color:var(--ink-soft);font-size:11px;margin-top:3px;}
  .pc-wallet b{font-weight:800;}
  .pcw-title{text-align:right;font-size:12px;font-weight:800;color:var(--ink);margin:2px 0 9px;display:flex;align-items:center;gap:6px;}
  .pcw-title i{color:var(--mint);}
  .pcw-summary{
    text-align:right;background:#EAF7F2;border:1.5px solid rgba(31,163,125,.3);border-radius:10px;
    padding:9px 12px;margin:-2px 0 12px;font-size:11.5px;font-weight:600;line-height:1.8;color:var(--ink);
  }
  #pc-payable-v.pc-zero{color:var(--mint);}

  /* ===== کد تخفیف — در پنجره‌ی تأیید خرید ===== */
  .pc-coupon-wrap:empty{display:none;}
  .pcc-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:9px;}
  .pcc-chips .pcc-chip{padding:6px 12px;font-size:11.5px;}
  .pcc-input{
    width:100%;padding:10px 13px;border:1.5px solid var(--line-strong);border-radius:10px;
    font-family:inherit;font-size:13px;text-align:center;letter-spacing:.08em;margin-bottom:12px;
  }
  .pcc-input:focus{border-color:var(--mint);outline:none;}

  /* ===== [session] منوی کاربر لاگین‌شده در هدر ===== */
  .user-menu-wrap{position:relative;display:inline-block;}
  .user-menu-dropdown{
    position:absolute;top:calc(100% + 10px);right:0;
    min-width:210px;
    background:var(--card);border:1px solid var(--line);border-radius:16px;
    box-shadow:var(--shadow-lg);
    padding:8px;z-index:60;
    display:none;
  }
  .user-menu-dropdown.open{display:block;}
  .user-menu-name{
    padding:10px 12px;font-size:13px;font-weight:800;color:var(--ink);
    border-bottom:1px solid var(--line);margin-bottom:6px;
    display:flex;align-items:center;gap:8px;
  }
  .user-menu-name i{color:var(--hot);}
  .user-menu-item{
    display:flex;align-items:center;gap:10px;
    padding:10px 12px;border-radius:10px;
    font-size:12.5px;font-weight:700;color:var(--ink-soft);
    cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease);
  }
  .user-menu-item i{width:14px;text-align:center;color:var(--ink-soft);}
  .user-menu-item:hover{background:var(--surface);color:var(--ink);}
  .user-menu-item.danger{color:var(--hot);}
  .user-menu-item.danger i{color:var(--hot);}
  .user-menu-item.danger:hover{background:#FFF1F5;}
  .user-menu-sep{
    height:1px;background:var(--line);margin:6px 4px;
  }
  .user-menu-label{
    padding:6px 12px 2px;font-size:10.5px;font-weight:800;color:var(--ink-soft);
  }
  .user-menu-item.shop-admin{color:var(--mint);}
  .user-menu-item.shop-admin i{color:var(--mint);}
  .user-menu-item.shop-admin:hover{background:#EAF7F2;}

  /* ===== [B3] هیرو — اسلایدر + دو بنر ثابت، تمام‌عرضِ صفحه و هم‌تراز با کارت‌های پایین =====
     نسبت عرض ۲:۱ (اسلایدر : ستون کناری)؛ ارتفاع ثابت: اسلایدر ۱۰٫۵ سانت، هر بنر کناری ۵ سانت با ۰٫۵ فاصله */
  .hero-section{
    display:grid;grid-template-columns:2fr 1fr;gap:.5cm;
    margin-top:var(--space-6);
  }
  .hero-static-col{display:flex;flex-direction:column;gap:.5cm;}
  .hero-static-card{
    /* flex-basis:auto تا خودِ height ارتفاع را کنترل کند (نه flex-basis) */
    flex:0 0 auto;height:5cm;border-radius:20px;overflow:hidden;position:relative;
    display:flex;align-items:center;box-shadow:var(--shadow);color:#fff;padding:18px 20px;
  }
  .hero-static-card::before{content:"";position:absolute;inset:0;opacity:.14;
    background-image:radial-gradient(circle at 85% 20%, #fff, transparent 45%);}
  .hs-1{background:linear-gradient(135deg,#6E2A9E,#2E1050);}
  .hs-2{background:linear-gradient(135deg,#0F6E72,#0A4F52);}
  .hero-static-card .hs-ic{font-size:34px;margin-left:14px;opacity:.9;position:relative;z-index:1;flex-shrink:0;}
  .hero-static-card .hs-txt{position:relative;z-index:1;}
  .hero-static-card .hs-txt small{display:block;font-size:11px;opacity:.85;margin-bottom:4px;}
  .hero-static-card .hs-txt strong{display:block;font-size:14.5px;font-weight:800;line-height:1.6;}

  .hero-section .hero{aspect-ratio:auto;height:10.5cm;}
  .hero-section .slide{aspect-ratio:auto;height:10.5cm;min-height:0;}

  /* بین ۹۰۰ تا ۱۳۰۰px عرض کمتر است → ارتفاع را کمی کم می‌کنیم تا اسلایدر پهن‌تر از بلند بماند */
  @media (max-width:1300px){
    .hero-section .hero, .hero-section .slide{height:8cm;}
    .hero-static-card{height:3.75cm;}
  }

  @media (max-width:900px){
    .hero-section{grid-template-columns:1fr;gap:16px;}
    .hero-static-col{flex-direction:row;gap:12px;}
    .hero-static-card{height:auto;min-height:120px;flex:1;}
    .hero-section .hero{height:auto;}
    .hero-section .slide{height:auto;min-height:220px;aspect-ratio:16/7;}
  }
  @media (max-width:560px){
    .hero-static-col{flex-direction:column;}
    .hero-section .slide{aspect-ratio:16/9;}
  }

  /* ===== [B4] نوار دسته‌بندی فانتزی ===== */
  .fancy-cats{
    display:grid;grid-template-columns:repeat(6,1fr);gap:14px;
    margin-top:34px;
  }
  .fancy-cat-card{
    background:var(--card);border:1px solid var(--line);border-radius:18px;
    padding:14px;position:relative;box-shadow:var(--shadow);
    text-decoration:none;color:var(--ink);
    transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
  }
  .fancy-cat-card:hover, .fancy-cat-card:focus-visible{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
  .fancy-cat-badge{
    position:absolute;top:12px;right:12px;z-index:2;
    background:var(--gold);color:var(--ink);
    font-size:10.5px;font-weight:900;padding:3px 9px;border-radius:999px;
  }
  .fancy-cat-icon{
    width:100%;aspect-ratio:1/1;border-radius:14px;
    display:flex;align-items:center;justify-content:center;
    font-size:32px;color:#fff;margin-bottom:12px;
  }
  .fancy-cat-title{font-size:12.5px;font-weight:800;margin-bottom:9px;line-height:1.6;min-height:40px;}
  .fancy-cat-cta{font-size:11px;font-weight:700;color:var(--hot);display:flex;align-items:center;gap:4px;}

  /* [عکس پرتخفیف‌ها] وقتی پشتیبان برای دسته عکس گذاشته: کلِ کارت عکس + متنِ روشن روی گرادیانِ تیره */
  .fancy-cat-card.has-img{
    background-size:cover;background-position:center;border-color:transparent;color:#fff;
    min-height:158px;display:flex;flex-direction:column;justify-content:flex-end;
  }
  .fancy-cat-card.has-img .fancy-cat-icon{display:none;}
  .fancy-cat-card.has-img .fancy-cat-title{color:#fff;min-height:0;margin-bottom:6px;text-shadow:0 1px 4px rgba(0,0,0,.55);}
  .fancy-cat-card.has-img .fancy-cat-cta{color:#fff;}
  /* [تقویمِ فروشِ کارتِ دسته] نامِ فروشگاهی که این کارت را خریده */
  .fancy-cat-sponsor{font-size:10.5px;font-weight:700;color:#fff;opacity:.9;margin-bottom:6px;text-shadow:0 1px 4px rgba(0,0,0,.55);}

  @media (max-width:900px){
    .fancy-cats{grid-template-columns:repeat(3,1fr);}
  }
  @media (max-width:560px){
    .fancy-cats{display:flex;overflow-x:auto;gap:12px;padding-bottom:4px;}
    .fancy-cat-card{flex:0 0 140px;}
  }

  /* ===== [B5] کارت «تخفیف‌های شگفت‌انگیز» — مستطیل ثابت ۵ سانت عرض × ۹ سانت طول ===== */
  .amaze-card{
    flex:0 0 5cm;height:9cm;
    display:flex;flex-direction:column;
    background:var(--card);border:1px solid var(--line);border-radius:18px;
    overflow:hidden;box-shadow:var(--shadow);text-decoration:none;color:var(--ink);
    transition:transform var(--dur) var(--ease);
  }
  .amaze-card:hover, .amaze-card:focus-visible{transform:translateY(-3px);}
  .amaze-media{
    height:150px;flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center;
    color:#fff;font-size:30px;
  }
  .amaze-shop-badge{
    position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:8px;
    background:#fff;display:flex;align-items:center;justify-content:center;
    box-shadow:var(--shadow);color:var(--hot);font-size:13px;
  }
  .amaze-body{padding:12px 14px;flex:1;display:flex;flex-direction:column;min-height:0;}
  .amaze-title{
    font-size:13px;font-weight:800;line-height:1.6;margin-bottom:8px;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  }
  .amaze-meta-row{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--ink-soft);margin-bottom:7px;gap:6px;}
  .amaze-meta-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .amaze-meta-row .stars{color:var(--gold);font-weight:700;flex-shrink:0;}
  .amaze-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px dashed var(--line-strong);padding-top:10px;margin-top:auto;}
  .amaze-off{color:var(--hot);font-weight:900;font-size:16px;}
  /* [ui-polish] read as an action, not muted caption — mirrors .see-all */
  .amaze-cta{
    font-size:11px;font-weight:800;color:var(--hot);
    display:inline-flex;align-items:center;gap:4px;
    transition:transform var(--dur) var(--ease);
  }
  .amaze-card:hover .amaze-cta, .amaze-card:focus-visible .amaze-cta{transform:translateX(-3px);}

  /* ===== [B8] ردیف‌های اختصاصی هر دسته ===== */
  .catrow-section{margin-top:var(--space-3);padding:var(--space-8) 0 var(--space-2);}
  .catrow-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
  .catrow-head h2{font-size:19px;font-weight:800;}
  .catrow-head a{font-size:12.5px;font-weight:700;color:var(--ink-soft);display:flex;align-items:center;gap:4px;text-decoration:none;}
  .catrow-scroll{display:flex;gap:16px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x proximity;align-items:flex-start;}

  /* کارت آفر دسته — مستطیل ثابت ۵ سانت عرض × ۹ سانت طول */
  .catrow-card{
    flex:0 0 5cm;height:9cm;
    display:flex;flex-direction:column;
    background:var(--card);border:1px solid var(--line);border-radius:16px;
    overflow:hidden;box-shadow:var(--shadow);text-decoration:none;color:var(--ink);
    scroll-snap-align:start;
    transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
  }
  .catrow-media{height:165px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:26px;}
  .catrow-body{padding:13px;flex:1;display:flex;flex-direction:column;}
  .catrow-title{font-size:12.5px;font-weight:800;margin-bottom:9px;line-height:1.6;min-height:38px;}
  .catrow-loc{font-size:10.5px;color:var(--ink-soft);margin-bottom:9px;display:flex;align-items:center;gap:5px;}
  .catrow-off{font-size:11.5px;font-weight:800;margin-bottom:10px;}
  .catrow-btn{display:block;text-align:center;border:1.5px solid var(--line-strong);border-radius:9px;padding:7px;font-size:11px;font-weight:700;color:var(--ink);margin-top:auto;transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease);}
  .catrow-card:hover, .catrow-card:focus-visible{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
  .catrow-card:hover .catrow-btn, .catrow-card:focus-visible .catrow-btn{border-color:var(--hot);color:var(--hot);}

  /* بنر شاخص هر دسته — اول ردیف، هم‌اندازهٔ کارت آفر (۵×۹ سانت)، با آیکون واترمارک دسته */
  .catrow-cta{
    flex:0 0 5cm;height:9cm;
    scroll-snap-align:start;
    border-radius:16px;position:relative;overflow:hidden;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:5px;padding:20px 16px;text-align:center;color:#fff;text-decoration:none;
    box-shadow:var(--shadow);
  }
  .catrow-cta-bg{
    position:absolute;inset-inline-start:-16px;bottom:-22px;
    font-size:118px;line-height:1;opacity:.14;transform:rotate(-12deg);
    pointer-events:none;
  }
  .catrow-cta-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:4px;}
  .catrow-cta small{font-size:11px;opacity:.92;font-weight:700;}
  .catrow-cta strong{font-size:15px;font-weight:900;line-height:1.5;}
  .catrow-cta .pct{font-size:34px;font-weight:900;line-height:1;margin-top:5px;letter-spacing:-.01em;}
  .catrow-cta .catrow-cta-off{font-size:11px;font-weight:700;opacity:.92;margin-bottom:12px;}
  .catrow-cta .catrow-cta-btn{
    border:none;border-radius:10px;padding:9px 16px;font-weight:800;font-size:11px;
    font-family:inherit;display:inline-flex;align-items:center;gap:6px;
    transition:transform var(--dur) var(--ease);
  }
  .catrow-cta .catrow-cta-btn i{font-size:9px;}
  .catrow-cta:hover .catrow-cta-btn, .catrow-cta:focus-visible .catrow-cta-btn{transform:translateX(-3px);}

  .theme-pink{background:linear-gradient(135deg,var(--hot),var(--hot-dark));}
  .theme-pink .catrow-cta-btn{background:#fff;color:var(--hot);}
  .theme-teal{background:linear-gradient(135deg,#0F6E72,#0A4F52);}
  .theme-teal .catrow-cta-btn{background:#fff;color:#0F6E72;}
  .theme-green{background:linear-gradient(135deg,#1FA37D,#137a5c);}
  .theme-green .catrow-cta-btn{background:#fff;color:#137a5c;}
  .theme-blue{background:linear-gradient(135deg,#2A6DB8,#123A63);}
  .theme-blue .catrow-cta-btn{background:#fff;color:#2A6DB8;}
  .theme-gold{background:linear-gradient(135deg,#C99A2E,#7A5A12);}
  .theme-gold .catrow-cta-btn{background:#fff;color:#8a6a1f;}
  .theme-purple{background:linear-gradient(135deg,#6E2A9E,#2E1050);}
  .theme-purple .catrow-cta-btn{background:#fff;color:#6E2A9E;}

  @media (max-width:560px){
    .amaze-card{flex-basis:190px;}
  }

  /* ===== [I] صفحه نتایج جستجو ===== */
  .search-head{padding:22px 0 6px;}
  .search-head h1{font-size:19px;font-weight:800;margin:0 0 4px;}
  .search-head p{font-size:12.5px;color:var(--ink-soft);margin:0;}
  .search-head p b{color:var(--hot);}

  /* [I2] نتایج فروشگاه */
  .shop-results{display:flex;flex-direction:column;gap:12px;margin-bottom:8px;}
  .shop-result-card{
    display:flex;align-items:center;gap:16px;
    background:var(--card);border:1.5px solid var(--line);border-radius:16px;
    padding:16px 18px;box-shadow:var(--shadow);text-decoration:none;color:var(--ink);
    transition:border-color .15s, transform .15s;
  }
  .shop-result-card:hover, .shop-result-card:focus-visible{border-color:var(--hot);transform:translateY(-2px);}
  .shop-result-logo{
    width:58px;height:58px;border-radius:14px;flex-shrink:0;
    background:linear-gradient(135deg,var(--hot),var(--hot-dark));color:#fff;
    display:flex;align-items:center;justify-content:center;font-size:22px;
  }
  .shop-result-body{flex:1;min-width:0;}
  .shop-result-name{font-size:14.5px;font-weight:800;margin-bottom:5px;}
  .shop-result-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:11.5px;color:var(--ink-soft);}
  .shop-result-meta span{display:flex;align-items:center;gap:5px;}
  .shop-result-arrow{color:var(--ink-soft);font-size:14px;flex-shrink:0;}

  /* [فیلتر آفرها] ستون کناری کنار گرید نتایج آفر — مرتب‌سازی قیمت + منطقه + زیردسته */
  .search-offers-layout{display:flex;gap:22px;align-items:flex-start;}
  .search-offers-layout .search-offers-grid{flex:1;min-width:0;}
  .search-filters{width:250px;flex-shrink:0;}
  .search-filters:empty{display:none;}
  .filter-card{
    background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
    padding:20px;box-shadow:var(--shadow);position:sticky;top:16px;
  }
  .filter-card h3{font-size:14px;font-weight:800;margin:0 0 16px;display:flex;align-items:center;gap:8px;}
  .filter-group{margin-bottom:18px;}
  .filter-group:last-of-type{margin-bottom:16px;}
  .filter-group label{display:block;font-size:12px;font-weight:700;margin-bottom:8px;color:var(--ink);}
  .filter-group select, .filter-group input[type=text]{
    width:100%;padding:10px 12px;border:1.5px solid var(--line-strong);border-radius:10px;
    font-family:inherit;font-size:12.5px;color:var(--ink);background:var(--surface);
  }
  .filter-group select{cursor:pointer;}
  .filter-group input::placeholder{color:var(--placeholder);font-weight:500;}
  .filter-group select:focus, .filter-group input:focus{outline:none;border-color:var(--hot);}
  .filter-checklist{display:flex;flex-direction:column;gap:2px;max-height:260px;overflow-y:auto;}
  .filter-check-item{
    display:flex;align-items:center;gap:10px;padding:8px 6px;border-radius:8px;
    cursor:pointer;font-size:12.5px;color:var(--ink-soft);transition:background .12s;
  }
  .filter-check-item:hover{background:var(--surface);}
  .filter-check-item.active{color:var(--ink);font-weight:700;}
  .filter-check-item input[type=checkbox]{accent-color:var(--hot);width:15px;height:15px;flex-shrink:0;}
  .filter-reset-btn{
    width:100%;padding:9px;border:1.5px solid var(--line-strong);background:var(--surface);
    color:var(--ink-soft);border-radius:10px;font-family:inherit;font-size:12px;font-weight:700;
    cursor:pointer;transition:border-color .12s, color .12s;
  }
  .filter-reset-btn:hover{border-color:var(--hot);color:var(--hot);}
  .filter-result-count{font-size:11px;color:var(--ink-soft);margin-top:12px;text-align:center;}
  @media (max-width:900px){
    .search-offers-layout{flex-direction:column;}
    .search-filters{width:100%;}
    .filter-card{position:static;}
  }

  /* [I1] گرید نتایج آفر */
  .search-offers-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
  }
  .search-offer-card{
    display:flex;gap:14px;background:var(--card);border:1px solid var(--line);
    border-radius:16px;padding:14px;box-shadow:var(--shadow);
    text-decoration:none;color:var(--ink);position:relative;
    transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
  }
  .search-offer-card:hover, .search-offer-card:focus-visible{transform:translateY(-2px);box-shadow:var(--shadow-lg);}
  .search-offer-media{
    width:100px;height:100px;border-radius:12px;flex-shrink:0;position:relative;
    display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px;
  }
  .search-offer-tag{
    position:relative;font-size:8px;font-weight:800;color:#fff;letter-spacing:.01em;
    padding:2.5px 7px;border-radius:999px;white-space:nowrap;
    box-shadow:0 2px 5px -1px rgba(0,0,0,.35);
  }
  .tag-stack{
    position:absolute;top:-6px;right:-6px;z-index:2;
    display:flex;flex-direction:column;gap:3px;align-items:flex-end;
  }
  .tag-new{background:#2F80ED;}
  .tag-picked{background:#22C55E;}
  .tag-sale{background:var(--hot);}
  .tag-amazing{background:#FF9F1C;}
  .tag-ended{background:var(--ink-soft);}
  .search-offer-body{flex:1;min-width:0;}
  .search-offer-rating{font-size:11px;color:var(--gold);font-weight:700;margin-bottom:6px;display:flex;align-items:center;gap:4px;}
  .search-offer-title{font-size:12.5px;font-weight:800;line-height:1.7;margin-bottom:8px;min-height:42px;}
  .search-offer-shop{font-size:10.5px;color:var(--ink-soft);margin-bottom:5px;display:flex;align-items:center;gap:5px;}
  .search-offer-loc{font-size:10.5px;color:var(--ink-soft);margin-bottom:8px;display:flex;align-items:center;gap:5px;}
  .search-offer-price{display:flex;align-items:baseline;gap:6px;}
  .search-offer-price .now{font-size:14px;font-weight:900;color:var(--ink);}
  .search-offer-price .was{font-size:10.5px;color:var(--price-was);text-decoration:line-through;}

  .search-empty{
    text-align:center;padding:60px 20px;color:var(--ink-soft);
  }
  .search-empty i{font-size:32px;color:var(--line-strong);margin-bottom:14px;display:block;}
  .search-empty p{font-size:13px;margin:0;}

  @media (max-width:900px){
    .search-offers-grid{grid-template-columns:repeat(2,1fr);}
  }
  @media (max-width:560px){
    .search-offers-grid{grid-template-columns:1fr;}
    .shop-result-card{flex-wrap:wrap;}
  }

  /* ===== [H8] داشبورد آمار سایت ===== */
  .stats-body{
    min-height:100vh;
    background:
      radial-gradient(circle at 15% 8%, rgba(227,28,95,.05), transparent 40%),
      var(--surface);
  }
  .stats-top{
    background:var(--ink);color:#fff;padding:20px 0;
  }
  .stats-top .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;}
  .stats-top .logo .word{background:linear-gradient(135deg,#fff,#f3d9e2);-webkit-background-clip:text;background-clip:text;color:transparent;}
  .stats-top .logo small{color:rgba(255,255,255,.6);}
  .stats-badge{
    background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);
    color:#fff;font-size:11.5px;font-weight:700;padding:6px 14px;border-radius:999px;
    display:flex;align-items:center;gap:6px;
  }
  .stats-badge i{color:var(--gold);}
  .stats-reset-btn{
    background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff;
    padding:8px 16px;border-radius:10px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;
  }
  .stats-reset-btn:hover{background:rgba(255,255,255,.16);}

  .stats-kpis{
    display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:26px 0;
  }
  .stats-kpi{
    background:var(--card);border:1px solid var(--line);border-radius:18px;
    padding:20px;box-shadow:var(--shadow);position:relative;overflow:hidden;
  }
  .stats-kpi .ic{
    width:42px;height:42px;border-radius:12px;
    display:flex;align-items:center;justify-content:center;font-size:17px;color:#fff;
    margin-bottom:14px;
  }
  .stats-kpi .n{font-size:26px;font-weight:900;color:var(--ink);display:block;margin-bottom:4px;}
  .stats-kpi .l{font-size:12px;color:var(--ink-soft);font-weight:600;}

  .stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;}
  .stats-card{
    background:var(--card);border:1px solid var(--line);border-radius:18px;
    padding:22px;box-shadow:var(--shadow);
  }
  .stats-card h3{font-size:14.5px;font-weight:800;margin:0 0 16px;display:flex;align-items:center;gap:8px;}
  .stats-card h3 i{color:var(--hot);}
  .stats-row{
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    padding:10px 0;border-bottom:1px dashed var(--line);font-size:12.5px;
  }
  .stats-row:last-child{border-bottom:none;}
  .stats-row .name{color:var(--ink);font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  a.stats-link{text-decoration:none;color:var(--hot);cursor:pointer;}
  a.stats-link:hover{text-decoration:underline;}
  .stats-row .bar-wrap{flex:1;max-width:120px;height:6px;background:var(--line);border-radius:999px;overflow:hidden;margin:0 10px;}
  .stats-row .bar{height:100%;background:linear-gradient(90deg,var(--gold),var(--hot));border-radius:999px;}
  .stats-row .val{font-weight:800;color:var(--hot);flex-shrink:0;min-width:28px;text-align:left;}
  .stats-empty{font-size:12px;color:var(--ink-soft);text-align:center;padding:20px 0;}

  /* [H8] فیلترهای داشبورد آمار: فیلتر استان + بازه‌ی تاریخ + جستجو */
  .stats-prov-head{
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    flex-wrap:wrap;margin-bottom:12px;font-size:13.5px;font-weight:800;color:var(--ink);
  }
  .stats-prov-head i{color:var(--hot);}
  .stats-filter-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:14px;}
  .stats-filter-row label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;color:var(--ink-soft);}
  .stats-filter-row input[type="date"],
  .stats-filter-row input[type="text"],
  .stats-filter-row select{
    padding:8px 10px;border:1.5px solid var(--line-strong);border-radius:9px;
    font-family:inherit;font-size:12.5px;background:var(--surface);color:var(--ink);
  }
  .stats-filter-row input[type="text"]{min-width:200px;flex:1;}
  .stats-cc-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
  .stats-cc-big{text-align:center;padding:16px;background:var(--surface);border-radius:12px;}
  .stats-cc-big .n{display:block;font-size:30px;font-weight:900;color:var(--hot);line-height:1.2;}
  .stats-cc-big .l{font-size:12px;color:var(--ink-soft);font-weight:700;}

  @media (max-width:1000px){
    .stats-kpis{grid-template-columns:repeat(2,1fr);}
    .stats-grid{grid-template-columns:1fr;}
  }
  @media (max-width:640px){
    .stats-cc-grid{grid-template-columns:1fr;}
  }

  /* ===== [G] پنل مدیریت فروشگاه ===== */
  .shopadmin-head{
    display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;
    padding:22px 0 6px;
  }
  .shopadmin-head h1{font-size:19px;font-weight:800;margin:0 0 4px;}
  .shopadmin-head .meta{font-size:12px;color:var(--ink-soft);display:flex;gap:12px;flex-wrap:wrap;}
  .shopadmin-add-btn{
    background:var(--hot);color:#fff;border:none;border-radius:12px;
    padding:11px 20px;font-weight:800;font-size:13px;font-family:inherit;cursor:pointer;
    display:flex;align-items:center;gap:8px;box-shadow:0 10px 20px -8px rgba(227,28,95,.5);
  }
  /* [قفل دسترسی تا پرداخت هزینه‌ی ثبت‌نام] دکمه‌های بخش‌های بسته، غیرفعال و کم‌رنگ نشون داده می‌شن */
  .shopadmin-add-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;}

  .offer-manage-list{display:flex;flex-direction:column;gap:12px;margin:20px 0 40px;}
  .offer-manage-card{
    display:flex;align-items:center;gap:16px;
    background:var(--card);border:1px solid var(--line);border-radius:16px;
    padding:16px 18px;box-shadow:var(--shadow);flex-wrap:wrap;
  }
  .offer-manage-media{
    width:56px;height:56px;border-radius:12px;flex-shrink:0;
    background:linear-gradient(135deg,var(--hot),var(--hot-dark));
    display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;
  }
  .offer-manage-body{flex:1;min-width:200px;}
  .offer-manage-title{font-size:13.5px;font-weight:800;margin-bottom:6px;}
  .offer-manage-meta{font-size:11.5px;color:var(--ink-soft);display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
  .offer-manage-meta .price-now{color:var(--hot);font-weight:800;}
  .offer-manage-meta .price-was{text-decoration:line-through;color:var(--price-was);}
  .offer-manage-badges{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap;}
  .offer-manage-badges .tag{
    font-size:10px;font-weight:800;color:#fff;padding:3px 9px;border-radius:999px;
  }
  /* flex-wrap: ۷ دکمه‌ی کارتِ آفر بدونِ شکستن ~۹۰۰px می‌شد و پنلِ فروشگاه رویِ موبایل افقی اسکرول می‌خورد */
  .offer-manage-actions{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap;max-width:100%;}
  .oma-btn{
    padding:9px 16px;border-radius:10px;font-size:12px;font-weight:700;font-family:inherit;
    cursor:pointer;border:1.5px solid var(--line-strong);background:var(--card);color:var(--ink);
    display:flex;align-items:center;gap:6px;
  }
  .oma-btn:hover{border-color:var(--hot);color:var(--hot);}
  .oma-btn.danger{border-color:rgba(227,28,95,.3);color:var(--hot);}
  .oma-btn.danger:hover{background:#FFF1F5;}

  .shopadmin-empty{
    text-align:center;padding:60px 20px;color:var(--ink-soft);
  }
  .shopadmin-empty i{font-size:32px;color:var(--line-strong);margin-bottom:14px;display:block;}

  /* مودال‌های افزودن/ویرایش و حذف */
  .sa-modal-overlay{
    position:fixed;inset:0;z-index:220;background:rgba(23,17,32,.55);
    display:none;align-items:center;justify-content:center;padding:20px;
    overflow-y:auto;
  }
  .sa-modal-overlay.show{display:flex;}
  .sa-modal-card{
    width:100%;max-width:520px;background:var(--card);border-radius:22px;
    box-shadow:var(--shadow-lg);padding:26px;margin:auto;
    max-height:90vh;overflow-y:auto;
  }
  .sa-modal-card h3{font-size:16px;font-weight:800;margin:0 0 18px;}
  .sa-confirm-card{max-width:380px;text-align:center;padding:30px 26px;}
  .sa-confirm-card .ic{
    width:56px;height:56px;border-radius:50%;background:#FFF1F5;color:var(--hot);
    display:flex;align-items:center;justify-content:center;font-size:22px;margin:0 auto 16px;
  }
  .sa-confirm-card p{font-size:13.5px;color:var(--ink);margin-bottom:22px;line-height:1.8;}
  .sa-confirm-actions{display:flex;gap:10px;}
  .sa-confirm-actions button{
    flex:1;padding:12px;border-radius:12px;font-weight:800;font-size:13px;font-family:inherit;cursor:pointer;border:none;
  }
  .sa-confirm-yes{background:var(--hot);color:#fff;}
  .sa-confirm-no{background:var(--surface);color:var(--ink);border:1.5px solid var(--line-strong) !important;}

  /* ===== [G] آمار هر آفر — پنجره و جدول روزانه ===== */
  .stats-modal-card{max-width:640px;}
  .stats-kpis-mini{
    display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0 22px;
  }
  .stats-kpis-mini .stats-kpi{padding:14px;}
  .stats-kpis-mini .stats-kpi .ic{width:34px;height:34px;font-size:14px;margin-bottom:8px;}
  .stats-kpis-mini .stats-kpi .n{font-size:19px;}
  .stats-kpis-mini .stats-kpi .l{font-size:10.5px;}

  .stats-daily-wrap{max-height:280px;overflow-y:auto;border:1px solid var(--line);border-radius:12px;}
  .stats-daily-table{width:100%;border-collapse:collapse;font-size:12px;}
  .stats-daily-table th{
    position:sticky;top:0;background:var(--surface);font-weight:800;color:var(--ink);
    padding:9px 10px;text-align:center;border-bottom:1.5px solid var(--line-strong);
  }
  .stats-daily-table td{padding:8px 10px;text-align:center;border-bottom:1px dashed var(--line);color:var(--ink-soft);}
  .stats-daily-table tr:last-child td{border-bottom:none;}
  .stats-daily-table td:first-child, .stats-daily-table th:first-child{text-align:right;font-weight:700;color:var(--ink);}
  .stats-daily-table .today-row td{background:#FFF1F5;color:var(--ink);font-weight:700;}

  /* ===== [حسابداری فروشگاه‌ها] جدولِ خط‌کشی‌شده‌ی همه‌ی حساب‌ها — مبلغ با علامتِ +/- ===== */
  .sa-ledger-table{width:100%;border-collapse:collapse;font-size:12.5px;border:1px solid var(--line-strong);}
  .sa-ledger-table th, .sa-ledger-table td{border:1px solid var(--line-strong);padding:9px 10px;text-align:center;}
  .sa-ledger-table th{background:var(--surface);font-weight:800;color:var(--ink);}
  .sa-ledger-table td{color:var(--ink-soft);}
  .sa-ledger-table td:nth-child(3){text-align:right;}
  .sa-ledger-table td.sa-amt-pos{color:var(--mint);font-weight:800;}
  .sa-ledger-table td.sa-amt-neg{color:var(--hot);font-weight:800;}
  .sa-ledger-table td.sa-amt-zero{color:var(--ink-soft);}

  /* ===== [پنل مدیریت داخلی] فیلتر بازه‌ی زمانی آمار فروش (تب مدیریت فروش) ===== */
  .sales-range-row{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end;margin-bottom:16px;}
  .sales-range-row .f-field input{width:170px;}
  .sales-breakdown-toggle{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;color:var(--ink);cursor:pointer;padding-bottom:2px;}
  .sales-breakdown-toggle input{width:16px;height:16px;cursor:pointer;}
  .sales-tables-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
  @media (max-width:720px){ .sales-tables-row{grid-template-columns:1fr;} }

  /* ===== [پکیج‌های داینامیک] فرم ویرایش/افزودن پکیج تو مدیریت حسابداری ===== */
  .tier-edit-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;}
  @media (max-width:640px){ .tier-edit-row{grid-template-columns:1fr;} }

  /* آمار مجموع در بالای صفحه اصلی مدیریت فروشگاه */
  .shopadmin-kpis{
    display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:18px 0 8px;
  }

  /* ===== [G16] اطلاعات تماس + ساعات کاری، بالای پنل مدیریت فروشگاه ===== */
  .shopadmin-info-row{
    display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:22px;
  }
  .shopadmin-info-row .side-card h4{justify-content:space-between;}
  .side-tag{
    font-size:9.5px;font-weight:800;color:#fff;padding:3px 9px;border-radius:999px;
  }
  .extra-phone-row{
    display:flex;align-items:center;gap:10px;
    font-size:12.5px;color:var(--ink-soft);
    padding:8px 0;border-bottom:1px dashed var(--line);
  }
  .extra-phone-row:last-child{border-bottom:none;}
  .extra-phone-row i{width:16px;color:var(--hot);flex-shrink:0;}
  .extra-phone-row .epr-desc{color:var(--ink);font-weight:600;font-size:11.5px;}
  .extra-phone-row .epr-remove{
    margin-inline-start:auto;background:none;border:none;color:var(--ink-soft);
    cursor:pointer;font-size:13px;padding:4px;
  }
  .extra-phone-row .epr-remove:hover{color:var(--hot);}
  @media (max-width:760px){
    .shopadmin-info-row{grid-template-columns:1fr;}
  }

  /* حالت آفر حذف‌شده */
  .offer-manage-card.deleted{opacity:.6;background:var(--surface);}
  .offer-manage-deleted-note{
    font-size:11.5px;font-weight:700;color:var(--ink-soft);
    display:flex;align-items:center;gap:6px;white-space:nowrap;
  }
  .offer-manage-deleted-note i{color:var(--hot);}

  @media (max-width:760px){
    .stats-kpis-mini{grid-template-columns:repeat(2,1fr);}
    .shopadmin-kpis{grid-template-columns:repeat(2,1fr);}
  }

  /* ===== [G14] گرید عکس‌های فروشگاه ===== */
  .shop-photos-grid{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;
  }
  .shop-photo-tile{
    position:relative;aspect-ratio:1/1;border-radius:12px;overflow:hidden;
    background:var(--surface);border:1px solid var(--line);
  }
  .shop-photo-tile img{width:100%;height:100%;object-fit:cover;display:block;}
  .shop-photo-remove{
    position:absolute;top:6px;left:6px;width:28px;height:28px;border-radius:50%;
    background:rgba(23,17,32,.65);color:#fff;border:none;font-size:11px;
    display:flex;align-items:center;justify-content:center;cursor:pointer;
  }
  /* [ui-polish] extend tap target past the visual disc */
  .shop-photo-remove::before{content:"";position:absolute;inset:-8px;}
  .shop-photo-remove:hover{background:var(--hot);}
  .shop-photo-role{
    position:absolute;bottom:6px;right:6px;
    background:rgba(23,17,32,.7);color:#fff;font-size:10px;font-weight:800;
    padding:3px 8px;border-radius:999px;
  }
  .shop-photo-add-tile{
    aspect-ratio:1/1;border-radius:12px;border:1.5px dashed var(--line-strong);
    background:var(--surface);color:var(--ink-soft);
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
    font-size:11.5px;font-weight:700;cursor:pointer;transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease);
  }
  .shop-photo-add-tile:hover{border-color:var(--hot);color:var(--hot);}
  .shop-photo-add-tile i{font-size:18px;}
  .shop-photo-add-tile.disabled{opacity:.5;cursor:not-allowed;pointer-events:none;}

  /* ===== دکمه‌ی کوچک «درخواست شماره» روی کارت‌های آفرهای واقعی فروشگاه (صفحه اصلی/مشاهده همه) ===== */
  .card-phone-req{
    position:absolute;bottom:10px;left:10px;z-index:3;
    height:30px;min-width:30px;border-radius:999px;
    background:rgba(255,255,255,.95);color:var(--hot);
    display:flex;align-items:center;justify-content:center;font-size:12px;gap:6px;
    border:none;cursor:pointer;box-shadow:var(--shadow);
    padding:0;transition:padding .15s;
    max-width:calc(100% - 20px);overflow:hidden;white-space:nowrap;
  }
  .card-phone-req.done{background:var(--mint);color:#fff;}
  .card-phone-req.revealed{
    background:#fff;color:var(--ink);padding:0 12px;font-weight:800;
    direction:ltr;
  }
  .card-phone-req.revealed i{color:var(--mint);}
  .card-phone-req.gated{
    background:var(--hot);color:#fff;padding:0 12px;font-weight:700;font-size:10.5px;
  }

  /* ===== [F1] تیک تغییر اطلاعات بانکی از قبل ثبت‌شده ===== */
  .bank-change-toggle{
    display:flex;align-items:center;gap:9px;
    background:var(--surface);border:1.5px solid var(--line-strong);border-radius:12px;
    padding:12px 14px;margin-bottom:14px;cursor:pointer;font-size:12.5px;font-weight:700;color:var(--ink);
  }
  .bank-change-toggle input{width:16px;height:16px;accent-color:var(--hot);cursor:pointer;flex-shrink:0;}

  /* ===== [G9] باکس هدیه‌ی آفر — تو فضای خالی کارت قیمت آفر واقعی ===== */
  .variant-gift-info{
    flex:1;min-width:0;align-self:stretch;
    background:var(--surface);border:1.5px dashed var(--line-strong);border-radius:14px;
    padding:14px 16px;display:flex;flex-direction:column;justify-content:center;gap:7px;
  }
  .variant-gift-info .vgi-label{
    display:flex;align-items:center;gap:7px;font-size:13px;font-weight:800;color:var(--mint);
  }
  .variant-gift-info .vgi-label i{
    width:26px;height:26px;border-radius:50%;background:var(--mint);color:#fff;
    display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0;
  }

  /* ===== [پنل مدیریت داخلی] ورود ادمین ===== */
  .admin-login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg);}
  .admin-login-card{
    width:100%;max-width:380px;background:var(--card);border:1.5px solid var(--line);border-radius:20px;
    padding:32px 28px;box-shadow:0 10px 30px rgba(20,20,30,.06);
  }
  .admin-login-card .alc-ic{
    width:52px;height:52px;border-radius:14px;background:var(--ink);color:#fff;
    display:flex;align-items:center;justify-content:center;font-size:20px;margin:0 auto 16px;
  }
  .admin-login-card h2{font-size:17px;font-weight:800;text-align:center;margin:0 0 6px;}
  .admin-login-card .alc-sub{font-size:12px;color:var(--ink-soft);text-align:center;margin:0 0 22px;}
  .admin-login-hint{
    margin-top:16px;font-size:11px;color:var(--ink-soft);background:var(--surface);
    border-radius:10px;padding:10px 12px;text-align:center;line-height:1.9;
  }

  /* ===== [پنل مدیریت داخلی] چیپ نقش ===== */
  .admin-role-chip{
    display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:800;
    padding:4px 10px;border-radius:999px;background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);
  }
  .admin-role-chip i{color:var(--hot);font-size:10px;}
  .admin-role-chip.super{background:var(--ink);color:#fff;border-color:var(--ink);}
  .admin-role-chip.super i{color:var(--gold);}

  /* ===== [پنل مدیریت داخلی] چیپ وضعیت (گزارش/تاییدیه) ===== */
  .admin-status{font-size:10.5px;font-weight:800;padding:4px 10px;border-radius:999px;white-space:nowrap;display:inline-block;}
  .admin-status.pending{background:#FFF6E0;color:#B8860B;}
  .admin-status.approved, .admin-status.resolved{background:#EAF7F2;color:var(--mint);}
  .admin-status.rejected{background:#FFF1F5;color:var(--hot);}
  .admin-status.inactive{background:var(--line);color:var(--ink-soft);}

  /* ===== [پنل مدیریت داخلی] ردیف لیست عمومی (حساب ادمین/گزارش/فروشگاه آرشیو) ===== */
  .admin-row{
    display:flex;align-items:flex-start;gap:14px;padding:16px;border:1.5px solid var(--line);border-radius:14px;margin-bottom:12px;flex-wrap:wrap;
  }
  .admin-row .ar-ic{
    width:40px;height:40px;border-radius:12px;background:var(--surface);color:var(--hot);
    display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;
  }
  .admin-row .ar-body{flex:1;min-width:200px;}
  .admin-row .ar-title{font-size:13.5px;font-weight:800;margin-bottom:4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
  .admin-row .ar-meta{font-size:11.5px;color:var(--ink-soft);display:flex;gap:10px;flex-wrap:wrap;margin-bottom:6px;}
  .admin-row .ar-text{font-size:12px;color:var(--ink);line-height:1.8;}
  .admin-row .ar-roles{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px;}
  .admin-row .ar-actions{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap;}

  /* ===== [پنل مدیریت داخلی] کارت کوچک KPI داخل تب‌ها ===== */
  .admin-mini-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;}
  @media (max-width:640px){ .admin-mini-kpis{grid-template-columns:1fr 1fr;} }

  /* ===== [پنل مدیریت داخلی] جستجوی سراسری بالای صفحه ===== */
  .admin-global-search{background:var(--card);border-bottom:1px solid var(--line);padding:18px 0;}
  .admin-global-search .wrap{max-width:1080px;padding-inline:20px;}
  .ags-box{
    display:flex;align-items:center;gap:10px;
    background:var(--surface);border:1.5px solid var(--line-strong);border-radius:14px;
    padding:6px 6px 6px 16px;
  }
  .ags-box > i{color:var(--ink-soft);font-size:14px;}
  .ags-box input{
    flex:1;border:none;background:transparent;font-family:inherit;font-size:13.5px;
    padding:10px 4px;color:var(--ink);outline:none;
  }
  #ags_results{margin-top:14px;}
  #ags_results:empty{margin-top:0;}

  /* ===== [پنل مدیریت داخلی] تب کال‌سنتر به فضای بیشتری نیاز داره — فقط همین صفحه رو عریض‌تر می‌کنیم ===== */
  #mainShell.acc-shell{max-width:1320px;}

  /* ===== [کال سنتر] جدول ثبت تماس ===== */
  .cc-card{padding:16px 18px;}
  .cc-table-wrap{overflow-x:auto;}
  .cc-row{
    display:grid;grid-template-columns:1.1fr 1fr 1.3fr 1.3fr 1.5fr 1.15fr 1.3fr .95fr;
    gap:10px;align-items:center;min-width:1060px;padding:9px 0;border-bottom:1px dashed var(--line);
  }
  .cc-row:last-child{border-bottom:none;}
  .cc-row-head{
    font-size:11px;font-weight:800;color:var(--ink-soft);border-bottom:1.5px solid var(--line-strong);padding-bottom:8px;
  }
  .cc-row-new{background:var(--surface);border-radius:12px;padding:8px;margin-bottom:2px;border-bottom:none;}
  .cc-row input, .cc-row select{
    width:100%;padding:7px 10px;border:1.5px solid var(--line-strong);border-radius:9px;
    font-family:inherit;font-size:12px;background:var(--card);
  }
  .cc-status-cell{display:flex;flex-direction:column;gap:6px;}
  .cc-status-row{display:flex;align-items:center;gap:6px;}
  .cc-status-row select{flex:1;}
  .cc-status-del{
    flex-shrink:0;width:26px;height:26px;border-radius:50%;
    background:var(--surface);color:var(--ink-soft);border:1.5px solid var(--line-strong);font-size:11px;
    display:flex;align-items:center;justify-content:center;cursor:pointer;
  }
  .cc-status-del:hover{background:var(--hot);border-color:var(--hot);color:#fff;}
  .cc-auto{font-size:12px;color:var(--ink-soft);padding:7px 2px;font-weight:700;}
  .cc-now-note{font-size:11px;color:var(--ink-soft);text-align:center;}
  .cc-data-row{font-size:12px;color:var(--ink);}
  .cc-data-row .cc-agent-badge{font-size:10px;}
  /* [کال سنتر] کنترلِ پیگیریِ سررسیدشده‌ی «موکول به بعد» */
  .cc-fu-resolve{display:flex;flex-direction:column;gap:5px;}
  .cc-fu-due{font-size:10.5px;font-weight:800;color:var(--gold);display:flex;align-items:center;gap:4px;}
  .cc-fu-btns{display:flex;gap:5px;flex-wrap:wrap;}
  .cc-fu-btns .oma-btn{padding:4px 8px;font-size:10.5px;}
  .cc-fu-nextdate{width:100%;padding:5px 8px;border:1.5px solid var(--line-strong);border-radius:8px;font-family:inherit;font-size:11px;}
  .cc-fu-done{font-size:11px;font-weight:800;color:var(--mint);display:flex;align-items:center;gap:4px;}

  /* ===== [وضعیت فروشگاه‌ها] لاگِ رویدادهای هر فروشگاه ===== */
  .se-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
  .se-tag{
    font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:999px;
    background:var(--surface);border:1.5px solid var(--line-strong);color:var(--ink);
  }
  .se-timeline{border-top:1.5px dashed var(--line);margin-top:14px;}
  .se-ev{display:flex;gap:10px;padding:9px 0;border-bottom:1px dashed var(--line);}
  .se-ev:last-child{border-bottom:none;}
  .se-ev-ic{
    flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--surface);
    border:1.5px solid var(--line-strong);display:flex;align-items:center;justify-content:center;
    font-size:11px;color:var(--hot);
  }
  .se-ev-body{flex:1;min-width:0;}
  .se-ev-label{font-size:12px;font-weight:700;color:var(--ink);line-height:1.6;}
  .se-ev-detail{font-weight:500;color:var(--ink-soft);}
  .se-ev-date{font-size:10.5px;color:var(--ink-soft);margin-top:2px;}
  .cc-pagination{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:14px;}
  .cc-pagination button{
    min-width:32px;padding:6px 10px;border:1.5px solid var(--line-strong);border-radius:8px;background:var(--card);
    font-family:inherit;font-size:12px;font-weight:700;color:var(--ink);cursor:pointer;
  }
  .cc-pagination button.active{background:var(--hot);border-color:var(--hot);color:#fff;}
  .cc-pagination button:disabled{opacity:.4;cursor:not-allowed;}

  /* ===== [پنل مدیریت داخلی] حالت فقط‌نمایشیِ پنل مدیریت فروشگاه — برای ادمین‌هایی که نقش تغییر ندارن =====
     فقط دکمه‌ها/کنترل‌های واقعاً تغییردهنده قفل می‌شن؛ «نمایش آمار» و بازکردن دراپ‌داون زیرعنوان (خودِ منو، نه آیتم‌هاش)
     عمداً بیرون این لیست موندن چون فقط نمایشی‌ان. چون خیلی از این دکمه‌ها هر رندر دوباره ساخته می‌شن (data-* پویا)،
     قفل رو با CSS می‌زنیم نه یه‌بار با JS، تا رندرهای بعدی هم خودکار قفل بمونن. */
  body.shop-view-only #editShopInfoBtn,
  body.shop-view-only #shopHoursBtn,
  body.shop-view-only #shopPhotosBtn,
  body.shop-view-only #shopPhoneAddBtn,
  body.shop-view-only #shopClosureBtn,
  body.shop-view-only #renewUpgradeBtn,
  body.shop-view-only #membershipPayBtn,
  body.shop-view-only #headerPayBtn,
  body.shop-view-only #deleteShopBtn,
  body.shop-view-only #addOfferBtn,
  body.shop-view-only #sp_addTile,
  body.shop-view-only [data-remove-phone],
  body.shop-view-only [data-edit],
  body.shop-view-only [data-pause],
  body.shop-view-only [data-delete],
  body.shop-view-only [data-subtitle-edit],
  body.shop-view-only [data-subtitle-add],
  body.shop-view-only [data-remove],
  body.shop-view-only [data-remove-offer-photo],
  body.shop-view-only [data-ao-remove-sub],
  body.shop-view-only #ra_attachBtn,
  body.shop-view-only #ra_sendBtn,
  body.shop-view-only #adRequestBtn,
  body.shop-view-only #adReqSendBtn{
    pointer-events:none;opacity:.4;cursor:not-allowed;filter:grayscale(.3);
  }

  /* ===== [معاونت] حالت فقط‌نمایشیِ صفحه‌ی «ادمین بزرگ» و زیرشاخه‌هاش (ممنوعه‌ها/دسته‌بندی/کمیسیون/لاگ ممیزی) —
     معاونت می‌بینه، نمی‌تونه تغییر بده. برخلافِ قفلِ shop-view-only که دکمه‌به‌دکمه لیست شده، این‌جا کل کنترل‌های
     تعاملیِ هر صفحه قفل می‌شن (تا هیچ دکمه/فرمِ تازه‌ای جا نمونه)، به‌جز دکمه‌های ناوبریِ رفت‌وبرگشت بینِ خودِ این صفحه‌ها. */
  body.admin-super-readonly #ap_super button:not(#goForbiddenBtn):not(#goCategoriesBtn):not(#goCommissionBtn):not(#goAuditLogBtn),
  body.admin-super-readonly #ap_super input,
  body.admin-super-readonly #ap_super select,
  body.admin-super-readonly #ap_super textarea,
  body.admin-super-readonly #ap_forbidden button:not(#backFromForbiddenBtn),
  body.admin-super-readonly #ap_forbidden input,
  body.admin-super-readonly #ap_categories button:not(#backFromCategoriesBtn),
  body.admin-super-readonly #ap_categories input,
  body.admin-super-readonly #ap_categories select,
  body.admin-super-readonly #ap_commission button:not(#backFromCommissionBtn),
  body.admin-super-readonly #ap_commission input,
  body.admin-super-readonly #ap_commission select,
  body.admin-super-readonly #ap_auditlog button:not(#backFromAuditLogBtn),
  body.admin-super-readonly #ap_auditlog input,
  body.admin-super-readonly #ap_auditlog select{
    pointer-events:none;opacity:.4;cursor:not-allowed;filter:grayscale(.3);
  }

  /* ===== [رد ثبت‌نام] فرم پاسخ صاحب فروشگاه به رد (تو پنل مدیریت فروشگاه) ===== */
  .rejection-appeal{
    background:#FFF1F5;border:1.5px solid #F5B8CC;border-radius:14px;
    padding:14px 16px;margin:-6px 0 18px;
  }
  .rejection-appeal > label{display:block;font-size:12.5px;font-weight:800;color:var(--hot-dark);margin-bottom:8px;}
  .rejection-appeal textarea{
    width:100%;border:1.5px solid #F5B8CC;border-radius:10px;padding:10px 12px;
    font:inherit;font-size:12.5px;resize:vertical;background:#fff;
  }
  .rejection-appeal-files{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
  .rejection-appeal-files:empty{display:none;}
  .ra-chip{
    display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #F5B8CC;
    border-radius:999px;padding:4px 10px;font-size:11.5px;color:var(--hot-dark);max-width:220px;
  }
  .ra-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .ra-chip button{border:0;background:none;color:var(--hot-dark);cursor:pointer;font-size:13px;line-height:1;padding:0;}
  .ra-chip img{width:20px;height:20px;object-fit:cover;border-radius:4px;}
  .rejection-appeal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;}
  .rejection-appeal-sent{margin-top:12px;}
  .rejection-appeal-sent:empty{display:none;}
  .ra-sent-item{
    background:#fff;border:1px solid #F0D0DC;border-radius:10px;padding:8px 12px;
    font-size:12px;color:var(--ink);margin-top:8px;
  }
  .ra-sent-item .t{font-size:11px;color:var(--ink-soft);}

  /* ===== [رد ثبت‌نام] نمایش پاسخ فروشگاه تو کارت‌های حسابداری/پشتیبانی پنل مدیریت داخلی ===== */
  .rejection-appeals-admin{
    background:#F6FAFF;border:1px solid #CFE2F7;border-radius:10px;padding:10px 12px;margin-top:10px;
  }
  .rejection-appeals-admin .raa-head{font-size:12px;font-weight:800;color:#1C4E86;margin-bottom:8px;}
  .raa-item{border-top:1px dashed #CFE2F7;padding-top:8px;margin-top:8px;}
  .raa-item:first-of-type{border-top:0;padding-top:0;margin-top:0;}
  .raa-meta{font-size:10.5px;color:var(--ink-soft);margin-bottom:4px;}
  .raa-text{font-size:12px;color:var(--ink);line-height:1.8;white-space:pre-wrap;}
  .raa-files{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;}
  .raa-file{
    display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #CFE2F7;
    border-radius:8px;padding:4px 8px;font-size:11px;color:#1C4E86;text-decoration:none;
  }
  .raa-file.raa-img{padding:3px;}
  .raa-file.raa-img img{width:54px;height:54px;object-fit:cover;border-radius:6px;display:block;}

  /* ===== [پنل مدیریت داخلی] بنر «ادمین داره پنل فروشگاه رو می‌بینه» ===== */
  .admin-view-banner{
    display:flex;align-items:center;gap:10px;flex-wrap:wrap;
    background:#FFF6E0;border:1.5px solid #F0D585;border-radius:14px;
    padding:12px 16px;margin-bottom:18px;font-size:12.5px;font-weight:700;color:#8A6A12;
  }
  .admin-view-banner i{font-size:15px;}
  .admin-view-banner span{flex:1;min-width:200px;}
  .admin-view-banner a{
    color:#8A6A12;text-decoration:underline;font-weight:800;white-space:nowrap;
  }
  /* [تایید دومرحله‌ای] بنر یادآوری دلیل رد، تو خود پنل مدیریت فروشگاه — رنگ برند (نه زرد اطلاع‌رسانی) تا جدی‌تر دیده بشه */
  .admin-view-banner.rejection-banner{background:#FFF1F5;border-color:#F5B8CC;color:var(--hot-dark);}
  .admin-view-banner.rejection-banner a{color:var(--hot-dark);}

  /* ===== [برچسب‌ها] بلوک اختصاص دستی برچسب به آفر ===== */
  .ba-shop-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px;}
  .ba-shop-list:empty{display:none;}
  .ba-shop-chip.selected{background:var(--hot);border-color:var(--hot);color:#fff;}
  .ba-offer-opts{display:flex;flex-direction:column;gap:6px;margin-top:8px;}
  .ba-offer-opt{
    display:flex;align-items:center;gap:8px;padding:8px 12px;border:1.5px solid var(--line);
    border-radius:10px;font-size:12.5px;cursor:pointer;background:var(--card);
  }
  .ba-offer-opt:hover{border-color:var(--line-strong);}
  .ba-offer-opt input{accent-color:var(--hot);flex-shrink:0;}

  /* ===== [banners] صفحه‌ی کنترل بنرهای هیرو (پنل مدیریت داخلی ← پشتیبانی فروشگاه‌ها ← بنرها) ===== */
  .bn-slot{
    border:1.5px solid var(--line);border-radius:14px;padding:14px;margin-bottom:14px;background:var(--card);
  }
  .bn-slot-head{
    display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
    font-size:12.5px;font-weight:800;color:var(--ink);margin-bottom:12px;
  }
  .bn-live{font-size:11px;font-weight:700;color:var(--mint);display:inline-flex;align-items:center;gap:5px;}
  .bn-live.empty{color:var(--ink-soft);}
  .bn-live.warn{color:var(--gold);}
  .bn-live.expired{color:var(--hot);}
  .bn-slot-sum{font-size:11px;font-weight:700;color:var(--ink-soft);}
  .bn-slot-sum b.red{color:var(--hot);}
  .bn-slot-sum b.yellow{color:var(--gold);}
  /* دو ستون: لیستِ استان‌ها (راست) + ویرایشگرِ استانِ انتخاب‌شده (چپ) */
  .bn-slot-grid2{display:grid;grid-template-columns:260px 1fr;gap:16px;align-items:start;}
  .bn-prov-list{
    display:flex;flex-direction:column;gap:4px;max-height:440px;overflow-y:auto;
    border:1.5px solid var(--line);border-radius:12px;padding:8px;background:var(--surface);
  }
  .bn-prov-sep{height:1px;background:var(--line-strong);margin:4px 2px;}
  .bn-prov{
    display:flex;align-items:center;gap:8px;width:100%;text-align:right;
    padding:8px 10px;border:1.5px solid transparent;border-radius:9px;background:transparent;
    font-family:inherit;font-size:12px;font-weight:700;color:var(--ink);cursor:pointer;
  }
  .bn-prov:hover{background:var(--card);}
  .bn-prov.selected{border-color:var(--hot);background:var(--card);box-shadow:var(--shadow);}
  .bn-prov-dot{width:9px;height:9px;border-radius:50%;background:var(--line-strong);flex-shrink:0;}
  .bn-prov-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .bn-prov-tag{font-size:9.5px;font-weight:800;padding:2px 6px;border-radius:999px;background:var(--line);color:var(--ink-soft);}
  .bn-prov-tag.red{background:rgba(227,28,95,.14);color:var(--hot);}
  .bn-prov-tag.yellow{background:rgba(201,154,46,.16);color:var(--gold);}
  .bn-prov[data-status="green"]{background:rgba(31,163,125,.08);}
  .bn-prov[data-status="green"] .bn-prov-dot{background:var(--mint);}
  .bn-prov[data-status="yellow"]{background:rgba(201,154,46,.12);}
  .bn-prov[data-status="yellow"] .bn-prov-dot{background:var(--gold);}
  .bn-prov[data-status="red"]{background:rgba(227,28,95,.09);}
  .bn-prov[data-status="red"] .bn-prov-dot{background:var(--hot);}
  .bn-prov[data-status="has"] .bn-prov-dot{background:var(--ink-soft);}
  .bn-prov[data-status="queued"]{background:rgba(42,109,184,.08);}
  .bn-prov[data-status="queued"] .bn-prov-dot{background:#2A6DB8;}
  .bn-prov-tag.queued{background:rgba(42,109,184,.14);color:#2A6DB8;}
  .bn-prov.selected[data-status]{background:var(--card);}
  .bn-activate-field{margin-bottom:10px;}
  .bn-activate-btns{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px;}
  .bn-activate-btns .oma-btn{padding:6px 10px;font-size:11px;}
  .bn-editor{min-width:0;}
  .bn-editor-head{font-size:12px;font-weight:800;color:var(--ink);margin-bottom:10px;}
  .bn-slot-grid{display:grid;grid-template-columns:200px 1fr;gap:16px;}
  .bn-slot-preview{
    position:relative;border-radius:12px;border:1.5px dashed var(--line-strong);
    background:var(--surface) center/cover no-repeat;min-height:130px;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
    color:var(--ink-soft);font-size:11.5px;overflow:hidden;
  }
  .bn-slot-preview.has-img{border-style:solid;border-color:var(--line);}
  .bn-slot-preview i{font-size:26px;}
  .bn-img-btns{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px;}
  .bn-slot-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px;}
  @media (max-width:900px){
    .bn-slot-grid2{grid-template-columns:1fr;}
    .bn-prov-list{max-height:260px;flex-direction:row;flex-wrap:wrap;}
    .bn-prov{width:auto;}
    .bn-prov-sep{display:none;}
  }
  @media (max-width:720px){
    .bn-slot-grid{grid-template-columns:1fr;}
  }

  /* ===== [banners] بنرهای پویا روی هیروی صفحه‌ی اصلی ===== */
  a.slide.slide-dyn{text-decoration:none;cursor:pointer;}
  .slide-dyn .slide-eyebrow{background:rgba(0,0,0,.4);}
  .hero-static-card.hs-img{text-decoration:none;cursor:pointer;color:#fff;}
  .hero-static-card.hs-img::before{display:none;}

  /* ===== [پنل مدیریت داخلی] تب placeholder (بخش‌هایی که هنوز منطق واقعی ندارن) ===== */
  .admin-soon{
    text-align:center;padding:60px 20px;color:var(--ink-soft);border:1.5px dashed var(--line-strong);border-radius:16px;
  }
  .admin-soon i{font-size:34px;color:var(--line-strong);margin-bottom:14px;display:block;}
  .admin-soon h3{font-size:14.5px;color:var(--ink);margin:0 0 6px;}
  .admin-soon p{font-size:12px;margin:0;max-width:420px;margin:0 auto;}
  .variant-gift-info .vgi-desc{font-size:12px;color:var(--ink-soft);line-height:1.8;}

  /* ===== [پشتیبانی کاربران] ارتباط با کاربران / آمار / جستجوی جمعیتی ===== */
  .us-search-card{
    background:var(--card);border:1px solid var(--line);border-radius:14px;
    padding:16px 18px;box-shadow:var(--shadow);
  }
  .us-search-card .filter-group span{display:block;font-size:12px;font-weight:700;color:var(--ink);margin-bottom:6px;}
  .us-search-card select, .us-search-card input[type=date], .us-search-card input[type=number]{
    width:100%;padding:9px 12px;border:1.5px solid var(--line-strong);border-radius:10px;
    font-family:inherit;font-size:12.5px;color:var(--ink);background:var(--surface);
  }
  .us-hint{font-size:11px;color:var(--ink-soft);}
  .us-phone{font-size:11.5px;color:var(--ink-soft);font-weight:700;direction:ltr;display:inline-block;}
  .us-user-card{margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);}
  .us-user-line{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink);margin-bottom:7px;flex-wrap:wrap;}
  .us-user-line i{color:var(--hot);width:16px;text-align:center;}
  .us-user-card textarea, .us-reply textarea{
    width:100%;min-height:70px;margin-top:6px;padding:10px 12px;
    border:1.5px solid var(--line-strong);border-radius:10px;background:var(--card);
    font-family:inherit;font-size:12.5px;color:var(--ink);resize:vertical;line-height:1.8;
  }
  .us-user-card textarea:focus, .us-reply textarea:focus{outline:none;border-color:var(--hot);}

  .us-thread{
    background:var(--card);border:1px solid var(--line);border-radius:14px;
    padding:14px 16px;box-shadow:var(--shadow);margin-bottom:12px;
  }
  .us-thread-open{border-color:var(--hot);box-shadow:0 0 0 2px rgba(227,28,95,.12),var(--shadow);}
  .us-thread-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px;font-size:13px;}
  .us-thread-msgs{max-height:420px;margin-bottom:10px;}

  /* [پشتیبانی کاربران] جدولِ خطیِ تِردها */
  .us-thread-table{border:1.5px solid var(--line-strong);border-radius:12px;overflow:hidden;}
  .us-tt-row{
    display:grid;grid-template-columns:1.6fr 1.2fr .9fr 1.1fr 1.3fr;gap:10px;align-items:center;
    padding:11px 14px;border-bottom:1px dashed var(--line);font-size:12px;
  }
  .us-tt-row:last-child{border-bottom:none;}
  .us-tt-head{font-size:11px;font-weight:800;color:var(--ink-soft);background:var(--surface);border-bottom:1.5px solid var(--line-strong);}
  .us-tt-data{cursor:pointer;transition:background var(--dur-1,.15s) var(--ease,ease);}
  .us-tt-data:hover{background:var(--surface);}
  .us-tt-data.has-unread{background:rgba(227,28,95,.05);}
  .us-tt-data.has-unanswered:not(.has-unread){background:rgba(201,154,46,.06);}
  .us-tt-data.is-open{background:rgba(227,28,95,.1);}
  .us-tt-name{font-weight:700;color:var(--ink);display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
  .us-tt-badge{font-size:10px;font-weight:800;padding:2px 8px;border-radius:999px;}
  .us-tt-badge.unread{background:var(--hot);color:#fff;}
  .us-tt-badge.unanswered{background:rgba(201,154,46,.16);color:var(--gold);}
  .us-tt-badge.report{background:rgba(201,154,46,.16);color:var(--gold);}

  /* [راهنمای پکیج‌ها / معرفی پکیج‌ها] خلاصه‌ی مشترک */
  .pkg-guide-block{margin-bottom:16px;}
  .pkg-guide-block:last-child{margin-bottom:0;}
  .pkg-guide-block > h4{font-size:12.5px;font-weight:800;color:var(--ink);margin:0 0 8px;display:flex;align-items:center;gap:6px;}
  .pkg-guide-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;}
  .pkg-guide-fact{background:var(--surface);border:1.5px solid var(--line);border-radius:10px;padding:9px 12px;font-size:12px;display:flex;flex-direction:column;gap:3px;}
  .pkg-guide-fact span{color:var(--ink-soft);font-size:11px;}
  .pkg-guide-fact b{color:var(--ink);font-weight:800;}
  .pkg-guide-list{list-style:none;margin:0;padding:0;border:1.5px solid var(--line);border-radius:10px;overflow:hidden;}
  .pkg-guide-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 13px;font-size:12.5px;border-bottom:1px dashed var(--line);}
  .pkg-guide-list li:last-child{border-bottom:none;}
  .pkg-guide-list li span{color:var(--ink);font-weight:600;}
  .pkg-guide-list li b{color:var(--hot);font-weight:800;}
  .pkg-guide-empty{font-size:12px;color:var(--ink-soft);background:var(--surface);border:1.5px dashed var(--line-strong);border-radius:10px;padding:10px 13px;}
  .pkg-intro-head{font-size:13px;line-height:2.2;color:var(--ink);margin:0 0 16px;font-weight:600;}
  .pkg-intro-head select{margin:0 4px;padding:5px 10px;border:1.5px solid var(--line-strong);border-radius:8px;font-family:inherit;font-size:12.5px;background:var(--card);font-weight:700;}
  .pkg-perk-row{display:flex;gap:8px;align-items:flex-end;margin-bottom:8px;}
  .pkg-perk-row .f-field{margin-bottom:0;}
  .pkg-perk-row .f-field.grow{flex:1;}
  .pkg-perk-row .f-field.narrow{width:110px;flex:none;}

  /* [پشتیبانی کاربران] زون‌بندیِ پیام‌های تِردِ باز */
  .us-zone{margin-bottom:14px;}
  .us-zone:last-child{margin-bottom:0;}
  .us-zone-title{font-size:11px;font-weight:800;color:var(--ink-soft);margin:0 0 8px;display:flex;align-items:center;gap:6px;}
  .us-zone.unread .us-zone-title{color:var(--hot);}
  .us-zone.waiting .us-zone-title{color:var(--gold);}
  .us-zone.unread{border-inline-start:3px solid var(--hot);padding-inline-start:10px;}
  .us-zone.waiting{border-inline-start:3px solid var(--gold);padding-inline-start:10px;}
  .us-reply{display:flex;flex-direction:column;gap:8px;}
  .us-reply-actions{display:flex;gap:8px;flex-wrap:wrap;}

  .us-phone-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
  .us-phone-chip{
    background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;
    padding:4px 9px;font-size:11.5px;font-weight:700;color:var(--ink);direction:ltr;
  }
  .us-name-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
  .us-name-chip{
    display:inline-flex;align-items:center;gap:6px;text-decoration:none;
    background:var(--surface);border:1.5px solid var(--line-strong);border-radius:999px;
    padding:6px 12px;font-size:12px;font-weight:700;color:var(--ink);transition:all var(--dur-1,.15s) var(--ease,ease);
  }
  .us-name-chip:hover{border-color:var(--hot);color:var(--hot);}
  .us-name-chip i{color:var(--hot);font-size:10px;}

  /* [تماس با پشتیبان] دکمه‌ی مستقلِ متمایز بالای پنل مدیریت فروشگاه + مودالش */
  .support-contact-row{margin:0 0 16px;}
  .support-contact-btn{
    position:relative;display:inline-flex;align-items:center;gap:8px;
    background:var(--gold);color:#fff;border:none;border-radius:12px;
    padding:12px 22px;font-family:inherit;font-size:13px;font-weight:800;cursor:pointer;
    box-shadow:0 6px 18px rgba(201,154,46,.28);transition:filter var(--dur-1,.15s) var(--ease,ease);
  }
  .support-contact-btn:hover{filter:brightness(1.06);}
  .sc-badge{
    display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;
    padding:0 6px;border-radius:999px;background:#fff;color:var(--gold);
    font-size:11px;font-weight:900;line-height:1;
  }
  .sc-phone-row{
    display:flex;align-items:center;gap:10px;padding:8px 0;
    border-bottom:1px solid var(--line);font-size:12.5px;
  }
  .sc-phone-row:last-child{border-bottom:none;}
  .sc-phone-row i{color:var(--gold);}
  .sc-phone-name{font-weight:800;color:var(--ink);}
  .sc-phone-num{margin-inline-start:auto;font-weight:800;color:var(--hot);text-decoration:none;}

  /* [دیت‌پیکر شمسی] جایگزینِ ظاهریِ <input type="date"> — jalali-datepicker.js */
  .jdp-wrap{display:inline-block;position:relative;}
  .jdp-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;margin:0!important;padding:0!important;border:0!important;}
  .jdp-display{
    font-family:inherit;font-size:13px;color:var(--ink);background:var(--surface);
    border:1.5px solid var(--line-strong);border-radius:10px;padding:8px 12px;
    width:150px;max-width:100%;cursor:pointer;direction:rtl;text-align:right;
  }
  .jdp-display:focus{outline:none;border-color:var(--hot);}
  .jdp-display::placeholder{color:var(--ink-soft);}
  .jdp-pop{
    position:fixed;z-index:10000;display:none;width:264px;
    background:var(--card);border:1.5px solid var(--line-strong);border-radius:14px;
    box-shadow:0 16px 44px rgba(33,21,48,.22);padding:12px;
    font-family:inherit;color:var(--ink);
  }
  .jdp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
  .jdp-title{font-size:13px;font-weight:800;}
  .jdp-nav{
    background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;
    width:28px;height:28px;font-size:15px;line-height:1;cursor:pointer;color:var(--ink);
  }
  .jdp-nav:hover{border-color:var(--hot);color:var(--hot);}
  .jdp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}
  .jdp-week{margin-bottom:4px;}
  .jdp-wh{text-align:center;font-size:10.5px;font-weight:800;color:var(--ink-soft);padding:2px 0;}
  .jdp-cell{
    text-align:center;font-size:12px;font-weight:600;padding:7px 0;border-radius:8px;
    cursor:pointer;user-select:none;
  }
  .jdp-cell:hover:not(.jdp-muted){background:var(--surface);}
  .jdp-muted{cursor:default;}
  .jdp-today{box-shadow:inset 0 0 0 1.5px var(--gold);}
  .jdp-sel{background:var(--hot)!important;color:#fff;}
  .jdp-time{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:10px;}
  .jdp-time select{
    font-family:inherit;font-size:12.5px;padding:5px 8px;border:1px solid var(--line-strong);
    border-radius:8px;background:var(--surface);color:var(--ink);
  }
  .jdp-colon{font-weight:800;}
  .jdp-foot{display:flex;gap:8px;margin-top:10px;}
  .jdp-foot-btn{
    flex:1;background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;
    padding:7px 0;font-family:inherit;font-size:11.5px;font-weight:700;cursor:pointer;color:var(--ink);
  }
  .jdp-foot-btn:hover{border-color:var(--hot);color:var(--hot);}
  .jdp-clear{color:var(--hot);}

  /* ===== [توسعه‌دهندگان] کاتالوگِ کد + لاگِ فعالیت ===== */
  .dev-env-tbl,.dev-act-tbl{width:100%;border-collapse:collapse;font-size:12px;}
  .dev-env-tbl td,.dev-act-tbl td,.dev-act-tbl th{border:1px solid var(--line-strong);padding:7px 9px;text-align:right;vertical-align:top;}
  .dev-env-tbl td:first-child{width:42%;font-weight:700;background:var(--surface);}
  .dev-act-tbl th{background:var(--surface);font-weight:800;white-space:nowrap;}
  .dev-act-tbl tr.is-copy td{background:rgba(255,86,48,.08);}
  .dev-act-tbl tr.is-copy td:nth-child(3){color:var(--hot);font-weight:800;}
  .dev-cat{border:1px solid var(--line-strong);border-radius:10px;margin-bottom:10px;overflow:hidden;}
  .dev-cat-head{width:100%;display:flex;align-items:center;gap:8px;background:var(--surface);border:0;
    padding:11px 13px;font-family:inherit;font-size:12.5px;font-weight:800;color:var(--ink);cursor:pointer;text-align:right;}
  .dev-cat-head i{transition:transform .15s;}
  .dev-cat-head.open i{transform:rotate(-90deg);}
  .dev-cat-head .dev-cat-n{margin-inline-start:auto;background:var(--ink);color:#fff;border-radius:999px;
    font-size:11px;font-weight:700;padding:1px 8px;}
  .dev-cat-body{padding:8px 12px;}
  .dev-file-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:7px 0;border-bottom:1px dashed var(--line-strong);}
  .dev-file-row:last-child{border-bottom:0;}
  .dev-file-name{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;direction:ltr;}
  .dev-file-acts{margin-inline-start:auto;display:flex;gap:6px;}
  .dev-file-acts .oma-btn{text-decoration:none;}
  .dev-file-pre{flex-basis:100%;display:none;background:var(--surface);padding:12px;border-radius:10px;
    font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;line-height:1.6;direction:ltr;text-align:left;
    overflow:auto;max-height:420px;white-space:pre;margin-top:8px;}
  .dev-file-more{flex-basis:100%;margin-top:6px;}
  .dev-act-tbl tr.is-capped td{background:rgba(255,86,48,.14);}
  .dev-capped-tag{display:inline-block;background:var(--hot);color:#fff;border-radius:6px;font-size:10px;
    font-weight:800;padding:1px 6px;margin-inline-start:4px;}
  .dev-adm-edit{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px;}
  .dev-adm-edit select,.dev-adm-edit input{padding:6px 9px;border:1.5px solid var(--line-strong);border-radius:8px;
    font-family:inherit;font-size:12px;background:var(--surface);color:var(--ink);}
  .dev-adm-edit input{flex:1;min-width:180px;}

  /* ===== [نوبت‌دهی] پنجره‌ی «انتخاب نوبت» ===== */
  .bkm-overlay{position:fixed;inset:0;background:rgba(18,22,31,.55);display:none;align-items:flex-start;
    justify-content:center;padding:32px 16px;z-index:1200;overflow-y:auto;}
  .bkm-overlay.open{display:flex;}
  .bkm-card{background:#fff;border-radius:18px;width:100%;max-width:1000px;box-shadow:0 20px 70px rgba(0,0,0,.25);
    overflow:hidden;animation:bkmIn .16s ease;}
  @keyframes bkmIn{from{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}
  .bkm-head{display:flex;align-items:center;justify-content:center;position:relative;padding:16px;border-bottom:1px solid var(--line-strong);}
  .bkm-head h3{margin:0;font-size:15px;font-weight:800;color:var(--ink);}
  .bkm-x{position:absolute;left:12px;top:50%;transform:translateY(-50%);background:#f1f2f5;border:0;width:34px;height:34px;
    border-radius:10px;cursor:pointer;font-size:15px;color:var(--ink-soft);}
  .bkm-x:hover{background:#e6e7ec;}
  .bkm-body{padding:20px 22px 22px;}
  .bkm-loading,.bkm-empty{padding:40px;text-align:center;color:var(--ink-soft);font-size:13px;}
  .bkm-provider{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;}
  .bkm-provider-name{font-size:18px;font-weight:800;color:var(--ink);}
  .bkm-provider-addr{font-size:12.5px;color:var(--ink-soft);margin-top:6px;line-height:1.7;}
  .bkm-avatar{flex-shrink:0;width:52px;height:52px;border-radius:50%;background:#eef3fb;color:#5b7fc7;
    display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;}
  .bkm-sub{margin-bottom:14px;}
  .bkm-sub label{display:block;font-size:12px;font-weight:700;color:var(--ink-soft);margin-bottom:6px;}
  .bkm-sub-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
  .bkm-sub-select{flex:1;min-width:220px;padding:10px 12px;border:1.5px solid var(--line-strong);border-radius:12px;
    font-family:inherit;font-size:13px;background:var(--surface);color:var(--ink);}
  .bkm-sub-price{font-weight:800;color:var(--hot);font-size:14px;white-space:nowrap;}
  .bkm-note{background:#eef5ff;border:1px solid #d6e6ff;border-radius:14px;padding:14px 16px;margin-bottom:16px;}
  .bkm-note-h{font-size:12.5px;font-weight:800;color:#2f66c7;display:flex;align-items:center;gap:6px;}
  .bkm-note-t{font-size:12.5px;color:#4a5a72;margin-top:6px;line-height:1.8;}
  .bkm-strip-wrap{display:flex;align-items:stretch;gap:6px;margin-bottom:14px;}
  .bkm-strip{display:flex;gap:10px;overflow-x:auto;scroll-behavior:smooth;padding:2px;flex:1;scrollbar-width:thin;}
  .bkm-strip::-webkit-scrollbar{height:5px;} .bkm-strip::-webkit-scrollbar-thumb{background:#d7dae2;border-radius:4px;}
  .bkm-strip-nav{flex-shrink:0;width:34px;border:1px solid var(--line-strong);background:#fff;border-radius:12px;
    cursor:pointer;color:var(--ink-soft);font-size:13px;}
  .bkm-strip-nav:hover{border-color:var(--hot);color:var(--hot);}
  .bkm-day{flex:0 0 92px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;
    border:1.5px solid var(--line-strong);border-radius:14px;background:#fff;cursor:pointer;font-family:inherit;}
  .bkm-day-wd{font-size:11.5px;color:var(--ink-soft);font-weight:700;}
  .bkm-day-dt{font-size:13px;font-weight:800;color:var(--ink);}
  .bkm-day-n{font-size:11px;color:#1b9c6b;font-weight:700;}
  .bkm-day-n.muted{color:var(--ink-soft);}
  .bkm-day.is-sel{border-color:#2f66c7;box-shadow:0 0 0 3px rgba(47,102,199,.12);}
  .bkm-day.is-sel .bkm-day-wd,.bkm-day.is-sel .bkm-day-dt{color:#2f66c7;}
  .bkm-day.is-closed{opacity:.55;}
  .bkm-slots{min-height:80px;margin-bottom:12px;}
  .bkm-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;}
  @media(max-width:760px){.bkm-grid{grid-template-columns:repeat(4,1fr);}}
  @media(max-width:460px){.bkm-grid{grid-template-columns:repeat(3,1fr);}}
  .bkm-slot{padding:11px 4px;border-radius:12px;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;
    border:1.5px solid #1b9c6b;color:#1b9c6b;background:#fff;}
  .bkm-slot.is-free:hover{background:#eafaf3;}
  .bkm-slot.is-full,.bkm-slot.is-past{border-color:#e2e4ea;color:#aab0bd;background:#f4f5f8;cursor:not-allowed;}
  .bkm-slot.is-sel{border-color:#2f66c7;color:#2f66c7;background:#eef5ff;box-shadow:0 0 0 3px rgba(47,102,199,.12);}
  .bkm-full{text-align:center;padding:22px;}
  .bkm-full p{color:var(--ink-soft);font-size:13px;margin:0 0 14px;}
  .bkm-next-free{background:#1b9c6b;color:#fff;border:0;border-radius:12px;padding:12px 22px;font-family:inherit;
    font-size:13px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:8px;}
  .bkm-coord-note{background:#f4f7fb;border:1px dashed var(--line-strong);border-radius:12px;padding:14px;
    font-size:12.5px;color:var(--ink-soft);text-align:center;}
  .bkm-coord{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink);font-weight:700;
    cursor:pointer;margin-bottom:14px;}
  .bkm-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
    border-top:1px solid var(--line-strong);padding-top:14px;}
  .bkm-foot-sum{font-size:12.5px;color:var(--ink-soft);} .bkm-foot-sum b{color:var(--ink);font-size:14px;}
  .bkm-foot-slot{color:#2f66c7;font-weight:700;}
  .bkm-buy{background:var(--hot);color:#fff;border:0;border-radius:12px;padding:13px 30px;font-family:inherit;
    font-size:14px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:8px;}
  .bkm-buy:disabled{background:#d7dae2;cursor:not-allowed;}
  .bkm-err{color:var(--hot);font-size:12px;margin-top:10px;min-height:16px;text-align:center;}
  /* نمای مدیریت */
  .bkm-grid-manage .bkm-mslot{display:flex;flex-direction:column;gap:3px;padding:9px 4px;}
  .bkm-mslot-t{font-size:12.5px;font-weight:800;}
  .bkm-mslot-n{font-size:10.5px;font-weight:700;opacity:.85;}
  .bkm-mslot.is-free{border-color:#1b9c6b;color:#1b9c6b;}
  .bkm-mslot.is-part{border-color:#c99a00;color:#a97f00;background:#fffaf0;}
  .bkm-mslot.is-full{border-color:#c0392b;color:#c0392b;background:#fdf0ee;}
  .bkm-mslot.has-removed{box-shadow:inset 0 -3px 0 #f59e0b;}
  .bkm-mslot.is-sel{box-shadow:0 0 0 3px rgba(47,102,199,.15);}
  .bkm-slot-detail,.bkm-coord-list{border:1px solid var(--line-strong);border-radius:14px;padding:14px;margin-bottom:14px;}
  .bkm-sd-head{font-size:12.5px;font-weight:800;color:var(--ink);margin-bottom:10px;}
  .bkm-brow{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
    padding:8px 0;border-bottom:1px dashed var(--line-strong);}
  .bkm-brow:last-of-type{border-bottom:0;}
  .bkm-brow-main{font-size:12.5px;color:var(--ink);}
  .bkm-brow-tag{display:inline-block;background:#eef1f6;color:#54607a;border-radius:6px;font-size:10px;
    font-weight:700;padding:1px 7px;margin-inline-start:4px;}
  .bkm-brow.is-removed{background:#fff8ec;border-radius:8px;padding:8px 10px;}
  .bkm-brow.is-removed .bkm-brow-main{color:#a9720b;}
  .bkm-reason-btn{border-color:#f59e0b !important;color:#a9720b !important;}
  .bkm-add-manual{margin-top:10px;}
  .bkm-sched{border:1px solid var(--line-strong);border-radius:12px;margin-bottom:14px;background:var(--surface);}
  .bkm-sched summary{padding:11px 14px;font-size:12.5px;font-weight:800;cursor:pointer;color:var(--ink);}
  .bkm-sched-body{padding:0 14px 14px;}
  .bkm-sf-cb{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;margin-bottom:10px;}
  .bkm-sf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:10px;}
  .bkm-sf-grid label,.bkm-sf-note{display:flex;flex-direction:column;gap:4px;font-size:11.5px;font-weight:700;color:var(--ink-soft);}
  .bkm-sf-grid input,.bkm-sf-note textarea{padding:8px 10px;border:1.5px solid var(--line-strong);border-radius:8px;
    font-family:inherit;font-size:12.5px;background:#fff;color:var(--ink);}
  .bkm-sf-wd{display:flex;flex-wrap:wrap;gap:10px;font-size:11.5px;margin-bottom:10px;}
  .bkm-sf-wd label{display:flex;align-items:center;gap:5px;}
  .bkm-sf-note{margin-bottom:10px;}

  /* ===== [نوبت‌دهی] بَجِ وضعیتِ «نوبت‌های من» در پنلِ کاربری ===== */
  .coupon-status.booking-confirmed{background:#EAF7F2;color:var(--mint);}
  .coupon-status.booking-pending{background:#FFF7E8;color:#a9720b;}
  .coupon-status.booking-canceled{background:var(--line);color:var(--ink-soft);}
  .coupon-status.booking-removed{background:#FFF1F5;color:var(--hot);}

  /* ===== [ادمین بزرگ] توگلِ نسخه‌ی صفحه‌ی اصلیِ سایت (صفحهٔ اول / صفحهٔ دوم) ===== */
  .hv-toggle{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
  }
  .hv-opt{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:4px;
    padding:18px 14px;
    border-radius:16px;
    border:2px solid var(--line-strong);
    background:var(--surface);
    color:var(--ink-soft);
    font-family:inherit;
    cursor:pointer;
    transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease), color var(--dur) var(--ease), transform var(--dur) var(--ease);
  }
  .hv-opt:hover{border-color:var(--hot);transform:translateY(-1px);}
  .hv-opt i{
    font-size:22px;
    width:40px;height:40px;
    display:grid;place-items:center;
    border-radius:50%;
    background:var(--card);
    border:1.5px solid var(--line-strong);
    color:var(--ink-soft);
  }
  .hv-opt span{font-size:15px;font-weight:800;color:var(--ink);}
  .hv-opt small{font-size:11px;font-weight:600;color:var(--ink-soft);}
  .hv-opt.active{
    border-color:var(--hot);
    background:#FFF1F5;
  }
  .hv-opt.active i{background:var(--hot);border-color:var(--hot);color:#fff;}
  .hv-opt.active span{color:var(--hot-dark);}
  @media (max-width:520px){
    .hv-toggle{grid-template-columns:1fr;}
  }

  /* ---- [سهمیه‌یِ تصاویر] جعبه‌یِ نمایشِ باقی‌مانده تو مودال‌هایِ عکس/آفر ---- */
  .uq-box{background:var(--surface);border:1.5px solid var(--line-strong);border-radius:12px;padding:10px 14px;margin:0 0 16px;font-size:12px;color:var(--ink);}
  .uq-box.uq-warn{background:#FFF6E0;border-color:#E7C46A;}
  .uq-title{font-size:12.5px;font-weight:800;margin-bottom:6px;}
  .uq-title i{color:var(--hot);margin-inline-end:4px;}
  .uq-row{line-height:1.9;color:var(--ink-soft);}
  .uq-row b{color:var(--ink);}
  .uq-row.uq-bad{color:var(--hot-dark);font-weight:700;}

  /* ---- [رزروهای من] پنل فروشگاه ---- */
  .myres-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px;}
  .myres-chip{font-family:inherit;font-size:12px;font-weight:700;padding:6px 14px;border-radius:999px;border:1.5px solid var(--line-strong);background:var(--card);color:var(--ink);cursor:pointer;}
  .myres-chip.active{background:var(--hot);border-color:var(--hot);color:#fff;}
  .myres-item{display:flex;gap:12px;align-items:flex-start;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:10px;background:var(--card);}
  .myres-item img{width:56px;height:56px;border-radius:8px;object-fit:cover;flex:none;background:var(--line);}
  .myres-body{flex:1;min-width:0;}
  .myres-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px;}
  .myres-head b{font-size:13px;}
  .myres-meta{display:flex;gap:6px 14px;flex-wrap:wrap;font-size:11.5px;color:var(--ink-soft);}
  .myres-note{margin-top:6px;font-size:11.5px;line-height:1.8;color:var(--ink-soft);}
  .myres-note.bad{color:var(--hot-dark);}

  /* ---- [بازبینیِ تصاویر] پنلِ پشتیبانیِ فروشگاه‌ها ---- */
  .rv-thumbs{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;}
  .rv-thumb{margin:0;width:118px;display:flex;flex-direction:column;gap:4px;align-items:stretch;}
  .rv-thumb img{width:118px;height:118px;object-fit:cover;border-radius:10px;border:1.5px solid var(--line-strong);background:var(--line);display:block;}
  .rv-thumb figcaption{font-size:10.5px;color:var(--ink-soft);text-align:center;line-height:1.5;word-break:break-word;}
  .rv-thumb .oma-btn{padding:4px 8px;font-size:11px;justify-content:center;}
  .shop-photo-tile.is-pending{outline:2px dashed var(--gold);outline-offset:-2px;}
  .shop-photo-tile .pending-tag{position:absolute;inset-inline:4px;bottom:4px;background:var(--gold);color:#fff;font-size:9.5px;font-weight:800;text-align:center;border-radius:6px;padding:2px 0;}

  /* ---- [مدیریت فروش] ویرایشِ متن‌هایِ راهنما / اصلاحِ فروشگاه ---- */
  .tmpl-line{display:flex;gap:6px;align-items:flex-start;margin-bottom:8px;}
  .tmpl-line input,.tmpl-line textarea{flex:1;min-width:0;padding:8px 10px;border:1.5px solid var(--line-strong);border-radius:8px;font-family:inherit;font-size:12.5px;background:var(--card);color:var(--ink);}
  .tmpl-line .oma-btn{padding:6px 9px;font-size:11px;}
  .tmpl-line .tmpl-free{font-size:10.5px;color:var(--ink-soft);align-self:center;white-space:nowrap;}
  .sales-offer-desc{border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:10px;background:var(--card);}
  .sales-offer-desc textarea{width:100%;box-sizing:border-box;min-height:70px;padding:8px;border:1.5px solid var(--line-strong);border-radius:8px;font-family:inherit;font-size:12.5px;margin:8px 0;}
  .acct-bank-note{background:#FFF6E0;border:1.5px solid #E7C46A;border-radius:12px;padding:10px 14px;margin:0 0 16px;font-size:12.5px;font-weight:700;line-height:1.9;color:var(--ink);}
  .acct-bank-note i{color:var(--gold);margin-inline-end:6px;}

  /* ===== [هدرِ جمع‌وجورِ موبایل] body.hdr-compact — header-compact.js بعد از اسکرول از رویِ هدر اضافه می‌کند ===== */
  .hdr-toggle{display:none;}
  @media (max-width:860px){
    /* سنجاق (header-compact.js): هدر fixed و spacerِ هم‌قدش جایش را در صفحه نگه می‌دارد */
    .hdr-pinned header{position:fixed;top:0;left:0;right:0;}
    .hdr-compact header{box-shadow:var(--shadow);}
    .hdr-compact .header-row{flex-wrap:nowrap;padding-block:8px;gap:10px;}
    .hdr-compact .logo small{display:none;}
    .hdr-compact .logo .word{font-size:18px;}
    .hdr-compact .header-row > .search{display:none;}
    .hdr-compact .header-actions{gap:6px;margin-inline-start:auto;}
    /* دکمه‌هایِ متنی → فقط آیکون (متن گرهِ متنی است؛ با font-size:0 پنهان و آیکون دوباره اندازه می‌گیرد) */
    .hdr-compact .header-actions .btn-solid{font-size:0;gap:0;padding:9px 12px;}
    .hdr-compact .header-actions .btn-solid i{font-size:14px;}
    .hdr-compact .header-actions .btn-solid .fa-chevron-down{display:none;}
    .hdr-compact .header-actions .btn-ghost{padding:9px 11px;}
    .hdr-compact .hdr-toggle:not([hidden]){
      display:inline-flex;align-items:center;justify-content:center;
      width:38px;height:38px;border-radius:999px;border:1.5px solid var(--line-strong);
      background:var(--card);color:var(--hot);font-size:15px;cursor:pointer;flex-shrink:0;
    }
    .hdr-compact .hdr-toggle[aria-expanded="true"]{background:var(--hot);border-color:var(--hot);color:#fff;}
    /* سرچ با لمسِ آیکون: ردیفِ دوم زیرِ هدرِ جمع‌وجور */
    .hdr-compact.hdr-search-open .header-row{flex-wrap:wrap;}
    .hdr-compact.hdr-search-open .header-row > .search{display:block;order:9;flex-basis:100%;max-width:100%;}
  }

/* [SEO] محتوایِ اولیه‌یِ رندرشده در سرور (پیش از اجرای جاوااسکریپت؛ همان داده‌ای که بعد کارت می‌شود) */
.seo-variants,.seo-offer-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;grid-column:1/-1;}
.seo-variants li,.seo-offer-list li{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;font-size:13.5px;line-height:1.8;color:var(--ink);}
.seo-offer-list a{color:var(--ink);font-weight:800;}
.seo-variants del{color:var(--ink-soft);font-size:12px;}
.seo-related{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.seo-chip{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;background:var(--card);border:1px solid var(--line-strong);color:var(--ink);font-size:12.5px;font-weight:700;}
.seo-chip:hover{border-color:var(--hot);color:var(--hot);}
