/* ============ ПОКУПКА НА САЙТЕ (корзина + оформление) ============
   Корзина живёт ТОЛЬКО на сайте: в приложении её нет.
   Стиль — Acid Night: фон #0A0A0F, салат #B8FF3C, оранж #FF5C1F. */

.ns-cart-btn{position:fixed;left:16px;bottom:16px;z-index:80;display:none;align-items:center;gap:8px;
  background:#B8FF3C;color:#0A0A0F;border:none;border-radius:999px;font:inherit;font-weight:900;font-size:14px;
  padding:12px 18px;cursor:pointer;box-shadow:0 12px 30px -10px rgba(184,255,60,.55)}
.ns-cart-btn.on{display:inline-flex}
.ns-cart-btn span{font-family:ui-monospace,Menlo,monospace;font-size:12px}

.ns-back{position:fixed;inset:0;background:rgba(5,5,8,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  z-index:90;opacity:0;transition:opacity .3s}
.ns-back.on{opacity:1}
.ns-back[hidden],.ns-panel[hidden]{display:none!important}

.ns-panel{position:fixed;z-index:91;left:0;right:0;bottom:0;max-height:88vh;background:#0E0E13;
  border:1px solid #222;border-bottom:none;border-radius:20px 20px 0 0;transform:translateY(105%);opacity:.6;
  transition:transform .45s cubic-bezier(.22,1.15,.3,1),opacity .3s;display:flex;flex-direction:column}
.ns-panel.on{transform:translateY(0);opacity:1}
@media(min-width:768px){
  .ns-panel{left:auto;top:0;bottom:0;width:480px;max-height:none;border-radius:20px 0 0 20px;
    border-bottom:1px solid #222;transform:translateX(105%)}
  .ns-panel.on{transform:translateX(0)}
}
.ns-scroll{overflow-y:auto;overscroll-behavior:contain}
.ns-x{position:absolute;top:12px;right:12px;z-index:3;width:34px;height:34px;border-radius:50%;border:none;
  background:rgba(0,0,0,.55);color:#fff;font-size:15px;cursor:pointer}
.ns-ph{height:200px;background:#101014 center/cover no-repeat}
.ns-body{padding:18px 18px 26px;color:#FAFAFA}
.ns-body h2{font-size:22px;font-weight:900;margin:0 0 6px}
.ns-cat{display:inline-block;background:#FF5C1F;color:#fff;font-size:10px;font-weight:800;padding:3px 10px;
  border-radius:999px;margin-bottom:8px}
.ns-meta{font-size:13px;color:#9a9a9a;margin:0 0 10px}
.ns-desc{font-size:14px;line-height:1.55;color:#cfcfcf;margin:0 0 14px;white-space:pre-line}
.ns-price{font-size:22px;font-weight:900;color:#B8FF3C;margin:6px 0 14px}
.ns-price small{font-size:13px;color:#9a9a9a;font-weight:600}

.ns-line{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #1c1c22}
.ns-line b{font-weight:800;font-size:14px;flex:1;line-height:1.3}
.ns-line .ns-sum{color:#B8FF3C;font-weight:900;white-space:nowrap;font-size:14px}
.ns-qty{display:flex;align-items:center;gap:6px}
.ns-qty button{width:26px;height:26px;border-radius:8px;border:1px solid #2a2a33;background:#15151b;color:#fff;
  font:inherit;font-size:15px;line-height:1;cursor:pointer}
.ns-qty i{font-style:normal;min-width:18px;text-align:center;font-size:14px}
.ns-total{display:flex;justify-content:space-between;align-items:baseline;margin:14px 0 4px;font-weight:900;font-size:18px}
.ns-total span{color:#B8FF3C}
.ns-note{font-size:12px;color:#8c877b;line-height:1.5;margin:0 0 14px}

.ns-form{display:flex;flex-direction:column;gap:10px}
.ns-form input{background:#15151b;border:1px solid #2a2a33;border-radius:12px;color:#fff;font:inherit;font-size:15px;
  padding:12px 14px;width:100%;box-sizing:border-box}
.ns-form input:focus{outline:none;border-color:#B8FF3C88}
/* Две галочки согласия в оформлении: обработка данных (обязательна) и письма
   (отдельно, снята по умолчанию). Разбор хранения клиентов, 19.08.2026. */
.ns-consent{display:flex;gap:10px;align-items:flex-start;color:#8c877b;font-size:13px;line-height:1.5}
.ns-consent input{width:18px;height:18px;flex:0 0 auto;margin-top:2px;accent-color:#B8FF3C}
.ns-consent a{color:#B8FF3C}
.ns-row{display:grid;grid-template-columns:1fr 96px;gap:10px}
.ns-btn{background:#B8FF3C;color:#0A0A0F;border:none;border-radius:14px;font:inherit;font-weight:900;font-size:16px;
  letter-spacing:.03em;padding:15px;cursor:pointer;width:100%}
.ns-btn:disabled{opacity:.6;cursor:wait}
.ns-btn2{background:transparent;color:#B8FF3C;border:1px solid #B8FF3C;border-radius:14px;font:inherit;font-weight:800;
  font-size:15px;padding:13px;cursor:pointer;width:100%;margin-top:10px}
.ns-err{color:#FF5C1F;font-size:13px;margin:8px 0 0}
.ns-ok-t{font-size:16px;font-weight:800;color:#B8FF3C;margin:8px 0 10px}
.ns-alt{display:block;text-align:center;font-weight:800;font-size:14px;padding:13px;border-radius:12px;
  text-decoration:none;margin-bottom:10px;border:1px solid #FF5C1F;color:#FF5C1F}
.ns-empty{color:#8c877b;font-size:14px;margin:10px 0 18px}
body.ns-lock{overflow:hidden}

/* 07.09.2026: корзины нет (решение владельца) — кнопки корзины не показываем, код остаётся на складе. */
.ns-cart-btn,.ns-cart-btn.on,.ns-btn2,.ns-mini .ns-mini-add{display:none!important}

/* кнопки «купить/в корзину» в списках */
.ns-mini{display:inline-flex;gap:8px;flex-wrap:wrap}
.ns-mini button{font:inherit;font-size:12px;font-weight:800;border-radius:10px;padding:7px 12px;cursor:pointer;border:none}
.ns-mini .ns-mini-buy{background:#B8FF3C;color:#0A0A0F}
.ns-mini .ns-mini-add{background:transparent;color:#B8FF3C;border:1px solid #B8FF3C55}

/* на страницах туров снизу висит своя панель — кнопку корзины приподнимаем */
body:has(.tour-cta-sticky) .ns-cart-btn{bottom:84px}
