/* Webfonts: Lato (Google) + Museo (local OTF) */
/* Lato 400/700 self-hosted */
@font-face {
  font-family: "Lato";
  src: url("../fonts/lato/Lato-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Lato";
  src: url("../fonts/lato/Lato-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
/* Museo 500 & 700 (local) */
@font-face {
  font-family: "Museo";
  src: url("../fonts/Museo 500.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Museo";
  src: url("../fonts/Museo 700.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
:root {
  /* Map CSS tokens to theme.json presets for editor parity */
  --kf-font-sans: var(--wp--preset--font-family--lato);
  --kf-font-heading: var(--wp--preset--font-family--museo);
  --kf-font-mono: var(--wp--preset--font-family--mono);
}

:root {
  /* Foundation palette */
  --kf-color-foundation-snow: var(--wp--preset--color--foundation-snow);
  --kf-color-foundation-mist: var(--wp--preset--color--foundation-mist);
  --kf-color-foundation-ink: var(--wp--preset--color--foundation-ink);
  /* Accent palette */
  --kf-color-accent-magenta: var(--wp--preset--color--accent-magenta);
  --kf-color-accent-crimson: var(--wp--preset--color--accent-crimson);
  --kf-color-shop-cyan: var(--wp--preset--color--shop-cyan);
  /* Hobby area */
  --kf-color-hobby-050: var(--wp--preset--color--hobby-050);
  --kf-color-hobby-100: var(--wp--preset--color--hobby-100);
  --kf-color-hobby-200: var(--wp--preset--color--hobby-200);
  --kf-color-hobby-300: var(--wp--preset--color--hobby-300);
  /* Storys area */
  --kf-color-storys-050: var(--wp--preset--color--storys-050);
  --kf-color-storys-100: var(--wp--preset--color--storys-100);
  --kf-color-storys-200: var(--wp--preset--color--storys-200);
  --kf-color-storys-300: var(--wp--preset--color--storys-300);
  /* Profi area */
  --kf-color-profi-050: var(--wp--preset--color--profi-050);
  --kf-color-profi-100: var(--wp--preset--color--profi-100);
  --kf-color-profi-200: var(--wp--preset--color--profi-200);
  --kf-color-profi-300: var(--wp--preset--color--profi-300);
  /* Wir area */
  --kf-color-wir-050: var(--wp--preset--color--wir-050);
  --kf-color-wir-100: var(--wp--preset--color--wir-100);
  --kf-color-wir-200: var(--wp--preset--color--wir-200);
  --kf-color-wir-300: var(--wp--preset--color--wir-300);
}

:root {
  /* Core tokens consumed in components */
  --kf-bg: var(--kf-color-foundation-snow);
  --kf-fg: var(--kf-color-foundation-ink);
  --kf-accent: var(--kf-color-hobby-200);
  --kf-accent-shop: var(--kf-color-shop-cyan);
  --kf-border: color-mix(in oklab, var(--kf-fg) 15%, var(--kf-color-foundation-snow));
}

.u-color-shop {
  color: var(--kf-accent-shop);
}

.u-bg-shop {
  background-color: var(--kf-accent-shop);
}

.u-border {
  border: 1px solid var(--kf-border);
}

:root {
  --kf-space-1: clamp(0.25rem, 0.2rem + 0.2vw, 0.5rem);
  --kf-space-2: clamp(0.5rem, 0.4rem + 0.4vw, 1rem);
  --kf-space-3: clamp(0.75rem, 0.6rem + 0.6vw, 1.5rem);
  --kf-space-4: clamp(1rem, 0.8rem + 0.8vw, 2rem);
  --kf-space-5: clamp(1.5rem, 1.2rem + 1.2vw, 3rem);
  --kf-space-6: clamp(2rem, 1.6rem + 1.6vw, 4rem);
}

.u-gap-1 {
  gap: var(--kf-space-1);
}

.u-gap-2 {
  gap: var(--kf-space-2);
}

.u-gap-3 {
  gap: var(--kf-space-3);
}

.u-gap-4 {
  gap: var(--kf-space-4);
}

.u-gap-5 {
  gap: var(--kf-space-5);
}

.u-gap-6 {
  gap: var(--kf-space-6);
}

.u-max-w-xs {
  max-width: 20rem;
}

.u-max-w-sm {
  max-width: 24rem;
}

.u-max-w-md {
  max-width: 28rem;
}

.u-max-w-lg {
  max-width: 32rem;
}

.u-max-w-xl {
  max-width: 36rem;
}

.u-max-w-2xl {
  max-width: 42rem;
}

.u-max-w-3xl {
  max-width: 48rem;
}

.u-visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.u-mt-xs {
  margin-top: var(--kf-space-1);
}

.u-mb-xs {
  margin-bottom: var(--kf-space-1);
}

.u-pt-xs {
  padding-top: var(--kf-space-1);
}

.u-pb-xs {
  padding-bottom: var(--kf-space-1);
}

.u-mt-sm {
  margin-top: var(--kf-space-2);
}

.u-mb-sm {
  margin-bottom: var(--kf-space-2);
}

.u-pt-sm {
  padding-top: var(--kf-space-2);
}

.u-pb-sm {
  padding-bottom: var(--kf-space-2);
}

.u-mt-md {
  margin-top: var(--kf-space-3);
}

.u-mb-md {
  margin-bottom: var(--kf-space-3);
}

.u-pt-md {
  padding-top: var(--kf-space-3);
}

.u-pb-md {
  padding-bottom: var(--kf-space-3);
}

.u-mt-lg {
  margin-top: var(--kf-space-4);
}

.u-mb-lg {
  margin-bottom: var(--kf-space-4);
}

.u-pt-lg {
  padding-top: var(--kf-space-4);
}

.u-pb-lg {
  padding-bottom: var(--kf-space-4);
}

.u-mt-xl {
  margin-top: var(--kf-space-5);
}

.u-mb-xl {
  margin-bottom: var(--kf-space-5);
}

.u-pt-xl {
  padding-top: var(--kf-space-5);
}

.u-pb-xl {
  padding-bottom: var(--kf-space-5);
}

.u-gap-sm {
  gap: var(--kf-space-2);
}

.u-gap-md {
  gap: var(--kf-space-3);
}

.u-gap-lg {
  gap: var(--kf-space-4);
}

.u-gap-xl {
  gap: var(--kf-space-5);
}

.u-max-w-xxl {
  max-width: 64rem;
}

:root {
  --kf-type-size-xs: clamp(0.75rem, 0.7rem + 0.2vw, 0.875rem);
  --kf-type-size-sm: clamp(0.875rem, 0.82rem + 0.2vw, 1rem);
  --kf-type-size-base: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);
  --kf-type-size-lg: clamp(1.25rem, 1.1rem + 0.4vw, 1.5rem);
  --kf-type-size-xl: clamp(1.5rem, 1.3rem + 0.6vw, 1.875rem);
  --kf-type-size-2xl: clamp(1.875rem, 1.6rem + 0.8vw, 2.5rem);
  --kf-type-size-3xl: clamp(2.25rem, 1.9rem + 1vw, 3.25rem);
}

h1,
.h1 {
  font-size: var(--kf-type-size-3xl);
  line-height: 1.05;
  font-weight: 700;
}

h2,
.h2 {
  font-size: var(--kf-type-size-2xl);
  line-height: 1.1;
  font-weight: 600;
}

h3,
.h3 {
  font-size: var(--kf-type-size-xl);
  line-height: 1.15;
  font-weight: 600;
}

p {
  font-size: var(--kf-type-size-base);
  line-height: 1.7;
}

.u-eyebrow {
  font-size: var(--kf-type-size-xs);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.kf-feature-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--kf-space-4);
}
.kf-feature-grid__item {
  grid-column: span 12;
  display: grid;
  grid-template-rows: auto 1fr auto;
  padding: var(--kf-space-4);
  border: 1px solid var(--kf-border);
  border-radius: 12px;
  background: var(--kf-bg);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.kf-feature-grid__item:hover, .kf-feature-grid__item:focus-within {
  transform: translateY(-2px);
  box-shadow: 0 6px 24px color-mix(in oklab, var(--kf-fg) 20%, transparent);
}
.kf-feature-grid__item .kf-feature-grid__icon {
  inline-size: 3rem;
  block-size: 3rem;
  margin-block-end: var(--kf-space-3);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.75rem;
}
.kf-feature-grid__item .kf-feature-grid__title {
  margin: 0 0 var(--kf-space-2);
  font-weight: 700;
}
.kf-feature-grid__item .kf-feature-grid__text {
  margin: 0 0 var(--kf-space-3);
}
@media (min-width: 48rem) {
  .kf-feature-grid__item {
    grid-column: span 6;
  }
}
@media (min-width: 64rem) {
  .kf-feature-grid__item {
    grid-column: span 4;
  }
}

.wp-block-navigation__responsive-container-close svg,
.wp-block-navigation__responsive-container-open svg {
  height: 4.5vw;
  width: 4.5vw;
}

.shop-button {
  height: auto;
  aspect-ratio: 1/1 !important;
  min-width: 100px;
  width: 100%;
}

.page-logo {
  min-height: 100px;
  max-height: 100px;
  width: 100%;
  height: 100%;
}

.kf-page-list {
  top: -50px;
  position: absolute;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  min-height: 100px;
  justify-content: start;
  z-index: 50;
}
.kf-page-list > .wp-block-navigation-item {
  border: none;
  width: 100px;
  aspect-ratio: 1/1;
  color: white;
  text-transform: uppercase;
  justify-content: center;
  display: flex;
}
.kf-page-list > .wp-block-navigation-item:nth-child(even) {
  left: 100px;
}
.kf-page-list > .wp-block-navigation-item > .wp-block-pages-list__submenu-container {
  width: 100%;
  padding-left: 0;
  height: initial;
  aspect-ratio: initial;
}
.kf-page-list > .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu {
  outline: 0;
  border: 0;
  background: none;
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  width: 200% !important;
  min-width: auto !important;
  top: calc(100% - 1px);
  left: 0;
}
.kf-page-list > .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu > .wp-block-navigation-item {
  width: 100%;
  margin-bottom: 0;
}
.kf-page-list > .wp-block-navigation-item:nth-child(-n+2) .wp-block-navigation__submenu-container.wp-block-navigation-submenu {
  bottom: calc(100% - 1px);
  top: auto;
}
.kf-page-list > .wp-block-navigation-item:nth-child(2n) .wp-block-navigation__submenu-container.wp-block-navigation-submenu {
  left: calc(-100% - 1px);
}
.kf-page-list > .wp-block-navigation-item.hobby {
  background-color: var(--kf-color-hobby-100);
}
.kf-page-list > .wp-block-navigation-item.hobby .wp-block-navigation-submenu .wp-block-navigation-item:nth-child(4) {
  background-color: var(--kf-color-hobby-300);
}
.kf-page-list > .wp-block-navigation-item.hobby .wp-block-navigation-submenu .wp-block-navigation-item:nth-child(3) {
  background-color: var(--kf-color-hobby-200);
}
.kf-page-list > .wp-block-navigation-item.hobby .wp-block-navigation-submenu .wp-block-navigation-item:nth-child(2) {
  background-color: var(--kf-color-hobby-100);
}
.kf-page-list > .wp-block-navigation-item.hobby .wp-block-navigation-submenu .wp-block-navigation-item:nth-child(1) {
  background-color: var(--kf-color-hobby-050);
}
.kf-page-list > .wp-block-navigation-item.profi {
  background-color: var(--kf-color-profi-100);
}
.kf-page-list > .wp-block-navigation-item.profi .wp-block-navigation-submenu .wp-block-navigation-item:nth-child(4) {
  background-color: var(--kf-color-profi-300);
}
.kf-page-list > .wp-block-navigation-item.profi .wp-block-navigation-submenu .wp-block-navigation-item:nth-child(3) {
  background-color: var(--kf-color-profi-200);
}
.kf-page-list > .wp-block-navigation-item.profi .wp-block-navigation-submenu .wp-block-navigation-item:nth-child(2) {
  background-color: var(--kf-color-profi-100);
}
.kf-page-list > .wp-block-navigation-item.profi .wp-block-navigation-submenu .wp-block-navigation-item:nth-child(1) {
  background-color: var(--kf-color-profi-050);
}
.kf-page-list > .wp-block-navigation-item.storys {
  background-color: var(--kf-color-storys-100);
}
.kf-page-list > .wp-block-navigation-item.storys .wp-block-navigation-submenu .wp-block-navigation-item:nth-child(4) {
  background-color: var(--kf-color-storys-300);
}
.kf-page-list > .wp-block-navigation-item.storys .wp-block-navigation-submenu .wp-block-navigation-item:nth-child(3) {
  background-color: var(--kf-color-storys-200);
}
.kf-page-list > .wp-block-navigation-item.storys .wp-block-navigation-submenu .wp-block-navigation-item:nth-child(2) {
  background-color: var(--kf-color-storys-100);
}
.kf-page-list > .wp-block-navigation-item.storys .wp-block-navigation-submenu .wp-block-navigation-item:nth-child(1) {
  background-color: var(--kf-color-storys-050);
}
.kf-page-list > .wp-block-navigation-item.wir {
  background-color: var(--kf-color-wir-100);
}
.kf-page-list > .wp-block-navigation-item.wir .wp-block-navigation-submenu .wp-block-navigation-item:nth-child(1) {
  background-color: var(--kf-color-wir-300);
}
.kf-page-list > .wp-block-navigation-item.wir .wp-block-navigation-submenu .wp-block-navigation-item:nth-child(2) {
  background-color: var(--kf-color-wir-200);
}
.kf-page-list > .wp-block-navigation-item.wir .wp-block-navigation-submenu .wp-block-navigation-item:nth-child(3) {
  background-color: var(--kf-color-wir-100);
}
.kf-page-list > .wp-block-navigation-item.wir .wp-block-navigation-submenu .wp-block-navigation-item:nth-child(4) {
  background-color: var(--kf-color-wir-050);
}
.kf-page-list.wp-block-navigation__container:only-child, .kf-page-list.wp-block-page-list:only-child {
  flex-grow: 0;
}

/* Center each grid item (LI) within the grid cells */
.kf-page-list > .wp-block-navigation-item__content {
  justify-self: center;
}

/* Sticky transparent top bar that overlaps the slider */
.kf-topbar {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  background: transparent;
  width: 100%;
}

.kf-topbar + .block-cb-carousel-v2.cb-carousel-block .swiper {
  margin-bottom: 0;
}

/* Ensure the central logo group has no background in the topbar */
.kf-topbar .page-logo {
  background: transparent;
}

.wp-block-post.category-uncategorized .wp-block-cover .wp-block-cover__background {
  background-color: transparent !important;
}

.wp-block-post.category-hobby .wp-block-cover .wp-block-cover__background {
  background-color: var(--wp--preset--color--hobby-100) !important;
}

.wp-block-post.category-profi .wp-block-cover .wp-block-cover__background {
  background-color: var(--wp--preset--color--profi-200) !important;
}

.wp-block-post.category-wir .wp-block-cover .wp-block-cover__background {
  background-color: var(--wp--preset--color--wir-100) !important;
}

.wp-block-post.category-storys .wp-block-cover .wp-block-cover__background {
  background-color: var(--wp--preset--color--storys-100) !important;
}

.kf-header h1,
.kf-header h2 {
  text-shadow: 1px 1px 10px black;
}

#ThumbMenu h1 a:hover {
  color: white;
  text-decoration: none;
}
#ThumbMenu .wp-block-cover {
  position: relative;
  overflow: hidden;
}
#ThumbMenu .wp-block-cover__background,
#ThumbMenu .wp-block-cover__inner-container {
  position: absolute;
  top: auto;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
  transition: height 320ms ease, padding 320ms ease, font-size 320ms ease;
  box-sizing: border-box;
}
#ThumbMenu .wp-block-cover__inner-container {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 1em;
  padding: var(--wp--preset--spacing--30, 1.5rem);
  height: 45%;
  font-size: 0.95em;
}
#ThumbMenu .wp-block-cover:hover .wp-block-cover__background,
#ThumbMenu .wp-block-cover:focus-within .wp-block-cover__background {
  height: 45%;
}
#ThumbMenu .wp-block-cover:hover .wp-block-cover__inner-container,
#ThumbMenu .wp-block-cover:focus-within .wp-block-cover__inner-container {
  height: 45%;
  padding: var(--wp--preset--spacing--20);
}

