/* Candle Market — redesign v2 (editorial / soft / premium) */
:root{
  --cm-bg: #f6f2ee;
  --cm-bg-2: #fbfaf9;
  --cm-text: #171311;
  --cm-muted: rgba(23,19,17,.68);
  --cm-border: rgba(23,19,17,.10);

  --cm-surface: rgba(255,255,255,.62);
  --cm-surface-2: rgba(255,255,255,.86);
  --cm-glass: rgba(255,255,255,.44);

  --cm-accent: #d56a4e;     /* warm terracotta */
  --cm-accent-2: #e9b2a3;   /* blush */
  --cm-ink: #2a2320;
  --cm-glow: rgba(213,106,78,.22);

  --cm-shadow-sm: 0 10px 30px rgba(17,12,10,.08);
  --cm-shadow: 0 22px 70px rgba(17,12,10,.14);
  --cm-shadow-2: 0 30px 120px rgba(17,12,10,.20);

  --cm-radius: 22px;
  --cm-radius-sm: 14px;
  --cm-radius-lg: 30px;

  --cm-font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif;
}

html[data-theme="dark"]{
  --cm-bg: #0b0a0a;
  --cm-bg-2: #0f0d0c;
  --cm-text: rgba(255,255,255,.92);
  --cm-muted: rgba(255,255,255,.64);
  --cm-border: rgba(255,255,255,.12);

  --cm-surface: rgba(255,255,255,.06);
  --cm-surface-2: rgba(255,255,255,.08);
  --cm-glass: rgba(255,255,255,.05);

  --cm-accent: #ff7c59;
  --cm-accent-2: #ffc5b6;
  --cm-ink: rgba(255,255,255,.92);
  --cm-glow: rgba(255,124,89,.18);

  --cm-shadow-sm: 0 12px 34px rgba(0,0,0,.55);
  --cm-shadow: 0 26px 90px rgba(0,0,0,.68);
  --cm-shadow-2: 0 40px 160px rgba(0,0,0,.72);
}

*{box-sizing:border-box}
html{
  scroll-behavior:smooth;
}
html, body{
  height:100%;
}
html.cm-theme-transition *{
  transition:
    background-color 260ms ease,
    color 260ms ease,
    border-color 260ms ease,
    box-shadow 260ms ease,
    filter 260ms ease !important;
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  html.cm-theme-transition *{transition:none !important}
}
body.cm-site{
  margin:0;
  font-family:var(--cm-font);
  background: linear-gradient(180deg, var(--cm-bg-2), var(--cm-bg));
  color:var(--cm-text);
}
a{color:inherit}
.cm-container{max-width:1200px;margin:0 auto;padding:0 22px}

/* subtle film grain */
.cm-site:before{
  content:"";
  position:fixed;inset:0;pointer-events:none;z-index:1;
  background-image:
    radial-gradient(circle at 10% 20%, rgba(0,0,0,.04), transparent 32%),
    radial-gradient(circle at 80% 40%, rgba(0,0,0,.03), transparent 30%),
    radial-gradient(circle at 50% 80%, rgba(0,0,0,.03), transparent 34%);
  opacity:.22;
  mix-blend-mode: multiply;
}
html[data-theme="dark"] .cm-site:before{
  opacity:.14;
  mix-blend-mode: screen;
}

.cm-header, .cm-main, .cm-footer{position:relative;z-index:2}

.cm-header-wrap{
  position:sticky;
  top:0;
  z-index:50;
}
.cm-header-shell{
  position:relative;
}
.cm-header{
  background:
    linear-gradient(to bottom, rgba(255,255,255,.94), rgba(255,255,255,.88));
  border-bottom:1px solid var(--cm-border);
}
html[data-theme="dark"] .cm-header{
  background: linear-gradient(to bottom, rgba(10,8,7,.94), rgba(10,8,7,.88));
}
.cm-header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:68px
}
.cm-header__left{display:flex;align-items:center;gap:14px}
.cm-brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.cm-brand__mark{
  width:12px;height:12px;border-radius:999px;
  background:
    radial-gradient(circle at 35% 35%, #fff, rgba(255,255,255,.30) 44%, transparent 62%),
    radial-gradient(circle at 50% 55%, var(--cm-accent), rgba(233,178,163,.55));
  box-shadow:0 0 0 7px rgba(213,106,78,.10), 0 18px 52px rgba(213,106,78,.22);
}
.cm-brand__name{font-weight:650;letter-spacing:.2px;color:var(--cm-text)}

.cm-nav{flex:1;min-width:0}
.cm-nav__list{display:flex;align-items:center;justify-content:center;gap:16px;list-style:none;margin:0;padding:0;min-width:0}
.cm-nav__list a{
  opacity:.92;
  text-decoration:none;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid transparent;
  color:var(--cm-text);
}
.cm-nav__list a:hover{
  opacity:1;
  border-color:rgba(213,106,78,.22);
  background:var(--cm-glass);
}
.cm-nav__list .sub-menu{
  list-style:none;
  margin:4px 0 0;
  padding:0 0 0 12px;
}
.cm-nav__list .sub-menu a{
  font-size:14px;
  opacity:.88;
}

/* Mobile burger + drawer */
.cm-burger{
  display:none;
  width:42px;
  height:42px;
  padding:0;
  border:1px solid var(--cm-border);
  border-radius:999px;
  background:var(--cm-glass);
  cursor:pointer;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.cm-burger__box{
  position:relative;
  width:18px;
  height:12px;
  display:block;
}
.cm-burger__line{
  position:absolute;
  left:0;
  right:0;
  height:2px;
  border-radius:2px;
  background:var(--cm-text);
  transition:transform 280ms cubic-bezier(.22,1,.36,1), opacity 200ms ease, top 280ms cubic-bezier(.22,1,.36,1);
}
.cm-burger__line:nth-child(1){top:0}
.cm-burger__line:nth-child(2){top:5px}
.cm-burger__line:nth-child(3){top:10px}
.cm-header-shell.is-nav-open .cm-burger__line:nth-child(1){
  top:5px;
  transform:rotate(45deg);
}
.cm-header-shell.is-nav-open .cm-burger__line:nth-child(2){
  opacity:0;
}
.cm-header-shell.is-nav-open .cm-burger__line:nth-child(3){
  top:5px;
  transform:rotate(-45deg);
}

.cm-nav__panel-head,
.cm-nav__drawer-extras,
.cm-nav-backdrop{
  display:none;
}
.cm-nav__panel-title{
  font-weight:650;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-size:12px;
  color:var(--cm-muted);
}

@media (min-width: 961px){
  .cm-nav__panel{
    display:contents;
  }
  .cm-nav__menu{
    display:contents;
  }
}

@media (max-width: 960px){
  .cm-header-wrap{overflow:visible}
  html.cm-nav-open .cm-header-wrap{
    z-index:210;
    isolation:isolate;
  }
  html.cm-nav-open .cm-header-shell{
    position:relative;
    z-index:2;
  }
  .cm-burger{display:inline-flex}

  .cm-nav-backdrop{
    display:block;
    position:fixed;
    inset:0;
    z-index:1;
    background:rgba(17,12,10,.42);
    opacity:0;
    pointer-events:none;
    transition:opacity 280ms ease;
  }
  .cm-nav-backdrop[hidden]{
    display:none !important;
  }
  html[data-theme="dark"] .cm-nav-backdrop{
    background:rgba(0,0,0,.58);
  }
  html.cm-nav-open .cm-nav-backdrop:not([hidden]){
    opacity:1;
    pointer-events:auto;
  }

  .cm-nav{
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    width:min(360px, 92vw);
    z-index:2;
    flex:none;
    pointer-events:none;
    visibility:hidden;
  }
  .cm-nav.is-open,
  .cm-header-shell.is-nav-open .cm-nav{
    visibility:visible;
    pointer-events:auto;
  }
  .cm-nav__panel{
    height:100dvh;
    max-height:100dvh;
    display:flex;
    flex-direction:column;
    padding:max(18px, env(safe-area-inset-top)) 18px max(24px, env(safe-area-inset-bottom));
    border-left:1px solid var(--cm-border);
    background:var(--cm-bg-2);
    box-shadow:var(--cm-shadow-2);
    transform:translateX(104%);
    transition:transform 360ms cubic-bezier(.22,1,.36,1);
    overflow:auto;
    -webkit-overflow-scrolling:touch;
    pointer-events:auto;
  }
  html[data-theme="dark"] .cm-nav__panel{
    background:#121010;
  }
  .cm-nav.is-open .cm-nav__panel,
  .cm-header-shell.is-nav-open .cm-nav__panel{
    transform:translateX(0);
  }
  .cm-nav__panel a,
  .cm-nav__panel button{
    position:relative;
    z-index:1;
  }

  .cm-nav__menu{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
  }

  .cm-nav__panel-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:14px;
    padding-bottom:12px;
    border-bottom:1px solid var(--cm-border);
  }
  .cm-nav__close{
    width:38px;
    height:38px;
    border:1px solid var(--cm-border);
    border-radius:999px;
    background:var(--cm-glass);
    color:var(--cm-text);
    font-size:24px;
    line-height:1;
    cursor:pointer;
  }

  .cm-nav__list{
    flex-direction:column;
    align-items:stretch;
    gap:6px;
    overflow:visible;
  }
  .cm-nav__list > li{width:100%}
  .cm-nav__extras-label{
    margin:0 0 8px;
    font-size:11px;
    font-weight:650;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--cm-muted);
  }
  .cm-nav__list a{
    display:block;
    width:100%;
    padding:12px 14px;
    border-radius:14px;
    font-size:16px;
    font-weight:600;
    color:var(--cm-text);
  }
  .cm-nav__list .sub-menu{
    padding:0 0 6px 8px;
  }

  .cm-nav__drawer-extras{
    display:block;
    flex-shrink:0;
    margin-top:auto;
    padding-top:16px;
    border-top:1px solid var(--cm-border);
  }
  .cm-nav__search{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-bottom:12px;
  }
  .cm-nav__search-input{
    width:100%;
    border-radius:12px;
    border:1px solid var(--cm-border);
    background:var(--cm-surface);
    padding:12px 14px;
    color:var(--cm-text);
    font:inherit;
    font-size:16px;
  }
  .cm-nav__search-btn{
    width:100%;
    border:0;
    border-radius:12px;
    padding:12px 14px;
    cursor:pointer;
    font:inherit;
    font-weight:600;
    color:#fff;
    background:linear-gradient(135deg, var(--cm-accent), var(--cm-accent-2));
  }
  .cm-nav__extras-list{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:4px;
  }
  .cm-nav__extras-list a{
    display:block;
    padding:11px 12px;
    border-radius:12px;
    text-decoration:none;
    color:var(--cm-text);
    border:1px solid transparent;
  }
  .cm-nav__extras-list a:hover{
    background:var(--cm-glass);
    border-color:rgba(213,106,78,.22);
  }
  .cm-nav__cart{
    font-weight:650;
    background:rgba(213,106,78,.10);
    border-color:rgba(213,106,78,.18) !important;
  }

  .cm-header__actions--desktop{display:none !important}
  .cm-header__inner{
    gap:8px;
    justify-content:space-between;
  }
  .cm-header__left{
    flex:1;
    min-width:0;
  }
  .cm-header__right{
    flex-shrink:0;
    gap:8px;
  }
  .cm-brand__name{
    display:block;
    max-width:min(46vw, 220px);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:14px;
  }
  .cm-theme-toggle,
  .cm-burger{
    height:38px;
  }
  .cm-theme-toggle__track{
    width:56px;
    height:30px;
  }
  html[data-theme="light"] .cm-theme-toggle__knob{
    transform:translate(-50%, -50%) translateX(-13px);
  }
  html[data-theme="dark"] .cm-theme-toggle__knob{
    transform:translate(-50%, -50%) translateX(13px);
  }
  .cm-burger{
    width:38px;
  }
}

