/* aiparfume — вёрстка как на tsum.ru: шапка с логотипом в оранжевой рамке, меню разделов,
   заголовки Lenta по центру, оранжевые кнопки фильтров, карточки 4:5 с брендом капсом.
   Токены и шрифты те же, что в прототипе примерки (virtprimer-promt). */

@font-face{font-family:"Geometria";src:url("fonts/geometria-light.woff2") format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:"Geometria";src:url("fonts/geometria-regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Geometria";src:url("fonts/geometria-medium.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Geometria";src:url("fonts/geometria-bold.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Lenta";src:url("fonts/lenta-regular.woff2") format("woff2");font-weight:400;font-display:swap}

:root{
  --ink:#1b1b1b; --ink-soft:#6f757e; --ink-faint:#99a0ad;
  --line:#dadce1; --line-soft:#eceef1;
  --bg:#fff; --bg-soft:#f5f4f9; --bg-tint:#fcfbfd;
  --accent:#f94f0d; --sale:#eb4d3d;
  --radius:4px; --pad:16px; --tap:48px;
  --font:"Geometria",-apple-system,"Segoe UI",Roboto,sans-serif;
  --display:"Lenta","Geometria","Times New Roman",serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;display:flex;flex-direction:column;min-height:100vh;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:inherit;color:inherit}
[hidden]{display:none!important}

/* ---------------------------------------------------------------- шапка */
.topbar{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line-soft)}
.topbar__main{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:10px 32px}
.topbar__side{display:flex;align-items:center;gap:22px;min-width:0}
.topbar__side--right{justify-content:flex-end;gap:16px}
.topbar__section{font-size:12px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.topbar__section--muted{color:var(--ink-soft)}
.topbar__section:hover{color:var(--accent)}
.logo{display:block;line-height:0}
.logo img{width:104px;height:auto}
.topbar__icon{width:24px;height:24px;color:var(--ink)}
.topbar__icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.topbar__icon--bag{color:var(--accent)}
.nav{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 22px;padding:0 var(--pad) 8px}
.nav--sub{gap:4px 18px;padding-top:8px;padding-bottom:10px;border-top:1px solid var(--line-soft)}
.nav__item{display:inline-flex;align-items:center;min-height:32px;font-size:13px;color:var(--ink);white-space:nowrap;border-bottom:2px solid transparent}
.nav--sub .nav__item{color:var(--ink-soft)}
.nav__item:hover{color:var(--accent)}
.nav__item--active,.nav--sub .nav__item--active{color:var(--ink);border-bottom-color:var(--accent)}
@media (max-width:719px){
  .nav{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:18px}
  .nav::-webkit-scrollbar{display:none}
  .topbar__main{padding:8px var(--pad)}
  .topbar__side--left{display:none}
  .topbar__main{grid-template-columns:auto 1fr}
  .logo img{width:84px}
}

.page{width:100%;padding:0 var(--pad) 48px;max-width:1400px;margin:0 auto;flex:1}
.crumbs{display:flex;flex-wrap:wrap;gap:6px;padding:14px 0 0;font-size:12px;color:var(--ink-soft)}
.crumbs a::after{content:"/";margin-left:6px;color:var(--ink-faint)}
.crumbs span{color:var(--ink)}

/* ---------------------------------------------------------------- типографика */
.display{font-family:var(--display);font-size:25px;font-weight:400;letter-spacing:.05em;text-transform:uppercase;margin:26px 0 8px;text-align:center;line-height:1.2}
.head{text-align:center;max-width:820px;margin:0 auto}
.lead{color:var(--ink-soft);font-size:14px;line-height:1.55;margin:0 auto 18px;max-width:62ch}
.lead--text{color:var(--ink);font-size:15px;text-align:left;margin-top:16px}
.lead--text p{margin:0 0 12px}
.count{color:var(--ink-soft);font-size:13px;margin:12px 0;text-align:center}
.section-title{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);text-align:center;margin:36px 0 0}
.link{background:none;border:0;padding:8px 0;font-size:13px;color:var(--ink-soft);text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* фильтры как на tsum.ru: прямоугольники с тонкой оранжевой рамкой */
.filters{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:6px 0 4px}
.filter{display:inline-flex;align-items:center;min-height:30px;padding:5px 12px;border:1px solid var(--accent);border-radius:var(--radius);background:var(--bg);color:var(--ink);font-size:11px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.filter--on{background:var(--accent);color:#fff}

/* кнопки */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--tap);padding:13px 24px;border:1px solid var(--ink);border-radius:var(--radius);background:var(--bg);color:var(--ink);font-size:13px;cursor:pointer;transition:opacity .15s}
.btn:active{opacity:.75}
.btn--primary{background:var(--ink);color:#fff}
.btn--accent{background:var(--accent);border-color:var(--accent);color:#fff}
.btn--ghost{border-color:var(--line)}
.btn--wide{min-width:280px}
.btn:focus-visible,.tile:focus-visible,.link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.cta{text-align:center;margin:18px 0 0}
.cta--row{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;padding:24px 0 8px}

/* ---------------------------------------------------------------- карточки товаров */
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px 12px;padding:18px 0}
@media (min-width:600px){.grid{grid-template-columns:repeat(3,1fr);gap:34px 20px}}
@media (min-width:1100px){.grid{grid-template-columns:repeat(4,1fr)}}
@media (min-width:1340px){.grid{grid-template-columns:repeat(5,1fr)}}
.grid--six{max-width:1180px;margin:0 auto}
@media (min-width:1100px){.grid--six{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1340px){.grid--six{grid-template-columns:repeat(3,1fr);gap:40px 28px}}
.card{display:block;text-align:center;position:relative}
.card__media{position:relative;background:var(--bg);aspect-ratio:4/5;overflow:hidden}
.card__media img{width:100%;height:100%;object-fit:contain;transition:transform .35s}
.card:hover .card__media img{transform:scale(1.03)}
.card__noimg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg-soft);font-family:var(--display);font-size:16px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);padding:20px;text-align:center}
.card__badge{position:absolute;left:0;top:0;background:var(--accent);color:#fff;font-size:10px;letter-spacing:.06em;padding:4px 7px;text-transform:uppercase}
.card__idx{position:absolute;left:8px;bottom:8px;font-size:11px;color:var(--ink-faint);letter-spacing:.08em}
.card__brand{font-family:var(--display);font-size:15px;letter-spacing:.08em;text-transform:uppercase;margin:14px 0 5px}
.card__title{font-size:13px;color:var(--ink-soft);margin:0 0 7px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card__price{font-size:14px;margin:0}
.card__price s{color:var(--ink-faint);margin-right:6px}
.card__price .sale{color:var(--sale)}
.card__why{font-size:12px;color:var(--ink-soft);margin:8px auto 0;max-width:28ch;line-height:1.4}

/* ---------------------------------------------------------------- вопросы */
.progress{height:2px;background:var(--line-soft);margin:14px calc(var(--pad) * -1) 0}
.progress i{display:block;height:100%;width:0;background:var(--accent);transition:width .45s ease}
.head--q{animation:enter .4s ease both}
@keyframes enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.note{font-family:var(--display);font-size:17px;letter-spacing:.06em;text-transform:uppercase;margin:0 0 6px}
.note small{display:block;font-family:var(--font);font-size:13px;letter-spacing:0;text-transform:none;color:var(--ink-soft);margin-top:6px}

/* варианты как карточки товаров: фото 4:5, подпись капсом */
.opts{display:grid;gap:28px 12px;padding:14px 0 6px;justify-content:center}
.opts--2{grid-template-columns:repeat(2,minmax(0,300px))}
.opts--3{grid-template-columns:repeat(3,minmax(0,280px))}
.opts--4{grid-template-columns:repeat(4,minmax(0,250px))}
@media (max-width:719px){.opts--3,.opts--4{grid-template-columns:repeat(2,1fr)}.opts--2{grid-template-columns:repeat(2,1fr)}}
.tile{display:block;padding:0;border:0;background:none;text-align:center;cursor:pointer}
.tile .card__media{border:1px solid var(--line-soft);border-radius:var(--radius);transition:border-color .2s,box-shadow .2s}
.tile .card__media img{object-fit:cover;transition:transform .5s}
.tile:hover .card__media{border-color:var(--ink)}
.tile:hover .card__media img{transform:scale(1.04)}
.tile.sel .card__media{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.tile .card__brand{font-size:14px}
.tile .card__title{margin:0}

/* пара «не моё / люблю»: одно фото и две кнопки */
.pair{display:grid;justify-content:center;gap:14px;padding:14px 0 6px}
.pair .card__media{width:min(100%,340px);margin:0 auto;border:1px solid var(--line-soft);border-radius:var(--radius)}
.pair .card__media img{object-fit:cover}
.pair__btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:min(100%,340px);margin:0 auto}
.pair__btns .btn.sel{outline:2px solid var(--accent);outline-offset:2px}
.q-nav{text-align:center;padding:10px 0 20px}

/* ---------------------------------------------------------------- лоадер */
.head--loader{padding:28px 0 56px}
.flacon{display:flex;justify-content:center;margin:14px 0 20px}
.flacon svg{overflow:visible;filter:drop-shadow(0 12px 18px rgba(0,0,0,.08))}
.flacon__liquid{transition:y .6s linear}
.flacon__meniscus{transition:cy .6s linear}
.flacon__text{font-family:var(--display);font-size:13px;letter-spacing:.12em;fill:var(--ink)}
.flacon__text--small{font-family:var(--font);font-size:4.6px;letter-spacing:.16em;fill:var(--ink-soft)}
.stages{list-style:none;margin:0 auto 18px;padding:0;display:grid;gap:8px;max-width:320px;text-align:left}
.stages li{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--ink-faint);transition:color .3s}
.stages li::before{content:"";width:8px;height:8px;border:1px solid currentColor;border-radius:50%;flex:none}
.stages li.on{color:var(--ink)}
.stages li.on::before{background:var(--accent);border-color:var(--accent);animation:pulse 1.2s ease-in-out infinite}
.stages li.done{color:var(--ink-soft)}
.stages li.done::before{background:currentColor}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.5)}}
.fact{max-width:46ch;margin:0 auto;font-size:13px;line-height:1.5;color:var(--ink-soft);min-height:3em;transition:opacity .5s}
.fact.is-out{opacity:0}

