/*
Theme Name: Zerno-2026
Theme URI: https://proffit-site.ru/themes/zerno-2026
Author: ВЕБ СТУДИЯ ПРОФФИТ
Author URI: https://proffit-site.ru
Description: Тема для сайта-прайса зерновых и масличных культур. Интерактивный прайс-лист с фильтрами по культурам, регионам и пунктам отгрузки, карточками позиций и раскрывающимися показателями качества. Прайс редактируется прямо в админке или автоматически подгружается из Google-таблицы. Есть заглушка на время технических работ. Разработано веб-студией ПРОФФИТ.
Version: 1.2.2
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: zerno-2026
Tags: business, custom-colors, custom-menu, translation-ready, one-column, full-width-template
*/

:root{
  --paper:#F4F5F1;
  --surface:#FFFFFF;
  --surface-2:#FAFBF7;
  --ink:#13211B;
  --ink-2:#3C4C43;
  --muted:#6F8074;
  --line:#DCE1D7;
  --line-soft:#E9EDE4;
  --accent:#1E5C46;
  --accent-deep:#123A2C;
  --accent-soft:#E3EDE7;
  --wheat:#8A6A16;
  --wheat-soft:#F3EBD6;
  --stop:#8C3A34;
  --shadow:0 1px 2px rgba(19,33,27,.05), 0 8px 24px -16px rgba(19,33,27,.35);
  --r:10px;
  --step--1:.8125rem;
  --step-0:.9375rem;
  --step-1:1.0625rem;
  --step-2:1.375rem;
  --step-3:1.875rem;
  --step-4:2.5rem;
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Golos Text","Segoe UI",system-ui,sans-serif;
  font-size:var(--step-0);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:Bitter,Georgia,"Times New Roman",serif;font-weight:700;margin:0;text-wrap:balance;line-height:1.2}