@media (prefers-reduced-motion: reduce){
  .cm-nav__panel,
  .cm-burger__line,
  .cm-nav-backdrop{transition:none}
}

.cm-header__right{display:flex;align-items:center;gap:14px}
.cm-header__actions--desktop{
  display:flex;
  gap:10px;
  align-items:center;
}

@media (max-width: 960px){
  .cm-header__actions--desktop{display:none !important}
}

/* Header controls sizing (symmetry) */
.cm-action,
.cm-theme-toggle{
  height:42px;
}
.cm-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 14px;
  line-height:1;
}
.cm-action--icon{
  width:42px;
  padding:0;
  font-size:18px;
}
.cm-theme-toggle{
  padding:0;
}
.cm-action{
  text-decoration:none;
  padding:10px 12px;
  border:1px solid var(--cm-border);
  background:var(--cm-glass);
  border-radius:999px;
  color:var(--cm-text);
}
.cm-action,
button.cm-action{
  font: inherit;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .01em;
}
button.cm-action{
  appearance: none;
  -webkit-appearance: none;
}
.cm-action:hover{
  border-color:rgba(213,106,78,.28);
  box-shadow:0 18px 50px rgba(213,106,78,.10);
}

html[data-theme="dark"] .cm-action{
  border-color:rgba(255,255,255,.16);
}
html[data-theme="dark"] .cm-action:hover{
  border-color:rgba(255,124,89,.34);
  box-shadow:0 18px 50px rgba(255,124,89,.10);
}

html[data-theme="dark"] .cm-account__menu,
html[data-theme="dark"] .cm-search__menu{
  border-color:rgba(255,255,255,.14);
  background: linear-gradient(180deg, rgba(16,14,13,.92), rgba(16,14,13,.72));
}
html[data-theme="dark"] .cm-account__item{
  color:rgba(255,255,255,.92);
}
html[data-theme="dark"] .cm-account__item:hover{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,124,89,.22);
}
html[data-theme="dark"] .cm-search__input{
  color:rgba(255,255,255,.92);
  border-color:rgba(255,255,255,.16);
  background:rgba(255,255,255,.06);
}

.cm-account{position:relative}
.cm-account__btn{cursor:pointer}
.cm-account__menu{
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  min-width: 240px;
  padding: 10px;
  border-radius: 16px;
  border: 1px solid var(--cm-border);
  background: linear-gradient(180deg, var(--cm-surface-2), var(--cm-surface));
  box-shadow: var(--cm-shadow);
  display:none;
}
.cm-account.is-open .cm-account__menu{display:block}
.cm-account__item{
  display:flex;
  padding:10px 10px;
  border-radius:12px;
  text-decoration:none;
  color:var(--cm-text);
  border:1px solid transparent;
}
.cm-account__item:hover{
  background:var(--cm-glass);
  border-color:rgba(213,106,78,.22);
}
.cm-account__sep{
  height:1px;
  background:var(--cm-border);
  margin:8px 4px;
}

.cm-search{position:relative}
.cm-search__menu{
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  width:min(420px, 84vw);
  padding: 12px;
  border-radius: 16px;
  border: 1px solid var(--cm-border);
  background: linear-gradient(180deg, var(--cm-surface-2), var(--cm-surface));
  box-shadow: var(--cm-shadow);
  display:none;
}
.cm-search.is-open .cm-search__menu{display:block}
.cm-search__form{display:flex;gap:10px}
.cm-search__input{
  flex:1;
  border-radius:999px;
  border:1px solid var(--cm-border);
  background:var(--cm-glass);
  padding:12px 14px;
  color:var(--cm-text);
  outline:none;
}
.cm-search__input:focus{border-color:rgba(213,106,78,.32);box-shadow:0 0 0 6px rgba(213,106,78,.10)}
.cm-search__submit{
  border-radius:999px;
  border:1px solid var(--cm-border);
  background:linear-gradient(135deg, var(--cm-accent), var(--cm-accent-2));
  color:#fff;
  padding:12px 16px;
  cursor:pointer;
}

/* Theme toggle: pill + sliding knob (candle) */
.cm-theme-toggle{
  border:0;
  background:transparent;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  transition: transform 240ms ease;
}
.cm-theme-toggle:active{transform:scale(.99)}
.cm-theme-toggle:focus-visible{
  outline:none;
}
.cm-theme-toggle:focus-visible .cm-theme-toggle__track{
  box-shadow:
    0 0 0 4px rgba(213,106,78,.14),
    0 10px 24px rgba(17,12,10,.14),
    inset 0 0 0 1px rgba(255,255,255,.34);
}
html[data-theme="dark"] .cm-theme-toggle:focus-visible .cm-theme-toggle__track{
  box-shadow:
    0 0 0 4px rgba(255,124,89,.20),
    0 18px 60px rgba(0,0,0,.45);
}

.cm-theme-toggle__track{
  position:relative;
  width:96px;
  height:42px;
  display:grid;
  grid-template-columns:1fr 1fr;
  border-radius:999px;
  border:1px solid rgba(213,106,78,.24);
  overflow:hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.42));
  box-shadow:
    0 10px 24px rgba(17,12,10,.14),
    inset 0 0 0 1px rgba(255,255,255,.34);
  transition:
    box-shadow 520ms cubic-bezier(.22,1,.36,1),
    border-color 520ms cubic-bezier(.22,1,.36,1),
    transform 860ms cubic-bezier(.22,1,.36,1),
    background 620ms cubic-bezier(.22,1,.36,1);
}
.cm-theme-toggle__track:before{
  /* “стеклянный” блик как на макете */
  content:"";
  position:absolute;
  inset:2px;
  border-radius:999px;
  background: linear-gradient(180deg, rgba(255,255,255,.28), rgba(255,255,255,.04));
  opacity:.45;
  pointer-events:none;
  transition: opacity 520ms cubic-bezier(.22,1,.36,1), transform 620ms cubic-bezier(.22,1,.36,1);
}
html[data-theme="dark"] .cm-theme-toggle__track:before{
  opacity:.5;
  transform: translateX(4px);
}
.cm-theme-toggle__track:after{
  content:"";
  position:absolute;
  top:3px;
  bottom:3px;
  left:-36px;
  width:20px;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(255,255,255,.0), rgba(255,255,255,.26), rgba(255,255,255,.0));
  opacity:0;
  pointer-events:none;
}
html[data-theme="dark"] .cm-theme-toggle__track{
  border-color:rgba(255,255,255,.18);
  background: linear-gradient(180deg, rgba(22,20,19,.95), rgba(18,16,15,.78));
  box-shadow:0 10px 24px rgba(0,0,0,.42);
}
.cm-theme-toggle__side{
  transition: filter 520ms cubic-bezier(.16,1,.28,1), opacity 520ms cubic-bezier(.16,1,.28,1);
}
.cm-theme-toggle__sun,
.cm-theme-toggle__moon,
.cm-theme-toggle__stars{
  transition: transform 520ms cubic-bezier(.16,1,.28,1), opacity 520ms cubic-bezier(.16,1,.28,1), filter 520ms cubic-bezier(.16,1,.28,1);
  will-change: transform, opacity, filter;
}
html[data-theme="light"] .cm-theme-toggle__side--light{filter:saturate(1.02) brightness(1.02)}
html[data-theme="light"] .cm-theme-toggle__side--dark{opacity:.78;filter:saturate(.95) brightness(.96)}
html[data-theme="dark"] .cm-theme-toggle__side--dark{filter:saturate(1.02) brightness(1.02)}
html[data-theme="dark"] .cm-theme-toggle__side--light{opacity:.78;filter:saturate(.92) brightness(.98)}