/* Carousel Slider v2 (cb/carousel-v2) theme integration */
.wp-block-cb-carousel-v2.cb-carousel-block {
  margin-top: 0;
  margin-bottom: 0;
}
.wp-block-cb-carousel-v2.cb-carousel-block .swiper {
  margin-bottom: 0;
}

body {
  font-family: var(--kf-font-sans);
  color: var(--kf-fg);
  background: var(--kf-bg);
}

p, ul, ol, li {
  font-family: var(--kf-font-sans);
  font-weight: 400;
}

h1, h2 {
  font-family: var(--kf-font-heading);
  font-weight: 500;
}

/* Sizes per request (relative units)
   - H1: 56px -> 3.5rem
   - H2: 48px -> 3rem
*/
h1 {
  font-size: 3.5rem;
}

h2 {
  font-size: 3rem;
}

a {
  color: var(--kf-accent);
  text-decoration: none;
}
a:hover, a:focus {
  color: color-mix(in oklab, var(--kf-accent) 88%, var(--kf-color-foundation-snow));
  text-decoration: underline;
}
a:focus-visible {
  outline: 3px solid color-mix(in oklab, var(--kf-accent) 60%, transparent);
  outline-offset: 3px;
  text-decoration: underline;
}

.wp-block-button__link {
  font-family: var(--kf-font-sans);
  font-weight: 700; /* Lato Bold for CTA */
  font-size: 1rem; /* 16px */
}
.wp-block-button__link:focus-visible {
  outline: 3px solid color-mix(in oklab, var(--kf-accent) 70%, transparent);
  outline-offset: 3px;
}

