/* Атрибут hidden прячет всегда, даже у flex-строк (.ch, .tools) — иначе «скрытое» торчит (23.10: «оплачу при получении» при бесплатной доставке). */
[hidden]{display:none!important}
/* Uzor Lab — стили витрины (перенесены из утверждённых макетов 22.10.2026). */
:root{--cherry:#B3122E;--cherry2:#D61E3A;--ink:#141113;--line:#ECE6E1;--muted:#7B6F73;--soft:#FAF7F4}
*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font-family:Montserrat,Arial,sans-serif}
a{color:inherit;text-decoration:none}.wrap{max-width:1240px;margin:0 auto;padding:0 28px}
.promo{background:var(--cherry);color:#fff;font-size:13px;font-weight:600}.promo .wrap{display:flex;gap:34px;justify-content:center;height:36px;align-items:center}
header{background:var(--ink);color:#F3EDEE;position:sticky;top:0;z-index:60}.top{display:flex;align-items:center;gap:26px;height:74px}
.brand{display:flex;align-items:center;gap:12px;font-family:'Playfair Display',serif;font-size:28px}.brand img{width:42px;height:42px}
.search{flex:1;max-width:460px;margin-left:18px;background:#211C1F;border:1px solid #3A3135;border-radius:999px;padding:11px 18px;color:#A69A9E;font-size:14px}
.icons{margin-left:auto;display:flex;gap:20px;font-size:13px;font-weight:600;color:#D9CFD2}.cartb{background:var(--cherry);color:#fff;padding:9px 16px;border-radius:999px}
nav.menu{border-top:1px solid #2A2427}nav.menu .wrap{display:flex;gap:30px;height:48px;align-items:center;font-size:14px;font-weight:600;color:#E6DEE1}
nav.menu .hot{color:var(--cherry2)}
.crumbs{font-size:13px;color:#7B6F73;padding:18px 0;display:flex;flex-wrap:wrap;align-items:center;gap:2px 0}.crumbs a{color:#3A3236;text-decoration:none;border-bottom:1px solid transparent}.crumbs a:hover{color:var(--cherry);border-color:var(--cherry)}.crumbs .sep{font-style:normal;color:#C9BFB8;margin:0 8px;font-size:15px;line-height:1}
h1,h2,h3{font-family:'Playfair Display',serif;font-weight:700}
.btn{display:inline-block;padding:14px 24px;border-radius:999px;font-weight:700;font-size:14px}.btn-red{background:var(--cherry);color:#fff}.btn-out{border:1.5px solid var(--ink)}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.tile{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;position:relative}
.tile .ph{aspect-ratio:1;background:#f3f0ec;position:relative}.tile .ph img{width:100%;height:100%;object-fit:cover;display:block}
.tile .heart{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--cherry)}
.tile .badge{position:absolute;left:10px;bottom:10px;background:rgba(179,18,46,.78);backdrop-filter:blur(4px);color:#fff;border-radius:999px;padding:6px 11px;font-size:12px;font-weight:700}
.tile .new{position:absolute;right:52px;top:15px;background:var(--ink);color:#fff;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:700;letter-spacing:.05em}
.tile .b{padding:12px 14px 16px}.tile .t{font-size:14px;font-weight:600;line-height:1.35;height:38px;overflow:hidden}
.tile .sw{display:flex;gap:4px;margin:8px 0}.tile .sw i{width:18px;height:18px;border-radius:50%;display:block;border:1px solid #0001}
.tile .p{font-size:18px;font-weight:700}.tile .p small{font-size:12px;color:var(--muted);font-weight:500}.tile .st{color:#2E7D50;font-size:12px;font-weight:600}
.stars{color:#E2A21A;font-size:12px}.stars span{color:var(--muted)}
.shot{position:relative;overflow:hidden}.shot img{width:100%;height:100%;object-fit:cover;display:block}
.sg{position:absolute;left:5%;top:5%;width:46%;color:#1E1418}.sg .br{color:#B3122E;font-weight:700;font-size:11px;letter-spacing:.04em;line-height:1.25}
.sg i{display:block;width:26px;height:2px;background:#B3122E;margin:6px 0 7px}.sg .md{font-family:'Playfair Display',serif;font-weight:700;font-size:22px;line-height:1.08;margin-bottom:8px;color:#121012}
.sg .c{font-weight:700;font-size:12px;line-height:1.35}.sg .sz{font-weight:700;font-size:13px}.sg .ct{display:flex;align-items:center;gap:6px;font-weight:600;font-size:12px;margin-top:6px}.sg .ct svg{width:18px;height:12px;border-radius:2px;box-shadow:0 0 0 1px #0002}
.sg.big .br{font-size:17px}.sg.big i{width:44px;height:3px;margin:10px 0 12px}.sg.big .md{font-size:44px;margin-bottom:16px}.sg.big .c{font-size:20px}.sg.big .sz{font-size:22px}.sg.big .ct{font-size:19px;margin-top:10px}.sg.big .ct svg{width:28px;height:19px}
footer{margin-top:70px;background:var(--ink);color:#BDB2B6;font-size:13px}footer .wrap{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:30px;padding:40px 28px}footer b{color:#fff;display:block;margin-bottom:10px}
/* Тень — только у карточки товара (её слово 22.10). */
.tile{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}
.tile a.cover{position:absolute;inset:0;z-index:1}.tile .heart,.tile .badge{z-index:2}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.search input{all:unset;width:100%;color:#F3EDEE}.search input::placeholder{color:#A69A9E}
footer a{display:block;line-height:1.7}
.sbar{display:flex;justify-content:space-between;align-items:center;border-radius:6px;padding:9px 16px;font-weight:700;font-size:18px;margin:46px 0 22px}.sbar a{font-size:12px;letter-spacing:.1em;color:var(--cherry)}
.pink{background:#F6DDE2}.grey{background:#EEEAE6}
.empty{padding:60px 0;text-align:center;color:var(--muted)}

/* Телефон и планшет: 99% покупателей смотрят с телефона. */
@media (max-width:1024px){
  .grid{grid-template-columns:repeat(3,1fr)}
  .icons span:not(.cartb){display:none}
}
@media (max-width:720px){
  .wrap{padding:0 16px}
  .promo .wrap{gap:14px;justify-content:flex-start;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
  .top{height:auto;flex-wrap:wrap;gap:10px;padding:12px 16px}
  .brand{font-size:22px}.brand img{width:34px;height:34px}
  .search{order:3;flex-basis:100%;max-width:none;margin:0}
  nav.menu .wrap{gap:20px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
  .grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .tile{border-radius:12px}.tile .b{padding:10px 10px 12px}.tile .t{font-size:13px;height:35px}.tile .p{font-size:16px}
  .tile .badge{font-size:10px;padding:4px 8px}.tile .new{right:8px;top:auto;bottom:36px;font-size:9px}
  .tile .heart{width:28px;height:28px;font-size:13px}
  .sg .br{font-size:9px}.sg i{width:18px;margin:4px 0 5px}.sg .md{font-size:16px;margin-bottom:5px}.sg .c{font-size:10px}.sg .sz{font-size:10.5px}.sg .ct{font-size:10px;margin-top:4px}.sg .ct svg{width:14px;height:10px}
  .sg.big .md{font-size:30px}.sg.big .c{font-size:15px}.sg.big .sz{font-size:16px}.sg.big .br{font-size:13px}
  footer .wrap{grid-template-columns:1fr 1fr;padding:30px 16px}
  h1{font-size:26px!important;line-height:1.15}
}
main{overflow-x:clip}

/* Поиск: кнопка «Найти» внутри строки (её слово 22.10: не только Enter). */
.search{display:flex;align-items:center;gap:8px;padding:5px 5px 5px 18px}.search input{flex:1;min-width:0}
.sbtn{border:0;background:var(--cherry);color:#fff;font:inherit;font-weight:700;font-size:13px;border-radius:999px;padding:7px 16px;cursor:pointer}
.ico{display:inline-flex}.ico svg{width:100%;height:100%}

/* Выпадающее меню (как LoveCrafts). */
nav.menu{position:relative}nav.menu .wrap{position:static}
nav.menu .mi{height:100%;display:flex;align-items:center}
nav.menu .caret{font-size:10px;opacity:.7}
nav.menu .drop{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;color:var(--ink);box-shadow:0 18px 30px -12px #0003;border-top:3px solid var(--cherry);z-index:50}
nav.menu .mi.has:hover .drop,nav.menu .mi.has:focus-within .drop,nav.menu .mi.open .drop{display:block}
nav.menu .dcols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:24px 28px 28px;white-space:normal}
nav.menu .dcols b{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--cherry);margin-bottom:10px}
nav.menu .dcols a{display:block;font-weight:500;font-size:14px;padding:5px 0;color:var(--ink)}nav.menu .dcols a:hover{color:var(--cherry)}
@media (max-width:720px){nav.menu .drop{position:fixed;top:auto;max-height:70vh;overflow:auto}nav.menu .dcols{grid-template-columns:1fr 1fr;padding:16px}}
nav.menu .drop .dcols{display:grid;height:auto;align-items:start;overflow:visible;white-space:normal;gap:24px}
@media (max-width:720px){nav.menu .drop .dcols{grid-template-columns:1fr 1fr}}
@media (max-width:720px){nav.menu .drop{position:absolute;top:100%;bottom:auto;max-height:70vh;overflow:auto}}

/* Кнопка «Наверх» — появляется после прокрутки (её слово 22.10). */
.totop{position:fixed;right:18px;bottom:18px;z-index:70;width:48px;height:48px;border:0;border-radius:50%;background:var(--cherry,#B3122E);color:#fff;font-size:22px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.22);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s}
.totop.on{opacity:1;visibility:visible;transform:none}
.totop:focus-visible{outline:3px solid #F3EDEE;outline-offset:2px}
@media print{header{position:static}.totop{display:none}}
html{scroll-padding-top:136px}
/* Телефон: при прокрутке строка поиска прячется, чтобы шапка не занимала полэкрана; наверху страницы — снова видна. */
@media (max-width:720px){html{scroll-padding-top:110px}body.scrolled header .search{display:none}}

/* «Добавлено в корзину» — остаёмся на странице, сверху выбор: оформить или продолжить. */
.added{background:#EAF5EE;border-bottom:1px solid #CFE6D7}.added .wrap{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding-top:12px;padding-bottom:12px;font-size:15px}
.added .btn{padding:9px 18px}.added a:not(.btn){text-decoration:underline;font-weight:600}
@media (max-width:720px){.added .wrap{gap:10px;padding:10px 16px}}

/* Боковое меню на телефоне (как LoveCrafts): кнопка-«бургер», панель слева, два уровня. */
.burger{display:none;border:0;background:none;padding:8px 6px;cursor:pointer;flex-direction:column;gap:5px}.burger i{display:block;width:22px;height:2px;background:#F3EDEE;border-radius:2px}
.drawer{position:fixed;inset:0;z-index:95}.drawer[hidden]{display:none}
.dshade{position:absolute;inset:0;background:rgba(20,17,19,.5);opacity:0;transition:opacity .2s}
.dpanel{position:absolute;left:0;top:0;bottom:0;width:min(88vw,360px);background:#fff;color:var(--ink);transform:translateX(-100%);transition:transform .22s ease;box-shadow:8px 0 30px rgba(0,0,0,.2)}
.drawer.on .dshade{opacity:1}.drawer.on .dpanel{transform:none}
.dlevel{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;padding-bottom:24px}.dlevel[hidden]{display:none}
.dhead{display:flex;align-items:center;gap:8px;padding:14px 12px 14px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:1}.dhead b{flex:1;font-size:18px;font-family:'Playfair Display',serif;font-weight:500}
.dx,.dback{border:0;background:var(--soft);width:40px;height:40px;border-radius:50%;font-size:24px;line-height:1;cursor:pointer;color:var(--ink)}
.drow{display:flex;justify-content:space-between;align-items:center;width:100%;padding:15px 20px;border:0;border-bottom:1px solid var(--line);background:none;font:inherit;font-size:16px;font-weight:600;color:var(--ink);text-align:left;cursor:pointer}
.drow span{font-size:22px;color:var(--muted)}.drow.hot{color:var(--cherry)}
.dfoot{display:grid;gap:2px;padding:18px 20px 0}.dfoot a{padding:9px 0;font-size:14px;color:#5B4E52}
.dall{display:block;margin:14px 20px 4px;padding:12px 18px;border:1.5px solid var(--ink);border-radius:999px;text-align:center;font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.dgroup{padding:14px 20px 4px}.dgroup b{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--cherry);margin-bottom:6px}
.dgroup a{display:block;padding:9px 0;font-size:15px;border-bottom:1px solid #F4F0EC}
@media (max-width:720px){.burger{display:flex;order:-1}nav.menu{display:none}}
@media (max-width:720px){.icons{gap:0}.icons a:not(.cartb){display:none}.icons .cartb{padding:8px 14px}}
/* Боковое меню и на компьютере (её слово 22.10: «боковое меню всё-таки сделать»): бургер слева от логотипа. */
.burger{display:flex;margin-right:-8px}
/* Шторка меню (её слово 22.10): не выскакивает от случайного касания мышью — открывается, если задержаться 0,25 с;
   колонки — по центру, а не от левого края. */
@media (hover: hover) and (min-width:721px){
  nav.menu .drop{display:block;visibility:hidden;opacity:0;transform:translateY(-4px);transition:opacity .15s,transform .15s,visibility 0s linear .15s;pointer-events:none}
  nav.menu .mi.has:hover .drop,nav.menu .mi.has:focus-within .drop,nav.menu .mi.open .drop{visibility:visible;opacity:1;transform:none;pointer-events:auto;transition:opacity .18s .25s,transform .18s .25s,visibility 0s linear .25s}
}
@media (min-width:721px){nav.menu .drop .dcols{max-width:1100px;margin:0 auto;justify-content:center;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(150px,220px)}}
/* Значки в шапке — тонкой линией, как остальные. */
.icons a{display:inline-flex;align-items:center;gap:6px}.icons .hi{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Узкий телефон (проверка 23.10): обложка-картинка с надписями целиком, без обрезки; кнопка «наверх» меньше и не закрывает цены. */
@media (max-width:420px){.tile .ph img{object-fit:contain}.tile .badge{font-size:11px;padding:4px 8px;left:6px;bottom:6px}.tile .new{font-size:10px;padding:3px 6px;top:12px}.totop{width:40px;height:40px;right:10px;bottom:12px;font-size:18px}}
/* Не зумится на телефоне (её слово 23.10, как в Aspect): поля от 16px — iPhone не приближает; кнопкам — без двойного касания. */
@media (max-width:767px){input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select{font-size:16px!important}}
:where(a,button,input,select,textarea,label,summary,[role=button]){touch-action:manipulation}
/* Окно «Уведомления» и приложение (её слово 23.10). */
.uzp{position:fixed;inset:0;z-index:90;background:rgba(20,17,19,.45);display:flex;align-items:center;justify-content:center;padding:16px}
.uzp[hidden]{display:none!important}
.uzp-box{position:relative;background:#fff;border-radius:18px;max-width:440px;width:100%;max-height:calc(100dvh - 32px);overflow:auto;padding:22px 20px 18px;box-shadow:0 24px 60px rgba(0,0,0,.3)}
.uzp-box h2{font-size:21px;margin:0 30px 6px 0}.uzp-lead{margin:0 0 14px;color:#5B4E52;font-size:14px}
.uzp-x{position:absolute;top:8px;right:8px;width:40px;height:40px;border:0;background:none;font-size:26px;cursor:pointer}
.uzp-h{display:block;margin:14px 0 6px;font-size:14px}
.uzp label{display:flex;gap:10px;align-items:flex-start;font-size:15px;padding:6px 0;cursor:pointer}.uzp label input{accent-color:var(--cherry);width:18px;height:18px;margin-top:2px;flex:none}
.uzp-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:10px}
.uzp-row .btn{border:0;cursor:pointer;font-family:inherit}
.uzp-link{border:0;background:none;color:var(--cherry);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;padding:6px 0}
.uzp-status{font-size:13px;margin:8px 0 0;min-height:1em}
.uzp-note{background:#FBF8F5;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.5}
.uzp-small{font-size:13px;color:#5B4E52;margin:0}
.uzp-bot{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:9px 16px;font-weight:700;font-size:14px;color:#fff}
.uzp-bot.tg{background:#2AABEE}.uzp-bot.max{background:#5B3DF5}

/* Переключатель на английский (её слово 23.10: «видно прямо на русской, и в телефоне, и на компьютере»). */
.icons a.langb{border:1.5px solid rgba(255,255,255,.45);color:#fff;border-radius:999px;padding:7px 11px;font-weight:700;letter-spacing:.04em}
.icons a.langb:hover{border-color:#fff}
@media (max-width:720px){.icons a.langb{display:inline-flex;margin-right:8px;padding:6px 10px;font-size:12px}}

/* Хлебные крошки заметнее (её слово 23.10): крупнее, ссылки вишнёвые, текущая страница тёмная. */
.crumbs{font-size:14px;color:var(--ink);font-weight:600;padding:16px 0}
.crumbs a{color:var(--cherry);font-weight:600;border-bottom:1px solid rgba(179,18,46,.25)}
.crumbs a:hover{border-color:var(--cherry)}
.crumbs .sep{color:#9C8F94;font-size:16px}
@media (max-width:720px){.crumbs{font-size:13.5px;padding:12px 0}}

/* Подвал «На связи» — фирменные значки (её слово 23.10: «покрасивее, иконки как в Aspect»). */
footer a.soc-a{display:flex;align-items:center;gap:10px;margin:0 0 9px;color:#fff;font-weight:600;text-decoration:none}
footer a.soc-a .soc-ic{flex:none;border-radius:7px;transition:transform .15s}
footer a.soc-a:hover .soc-ic{transform:scale(1.08)}
footer a.soc-a:hover span{text-decoration:underline}
footer a.soc-small{font-size:12.5px;line-height:1.8;color:#BDB2B6}
@media (min-width:1001px){footer .wrap{grid-template-columns:1.7fr repeat(5,1fr);gap:26px}}