html[data-theme="light"] .cm-theme-toggle__sun{opacity:1;transform:scale(1)}
html[data-theme="dark"] .cm-theme-toggle__sun{opacity:.25;transform:scale(.88);filter:blur(.2px)}
html[data-theme="dark"] .cm-theme-toggle__moon{opacity:1;transform:scale(1)}
html[data-theme="light"] .cm-theme-toggle__moon{opacity:.25;transform:scale(.88);filter:blur(.2px)}
html[data-theme="dark"] .cm-theme-toggle__stars{opacity:.85;transform:scale(1)}
html[data-theme="light"] .cm-theme-toggle__stars{opacity:.18;transform:scale(.96)}
.cm-theme-toggle:hover .cm-theme-toggle__track{
  border-color:rgba(213,106,78,.28);
  box-shadow:0 18px 56px rgba(213,106,78,.12);
}
html[data-theme="dark"] .cm-theme-toggle:hover .cm-theme-toggle__track{
  border-color:rgba(255,124,89,.34);
  box-shadow:0 18px 68px rgba(0,0,0,.58);
}

.cm-theme-toggle__side{
  position:relative;
  display:grid;
  place-items:center;
}
.cm-theme-toggle__side--light{
  background:
    radial-gradient(320px 180px at 18% 35%, rgba(255,255,255,.70), transparent 62%),
    linear-gradient(135deg, rgba(255,238,216,.62), rgba(255,255,255,.18));
}
.cm-theme-toggle__side--dark{
  background:
    radial-gradient(320px 180px at 70% 30%, rgba(255,255,255,.08), transparent 62%),
    linear-gradient(135deg, rgba(14,12,11,.96), rgba(14,12,11,.28));
}

.cm-theme-toggle__sun{
  width:16px;height:16px;border-radius:999px;
  background: transparent;
  box-shadow:none;
  position:relative;
  opacity:.9;
}
.cm-theme-toggle__sun:before{
  /* минималистичное солнышко как в макете */
  content:"";
  position:absolute;
  inset:0;
  border-radius:999px;
  box-shadow: inset 0 0 0 2px rgba(213,150,62,.85);
  background:
    radial-gradient(circle at 50% 50%, rgba(213,150,62,.18), transparent 55%);
}
.cm-theme-toggle__sun:after{
  content:"";
  position:absolute;
  left:50%;top:50%;
  width:24px;height:24px;
  transform:translate(-50%,-50%);
  background:
    conic-gradient(from 0deg,
      transparent 0 14deg,
      rgba(213,150,62,.85) 14deg 16deg,
      transparent 16deg 30deg
    );
  border-radius:999px;
  opacity:.9;
}

.cm-theme-toggle__moon{
  width:16px;height:16px;border-radius:999px;
  background: rgba(255,255,255,.82);
  box-shadow:0 0 14px rgba(255,255,255,.16);
  position:relative;
}
.cm-theme-toggle__moon:after{
  /* вырез для полумесяца */
  content:"";
  position:absolute;
  width:15px;height:15px;border-radius:999px;
  right:-3px;top:2px;
  background:rgba(10,8,7,.98);
  opacity:1;
}
.cm-theme-toggle__stars{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 65% 30%, rgba(255,255,255,.75) 0 1px, transparent 2px),
    radial-gradient(circle at 35% 55%, rgba(255,255,255,.55) 0 1px, transparent 2px),
    radial-gradient(circle at 75% 65%, rgba(255,255,255,.45) 0 1px, transparent 2px);
  opacity:.65;
  pointer-events:none;
}

.cm-theme-toggle__knob{
  position:absolute;
  left:50%;
  top:50%;
  width:34px;height:34px;
  transform:translate(-50%, -50%);
  border-radius:999px;
  border:1px solid rgba(213,150,62,.36);
  background:
    radial-gradient(circle at 35% 30%, rgba(255,255,255,.96), rgba(255,255,255,.72) 56%, rgba(255,255,255,.40)),
    linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.54));
  box-shadow:
    0 8px 20px rgba(17,12,10,.20),
    inset 0 0 0 1px rgba(255,255,255,.44);
  display:grid;
  place-items:center;
  transition:
    transform 860ms cubic-bezier(.22,1,.36,1),
    border-color 420ms cubic-bezier(.22,1,.36,1),
    box-shadow 420ms cubic-bezier(.22,1,.36,1),
    filter 420ms cubic-bezier(.22,1,.36,1);
  will-change: transform;
}
.cm-theme-toggle__knob:before{display:none}
html[data-theme="dark"] .cm-theme-toggle__knob{
  border-color:rgba(255,255,255,.26);
  background:
    radial-gradient(circle at 35% 30%, rgba(255,255,255,.26), rgba(255,255,255,.10) 55%, transparent 65%),
    linear-gradient(180deg, rgba(28,26,25,.92), rgba(24,22,21,.74));
  box-shadow:
    0 8px 24px rgba(0,0,0,.50),
    inset 0 0 0 1px rgba(255,255,255,.12);
}

/* slide knob to left/right depending on theme */
html[data-theme="light"] .cm-theme-toggle__knob{
  transform:translate(-50%, -50%) translateX(-24px);
}
html[data-theme="dark"] .cm-theme-toggle__knob{
  transform:translate(-50%, -50%) translateX(24px);
}

/* чуть “вспышка” свечи на момент переключения */
html.cm-theme-transition .cm-theme-toggle__knob{
  filter:saturate(1.08) brightness(1.02);
}
html.cm-theme-transition .cm-candle__flame{
  filter:
    drop-shadow(0 0 18px rgba(255,140,90,.70))
    drop-shadow(0 0 34px rgba(213,106,78,.22));
}
.cm-theme-toggle.is-switching .cm-theme-toggle__track:after{
  animation: cmTrackSweep 760ms cubic-bezier(.25,.46,.45,.94) 1;
}
.cm-theme-toggle.is-switching .cm-theme-toggle__knob{
  animation: cmKnobPop 860ms cubic-bezier(.22,1,.36,1) 1;
}

.cm-candle{display:none}
.cm-candle:before{
  /* фитиль */
  content:"";
  position:absolute;
  left:50%;
  top:4px;
  width:2px;
  height:8px;
  transform:translateX(-50%);
  border-radius:2px;
  background:linear-gradient(180deg, rgba(30,25,23,.95), rgba(30,25,23,.35));
  opacity:.85;
}
html[data-theme="dark"] .cm-candle:before{
  background:linear-gradient(180deg, rgba(255,255,255,.75), rgba(255,255,255,.22));
  opacity:.55;
}

.cm-candle__wax{
  position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:16px;
  height:20px;
  border-radius:7px 7px 8px 8px;
  background:
    radial-gradient(10px 6px at 50% 14%, rgba(255,255,255,.95), rgba(255,255,255,.40) 55%, transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.74));
  box-shadow:
    inset 0 0 0 1px rgba(0,0,0,.04),
    inset 0 -10px 16px rgba(0,0,0,.06);
}
html[data-theme="dark"] .cm-candle__wax{
  background:
    radial-gradient(10px 6px at 50% 14%, rgba(255,255,255,.18), rgba(255,255,255,.06) 60%, transparent 65%),
    linear-gradient(180deg, rgba(255,255,255,.20), rgba(255,255,255,.08));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.10),
    inset 0 -10px 18px rgba(0,0,0,.26);
}
.cm-candle__flame{
  position:absolute;left:50%;top:-6px;transform:translateX(-50%) rotate(-8deg);
  width:12px;
  height:16px;
  border-radius:999px 999px 999px 999px;
  background:
    radial-gradient(circle at 55% 25%, rgba(255,255,255,1), rgba(255,215,168,.96) 32%, rgba(255,138,89,.92) 62%, rgba(255,138,89,.20) 78%, transparent 86%);
  filter:
    drop-shadow(0 0 12px rgba(255,140,90,.55))
    drop-shadow(0 0 24px rgba(213,106,78,.22));
  animation: cmFlameFlicker 1.25s ease-in-out infinite;
  transition: opacity 260ms ease, transform 260ms ease, filter 260ms ease;
}
html.cm-theme-transition .cm-candle__flame{
  opacity:.55;
  filter: drop-shadow(0 0 18px rgba(255,140,90,.75));
}
@keyframes cmFlameFlicker{
  0%{transform:translateX(-50%) rotate(-10deg) scale(1)}
  28%{transform:translateX(-50%) rotate(8deg) scale(.96)}
  55%{transform:translateX(-50%) rotate(-6deg) scale(1.02)}
  78%{transform:translateX(-50%) rotate(10deg) scale(.98)}
  100%{transform:translateX(-50%) rotate(-10deg) scale(1)}
}
@keyframes cmTrackSweep{
  0%{
    left:-36px;
    opacity:0;
  }
  20%{
    opacity:.42;
  }
  100%{
    left:104px;
    opacity:0;
  }
}
@keyframes cmKnobPop{
  0%{
    filter:saturate(1) brightness(1);
  }
  30%{
    filter:saturate(1.12) brightness(1.05);
  }
  100%{
    filter:saturate(1) brightness(1);
  }
}

