/* Klesskapet – rammen: header, meny, footer, seksjoner, tekstsider, tomme tilstander. */

body { background: var(--kk-krem); }
.wp-site-blocks > * + * { margin-block-start: 0; }
.kk-etikett { font: 700 11px/1.3 var(--kk-tekst); letter-spacing: .1em; text-transform: uppercase; color: var(--kk-dempet); }
.kk-fotnote { font-size: 12px; color: var(--kk-dempet); }
.kk-seksjon { padding-block: 56px 0; }
.kk-forside > :last-child { padding-bottom: 72px; }
h1, h2, h3 { text-wrap: balance; }

/* ---------- Header ---------- */
.kk-stripe__mer { white-space: nowrap; }
.kk-header { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; padding: 18px 56px; border-bottom: 1px solid rgba(0,0,0,.06); background: var(--kk-krem); position: relative; z-index: 20; }
.kk-header > * { margin: 0 !important; }
.kk-nav { font: 700 15px/1.2 var(--kk-tekst); }
.kk-nav .wp-block-navigation__container { gap: 26px; }
.kk-nav a { color: var(--kk-mork); text-decoration: none; }
.kk-nav a:hover { color: var(--kk-brun); }
.kk-nav .wp-block-navigation__submenu-container { border: 1px solid var(--kk-linje) !important; border-radius: 16px; padding: 10px !important; background: var(--kk-krem) !important; box-shadow: 0 12px 30px rgba(0,0,0,.08); min-width: 230px !important; }
.kk-nav .wp-block-navigation__submenu-container a { padding: 8px 12px !important; border-radius: 10px; font-weight: 600; }
.kk-nav .wp-block-navigation__submenu-container a:hover { background: var(--kk-sand); }
.kk-nav .kk-bare-mobil { display: none; }
.kk-header .kk-logo { justify-self: center; }
.kk-header__hoyre { justify-self: end; gap: 22px; font: 700 14px/1.2 var(--kk-tekst); }
.kk-header__hoyre a { color: var(--kk-mork); text-decoration: none; }
.kk-header__hoyre p { margin: 0; }

