@font-face { font-family: Vazirmatn; font-weight: 500; src: url(/fonts/Vazirmatn-Medium.ttf); font-display: swap; }
@font-face { font-family: Vazirmatn; font-weight: 700; src: url(/fonts/Vazirmatn-Bold.ttf); font-display: swap; }
:root { --bg: #fbf6ee; --ink: #2a1a12; --muted: #7a6a5c; --accent: #b8321f; --gold: #c8923a; --line: #eadfcd; --card: #fff; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: Vazirmatn, Tahoma, sans-serif; font-weight: 500; line-height: 1.8; }
a { color: inherit; text-decoration: none; }
h1, h2, h3 { font-weight: 700; line-height: 1.4; margin: 0 0 .6rem; }
img { max-width: 100%; display: block; }
.wrap { max-width: 1100px; margin: 0 auto; padding: 0 1rem; }
.page { padding-top: 2rem; padding-bottom: 2rem; }
.muted { color: var(--muted); margin: 0 0 .5rem; }
.error { color: var(--accent); } .ok { color: #2f7a3e; }
.header { background: #fff; border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 5; }
.header-in { display: flex; align-items: center; justify-content: space-between; height: 64px; }
.brand { font-weight: 700; font-size: 1.3rem; color: var(--accent); display: flex; align-items: center; gap: .6rem; line-height: 1.1; }
.logo { width: 36px; height: 36px; flex: none; }
.brand-text { display: flex; flex-direction: column; }
.brand small { font-size: .7rem; color: var(--gold); letter-spacing: .18em; }
nav { display: flex; gap: 1.2rem; align-items: center; }
nav a.active { color: var(--accent); }
.cart-link b { background: var(--accent); color: #fff; border-radius: 99px; padding: 0 .5rem; margin-right: .4rem; font-size: .8rem; }
.hero { background-size: cover; background-position: center; min-height: 285px; display: flex; align-items: center; position: relative; }
.hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(270deg, rgba(30,15,8,.78), rgba(30,15,8,.2)); }
.hero-in { position: relative; color: #fff; }
.hero-in h1 { font-size: clamp(1.8rem, 5vw, 3rem); } .hero-in p { max-width: 520px; }
.btn { display: inline-block; background: var(--accent); color: #fff; border: 0; border-radius: 10px; padding: .6rem 1.4rem; font: inherit; font-weight: 700; cursor: pointer; }
.btn:disabled { opacity: .6; }
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1rem; }
.card { background: var(--card); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; transition: transform .15s; }
.card:hover { transform: translateY(-3px); }
.card img { aspect-ratio: 1; object-fit: cover; width: 100%; }
.card-body { padding: .8rem 1rem 1rem; } .card-body h3 { font-size: 1rem; margin: .2rem 0; }
.tag { font-size: .75rem; color: var(--gold); border: 1px solid var(--gold); border-radius: 99px; padding: 0 .6rem; }
.chips { display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: 1rem; }
.chip { font: inherit; background: #fff; border: 1px solid var(--line); border-radius: 99px; padding: .2rem 1rem; cursor: pointer; }
.chip.on { background: var(--ink); color: #fff; }
.split, .product, .checkout { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: start; }
.split img, .product > img { border-radius: 14px; width: 100%; }
.price { color: var(--accent); }
.row { display: flex; gap: 1rem; align-items: center; margin: 1rem 0; }
.stepper { display: inline-flex; align-items: center; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.stepper button { border: 0; background: none; font: inherit; font-size: 1.2rem; width: 2.2rem; cursor: pointer; }
.stepper span { min-width: 2rem; text-align: center; }
.line { display: flex; gap: 1rem; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: .7rem; margin-bottom: .7rem; }
.line img { width: 64px; height: 64px; object-fit: cover; border-radius: 8px; } .grow { flex: 1; }
.total { display: flex; justify-content: space-between; font-size: 1.1rem; margin: 1rem 0; }
label { display: block; margin-bottom: 1rem; } select { display: block; width: 100%; padding: .5rem; font: inherit; border: 1px solid var(--line); border-radius: 8px; margin-top: .3rem; }
fieldset { border: 1px solid var(--line); border-radius: 10px; margin-bottom: 1rem; } .opt { margin: 0; }
.summary { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 1.2rem; }
.sum-row { display: flex; justify-content: space-between; gap: 1rem; padding: .3rem 0; } .sum-row.big { font-weight: 700; border-top: 1px solid var(--line); margin-top: .4rem; padding-top: .6rem; }
.footer { border-top: 1px solid var(--line); text-align: center; padding: 1.5rem 0; color: var(--muted); margin-top: 2rem; }
@media (max-width: 720px) { .split, .product, .checkout { grid-template-columns: 1fr; } .line { flex-wrap: wrap; } }

input,textarea,select{font:inherit;border:1px solid var(--line);border-radius:8px;padding:.65rem;background:#fff;width:100%;margin:.3rem 0 1rem}textarea{min-height:100px;resize:vertical}.narrow{max-width:520px}.narrow form{background:#fff;border:1px solid var(--line);padding:1.3rem;border-radius:14px}.address-option{display:flex;gap:.7rem;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.7rem}.address-option input{width:auto;margin-top:.4rem}.address-form{background:#fff;border:1px dashed var(--gold);padding:1rem;border-radius:12px;margin-top:1rem}.status-box{display:flex;gap:1rem;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:1rem;margin:1rem 0}.profile-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.2rem}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.panel{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:1rem;margin:.7rem 0}.panel span{margin-left:1rem}.admin-row{display:grid;grid-template-columns:2fr 1fr auto auto auto;gap:.7rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.7rem;margin:.5rem 0}.admin-row div,.admin-row span{display:flex;flex-direction:column}.admin-products{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.product-edit{margin:0}.product-edit input[type=checkbox]{width:auto}.product-edit textarea{min-height:70px}@media(max-width:720px){.dashboard-grid,.admin-products{grid-template-columns:1fr}.admin-row{grid-template-columns:1fr 1fr}.header-in{height:auto;min-height:64px;padding-top:.6rem;padding-bottom:.6rem;gap:.5rem}nav{gap:.6rem;flex-wrap:wrap;justify-content:flex-end}nav a{font-size:.9rem}.status-box{flex-direction:column;align-items:flex-start}}

.order-link{display:flex;justify-content:space-between;gap:1rem;align-items:center}
.admin-tabs{margin-bottom:1rem}.add-product{margin-bottom:1rem}.danger{border-color:#e1b0a8;color:#a6291b}.user-row{grid-template-columns:2fr 1fr auto}
.admin-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.product-admin-card{display:flex;gap:1rem;align-items:center;margin:0}.product-admin-card>img{width:110px;height:110px;object-fit:cover;border-radius:10px}
.product-editor{display:grid;grid-template-columns:1fr 1fr;gap:.4rem 1rem}.product-editor h3,.product-editor label,.product-editor textarea,.product-editor .row,.product-editor .error{grid-column:1/-1}.product-editor .row{margin:.3rem 0 0}.product-editor label{margin-bottom:.2rem}.admin-product-image{width:180px;height:180px;object-fit:cover;border-radius:12px;border:1px solid var(--line);grid-column:1/-1}
.modal-backdrop{position:fixed;inset:0;background:rgba(25,15,10,.58);z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem}
.modal{background:var(--bg);width:min(900px,100%);max-height:90vh;overflow:auto;border-radius:16px;padding:1.2rem;box-shadow:0 20px 70px rgba(0,0,0,.25)}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:12px;padding:1rem;margin-bottom:1rem}
.modal .line{margin-bottom:.5rem}
@media(max-width:720px){
  .admin-row{grid-template-columns:1fr;align-items:stretch}
  .admin-products{grid-template-columns:1fr}
  .product-editor,.detail-grid{grid-template-columns:1fr}
  .product-editor h3,.product-editor label,.product-editor textarea,.product-editor .row,.product-editor .error{grid-column:1}
  .product-admin-card{align-items:flex-start;flex-wrap:wrap}.product-admin-card>img{width:90px;height:90px}
  .modal{max-height:94vh;padding:.8rem}
}

/* ChooKal / ChooKal premium refresh: warm natural palette, quiet surfaces,
   clear focus states and image-free graceful fallbacks for lightweight builds. */
:root {
  --bg: #f7f5ef;
  --ink: #272b20;
  --muted: #77796d;
  --accent: #526747;
  --gold: #b28b51;
  --line: #e5e1d5;
  --card: #fffefa;
  --olive-soft: #e9eee2;
  --clay: #b66e50;
  --shadow-soft: 0 12px 32px rgba(44, 48, 35, .07);
}
html { scroll-behavior: smooth; scroll-padding-top: 84px; }
body { background: var(--bg); color: var(--ink); line-height: 1.85; }
::selection { background: #dce5d3; color: #273322; }
a { text-underline-offset: .22em; }
.wrap { max-width: 1180px; }
.page { padding-top: clamp(1.4rem, 3vw, 2.6rem); padding-bottom: clamp(1.8rem, 4vw, 3rem); }
.header { background: rgba(255, 254, 250, .94); border-bottom: 1px solid rgba(229, 225, 213, .8); box-shadow: 0 3px 18px rgba(44,48,35,.025); backdrop-filter: blur(14px); }
.header-in { min-height: 72px; height: 72px; }
.brand { color: var(--accent); gap: .7rem; font-size: 1.24rem; }
.logo { width: 40px; height: 40px; border-radius: 12px; box-shadow: 0 4px 12px rgba(82,103,71,.18); }
nav { gap: clamp(.7rem, 1.5vw, 1.35rem); }
nav a { color: #5f6257; font-size: .93rem; transition: color .16s ease; }
nav a:hover, nav a.active { color: var(--accent); }
nav a.active { font-weight: 700; }
nav .cart-link b, .bell-badge { background: var(--accent); }
.hero { isolation: isolate; overflow: hidden; min-height: clamp(345px, 41vw, 470px); background: radial-gradient(ellipse at 82% 15%, rgba(189, 164, 112, .24), transparent 32%), radial-gradient(ellipse at 15% 95%, rgba(82, 103, 71, .14), transparent 35%), linear-gradient(115deg, #e9eddf, #f7f3e7 50%, #f0e8d8); border-bottom: 1px solid var(--line); }
.hero::before { background: linear-gradient(270deg, rgba(247,245,239,.08), rgba(247,245,239,.16)); z-index: -1; }
.hero::after { content: ""; position: absolute; inset: 14px; border: 1px solid rgba(82,103,71,.14); border-radius: 28px; pointer-events: none; }
.hero-in { width: min(100%, 1180px); padding-block: 3.3rem; color: var(--ink); z-index: 2; }
.hero-in h1 { max-width: 670px; margin: .55rem 0 1rem; font-size: clamp(2rem, 5.1vw, 4rem); letter-spacing: -.045em; line-height: 1.4; }
.hero-in p { max-width: 540px; color: #64685a; font-size: clamp(1rem, 1.6vw, 1.16rem); margin-bottom: 1.5rem; }
.eyebrow { display: inline-flex; align-items: center; gap: .5rem; color: var(--accent); font-size: .82rem; letter-spacing: .015em; font-weight: 700; }
.eyebrow::before { content: ""; width: 22px; height: 1px; background: var(--gold); }
.hero-note { display: block; margin-top: 1.1rem; color: #747668; font-size: .82rem; }
.hero-orbit { position: absolute; z-index: 1; left: max(7%, calc((100vw - 1180px) / 2 + 70px)); top: 50%; width: clamp(190px, 25vw, 340px); aspect-ratio: 1; transform: translateY(-50%); border-radius: 50%; background: radial-gradient(circle at 35% 30%, rgba(255,255,255,.8), rgba(229,235,218,.45) 48%, rgba(178,139,81,.13)); box-shadow: inset 0 0 0 1px rgba(82,103,71,.1), 0 25px 65px rgba(54,67,45,.06); }
.orbit-ring { position: absolute; inset: 9%; border: 1px solid rgba(82,103,71,.22); border-radius: 50%; transform: rotate(-28deg) scaleX(.64); }
.orbit-ring-b { inset: 16%; transform: rotate(35deg) scaleX(.78); border-color: rgba(178,139,81,.34); }
.orbit-seed { position: absolute; inset: 18%; display: grid; place-items: center; border-radius: 50%; background: #b91c1c; overflow: hidden; box-shadow: 12px 14px 28px rgba(125,31,22,.22); transform: none; }
.orbit-seed .orbit-eye { width: 100%; height: 100%; object-fit: cover; display: block; }
.home-section-head { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: 1.25rem; }
.home-section-head h2 { margin: .25rem 0 0; font-size: clamp(1.45rem, 2.6vw, 2rem); }
.text-link { font-size: .9rem; color: var(--accent); font-weight: 700; white-space: nowrap; }
.cat-grid { gap: 1rem; }
.cat-card { position: relative; overflow: hidden; padding: 1.2rem 1.15rem; background: rgba(255,254,250,.86); border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 4px 18px rgba(44,48,35,.025); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.cat-card:hover { transform: translateY(-4px); border-color: #c8d2bf; box-shadow: var(--shadow-soft); }
.cat-card h3 { margin: .75rem 0 .25rem; }
.cat-card .muted { font-size: .88rem; }
.cat-icon { width: 56px; height: 56px; padding: 9px; border-radius: 16px; background: var(--olive-soft); color: var(--accent); }
.category-arrow { position: absolute; top: 1rem; left: 1rem; color: #9b9e8e; font-size: 1rem; }
.story-section { display: grid; grid-template-columns: minmax(240px, .9fr) minmax(0, 1.1fr); align-items: center; gap: clamp(1.5rem, 5vw, 5rem); }
.story-visual { position: relative; min-height: 300px; display: grid; place-items: center; overflow: hidden; border-radius: 24px; background: linear-gradient(145deg, #e6e9da, #f2e6d2); border: 1px solid #e1dfd0; }
.story-disc { position: absolute; width: 210px; height: 210px; border-radius: 50%; border: 1px solid rgba(82,103,71,.24); }
.story-disc-one { transform: translate(-18px, 6px); box-shadow: inset 0 0 0 18px rgba(255,255,255,.13), 0 25px 45px rgba(82,103,71,.08); }
.story-disc-two { width: 154px; height: 154px; border-color: rgba(178,139,81,.45); transform: translate(18px, -6px); }
.story-label { position: relative; z-index: 2; display: grid; place-items: center; width: 120px; height: 120px; border-radius: 38% 62% 45% 55%; background: var(--accent); color: #fffdf5; font-size: 1.3rem; font-weight: 700; line-height: 1.8; text-align: center; transform: rotate(-7deg); box-shadow: 0 16px 36px rgba(59,80,49,.2); }
.story-leaf { position: absolute; width: 62px; height: 110px; border-radius: 100% 0 100% 0; background: rgba(82,103,71,.25); transform: rotate(-34deg); }
.story-leaf-one { top: 28px; right: 22%; }
.story-leaf-two { bottom: 6px; left: 17%; transform: rotate(145deg) scale(.7); background: rgba(178,139,81,.28); }
.story-copy h2 { font-size: clamp(1.55rem, 2.8vw, 2.25rem); margin: .5rem 0 1rem; line-height: 1.55; }
.story-copy>p { color: var(--muted); max-width: 560px; }
.story-copy .btn { margin-top: .45rem; }
.story-delivery { margin-top: 1.3rem; font-size: .9rem; }
.story-delivery strong { color: var(--accent); }
.btn { background: var(--accent); border-radius: 12px; padding: .72rem 1.35rem; box-shadow: 0 5px 12px rgba(82,103,71,.12); transition: transform .16s ease, box-shadow .16s ease, background .16s ease; }
.btn:hover { background: #40553a; box-shadow: 0 8px 18px rgba(82,103,71,.18); transform: translateY(-1px); }
.btn:disabled { cursor: not-allowed; box-shadow: none; transform: none; }
.secondary-btn { background: transparent; color: var(--accent); border: 1px solid #b8c4ae; box-shadow: none; }
.secondary-btn:hover { color: #fff; }
.card, .panel, .summary, .line, .modal, .article-card, .mini-product, .review-item, .qa-item { border-color: var(--line); box-shadow: 0 3px 14px rgba(44,48,35,.025); }
.card { border-radius: 18px; background: var(--card); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.card:hover { transform: translateY(-3px); box-shadow: var(--shadow-soft); border-color: #e5c4bd; }
.card img { background: linear-gradient(135deg, #eeefe5, #e7e2d4); }
.product-media, .mini-media, .product-image-wrap { background: radial-gradient(circle at 50% 35%, #f7f5eb, #e9e9dc); }
.product-media { position: relative; aspect-ratio: 1 / 1; overflow: hidden; }
.product-media::after, .mini-media::after { content: ""; position: absolute; inset: 18% 34%; border: 1px solid rgba(82,103,71,.12); border-radius: 50% 50% 45% 45%; pointer-events: none; }
.mini-media { position: relative; aspect-ratio: 1 / 1; overflow: hidden; }
.product-media img, .mini-media img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: cover; }
.product-image-wrap { position: relative; align-self: start; aspect-ratio: 1 / 1; min-height: 260px; border-radius: 18px; overflow: hidden; display: grid; place-items: center; }
.product-image-wrap img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.card-body { padding: .95rem 1rem 1.15rem; }
.tag { color: var(--accent); border-color: #e5c4bd; background: #f0f3eb; }
.price, .mini-product strong { color: var(--accent); }
.sale-price { color: #a55840; }
.discount-badge { background: #a45f46; border-radius: 999px; box-shadow: none; }
.chip { background: #fffefa; border-color: #deded1; transition: background .15s, border-color .15s, color .15s; }
.chip:hover, .chip.on { background: var(--olive-soft); border-color: #e6bdb5; color: var(--accent); }
input, textarea, select { border-color: #dcded2; border-radius: 11px; background: #fffefa; }
input:focus, textarea:focus, select:focus { outline: 3px solid rgba(82,103,71,.13); border-color: #d18a7e; }
button, input, textarea, select { accent-color: var(--accent); }
button:focus-visible, a:focus-visible { outline: 3px solid #a9b99c; outline-offset: 3px; }
.panel { border-radius: 16px; background: var(--card); }
.summary { border-radius: 17px; background: #fffefa; }
.footer { background: #eeeee4; border-top-color: #e0dfd2; color: #727667; }
.skeleton-media, .skeleton-line { background: linear-gradient(90deg, #f3e6e2 25%, #e3e5d8 38%, #f3e6e2 63%); background-size: 400% 100%; }
.auth-state, .address-form, .answer { background: #f0f2e8; }
.answer { border-right-color: var(--accent); }
.rich-toolbar { background: #f0f1e7; }
.rich-toolbar button.on { background: #e2e8da; border-color: #e6bdb5; }
.rich-editor-shell:focus-within { border-color: #d18a7e; box-shadow: 0 0 0 3px rgba(82,103,71,.09); }
.load-more { color: var(--muted); }
@media(max-width: 720px) {
  .header-in { min-height: 66px; }
  .brand { gap: .45rem; }
  .brand-text { display: flex; font-size: 1rem; }
  .brand small { font-size: .6rem; }
  .logo { width: 34px; height: 34px; }
  nav { gap: .55rem; }
  nav a { font-size: .82rem; }
  .hero { min-height: 360px; }
  .hero-in { padding-block: 2.5rem; }
  .hero-in h1 { max-width: 100%; }
  .hero-orbit { width: 160px; left: -45px; top: auto; bottom: 10px; transform: none; opacity: .62; }
  .hero::after { inset: 8px; border-radius: 18px; }
  .home-section-head { align-items: flex-start; flex-direction: column; }
  .cat-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: .65rem; }
  .cat-card { padding: .9rem; border-radius: 15px; }
  .cat-icon { width: 47px; height: 47px; }
  .story-section { grid-template-columns: 1fr; gap: 1rem; }
  .story-visual { min-height: 220px; }
  .story-disc { width: 170px; height: 170px; }
  .story-disc-two { width: 128px; height: 128px; }
  .story-label { width: 100px; height: 100px; font-size: 1.15rem; }
}
@media(max-width: 390px) {
  .header-in { align-items: center; }
  .brand-text { max-width: 90px; }
  nav { gap: .4rem; }
  nav a { font-size: .76rem; }
}
@media(prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* --- نوار پیام سبد خرید --- */
.toast{position:fixed;z-index:50;right:50%;transform:translateX(50%);bottom:calc(1rem + env(safe-area-inset-bottom,0px));width:min(560px,calc(100% - 1.5rem));display:flex;align-items:center;gap:.8rem;background:var(--ink);color:#fff;border-radius:14px;padding:.7rem 1rem;box-shadow:0 8px 28px rgba(0,0,0,.28);animation:toast-in .22s ease-out}
.toast-text{flex:1;font-size:.95rem;line-height:1.7}
.toast-btn{background:var(--accent);color:#fff;border-radius:9px;padding:.25rem .9rem;white-space:nowrap;font-weight:700}
.toast-x{background:none;border:0;color:#fff;font-size:1.4rem;line-height:1;cursor:pointer;padding:0 .2rem;opacity:.8}
@keyframes toast-in{from{opacity:0;transform:translate(50%,12px)}to{opacity:1;transform:translate(50%,0)}}
@media(max-width:520px){.toast{flex-wrap:wrap}.toast-text{flex-basis:100%}.toast-btn{flex:1;text-align:center}}
/* --- انتخاب وزن --- */
.variant-pick{display:block;margin:1rem 0 .4rem;font-weight:700}
.variant-pick select{margin-top:.3rem}
/* --- موجودی برای مدیر --- */
.stock-box table{width:100%;border-collapse:collapse;font-size:.92rem}
.stock-box th,.stock-box td{border-bottom:1px solid var(--line);padding:.3rem .5rem;text-align:right}
.stock-box tr.on td{background:rgba(184,50,31,.08)}
.vline{display:block}
/* --- ویرایشگر وزن‌ها --- */
.variants-edit{border:1px solid var(--line);border-radius:10px;padding:.6rem .8rem;margin:.6rem 0}
.variant-row{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr auto;gap:.5rem;align-items:center;margin-bottom:.5rem}.variant-row.without-cost{grid-template-columns:1.6fr 1fr 1fr auto}
.variant-row input{margin:0;min-width:0}
.variant-head{font-size:.8rem;color:var(--muted)}
@media(max-width:560px){.variant-row,.variant-row.without-cost{grid-template-columns:1fr 1fr}.variant-head{display:none}}
.line .chip.danger{margin-inline-start:.3rem}
.name-edit input{max-width:260px}

.loading-block{display:flex;align-items:center;justify-content:center;gap:.6rem;min-height:120px}
.spinner{width:20px;height:20px;border:2px solid currentColor;border-left-color:transparent;border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.skeleton-card{pointer-events:none}
.skeleton-media,.skeleton-line{background:linear-gradient(90deg,#eee 25%,#f7f7f7 37%,#eee 63%);background-size:400% 100%;animation:skeleton 1.3s ease infinite}
.skeleton-media{aspect-ratio:1/1;border-radius:14px}
.skeleton-line{height:14px;border-radius:8px;margin:.7rem 0}
.skeleton-line.short{width:55%}
@keyframes skeleton{0%{background-position:100% 0}100%{background-position:-100% 0}}

.skeleton-list{display:grid;gap:12px}.skeleton-row{min-height:72px}.skeleton-row .skeleton-line{margin:.45rem 0}

.cat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.cat-card{display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.6rem 1rem;color:var(--accent);transition:transform .15s,box-shadow .15s,border-color .15s}
.cat-card:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:0 8px 20px rgba(60,30,10,.08)}
.cat-card h3{color:var(--ink);font-size:1.25rem;margin:.6rem 0 .2rem}
.cat-card p{font-size:.85rem;margin:0}
.cat-icon{width:72px;height:72px}
.empty{padding:2rem 0;text-align:center}
@media(max-width:720px){.cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* امکانات جدید فروشگاه */
nav { gap: 1.8rem; }
.bell-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:28px}
.bell{font-size:1.25rem;line-height:1;filter:saturate(.8)}
.bell-badge{position:absolute;top:-9px;right:-8px;background:var(--accent);color:#fff;border-radius:99px;min-width:18px;height:18px;padding:0 4px;font-size:.65rem;display:grid;place-items:center}
.bell-link{display:flex;align-items:center}
.product-media{position:relative}
.discount-badge{position:absolute;top:.65rem;left:.65rem;z-index:2;background:var(--accent);color:#fff;border-radius:10px;padding:.15rem .55rem;font-size:.8rem;font-weight:700;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.discount-badge.small{top:.35rem;left:.35rem;font-size:.65rem;border-radius:7px}
.discount-badge.large{top:1rem;left:1rem;font-size:1rem}
.price-line{display:flex;gap:.6rem;align-items:baseline;flex-wrap:wrap}
.old-price{color:var(--muted);font-size:.82rem}
.sale-price{color:#c62828;margin:0;font-size:1.08rem}
.detail-price{display:flex;gap:.8rem;align-items:center;margin:.7rem 0}
.detail-price h2{margin:0}
.rating-summary{display:flex;align-items:center;gap:.55rem;margin:.8rem 0}
.stars{display:inline-flex;direction:ltr;gap:1px}
.star{border:0;background:none;padding:0 1px;color:#cfc5b8;font-size:1.15rem;line-height:1;cursor:default}
.stars.interactive .star{cursor:pointer}
.star.on{color:#d49a27}
.rating-cta{border:1px solid var(--line);background:#fff;border-radius:12px;padding:.75rem 1rem;display:flex;align-items:center;gap:.8rem;font:inherit;cursor:pointer;margin-bottom:1rem}
.rating-big{font-weight:700}
.product-extra{margin-top:2rem}
.long-text{white-space:pre-line}
.related-section,.review-section,.questions-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}
.section-head h2{margin:0}
.horizontal-products{display:flex;gap:1rem;overflow-x:auto;overscroll-behavior-inline:contain;padding:.25rem .1rem 1rem;scroll-snap-type:x proximity}
.mini-product{min-width:175px;max-width:185px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.5rem;display:flex;flex-direction:column;gap:.2rem;scroll-snap-align:start}
.mini-media{position:relative}
.mini-product img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}
.mini-product del{font-size:.75rem;color:var(--muted)}
.mini-product strong{color:var(--accent)}
.review-item,.qa-item{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1rem;margin:.7rem 0}
.review-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.answer{background:#fbf6ee;border-right:3px solid var(--gold);padding:.6rem .8rem;border-radius:8px;margin:.7rem 0}
.vote-row{display:flex;gap:.5rem}
.qa-list{margin-top:1rem}
.review-modal{max-width:520px}
.load-more{text-align:center;min-height:50px;padding:1.5rem}
.auth-state{background:#fff;border:1px solid var(--line);border-radius:10px;padding:.6rem .8rem;margin:-.3rem 0 1rem;color:var(--muted);font-size:.9rem}
.article-profile-link{display:block;border:1px solid var(--line);border-radius:8px;padding:.55rem .8rem;margin-top:2rem;text-align:center;background:#fff}
.article-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}
.article-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;padding:1rem;transition:transform .15s}
.article-card:hover{transform:translateY(-2px)}
.article-card img{width:calc(100% + 2rem);margin:-1rem -1rem 1rem;aspect-ratio:16/9;object-fit:cover}
.article-card h2{font-size:1.1rem}
.article-card span{color:var(--accent);font-weight:700}
.article-page{max-width:850px}
.article-cover{width:100%;max-height:420px;object-fit:cover;border-radius:14px;margin:1rem 0 1.5rem}
.article-excerpt{font-size:1.1rem;color:var(--muted)}
.article-content{font-size:1.05rem;line-height:2.2}
.article-content p{margin:0 0 1.1rem}
.article-page .mini-product{min-width:210px}
.article-page .horizontal-products .product-card{min-width:220px;max-width:220px}
.product-check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.3rem 1rem;max-height:280px;overflow:auto;padding:.5rem;border:1px solid var(--line);border-radius:10px;background:#fff}
.product-check-grid label{margin:0;padding:.25rem}
.notification-item{width:100%;text-align:right;border:1px solid var(--line);background:#fff;border-radius:12px;padding:1rem;margin:.5rem 0;display:flex;flex-direction:column;gap:.25rem;font:inherit;cursor:pointer}
.notification-item.unread{border-right:4px solid var(--accent);background:#fffaf5}
.notification-item small{color:var(--muted)}
.qa-admin{margin:.7rem 0}
.discount-input small{display:block;color:var(--muted)}
@media(max-width:720px){
 nav{gap:.9rem;font-size:.9rem}
 .header-in{height:auto;min-height:64px;padding-top:.5rem;padding-bottom:.5rem}
 .brand-text{display:none}
 .horizontal-products{margin-inline:-.5rem;padding-inline:.5rem}
 .mini-product{min-width:150px}
 .rating-cta{align-items:flex-start;flex-direction:column}
}

/* --- بازطراحی امتیازدهی و نظر کاربران --- */
.stars-large{gap:.18rem;direction:ltr}
.stars-large .star{font-size:3.15rem;padding:0 .08rem;line-height:1;transition:transform .12s,color .12s}
.stars-large.interactive .star:hover{transform:scale(1.12)}
.rating-picker{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem;margin-bottom:1.2rem;text-align:center}
.rating-picker>span{color:var(--muted);font-size:.9rem}
.review-modal{max-width:560px}
.review-modal-rating{display:flex;flex-direction:column;align-items:center;gap:.4rem;background:#fff;border:1px solid var(--line);border-radius:14px;padding:1rem;margin:1rem 0}
.review-modal-rating b{color:var(--accent)}
.review-votes{border-top:1px solid var(--line);padding-top:.7rem;margin-top:.8rem}
.review-votes .chip{min-width:130px}
.review-head>div{display:flex;align-items:center;gap:.7rem}
.rating-summary .stars .star{font-size:1.25rem}

/* --- زنگوله --- */
.bell-icon{width:25px;height:25px;display:block}
.bell-badge{top:-7px;right:-7px}

/* --- هدر مدیریت و مداد تغییر رمز --- */
.admin-head-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.admin-tabs{margin-bottom:0}
.icon-btn{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:50%;width:42px;height:42px;font:inherit;font-size:1.35rem;cursor:pointer;display:grid;place-items:center;box-shadow:0 2px 8px rgba(60,30,10,.06)}
.icon-btn:hover{border-color:var(--gold);color:var(--accent)}
.admin-password-modal{max-width:460px}

/* --- ویرایشگر حرفه‌ای مطالب --- */
.article-editor-rich{display:flex;flex-direction:column;gap:.55rem}
.editor-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.editor-cover-pick{background:#fff;border:1px dashed var(--gold);border-radius:10px;padding:.55rem .8rem;cursor:pointer;margin:0;white-space:nowrap}
.editor-cover-pick input{display:none}
.article-cover-preview{width:100%;max-height:300px;object-fit:cover;border-radius:12px;border:1px solid var(--line)}
.rich-editor-shell{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.rich-toolbar{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;padding:.55rem;border-bottom:1px solid var(--line);background:#fbf0ed;position:sticky;top:0;z-index:2}
.rich-toolbar button{border:1px solid transparent;background:#fff;border-radius:7px;padding:.35rem .55rem;font:inherit;cursor:pointer;min-height:36px}
.rich-toolbar button:hover{border-color:var(--gold);background:#fffdf9}
.rich-toolbar select{width:auto;min-width:90px;margin:0;padding:.35rem .45rem;height:36px;background:#fff}
.toolbar-sep{height:25px;width:1px;background:var(--line);margin:0 .2rem}
.rich-editor{min-height:420px;padding:1.2rem;outline:none;font-size:1rem;line-height:2.05;text-align:right}
.rich-editor:empty::before{content:attr(data-placeholder);color:#a99b8b;pointer-events:none}
.rich-editor img{max-width:100%;height:auto;border-radius:10px;margin:.7rem 0}
.rich-editor blockquote{border-right:4px solid var(--gold);margin:1rem 0;padding:.6rem 1rem;background:#fbf6ee;color:var(--muted)}
.article-content img{max-width:100%;height:auto;border-radius:12px;margin:1rem auto}
.article-content h2,.article-content h3{margin-top:1.4rem}
.article-content blockquote{border-right:4px solid var(--gold);padding:.5rem 1rem;background:#fbf6ee}
.article-content ul,.article-content ol{padding-right:2rem}
@media(max-width:720px){
 .stars-large .star{font-size:2.55rem}
 .admin-head-actions{align-items:flex-start}
 .editor-top{align-items:stretch;flex-direction:column}
 .rich-toolbar{position:static}
 .rich-editor{min-height:320px}
}

.admin-title{display:flex;align-items:center;gap:.7rem}.admin-title .pencil-btn{flex:none}

/* ───── ویرایشگر مطالب (Word-like) ───── */
.rich-editor{position:relative}
.rich-editor.is-empty::before{content:attr(data-placeholder);position:absolute;top:1.2rem;right:1.2rem;left:1.2rem;color:#a99b8b;pointer-events:none}
.rich-editor p{margin:0 0 1rem}
.rich-editor h2,.rich-editor h3,.rich-editor h4{margin:1.2rem 0 .6rem;line-height:1.6}
.rich-editor ul,.rich-editor ol{padding-right:2rem;margin:0 0 1rem}
.rich-editor hr,.article-content hr{border:0;border-top:1px solid var(--line);margin:1.5rem 0}
.rich-editor table,.article-content table{border-collapse:collapse;width:100%;margin:1rem 0}
.rich-editor td,.rich-editor th,.article-content td,.article-content th{border:1px solid var(--line);padding:.5rem .7rem;min-width:60px;vertical-align:top}
.rich-editor a,.article-content a{color:var(--gold);text-decoration:underline}
.rich-editor img{cursor:pointer;max-width:100%}
.rich-editor img.img-selected{outline:3px solid var(--gold);outline-offset:2px}
.rich-editor::after,.article-content::after{content:"";display:block;clear:both}
.rich-toolbar button.on{background:#f1e2c6;border-color:var(--gold)}
.rich-toolbar .toolbar-sep{width:1px;height:24px;background:var(--line);margin:0 .2rem}
.tb-color{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;background:#fff;border-radius:7px;cursor:pointer;font-weight:700}
.tb-color:hover{outline:1px solid var(--gold)}
.tb-color input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;padding:0;border:0}
.tb-color .hl{background:#fff2a8;padding:0 .25rem;border-radius:3px}
.rich-imgbar{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;padding:.45rem .6rem;background:#fbf6ee;border-bottom:1px solid var(--line);font-size:.9rem}
.rich-imgbar button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:.25rem .6rem;font:inherit;cursor:pointer}
.rich-imgbar button:hover{border-color:var(--gold)}
.img-range{display:inline-flex;align-items:center;gap:.4rem}
.img-range input{width:130px;margin:0;padding:0}
.rich-source{display:block;width:100%;min-height:420px;border:0;border-radius:0;padding:1rem;font:13px/1.7 ui-monospace,Menlo,Consolas,monospace;resize:vertical;box-sizing:border-box;background:#1f1b16;color:#f3e9d8}
.rich-status{display:flex;justify-content:space-between;gap:1rem;padding:.35rem .8rem;border-top:1px solid var(--line);background:#fbf0ed;font-size:.82rem;color:var(--muted)}
.rich-status .uploading{color:var(--gold);font-weight:700}
.article-content{overflow-wrap:anywhere}
.article-content h2,.article-content h3,.article-content h4{line-height:1.6}

/* --- ارتقای فرم مطالب/خبرها --- */
.articles-admin-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.article-admin-row{align-items:center;gap:.8rem}
.article-admin-main{display:flex;flex-direction:column;min-width:0;flex:1}
.article-admin-main b{overflow-wrap:anywhere}
.article-admin-main span{font-size:.8rem;color:var(--gold);margin-top:.15rem;overflow-wrap:anywhere}
.article-admin-main small{margin-top:.2rem}
.status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.28rem .65rem;font-size:.78rem;font-weight:700;white-space:nowrap}
.status-pill.published{background:#edf8ef;color:#2d7a3a}
.status-pill.draft{background:#f3eee8;color:#75685e}
.empty-state{text-align:center;padding:2.2rem 1rem}
.editor-section{border:1px solid var(--line);border-radius:14px;background:#fff;padding:1rem;display:flex;flex-direction:column;gap:.7rem}
.editor-section>.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:.65rem}
.editor-section>.section-title h4{margin:0}
.editor-section label{display:flex;flex-direction:column;gap:.35rem}
.field-meta{display:block;text-align:left;direction:ltr;font-size:.76rem;color:var(--muted)}
.field-meta.warn{color:var(--accent);font-weight:700}
.field-help{font-size:.8rem;color:var(--muted)}
.slug-row{display:flex;gap:.5rem;align-items:stretch}
.slug-row input{flex:1;min-width:0}
.cover-wrap{display:flex;flex-direction:column;gap:.5rem}
.cover-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.save-state{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem .8rem;border-radius:10px;background:#fbf0ed;color:var(--muted);font-size:.82rem}
.save-state b{color:var(--accent)}
.publish-box{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem .85rem;border:1px solid var(--line);border-radius:10px;background:#fbf6ee}
.publish-toggle{display:flex !important;flex-direction:row !important;align-items:center;gap:.5rem;white-space:nowrap}
.seo-panel{border:1px dashed var(--gold);border-radius:12px;padding:.8rem;background:#fffcf8}
.seo-head{display:block;border:0 !important;padding:0 !important}
.seo-head h4{margin:0}
.seo-preview{border:1px solid #ddd;border-radius:9px;background:#fff;padding:.9rem;margin-top:.6rem;direction:ltr;text-align:left}
.seo-url{font-size:.78rem;color:#5a6a56;overflow-wrap:anywhere}
.seo-result-title{font-size:1.15rem;color:#1a0dab;margin:.3rem 0;line-height:1.45;overflow-wrap:anywhere}
.seo-result-desc{font-size:.9rem;color:#4d5156;line-height:1.6;overflow-wrap:anywhere}
.seo-guidance{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.65rem;font-size:.8rem;line-height:1.8;color:var(--muted)}
.editor-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.3rem}
.secondary-btn{background:#fff;color:var(--ink);border:1px solid var(--gold)}
.rich-editor-shell:focus-within{border-color:var(--gold);box-shadow:0 0 0 2px rgba(184,50,31,.08)}
.rich-toolbar button:focus-visible,.rich-toolbar select:focus-visible,.rich-imgbar button:focus-visible,.editor-actions button:focus-visible,.slug-row button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.rich-toolbar{overflow-x:auto;overscroll-behavior-x:contain}
.rich-toolbar select{max-width:150px}
.rich-editor,.rich-source{overflow-wrap:anywhere}
.rich-editor[contenteditable="true"]{caret-color:var(--accent)}
.rich-source:focus{outline:2px solid var(--gold);outline-offset:-2px}
.article-content a[target="_blank"]{word-break:break-word}
.article-page .related-section{margin-top:2rem}
@media(max-width:720px){
  .articles-admin-head,.editor-actions,.cover-actions,.publish-box{align-items:stretch;flex-direction:column}
  .articles-admin-head .btn,.editor-actions .btn{width:100%}
  .article-admin-row{display:grid;grid-template-columns:1fr auto}
  .article-admin-row .article-admin-main{grid-column:1/-1}
  .slug-row{flex-direction:column}
  .seo-guidance{grid-template-columns:1fr}
  .save-state{align-items:flex-start;flex-direction:column}
  .publish-toggle{white-space:normal}
  .rich-toolbar{gap:.25rem;padding:.45rem}
  .rich-toolbar button,.rich-toolbar select,.tb-color{min-height:40px}
  .rich-editor{min-height:340px;padding:1rem}
}

/* Security and admin approval workspace */
.admin-security-notice,.security-question-card{background:var(--olive-soft);border:1px solid var(--line);border-radius:12px;padding:.85rem 1rem;color:var(--ink);margin:.5rem 0 1.1rem}
.security-question-card{font-size:1.08rem;margin:.6rem 0 1rem}
.security-help{font-size:.86rem;margin-top:.8rem}
.security-section{display:grid;gap:.6rem}
.security-section>h2,.security-section>h3{margin-top:.6rem}
.security-request-head,.security-events-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.security-request-head>div{display:grid;gap:.15rem;min-width:0}
.security-request-head small{overflow-wrap:anywhere}
.security-request{border-color:var(--line);box-shadow:var(--shadow-soft)}
.security-request details,.security-event details{margin-top:.65rem}
.security-request summary,.security-event summary{cursor:pointer;color:var(--accent);font-weight:700}
.security-payload{direction:ltr;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow:auto;font: .82rem/1.65 ui-monospace, SFMono-Regular, Menlo, monospace;background:#f5f4ed;border:1px solid var(--line);border-radius:8px;padding:.8rem;color:#333}
.status-pill.pending{background:#fff0ce;color:#6e4a00}.status-pill.applying{background:#e6efff;color:#244b88}.status-pill.approved{background:#e3f2e2;color:#23622d}.status-pill.rejected,.status-pill.failed{background:#f8e5e2;color:#8d2d21}
.security-actions{flex-wrap:wrap;margin-bottom:0}
.staff-admin-form{display:grid;gap:.35rem}
.staff-admin-form h3{margin-bottom:.2rem}
.staff-admin-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.staff-admin-row>div{display:flex;flex-direction:column;gap:.2rem}
.staff-admin-row span[dir="ltr"]{text-align:right}
.emergency-lock-panel{border-color:#d7a59a;background:#fffaf7;display:grid;gap:.6rem}
.emergency-lock-panel p{margin:.3rem 0}
.danger-lock{background:#8e261b}
.security-events-head{align-items:center;margin-top:1.2rem}
.security-event{padding:.8rem}
.severity{font-size:.78rem;border-radius:99px;padding:.1rem .55rem;background:#eee;color:#444;white-space:nowrap}
.severity.critical{background:#f5d8d4;color:#872016}.severity.high{background:#fae8cb;color:#764600}.severity.medium{background:#e5ecdc;color:#3b5b31}.severity.info{background:#e7edf6;color:#385578}
@media(max-width:720px){.security-request-head,.staff-admin-row{flex-direction:column;align-items:stretch}.security-request-head .status-pill{align-self:flex-start}.security-actions{align-items:stretch}.security-actions>*{flex:1}.security-events-head{align-items:flex-start}}

/* Accounting workspace — restrained botanical palette, dense but readable finance UI */
.footer-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:right}
.accounting-footer-link{display:inline-flex;align-items:center;gap:.45rem;white-space:nowrap;background:#edf0e7;border:1px solid #d6decb;border-radius:999px;padding:.35rem .9rem;color:#344b32;font-weight:700;transition:background .15s,transform .15s}
.accounting-footer-link:hover,.accounting-footer-link.active{background:#dce6d4;transform:translateY(-1px)}
.accounting-page{--acct-ink:#26372a;--acct-green:#476449;--acct-green-dark:#2e4732;--acct-soft:#eef2e9;--acct-sand:#f7f2e8;--acct-line:#dce3d6;--acct-muted:#768273;color:var(--acct-ink);padding-top:1.4rem;padding-bottom:2.6rem}
.accounting-page button,.accounting-page input,.accounting-page select{font-family:inherit}
.accounting-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1.3rem;padding:1.5rem 1.6rem;margin-bottom:1rem;border-radius:20px;background:linear-gradient(125deg,#e7ecde 0%,#f5f2e8 62%,#f8eee2 100%);border:1px solid #dce2d3}
.accounting-hero h1{font-size:clamp(1.55rem,3.1vw,2.25rem);color:#253d2b;margin:.15rem 0 .45rem}
.accounting-hero p{margin:0;color:#667361;font-size:.94rem}
.accounting-kicker{display:inline-block;font-size:.7rem;letter-spacing:.18em;direction:ltr;color:#8d714d;font-weight:700}
.accounting-hero .chip{white-space:nowrap;background:rgba(255,255,255,.65);border-color:#d7ddcd;color:#37513b}
.accounting-policy{display:flex;align-items:center;gap:.9rem;padding:.95rem 1.1rem;margin:1rem 0 1.2rem;background:#f0f3ec;border:1px solid #f0d6d1;border-radius:15px}
.accounting-policy-icon{flex:none;display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;background:#dbe8d4;color:#2f5c35;font-size:1.2rem;font-weight:700}
.accounting-policy>div:nth-child(2){flex:1;min-width:0}
.accounting-policy b{font-size:.95rem}.accounting-policy p{font-size:.84rem;color:#647261;margin:.15rem 0 0}
.accounting-policy-status{font-size:.76rem;color:#416043;border-right:1px solid #ebc9c2;padding-right:1rem;white-space:nowrap}
.accounting-toolbar{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.3rem;padding-bottom:1rem;border-bottom:1px solid var(--acct-line)}
.accounting-tabs{display:flex;gap:.35rem;flex-wrap:wrap}
.accounting-tab{appearance:none;font:inherit;font-size:.87rem;color:#647160;background:transparent;border:1px solid transparent;border-radius:10px;padding:.5rem .85rem;cursor:pointer}
.accounting-tab:hover{background:#edf1e8}.accounting-tab.active{background:var(--acct-green-dark);border-color:var(--acct-green-dark);color:#fff;box-shadow:0 3px 10px #263e2b1a}
.accounting-date-filter{display:flex;align-items:flex-end;gap:.65rem;flex-wrap:wrap}
.accounting-date-filter label{display:flex;align-items:center;gap:.45rem;margin:0;color:#697665;font-size:.82rem}
.accounting-date-filter input{width:150px;margin:0;padding:.45rem .55rem;font-size:.86rem}
.accounting-date-filter .chip{margin-bottom:0;padding:.35rem .8rem}
.accounting-notice,.accounting-error{display:flex;align-items:center;gap:.6rem;padding:.8rem 1rem;border-radius:12px;margin:1rem 0;border:1px solid #f0d6d1;background:#f0f5ec;color:#36593a}
.accounting-notice>span{font-size:1.15rem;font-weight:700}.accounting-notice button{margin-right:auto;border:0;background:transparent;color:inherit;font-size:1.25rem;cursor:pointer}
.accounting-notice.pending{background:#fbf4e4;border-color:#ebdfc0;color:#7b6030}.accounting-notice.error,.accounting-error{background:#fff0ed;border-color:#eed0c9;color:#8d392d}
.accounting-error{flex-wrap:wrap}.accounting-error span{flex:1;min-width:180px}.accounting-error .chip{margin-right:auto}
.accounting-section-title{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin:1.5rem 0 .75rem}
.accounting-section-title h2{font-size:1.18rem;margin:0}.accounting-section-title p,.accounting-panel-heading p{font-size:.83rem;color:var(--acct-muted);margin:.15rem 0 0}
.accounting-section-title .chip{flex:none}
.accounting-metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.accounting-metric{display:flex;flex-direction:column;gap:.38rem;min-width:0;padding:1rem 1.05rem;background:#fff;border:1px solid var(--acct-line);border-radius:15px;box-shadow:0 5px 18px #253d2b06}
.accounting-metric>span{font-size:.8rem;color:#768173}.accounting-metric strong{font-size:clamp(1rem,1.65vw,1.3rem);font-variant-numeric:tabular-nums;line-height:1.55;overflow-wrap:anywhere;color:#293c2d}
.accounting-metric small{font-size:.73rem;color:#899184;line-height:1.6}.accounting-metric.positive strong{color:#2f7146}.accounting-metric.negative strong{color:#a74a3c}
.accounting-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}
.accounting-panel{min-width:0;padding:1.15rem;background:#fff;border:1px solid var(--acct-line);border-radius:16px;box-shadow:0 5px 20px #253d2b07;margin:.6rem 0}
.accounting-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem;margin-bottom:1rem}
.accounting-panel-heading h3{font-size:1.02rem;margin:0}.accounting-icon{width:2.15rem;height:2.15rem;display:grid;place-items:center;flex:none;border-radius:10px;background:var(--acct-soft);color:var(--acct-green);font-size:1.1rem}
.accounting-bar-block{margin:1.2rem 0}.accounting-bar-block>div:first-child{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.5rem;font-size:.88rem}.accounting-bar-block b{font-size:.83rem;font-variant-numeric:tabular-nums}
.accounting-bar-track{height:9px;background:#f7e9e6;border-radius:99px;overflow:hidden}.accounting-bar-track>span{display:block;height:100%;border-radius:inherit;transition:width .3s}.income-bar{background:#648766}.expense-bar{background:#c28b66}
.accounting-net-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0 0;margin-top:.8rem;border-top:1px solid #f7e9e6;font-size:.9rem}
.accounting-net-row strong{font-size:1rem;font-variant-numeric:tabular-nums}.positive-text{color:#367149!important}.negative-text{color:#aa4c3c!important}
.accounting-control-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.66rem 0;border-bottom:1px solid #f7e9e6;font-size:.85rem}.accounting-control-row:last-of-type{border-bottom:0}.accounting-control-row strong{font-variant-numeric:tabular-nums;color:#39563b}
.accounting-muted-note{font-size:.78rem;line-height:1.85;color:#9a6b65;margin:.8rem 0 0}
.accounting-table-wrap{width:100%;overflow:auto;border:1px solid #e3e7df;border-radius:12px;background:#fff;margin:.6rem 0 1rem}
.accounting-table{width:100%;border-collapse:separate;border-spacing:0;min-width:720px;font-size:.82rem;white-space:nowrap}
.accounting-table th,.accounting-table td{padding:.7rem .8rem;text-align:right;border-bottom:1px solid #f7e9e6;vertical-align:middle}
.accounting-table th{background:#f4f6f0;color:#546451;font-size:.77rem;font-weight:700;position:sticky;top:0}
.accounting-table tbody tr:hover{background:#fafbf8}.accounting-table tbody tr:last-child td{border-bottom:0}.accounting-table tfoot th{position:static;background:#edf2e8;color:#2f4d32}
.accounting-tag{display:inline-block;margin-right:.35rem;padding:.04rem .38rem;background:#f1f0e7;color:#746445;border-radius:5px;font-size:.68rem}
.accounting-entry-form{padding:1.2rem}.accounting-form-heading{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem}.accounting-form-heading>span{width:2.3rem;height:2.3rem;display:grid;place-items:center;border-radius:10px;background:#e4ecdc;color:#426444;font-size:1.4rem}.accounting-form-heading h3{margin:0;font-size:1.05rem}.accounting-form-heading p{margin:.1rem 0 0;color:var(--acct-muted);font-size:.8rem}
.accounting-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .9rem}.accounting-form-grid label{font-size:.84rem;color:#52614f;margin:0 0 .45rem;min-width:0}.accounting-form-grid input,.accounting-form-grid select{font-size:.88rem;background:#fdfdfb;margin:.35rem 0 .55rem}.accounting-form-grid .span-all{grid-column:1/-1}
.accounting-lines-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.65rem 0}.accounting-lines-title>div{display:grid;gap:.1rem}.accounting-lines-title small{font-size:.74rem;color:var(--acct-muted)}
.accounting-lines-table{overflow:auto;border:1px solid var(--acct-line);border-radius:12px}.accounting-line-head,.accounting-line-row{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(155px,1fr) minmax(115px,.7fr) minmax(115px,.7fr) minmax(150px,1fr) 30px;gap:.45rem;align-items:center;min-width:970px;padding:.45rem .65rem}.accounting-line-head{background:#f1f4ed;color:#62715d;font-size:.75rem;font-weight:700}.accounting-line-row{border-top:1px solid #f7e9e6}.accounting-line-row select,.accounting-line-row input{margin:0;font-size:.81rem;padding:.48rem .55rem;min-width:0}.accounting-line-row select{background:#fff}.accounting-remove-line{border:1px solid #ead2cc;color:#9b4b3e;background:#fff6f3;border-radius:8px;font-size:1.1rem;line-height:1.5;cursor:pointer}.accounting-remove-line:disabled{opacity:.25;cursor:not-allowed}
.accounting-entry-totals{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:.8rem 0}.accounting-entry-totals>div{display:flex;gap:.5rem;align-items:center;font-size:.85rem}.accounting-entry-totals b{font-variant-numeric:tabular-nums;color:#304c34}.accounting-entry-totals small{color:#9a6b65;font-size:.75rem}.accounting-submit{font-size:.9rem}
.accounting-account-add h3{font-size:1rem}.accounting-account-add>p{font-size:.82rem}.accounting-account-add form{margin-top:.7rem}
.accounting-report-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:.8rem 0}
.accounting-subheading{font-size:.9rem;margin:1.1rem 0 .35rem;color:#4d674b}.accounting-report-line{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px dashed #e8ece3;font-size:.82rem}.accounting-report-line span{min-width:0}.accounting-report-line b{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.82rem}.accounting-report-total{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#f5f7f1;padding:.65rem .7rem;margin-top:.4rem;border-radius:8px;font-size:.85rem}.accounting-report-total b{font-variant-numeric:tabular-nums}
.accounting-trial-table{min-width:850px}.accounting-balance-sheet{margin-top:1.2rem}.accounting-balance-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.accounting-balance-group{min-width:0;padding:.75rem;background:#fbfcf9;border:1px solid #e8ede3;border-radius:12px}.accounting-balance-group h4{margin:0 0 .4rem;color:#496549;font-size:.91rem}.accounting-balance-group .accounting-report-line{font-size:.76rem;overflow-wrap:anywhere}.accounting-balance-group .accounting-report-line b{font-size:.75rem}.accounting-balance-group .accounting-report-total{font-size:.78rem;padding:.5rem}
.accounting-balance-check{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-radius:9px;padding:.7rem .85rem;margin-top:.85rem;font-size:.86rem}.accounting-balance-check.balanced{background:#edf6eb;color:#3b6f43}.accounting-balance-check.unbalanced{background:#fff0ed;color:#9d3b30}.accounting-balance-check b{font-variant-numeric:tabular-nums}
.accounting-audit-notice{background:#f5f5ed;border:1px solid #e2e5d9;border-radius:11px;padding:.8rem 1rem;color:#67725f;font-size:.82rem;margin:.8rem 0 1rem}
.accounting-audit-list{display:grid;gap:.6rem}.accounting-audit-item{display:flex;align-items:flex-start;gap:.8rem;background:#fff;border:1px solid var(--acct-line);border-radius:13px;padding:.85rem 1rem}.accounting-audit-mark{width:2rem;height:2rem;display:grid;place-items:center;flex:none;border-radius:50%;background:#eef2e8;color:#4d6b4e}.accounting-audit-main{flex:1;min-width:0}.accounting-audit-title{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.88rem}.accounting-audit-title span{font-size:.72rem;color:#879181}.accounting-audit-main p{font-size:.79rem;color:#6e796a;margin:.2rem 0}.accounting-audit-main small{font-size:.73rem;color:#8a9285}.accounting-audit-main details{margin-top:.4rem;font-size:.8rem}.accounting-audit-main summary{cursor:pointer;color:#4a684b}.accounting-audit-main pre{max-width:100%;overflow:auto;white-space:pre-wrap;word-break:break-word;direction:ltr;text-align:left;background:#f5f6f1;border:1px solid #e0e5da;border-radius:8px;padding:.65rem;font-size:.75rem}
.accounting-entry-detail{margin-top:1.2rem;border-color:#c9d6c2;box-shadow:0 8px 25px #253d2b0b}.accounting-empty{text-align:center;padding:1.3rem;color:#899284;font-size:.84rem}.accounting-page .chip{font-size:.82rem}.accounting-page button:disabled{cursor:not-allowed;opacity:.55}
@media(max-width:850px){.accounting-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.accounting-balance-columns{grid-template-columns:1fr}.accounting-balance-group .accounting-report-line{font-size:.82rem}.accounting-balance-group .accounting-report-line b{font-size:.82rem}}
@media(max-width:680px){.footer-in{flex-direction:column;align-items:center;text-align:center}.accounting-hero{flex-direction:column;padding:1.15rem;border-radius:15px}.accounting-policy{align-items:flex-start;flex-wrap:wrap}.accounting-policy-status{border:0;border-top:1px solid #ebc9c2;padding:.5rem 0 0;width:100%;white-space:normal}.accounting-date-filter{align-items:stretch}.accounting-date-filter label{flex:1;min-width:135px;display:block}.accounting-date-filter input{width:100%;display:block;margin-top:.25rem}.accounting-metrics-grid,.accounting-overview-grid,.accounting-report-summary,.accounting-form-grid{grid-template-columns:1fr}.accounting-section-title{align-items:flex-start;flex-direction:column}.accounting-section-title .chip{align-self:flex-start}.accounting-panel{padding:.85rem}.accounting-report-summary .accounting-metric{padding:.8rem}.accounting-lines-title{align-items:flex-start;flex-direction:column}.accounting-entry-totals{align-items:flex-start;flex-direction:column;gap:.4rem}.accounting-policy p{font-size:.79rem}.accounting-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.accounting-tab{text-align:center;padding:.5rem .25rem;font-size:.78rem}.accounting-audit-item{padding:.7rem;gap:.55rem}.accounting-audit-title{align-items:flex-start}.accounting-audit-main p{overflow-wrap:anywhere}}
.accounting-detail-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.accounting-reverse-button{border-color:#c59a83;color:#8b4d33}

/* Accounting enhancements */
.accounting-action-buttons{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.accounting-page .accounting-date-filter label small,.accounting-form-grid label small{display:block;color:var(--muted);font-size:.76rem;margin-top:.25rem}
.accounting-monthly-panel{margin:1rem 0 1.5rem}
.accounting-monthly-chart{display:flex;align-items:stretch;gap:.8rem;overflow-x:auto;min-height:210px;padding:1rem .5rem .25rem}
.accounting-monthly-chart.expanded{min-height:270px}
.accounting-month-column{min-width:76px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.45rem;text-align:center;font-size:.78rem}
.accounting-month-bars{width:100%;height:145px;display:flex;align-items:flex-end;justify-content:center;gap:5px;border-bottom:1px solid var(--border,#ddd);padding:0 10px}
.accounting-month-column b{font-size:.78rem;white-space:nowrap}
.accounting-month-column small{font-size:.7rem;white-space:nowrap}
.accounting-month-revenue,.accounting-month-expense{display:block;min-height:2px;width:18px;border-radius:5px 5px 0 0}
.accounting-month-revenue{background:#367f65}.accounting-month-expense{background:#cd8b4b}
.accounting-chart-legend{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:.8rem;margin-top:.6rem}
.accounting-chart-legend span{display:inline-flex;gap:.35rem;align-items:center}.accounting-chart-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}
.accounting-counterparty-form{margin-bottom:1rem}
.accounting-counterparty-form textarea{min-height:70px}
.accounting-page .accounting-table td small{display:block;color:var(--muted);font-size:.75rem;max-width:240px;overflow-wrap:anywhere}
@media print{
  header,.header,.footer,.accounting-hero>.chip,.accounting-tabs,.accounting-date-filter,.accounting-print-button,.accounting-page .accounting-action-buttons,.accounting-detail-actions,.accounting-policy-status{display:none!important}
  body{background:#fff!important;color:#111!important}.accounting-page{width:100%;max-width:none;margin:0;padding:0}.accounting-page .accounting-panel,.accounting-page .accounting-metric{break-inside:avoid;box-shadow:none;border:1px solid #ccc}.accounting-page .accounting-table-wrap{overflow:visible}.accounting-page .accounting-table{font-size:10pt}.accounting-page .accounting-table th,.accounting-page .accounting-table td{padding:5px;white-space:normal}.accounting-page .accounting-monthly-chart{overflow:visible;min-height:180px}.accounting-page .accounting-overview-grid,.accounting-page .accounting-metrics-grid{break-inside:avoid}
}


/* ChooKal red brand palette and responsive home hero */
:root {
  --bg: #fbf6f4;
  --ink: #321817;
  --muted: #806967;
  --accent: #b8321f;
  --gold: #c85a48;
  --line: #ead7d3;
  --card: #fffdfc;
  --olive-soft: #f7e6e3;
  --clay: #b8321f;
  --shadow-soft: 0 12px 32px rgba(125, 31, 22, .08);
}
::selection { background: #f1cfca; color: #521a14; }
button, input, textarea, select { accent-color: var(--accent); }
input:focus, textarea:focus, select:focus { outline: 3px solid rgba(184,50,31,.14); border-color: #d88c80; }
button:focus-visible, a:focus-visible { outline-color: #d88c80; }
.hero {
  min-height: clamp(288px, 34vw, 392px);
  background:
    radial-gradient(ellipse at 82% 15%, rgba(200, 90, 72, .20), transparent 32%),
    radial-gradient(ellipse at 15% 95%, rgba(184, 50, 31, .12), transparent 35%),
    linear-gradient(115deg, #f4dfdb, #fbf3ef 50%, #f0e2dc);
}
.hero::before { background: linear-gradient(270deg, rgba(65, 18, 13, .16), rgba(65, 18, 13, .02)); }
.hero-orbit {
  width: clamp(160px, 21vw, 285px);
  background: radial-gradient(circle at 35% 30%, rgba(255,255,255,.86), rgba(247,220,215,.58) 48%, rgba(184,50,31,.12));
  box-shadow: inset 0 0 0 1px rgba(184,50,31,.14), 0 25px 65px rgba(125,31,22,.12);
}
.orbit-ring-a { border-color: rgba(184,50,31,.28); }
.orbit-ring-b { border-color: rgba(200,90,72,.34); }
.orbit-seed {
  background: #b91c1c;
  box-shadow: 12px 14px 28px rgba(125,31,22,.22);
}
.cat-icon { background: #f7e6e3; }
.story-visual { background: linear-gradient(135deg, #f6e1dc, #fbf5ef); }
.story-disc-one { background: #c85a48; }
.story-disc-two { background: #e7b0a5; }
@media (max-width: 720px) {
  .hero { min-height: 300px; }
  .hero-in { z-index: 2; padding-block: 1.5rem; }
  .hero-orbit {
    width: clamp(150px, 48vw, 190px);
    left: 50%;
    right: auto;
    top: auto;
    bottom: 12px;
    transform: translateX(-50%);
    opacity: .34;
  }
  .hero::after { inset: 8px; border-radius: 18px; }
}

/* Responsive story section and moderation UI */
.story-section { width: min(100%, 1120px); grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(1rem, 3vw, 3rem); }
.story-visual { min-width: 0; min-height: clamp(220px, 28vw, 340px); }
.story-copy { min-width: 0; overflow-wrap: anywhere; }
.story-copy h2 { font-size: clamp(1.45rem, 2.6vw, 2.15rem); }
.moderation-section { margin-top: 1.2rem; }
.moderation-group { margin: 1.2rem 0 1.8rem; }
.moderation-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .8rem; align-items: start; margin-block: .7rem; padding: 1rem; }
.moderation-card p { overflow-wrap: anywhere; white-space: pre-wrap; }
.moderation-actions { display: flex; flex-wrap: wrap; gap: .45rem; align-items: start; }
.moderation-meta { display: flex; flex-wrap: wrap; gap: .5rem 1rem; color: var(--muted); font-size: .86rem; }
.moderation-tag { display: inline-flex; align-items: center; border-radius: 99px; background: #f1eee3; padding: .18rem .6rem; font-size: .8rem; }
.report-button { margin-inline-start: .35rem; }
.warning-backdrop { z-index: 1001; }
.warning-modal { width: min(480px, 100%); text-align: right; border: 1px solid #e6bdb5; }
.warning-modal h2 { color: #9a382b; }
.warning-count { display: inline-block; background: #f8e8e4; border-radius: 10px; padding: .45rem .8rem; margin: .5rem 0; font-weight: 700; }
@media (max-width: 820px) { .story-section { grid-template-columns: minmax(0, 1fr); gap: 1rem; } .story-visual { min-height: 230px; } }
@media (max-width: 620px) { .moderation-card { grid-template-columns: minmax(0, 1fr); } .moderation-actions { justify-content: flex-start; } }

/* Exact supplied farm-to-table artwork in the home page story section. */
.story-visual { padding: 0; background: #f8f6f2; border: 0; }
.story-image { display: block; width: 100%; height: 100%; min-height: inherit; object-fit: contain; border-radius: inherit; }

/* ChooKal responsive refinements */
.narrow { max-width: 400px; }
.narrow form { padding: 1rem; }
@media (max-width: 480px) { .narrow { max-width: 100%; } .narrow form { padding: .85rem; } }

.shop-search{display:flex;gap:8px;margin:12px 0}.shop-search{display:flex;gap:8px;margin:12px 0}
.shop-search input{flex:1}
.loyalty-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.coupon-box{margin-top:16px}
.choice-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}
.article-page{max-width:820px}
.article-content{line-height:2;font-size:1.05rem}
.article-content img{max-width:100%;height:auto;border-radius:12px}
.article-card{display:flex;flex-direction:column;gap:8px}

/* ===== Sticky footer: the footer always sits at the bottom of the viewport on short pages ===== */
html, body { min-height: 100%; }
#root { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
#root > main { flex: 1 0 auto; width: 100%; }
#root > .header, #root > .footer { flex: none; }
.footer { margin-top: 2rem; }
.footer-in { flex-wrap: wrap; row-gap: .9rem; }
.footer-text { flex: 1 1 260px; white-space: pre-line; line-height: 1.9; overflow-wrap: anywhere; }
.footer-badges { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; justify-content: center; }
.trust-badge { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: .4rem .6rem; min-height: 64px; color: var(--ink); font-size: .8rem; }
.trust-badge img { display: block; max-height: 72px; width: auto; max-width: 120px; object-fit: contain; }
@media (max-width: 680px) { .footer-text { flex-basis: 100%; text-align: center; } }

/* ===== Notification bell ===== */
.bell-link { color: #5f6257; }
.bell-link:hover, .bell-link.active { color: var(--accent); }
.bell-icon { width: 24px; height: 24px; display: block; }
.bell-wrap { position: relative; display: inline-flex; align-items: center; justify-content: center; min-width: 28px; }
.bell-badge { position: absolute; top: -8px; right: -9px; background: var(--accent); color: #fff; border-radius: 99px; min-width: 18px; height: 18px; padding: 0 4px; font-size: .65rem; font-weight: 700; line-height: 1; display: grid; place-items: center; }

/* ===== Shop search: input and button share the same height and baseline ===== */
.shop-search { display: flex; align-items: stretch; gap: 8px; margin: 12px 0 14px; }
.shop-search input { flex: 1 1 auto; min-width: 0; margin: 0; height: 46px; padding: 0 .9rem; }
.shop-search .btn { flex: none; height: 46px; padding: 0 1.5rem; white-space: nowrap; display: inline-flex; align-items: center; justify-content: center; }
@media (max-width: 420px) { .shop-search .btn { padding: 0 1rem; } }

/* ===== Stock and discount schedule ===== */
.stock-line { margin: .35rem 0 0; font-size: .82rem; color: #55684a; }
.stock-line b { font-weight: 700; }
.stock-line.low { color: #b26a00; }
.stock-line.out { color: var(--muted); }
.discount-until { margin: .2rem 0 .6rem; font-size: .85rem; color: var(--accent); }
.discount-schedule { border: 1px dashed var(--gold); border-radius: 12px; padding: .8rem 1rem; margin: 0 0 1rem; }
.discount-schedule legend { padding: 0 .4rem; font-weight: 700; }
.schedule-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.schedule-grid input[type=datetime-local] { direction: ltr; text-align: left; }
.schedule-state { margin: .5rem 0 0; }
@media (max-width: 560px) { .schedule-grid { grid-template-columns: 1fr; } }

/* ===== Footer settings (admin) ===== */
.badge-editor textarea { min-height: 80px; font-size: .85rem; }
.badge-preview { display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; margin: .5rem 0 1rem; }
.badge-preview img { max-height: 72px; max-width: 140px; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: .3rem; }
.product-editor .discount-schedule, .product-editor .section-title, .product-editor .discount-input { grid-column: 1 / -1; }