/* iOS style theme switch (clean, minimal) */
.cm-theme-toggle{
  height:32px;
}
.cm-theme-toggle__track{
  width:62px;
  height:32px;
  grid-template-columns:1fr;
  border-radius:999px;
  border:0;
  background:#d1d1d6;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);
  transition:background-color 260ms ease, box-shadow 260ms ease;
}
html[data-theme="dark"] .cm-theme-toggle__track{
  background:#d4af37;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);
}
.cm-theme-toggle__track:before,
.cm-theme-toggle__track:after,
.cm-theme-toggle__side,
.cm-theme-toggle__sun,
.cm-theme-toggle__moon,
.cm-theme-toggle__stars{
  display:none !important;
}
.cm-theme-toggle__knob{
  width:28px;
  height:28px;
  border:0;
  background:#fff;
  box-shadow:
    0 1px 3px rgba(0,0,0,.26),
    0 4px 10px rgba(0,0,0,.16);
  transition:transform 260ms cubic-bezier(.2,.8,.2,1), box-shadow 260ms ease;
}
.cm-candle{
  display:block !important;
  position:relative;
  width:10px;
  height:16px;
  transform:translateY(1px);
}
.cm-candle:before{
  content:"";
  position:absolute;
  left:50%;
  top:1px;
  width:1px;
  height:4px;
  transform:translateX(-50%);
  border-radius:2px;
  background:rgba(62,47,40,.85);
}
.cm-candle__wax{
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width:9px;
  height:12px;
  border-radius:4px;
  background:linear-gradient(180deg, #ffffff, #f4f4f6);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);
}
.cm-candle__flame{
  position:absolute;
  left:50%;
  top:-5px;
  transform:translateX(-50%);
  width:6px;
  height:8px;
  border-radius:999px;
  background:radial-gradient(circle at 50% 20%, #fff 0%, #ffd88f 35%, #ff9e57 70%, rgba(255,158,87,.08) 100%);
  filter:drop-shadow(0 0 5px rgba(255,158,87,.45));
  animation:cmFlameFlicker 1.4s ease-in-out infinite;
}
html[data-theme="dark"] .cm-candle__wax{
  background:linear-gradient(180deg, #f7f7f8, #ebebef);
}
html[data-theme="dark"] .cm-candle:before{
  background:rgba(52,42,38,.82);
}
html[data-theme="dark"] .cm-candle__flame{
  opacity:.92;
}
html[data-theme="light"] .cm-theme-toggle__knob{
  transform:translate(-50%, -50%) translateX(-15px);
}
html[data-theme="dark"] .cm-theme-toggle__knob{
  transform:translate(-50%, -50%) translateX(15px);
}
.cm-theme-toggle:hover .cm-theme-toggle__track,
html[data-theme="dark"] .cm-theme-toggle:hover .cm-theme-toggle__track{
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.10);
}
.cm-theme-toggle:focus-visible .cm-theme-toggle__track,
html[data-theme="dark"] .cm-theme-toggle:focus-visible .cm-theme-toggle__track{
  box-shadow:
    0 0 0 3px rgba(10,132,255,.28),
    inset 0 0 0 1px rgba(0,0,0,.10);
}
.cm-theme-toggle.is-switching .cm-theme-toggle__knob{
  animation:none;
}
html.cm-theme-transition .cm-candle__flame{
  filter:drop-shadow(0 0 8px rgba(255,158,87,.6));
}

.cm-main{padding-bottom:72px}

/* Hero banner (как пример: широкая картинка + текст поверх) */
.cm-hero--banner{padding:18px 0 14px}
.cm-hero-banner{
  position:relative;
  border-radius:var(--cm-radius-lg);
  border:1px solid var(--cm-border);
  background: linear-gradient(180deg, var(--cm-surface-2), var(--cm-surface));
  box-shadow:var(--cm-shadow-2);
  overflow:hidden;
  width:100%;
  height:750px;
}
.cm-hero-banner__track{
  height:100%;
  display:flex;
  transform:translateX(0);
  transition:transform 650ms cubic-bezier(.2,.8,.2,1);
}
.cm-hero-banner__slide{
  min-width:100%;
  height:100%;
  position:relative;
  background-size:cover;
  background-position:center;
  background-image:
    radial-gradient(1200px 800px at 15% 20%, rgba(255,255,255,.55), transparent 60%),
    radial-gradient(1000px 700px at 80% 50%, rgba(233,178,163,.22), transparent 62%),
    linear-gradient(135deg, rgba(213,106,78,.20), rgba(0,0,0,.0));
}
.cm-hero-banner__overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.86) 0%, rgba(255,255,255,.56) 36%, rgba(255,255,255,.14) 66%, rgba(255,255,255,.04) 100%),
    linear-gradient(180deg, rgba(0,0,0,.06) 0%, rgba(0,0,0,.10) 60%, rgba(0,0,0,.12) 100%);
}
html[data-theme="dark"] .cm-hero-banner__overlay{
  background:
    linear-gradient(90deg, rgba(10,8,7,.78) 0%, rgba(10,8,7,.52) 36%, rgba(10,8,7,.18) 66%, rgba(10,8,7,.06) 100%),
    linear-gradient(180deg, rgba(0,0,0,.20) 0%, rgba(0,0,0,.34) 60%, rgba(0,0,0,.42) 100%);
}
.cm-hero-banner__content{
  position:absolute;
  left:64px;
  top:50%;
  transform:translateY(-52%);
  max-width:520px;
  z-index:2;
}
.cm-hero-banner__kicker{
  margin:0 0 10px;
  color:var(--cm-muted);
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:12px;
}
.cm-hero-banner__title{
  margin:0 0 12px;
  font-size:46px;
  line-height:1.05;
  letter-spacing:-.03em;
  color:var(--cm-text);
}
.cm-hero-banner__lead{
  margin:0 0 18px;
  color:var(--cm-muted);
  line-height:1.7;
}
.cm-hero-banner__cta{display:flex;gap:12px;flex-wrap:wrap}

.cm-hero-banner__arrow{
  position:absolute;
  bottom:24px;
  width:44px;height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.18);
  backdrop-filter: blur(10px);
  cursor:pointer;
  z-index:3;
  font-size:26px;
  line-height:1;
  display:grid;
  place-items:center;
  color:var(--cm-ink);
}
html[data-theme="dark"] .cm-hero-banner__arrow{
  border-color:rgba(255,255,255,.14);
  background:rgba(0,0,0,.18);
  color:rgba(255,255,255,.88);
}
.cm-hero-banner__arrow:hover{transform:translateY(-1px)}
.cm-hero-banner__arrow--prev{left: calc(50% - 88px)}
.cm-hero-banner__arrow--next{left: calc(50% + 44px)}

.cm-hero-banner__dots{
  position:absolute;
  left:50%;
  bottom:34px;
  transform:translateX(-50%);
  display:flex;
  gap:10px;
  z-index:3;
}
.cm-hero-banner__dots .cm-dot{
  width:10px;height:10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.40);
  background:rgba(255,255,255,.22);
}
html[data-theme="dark"] .cm-hero-banner__dots .cm-dot{
  border-color:rgba(255,255,255,.18);
  background:rgba(0,0,0,.18);
}
.cm-hero-banner__dots .cm-dot.is-active{
  background:rgba(255,255,255,.88);
  border-color:transparent;
  box-shadow:0 0 0 7px rgba(255,255,255,.16);
}
html[data-theme="dark"] .cm-hero-banner__dots .cm-dot.is-active{
  background:rgba(255,255,255,.90);
  box-shadow:0 0 0 7px rgba(255,255,255,.10);
}