/* Navigation typography */
.wp-block-navigation a,
.wp-block-navigation__container > .wp-block-navigation-item > a {
  font-family: var(--kf-font-sans);
  font-weight: 700; /* Lato Bold */
  font-size: 1.125rem; /* 18px */
}

/* Sub-navigation (dropdowns) */
.wp-block-navigation__submenu-container a {
  font-family: var(--kf-font-sans);
  font-weight: 700; /* Lato Bold */
  font-size: 0.875rem; /* 14px */
}

/* Intro/banner text utility (Museo 700 at 24px) */
.u-intro-text {
  font-family: var(--kf-font-heading);
  font-weight: 700;
  font-size: 1.5rem; /* 24px */
}

.kf-highlight-card {
  box-shadow: 0 16px 32px rgba(15, 23, 42, 0.08);
  background: var(--kf-bg);
  border: 1px solid var(--kf-border);
  border-radius: 1.25rem;
  padding: var(--kf-space-4);
}
.kf-highlight-card__link {
  margin-top: var(--kf-space-3);
  font-weight: 600;
}
.kf-highlight-card__link a {
  color: var(--kf-accent);
}
.kf-highlight-card__link a:hover, .kf-highlight-card__link a:focus {
  color: color-mix(in oklab, var(--kf-accent) 88%, var(--kf-color-foundation-snow));
}

.btn-primary {
  background: var(--kf-accent);
  border: none;
  border-radius: 999px;
  color: var(--kf-color-foundation-snow);
  padding: 0.65rem 1.5rem;
  transition: background 0.2s ease-in-out;
}
.btn-primary:hover, .btn-primary:focus {
  background: color-mix(in oklab, var(--kf-accent) 88%, var(--kf-color-foundation-ink));
}

.kf-hero {
  position: relative;
  display: grid;
  gap: var(--kf-space-3);
  align-content: start;
  background: linear-gradient(135deg, color-mix(in oklab, var(--kf-accent) 12%, transparent), color-mix(in oklab, var(--kf-accent) 5%, transparent));
  color: var(--kf-fg);
  border-radius: 1.75rem;
}
.kf-hero .wp-block-buttons {
  gap: var(--kf-space-2);
}

@media (max-width: 782px) {
  .kf-hero {
    text-align: center;
  }
  .kf-hero .wp-block-buttons {
    justify-content: center;
  }
}
.notice-warning.update-nag {
  display: none;
}

/*# sourceMappingURL=style.css.map */
