/* Hack My Body — магазин косметики (/kosmetika): карточки, корзина, оформление брони.
   Цвета и шрифты — как в остальном сайте и окне записи (callback.css). */

/* ---------- карточки ---------- */
.sh-card{position:relative}
.sh-media{background:#fff}
.sh-noimg{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  background:radial-gradient(120% 120% at 100% 0%,rgba(87,194,240,.22) 0%,rgba(45,110,140,.10) 45%,rgba(12,34,48,0) 75%),#0c2230}
.sh-noimg:before{content:"";width:46%;aspect-ratio:220/26;background:url("../../brand/logo-wordmark.webp") center/contain no-repeat;opacity:.9}
.sh-noimg__name{max-width:80%;text-align:center;font-family:var(--font-detail),system-ui,sans-serif;font-weight:600;font-size:10.5px;
  letter-spacing:.2em;text-transform:uppercase;color:#8fd0ea}
.sh-hit{position:absolute;top:12px;left:12px;z-index:2;padding:6px 11px;border-radius:999px;background:#2d6e8c;color:#f4f6f8;
  font-family:var(--font-detail),system-ui,sans-serif;font-weight:600;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  box-shadow:0 8px 20px -8px rgba(45,110,140,.8)}
.sh-title{font-size:18px;line-height:1.22;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.sh-meta{line-height:1.5}
.sh-price{font-family:var(--font-detail),system-ui,sans-serif;font-weight:600;font-size:15px;letter-spacing:.01em;color:#11181f}
.sh-stock{color:#2d6e8c}
.sh-stock.is-order{color:#9a6b2f}
.sh-p{margin-top:.75rem}.sh-p:first-child{margin-top:0}
.sh-tabn{opacity:.6;margin-left:2px;font-size:.92em}
.sh-add.is-added{background:#0c2230}

/* ---------- панель над сеткой ---------- */
.sh-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px}
.sh-count{font-family:var(--font-detail),system-ui,sans-serif;font-weight:600;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(17,24,31,.62)}
.sh-sort{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;color:rgba(17,24,31,.62)}
.sh-sort select{min-height:40px;padding:0 34px 0 14px;border:1px solid rgba(17,24,31,.14);border-radius:999px;background:#fff;color:#11181f;font-size:13px;
  -webkit-appearance:none;appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%232d6e8c' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center}
.sh-sort select:focus{outline:none;border-color:#2d6e8c;box-shadow:0 0 0 4px rgba(45,110,140,.14)}

/* ---------- как получить ---------- */
.sh-steps{display:grid;gap:16px;list-style:none;margin:0;padding:0}
@media (min-width:768px){.sh-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}
.sh-step{position:relative;padding:24px 24px 26px;border:1px solid rgba(45,110,140,.25);border-radius:18px;background:#fff}
.sh-step__n{display:block;margin-bottom:14px;font-family:var(--font-heading),system-ui,sans-serif;font-weight:300;font-size:34px;line-height:1;color:#2d6e8c}
.sh-help{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;padding:22px 24px;border-radius:18px;background:#e9eef2}
.sh-help .t-body{max-width:56ch}

/* ---------- корзина в шапке ---------- */
.sh-headcart{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.2);color:#f4f6f8;
  transition:background .2s,border-color .2s}
.sh-headcart:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.35)}
.sh-headcart svg{width:20px;height:20px}
.sh-headcart__n{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#57c2f0;color:#0c2230;
  display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-detail),system-ui,sans-serif;font-weight:600;font-size:11px;line-height:1}
.sh-headcart__n[hidden]{display:none}
.sh-headcart.is-bump{animation:sh-bump .5s cubic-bezier(.2,.7,.2,1)}
@keyframes sh-bump{35%{transform:scale(1.14)}100%{transform:none}}

/* ---------- подсказка «добавлено» ---------- */
.sh-toast{position:fixed;left:50%;bottom:max(18px,env(safe-area-inset-bottom));z-index:70;display:flex;align-items:center;gap:14px;
  width:max-content;max-width:min(560px,calc(100% - 32px));padding:10px 10px 10px 20px;border-radius:999px;background:#0c2230;color:#f4f6f8;
  box-shadow:0 22px 50px -16px rgba(6,18,26,.8);opacity:0;transform:translate(-50%,16px);transition:opacity .3s,transform .35s cubic-bezier(.2,.7,.2,1)}
.sh-toast.is-in{opacity:1;transform:translate(-50%,0)}
.sh-toast[hidden]{display:none}
.sh-toast__t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;color:rgba(244,246,248,.86)}
.sh-toast__b{flex:none;min-height:42px;padding:0 18px;border:0;border-radius:999px;background:#2d6e8c;color:#f4f6f8;cursor:pointer;
  font-family:var(--font-detail),system-ui,sans-serif;font-weight:600;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase}
.sh-toast__b:hover{background:#235774}
.sh-toast__b span{letter-spacing:.02em;text-transform:none;font-weight:400}
@media (max-width:640px){
  .sh-toast{left:16px;right:84px;width:auto;max-width:none;transform:translateY(16px);border-radius:20px;padding:10px 10px 10px 16px}
  .sh-toast.is-in{transform:none}
  .sh-toast__b span{display:none}
}

/* ---------- корзина: справа на компьютере, снизу на телефоне ---------- */
html.sh-lock,html.sh-lock body{overflow:hidden}
.sh-cart[hidden]{display:none}
.sh-cart{position:fixed;inset:0;z-index:1000}
.sh-cart__bg{position:absolute;inset:0;background:rgba(6,18,26,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .3s}
.sh-cart.is-open .sh-cart__bg{opacity:1}
.sh-cart__box{position:absolute;top:0;right:0;bottom:0;width:min(460px,100%);display:flex;flex-direction:column;background:#f4f6f8;outline:none;
  box-shadow:-40px 0 100px -30px rgba(0,0,0,.55);transform:translateX(100%);transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.sh-cart.is-open .sh-cart__box{transform:none}
@media (max-width:640px){
  .sh-cart__box{top:auto;left:0;width:100%;max-height:92svh;border-radius:24px 24px 0 0;transform:translateY(100%)}
}
.sh-cart__top{position:relative;flex:none;padding:26px 64px 22px 28px;background:#0c2230;color:#f4f6f8;overflow:hidden}
@media (max-width:640px){.sh-cart__top{border-radius:24px 24px 0 0;padding:22px 60px 18px 22px}}
.sh-cart__top:before{content:"";position:absolute;inset:0;background:radial-gradient(120% 140% at 100% 0%,rgba(87,194,240,.22) 0%,rgba(45,110,140,.08) 45%,rgba(12,34,48,0) 75%)}
.sh-cart__e{position:relative;font-family:var(--font-detail),system-ui,sans-serif;font-weight:600;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:#8fd0ea}
.sh-cart__t{position:relative;margin-top:8px;font-family:var(--font-heading),system-ui,sans-serif;font-weight:300;font-size:28px;line-height:1.08}
.sh-cart__s{position:relative;margin-top:8px;font-size:14px;line-height:1.5;color:rgba(244,246,248,.78)}
.sh-cart__x{position:absolute;top:14px;right:14px;z-index:3;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;
  background:rgba(255,255,255,.1);color:#f4f6f8;cursor:pointer;transition:background .2s,transform .2s}
.sh-cart__x:hover{background:rgba(255,255,255,.2);transform:rotate(90deg)}
.sh-cart__main{flex:1 1 auto;overflow:auto;overscroll-behavior:contain;padding:8px 28px 28px}
@media (max-width:640px){.sh-cart__main{padding:6px 20px calc(22px + env(safe-area-inset-bottom))}}

.sh-lines{list-style:none;margin:0;padding:0}
.sh-line{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(17,24,31,.08)}
.sh-line__img{width:56px;height:56px;border-radius:12px;background:#fff center/contain no-repeat;border:1px solid rgba(17,24,31,.06)}
.sh-line__img.is-empty{background:#0c2230 url("../../brand/logo-wordmark.webp") center/70% auto no-repeat}
.sh-line__t{font-size:14px;line-height:1.35;color:#11181f;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.sh-line__p{margin-top:4px;font-size:12.5px;color:rgba(17,24,31,.62)}
.sh-line__p b{color:#11181f;font-weight:600}
.sh-line__p .is-order{color:#9a6b2f}
.sh-qty{display:flex;align-items:center;gap:2px;border:1px solid rgba(17,24,31,.14);border-radius:999px;background:#fff}
.sh-qty button{width:34px;height:34px;border:0;border-radius:50%;background:none;color:#2d6e8c;font-size:18px;line-height:1;cursor:pointer}
.sh-qty button:hover{background:rgba(45,110,140,.08)}
.sh-qty span{min-width:20px;text-align:center;font-size:14px;font-variant-numeric:tabular-nums}
.sh-line__rm{grid-column:2/4;justify-self:start;margin-top:-6px;padding:0;border:0;background:none;color:rgba(17,24,31,.5);font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.sh-line__rm:hover{color:#c0583b}
.sh-empty{padding:28px 0 6px;color:rgba(17,24,31,.62);font-size:15px}
.sh-total{display:flex;align-items:baseline;justify-content:space-between;padding:18px 0 4px;font-size:14px;color:rgba(17,24,31,.62)}
.sh-total b{font-family:var(--font-heading),system-ui,sans-serif;font-weight:400;font-size:26px;color:#11181f}

.sh-form{margin-top:6px}
.sh-l{display:block;margin:18px 0 8px;font-family:var(--font-detail),system-ui,sans-serif;font-weight:600;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:#5f6f79}
.sh-opt{font-weight:400;letter-spacing:.04em;text-transform:none;color:#8a979f}
.sh-in{display:block;width:100%;height:54px;padding:0 18px;border:1px solid rgba(17,24,31,.16);border-radius:14px;background:#fff;color:#11181f;font-size:16px;outline:none;
  transition:border-color .2s,box-shadow .2s}
.sh-ta{height:auto;min-height:74px;padding:14px 18px;resize:vertical;font-family:inherit;line-height:1.45}
.sh-in::placeholder{color:#a3aeb5}
.sh-in:focus{border-color:#2d6e8c;box-shadow:0 0 0 4px rgba(45,110,140,.14)}
.sh-in.is-bad{border-color:#c0583b;box-shadow:0 0 0 4px rgba(192,88,59,.12)}
.sh-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sh-cons{display:flex;gap:11px;align-items:flex-start;margin-top:18px;cursor:pointer;font-size:12.5px;line-height:1.5;color:#4a5a63}
.sh-cons input{flex:none;width:20px;height:20px;margin-top:1px;accent-color:#2d6e8c}
.sh-cons a{color:#2d6e8c;text-decoration:underline;text-underline-offset:2px}
.sh-note{margin-top:14px;padding:12px 14px;border-radius:12px;background:rgba(192,88,59,.08);color:#a8412c;font-size:13.5px;line-height:1.45}
.sh-send{display:flex;align-items:center;justify-content:center;width:100%;min-height:58px;margin-top:18px;border:0;border-radius:999px;background:#2d6e8c;color:#f4f6f8;cursor:pointer;
  font-family:var(--font-detail),system-ui,sans-serif;font-weight:600;font-size:13px;letter-spacing:.16em;text-transform:uppercase;box-shadow:0 16px 34px -12px rgba(45,110,140,.7);
  transition:background .2s,transform .1s}
.sh-send:hover{background:#235774}.sh-send:active{transform:scale(.99)}
.sh-send[disabled]{opacity:.65;cursor:default}
.sh-fine{margin-top:12px;font-size:12px;line-height:1.5;color:#8a979f}

.sh-done{padding:26px 0 8px}
.sh-done__ok{width:52px;height:52px;border-radius:50%;background:#2d6e8c;color:#f4f6f8;display:flex;align-items:center;justify-content:center;font-size:26px}
.sh-done__t{margin-top:16px;font-family:var(--font-heading),system-ui,sans-serif;font-weight:300;font-size:28px;line-height:1.1;color:#11181f}
.sh-done__p{margin-top:10px;font-size:15px;line-height:1.55;color:#4a5a63}
.sh-done__n{margin-top:14px;display:inline-block;padding:8px 14px;border-radius:10px;background:#e9eef2;font-family:var(--font-detail),system-ui,sans-serif;font-weight:600;
  letter-spacing:.08em;color:#0c2230}
.sh-done__back,.sh-fail a{display:flex;align-items:center;justify-content:center;min-height:50px;margin-top:18px;border-radius:999px;border:1px solid rgba(17,24,31,.2);
  background:none;color:#11181f;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;cursor:pointer;width:100%}
.sh-fail a.is-main{background:#2d6e8c;border-color:#2d6e8c;color:#f4f6f8}

/* ---------- телефон: две карточки в ряд, компактно ---------- */
@media (max-width:639px){
  #sh-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  #sh-grid .sh-card>.flex-1{padding:12px 12px 14px}
  #sh-grid .t-eyebrow{font-size:9.5px;letter-spacing:.16em}
  #sh-grid .sh-title{margin-top:6px;font-size:14.5px;line-height:1.25}
  #sh-grid .sh-short{display:none}
  #sh-grid .sh-meta{margin-top:8px;font-size:11.5px}
  #sh-grid .sh-price{display:block;font-size:15px;margin-bottom:2px}
  #sh-grid .sh-meta .sh-sep{display:none}
  #sh-grid .sh-card .mt-auto{flex-direction:column-reverse;align-items:stretch;gap:2px;padding-top:12px}
  #sh-grid .sh-add{min-height:42px;padding:0 10px;font-size:11px;letter-spacing:.1em}
  #sh-grid .hmb-more{justify-content:center;min-height:36px;font-size:11px}
  #sh-grid .sh-noimg:before{width:62%}
  #sh-grid .sh-noimg__name{font-size:9px;letter-spacing:.16em}
  #sh-grid .sh-hit{top:8px;left:8px;padding:5px 8px;font-size:9.5px}
}

/* окно товара: белый фон вокруг квадратного фото (фото производителей и свои — на белом) */
.hmb-modal__media.is-photo{background:#fff!important}
.hmb-modal__media.is-photo:after{display:none}
.hmb-modal__media.is-photo .sh-media{background:#fff}