.cm-hero{padding:18px 0 14px}
.cm-hero__frame{
  border-radius:var(--cm-radius-lg);
  border:1px solid var(--cm-border);
  background: linear-gradient(180deg, var(--cm-surface-2), var(--cm-surface));
  box-shadow:var(--cm-shadow-2);
  overflow:hidden;
}
.cm-hero__grid{
  display:grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap:0;
  align-items:stretch;
  min-height:750px;
}
.cm-hero__copy{
  padding:54px 44px;
  position:relative;
}
.cm-hero__copy:after{
  content:"";
  position:absolute;right:-1px;top:0;bottom:0;width:1px;
  background:linear-gradient(180deg, transparent, var(--cm-border), transparent);
}
.cm-kicker{margin:0 0 12px;color:var(--cm-muted);letter-spacing:.18em;text-transform:uppercase;font-size:12px}
.cm-hero__title{margin:0 0 14px;font-size:52px;line-height:1.03;letter-spacing:-.04em}
.cm-hero__lead{margin:0 0 22px;color:var(--cm-muted);font-size:16px;line-height:1.75;max-width:55ch}
.cm-hero__cta{display:flex;gap:12px;flex-wrap:wrap}
.cm-btn{
  display:inline-flex;align-items:center;justify-content:center;
  text-decoration:none;
  padding:12px 16px;border-radius:999px;border:1px solid var(--cm-border);
  background:var(--cm-glass);
}
.cm-btn--primary{
  border-color:transparent;
  background:linear-gradient(135deg, var(--cm-accent), var(--cm-accent-2));
  color:#fff;
  box-shadow:0 18px 52px rgba(213,106,78,.22);
}
.cm-btn--ghost:hover{border-color:rgba(217,107,79,.35)}

.cm-slider{
  height:100%;
  border-left:0;
  border-top:0;
  border-bottom:0;
  border-right:0;
  border-radius:0;
  overflow:hidden;
  background:transparent;
  box-shadow:none;
  display:flex;
  flex-direction:column;
}
.cm-slider__track{
  display:flex;
  width:100%;
  flex:1;
  transform:translateX(0);
  transition:transform 600ms cubic-bezier(.2,.8,.2,1);
}
.cm-slide{min-width:100%}
.cm-slide__card{position:relative;height:100%;min-height:750px}
.cm-slide__bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(1.05) contrast(1.02)}
.cm-slide__bg--01{
  background-image:
    radial-gradient(1000px 700px at 20% 10%, rgba(255,255,255,.45), transparent 60%),
    radial-gradient(900px 700px at 80% 70%, rgba(233,178,163,.22), transparent 62%),
    linear-gradient(135deg, rgba(213,106,78,.18), rgba(251,250,248,.0)),
    radial-gradient(circle at 30% 35%, rgba(255,214,168,.26), transparent 45%),
    linear-gradient(180deg, rgba(0,0,0,.0), rgba(0,0,0,.12));
}
.cm-slide__bg--02{
  background-image:
    radial-gradient(1000px 700px at 10% 60%, rgba(255,255,255,.42), transparent 60%),
    radial-gradient(900px 700px at 85% 15%, rgba(213,106,78,.18), transparent 62%),
    linear-gradient(135deg, rgba(233,178,163,.14), rgba(251,250,248,.0)),
    radial-gradient(circle at 60% 40%, rgba(255,214,168,.20), transparent 46%),
    linear-gradient(180deg, rgba(0,0,0,.0), rgba(0,0,0,.12));
}
.cm-slide__bg--03{
  background-image:
    radial-gradient(1000px 700px at 70% 20%, rgba(255,255,255,.40), transparent 60%),
    radial-gradient(900px 700px at 15% 80%, rgba(233,178,163,.20), transparent 62%),
    linear-gradient(135deg, rgba(213,106,78,.12), rgba(251,250,248,.0)),
    radial-gradient(circle at 35% 55%, rgba(255,214,168,.18), transparent 48%),
    linear-gradient(180deg, rgba(0,0,0,.0), rgba(0,0,0,.12));
}
.cm-slide__card:after{
  content:"";
  position:absolute;inset:0;
  background:
    radial-gradient(1000px 700px at 40% 30%, rgba(255,255,255,.22), transparent 55%),
    linear-gradient(180deg, rgba(0,0,0,.0) 0%, rgba(0,0,0,.18) 60%, rgba(0,0,0,.36) 100%);
}
html[data-theme="dark"] .cm-slide__card:after{
  background:
    radial-gradient(1000px 700px at 40% 30%, rgba(255,255,255,.10), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.46) 65%, rgba(0,0,0,.70) 100%);
}
.cm-slide__content{
  position:absolute;left:18px;right:18px;bottom:18px;
  z-index:2;
  padding:18px 18px;
  border:1px solid rgba(255,255,255,.20);
  background:rgba(10,8,7,.18);
  border-radius:18px;
  backdrop-filter: blur(10px);
}
.cm-slide__title{font-weight:700;font-size:18px;margin-bottom:6px;color:#fff}
.cm-slide__text{color:rgba(255,255,255,.82);line-height:1.5}
.cm-slider__controls{
  display:flex;align-items:center;gap:10px;
  padding:14px 16px;
  border-top:1px solid var(--cm-border);
  background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.08));
}
.cm-slider__controls{backdrop-filter: blur(10px)}
.cm-slider__controls{border-top:1px solid rgba(255,255,255,.10)}
.cm-slider__controls{color:var(--cm-ink)}
html[data-theme="dark"] .cm-slider__controls{color:rgba(255,255,255,.86);background: linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.06))}
.cm-icon-btn{
  width:38px;height:38px;border-radius:12px;
  border:1px solid var(--cm-border);
  background:var(--cm-glass);
  cursor:pointer;
  font-size:22px;line-height:1;
}
.cm-icon-btn:hover{border-color:rgba(213,106,78,.32)}
.cm-slider__dots{display:flex;gap:8px;flex:1;justify-content:center}
.cm-dot{
  width:8px;height:8px;border-radius:999px;
  border:1px solid var(--cm-border);
  background:transparent;
  cursor:pointer;
}
.cm-dot.is-active{background:var(--cm-accent);border-color:transparent;box-shadow:0 0 0 7px rgba(213,106,78,.14)}

.cm-section{padding:40px 0}
.cm-section--tight{padding:28px 0}
.cm-section__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin:0 0 14px;
}
.cm-section__head--stack{align-items:flex-start;flex-direction:column;margin-bottom:10px}
.cm-section__title{margin:0 0 8px;font-size:28px;letter-spacing:-.02em}
.cm-section__lead{margin:0 0 18px;color:var(--cm-muted);max-width:70ch}
.cm-link{
  text-decoration:none;
  color:var(--cm-muted);
  border-bottom:1px solid transparent;
  padding-bottom:2px;
  white-space:nowrap;
}
.cm-link:hover{color:var(--cm-text);border-bottom-color:rgba(213,106,78,.24)}
.cm-muted{color:var(--cm-muted);line-height:1.7}
.cm-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:14px}
.cm-card{
  text-decoration:none;
  border:1px solid var(--cm-border);
  background:linear-gradient(180deg, var(--cm-surface-2), var(--cm-surface));
  border-radius:var(--cm-radius-sm);
  overflow:hidden;
}
.cm-card{box-shadow:var(--cm-shadow-sm)}
.cm-card__media img{display:block;width:100%;height:220px;object-fit:cover}
.cm-card__body{padding:14px}
.cm-card__title{font-weight:650;margin-bottom:6px}
.cm-card__price{color:var(--cm-muted)}
.cm-card:hover{border-color:rgba(213,106,78,.32);box-shadow:0 26px 80px rgba(213,106,78,.12)}

/* Categories row */
.cm-cats{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns: 200px;
  gap:14px;
  overflow:auto;
  padding-bottom:6px;
  scroll-snap-type:x mandatory;
}
.cm-cat{scroll-snap-align:start;text-decoration:none}
.cm-cat__media{
  position:relative;
  height:120px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--cm-border);
  background:
    radial-gradient(900px 500px at 30% 20%, rgba(255,255,255,.55), transparent 55%),
    linear-gradient(135deg, rgba(213,106,78,.22), rgba(0,0,0,.0));
  background-size:cover;
  background-position:center;
  box-shadow:var(--cm-shadow-sm);
}
.cm-cat__shade{
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.36));
}
.cm-cat__icon{
  position:absolute;left:14px;top:14px;
  width:30px;height:30px;border-radius:999px;
  display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.26);
  background:rgba(255,255,255,.16);
  backdrop-filter: blur(10px);
  color:#fff;
  font-size:14px;
}
.cm-cat__name{
  position:absolute;left:14px;right:14px;bottom:12px;
  color:#fff;
  font-weight:650;
  line-height:1.15;
}
.cm-cat:hover .cm-cat__media{border-color:rgba(213,106,78,.32)}

