/* =============================================================
   ЕДИНЫЙ HEADER + FOOTER для всех страниц tatyana-puchkova.ru
   Используется на: /, /calc/*, /blog/*, /legal/*
   ============================================================= */

:root{
  --wine:#4A1023; --wine-1:#5d172e;
  --brass:#B5915A; --brass-1:#a07f49; --brass-2:#8a6e3f;
  --cream:#FBF6EC; --cream-1:#F5EDDC;
  --coal:#1E1A18; --coal-1:#2a2421; --coal-2:#494340;
  --line:#E4D9C5; --muted:#8a7f6e;
  --display-stack:'Manrope',-apple-system,system-ui,'Segoe UI',Arial,sans-serif;
  --sans-stack:'Inter',-apple-system,system-ui,'Segoe UI',Arial,sans-serif;
  --mono-stack:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;
}

/* =========== HEADER =========== */
.site-nav,.calc-nav,.blog-nav,header.nav{
  position:sticky;top:0;
  background:rgba(251,246,236,.95);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  z-index:100;border-bottom:1px solid var(--line)
}
.site-nav-inner,.calc-nav-inner,.blog-nav-inner,.nav-row{
  max-width:none;width:100%;
  margin:0 auto;padding:14px 56px;
  display:flex;align-items:center;justify-content:space-between;gap:32px
}
.site-brand,.calc-brand,.blog-brand,.brand{
  display:flex;align-items:center;gap:12px;
  text-decoration:none;color:var(--coal);flex-shrink:0
}
.site-brand-mark,.calc-brand-mark,.blog-brand-mark,.brand-mark{
  width:44px;height:44px;
  background:var(--wine);color:var(--cream);
  display:flex;align-items:center;justify-content:center;
  border-radius:6px;
  font-family:var(--display-stack);font-weight:800;font-size:16px;letter-spacing:-.02em;
  flex-shrink:0
}
.site-brand-text,.calc-brand-text,.blog-brand-text,.brand-text{
  font-family:var(--display-stack);font-weight:800;font-size:18px;
  color:var(--coal);letter-spacing:-.018em;line-height:1.05
}
.site-brand-text small,.calc-brand-text small,.blog-brand-text small,.brand-text small{
  display:block;
  font-family:var(--mono-stack);font-weight:400;font-size:10px;
  color:var(--coal-2);letter-spacing:.08em;text-transform:uppercase;
  margin-top:3px
}
.site-nav-links,.calc-nav-links,.blog-nav-links,.nav-links{
  display:flex;gap:24px;align-items:center;
  font-family:var(--mono-stack);font-size:11.5px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--coal-2)
}
.site-nav-links a,.calc-nav-links a,.blog-nav-links a,.nav-links a{
  color:var(--coal-2);text-decoration:none;transition:color .14s
}
.site-nav-links a:hover,.calc-nav-links a:hover,.blog-nav-links a:hover,.nav-links a:hover{color:var(--wine)}
.site-cta,.calc-cta,.blog-cta,.nav-cta{
  background:var(--wine);color:var(--cream);
  font-family:var(--display-stack);font-weight:700;font-size:12px;letter-spacing:.06em;
  text-transform:uppercase;padding:11px 18px;border-radius:4px;
  text-decoration:none;transition:background .14s;flex-shrink:0
}
.site-cta:hover,.calc-cta:hover,.blog-cta:hover,.nav-cta:hover{background:var(--wine-1);color:var(--cream)}

@media (max-width:1100px){
  .site-nav-inner,.calc-nav-inner,.blog-nav-inner,.nav-row{padding:12px 32px;gap:16px}
  .site-nav-links,.calc-nav-links,.blog-nav-links,.nav-links{gap:18px;font-size:10.5px}
}
@media (max-width:780px){
  .site-nav-links,.calc-nav-links,.blog-nav-links,.nav-links{display:none}
  .site-brand-text small,.calc-brand-text small,.blog-brand-text small,.brand-text small{display:none}
}
@media (max-width:540px){
  .site-nav-inner,.calc-nav-inner,.blog-nav-inner,.nav-row{padding:12px 18px;gap:10px}
  .site-brand-mark,.calc-brand-mark,.blog-brand-mark,.brand-mark{width:38px;height:38px;font-size:14px}
  .site-brand-text,.calc-brand-text,.blog-brand-text,.brand-text{font-size:15px}
  .site-cta,.calc-cta,.blog-cta,.nav-cta{padding:9px 12px;font-size:11px}
}

/* =========== ЕДИНАЯ ШИРИНА КОНТЕЙНЕРОВ =========== */
/* Перебивает старые max-width:1240/1760 — теперь весь сайт фуллскрин с минимальным padding */
.wrap,.calc-hero,.calc-shell,.calc-footer-inner,.calc-footer-bottom,
.blog-hero,.blog-shell,.blog-footer-inner,.blog-footer-bottom{
  max-width:none !important;width:100% !important;
  padding-left:56px !important;padding-right:56px !important
}
@media (max-width:540px){
  .wrap,.calc-hero,.calc-shell,.calc-footer-inner,.calc-footer-bottom,
  .blog-hero,.blog-shell,.blog-footer-inner,.blog-footer-bottom{
    padding-left:20px !important;padding-right:20px !important
  }
}

