/* Тема брендов (подключается после css приложения).
   БМК: «гастроном» (бордо, тёплая бумага, золотые линии, Alegreya + Onest); цвета из брендбука сохранены (красный #b30000 для действий).
   СТ: «крафт» (гайд 2026: зелёный #056738, молочный фон, крафтовая полоска, Rubik, без курсива и рукописных шрифтов).
   Шрифты лежат файлами (brand/fonts), чтобы офлайн и телефоны показывали одно и то же. */

@font-face{font-family:"Onest";font-weight:100 900;font-display:swap;src:url(fonts/onest-cyrillic-wght-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Onest";font-weight:100 900;font-display:swap;src:url(fonts/onest-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Alegreya";font-weight:400 900;font-display:swap;src:url(fonts/alegreya-cyrillic-wght-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Alegreya";font-weight:400 900;font-display:swap;src:url(fonts/alegreya-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Rubik";font-weight:300 900;font-display:swap;src:url(fonts/rubik-cyrillic-wght-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Rubik";font-weight:300 900;font-display:swap;src:url(fonts/rubik-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ===== БМК: «гастроном» ===== */
:root{
  --page:#f7f0e4;--surface:#fffaf0;--surface-2:#f1e7d4;--ink:#2a1d1a;--ink-2:#5f504a;--ink-3:#7d6e66;
  --line:#ddd0b8;--line-strong:#c9b793;--accent:#b30000;--accent-dark:#6e1016;--accent-soft:#f6e3d0;
  --gold:#b08d4f;--goldg:linear-gradient(90deg,#b08d4f,#b08d4f);
  --bar-bg:#6e1016;--bar-ink:#f7f0e4;--stripe:#b08d4f;
  --shadow:0 0 0 1px var(--line);--radius:6px;
  --head:"Alegreya",Georgia,"Times New Roman",serif;
  font-family:"Onest",Calibri,Carlito,"Segoe UI",system-ui,sans-serif;
}
@media(prefers-color-scheme:dark){
  :root:where(:not([data-theme="light"])){
    --page:#17100e;--surface:#211815;--surface-2:#2c211d;--ink:#f7ece0;--ink-2:#d3bfb1;--ink-3:#a8948a;
    --line:#3d2e28;--line-strong:#523f36;--accent:#ff6b5e;--accent-dark:#ff8a80;--accent-soft:#3a1816;
    --gold:#c9a45e;--goldg:linear-gradient(90deg,#c9a45e,#c9a45e);
    --bar-bg:#3a1416;--bar-ink:#f7ece0;--stripe:#c9a45e;--shadow:0 0 0 1px var(--line);
  }
}
/* заголовки: засечки, без капса и сжатия (оси Bahnschrift в Alegreya не работают, wght остаётся) */
h1,h2,.brand,.bar b,.dtitle,.grp{font-family:var(--head);font-stretch:100%;text-transform:none;letter-spacing:0}
h1,h2{font-weight:700}
h2{font-size:22px} h1{font-size:26px}
.brand,.bar b,.dtitle{font-size:21px}
.top::after,.ctop::after{height:4px;background:none;border-top:1px solid var(--stripe);border-bottom:1px solid var(--stripe);-webkit-mask-image:none;mask-image:none;opacity:.75}
.btn,select,input[type="search"],input[type="text"],input[type="number"],.seg{border-radius:3px}
.nav a{border-radius:3px}
.chip{border-radius:3px}
.badge{border-radius:3px}
.num,td.r,th.r,.kpi b{font-variant-numeric:tabular-nums}
th{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:600;color:var(--gold);border-bottom:1px solid var(--gold)}
.tb th{letter-spacing:.08em}
td{border-bottom:1px solid var(--line)}
/* водитель: шапка бордо с золотой линией, карточка-бирка со срезанным углом, кнопки без скругления */
.dtop{background:var(--bar-bg);color:var(--bar-ink);border-bottom:1px solid var(--stripe);box-shadow:0 3px 0 var(--bar-bg),0 4px 0 var(--stripe)}
.dcard{border-radius:4px;box-shadow:none;border:1px solid var(--line);background:linear-gradient(225deg,var(--page) 0 14px,var(--surface) 14.5px)}
.big{border-radius:3px;font-size:15px;letter-spacing:.06em;text-transform:uppercase}
.route-pick{border-radius:4px}
.back,.net{border-radius:3px}
.rail{background:var(--bar-bg)}

/* ===== СТ: «крафт» ===== */
body[data-brand="st"]{
  --page:#fbf6ea;--surface:#fffdf6;--surface-2:#f4ecd6;--ink:#1c2a21;--ink-2:#4a5a4e;--ink-3:#6b6a58;
  --line:#e6dcc3;--line-strong:#d3c6a0;--accent:#056738;--accent-dark:#0a3d24;--accent-ink:#fff;--accent-soft:#dcefe3;
  --good:#056738;--good-soft:#dcefe3;--gold:#c9a56b;--goldg:linear-gradient(90deg,#c9a56b,#c9a56b);
  --bar-bg:#0a3d24;--bar-ink:#fbf6ea;--stripe:#c9a56b;--shadow:0 0 0 1.5px var(--line);--radius:16px;
  --head:"Rubik",Arial,sans-serif;
  font-family:"Rubik",Arial,sans-serif;
}
@media(prefers-color-scheme:dark){body[data-brand="st"]{--page:#0c1711;--surface:#13221a;--surface-2:#1a2d22;--ink:#eaf5ee;--ink-2:#bcd3c4;--ink-3:#93ad9c;--line:#2b4636;--line-strong:#37573f;--accent:#3fbf7a;--accent-dark:#6ad79c;--accent-ink:#04180d;--accent-soft:#183a27;--good:#6ad79c;--good-soft:#16301f;--gold:#b89763;--bar-bg:#0a2418;--bar-ink:#eaf5ee;--stripe:#b89763;--shadow:0 0 0 1.5px var(--line)}}
body[data-brand="st"] h1,body[data-brand="st"] h2,body[data-brand="st"] .brand,body[data-brand="st"] .bar b,body[data-brand="st"] .dtitle,body[data-brand="st"] .grp{font-family:var(--head);font-weight:600;font-variation-settings:normal;text-transform:none;letter-spacing:.01em;font-style:normal}
body[data-brand="st"] .brand,body[data-brand="st"] .bar b,body[data-brand="st"] .dtitle{font-size:19px}
body[data-brand="st"] h2{font-size:21px}
body[data-brand="st"] .top::after,body[data-brand="st"] .ctop::after{height:6px;border:0;background:var(--stripe);-webkit-mask-image:repeating-linear-gradient(90deg,#000 0 10px,transparent 10px 14px);mask-image:repeating-linear-gradient(90deg,#000 0 10px,transparent 10px 14px);opacity:.8}
body[data-brand="st"] .btn,body[data-brand="st"] .big{border-radius:999px;text-transform:none;letter-spacing:0;font-weight:500}
body[data-brand="st"] select,body[data-brand="st"] input[type="search"],body[data-brand="st"] input[type="text"],body[data-brand="st"] input[type="number"],body[data-brand="st"] .seg{border-radius:10px}
body[data-brand="st"] .nav a,body[data-brand="st"] .chip,body[data-brand="st"] .badge{border-radius:999px}
body[data-brand="st"] .dcard,body[data-brand="st"] .route-pick{border-radius:18px;border:0;box-shadow:var(--shadow);background:var(--surface)}
body[data-brand="st"] .dtop{background:var(--bar-bg);color:var(--bar-ink);border-bottom:0;box-shadow:none}
body[data-brand="st"] .back,body[data-brand="st"] .net{border-radius:999px}
body[data-brand="st"] th{text-transform:none;letter-spacing:0;font-size:12.5px;font-weight:500;color:var(--ink-3);border-bottom:2px solid var(--line)}
body[data-brand="st"] td{border-bottom:1px dashed var(--line-strong)}
body[data-brand="st"] .rail{background:var(--bar-bg);color:#e4f0e8}
body[data-brand="st"] .rail button.on{box-shadow:inset 3px 0 var(--stripe)}
body[data-brand="st"] .dmark{background:#fff}
body[data-brand="st"] .rail-logo{background:#fff;border-radius:8px;padding:3px;filter:none}
/* У СТ нет «мест», только коробки: поле «Мест» в конструкторе рейса скрыто (у БМК остаётся для больших палок без упаковки) */
body[data-brand="st"] label:has(> input[data-f="places"]){display:none}