/* Products grid (popular) */
.cm-products{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:14px;
}
.cm-pcard{
  text-decoration:none;
  border:1px solid var(--cm-border);
  background:linear-gradient(180deg, var(--cm-surface-2), var(--cm-surface));
  border-radius:18px;
  overflow:hidden;
  box-shadow:var(--cm-shadow-sm);
}
.cm-pcard:hover{border-color:rgba(213,106,78,.32);box-shadow:0 26px 80px rgba(213,106,78,.12)}
.cm-pcard__media{position:relative}
.cm-pcard__media img{display:block;width:100%;height:180px;object-fit:cover}
.cm-like{
  position:absolute;right:10px;bottom:10px;
  width:34px;height:34px;border-radius:999px;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.18);
  backdrop-filter: blur(10px);
  cursor:pointer;
  color:#fff;
  font-size:16px;
}
.cm-like:hover{transform:translateY(-1px)}
.cm-like.is-active{
  background:rgba(213,106,78,.30);
  border-color:rgba(255,255,255,.35);
}
.cm-pcard__body{padding:12px 12px 14px}
.cm-pcard__title{font-weight:650;margin-bottom:6px}
.cm-pcard__meta{
  color:var(--cm-muted);
  font-size:12px;
  line-height:1.4;
  min-height:32px;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  margin-bottom:8px;
}
.cm-pcard__price{color:var(--cm-text)}

/* Promo banner */
.cm-promo{padding:10px 0 34px}
.cm-promo__card{
  border-radius:22px;
  border:1px solid var(--cm-border);
  background:linear-gradient(135deg, rgba(213,106,78,.12), rgba(255,255,255,.22));
  box-shadow:var(--cm-shadow);
  overflow:hidden;
  display:grid;
  grid-template-columns: 0.9fr 1.1fr;
  min-height:220px;
}
html[data-theme="dark"] .cm-promo__card{
  background:linear-gradient(135deg, rgba(255,124,89,.14), rgba(255,255,255,.04));
}
.cm-promo__copy{padding:26px 26px;display:flex;flex-direction:column;justify-content:center;gap:10px}
.cm-promo__title{font-size:22px;font-weight:750;letter-spacing:-.02em}
.cm-promo__text{color:var(--cm-muted)}
.cm-promo__media{
  background:
    radial-gradient(1000px 500px at 50% 20%, rgba(255,255,255,.55), transparent 60%),
    linear-gradient(135deg, rgba(233,178,163,.20), rgba(0,0,0,.0));
}

/* About + bestsellers split */
.cm-split{display:grid;grid-template-columns: 1fr 1.15fr;gap:18px;align-items:start}
.cm-about, .cm-bests{
  border:1px solid var(--cm-border);
  background:linear-gradient(180deg, var(--cm-surface-2), var(--cm-surface));
  border-radius:22px;
  padding:18px;
  box-shadow:var(--cm-shadow-sm);
}
.cm-about__photo{
  margin-top:14px;
  height:180px;
  border-radius:18px;
  background:
    radial-gradient(1000px 520px at 18% 20%, rgba(255,255,255,.55), transparent 60%),
    linear-gradient(135deg, rgba(213,106,78,.16), rgba(0,0,0,.0));
  border:1px solid var(--cm-border);
}
.cm-bests__grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:12px}
.cm-mini{
  text-decoration:none;
  border:1px solid var(--cm-border);
  background:var(--cm-glass);
  border-radius:18px;
  overflow:hidden;
}
.cm-mini__img img{display:block;width:100%;height:120px;object-fit:cover}
.cm-mini__body{padding:10px}
.cm-mini__title{font-weight:650;font-size:13px;margin-bottom:6px}
.cm-mini__price{color:var(--cm-muted);font-size:13px}
.cm-mini:hover{border-color:rgba(213,106,78,.32)}

/* Features row */
.cm-features{
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:12px;
}
.cm-feature{
  border:1px solid var(--cm-border);
  background:var(--cm-glass);
  border-radius:18px;
  padding:14px;
  box-shadow:var(--cm-shadow-sm);
}
.cm-feature__icon{
  width:34px;height:34px;border-radius:999px;
  display:grid;place-items:center;
  border:1px solid var(--cm-border);
  background:linear-gradient(135deg, rgba(213,106,78,.18), rgba(255,255,255,.22));
  margin-bottom:10px;
}
.cm-feature__title{font-weight:750;margin-bottom:6px}
.cm-feature__text{color:var(--cm-muted);font-size:12px;line-height:1.5}

.cm-page{padding:34px 0}
.cm-page__header{margin-bottom:12px}
.cm-page__title{margin:0;font-size:34px;letter-spacing:-.02em}
.cm-page__content{color:var(--cm-muted);line-height:1.8}

.cm-woo{
  color:var(--cm-text);
}
.cm-woo .woocommerce-notices-wrapper{
  margin-bottom:14px;
}
.cm-woo .woocommerce-message,
.cm-woo .woocommerce-info,
.cm-woo .woocommerce-error{
  border-radius:var(--cm-radius-sm);
  border:1px solid var(--cm-border);
  background:var(--cm-surface);
  padding:12px 14px;
}
.cm-woo .woocommerce-error{border-color:rgba(255,70,70,.28)}

.cm-woo a.button,
.cm-woo button.button,
.cm-woo input.button,
.cm-woo a.add_to_cart_button{
  border-radius:999px !important;
  border:1px solid var(--cm-border) !important;
  background:var(--cm-surface) !important;
  color:var(--cm-text) !important;
  padding:12px 16px !important;
  box-shadow:none !important;
}
.cm-woo a.button:hover,
.cm-woo button.button:hover,
.cm-woo input.button:hover{
  border-color:rgba(217,107,79,.35) !important;
}
.cm-woo a.button.alt,
.cm-woo button.button.alt,
.cm-woo input.button.alt{
  border-color:transparent !important;
  background:linear-gradient(135deg, var(--cm-accent), var(--cm-accent-2)) !important;
  color:#fff !important;
}

.cm-woo .woocommerce-breadcrumb{
  margin:0 0 10px;
  color:var(--cm-muted);
}
.cm-woo .woocommerce-result-count,
.cm-woo .woocommerce-ordering{
  margin:0 0 12px;
}
.cm-woo .woocommerce-ordering select{
  border-radius:12px;
  border:1px solid var(--cm-border);
  background:var(--cm-surface);
  color:var(--cm-text);
  padding:10px 12px;
}

/* Shop filters */
.cm-filters{margin:10px 0 18px}
.cm-filters__row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:flex-end;
}
.cm-filters__field{display:flex;flex-direction:column;gap:6px}
.cm-filters__label{font-size:12px;color:var(--cm-muted)}
.cm-filters__select{
  min-width:160px;
  border-radius:999px;
  border:1px solid var(--cm-border);
  background:var(--cm-surface);
  color:var(--cm-text);
  padding:10px 12px;
}
.cm-filters__apply{
  border-radius:999px;
  border:1px solid var(--cm-border);
  background:linear-gradient(135deg, var(--cm-accent), var(--cm-accent-2));
  color:#fff;
  padding:11px 16px;
  cursor:pointer;
}
.cm-filters__reset{
  padding:11px 12px;
  text-decoration:none;
  color:var(--cm-muted);
}
.cm-filters__reset:hover{color:var(--cm-text)}

.cm-woo ul.products{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:14px;
}
/* Woo: clearfix псевдоэлементы иначе становятся ячейками grid и "съедают" колонки */
.cm-woo ul.products::before,
.cm-woo ul.products::after{
  content:none;
  display:none;
}
.cm-woo ul.products li.product{
  border:1px solid var(--cm-border);
  background:linear-gradient(180deg, var(--cm-surface-2), var(--cm-surface));
  border-radius:var(--cm-radius-sm);
  overflow:hidden;
  padding:14px;
  margin:0 !important;
  /* Woo default floats/width break grid, especially in related products */
  float:none !important;
  width:auto !important;
  clear:none !important;
  max-width:none !important;
  justify-self:stretch;
}
.cm-woo ul.products li.product a.woocommerce-LoopProduct-link{display:block}
.cm-woo ul.products li.product .button{width:100%;text-align:center}
.cm-woo ul.products li.product .onsale{
  border-radius:999px;
  padding:.3em .8em;
  background:rgba(213,106,78,.18);
  color:var(--cm-text);
  border:1px solid rgba(213,106,78,.22);
}
.cm-woo ul.products li.product:hover{
  border-color:rgba(217,107,79,.35);
  box-shadow:0 18px 50px rgba(217,107,79,.12);
}
.cm-woo ul.products li.product a img{
  border-radius:14px;
  width:100% !important;
  height:180px;
  object-fit:cover;
}

/*
 * Витрина Woo (шорткоды, блоки Gutenberg): одинаковые квадратные превью, как у карточек свечей.
 * Блоки WC задают img { height:auto } — без обёртки с aspect-ratio портретные фото «ломают» ряд.
 */
.wc-block-grid__products .wc-block-grid__product-image,
.wc-block-grid__products .wc-block-components-product-image,
.wc-block-product-template .wc-block-grid__product-image,
.wc-block-product-template .wc-block-components-product-image,
.wp-block-woocommerce-product-collection .wc-block-grid__product-image,
.wp-block-woocommerce-product-collection .wc-block-components-product-image{
  aspect-ratio:1 / 1;
  width:100%;
  max-width:100%;
  overflow:hidden;
  border-radius:12px;
  position:relative;
}
.wc-block-grid__products .wc-block-grid__product-image a,
.wc-block-grid__products .wc-block-components-product-image a,
.wc-block-product-template .wc-block-grid__product-image a,
.wc-block-product-template .wc-block-components-product-image a,
.wp-block-woocommerce-product-collection .wc-block-grid__product-image a,
.wp-block-woocommerce-product-collection .wc-block-components-product-image a{
  display:block;
  height:100%;
}
.wc-block-grid__products .wc-block-grid__product-image img,
.wc-block-grid__products .wc-block-components-product-image img,
.wc-block-product-template .wc-block-grid__product-image img,
.wc-block-product-template .wc-block-components-product-image img,
.wp-block-woocommerce-product-collection .wc-block-grid__product-image img,
.wp-block-woocommerce-product-collection .wc-block-components-product-image img{
  display:block;
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center;
  border-radius:inherit;
  vertical-align:middle;
}

