/* Корзина магазина — одна на весь домен. Все классы с префиксом
   sc-, переменные — на своих элементах, чтобы не спорить со стилями
   лендингов. */
.sc-fab,.sc-scrim,.sc-drawer{
  --sc-bg:#fdfcf9;--sc-ink:#1d1b18;--sc-mute:#5f5a52;--sc-line:#e6e0d4;
  --sc-card:#fff;--sc-cta:#8a4b14;--sc-cta-dark:#713d10;
  --sc-ok:#7c4412;--sc-ok-soft:#f3ede8;--sc-hint:#f3ece2;--sc-err:#9a3b2c;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;box-sizing:border-box;
}
.sc-drawer *,.sc-drawer *::before,.sc-drawer *::after{box-sizing:border-box}

.sc-fab{position:fixed;top:12px;right:12px;z-index:9998;width:48px;height:48px;border-radius:50%;
  border:1px solid var(--sc-line);background:var(--sc-bg);color:var(--sc-ink);font-size:22px;line-height:1;
  display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.12)}
.sc-fab[hidden]{display:none}
.sc-fab.sc-in-slot{position:relative;top:auto;right:auto;box-shadow:none}
.sc-fab:focus-visible,.sc-drawer button:focus-visible,.sc-drawer a:focus-visible,.sc-drawer input:focus-visible{outline:3px solid #caae95;outline-offset:2px}
.sc-count{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;
  background:var(--sc-cta);color:#fff;font-size:12px;font-weight:700;line-height:20px;text-align:center}
.sc-count[hidden]{display:none}

.sc-scrim{position:fixed;inset:0;z-index:9999;background:rgba(20,18,15,.45);opacity:0;pointer-events:none;transition:opacity .2s}
.sc-scrim.on{opacity:1;pointer-events:auto}

.sc-drawer{position:fixed;top:0;right:0;bottom:0;z-index:10000;width:min(440px,100%);height:100%;
  background:var(--sc-bg);color:var(--sc-ink);display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .25s ease,box-shadow .25s ease}
.sc-drawer.on{transform:none;box-shadow:-8px 0 32px rgba(0,0,0,.15)}
@media (prefers-reduced-motion:reduce){.sc-drawer,.sc-scrim{transition:none}}

.sc-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--sc-line)}
.sc-head h2{margin:0;font-family:Fraunces,Georgia,serif;font-size:24px;font-weight:600}
.sc-x{width:48px;height:48px;margin-right:-12px;border:0;background:none;font-size:28px;line-height:1;color:var(--sc-ink);cursor:pointer}

.sc-body{flex:1;overflow-y:auto;padding:16px 20px;-webkit-overflow-scrolling:touch}
.sc-empty{text-align:center;padding:48px 8px;color:var(--sc-mute);font-size:17px;line-height:1.5}
.sc-empty .sc-empty-ic{font-size:44px;display:block;margin-bottom:12px}
.sc-empty a{color:var(--sc-cta);font-weight:600}
.sc-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.sc-line{display:flex;align-items:center;gap:14px;padding:12px;border:1px solid var(--sc-line);border-radius:14px;background:var(--sc-card)}
.sc-line img{width:64px;height:88px;object-fit:contain;flex:none}
/* набор одной строкой: обложки его товаров внахлёст на месте одной обложки */
.sc-line .sc-covers{position:relative;flex:none;width:64px;height:88px}
.sc-line .sc-covers img{position:absolute;width:46px;height:64px}
.sc-line .sc-covers img:first-child{left:0;top:0}
.sc-line .sc-covers img:last-child{right:0;bottom:0}
.sc-line-t{flex:1;min-width:0}
.sc-line-t b{display:block;font-size:17px;line-height:1.3}
.sc-line-t span{display:block;color:var(--sc-mute);font-size:15px;margin-top:4px}
.sc-rm{width:48px;height:48px;flex:none;border:0;background:none;font-size:24px;color:var(--sc-mute);cursor:pointer}

.sc-lock{margin-top:16px;padding:12px 14px;border-radius:12px;background:var(--sc-ok-soft);color:var(--sc-ok);font-size:15px;line-height:1.45}
.sc-lock b{font-variant-numeric:tabular-nums}
.sc-lock[hidden],.sc-hints:empty{display:none}
.sc-hints{margin-top:12px;display:flex;flex-direction:column;gap:10px}
.sc-hint{padding:12px 14px;border:1px solid var(--sc-line);border-radius:12px;background:var(--sc-hint);font-size:15px;line-height:1.5}
.sc-hint button{border:0;background:none;padding:0;min-height:0;font:inherit;font-weight:700;color:var(--sc-cta);text-decoration:underline;cursor:pointer}
.sc-note{margin-top:12px;color:var(--sc-err);font-size:15px}
.sc-note:empty{display:none}