/* =========== БУРГЕР + МОБИЛЬНОЕ МЕНЮ (ФИКС) =========== */
.site-burger{
  display:none;
  width:44px;height:44px;
  background:transparent;border:1px solid rgba(30,26,24,.15);
  border-radius:6px;
  flex-direction:column;align-items:center;justify-content:center;gap:5px;
  cursor:pointer;padding:0;
  flex-shrink:0;
  transition:border-color .18s ease
}
.site-burger:hover{border-color:var(--wine)}
.site-burger span{
  display:block;width:22px;height:2px;background:var(--coal);
  border-radius:2px;
  transition:transform .22s cubic-bezier(.16,1,.3,1),opacity .18s
}
.site-burger.is-open{border-color:var(--wine);background:var(--wine)}
.site-burger.is-open span{background:var(--cream)}
.site-burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.site-burger.is-open span:nth-child(2){opacity:0}
.site-burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media (max-width:780px){
  .site-burger{display:flex}
  /* Скрываем CTA-кнопку на моб — есть в выпадающем меню */
  .site-cta{display:none}

  /* Выпадающее меню — оверлей на весь экран под шапкой */
  .site-nav-links{
    display:none !important;
    position:fixed;top:64px;left:0;right:0;bottom:0;
    background:var(--cream);
    flex-direction:column;align-items:stretch;
    gap:0;padding:24px 20px 32px;
    overflow-y:auto;
    z-index:99;
    border-top:1px solid var(--line);
    animation:none
  }
  .site-nav-links.is-open{
    display:flex !important;
    animation:navSlideDown .28s cubic-bezier(.16,1,.3,1)
  }
  .site-nav-links a{
    display:block;padding:16px 8px;font-size:15px;letter-spacing:.06em;
    border-bottom:1px solid var(--line);color:var(--coal)
  }
  .site-nav-links a:last-of-type{border-bottom:0}
  .site-nav-links a:hover{color:var(--wine);background:rgba(74,16,35,.03)}
}
@keyframes navSlideDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* =========== ФУТЕР — АДАПТИВ + SEO-БЛОКИ =========== */
.site-footer{background:var(--coal);color:var(--cream);padding:64px 0 0;margin-top:0;font-family:var(--sans-stack)}
.site-footer-inner{
  max-width:1560px;margin:0 auto;padding:0 56px 40px;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:36px 32px
}
.site-footer-brand{grid-column:span 2}
.site-footer-brand .site-brand{color:var(--cream);margin-bottom:16px}
.site-footer-brand .site-brand-mark{background:var(--wine);color:var(--brass)}
.site-footer-brand .site-brand-text{color:var(--cream);font-size:17px}
.site-footer-brand .site-brand-text small{color:var(--brass);font-size:10px}
.site-footer-brand p{font-size:13.5px;line-height:1.6;color:rgba(251,246,236,.65);margin:0 0 16px}
.site-footer-meta{display:flex;flex-direction:column;gap:6px;font-family:var(--mono-stack);font-size:11.5px;color:var(--brass);letter-spacing:.04em}
.site-footer-cell h5{
  font-family:var(--display-stack);font-weight:800;font-size:12px;letter-spacing:.14em;
  color:var(--brass);text-transform:uppercase;margin:0 0 16px;padding-bottom:10px;
  border-bottom:1px solid rgba(181,145,90,.2)
}
.site-footer-cell a{
  display:block;color:rgba(251,246,236,.72);text-decoration:none;
  font-size:13.5px;line-height:1.5;padding:5px 0;transition:color .14s
}
.site-footer-cell a:hover{color:var(--brass)}

.site-footer-tags{
  max-width:1560px;margin:0 auto;padding:24px 56px 32px;
  border-top:1px solid rgba(251,246,236,.08);
  font-size:12.5px;line-height:2;color:rgba(251,246,236,.4)
}
.site-footer-tags b{color:var(--brass);font-family:var(--mono-stack);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;display:block;margin-bottom:12px}
.site-footer-tags a{
  display:inline-block;color:rgba(251,246,236,.55);text-decoration:none;
  padding:3px 10px;margin:2px 4px 2px 0;
  background:rgba(251,246,236,.04);border:1px solid rgba(251,246,236,.06);
  border-radius:99px;
  transition:all .14s
}
.site-footer-tags a:hover{background:rgba(181,145,90,.15);border-color:rgba(181,145,90,.4);color:var(--brass)}

.site-footer-bottom{
  max-width:1560px;margin:0 auto;padding:20px 56px 24px;
  border-top:1px solid rgba(251,246,236,.08);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
  font-family:var(--mono-stack);font-size:11px;color:rgba(251,246,236,.4);
  letter-spacing:.04em
}
.site-footer-bottom a{color:inherit;text-decoration:none}
.site-footer-bottom a:hover{color:var(--brass)}

@media (max-width:900px){
  .site-footer-inner{padding:0 32px 32px;gap:28px}
  .site-footer-brand{grid-column:span 1}
  .site-footer-tags,.site-footer-bottom{padding-left:32px;padding-right:32px}
}
@media (max-width:540px){
  .site-footer{padding-top:40px;margin-top:0}
  .site-footer-inner{padding:0 20px 24px;gap:24px;grid-template-columns:1fr}
  .site-footer-tags{padding:20px 20px 24px}
  .site-footer-bottom{padding:16px 20px 20px;font-size:10.5px}
  .site-footer-cell h5{margin-bottom:12px;font-size:11.5px}
}