/* Классический луп: ссылка часто оборачивает и img, и заголовок — квадрат только у картинки */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link img,
ul.products li.product a.woocommerce-LoopProduct-link img,
ul.products li.product a.woocommerce-LoopProduct-link > img,
ul.products li.product .woocommerce-loop-product__link img{
  display:block;
  width:100% !important;
  aspect-ratio:1 / 1;
  height:auto !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center;
  border-radius:12px;
}

.woocommerce ul.products li.product,
ul.products li.product,
.wc-block-grid__product{
  display:flex;
  flex-direction:column;
}
.cm-woo ul.products li.product .woocommerce-loop-product__title{
  font-size:16px;
  font-weight:650;
  margin:10px 0 6px;
}
.cm-woo ul.products li.product .price{
  color:var(--cm-muted);
}

.cm-woo div.product{
  border:1px solid var(--cm-border);
  background:linear-gradient(180deg, var(--cm-surface-2), var(--cm-surface));
  border-radius:var(--cm-radius);
  padding:18px;
}
.cm-woo div.product .summary{
  color:var(--cm-text);
}
.cm-woo div.product .product_title{
  font-size:34px;
  letter-spacing:-.02em;
}
.cm-woo div.product .woocommerce-product-details__short-description{
  color:var(--cm-muted);
  line-height:1.7;
}

/* Single product enhancements */
.cm-woo div.product{padding:18px}
.cm-product__top{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap:18px;
  align-items:start;
}
.cm-product__gallery{position:relative}
.cm-product__summary{position:relative}

/* Make Woo gallery match the mock (large image + thumbs row) */
.cm-woo div.product .woocommerce-product-gallery{
  width:100% !important;
  float:none !important;
  margin:0 !important;
}
.cm-woo div.product .woocommerce-product-gallery__wrapper{
  border-radius:18px;
  overflow:hidden;
  background:rgba(0,0,0,.02);
}
html[data-theme="dark"] .cm-woo div.product .woocommerce-product-gallery__wrapper{
  background:rgba(255,255,255,.03);
}
.cm-woo div.product .woocommerce-product-gallery__image img{
  width:100%;
  height:auto;
  display:block;
  border-radius:0;
  /* чтобы галерея не занимала "полстраницы" на высоких фото */
  max-height:560px;
  object-fit:cover;
}

/* Thumbs: компактнее и аккуратнее */
.cm-woo div.product .flex-control-thumbs{
  margin:10px 0 0 !important;
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(72px, 1fr));
  gap:10px;
}
.cm-woo div.product .flex-control-thumbs li{
  float:none !important;
  margin:0 !important;
  width:auto !important;
}
.cm-woo div.product .flex-control-thumbs img{
  width:100% !important;
  height:72px;
  object-fit:cover;
  border-radius:14px;
  border:1px solid var(--cm-border);
  opacity:.82;
}
.cm-woo div.product .flex-control-thumbs img.flex-active,
.cm-woo div.product .flex-control-thumbs img:hover{
  opacity:1;
  border-color:rgba(213,106,78,.32);
}

/* Summary card on the right */
.cm-woo div.product .summary{
  float:none !important;
  width:100% !important;
  margin:0 !important;
  border:1px solid var(--cm-border);
  background:linear-gradient(180deg, var(--cm-surface-2), var(--cm-surface));
  border-radius:18px;
  padding:18px;
}
.cm-woo div.product .product_title{
  font-size:34px;
  line-height:1.12;
  margin:0 0 10px;
}
.cm-woo div.product .price{
  font-size:18px;
  font-weight:650;
  color:var(--cm-text);
}
.cm-woo div.product form.cart{
  margin-top:14px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}
.cm-woo div.product form.cart .quantity{
  margin:0 !important;
}
.cm-woo div.product form.cart .quantity input.qty{
  width:88px !important;
  border-radius:12px;
  border:1px solid var(--cm-border);
  background:var(--cm-surface);
  color:var(--cm-text);
  padding:10px 12px;
}
.cm-woo div.product form.cart button.single_add_to_cart_button{
  flex:1;
  min-width:200px;
  border-radius:12px !important;
  border:1px solid transparent !important;
  background:linear-gradient(135deg, var(--cm-accent), var(--cm-accent-2)) !important;
  color:#fff !important;
  padding:12px 14px !important;
  font-weight:650 !important;
}

/* Variation attributes as pills (if variable products appear later) */
.cm-woo div.product table.variations{
  margin:10px 0 0 !important;
}
.cm-woo div.product table.variations td,
.cm-woo div.product table.variations th{
  padding:6px 0 !important;
}
.cm-woo div.product table.variations select{
  border-radius:999px;
  border:1px solid var(--cm-border);
  background:var(--cm-surface);
  color:var(--cm-text);
  padding:10px 12px;
  width:100%;
}

/* Single favorite (heart) */
.cm-like--single{
  position:absolute;
  top:12px;
  right:12px;
  z-index:3;
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid var(--cm-border);
  background:rgba(255,255,255,.72);
  color:var(--cm-text);
  display:grid;
  place-items:center;
  cursor:pointer;
}
html[data-theme="dark"] .cm-like--single{
  background:rgba(16,14,13,.72);
  border-color:rgba(255,255,255,.16);
}
.cm-like--single:hover{box-shadow:0 18px 50px rgba(217,107,79,.12)}

/* Sections below (About + Specs + Related) */
.cm-product-sections{margin-top:18px}
.cm-product-sections__grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:18px;
}
.cm-product-about,
.cm-product-aside__card{
  border:1px solid var(--cm-border);
  border-radius:18px;
  background:linear-gradient(180deg, var(--cm-surface-2), var(--cm-surface));
  padding:16px;
}
.cm-product-about__title,
.cm-product-related__title{
  margin:0 0 12px;
  font-size:16px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--cm-muted);
}
.cm-product-aside__title{
  margin:0 0 10px;
  font-size:14px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--cm-muted);
}
.cm-product-about__content{color:var(--cm-text);line-height:1.8}
.cm-product-about__empty{color:var(--cm-muted);margin:0}
.cm-product-related{margin-top:18px}
.cm-product-related .products{
  margin-top:12px !important;
}
.cm-product-related ul.products{
  align-items:stretch;
}

@media (max-width: 960px){
  .cm-product__top{grid-template-columns:1fr}
  .cm-product-sections__grid{grid-template-columns:1fr}
  .cm-woo div.product .woocommerce-product-gallery__image img{max-height:520px}
}

.cm-specs{
  margin-top:14px;
  border:1px solid var(--cm-border);
  background:var(--cm-glass);
  border-radius:18px;
  padding:14px;
}
.cm-specs__title{
  margin:0 0 10px;
  font-size:14px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--cm-muted);
}
.cm-specs__list{margin:0}
.cm-specs__empty{
  margin:0;
  color:var(--cm-muted);
  font-size:14px;
  line-height:1.5;
}
.cm-specs__row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
  padding:10px 0;
  border-top:1px solid var(--cm-border);
}
.cm-specs__row:first-child{border-top:0;padding-top:0}
.cm-specs__k{margin:0;color:var(--cm-muted)}
.cm-specs__v{margin:0;color:var(--cm-text);text-align:right}

.cm-delivery{
  margin-top:12px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
}
.cm-delivery__item{
  display:flex;
  gap:10px;
  align-items:flex-start;
  border:1px solid var(--cm-border);
  background:linear-gradient(180deg, var(--cm-surface-2), var(--cm-surface));
  border-radius:18px;
  padding:14px;
}
.cm-delivery__icon{
  width:34px;height:34px;border-radius:999px;
  display:grid;place-items:center;
  border:1px solid var(--cm-border);
  background:var(--cm-glass);
}
.cm-delivery__text{color:var(--cm-muted);margin-top:4px;line-height:1.5}
.cm-woo .woocommerce-tabs ul.tabs li{
  border-radius:999px;
  border:1px solid var(--cm-border);
  background:var(--cm-surface);
  margin:0 8px 8px 0;
}
.cm-woo .woocommerce-tabs ul.tabs li a{
  padding:10px 14px;
}

