/* ==========================================================================
   Delovia — Persian RTL storefront theme for Bagisto
   Design system ported from the "Sherzad Shop" WordPress theme.
   ========================================================================== */

@font-face{font-family:'Vazirmatn';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/Vazirmatn-Regular.woff2') format('woff2')}
@font-face{font-family:'Vazirmatn';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/Vazirmatn-Medium.woff2') format('woff2')}
@font-face{font-family:'Vazirmatn';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/Vazirmatn-Bold.woff2') format('woff2')}
@font-face{font-family:'Vazirmatn';font-style:normal;font-weight:900;font-display:swap;src:url('fonts/Vazirmatn-Bold.woff2') format('woff2')}

:root{
  /* پالت برند دلوویا — بادمجانی تیره + رزگلد */
  --dv-primary:#4a1240;
  --dv-primary-dark:#2b0a25;
  --dv-accent:#c98a82;
  --dv-rose:#e2a79e;
  --dv-rose-soft:#f6e4e0;
  --dv-rose-line:#ecd3ce;
  --dv-bg:#faf6f7;
  --dv-card:#ffffff;
  --dv-text:#2a1f27;
  --dv-muted:#8a7a84;
  --dv-line:#ece3e7;
  --dv-radius:14px;
  --dv-shadow:0 4px 18px rgba(20,40,60,.07);
  --dv-shadow-h:0 10px 30px rgba(20,40,60,.14);
}

/**
 * Bagisto's compiled bundle applies `Poppins` with a `*` selector, so Vazirmatn has
 * to match that reach. Icon fonts are excluded or the glyphs turn into boxes.
 */
*,
*::before,
*::after{
  font-family:"Vazirmatn","Vazir",Tahoma,"IRANSans",sans-serif !important;
}

/* Bagisto's icon glyphs live in their own font and must keep it. */
[class^="icon-"],[class*=" icon-"],
[class^="icon-"]::before,[class*=" icon-"]::before,
[class^="icon-"]::after,[class*=" icon-"]::after{
  font-family:"bagisto-shop" !important;
}

html{scroll-behavior:smooth;overflow-x:clip}
body{
  margin:0;background:var(--dv-bg);color:var(--dv-text);
  font-size:15px;line-height:1.9;overflow-x:clip;max-width:100vw;
}
main#main{background:var(--dv-bg) !important}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
button{cursor:pointer}

.dv-container{max-width:1240px;margin:0 auto;padding:0 16px}

.dv-btn{display:inline-block;background:var(--dv-primary);color:#fff;border:none;border-radius:10px;padding:10px 20px;font-weight:700;font-size:14px;transition:.2s}
.dv-btn:hover{background:var(--dv-primary-dark);color:#fff}
.dv-btn-lg{padding:14px 34px;font-size:16px}
.dv-btn-ghost{background:#fff;color:var(--dv-primary)}
.dv-btn-ghost:hover{background:var(--dv-rose-soft);color:var(--dv-primary)}

/**
 * Bagisto's own button classes keep their navy palette from the compiled bundle,
 * so they are re-pointed at the Delovia brand colours here.
 */
.primary-button,
.secondary-button{
  background:var(--dv-primary) !important;
  color:#fff !important;
  border:none !important;
  border-radius:12px !important;
  font-weight:700 !important;
}
.primary-button:hover,
.secondary-button:hover{background:var(--dv-primary-dark) !important;color:#fff !important}
.primary-button:disabled,
.secondary-button:disabled{background:#cbbfc6 !important;cursor:not-allowed}

/* Inputs and focus rings pick up the brand colour too. */
input:focus,select:focus,textarea:focus{
  border-color:var(--dv-primary) !important;
  box-shadow:0 0 0 3px rgba(74,18,64,.12) !important;
  outline:none !important;
}

/**
 * Product descriptions arrive as real HTML (h2/h3/ul/strong) but Tailwind's preflight
 * flattens them, so the article typography is reapplied inside description blocks.
 */
main p:has(h2),
main p:has(h3),
main p:has(ul){display:block;color:var(--dv-text) !important;font-size:15px !important;line-height:2.1}
main p:has(h2) h2,
main p:has(h3) h2{font-size:20px;font-weight:800;margin:26px 0 12px;color:var(--dv-primary-dark);position:relative;padding-right:14px}
main p:has(h2) h2::before,
main p:has(h3) h2::before{content:"";position:absolute;right:0;top:4px;bottom:4px;width:5px;border-radius:3px;background:var(--dv-primary)}
main p:has(h3) h3,
main p:has(h2) h3{font-size:17px;font-weight:700;margin:20px 0 10px;color:var(--dv-primary-dark)}
main p:has(h2) p,
main p:has(h3) p{margin:0 0 14px}
main p:has(h2) ul,
main p:has(h3) ul{margin:0 0 16px;padding-right:22px}
main p:has(h2) li,
main p:has(h3) li{margin:0 0 9px;list-style:disc}
main p:has(h2) strong,
main p:has(h3) strong{color:var(--dv-primary-dark);font-weight:700}

/* ============================== topbar ============================== */
.dv-topbar{background:var(--dv-primary-dark);color:#f0d5cf;font-size:12.5px}
.dv-topbar-in{display:flex;justify-content:space-between;align-items:center;height:38px;gap:12px}
.dv-topbar-msg{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dv-topbar-phone{font-weight:700;white-space:nowrap;color:inherit}
.dv-topbar-phone:hover{opacity:.85}

/* ============================== header ============================== */
.dv-header{background:var(--dv-primary);position:sticky;top:0;z-index:60;box-shadow:0 2px 10px rgba(0,0,0,.08)}
.dv-header-in{display:grid;grid-template-columns:minmax(0,1fr) 196px minmax(0,1fr);align-items:center;gap:18px;padding:13px 16px;max-width:1240px;margin:0 auto}
.dv-header-side{display:flex;align-items:center;gap:10px;min-width:0}
.dv-header-start{justify-self:start}
.dv-header-end{justify-self:end}
.dv-burger{display:none;background:transparent;border:none;color:#fff;font-size:24px;line-height:1;padding:0}

/* ============================== brand (centred) ============================== */
/* The header's bottom edge bulges into a half-circle in the middle and the
   monogram sits in it, so the brand reads as the centre of the page. The bulge
   hangs over the white nav strip below, which is what makes its curve visible —
   contained inside the bar it would be dark-on-dark and invisible. */
.dv-brand{justify-self:center;width:196px;align-self:stretch;position:relative}
/* A wide, shallow ellipse rather than a true half-circle: the drawn-out curve
   reads as a teardrop echoing the monogram instead of a bolted-on disc. */
.dv-brand-link{position:absolute;top:-13px;left:50%;transform:translateX(-50%);width:196px;height:114px;display:flex;align-items:flex-start;justify-content:center;padding-top:11px;background:var(--dv-primary);border-radius:0 0 50% 50% / 0 0 78% 78%;z-index:3;transition:transform .25s,background .25s}
.dv-brand-link:hover{background:var(--dv-primary-dark);transform:translateX(-50%) translateY(3px)}
.dv-brand-badge{display:block;line-height:0}
.dv-brand-badge img{width:76px;height:76px;object-fit:cover;border-radius:50%;display:block;border:3px solid rgba(255,255,255,.92);background:#fff;transition:.25s}
.dv-brand-link:hover .dv-brand-badge img{transform:scale(1.05)}

.dv-search{flex:1;display:flex;background:#fff;border-radius:12px;overflow:hidden;max-width:360px;min-width:0;box-shadow:0 2px 8px rgba(0,0,0,.06);position:relative}
.dv-search input[type=search]{flex:1;border:none;padding:12px 16px;font-size:14px;outline:none;background:transparent;color:var(--dv-text)}
.dv-search button{background:transparent;border:none;padding:0 16px;color:var(--dv-primary);display:flex;align-items:center}
.dv-search button svg{width:20px;height:20px}

.dv-actions{display:flex;gap:10px;align-items:center}
.dv-account{display:flex;align-items:center;gap:9px;color:#fff;padding:8px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.35);transition:.2s;white-space:nowrap}
.dv-account:hover{background:rgba(255,255,255,.14);color:#fff}
.dv-account svg{width:24px;height:24px;flex:0 0 24px}
.dv-account-txt{display:flex;flex-direction:column;line-height:1.35}
.dv-account-txt b{font-size:13px;font-weight:700}
.dv-account-txt small{font-size:11px;opacity:.85}

.dv-cart{display:flex;align-items:center;gap:9px;background:#fff;color:var(--dv-primary);padding:8px 14px;border-radius:12px;transition:.2s;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.dv-cart:hover{background:var(--dv-rose-soft);color:var(--dv-primary)}
.dv-cart-ico{position:relative;display:flex}
.dv-cart-ico svg{width:26px;height:26px}
.dv-cart-count{position:absolute;top:-8px;left:-10px;background:var(--dv-accent);color:#fff;font-size:11px;font-weight:700;min-width:19px;height:19px;line-height:19px;text-align:center;border-radius:10px;padding:0 5px;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.dv-cart-txt{display:flex;flex-direction:column;line-height:1.35}
.dv-cart-txt b{font-size:13px;font-weight:700}
.dv-cart-txt small{font-size:11px;color:var(--dv-muted)}

/* ============================== mini cart drawer ============================== */
.dv-cart-wrap{display:flex}
.dv-cart{border:none;font:inherit}

.dv-drawer-backdrop{position:fixed;inset:0;background:rgba(20,5,18,.45);opacity:0;visibility:hidden;transition:.25s;z-index:300}
.dv-drawer-backdrop.is-open{opacity:1;visibility:visible}

/* Always anchored to the left edge of the viewport, whatever the text direction. */
.dv-drawer{position:fixed;top:0;bottom:0;left:0;right:auto;width:380px;max-width:92vw;background:var(--dv-card);z-index:310;display:flex;flex-direction:column;box-shadow:0 0 40px rgba(0,0,0,.25);transform:translateX(-100%);transition:transform .28s ease}
.dv-drawer.is-open{transform:translateX(0)}

.dv-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--dv-line);background:var(--dv-primary);color:#fff}
.dv-drawer-head b{font-size:15px}
.dv-drawer-close{background:transparent;border:none;color:#fff;font-size:18px;line-height:1;padding:4px}

.dv-drawer-body{flex:1;overflow-y:auto;padding:14px 18px}
.dv-drawer-empty{color:var(--dv-muted);text-align:center;padding:40px 0;font-size:14px}

.dv-mini-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--dv-line);align-items:flex-start}
.dv-mini-thumb{flex:0 0 64px;width:64px;height:64px;border-radius:10px;overflow:hidden;background:var(--dv-rose-soft);display:block}
.dv-mini-thumb img{width:100%;height:100%;object-fit:contain}
.dv-mini-info{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}
.dv-mini-name{font-size:13px;font-weight:600;line-height:1.7;color:var(--dv-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dv-mini-name:hover{color:var(--dv-primary)}
.dv-mini-qty{font-size:11.5px;color:var(--dv-muted)}
.dv-mini-price{font-size:13.5px;font-weight:800;color:var(--dv-text)}
.dv-mini-remove{background:transparent;border:none;color:var(--dv-muted);font-size:14px;line-height:1;padding:2px 4px;flex:0 0 auto}
.dv-mini-remove:hover{color:#c0392b}

.dv-drawer-foot{border-top:1px solid var(--dv-line);padding:16px 18px;display:flex;flex-direction:column;gap:10px;background:var(--dv-bg)}
.dv-drawer-total{display:flex;justify-content:space-between;align-items:baseline;font-size:14px}
.dv-drawer-total b{font-size:18px;font-weight:800}
.dv-drawer-cta{text-align:center;padding:12px}
.dv-drawer-link{text-align:center;font-size:13px;font-weight:700;color:var(--dv-primary)}

/* ============================== nav / mega menu ============================== */
.dv-nav{background:#fff;border-bottom:1px solid var(--dv-line);position:relative;z-index:1}
.dv-nav-in{max-width:1240px;margin:0 auto;padding:0 16px;display:grid;grid-template-columns:minmax(0,1fr) 212px minmax(0,1fr);align-items:center}
.dv-menu{list-style:none;margin:0;padding:0;display:flex;gap:2px;flex-wrap:nowrap;align-items:center;min-width:0}
.dv-menu:first-child{grid-column:1;justify-self:start}
.dv-menu:last-child{grid-column:3;justify-self:end}
.dv-menu > li{position:relative}
.dv-menu > li > a{display:block;padding:12px 10px;font-size:14px;font-weight:500;color:var(--dv-text);border-bottom:3px solid transparent;transition:.2s;white-space:nowrap}
.dv-menu > li > a:hover{color:var(--dv-primary);border-bottom-color:var(--dv-primary)}
.dv-menu > li.dv-has-children:hover > .dv-mega{opacity:1;visibility:visible;transform:translateY(0)}
.dv-mega{position:absolute;top:100%;right:0;min-width:280px;background:#fff;border:1px solid var(--dv-line);border-radius:0 0 var(--dv-radius) var(--dv-radius);box-shadow:var(--dv-shadow-h);padding:14px 18px;opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s;z-index:70;list-style:none;margin:0}
.dv-mega li{margin:0 0 8px}
.dv-mega a{font-size:13.5px;color:var(--dv-text);display:block;padding:3px 0}
.dv-mega a:hover{color:var(--dv-primary)}

/* ============================== hero ============================== */
.dv-hero{display:grid;grid-template-columns:1fr 320px;gap:16px;margin:20px auto}
.dv-slider{position:relative;border-radius:var(--dv-radius);overflow:hidden;min-height:320px}
.dv-slides{position:relative;height:100%;min-height:320px}
/* Side padding clears the prev/next arrows so the Persian copy never sits under them. */
.dv-slide{position:absolute;inset:0;display:flex;align-items:center;padding:48px 74px;color:#fff;opacity:0;transition:opacity .5s;pointer-events:none;background:linear-gradient(120deg,var(--dv-primary),var(--dv-primary-dark))}
.dv-slide.is-active{opacity:1;pointer-events:auto}
.dv-slide::after{content:"";position:absolute;left:-60px;bottom:-60px;width:260px;height:260px;background:rgba(255,255,255,.08);border-radius:50%}
.dv-slide-in{position:relative;z-index:2;max-width:560px}
.dv-slide-in h2{font-size:34px;margin:0 0 12px;font-weight:900;line-height:1.5}
.dv-slide-in p{font-size:17px;margin:0 0 22px;opacity:.95;line-height:1.9}
.dv-slider-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:44px;height:44px;border-radius:50%;border:none;background:rgba(255,255,255,.9);color:var(--dv-primary);font-size:26px;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.18);transition:.2s}
.dv-slider-arrow:hover{background:#fff}
.dv-slider-prev{right:14px}
.dv-slider-next{left:14px}
.dv-slider-dots{position:absolute;bottom:16px;left:0;right:0;display:flex;gap:7px;justify-content:center;z-index:6}
.dv-dot{width:12px;height:12px;border-radius:20px;border:none;background:rgba(255,255,255,.45);transition:.2s;padding:0}
.dv-dot.is-active{background:#fff;width:30px}

.dv-hero-side{display:grid;grid-template-rows:1fr 1fr;gap:16px}
.dv-hero-card{border-radius:var(--dv-radius);padding:22px;display:flex;flex-direction:column;justify-content:center;color:#fff}
.dv-hero-card b{font-size:19px}
.dv-hero-card span{opacity:.9;font-size:13px}
.dv-hero-card-a{background:linear-gradient(120deg,var(--dv-rose),#c07f76)}
.dv-hero-card-b{background:linear-gradient(120deg,#6d2160,var(--dv-primary-dark))}

/* ============================== sections ============================== */
.dv-section{margin:34px auto}
.dv-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:12px}
.dv-section-title{font-size:20px;font-weight:800;margin:0}
.dv-section-more{color:var(--dv-primary);font-weight:700;font-size:13px;white-space:nowrap}

/* ============================== category circles ============================== */
.dv-cats-grid{display:flex;gap:10px;overflow-x:auto;padding:6px 2px 12px;scroll-snap-type:x mandatory;scrollbar-width:thin}
.dv-cats-grid::-webkit-scrollbar{height:8px}
.dv-cats-grid::-webkit-scrollbar-thumb{background:#d5dde2;border-radius:8px}
.dv-cat{flex:0 0 118px;scroll-snap-align:start;background:var(--dv-card);border-radius:var(--dv-radius);padding:16px 8px;text-align:center;box-shadow:var(--dv-shadow);transition:.2s}
.dv-cat:hover{transform:translateY(-4px);box-shadow:var(--dv-shadow-h)}
.dv-cat-circle{width:66px;height:66px;margin:0 auto 8px;border-radius:50%;background:var(--dv-rose-soft);display:flex;align-items:center;justify-content:center;overflow:hidden;border:2px solid var(--dv-rose-line);font-size:28px}
.dv-cat-circle img{width:100%;height:100%;object-fit:cover}
.dv-cat-name{display:block;font-size:12.5px;font-weight:700;line-height:1.6}
.dv-cat-count{display:block;font-size:11px;color:var(--dv-muted)}

/* ============================== carousel ============================== */
.dv-carousel-wrap{position:relative}
.dv-carousel{display:flex;gap:14px;overflow-x:auto;padding:6px 2px 14px;scroll-snap-type:x mandatory;scrollbar-width:thin}
.dv-carousel::-webkit-scrollbar{height:8px}
.dv-carousel::-webkit-scrollbar-thumb{background:#d5dde2;border-radius:8px}
.dv-carousel .dv-card{flex:0 0 260px;scroll-snap-align:start}
.dv-car-arrow{position:absolute;top:calc(50% - 10px);transform:translateY(-50%);z-index:6;width:44px;height:44px;border-radius:50%;border:1px solid var(--dv-line);background:#fff;color:var(--dv-primary);font-size:26px;line-height:1;box-shadow:0 6px 18px rgba(0,0,0,.14);display:flex;align-items:center;justify-content:center;transition:.2s}
.dv-car-arrow:hover{background:var(--dv-primary);color:#fff;border-color:var(--dv-primary)}
.dv-car-prev{right:-8px}
.dv-car-next{left:-8px}

/* ============================== product card ============================== */
.dv-card{background:var(--dv-card);border-radius:var(--dv-radius);box-shadow:var(--dv-shadow);overflow:hidden;display:flex;flex-direction:column;transition:.2s;border:1px solid #eef1f3;position:relative}
.dv-card:hover{transform:translateY(-4px);box-shadow:var(--dv-shadow-h)}
.dv-card-media{position:relative;padding:14px;background:#fff;display:block;aspect-ratio:1/1}
.dv-card-media img{width:100%;height:100%;object-fit:contain}
.dv-card-badge{position:absolute;top:12px;right:12px;background:var(--dv-accent);color:#fff;font-weight:800;font-size:13px;padding:3px 9px;border-radius:20px;z-index:2}
.dv-card-body{padding:0 18px 18px;display:flex;flex-direction:column;gap:12px;flex:1}
.dv-card-title{font-size:14px;font-weight:600;line-height:1.8;height:3.6em;overflow:hidden;color:var(--dv-text)}
.dv-card:hover .dv-card-title{color:var(--dv-primary)}
.dv-card-foot{margin-top:auto;display:flex;flex-direction:column;align-items:stretch;gap:12px}
.dv-card-price{font-weight:800;font-size:17px;color:var(--dv-text);text-align:left;min-height:1.6em;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;justify-content:flex-end;direction:rtl}
.dv-card-price del{color:var(--dv-muted);font-size:13px;font-weight:400}
.dv-card-price ins{text-decoration:none;color:var(--dv-text)}
.dv-card-btn{display:block;width:100%;text-align:center;background:var(--dv-primary);color:#fff;border:none;border-radius:10px;padding:11px 12px;font-size:13.5px;font-weight:700;white-space:nowrap;transition:.2s}
.dv-card-btn:hover{background:var(--dv-primary-dark);color:#fff}
.dv-card-btn[disabled]{background:#cbbfc6;cursor:not-allowed}

/* product grid (category / search pages) */
.dv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}

/* Tighten the gap on Bagisto's three-across listing grid. */
.grid:has(> .dv-card){gap:16px}

/* ============================== promos ============================== */
.dv-promos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:34px auto}
.dv-promo{border-radius:var(--dv-radius);min-height:130px;padding:24px;color:#fff;display:flex;flex-direction:column;justify-content:center}
.dv-promo span{font-size:13px;opacity:.9}
.dv-promo b{font-size:20px}
.dv-promo-1{background:linear-gradient(120deg,#5c1750,var(--dv-primary-dark))}
.dv-promo-2{background:linear-gradient(120deg,var(--dv-rose),#c07f76)}
.dv-promo-3{background:linear-gradient(120deg,#8a2f78,var(--dv-accent))}

/* ============================== reviews ============================== */
.dv-reviews-badge{background:var(--dv-rose-soft);color:var(--dv-primary-dark);font-weight:700;font-size:12.5px;padding:6px 12px;border-radius:20px}
.dv-review{flex:0 0 320px;scroll-snap-align:start;background:var(--dv-card);border:1px solid var(--dv-line);border-radius:var(--dv-radius);box-shadow:var(--dv-shadow);padding:18px 20px;display:flex;flex-direction:column;gap:10px}
.dv-review-top{display:flex;align-items:center;gap:10px}
.dv-review-ava{flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--dv-primary),var(--dv-primary-dark));color:#fff;font-weight:800;font-size:18px;display:flex;align-items:center;justify-content:center}
.dv-review-id{display:flex;flex-direction:column;line-height:1.4;flex:1}
.dv-review-id b{font-size:14px}
.dv-review-id small{color:var(--dv-muted);font-size:12px}
.dv-review-verified{font-size:10.5px;font-weight:700;color:#1a9f6e;background:#e9f9f1;padding:3px 7px;border-radius:8px;white-space:nowrap}
.dv-review-stars{color:#f6a609;font-size:16px;letter-spacing:1px;direction:ltr;text-align:right}
.dv-review-stars .off{color:#dfe3e6}
.dv-review-text{color:var(--dv-text);font-size:13.5px;line-height:2;margin:0}

/* ============================== features ============================== */
.dv-features{background:#fff;border-top:1px solid var(--dv-line);margin-top:40px}
.dv-features-in{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:26px 16px;max-width:1240px;margin:0 auto}
.dv-feature{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}
.dv-feature-ico{font-size:30px}
.dv-feature b{font-size:14px}
.dv-feature small{color:var(--dv-muted)}

/* ============================== footer ============================== */
.dv-footer{background:var(--dv-primary-dark);color:#d9c3d0}
.dv-footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:28px;padding:40px 16px;max-width:1240px;margin:0 auto}
.dv-footer .dv-logo-mark{color:#fff}
.dv-footer-about p{font-size:13px;line-height:2.2;color:#b49dab;text-align:justify;margin:14px 0 0}
.dv-footer-phone{font-weight:700;color:#fff}
.dv-footer-col h4{color:#fff;font-size:15px;margin:0 0 14px}
.dv-footer-list{list-style:none;margin:0;padding:0}
.dv-footer-list li{margin-bottom:9px}
.dv-footer-list a{font-size:13px;color:#b49dab}
.dv-footer-list a:hover{color:#fff}
.dv-footer-address{line-height:2.1}
.dv-trust{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.dv-trust-badge{display:flex;align-items:center;gap:9px;background:#3d1435;border:1px solid #55214c;border-radius:12px;padding:10px 12px;font-size:12px;color:#d9c3d0;transition:.2s}
.dv-trust-badge:hover{background:#4a1a41;transform:translateY(-2px)}
.dv-trust-badge b{font-size:11.5px;color:#fff;display:block}
.dv-trust-badge small{font-size:10px;color:#b49dab}

/* ای‌نماد / ساماندهی — قطعه‌کد رسمی خود سازمان داخل این کادرها چاپ می‌شود */
.dv-seals{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}
.dv-seal{background:#fff;border-radius:12px;padding:8px;line-height:0;display:inline-flex;align-items:center;justify-content:center;min-width:84px;min-height:84px}
.dv-seal img,.dv-seal a img{max-width:100px;height:auto;display:block;cursor:pointer}
.dv-footer-bottom{background:#1c0518;padding:16px;text-align:center;font-size:12.5px;color:#a98fa0}
.dv-footer-bottom strong{color:#fff}

/* ============================== floating contact ============================== */
.dv-fab{position:fixed;bottom:20px;left:20px;z-index:200;display:flex;flex-direction:column;gap:12px}
.dv-fab-btn{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.28);transition:transform .18s}
.dv-fab-btn:hover{transform:scale(1.09)}
.dv-fab-btn svg{width:28px;height:28px}
.dv-fab-wa{background:#25d366;animation:dvFabPulse 2.6s infinite}
.dv-fab-call{background:var(--dv-primary)}
@keyframes dvFabPulse{0%{box-shadow:0 8px 22px rgba(0,0,0,.28),0 0 0 0 rgba(37,211,102,.55)}70%{box-shadow:0 8px 22px rgba(0,0,0,.28),0 0 0 14px rgba(37,211,102,0)}100%{box-shadow:0 8px 22px rgba(0,0,0,.28),0 0 0 0 rgba(37,211,102,0)}}
@media(prefers-reduced-motion:reduce){.dv-fab-wa{animation:none}}

/* ============================== page / content ============================== */
.dv-page{background:var(--dv-card);border:1px solid var(--dv-line);border-radius:var(--dv-radius);padding:26px 30px;margin:22px auto}
.dv-page-title{font-size:24px;font-weight:800;margin:0 0 18px;color:var(--dv-primary-dark)}
.dv-entry{line-height:2.1;color:var(--dv-text);font-size:15px}
.dv-entry p{margin:0 0 14px}
.dv-entry h2{font-size:20px;font-weight:800;margin:26px 0 12px;color:var(--dv-primary-dark);position:relative;padding-right:14px}
.dv-entry h2::before{content:"";position:absolute;right:0;top:4px;bottom:4px;width:5px;border-radius:3px;background:var(--dv-primary)}
.dv-entry h3{font-size:17px;font-weight:700;margin:20px 0 10px;color:var(--dv-primary-dark)}
.dv-entry ul,.dv-entry ol{margin:0 0 16px;padding-right:22px}
.dv-entry li{margin:0 0 9px;list-style:disc}
.dv-entry ol li{list-style:decimal}
.dv-entry a{color:var(--dv-primary);font-weight:700}
.dv-entry img{border-radius:12px;margin:16px 0}
.dv-entry table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:14px}
.dv-entry th,.dv-entry td{border:1px solid var(--dv-line);padding:10px 12px;text-align:right}
.dv-entry th{background:var(--dv-rose-soft);font-weight:700}
.dv-entry blockquote{margin:0 0 16px;padding:14px 18px;background:var(--dv-rose-soft);border-right:4px solid var(--dv-primary);border-radius:10px}

/* ============================== auth (mobile + OTP) ============================== */
.dv-auth{max-width:460px;margin:26px auto 60px;background:var(--dv-card);border:1px solid var(--dv-line);border-radius:var(--dv-radius);box-shadow:var(--dv-shadow);padding:32px 30px}
.dv-auth-title{font-size:22px;font-weight:800;margin:0 0 10px;color:var(--dv-primary-dark)}
.dv-auth-sub{font-size:14px;color:var(--dv-muted);margin:0 0 22px;line-height:2}
.dv-auth-form{display:flex;flex-direction:column;gap:18px}
.dv-field{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;color:var(--dv-text)}
.dv-field input{border:1px solid var(--dv-line);border-radius:10px;padding:13px 14px;font-family:inherit;font-size:16px;font-weight:500;color:var(--dv-text);background:#fff;transition:.15s;width:100%}
.dv-field input[type=tel],.dv-otp-input{direction:ltr;text-align:center;letter-spacing:2px;unicode-bidi:plaintext}

/* Mobile inputs inside Bagisto's own forms stay left-to-right but keep normal alignment. */
input.dv-ltr{direction:ltr;text-align:right;unicode-bidi:plaintext}
small.dv-ltr,b.dv-ltr,.dv-ltr:not(input){direction:ltr;unicode-bidi:plaintext;display:inline-block}
.dv-otp-input{font-size:22px;letter-spacing:10px}
.dv-auth-submit{padding:13px;font-size:15px}
.dv-auth-error{background:#fdecec;color:#c0392b;border:1px solid #f5c6c6;border-radius:10px;padding:12px 14px;font-size:13.5px;font-weight:700;margin-bottom:16px}
.dv-auth-error p{margin:0 0 4px}
.dv-auth-error p:last-child{margin:0}
.dv-auth-ok{background:#e9f9f1;color:#1a7f52;border:1px solid #b6e6cf;border-radius:10px;padding:12px 14px;font-size:13.5px;font-weight:700;margin-bottom:16px}
.dv-auth-links{display:flex;gap:18px;margin-top:18px;font-size:13px;font-weight:700}
.dv-auth-links a{color:var(--dv-primary)}
.dv-auth-note{margin:20px 0 0;font-size:12px;color:var(--dv-muted);line-height:2}
.dv-auth-note a{color:var(--dv-primary);font-weight:700}

/* ============================== checkout ============================== */
/**
 * The checkout accordions ship with `!p-0`, so the address panel's heading, cards and
 * continue button sit flush against the border. Give the whole panel real padding.
 */
main .container [class*="rounded-lg"][class*="bg-white"][class*="!p-0"]{
  padding:24px 26px !important;
  border-radius:var(--dv-radius) !important;
}
@media(max-width:768px){
  main .container [class*="rounded-lg"][class*="bg-white"][class*="!p-0"]{padding:16px !important}
}

/* Saved-address cards get a softer radius to match. */
main .container .max-w-\[414px\]{border-radius:var(--dv-radius) !important}

.dv-checkout-login{color:var(--dv-primary);font-weight:700;font-size:14px}
.dv-checkout-login:hover{color:var(--dv-primary-dark)}

/* ============================== breadcrumb ============================== */
.dv-breadcrumb{color:var(--dv-muted);font-size:13px;padding:16px 0 0;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.dv-breadcrumb a:hover{color:var(--dv-primary)}

/**
 * Bagisto centres the breadcrumb strip; Delovia aligns it with the start of the page
 * container — the right edge in RTL — like every other heading on the site.
 */
main > .flex.justify-center:has(nav[aria-label]){
  justify-content:flex-start !important;
  max-width:1240px;
  margin-inline:auto;
  padding-inline:16px !important;
}
main .flex.justify-start:has(> .flex > nav[aria-label]){width:100%}
main nav[aria-label] ol{font-size:13px;color:var(--dv-muted)}
main nav[aria-label] ol a:hover{color:var(--dv-primary)}

/* ============================== blog ============================== */
.dv-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.dv-post-card{background:var(--dv-card);border:1px solid var(--dv-line);border-radius:var(--dv-radius);box-shadow:var(--dv-shadow);overflow:hidden;display:flex;flex-direction:column;transition:.2s}
.dv-post-card:hover{transform:translateY(-4px);box-shadow:var(--dv-shadow-h)}
.dv-post-thumb{display:block;aspect-ratio:16/9;background:var(--dv-rose-soft);overflow:hidden}
.dv-post-thumb img{width:100%;height:100%;object-fit:cover}
.dv-post-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:9px;flex:1}
.dv-post-cat{font-size:11.5px;font-weight:700;color:var(--dv-primary);background:var(--dv-rose-soft);align-self:flex-start;padding:3px 10px;border-radius:20px}
.dv-post-title{font-size:15.5px;font-weight:700;line-height:1.8;color:var(--dv-text)}
.dv-post-card:hover .dv-post-title{color:var(--dv-primary)}
.dv-post-excerpt{font-size:13px;color:var(--dv-muted);line-height:1.95;margin:0}
.dv-post-meta{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:var(--dv-muted);padding-top:6px;border-top:1px solid var(--dv-line)}

/* Article cards inside the homepage carousel keep a fixed track width. */
.dv-post-card-slim{flex:0 0 300px;scroll-snap-align:start}

.dv-post-hero{background:var(--dv-card);border:1px solid var(--dv-line);border-radius:var(--dv-radius);overflow:hidden;margin:22px auto}
.dv-post-hero-img{width:100%;max-height:420px;object-fit:cover;display:block}
.dv-post-hero-body{padding:26px 30px}
.dv-post-hero-body h1{font-size:26px;font-weight:900;line-height:1.75;margin:0 0 14px;color:var(--dv-primary-dark)}
.dv-post-hero-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--dv-muted);margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--dv-line)}

.dv-pagination{display:flex;gap:6px;justify-content:center;margin:26px 0;flex-wrap:wrap}
.dv-pagination a,.dv-pagination span{border-radius:10px;background:#fff;box-shadow:var(--dv-shadow);padding:8px 14px;font-size:13.5px;font-weight:700}
.dv-pagination .is-current{background:var(--dv-primary);color:#fff}

/* ============================== responsive ============================== */
@media(max-width:1024px){
  .dv-hero{grid-template-columns:1fr}
  .dv-hero-side{grid-template-rows:none;grid-template-columns:1fr 1fr}
  .dv-grid{grid-template-columns:repeat(3,1fr)}
  .dv-blog-grid{grid-template-columns:repeat(2,1fr)}
  .dv-footer-top{grid-template-columns:1fr 1fr}
}
@media(max-width:860px){
  .dv-burger{display:block}
  .dv-nav{display:none}
  .dv-nav.is-open{display:block}
  .dv-nav-in{flex-direction:column;align-items:stretch;padding:8px 16px}
  .dv-nav-in{display:flex;flex-direction:column;align-items:stretch}
  .dv-menu{flex-direction:column;gap:0;padding-left:0;width:100%}
  .dv-mega{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;padding:0 16px 10px}

  /* Narrow screens put the brand on its own row: a half-circle wide enough to
     read cannot share a line with the search field. */
  /* Three rows: controls, brand, then a full-width search. Sharing a row makes
     the search overlap the account button once the field is allowed to grow. */
  .dv-header-in{grid-template-columns:auto 1fr auto;grid-template-areas:"burger brand actions" "search search search";gap:10px 12px;align-items:center}
  /* `display:contents` lifts the burger and the search out of their flex wrapper
     so each can be placed on the grid directly. */
  .dv-header-start{display:contents}
  .dv-burger{grid-area:burger;justify-self:start}
  .dv-header-end{grid-area:actions;flex:0 0 auto}
  /* On one narrow row the bulge has nowhere to hang, so the brand becomes a plain
     centred row instead of a half-circle. */
  .dv-brand{grid-area:brand;justify-self:center;width:auto;align-self:auto;height:auto}
  /* The search is a child of the leading group but belongs on its own row. */
  .dv-search{grid-area:search;width:100%}
  .dv-brand-link{position:static;transform:none;width:auto;height:auto;flex-direction:row;gap:10px;padding:0;border-radius:0;background:transparent}
  .dv-brand-link:hover{background:transparent}
  .dv-brand-badge img{width:46px;height:46px;border-width:2px}
  .dv-search{max-width:none}
  .dv-account-txt,.dv-cart-txt{display:none}
  .dv-promos{grid-template-columns:1fr}
  .dv-features-in{grid-template-columns:1fr 1fr;gap:20px}
  .dv-slide{padding:30px 24px}
  .dv-slide-in h2{font-size:23px}
  .dv-slide-in p{font-size:14px}
}
@media(max-width:640px){
  .dv-grid{grid-template-columns:repeat(2,1fr)}
  .dv-blog-grid{grid-template-columns:1fr}
  .dv-hero-side{grid-template-columns:1fr}
  .dv-footer-top{grid-template-columns:1fr}
  .dv-page{padding:20px 18px}
  .dv-car-arrow{display:none}
}

/* عنوان نوشته در فهرست مجله: h2 است ولی باید مثل قبل دیده شود */
.dv-post-title-wrap{margin:0;font-size:inherit;font-weight:inherit;line-height:inherit}
