/* ============================================================
   Hair Shine — Shop (shop page + admin panel)
   ============================================================ */

.shop-body{ background:var(--cream); }

/* display:grid перебивает атрибут hidden — возвращаем display:none */
.cart[hidden], .checkout[hidden], .done[hidden], .track[hidden],
.amodal[hidden], .adm[hidden], .adm-login[hidden],
.pmodal[hidden], .shop-fdrawer[hidden]{ display:none !important; }

/* ---------- header ---------- */
.cart-btn{
  position:relative; flex:none;
  width:44px; height:44px; border-radius:50%;
  display:grid; place-items:center; cursor:pointer;
  background:transparent; border:1px solid var(--line);
  color:var(--ink);
  transition:border-color .3s var(--ease), background .3s var(--ease);
}
.cart-btn:hover{ border-color:var(--gold-lt); background:var(--blush-2); }
.cart-btn__n{
  position:absolute; top:-3px; right:-3px;
  min-width:20px; height:20px; padding:0 5px;
  border-radius:10px; background:var(--gold); color:#fff;
  font-size:11.5px; font-weight:500; line-height:20px; text-align:center;
  box-shadow:0 2px 8px rgba(176,141,79,.45);
}
.nav a.is-active{ color:var(--gold-deep); }
.nav a.is-active::after{ opacity:1; transform:scaleX(1); }

/* ---------- hero ---------- */
.shop-hero{
  position:relative; overflow:hidden;
  padding:clamp(90px,10vw,136px) 0 clamp(44px,6vw,72px);
  background:linear-gradient(160deg,var(--blush-2) 0%,var(--blush) 55%,#F6EDEC 100%);
}
.shop-hero__glow{
  position:absolute; right:-140px; top:-160px;
  width:520px; height:520px; border-radius:50%;
  background:radial-gradient(circle,rgba(203,169,107,.34),transparent 68%);
  pointer-events:none;
}
.shop-hero__in{ position:relative; z-index:1; }
.shop-hero__h1{
  font-family:var(--f-disp); font-weight:400;
  font-size:clamp(36px,6vw,72px); line-height:1.04;
  letter-spacing:-.02em; margin:0 0 20px; max-width:16ch;
}
.shop-hero__h1 em{ font-style:italic; color:var(--gold-deep); }
.shop-hero__lead{
  font-size:18px; color:var(--ink-2); max-width:62ch; margin:0 0 26px;
}
.shop-hero__lead strong{ font-weight:500; color:var(--ink); }
.shop-hero__badges{ display:flex; flex-wrap:wrap; gap:9px; }
.chip{
  display:inline-flex; align-items:center;
  padding:7px 15px; border-radius:100px;
  background:rgba(255,255,255,.72); border:1px solid rgba(255,255,255,.9);
  font-size:13px; letter-spacing:.04em; color:var(--ink-2);
  box-shadow:var(--sh-s);
}
.shop-hero__cta{ display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }

/* ---------- полоса-помощь перед каталогом ---------- */
.shop-assist{
  background:var(--white);
  border-bottom:1px solid var(--line);
}
.shop-assist__in{
  display:flex; align-items:center; justify-content:space-between;
  gap:18px; flex-wrap:wrap; padding:22px 0;
}
.shop-assist__t{
  font-family:var(--f-disp); font-size:24px; font-weight:500;
  margin:0 0 3px; line-height:1.2;
}
.shop-assist__d{ margin:0; font-size:14.5px; color:var(--ink-soft); }
.shop-assist__btns{ display:flex; gap:10px; flex-wrap:wrap; }

/* ---------- панель фильтров ---------- */
.shop-main{ padding:clamp(36px,5vw,64px) 0 clamp(60px,8vw,100px); }
.shop-bar{
  display:flex; flex-wrap:wrap; gap:16px; align-items:center;
  justify-content:space-between; margin-bottom:34px;
  padding-bottom:20px; border-bottom:1px solid var(--line);
}
.shop-bar__cats{ display:flex; flex-wrap:wrap; gap:8px; }
.cat-btn{
  display:inline-flex; align-items:center; gap:7px;
  padding:9px 17px; border-radius:100px; cursor:pointer;
  background:transparent; border:1px solid var(--line);
  font-size:14px; letter-spacing:.03em; color:var(--ink-2);
  transition:all .3s var(--ease);
}
.cat-btn:hover{ border-color:var(--gold-lt); color:var(--ink); }
.cat-btn.is-on{
  background:var(--ink); border-color:var(--ink); color:var(--cream);
}
.cat-btn__ic{ font-size:13px; opacity:.75; }
.shop-bar__right{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.shop-search{
  display:flex; align-items:center; gap:8px;
  padding:0 14px; height:42px; border-radius:100px;
  background:var(--white); border:1px solid var(--line);
  color:var(--ink-soft);
  transition:border-color .3s var(--ease);
}
.shop-search:focus-within{ border-color:var(--gold-lt); }
.shop-search input{
  border:0; outline:0; background:transparent;
  font:inherit; font-size:14px; color:var(--ink); width:150px;
}
.shop-sort{
  height:42px; padding:0 14px; border-radius:100px;
  background:var(--white); border:1px solid var(--line);
  font:inherit; font-size:13.5px; color:var(--ink-2); cursor:pointer;
  outline:0;
}
.shop-sort:focus{ border-color:var(--gold-lt); }

/* ---------- ФИЛЬТРЫ + СОРТИРОВКА (в стиле hollywoodhair) ---------- */
.shop-filters{
  display:grid; grid-template-columns:264px 1fr;
  gap:36px; align-items:start;
}
.shop-filters__aside{
  position:sticky; top:96px;
  background:var(--white); border:1px solid var(--line);
  border-radius:var(--r); padding:20px 20px 22px;
  max-height:calc(100vh - 120px); overflow-y:auto;
}
.shop-filters__head{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:16px;
}
.shop-filters__t{
  font-size:12px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink-soft); margin:0; font-weight:400;
}
.shop-filters__clear{
  background:none; border:0; padding:0; cursor:pointer;
  font-size:12.5px; color:var(--gold-deep); text-decoration:underline;
}
.shop-filters__clear:hover{ color:var(--ink); }
.shop-fgrp{ border-top:1px solid var(--line-soft); padding:14px 0 4px; }
.shop-fgrp:first-of-type{ border-top:0; padding-top:0; }
.shop-fgrp__t{
  font-size:13.5px; font-weight:500; margin:0 0 10px;
  color:var(--ink);
}
.shop-fopts{ display:flex; flex-direction:column; gap:2px; }
.shop-fopt{
  display:flex; align-items:center; gap:9px;
  padding:5px 0; cursor:pointer; font-size:13.5px; color:var(--ink-2);
  transition:color .22s var(--ease);
}
.shop-fopt:hover{ color:var(--ink); }
.shop-fopt input{
  width:15px; height:15px; flex:none;
  accent-color:var(--gold); cursor:pointer; margin:0;
}
.shop-fopt__n{ margin-left:auto; font-size:12px; color:var(--ink-soft); }
.shop-price{ display:flex; gap:8px; align-items:center; margin-top:4px; }
.shop-price input{
  width:100%; min-width:0; height:36px; padding:0 10px;
  border:1px solid var(--line); border-radius:var(--r);
  font:inherit; font-size:13.5px; background:var(--cream); color:var(--ink);
}
.shop-price input:focus{ outline:0; border-color:var(--gold-lt); }
.shop-price span{ font-size:13px; color:var(--ink-soft); flex:none; }
.shop-filters__main{ min-width:0; }
.shop-toolbar{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; flex-wrap:wrap; margin-bottom:20px;
}
.shop-count{ font-size:13.5px; color:var(--ink-soft); }
.shop-count b{ color:var(--ink); font-weight:500; }
.shop-toolbar__r{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.shop-fbtn{
  display:none; align-items:center; gap:8px;
  height:42px; padding:0 16px; border-radius:100px;
  background:var(--white); border:1px solid var(--line);
  font:inherit; font-size:13.5px; color:var(--ink-2); cursor:pointer;
}
.shop-fbtn__n{
  display:inline-grid; place-items:center; min-width:19px; height:19px;
  padding:0 5px; border-radius:100px; background:var(--gold);
  color:#fff; font-size:11px;
}
.shop-fbtn__n:empty{ display:none; }
.shop-fdrawer{
  position:fixed; inset:0; z-index:200;
  background:rgba(43,34,32,.5);
  display:none; opacity:0; transition:opacity .3s var(--ease);
}
.shop-fdrawer.is-open{ opacity:1; }
.shop-fdrawer__panel{
  position:absolute; right:0; top:0; bottom:0; width:min(340px,88vw);
  background:var(--white); padding:22px 20px;
  overflow-y:auto; transform:translateX(100%);
  transition:transform .38s var(--ease-out);
}
.shop-fdrawer.is-open .shop-fdrawer__panel{ transform:none; }
@media (max-width:1020px){
  .shop-filters{ grid-template-columns:1fr; }
  .shop-filters__aside{ display:none; }
  .shop-fbtn{ display:inline-flex; }
}

/* ---------- карточка товара в модалке ---------- */
.pmodal{
  position:fixed; inset:0; z-index:210;
  background:rgba(43,34,32,.55);
  display:grid; place-items:center; padding:24px;
  opacity:0; transition:opacity .3s var(--ease);
}
.pmodal.is-open{ opacity:1; }
.pmodal__panel{
  position:relative; width:min(880px,100%);
  max-height:min(88vh,860px); overflow-y:auto;
  background:var(--white); border-radius:var(--r);
  box-shadow:var(--sh-l);
  transform:translateY(16px) scale(.985);
  transition:transform .38s var(--ease-out);
}
.pmodal.is-open .pmodal__panel{ transform:none; }
.pmodal__close{
  position:absolute; right:14px; top:14px; z-index:4;
  width:38px; height:38px; border-radius:50%;
  display:grid; place-items:center; cursor:pointer;
  background:rgba(255,255,255,.92); border:1px solid var(--line);
  font-size:22px; line-height:1; color:var(--ink);
  box-shadow:var(--sh-s);
}
.pmodal__close:hover{ background:#fff; border-color:var(--gold-lt); }
.pmodal__grid{ display:grid; grid-template-columns:.95fr 1.05fr; }
.pmodal__media{ background:var(--blush-2); }
.pmodal__media img{
  width:100%; height:100%; object-fit:cover; display:block;
  min-height:280px;
}
.pmodal__body{ padding:30px 32px 32px; }
.pmodal__brand{
  font-size:11.5px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--gold-deep); margin:0 0 8px;
}
.pmodal__t{
  font-family:var(--f-disp); font-weight:400;
  font-size:clamp(26px,3.4vw,36px); line-height:1.12;
  margin:0 0 12px; letter-spacing:-.01em;
}
.pmodal__cat{
  display:inline-block; margin-bottom:14px;
  padding:5px 12px; border-radius:100px;
  background:var(--blush-2); border:1px solid var(--blush-3);
  font-size:12px; letter-spacing:.06em; color:var(--ink-2);
}
.pmodal__d{ font-size:15.5px; color:var(--ink-soft); margin:0 0 20px; }
.pmodal__specs{
  display:grid; grid-template-columns:1fr 1fr; gap:10px 16px;
  padding:16px 0; margin:0 0 20px;
  border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft);
}
.pmodal__spec{ display:flex; flex-direction:column; gap:2px; }
.pmodal__spec-k{
  font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft);
}
.pmodal__spec-v{ font-size:15px; color:var(--ink); }
.pmodal__v{ margin:0 0 20px; }
.pmodal__vt{
  font-size:11.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-soft); margin:0 0 9px;
}
.pmodal__vs{ display:flex; flex-wrap:wrap; gap:7px; }
.pmodal__price{
  display:flex; align-items:baseline; gap:11px; flex-wrap:wrap;
  margin:0 0 18px;
}
.pmodal__price-v{ font-family:var(--f-disp); font-size:34px; line-height:1; }
.pmodal__price-u{ font-size:13px; color:var(--ink-soft); }
.pmodal__price s{ font-size:16px; color:var(--ink-soft); }
.pmodal__act{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.pmodal__stock{ font-size:13px; color:var(--ink-soft); }
.pmodal__stock.is-low{ color:#A8622C; }
.pmodal__foot{
  margin-top:20px; padding-top:16px; border-top:1px solid var(--line-soft);
  font-size:12.5px; color:var(--ink-soft); line-height:1.65;
}
@media (max-width:760px){
  .pmodal{ padding:0; place-items:end stretch; }
  .pmodal__panel{ max-height:92vh; border-radius:var(--r) var(--r) 0 0; }
  .pmodal__grid{ grid-template-columns:1fr; }
  .pmodal__media img{ max-height:38vh; min-height:0; }
  .pmodal__body{ padding:22px 20px 26px; }
  .pmodal__specs{ grid-template-columns:1fr 1fr; }
}

/* ---------- сетка товаров ---------- */
.shop-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:22px;
}
.pcard{
  display:flex; flex-direction:column;
  background:var(--white); border-radius:var(--r);
  overflow:hidden; box-shadow:var(--sh-s);
  transition:transform .45s var(--ease), box-shadow .45s var(--ease);
}
.pcard:hover{ transform:translateY(-5px); box-shadow:var(--sh-m); }
.pcard__img{
  position:relative; display:block; width:100%;
  aspect-ratio:4/3; background:var(--blush-2); overflow:hidden;
}
.pcard__img img{
  width:100%; height:100%; object-fit:cover;
  transition:transform .9s var(--ease-out);
}
.pcard:hover .pcard__img img{ transform:scale(1.06); }
.pcard__cat{
  position:absolute; top:10px; left:10px; z-index:2;
  padding:4px 11px; border-radius:100px;
  background:rgba(43,34,32,.72); color:var(--cream);
  font-size:11px; letter-spacing:.09em; text-transform:uppercase;
  backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);
}
.pcard__out{  position:absolute; top:10px; right:10px; z-index:2;
  padding:4px 11px; border-radius:100px;
  background:var(--gold); color:#fff;
  font-size:11px; letter-spacing:.07em; text-transform:uppercase;
}
.pcard__b{ padding:18px 19px 20px; display:flex; flex-direction:column; flex:1; }
.pcard__brand{
  font-size:11.5px; letter-spacing:.13em; text-transform:uppercase;
  color:var(--gold-deep); margin-bottom:6px;
}
.pcard__n{
  font-family:var(--f-disp); font-weight:500;
  font-size:20px; line-height:1.24; margin:0 0 8px;
}
.pcard__d{
  font-size:14px; color:var(--ink-soft); line-height:1.55;
  margin:0 0 14px; flex:1;
}
.pcard__v{
  display:flex; flex-wrap:wrap; gap:6px; margin-bottom:14px;
}
.v-chip{
  padding:4px 10px; border-radius:100px; cursor:pointer;
  background:var(--blush-2); border:1px solid transparent;
  font-size:12px; color:var(--ink-2);
  transition:all .25s var(--ease);
}
.v-chip:hover{ border-color:var(--blush-3); }
.v-chip.is-on{ background:var(--ink); color:var(--cream); }
/* sold-out variant — visible, but clearly unavailable */
.v-chip.is-out{ color:var(--ink-soft); text-decoration:line-through; opacity:.6; }
.v-chip.is-out.is-on{ opacity:.85; }
.pcard__foot{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding-top:14px; border-top:1px solid var(--line-soft);
}
.pcard__price{ font-size:19px; font-weight:500; letter-spacing:-.01em; }
.pcard__price small{ font-size:12px; font-weight:300; color:var(--ink-soft); }
.pcard__price s{ font-size:13px; color:var(--ink-soft); margin-right:7px; }
.pcard__add{
  flex:none; width:42px; height:42px; border-radius:50%;
  display:grid; place-items:center; cursor:pointer;
  background:var(--ink); border:0; color:var(--cream);
  transition:background .3s var(--ease), transform .3s var(--ease);
}
.pcard__add:hover{ background:var(--gold); transform:scale(1.08); }

