/* ==========================================================================
   DigiLaap — main stylesheet (all pages)
   Layout, header, menus, home sections, product card, footer.
   ========================================================================== */

/* ---------- Fonts (Vazirmatn, SIL OFL — see assets/fonts/OFL.txt) ----------
   Text keeps the digits exactly as written (e.g. «Core i7» stays Latin).
   Numbers printed by the shop (prices, counts, badges…) use "DL FaNum":
   a tiny subset with only 0-9 drawn as Persian digits. */
@font-face { font-family: "Vazirmatn"; src: url("../fonts/Vazirmatn-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Vazirmatn"; src: url("../fonts/Vazirmatn-Medium.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Vazirmatn"; src: url("../fonts/Vazirmatn-Bold.woff2") format("woff2"); font-weight: 600 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Vazirmatn"; src: url("../fonts/Vazirmatn-Black.woff2") format("woff2"); font-weight: 800 900; font-style: normal; font-display: swap; }
@font-face { font-family: "DL FaNum"; src: url("../fonts/DL-FaNum-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; unicode-range: U+0030-0039; }
@font-face { font-family: "DL FaNum"; src: url("../fonts/DL-FaNum-Medium.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; unicode-range: U+0030-0039; }
@font-face { font-family: "DL FaNum"; src: url("../fonts/DL-FaNum-Bold.woff2") format("woff2"); font-weight: 600 700; font-style: normal; font-display: swap; unicode-range: U+0030-0039; }
@font-face { font-family: "DL FaNum"; src: url("../fonts/DL-FaNum-Black.woff2") format("woff2"); font-weight: 800 900; font-style: normal; font-display: swap; unicode-range: U+0030-0039; }

/* ---------- Tokens ---------- */
:root {
	--dl-blue: #1548f9;
	--dl-blue-700: #0f36c4;
	--dl-blue-50: #eaf0ff;
	--dl-blue-100: #d6e1ff;
	--dl-orange: #f27900;
	--dl-orange-700: #c25e00;
	--dl-orange-900: #8a4300;
	--dl-orange-50: #fff1e3;
	--dl-ink: #0a1640;
	--dl-ink-2: #2b3760;
	--dl-muted: #4a5578;
	--dl-muted-2: #5f6a8c;
	--dl-line: #e3e8f4;
	--dl-line-2: #d3dbef;
	--dl-bg: #f4f6fc;
	--dl-white: #ffffff;
	--dl-navy: #0a1a5c;
	--dl-green: #0f7a3d;
	--dl-red: #c4283b;
	/* Button and selection color («رنگ دکمه‌ها»; blue above is the brand color). inc/colors.php
	   overrides these from «تنظیمات قالب ← رنگ‌ها»; --dl-on-* is the readable text on each fill. */
	--dl-hot: #d63b1f;
	--dl-warm-1: #e65c00;
	--dl-warm-2: #c2410c;
	--dl-warm-3: #9a3412;
	--dl-warm-50: #fff3e8;
	--dl-warm-100: #ffe1c7;
	--dl-warm-link: #b4530a;
	--dl-on-warm: #fff;
	--dl-on-blue: #fff;
	--dl-on-hot: #fff;
	--dl-page-bg: #f7f8fa;
	--dl-home-bg: #fff;
	/* Neutral greys for the white header, home and footer. */
	--dl-g-line: #ebebee;
	--dl-g-bg: #f2f2f4;
	--dl-g-text: #62666d;
	--dl-r-sm: 10px;
	--dl-r: 14px;
	--dl-r-lg: 20px;
	--dl-r-xl: 24px;
	--dl-shadow: 0 10px 30px rgba(10, 22, 64, .08);
	--dl-shadow-lg: 0 24px 60px rgba(10, 22, 64, .22);
	--dl-container: 1440px;
	--dl-pad: 24px;
	--dl-font: "Vazirmatn", Tahoma, system-ui, -apple-system, "Segoe UI", sans-serif;
	--dl-font-num: "DL FaNum", "Vazirmatn", Tahoma, system-ui, -apple-system, "Segoe UI", sans-serif;
	--dl-bottomnav-h: 0px;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 80px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
body { margin: 0; background: var(--dl-page-bg); color: var(--dl-ink); font-family: var(--dl-font); font-size: 15px; line-height: 1.7; direction: rtl; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; padding-bottom: var(--dl-bottomnav-h); }
img, svg, video { max-width: 100%; height: auto; }
img { vertical-align: middle; }
a { color: var(--dl-warm-2); text-decoration: none; }
a:hover { color: var(--dl-warm-3); }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
h1, h2, h3, h4, h5, h6 { margin: 0 0 .5em; line-height: 1.45; font-weight: 800; color: var(--dl-ink); }
p { margin: 0 0 1em; }
:focus-visible { outline: 3px solid var(--dl-orange); outline-offset: 2px; border-radius: 6px; }
::selection { background: var(--dl-warm-100); }
.dl-i { flex-shrink: 0; display: inline-block; vertical-align: middle; }
/* Shop-generated numbers in Persian digits. */
.dl-num, .amount, .woocommerce-Price-amount, .dl-price, .dl-badge, .dl-count-dot, .dl-cart-count, .dl-countdown, .dl-pill, .dl-nav__phone, .dl-footer__contact, .dl-chip, .dl-toast, .dl-sres__price, .dl-card__oos, .dl-slider__dots { font-family: var(--dl-font-num); }
[hidden] { display: none !important; }

.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.dl-skip { position: absolute; top: -100px; right: 16px; z-index: 1000; background: var(--dl-ink); color: #fff; padding: 10px 16px; border-radius: var(--dl-r-sm); }
.dl-skip:focus { top: 12px; color: #fff; }

.dl-container { width: 100%; max-width: var(--dl-container); margin-inline: auto; padding-inline: var(--dl-pad); }
.dl-main { display: block; min-height: 50vh; outline: 0; }
.dl-box { background: var(--dl-white); border: 1px solid var(--dl-line); border-radius: var(--dl-r-lg); }
.dl-grow { flex: 1 1 auto; min-width: 0; }
.dl-muted { color: var(--dl-muted); }
.dl-dot { width: 6px; height: 6px; border-radius: 999px; background: var(--dl-orange); flex-shrink: 0; display: inline-block; }
.dl-tone-blue { background: var(--dl-blue-50); color: var(--dl-blue); }
.dl-tone-orange { background: var(--dl-orange-50); color: var(--dl-orange-700); }

/* ---------- Buttons, chips, badges ---------- */
.dl-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 20px; border-radius: var(--dl-r); border: 0; font-weight: 800; font-size: 15px; line-height: 1.2; text-align: center; transition: background-color .15s, color .15s, box-shadow .15s, transform .15s; }
.dl-btn:active { transform: translateY(1px); }
.dl-btn--primary { background: var(--dl-warm-1); color: var(--dl-on-warm); }
.dl-btn--primary:hover { background: var(--dl-warm-2); color: var(--dl-on-warm); }
.dl-btn--orange { background: var(--dl-orange); color: var(--dl-ink); }
.dl-btn--orange:hover { background: #ff8a14; color: var(--dl-ink); }
.dl-btn--ink { background: var(--dl-ink); color: #fff; }
.dl-btn--ink:hover { background: #18245a; color: #fff; }
.dl-btn--outline { background: #fff; color: var(--dl-warm-2); box-shadow: inset 0 0 0 1.5px var(--dl-warm-1); }
.dl-btn--outline:hover { background: var(--dl-warm-50); }
.dl-btn--outline-light { background: transparent; color: #fff; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .6); }
.dl-btn--outline-light:hover { background: rgba(255, 255, 255, .12); color: #fff; }
.dl-btn--soft { background: var(--dl-warm-50); color: var(--dl-warm-2); }
.dl-btn--soft:hover { background: var(--dl-warm-100); color: var(--dl-warm-3); }
.dl-btn--ghost { background: transparent; color: var(--dl-ink); box-shadow: inset 0 0 0 1px var(--dl-line-2); }
.dl-btn--block { display: flex; width: 100%; }
.dl-btn--disabled { background: var(--dl-line); color: var(--dl-muted); cursor: not-allowed; }
.dl-iconbtn { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; border: 1px solid var(--dl-line); background: #fff; color: var(--dl-ink); }
.dl-iconbtn:hover { color: var(--dl-warm-2); border-color: var(--dl-warm-100); }
.dl-iconbtn--soft { border: 0; background: var(--dl-bg); }
.dl-linkbtn { display: inline-flex; align-items: center; gap: 4px; background: none; border: 0; padding: 4px 0; color: var(--dl-warm-2); font-weight: 800; font-size: 13.5px; }
.dl-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 0 12px; border-radius: 999px; font-size: 13px; font-weight: 700; line-height: 1.3; white-space: nowrap; }
.dl-chip--orange { background: var(--dl-orange-50); color: var(--dl-orange-900); }
a.dl-chip--orange:hover { background: #ffe5c9; color: var(--dl-orange-900); }
.dl-chip--blue { background: var(--dl-warm-50); color: var(--dl-warm-2); }
a.dl-chip--blue:hover { background: var(--dl-warm-100); }
.dl-pill { display: inline-block; padding: 5px 14px; border-radius: 999px; font-size: 13px; font-weight: 800; line-height: 1.4; }
.dl-pill--orange { background: var(--dl-orange); color: var(--dl-ink); }
.dl-badge { display: inline-flex; align-items: center; justify-content: center; padding: 3px 9px; border-radius: 999px; font-size: 12px; font-weight: 800; line-height: 1.4; }
.dl-badge--off { background: var(--dl-orange); color: var(--dl-ink); }
.dl-count-dot { min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: var(--dl-orange); color: var(--dl-ink); font-size: 12px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }

/* ---------- Header ---------- */
.dl-header { position: relative; z-index: 50; }
.dl-header__bar { position: relative; background: #fff; color: var(--dl-ink); }
.dl-header__row { position: relative; z-index: 1; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "brand search actions"; align-items: center; gap: 28px; min-height: 74px; padding-block: 12px; }
.dl-header__brand { grid-area: brand; display: flex; align-items: center; }
.dl-logo { display: inline-flex; align-items: center; }
.dl-logo__img { display: block; max-width: none; }
.dl-search { grid-area: search; position: relative; display: flex; align-items: center; width: 100%; max-width: 640px; }
.dl-search__input { width: 100%; height: 46px; border: 0; border-radius: 10px; background: var(--dl-g-bg); padding: 0 52px 0 48px; font-size: 15px; color: var(--dl-ink); box-shadow: none; -webkit-appearance: none; appearance: none; }
.dl-search__input::placeholder { color: var(--dl-muted-2); }
.dl-search__input::-webkit-search-cancel-button { display: none; }
.dl-search__input:focus { background: #fff; outline: 2px solid var(--dl-blue); outline-offset: 0; }
.dl-search__submit { position: absolute; right: 4px; width: 44px; height: 44px; border: 0; background: transparent; color: var(--dl-muted); display: flex; align-items: center; justify-content: center; border-radius: 10px; }
.dl-search__clear { position: absolute; left: 6px; width: 38px; height: 38px; border: 0; border-radius: 10px; background: var(--dl-bg); color: var(--dl-muted); display: flex; align-items: center; justify-content: center; }
.dl-search__panel { position: absolute; top: calc(100% + 10px); right: 0; left: 0; z-index: 70; background: #fff; color: var(--dl-ink); border-radius: 18px; box-shadow: var(--dl-shadow-lg); overflow: hidden; max-height: min(70vh, 640px); overflow-y: auto; overscroll-behavior: contain; }
.dl-sres__group { padding: 14px 16px 8px; display: flex; flex-direction: column; gap: 4px; }
.dl-sres__group + .dl-sres__group { border-top: 1px solid var(--dl-line); }
.dl-sres__label { font-size: 12.5px; font-weight: 800; color: var(--dl-muted); padding-bottom: 4px; }
.dl-sres__item { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 7px 8px; border-radius: 12px; color: var(--dl-ink); }
.dl-sres__item:hover, .dl-sres__item[aria-selected="true"] { background: var(--dl-bg); color: var(--dl-ink); }
.dl-sres__item img { width: 52px; height: 52px; object-fit: contain; border-radius: 10px; background: var(--dl-bg); }
.dl-sres__name { font-size: 14px; line-height: 1.7; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.dl-sres__name mark { background: var(--dl-blue-50); color: inherit; font-weight: 800; border-radius: 4px; padding: 0 2px; }
.dl-sres__price { white-space: nowrap; font-size: 13.5px; font-weight: 800; }
.dl-sres__price .dl-price del { display: none; }
.dl-sres__price .woocommerce-Price-currencySymbol { font-size: 11px; font-weight: 500; color: var(--dl-muted); }
.dl-sres__item.is-oos .dl-sres__name { color: var(--dl-muted-2); }
.dl-sres__chips { display: flex; flex-wrap: wrap; gap: 8px; }
/* The search box and its results panel use the brand color («رنگ‌ها ← رنگ برند»). */
.dl-sres__chips .dl-chip--blue { background: var(--dl-blue-50); color: var(--dl-blue); }
.dl-sres__chips a.dl-chip--blue:hover { background: var(--dl-blue-100); color: var(--dl-blue-700); }
.dl-sres__all { display: flex; align-items: center; justify-content: center; gap: 8px; height: 52px; background: var(--dl-blue); color: var(--dl-on-blue); font-weight: 800; font-size: 14px; }
.dl-sres__all:hover { background: var(--dl-blue-700); color: var(--dl-on-blue); }
.dl-sres__empty { padding: 22px 16px; text-align: center; color: var(--dl-muted); }
.dl-sres__recent { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--dl-line); color: var(--dl-ink-2); font-size: 13px; background: #fff; }

.dl-header__actions { grid-area: actions; display: flex; align-items: center; gap: 12px; }
.dl-hbtn { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 44px; min-width: 44px; padding: 0 14px; border-radius: 10px; border: 1px solid #dfe0e3; background: #fff; color: var(--dl-ink); font-weight: 700; font-size: 13.5px; }
.dl-hbtn:hover { border-color: var(--dl-warm-1); color: var(--dl-warm-2); }
.dl-hbtn--cart, .dl-hbtn--menu { padding: 0; width: 44px; border-color: transparent; }
.dl-hbtn--menu { display: none; }
.dl-cart-count { position: absolute; top: -6px; left: -6px; min-width: 22px; height: 22px; padding: 0 5px; border-radius: 999px; background: var(--dl-hot); color: var(--dl-on-hot); font-size: 12px; font-weight: 800; line-height: 1; display: flex; align-items: center; justify-content: center; border: 2px solid #fff; }
.dl-cart-count[data-count="0"] { display: none; }

/* Nav bar */
.dl-nav { position: relative; background: #fff; border-bottom: 1px solid var(--dl-g-line); box-shadow: 0 6px 8px -8px rgba(0, 0, 0, .12); }
.dl-nav__row { display: flex; align-items: center; gap: 22px; min-height: 46px; }
.dl-catbtn { display: inline-flex; align-items: center; gap: 8px; height: 24px; padding: 0 0 0 20px; border: 0; border-left: 1px solid #dfe0e3; border-radius: 0; background: none; color: var(--dl-ink); font-weight: 800; font-size: 14px; }
.dl-catbtn:hover, .dl-catbtn[aria-expanded="true"] { color: var(--dl-warm-2); }
.dl-catbtn[aria-expanded="true"] .dl-catbtn__chev { transform: rotate(180deg); }
.dl-catbtn__chev { transition: transform .2s; }
.dl-quick { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 22px; font-size: 13px; font-weight: 500; overflow: hidden; }
.dl-quick a { position: relative; display: inline-flex; align-items: center; gap: 6px; color: var(--dl-g-text); white-space: nowrap; padding: 12px 0; }
.dl-quick a::after { content: ""; position: absolute; right: 0; left: 0; bottom: 0; height: 2px; border-radius: 2px; background: var(--dl-warm-1); transform: scaleX(0); transition: transform .2s; }
.dl-quick a:hover { color: var(--dl-ink); }
.dl-quick a:hover::after, .dl-quick a:focus-visible::after { transform: scaleX(1); }
.dl-quick a.is-hl { color: var(--dl-warm-2); font-weight: 800; }
.dl-nav__end { margin-inline-start: auto; display: flex; align-items: center; gap: 16px; flex-shrink: 0; }
.dl-nav__phone { font-size: 13px; color: var(--dl-muted); white-space: nowrap; }
.dl-nav__phone:hover { color: var(--dl-warm-2); }

/* Mega menu */
.dl-mega { position: absolute; top: 100%; right: 0; left: 0; height: 100vh; background: rgba(10, 22, 64, .45); z-index: 60; }
.dl-mega__box { display: grid; grid-template-columns: 260px minmax(0, 1fr); height: min(600px, calc(100vh - 170px)); background: #fff; border-radius: 0 0 20px 20px; box-shadow: var(--dl-shadow-lg); overflow: hidden; margin-top: 8px; animation: dl-drop .18s ease-out; }
@keyframes dl-drop { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.dl-mega__tops { list-style: none; margin: 0; padding: 10px; background: var(--dl-bg); border-left: 1px solid var(--dl-line); overflow-y: auto; }
.dl-mega__top { display: flex; align-items: center; gap: 12px; min-height: 42px; padding: 0 12px; border-radius: 12px; color: var(--dl-ink); font-size: 14px; font-weight: 500; }
.dl-mega__top:hover, .dl-mega__top.is-active { background: #fff; color: var(--dl-warm-2); font-weight: 800; box-shadow: 0 2px 10px rgba(230, 92, 0, .12); }
.dl-mega__top span { flex: 1; }
.dl-mega__arrow { opacity: 0; }
.dl-mega__top.is-active .dl-mega__arrow { opacity: 1; }
.dl-mega__panels { overflow-y: auto; }
.dl-mega__panel { padding: 22px 28px; display: flex; flex-direction: column; gap: 20px; }
.dl-mega__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.dl-mega__head strong { font-size: 17px; font-weight: 900; }
.dl-mega__head a { display: inline-flex; align-items: center; gap: 6px; font-weight: 800; font-size: 14px; }
.dl-mega__tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; }
.dl-mega__tile { display: flex; align-items: center; gap: 10px; min-height: 58px; padding: 0 10px; border-radius: 14px; border: 1px solid var(--dl-line); color: var(--dl-ink); font-size: 13.5px; font-weight: 700; }
.dl-mega__tile:hover { border-color: var(--dl-warm-1); color: var(--dl-warm-2); }
.dl-mega__tile-img { width: 38px; height: 38px; border-radius: 999px; background: var(--dl-bg); display: flex; align-items: center; justify-content: center; overflow: hidden; flex-shrink: 0; font-size: 12px; font-weight: 800; color: var(--dl-muted); }
.dl-mega__tile-img img { width: 100%; height: 100%; object-fit: contain; }
.dl-mega__empty { display: flex; align-items: center; gap: 28px; padding: 28px; border-radius: 20px; background: var(--dl-bg); color: var(--dl-ink); }
.dl-mega__empty:hover { color: var(--dl-ink); box-shadow: inset 0 0 0 1px var(--dl-warm-100); }
.dl-mega__empty img { width: 120px; height: 120px; }
.dl-mega__empty > span { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.dl-mega__empty strong { font-size: 20px; font-weight: 900; }
.dl-mega__cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px 32px; align-items: start; }
.dl-mega__group { display: flex; flex-direction: column; min-width: 0; margin-bottom: 18px; }
.dl-mega__gtitle { display: flex; align-self: flex-start; align-items: center; gap: 8px; color: var(--dl-ink); font-size: 14px; font-weight: 800; padding-bottom: 6px; }
a.dl-mega__gtitle:hover { color: var(--dl-warm-2); }
.dl-mega__gtitle::before { content: ""; width: 6px; height: 6px; border-radius: 999px; background: var(--dl-orange); }
.dl-mega__group > a:not(.dl-mega__gtitle) { color: #3a4670; font-size: 13.5px; padding: 3px 14px 3px 0; line-height: 1.7; }
.dl-mega__group > a:hover { color: var(--dl-warm-2); }

/* ---------- Header style «کلاسیک آبی» (header_style = classic: the 1.2.2 look; same markup) ---------- */
.dl-hdr-classic .dl-header__bar { background: var(--dl-blue); color: var(--dl-on-blue); }
/* White area behind the logo with a curved edge (logo mark is blue). */
.dl-hdr-classic .dl-header__bar::before { content: ""; position: absolute; inset-block: 0; right: 0; width: calc(max(0px, (100% - var(--dl-container)) / 2) + var(--dl-pad) + var(--dl-logo-w, 182px) + 26px); background: #fff; }
.dl-hdr-classic .dl-header__bar::after { content: ""; position: absolute; inset-block: 0; right: calc(max(0px, (100% - var(--dl-container)) / 2) + var(--dl-pad) + var(--dl-logo-w, 182px) + 25px); width: 80px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 100' preserveAspectRatio='none'%3E%3Cpath d='M80 0H56C40 0 40 100 0 100H80Z' fill='%23fff'/%3E%3C/svg%3E") no-repeat center / 100% 100%; }
.dl-hdr-classic .dl-search__input { background: #fff; box-shadow: 0 2px 8px rgba(10, 22, 64, .08); }
.dl-hdr-classic .dl-search__input:focus { outline: 3px solid var(--dl-blue-100); }
.dl-hdr-classic .dl-hbtn { border: 0; background: rgba(255, 255, 255, .14); color: var(--dl-on-blue); }
.dl-hdr-classic .dl-hbtn:hover { background: rgba(255, 255, 255, .24); color: var(--dl-on-blue); }
.dl-hdr-classic .dl-cart-count { background: var(--dl-orange); color: var(--dl-ink); border-color: var(--dl-blue); }
.dl-hdr-classic .dl-nav { border-bottom-color: var(--dl-line); box-shadow: none; }
.dl-hdr-classic .dl-nav__row { gap: 24px; min-height: 56px; }
.dl-hdr-classic .dl-catbtn { height: 40px; padding: 0 14px; border: 0; border-radius: 10px; background: var(--dl-blue-50); color: var(--dl-blue); }
.dl-hdr-classic .dl-catbtn:hover { color: var(--dl-blue); }
.dl-hdr-classic .dl-catbtn[aria-expanded="true"] { background: var(--dl-blue); color: var(--dl-on-blue); }
.dl-hdr-classic .dl-quick { font-size: 14px; }
.dl-hdr-classic .dl-quick a { color: var(--dl-ink); padding: 8px 0; }
.dl-hdr-classic .dl-quick a::after { display: none; }
.dl-hdr-classic .dl-quick a:hover { color: var(--dl-blue); }
.dl-hdr-classic .dl-quick a.is-hl { color: var(--dl-orange-700); }
.dl-hdr-classic .dl-nav__phone:hover { color: var(--dl-blue); }
@media (min-width: 1024px) {
	.dl-hdr-classic .dl-header__row { grid-template-columns: calc(var(--dl-logo-w, 182px) + 104px) minmax(0, 1fr) auto; min-height: 86px; padding-block: 18px; }
	.dl-hdr-classic .dl-search__input { height: 50px; border-radius: 12px; }
	.dl-hdr-classic .dl-hbtn { height: 48px; min-width: 48px; border-radius: 12px; font-size: 14px; }
	.dl-hdr-classic .dl-hbtn--cart { width: 48px; }
}
@media (max-width: 1023px) {
	.dl-hdr-classic .dl-header { border-bottom: 0; }
	.dl-hdr-classic .dl-header__bar::before { width: calc(var(--dl-pad) + var(--dl-logo-w-m, 134px) + 18px); height: 62px; bottom: auto; }
	.dl-hdr-classic .dl-header__bar::after { right: calc(var(--dl-pad) + var(--dl-logo-w-m, 134px) + 17px); width: 52px; height: 62px; bottom: auto; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 62' preserveAspectRatio='none'%3E%3Cpath d='M56 0H0C20 0 26 62 44 62H56Z' fill='%23fff'/%3E%3C/svg%3E"); }
	.dl-hdr-classic .dl-header__row { padding-block: 0 14px; }
	.dl-hdr-classic .dl-search__input { height: 46px; }
}

/* ---------- Categories screen (mobile) ---------- */
/* Full screen above the page; the bottom navigation stays visible below it. */
.dl-catnav { position: fixed; top: 0; right: 0; left: 0; bottom: var(--dl-bottomnav-h); z-index: 85; display: flex; flex-direction: column; background: #fff; animation: dl-fade .15s ease-out; }
@keyframes dl-fade { from { opacity: 0; } to { opacity: 1; } }
.dl-catnav__head { display: flex; align-items: center; gap: 6px; padding: 10px var(--dl-pad) 10px 10px; padding-top: max(10px, env(safe-area-inset-top)); border-bottom: 1px solid var(--dl-line); flex-shrink: 0; }
.dl-catnav__back { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex-shrink: 0; border: 0; border-radius: 12px; background: transparent; color: var(--dl-ink); }
.dl-catnav__back:hover { background: var(--dl-bg); }
.dl-catnav__search { flex: 1 1 auto; min-width: 0; max-width: none; }
.dl-catnav__search .dl-search__input { height: 46px; font-size: 16px; background: var(--dl-bg); box-shadow: none; }
.dl-catnav__search .dl-search__panel { max-height: calc(100vh - 90px - var(--dl-bottomnav-h)); max-height: calc(100dvh - 90px - var(--dl-bottomnav-h)); }
.dl-catnav__body { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: 92px minmax(0, 1fr); }
.dl-catnav__tabs { overflow-y: auto; overscroll-behavior: contain; background: var(--dl-bg); border-left: 1px solid var(--dl-line); }
.dl-catnav__tab { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; width: 100%; min-height: 84px; padding: 12px 6px; border: 0; border-bottom: 1px solid var(--dl-line); background: transparent; color: var(--dl-muted); font-size: 12px; font-weight: 600; line-height: 1.5; text-align: center; overflow-wrap: anywhere; }
.dl-catnav__tab.is-active { background: #fff; color: var(--dl-warm-2); font-weight: 800; }
.dl-catnav__tab.is-active::before { content: ""; position: absolute; top: 12px; bottom: 12px; right: 0; width: 3px; border-radius: 3px 0 0 3px; background: var(--dl-warm-1); }
.dl-catnav__panels { overflow-y: auto; overscroll-behavior: contain; min-width: 0; }
.dl-catnav__panel { padding: 4px var(--dl-pad) 24px 12px; display: flex; flex-direction: column; }
.dl-catnav__all { display: flex; align-items: center; gap: 6px; min-height: 52px; color: var(--dl-warm-2); font-size: 13.5px; font-weight: 800; }
.dl-catnav__row { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; min-height: 58px; padding: 6px 0; border: 0; border-bottom: 1px solid var(--dl-line); background: none; color: var(--dl-ink); font-size: 14px; font-weight: 800; line-height: 1.6; text-align: right; }
.dl-catnav__row > span { min-width: 0; overflow-wrap: anywhere; }
a.dl-catnav__row:hover, .dl-catnav__row:hover { color: var(--dl-warm-2); }
.dl-catnav__row.is-hl { color: var(--dl-orange-700); }
.dl-catnav__row .dl-i { transition: transform .2s; color: var(--dl-ink-2); }
.dl-catnav__row[aria-expanded="true"] { color: var(--dl-warm-2); border-bottom-color: transparent; }
.dl-catnav__row[aria-expanded="true"] .dl-i { transform: rotate(180deg); color: var(--dl-warm-2); }
.dl-catnav__acc { display: flex; flex-direction: column; }
.dl-catnav__links { display: flex; flex-direction: column; padding: 0 0 10px; border-bottom: 1px solid var(--dl-line); }
.dl-catnav__links a { display: flex; align-items: center; gap: 4px; min-height: 40px; padding: 4px 12px 4px 0; color: var(--dl-ink-2); font-size: 13.5px; line-height: 1.6; overflow-wrap: anywhere; }
.dl-catnav__links a:hover { color: var(--dl-warm-2); }
.dl-catnav__links .dl-catnav__more { color: var(--dl-warm-2); font-weight: 800; font-size: 13px; }
.dl-catnav__heading { display: block; padding: 16px 0 4px; color: var(--dl-muted-2); font-size: 12.5px; font-weight: 800; }
.dl-drawer-open, .dl-lock { overflow: hidden; }

/* ---------- Bottom navigation (mobile) ---------- */
.dl-bottomnav { display: none; }

/* ---------- Section scaffolding ---------- */
.dl-home { display: flex; flex-direction: column; gap: 40px; padding-block: 24px 56px; }
.dl-sec { position: relative; }
.dl-sec-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.dl-sec-head--sm { margin-bottom: 12px; }
.dl-sec-title { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 22px; font-weight: 900; line-height: 1.5; }
.dl-sec-head--sm .dl-sec-title { font-size: 19px; }
.dl-sec-title--blue::before, .dl-sec-title--orange::before { content: ""; width: 6px; height: 26px; border-radius: 999px; background: var(--dl-blue); flex-shrink: 0; }
.dl-sec-title--orange::before { background: var(--dl-orange); }
.dl-more { display: inline-flex; align-items: center; gap: 4px; font-weight: 800; font-size: 14px; white-space: nowrap; }

/* Horizontal scroller + arrows */
.dl-scroller { display: flex; gap: 16px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.dl-scroller::-webkit-scrollbar { display: none; }
.dl-scroller > * { scroll-snap-align: start; flex-shrink: 0; }
.dl-arrow { position: absolute; top: 50%; z-index: 2; width: 44px; height: 44px; margin-top: -22px; border-radius: 999px; border: 1px solid var(--dl-line); background: #fff; color: var(--dl-ink); display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 14px rgba(10, 22, 64, .1); transition: opacity .2s; }
.dl-arrow:hover { color: var(--dl-on-warm); background: var(--dl-warm-1); border-color: var(--dl-warm-1); }
.dl-arrow--prev { right: -12px; }
.dl-arrow--next { left: -12px; }
.dl-arrow[disabled] { opacity: 0; pointer-events: none; }

/* ---------- Stories ---------- */
.dl-stories { display: flex; gap: 22px; padding: 16px 22px; overflow-x: auto; scrollbar-width: none; }
.dl-stories::-webkit-scrollbar { display: none; }
.dl-story { display: flex; flex-direction: column; align-items: center; gap: 8px; width: 84px; flex-shrink: 0; padding: 0; border: 0; background: none; color: var(--dl-ink); }
.dl-story__ring { width: 78px; height: 78px; border-radius: 999px; padding: 3px; background: conic-gradient(var(--dl-orange), #ffb35c, var(--dl-orange)); display: flex; }
.dl-story.is-seen .dl-story__ring { background: var(--dl-line-2); }
.dl-story__img { flex: 1; border-radius: 999px; border: 3px solid #fff; display: flex; align-items: center; justify-content: center; overflow: hidden; font-size: 11px; font-weight: 800; text-align: center; line-height: 1.3; padding: 4px; }
.dl-story__img img { width: 100%; height: 100%; object-fit: cover; border-radius: 999px; }
.dl-story__img:has(img) { padding: 0; }
.dl-story__title { font-size: 12.5px; font-weight: 500; text-align: center; line-height: 1.5; }
.dl-story:hover .dl-story__title { color: var(--dl-warm-2); }

/* Story viewer */
.dl-sv { position: fixed; inset: 0; z-index: 300; background: rgba(5, 10, 30, .92); display: flex; align-items: center; justify-content: center; animation: dl-fade .2s; }
.dl-sv__frame { position: relative; width: min(420px, 100vw); height: min(92vh, 760px); border-radius: 18px; overflow: hidden; background: #111; display: flex; flex-direction: column; }
.dl-sv__frame::before { content: ""; position: absolute; top: 0; right: 0; left: 0; height: 130px; z-index: 2; background: linear-gradient(rgba(5, 10, 30, .55), transparent); pointer-events: none; }
.dl-sv__bars { position: absolute; top: 10px; right: 10px; left: 10px; z-index: 3; display: flex; gap: 4px; direction: rtl; }
.dl-sv__bar { flex: 1; height: 3px; border-radius: 3px; background: rgba(255, 255, 255, .35); overflow: hidden; }
.dl-sv__bar span { display: block; height: 100%; width: 0; background: #fff; }
.dl-sv__bar.is-done span { width: 100%; }
.dl-sv__head { position: absolute; top: 22px; right: 14px; left: 14px; z-index: 3; display: flex; align-items: center; justify-content: space-between; color: #fff; font-weight: 800; font-size: 14px; text-shadow: 0 1px 4px rgba(0, 0, 0, .5); }
.dl-sv__close { width: 44px; height: 44px; border: 0; border-radius: 999px; background: rgba(0, 0, 0, .3); color: #fff; display: flex; align-items: center; justify-content: center; }
.dl-sv__img { flex: 1; width: 100%; object-fit: cover; background: linear-gradient(160deg, var(--dl-blue), var(--dl-navy)); }
.dl-sv__noimg { flex: 1; display: flex; align-items: center; justify-content: center; padding: 40px; text-align: center; color: var(--dl-on-blue); font-size: 26px; font-weight: 900; background: linear-gradient(160deg, var(--dl-blue), var(--dl-navy)); }
.dl-sv__cta { position: absolute; bottom: 20px; right: 20px; left: 20px; z-index: 3; }
.dl-sv__nav { position: absolute; top: 80px; bottom: 90px; width: 40%; z-index: 2; border: 0; background: transparent; }
.dl-sv__nav--prev { right: 0; }
.dl-sv__nav--next { left: 0; }

/* ---------- Hero / slider ---------- */
.dl-hero { display: grid; gap: 20px; }
.dl-hero--split { grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr); }
.dl-hero__side { display: flex; flex-direction: column; gap: 20px; }
.dl-hero__side .dl-banner { flex: 1; }
.dl-slider { position: relative; border-radius: var(--dl-r-xl); overflow: hidden; min-height: 400px; }
.dl-slider__track { display: flex; height: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; scroll-behavior: smooth; }
.dl-slider__track::-webkit-scrollbar { display: none; }
.dl-slide { flex: 0 0 100%; scroll-snap-align: start; scroll-snap-stop: always; min-height: 400px; position: relative; }
.dl-slide--image { display: block; }
.dl-slide--image img { width: 100%; height: 100%; object-fit: cover; display: block; position: absolute; inset: 0; }
.dl-slide--compose { background: var(--dl-slide-bg, var(--dl-blue)); color: #fff; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; overflow: hidden; isolation: isolate; }
.dl-slide--compose::before { content: ""; position: absolute; width: 520px; height: 520px; border-radius: 999px; background: rgba(255, 255, 255, .07); left: -140px; top: -120px; z-index: -1; }
.dl-slide--compose::after { content: ""; position: absolute; width: 300px; height: 300px; border-radius: 999px; background: rgba(255, 255, 255, .06); left: 120px; bottom: -170px; z-index: -1; }
.dl-slide__text { padding: 48px 52px 72px; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.dl-slide__title { margin: 0; font-size: clamp(26px, 3vw, 42px); line-height: 1.35; font-weight: 900; text-wrap: balance; }
.dl-slide__desc { margin: 0; font-size: 17px; opacity: .92; max-width: 440px; }
.dl-slide__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 6px; }
.dl-slide__media { height: 100%; display: flex; align-items: center; justify-content: center; padding: 28px; }
.dl-slide__media img { max-height: 340px; width: auto; max-width: 100%; object-fit: contain; filter: drop-shadow(0 18px 30px rgba(0, 0, 0, .18)); }
.dl-slider__dots { position: absolute; bottom: 22px; right: 52px; display: flex; gap: 8px; align-items: center; z-index: 2; }
.dl-slider__dot { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 999px; background: rgba(255, 255, 255, .5); transition: width .2s; position: relative; }
.dl-slider__dot::after { content: ""; position: absolute; inset: -14px -6px; }
.dl-slider__dot.is-active { width: 26px; background: #fff; }
.dl-slider__nav { position: absolute; bottom: 14px; left: 18px; display: flex; gap: 8px; z-index: 2; }
.dl-slider__btn { width: 44px; height: 44px; border: 0; border-radius: 12px; background: rgba(255, 255, 255, .18); color: #fff; display: flex; align-items: center; justify-content: center; }
.dl-slider__btn:hover { background: rgba(255, 255, 255, .3); }
.dl-slider:has(.dl-slide--image) .dl-slider__dot { background: rgba(10, 22, 64, .35); }
.dl-slider:has(.dl-slide--image) .dl-slider__dot.is-active { background: var(--dl-blue); }

/* ---------- Banners ---------- */
.dl-banners { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.dl-banners--1 { grid-template-columns: minmax(0, 1fr); }
.dl-banner { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 140px; align-items: center; gap: 16px; min-height: 190px; padding: 26px 30px; border-radius: var(--dl-r-xl); color: var(--dl-ink); overflow: hidden; transition: transform .2s, box-shadow .2s; }
.dl-banner:hover { transform: translateY(-2px); box-shadow: var(--dl-shadow); color: var(--dl-ink); }
.dl-banner--side { grid-template-columns: minmax(0, 1fr) 120px; min-height: 0; }
.dl-banner--orange { background: var(--dl-orange-50); }
.dl-banner--blue { background: var(--dl-blue-50); }
.dl-banner--navy { background: var(--dl-navy); color: #fff; }
.dl-banner--navy:hover { color: #fff; }
.dl-banner--white { background: #fff; border: 1px solid var(--dl-line); }
.dl-banner__text { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.dl-banner__label { font-size: 13px; font-weight: 800; color: var(--dl-orange-900); }
.dl-banner--blue .dl-banner__label { color: var(--dl-blue); }
.dl-banner--navy .dl-banner__label { color: #ffc685; }
.dl-banner__title { font-size: 22px; font-weight: 900; line-height: 1.4; }
.dl-banner__desc { font-size: 14px; color: var(--dl-muted); }
.dl-banner--navy .dl-banner__desc { color: #c9d4fb; }
.dl-banner__btn { display: inline-flex; align-items: center; gap: 4px; margin-top: 2px; font-size: 14px; font-weight: 800; color: var(--dl-ink); }
.dl-banner--navy .dl-banner__btn { background: var(--dl-orange); color: var(--dl-ink); border-radius: 10px; padding: 8px 14px; }
.dl-banner--white .dl-banner__btn { background: var(--dl-blue); color: var(--dl-on-blue); border-radius: 10px; padding: 8px 14px; }
.dl-banner__media { aspect-ratio: 1; border-radius: 999px; background: rgba(255, 255, 255, .75); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.dl-banner--white .dl-banner__media, .dl-banner--navy .dl-banner__media { background: var(--dl-blue-50); }
.dl-banner__media img { width: 80%; height: 80%; object-fit: contain; }
.dl-banner--image { display: block; padding: 0; min-height: 0; background: none; }
.dl-banner--image img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: inherit; }

/* ---------- Category carousel ---------- */
.dl-cats { position: relative; padding: 22px 64px; }
.dl-cats__track { gap: 14px; }
.dl-cat { width: calc((100% - 7 * 14px) / 8); min-width: 112px; display: flex; flex-direction: column; align-items: center; gap: 10px; color: var(--dl-ink); font-size: 14px; font-weight: 700; text-align: center; line-height: 1.5; }
.dl-cat:hover { color: var(--dl-warm-2); }
.dl-cat__img { width: 100%; max-width: 128px; aspect-ratio: 1; border-radius: 26px; display: flex; align-items: center; justify-content: center; transition: transform .2s; }
.dl-cat__img.dl-tone-blue { background: #eef2ff; }
.dl-cat__img.dl-tone-orange { background: #fff4e8; }
.dl-cat:hover .dl-cat__img { transform: translateY(-3px); }
.dl-cat__img img { width: 78%; height: 78%; object-fit: contain; }
.dl-cats .dl-arrow--prev { right: 12px; }
.dl-cats .dl-arrow--next { left: 12px; }

/* ---------- Product rails ---------- */
.dl-rail { position: relative; }
.dl-rail__track { padding: 4px 2px 10px; margin: -4px -2px -10px; }
.dl-rail__track > .dl-card { width: calc((100% - 4 * 16px) / 5); min-width: 210px; }

/* Offers */
.dl-offers { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 24px; align-items: stretch; padding: 28px; border-radius: var(--dl-r-xl); background: var(--dl-orange); }
.dl-offers__info { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 18px; color: var(--dl-ink); }
.dl-offers__title { margin: 0; font-size: 32px; line-height: 1.3; font-weight: 900; }
.dl-countdown { display: flex; flex-direction: column; gap: 8px; }
.dl-countdown__label { font-size: 13px; font-weight: 800; }
.dl-countdown__boxes { display: flex; align-items: center; gap: 6px; }
.dl-countdown__boxes > span { width: 46px; height: 46px; border-radius: 12px; background: var(--dl-ink); color: #fff; font-weight: 800; font-size: 18px; display: flex; align-items: center; justify-content: center; }
.dl-countdown__boxes > .dl-countdown__days { width: auto; min-width: 46px; padding-inline: 10px; gap: 4px; background: #fff; color: var(--dl-ink); margin-inline-end: 4px; }
.dl-countdown__boxes > .dl-countdown__days[hidden] { display: none; }
.dl-countdown__days small { font-size: 12px; font-weight: 700; }
.dl-sched:not([hidden]) { display: contents; }
.dl-sched[hidden] { display: none; }
.dl-offers__rail .dl-rail__track > .dl-card { width: calc((100% - 3 * 16px) / 4); border-color: transparent; }
.dl-offers .dl-arrow--prev { right: -22px; }
.dl-offers .dl-arrow--next { left: -22px; }

/* Split lists */
.dl-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.dl-split__col { padding: 22px 24px; }
.dl-split__list { display: flex; flex-direction: column; gap: 12px; }
.dl-mini { display: grid; grid-template-columns: 80px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 10px; border-radius: var(--dl-r); background: var(--dl-bg); color: var(--dl-ink); }
.dl-mini:hover { color: var(--dl-ink); box-shadow: inset 0 0 0 1px var(--dl-warm-100); }
.dl-mini__img { width: 80px; height: 80px; border-radius: 12px; background: #fff; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.dl-mini__img img { width: 100%; height: 100%; object-fit: contain; }
.dl-mini__name { font-size: 14px; font-weight: 500; line-height: 1.7; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.dl-mini__price { white-space: nowrap; }
.dl-mini__price del { display: none; }

/* Services */
.dl-services { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 20px; padding: 22px 28px; }
.dl-service { display: flex; align-items: center; gap: 14px; }
.dl-service__ico { width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.dl-service__text { display: flex; flex-direction: column; line-height: 1.6; }
.dl-service__text strong { font-size: 15px; font-weight: 800; }
.dl-service__text span { font-size: 13px; color: var(--dl-muted); }

/* ---------- Product card ---------- */
.dl-card { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 14px; background: #fff; border: 1px solid var(--dl-line); border-radius: 16px; transition: box-shadow .2s, border-color .2s; min-width: 0; }
.dl-card:hover { border-color: var(--dl-warm-100); box-shadow: var(--dl-shadow); }
.dl-card__media { position: relative; display: block; aspect-ratio: 1; border-radius: 12px; background: var(--dl-bg); overflow: hidden; }
.dl-card__media img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; transition: transform .3s; }
.dl-card:hover .dl-card__media img { transform: scale(1.03); }
.dl-card__media .dl-badge { position: absolute; top: 10px; right: 10px; z-index: 1; }
.dl-card__colors { position: absolute; top: 6px; left: 4px; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.dl-card__colors-more { width: auto !important; height: auto !important; box-shadow: none !important; color: var(--dl-muted); font-size: 12px; font-weight: 700; line-height: 1; }
.dl-card__colors span { width: 12px; height: 12px; border-radius: 999px; box-shadow: 0 0 0 1px #c5d0ec; }
.dl-card__title { margin: 0; font-size: 14px; font-weight: 500; line-height: 1.75; height: 49px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.dl-card__title a { color: var(--dl-ink); }
.dl-card__title a:hover { color: var(--dl-warm-2); }
.dl-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 0; }
.dl-card__foot { position: relative; z-index: 1; display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; margin-top: auto; min-height: 44px; pointer-events: none; }
.dl-card__foot > * { pointer-events: auto; }
.dl-card__foot .dl-price { pointer-events: none; }
.dl-card__add { position: relative; z-index: 2; width: 44px; height: 44px; border-radius: 12px; background: var(--dl-warm-50); color: var(--dl-warm-2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: background .15s, color .15s; }
.dl-card__add:hover { background: var(--dl-warm-1); color: var(--dl-on-warm); }
.dl-card__add.loading { opacity: .6; pointer-events: none; }
.dl-card__add.added { background: var(--dl-warm-1); color: var(--dl-on-warm); }
.dl-card .added_to_cart { display: none !important; }
.dl-card__oos { font-size: 14px; font-weight: 700; color: var(--dl-muted-2); }
.dl-card__view { position: relative; z-index: 2; font-size: 13px; font-weight: 800; }
.dl-card.is-oos .dl-card__media img { opacity: .55; filter: grayscale(.6); }
.dl-card__note { position: relative; z-index: 1; align-self: flex-start; font-size: 12px; font-weight: 700; color: var(--dl-orange-900); background: var(--dl-orange-50); border-radius: 8px; padding: 3px 8px; line-height: 1.5; }
.dl-card__progress { height: 6px; border-radius: 999px; background: var(--dl-orange-50); overflow: hidden; }
.dl-card__progress span { display: block; height: 100%; background: var(--dl-orange); border-radius: 999px; }

/* Price */
.dl-price { display: flex; flex-direction: column; line-height: 1.5; min-width: 0; }
.dl-price del { font-size: 12.5px; color: var(--dl-muted-2); text-decoration-thickness: 1px; }
.dl-price del .woocommerce-Price-currencySymbol { display: none; }
.dl-price__now { font-size: 18px; font-weight: 900; color: var(--dl-ink); white-space: nowrap; }
.dl-price__now small { font-size: 12px; font-weight: 500; color: var(--dl-muted); }
.dl-price .woocommerce-Price-currencySymbol { font-size: 12px; font-weight: 500; color: var(--dl-muted); margin-inline-start: 2px; }
.dl-price .amount { white-space: nowrap; }

/* Product grid (archives, related) */
.dl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 1fr)); gap: 16px; }

/* ---------- Footer ---------- */
.dl-footer { background: #fff; color: var(--dl-g-text); border-top: 1px solid var(--dl-g-line); }
.dl-footer a { color: var(--dl-g-text); }
.dl-footer a:hover { color: var(--dl-warm-2); }
.dl-footer__services { list-style: none; margin: 0; padding: 28px 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 16px; border-bottom: 1px solid var(--dl-g-line); }
.dl-fsvc { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; font-size: 13px; font-weight: 600; line-height: 1.6; color: #424750; }
.dl-fsvc__ico { width: 56px; height: 56px; border-radius: 999px; background: var(--dl-warm-50); color: var(--dl-warm-2); display: flex; align-items: center; justify-content: center; }
.dl-footer__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px 48px; align-items: center; padding-block: 32px; }
.dl-footer__row + .dl-footer__row { border-top: 1px solid var(--dl-g-line); }
.dl-footer__title { display: block; color: var(--dl-ink); font-size: 15px; font-weight: 800; margin-bottom: 16px; }
.dl-footer__contact { display: flex; flex-flow: row wrap; gap: 6px 28px; font-size: 13.5px; font-family: var(--dl-font-num); }
.dl-footer__contact .dl-footer__title { width: 100%; margin-bottom: 4px; }
.dl-footer__contact p { display: flex; align-items: flex-start; gap: 8px; margin: 0; line-height: 1.9; }
.dl-footer__contact .dl-i { margin-top: 4px; flex-shrink: 0; color: var(--dl-warm-1); }
.dl-footer__contact p.dl-footer__phones { flex-wrap: wrap; gap: 8px 28px; }
.dl-footer__phones a { display: inline-flex; align-items: flex-start; gap: 8px; }
.dl-footer__side { display: flex; flex-direction: column; align-items: flex-end; gap: 14px; align-self: start; }
.dl-footer__totop { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border: 1px solid #dfe0e3; border-radius: 10px; background: #fff; color: var(--dl-ink); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.dl-footer__totop:hover { border-color: var(--dl-warm-1); color: var(--dl-warm-2); }
.dl-footer__social { display: flex; gap: 8px; }
.dl-footer__social a { width: 44px; height: 44px; border-radius: 12px; background: var(--dl-g-bg); color: var(--dl-ink-2); display: flex; align-items: center; justify-content: center; }
.dl-footer__social a:hover { background: var(--dl-warm-1); color: var(--dl-on-warm); }
.dl-footer__row--links { align-items: start; }
.dl-footer__cols { display: grid; grid-template-columns: repeat(3, minmax(0, 200px)); gap: 24px 40px; }
.dl-footer__col summary { display: flex; align-items: center; justify-content: space-between; color: var(--dl-ink); font-size: 15px; font-weight: 800; margin-bottom: 14px; list-style: none; }
.dl-footer__col summary::-webkit-details-marker { display: none; }
.dl-footer__col summary .dl-i { display: none; }
.dl-footer__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; font-size: 13.5px; }
.dl-footer__col li a { display: inline-flex; align-items: center; gap: 10px; padding: 4px 0; }
.dl-footer__badges { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 14px; }
.dl-footer__badges img { max-height: 130px; width: auto; height: auto; }
.dl-footer__badges a { display: inline-flex; }
.dl-footer__about p { margin: 0; font-size: 13px; line-height: 2.1; text-align: justify; color: #81858b; }
.dl-footer__biglogo { display: flex; justify-content: flex-end; }
.dl-footer__biglogo .dl-logo__img, .dl-footer__biglogo-img { height: 64px !important; width: auto; max-width: 300px; object-fit: contain; }
.dl-footer__bottom { background: #f7f7f8; color: #81858b; border-top: 1px solid var(--dl-g-line); text-align: center; font-size: 12.5px; font-weight: 500; padding-block: 16px; }
.dl-totop { width: 44px; height: 44px; border-radius: 12px; border: 0; background: rgba(255, 255, 255, .08); color: #fff; display: flex; align-items: center; justify-content: center; }
.dl-totop:hover { background: var(--dl-warm-1); }

/* ---------- Toast ---------- */
.dl-toast { position: fixed; z-index: 400; right: 16px; left: 16px; width: max-content; margin-inline: auto; bottom: calc(24px + var(--dl-bottomnav-h)); display: flex; align-items: center; gap: 12px; max-width: calc(100vw - 32px); padding: 12px 14px 12px 12px; border-radius: 14px; background: var(--dl-ink); color: #fff; box-shadow: var(--dl-shadow-lg); font-size: 14px; animation: dl-toast .25s ease-out; }
@keyframes dl-toast { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.dl-toast .dl-i { color: #6ee7a8; }
.dl-toast--info .dl-i { color: #ffc685; }
.dl-toast a { color: #fff; font-weight: 800; background: rgba(255, 255, 255, .14); border-radius: 10px; padding: 6px 12px; white-space: nowrap; }

/* ---------- Search overlay (mobile backdrop) ---------- */
.dl-search-backdrop { position: fixed; inset: 0; z-index: 40; background: rgba(10, 22, 64, .45); }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1199px) {
	.dl-header__row { gap: 20px; }
	.dl-nav__phone { display: none; }
	.dl-mega__cols { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.dl-footer__cols { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
	.dl-rail__track > .dl-card { width: calc((100% - 3 * 16px) / 4); }
	.dl-offers__rail .dl-rail__track > .dl-card { width: calc((100% - 2 * 16px) / 3); }
}

@media (max-width: 1023px) {
	:root { --dl-pad: 16px; --dl-bottomnav-h: calc(66px + env(safe-area-inset-bottom)); }
	body { font-size: 14px; }
	.dl-nav { display: none; }
	.dl-header { border-bottom: 1px solid var(--dl-g-line); }
	.dl-header__row { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "brand actions" "search search"; gap: 8px 10px; padding-block: 0 12px; min-height: 0; }
	.dl-header__brand { height: 62px; }
	.dl-header__brand .dl-logo__img { height: 34px !important; }
	.dl-header__actions { gap: 8px; height: 62px; }
	.dl-hbtn { height: 44px; min-width: 44px; width: 44px; padding: 0; border-color: transparent; }
	.dl-hbtn:hover { background: var(--dl-g-bg); }
	.dl-hbtn--account { display: none; }
	.dl-hbtn--menu { display: inline-flex; }
	.dl-search { max-width: none; }
	.dl-search__input { height: 44px; font-size: 16px; }
	.dl-search__panel { max-height: calc(100vh - 150px - var(--dl-bottomnav-h)); max-height: calc(100dvh - 150px - var(--dl-bottomnav-h)); }

	.dl-bottomnav { position: fixed; z-index: 90; right: 0; left: 0; bottom: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: center; height: var(--dl-bottomnav-h); padding-bottom: env(safe-area-inset-bottom); background: #fff; border-top: 1px solid var(--dl-line); box-shadow: 0 -6px 20px rgba(10, 22, 64, .06); }
	.dl-bottomnav a, .dl-bottomnav button { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; height: 100%; border: 0; background: none; color: #81858b; font-size: 11px; font-weight: 500; }
	.dl-bottomnav [aria-current="page"], .dl-bottomnav [aria-expanded="true"] { color: var(--dl-warm-2); font-weight: 800; }
	.dl-bottomnav [aria-current="page"]::before, .dl-bottomnav [aria-expanded="true"]::before { content: ""; position: absolute; top: 0; width: 28px; height: 3px; border-radius: 0 0 3px 3px; background: var(--dl-warm-1); }
	.dl-catnav-open .dl-bottomnav [aria-current="page"]:not([aria-expanded="true"]) { color: #81858b; font-weight: 500; }
	.dl-catnav-open .dl-bottomnav [aria-current="page"]:not([aria-expanded="true"])::before { display: none; }
	.dl-bottomnav__ico { position: relative; display: flex; }
	.dl-bottomnav .dl-cart-count { top: -6px; left: -10px; border-color: #fff; min-width: 20px; height: 20px; font-size: 11px; }

	.dl-home { gap: 28px; padding-block: 16px 32px; }
	.dl-sec-title { font-size: 18px; }
	.dl-hero--split { grid-template-columns: minmax(0, 1fr); }
	.dl-hero__side { flex-direction: row; gap: 12px; }
	.dl-hero__side .dl-banner { grid-template-columns: minmax(0, 1fr); text-align: right; padding: 16px; }
	.dl-hero__side .dl-banner__media { display: none; }
	.dl-banner__title { font-size: 18px; }
	.dl-slider, .dl-slide { min-height: 0; }
	.dl-slide--compose { grid-template-columns: minmax(0, 1fr) 120px; }
	.dl-slide__text { padding: 22px 20px 56px; gap: 10px; }
	.dl-slide__desc { font-size: 13.5px; }
	.dl-slide__media { padding: 12px; }
	.dl-slide__media img { max-height: 120px; }
	.dl-slide--image { aspect-ratio: 2 / 1; }
	.dl-slider__dots { right: 20px; bottom: 18px; }
	.dl-slider__nav { display: none; }
	.dl-slide__btns .dl-btn { min-height: 44px; padding: 0 16px; font-size: 14px; }
	.dl-slide__btns .dl-btn--outline-light { display: none; }

	.dl-cats { padding: 16px 14px; }
	.dl-cat { width: 92px; min-width: 92px; font-size: 12px; }
	.dl-cat__img { border-radius: 20px; }
	.dl-cats .dl-arrow { display: none; }
	.dl-arrow { display: none; }
	.dl-scroller { gap: 10px; margin-inline: calc(var(--dl-pad) * -1); padding-inline: var(--dl-pad); scroll-padding-inline: var(--dl-pad); }
	.dl-rail__track { margin-inline: calc(var(--dl-pad) * -1); padding-inline: var(--dl-pad); }
	.dl-rail__track > .dl-card, .dl-offers__rail .dl-rail__track > .dl-card { width: 168px; min-width: 168px; }
	.dl-card { padding: 10px; gap: 8px; border-radius: 14px; }
	.dl-card__title { font-size: 12.5px; height: 42px; line-height: 1.7; }
	.dl-price__now { font-size: 14.5px; }
	.dl-price del { font-size: 11px; }
	.dl-card .dl-price .woocommerce-Price-currencySymbol { font-size: 10px; margin-inline-start: 1px; }
	.dl-card__foot { gap: 4px; min-height: 36px; }
	.dl-card__add { width: 34px; height: 34px; border-radius: 10px; }
	.dl-card__add .dl-i { width: 18px; height: 18px; }

	.dl-offers { grid-template-columns: minmax(0, 1fr); padding: 16px 0; gap: 12px; border-radius: 20px; }
	.dl-offers__info { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; padding-inline: 16px; gap: 10px; }
	.dl-offers__title { font-size: 20px; }
	.dl-countdown__label { display: none; }
	.dl-countdown__boxes > span { width: 34px; height: 34px; font-size: 14px; border-radius: 9px; }
	.dl-countdown__boxes > .dl-countdown__days { width: auto; min-width: 34px; padding-inline: 8px; }
	.dl-offers__info .dl-btn { display: none; }
	.dl-offers__rail .dl-rail__track { margin-inline: 0; padding-inline: 16px; }

	.dl-banners, .dl-split { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.dl-banner { grid-template-columns: minmax(0, 1fr) 96px; padding: 18px 20px; min-height: 0; border-radius: 20px; }
	.dl-split__col { padding: 16px; }
	.dl-mini { grid-template-columns: 64px minmax(0, 1fr) auto; }
	.dl-mini__img { width: 64px; height: 64px; }
	.dl-services { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 0; background: none; border: 0; }
	.dl-service { background: #fff; border: 1px solid var(--dl-line); border-radius: 14px; padding: 12px; gap: 10px; }
	.dl-service__ico { width: 40px; height: 40px; border-radius: 12px; }
	.dl-service__text strong { font-size: 12.5px; }
	.dl-service__text span { display: none; }

	.dl-footer__services { grid-template-columns: repeat(auto-fit, minmax(72px, 1fr)); gap: 14px 6px; padding-block: 20px; }
	.dl-fsvc { font-size: 11.5px; gap: 8px; }
	.dl-fsvc__ico { width: 46px; height: 46px; }
	.dl-footer__contact { flex-direction: column; }
	.dl-footer__row { grid-template-columns: minmax(0, 1fr); gap: 18px; padding-block: 24px; }
	.dl-footer__side { flex-direction: row-reverse; justify-content: space-between; align-items: center; width: 100%; }
	.dl-footer__contact p.dl-footer__phones { flex-direction: column; }
	.dl-footer__cols { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.dl-footer__col { border-bottom: 1px solid var(--dl-line); }
	.dl-footer__col summary { min-height: 50px; margin: 0; cursor: pointer; font-size: 15px; }
	.dl-footer__col summary .dl-i { display: block; transition: transform .2s; }
	.dl-footer__col[open] summary .dl-i { transform: rotate(180deg); }
	.dl-footer__col ul { padding-bottom: 12px; }
	.dl-footer__badges { justify-content: center; }
	.dl-footer__badges img { max-height: 96px; }
	.dl-footer__row--about { text-align: center; }
	.dl-footer__biglogo { justify-content: center; order: -1; }
	.dl-footer__biglogo .dl-logo__img, .dl-footer__biglogo-img { height: 48px !important; }
	.dl-footer__bottom { font-size: 12.5px; }
}

@media (min-width: 1024px) {
	.dl-footer__col summary { pointer-events: none; }
}

@media (max-width: 479px) {
	.dl-sv__frame { width: 100vw; height: 100vh; height: 100dvh; border-radius: 0; }
	.dl-rail__track > .dl-card, .dl-offers__rail .dl-rail__track > .dl-card { width: 156px; min-width: 156px; }
	.dl-hero__side .dl-banner__label { display: none; }
}

/* ==========================================================================
   Cart drawer, «added to cart» popup
   ========================================================================== */
.dl-spinner { width: 22px; height: 22px; border-radius: 999px; border: 3px solid var(--dl-warm-100); border-top-color: var(--dl-warm-1); animation: dl-spin .7s linear infinite; display: inline-block; }
@keyframes dl-spin { to { transform: rotate(360deg); } }

.dl-mc { position: fixed; inset: 0; z-index: 260; }
.dl-mc[hidden] { display: none; }
.dl-mc__backdrop { position: absolute; inset: 0; background: rgba(10, 22, 64, .5); opacity: 0; transition: opacity .2s; }
.dl-mc__panel { position: absolute; top: 0; bottom: 0; left: 0; width: min(420px, 92vw); background: #fff; display: flex; flex-direction: column; box-shadow: 12px 0 40px rgba(10, 22, 64, .25); transform: translateX(-100%); transition: transform .22s ease-out; }
.dl-mc.is-open .dl-mc__backdrop { opacity: 1; }
.dl-mc.is-open .dl-mc__panel { transform: none; }
.dl-mc__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 64px; padding: 0 16px; border-bottom: 1px solid var(--dl-line); flex-shrink: 0; }
.dl-mc__head strong { display: flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 900; }
.dl-mc-count { font-family: var(--dl-font-num); font-size: 12px; font-weight: 700; color: var(--dl-muted); background: var(--dl-bg); border-radius: 999px; padding: 2px 10px; }
.dl-mc-count:empty { display: none; }
.dl-mc__body { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.dl-mc__body .widget_shopping_cart_content { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.dl-mc__loading { flex: 1; display: flex; align-items: center; justify-content: center; gap: 10px; color: var(--dl-muted); font-size: 14px; padding: 40px 16px; }
.dl-mc .woocommerce-mini-cart { list-style: none; margin: 0; padding: 6px 16px; flex: 1; overflow-y: auto; overscroll-behavior: contain; }
.dl-mc .woocommerce-mini-cart-item { position: relative; display: grid; grid-template-columns: 76px minmax(0, 1fr) 36px; gap: 12px; align-items: start; padding: 14px 0; border-bottom: 1px solid var(--dl-line); transition: opacity .2s; }
.dl-mc .woocommerce-mini-cart-item:last-child { border-bottom: 0; }
.dl-mc .woocommerce-mini-cart-item.is-removing { opacity: .4; pointer-events: none; }
.dl-mci__img img { width: 76px; height: 76px; object-fit: contain; border-radius: 12px; background: var(--dl-bg); display: block; }
.dl-mci__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.dl-mci__name { color: var(--dl-ink); font-size: 13.5px; font-weight: 700; line-height: 1.8; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.dl-mci__name:hover { color: var(--dl-warm-2); }
.dl-mc dl.variation { margin: 0; font-size: 12px; color: var(--dl-muted); display: grid; grid-template-columns: auto 1fr; gap: 0 6px; }
.dl-mc dl.variation dt, .dl-mc dl.variation dd, .dl-mc dl.variation p { margin: 0; }
.dl-mc .woocommerce-mini-cart-item .quantity { font-family: var(--dl-font-num); font-size: 13px; color: var(--dl-muted); }
.dl-mc .woocommerce-mini-cart-item .quantity .amount { color: var(--dl-ink); font-weight: 800; font-size: 14px; }
.dl-mc a.remove { width: 36px; height: 36px; border-radius: 10px; background: var(--dl-bg); color: var(--dl-muted); font-size: 20px; line-height: 1; display: flex; align-items: center; justify-content: center; }
.dl-mc a.remove:hover { background: #fdecee; color: var(--dl-red); }
.dl-mc .woocommerce-mini-cart__total { display: flex; align-items: center; justify-content: space-between; margin: 0; padding: 14px 16px; border-top: 1px solid var(--dl-line); background: var(--dl-bg); font-size: 14px; font-weight: 700; flex-shrink: 0; }
.dl-mc .woocommerce-mini-cart__total .amount { font-family: var(--dl-font-num); font-size: 17px; font-weight: 900; color: var(--dl-warm-2); }
.dl-mc .woocommerce-mini-cart__buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; padding: 12px 16px calc(14px + env(safe-area-inset-bottom)); flex-shrink: 0; }
.dl-mc .woocommerce-mini-cart__buttons .button { display: flex; align-items: center; justify-content: center; min-height: 50px; border-radius: var(--dl-r); font-weight: 800; font-size: 14.5px; }
.dl-mc .dl-mc__cartbtn { background: #fff; color: var(--dl-ink); box-shadow: inset 0 0 0 1px var(--dl-line-2); }
.dl-mc .dl-mc__cartbtn:hover { color: var(--dl-warm-2); box-shadow: inset 0 0 0 1px var(--dl-warm-1); }
.dl-mc .dl-mc__checkout { background: var(--dl-warm-1); color: var(--dl-on-warm); }
.dl-mc .dl-mc__checkout:hover { background: var(--dl-warm-2); color: var(--dl-on-warm); }
.dl-mc__empty { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 40px 16px; text-align: center; color: var(--dl-muted); }
.dl-mc__empty .dl-i { color: var(--dl-line-2); }
.dl-mc__empty p { margin: 0; font-weight: 700; }
.dl-mc__empty .button { display: inline-flex; align-items: center; min-height: 44px; padding: 0 20px; border-radius: 12px; background: var(--dl-warm-50); color: var(--dl-warm-2); font-weight: 800; }

.single_add_to_cart_button.loading { position: relative; color: transparent !important; pointer-events: none; }
.single_add_to_cart_button.loading::after { content: ""; position: absolute; inset: 0; margin: auto; width: 22px; height: 22px; border-radius: 999px; border: 3px solid rgba(255, 255, 255, .35); border-top-color: #fff; animation: dl-spin .7s linear infinite; }

.dl-added { position: fixed; inset: 0; z-index: 270; display: flex; align-items: center; justify-content: center; padding: 16px; }
.dl-added[hidden] { display: none; }
.dl-added__backdrop { position: absolute; inset: 0; background: rgba(10, 22, 64, .5); opacity: 0; transition: opacity .2s; }
.dl-added__box { position: relative; width: min(460px, 100%); max-height: calc(100vh - 32px); overflow-y: auto; background: #fff; border-radius: var(--dl-r-lg); box-shadow: var(--dl-shadow-lg); padding: 18px 20px 14px; opacity: 0; transform: translateY(12px) scale(.98); transition: opacity .2s, transform .2s; }
.dl-added.is-open .dl-added__backdrop { opacity: 1; }
.dl-added.is-open .dl-added__box { opacity: 1; transform: none; }
.dl-added__head { display: flex; align-items: center; gap: 10px; padding-bottom: 14px; border-bottom: 1px solid var(--dl-line); }
.dl-added__head strong { flex: 1; font-size: 16px; font-weight: 900; color: var(--dl-green); }
.dl-added__ok { width: 32px; height: 32px; border-radius: 999px; background: #e3f6eb; color: var(--dl-green); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.dl-added__item { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 14px; align-items: center; padding: 16px 0; }
.dl-added__item:empty { display: none; }
.dl-added__img img { width: 88px; height: 88px; object-fit: contain; border-radius: 14px; background: var(--dl-bg); display: block; }
.dl-added__info { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.dl-added__name { font-size: 14px; font-weight: 800; line-height: 1.8; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.dl-added__meta dl { margin: 0; font-size: 12px; color: var(--dl-muted); display: grid; grid-template-columns: auto 1fr; gap: 0 6px; }
.dl-added__meta dt, .dl-added__meta dd, .dl-added__meta p { margin: 0; }
.dl-added__price { font-family: var(--dl-font-num); font-size: 15px; font-weight: 900; color: var(--dl-ink); }
.dl-added__qty { color: var(--dl-muted); font-weight: 700; font-size: 13px; }
.dl-added__sum { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 14px; border-radius: 12px; background: var(--dl-bg); font-family: var(--dl-font-num); font-size: 13.5px; font-weight: 700; color: var(--dl-muted); }
.dl-added__sum:empty { display: none; }
.dl-added__sum b { color: var(--dl-warm-2); font-size: 16px; font-weight: 900; }
.dl-added__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; }
.dl-added__actions .dl-btn { min-height: 50px; }
.dl-added__continue { display: block; width: 100%; margin-top: 6px; min-height: 44px; border: 0; background: none; color: var(--dl-muted); font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.dl-added__continue:hover { color: var(--dl-warm-2); }

@media (max-width: 639px) {
	.dl-added { align-items: flex-end; padding: 0; }
	.dl-added__box { width: 100%; border-radius: var(--dl-r-lg) var(--dl-r-lg) 0 0; padding-bottom: calc(10px + env(safe-area-inset-bottom)); transform: translateY(40px); }
	.dl-added__item { grid-template-columns: 72px minmax(0, 1fr); }
	.dl-added__img img { width: 72px; height: 72px; }
	.dl-mc .woocommerce-mini-cart-item { grid-template-columns: 64px minmax(0, 1fr) 36px; }
	.dl-mci__img img { width: 64px; height: 64px; }
}

/* Checkout: country kept for taxes/shipping but not shown */
.dl-hidden-field { display: none !important; }

/* ==========================================================================
   Sales pause («توقف فروش», 1.6.0): message bar, buy box note, hidden buy buttons.
   ========================================================================== */
.dl-pausebar { background: var(--dl-warm-50); color: var(--dl-warm-3); border-bottom: 1px solid var(--dl-warm-100); font-size: 13.5px; font-weight: 700; }
.dl-pausebar .dl-container { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding-block: 6px; text-align: center; }
.dl-pausebar .dl-i { flex-shrink: 0; }
.dl-buy__paused { display: flex; align-items: flex-start; gap: 8px; margin: 12px 0; padding: 12px 14px; border-radius: var(--dl-r); background: var(--dl-warm-50); color: var(--dl-warm-3); border: 1px solid var(--dl-warm-100); font-size: 14px; font-weight: 700; line-height: 1.8; }
.dl-buy__paused .dl-i { flex-shrink: 0; margin-top: 3px; }
.dl-sales-paused .single_add_to_cart_button,
.dl-sales-paused .woocommerce-variation-add-to-cart,
.dl-sales-paused [data-dlp-add],
.dl-sales-paused .dl-card__add.add_to_cart_button,
.dl-sales-paused .dl-mc__checkout,
.dl-sales-paused .wc-proceed-to-checkout,
.dl-sales-paused #place_order,
.dl-sales-paused .wc-block-components-checkout-place-order-button { display: none !important; }

/* ---------- Motion (1.7.0): smooth hovers, image fade-in, reveal on scroll, page cross-fade ---------- */
.dl-card { transition: box-shadow .25s ease, border-color .25s ease; }
.dl-card__media img { transition: transform .35s cubic-bezier(.2, .7, .2, 1), opacity .4s ease; }
.dl-hbtn, .dl-catbtn, .dl-chip, .page-numbers, .dl-card__add { transition: background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .15s ease; }
.dl-btn:active, .dl-hbtn:active, .dl-card__add:active, .button:active { transform: scale(.97); }
/* «dl-js» is set by the inline head script. */
.dl-js img[loading="lazy"] { transition: opacity .45s ease, transform .35s cubic-bezier(.2, .7, .2, 1); }
.dl-js img[loading="lazy"]:not(.is-loaded) { opacity: 0; }
/* Added by main.js only to sections that start below the first screen. */
.dl-reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s cubic-bezier(.2, .7, .2, 1); }
.dl-reveal.is-in { opacity: 1; transform: none; }
.dl-totop-fab { position: fixed; z-index: 80; left: 20px; bottom: calc(20px + var(--dl-bottomnav-h)); display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border: 1px solid var(--dl-line); border-radius: 14px; background: #fff; color: var(--dl-ink); box-shadow: 0 8px 24px rgba(10, 22, 64, .14); cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .25s ease, transform .25s ease, visibility .25s, background-color .2s ease, color .2s ease; }
.dl-totop-fab.is-on { opacity: 1; visibility: visible; transform: none; }
.dl-totop-fab:hover { background: var(--dl-warm-1); border-color: var(--dl-warm-1); color: var(--dl-on-warm); }
@media (max-width: 1023px) { .dl-totop-fab { left: 12px; bottom: calc(12px + var(--dl-bottomnav-h)); width: 42px; height: 42px; } }
/* Page change: a short cross-fade (opacity only, so kept with reduced motion too). */
@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: .22s !important; }
/* Reduced motion (OS setting): the base rule stops every transition; fades and color
   changes come back here, anything that moves or scales stays off. */
@media (prefers-reduced-motion: reduce) {
	.dl-card, .dl-btn, .dl-hbtn, .dl-catbtn, .dl-chip, .page-numbers, .dl-card__add, .dl-banner, .dl-ccard, .dl-about__svc li, .dl-quick a, .dl-mega__top, .dl-mega__tile, .dl-sres__item, .dl-header__bar, .dl-header { transition-property: background-color, color, border-color, box-shadow !important; transition-duration: .2s !important; }
	.dl-js img[loading="lazy"], .dl-reveal, .dl-totop-fab { transition-property: opacity, visibility, background-color, color !important; transition-duration: .45s !important; }
	.dl-reveal, .dl-totop-fab, .dl-btn:active, .dl-hbtn:active, .dl-card__add:active, .button:active,
	.dl-card:hover .dl-card__media img, .dl-banner:hover, .dl-cat:hover .dl-cat__img, a.dl-shortcut:hover .dl-shortcut__ico, .dl-subcat:hover .dl-subcat__ring, .dl-ccard:hover, .dl-csocial__a:hover, .dl-about__svc li:hover { transform: none !important; }
}

/* ---------- Sticky header (1.7.0) ----------
   main.js adds «dl-hdr-sticky» to <html>. The logo/search bar stays on screen; while scrolling
   down the menu bar (desktop) or the logo row (mobile) slides away and comes back on the way up.
   --dl-hdr-off = bottom edge of the visible header; other sticky bars sit below it. */
body { --dl-ab: 0px; --dl-hdr-off: var(--dl-ab); }
@media (min-width: 783px) { body.admin-bar { --dl-ab: 32px; } }
@media (min-width: 601px) and (max-width: 782px) { body.admin-bar { --dl-ab: 46px; } }
.dl-hdr-sticky .dl-header { position: sticky; top: var(--dl-ab); }
.dl-hdr-sticky .dl-header__bar { z-index: 2; transition: box-shadow .25s ease; }
.dl-hdr-sticky .dl-nav { z-index: 1; transition: transform .3s cubic-bezier(.2, .7, .2, 1), visibility .3s; }
.dl-header.is-compact { pointer-events: none; }
.dl-header.is-compact .dl-header__bar { pointer-events: auto; box-shadow: 0 8px 18px -12px rgba(10, 22, 64, .3); }
.dl-header.is-compact .dl-nav { transform: translateY(-100%); visibility: hidden; }
@media (max-width: 1023px) {
	.dl-hdr-sticky .dl-header { transition: transform .3s cubic-bezier(.2, .7, .2, 1), box-shadow .25s ease; }
	.dl-header.is-stuck { box-shadow: 0 8px 18px -12px rgba(10, 22, 64, .3); }
	.dl-header.is-compact { pointer-events: auto; transform: translateY(-62px); }
	.dl-header.is-compact .dl-header__bar { box-shadow: none; }
}
