:root {
  /* Konyhai Asszisztens hivatalos modulszínek */
  --ka-home: #ffb300;
  --ka-home-soft: #ffecb3;

  --ka-recipes: #c96f45;
  --ka-recipes-dark: #a9532e;
  --ka-recipes-soft: #fbe1d4;

  --ka-shopping: #629879;
  --ka-shopping-soft: #e1f0e5;

  --ka-planner: #8171b1;
  --ka-planner-soft: #eae5f5;

  --ka-settings: #546e7a;
  --ka-settings-soft: #cfd8dc;

  --ka-profile: #00897b;
  --ka-profile-soft: #b2dfdb;

  --ka-community: #fb8c00;
  --ka-community-soft: #ffe0b2;

  --ka-favorites: #be5f7a;
  --ka-favorites-soft: #f8e1e8;

  /* Semleges színek */
  --ka-background: #fffbff;
  --ka-surface: #fffefc;
  --ka-surface-warm: #fff8f1;
  --ka-text-primary: #1d1b20;
  --ka-text-secondary: #49454f;
  --ka-divider: #e8e0db;

  /* Méretek */
  --ka-content-width: 1200px;
  --ka-radius-small: 12px;
  --ka-radius-medium: 20px;
  --ka-radius-large: 32px;
  --ka-radius-card: 22px;
  --ka-section-space: 84px;
  --ka-section-title-size: clamp(30px, 3vw, 40px);
  --ka-section-intro-size: clamp(16px, 1.9vw, 18px);

  /* Árnyékok */
  --ka-shadow-soft: 0 12px 32px rgb(0 0 0 / 5%);
  --ka-shadow-card: 0 16px 34px rgb(29 27 32 / 8%);
  --ka-shadow-card-hover: 0 20px 40px rgb(29 27 32 / 10%);

  /* Animáció */
  --ka-transition: 220ms cubic-bezier(0.2, 0.8, 0.2, 1);

  /* Sticky fejléc és szekciónavigáció */
  --ka-header-height: 70px;
  --ka-anchor-gap: 24px;
  --ka-anchor-offset: calc(var(--ka-header-height) + var(--ka-anchor-gap));
}

html {
  scroll-behavior: smooth;
}

/* Az Astra fő fejléce a dokumentumfolyamban marad, így nem ugrik el a tartalom. */
#masthead.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: var(--ka-surface);
  box-shadow: 0 4px 18px rgb(29 27 32 / 7%);
}

body.admin-bar #masthead.site-header {
  top: 32px;
}

/* Minden jelenlegi és későbbi kezdőlapi szekció-anchor ugyanazt az offsetet kapja. */
body.home .ka-main > section[id] {
  scroll-margin-top: var(--ka-anchor-offset);
}

body {
  margin: 0;
  background: var(--ka-background);
  color: var(--ka-text-primary);
  font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
    sans-serif;
  font-size: 16px;
  line-height: 1.6;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

img {
  display: block;
  max-width: 100%;
}

.ka-container {
  width: min(calc(100% - 32px), var(--ka-content-width));
  margin-inline: auto;
}

.ka-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  border: 2px solid transparent;
  border-radius: var(--ka-radius-small);
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition:
    transform var(--ka-transition),
    box-shadow var(--ka-transition),
    background-color var(--ka-transition);
}

.ka-button:hover,
.ka-button:focus-visible {
  transform: translateY(-2px);
}

.ka-button:focus-visible {
  outline: 3px solid var(--ka-recipes-dark);
  outline-offset: 3px;
}

.ka-button--primary {
  background: var(--ka-recipes);
  color: #fff;
  box-shadow: 0 10px 24px rgb(201 111 69 / 24%);
}

.ka-button--primary:hover,
.ka-button--primary:focus-visible {
  background: var(--ka-recipes-dark);
  color: #fff;
}

.ka-button--secondary {
  border-color: var(--ka-recipes);
  background: transparent;
  color: var(--ka-recipes);
}

.ka-button--secondary:hover,
.ka-button--secondary:focus-visible {
  background: var(--ka-recipes-soft);
  color: var(--ka-recipes-dark);
}

body.home .site-content,
body.home .content-area,
body.home .site-main,
body.home .entry-content,
body.home #main-content,
body.home .ka-main {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

body.home .ast-container,
body.home .site-content .ast-container {
  width: 100%;
  max-width: none;
  margin: 0;
  padding-left: 0;
  padding-right: 0;
}

body.home .ka-main > section {
  width: 100%;
}

@media (max-width: 600px) {
  :root {
    --ka-header-height: 64px;
    --ka-anchor-gap: 18px;
    --ka-section-space: 64px;
    --ka-section-title-size: clamp(26px, 7vw, 32px);
    --ka-section-intro-size: 15px;
  }

  .ka-container {
    width: min(calc(100% - 28px), var(--ka-content-width));
  }

  /* Ezen a törésponton a WordPress admin bar már nem fix pozíciójú. */
  body.admin-bar #masthead.site-header {
    top: 0;
  }
}

@media (min-width: 601px) and (max-width: 782px) {
  :root {
    --ka-header-height: 66px;
    --ka-anchor-gap: 20px;
    --ka-section-space: 76px;
  }

  body.admin-bar #masthead.site-header {
    top: 46px;
  }
}

@media (min-width: 783px) and (max-width: 960px) {
  :root {
    --ka-header-height: 68px;
    --ka-anchor-gap: 22px;
    --ka-section-space: 76px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