/* иконка «открыть карточку» на фото товара */
.pcard__img{ cursor:pointer; }
.pcard__zoom{
  position:absolute; right:10px; top:10px; z-index:2;
  width:32px; height:32px; border-radius:50%;
  display:grid; place-items:center;
  background:rgba(255,255,255,.9); border:1px solid var(--line);
  color:var(--ink); opacity:0;
  transform:scale(.85);
  transition:opacity .3s var(--ease), transform .3s var(--ease-out);
  pointer-events:none;
}
.pcard:hover .pcard__zoom{ opacity:1; transform:none; }
.pcard__n a{ transition:color .25s var(--ease); }
.pcard__n a:hover{ color:var(--gold-deep); }
.pcard__add:disabled{ background:var(--blush-3); cursor:not-allowed; transform:none; }
.pcard__st{
  font-size:12px; letter-spacing:.05em; color:var(--ink-soft); margin-top:9px;
}
.pcard__st.is-low{ color:#A8622C; }
.shop-empty{ text-align:center; color:var(--ink-soft); padding:60px 0; font-size:17px; }

/* ---------- toast ---------- */
.hs-toast{
  position:fixed; left:50%; bottom:28px; z-index:500;
  transform:translate(-50%,20px); opacity:0; pointer-events:none;
  padding:12px 24px; border-radius:100px;
  background:var(--ink); color:var(--cream);
  font-size:14px; letter-spacing:.02em;
  box-shadow:0 12px 34px rgba(0,0,0,.28);
  transition:opacity .3s var(--ease), transform .38s var(--ease-out);
  max-width:min(92vw,420px); text-align:center;
}
.hs-toast.is-on{ opacity:1; transform:translate(-50%,0); }
/* phone: toast at the top — at the bottom it covered the “Go to checkout” button */
@media (max-width:760px){
  .hs-toast{ top:84px; bottom:auto; transform:translate(-50%,-14px); }
  .hs-toast.is-on{ transform:translate(-50%,0); }
}
/* error on a specific checkout field */
.co-ferr{ margin:6px 0 0; font-size:12.5px; line-height:1.4; color:#a33a3a; letter-spacing:.01em; text-transform:none; }
.co-form [aria-invalid="true"]{ border-color:#c97a7a; box-shadow:0 0 0 3px rgba(201,122,122,.15); }

/* ---------- footer — legal links ---------- */
.ftr__legal{ display:flex; flex-wrap:wrap; gap:5px 14px; }
.ftr__legal a{ color:var(--ink-soft); font-size:13px; letter-spacing:.02em; }
.ftr__legal a:hover{ color:var(--gold-lt); }

/* ---------- “order with obligation to pay” button ---------- */
.co-submit{ width:100%; }
.co-terms{
  font-size:12.5px; color:var(--ink-soft); line-height:1.6;
  margin:0 0 14px; padding:11px 14px; border-radius:var(--r);
  background:var(--blush-2);
}
.co-terms a{ color:var(--gold-deep); text-decoration:underline; }

/* ---------- корзина ---------- */
.cart{
  position:fixed; inset:0; z-index:400;
  background:rgba(43,34,32,.42);
  backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px);
  opacity:0; transition:opacity .35s var(--ease);
}
.cart.is-open{ opacity:1; }
.cart__panel{
  position:absolute; right:0; top:0; bottom:0; width:min(430px,94vw);
  background:var(--cream); display:flex; flex-direction:column;
  transform:translateX(100%); transition:transform .42s var(--ease-out);
  box-shadow:-20px 0 60px rgba(0,0,0,.2);
}
.cart.is-open .cart__panel{ transform:none; }
.cart__head{
  display:flex; align-items:center; justify-content:space-between;
  padding:22px 24px; border-bottom:1px solid var(--line);
}
.cart__title{
  font-family:var(--f-disp); font-weight:400; font-size:26px; margin:0;
}
.cart__close, .checkout__close, .done__close, .track__close{
  width:36px; height:36px; border-radius:50%; cursor:pointer;
  background:transparent; border:1px solid var(--line);
  font-size:22px; line-height:1; color:var(--ink-2);
  display:grid; place-items:center;
  transition:all .3s var(--ease);
}
.cart__close:hover, .checkout__close:hover, .done__close:hover, .track__close:hover{
  background:var(--blush-2); border-color:var(--blush-3);
}
.cart__body{ flex:1; overflow-y:auto; padding:8px 24px; }
.cart__foot{ border-top:1px solid var(--line); padding:18px 24px 24px; }
.cart-item{
  display:flex; gap:13px; padding:16px 0;
  border-bottom:1px solid var(--line-soft);
}
.cart-item__img{
  width:64px; height:64px; flex:none; border-radius:var(--r);
  object-fit:cover; background:var(--blush-2);
}
.cart-item__b{ flex:1; min-width:0; }
.cart-item__n{ font-size:15px; font-weight:400; margin:0 0 3px; line-height:1.35; }
.cart-item__v{ font-size:12.5px; color:var(--ink-soft); margin:0 0 8px; }
.cart-item__r{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.qty{
  display:inline-flex; align-items:center; gap:2px;
  border:1px solid var(--line); border-radius:100px; padding:2px;
}
.qty button{
  width:26px; height:26px; border-radius:50%; cursor:pointer;
  background:transparent; border:0; color:var(--ink-2); font-size:16px; line-height:1;
  transition:background .25s var(--ease);
}
.qty button:hover{ background:var(--blush-2); }
.qty span{ min-width:26px; text-align:center; font-size:14px; }
.cart-item__p{ font-size:15px; font-weight:500; }
.cart-item__x{
  background:none; border:0; cursor:pointer; color:var(--ink-soft);
  font-size:12px; text-decoration:underline; padding:0;
}
.cart-item__x:hover{ color:#A03A3A; }
.cart__empty{ text-align:center; color:var(--ink-soft); padding:70px 0; }
.cart__sum{ display:flex; justify-content:space-between; font-size:15px; margin-bottom:9px; }
.cart__sum--total{
  font-size:19px; font-weight:500; padding-top:11px; margin-top:5px;
  border-top:1px solid var(--line);
}
.cart__ship{ font-size:12.5px; color:var(--ink-soft); margin:0 0 15px; }
.cart__go{ width:100%; }
/* Keep the primary checkout target under the pointer at its edges. */
.cart__go:hover{ transform:none; }
.cart__shipbar{
  height:4px; border-radius:2px; background:var(--blush-2);
  overflow:hidden; margin:4px 0 10px;
}
.cart__shipbar i{ display:block; height:100%; background:var(--gold-lt); transition:width .4s var(--ease); }

/* ---------- checkout ---------- */
.checkout, .done, .track{
  position:fixed; inset:0; z-index:410;
  background:rgba(43,34,32,.46);
  backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px);
  display:grid; place-items:center; padding:20px;
  opacity:0; transition:opacity .32s var(--ease);
}
.checkout.is-open, .done.is-open, .track.is-open{ opacity:1; }
.checkout__panel, .done__panel, .track__panel{
  position:relative; width:min(620px,100%); max-height:92vh; overflow-y:auto;
  background:var(--cream); border-radius:var(--r);
  padding:30px 32px 32px;
  transform:translateY(18px) scale(.985);
  transition:transform .4s var(--ease-out);
  box-shadow:var(--sh-l);
}
.checkout.is-open .checkout__panel,
.done.is-open .done__panel,
.track.is-open .track__panel{ transform:none; }
.checkout__head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; }
.checkout__title, .track__t{
  font-family:var(--f-disp); font-weight:400; font-size:30px; margin:0;
}
.co-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.field{ display:block; }
.field--wide{ grid-column:1/-1; }
.field__l{
  display:block; font-size:12.5px; letter-spacing:.09em; text-transform:uppercase;
  color:var(--ink-soft); margin-bottom:6px;
}
.field__i{
  width:100%; padding:11px 14px; border-radius:var(--r);
  background:var(--white); border:1px solid var(--line);
  font:inherit; font-size:15px; color:var(--ink); outline:0;
  transition:border-color .3s var(--ease);
}
.field__i:focus{ border-color:var(--gold-lt); }
textarea.field__i{ resize:vertical; min-height:64px; }
.field__hint{
  display:block; margin-top:6px; font-size:12.5px; line-height:1.5;
  color:var(--ink-soft); opacity:.85;
}
.co-pay{ border:0; padding:0; margin:20px 0 16px; }
.co-pay legend{ margin-bottom:10px; }
.co-pay__hint{
  margin:0 0 12px; padding:10px 13px; border-radius:var(--r);
  background:rgba(203,169,107,.10); border:1px solid rgba(203,169,107,.28);
  font-size:13px; line-height:1.5; color:var(--ink-soft);
}
.co-pay__hint[hidden]{ display:none; }
.pay-opt{ display:block; cursor:pointer; margin-bottom:9px; }
.pay-opt input{ position:absolute; opacity:0; pointer-events:none; }
.pay-opt__b{
  display:block; padding:13px 17px; border-radius:var(--r);
  background:var(--white); border:1px solid var(--line);
  transition:all .28s var(--ease);
}
.pay-opt:hover .pay-opt__b{ border-color:var(--blush-3); }
.pay-opt input:checked + .pay-opt__b{
  border-color:var(--gold); background:rgba(203,169,107,.09);
  box-shadow:0 0 0 1px var(--gold);
}
.pay-opt__t{ display:block; font-weight:500; font-size:15.5px; margin-bottom:2px; }
.pay-opt__d{ display:block; font-size:13.5px; color:var(--ink-soft); }
.co-pickup{
  display:flex; align-items:flex-start; gap:10px; cursor:pointer;
  font-size:14.5px; color:var(--ink-2); margin-bottom:18px;
}
.co-pickup input{ margin-top:4px; accent-color:var(--gold); width:16px; height:16px; }
/* --- fulfilment (courier delivery / salon pickup) --- */
.co-fulfil{ border:0; padding:0; margin:20px 0 16px; }
.co-fulfil legend{ margin-bottom:10px; }
.co-fulfil__opts{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.ful-opt{ display:block; cursor:pointer; }
.ful-opt input{ position:absolute; opacity:0; pointer-events:none; }
.ful-opt__b{
  display:block; padding:13px 17px; border-radius:var(--r); height:100%;
  background:var(--white); border:1px solid var(--line);
  transition:all .28s var(--ease);
}
.ful-opt:hover .ful-opt__b{ border-color:var(--blush-3); }
.ful-opt input:checked + .ful-opt__b{
  border-color:var(--gold); background:rgba(203,169,107,.09);
  box-shadow:0 0 0 1px var(--gold);
}
.ful-opt__t{ display:block; font-weight:500; font-size:15.5px; margin-bottom:2px; }
.ful-opt__d{ display:block; font-size:13.5px; color:var(--ink-soft); }
.ful-opt__a{ display:block; font-size:13px; color:var(--ink-soft); opacity:.9; margin-top:4px; }
/* --- delivery address --- */
.co-addr{
  padding:15px 17px; border-radius:var(--r);
  background:var(--blush-2); margin:0 0 16px;
}
.co-addr[hidden]{ display:none; }
.co-addr__t{
  margin:0 0 12px; font-size:12.5px; letter-spacing:.09em;
  text-transform:uppercase; color:var(--ink-soft);
}
.co-summary{
  padding:15px 18px; border-radius:var(--r);
  background:var(--blush-2); margin-bottom:16px;
}
.co-summary__r{ display:flex; justify-content:space-between; font-size:14.5px; margin-bottom:6px; }
.co-summary__r:last-child{
  font-size:17px; font-weight:500; padding-top:9px;
  border-top:1px solid rgba(43,34,32,.13);
}
.co-err{
  background:rgba(160,58,58,.09); border:1px solid rgba(160,58,58,.28);
  color:#8C3030; padding:11px 15px; border-radius:var(--r);
  font-size:14px; margin:0 0 14px;
}
.co-submit{ width:100%; }
.co-note{ font-size:12.5px; color:var(--ink-soft); text-align:center; margin:13px 0 0; }

/* ---------- подтверждение ---------- */
.done__panel{ text-align:center; width:min(520px,100%); }
.done__ico{
  width:70px; height:70px; border-radius:50%; margin:0 auto 18px;
  display:grid; place-items:center;
  background:rgba(203,169,107,.16); color:var(--gold-deep);
  border:1px solid rgba(203,169,107,.42);
}
.done__t{ font-family:var(--f-disp); font-weight:400; font-size:34px; margin:0 0 8px; }
.done__sub{ color:var(--ink-soft); margin:0 0 22px; }
.done__pay{
  text-align:left; padding:20px 22px; border-radius:var(--r);
  background:var(--blush-2); margin-bottom:22px;
}
.done__pay h3{
  font-size:12.5px; letter-spacing:.11em; text-transform:uppercase;
  color:var(--ink-soft); margin:0 0 12px; font-weight:400;
}
.blik-code{
  font-size:38px; letter-spacing:.30em; font-weight:500;
  text-align:center; color:var(--ink); margin:4px 0 8px;
  font-variant-numeric:tabular-nums;
}
.blik-timer{ font-size:13.5px; color:var(--ink-soft); text-align:center; margin:0 0 14px; }
.pay-line{ display:flex; justify-content:space-between; gap:14px; font-size:14px; margin-bottom:7px; }
.pay-line b{ font-weight:500; text-align:right; word-break:break-word; }
.pay-steps{
  font-size:14px; line-height:1.75; color:var(--ink-2);
  margin:14px 0 0; padding:14px 16px; border-radius:var(--r);
  background:rgba(255,255,255,.75); white-space:pre-line;
}
.done__act{ display:flex; gap:11px; justify-content:center; flex-wrap:wrap; }

/* ---------- статус заказа ---------- */
.track__panel{ width:min(480px,100%); }
.track__form{ display:grid; gap:12px; margin:20px 0; }
.track__form .btn{ width:100%; }
.track__out{ margin-top:6px; }
.trk{
  border:1px solid var(--line); border-radius:var(--r);
  padding:18px 20px; background:var(--white);
}
.trk__n{ font-size:12.5px; letter-spacing:.09em; color:var(--ink-soft); margin:0 0 4px; }
.trk__s{ font-family:var(--f-disp); font-size:24px; margin:0 0 12px; }
.trk__st{
  display:inline-block; padding:5px 13px; border-radius:100px;
  font-size:12.5px; letter-spacing:.06em; text-transform:uppercase;
  background:var(--blush-2); color:var(--ink-2);
}
.trk__st[data-s="paid"], .trk__st[data-s="done"]{ background:rgba(203,169,107,.2); color:var(--gold-deep); }
.trk__st[data-s="cancelled"]{ background:rgba(160,58,58,.12); color:#8C3030; }
.trk__st[data-s="new"]{ background:rgba(43,34,32,.08); }
.trk__lines{ margin-top:14px; font-size:14px; }
.trk__lines div{ display:flex; justify-content:space-between; gap:12px; padding:4px 0; }

/* ============================================================
   МАСТЕР ПОДБОРА: «Dobór włosów» и «Asystent pielęgnacji»
   ============================================================ */
.wiz[hidden]{ display:none !important; }
.wiz{
  position:fixed; inset:0; z-index:415;
  background:rgba(43,34,32,.48);
  backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px);
  display:grid; place-items:center; padding:20px;
  opacity:0; transition:opacity .32s var(--ease);
}
.wiz.is-open{ opacity:1; }
.wiz__panel{
  position:relative; width:min(720px,100%); max-height:92vh; overflow-y:auto;
  background:var(--cream); border-radius:var(--r);
  padding:30px 32px 28px;
  transform:translateY(18px) scale(.985);
  transition:transform .4s var(--ease-out);
  box-shadow:var(--sh-l);
}
.wiz.is-open .wiz__panel{ transform:none; }
.wiz__close{
  position:absolute; right:14px; top:14px; z-index:4;
  width:38px; height:38px; border-radius:50%;
  display:grid; place-items:center; cursor:pointer;
  background:rgba(255,255,255,.92); border:1px solid var(--line);
  font-size:22px; line-height:1; color:var(--ink);
  transition:background .3s var(--ease), border-color .3s var(--ease);
}
.wiz__close:hover{ background:#fff; border-color:var(--gold-lt); }
.wiz__head{ margin:0 0 22px; padding-right:44px; }
.wiz__step{
  font-size:11.5px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--gold-deep); margin:0 0 8px;
}
.wiz__t{
  font-family:var(--f-disp); font-weight:400;
  font-size:clamp(24px,3.2vw,32px); line-height:1.16; margin:0 0 8px;
}
.wiz__d{ font-size:14.5px; color:var(--ink-soft); margin:0 0 6px; }
.wiz__sum{ font-size:13.5px; color:var(--ink-soft); margin:10px 0 0; }
.wiz__sum b{ color:var(--ink); font-weight:500; }
.wiz__dots{ display:flex; gap:6px; margin-top:16px; }
.wiz__dots i{ width:26px; height:3px; border-radius:2px; background:var(--line); }
.wiz__dots i.is-on{ background:var(--gold); }

.wiz__opts{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.wiz-opt{ display:block; cursor:pointer; }
.wiz-opt input{ position:absolute; opacity:0; pointer-events:none; }
.wiz-opt__b{
  display:block; height:100%;
  padding:13px 17px; border-radius:var(--r);
  background:var(--white); border:1px solid var(--line);
  transition:all .28s var(--ease);
}
.wiz-opt:hover .wiz-opt__b{ border-color:var(--blush-3); }
.wiz-opt input:checked + .wiz-opt__b{
  border-color:var(--gold); background:rgba(203,169,107,.09);
  box-shadow:0 0 0 1px var(--gold);
}
.wiz-opt__t{ display:block; font-size:15.5px; font-weight:500; }
.wiz-opt__d{ display:block; font-size:13px; color:var(--ink-soft); margin-top:2px; }

.wiz__foot{ display:flex; gap:10px; justify-content:space-between; margin-top:24px; }
.wiz__foot .btn{ min-width:150px; }
.wiz__foot .btn--gold:only-child{ margin-left:auto; }

.wiz__cards{ display:grid; gap:10px; }
.wiz-card{
  display:flex; align-items:center; gap:14px;
  padding:12px 14px; border-radius:var(--r);
  background:var(--white); border:1px solid var(--line);
}
.wiz-card__img{
  width:66px; height:66px; flex:none; border-radius:var(--r);
  object-fit:cover; background:var(--blush-2);
}
.wiz-card__b{ flex:1; min-width:0; }
.wiz-card__n{
  font-family:var(--f-disp); font-weight:500; font-size:18px;
  line-height:1.25; margin:0 0 3px;
}
.wiz-card__m{ font-size:12.5px; color:var(--ink-soft); margin:0 0 4px; }
.wiz-card__p{ font-size:16px; font-weight:500; }
.wiz-card__p small{ font-size:12px; font-weight:300; color:var(--ink-soft); }
.wiz-card__act{ display:flex; flex-direction:column; align-items:center; gap:6px; flex:none; }
.wiz-card__more{
  background:none; border:0; padding:0; cursor:pointer;
  font-size:12.5px; color:var(--gold-deep); text-decoration:underline;
}
.wiz-card__more:hover{ color:var(--ink); }

.wiz__total{
  display:flex; justify-content:space-between; align-items:baseline;
  margin-top:14px; padding-top:12px;
  border-top:1px solid var(--line);
  font-size:17px; font-weight:500;
}
.wiz__h3{
  font-family:var(--f-disp); font-weight:500; font-size:21px;
  margin:26px 0 4px;
}
.wiz__none{
  padding:20px 22px; border-radius:var(--r);
  background:var(--blush-2);
}
.wiz__none-t{ font-size:16px; font-weight:500; margin:0 0 6px; }
.wiz__none-d{ font-size:14px; color:var(--ink-soft); margin:0; line-height:1.6; }
.wiz__salon{
  margin-top:18px; padding:20px 22px; border-radius:var(--r);
  background:rgba(203,169,107,.10); border:1px solid rgba(203,169,107,.32);
}
.wiz__salon h3{
  font-family:var(--f-disp); font-weight:500; font-size:22px; margin:0 0 6px;
}
.wiz__salon p{ font-size:14px; color:var(--ink-2); margin:0 0 10px; }
.wiz__salon a{ color:var(--gold-deep); }
.wiz__row{ display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.wiz__row > span:first-child{ color:var(--ink-soft); min-width:78px; }
.wiz__row b{ font-weight:500; }

.wiz__steps{ margin:14px 0 0; padding:0; list-style:none; counter-reset:wizc; }
.wiz__steps li{
  counter-increment:wizc; position:relative;
  padding:0 0 14px 38px;
}
.wiz__steps li::before{
  content:counter(wizc); position:absolute; left:0; top:1px;
  width:24px; height:24px; border-radius:50%;
  display:grid; place-items:center;
  background:var(--gold); color:#fff; font-size:12px;
}
.wiz__steps b{ display:block; font-size:15px; font-weight:500; }
.wiz__steps p{ margin:3px 0 0; font-size:13.5px; line-height:1.65; color:var(--ink-soft); }
.wiz__tip{
  margin:6px 0 0; padding:14px 16px; border-radius:var(--r);
  background:var(--blush-2);
  font-size:13.5px; line-height:1.65; color:var(--ink-2);
}
@media (max-width:760px){
  .wiz__opts{ grid-template-columns:1fr; }
  .wiz__panel{ padding:24px 20px 24px; }
  .wiz__foot{ flex-direction:column-reverse; }
  .wiz__foot .btn{ width:100%; }
  .wiz-card{ flex-wrap:wrap; }
  .wiz-card__act{ flex-direction:row; width:100%; justify-content:flex-end; }
}

/* ============================================================
   ПАНЕЛЬ АДМИНА
   ============================================================ */
.admin-body{ background:#F7F4F2; }
.adm{
  display:grid; grid-template-columns:236px 1fr;
  min-height:100vh;
}
.adm__side{
  background:var(--ink); color:var(--cream);
  padding:26px 18px; display:flex; flex-direction:column; gap:24px;
  position:sticky; top:0; height:100vh; overflow-y:auto;
}
.adm__brand{ display:flex; align-items:center; gap:11px; }
.adm__brand img{ height:34px; width:auto; }
.adm__brand-t{
  font-family:var(--f-disp); font-size:19px; letter-spacing:.02em;
}
.adm__nav{ display:flex; flex-direction:column; gap:3px; }
.adm__nav button{
  text-align:left; padding:10px 14px; border-radius:var(--r);
  background:transparent; border:0; cursor:pointer;
  color:rgba(251,247,244,.72); font-size:14.5px; letter-spacing:.02em;
  display:flex; align-items:center; gap:10px;
  transition:background .25s var(--ease), color .25s var(--ease);
}
.adm__nav button:hover{ background:rgba(255,255,255,.07); color:var(--cream); }
.adm__nav button.is-on{ background:var(--gold); color:#fff; }
.adm__side-foot{ margin-top:auto; font-size:12.5px; color:rgba(251,247,244,.5); line-height:1.6; }
.adm__side-foot button{
  background:none; border:0; color:var(--gold-lt); cursor:pointer;
  font-size:12.5px; text-decoration:underline; padding:0; margin-top:8px;
}
.adm__main{ padding:30px 34px 60px; overflow-x:hidden; }
.adm__head{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:16px; flex-wrap:wrap; margin-bottom:26px;
}
.adm__h1{
  font-family:var(--f-disp); font-weight:400;
  font-size:clamp(28px,3.4vw,40px); margin:0 0 4px; line-height:1.1;
}
.adm__sub{ color:var(--ink-soft); font-size:14.5px; margin:0; }
.adm__panel{ display:none; }
.adm__panel[hidden]{ display:none !important; }
.adm__panel.is-on{ display:block; }

/* ---------- вкладки внутри панели ---------- */
.adm-tabs{
  display:flex; gap:6px; flex-wrap:wrap;
  border-bottom:1px solid var(--line);
  margin-bottom:24px;
}
.adm-tabs button{
  background:none; border:0; cursor:pointer;
  padding:11px 16px 13px; margin-bottom:-1px;
  font-size:14px; color:var(--ink-soft);
  border-bottom:2px solid transparent;
  transition:color .25s var(--ease), border-color .25s var(--ease);
  display:inline-flex; align-items:center; gap:8px;
}
.adm-tabs button:hover{ color:var(--ink); }
.adm-tabs button.is-on{ color:var(--gold-deep); border-bottom-color:var(--gold); }
.adm-tab[hidden]{ display:none !important; }

/* ---------- вкладки языков (переводы) ---------- */
.langtabs{ display:flex; gap:6px; flex-wrap:wrap; margin-bottom:20px; }
.langtab{
  background:var(--white); border:1px solid var(--line); border-radius:999px;
  cursor:pointer; padding:8px 16px; font-size:13.5px; color:var(--ink-soft);
  display:inline-flex; align-items:center; gap:7px;
  transition:color .25s var(--ease), border-color .25s var(--ease), background .25s var(--ease);
}
.langtab:hover{ color:var(--ink); }
.langtab.is-on{
  color:var(--gold-deep); border-color:var(--gold); background:rgba(203,169,107,.09);
}
.langtab code{ opacity:.45; font-size:11px; }

/* ---------- секции: вкл/выкл + фото ---------- */
.adm-sec{
  background:var(--white); border-radius:var(--r);
  box-shadow:var(--sh-s); margin-bottom:12px; overflow:hidden;
}
.adm-sec__head{
  display:flex; align-items:center; gap:14px;
  padding:15px 20px; flex-wrap:wrap;
}
.adm-sec__t{ font-size:15.5px; font-weight:500; }
.adm-sec__slug{
  font-size:11.5px; color:var(--ink-soft);
  background:var(--blush-2); padding:2px 8px; border-radius:100px;
}
.adm-sec.is-off .adm-sec__t{ color:var(--ink-soft); text-decoration:line-through; }
.adm-sec__body{
  padding:0 20px 18px; border-top:1px solid var(--line-soft);
}
.adm-sec__imgs{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  gap:14px; padding-top:16px;
}
.adm-im{
  border:1px solid var(--line); border-radius:var(--r);
  padding:11px; background:var(--cream);
}
.adm-im__prev{
  width:100%; aspect-ratio:3/4; object-fit:cover;
  border-radius:3px; background:var(--blush-2);
  display:block; margin-bottom:9px;
}
.adm-im__l{ font-size:12.5px; color:var(--ink-soft); display:block; margin-bottom:6px; }
.adm-im__row{ display:flex; gap:8px; align-items:center; }
.adm-im__row .field__i{ font-size:12.5px; padding:8px 10px; }

.adm-stat{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(168px,1fr));
  gap:14px; margin-bottom:30px;
}
.stat{
  background:var(--white); border-radius:var(--r); padding:19px 21px;
  box-shadow:var(--sh-s);
}
.stat__v{
  font-family:var(--f-disp); font-size:34px; line-height:1;
  margin-bottom:6px; font-weight:500;
}
.stat__k{ font-size:13px; color:var(--ink-soft); letter-spacing:.04em; }
.stat--gold .stat__v{ color:var(--gold-deep); }
/* dashboard tiles are buttons — they open the matching tab */
.stat--link{ position:relative; display:block; width:100%; border:1px solid transparent; font:inherit; color:inherit;
  text-align:left; cursor:pointer; transition:transform .15s, box-shadow .15s, border-color .15s; }
.stat--link:hover, .stat--link:focus-visible{ transform:translateY(-2px); box-shadow:var(--sh-m); border-color:var(--gold-lt); outline:none; }
.stat__h{ margin-top:6px; font-size:11.5px; line-height:1.35; color:var(--ink-soft); opacity:.85; }
.stat__go{ position:absolute; top:16px; right:18px; color:var(--ink-soft); opacity:0; transition:opacity .15s; }
.stat--link:hover .stat__go{ opacity:1; }
.dash-news{ margin:0 0 16px; }
.dash-news__t{ margin:0 0 10px; font-size:12.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft); }
.dash-news__t--ok{ text-transform:none; letter-spacing:0; font-size:14px; }
.dash-news__b{ display:flex; flex-wrap:wrap; gap:10px; }
.dash-new{ display:inline-flex; align-items:center; gap:8px; padding:12px 18px; border-radius:100px; border:0; cursor:pointer;
  background:var(--gold-deep); color:var(--white); font:inherit; font-size:15px; box-shadow:var(--sh-s); transition:transform .15s; }
.dash-new b{ font-size:18px; }
.dash-new:hover{ transform:translateY(-2px); }
.ord-preset{ flex-basis:100%; margin:6px 0 0; font-size:14px; color:var(--ink-2); }

.adm-table{
  width:100%; border-collapse:collapse; background:var(--white);
  border-radius:var(--r); overflow:hidden; box-shadow:var(--sh-s);
  font-size:14.5px;
}
.adm-table th{
  text-align:left; padding:12px 15px; background:var(--blush-2);
  font-size:12px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink-soft); font-weight:400; white-space:nowrap;
}
.adm-table td{ padding:13px 15px; border-top:1px solid var(--line-soft); vertical-align:middle; }
.adm-table tr:hover td{ background:rgba(240,225,228,.22); }
.adm-table img{ width:44px; height:44px; border-radius:var(--r); object-fit:cover; }
.adm-table .num{ text-align:right; font-variant-numeric:tabular-nums; }
.adm-table .nowrap{ white-space:nowrap; }
.adm-tools{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:18px; }

/* period picker on the “Statistics” tab */
.stats-dates{ display:flex; gap:10px; align-items:flex-end; margin-left:auto; }
.adm-tools .stats-dates .field{ display:block; width:158px; margin:0; }
.adm-tools .stats-dates .field__l{ margin:0 0 4px; }

/* --- sort by clicking a column header --- */
.th-sort{ cursor:pointer; user-select:none; transition:color .25s var(--ease); }
.th-sort:hover{ color:var(--ink); }
.th-sort.is-on{ color:var(--gold-deep); font-weight:500; }
.adm-table--sortable th.th-sort{ position:relative; padding-right:20px; }
.adm-table--sortable th.th-sort::after{
  content:'↕'; position:absolute; right:7px; top:50%;
  transform:translateY(-50%); opacity:.28; font-size:11px;
}
.adm-table--sortable th.th-sort.is-on::after{ content:'●'; opacity:.9; font-size:8px; }

/* --- category order: drag rows --- */
.adm-table tr[draggable]{ cursor:grab; }
.adm-table tr.is-drag{ opacity:.45; }
.adm-table tr.is-drag td{ background:rgba(203,169,107,.14); }
.cat-handle{
  color:var(--ink-soft); font-size:15px; line-height:1;
  cursor:grab; user-select:none; text-align:center; white-space:nowrap;
}
.cat-handle:hover{ color:var(--gold-deep); }

.btn--sm{ padding:8px 15px; font-size:13px; }
.btn--danger{ background:#8C3030; color:#fff; }
.btn--danger:hover{ background:#A03A3A; }
.btn--outline{
  background:transparent; border-color:var(--line); color:var(--ink-2);
}
.btn--outline:hover{ border-color:var(--gold-lt); color:var(--ink); }
.btn--green{ background:#3F6B4A; color:#fff; }
.btn--green:hover{ background:#4C7F59; }

.st-badge{
  display:inline-block; padding:4px 11px; border-radius:100px;
  font-size:11.5px; letter-spacing:.06em; text-transform:uppercase;
  background:var(--blush-2); color:var(--ink-2); white-space:nowrap;
}
.st-badge[data-s="paid"], .st-badge[data-s="done"]{ background:rgba(203,169,107,.22); color:var(--gold-deep); }
.st-badge[data-s="new"]{ background:rgba(43,34,32,.08); }
.st-badge[data-s="cancelled"]{ background:rgba(160,58,58,.12); color:#8C3030; }
.st-badge[data-s="shipped"], .st-badge[data-s="pickup_ready"], .st-badge[data-s="in_progress"]{
  background:rgba(63,107,74,.13); color:#3F6B4A;
}
.st-off{ opacity:.45; }

/* модальное окно админа */
.amodal{
  position:fixed; inset:0; z-index:420; background:rgba(43,34,32,.46);
  display:grid; place-items:center; padding:20px;
  opacity:0; transition:opacity .3s var(--ease);
}
.amodal.is-open{ opacity:1; }
.amodal__panel{
  position:relative; width:min(660px,100%); max-height:92vh; overflow-y:auto;
  background:var(--cream); border-radius:var(--r); padding:28px 30px 30px;
  transform:translateY(16px); transition:transform .38s var(--ease-out);
  box-shadow:var(--sh-l);
}
.amodal.is-open .amodal__panel{ transform:none; }
.amodal__head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:22px; }
.amodal__t{ font-family:var(--f-disp); font-size:28px; margin:0; }
.amodal__foot{ display:flex; gap:10px; justify-content:flex-end; margin-top:24px; }
.af-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.af-row{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:14px; }
.af-row--full{ grid-column:1/-1; }
.af-check{ display:flex; align-items:center; gap:9px; font-size:14.5px; cursor:pointer; }
.af-check input{ width:16px; height:16px; accent-color:var(--gold); }
.af-hint{ font-size:12.5px; color:var(--ink-soft); margin:6px 0 0; }

.adm-login{
  min-height:100vh; display:grid; place-items:center; padding:20px;
  background:linear-gradient(160deg,var(--blush-2),var(--blush));
}
.adm-login__box{
  width:min(390px,100%); background:var(--cream);
  border-radius:var(--r); padding:34px 32px 32px; box-shadow:var(--sh-l);
  text-align:center;
}
.adm-login__box img{ height:40px; margin:0 auto 18px; }
.adm-login__t{ font-family:var(--f-disp); font-size:28px; margin:0 0 6px; }
.adm-login__s{ color:var(--ink-soft); font-size:14px; margin:0 0 24px; }
.adm-login__box .field{ text-align:left; margin-bottom:13px; }
.adm-login__box .btn{ width:100%; margin-top:6px; }
.adm-err{
  background:rgba(160,58,58,.09); border:1px solid rgba(160,58,58,.28);
  color:#8C3030; padding:10px 14px; border-radius:var(--r);
  font-size:13.5px; margin:0 0 14px;
}

.ord-detail{ font-size:14.5px; }
.ord-detail__rows{ margin:0 0 18px; }
.ord-detail__rows div{
  display:flex; justify-content:space-between; gap:14px;
  padding:7px 0; border-bottom:1px solid var(--line-soft);
}
.ord-detail__rows b{ font-weight:500; text-align:right; }
.ord-items{ width:100%; border-collapse:collapse; margin-bottom:18px; }
.ord-items td{ padding:9px 0; border-bottom:1px solid var(--line-soft); }
.ord-items td:last-child{ text-align:right; font-variant-numeric:tabular-nums; }
.ord-statuses{ display:flex; flex-wrap:wrap; gap:7px; margin-bottom:6px; }
.ord-statuses button{
  padding:7px 14px; border-radius:100px; cursor:pointer;
  background:transparent; border:1px solid var(--line);
  font-size:13px; color:var(--ink-2);
  transition:all .25s var(--ease);
}
.ord-statuses button:hover{ border-color:var(--gold-lt); }
.ord-statuses button:disabled{ opacity:.5; cursor:not-allowed; }
.ord-statuses button:disabled:hover{ border-color:var(--line); }
.ord-statuses button.is-on{ background:var(--ink); border-color:var(--ink); color:var(--cream); }

/* ---------- адаптив ---------- */
@media (max-width:1080px){
  .shop-grid{ grid-template-columns:repeat(3,1fr); }
  .adm{ grid-template-columns:1fr; }
  .adm__side{
    position:static; height:auto; flex-direction:row; align-items:center;
    flex-wrap:wrap; gap:14px; padding:16px 20px;
  }
  .adm__nav{ flex-direction:row; flex-wrap:wrap; }
  .adm__side-foot{ margin:0 0 0 auto; text-align:right; }
  .adm__main{ padding:24px 20px 50px; }
}
@media (max-width:760px){
  .shop-grid{ grid-template-columns:repeat(2,1fr); gap:14px; }
  .shop-bar{ gap:12px; }
  .shop-bar__right{ width:100%; }
  .shop-search{ flex:1; }
  .shop-search input{ width:100%; }
  .co-grid{ grid-template-columns:1fr; }
  .co-fulfil__opts{ grid-template-columns:1fr; }
  .checkout__panel, .done__panel, .track__panel{ padding:24px 20px 26px; }
  .af-grid{ grid-template-columns:1fr; }
  .adm-table{ font-size:13px; }
  .adm-table th, .adm-table td{ padding:10px 11px; }
  .adm__main{ padding:20px 14px 44px; }
  .blik-code{ font-size:30px; letter-spacing:.22em; }
  .pcard__n{ font-size:17px; }
  .pcard__b{ padding:14px 14px 16px; }
}

/* ============================================================
   ADMIN: statistics, users, order history, the rest
   ============================================================ */

/* ---------- cards and grids ---------- */
.adm-card{
  background:var(--white); border-radius:var(--r);
  box-shadow:var(--sh-s); padding:22px 24px; margin-bottom:18px;
}
.adm-card__muted{ color:var(--ink-soft); font-size:13.5px; margin:8px 0 0; }
.adm-card--note{ border-left:3px solid var(--gold); }
.adm-card--note p{ font-size:14px; line-height:1.65; margin:10px 0 0; color:var(--ink-2); }
.adm-grid2{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:22px; align-items:start;
}
.adm-tools__gap{ flex:1 1 auto; }
.adm-tools .field{ display:flex; align-items:center; gap:8px; margin:0; }
.adm-tools .field__l{ margin:0; white-space:nowrap; }

/* ---------- demo-mode badge ---------- */
.adm-demo{
  background:rgba(203,169,107,.14); border:1px solid var(--gold);
  color:var(--ink); border-radius:var(--r);
  padding:13px 18px; font-size:14px; margin-bottom:18px;
}
.adm-demo[hidden]{ display:none; }
.adm-demo{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.adm-demo #demoClear{ flex:0 0 auto; }

/* ---------- revenue chart (no external libraries) ---------- */
.chart{
  display:flex; align-items:flex-end; gap:4px;
  height:220px; padding:10px 2px 0;
  border-bottom:1px solid var(--line);
  overflow-x:auto;
}
.chart__col{
  flex:1 1 0; min-width:12px; display:flex; flex-direction:column;
  justify-content:flex-end; align-items:center; height:100%;
  position:relative;
}
.chart__bar{
  width:100%; max-width:38px; border-radius:4px 4px 0 0;
  background:linear-gradient(180deg,var(--gold) 0%,var(--gold-deep) 100%);
  min-height:2px; transition:height .5s var(--ease);
}
.chart__col--zero .chart__bar{ background:var(--line); }
.chart__val{
  font-size:10.5px; color:var(--ink-soft); margin-bottom:4px;
  white-space:nowrap; display:none;
}
.chart__col:hover .chart__val{ display:block; }
.chart__labels{
  display:flex; gap:4px; padding-top:8px; overflow-x:auto;
}
.chart__lab{
  flex:1 1 0; min-width:12px; text-align:center;
  font-size:10.5px; color:var(--ink-soft); white-space:nowrap;
}
.chart__empty{
  color:var(--ink-soft); font-size:14px; padding:26px 0; text-align:center;
}

/* ---------- comparison with the previous period ---------- */
.cmp{
  display:inline-flex; align-items:baseline; gap:8px;
  font-size:13.5px; color:var(--ink-soft); margin-bottom:12px;
  grid-column:1 / -1;   /* comparison with the previous period — full row */
}
.cmp__up{ color:#4b7a52; }
.cmp__down{ color:#a3503f; }

/* ---------- sales table by product ---------- */
.mini-list{ display:grid; gap:10px; }
.mini-row{
  display:grid; grid-template-columns:1fr auto; gap:4px 14px;
  align-items:center; font-size:14.5px;
}
.mini-row__n{ font-weight:500; }
.mini-row__v{ color:var(--gold-deep); font-family:var(--f-disp); font-size:17px; }
.mini-row__m{ grid-column:1 / -1; height:5px; border-radius:100px; background:var(--blush-2); overflow:hidden; }
.mini-row__m i{ display:block; height:100%; background:var(--gold); border-radius:100px; }
.mini-row__q{ grid-column:1 / -1; font-size:12.5px; color:var(--ink-soft); }

/* ---------- order history ---------- */
.timeline{ margin:0 0 6px; padding:0; list-style:none; }
.timeline li{
  display:grid; grid-template-columns:14px 1fr; gap:12px;
  padding-bottom:14px; position:relative;
}
.timeline li::before{
  content:""; position:absolute; left:6px; top:14px; bottom:0;
  width:1px; background:var(--line);
}
.timeline li:last-child::before{ display:none; }
.timeline__dot{
  width:9px; height:9px; border-radius:50%; margin-top:5px;
  background:var(--gold); box-shadow:0 0 0 3px var(--blush-2);
  position:relative; z-index:1;
}
.timeline__t{ font-size:14px; }
.timeline__m{ font-size:12.5px; color:var(--ink-soft); margin-top:2px; }
.timeline__note{
  font-size:13.5px; color:var(--ink-2); margin-top:4px;
  background:var(--cream); border-radius:6px; padding:7px 10px;
}

/* ---------- users ---------- */
.adm-userform{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:14px; align-items:end;
}
.adm-userform .btn{ height:46px; }
.usr-role{
  display:inline-block; padding:3px 11px; border-radius:100px;
  font-size:12px; letter-spacing:.04em; background:var(--blush-2); color:var(--ink-2);
}
.usr-role--owner{ background:rgba(203,169,107,.2); color:var(--gold-deep); }
.usr-role--manager{ background:rgba(90,120,150,.14); color:#3f5c78; }
.usr-off{ color:var(--ink-soft); text-decoration:line-through; }
.usr-act{
  display:flex; gap:7px; flex-wrap:wrap; justify-content:flex-end;
}
.usr-act button{
  background:none; border:1px solid var(--line); border-radius:100px;
  padding:5px 12px; font-size:12.5px; color:var(--ink-2); cursor:pointer;
  transition:border-color .2s var(--ease), color .2s var(--ease);
}
.usr-act button:hover{ border-color:var(--gold); color:var(--gold-deep); }
.usr-act button.is-danger:hover{ border-color:#a3503f; color:#a3503f; }

/* ---------- low-stock warning ---------- */
.lowstock{
  background:rgba(163,80,63,.08); border:1px solid rgba(163,80,63,.25);
  border-radius:var(--r); padding:15px 19px; margin-bottom:18px;
}
.lowstock[hidden]{ display:none; }
.lowstock__t{ font-size:14.5px; font-weight:500; margin-bottom:6px; }
.lowstock__l{ display:flex; gap:8px; flex-wrap:wrap; }
.lowstock__i{
  background:var(--white); border-radius:100px; padding:4px 12px;
  font-size:12.5px; color:var(--ink-2);
}
.lowstock__i b{ color:#a3503f; }

/* ---------- password field with its own “show” ---------- */
.field--pw{ position:relative; }
.field--pw .field__i{ padding-right:48px; }
.pw-eye{
  position:absolute; right:9px; top:26px;
  width:30px; height:30px; padding:0;
  display:flex; align-items:center; justify-content:center;
  border:1px solid var(--line); border-radius:9px;
  background:var(--white); color:var(--ink-soft); cursor:pointer;
  transition:color .2s var(--ease), border-color .2s var(--ease), background .2s var(--ease);
}
.pw-eye:hover{ color:var(--gold-deep); border-color:var(--gold); }
.pw-eye.is-on{ color:var(--gold-deep); background:rgba(203,169,107,.14); }
.pw-eye:focus-visible{ outline:2px solid var(--gold-deep); outline-offset:2px; }

/* ---------- role permission descriptions ---------- */
.rolehelp{ margin:12px 0 0; padding:0; list-style:none; display:grid; gap:11px; }
.rolehelp li{ font-size:14px; line-height:1.6; color:var(--ink-2); }
.rolehelp .usr-role{ margin-right:8px; vertical-align:1px; }

/* ================================================================
   23.10.2026 — shop features “like Shopify”
   ================================================================ */

/* ---------- product page /sklep/<slug> ---------- */
.is-product-page .shop-hero,
.is-product-page .shop-assist,
.is-product-page .shop-main{ display:none; }
.pview{ padding:clamp(118px,13vw,150px) 0 70px; }
.pview[hidden]{ display:none; }
.pv-crumbs{ font-size:13px; color:var(--ink-soft); margin-bottom:22px; letter-spacing:.02em; }
.pv-crumbs a{ color:var(--ink-soft); }
.pv-crumbs a:hover{ color:var(--gold-deep); }
.pv-crumbs span{ margin:0 4px; }
.pv-crumbs [aria-current]{ color:var(--ink-2); margin:0; }
.pv-grid{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:clamp(28px,5vw,64px); align-items:start; }
.pv-media{ position:sticky; top:110px; }
.pv-main{ border-radius:10px; overflow:hidden; background:var(--white); aspect-ratio:1/1;
  display:flex; align-items:center; justify-content:center; }
/* the whole photo (no cropping) and never larger than the original — a small photo
   stretched to the full frame looked blurry */
.pv-main img{ display:block; width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; }
.pv-thumbs{ display:flex; gap:10px; margin-top:12px; flex-wrap:wrap; }
.pv-thumb{ width:72px; height:86px; padding:0; border:1px solid var(--line); border-radius:6px; overflow:hidden; cursor:pointer; background:none; opacity:.7; transition:opacity .2s, border-color .2s; }
.pv-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.pv-thumb.is-on, .pv-thumb:hover{ opacity:1; border-color:var(--gold); }
.pv-brand{ font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-deep); margin:0 0 8px; }
.pv-title{ font-family:var(--f-disp); font-weight:400; font-size:clamp(32px,4.2vw,50px); line-height:1.05; margin:0 0 12px; }
.pv-rating{ display:inline-flex; align-items:center; gap:8px; font-size:14px; color:var(--ink-soft); margin-bottom:12px; }
.pv-price{ font-size:28px; margin:8px 0 2px; color:var(--ink); }
.pv-price s{ color:var(--ink-soft); font-size:19px; margin-right:6px; }
.pv-price small{ font-size:14px; color:var(--ink-soft); }
.pv-tax{ font-size:12.5px; color:var(--ink-soft); margin:0 0 20px; }
.pv-block{ margin:18px 0; }
.pv-block h2, .pv-desc h2{ font-family:var(--f-body); font-size:12.5px; letter-spacing:.14em; text-transform:uppercase; font-weight:500; color:var(--ink-soft); margin:0 0 10px; }
.pv-label{ font-size:14px; color:var(--ink-soft); margin:0 0 8px; }
.pv-label b{ color:var(--ink); font-weight:500; }
.pv-variants{ display:flex; flex-wrap:wrap; gap:8px; }
.pv-buy{ display:flex; gap:12px; align-items:center; margin:22px 0 8px; flex-wrap:wrap; }
.pv-add{ flex:1; min-width:200px; }
.qty--lg{ padding:5px; }
.qty--lg button{ width:38px; height:38px; font-size:19px; }
.qty--lg span{ min-width:34px; font-size:16px; }
.pv-stock{ font-size:13.5px; color:#3d7a4f; margin:0 0 6px; }
.pv-stock.is-low{ color:#a3542f; }
.pv-desc{ margin:26px 0 8px; padding-top:22px; border-top:1px solid var(--line-soft); }
.pv-desc p{ font-size:15.5px; line-height:1.75; color:var(--ink-2); margin:0; white-space:pre-line; }
.pv-specs{ display:grid; grid-template-columns:1fr 1fr; gap:10px 18px; margin:20px 0; padding:16px 18px; background:var(--blush-2); border-radius:8px; }
.pv-specs div{ display:flex; flex-direction:column; gap:2px; }
.pv-specs dt{ font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft); }
.pv-specs dd{ margin:0; font-size:14.5px; }
.pv-delivery{ list-style:none; padding:0; margin:0; font-size:14.5px; color:var(--ink-2); }
.pv-delivery li{ padding:7px 0; border-bottom:1px solid var(--line-soft); }
.pv-delivery b{ font-weight:500; color:var(--ink); }
.pv-reviews, .pv-related{ margin-top:64px; }
.pv-reviews h2, .pv-related h2{ font-family:var(--f-disp); font-weight:400; font-size:clamp(28px,3vw,38px); margin:0 0 18px; }
.pv-muted{ color:var(--ink-soft); font-size:14px; }
.pv-related__grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.pv-rel{ display:flex; flex-direction:column; gap:6px; color:var(--ink); }
.pv-rel img{ width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:8px; background:var(--blush-2); transition:transform .4s var(--ease-out); }
.pv-rel:hover img{ transform:scale(1.02); }
.pv-rel__n{ font-size:14.5px; line-height:1.35; }
.pv-rel__p{ font-size:14px; color:var(--gold-deep); }
.pv-all{ text-align:center; margin-top:48px; }
.pv-missing{ text-align:center; padding:40px 0; }
.pv-missing h1{ font-family:var(--f-disp); font-weight:400; font-size:40px; }
@media (max-width:860px){
  .pv-grid{ grid-template-columns:1fr; }
  .pv-media{ position:static; }
  .pv-related__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* ---------- stars and reviews ---------- */
.stars{ display:inline-flex; gap:1px; color:#d9cfc6; font-size:15px; line-height:1; letter-spacing:0; }
.stars i{ font-style:normal; }
.stars i.is-full{ color:var(--gold); }
.stars i.is-half{ background:linear-gradient(90deg,var(--gold) 50%,#d9cfc6 50%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.stars--sm{ font-size:12.5px; }
.stars--lg{ font-size:20px; }
.pcard__rate{ display:flex; align-items:center; gap:5px; margin:2px 0 6px; font-size:12px; color:var(--ink-soft); }
.rv-sum{ display:flex; align-items:center; gap:8px; font-size:15px; margin:0 0 18px; }
.rv{ padding:16px 0; border-top:1px solid var(--line-soft); }
.rv header{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:14px; }
.rv header time{ color:var(--ink-soft); font-size:12.5px; margin-left:auto; }
.rv p{ margin:8px 0 0; font-size:15px; line-height:1.65; color:var(--ink-2); white-space:pre-line; }
.rv-ver{ font-size:12px; color:#3d7a4f; }
.rv-reply{ padding:10px 14px; background:var(--blush-2); border-radius:6px; font-size:14px !important; }
.rv-form-wrap{ margin-top:22px; }
.rv-form-wrap > summary{ display:inline-flex; list-style:none; cursor:pointer; }
.rv-form-wrap > summary::-webkit-details-marker{ display:none; }
.rv-form{ margin-top:18px; max-width:620px; display:flex; flex-direction:column; gap:12px; }
.rv-row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.rv-stars{ display:inline-flex; flex-direction:row-reverse; justify-content:flex-end; gap:2px; }
.rv-stars input{ position:absolute; opacity:0; pointer-events:none; }
.rv-stars label{ font-size:30px; color:#d9cfc6; cursor:pointer; line-height:1; transition:color .15s; }
.rv-stars input:checked ~ label, .rv-stars label:hover, .rv-stars label:hover ~ label{ color:var(--gold); }
.rv-stars input:focus-visible + label{ outline:2px solid var(--gold-deep); outline-offset:2px; }
@media (max-width:560px){ .rv-row{ grid-template-columns:1fr; } }

/* ---------- notify me ---------- */
.notify{ margin:14px 0; padding:16px 18px; border:1px dashed var(--gold-lt); border-radius:8px; background:rgba(233,214,174,.16); }
.notify__t{ margin:0 0 10px; font-size:14.5px; font-weight:500; }
.notify__row{ display:flex; gap:8px; flex-wrap:wrap; }
.notify__row .field__i{ flex:1; min-width:180px; }
.notify__msg{ margin:10px 0 0; font-size:13.5px; }
.notify__msg.is-ok{ color:#3d7a4f; }
.notify__msg.is-err{ color:#a33a3a; }
.pmodal__full{ margin:10px 0 0; font-size:14px; }
.pmodal__full a{ color:var(--gold-deep); border-bottom:1px solid currentColor; }

/* ---------- discount code ---------- */
.promo{ display:flex; gap:8px; margin:12px 0 14px; align-items:center; }
.promo__i{ flex:1; min-width:0; text-transform:uppercase; }
.promo__i::placeholder{ text-transform:none; }
.promo__b{ white-space:nowrap; padding-left:16px; padding-right:16px; }
.promo--on{ justify-content:space-between; padding:9px 12px; border-radius:6px; background:rgba(61,122,79,.08); }
.promo__tag{ font-size:14px; font-weight:500; letter-spacing:.04em; color:#2f6a42; }
.promo__x{ border:0; background:none; font-size:20px; line-height:1; cursor:pointer; color:var(--ink-soft); }
.promo__err{ margin:-6px 0 12px; font-size:13px; color:#a33a3a; }
.cart__sum--disc, .co-summary__r--disc{ color:#2f6a42; }
.co-summary__promo{ margin-top:12px; }
.co-hint{ display:block; font-size:12.5px; color:var(--ink-soft); margin-top:6px; text-transform:none; letter-spacing:0; }
.co-hint a{ color:var(--gold-deep); border-bottom:1px solid currentColor; }
.co-locker{ font-size:17px; letter-spacing:.08em; }
#fulInpost[hidden]{ display:none; }

/* ---------- panel: orders, customers, discounts, reviews (23.10.2026) ---------- */
.ord-search{ flex:1 1 320px; max-width:520px; }
.ord-filters{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; width:100%; margin-top:10px; }
.ord-date{ width:auto; padding:8px 10px; font-size:13px; }
.ord-count{ font-size:13px; color:var(--ink-soft); margin:0 0 10px; }
.ord-bulk{
  position:sticky; top:8px; z-index:5; display:flex; flex-wrap:wrap; gap:8px; align-items:center;
  padding:10px 14px; margin-bottom:12px; border-radius:var(--r);
  background:var(--ink); color:var(--cream); box-shadow:var(--sh-m);
}
.ord-bulk b{ margin-right:6px; font-weight:500; }
.ord-bulk .shop-sort{ background:var(--white); }
.ord-bulk .btn--outline{ color:var(--cream); border-color:rgba(255,255,255,.35); }
.adm-table td.sel, .adm-table th.sel{ width:34px; padding-right:0; }
.adm-table input[type=checkbox]{ width:17px; height:17px; accent-color:var(--gold-deep); cursor:pointer; }
.adm-table tr.is-sel td{ background:rgba(233,214,174,.22); }
.tag-disc{ color:#2f6a42; }
.tag-track{ color:var(--gold-deep); }
.ord-h4{ font-size:12.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft); font-weight:400; margin:22px 0 9px; }
.ord-track{ display:flex; gap:8px; flex-wrap:wrap; }
.ord-track select{ width:auto; min-width:150px; }
.ord-track input{ flex:1; min-width:180px; }
.linkbtn{ border:0; background:none; padding:0; margin-left:6px; color:var(--gold-deep); cursor:pointer; font:inherit; font-size:13px; text-decoration:underline; }
.muted{ color:var(--ink-soft); }
b.code{ font-family:ui-monospace,Menlo,Consolas,monospace; letter-spacing:.04em; }
.tag{ display:inline-block; padding:2px 8px; border-radius:100px; background:var(--blush-2); font-size:12px; margin:1px 2px 1px 0; }
.adm-stat--sm{ margin-bottom:16px; }
.adm-stat--sm .stat__v{ font-size:26px; }
.rv-adm{ margin-bottom:12px; padding:16px 18px; }
.rv-adm header{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.rv-adm__stars{ color:var(--gold); letter-spacing:1px; }
.rv-adm p{ margin:6px 0 10px; line-height:1.6; }
.rv-adm__act{ display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
#reviewTabs .is-on{ background:var(--ink); color:var(--cream); border-color:var(--ink); }
.nav-badge{
  display:inline-flex; align-items:center; justify-content:center; min-width:19px; height:19px; padding:0 5px;
  margin-left:8px; border-radius:100px; background:var(--gold); color:#fff; font-style:normal; font-size:11.5px;
}
.img-strip{ display:flex; gap:6px; flex-wrap:wrap; margin-top:8px; }
.img-strip img{ width:54px; height:64px; object-fit:cover; border-radius:4px; border:1px solid var(--line); }
@media (max-width:760px){
  .ord-filters .shop-sort, .ord-date{ flex:1 1 140px; }
}
.notify__consent{ margin:8px 0 0; font-size:12px; }
.notify__consent a, .rv-form .pv-muted a{ color:var(--ink-soft); }

/* ---------- Omnibus, palette, guarantee (23.10.2026) ---------- */
.low30{ margin:4px 0 0; font-size:11.5px; line-height:1.4; color:var(--ink-soft); }
.pmodal__body .low30, .pv-info .low30{ font-size:12.5px; margin:2px 0 8px; }
.pal{ max-width:760px; }
.pal__t{ font-family:var(--f-disp); font-weight:400; font-size:34px; margin:0 0 6px; }
.pal__d{ color:var(--ink-soft); font-size:14px; margin:0 0 16px; }
.pal__g{ font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft); font-weight:500; margin:18px 0 10px; }
.pal__grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(78px,1fr)); gap:12px; }
.pal__c{ display:flex; flex-direction:column; align-items:center; gap:6px; font-size:13px; }
.pal__sw{ width:58px; height:58px; border-radius:50%; box-shadow:inset 0 0 0 1px rgba(0,0,0,.1), 0 4px 12px rgba(43,34,32,.15); }
.pal__help{ margin-top:22px; padding:16px 18px; border-radius:10px; background:var(--blush-2); }
.pal__help p{ margin:0 0 12px; font-size:14.5px; line-height:1.6; }
.pal__btns{ display:flex; gap:8px; flex-wrap:wrap; }
.pv-pal{ margin:6px 0 14px; }
.linkbtn-pv{ border:0; background:none; padding:0; cursor:pointer; font:inherit; font-size:14.5px; color:var(--gold-deep); border-bottom:1px solid currentColor; }
.pv-guar{ margin:16px 0; padding:14px 16px; border-radius:10px; border:1px solid var(--gold-pale); background:rgba(233,214,174,.16); }
.pv-guar p{ margin:6px 0 0; font-size:14.5px; line-height:1.6; color:var(--ink-2); }
#bkTabs .is-on{ background:var(--ink); color:var(--cream); border-color:var(--ink); }
.calc-ed .field__i{ padding:7px 9px; font-size:13.5px; }
.calc-ed td{ padding:6px 8px; }

/* products for salon pickup only (e.g. Nashi Argan) */
.pk-only{ display:flex; gap:7px; align-items:flex-start; margin:8px 0 0; font-size:12.5px; line-height:1.45; color:#7a5a2b; }
.pk-only::before{ content:""; flex:none; width:14px; height:14px; margin-top:2px;
  background:currentColor; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5V21h-6v-6H9v6H3z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5V21h-6v-6H9v6H3z'/%3E%3C/svg%3E") center/contain no-repeat; }
.pk-only--box{ margin:12px 0 0; padding:11px 13px; border-radius:10px; background:#f7efe2; }
.co-fulfil label.is-disabled{ opacity:.45; cursor:not-allowed; }

/* ---------- visit calendar — iPhone calendar style ---------- */
.ical{ --ired:#ff3b30; display:grid; grid-template-columns:minmax(280px,360px) 1fr; gap:18px; align-items:start; margin-top:6px;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",var(--sans,system-ui),sans-serif; }
.ical__month,.ical__day{ background:#fff; border-radius:18px; box-shadow:0 1px 2px rgba(0,0,0,.04),0 8px 28px rgba(60,40,30,.07); padding:18px 16px; }
.ical__head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.ical__title{ margin:0; font-size:22px; font-weight:400; letter-spacing:-.01em; color:#1c1c1e; font-family:inherit; }
.ical__title b{ font-weight:700; }
.ical__nav{ display:flex; align-items:center; gap:4px; }
.ical__nav button{ border:0; background:none; color:var(--ired); font-size:26px; line-height:1; width:34px; height:34px; border-radius:50%; cursor:pointer; }
.ical__nav button:hover{ background:rgba(255,59,48,.08); }
.ical__nav .ical__todaybtn{ width:auto; font-size:15px; padding:0 10px; border-radius:16px; }
.ical__wd,.ical__grid{ display:grid; grid-template-columns:repeat(7,1fr); text-align:center; }
.ical__wd span{ font-size:11.5px; font-weight:600; color:#8e8e93; padding-bottom:6px; }
.ical__wd .is-we{ color:#b4b4b8; }
.ical__grid{ border-top:1px solid #ececf0; padding-top:4px; row-gap:2px; }
.ical__d{ border:0; background:none; padding:4px 0 2px; display:flex; flex-direction:column; align-items:center; gap:2px; cursor:pointer; font:inherit; color:#1c1c1e; }
.ical__d.is-empty{ cursor:default; }
.ical__d.is-we .ical__n{ color:#8e8e93; }
.ical__n{ width:34px; height:34px; border-radius:50%; display:grid; place-items:center; font-size:17px; transition:background .15s; }
.ical__d:hover .ical__n{ background:#f2f2f7; }
.ical__d.is-today .ical__n{ color:var(--ired); font-weight:600; }
.ical__d.is-sel .ical__n{ background:#1c1c1e; color:#fff; font-weight:600; }
.ical__d.is-sel.is-today .ical__n{ background:var(--ired); color:#fff; }
.ical__dots{ height:6px; display:flex; gap:3px; justify-content:center; }
.ical__dots i{ width:5px; height:5px; border-radius:50%; background:#a0a0a6; }
.ical__dayhead{ display:flex; align-items:flex-end; justify-content:space-between; gap:10px; padding:0 2px 10px; border-bottom:1px solid #ececf0; }
.ical__dayname{ margin:0; font-size:13px; font-weight:600; color:var(--ired); text-transform:capitalize; }
.ical__daytitle{ margin:2px 0 0; font-size:24px; font-weight:700; color:#1c1c1e; font-family:inherit; letter-spacing:-.01em; }
.ical__count{ font-size:13px; color:#8e8e93; padding-bottom:4px; }
.ical__scroll{ max-height:560px; overflow-y:auto; margin-top:6px; }
.ical__tl{ position:relative; margin:8px 0 4px; }
.ical__h{ position:absolute; left:0; right:0; height:0; border-top:1px solid #ececf0; }
.ical__h span{ position:absolute; left:0; top:-8px; width:46px; padding-right:6px; background:#fff; font-size:11.5px; color:#8e8e93; text-align:right; }
.ical__lane{ position:absolute; left:52px; right:0; top:0; bottom:0; cursor:copy; }
.ical__ev{ position:absolute; border:0; text-align:left; cursor:pointer; overflow:hidden; border-radius:6px; padding:4px 8px 4px 9px;
  background:rgba(176,137,74,.16); box-shadow:inset 3px 0 0 #b0894a; color:#5c4220; font:inherit; display:flex; flex-direction:column; gap:1px; }
.ical__ev b{ font-size:13px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ical__ev span{ font-size:11.5px; opacity:.85; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ical__ev:hover{ filter:brightness(.96); }
.ical__ev[data-s="new"],.ical__ev[data-s="contacted"]{ background:rgba(0,122,255,.12); box-shadow:inset 3px 0 0 #007aff; color:#0a4a96; }
.ical__ev[data-s="done"]{ background:rgba(52,199,89,.13); box-shadow:inset 3px 0 0 #34c759; color:#1f6b33; }
.ical__now{ position:absolute; left:46px; right:0; height:0; border-top:2px solid var(--ired); pointer-events:none; z-index:2; }
.ical__now::before{ content:""; position:absolute; left:-5px; top:-6px; width:10px; height:10px; border-radius:50%; background:var(--ired); }
.ical__now span{ position:absolute; left:-46px; top:-8px; width:40px; text-align:right; font-size:11px; font-weight:600; color:var(--ired); background:#fff; }
.ical__hint{ margin:10px 2px 0; font-size:12px; color:#8e8e93; }
@media (max-width:860px){ .ical{ grid-template-columns:1fr; } .ical__month{ max-width:none; } }

/* panel: product photo resolution */
.img-check__bad{ color:#b04a3a; }
.img-check__ok{ color:#3c7a4a; }

/* catalog pagination */
.shop-pager{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px; margin:34px 0 10px; }
.shop-pager .pg{ min-width:40px; height:40px; padding:0 12px; border-radius:100px; border:1px solid var(--line);
  background:var(--white); color:var(--ink); font:inherit; font-size:14.5px; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center; transition:border-color .15s, background .15s; }
.shop-pager .pg:hover{ border-color:var(--gold-lt); }
.shop-pager .pg.is-on{ background:var(--ink); color:var(--cream); border-color:var(--ink); cursor:default; }
.shop-pager .pg--gap{ border:0; background:none; cursor:default; min-width:20px; padding:0; }
.shop-pager .pg.is-off{ opacity:.35; cursor:default; }

/* ================= Page content — editor with preview (23.10.2026) ================= */
.ct-wrap{ display:grid; grid-template-columns:220px minmax(380px,1fr) minmax(360px,1.05fr); gap:18px; align-items:start; margin-top:18px; padding-bottom:90px; }
.ct-parts{ position:sticky; top:16px; display:flex; flex-direction:column; gap:4px; background:var(--white); border-radius:var(--r); box-shadow:var(--sh-s); padding:8px; max-height:calc(100vh - 32px); overflow:auto; }
.ct-part{ display:grid; grid-template-columns:24px 1fr; grid-template-rows:auto auto; column-gap:8px; text-align:left; border:0; background:none; border-radius:8px; padding:9px 10px; cursor:pointer; font:inherit; color:var(--ink); }
.ct-part:hover{ background:var(--blush-2); }
.ct-part.is-on{ background:var(--ink); color:var(--cream); }
.ct-part__n{ grid-row:1 / span 2; width:22px; height:22px; border-radius:50%; background:var(--blush-2); color:var(--ink-2); font-size:11.5px; display:flex; align-items:center; justify-content:center; margin-top:1px; }
.ct-part.is-on .ct-part__n{ background:var(--gold); color:var(--white); }
.ct-part__t{ font-size:14px; line-height:1.3; }
.ct-part__s{ font-size:11.5px; color:#3c7a4a; }
.ct-part.is-hidden .ct-part__s{ color:#b04a3a; font-weight:600; }
.ct-part.is-hidden .ct-part__t{ opacity:.6; text-decoration:line-through; }
.ct-part.is-on .ct-part__s{ color:var(--gold-pale); }
.ct-dot{ display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--gold-deep); vertical-align:middle; margin-left:4px; }
.ct-editor{ background:var(--white); border-radius:var(--r); box-shadow:var(--sh-s); padding:22px 24px 26px; min-width:0; }
.ct-head{ display:flex; justify-content:space-between; gap:14px; align-items:flex-start; margin-bottom:16px; }
.ct-head__k{ margin:0; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft); }
.ct-head__t{ margin:4px 0 6px; font-family:var(--f-disp); font-weight:400; font-size:30px; line-height:1.1; }
.ct-head__d{ margin:0; color:var(--ink-2); font-size:14.5px; line-height:1.5; }
.ct-box{ border-radius:10px; padding:14px 16px; margin:0 0 16px; background:#eef6ef; }
.ct-vis.is-off{ background:#fbecea; }
.ct-link{ background:var(--blush-2); }
.ct-h{ margin:22px 0 10px; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft); font-weight:500; }
.ct-imgs{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:12px; }
.ct-img{ border:1px solid var(--line); border-radius:10px; padding:8px; display:flex; flex-direction:column; gap:8px; }
.ct-img.is-changed{ border-color:var(--gold-deep); box-shadow:0 0 0 2px rgba(184,137,46,.18); }
.ct-img__p{ aspect-ratio:4/3; border-radius:6px; overflow:hidden; background:var(--blush-2); display:flex; align-items:center; justify-content:center; color:var(--ink-soft); font-size:13px; }
.ct-img__p img{ width:100%; height:100%; object-fit:cover; display:block; }
.ct-img__l{ margin:0; font-size:13px; line-height:1.35; }
.ct-langs{ margin:0 0 6px; }
.ct-langhint{ margin:6px 0 4px; }
.ct-group{ border-top:1px solid var(--line); padding-top:14px; margin-top:16px; }
.ct-group__t{ margin:0 0 10px; font-size:16px; font-weight:500; }
.ct-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px 14px; }
.ct-grid--3{ grid-template-columns:repeat(3,1fr); }
.ct-field--wide{ grid-column:1 / -1; }
.ct-field .field__i{ font-size:15px; }
.ct-field.is-changed .field__i{ border-color:var(--gold-deep); background:#fffaf0; }
.ct-pl{ display:block; margin-top:4px; font-size:12px; color:var(--ink-soft); line-height:1.4; }
.ct-nav{ display:flex; justify-content:space-between; gap:10px; margin-top:24px; padding-top:16px; border-top:1px solid var(--line); }
.ct-switch{ display:flex; align-items:center; gap:12px; cursor:pointer; font-size:14.5px; grid-column:1 / -1; }
.ct-switch input{ position:absolute; opacity:0; width:1px; height:1px; }
.ct-switch__ui{ flex:none; width:44px; height:26px; border-radius:100px; background:#cfc6c1; position:relative; transition:background .2s; }
.ct-switch__ui::after{ content:""; position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.2); transition:transform .2s; }
.ct-switch input:checked + .ct-switch__ui{ background:#3c7a4a; }
.ct-switch input:checked + .ct-switch__ui::after{ transform:translateX(18px); }
.ct-switch input:focus-visible + .ct-switch__ui{ outline:2px solid var(--gold-deep); outline-offset:2px; }
.ct-switch--lg span b{ display:block; font-size:15px; }
.ct-switch--lg span small{ display:block; color:var(--ink-2); font-size:13px; margin-top:2px; }
.ct-prev{ position:sticky; top:16px; background:var(--white); border-radius:var(--r); box-shadow:var(--sh-s); overflow:hidden; display:flex; flex-direction:column; height:calc(100vh - 32px); }
.ct-prev__bar{ display:flex; justify-content:space-between; align-items:center; padding:9px 12px; font-size:13px; border-bottom:1px solid var(--line); }
.ct-prev__bar small{ color:var(--ink-soft); }
.ct-prev__dev button{ border:1px solid var(--line); background:none; border-radius:6px; padding:3px 7px; cursor:pointer; font-size:14px; }
.ct-prev__dev button.is-on{ background:var(--ink); border-color:var(--ink); }
.ct-prev__wrap{ position:relative; flex:1; overflow:hidden; background:#ece6e2; }
.ct-prev__wrap iframe{ position:absolute; top:0; left:0; border:0; transform-origin:0 0; background:#fff; }
.ct-save{ position:fixed; left:50%; bottom:18px; transform:translateX(-50%); z-index:300; display:flex; align-items:center; gap:12px; background:var(--ink); color:var(--cream); padding:10px 12px 10px 20px; border-radius:100px; box-shadow:0 10px 40px rgba(43,34,32,.35); }
.ct-save .btn--outline{ color:var(--cream); border-color:rgba(255,255,255,.35); }
.ct-save__t{ font-size:14px; }
.ct-save__t b{ color:var(--gold-pale); }
.adm-toast{ position:fixed; left:50%; top:20px; transform:translate(-50%,-20px); opacity:0; z-index:900; background:#2f6b3f; color:#fff; padding:11px 20px; border-radius:100px; font-size:14px; transition:all .3s; pointer-events:none; }
.adm-toast.is-on{ opacity:1; transform:translate(-50%,0); }
/* photo picker */
.mp-up{ display:flex; flex-direction:column; gap:4px; align-items:center; text-align:center; border:2px dashed var(--gold-lt); border-radius:12px; padding:22px; cursor:pointer; background:#fffaf0; }
.mp-up b{ font-size:16px; }
.mp-up span{ font-size:13px; color:var(--ink-2); }
.mp-msg{ font-weight:600; color:var(--gold-deep)!important; }
.mp-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(118px,1fr)); gap:10px; max-height:46vh; overflow:auto; padding:2px; }
.mp-item{ position:relative; border:2px solid transparent; border-radius:8px; padding:0; background:var(--blush-2); cursor:pointer; overflow:hidden; display:flex; flex-direction:column; }
.mp-item img, .mp-item video{ width:100%; aspect-ratio:1; object-fit:cover; display:block; }
.mp-item:hover{ border-color:var(--gold-lt); }
.mp-item.is-on{ border-color:var(--gold-deep); }
.mp-n{ font-size:10.5px; padding:4px 5px; color:var(--ink-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mp-vid{ position:absolute; top:6px; left:6px; background:rgba(0,0,0,.6); color:#fff; font-size:11px; padding:2px 6px; border-radius:100px; }
/* gallery in the panel */
.gal-adm{ display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:14px; }
.gal-adm__c{ background:var(--white); border-radius:var(--r); box-shadow:var(--sh-s); overflow:hidden; display:flex; flex-direction:column; }
.gal-adm__c.is-off{ opacity:.6; }
.gal-adm__img{ position:relative; aspect-ratio:4/3; background:var(--blush-2); overflow:hidden; }
.gal-adm__img img, .gal-adm__img video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.gal-adm__badge{ position:absolute; top:8px; left:8px; background:rgba(0,0,0,.62); color:#fff; font-size:11.5px; padding:3px 8px; border-radius:100px; }
.gal-adm__badge--off{ left:auto; right:8px; background:#b04a3a; }
.gal-adm__no{ position:absolute; bottom:8px; left:8px; width:26px; height:26px; border-radius:50%; background:var(--white); font-size:12.5px; display:flex; align-items:center; justify-content:center; box-shadow:var(--sh-s); }
.gal-adm__b{ padding:10px 12px 4px; flex:1; }
.gal-adm__t{ margin:0 0 6px; font-size:14.5px; }
.gal-adm__tags{ display:flex; flex-wrap:wrap; gap:4px; }
.gal-adm__tag{ font-size:11px; padding:2px 7px; border-radius:100px; background:var(--blush-2); }
.gal-adm__a{ display:flex; gap:5px; padding:10px 12px 12px; flex-wrap:wrap; }
.gal-adm__a .btn{ padding:6px 10px; }
.gal-ed{ display:grid; grid-template-columns:minmax(220px,1fr) 1.3fr; gap:20px; }
.gal-ed__m{ display:flex; flex-direction:column; gap:10px; }
.gal-ed__p{ aspect-ratio:4/5; border-radius:10px; overflow:hidden; background:var(--blush-2); display:flex; align-items:center; justify-content:center; color:var(--ink-soft); font-size:14px; }
.gal-ed__p img, .gal-ed__p video{ width:100%; height:100%; object-fit:cover; display:block; }
.gal-ed__f{ display:flex; flex-direction:column; gap:12px; min-width:0; }
.gal-ed__more summary{ cursor:pointer; font-size:13.5px; color:var(--ink-2); margin:8px 0; }
.gal-sz{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.gal-sz__o{ border:1px solid var(--line); border-radius:10px; padding:10px; display:flex; flex-direction:column; align-items:center; gap:4px; cursor:pointer; font-size:13px; text-align:center; }
.gal-sz__o input{ position:absolute; opacity:0; }
.gal-sz__o:has(input:checked){ border-color:var(--gold-deep); background:#fffaf0; box-shadow:0 0 0 2px rgba(184,137,46,.18); }
.gal-sz__o small{ color:var(--ink-soft); font-size:11.5px; }
.gal-sz__i{ display:block; background:var(--gold-lt); border-radius:3px; }
.gal-sz__i--normal{ width:22px; height:22px; }
.gal-sz__i--wide{ width:46px; height:22px; }
.gal-sz__i--tall{ width:22px; height:46px; }
@media (max-width:1280px){
  .ct-wrap{ grid-template-columns:200px minmax(0,1fr); }
  .ct-prev{ grid-column:1 / -1; position:relative; top:0; height:70vh; }
}
@media (max-width:760px){
  .ct-wrap{ grid-template-columns:minmax(0,1fr); }
  .ct-parts{ position:relative; top:0; flex-direction:row; overflow-x:auto; max-height:none; }
  .ct-part{ flex:none; }
  .ct-grid, .ct-grid--3, .gal-ed{ grid-template-columns:minmax(0,1fr); }
  .ct-head{ flex-direction:column; }
  .ct-prev{ height:60vh; }
  .ct-save{ left:12px; right:12px; transform:none; border-radius:16px; flex-wrap:wrap; justify-content:center; }
}

/* ================= Settings (23.10.2026) ================= */
.st-nav{ position:sticky; top:0; z-index:20; display:flex; flex-wrap:wrap; gap:6px; padding:10px 0 12px; margin-bottom:6px; background:var(--cream); }
.st-nav a{ padding:7px 13px; border-radius:100px; border:1px solid var(--line); background:var(--white); color:var(--ink); font-size:13.5px; text-decoration:none; }
.st-nav a:hover{ border-color:var(--gold-lt); }
.st-card{ background:var(--white); border-radius:var(--r); box-shadow:var(--sh-s); padding:20px 24px 22px; margin:0 0 16px; scroll-margin-top:70px; display:flex; flex-direction:column; gap:14px; }
.st-card__h{ display:flex; gap:14px; align-items:flex-start; }
.st-card__i{ flex:none; width:40px; height:40px; border-radius:10px; background:var(--blush-2); display:flex; align-items:center; justify-content:center; font-size:19px; }
.st-card__h h2{ margin:0; font-family:var(--f-disp); font-weight:400; font-size:24px; line-height:1.15; }
.st-card__h p{ margin:4px 0 0; color:var(--ink-2); font-size:14px; line-height:1.5; }
.st-h{ margin:8px 0 -2px; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft); font-weight:500; }
.st-sw{ padding:12px 14px; border-radius:10px; background:var(--blush-2); }
.st-sw span b{ display:block; font-weight:500; font-size:15px; }
.st-sw span small{ display:block; color:var(--ink-2); font-size:13px; margin-top:2px; }
.st-dep{ margin:-4px 0 0 20px; padding:4px 0 4px 18px; border-left:3px solid var(--gold-lt); display:flex; flex-direction:column; gap:12px; }
.st-more{ border:1px dashed var(--line); border-radius:10px; padding:8px 14px; }
.st-more summary{ cursor:pointer; font-size:13.5px; color:var(--ink-2); padding:4px 0; }
.st-more[open] summary{ margin-bottom:10px; }
.st-status{ margin:0; font-size:14px; }
.st-warn{ margin:0 0 14px; padding:12px 16px; border-radius:10px; background:#fbecea; color:#8a2f22; font-size:14.5px; line-height:1.5; }
.st-money{ position:relative; display:block; }
.st-money .field__i{ padding-right:38px; }
.st-money i{ position:absolute; right:13px; top:50%; transform:translateY(-50%); font-style:normal; color:var(--ink-soft); font-size:14px; }
#settingsBox .adm-card{ box-shadow:none; padding:0; }
@media (max-width:760px){ .st-dep{ margin-left:6px; padding-left:12px; } .st-card{ padding:16px; } }

/* Gdy nad stroną jest przewijany pasek (34 px), nagłówek jest o tyle niżej —
   górny odstęp strony sklepu i karty produktu musi to uwzględniać. */
body:not(.mq-off) .shop-hero{ padding-top:calc(clamp(90px,10vw,136px) + 34px); }
body:not(.mq-off) .pview{ padding-top:calc(clamp(118px,13vw,150px) + 34px); }

/* Checkout identity choice precedes all delivery and contact fields. */
.co-entry { padding:12px 0 25px; }
.co-entry h3 { font-family:var(--f-disp); font-size:30px; line-height:1.2; font-weight:400; margin:0 0 24px; }
.co-entry__choices { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.co-entry__option { display:flex; flex-direction:column; gap:22px; padding:24px; background:#fffcf8; border:1px solid var(--line); border-radius:7px; }
.co-entry__option p { margin:0; font-size:14px; line-height:1.65; color:var(--ink-soft); }
.co-entry__option .btn { margin-top:auto; white-space:normal; min-height:46px; line-height:1.4; }
.co-entry__checking { font-size:12px; color:var(--ink-soft); margin-top:18px; }
.co-entry__notice { font-size:13px; line-height:1.6; padding:12px 16px; background:#f1eadf; border-radius:5px; margin:0 0 20px; }
@media(max-width:600px) { .co-entry__choices { grid-template-columns:1fr; gap:14px; } .co-entry__option { padding:20px; gap:16px; } .co-entry h3 { font-size:28px; } }

/* Account actions stay anchored to the shop header. */
.account-menu{position:relative}
.account-menu__trigger{transition:background .18s,color .18s}
.account-menu__trigger[aria-expanded=true]{background:#f2ece1;color:#785a26}
.account-menu__panel{position:absolute;right:0;top:calc(100% + 18px);width:330px;max-width:calc(100vw - 32px);padding:26px;background:#fffdf8;color:#292720;border:1px solid #e7dfcf;border-radius:18px;box-shadow:0 18px 55px #30271124;z-index:110;transform-origin:top right;animation:account-open .18s ease-out}
.account-menu__panel:focus{outline:none}
.account-menu__panel::before{content:'';position:absolute;top:-7px;right:15px;width:12px;height:12px;background:#fffdf8;border-left:1px solid #e7dfcf;border-top:1px solid #e7dfcf;transform:rotate(45deg)}
.account-menu__heading{padding-right:20px;border-bottom:1px solid #e7dfcf;padding-bottom:18px}
.account-menu__heading>span{font-size:12px;color:#766c5a}
.account-menu__heading h2{font-family:inherit;font-size:22px;line-height:1.25;font-weight:500;margin:7px 0 0;overflow-wrap:anywhere}
.account-menu__close{position:absolute;right:12px;top:10px;border:0;background:none;font-size:26px;color:#766c5a;cursor:pointer;width:32px;height:32px}
.account-menu__panel p{font-size:14px;line-height:1.6;margin:18px 0;color:#655d50}
.account-menu__content{animation:account-open .16s ease-out}
.account-menu__content nav{display:grid;margin:8px 0 16px}
.account-menu__content nav a{display:flex;justify-content:space-between;padding:13px 0;color:inherit;text-decoration:none;border-bottom:1px solid #ede7dc;font-size:14px;transition:color .15s,padding .15s}
.account-menu__content nav a:hover{color:#8b672b;padding-left:4px}
.account-menu__primary{display:block;text-align:center;background:#292720;color:#fffdf8!important;text-decoration:none;padding:13px;border-radius:8px;font-size:14px}
.account-menu__register,.account-menu__logout{display:block;text-align:center;width:100%;margin-top:14px;background:none;border:0;color:#715a31;text-decoration:underline;text-underline-offset:4px;font:inherit;font-size:13px;cursor:pointer}
.account-menu__logout:disabled{opacity:.5;cursor:wait}
.account-menu__panel :is(a,button):focus-visible{outline:2px solid #8b672b;outline-offset:4px}
@keyframes account-open{from{opacity:0;transform:translateY(-7px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:600px){.account-menu__panel{position:fixed;top:calc(var(--hdr-h,72px) + 12px);right:16px;width:330px;max-height:calc(100dvh - 110px);overflow:auto}.account-menu__panel::before{display:none}}
@media(prefers-reduced-motion:reduce){.account-menu__panel,.account-menu__content{animation:none}.account-menu__trigger,.account-menu__content nav a{transition:none}}
