/* ==========================================================================
   DIGIMART — MAIN STYLESHEET (components)
   Loads on every page, deferred. Above-the-fold styles live in critical.css.
   Brand values come from tokens.css — never hard-code a colour in here.
   --------------------------------------------------------------------------
   1  Typography helpers      8  Accordion
   2  Section headings        9  Modal
   3  Cards (product/post)   10  Forms + newsletter
   4  Badges + price         11  Toast + skeleton
   5  Category tiles         12  Mega menu + mobile nav
   6  Glass panels           13  Search overlay
   7  Review + stats         14  Footer
                             15  Misc (pager, crumbs, 404, cookie, top)
   ========================================================================== */

/* 1 ---- Typography helpers ---------------------------------------------- */
p{margin-bottom:var(--dm-s3)}
p:last-child{margin-bottom:0}
strong,b{font-weight:600}
small{font-size:var(--dm-t-sm)}
blockquote{border-left:3px solid var(--dm-primary);padding-left:var(--dm-s4);
  margin-block:var(--dm-s5);font-size:var(--dm-t-lg);font-style:italic;color:var(--dm-text-muted)}
hr{border:0;border-top:1px solid var(--dm-border);margin-block:var(--dm-s6)}
.dm-gradient-text{background:var(--dm-grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.dm-lead{font-size:var(--dm-t-lg);color:var(--dm-text-muted);line-height:var(--dm-lh-body)}

/* 2 ---- Section headings ------------------------------------------------ */
.dm-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--dm-s4);
  margin-bottom:var(--dm-s6);flex-wrap:wrap}
.dm-head--center{flex-direction:column;align-items:center;text-align:center}
.dm-head--center .dm-head__text{max-width:60ch}
.dm-head__eyebrow{display:inline-block;font-size:var(--dm-t-xs);font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--dm-primary);margin-bottom:var(--dm-s2)}
.dm-head__title{font-size:var(--dm-t-3xl)}
.dm-head__sub{margin-top:var(--dm-s2);font-size:var(--dm-t-lg);color:var(--dm-text-muted);max-width:60ch}
.dm-head__link{display:inline-flex;align-items:center;gap:6px;font-size:var(--dm-t-sm);
  font-weight:600;color:var(--dm-primary);flex-shrink:0}
.dm-head__link svg{transition:transform var(--dm-base) var(--dm-ease)}
.dm-head__link:hover svg{transform:translateX(4px)}
.dm-head--light .dm-head__title{color:#fff}
.dm-head--light .dm-head__sub{color:var(--dm-on-dark-mute)}
.dm-head--light .dm-head__eyebrow{color:var(--dm-gold)}
.dm-head--light .dm-head__link{color:var(--dm-gold)}

/* 3 ---- Cards ----------------------------------------------------------- */
.dm-grid{display:grid;gap:var(--dm-s4)}
.dm-grid--2{grid-template-columns:repeat(2,1fr)}
.dm-grid--3{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.dm-grid--4{grid-template-columns:repeat(2,1fr)}
@media (min-width:768px){.dm-grid--4{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1024px){.dm-grid--4{grid-template-columns:repeat(4,1fr)}}

.dm-card{position:relative;display:flex;flex-direction:column;background:var(--dm-surface);
  border:1px solid var(--dm-border);border-radius:var(--dm-r-xl);overflow:hidden;
  box-shadow:var(--dm-sh-1);
  transition:transform var(--dm-base) var(--dm-ease),box-shadow var(--dm-base) var(--dm-ease),border-color var(--dm-base) var(--dm-ease)}
.dm-card:hover{transform:translateY(-4px);box-shadow:var(--dm-sh-3);border-color:rgba(109,74,255,.28)}
.dm-card__media{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--dm-muted)}
.dm-card__media img{width:100%;height:100%;object-fit:cover;
  transition:transform var(--dm-slow) var(--dm-ease)}
.dm-card:hover .dm-card__media img{transform:scale(1.05)}
.dm-card__body{display:flex;flex-direction:column;gap:8px;padding:var(--dm-s3) var(--dm-s3) var(--dm-s4)}
.dm-card__cat{font-size:var(--dm-t-xs);font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:var(--dm-text-muted)}
.dm-card__title{font-size:var(--dm-t-base);font-weight:600;line-height:var(--dm-lh-snug);
  font-family:var(--dm-font-body);letter-spacing:0}
.dm-card__title a{color:var(--dm-ink)}
.dm-card__title a:hover{color:var(--dm-primary)}
.dm-card__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--dm-s2);margin-top:auto;padding-top:var(--dm-s2)}
.dm-card__actions{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:8px;
  opacity:0;transform:translateX(8px);transition:all var(--dm-base) var(--dm-ease);z-index:2}