/* Søk: knapp med tekst som åpner feltet */
.kk-sok .wp-block-search__button { background: none; color: var(--kk-mork); padding: 0; font: 700 14px/1.2 var(--kk-tekst); border: 0; margin: 0; }
.kk-sok .wp-block-search__input { border: 1px solid var(--kk-kant); border-radius: 999px; padding: 8px 14px; font: 600 14px var(--kk-tekst); background: #fff; }
.kk-sok.wp-block-search__searchfield-hidden .wp-block-search__input { border: 0; padding: 0; }
.kk-sok:not(.wp-block-search__searchfield-hidden) .wp-block-search__button { margin-left: 10px; }

/* Kurv: «Kurv · 3» */
.kk-kurv .wc-block-mini-cart__button { padding: 0; gap: 0; font: 700 14px/1.2 var(--kk-tekst); color: var(--kk-mork); }
.kk-kurv .wc-block-mini-cart__button::before { content: "Kurv"; }
.kk-kurv .wc-block-mini-cart__icon { display: none; }
.kk-kurv .wc-block-mini-cart__quantity-badge { display: inline-flex; }
.kk-kurv .wc-block-mini-cart__badge { position: static; transform: none; min-width: 0; height: auto; padding: 0; margin-left: 0; border: 0; background: none !important; color: inherit !important; font: inherit; }
.kk-kurv .wc-block-mini-cart__badge::before { content: " · "; white-space: pre; }

/* Header i kassen */
.kk-header--kasse .kk-header__tilbake { font: 700 14px var(--kk-tekst); }
.kk-header--kasse .kk-header__tilbake a { color: var(--kk-mork); text-decoration: none; }
.kk-header--kasse .kk-header__trygg { justify-self: end; font: 600 13px var(--kk-tekst); color: var(--kk-dempet); }

/* ---------- Footer ---------- */
.kk-footer { background: var(--kk-sand); padding: 40px 64px 28px; margin-top: 72px; font-size: 14px; }
.kk-footer__kolonner { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 32px; }
.kk-footer__kolonner > * { margin: 0 !important; }
.kk-footer__om p { color: var(--kk-dempet); max-width: 260px; margin-top: 14px; }
.kk-footer__tittel { font: 700 11px/1.3 var(--kk-tekst) !important; letter-spacing: .1em; text-transform: uppercase; color: var(--kk-dempet); margin: 6px 0 12px !important; }
.kk-footer__lenker { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.kk-footer__lenker a { color: var(--kk-mork); text-decoration: none; font-weight: 600; }
.kk-footer__lenker a:hover { color: var(--kk-brun); text-decoration: underline; text-underline-offset: 3px; }
.kk-footer__bunn { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; margin-top: 36px; padding-top: 20px; border-top: 1px solid var(--kk-linje); font-size: 12.5px; color: var(--kk-dempet); }
.kk-footer__bunn p { margin: 0; }
.kk-firma__adresse { font-size: 10px; opacity: .75; margin-top: 2px !important; }
.kk-betaling { font-weight: 700; }

/* ---------- Forside ---------- */
.kk-hero h1 { margin-block: 10px 16px; }
.kk-hero .wp-block-buttons { margin-top: 26px; gap: 22px; align-items: center; }
.kk-hero__mobil { display: none; font: 700 15px var(--kk-tekst); }
.kk-hero__kolonner { gap: 40px; }
.kk-storrelse-seksjon h2 { margin-bottom: 6px; }
.kk-storrelse-seksjon .kk-storrelser { margin-top: 24px; }
.kk-sist-inn__topp { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 22px; }
.kk-sist-inn__topp h2 { margin: 0; }
.kk-faner button { border: 0; background: none; cursor: pointer; }
.kk-tomt { color: var(--kk-dempet); }
.kk-brukt-flate { background: var(--kk-lysegronn); border-radius: 28px; padding: 44px 44px 40px; }
.kk-brukt-flate > h2 { margin: 6px 0 4px; }
.kk-brukt-flate > .kk-eyebrow { color: #2F5A3A; margin: 0; }
.kk-steg { margin-top: 26px !important; gap: 18px !important; }
.kk-steg__kort { background: var(--kk-krem); border-radius: 20px; padding: 24px; }
.kk-steg__kort h3 { margin: 12px 0 6px; font-size: 22px; }
.kk-steg__kort p { margin: 0; color: var(--kk-dempet); }
.kk-steg__nr { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--kk-mork); color: var(--kk-krem) !important; font: 600 16px/1 var(--kk-overskrift); }

/* ---------- Vanlige sider og tekstsider ---------- */
.kk-side { padding-block: 48px 0; }
.kk-side__tittel { font-size: clamp(2.25rem, 5vw, 3.375rem); }
.kk-tekstside { padding-block: 48px 0; }
.kk-tekstside__kolonner { gap: 48px !important; }
.kk-tekstside__innhold h1 { font-size: clamp(2rem, 4.5vw, 2.875rem); margin-top: 6px; }
.kk-tekstside__innhold h2 { font-size: 22px; margin-top: 32px; }
.kk-tekstside__innhold h3 { font-size: 19px; margin-top: 24px; }
.kk-tekstside__innhold { max-width: 760px; }
.kk-tekstmeny ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; position: sticky; top: 24px; }
.kk-tekstmeny a { display: block; padding: 9px 14px; border-radius: 12px; color: var(--kk-mork); text-decoration: none; font: 600 14px var(--kk-tekst); }
.kk-tekstmeny a:hover { background: var(--kk-sand); }
.kk-tekstmeny a[aria-current] { background: var(--kk-sand); font-weight: 700; }
.kk-merknad { background: var(--kk-sand); border-radius: 18px; padding: 18px 22px; }
.kk-merknad > :first-child { margin-top: 0; }
.kk-merknad > :last-child { margin-bottom: 0; }
.kk-kort-rad { gap: 16px !important; }
.kk-tipskort { border-radius: 20px; padding: 22px 24px; }
.kk-tipskort h3 { margin: 0 0 6px !important; font-size: 19px !important; }
.kk-tipskort p { margin: 0; font-size: 14px; }
.kk-skjema { background: var(--kk-sand); border-radius: 18px; padding: 20px 24px; font-size: 14px; }
.kk-skjema p { margin: 0 0 8px; }

/* Størrelsestabell */
.kk-tabell { overflow-x: auto; margin-block: 24px; }
.kk-tabell table { width: 100%; border-collapse: collapse; font-size: 14px; }
.kk-tabell th { text-align: left; font: 700 11px var(--kk-tekst); letter-spacing: .1em; text-transform: uppercase; color: var(--kk-dempet); padding: 10px 12px; border-bottom: 1px solid var(--kk-kant); }
.kk-tabell td { padding: 9px 12px; border-bottom: 1px solid var(--kk-linje); }
.kk-str-merke { display: inline-block; padding: 4px 10px; border-radius: 8px; font: 600 14px var(--kk-overskrift); color: var(--kk-brun); }
.kk-str-merke--0 { background: var(--kk-lyserosa); } .kk-str-merke--1 { background: var(--kk-lyseblaa); } .kk-str-merke--2 { background: var(--kk-lysegronn); } .kk-str-merke--3 { background: var(--kk-gul); } .kk-str-merke--4 { background: var(--kk-lavendel); }

/* Om oss */
.kk-om-topp { background: var(--kk-skaplys); border-radius: 28px; padding: 48px; }
.kk-om-topp h1 { font-size: clamp(2.25rem, 5vw, 3.375rem); margin-top: 6px; }
.kk-bilde-plass { background: var(--kk-sand); border-radius: 22px; min-height: 280px; display: grid; place-items: center; color: var(--kk-dempet); font-size: 13px; padding: 24px; text-align: center; }
.kk-bilde-plass img { border-radius: 22px; }

/* ---------- Tomme tilstander, 404, bekreftelse, «kommer snart» ---------- */
.kk-klosser--stor { justify-content: center; gap: 6px; margin-bottom: 18px; }
.kk-klosser--stor .kk-kloss { width: 56px; height: 56px; border-radius: 14px; font-size: 30px; box-shadow: inset 0 -5px 0 rgba(0,0,0,.07), 0 2px 0 rgba(0,0,0,.05); }
.kk-tom-tilstand { padding-block: 72px 24px; text-align: center; }
.kk-tom-tilstand h1 { font-size: clamp(2rem, 5vw, 2.875rem); }
.kk-bekreftelse { padding-block: 40px 0; }
.kk-bekreftelse__topp { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.kk-bekreftelse__topp img { width: 150px; height: auto; }
.kk-bekreftelse__steg { background: var(--kk-sand); border-radius: 20px; padding: 24px 28px; }
.kk-bekreftelse__steg h2 { font-size: 22px; margin-top: 0; }
.kk-bekreftelse__steg ol { margin: 0; padding-left: 20px; display: grid; gap: 8px; }
.kk-bekreftelse .wc-block-order-confirmation-status { text-align: center; }
.kk-snart { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding-block: 48px; background: var(--kk-skaplys); }
.kk-snart .kk-logo { margin-bottom: 24px; }
.kk-snart__stork { width: 180px; height: auto; margin: 0 auto; }
.kk-snart .kk-ingress { max-width: none; }

/* ---------- Skjermstørrelser ---------- */
@media (max-width: 1099px) {
	.kk-footer__kolonner { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 899px) {
	.kk-hero { padding-block: 32px 40px; }
	.kk-hero__kolonner > .wp-block-column:last-child { display: none; }
	.kk-hero .wp-block-buttons { display: none; }
	.kk-hero__mobil { display: block; }
	.kk-tekstside__meny { display: none; }
}
@media (max-width: 781px) {
	.kk-header { grid-template-columns: auto 1fr auto; padding: 8px 20px 12px; gap: 12px; }
	.kk-header .kk-logo { justify-self: start; }
	.kk-header__favoritter, .kk-header__minside { display: none; }
	.kk-nav .kk-bare-mobil { display: block; }
	.kk-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--kk-krem) !important; padding: 24px 20px; }
	.kk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 14px; font: 600 22px var(--kk-overskrift); }
	.kk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none; padding: 6px 0 0 12px !important; font: 600 16px var(--kk-tekst); }
	.kk-brukt-flate { padding: 28px 20px; border-radius: 22px; }
	.kk-footer { padding: 32px 20px 24px; }
	.kk-om-topp { padding: 28px 22px; }
	.kk-seksjon { padding-top: 40px; }
}
@media (max-width: 699px) {
	.kk-stripe__mer:last-child { display: none; }
	.kk-footer__kolonner { grid-template-columns: 1fr; }
}

/* ---------- Kassen: slank bunntekst (mal page-checkout) ---------- */
.kk-footer--kasse { background: none; margin-top: 40px; padding: 0 56px 28px; font-size: 12.5px; color: var(--kk-dempet); }
.kk-footer--kasse .kk-footer__bunn { margin-top: 0; }
.kk-footer__lenker-linje a { color: var(--kk-mork); text-decoration: none; font-weight: 600; }
.kk-footer__lenker-linje a:hover { color: var(--kk-brun); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 781px) { .kk-footer--kasse { padding: 0 20px 24px; } }