a{color:inherit}
button{font:inherit;color:inherit}
img{max-width:100%;height:auto}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link:focus{position:fixed;top:8px;left:8px;z-index:999;background:#fff;padding:8px 14px;border-radius:6px;width:auto;height:auto;clip:auto}

.wrap{width:min(1180px,100%);margin-inline:auto;padding-inline:18px}

/* ——— демо-лента ——— */
.demo-ribbon{background:var(--accent-deep);color:#EAF2ED;font-size:var(--step--1);letter-spacing:.02em}
.demo-ribbon .wrap{padding-block:7px;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.demo-ribbon b{font-weight:600;color:#fff}
.demo-ribbon span{color:#A9C4B6}

/* ——— шапка ——— */
.top{background:var(--surface);border-bottom:1px solid var(--line)}
.top .wrap{padding-block:18px;display:flex;gap:20px 32px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.brand{display:flex;flex-direction:column;gap:2px;justify-content:center;min-height:38px}
.brand .name{font-family:Bitter,Georgia,serif;font-weight:700;font-size:var(--step-2);letter-spacing:-.01em;text-decoration:none}
.brand .kind{font-size:var(--step-0);color:var(--ink-2);font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.contacts{display:flex;gap:8px 28px;flex-wrap:wrap;align-items:center}
.contact{display:flex;flex-direction:column;gap:1px;min-width:0}
.contact .cap{font-size:.6875rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.contact a,.contact .val{font-weight:600;font-size:var(--step-1);text-decoration:none;white-space:nowrap}
.contact a:hover{color:var(--accent)}
.contact .val{font-weight:500;color:var(--ink-2)}

/* ——— переключатель прайсов ——— */
.pricetabs{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.admin-bar .pricetabs{top:32px}
/* Ниже 783px админ-панель WordPress не закреплена, а уезжает вместе со страницей,
   поэтому запас под неё оставлять нельзя — иначе над вкладками зияет дыра. */
@media screen and (max-width:782px){.admin-bar .pricetabs{top:0}}
.pricetabs .wrap{display:flex;gap:24px;overflow-x:auto;overflow-y:hidden}
.ptab{appearance:none;background:none;border:0;padding:13px 0 12px;cursor:pointer;font-weight:600;color:var(--muted);white-space:nowrap;border-bottom:2px solid transparent}
.ptab[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--accent)}
.ptab:hover{color:var(--ink)}

/* ——— шапка прайс-борда ——— */
.board{padding-block:34px 22px}
.board h1{font-size:var(--step-4);letter-spacing:-.015em;max-width:18ch}
.board .lede{margin:10px 0 0;color:var(--ink-2);max-width:62ch}
.stamp{margin-top:20px;display:flex;flex-wrap:wrap;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.stamp .cell{padding:12px 18px;border-right:1px solid var(--line-soft);flex:1 1 170px;min-width:0}
.stamp .cell:last-child{border-right:0}
.stamp .k{font-size:.6875rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.stamp .v{font-weight:600;margin-top:2px;font-variant-numeric:tabular-nums}
.stamp .v.hot{color:var(--accent)}
.stamp .cell.unit{flex:0 0 auto;background:var(--surface-2)}
.unit-switch{display:inline-flex;border:1px solid var(--line);border-radius:7px;overflow:hidden;margin-top:3px}
.unit-switch button{appearance:none;background:var(--surface);border:0;padding:4px 11px;cursor:pointer;font-size:var(--step--1);font-weight:600;color:var(--muted)}
.unit-switch button[aria-pressed="true"]{background:var(--accent);color:#fff}

/* ——— фильтры ——— */
.filters{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;margin-top:16px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow)}
.f-cap{font-size:.6875rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{appearance:none;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:7px 14px;cursor:pointer;font-weight:500;display:inline-flex;align-items:baseline;gap:7px;transition:border-color .12s,background .12s,color .12s}
.chip:hover{border-color:var(--accent);color:var(--accent)}
.chip .n{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.75rem;color:var(--muted)}
.chip[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
.chip[aria-pressed="true"] .n{color:#A9C4B6}
.chip[data-empty="1"]{color:var(--muted);border-style:dashed}
.f-row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
.field{display:flex;flex-direction:column;gap:5px;flex:1 1 210px;min-width:0}
.field label{font-size:.6875rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.field select,.field input{appearance:none;width:100%;background:var(--surface-2);border:1px solid var(--line);border-radius:7px;padding:9px 12px;font:inherit;color:var(--ink)}
.field select{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%236F8074' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px}
.field input::placeholder{color:var(--muted)}
.f-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:space-between}
.switch{display:inline-flex;align-items:center;gap:9px;cursor:pointer;color:var(--ink-2)}
.switch input{position:absolute;opacity:0;pointer-events:none}
.switch .track{width:36px;height:20px;border-radius:999px;background:var(--line);position:relative;transition:background .15s;flex:none}
.switch .track::after{content:"";position:absolute;inset:2px auto 2px 2px;width:16px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.switch input:checked + .track{background:var(--accent)}
.switch input:checked + .track::after{transform:translateX(16px)}
.switch input:focus-visible + .track{outline:2px solid var(--accent);outline-offset:2px}
.linkbtn{appearance:none;background:none;border:0;padding:0;cursor:pointer;color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.count{color:var(--muted);font-size:var(--step--1)}

/* ——— результаты ——— */
.results{padding-bottom:40px}
.region-head{display:flex;align-items:baseline;gap:12px;margin:30px 0 14px}
.region-head h2{font-size:var(--step-2);letter-spacing:-.01em}
.region-head .rule{flex:1;height:1px;background:var(--line)}
.region-head .n{font-family:"IBM Plex Mono",monospace;font-size:var(--step--1);color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px;align-items:start}
.point{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
.point > header{padding:14px 18px 12px;border-bottom:1px solid var(--line-soft);display:flex;flex-direction:column;gap:6px}
.point h3{font-size:var(--step-1)}
.tags{display:flex;gap:6px;flex-wrap:wrap}
.tag{font-size:.6875rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);border:1px solid var(--line-soft);border-radius:5px;padding:2px 7px}
.tag.basis{color:var(--accent);background:var(--accent-soft);border-color:transparent;font-family:"IBM Plex Mono",monospace;letter-spacing:.02em}
.tag.zerno-label{border-color:transparent}
.group{padding:12px 18px 4px}
.group + .group{border-top:1px dashed var(--line-soft)}
.group h4{font-size:var(--step-0);font-family:"Golos Text",sans-serif;font-weight:700;margin-bottom:6px}
.rows{list-style:none;margin:0;padding:0}
.row{border-top:1px solid var(--line-soft)}
.rows li:first-child .row{border-top:0}
.row > summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:0;padding:8px 0}
.row > summary::-webkit-details-marker{display:none}
.row .lbl{color:var(--ink-2);white-space:nowrap}
.row .dots{flex:1;border-bottom:1px dotted var(--line);margin:0 8px;transform:translateY(-.28em);min-width:14px}
.row .val{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.row .val .cur{font-weight:500;color:var(--muted);font-size:var(--step--1);margin-left:3px}
.row .val.agree{font-weight:600;color:var(--wheat);font-size:var(--step--1)}
.row .val.none{font-weight:600;color:var(--stop);font-size:var(--step--1)}
.row .caret{margin-left:10px;color:var(--muted);flex:none;transition:transform .15s;align-self:center}
.row > summary:hover .caret{color:var(--accent)}
.row > summary:hover .lbl{color:var(--accent)}
.row[open] .caret{transform:rotate(180deg)}
.spec{padding:2px 0 12px;font-size:var(--step--1);color:var(--ink-2);line-height:1.6}
.spec .sk{display:block;font-size:.6875rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.spec .meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}
.spec .harvest{font-family:"IBM Plex Mono",monospace;font-size:.75rem;color:var(--muted)}
.spec .badge{font-size:.6875rem;border-radius:4px;padding:2px 7px}
.point > footer{padding:10px 18px 13px;border-top:1px solid var(--line-soft);background:var(--surface-2);font-size:var(--step--1);color:var(--muted);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.point > footer .from{font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums}

.empty{background:var(--surface);border:1px dashed var(--line);border-radius:var(--r);padding:40px 24px;text-align:center;color:var(--muted)}
.empty b{display:block;color:var(--ink);font-size:var(--step-1);margin-bottom:6px;font-family:Bitter,serif}

/* ——— семена ——— */
.seeds{padding-block:34px 44px}
.seeds h1{font-size:var(--step-3)}
.seeds .lede{margin:10px 0 0;color:var(--ink-2);max-width:62ch}
.seed-block{margin-top:26px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
.seed-block > h2{font-size:var(--step-1);padding:14px 18px;border-bottom:1px solid var(--line-soft);font-family:"Golos Text",sans-serif;letter-spacing:.04em;text-transform:uppercase}
.tscroll{overflow-x:auto}
table.seed{border-collapse:collapse;width:100%;min-width:520px;font-size:var(--step--1)}
table.seed th{text-align:left;font-weight:600;color:var(--muted);font-size:.6875rem;letter-spacing:.07em;text-transform:uppercase;padding:9px 18px;border-bottom:1px solid var(--line)}
table.seed td{padding:9px 18px;border-bottom:1px solid var(--line-soft);vertical-align:baseline}
table.seed tr:last-child td{border-bottom:0}
table.seed td:last-child,table.seed th:last-child{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
table.seed tr.fam td{color:var(--accent);font-weight:600;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}
table.seed td.price{font-weight:700}

/* ——— контентные страницы ——— */
.page-body{padding-block:34px 44px}
.page-body .entry{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:26px 28px;box-shadow:var(--shadow);max-width:72ch}
.page-body .entry h1{font-size:var(--step-3);margin-bottom:12px}
.page-body .entry p{margin:0 0 14px}

/* ——— подвал ——— */
.foot{background:var(--accent-deep);color:#D9E6DF;margin-top:10px}
.foot .wrap{padding-block:30px 26px;display:flex;gap:26px 40px;flex-wrap:wrap;justify-content:space-between}
.foot a{color:#fff;font-weight:600;text-decoration:none;white-space:nowrap}
.foot a:hover{text-decoration:underline}
.foot .cap{font-size:.6875rem;letter-spacing:.09em;text-transform:uppercase;color:#7FA292}
.foot .col{display:flex;flex-direction:column;gap:4px}
.foot .note{flex:1 1 320px;font-size:var(--step--1);color:#8FAE9F;max-width:60ch}
.foot .by{width:100%;border-top:1px solid rgba(255,255,255,.12);padding-top:14px;font-size:var(--step--1);color:#7FA292}
.foot .by a{font-weight:500}

@media (max-width:640px){
  :root{--step-4:1.875rem;--step-3:1.5rem;--step-2:1.1875rem}
  .board{padding-block:24px 18px}
  .stamp .cell{flex:1 1 100%;border-right:0;border-bottom:1px solid var(--line-soft)}
  .stamp .cell:last-child{border-bottom:0}
  .grid{grid-template-columns:1fr}
  .top .wrap{flex-direction:column;gap:14px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media print{
  .demo-ribbon,.pricetabs,.filters,.foot,.unit-switch,#wpadminbar{display:none!important}
  body{background:#fff}
  .point{break-inside:avoid;box-shadow:none}
}