.dm-card:hover .dm-card__actions,.dm-card__actions:focus-within{opacity:1;transform:none}
@media (hover:none){.dm-card__actions{opacity:1;transform:none}}
.dm-card__action{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;
  border-radius:var(--dm-r-full);background:rgba(255,255,255,.92);backdrop-filter:blur(8px);
  color:var(--dm-ink);box-shadow:var(--dm-sh-2);transition:all var(--dm-fast) var(--dm-ease)}
.dm-card__action:hover{background:var(--dm-primary);color:#fff;transform:scale(1.08)}
.dm-card__action.is-active{background:var(--dm-danger);color:#fff}
.dm-card__quick{position:absolute;left:10px;right:10px;bottom:10px;opacity:0;transform:translateY(8px);
  transition:all var(--dm-base) var(--dm-ease);z-index:2}
.dm-card:hover .dm-card__quick{opacity:1;transform:none}
@media (hover:none){.dm-card__quick{display:none}}

/* Wide card — bundles */
.dm-card--wide{flex-direction:row;align-items:stretch}
.dm-card--wide .dm-card__media{aspect-ratio:1;width:42%;flex-shrink:0}
.dm-card--wide .dm-card__body{padding:var(--dm-s4);justify-content:center}
@media (max-width:639px){.dm-card--wide{flex-direction:column}.dm-card--wide .dm-card__media{width:100%;aspect-ratio:16/10}}

/* 4 ---- Badges + price -------------------------------------------------- */
.dm-badges{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;
  align-items:flex-start;gap:6px;z-index:2}
.dm-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:var(--dm-r-full);
  font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1.4;
  background:var(--dm-ink);color:#fff}
.dm-badge--best{background:var(--dm-grad-gold);color:var(--dm-ink)}
.dm-badge--new{background:var(--dm-grad-btn);color:#fff}
.dm-badge--free{background:var(--dm-success);color:#fff}
.dm-badge--save{background:var(--dm-danger);color:#fff}
.dm-badge--soft{background:rgba(109,74,255,.1);color:var(--dm-primary)}

.dm-price{display:flex;align-items:baseline;gap:8px;font-family:var(--dm-font-head);
  font-weight:700;font-size:var(--dm-t-lg);color:var(--dm-ink)}
.dm-price del{font-family:var(--dm-font-body);font-size:var(--dm-t-sm);font-weight:400;
  color:var(--dm-text-muted);text-decoration:line-through}
.dm-price ins{text-decoration:none;color:var(--dm-ink)}
.dm-price--free{color:var(--dm-success)}

.dm-stars{display:inline-flex;align-items:center;gap:1px}
.dm-stars svg.is-on{color:var(--dm-gold)}
.dm-stars svg.is-off{color:var(--dm-border)}
.dm-stars__count{margin-left:6px;font-size:var(--dm-t-xs);color:var(--dm-text-muted)}

/* 5 ---- Category tiles -------------------------------------------------- */
.dm-tiles{display:grid;gap:var(--dm-s3);grid-template-columns:repeat(2,1fr)}
@media (min-width:640px){.dm-tiles{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1024px){.dm-tiles{grid-template-columns:repeat(4,1fr)}}
.dm-tile{position:relative;display:flex;flex-direction:column;gap:var(--dm-s2);
  padding:var(--dm-s4);border-radius:var(--dm-r-lg);background:var(--dm-surface);
  border:1px solid var(--dm-border);overflow:hidden;
  transition:all var(--dm-base) var(--dm-ease)}
.dm-tile::after{content:"";position:absolute;inset:0;opacity:0;background:var(--dm-grad-btn);
  transition:opacity var(--dm-base) var(--dm-ease);z-index:0}
.dm-tile:hover{transform:translateY(-4px);box-shadow:var(--dm-sh-3);border-color:transparent}
.dm-tile:hover::after{opacity:1}
.dm-tile>*{position:relative;z-index:1}
.dm-tile__icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;
  border-radius:var(--dm-r-md);background:rgba(109,74,255,.1);color:var(--dm-primary);
  transition:all var(--dm-base) var(--dm-ease)}
.dm-tile:hover .dm-tile__icon{background:rgba(255,255,255,.2);color:#fff}
.dm-tile__name{font-family:var(--dm-font-head);font-weight:700;font-size:var(--dm-t-base);color:var(--dm-ink)}
.dm-tile__count{font-size:var(--dm-t-xs);color:var(--dm-text-muted)}
.dm-tile:hover .dm-tile__name,.dm-tile:hover .dm-tile__count{color:#fff}

/* 6 ---- Glass panels (dark backgrounds only) ---------------------------- */
.dm-glass{background:var(--dm-glass-bg);border:var(--dm-glass-border);border-radius:var(--dm-r-2xl);
  backdrop-filter:var(--dm-glass-blur);-webkit-backdrop-filter:var(--dm-glass-blur);
  box-shadow:0 8px 40px rgba(0,0,0,.2)}
.dm-glass--pad{padding:var(--dm-s5)}

/* 7 ---- Reviews + stats ------------------------------------------------- */
.dm-review{display:flex;flex-direction:column;gap:var(--dm-s3);padding:var(--dm-s5);
  background:var(--dm-surface);border:1px solid var(--dm-border);border-radius:var(--dm-r-xl);
  box-shadow:var(--dm-sh-1);transition:all var(--dm-base) var(--dm-ease)}
.dm-review:hover{box-shadow:var(--dm-sh-2);transform:translateY(-3px)}
.dm-review__quote{color:rgba(109,74,255,.18)}
.dm-review__text{font-size:var(--dm-t-base);color:var(--dm-text);line-height:var(--dm-lh-body)}
.dm-review__who{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:var(--dm-s2)}
.dm-review__avatar{width:42px;height:42px;border-radius:var(--dm-r-full);object-fit:cover;
  background:var(--dm-grad-btn);display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:700;font-size:var(--dm-t-sm);flex-shrink:0}
.dm-review__name{font-weight:600;font-size:var(--dm-t-sm);color:var(--dm-ink)}
.dm-review__role{font-size:var(--dm-t-xs);color:var(--dm-text-muted)}

.dm-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--dm-s4)}
@media (min-width:768px){.dm-stats{grid-template-columns:repeat(4,1fr)}}
.dm-stat{text-align:center;padding:var(--dm-s4) var(--dm-s3)}
.dm-stat__num{font-family:var(--dm-font-head);font-weight:800;font-size:var(--dm-t-4xl);
  line-height:1;background:linear-gradient(100deg,#F5C451,#FDE68A);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.dm-stat__label{margin-top:var(--dm-s2);font-size:var(--dm-t-sm);color:var(--dm-on-dark-mute)}

/* Benefit cards */
.dm-benefit{display:flex;flex-direction:column;gap:var(--dm-s2);padding:var(--dm-s5);
  border-radius:var(--dm-r-xl);background:var(--dm-surface);border:1px solid var(--dm-border);
  transition:all var(--dm-base) var(--dm-ease)}
.dm-benefit:hover{transform:translateY(-4px);box-shadow:var(--dm-sh-3)}
.dm-benefit__icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;
  border-radius:var(--dm-r-md);background:var(--dm-grad-btn);color:#fff;margin-bottom:var(--dm-s2);
  box-shadow:var(--dm-sh-glow)}
.dm-benefit__title{font-family:var(--dm-font-head);font-size:var(--dm-t-lg);font-weight:700;color:var(--dm-ink)}
.dm-benefit__text{font-size:var(--dm-t-sm);color:var(--dm-text-muted)}

/* 8 ---- Accordion ------------------------------------------------------- */
.dm-acc{border:1px solid var(--dm-border);border-radius:var(--dm-r-lg);
  background:var(--dm-surface);overflow:hidden;margin-bottom:var(--dm-s2)}
.dm-acc__btn{display:flex;align-items:center;justify-content:space-between;gap:var(--dm-s3);
  width:100%;padding:var(--dm-s4);text-align:left;font-family:var(--dm-font-head);
  font-weight:600;font-size:var(--dm-t-base);color:var(--dm-ink);
  transition:color var(--dm-fast) var(--dm-ease)}
.dm-acc__btn:hover{color:var(--dm-primary)}
.dm-acc__btn svg{flex-shrink:0;transition:transform var(--dm-base) var(--dm-ease);color:var(--dm-primary)}
.dm-acc.is-open .dm-acc__btn svg{transform:rotate(180deg)}
.dm-acc__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dm-base) var(--dm-ease)}
.dm-acc.is-open .dm-acc__panel{grid-template-rows:1fr}
.dm-acc__inner{overflow:hidden}
.dm-acc__inner>div{padding:0 var(--dm-s4) var(--dm-s4);color:var(--dm-text-muted);font-size:var(--dm-t-sm)}

/* 9 ---- Modal ----------------------------------------------------------- */
.dm-overlay{position:fixed;inset:0;background:rgba(11,11,24,.62);backdrop-filter:blur(4px);
  opacity:0;visibility:hidden;z-index:var(--dm-z-overlay);
  transition:opacity var(--dm-base) var(--dm-ease),visibility var(--dm-base)}
.dm-overlay.is-open{opacity:1;visibility:visible}
.dm-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-46%) scale(.97);
  width:min(94vw,760px);max-height:88vh;overflow-y:auto;background:var(--dm-surface);
  border-radius:var(--dm-r-2xl);box-shadow:var(--dm-sh-4);z-index:var(--dm-z-modal);
  opacity:0;visibility:hidden;
  transition:all var(--dm-base) var(--dm-spring)}
.dm-modal.is-open{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}
.dm-modal__close{position:absolute;top:14px;right:14px;width:38px;height:38px;
  display:inline-flex;align-items:center;justify-content:center;border-radius:var(--dm-r-full);
  background:var(--dm-muted);color:var(--dm-ink);z-index:2}
.dm-modal__close:hover{background:var(--dm-ink);color:#fff}
.dm-modal__body{padding:var(--dm-s6)}
body.dm-locked{overflow:hidden}

/* 10 ---- Forms + newsletter --------------------------------------------- */
.dm-field{width:100%;padding:13px 16px;border:1px solid var(--dm-border);border-radius:var(--dm-r-sm);
  background:var(--dm-surface);font-size:var(--dm-t-sm);color:var(--dm-text);
  transition:border-color var(--dm-fast) var(--dm-ease),box-shadow var(--dm-fast) var(--dm-ease)}
.dm-field::placeholder{color:var(--dm-text-muted);opacity:.75}
.dm-field:focus{outline:none;border-color:var(--dm-primary);box-shadow:0 0 0 3px rgba(109,74,255,.14)}
textarea.dm-field{min-height:140px;resize:vertical}
.dm-label{display:block;margin-bottom:6px;font-size:var(--dm-t-sm);font-weight:600;color:var(--dm-ink)}

.dm-subscribe{position:relative}
.dm-subscribe--inline{display:flex;gap:var(--dm-s2);flex-wrap:wrap}
.dm-subscribe--inline .dm-field{flex:1;min-width:200px}
.dm-subscribe--stacked{display:grid;gap:var(--dm-s2)}
.dm-subscribe__msg{width:100%;margin:0;font-size:var(--dm-t-xs);min-height:1em}
.dm-subscribe__msg.is-ok{color:var(--dm-success)}
.dm-subscribe__msg.is-err{color:var(--dm-danger)}

/* 11 ---- Toast + skeleton ----------------------------------------------- */
.dm-toasts{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:10px;
  z-index:var(--dm-z-toast);pointer-events:none}
.dm-toast{display:flex;align-items:center;gap:10px;padding:13px 18px;border-radius:var(--dm-r-md);
  background:var(--dm-ink);color:#fff;font-size:var(--dm-t-sm);font-weight:500;
  box-shadow:var(--dm-sh-4);transform:translateY(12px);opacity:0;
  transition:all var(--dm-base) var(--dm-spring)}
.dm-toast.is-in{transform:none;opacity:1}
.dm-toast svg{color:var(--dm-success);flex-shrink:0}
.dm-toast--err svg{color:var(--dm-danger)}

.dm-skel{background:linear-gradient(90deg,var(--dm-muted) 25%,var(--dm-muted-2) 50%,var(--dm-muted) 75%);
  background-size:200% 100%;animation:dm-shimmer 1.4s infinite;border-radius:var(--dm-r-md)}
@keyframes dm-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* Reveal-on-scroll (added by main.js) */
.dm-reveal{opacity:0;transform:translateY(22px);
  transition:opacity var(--dm-slow) var(--dm-ease),transform var(--dm-slow) var(--dm-ease)}
.dm-reveal.is-in{opacity:1;transform:none}

/* 12 ---- Mega menu + mobile nav ----------------------------------------- */
.dm-submenu{position:absolute;top:calc(100% + 10px);left:0;min-width:230px;padding:10px;
  background:var(--dm-surface);border:1px solid var(--dm-border);border-radius:var(--dm-r-lg);
  box-shadow:var(--dm-sh-4);opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:all var(--dm-base) var(--dm-ease);z-index:var(--dm-z-mega)}
.dm-nav__item:hover>.dm-submenu,.dm-nav__item:focus-within>.dm-submenu{opacity:1;visibility:visible;transform:none}
.dm-submenu__link{display:block;padding:9px 12px;border-radius:var(--dm-r-sm);
  font-size:var(--dm-t-sm);font-weight:500;color:var(--dm-text)}
.dm-submenu__link:hover{background:var(--dm-muted);color:var(--dm-primary)}
.dm-submenu__desc{display:block;padding:0 12px 8px;font-size:var(--dm-t-xs);color:var(--dm-text-muted)}

.dm-mega{position:absolute;top:calc(100% + 1px);left:0;right:0;width:100vw;margin-left:calc(50% - 50vw);
  background:var(--dm-surface);border-top:1px solid var(--dm-border);box-shadow:var(--dm-sh-4);
  opacity:0;visibility:hidden;transform:translateY(-10px);
  transition:all var(--dm-base) var(--dm-ease);z-index:var(--dm-z-mega)}
.dm-nav__item--mega:hover>.dm-mega,.dm-nav__item--mega:focus-within>.dm-mega{opacity:1;visibility:visible;transform:none}
.dm-mega__inner{padding-block:var(--dm-s6)}
.dm-mega__cols{display:grid;gap:var(--dm-s5);grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.dm-mega__cols>.dm-submenu__item>.dm-submenu__link{font-family:var(--dm-font-head);font-weight:700;
  font-size:var(--dm-t-sm);color:var(--dm-ink);padding-left:0;margin-bottom:6px}
.dm-mega__cols .dm-submenu{position:static;opacity:1;visibility:visible;transform:none;
  padding:0;border:0;box-shadow:none;background:none;min-width:0}

.dm-drawer{position:fixed;top:0;right:0;bottom:0;width:min(88vw,380px);background:var(--dm-surface);
  z-index:var(--dm-z-modal);transform:translateX(100%);display:flex;flex-direction:column;
  transition:transform var(--dm-slow) var(--dm-ease);box-shadow:var(--dm-sh-4)}
.dm-drawer.is-open{transform:none}
.dm-drawer__head{display:flex;align-items:center;justify-content:space-between;
  padding:var(--dm-s3) var(--dm-s4);border-bottom:1px solid var(--dm-border)}
.dm-drawer__body{flex:1;overflow-y:auto;padding:var(--dm-s4)}
.dm-drawer__foot{padding:var(--dm-s4);border-top:1px solid var(--dm-border);display:grid;gap:10px}
.dm-mnav>li{border-bottom:1px solid var(--dm-border)}
.dm-mnav a{display:block;padding:14px 0;font-size:var(--dm-t-base);font-weight:500;color:var(--dm-ink)}
.dm-mnav a:hover{color:var(--dm-primary)}
.dm-mnav .dm-submenu{position:static;opacity:1;visibility:visible;transform:none;
  padding:0 0 10px 14px;border:0;box-shadow:none;background:none;min-width:0}
.dm-mnav .dm-submenu a{padding:9px 0;font-size:var(--dm-t-sm);color:var(--dm-text-muted)}
.dm-mnav .dm-mega{position:static;width:auto;margin:0;opacity:1;visibility:visible;transform:none;
  box-shadow:none;border:0;background:none}
.dm-mnav .dm-mega__inner{padding:0 0 10px 14px}
.dm-mnav .dm-mega__cols{display:block}

/* 13 ---- Search overlay -------------------------------------------------- */
.dm-search{position:fixed;top:0;left:0;right:0;background:var(--dm-surface);
  padding:var(--dm-s6) 0;box-shadow:var(--dm-sh-4);z-index:var(--dm-z-modal);
  transform:translateY(-100%);transition:transform var(--dm-slow) var(--dm-ease)}
.dm-search.is-open{transform:none}
.dm-search__form{display:flex;gap:var(--dm-s2);align-items:center}
.dm-search__form .dm-field{font-size:var(--dm-t-lg);padding:16px 20px}
.dm-search__results{margin-top:var(--dm-s4);display:grid;gap:6px;max-height:52vh;overflow-y:auto}
.dm-sugg{display:flex;align-items:center;gap:14px;padding:10px;border-radius:var(--dm-r-md);
  transition:background var(--dm-fast) var(--dm-ease)}
.dm-sugg:hover{background:var(--dm-muted)}
.dm-sugg img{width:48px;height:48px;border-radius:var(--dm-r-sm);object-fit:cover;flex-shrink:0}
.dm-sugg__t{font-size:var(--dm-t-sm);font-weight:600;color:var(--dm-ink)}
.dm-sugg__p{font-size:var(--dm-t-xs);color:var(--dm-primary);font-weight:600}

/* 14 ---- Footer ---------------------------------------------------------- */
.dm-footer{background:var(--dm-ink);color:var(--dm-on-dark-mute);padding-top:var(--dm-s8)}
.dm-footer a{color:var(--dm-on-dark-mute)}
.dm-footer a:hover{color:#fff}
.dm-footer__top{display:grid;gap:var(--dm-s6);padding-bottom:var(--dm-s7)}
@media (min-width:768px){.dm-footer__top{grid-template-columns:1.6fr 1fr 1fr 1fr}}
.dm-footer__brand{max-width:34ch}
.dm-footer__brand .dm-logo__text{color:#fff}
.dm-footer__tag{margin-top:var(--dm-s3);font-size:var(--dm-t-sm);color:var(--dm-on-dark-dim)}
.dm-footer__title{font-family:var(--dm-font-head);font-size:var(--dm-t-sm);font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:#fff;margin-bottom:var(--dm-s3)}
.dm-footer__list li{margin-bottom:10px}
.dm-footer__list a{font-size:var(--dm-t-sm)}
.dm-footer__news{padding:var(--dm-s5) 0;border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);display:grid;gap:var(--dm-s4);align-items:center}
@media (min-width:900px){.dm-footer__news{grid-template-columns:1fr 1.1fr}}
.dm-footer__news h3{color:#fff;font-size:var(--dm-t-xl)}
.dm-footer__news p{font-size:var(--dm-t-sm);color:var(--dm-on-dark-dim);margin-top:6px}
.dm-footer__news .dm-field{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#fff}
.dm-footer__news .dm-field::placeholder{color:rgba(255,255,255,.45)}
.dm-footer__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:var(--dm-s3);padding-block:var(--dm-s5);font-size:var(--dm-t-xs);color:var(--dm-on-dark-dim)}
.dm-social{display:flex;gap:8px}
.dm-social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;
  border-radius:var(--dm-r-full);background:rgba(255,255,255,.07);color:#fff;
  transition:all var(--dm-base) var(--dm-ease)}
.dm-social a:hover{background:var(--dm-grad-btn);transform:translateY(-3px)}
.dm-pay{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.dm-pay span{padding:5px 11px;border-radius:6px;background:rgba(255,255,255,.07);
  font-size:10px;font-weight:600;letter-spacing:.04em;color:rgba(255,255,255,.8)}

/* 15 ---- Misc ------------------------------------------------------------ */
.dm-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:var(--dm-t-xs);
  color:var(--dm-text-muted);padding-block:var(--dm-s4)}
.dm-crumbs a{color:var(--dm-text-muted)}
.dm-crumbs a:hover{color:var(--dm-primary)}
.dm-crumbs__sep{display:inline-flex;opacity:.5}

.dm-pager__list{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:var(--dm-s7)}
.dm-pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;
  min-width:42px;height:42px;padding:0 12px;border-radius:var(--dm-r-sm);
  border:1px solid var(--dm-border);font-size:var(--dm-t-sm);font-weight:600;color:var(--dm-text)}
.dm-pager .page-numbers:hover{border-color:var(--dm-primary);color:var(--dm-primary)}
.dm-pager .page-numbers.current{background:var(--dm-grad-btn);border-color:transparent;color:#fff}

.dm-widget{margin-bottom:var(--dm-s5);padding:var(--dm-s4);background:var(--dm-surface);
  border:1px solid var(--dm-border);border-radius:var(--dm-r-lg)}
.dm-widget__title{font-size:var(--dm-t-base);margin-bottom:var(--dm-s3)}
.dm-widget ul li{padding:7px 0;border-bottom:1px solid var(--dm-border);font-size:var(--dm-t-sm)}
.dm-widget ul li:last-child{border:0}

.dm-top{position:fixed;right:20px;bottom:20px;width:46px;height:46px;display:inline-flex;
  align-items:center;justify-content:center;border-radius:var(--dm-r-full);
  background:var(--dm-grad-btn);color:#fff;box-shadow:var(--dm-sh-glow);
  opacity:0;visibility:hidden;transform:translateY(12px);z-index:var(--dm-z-sticky);
  transition:all var(--dm-base) var(--dm-ease)}
.dm-top.is-in{opacity:1;visibility:visible;transform:none}
.dm-top:hover{color:#fff;transform:translateY(-3px)}

.dm-cookie{position:fixed;left:20px;bottom:20px;width:min(92vw,400px);padding:var(--dm-s4);
  background:var(--dm-surface);border:1px solid var(--dm-border);border-radius:var(--dm-r-lg);
  box-shadow:var(--dm-sh-4);z-index:var(--dm-z-sticky);font-size:var(--dm-t-sm);
  transform:translateY(140%);transition:transform var(--dm-slow) var(--dm-spring)}
.dm-cookie.is-in{transform:none}
.dm-cookie__row{display:flex;gap:10px;margin-top:var(--dm-s3)}

.dm-404{text-align:center;padding-block:var(--dm-s9)}
.dm-404__num{font-family:var(--dm-font-head);font-weight:800;font-size:clamp(5rem,18vw,11rem);
  line-height:.9;background:var(--dm-grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}

.dm-empty{text-align:center;padding:var(--dm-s8) var(--dm-s4);border:1px dashed var(--dm-border);
  border-radius:var(--dm-r-xl);background:var(--dm-muted)}
.dm-empty svg{color:var(--dm-text-muted);margin:0 auto var(--dm-s3)}

/* Admin bar offset for sticky header */
.admin-bar.dm-sticky-header .dm-header{top:32px}
@media (max-width:782px){.admin-bar.dm-sticky-header .dm-header{top:46px}}

/* ---- Prose (blog post + page content) ---------------------------------- */
.dm-prose{font-size:var(--dm-t-md);line-height:1.75;color:var(--dm-text)}
.dm-prose>*+*{margin-top:var(--dm-s4)}
.dm-prose h2{font-size:var(--dm-t-2xl);margin-top:var(--dm-s7)}
.dm-prose h3{font-size:var(--dm-t-xl);margin-top:var(--dm-s6)}
.dm-prose h4{font-size:var(--dm-t-lg);margin-top:var(--dm-s5)}
.dm-prose ul,.dm-prose ol{padding-left:1.35em}
.dm-prose ul li{list-style:disc;margin-bottom:8px}
.dm-prose ol li{list-style:decimal;margin-bottom:8px}
.dm-prose img{border-radius:var(--dm-r-lg);margin-block:var(--dm-s5)}
.dm-prose a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.dm-prose code{padding:2px 6px;border-radius:5px;background:var(--dm-muted);font-size:.9em}
.dm-prose table{width:100%;border-collapse:collapse;font-size:var(--dm-t-sm)}
.dm-prose th,.dm-prose td{padding:12px;border:1px solid var(--dm-border);text-align:left}
.dm-prose th{background:var(--dm-muted);font-weight:600}

/* ---- Comments ---------------------------------------------------------- */
.dm-comments .comment-body{padding:var(--dm-s4);border:1px solid var(--dm-border);
  border-radius:var(--dm-r-lg);background:var(--dm-surface)}
.dm-comments .children{padding-left:var(--dm-s5);margin-top:var(--dm-s3);display:grid;gap:var(--dm-s3)}
.dm-comments .comment-meta{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:var(--dm-t-xs)}
.dm-comments .avatar{border-radius:var(--dm-r-full)}
.dm-comment-form-comment,.comment-form-author,.comment-form-email,.comment-form-url{margin-bottom:var(--dm-s3)}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url]{
  width:100%;padding:13px 16px;border:1px solid var(--dm-border);border-radius:var(--dm-r-sm)}

/* ---- Product card extras (used on home, shop, related, wishlist) -------- */
.dm-card__format{position:absolute;left:10px;bottom:10px;padding:4px 9px;border-radius:6px;
  background:rgba(11,11,24,.72);backdrop-filter:blur(6px);color:#fff;
  font-size:10px;font-weight:700;letter-spacing:.06em}
.dm-card:hover .dm-card__format{opacity:0}
.dm-card__instant{display:inline-flex;align-items:center;gap:4px;font-size:var(--dm-t-xs);
  font-weight:600;color:var(--dm-success);white-space:nowrap}
.dm-ticks{display:grid;gap:10px}
.dm-ticks li{display:flex;align-items:flex-start;gap:10px;font-size:var(--dm-t-sm);color:var(--dm-text-muted)}
.dm-ticks svg{color:var(--dm-success);flex-shrink:0;margin-top:2px}

/* ---- Page hero (About, Contact, FAQ, Wishlist, landing pages) ---------- */
.dm-pagehero{position:relative;overflow:hidden;padding-block:clamp(48px,7vw,84px);
  background:var(--dm-grad-brand);color:#fff}
.dm-pagehero::before{content:"";position:absolute;inset:0;
  background:radial-gradient(55% 70% at 20% 15%,rgba(192,132,252,.32) 0%,transparent 62%),
             radial-gradient(45% 60% at 88% 85%,rgba(109,74,255,.4) 0%,transparent 62%)}
.dm-pagehero--slim{padding-block:clamp(32px,5vw,56px)}
.dm-pagehero__title{font-size:var(--dm-t-4xl);color:#fff;margin-bottom:var(--dm-s3)}
.dm-pagehero__sub{color:var(--dm-on-dark-mute);font-size:var(--dm-t-lg);
  max-width:60ch;margin-inline:auto}
.dm-pagehero .dm-crumbs,.dm-pagehero .dm-crumbs a{color:rgba(255,255,255,.65)}
.dm-pagehero .dm-crumbs a:hover{color:#fff}

/* ---- Contact page ------------------------------------------------------ */
.dm-contact{display:grid;gap:var(--dm-s6);align-items:start}
@media (min-width:900px){.dm-contact{grid-template-columns:.8fr 1.2fr;gap:var(--dm-s7)}}
.dm-contact__card{display:flex;align-items:flex-start;gap:14px;padding:var(--dm-s4);
  border:1px solid var(--dm-border);border-radius:var(--dm-r-lg);background:var(--dm-surface);
  margin-bottom:12px;transition:all var(--dm-base) var(--dm-ease)}
.dm-contact__card:hover{box-shadow:var(--dm-sh-2);border-color:rgba(109,74,255,.28)}
.dm-contact__card--faq{background:var(--dm-muted)}
.dm-contact__icon{display:inline-flex;align-items:center;justify-content:center;
  width:42px;height:42px;border-radius:var(--dm-r-md);background:rgba(109,74,255,.1);
  color:var(--dm-primary);flex-shrink:0}
.dm-contact__card strong{display:block;font-size:var(--dm-t-sm);color:var(--dm-ink);margin-bottom:3px}
.dm-contact__card a,.dm-contact__card span{font-size:var(--dm-t-sm);color:var(--dm-text-muted)}
.dm-contact__card a:hover{color:var(--dm-primary)}
.dm-contact__form{padding:var(--dm-s5);border:1px solid var(--dm-border);
  border-radius:var(--dm-r-xl);background:var(--dm-surface);box-shadow:var(--dm-sh-2)}

/* ---- Legal pages ------------------------------------------------------- */
.dm-legal{display:grid;gap:var(--dm-s6);align-items:start}
@media (min-width:1024px){.dm-legal{grid-template-columns:250px 1fr;gap:var(--dm-s7)}}
.dm-legal__toc{padding:var(--dm-s4);border:1px solid var(--dm-border);
  border-radius:var(--dm-r-lg);background:var(--dm-muted);
  position:sticky;top:calc(var(--dm-header-h) + 24px)}
.dm-legal__toc h2{font-size:var(--dm-t-xs);text-transform:uppercase;letter-spacing:.1em;
  color:var(--dm-text-muted);margin-bottom:12px}
.dm-legal__toc ol{counter-reset:t;display:grid;gap:8px}
.dm-legal__toc li{counter-increment:t}
.dm-legal__toc a{display:block;font-size:var(--dm-t-sm);color:var(--dm-text);line-height:1.4}
.dm-legal__toc a::before{content:counter(t) ". ";color:var(--dm-text-muted)}
.dm-legal__toc a:hover{color:var(--dm-primary)}
.dm-legal__body{max-width:74ch}
.dm-legal__body h2{scroll-margin-top:calc(var(--dm-header-h) + 24px)}

/* ---- Exit popup -------------------------------------------------------- */
.dm-popup{width:min(94vw,640px);overflow:hidden}
.dm-popup__grid{display:grid}
@media (min-width:640px){.dm-popup__grid{grid-template-columns:180px 1fr}}
.dm-popup__art{display:none;align-items:center;justify-content:center;
  background:var(--dm-grad-brand);color:rgba(255,255,255,.85)}
@media (min-width:640px){.dm-popup__art{display:flex}}
.dm-popup__body{padding:var(--dm-s5)}
.dm-popup__title{font-size:var(--dm-t-2xl);margin-block:6px 10px}
.dm-popup__text{font-size:var(--dm-t-sm);color:var(--dm-text-muted);margin-bottom:var(--dm-s4)}
.dm-popup__no{display:block;width:100%;margin-top:14px;font-size:var(--dm-t-xs);
  color:var(--dm-text-muted);text-decoration:underline;text-underline-offset:3px}
.dm-popup__no:hover{color:var(--dm-text)}

/* ---- Quick view modal -------------------------------------------------- */
.dm-qvmodal .dm-modal__body{padding:0}
.dm-qv{display:grid}
@media (min-width:640px){.dm-qv{grid-template-columns:.85fr 1.15fr}}
.dm-qv__media{position:relative;background:var(--dm-muted)}
.dm-qv__media img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5}
.dm-qv__info{padding:var(--dm-s5)}
.dm-qv__title{font-size:var(--dm-t-2xl);margin-block:6px 10px}
.dm-qv__price{margin-block:var(--dm-s3);font-size:var(--dm-t-xl)}
.dm-qv__excerpt{font-size:var(--dm-t-sm);color:var(--dm-text-muted);margin-bottom:var(--dm-s4)}
.dm-qv__actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:var(--dm-s4)}
.dm-qv__actions .dm-btn{flex:1;min-width:150px}
.dm-qv .dm-trust{flex-direction:column;gap:9px}

/* ---- Frequently bought together ---------------------------------------- */
.dm-fbt{padding-top:var(--dm-s6);margin-top:var(--dm-s6);border-top:1px solid var(--dm-border)}
.dm-fbt__row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--dm-s3);
  padding:var(--dm-s4);border:1px solid var(--dm-border);border-radius:var(--dm-r-xl);
  background:var(--dm-surface)}
.dm-fbt__item{display:grid;gap:6px;width:132px;text-align:center}
.dm-fbt__item img{width:132px;height:132px;object-fit:cover;border-radius:var(--dm-r-md);
  transition:transform var(--dm-base) var(--dm-ease)}
.dm-fbt__item:hover img{transform:translateY(-3px)}
.dm-fbt__name{font-size:var(--dm-t-xs);color:var(--dm-text);line-height:1.35}
.dm-fbt__price{font-size:var(--dm-t-xs);font-weight:700;color:var(--dm-primary)}
.dm-fbt__plus{color:var(--dm-text-muted);flex-shrink:0}
.dm-fbt__total{margin-left:auto;display:grid;gap:6px;min-width:210px;
  padding-left:var(--dm-s4);border-left:1px solid var(--dm-border)}
.dm-fbt__total span{font-size:var(--dm-t-xs);color:var(--dm-text-muted)}
.dm-fbt__total strong{font-family:var(--dm-font-head);font-size:var(--dm-t-xl);color:var(--dm-ink)}
.dm-fbt__hint{font-size:11px}
@media (max-width:767px){
  .dm-fbt__total{margin-left:0;border-left:0;padding-left:0;width:100%;
    border-top:1px solid var(--dm-border);padding-top:var(--dm-s3)}
  .dm-fbt__item,.dm-fbt__item img{width:104px}
  .dm-fbt__item img{height:104px}
}