.sc-foot{border-top:1px solid var(--sc-line);padding:14px 20px calc(14px + env(safe-area-inset-bottom))}
.sc-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:16px;color:var(--sc-mute);padding:3px 0}
.sc-row.sc-save{color:var(--sc-ok);font-weight:600}
.sc-row.sc-save[hidden]{display:none}
.sc-row.sc-total{color:var(--sc-ink);font-size:20px;font-weight:700;border-top:1px dashed var(--sc-line);margin-top:6px;padding-top:10px}
.sc-checkout{width:100%;min-height:56px;margin-top:12px;border:0;border-radius:999px;background:var(--sc-cta);color:#fff;
  font:700 18px/1.2 Inter,system-ui,sans-serif;cursor:pointer;box-shadow:0 6px 18px rgba(113,61,16,.25)}
.sc-checkout:hover{background:var(--sc-cta-dark)}
.sc-checkout:disabled{opacity:.5;cursor:default;box-shadow:none}
.sc-checkout[hidden]{display:none}
.sc-trust{margin:10px 0 0;text-align:center;color:var(--sc-mute);font-size:13px}

.sc-pay[hidden],.sc-cart[hidden]{display:none}
.sc-back{border:0;background:none;padding:0;min-height:44px;font:600 15px Inter,system-ui,sans-serif;color:var(--sc-cta);cursor:pointer}
.sc-pay label{display:block;margin:14px 0 6px;font-size:15px;font-weight:600}
.sc-pay input{width:100%;min-height:48px;padding:10px 14px;border:1px solid #cfc7b8;border-radius:10px;font:16px Inter,system-ui,sans-serif;background:#fff;color:var(--sc-ink)}
.sc-promo-toggle{margin-top:10px;border:0;background:none;padding:0;min-height:44px;font:15px Inter,system-ui,sans-serif;color:var(--sc-mute);text-decoration:underline;cursor:pointer}
.sc-promo-toggle[hidden],.sc-promo[hidden]{display:none}
.sc-methods{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.sc-methods button{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:12px 16px;border:1px solid #cfc7b8;border-radius:12px;
  background:#fff;color:var(--sc-ink);font:600 16px Inter,system-ui,sans-serif;cursor:pointer;text-align:left}
.sc-methods button:hover{border-color:var(--sc-cta)}
.sc-methods button:disabled{opacity:.6;cursor:default}
.sc-methods .sc-ic{width:24px;height:24px;flex:none;display:inline-flex}
.sc-methods .sc-ic svg{width:24px;height:24px}
.sc-upd{margin-top:14px;padding:12px 14px;border-radius:12px;background:var(--sc-ok-soft);color:var(--sc-ok);font-size:15px;font-weight:600;line-height:1.45}
.sc-upd[hidden]{display:none}
.sc-err{margin-top:12px;color:var(--sc-err);font-size:15px;white-space:pre-line}
.sc-err:empty{display:none}
.sc-wait{margin-top:12px;padding:12px 14px;border-radius:12px;background:var(--sc-ok-soft);color:var(--sc-ok);font-size:15px;line-height:1.5}
.sc-wait[hidden]{display:none}
.sc-wait a{color:inherit;font-weight:700}
.sc-secure{margin-top:16px;color:var(--sc-mute);font-size:13px;line-height:1.5}

/* --- Шаг оплаты: сумма, валюта, комиссия за автора, имя для Bancontact.
   Только переменные корзины: палитра «Карамель» задаётся в одном месте. */
.sc-due{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px;margin:10px 0 4px}
.sc-amount{font-family:Fraunces,Georgia,serif;font-size:34px;font-weight:700;line-height:1.1;color:var(--sc-ink);font-variant-numeric:tabular-nums}
.sc-cur{display:inline-flex;padding:3px;border-radius:999px;background:var(--sc-hint);border:1px solid var(--sc-line)}
.sc-cur[hidden]{display:none}
.sc-cur button{min-height:48px;min-width:80px;padding:8px 14px;border:0;border-radius:999px;background:none;cursor:pointer;
  font:600 15px Inter,system-ui,sans-serif;color:var(--sc-mute)}
.sc-cur button[aria-pressed="true"]{background:var(--sc-card);color:var(--sc-ink);box-shadow:0 1px 4px rgba(0,0,0,.14)}
.sc-pay label.sc-cover{display:flex;align-items:flex-start;gap:11px;margin:16px 0 0;padding:12px 13px;border:1.5px solid var(--sc-line);
  border-radius:12px;cursor:pointer;font-size:15px;font-weight:500;line-height:1.4}
.sc-pay label.sc-cover[hidden]{display:none}
/* Галочка — не поле ввода: без 100% ширины и высоты 48px из .sc-pay input */
.sc-pay .sc-cover input{flex:0 0 20px;width:20px;height:20px;min-height:0;margin:1px 0 0;padding:0;accent-color:var(--sc-cta);cursor:pointer}
.sc-cover > span{flex:1;min-width:0}
.sc-cover small{color:var(--sc-mute);font-size:13px;font-weight:400}
.sc-cover:has(input:checked){border-color:var(--sc-cta);background:var(--sc-ok-soft)}
.sc-name[hidden]{display:none}
.sc-methods small{display:block;margin-top:1px;color:var(--sc-mute);font-size:13px;font-weight:500}
.sc-row.sc-fee[hidden]{display:none}

/* ======================================================================
   ШАПКА САЙТА — одна на все страницы магазина и лендинги.
   Живёт здесь, а не в site.css/инлайн-стилях лендингов: страница грузит
   этот файл всегда (он же несёт корзину), поэтому шапка не зависит от
   палитры конкретной страницы и не может разъехаться между ними.
   Цвета и шрифты — жёстко зашитые значения магазина, а не переменные
   темы лендинга (--bg/--ink и т.п. у лендингов — другие числа).
   ====================================================================== */
:root{scroll-padding-top:76px} /* высота шапки (65px с рамкой) + отступ, чтобы якорь #price не прятался под шапкой */

.site-top{
  position:sticky;top:0;z-index:80; /* ниже корзины (9999/10000), но поверх контента страницы */
  border-bottom:1px solid #e6e0d4;
  background:#fbf8f3; /* сплошной фон — без прозрачности, чтобы контент не просвечивал при скролле */
}
.site-top-in{
  display:flex;align-items:center;gap:16px;min-height:64px;
  width:100%;max-width:1080px;margin:0 auto;padding:0 16px;
  box-sizing:border-box;
}
@media (min-width:600px){.site-top-in{padding:0 24px}}
.site-logo{
  font-family:Fraunces,Georgia,serif;font-weight:600;font-size:18px;letter-spacing:.06em;
  color:#1d1b18;text-decoration:none;margin-right:auto;
}
.site-nav{display:flex;gap:4px}
.site-nav a{
  display:inline-flex;align-items:center;min-height:48px;padding:0 10px;
  color:#5f5a52;text-decoration:none;font-weight:600;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
}
.site-nav a[aria-current="page"]{color:#1d1b18}
.site-top [data-cart-slot]{display:flex}
/* На узком экране «Books» прячем — лого уже ведёт на / (=Books), это
   убирает лишний пункт и держит лого в одну строку. Специфичность
   .site-nav a.site-nav-books нужна, чтобы перебить .site-nav a выше. */
@media (max-width:400px){
  .site-logo{font-size:16px;letter-spacing:.04em;white-space:nowrap}
  .site-nav a.site-nav-books{display:none}
}
@media (max-width:360px){
  .site-logo{font-size:15px}
}

/* Шапка магазина одинаковая на витринах и лендингах (2026-09-29): три вкладки + корзина, без логотипа */
.site-top-in{gap:8px}
.site-nav{flex:1;gap:6px}
.site-nav a{white-space:nowrap}
.site-nav a[aria-current="page"]{color:#1d1b18;box-shadow:inset 0 -3px 0 #8a4b14}
.site-top .site-nav a.site-nav-books{display:inline-flex}
@media (max-width:759px){
  .site-nav{gap:0}
  .site-nav a,.site-top .site-nav a.site-nav-books{flex:1 1 0;justify-content:center;padding:0 2px;font-size:14.5px}
}

/* Лучшие способы оплаты (PayPal, Apple Pay): зелёная рамка и метка «Recommended» */
.sc-methods button.sc-m-best{border:2px solid #2e7d4f;background:#f3faf5}
.sc-methods button.sc-m-best:hover{border-color:#256a42}
.sc-best{margin-left:auto;flex:none;font-style:normal;font-size:12px;font-weight:700;line-height:1;color:#fff;background:#2e7d4f;border-radius:999px;padding:5px 9px}

/* Ошибка почты — под полем, заметно (на телефоне общий блок ошибок был под кнопками и не виден) */
.sc-email-err{margin:8px 0 0;color:#b3261e;font-size:15px;font-weight:600;line-height:1.35}
#sc-email.sc-bad{border-color:#b3261e;box-shadow:0 0 0 3px rgba(179,38,30,.15)}

/* Способ оплаты = выбор, платит кнопка внизу. Выбранный: зелёная рамка и галочка */
.sc-methods button{position:relative}
.sc-methods button.sc-m-on{border:2px solid #2e7d4f;background:#f3faf5;box-shadow:0 0 0 3px rgba(46,125,79,.15)}
.sc-methods button.sc-m-on::after{content:"✓";position:absolute;right:14px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;
  background:#2e7d4f;color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}
.sc-methods button.sc-m-on .sc-best{margin-right:30px}
.sc-methods button:not(.sc-m-on).sc-m-best{border:1px solid #cfc7b8;background:#fff}
.sc-paynow[hidden]{display:none}

/* Шаги оплаты: 1. способ 2. почта, кнопка Pay внизу */
.sc-pay .sc-step{display:block;margin:18px 0 8px;font:700 16px Inter,system-ui,sans-serif;color:var(--sc-ink)}
.sc-pay .sc-methods{margin-top:0}
.sc-mail[hidden]{display:none}
.sc-mail .sc-mail-note{margin:6px 0 0;color:var(--sc-mute);font-size:13px;line-height:1.4}