.cm-woo form .form-row input.input-text,
.cm-woo form .form-row textarea{
  border-radius:12px;
  border:1px solid var(--cm-border);
  background:var(--cm-surface);
  color:var(--cm-text);
  padding:12px 12px;
}
.cm-woo form .form-row label{
  color:var(--cm-muted);
}
.cm-woo .woocommerce-checkout-review-order,
.cm-woo #customer_details{
  border:1px solid var(--cm-border);
  background:linear-gradient(180deg, var(--cm-surface-2), var(--cm-surface));
  border-radius:18px;
  padding:14px;
}
.cm-woo .woocommerce-checkout-review-order{margin-top:14px}
.cm-woo table.shop_table{
  border-radius:14px;
  overflow:hidden;
  border:1px solid var(--cm-border);
}
.cm-woo table.shop_table th,
.cm-woo table.shop_table td{
  border-color:var(--cm-border) !important;
}
.cm-woo #payment{
  border-radius:18px;
  border:1px solid var(--cm-border);
  background:var(--cm-surface);
}
.cm-woo #payment{
  border-radius:var(--cm-radius-sm);
  border:1px solid var(--cm-border);
  background:var(--cm-surface);
}
.cm-woo .woocommerce-cart-form,
.cm-woo .checkout{
  border-radius:var(--cm-radius-sm);
}

@media (max-width: 960px){
  .cm-woo ul.products{grid-template-columns:repeat(2, 1fr)}
}
@media (max-width: 560px){
  .cm-woo ul.products{grid-template-columns:1fr}
  .cm-delivery{grid-template-columns:1fr}
  .cm-specs__row{grid-template-columns:1fr}
  .cm-specs__v{text-align:left}
}

.cm-footer{padding:26px 0;border-top:1px solid var(--cm-border);background:var(--cm-surface)}
.cm-footer__inner{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.cm-footer__title{font-weight:700;margin-bottom:6px}
.cm-footer__sub{color:var(--cm-muted)}
.cm-footer__list{list-style:none;margin:0;padding:0;display:flex;gap:14px;flex-wrap:wrap}
.cm-footer__list a{text-decoration:none;color:var(--cm-muted)}
.cm-footer__list a:hover{color:var(--cm-text)}

/* Woo Lightbox (PhotoSwipe): softer dimming */
.pswp__bg{
  background: rgba(23,19,17,.55) !important;
  opacity: 1 !important;
}
html[data-theme="dark"] .pswp__bg{
  background: rgba(0,0,0,.55) !important;
}

@media (max-width: 960px){
  .cm-hero__grid{grid-template-columns:1fr;min-height:unset}
  .cm-hero__copy{padding:34px 26px}
  .cm-hero__copy:after{display:none}
  .cm-slide__card{min-height:520px}
  .cm-hero__title{font-size:44px}
  .cm-grid{grid-template-columns:repeat(2, 1fr)}

  .cm-hero-banner{height:520px}
  .cm-hero-banner__content{left:34px;max-width:520px}

  .cm-products{grid-template-columns:repeat(3, 1fr)}
  .cm-promo__card{grid-template-columns: 1fr;min-height:unset}
  .cm-promo__media{min-height:160px}
  .cm-split{grid-template-columns:1fr}
  .cm-bests__grid{grid-template-columns:repeat(2, 1fr)}
  .cm-features{grid-template-columns:repeat(2, 1fr)}
}
@media (max-width: 560px){
  .cm-grid{grid-template-columns:1fr}
  .cm-hero__copy{padding:26px 18px}
  .cm-hero__title{font-size:36px}
  .cm-slide__card{min-height:380px}

  .cm-hero-banner{height:380px}
  .cm-hero-banner__content{left:18px;right:18px;max-width:unset}
  .cm-hero-banner__title{font-size:30px}
  .cm-hero-banner__arrow{display:none}
  .cm-hero-banner__dots{bottom:16px}

  .cm-products{grid-template-columns:repeat(2, 1fr)}
  .cm-pcard__media img{height:160px}
}

/* Cookie + «сайт в разработке» */
html.cm-nav-open,
html.cm-nav-open body{
  overflow:hidden;
}
html.cm-has-cookie-bar body.cm-site{
  padding-bottom:88px;
}
.cm-cookie-bar{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:120;
  border-top:1px solid var(--cm-border);
  background:
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.84));
  backdrop-filter:blur(14px);
  box-shadow:0 -12px 40px rgba(17,12,10,.10);
  transition:transform 420ms cubic-bezier(.22,1,.36,1), opacity 320ms ease;
}
html[data-theme="dark"] .cm-cookie-bar{
  background:
    linear-gradient(180deg, rgba(16,14,13,.94), rgba(16,14,13,.88));
  box-shadow:0 -12px 40px rgba(0,0,0,.42);
}
.cm-cookie-bar.is-hidden{
  opacity:0;
  transform:translateY(110%);
  pointer-events:none;
}
.cm-cookie-bar__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 0;
}
.cm-cookie-bar__content{
  min-width:0;
}
.cm-cookie-bar__badge{
  display:inline-flex;
  align-items:center;
  margin:0 0 6px;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid rgba(213,106,78,.28);
  background:rgba(213,106,78,.12);
  color:var(--cm-text);
  font-size:11px;
  font-weight:650;
  letter-spacing:.06em;
  text-transform:uppercase;
}
html[data-theme="dark"] .cm-cookie-bar__badge{
  border-color:rgba(255,124,89,.32);
  background:rgba(255,124,89,.14);
}
.cm-cookie-bar__text{
  margin:0;
  color:var(--cm-muted);
  font-size:13px;
  line-height:1.55;
  max-width:72ch;
}
.cm-cookie-bar__btn{
  flex-shrink:0;
  border:0;
  border-radius:999px;
  padding:11px 18px;
  cursor:pointer;
  font:inherit;
  font-size:14px;
  font-weight:600;
  color:#fff;
  background:linear-gradient(135deg, var(--cm-accent), var(--cm-accent-2));
  box-shadow:0 12px 32px rgba(213,106,78,.22);
  transition:transform 180ms ease, box-shadow 180ms ease;
}
.cm-cookie-bar__btn:hover{
  transform:translateY(-1px);
  box-shadow:0 16px 40px rgba(213,106,78,.28);
}
@media (max-width: 720px){
  html.cm-has-cookie-bar body.cm-site{padding-bottom:132px}
  .cm-cookie-bar__inner{
    flex-direction:column;
    align-items:stretch;
    gap:12px;
    padding:12px 0 14px;
  }
  .cm-cookie-bar__btn{width:100%}
}

/* ===== Candle Market Core: Favorites / PVZ (dark-mode safe) ===== */
.cmc-fav-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  margin-top:12px;
}
@media (max-width: 960px){
  .cmc-fav-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
}
@media (max-width: 560px){
  .cmc-fav-grid{grid-template-columns:1fr}
}
.cmc-fav-card{
  display:block;
  text-decoration:none;
  border:1px solid var(--cm-border);
  border-radius:12px;
  overflow:hidden;
  background:linear-gradient(180deg, var(--cm-surface-2), var(--cm-surface));
  color:var(--cm-text);
}
.cmc-fav-card:hover{
  border-color:rgba(217,107,79,.35);
  box-shadow:0 18px 50px rgba(217,107,79,.12);
}
.cmc-fav-card img{display:block;width:100%;height:auto}
.cmc-fav-card__body{padding:10px}
.cmc-fav-card__title{font-weight:650;margin-bottom:6px;color:var(--cm-text)}
.cmc-fav-card__price{opacity:.82;color:var(--cm-muted)}

.cmc-pvz__current{
  margin:12px 0;
  padding:12px;
  border:1px solid var(--cm-border);
  border-radius:12px;
  background:linear-gradient(180deg, var(--cm-surface-2), var(--cm-surface));
  color:var(--cm-text);
}
.cmc-pvz__current-value{margin-left:6px}
.cmc-pvz__muted{opacity:.75;color:var(--cm-muted)}

.cmc-pvz__label{
  display:block;
  margin:10px 0 6px;
  font-weight:650;
  color:var(--cm-text);
}
.cmc-pvz__city{
  max-width:420px;
  width:100%;
  border-radius:12px !important;
  padding:10px 12px !important;
  border:1px solid var(--cm-border) !important;
  background:var(--cm-surface) !important;
  color:var(--cm-text) !important;
}
.cmc-pvz__city::placeholder{color:var(--cm-muted)}

.cmc-pvz__buttons{
  margin-top:10px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.cmc-pvz__picked{margin-top:10px;opacity:.88;color:var(--cm-text)}
.cmc-pvz__list{margin-top:10px}
.cmc-pvz__status{margin-top:8px}

.cmc-pvz__toolbar{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin-bottom:10px;
}
.cmc-pvz__q{
  flex:1;
  min-width:220px;
  border-radius:12px;
  padding:10px 12px;
  border:1px solid var(--cm-border);
  background:var(--cm-surface);
  color:var(--cm-text);
}
.cmc-pvz__q::placeholder{color:var(--cm-muted)}
.cmc-pvz__items{
  max-height:360px;
  overflow:auto;
  border:1px solid var(--cm-border);
  border-radius:12px;
  background:linear-gradient(180deg, var(--cm-surface-2), var(--cm-surface));
}
.cmc-pvz__item{
  width:100%;
  text-align:left;
  padding:10px 12px;
  border:0;
  border-bottom:1px solid var(--cm-border);
  background:transparent;
  cursor:pointer;
  color:var(--cm-text);
}
.cmc-pvz__item:hover{background:var(--cm-glass)}
.cmc-pvz__item-code{font-weight:650}
.cmc-pvz__item-name{opacity:.82;color:var(--cm-muted)}

