/* ============================================================
   МАМА УММА — дизайн-система v2 (по утверждённому стайлгайду).
   Палитра, шрифты и логотип — обязательные значения бренда.
   ============================================================ */
@font-face{font-family:"Barriecito";src:url("/static/fonts/barriecito-400.woff2") format("woff2");
  font-weight:400;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("/static/fonts/cormorant-cyr-500.woff2") format("woff2");
  font-weight:500;font-display:swap;unicode-range:U+0400-04FF,U+2116}
@font-face{font-family:"Cormorant Garamond";src:url("/static/fonts/cormorant-lat-500.woff2") format("woff2");
  font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F}
@font-face{font-family:"Cormorant Garamond";src:url("/static/fonts/cormorant-cyr-600.woff2") format("woff2");
  font-weight:600;font-display:swap;unicode-range:U+0400-04FF,U+2116}
@font-face{font-family:"Cormorant Garamond";src:url("/static/fonts/cormorant-lat-600.woff2") format("woff2");
  font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F}
@font-face{font-family:"Cormorant Garamond";src:url("/static/fonts/cormorant-cyr-500i.woff2") format("woff2");
  font-weight:500;font-style:italic;font-display:swap;unicode-range:U+0400-04FF,U+2116}
@font-face{font-family:"Cormorant Garamond";src:url("/static/fonts/cormorant-lat-500i.woff2") format("woff2");
  font-weight:500;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F}
@font-face{font-family:"Nunito";src:url("/static/fonts/nunito-cyr-400.woff2") format("woff2");
  font-weight:400;font-display:swap;unicode-range:U+0400-04FF,U+2116}
@font-face{font-family:"Nunito";src:url("/static/fonts/nunito-lat-400.woff2") format("woff2");
  font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F}
@font-face{font-family:"Nunito";src:url("/static/fonts/nunito-cyr-600.woff2") format("woff2");
  font-weight:600;font-display:swap;unicode-range:U+0400-04FF,U+2116}
@font-face{font-family:"Nunito";src:url("/static/fonts/nunito-lat-600.woff2") format("woff2");
  font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F}
@font-face{font-family:"Nunito";src:url("/static/fonts/nunito-cyr-700.woff2") format("woff2");
  font-weight:700;font-display:swap;unicode-range:U+0400-04FF,U+2116}
@font-face{font-family:"Nunito";src:url("/static/fonts/nunito-lat-700.woff2") format("woff2");
  font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F}
@font-face{font-family:"Nunito";src:url("/static/fonts/nunito-cyr-800.woff2") format("woff2");
  font-weight:800;font-display:swap;unicode-range:U+0400-04FF,U+2116}
@font-face{font-family:"Nunito";src:url("/static/fonts/nunito-lat-800.woff2") format("woff2");
  font-weight:800;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F}
@font-face{font-family:"Amiri";src:url("/static/fonts/amiri-400.woff2") format("woff2");
  font-weight:400;font-display:swap}

:root{
  /* палитра (styleguide) */
  --bg:#F4EDE1;          /* кремовый фон */
  --sand:#ECE2D0;        /* песочный */
  --paper:#FCF9F2;       /* карточки */
  --terra:#BE6A44;       /* терракота — главный акцент/CTA */
  --terra-link:#A9542F;  /* ссылки */
  --terra-hover:#8f4526;
  --honey:#D5964A;       /* медовый */
  --gold:#E6B15E;        /* золото на тёмном */
  --emerald:#2E8871;     /* изумруд */
  --olive-dark:#33463A;  /* тёмная олива (тёмные карточки) */
  --olive:#5C6B47;
  --ink:#33302B;         /* графит — текст */
  --ink-soft:#6b6252;
  --ink-mute:#a08e73;
  --logo-terra:#D17A51;
  --logo-green:#2B7A5C;
  --line:rgba(51,48,43,.08);
  --line-mid:rgba(51,48,43,.14);
  /* типографика */
  --font-logo:"Barriecito",cursive;
  --font-display:"Cormorant Garamond",Georgia,serif;
  --font-body:"Nunito",system-ui,-apple-system,sans-serif;
  --font-arabic:"Amiri",serif;
  /* геометрия */
  --r:20px; --r-lg:24px; --r-sm:14px;
  --r-book:6px 12px 12px 6px;      /* «книжный» радиус обложек */
  --shadow:0 20px 42px -32px rgba(51,48,43,.5);
  --shadow-deep:0 24px 50px -36px rgba(51,48,43,.6);
  --speed:.2s;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--font-body);
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--terra);color:#FFF8EE}
img{max-width:100%;display:block}
a{color:var(--terra-link);text-decoration:none}
a:hover{color:var(--terra-hover)}
h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.1;text-wrap:balance}
p{text-wrap:pretty}
.muted{color:var(--ink-soft)}
.container{max-width:1160px;margin:0 auto;padding:0 clamp(20px,5vw,48px)}
.section{padding:clamp(60px,9vw,120px) 0}
/* Полноширинные цветные полосы (ритм секций по макету) */
.section--sand{background:var(--sand)}
.section--dark{background:var(--olive-dark);color:#F1EAD9}
::-webkit-scrollbar{width:11px}
::-webkit-scrollbar-track{background:var(--sand)}
::-webkit-scrollbar-thumb{background:#cbbfa8;border-radius:8px;border:3px solid var(--sand)}

/* Логотип: Barriecito, две строки, только на светлом */
.logo{display:flex;flex-direction:column;align-items:flex-start;line-height:.75;
  font-family:var(--font-logo);font-size:20px;letter-spacing:.12em}
.logo .l1{color:var(--logo-terra)}
.logo .l2{color:var(--logo-green)}

/* Кикер секции */
.kicker{font-size:12.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--ink-mute)}

/* Кнопки */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--font-body);font-weight:700;font-size:16px;border:none;cursor:pointer;
  border-radius:999px;padding:14px 28px;transition:background var(--speed),
  transform var(--speed),border-color var(--speed);text-align:center;color:inherit}
