/* ================================================================
   HEADER & FOOTER — LIGHT THEME
================================================================ */

/* ── Topbar ── */
.topbar { background: #1A1A1A; border-bottom: 1px solid #2E2E2E; font-size: 13px; color: rgba(255,255,255,0.65); }
.topbar .wrap { display:flex; align-items:center; justify-content:space-between; padding:8px 28px; gap:16px; flex-wrap:wrap; }
.topbar a { color: rgba(255,255,255,0.9); font-weight: 700; }
.topbar-left { display:flex; gap:22px; }
.topbar-left span { display:flex; align-items:center; gap:6px; }
.topbar-right { display:flex; align-items:center; gap:6px; font-weight:700; }
.topbar-right:hover { color: #C0392B; }

/* ── Header ── */
#site-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(255,255,255,0.97);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid #E5E5E5;
  transition: box-shadow .3s ease;
}
#site-header.scrolled { box-shadow: 0 3px 20px rgba(0,0,0,0.1); }
#site-header .wrap { max-width:1160px; margin:0 auto; padding:0 28px; }
#site-header nav { display:flex; align-items:center; justify-content:space-between; padding:13px 0; gap:16px; }

/* ── Logo ── */
.logo { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.logo-mark { width:36px; height:36px; flex-shrink:0; }
.logo-text { display:flex; flex-direction:column; }
.logo-name { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:19px; color:#1A1A1A; line-height:1; text-transform:uppercase; letter-spacing:.02em; }
.logo-sub  { font-family:'Barlow',sans-serif; font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#C0392B; line-height:1.4; }

/* ── Nav links ── */
.nav-links { display:flex; align-items:center; gap:4px; list-style:none; }
.nav-links a { display:block; padding:8px 11px; border-radius:6px; font-size:14px; font-weight:600; color:#555; white-space:nowrap; transition:color .2s, background .2s; position:relative; }
.nav-links a:hover { color:#1A1A1A; background:#F4F4F4; }
.nav-links a.active { color:#C0392B; }
.nav-links a.active::after { content:''; position:absolute; bottom:4px; left:11px; right:11px; height:2px; background:#C0392B; border-radius:2px; }

/* ── Nav right ── */
.nav-right { display:flex; align-items:center; gap:11px; flex-shrink:0; }
.nav-phone { display:flex; align-items:center; gap:6px; font-size:13.5px; font-weight:700; color:#333; white-space:nowrap; }
.nav-phone:hover { color:#C0392B; }
.btn-nav { padding:10px 18px; font-size:14px; }

/* ── Hamburger ── */
.hamburger { display:none; background:none; border:none; padding:8px; cursor:pointer; }
.hamburger span { display:block; width:22px; height:2px; background:#333; margin:5px 0; transition:transform .3s, opacity .3s; }
.hamburger.open span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

@media (max-width:1060px) { .nav-links { gap:2px; } .nav-links a { padding:8px 8px; font-size:13.5px; } .nav-phone { display:none; } }
@media (max-width:860px) {
  .hamburger { display:block; }
  .nav-links { position:fixed; top:0; right:0; bottom:0; width:76%; max-width:300px; background:#fff; border-left:1px solid #E5E5E5; flex-direction:column; align-items:flex-start; justify-content:flex-start; padding:88px 24px 24px; gap:4px; transform:translateX(100%); transition:transform .35s cubic-bezier(.22,.9,.32,1); box-shadow:-6px 0 28px rgba(0,0,0,.1); z-index:99; }
  .nav-links.open { transform:translateX(0); }
  .nav-links a { font-size:17px; padding:10px 12px; width:100%; }
  .btn-nav { padding:10px 16px; font-size:13px; }
}

/* ── Footer ── */
footer { background: #111; border-top: 1px solid #222; padding: 68px 0 0; }
.footer-top { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:40px; padding-bottom:52px; border-bottom:1px solid #222; }
.footer-brand .logo { margin-bottom:14px; }
.footer-brand p { font-size:13.5px; color:rgba(255,255,255,0.45); line-height:1.7; max-width:32ch; margin-bottom:18px; }
.footer-social { display:flex; gap:9px; }
.footer-social a { width:34px; height:34px; border-radius:7px; background:#1C1C1C; border:1px solid #2A2A2A; display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.5); transition:background .2s, color .2s, border-color .2s; }
.footer-social a:hover { background:#C0392B; border-color:#C0392B; color:#fff; }
.footer-col h5 { font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; color:rgba(255,255,255,.35); margin-bottom:16px; }
.footer-col ul li { margin-bottom:9px; }
.footer-col a { font-size:13.5px; color:rgba(255,255,255,.52); transition:color .2s; }
.footer-col a:hover { color:#C0392B; }
.contact-list li { display:flex; align-items:flex-start; gap:8px; color:rgba(255,255,255,.5); font-size:13px; padding:4px 0; }
.contact-list svg { margin-top:3px; flex-shrink:0; }
.contact-list a { color:rgba(255,255,255,.5); }
.contact-list a:hover { color:#C0392B; }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; padding:18px 0; flex-wrap:wrap; gap:8px; }
.footer-bottom p { font-size:12px; color:rgba(255,255,255,.25); }
@media (max-width:980px) { .footer-top { grid-template-columns:1fr 1fr; gap:28px; } }
@media (max-width:520px) { .footer-top { grid-template-columns:1fr; } .footer-bottom { flex-direction:column; align-items:flex-start; } }