/* режим шторки в приложении: ?embed=1 — без шапки, крошек и подвала */
body.is-embed .topbar,body.is-embed .foot,body.is-embed .crumbs{display:none}
body.is-embed .page{padding-top:8px}
body.is-embed .progress{margin-top:0}

/* ---------------------------------------------------------------- подвал */
.foot{border-top:1px solid var(--line-soft);background:var(--bg-tint);padding:28px 32px 20px;font-size:13px}
.foot__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1400px;margin:0 auto}
.foot__cols div{display:grid;gap:8px;align-content:start}
.foot__cols b{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;margin-bottom:4px}
.foot__cols a,.foot__cols span{color:var(--ink-soft)}
.foot__cols a:hover{color:var(--accent)}
.foot__credit{font-size:12px;color:var(--ink-faint)}
.foot__bottom{display:flex;justify-content:space-between;max-width:1400px;margin:24px auto 0;padding-top:14px;border-top:1px solid var(--line-soft);color:var(--ink-soft);font-size:12px}
@media (max-width:719px){.foot{padding:22px var(--pad) 16px}.foot__cols{grid-template-columns:1fr;gap:18px}}

@media (prefers-reduced-motion:reduce){
  .head--q{animation:none}.stages li.on::before{animation:none}.progress i,.loader-line i,.card__media img{transition:none}
}