.btn:active{transform:scale(.98)}
.btn-terra{background:var(--terra);color:#FFF8EE;
  box-shadow:0 16px 30px -18px rgba(190,106,68,.9)}
.btn-terra:hover{background:var(--terra-hover);color:#FFF8EE;transform:translateY(-2px)}
.btn-outline{background:transparent;color:#4a4439;border:1.5px solid var(--line-mid)}
.btn-outline:hover{background:rgba(51,48,43,.05);border-color:rgba(51,48,43,.3)}
.btn-dark{background:var(--olive-dark);color:#F6F0E2}
.btn-dark:hover{background:#2a3a30;color:#F6F0E2}
.btn-gold{background:var(--gold);color:#3a2f18;box-shadow:0 16px 34px -18px rgba(230,177,94,.9)}
.btn-gold:hover{background:#d9a24a;color:#3a2f18;transform:translateY(-2px)}
.btn-ghost{background:transparent;color:#F6F0E2;border:1.5px solid rgba(241,234,217,.32)}
.btn-ghost:hover{background:rgba(241,234,217,.08);border-color:rgba(241,234,217,.6);color:#F6F0E2}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.btn-block{width:100%}
.btn-sm{padding:9px 17px;font-size:13.5px}

/* Иконка-кнопка (стайлгайд: рамка, скругление 12) */
.icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:42px;height:42px;border:1px solid var(--line-mid);background:rgba(252,249,242,.7);
  border-radius:12px;color:var(--ink);cursor:pointer;transition:background var(--speed)}
.icon-btn:hover{background:var(--paper)}
.icon-btn svg{width:19px;height:19px}

/* Формы */
.field{width:100%;font:inherit;padding:14px 16px;border:1px solid var(--line-mid);
  border-radius:var(--r-sm);background:var(--paper);color:var(--ink)}
.field:focus{outline:2px solid var(--emerald);outline-offset:1px;border-color:transparent}
label.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;
  color:var(--ink-soft);cursor:pointer}
label.check input{margin-top:3px;accent-color:var(--emerald);width:18px;height:18px;flex:none}
:focus-visible{outline:2px solid var(--emerald);outline-offset:2px}

/* Карточки */
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  box-shadow:var(--shadow)}
.chip{display:inline-flex;align-items:center;font-size:11.5px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;padding:6px 13px;border-radius:999px;
  color:var(--emerald);background:rgba(46,136,113,.1)}
.chip-terra{color:var(--terra-link);background:rgba(190,106,68,.1)}

/* Обложка книги: 3:4, «книжный» радиус */
.book-cover{position:relative;aspect-ratio:3/4;border-radius:var(--r-book);
  overflow:hidden;background:#EADFC9;box-shadow:0 20px 38px -24px rgba(51,48,43,.6)}
.book-cover img{width:100%;height:100%;object-fit:cover}
.book-cover .free-tag{position:absolute;top:12px;left:12px;background:var(--paper);
  color:var(--terra);border:1px solid rgba(190,106,68,.22);
  font-family:var(--font-body);font-size:11px;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;border-radius:999px;padding:5px 11px;z-index:2;
  box-shadow:0 4px 12px -6px rgba(51,48,43,.4)}

/* Чек-строка (галочка + текст) */
.tick{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;color:var(--ink-soft)}
.tick svg{flex:0 0 auto;margin-top:2px;color:var(--emerald)}

/* Пустые состояния */
.empty{text-align:center;padding:clamp(48px,8vw,88px) 20px;background:var(--sand);
  border-radius:var(--r-lg)}
.empty h3{font-size:30px;margin-bottom:10px}
.empty p{margin:0 auto 24px;font-size:16px;line-height:1.6;color:var(--ink-soft);max-width:420px}

/* Тост */
.toast{position:fixed;left:50%;bottom:32px;transform:translateX(-50%);z-index:100;
  background:var(--olive-dark);color:#F1EAD9;padding:14px 24px;border-radius:14px;
  font-size:14.5px;font-weight:600;box-shadow:0 20px 50px -20px rgba(30,26,20,.7);
  max-width:92vw;text-align:center}
[hidden]{display:none!important}

/* Появление при скролле */
[data-reveal]{opacity:0;transform:translateY(24px);
  transition:opacity 1s cubic-bezier(.22,.61,.36,1),transform 1s cubic-bezier(.22,.61,.36,1)}
[data-reveal].is-visible{opacity:1;transform:none}

@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}
  html{scroll-behavior:auto}
  [data-reveal]{opacity:1!important;transform:none!important}}
