/* ===== BASE STYLES (NORMAL FOOTER, NO “STICKY-STRETCH” TRASH) ===== */
:root{
  --accent-primary:#c39662;
  --accent-soft:#d4b28c;
  --text-primary:#1a1a1a;
  --text-secondary:#666;
  --bg-light:#f9f7f4;
  --border-light:#e8e2db;

  --container-max:1440px;
  --container-pad:clamp(12px,1.8vw,40px);

  --space-8:8px;
  --space-16:16px;
  --space-24:24px;
  --space-32:32px;
  --space-40:40px;
  --space-48:48px;
  --space-56:56px;
  --space-64:64px;

  /* === FONTS (единая система) === */
  --font-display:"Playfair Display", serif;
  --font-ui:"Source Sans 3", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --font-body:var(--font-ui);

  /* веса */
  --weight-display:400;
  --weight-ui:400;
}

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

html{
  font-size:62.5%;
  scroll-behavior:smooth;
}

body{
  margin:0;
  padding:0;
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6;
  color:var(--text-primary);
  background:#fff;
  overflow-x:hidden;
}

/* картинки/ссылки */
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;transition:color .3s ease;}

h1,h2,h3,.h1,.h2,.h3{
  font-family:var(--font-display);
  font-weight:var(--weight-display,400);
  letter-spacing:.5px;
  color:var(--accent-primary);
}

/* контейнеры */
.container,
.sp-container{
  max-width:70%;
  margin-inline:auto;
  padding-inline:var(--container-pad);
}

/* Основная структура страницы */
html, body {
    margin: 0;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* Главный контент должен растягиваться */
main,
.sp-editorial,
.page-content {
    flex: 1 0 auto;
}

/* Футер всегда внизу */
.sp-footer {
    flex-shrink: 0;
}
