/*
Theme Name: Kjøkkenskreddern Child
Description: Child theme for Kjøkkenskreddern
Template: generatepress
Version: 1.0.0
Author: Mitro Norge
*/
/* ── KS FOOTER STYLES ─────────────────────────────────────────────────────── */
:root {
  --ks-salvie: #4A6D5C;
  --ks-salvie-h: #3d5c4d;
  --ks-honning: #C8935E;
  --ks-dyp-skog: #2E4237;
  --ks-tekst-myk: #4A5A52;
  --ks-kant-lys: #EDE9E2;
  --ks-krem: #FAF8F5;
  --ks-r: 6px;
  --ks-w: 1100px;
}

.ks-footer {
  background: var(--ks-dyp-skog);
  padding: 56px 0 28px;
  font-family: 'DM Sans', system-ui, sans-serif;
}

.ks-footer__wrap {
  max-width: var(--ks-w);
  margin: 0 auto;
  padding: 0 28px;
}

.ks-footer__grid {
  display: grid;
  grid-template-columns: 2.2fr 1fr 1fr 1fr;
  gap: 48px;
  margin-bottom: 48px;
}

.ks-footer__logo {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}

.ks-footer__logo-name {
  font-family: 'Lora', Georgia, serif;
  font-size: 1.0625rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.ks-footer__logo-sub {
  font-size: .58rem;
  color: var(--ks-salvie);
  letter-spacing: .18em;
  text-transform: uppercase;
}

.ks-footer__tagline {
  font-size: .875rem;
  color: rgba(255, 255, 255, .5);
  line-height: 1.65;
  max-width: 270px;
  margin: 0 0 16px;
}

.ks-footer__contact {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ks-footer__contact-link {
  font-size: .875rem;
  color: rgba(255, 255, 255, .55);
  display: flex;
  align-items: center;
  gap: 8px;
  transition: color .15s;
  text-decoration: none;
}

.ks-footer__contact-link:hover {
  color: var(--ks-honning);
}

.ks-footer__contact-link svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  flex-shrink: 0;
}

.ks-footer__col-heading {
  font-family: 'Lora', Georgia, serif;
  font-size: .875rem;
  font-weight: 600;
  color: #fff;
  margin-bottom: 14px;
}

.ks-footer__links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.ks-footer__links a {
  font-size: .875rem;
  color: rgba(255, 255, 255, .5);
  transition: color .15s;
  text-decoration: none;
}

.ks-footer__links a:hover {
  color: var(--ks-honning);
}

.ks-footer__bottom {
  border-top: 1px solid rgba(255, 255, 255, .07);
  padding-top: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.ks-footer__copy {
  font-size: .8125rem;
  color: rgba(255, 255, 255, .28);
}

.ks-footer__mitro {
  font-size: .8125rem;
  color: rgba(74, 109, 92, .85);
  font-weight: 500;
}

/* ── GP HEADER TILPASNINGER ────────────────────────────────────────────────── */
.site-header {
  background-color: #fff !important;
  border-bottom: 1px solid #EDE9E2;
  box-shadow: 0 1px 4px rgba(30,44,37,.07), 0 2px 8px rgba(30,44,37,.05);
}

.inside-header {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  min-height: 68px;
  display: flex;
  align-items: center;
}

.site-title a,
.site-title a:hover {
  color: var(--ks-dyp-skog);
  font-family: 'Lora', Georgia, serif;
  font-size: 1.0625rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.site-description {
  font-size: .58rem;
  color: var(--ks-salvie);
  letter-spacing: .18em;
  text-transform: uppercase;
}

/* Nav link styling */
.main-navigation .main-nav ul li a {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: .875rem;
  font-weight: 500;
  color: var(--ks-tekst-myk);
  padding: 8px 11px;
  border-radius: var(--ks-r);
  transition: all .15s;
}

.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li[class*="current-menu-"] > a {
  color: var(--ks-dyp-skog) !important;
  background: #ECF1EE;
}

/* Dropdown */
.main-navigation ul ul {
  background: #fff;
  border: 1px solid var(--ks-kant-lys);
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(30,44,37,.10), 0 8px 32px rgba(30,44,37,.07);
  padding: 8px;
}

.main-navigation ul ul a {
  border-radius: var(--ks-r);
  font-size: .875rem;
}

/* CTA in header - skjul GP default knapp, vis via custom */
.header-button a.button {
  background: var(--ks-salvie);
  color: #fff;
  border-radius: var(--ks-r);
  font-weight: 600;
  font-size: .9375rem;
  padding: 10px 20px;
  border: 2px solid var(--ks-salvie);
  transition: all .18s;
  text-decoration: none;
}

.header-button a.button:hover {
  background: var(--ks-salvie-h);
}

/* Sticky header */
.has-sticky-header .site-header {
  box-shadow: 0 1px 4px rgba(30,44,37,.07), 0 2px 8px rgba(30,44,37,.05);
}

/* ── RESPONSIV ─────────────────────────────────────────────────────────────── */
@media (max-width: 940px) {
  .ks-footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }
}

@media (max-width: 600px) {
  .ks-footer__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .ks-footer__tagline {
    max-width: 100%;
  }
}

/* ── MEGA MENU ──────────────────────────────────────────────── */
@media (min-width: 769px) {
    nav .main-nav .mega-menu { position: static; }
    nav .main-nav .mega-menu > ul {
        position: absolute; width: 100%; left: 0 !important;
        display: flex; flex-wrap: wrap;
    }
    nav .main-nav .mega-menu > ul > li > a { font-weight: bold; }
    nav .main-nav .mega-menu > ul > li {
        display: inline-block; width: 25%; vertical-align: top;
    }
    nav .main-nav .mega-menu.mega-menu-col-2 > ul > li { width: 50%; }
    nav .main-nav .mega-menu.mega-menu-col-3 > ul > li { width: 33.3333%; }
    nav .main-nav .mega-menu.mega-menu-col-4 > ul > li { width: 25%; }
    nav .main-nav .mega-menu.mega-menu-col-5 > ul > li { width: 20%; }
    nav .main-nav .mega-menu ul .sub-menu {
        position: static; display: block; opacity: 1;
        visibility: visible; width: 100%; box-shadow: none;
    }
}
