/*
Theme Name: STO AvtoR 2
Theme URI: https://sto-avtor.com.ua
Author: Olga
Description: Власна фірмова тема для sto-avtor.com.ua (СТО АвтоР). Header, footer та навігація — з теми; контент сторінок повністю бере з бази WordPress (стандартний редактор).
Version: 1.0
Requires at least: 5.9
Requires PHP: 7.4
Text Domain: sto-avtor
*/

:root{
  --ink:#1b2430;
  --ink-soft:#4d5866;
  --accent:#e0592a;
  --accent-dark:#c24618;
  --line:#e4e8ec;
  --bg-soft:#f4f6f8;
  --bg-warm:#fdf3ee;
}

*, *::before, *::after{ box-sizing:border-box; }

html{ -webkit-text-size-adjust:100%; }

body{
  margin:0;
  font-family:"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
  color:var(--ink);
  line-height:1.55;
  background:#fff;
  overflow-x:hidden;
}

img{ max-width:100%; height:auto; }
a{ color:inherit; }
h1,h2,h3,h4,p{ margin:0 0 0 0; }

.wrap{ max-width:1160px; margin:0 auto; padding:0 24px; }

/* ---------- Header ---------- */
.sto-header{
  position:sticky; top:0; z-index:999;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
.sto-header .wrap{
  padding:16px 24px;
  display:flex; align-items:center; justify-content:space-between;
  gap:24px;
}
.sto-logo{ font-size:21px; font-weight:800; color:var(--ink); text-decoration:none; white-space:nowrap; }
.sto-logo span{ color:var(--accent); }

.sto-nav{ display:flex; gap:26px; list-style:none; margin:0; padding:0; flex-wrap:wrap; }
.sto-nav li{ position:relative; margin:0; }
.sto-nav > li > a{ display:inline-block; padding:10px 0; }
.sto-nav a{ color:var(--ink); text-decoration:none; font-weight:600; font-size:15px; }
.sto-nav a:hover{ color:var(--accent); }
.sto-nav ul.sub-menu{
  display:none; position:absolute; top:100%; left:0; z-index:1000;
  list-style:none; margin:0; padding:8px; min-width:230px;
  background:#fff; border:1px solid var(--line); border-radius:10px;
  box-shadow:0 12px 28px rgba(27,36,48,.12);
}
.sto-nav ul.sub-menu ul.sub-menu{ top:0; left:100%; }
.sto-nav li:hover > ul.sub-menu{ display:block; }
.sto-nav ul.sub-menu li{ margin:0; }
.sto-nav ul.sub-menu a{
  display:block; padding:9px 12px; font-weight:500; font-size:14px;
  white-space:nowrap; border-radius:6px;
}
.sto-nav ul.sub-menu a:hover{ background:var(--line); }
.sto-nav li.menu-item-has-children > a::after{ content:" \25BE"; font-size:11px; color:var(--ink-soft); }

.sto-header-cta{ display:flex; align-items:center; gap:18px; flex-shrink:0; }
.sto-phone{ font-weight:700; font-size:15px; color:var(--ink); text-decoration:none; white-space:nowrap; }
.sto-btn{
  display:inline-block;
  background:var(--accent) !important; color:#fff !important; font-weight:600; font-size:14.5px;
  padding:11px 20px; border:1px solid var(--accent) !important; border-radius:10px;
  text-decoration:none; white-space:nowrap; box-shadow:none !important;
}
.sto-btn:hover{ background:var(--accent-dark) !important; border-color:var(--accent-dark) !important; color:#fff !important; }

@media (max-width:900px){
  .sto-nav{ display:none; }
}

/* ---------- Main content wrapper ---------- */
.sto-main{ max-width:1200px; margin:0 auto; padding:0 24px; overflow-x:hidden; }

/* ---------- Generic page/post fallback (blog, search) ---------- */
.sto-generic{ padding:48px 24px; max-width:820px; }
.sto-generic h1{ font-size:30px; margin-bottom:20px; }
.sto-entry-content{ font-size:16px; color:var(--ink-soft); }
.sto-search-results{ list-style:none; margin:0; padding:0; }
.sto-search-results li{ padding:14px 0; border-bottom:1px solid var(--line); }
.sto-search-results a{ font-weight:600; text-decoration:none; font-size:17px; }
.sto-search-results a:hover{ color:var(--accent); }

/* ---------- 404 ---------- */
.sto-404{ padding:90px 24px; text-align:center; }
.sto-404-code{ font-size:72px; font-weight:800; color:var(--accent); margin-bottom:8px; }
.sto-404 h1{ font-size:26px; margin-bottom:12px; }
.sto-404 p{ color:var(--ink-soft); margin-bottom:26px; }

/* ---------- Footer ---------- */
.sto-footer{
  background:var(--ink); color:#c9d0d9;
  font-size:14px;
}
.sto-footer-top{
  padding:48px 24px 32px;
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px;
}
.sto-footer-top .sto-logo{ color:#fff; }
.sto-footer-top .sto-logo span{ color:var(--accent); }
.sto-footer-col h4{ color:#fff; font-size:14px; text-transform:uppercase; letter-spacing:.04em; margin-bottom:14px; }
.sto-footer-col p{ margin:0 0 8px; color:#c9d0d9; }
.sto-footer-col a{ text-decoration:none; color:#c9d0d9; }
.sto-footer-col a:hover{ color:var(--accent); }
.sto-footer-social{ display:flex; gap:14px; margin-top:14px; }
.sto-footer-social a{ font-weight:600; }
.sto-footer-nav{ list-style:none; margin:0; padding:0; }
.sto-footer-nav li{ margin:0 0 8px; }
.sto-footer-bottom{
  border-top:1px solid rgba(255,255,255,.12);
  padding:18px 24px; text-align:center; font-size:13px; color:#8891a0;
}

@media (max-width:800px){
  .sto-footer-top{ grid-template-columns:1fr 1fr; }
}
@media (max-width:520px){
  .sto-footer-top{ grid-template-columns:1fr; }
}
