/* ============================================================
   ИНТЕРФЕЙС — шапка, поиск, корзина
   ============================================================ */

/* ---------- шапка ---------- */
.header{
  position:fixed;top:0;left:0;right:0;z-index:70;
  display:flex;align-items:flex-start;justify-content:flex-end;
  padding:var(--my) var(--mx);
  color:var(--cream);
  opacity:0;transform:translateY(-16px);pointer-events:none;
  transition:opacity var(--t-mid) var(--ease-out) .25s,
             transform var(--t-mid) var(--ease-out) .25s;
}
body.ready .header{opacity:1;transform:none;pointer-events:auto}

.header-right{display:flex;gap:clamp(8px,2vw,22px);margin-left:auto}

.icon-btn{position:relative;width:46px;height:46px;user-select:none;transition:transform .4s var(--ease-out)}
.icon-btn .i{position:absolute;inset:0;display:grid;place-items:center;transition:opacity .35s ease,transform .5s var(--ease-out)}
.icon-btn .i-close{opacity:0;transform:rotate(-40deg) scale(.55)}

body.search-open .search-btn .i-close,
body.cart-open   .bag-btn    .i-close{opacity:1;transform:none}
body.search-open .search-btn .i-open,
body.cart-open   .bag-btn    .i-open{opacity:0;transform:rotate(40deg) scale(.55)}

/* микроподпись — только по ховеру */
.tip{position:absolute;top:calc(100% + 4px);left:50%;transform:translateX(-50%);font-size:9.5px;font-weight:400;letter-spacing:.24em;text-transform:uppercase;white-space:nowrap;opacity:0;transition:opacity .45s ease;pointer-events:none}
.icon-btn:hover .tip{opacity:.5}

.bag-count{position:absolute;top:8px;right:5px;font:400 10px/1 'IBM Plex Mono',monospace;opacity:.75}
@media (hover:none){.tip{display:none}}

/* ---------- поиск (глубокий оранжевый) ---------- */
.search{
  position:fixed;top:0;left:0;right:0;z-index:65;
  background:var(--flame-deep);
  padding:clamp(120px,17vh,190px) var(--mx) calc(var(--my)*1.6);
  transform:translateY(-101%);
  transition:transform var(--t-fast) var(--ease-io),box-shadow var(--t-fast) ease;
}
body.search-open .search{
  transform:none;
  box-shadow:0 30px 70px rgba(26,12,3,.28);
  transition:transform var(--t-mid) var(--ease-out),box-shadow var(--t-mid) ease;
}
.search-row{position:relative}
.search-input{width:100%;background:none;border:0;border-radius:0;font-family:'Cormorant',serif;font-style:italic;font-weight:300;font-size:clamp(1.9rem,5vw,3.6rem);line-height:1.15;color:var(--cream);caret-color:var(--cream);padding:12px 0 10px}
.search-input::placeholder{color:var(--cream-35)}
.search-line{position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--cream);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-io)}
body.search-open .search-line{transform:scaleX(1);transition:transform .9s var(--ease-out) .25s}
.search-note{margin-top:16px;font:400 11px/1 'IBM Plex Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--cream-60);opacity:0;transform:translateY(8px);transition:opacity .5s ease,transform .5s var(--ease-out)}
.search-note.show{opacity:1;transform:none}

/* ---------- корзина (крем, скелет) ---------- */
.cart{
  position:fixed;top:0;right:0;bottom:0;width:min(440px,94vw);z-index:65;
  background:var(--cream);color:var(--ink);
  display:flex;flex-direction:column;
  padding:clamp(120px,17vh,190px) calc(var(--mx)*.9) var(--my);
  transform:translateX(103%);
  transition:transform var(--t-fast) var(--ease-io),box-shadow var(--t-fast) ease;
}
body.cart-open .cart{
  transform:none;
  box-shadow:-26px 0 70px rgba(26,12,3,.3);
  transition:transform var(--t-mid) var(--ease-out),box-shadow var(--t-mid) ease;
}
.cart-head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--line-dark);padding-bottom:18px}
.cart-title{font-family:'Cormorant',serif;font-weight:400;font-size:1.9rem;line-height:1}
.cart-count{font:400 12px/1 'IBM Plex Mono',monospace;letter-spacing:.1em;color:var(--ink-55)}
.cart-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px}
.cart-empty-circle{width:64px;height:64px;border:1px solid rgba(26,12,3,.4);border-radius:50%}
.cart-empty-text{font:400 11px/1 'IBM Plex Mono',monospace;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-55)}

/* ---------- затемнение ---------- */
.scrim{position:fixed;inset:0;z-index:64;background:rgba(26,12,3,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;pointer-events:none;transition:opacity .55s ease}
body.search-open .scrim,body.cart-open .scrim{opacity:1;pointer-events:auto}