/*
Theme Name: Sletta Flatsome Child
Theme URI: https://slettahundeklubb.no/
Description: Child theme for Sletta Hundeklubb, built on Flatsome.
Author: Sletta Hundeklubb
Template: flatsome
Version: 1.2.0
Text Domain: sletta
Requires at least: 6.6
Requires PHP: 8.1
*/

/*
 * SLETTA CSS MAP — v1.2
 * 01. Design tokens
 * 02. Fonts
 * 03. Global base & utilities
 * 04. Shared components / Sletta Core
 * 05. Main pages
 * 05.1 Homepage
 * 05.2 Hundeparken
 * 05.3 Medlemskap
 * 05.4 Aktiviteter
 * 05.5 Klubben
 * 05.6 Aktuelt
 * 05.7 Kontakt
 * 06. Global visual overrides
 * 07. Undersider
 * Hundeparken: Regler / Gode råd / Booking / Finn frem
 * Klubben: Om Sletta / Historien / Styret / Dokumenter
 * Kontakt: Varsle om forhold
 * Juridisk: Personvern
 * IMPORTANT:
 * Rule order is intentionally cascade-safe. Legacy selectors are kept when
 * removing them could affect saved Flatsome content. New page-specific CSS
 * should be added inside the relevant page section, not as loose patches.
 */

/* ==================== 01. DESIGN TOKENS ==================== */

:root {
  --shk-charcoal: #222321;
  --shk-white: #ffffff;
  --shk-warm-white: #f4f1e9;
  --shk-field: #66745a;
  --shk-fresh: #9db66d;
  --shk-clay: #c88b55;
  --shk-sand: #e7dec9;
  --shk-text: #222321;
  --shk-text-muted: #686b65;
  --shk-border: rgba(34, 35, 33, .14);
  --shk-radius-sm: 6px;
  --shk-radius-md: 10px;
  --shk-radius-lg: 16px;
  --shk-shadow-sm: 0 4px 18px rgba(34, 35, 33, .07);
  --shk-shadow-md: 0 12px 32px rgba(34, 35, 33, .10);
  --shk-container: 1280px;
  --shk-text-width: 720px;
  --shk-space-xs: 8px;
  --shk-space-sm: 16px;
  --shk-space-md: 24px;
  --shk-space-lg: 40px;
  --shk-space-xl: 64px;
  --shk-space-2xl: 96px;
  --shk-space-3xl: 128px;
  --shk-transition: 180ms ease;
}

/* ==================== 02. FONTS ==================== */

/*
 * Fonts
 * -----
 * Font files are intentionally NOT included in this package.
 * Upload your licensed Hakter WOFF2 files to assets/fonts/hakter/
 * and your chosen Inter WOFF2 files to assets/fonts/inter/.
 * Then uncomment/update these @font-face declarations as needed.
 */

/*
@font-face {
  font-family: 'Hakter';
  src: url('assets/fonts/hakter/Hakter-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Hakter';
  src: url('assets/fonts/hakter/Hakter-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Hakter';
  src: url('assets/fonts/hakter/Hakter-ExtraBold.woff2') format('woff2');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
*/

/* ==================== 03. GLOBAL BASE & UTILITIES ==================== */

html {
  scroll-behavior: smooth;
}

body {
  background: var(--shk-warm-white);
  color: var(--shk-text);
  font-size: 17px;
  line-height: 1.65;
}

body,
button,
input,
select,
textarea {
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--shk-charcoal);
  font-family: Hakter, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: -.025em;
}

h1 {
  font-size: clamp(42px, 6vw, 92px);
  line-height: .98;
  font-weight: 800;
  letter-spacing: -.035em;
}

h2 {
  font-size: clamp(32px, 4vw, 64px);
  line-height: 1;
  font-weight: 800;
}

h3 {
  font-size: clamp(26px, 2.5vw, 38px);
  line-height: 1.1;
  font-weight: 700;
}

a {
  transition: color var(--shk-transition), background-color var(--shk-transition), transform var(--shk-transition), box-shadow var(--shk-transition);
}

.shk-container {
  width: min(calc(100% - 64px), var(--shk-container));
  margin-inline: auto;
}

.shk-text-width {
  max-width: var(--shk-text-width);
}

.shk-eyebrow {
  margin-bottom: 12px;
  color: var(--shk-field);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.shk-section {
  padding-block: 96px;
}

.shk-section-soft {
  background: var(--shk-warm-white);
}

.shk-section-sand {
  background: var(--shk-sand);
}

.shk-section-dark {
  background: var(--shk-charcoal);
  color: var(--shk-white);
}

.shk-section-field {
  background: var(--shk-field);
  color: var(--shk-white);
}

.shk-section-dark h1,
.shk-section-dark h2,
.shk-section-dark h3,
.shk-section-field h1,
.shk-section-field h2,
.shk-section-field h3 {
  color: var(--shk-white);
}

.shk-card {
  overflow: hidden;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-md);
  background: var(--shk-white);
  transition: transform var(--shk-transition), box-shadow var(--shk-transition);
}

.shk-btn-primary,
.shk-btn-secondary {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 20px;
  border-radius: var(--shk-radius-sm);
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}

.shk-btn-primary {
  border: 1px solid var(--shk-fresh);
  background: var(--shk-fresh);
  color: var(--shk-charcoal);
}

.shk-btn-secondary {
  border: 1px solid currentColor;
  background: transparent;
  color: var(--shk-charcoal);
}

.shk-text-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--shk-charcoal);
  font-weight: 700;
  text-decoration: none;
}

.shk-text-link::after {
  content: "→";
  transition: transform var(--shk-transition);
}

/* ==================== 04. SHARED COMPONENTS / SLETTA CORE ==================== */

.shk-activities-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.shk-activity-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.shk-activity-card__image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: var(--shk-sand);
}

.shk-activity-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 240ms ease;
}

.shk-activity-card__date {
  position: absolute;
  top: 14px;
  left: 14px;
  display: grid;
  min-width: 58px;
  min-height: 58px;
  place-items: center;
  padding: 7px;
  border-radius: var(--shk-radius-sm);
  background: var(--shk-warm-white);
  color: var(--shk-charcoal);
  box-shadow: var(--shk-shadow-sm);
  line-height: 1;
  text-align: center;
}

.shk-activity-card__date strong {
  display: block;
  font-family: Hakter, Inter, sans-serif;
  font-size: 24px;
}

.shk-activity-card__date span {
  display: block;
  margin-top: 3px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.shk-activity-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 20px;
}

.shk-activity-card__type {
  margin-bottom: 8px;
  color: var(--shk-field);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.shk-activity-card__title {
  margin: 0 0 10px;
  font-size: 25px;
  line-height: 1.08;
}

.shk-activity-card__title a {
  color: inherit;
  text-decoration: none;
}

.shk-activity-card__meta {
  margin-bottom: 18px;
  color: var(--shk-text-muted);
  font-size: 14px;
}

.shk-activity-card__body .shk-text-link {
  margin-top: auto;
}

.shk-activity-status {
  display: inline-flex;
  margin-bottom: 16px;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--shk-sand);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.shk-activity-status--cancelled {
  background: #f3dddd;
  color: #7d2929;
}

.shk-activity-status--full {
  background: var(--shk-clay);
  color: var(--shk-charcoal);
}

.shk-archive-header {
  padding-block: 72px 48px;
}

.shk-archive-header p {
  max-width: 720px;
  margin-bottom: 0;
  color: var(--shk-text-muted);
  font-size: 19px;
}

.shk-single-event {
  padding-block: 72px 96px;
}

.shk-single-event__hero {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: 56px;
  align-items: center;
}

.shk-single-event__media {
  overflow: hidden;
  border-radius: var(--shk-radius-lg);
  aspect-ratio: 4 / 3;
  background: var(--shk-sand);
}

.shk-single-event__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.shk-single-event__meta {
  display: grid;
  gap: 8px;
  margin-block: 24px;
  color: var(--shk-text-muted);
}

.shk-single-event__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.shk-single-event__content {
  width: min(100%, 760px);
  margin: 72px auto 0;
}

.shk-documents {
  display: grid;
  gap: 40px;
}

.shk-documents__year h3 {
  margin-bottom: 14px;
}

.shk-document-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
  padding: 16px 0;
  border-top: 1px solid var(--shk-border);
}

.shk-document-row:last-child {
  border-bottom: 1px solid var(--shk-border);
}

.shk-document-row__title {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
}

.shk-document-row__meta {
  margin-top: 4px;
  color: var(--shk-text-muted);
  font-size: 13px;
}

.shk-empty-state {
  padding: 28px;
  border: 1px dashed var(--shk-border);
  border-radius: var(--shk-radius-md);
  color: var(--shk-text-muted);
  text-align: center;
}

@media (hover: hover) {
  .shk-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shk-shadow-sm);
  }

  .shk-card:hover .shk-activity-card__image img {
    transform: scale(1.025);
  }

  .shk-btn-primary:hover {
    border-color: var(--shk-field);
    background: var(--shk-field);
    color: var(--shk-white);
    transform: translateY(-2px);
  }

  .shk-text-link:hover::after {
    transform: translateX(4px);
  }
}

@media (max-width: 1099px) {
  .shk-section {
    padding-block: 80px;
  }

  .shk-container {
    width: min(calc(100% - 56px), var(--shk-container));
  }

  .shk-activities-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .shk-single-event__hero {
    gap: 36px;
  }
}

@media (max-width: 849px) {
  .shk-section {
    padding-block: 72px;
  }

  .shk-container {
    width: min(calc(100% - 48px), var(--shk-container));
  }

  .shk-single-event__hero {
    grid-template-columns: 1fr;
  }

  .shk-single-event__media {
    order: -1;
  }
}

@media (max-width: 549px) {
  .shk-section {
    padding-block: 60px;
  }

  .shk-container {
    width: calc(100% - 40px);
  }

  .shk-activities-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .shk-activity-card {
    display: grid;
    grid-template-columns: 122px minmax(0, 1fr);
  }

  .shk-activity-card__image {
    height: 100%;
    aspect-ratio: auto;
  }

  .shk-activity-card__date {
    top: 8px;
    left: 8px;
    min-width: 48px;
    min-height: 48px;
    padding: 5px;
  }

  .shk-activity-card__date strong {
    font-size: 20px;
  }

  .shk-activity-card__body {
    padding: 16px;
  }

  .shk-activity-card__title {
    font-size: 21px;
  }

  .shk-single-event {
    padding-block: 48px 72px;
  }

  .shk-single-event__content {
    margin-top: 48px;
  }

  .shk-document-row {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

@media (max-width: 399px) {
  .shk-container {
    width: calc(100% - 32px);
  }

  .shk-activity-card {
    grid-template-columns: 108px minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/*
 * 05. MAIN PAGE BUNDLE
 * Main page styles bundled in the child theme.
 * Page content should not need embedded <style> blocks while this stylesheet is active.
 */

/* ==================== HOMEPAGE ==================== */

/*
 * Sletta Hundeklubb – Homepage v1
 * Bundled in the Sletta child theme.
 */

/* General homepage typography */

.shk-homepage,
.page-template-page-blank-title-center .shk-home-hero {
  --shk-home-rule: rgba(34,35,33,.12);
}

.shk-home-lead,
.shk-home-hero-lead {
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.55;
}

.shk-home-small-title {
  margin: 0 0 6px;
  font-size: clamp(24px, 2.2vw, 34px);
  line-height: 1.05;
}

.shk-eyebrow--light {
  color: rgba(255,255,255,.82);
}

/* Hero */

.shk-home-hero .section-content {
  max-width: none;
}

.shk-home-hero-banner {
  min-height: 680px;
}

.shk-home-hero-banner .banner-bg .bg {
  transition: transform 800ms ease;
}

.shk-home-hero-title {
  margin-bottom: 22px;
  color: #fff;
  font-size: clamp(54px, 6.5vw, 92px);
  line-height: .92;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.shk-home-hero-lead {
  max-width: 590px;
  margin-bottom: 26px;
  color: rgba(255,255,255,.92);
}

.shk-home-hero .button {
  margin: 0 10px 10px 0;
}

.shk-home-hero .shk-btn-primary.button {
  border-color: var(--shk-fresh) !important;
  background: var(--shk-fresh) !important;
  color: var(--shk-charcoal) !important;
}

.shk-home-hero .shk-hero-secondary.button {
  border-color: rgba(255,255,255,.72) !important;
  color: #fff !important;
}

/* Quick actions */

.shk-home-actions-row > .col > .col-inner {
  height: 100%;
}

.shk-home-action {
  display: flex;
  min-height: 156px;
  height: 100%;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  padding: 22px;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-md);
  background: rgba(255,255,255,.48);
  color: var(--shk-charcoal);
  text-decoration: none;
  transition: transform var(--shk-transition), background-color var(--shk-transition), box-shadow var(--shk-transition);
}

.shk-home-action__no {
  margin-bottom: auto;
  color: var(--shk-field);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-home-action strong {
  display: block;
  margin-bottom: 3px;
  font-family: Hakter, Inter, sans-serif;
  font-size: 21px;
  line-height: 1.1;
}

.shk-home-action > span:last-child {
  color: var(--shk-text-muted);
  font-size: 13px;
  line-height: 1.35;
}

/* Editorial image blocks */

.shk-home-photo,
.shk-home-park-photo,
.shk-home-map,
.shk-gallery-tile {
  overflow: hidden;
  border-radius: var(--shk-radius-md);
}

.shk-home-about .shk-home-photo {
  border-radius: var(--shk-radius-lg);
}

/* Section copy */

.shk-home-copy p:not(.shk-eyebrow) {
  max-width: 610px;
}

.shk-home-copy h2,
.shk-home-park-copy h2,
.shk-home-find h2 {
  max-width: 650px;
}

/* Heading side links */

.shk-home-heading-link .col-inner {
  display: flex;
  min-height: 100%;
  align-items: flex-end;
  justify-content: flex-end;
  padding-bottom: 12px;
}

/* Activity shortcode spacing */

.shk-home-now .shk-activities-grid {
  margin-top: 22px;
}

/* Park section */

.shk-home-park > .section-content > .row {
  max-width: 100%;
}

.shk-home-park-photo {
  border-radius: 0;
}

.shk-home-park-copy > .col-inner {
  max-width: 640px;
  margin-right: auto;
}

.shk-zone-list {
  margin: 30px 0 32px;
}

.shk-zone {
  display: grid;
  grid-template-columns: 44px minmax(0,1fr);
  gap: 14px;
  align-items: start;
  padding: 17px 0;
  border-top: 1px solid var(--shk-border);
}

.shk-zone:last-child {
  border-bottom: 1px solid var(--shk-border);
}

.shk-zone > b {
  color: var(--shk-field);
  font-size: 12px;
  letter-spacing: .1em;
}

.shk-zone strong,
.shk-zone small {
  display: block;
}

.shk-zone strong {
  margin-bottom: 3px;
  font-size: 17px;
}

.shk-zone small {
  color: var(--shk-text-muted);
  font-size: 13px;
  line-height: 1.4;
}

/* Values */

.shk-home-values .col-inner {
  padding-right: 42px;
}

.shk-home-values h3 {
  margin-bottom: 14px;
  font-size: clamp(36px, 4vw, 58px);
}

.shk-home-values p:not(.shk-value-no) {
  max-width: 330px;
  color: rgba(255,255,255,.75);
}

.shk-value-no {
  margin-bottom: 38px;
  color: var(--shk-fresh);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

/* Membership */

.shk-home-membership .shk-home-photo {
  border-radius: var(--shk-radius-lg);
}

/* Blog cards */

.shk-home-news .post-item .col-inner {
  overflow: hidden;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-md);
  background: var(--shk-white);
}

.shk-home-news .box-text {
  padding: 20px;
}

.shk-home-news .post-title {
  font-family: Hakter, Inter, sans-serif;
  font-size: 23px;
  line-height: 1.1;
}

/* Gallery */

.shk-gallery-tile {
  min-height: 310px;
}

/* Statement */

.shk-home-statement h2 {
  max-width: 980px;
  margin: 0;
  color: #fff;
  font-size: clamp(44px, 6vw, 82px);
  line-height: .95;
}

.shk-statement-mark {
  margin: 0 0 6px;
  color: var(--shk-fresh);
  font-family: Georgia, serif;
  font-size: 78px;
  line-height: .55;
}

.shk-statement-small {
  margin-top: 24px;
  color: rgba(255,255,255,.68);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* Find us */

.shk-home-map {
  border: 1px solid var(--shk-border);
}

/* Buttons generated by Flatsome */

/* Responsive */

@media (hover:hover) {
  .shk-home-action:hover {
    transform: translateY(-3px);
    background: #fff;
    box-shadow: var(--shk-shadow-sm);
  }
}

@media (max-width: 1099px) {
  .shk-home-hero-banner {
    min-height: 620px;
  }

  .shk-home-hero-title {
    font-size: clamp(52px, 7vw, 78px);
  }

  .shk-home-values .col-inner {
    padding-right: 24px;
  }
}

@media (max-width: 849px) {
  .shk-home-hero-banner {
    min-height: 600px;
  }

  .shk-home-heading-link .col-inner {
    justify-content: flex-start;
    padding-bottom: 0;
  }

  .shk-home-park-copy > .col-inner {
    max-width: none;
  }

  .shk-home-values .col-inner {
    padding-right: 12px;
  }

  .shk-gallery-tile {
    min-height: 240px;
  }
}

@media (max-width: 549px) {
  .shk-home-hero-banner {
    min-height: 560px;
  }

  .shk-home-hero-title {
    font-size: clamp(44px, 13vw, 58px);
    line-height: .94;
  }

  .shk-home-hero-lead {
    max-width: 95%;
    font-size: 17px;
  }

  .shk-home-hero .button {
    width: 100%;
    margin-right: 0;
  }

  .shk-home-action {
    min-height: 136px;
    padding: 16px;
  }

  .shk-home-action strong {
    font-size: 18px;
  }

  .shk-home-action > span:last-child {
    font-size: 12px;
  }

  .shk-home-photo--about,
  .shk-home-photo--membership {
    min-height: 360px;
  }

  .shk-home-park-photo {
    min-height: 420px;
  }

  .shk-home-values .col {
    border-top: 1px solid rgba(255,255,255,.12);
  }

  .shk-home-values .col:first-child {
    border-top: 0;
  }

  .shk-home-values .col-inner {
    padding: 30px 0;
  }

  .shk-value-no {
    margin-bottom: 18px;
  }

  .shk-home-values p:not(.shk-value-no) {
    max-width: 100%;
  }

  .shk-gallery-tile {
    min-height: 200px;
  }

  .shk-home-map {
    min-height: 300px;
  }
}

/* ==================== HUNDEPARKEN ==================== */

/*
 * Sletta Hundeklubb – Hundeparken v1
 * Bundled in the Sletta child theme.
 */

/* Page hero */

.shk-park-hero-banner {
  min-height: 600px;
}

.shk-park-hero-title {
  max-width: 760px;
  margin-bottom: 20px;
  color: #fff;
  font-size: clamp(52px, 6vw, 88px);
  line-height: .94;
  letter-spacing: -.045em;
}

.shk-park-hero-lead {
  max-width: 620px;
  margin-bottom: 26px;
  color: rgba(255,255,255,.92);
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.55;
}

.shk-park-hero .button {
  margin: 0 10px 10px 0;
}

.shk-park-hero .shk-btn-primary.button {
  border-color: var(--shk-fresh) !important;
  background: var(--shk-fresh) !important;
  color: var(--shk-charcoal) !important;
}

.shk-park-hero .shk-hero-secondary.button {
  border-color: rgba(255,255,255,.72) !important;
  color: #fff !important;
}

/* LEGACY: local page navigation — retained for backwards compatibility. */

.shk-subnav-wrap {
  border-bottom: 1px solid var(--shk-border);
  background: var(--shk-warm-white);
}

.shk-subnav {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 14px 0;
  scrollbar-width: none;
}

.shk-subnav::-webkit-scrollbar {
  display: none;
}

.shk-subnav a {
  flex: 0 0 auto;
  padding: 9px 13px;
  border: 1px solid var(--shk-border);
  border-radius: 999px;
  background: rgba(255,255,255,.55);
  color: var(--shk-charcoal);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.shk-subnav a:hover {
  background: #fff;
}

/* Shared copy */

.shk-park-lead {
  max-width: 720px;
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.55;
}

.shk-park-copy p:not(.shk-eyebrow) {
  max-width: 650px;
}

.shk-park-photo,
.shk-zone-photo,
.shk-park-map {
  overflow: hidden;
  border-radius: var(--shk-radius-lg);
}

/* First visit */

.shk-first-visit-row > .col > .col-inner {
  height: 100%;
}

.shk-step {
  min-height: 190px;
  height: 100%;
  padding: 22px;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-md);
  background: rgba(255,255,255,.55);
}

.shk-step-no {
  display: block;
  margin-bottom: 40px;
  color: var(--shk-field);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-step h3 {
  margin-bottom: 8px;
  font-size: 22px;
  line-height: 1.05;
}

.shk-step p {
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.5;
}

/* Zones */

.shk-zone-feature {
  padding: 30px 0;
  border-top: 1px solid var(--shk-border);
}

.shk-zone-feature:last-child {
  border-bottom: 1px solid var(--shk-border);
}

.shk-zone-kicker {
  margin-bottom: 8px;
  color: var(--shk-field);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.shk-zone-feature h3 {
  margin-bottom: 10px;
  font-size: clamp(28px, 3vw, 42px);
}

.shk-zone-feature p {
  max-width: 620px;
  color: var(--shk-text-muted);
}

/* Rule accordion built with accessible HTML */

.shk-rules {
  border-top: 1px solid var(--shk-border);
}

.shk-rule {
  border-bottom: 1px solid var(--shk-border);
}

.shk-rule summary {
  display: grid;
  grid-template-columns: 52px minmax(0,1fr) 30px;
  gap: 12px;
  align-items: center;
  padding: 20px 0;
  cursor: pointer;
  list-style: none;
  font-family: Hakter, Inter, sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.15;
}

.shk-rule summary::-webkit-details-marker {
  display: none;
}

.shk-rule summary::after {
  content: "+";
  justify-self: end;
  color: var(--shk-field);
  font-family: Inter, sans-serif;
  font-size: 28px;
  font-weight: 400;
}

.shk-rule[open] summary::after {
  content: "–";
}

.shk-rule-no {
  color: var(--shk-field);
  font-family: Inter, sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-rule-body {
  max-width: 760px;
  padding: 0 0 22px 64px;
  color: var(--shk-text-muted);
  font-size: 16px;
  line-height: 1.65;
}

/* Practical cards */

.shk-practical-row > .col > .col-inner {
  height: 100%;
}

.shk-practical-card {
  height: 100%;
  min-height: 210px;
  padding: 24px;
  border-radius: var(--shk-radius-md);
  background: #fff;
  border: 1px solid var(--shk-border);
}

.shk-practical-card__no {
  margin-bottom: 34px;
  color: var(--shk-clay);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-practical-card h3 {
  margin-bottom: 8px;
  font-size: 23px;
}

.shk-practical-card p {
  margin-bottom: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
}

/* Booking */

.shk-booking-band h2 {
  max-width: 760px;
  color: #fff;
  font-size: clamp(40px, 5vw, 68px);
  line-height: .98;
}

.shk-booking-band p {
  max-width: 650px;
  color: rgba(255,255,255,.78);
}

/* Find us */

.shk-park-map {
  border: 1px solid var(--shk-border);
}

.shk-map-label {
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

/* Activity spacing */

.shk-park-activities .shk-activities-grid {
  margin-top: 22px;
}

/* Buttons */

/* Responsive */

@media (hover:hover) {
  .shk-step:hover,
  .shk-practical-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shk-shadow-sm);
    transition: transform var(--shk-transition), box-shadow var(--shk-transition);
  }
}

@media (max-width: 1099px) {
  .shk-park-hero-banner {
    min-height: 560px;
  }
}

@media (max-width: 849px) {
  .shk-park-hero-banner {
    min-height: 540px;
  }

  .shk-step {
    min-height: 175px;
  }

  .shk-rule summary {
    grid-template-columns: 44px minmax(0,1fr) 26px;
  }

  .shk-rule-body {
    padding-left: 56px;
  }
}

@media (max-width: 549px) {
  .shk-park-hero-banner {
    min-height: 520px;
  }

  .shk-park-hero-title {
    font-size: clamp(43px, 13vw, 58px);
    line-height: .94;
  }

  .shk-park-hero-lead {
    max-width: 95%;
    font-size: 17px;
  }

  .shk-park-hero .button {
    width: 100%;
    margin-right: 0;
  }

  .shk-step {
    min-height: 0;
    padding: 18px;
  }

  .shk-step-no {
    margin-bottom: 22px;
  }

  .shk-zone-photo {
    min-height: 330px;
  }

  .shk-rule summary {
    grid-template-columns: 34px minmax(0,1fr) 24px;
    padding: 18px 0;
    font-size: 18px;
  }

  .shk-rule-body {
    padding-left: 46px;
    font-size: 15px;
  }

  .shk-practical-card {
    min-height: 0;
  }

  .shk-park-map {
    min-height: 300px;
  }
}

/* LEGACY: Hundeparken jump navigation patch v1.1 — retained, currently unused. */

.shk-park-jumpnav {
  border-bottom: 1px solid rgba(34,35,33,.12);
}

.shk-park-jumpnav .row {
  margin-bottom: 0;
}

.shk-park-jumpnav .col {
  padding-bottom: 0;
}

.shk-park-jumpnav .button.shk-jump-btn {
  min-height: 40px;
  margin: 0;
  border-color: rgba(34,35,33,.18) !important;
  background: rgba(255,255,255,.50) !important;
  color: #222321 !important;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .055em;
}

.shk-park-jumpnav .button.shk-jump-btn:hover {
  border-color: #66745a !important;
  background: #66745a !important;
  color: #fff !important;
}

@media (max-width: 849px) {
  .shk-park-jumpnav {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
}

@media (max-width: 549px) {
  .shk-park-jumpnav .button.shk-jump-btn {
    min-height: 44px;
    font-size: 11px;
  }
}

/* ==================== MEDLEMSKAP ==================== */

/*
 * Sletta Hundeklubb – Medlemskap v1
 * Bundled in the Sletta child theme.
 */

/* Hero */

.shk-membership-hero-banner {
  min-height: 590px;
}

.shk-membership-hero-title {
  max-width: 780px;
  margin-bottom: 20px;
  color: #fff;
  font-size: clamp(52px, 6vw, 88px);
  line-height: .94;
  letter-spacing: -.045em;
}

.shk-membership-hero-lead {
  max-width: 620px;
  margin-bottom: 26px;
  color: rgba(255,255,255,.92);
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.55;
}

.shk-membership-hero .button {
  margin: 0 10px 10px 0;
}

.shk-membership-hero .shk-btn-primary.button {
  border-color: var(--shk-fresh) !important;
  background: var(--shk-fresh) !important;
  color: var(--shk-charcoal) !important;
}

.shk-membership-hero .shk-hero-secondary.button {
  border-color: rgba(255,255,255,.72) !important;
  color: #fff !important;
}

/* LEGACY: Medlemskap jump navigation — retained, currently unused. */

.shk-membership-jumpnav {
  border-bottom: 1px solid rgba(34,35,33,.12);
}

.shk-membership-jumpnav .row {
  margin-bottom: 0;
}

.shk-membership-jumpnav .col {
  padding-bottom: 0;
}

.shk-membership-jumpnav .button.shk-jump-btn {
  min-height: 40px;
  margin: 0;
  border-color: rgba(34,35,33,.18) !important;
  background: rgba(255,255,255,.50) !important;
  color: #222321 !important;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .055em;
}

.shk-membership-jumpnav .button.shk-jump-btn:hover {
  border-color: #66745a !important;
  background: #66745a !important;
  color: #fff !important;
}

/* Shared */

.shk-membership-lead {
  max-width: 720px;
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.55;
}

.shk-membership-copy p:not(.shk-eyebrow) {
  max-width: 650px;
}

.shk-membership-photo {
  overflow: hidden;
  border-radius: var(--shk-radius-lg);
}

/* Benefits */

.shk-benefit-row > .col > .col-inner {
  height: 100%;
}

.shk-benefit-card {
  height: 100%;
  min-height: 230px;
  padding: 24px;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-md);
  background: rgba(255,255,255,.56);
}

.shk-benefit-no {
  display: block;
  margin-bottom: 42px;
  color: var(--shk-field);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-benefit-card h3 {
  margin-bottom: 10px;
  font-size: 24px;
  line-height: 1.06;
}

.shk-benefit-card p {
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.5;
}

/* Price */

.shk-price-box {
  position: relative;
  overflow: hidden;
  padding: 34px;
  border-radius: var(--shk-radius-lg);
  background: var(--shk-charcoal);
  color: #fff;
}

.shk-price-label {
  margin-bottom: 24px;
  color: var(--shk-fresh);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.shk-price-value {
  margin-bottom: 8px;
  color: #fff;
  font-family: Hakter, Inter, sans-serif;
  font-size: clamp(44px, 5vw, 72px);
  font-weight: 800;
  line-height: .95;
  letter-spacing: -.04em;
}

.shk-price-note {
  max-width: 520px;
  margin-bottom: 0;
  color: rgba(255,255,255,.72);
  font-size: 14px;
  line-height: 1.55;
}

/* Join steps */

.shk-join-row > .col > .col-inner {
  height: 100%;
}

.shk-join-step {
  height: 100%;
  min-height: 220px;
  padding: 24px;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-md);
  background: #fff;
}

.shk-join-step__no {
  margin-bottom: 38px;
  color: var(--shk-clay);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-join-step h3 {
  margin-bottom: 8px;
  font-size: 24px;
}

.shk-join-step p {
  margin-bottom: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
}

/* Partner/benefit teaser */

.shk-partner-card {
  min-height: 180px;
  padding: 24px;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-md);
  background: rgba(255,255,255,.62);
}

.shk-partner-card h3 {
  margin-bottom: 8px;
  font-size: 22px;
}

.shk-partner-card p {
  margin-bottom: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
}

/* FAQ */

.shk-faq {
  border-top: 1px solid var(--shk-border);
}

.shk-faq-item {
  border-bottom: 1px solid var(--shk-border);
}

.shk-faq-item summary {
  display: grid;
  grid-template-columns: minmax(0,1fr) 30px;
  gap: 12px;
  align-items: center;
  padding: 20px 0;
  cursor: pointer;
  list-style: none;
  font-family: Hakter, Inter, sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.15;
}

.shk-faq-item summary::-webkit-details-marker {
  display: none;
}

.shk-faq-item summary::after {
  content: "+";
  justify-self: end;
  color: var(--shk-field);
  font-family: Inter, sans-serif;
  font-size: 28px;
  font-weight: 400;
}

.shk-faq-item[open] summary::after {
  content: "–";
}

.shk-faq-body {
  max-width: 760px;
  padding: 0 42px 22px 0;
  color: var(--shk-text-muted);
  font-size: 16px;
  line-height: 1.65;
}

/* Bottom CTA */

.shk-membership-cta h2 {
  max-width: 820px;
  color: #fff;
  font-size: clamp(42px, 5vw, 72px);
  line-height: .97;
}

.shk-membership-cta p {
  max-width: 640px;
  color: rgba(255,255,255,.78);
}

@media (hover:hover) {
  .shk-benefit-card:hover,
  .shk-join-step:hover,
  .shk-partner-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shk-shadow-sm);
    transition: transform var(--shk-transition), box-shadow var(--shk-transition);
  }
}

@media (max-width: 1099px) {
  .shk-membership-hero-banner {
    min-height: 550px;
  }
}

@media (max-width: 849px) {
  .shk-membership-hero-banner {
    min-height: 530px;
  }

  .shk-membership-jumpnav {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }

  .shk-benefit-card,
  .shk-join-step {
    min-height: 200px;
  }
}

@media (max-width: 549px) {
  .shk-membership-hero-banner {
    min-height: 510px;
  }

  .shk-membership-hero-title {
    font-size: clamp(43px, 13vw, 58px);
  }

  .shk-membership-hero-lead {
    max-width: 95%;
    font-size: 17px;
  }

  .shk-membership-hero .button {
    width: 100%;
    margin-right: 0;
  }

  .shk-membership-jumpnav .button.shk-jump-btn {
    min-height: 44px;
    font-size: 11px;
  }

  .shk-benefit-card,
  .shk-join-step,
  .shk-partner-card {
    min-height: 0;
  }

  .shk-benefit-no,
  .shk-join-step__no {
    margin-bottom: 24px;
  }

  .shk-price-box {
    padding: 26px 22px;
  }

  .shk-membership-photo {
    min-height: 330px;
  }

  .shk-faq-item summary {
    font-size: 18px;
  }

  .shk-faq-body {
    padding-right: 20px;
    font-size: 15px;
  }
}

/* Medlemskap v1.1 — intro alignment + legacy jumpnav compatibility. */

/* LEGACY: jumpnav visual alignment — retained, currently unused. */

.shk-membership-jumpnav .button.shk-jump-btn {
  border-color: #66745a !important;
  background: transparent !important;
  color: #66745a !important;
}

.shk-membership-jumpnav .button.shk-jump-btn:hover {
  border-color: #66745a !important;
  background: #66745a !important;
  color: #ffffff !important;
}

/* Prevent the intro heading from becoming a four-line tower */

.shk-membership-intro-title {
  max-width: 560px;
  font-size: clamp(40px, 4.25vw, 60px);
  line-height: .98;
  letter-spacing: -.035em;
}

@media (max-width: 849px) {
  .shk-membership-intro-title {
    font-size: clamp(38px, 6vw, 52px);
  }
}

@media (max-width: 549px) {
  .shk-membership-intro-title {
    max-width: 100%;
    font-size: clamp(36px, 11vw, 48px);
  }
}

/* ==================== AKTIVITETER ==================== */

/*
 * Sletta Hundeklubb – Aktiviteter v1
 * Bundled in the Sletta child theme.
 * No local page navigation.
 */

/* Hero */

.shk-activities-hero-banner {
  min-height: 590px;
}

.shk-activities-hero-title {
  max-width: 820px;
  margin-bottom: 20px;
  color: #fff;
  font-size: clamp(52px, 6vw, 88px);
  line-height: .94;
  letter-spacing: -.045em;
}

.shk-activities-hero-lead {
  max-width: 650px;
  margin-bottom: 26px;
  color: rgba(255,255,255,.92);
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.55;
}

.shk-activities-hero .button {
  margin: 0 10px 10px 0;
}

.shk-activities-hero .shk-btn-primary.button {
  border-color: var(--shk-fresh) !important;
  background: var(--shk-fresh) !important;
  color: var(--shk-charcoal) !important;
}

.shk-activities-hero .shk-hero-secondary.button {
  border-color: rgba(255,255,255,.72) !important;
  color: #fff !important;
}

/* Shared copy */

.shk-activities-lead {
  max-width: 730px;
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.55;
}

.shk-activities-copy p:not(.shk-eyebrow) {
  max-width: 650px;
}

.shk-activities-photo {
  overflow: hidden;
  border-radius: var(--shk-radius-lg);
}

/* Types */

.shk-activity-types-row > .col > .col-inner {
  height: 100%;
}

.shk-activity-type-card {
  display: flex;
  min-height: 245px;
  height: 100%;
  flex-direction: column;
  padding: 24px;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-md);
  background: rgba(255,255,255,.58);
}

.shk-activity-type-no {
  display: block;
  margin-bottom: auto;
  padding-bottom: 42px;
  color: var(--shk-field);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-activity-type-card h3 {
  margin-bottom: 9px;
  font-size: 25px;
  line-height: 1.05;
}

.shk-activity-type-card p {
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.5;
}

/* Upcoming activities */

.shk-all-activities .shk-activities-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  margin-top: 28px;
}

.shk-all-activities .shk-empty-state {
  padding: 42px 0;
  border-top: 1px solid var(--shk-border);
  border-bottom: 1px solid var(--shk-border);
  color: var(--shk-text-muted);
  font-size: 17px;
}

/* How it works */

.shk-activity-info-row > .col > .col-inner {
  height: 100%;
}

.shk-activity-info-card {
  height: 100%;
  min-height: 215px;
  padding: 24px;
  border-radius: var(--shk-radius-md);
  background: #fff;
  border: 1px solid var(--shk-border);
}

.shk-activity-info-no {
  margin-bottom: 38px;
  color: var(--shk-clay);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-activity-info-card h3 {
  margin-bottom: 8px;
  font-size: 23px;
}

.shk-activity-info-card p {
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.55;
}

/* Callout */

.shk-activities-callout h2 {
  max-width: 820px;
  color: #fff;
  font-size: clamp(42px, 5vw, 72px);
  line-height: .97;
}

.shk-activities-callout p {
  max-width: 650px;
  color: rgba(255,255,255,.78);
}

/* News */

.shk-activities-news .post-item .col-inner {
  overflow: hidden;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-md);
  background: #fff;
}

.shk-activities-news .box-text {
  padding: 20px;
}

.shk-activities-news .post-title {
  font-family: Hakter, Inter, sans-serif;
  font-size: 23px;
  line-height: 1.1;
}

@media (hover:hover) {
  .shk-activity-type-card:hover,
  .shk-activity-info-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shk-shadow-sm);
    transition: transform var(--shk-transition), box-shadow var(--shk-transition);
  }
}

@media (max-width: 1099px) {
  .shk-activities-hero-banner {
    min-height: 550px;
  }

  .shk-all-activities .shk-activities-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 849px) {
  .shk-activities-hero-banner {
    min-height: 530px;
  }

  .shk-activity-type-card,
  .shk-activity-info-card {
    min-height: 200px;
  }
}

@media (max-width: 549px) {
  .shk-activities-hero-banner {
    min-height: 510px;
  }

  .shk-activities-hero-title {
    font-size: clamp(43px, 13vw, 58px);
  }

  .shk-activities-hero-lead {
    max-width: 95%;
    font-size: 17px;
  }

  .shk-activities-hero .button {
    width: 100%;
    margin-right: 0;
  }

  .shk-activity-type-card,
  .shk-activity-info-card {
    min-height: 0;
  }

  .shk-activity-type-no,
  .shk-activity-info-no {
    margin-bottom: 24px;
  }

  .shk-all-activities .shk-activities-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .shk-activities-photo {
    min-height: 340px;
  }
}

/* ==================== KLUBBEN ==================== */

/*
 * Sletta Hundeklubb – Klubben v1
 * Bundled in the Sletta child theme.
 * No local navigation.
 */

/* Hero */

.shk-club-hero-banner {
  min-height: 590px;
}

.shk-club-hero-title {
  max-width: 820px;
  margin-bottom: 20px;
  color: #fff;
  font-size: clamp(52px, 6vw, 88px);
  line-height: .94;
  letter-spacing: -.045em;
}

.shk-club-hero-lead {
  max-width: 660px;
  margin-bottom: 26px;
  color: rgba(255,255,255,.92);
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.55;
}

.shk-club-hero .button {
  margin: 0 10px 10px 0;
}

.shk-club-hero .shk-btn-primary.button {
  border-color: var(--shk-fresh) !important;
  background: var(--shk-fresh) !important;
  color: var(--shk-charcoal) !important;
}

.shk-club-hero .shk-hero-secondary.button {
  border-color: rgba(255,255,255,.72) !important;
  color: #fff !important;
}

/* Shared */

.shk-club-lead {
  max-width: 730px;
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.55;
}

.shk-club-copy p:not(.shk-eyebrow) {
  max-width: 650px;
}

.shk-club-photo,
.shk-club-history-photo,
.shk-club-board-photo {
  overflow: hidden;
  border-radius: var(--shk-radius-lg);
}

/* Values */

.shk-club-values .col-inner {
  height: 100%;
}

.shk-club-value {
  min-height: 250px;
  height: 100%;
  padding: 28px;
  border-top: 1px solid rgba(255,255,255,.16);
}

.shk-club-value-no {
  margin-bottom: 46px;
  color: var(--shk-fresh);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-club-value h3 {
  margin-bottom: 12px;
  color: #fff;
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1;
}

.shk-club-value p {
  max-width: 360px;
  margin-bottom: 0;
  color: rgba(255,255,255,.72);
  font-size: 15px;
  line-height: 1.55;
}

/* Landing cards */

.shk-club-card {
  min-height: 270px;
  padding: 26px;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-md);
  background: rgba(255,255,255,.62);
}

.shk-club-card-no {
  display: block;
  margin-bottom: 58px;
  color: var(--shk-field);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-club-card h3 {
  margin-bottom: 8px;
  font-size: 27px;
  line-height: 1.06;
}

.shk-club-card p {
  margin-bottom: 18px;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.5;
}

.shk-club-card a {
  color: var(--shk-field);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.shk-club-card a:hover {
  text-decoration: underline;
}

/* History teaser */

.shk-history-facts {
  margin: 30px 0 32px;
}

.shk-history-fact {
  display: grid;
  grid-template-columns: 70px minmax(0,1fr);
  gap: 16px;
  align-items: start;
  padding: 16px 0;
  border-top: 1px solid var(--shk-border);
}

.shk-history-fact:last-child {
  border-bottom: 1px solid var(--shk-border);
}

.shk-history-fact b {
  color: var(--shk-field);
  font-size: 12px;
  letter-spacing: .1em;
}

.shk-history-fact strong,
.shk-history-fact small {
  display: block;
}

.shk-history-fact strong {
  margin-bottom: 3px;
  font-size: 17px;
}

.shk-history-fact small {
  color: var(--shk-text-muted);
  font-size: 13px;
  line-height: 1.45;
}

/* Board teaser */

.shk-board-card {
  padding: 30px;
  border-radius: var(--shk-radius-lg);
  background: var(--shk-charcoal);
  color: #fff;
}

.shk-board-card h2,
.shk-board-card h3 {
  color: #fff;
}

.shk-board-card p {
  max-width: 620px;
  color: rgba(255,255,255,.72);
}

.shk-board-list {
  margin: 28px 0 30px;
  padding: 0;
  list-style: none;
}

.shk-board-list li {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 13px 0;
  border-top: 1px solid rgba(255,255,255,.12);
}

.shk-board-list li:last-child {
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.shk-board-list span {
  color: rgba(255,255,255,.62);
  font-size: 13px;
}

/* Documents */

.shk-doc-teaser {
  padding: 34px;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-lg);
  background: #fff;
}

.shk-doc-teaser__item {
  display: grid;
  grid-template-columns: 46px minmax(0,1fr);
  gap: 14px;
  padding: 16px 0;
  border-top: 1px solid var(--shk-border);
}

.shk-doc-teaser__item:last-child {
  border-bottom: 1px solid var(--shk-border);
}

.shk-doc-teaser__item b {
  color: var(--shk-field);
  font-size: 12px;
  letter-spacing: .1em;
}

.shk-doc-teaser__item strong {
  display: block;
  font-size: 17px;
}

.shk-doc-teaser__item small {
  display: block;
  color: var(--shk-text-muted);
  font-size: 13px;
}

/* CTA */

.shk-club-cta h2 {
  max-width: 820px;
  color: #fff;
  font-size: clamp(42px, 5vw, 72px);
  line-height: .97;
}

.shk-club-cta p {
  max-width: 650px;
  color: rgba(255,255,255,.78);
}

@media (hover:hover) {
  .shk-club-card:hover {
    transform: translateY(-3px);
    background: #fff;
    box-shadow: var(--shk-shadow-sm);
    transition: transform var(--shk-transition), background-color var(--shk-transition), box-shadow var(--shk-transition);
  }
}

@media (max-width: 1099px) {
  .shk-club-hero-banner {
    min-height: 550px;
  }
}

@media (max-width: 849px) {
  .shk-club-hero-banner {
    min-height: 530px;
  }

  .shk-club-card {
    min-height: 230px;
  }
}

@media (max-width: 549px) {
  .shk-club-hero-banner {
    min-height: 510px;
  }

  .shk-club-hero-title {
    font-size: clamp(43px, 13vw, 58px);
  }

  .shk-club-hero-lead {
    max-width: 95%;
    font-size: 17px;
  }

  .shk-club-hero .button {
    width: 100%;
    margin-right: 0;
  }

  .shk-club-card {
    min-height: 0;
  }

  .shk-club-card-no,
  .shk-club-value-no {
    margin-bottom: 24px;
  }

  .shk-club-photo,
  .shk-club-history-photo,
  .shk-club-board-photo {
    min-height: 340px;
  }

  .shk-history-fact {
    grid-template-columns: 58px minmax(0,1fr);
  }

  .shk-board-card,
  .shk-doc-teaser {
    padding: 24px 20px;
  }

  .shk-board-list li {
    flex-direction: column;
    gap: 3px;
  }
}

/* ==================== AKTUELT ==================== */

/*
 * Sletta Hundeklubb – Aktuelt v1
 * Bundled in the Sletta child theme.
 * No local navigation.
 */

/* Hero */

.shk-news-hero-banner {
  min-height: 560px;
}

.shk-news-hero-title {
  max-width: 820px;
  margin-bottom: 20px;
  color: #fff;
  font-size: clamp(52px, 6vw, 88px);
  line-height: .94;
  letter-spacing: -.045em;
}

.shk-news-hero-lead {
  max-width: 660px;
  margin-bottom: 26px;
  color: rgba(255,255,255,.92);
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.55;
}

.shk-news-hero .button {
  margin: 0 10px 10px 0;
}

.shk-news-hero .shk-btn-primary.button {
  border-color: var(--shk-fresh) !important;
  background: var(--shk-fresh) !important;
  color: var(--shk-charcoal) !important;
}

.shk-news-hero .shk-hero-secondary.button {
  border-color: rgba(255,255,255,.72) !important;
  color: #fff !important;
}

/* Shared */

.shk-news-lead {
  max-width: 730px;
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.55;
}

.shk-news-copy p:not(.shk-eyebrow) {
  max-width: 650px;
}

.shk-news-photo {
  overflow: hidden;
  border-radius: var(--shk-radius-lg);
}

/* Blog cards */

.shk-news-grid .post-item .col-inner,
.shk-news-featured .post-item .col-inner {
  overflow: hidden;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-md);
  background: #fff;
}

.shk-news-grid .box-text,
.shk-news-featured .box-text {
  padding: 22px;
}

.shk-news-grid .post-title,
.shk-news-featured .post-title {
  font-family: Hakter, Inter, sans-serif;
  line-height: 1.08;
  letter-spacing: -.02em;
}

.shk-news-grid .post-title {
  font-size: 24px;
}

.shk-news-featured .post-title {
  font-size: clamp(28px, 3vw, 40px);
}

.shk-news-grid .from_the_blog_excerpt,
.shk-news-featured .from_the_blog_excerpt {
  color: var(--shk-text-muted);
  line-height: 1.55;
}

.shk-news-grid .post-meta,
.shk-news-featured .post-meta {
  color: var(--shk-field);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
}

/* Notice cards */

.shk-news-info-row > .col > .col-inner {
  height: 100%;
}

.shk-news-info-card {
  min-height: 210px;
  height: 100%;
  padding: 24px;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-md);
  background: rgba(255,255,255,.60);
}

.shk-news-info-no {
  margin-bottom: 38px;
  color: var(--shk-clay);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-news-info-card h3 {
  margin-bottom: 8px;
  font-size: 23px;
}

.shk-news-info-card p {
  margin-bottom: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.55;
}

/* Archive statement */

.shk-news-archive-box {
  padding: 34px;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-lg);
  background: #fff;
}

.shk-news-archive-box h3 {
  margin-bottom: 12px;
  font-size: 30px;
}

.shk-news-archive-box p {
  max-width: 650px;
  color: var(--shk-text-muted);
}

/* CTA */

.shk-news-cta h2 {
  max-width: 820px;
  color: #fff;
  font-size: clamp(42px, 5vw, 72px);
  line-height: .97;
}

.shk-news-cta p {
  max-width: 650px;
  color: rgba(255,255,255,.78);
}

/* Canonical Flatsome primary button */

.button.shk-btn-primary {
  border-radius: var(--shk-radius-sm) !important;
  border-color: var(--shk-fresh) !important;
  background: var(--shk-fresh) !important;
  color: var(--shk-charcoal) !important;
  font-weight: 800;
  letter-spacing: .02em;
}

.button.shk-btn-primary:hover {
  border-color: var(--shk-field) !important;
  background: var(--shk-field) !important;
  color: #fff !important;
}

@media (hover:hover) {
  .shk-news-info-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shk-shadow-sm);
    transition: transform var(--shk-transition), box-shadow var(--shk-transition);
  }
}

@media (max-width: 1099px) {
  .shk-news-hero-banner {
    min-height: 530px;
  }
}

@media (max-width: 849px) {
  .shk-news-hero-banner {
    min-height: 510px;
  }

  .shk-news-info-card {
    min-height: 190px;
  }
}

@media (max-width: 549px) {
  .shk-news-hero-banner {
    min-height: 490px;
  }

  .shk-news-hero-title {
    font-size: clamp(43px, 13vw, 58px);
  }

  .shk-news-hero-lead {
    max-width: 95%;
    font-size: 17px;
  }

  .shk-news-hero .button {
    width: 100%;
    margin-right: 0;
  }

  .shk-news-info-card {
    min-height: 0;
  }

  .shk-news-info-no {
    margin-bottom: 24px;
  }

  .shk-news-archive-box {
    padding: 24px 20px;
  }
}

/* ==================== KONTAKT ==================== */

/*
 * Sletta Hundeklubb – Kontakt v1
 * No local navigation.
 */

/* Hero */

.shk-contact-hero-banner {
  min-height: 540px;
}

.shk-contact-hero-title {
  max-width: 820px;
  margin-bottom: 20px;
  color: #fff;
  font-size: clamp(52px, 6vw, 88px);
  line-height: .94;
  letter-spacing: -.045em;
}

.shk-contact-hero-lead {
  max-width: 660px;
  margin-bottom: 26px;
  color: rgba(255,255,255,.92);
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.55;
}

.shk-contact-hero .button {
  margin: 0 10px 10px 0;
}

.shk-contact-hero .shk-btn-primary.button {
  border-color: var(--shk-fresh) !important;
  background: var(--shk-fresh) !important;
  color: var(--shk-charcoal) !important;
}

.shk-contact-hero .shk-hero-secondary.button {
  border-color: rgba(255,255,255,.72) !important;
  color: #fff !important;
}

/* Shared */

.shk-contact-lead {
  max-width: 730px;
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.55;
}

.shk-contact-copy p:not(.shk-eyebrow) {
  max-width: 650px;
}

.shk-contact-photo,
.shk-contact-map {
  overflow: hidden;
  border-radius: var(--shk-radius-lg);
}

/* Contact cards */

.shk-contact-cards-row > .col > .col-inner {
  height: 100%;
}

.shk-contact-card {
  min-height: 245px;
  height: 100%;
  padding: 26px;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-md);
  background: rgba(255,255,255,.62);
}

.shk-contact-card-no {
  display: block;
  margin-bottom: 50px;
  color: var(--shk-field);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-contact-card h3 {
  margin-bottom: 9px;
  font-size: 25px;
  line-height: 1.06;
}

.shk-contact-card p {
  margin-bottom: 18px;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.5;
}

.shk-contact-card a {
  color: var(--shk-field);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.shk-contact-card a:hover {
  text-decoration: underline;
}

/* Form placeholder */

.shk-form-placeholder {
  padding: 34px;
  border: 1px dashed rgba(34,35,33,.24);
  border-radius: var(--shk-radius-lg);
  background: rgba(255,255,255,.58);
}

.shk-form-placeholder__label {
  margin-bottom: 16px;
  color: var(--shk-field);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.shk-form-placeholder code {
  display: block;
  padding: 14px 16px;
  border-radius: var(--shk-radius-sm);
  background: var(--shk-charcoal);
  color: #fff;
  font-size: 14px;
  white-space: normal;
}

/* Find us */

.shk-contact-map {
  border: 1px solid var(--shk-border);
}

.shk-contact-map-label {
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-contact-facts {
  margin: 28px 0 30px;
}

.shk-contact-fact {
  display: grid;
  grid-template-columns: 82px minmax(0,1fr);
  gap: 16px;
  padding: 15px 0;
  border-top: 1px solid var(--shk-border);
}

.shk-contact-fact:last-child {
  border-bottom: 1px solid var(--shk-border);
}

.shk-contact-fact b {
  color: var(--shk-field);
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.shk-contact-fact strong,
.shk-contact-fact small {
  display: block;
}

.shk-contact-fact strong {
  margin-bottom: 3px;
  font-size: 16px;
}

.shk-contact-fact small {
  color: var(--shk-text-muted);
  font-size: 13px;
  line-height: 1.45;
}

/* Privacy note */

.shk-contact-privacy {
  padding: 28px;
  border-radius: var(--shk-radius-lg);
  background: var(--shk-charcoal);
  color: #fff;
}

.shk-contact-privacy h3 {
  color: #fff;
  font-size: 27px;
}

.shk-contact-privacy p {
  margin-bottom: 0;
  color: rgba(255,255,255,.72);
  font-size: 14px;
}

/* Bottom CTA */

.shk-contact-cta h2 {
  max-width: 820px;
  color: #fff;
  font-size: clamp(42px, 5vw, 72px);
  line-height: .97;
}

.shk-contact-cta p {
  max-width: 650px;
  color: rgba(255,255,255,.78);
}

@media (hover:hover) {
  .shk-contact-card:hover {
    transform: translateY(-3px);
    background: #fff;
    box-shadow: var(--shk-shadow-sm);
    transition: transform var(--shk-transition), background-color var(--shk-transition), box-shadow var(--shk-transition);
  }
}

@media (max-width: 1099px) {
  .shk-contact-hero-banner {
    min-height: 510px;
  }
}

@media (max-width: 849px) {
  .shk-contact-hero-banner {
    min-height: 500px;
  }

  .shk-contact-card {
    min-height: 220px;
  }
}

@media (max-width: 549px) {
  .shk-contact-hero-banner {
    min-height: 480px;
  }

  .shk-contact-hero-title {
    font-size: clamp(43px, 13vw, 58px);
  }

  .shk-contact-hero-lead {
    max-width: 95%;
    font-size: 17px;
  }

  .shk-contact-hero .button {
    width: 100%;
    margin-right: 0;
  }

  .shk-contact-card {
    min-height: 0;
  }

  .shk-contact-card-no {
    margin-bottom: 24px;
  }

  .shk-contact-map,
  .shk-contact-photo {
    min-height: 320px;
  }

  .shk-form-placeholder {
    padding: 24px 20px;
  }

  .shk-contact-fact {
    grid-template-columns: 68px minmax(0,1fr);
  }
}

/* ==================== 06. GLOBAL VISUAL OVERRIDES ==================== */

/*
 * HERO – SECONDARY BUTTON
 * Global override for Flatsome outline buttons
 */

.shk-hero-secondary.button,
.shk-hero-secondary.button.is-outline {
  background-color: var(--shk-clay) !important;
  border-color: var(--shk-clay) !important;
  color: var(--shk-white) !important;
}

.shk-hero-secondary.button:hover,
.shk-hero-secondary.button.is-outline:hover {
  background-color: var(--shk-charcoal) !important;
  border-color: var(--shk-charcoal) !important;
  color: var(--shk-white) !important;
}

/*
 * SLETTA – GLOBAL BUTTON HEIGHT
 * Lik høyde, naturlig bredde
 */

.button,
button,
input[type="submit"],
input[type="button"] {
  height: 44px;
  min-height: 44px;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

/*
 * SLETTA – GLOBAL TEXT LINKS
 * Field green → charcoal
 */

/* Flatsome text/link buttons */

.button.shk-text-link,
a.shk-text-link {
  color: var(--shk-field) !important;
}

/* Vanlige tekstlenker inne i innhold */

.ux-text a:not(.button),
.text a:not(.button) {
  color: var(--shk-field) !important;
}

/* Hover / fokus / mens man klikker */

.button.shk-text-link:hover,
.button.shk-text-link:focus,
.button.shk-text-link:active,
a.shk-text-link:hover,
a.shk-text-link:focus,
a.shk-text-link:active,
.ux-text a:not(.button):hover,
.ux-text a:not(.button):focus,
.ux-text a:not(.button):active,
.text a:not(.button):hover,
.text a:not(.button):focus,
.text a:not(.button):active {
  color: var(--shk-charcoal) !important;
}

/* Allerede besøkte tekstlenker */

.button.shk-text-link:visited,
a.shk-text-link:visited,
.ux-text a:not(.button):visited,
.text a:not(.button):visited {
  color: var(--shk-charcoal) !important;
}

/* ==================== 07. UNDERSIDER ==================== */

/*
 * Sletta Hundeklubb – Hundeparken / Regler v1
 * Underside. Ingen lokal navigasjon.
 */

.shk-rules-hero-banner {
  min-height: 520px;
}

.shk-rules-hero-title {
  max-width: 800px;
  margin-bottom: 20px;
  color: #fff;
  font-size: clamp(52px, 6vw, 86px);
  line-height: .94;
  letter-spacing: -.045em;
}

.shk-rules-hero-lead {
  max-width: 650px;
  margin-bottom: 26px;
  color: rgba(255,255,255,.92);
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.55;
}

.shk-rules-lead {
  max-width: 760px;
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.58;
}

.shk-rules-copy p:not(.shk-eyebrow) {
  max-width: 700px;
}

/* Staging/editor note */

.shk-editor-note {
  padding: 24px 26px;
  border: 1px solid #c88b55;
  border-radius: var(--shk-radius-md);
  background: #fff8ef;
}

.shk-editor-note__label {
  margin: 0 0 8px;
  color: #9a5f2d;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.shk-editor-note h3 {
  margin: 0 0 8px;
  font-size: 23px;
}

.shk-editor-note p {
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.55;
}

/* Rule groups */

.shk-rules-group {
  border-top: 1px solid var(--shk-border);
}

.shk-rules-group .shk-rule {
  display: grid;
  grid-template-columns: 58px minmax(0,1fr);
  gap: 22px;
  padding: 27px 0;
  border-bottom: 1px solid var(--shk-border);
}

.shk-rule__no {
  padding-top: 4px;
  color: var(--shk-clay);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-rules-group .shk-rule h3 {
  margin: 0 0 7px;
  font-size: clamp(20px, 2vw, 25px);
  line-height: 1.08;
}

.shk-rules-group .shk-rule p {
  max-width: 790px;
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 15px;
  line-height: 1.62;
}

.shk-rules-group .shk-rule p + p {
  margin-top: 8px;
}

/* Highlight panel */

.shk-rules-principle {
  padding: 34px;
  border-radius: var(--shk-radius-lg);
  background: var(--shk-charcoal);
  color: #fff;
}

.shk-rules-principle__no {
  margin: 0 0 42px;
  color: var(--shk-fresh);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-rules-principle h3 {
  max-width: 500px;
  margin-bottom: 12px;
  color: #fff;
  font-size: clamp(27px, 3vw, 38px);
  line-height: 1.03;
}

.shk-rules-principle p {
  max-width: 540px;
  margin-bottom: 0;
  color: rgba(255,255,255,.74);
  line-height: 1.6;
}

/* Quick facts */

.shk-rules-quick-row > .col > .col-inner {
  height: 100%;
}

.shk-rules-quick {
  height: 100%;
  min-height: 205px;
  padding: 24px;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-md);
  background: rgba(255,255,255,.62);
}

.shk-rules-quick__no {
  margin: 0 0 35px;
  color: var(--shk-field);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-rules-quick h3 {
  margin: 0 0 8px;
  font-size: 22px;
}

.shk-rules-quick p {
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.5;
}

/* Legal note */

.shk-rules-legal {
  padding: 28px;
  border-left: 4px solid var(--shk-field);
  background: #fff;
}

.shk-rules-legal h3 {
  margin-bottom: 8px;
  font-size: 23px;
}

.shk-rules-legal p {
  margin-bottom: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.6;
}

/* Bottom CTA */

.shk-rules-cta h2 {
  max-width: 820px;
  color: #fff;
  font-size: clamp(42px, 5vw, 70px);
  line-height: .97;
}

.shk-rules-cta p {
  max-width: 670px;
  color: rgba(255,255,255,.78);
}

@media (hover:hover) {
  .shk-rules-quick:hover {
    transform: translateY(-3px);
    background: #fff;
    box-shadow: var(--shk-shadow-sm);
    transition: transform var(--shk-transition), background-color var(--shk-transition), box-shadow var(--shk-transition);
  }
}

@media (max-width: 849px) {
  .shk-rules-hero-banner {
    min-height: 500px;
  }
}

@media (max-width: 549px) {
  .shk-rules-hero-banner {
    min-height: 470px;
  }

  .shk-rules-hero-title {
    font-size: clamp(43px, 13vw, 58px);
  }

  .shk-rules-hero-lead {
    max-width: 95%;
    font-size: 17px;
  }

  .shk-rules-group .shk-rule {
    grid-template-columns: 38px minmax(0,1fr);
    gap: 12px;
    padding: 23px 0;
  }

  .shk-rules-group .shk-rule p {
    font-size: 14px;
  }

  .shk-rules-principle,
  .shk-editor-note {
    padding: 24px 20px;
  }

  .shk-rules-principle__no {
    margin-bottom: 28px;
  }

  .shk-rules-quick {
    min-height: 0;
  }
}

/*
 * Sletta Hundeklubb – Hundeparken / Gode råd v1
 * Underside. Ingen lokal navigasjon.
 */

.shk-advice-hero-banner {
  min-height: 520px;
}

.shk-advice-hero-title {
  max-width: 820px;
  margin-bottom: 20px;
  color: #fff;
  font-size: clamp(52px, 6vw, 86px);
  line-height: .94;
  letter-spacing: -.045em;
}

.shk-advice-hero-lead {
  max-width: 650px;
  margin-bottom: 26px;
  color: rgba(255,255,255,.92);
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.55;
}

.shk-advice-lead {
  max-width: 760px;
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.58;
}

.shk-advice-copy p:not(.shk-eyebrow) {
  max-width: 700px;
}

/* Feature image */

.shk-advice-photo {
  overflow: hidden;
  border-radius: var(--shk-radius-lg);
}

/* Editorial note */

.shk-advice-note {
  padding: 24px 26px;
  border: 1px solid #c88b55;
  border-radius: var(--shk-radius-md);
  background: #fff8ef;
}

.shk-advice-note__label {
  margin: 0 0 8px;
  color: #9a5f2d;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.shk-advice-note h3 {
  margin: 0 0 8px;
  font-size: 23px;
}

.shk-advice-note p {
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.55;
}

/* Steps */

.shk-advice-step-row > .col > .col-inner {
  height: 100%;
}

.shk-advice-step {
  height: 100%;
  min-height: 225px;
  padding: 24px;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-md);
  background: rgba(255,255,255,.64);
}

.shk-advice-step__no {
  margin: 0 0 38px;
  color: var(--shk-clay);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-advice-step h3 {
  margin: 0 0 8px;
  font-size: 23px;
  line-height: 1.06;
}

.shk-advice-step p {
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.55;
}

/* Advice rows */

.shk-advice-list {
  border-top: 1px solid var(--shk-border);
}

.shk-advice-item {
  display: grid;
  grid-template-columns: 58px minmax(0,1fr);
  gap: 22px;
  padding: 28px 0;
  border-bottom: 1px solid var(--shk-border);
}

.shk-advice-item__no {
  padding-top: 4px;
  color: var(--shk-field);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-advice-item h3 {
  margin: 0 0 8px;
  font-size: clamp(21px, 2vw, 26px);
  line-height: 1.08;
}

.shk-advice-item p {
  max-width: 800px;
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 15px;
  line-height: 1.62;
}

.shk-advice-item p + p {
  margin-top: 8px;
}

/* Principle panel */

.shk-advice-principle {
  padding: 34px;
  border-radius: var(--shk-radius-lg);
  background: var(--shk-charcoal);
  color: #fff;
}

.shk-advice-principle__label {
  margin: 0 0 42px;
  color: var(--shk-fresh);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-advice-principle h3 {
  max-width: 520px;
  margin-bottom: 12px;
  color: #fff;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.03;
}

.shk-advice-principle p {
  max-width: 550px;
  margin-bottom: 0;
  color: rgba(255,255,255,.74);
  line-height: 1.6;
}

/* Conflict box */

.shk-advice-conflict {
  padding: 32px;
  border-left: 4px solid var(--shk-clay);
  background: #fff;
}

.shk-advice-conflict h3 {
  margin-bottom: 10px;
  font-size: 26px;
}

.shk-advice-conflict p {
  margin-bottom: 10px;
  color: var(--shk-text-muted);
  line-height: 1.62;
}

.shk-advice-conflict p:last-child {
  margin-bottom: 0;
}

/* Bottom CTA */

.shk-advice-cta h2 {
  max-width: 840px;
  color: #fff;
  font-size: clamp(42px, 5vw, 70px);
  line-height: .97;
}

.shk-advice-cta p {
  max-width: 670px;
  color: rgba(255,255,255,.78);
}

@media (hover:hover) {
  .shk-advice-step:hover {
    transform: translateY(-3px);
    background: #fff;
    box-shadow: var(--shk-shadow-sm);
    transition: transform var(--shk-transition), background-color var(--shk-transition), box-shadow var(--shk-transition);
  }
}

@media (max-width: 849px) {
  .shk-advice-hero-banner {
    min-height: 500px;
  }
}

@media (max-width: 549px) {
  .shk-advice-hero-banner {
    min-height: 470px;
  }

  .shk-advice-hero-title {
    font-size: clamp(43px, 13vw, 58px);
  }

  .shk-advice-hero-lead {
    max-width: 95%;
    font-size: 17px;
  }

  .shk-advice-step {
    min-height: 0;
  }

  .shk-advice-step__no {
    margin-bottom: 24px;
  }

  .shk-advice-item {
    grid-template-columns: 38px minmax(0,1fr);
    gap: 12px;
    padding: 23px 0;
  }

  .shk-advice-item p {
    font-size: 14px;
  }

  .shk-advice-principle,
  .shk-advice-conflict,
  .shk-advice-note {
    padding: 24px 20px;
  }

  .shk-advice-principle__label {
    margin-bottom: 28px;
  }
}

/*
 * Sletta Hundeklubb – Hundeparken / Booking v1
 * Underside. Ingen lokal navigasjon.
 */

.shk-booking-hero-banner {
  min-height: 520px;
}

.shk-booking-hero-title {
  max-width: 820px;
  margin-bottom: 20px;
  color: #fff;
  font-size: clamp(52px, 6vw, 86px);
  line-height: .94;
  letter-spacing: -.045em;
}

.shk-booking-hero-lead {
  max-width: 650px;
  margin-bottom: 26px;
  color: rgba(255,255,255,.92);
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.55;
}

.shk-booking-lead {
  max-width: 760px;
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.58;
}

.shk-booking-copy p:not(.shk-eyebrow) {
  max-width: 700px;
}

.shk-booking-photo {
  overflow: hidden;
  border-radius: var(--shk-radius-lg);
}

/* Cards */

.shk-booking-card-row > .col > .col-inner {
  height: 100%;
}

.shk-booking-card {
  height: 100%;
  min-height: 235px;
  padding: 24px;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-md);
  background: rgba(255,255,255,.64);
}

.shk-booking-card__no {
  margin: 0 0 38px;
  color: var(--shk-field);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-booking-card h3 {
  margin: 0 0 8px;
  font-size: 23px;
  line-height: 1.06;
}

.shk-booking-card p {
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.55;
}

/* Booking placeholder */

.shk-booking-box {
  padding: 34px;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-lg);
  background: #fff;
}

.shk-booking-box__label {
  margin: 0 0 18px;
  color: var(--shk-field);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-booking-box h3 {
  margin-bottom: 10px;
  font-size: clamp(28px, 3vw, 38px);
}

.shk-booking-box p {
  max-width: 650px;
  color: var(--shk-text-muted);
  line-height: 1.6;
}

.shk-booking-placeholder {
  margin-top: 24px;
  padding: 22px;
  border: 1px dashed rgba(34,35,33,.22);
  border-radius: var(--shk-radius-md);
  background: #f8f6f0;
}

.shk-booking-placeholder strong,
.shk-booking-placeholder small {
  display: block;
}

.shk-booking-placeholder strong {
  margin-bottom: 5px;
}

.shk-booking-placeholder small {
  color: var(--shk-text-muted);
  line-height: 1.5;
}

/* Process */

.shk-booking-step {
  display: grid;
  grid-template-columns: 58px minmax(0,1fr);
  gap: 22px;
  padding: 27px 0;
  border-top: 1px solid var(--shk-border);
}

.shk-booking-step:last-child {
  border-bottom: 1px solid var(--shk-border);
}

.shk-booking-step__no {
  padding-top: 4px;
  color: var(--shk-clay);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-booking-step h3 {
  margin: 0 0 7px;
  font-size: clamp(21px, 2vw, 26px);
}

.shk-booking-step p {
  max-width: 790px;
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 15px;
  line-height: 1.6;
}

/* Editor note */

.shk-booking-note {
  padding: 24px 26px;
  border: 1px solid #c88b55;
  border-radius: var(--shk-radius-md);
  background: #fff8ef;
}

.shk-booking-note__label {
  margin: 0 0 8px;
  color: #9a5f2d;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.shk-booking-note h3 {
  margin: 0 0 8px;
  font-size: 23px;
}

.shk-booking-note p {
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.55;
}

/* FAQ */

.shk-booking-faq {
  border-top: 1px solid var(--shk-border);
}

.shk-booking-faq-item {
  border-bottom: 1px solid var(--shk-border);
}

.shk-booking-faq-item summary {
  display: grid;
  grid-template-columns: minmax(0,1fr) 30px;
  gap: 12px;
  align-items: center;
  padding: 20px 0;
  cursor: pointer;
  list-style: none;
  font-family: Hakter, Inter, sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.15;
}

.shk-booking-faq-item summary::-webkit-details-marker {
  display: none;
}

.shk-booking-faq-item summary::after {
  content: "+";
  justify-self: end;
  color: var(--shk-field);
  font-family: Inter, sans-serif;
  font-size: 28px;
  font-weight: 400;
}

.shk-booking-faq-item[open] summary::after {
  content: "–";
}

.shk-booking-faq-body {
  max-width: 780px;
  padding: 0 42px 22px 0;
  color: var(--shk-text-muted);
  font-size: 15px;
  line-height: 1.65;
}

/* CTA */

.shk-booking-cta h2 {
  max-width: 830px;
  color: #fff;
  font-size: clamp(42px, 5vw, 70px);
  line-height: .97;
}

.shk-booking-cta p {
  max-width: 670px;
  color: rgba(255,255,255,.78);
}

@media (hover:hover) {
  .shk-booking-card:hover {
    transform: translateY(-3px);
    background: #fff;
    box-shadow: var(--shk-shadow-sm);
    transition: transform var(--shk-transition), background-color var(--shk-transition), box-shadow var(--shk-transition);
  }
}

@media (max-width: 849px) {
  .shk-booking-hero-banner {
    min-height: 500px;
  }
}

@media (max-width: 549px) {
  .shk-booking-hero-banner {
    min-height: 470px;
  }

  .shk-booking-hero-title {
    font-size: clamp(43px, 13vw, 58px);
  }

  .shk-booking-hero-lead {
    max-width: 95%;
    font-size: 17px;
  }

  .shk-booking-card {
    min-height: 0;
  }

  .shk-booking-card__no {
    margin-bottom: 24px;
  }

  .shk-booking-step {
    grid-template-columns: 38px minmax(0,1fr);
    gap: 12px;
    padding: 23px 0;
  }

  .shk-booking-step p {
    font-size: 14px;
  }

  .shk-booking-box,
  .shk-booking-note {
    padding: 24px 20px;
  }

  .shk-booking-faq-item summary {
    font-size: 18px;
  }

  .shk-booking-faq-body {
    padding-right: 20px;
  }
}

/* FluentBooking embed */

.shk-fluentbooking-shell {
  padding: 28px;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-lg);
  background: #fff;
}

.shk-fluentbooking-shell__head {
  margin-bottom: 22px;
}

.shk-fluentbooking-shell__label {
  margin: 0 0 8px;
  color: var(--shk-field);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-fluentbooking-shell__head h3 {
  margin: 0 0 8px;
  font-size: clamp(28px, 3vw, 38px);
}

.shk-fluentbooking-shell__head p {
  max-width: 680px;
  margin: 0;
  color: var(--shk-text-muted);
  line-height: 1.6;
}

.shk-fluentbooking-shortcode-note {
  margin-top: 20px;
  padding: 18px 20px;
  border-radius: var(--shk-radius-md);
  background: #f4f1e9;
}

.shk-fluentbooking-shortcode-note strong,
.shk-fluentbooking-shortcode-note code,
.shk-fluentbooking-shortcode-note small {
  display: block;
}

.shk-fluentbooking-shortcode-note strong {
  margin-bottom: 8px;
}

.shk-fluentbooking-shortcode-note code {
  margin-bottom: 8px;
  color: var(--shk-field);
  font-size: 14px;
  overflow-wrap: anywhere;
}

.shk-fluentbooking-shortcode-note small {
  color: var(--shk-text-muted);
  line-height: 1.5;
}

.shk-booking-tech-note {
  padding: 24px 26px;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-md);
  background: rgba(255,255,255,.58);
}

.shk-booking-tech-note h3 {
  margin-bottom: 8px;
  font-size: 22px;
}

.shk-booking-tech-note p {
  margin-bottom: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.55;
}

@media (max-width: 549px) {
  .shk-fluentbooking-shell,
  .shk-booking-tech-note {
    padding: 22px 18px;
  }
}

/*
 * Sletta Hundeklubb – Klubben / Om Sletta v1.1
 * Underside. Ingen lokal navigasjon.
 */

/* 01. HERO */

.shk-about-hero-banner {
  min-height: 530px;
}

.shk-about-hero-title {
  max-width: 820px;
  margin-bottom: 20px;
  color: #fff;
  font-size: clamp(52px, 6vw, 86px);
  line-height: .94;
  letter-spacing: -.045em;
}

.shk-about-hero-lead {
  max-width: 670px;
  margin-bottom: 26px;
  color: rgba(255,255,255,.92);
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.55;
}

/* 02. SHARED CONTENT */

.shk-about-lead {
  max-width: 760px;
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.58;
}

.shk-about-copy p:not(.shk-eyebrow) {
  max-width: 700px;
}

.shk-about-photo {
  overflow: hidden;
  border-radius: var(--shk-radius-lg);
}

/* 03. VALUES */

.shk-about-values-row > .col > .col-inner {
  height: 100%;
}

.shk-about-value {
  height: 100%;
  min-height: 235px;
  padding: 26px;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-md);
  background: rgba(255,255,255,.64);
}

.shk-about-value__no {
  margin: 0 0 42px;
  color: var(--shk-clay);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-about-value h3 {
  margin: 0 0 9px;
  font-size: 25px;
}

.shk-about-value p {
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.55;
}

/* 04. WHAT SLETTA OFFERS */

.shk-about-feature-list {
  border-top: 1px solid var(--shk-border);
}

.shk-about-feature {
  display: grid;
  grid-template-columns: 58px minmax(0,1fr);
  gap: 22px;
  padding: 27px 0;
  border-bottom: 1px solid var(--shk-border);
}

.shk-about-feature__no {
  padding-top: 4px;
  color: var(--shk-field);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-about-feature h3 {
  margin: 0 0 7px;
  font-size: clamp(21px, 2vw, 26px);
}

.shk-about-feature p {
  max-width: 780px;
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 15px;
  line-height: 1.62;
}

/* 05. DARK STATEMENT */

.shk-about-statement {
  padding: 36px;
  border-radius: var(--shk-radius-lg);
  background: var(--shk-charcoal);
  color: #fff;
}

.shk-about-statement__label {
  margin: 0 0 44px;
  color: var(--shk-fresh);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-about-statement h3 {
  max-width: 540px;
  margin-bottom: 12px;
  color: #fff;
  font-size: clamp(29px, 3vw, 42px);
  line-height: 1.02;
}

.shk-about-statement p {
  max-width: 560px;
  margin-bottom: 0;
  color: rgba(255,255,255,.74);
  line-height: 1.6;
}

/* 06. COMMUNITY CARDS */

.shk-about-community-row > .col > .col-inner {
  height: 100%;
}

.shk-about-community-card {
  height: 100%;
  min-height: 210px;
  padding: 24px;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-md);
  background: #fff;
}

.shk-about-community-card h3 {
  margin-bottom: 8px;
  font-size: 23px;
}

.shk-about-community-card p {
  margin-bottom: 14px;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.55;
}

.shk-about-community-card a {
  color: var(--shk-field);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.shk-about-community-card a:hover,
.shk-about-community-card a:focus,
.shk-about-community-card a:active,
.shk-about-community-card a:visited {
  color: var(--shk-charcoal);
}

/* 07. EDITOR NOTE */

.shk-about-note {
  padding: 24px 26px;
  border: 1px solid var(--shk-clay);
  border-radius: var(--shk-radius-md);
  background: #fff8ef;
}

.shk-about-note__label {
  margin: 0 0 8px;
  color: #9a5f2d;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.shk-about-note h3 {
  margin: 0 0 8px;
  font-size: 23px;
}

.shk-about-note p {
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.55;
}

/* 08. CTA */

.shk-about-cta h2 {
  max-width: 850px;
  color: #fff;
  font-size: clamp(42px, 5vw, 70px);
  line-height: .97;
}

.shk-about-cta p {
  max-width: 670px;
  color: rgba(255,255,255,.78);
}

/* 09. INTERACTION */

@media (hover:hover) {
  .shk-about-value:hover,
  .shk-about-community-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shk-shadow-sm);
    transition: transform var(--shk-transition),
      box-shadow var(--shk-transition);
  }
}

/* 10. TABLET */

@media (max-width: 849px) {
  .shk-about-hero-banner {
    min-height: 500px;
  }
}

/* 11. MOBILE */

@media (max-width: 549px) {
  .shk-about-hero-banner {
    min-height: 470px;
  }

  .shk-about-hero-title {
    font-size: clamp(43px, 13vw, 58px);
  }

  .shk-about-hero-lead {
    max-width: 95%;
    font-size: 17px;
  }

  .shk-about-value,
  .shk-about-community-card {
    min-height: 0;
  }

  .shk-about-value__no {
    margin-bottom: 24px;
  }

  .shk-about-feature {
    grid-template-columns: 38px minmax(0,1fr);
    gap: 12px;
    padding: 23px 0;
  }

  .shk-about-feature p {
    font-size: 14px;
  }

  .shk-about-statement,
  .shk-about-note {
    padding: 24px 20px;
  }

  .shk-about-statement__label {
    margin-bottom: 28px;
  }
}

/*
 * Sletta Hundeklubb – Klubben / Historien v1
 * Underside. Ingen lokal navigasjon.
 */

/* 01. HERO */

.shk-history-hero-banner {
  min-height: 530px;
}

.shk-history-hero-title {
  max-width: 840px;
  margin-bottom: 20px;
  color: #fff;
  font-size: clamp(52px, 6vw, 86px);
  line-height: .94;
  letter-spacing: -.045em;
}

.shk-history-hero-lead {
  max-width: 690px;
  margin-bottom: 26px;
  color: rgba(255,255,255,.92);
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.55;
}

/* 02. SHARED */

.shk-history-lead {
  max-width: 760px;
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.58;
}

.shk-history-copy p:not(.shk-eyebrow) {
  max-width: 700px;
}

.shk-history-photo {
  overflow: hidden;
  border-radius: var(--shk-radius-lg);
}

/* 03. TIMELINE */

.shk-history-timeline {
  position: relative;
  margin-top: 12px;
}

.shk-history-timeline::before {
  content: "";
  position: absolute;
  top: 8px;
  bottom: 8px;
  left: 98px;
  width: 1px;
  background: var(--shk-border);
}

.shk-history-entry {
  display: grid;
  grid-template-columns: 74px 1fr;
  gap: 48px;
  position: relative;
  padding: 8px 0 54px;
}

.shk-history-entry:last-child {
  padding-bottom: 8px;
}

.shk-history-entry__year {
  position: relative;
  z-index: 2;
  color: var(--shk-field);
  font-family: Hakter, Inter, sans-serif;
  font-size: 20px;
  font-weight: 800;
  line-height: 1;
}

.shk-history-entry__year::after {
  content: "";
  position: absolute;
  top: 3px;
  right: -31px;
  width: 12px;
  height: 12px;
  border: 3px solid var(--shk-field);
  border-radius: 50%;
  background: #fff;
}

.shk-history-entry__content {
  max-width: 780px;
}

.shk-history-entry__content h3 {
  margin: 0 0 8px;
  font-size: clamp(23px, 2.4vw, 31px);
  line-height: 1.06;
}

.shk-history-entry__content p {
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 15px;
  line-height: 1.65;
}

.shk-history-entry__content p + p {
  margin-top: 8px;
}

/* 04. 2018 FEATURE */

.shk-history-feature {
  padding: 36px;
  border-radius: var(--shk-radius-lg);
  background: var(--shk-charcoal);
  color: #fff;
}

.shk-history-feature__label {
  margin: 0 0 44px;
  color: var(--shk-fresh);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-history-feature h3 {
  max-width: 560px;
  margin-bottom: 12px;
  color: #fff;
  font-size: clamp(30px, 3.2vw, 44px);
  line-height: 1.02;
}

.shk-history-feature p {
  max-width: 590px;
  margin-bottom: 0;
  color: rgba(255,255,255,.74);
  line-height: 1.62;
}

/* 05. PEOPLE / CONTRIBUTION */

.shk-history-people-row > .col > .col-inner {
  height: 100%;
}

.shk-history-person {
  height: 100%;
  min-height: 225px;
  padding: 25px;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-md);
  background: rgba(255,255,255,.66);
}

.shk-history-person__label {
  margin: 0 0 36px;
  color: var(--shk-clay);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-history-person h3 {
  margin-bottom: 8px;
  font-size: 24px;
}

.shk-history-person p {
  margin-bottom: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.55;
}

/* 06. ARCHIVE / PHOTOS */

.shk-history-archive {
  padding: 30px;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-lg);
  background: #fff;
}

.shk-history-archive h3 {
  margin-bottom: 10px;
  font-size: 27px;
}

.shk-history-archive p {
  max-width: 620px;
  margin-bottom: 16px;
  color: var(--shk-text-muted);
  line-height: 1.6;
}

.shk-history-archive a {
  color: var(--shk-field);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.shk-history-archive a:hover,
.shk-history-archive a:focus,
.shk-history-archive a:active,
.shk-history-archive a:visited {
  color: var(--shk-charcoal);
}

/* 07. EDITOR NOTE */

.shk-history-note {
  padding: 24px 26px;
  border: 1px solid var(--shk-clay);
  border-radius: var(--shk-radius-md);
  background: #fff8ef;
}

.shk-history-note__label {
  margin: 0 0 8px;
  color: #9a5f2d;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.shk-history-note h3 {
  margin: 0 0 8px;
  font-size: 23px;
}

.shk-history-note p {
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.55;
}

/* 08. CTA */

.shk-history-cta h2 {
  max-width: 850px;
  color: #fff;
  font-size: clamp(42px, 5vw, 70px);
  line-height: .97;
}

.shk-history-cta p {
  max-width: 680px;
  color: rgba(255,255,255,.78);
}

/* 09. INTERACTION */

@media (hover:hover) {
  .shk-history-person:hover,
  .shk-history-archive:hover {
    transform: translateY(-3px);
    box-shadow: var(--shk-shadow-sm);
    transition: transform var(--shk-transition),
      box-shadow var(--shk-transition);
  }
}

/* 10. TABLET */

@media (max-width: 849px) {
  .shk-history-hero-banner {
    min-height: 500px;
  }

  .shk-history-timeline::before {
    left: 82px;
  }

  .shk-history-entry {
    grid-template-columns: 62px 1fr;
    gap: 42px;
  }

  .shk-history-entry__year::after {
    right: -29px;
  }
}

/* 11. MOBILE */

@media (max-width: 549px) {
  .shk-history-hero-banner {
    min-height: 470px;
  }

  .shk-history-hero-title {
    font-size: clamp(43px, 13vw, 58px);
  }

  .shk-history-hero-lead {
    max-width: 95%;
    font-size: 17px;
  }

  .shk-history-timeline::before {
    left: 53px;
  }

  .shk-history-entry {
    grid-template-columns: 42px 1fr;
    gap: 28px;
    padding-bottom: 42px;
  }

  .shk-history-entry__year {
    font-size: 15px;
  }

  .shk-history-entry__year::after {
    top: 1px;
    right: -20px;
    width: 10px;
    height: 10px;
    border-width: 2px;
  }

  .shk-history-entry__content p {
    font-size: 14px;
  }

  .shk-history-feature,
  .shk-history-archive,
  .shk-history-note {
    padding: 24px 20px;
  }

  .shk-history-feature__label {
    margin-bottom: 28px;
  }

  .shk-history-person {
    min-height: 0;
  }

  .shk-history-person__label {
    margin-bottom: 24px;
  }
}

/*
 * Sletta Hundeklubb – Klubben / Styret v1
 * Underside. Ingen lokal navigasjon.
 */

/* 01. HERO */

.shk-board-hero-banner {
  min-height: 520px;
}

.shk-board-hero-title {
  max-width: 820px;
  margin-bottom: 20px;
  color: #fff;
  font-size: clamp(52px, 6vw, 86px);
  line-height: .94;
  letter-spacing: -.045em;
}

.shk-board-hero-lead {
  max-width: 680px;
  margin-bottom: 26px;
  color: rgba(255,255,255,.92);
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.55;
}

/* 02. SHARED */

.shk-board-lead {
  max-width: 760px;
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.58;
}

.shk-board-copy p:not(.shk-eyebrow) {
  max-width: 700px;
}

/* 03. BOARD CARDS */

.shk-board-grid > .col > .col-inner {
  height: 100%;
}

.shk-board-grid .shk-board-card {
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-md);
  background: #fff;
}

.shk-board-card__photo {
  aspect-ratio: 4 / 3;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e7dec9;
  color: var(--shk-text-muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-align: center;
}

.shk-board-card__body {
  padding: 24px;
}

.shk-board-card__role {
  margin: 0 0 8px;
  color: var(--shk-field);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.shk-board-grid .shk-board-card h3 {
  margin: 0 0 8px;
  font-size: 25px;
  line-height: 1.05;
}

.shk-board-grid .shk-board-card p {
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.55;
}

.shk-board-card__contact {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--shk-border);
}

.shk-board-card__contact a {
  color: var(--shk-field);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.shk-board-card__contact a:hover,
.shk-board-card__contact a:focus,
.shk-board-card__contact a:active,
.shk-board-card__contact a:visited {
  color: var(--shk-charcoal);
}

/* 04. WHAT THE BOARD DOES */

.shk-board-duty {
  display: grid;
  grid-template-columns: 58px minmax(0,1fr);
  gap: 22px;
  padding: 27px 0;
  border-top: 1px solid var(--shk-border);
}

.shk-board-duty:last-child {
  border-bottom: 1px solid var(--shk-border);
}

.shk-board-duty__no {
  padding-top: 4px;
  color: var(--shk-clay);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-board-duty h3 {
  margin: 0 0 7px;
  font-size: clamp(21px, 2vw, 26px);
}

.shk-board-duty p {
  max-width: 800px;
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 15px;
  line-height: 1.62;
}

/* 05. CONTACT PANEL */

.shk-board-contact-panel {
  padding: 34px;
  border-radius: var(--shk-radius-lg);
  background: var(--shk-charcoal);
  color: #fff;
}

.shk-board-contact-panel__label {
  margin: 0 0 40px;
  color: var(--shk-fresh);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-board-contact-panel h3 {
  margin-bottom: 10px;
  color: #fff;
  font-size: clamp(28px, 3vw, 40px);
}

.shk-board-contact-panel p {
  margin-bottom: 18px;
  color: rgba(255,255,255,.74);
  line-height: 1.6;
}

.shk-board-contact-panel a {
  color: #fff;
  font-weight: 800;
  text-decoration: none;
}

.shk-board-contact-panel a:hover,
.shk-board-contact-panel a:focus,
.shk-board-contact-panel a:active {
  color: var(--shk-fresh);
}

/* 06. EDITOR NOTE */

.shk-board-note {
  padding: 24px 26px;
  border: 1px solid var(--shk-clay);
  border-radius: var(--shk-radius-md);
  background: #fff8ef;
}

.shk-board-note__label {
  margin: 0 0 8px;
  color: #9a5f2d;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.shk-board-note h3 {
  margin: 0 0 8px;
  font-size: 23px;
}

.shk-board-note p {
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.55;
}

/* 07. CTA */

.shk-board-cta h2 {
  max-width: 850px;
  color: #fff;
  font-size: clamp(42px, 5vw, 70px);
  line-height: .97;
}

.shk-board-cta p {
  max-width: 670px;
  color: rgba(255,255,255,.78);
}

/* 08. INTERACTION */

@media (hover:hover) {
  .shk-board-grid .shk-board-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shk-shadow-sm);
    transition: transform var(--shk-transition),
      box-shadow var(--shk-transition);
  }
}

/* 09. TABLET */

@media (max-width: 849px) {
  .shk-board-hero-banner {
    min-height: 500px;
  }
}

/* 10. MOBILE */

@media (max-width: 549px) {
  .shk-board-hero-banner {
    min-height: 470px;
  }

  .shk-board-hero-title {
    font-size: clamp(43px, 13vw, 58px);
  }

  .shk-board-hero-lead {
    max-width: 95%;
    font-size: 17px;
  }

  .shk-board-duty {
    grid-template-columns: 38px minmax(0,1fr);
    gap: 12px;
    padding: 23px 0;
  }

  .shk-board-duty p {
    font-size: 14px;
  }

  .shk-board-contact-panel,
  .shk-board-note {
    padding: 24px 20px;
  }

  .shk-board-contact-panel__label {
    margin-bottom: 28px;
  }
}

/*
 * Sletta Hundeklubb – Klubben / Dokumenter v1
 * Underside. Ingen lokal navigasjon.
 */

/* 01. HERO */

.shk-docs-hero-banner {
  min-height: 510px;
}

.shk-docs-hero-title {
  max-width: 820px;
  margin-bottom: 20px;
  color: #fff;
  font-size: clamp(52px, 6vw, 86px);
  line-height: .94;
  letter-spacing: -.045em;
}

.shk-docs-hero-lead {
  max-width: 680px;
  margin-bottom: 26px;
  color: rgba(255,255,255,.92);
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.55;
}

/* 02. SHARED CONTENT */

.shk-docs-lead {
  max-width: 760px;
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.58;
}

.shk-docs-copy p:not(.shk-eyebrow) {
  max-width: 700px;
}

/* 03. DOCUMENT TYPE CARDS */

.shk-docs-card-row > .col > .col-inner {
  height: 100%;
}

.shk-docs-card {
  height: 100%;
  min-height: 220px;
  padding: 25px;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-md);
  background: rgba(255,255,255,.66);
}

.shk-docs-card__no {
  margin: 0 0 38px;
  color: var(--shk-clay);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-docs-card h3 {
  margin: 0 0 8px;
  font-size: 23px;
  line-height: 1.06;
}

.shk-docs-card p {
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.55;
}

/*
 * 04. DYNAMIC DOCUMENT ARCHIVE
 * Styles output from [sletta_documents]
 */

.shk-documents {
  width: 100%;
}

.shk-documents__year {
  margin: 0 0 48px;
}

.shk-documents__year:last-child {
  margin-bottom: 0;
}

.shk-documents__year > h3 {
  margin: 0 0 18px;
  color: var(--shk-field);
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1;
}

.shk-document-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 24px;
  align-items: center;
  padding: 20px 0;
  border-top: 1px solid var(--shk-border);
}

.shk-documents__year .shk-document-row:last-child {
  border-bottom: 1px solid var(--shk-border);
}

.shk-document-row__title {
  margin: 0 0 5px;
  font-family: Hakter, Inter, sans-serif;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.15;
}

.shk-document-row__meta {
  color: var(--shk-text-muted);
  font-size: 13px;
  line-height: 1.5;
}

.shk-document-row .shk-text-link {
  flex: 0 0 auto;
  color: var(--shk-field) !important;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
  text-decoration: none;
  white-space: nowrap;
}

.shk-document-row .shk-text-link:hover,
.shk-document-row .shk-text-link:focus,
.shk-document-row .shk-text-link:active,
.shk-document-row .shk-text-link:visited {
  color: var(--shk-charcoal) !important;
}

.shk-empty-state {
  padding: 28px;
  border: 1px dashed rgba(34,35,33,.22);
  border-radius: var(--shk-radius-md);
  background: #f8f6f0;
  color: var(--shk-text-muted);
}

/* 05. HOW THE ARCHIVE WORKS */

.shk-docs-process {
  display: grid;
  grid-template-columns: 58px minmax(0,1fr);
  gap: 22px;
  padding: 27px 0;
  border-top: 1px solid var(--shk-border);
}

.shk-docs-process:last-child {
  border-bottom: 1px solid var(--shk-border);
}

.shk-docs-process__no {
  padding-top: 4px;
  color: var(--shk-field);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-docs-process h3 {
  margin: 0 0 7px;
  font-size: clamp(21px, 2vw, 26px);
}

.shk-docs-process p {
  max-width: 790px;
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 15px;
  line-height: 1.62;
}

/* 06. EDITOR / ADMIN NOTE */

.shk-docs-note {
  padding: 24px 26px;
  border: 1px solid var(--shk-clay);
  border-radius: var(--shk-radius-md);
  background: #fff8ef;
}

.shk-docs-note__label {
  margin: 0 0 8px;
  color: #9a5f2d;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.shk-docs-note h3 {
  margin: 0 0 8px;
  font-size: 23px;
}

.shk-docs-note p {
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.55;
}

/* 07. CTA */

.shk-docs-cta h2 {
  max-width: 850px;
  color: #fff;
  font-size: clamp(42px, 5vw, 70px);
  line-height: .97;
}

.shk-docs-cta p {
  max-width: 680px;
  color: rgba(255,255,255,.78);
}

/* 08. INTERACTION */

@media (hover:hover) {
  .shk-docs-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shk-shadow-sm);
    transition: transform var(--shk-transition),
      box-shadow var(--shk-transition);
  }
}

/* 09. TABLET */

@media (max-width: 849px) {
  .shk-docs-hero-banner {
    min-height: 490px;
  }
}

/* 10. MOBILE */

@media (max-width: 549px) {
  .shk-docs-hero-banner {
    min-height: 460px;
  }

  .shk-docs-hero-title {
    font-size: clamp(43px, 13vw, 58px);
  }

  .shk-docs-hero-lead {
    max-width: 95%;
    font-size: 17px;
  }

  .shk-docs-card {
    min-height: 0;
  }

  .shk-docs-card__no {
    margin-bottom: 24px;
  }

  .shk-document-row {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 18px 0;
  }

  .shk-document-row .shk-text-link {
    justify-self: start;
  }

  .shk-docs-process {
    grid-template-columns: 38px minmax(0,1fr);
    gap: 12px;
    padding: 23px 0;
  }

  .shk-docs-process p {
    font-size: 14px;
  }

  .shk-docs-note {
    padding: 24px 20px;
  }
}

/*
 * Sletta Hundeklubb – Kontakt / Varsle om forhold v1
 * Underside. Ingen lokal navigasjon.
 */

/* 01. HERO */

.shk-report-hero-banner {
  min-height: 510px;
}

.shk-report-hero-title {
  max-width: 860px;
  margin-bottom: 20px;
  color: #fff;
  font-size: clamp(52px, 6vw, 86px);
  line-height: .94;
  letter-spacing: -.045em;
}

.shk-report-hero-lead {
  max-width: 700px;
  margin-bottom: 26px;
  color: rgba(255,255,255,.92);
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.55;
}

/* 02. SHARED CONTENT */

.shk-report-lead {
  max-width: 760px;
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.58;
}

.shk-report-copy p:not(.shk-eyebrow) {
  max-width: 720px;
}

/* 03. WHAT TO REPORT */

.shk-report-card-row > .col > .col-inner {
  height: 100%;
}

.shk-report-card {
  height: 100%;
  min-height: 220px;
  padding: 25px;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-md);
  background: rgba(255,255,255,.66);
}

.shk-report-card__no {
  margin: 0 0 38px;
  color: var(--shk-clay);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-report-card h3 {
  margin: 0 0 8px;
  font-size: 23px;
  line-height: 1.06;
}

.shk-report-card p {
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.55;
}

/* 04. URGENT PANEL */

.shk-report-urgent {
  padding: 34px;
  border-radius: var(--shk-radius-lg);
  background: var(--shk-charcoal);
  color: #fff;
}

.shk-report-urgent__label {
  margin: 0 0 40px;
  color: var(--shk-fresh);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-report-urgent h3 {
  max-width: 560px;
  margin-bottom: 10px;
  color: #fff;
  font-size: clamp(28px, 3vw, 40px);
}

.shk-report-urgent p {
  max-width: 620px;
  margin-bottom: 12px;
  color: rgba(255,255,255,.76);
  line-height: 1.62;
}

.shk-report-urgent p:last-child {
  margin-bottom: 0;
}

/* 05. REPORT FORM */

.shk-report-form-shell {
  padding: 32px;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-lg);
  background: #fff;
}

.shk-report-form-shell__label {
  margin: 0 0 8px;
  color: var(--shk-field);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-report-form-shell h3 {
  margin: 0 0 8px;
  font-size: clamp(28px, 3vw, 38px);
}

.shk-report-form-shell p {
  max-width: 680px;
  margin-bottom: 18px;
  color: var(--shk-text-muted);
  line-height: 1.6;
}

.shk-report-form-placeholder {
  padding: 20px;
  border: 1px dashed rgba(34,35,33,.22);
  border-radius: var(--shk-radius-md);
  background: #f8f6f0;
}

.shk-report-form-placeholder strong,
.shk-report-form-placeholder code,
.shk-report-form-placeholder small {
  display: block;
}

.shk-report-form-placeholder strong {
  margin-bottom: 8px;
}

.shk-report-form-placeholder code {
  margin-bottom: 8px;
  color: var(--shk-field);
}

.shk-report-form-placeholder small {
  color: var(--shk-text-muted);
  line-height: 1.5;
}

/* 06. WHAT TO INCLUDE */

.shk-report-item {
  display: grid;
  grid-template-columns: 58px minmax(0,1fr);
  gap: 22px;
  padding: 27px 0;
  border-top: 1px solid var(--shk-border);
}

.shk-report-item:last-child {
  border-bottom: 1px solid var(--shk-border);
}

.shk-report-item__no {
  padding-top: 4px;
  color: var(--shk-field);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-report-item h3 {
  margin: 0 0 7px;
  font-size: clamp(21px, 2vw, 26px);
}

.shk-report-item p {
  max-width: 790px;
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 15px;
  line-height: 1.62;
}

/* 07. PRIVACY NOTE */

.shk-report-privacy {
  padding: 26px;
  border-left: 4px solid var(--shk-clay);
  background: #fff;
}

.shk-report-privacy h3 {
  margin-bottom: 8px;
  font-size: 24px;
}

.shk-report-privacy p {
  margin-bottom: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.6;
}

/* 08. EDITOR NOTE */

.shk-report-note {
  padding: 24px 26px;
  border: 1px solid var(--shk-clay);
  border-radius: var(--shk-radius-md);
  background: #fff8ef;
}

.shk-report-note__label {
  margin: 0 0 8px;
  color: #9a5f2d;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.shk-report-note h3 {
  margin: 0 0 8px;
  font-size: 23px;
}

.shk-report-note p {
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.55;
}

/* 09. CTA */

.shk-report-cta h2 {
  max-width: 850px;
  color: #fff;
  font-size: clamp(42px, 5vw, 70px);
  line-height: .97;
}

.shk-report-cta p {
  max-width: 680px;
  color: rgba(255,255,255,.78);
}

/* 10. INTERACTION */

@media (hover:hover) {
  .shk-report-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shk-shadow-sm);
    transition: transform var(--shk-transition),
      box-shadow var(--shk-transition);
  }
}

/* 11. TABLET */

@media (max-width: 849px) {
  .shk-report-hero-banner {
    min-height: 490px;
  }
}

/* 12. MOBILE */

@media (max-width: 549px) {
  .shk-report-hero-banner {
    min-height: 460px;
  }

  .shk-report-hero-title {
    font-size: clamp(43px, 13vw, 58px);
  }

  .shk-report-hero-lead {
    max-width: 95%;
    font-size: 17px;
  }

  .shk-report-card {
    min-height: 0;
  }

  .shk-report-card__no {
    margin-bottom: 24px;
  }

  .shk-report-urgent,
  .shk-report-form-shell,
  .shk-report-note,
  .shk-report-privacy {
    padding: 24px 20px;
  }

  .shk-report-urgent__label {
    margin-bottom: 28px;
  }

  .shk-report-item {
    grid-template-columns: 38px minmax(0,1fr);
    gap: 12px;
    padding: 23px 0;
  }

  .shk-report-item p {
    font-size: 14px;
  }
}

/*
 * Sletta Hundeklubb – Personvern v1
 * Offentlig side. Ingen lokal navigasjon.
 */

/* 01. HERO */

.shk-privacy-hero-banner {
  min-height: 500px;
}

.shk-privacy-hero-title {
  max-width: 830px;
  margin-bottom: 20px;
  color: #fff;
  font-size: clamp(52px, 6vw, 86px);
  line-height: .94;
  letter-spacing: -.045em;
}

.shk-privacy-hero-lead {
  max-width: 700px;
  margin-bottom: 26px;
  color: rgba(255,255,255,.92);
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.55;
}

/* 02. SHARED CONTENT */

.shk-privacy-lead {
  max-width: 780px;
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.58;
}

.shk-privacy-copy p:not(.shk-eyebrow) {
  max-width: 760px;
}

/* 03. KEY PRINCIPLES */

.shk-privacy-card-row > .col > .col-inner {
  height: 100%;
}

.shk-privacy-card {
  height: 100%;
  min-height: 215px;
  padding: 25px;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-md);
  background: rgba(255,255,255,.66);
}

.shk-privacy-card__no {
  margin: 0 0 36px;
  color: var(--shk-clay);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-privacy-card h3 {
  margin: 0 0 8px;
  font-size: 23px;
  line-height: 1.06;
}

.shk-privacy-card p {
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.55;
}

/* 04. PRIVACY SECTIONS */

.shk-privacy-list {
  border-top: 1px solid var(--shk-border);
}

.shk-privacy-item {
  display: grid;
  grid-template-columns: 58px minmax(0,1fr);
  gap: 22px;
  padding: 30px 0;
  border-bottom: 1px solid var(--shk-border);
}

.shk-privacy-item__no {
  padding-top: 4px;
  color: var(--shk-field);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-privacy-item h3 {
  margin: 0 0 8px;
  font-size: clamp(22px, 2.2vw, 28px);
  line-height: 1.08;
}

.shk-privacy-item p {
  max-width: 820px;
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 15px;
  line-height: 1.65;
}

.shk-privacy-item p + p {
  margin-top: 9px;
}

.shk-privacy-item ul {
  max-width: 820px;
  margin: 12px 0 0 20px;
  color: var(--shk-text-muted);
}

.shk-privacy-item li {
  margin-bottom: 6px;
  line-height: 1.55;
}

/* 05. CONTROLLER PANEL */

.shk-privacy-controller {
  padding: 34px;
  border-radius: var(--shk-radius-lg);
  background: var(--shk-charcoal);
  color: #fff;
}

.shk-privacy-controller__label {
  margin: 0 0 40px;
  color: var(--shk-fresh);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-privacy-controller h3 {
  margin-bottom: 10px;
  color: #fff;
  font-size: clamp(28px, 3vw, 40px);
}

.shk-privacy-controller p {
  margin-bottom: 8px;
  color: rgba(255,255,255,.76);
  line-height: 1.62;
}

.shk-privacy-controller p:last-child {
  margin-bottom: 0;
}

.shk-privacy-controller a {
  color: #fff;
  font-weight: 800;
  text-decoration: none;
}

.shk-privacy-controller a:hover,
.shk-privacy-controller a:focus,
.shk-privacy-controller a:active {
  color: var(--shk-fresh);
}

/* 06. RIGHTS */

.shk-privacy-rights {
  padding: 30px;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-lg);
  background: #fff;
}

.shk-privacy-rights h3 {
  margin-bottom: 10px;
  font-size: 28px;
}

.shk-privacy-rights p {
  margin-bottom: 12px;
  color: var(--shk-text-muted);
  line-height: 1.62;
}

.shk-privacy-rights ul {
  margin: 0 0 0 20px;
  color: var(--shk-text-muted);
}

.shk-privacy-rights li {
  margin-bottom: 6px;
  line-height: 1.55;
}

/* 07. EDITOR NOTE */

.shk-privacy-note {
  padding: 24px 26px;
  border: 1px solid var(--shk-clay);
  border-radius: var(--shk-radius-md);
  background: #fff8ef;
}

.shk-privacy-note__label {
  margin: 0 0 8px;
  color: #9a5f2d;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.shk-privacy-note h3 {
  margin: 0 0 8px;
  font-size: 23px;
}

.shk-privacy-note p {
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.55;
}

/* 08. CTA */

.shk-privacy-cta h2 {
  max-width: 850px;
  color: #fff;
  font-size: clamp(42px, 5vw, 70px);
  line-height: .97;
}

.shk-privacy-cta p {
  max-width: 680px;
  color: rgba(255,255,255,.78);
}

/* 09. INTERACTION */

@media (hover:hover) {
  .shk-privacy-card:hover,
  .shk-privacy-rights:hover {
    transform: translateY(-3px);
    box-shadow: var(--shk-shadow-sm);
    transition: transform var(--shk-transition),
      box-shadow var(--shk-transition);
  }
}

/* 10. TABLET */

@media (max-width: 849px) {
  .shk-privacy-hero-banner {
    min-height: 480px;
  }
}

/* 11. MOBILE */

@media (max-width: 549px) {
  .shk-privacy-hero-banner {
    min-height: 450px;
  }

  .shk-privacy-hero-title {
    font-size: clamp(43px, 13vw, 58px);
  }

  .shk-privacy-hero-lead {
    max-width: 95%;
    font-size: 17px;
  }

  .shk-privacy-card {
    min-height: 0;
  }

  .shk-privacy-card__no {
    margin-bottom: 24px;
  }

  .shk-privacy-item {
    grid-template-columns: 38px minmax(0,1fr);
    gap: 12px;
    padding: 24px 0;
  }

  .shk-privacy-item p,
  .shk-privacy-item li {
    font-size: 14px;
  }

  .shk-privacy-controller,
  .shk-privacy-rights,
  .shk-privacy-note {
    padding: 24px 20px;
  }

  .shk-privacy-controller__label {
    margin-bottom: 28px;
  }
}

/*
 * Sletta Hundeklubb – Hundeparken / Finn frem v1
 * Underside. Ingen lokal navigasjon.
 */

/* 01. HERO */

.shk-directions-hero-banner {
  min-height: 510px;
}

.shk-directions-hero-title {
  max-width: 830px;
  margin-bottom: 20px;
  color: #fff;
  font-size: clamp(52px, 6vw, 86px);
  line-height: .94;
  letter-spacing: -.045em;
}

.shk-directions-hero-lead {
  max-width: 690px;
  margin-bottom: 26px;
  color: rgba(255,255,255,.92);
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.55;
}

/* 02. SHARED CONTENT */

.shk-directions-lead {
  max-width: 760px;
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.58;
}

.shk-directions-copy p:not(.shk-eyebrow) {
  max-width: 720px;
}

/* 03. ARRIVAL STEPS */

.shk-directions-step-row > .col > .col-inner {
  height: 100%;
}

.shk-directions-step {
  height: 100%;
  min-height: 230px;
  padding: 25px;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-md);
  background: rgba(255,255,255,.66);
}

.shk-directions-step__no {
  margin: 0 0 38px;
  color: var(--shk-clay);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-directions-step h3 {
  margin: 0 0 8px;
  font-size: 23px;
  line-height: 1.06;
}

.shk-directions-step p {
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.55;
}

/* 04. MAP / LOCATION */

.shk-directions-map-shell {
  overflow: hidden;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-lg);
  background: #fff;
}

.shk-directions-map-placeholder {
  min-height: 430px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 34px;
  background: #e7dec9;
  text-align: center;
}

.shk-directions-map-placeholder__inner {
  max-width: 520px;
}

.shk-directions-map-placeholder__label {
  margin: 0 0 16px;
  color: var(--shk-field);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-directions-map-placeholder h3 {
  margin: 0 0 10px;
  font-size: clamp(27px, 3vw, 38px);
}

.shk-directions-map-placeholder p {
  margin: 0;
  color: var(--shk-text-muted);
  line-height: 1.6;
}

.shk-directions-location-info {
  padding: 28px;
}

.shk-directions-location-info h3 {
  margin-bottom: 8px;
  font-size: 25px;
}

.shk-directions-location-info p {
  margin-bottom: 0;
  color: var(--shk-text-muted);
  line-height: 1.6;
}

/* 05. PRACTICAL INFO */

.shk-directions-item {
  display: grid;
  grid-template-columns: 58px minmax(0,1fr);
  gap: 22px;
  padding: 27px 0;
  border-top: 1px solid var(--shk-border);
}

.shk-directions-item:last-child {
  border-bottom: 1px solid var(--shk-border);
}

.shk-directions-item__no {
  padding-top: 4px;
  color: var(--shk-field);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-directions-item h3 {
  margin: 0 0 7px;
  font-size: clamp(21px, 2vw, 26px);
}

.shk-directions-item p {
  max-width: 790px;
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 15px;
  line-height: 1.62;
}

/* 06. ACCESSIBILITY */

.shk-directions-access {
  padding: 34px;
  border-radius: var(--shk-radius-lg);
  background: var(--shk-charcoal);
  color: #fff;
}

.shk-directions-access__label {
  margin: 0 0 40px;
  color: var(--shk-fresh);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-directions-access h3 {
  max-width: 560px;
  margin-bottom: 10px;
  color: #fff;
  font-size: clamp(28px, 3vw, 40px);
}

.shk-directions-access p {
  max-width: 610px;
  margin-bottom: 0;
  color: rgba(255,255,255,.76);
  line-height: 1.62;
}

/* 07. EDITOR NOTE */

.shk-directions-note {
  padding: 24px 26px;
  border: 1px solid var(--shk-clay);
  border-radius: var(--shk-radius-md);
  background: #fff8ef;
}

.shk-directions-note__label {
  margin: 0 0 8px;
  color: #9a5f2d;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.shk-directions-note h3 {
  margin: 0 0 8px;
  font-size: 23px;
}

.shk-directions-note p {
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.55;
}

/* 08. CTA */

.shk-directions-cta h2 {
  max-width: 850px;
  color: #fff;
  font-size: clamp(42px, 5vw, 70px);
  line-height: .97;
}

.shk-directions-cta p {
  max-width: 680px;
  color: rgba(255,255,255,.78);
}

/* 09. INTERACTION */

@media (hover:hover) {
  .shk-directions-step:hover {
    transform: translateY(-3px);
    box-shadow: var(--shk-shadow-sm);
    transition: transform var(--shk-transition),
      box-shadow var(--shk-transition);
  }
}

/* 10. TABLET */

@media (max-width: 849px) {
  .shk-directions-hero-banner {
    min-height: 490px;
  }
}

/* 11. MOBILE */

@media (max-width: 549px) {
  .shk-directions-hero-banner {
    min-height: 460px;
  }

  .shk-directions-hero-title {
    font-size: clamp(43px, 13vw, 58px);
  }

  .shk-directions-hero-lead {
    max-width: 95%;
    font-size: 17px;
  }

  .shk-directions-step {
    min-height: 0;
  }

  .shk-directions-step__no {
    margin-bottom: 24px;
  }

  .shk-directions-map-placeholder {
    min-height: 330px;
    padding: 24px 20px;
  }

  .shk-directions-location-info,
  .shk-directions-access,
  .shk-directions-note {
    padding: 24px 20px;
  }

  .shk-directions-access__label {
    margin-bottom: 28px;
  }

  .shk-directions-item {
    grid-template-columns: 38px minmax(0,1fr);
    gap: 12px;
    padding: 23px 0;
  }

  .shk-directions-item p {
    font-size: 14px;
  }
}

/* ==========================================================
   Sletta Hundeklubb – Desktop undermeny v1
   Strammere, mer merkevaretilpasset Flatsome dropdown.
   Kun desktop – mobilmenyen påvirkes ikke.
   ========================================================== */

@media (min-width: 850px) {

  /* Selve dropdown-panelet */
  .header-nav .menu-item-has-children > .nav-dropdown {
    min-width: 250px;
    width: max-content;
    max-width: 300px;
    padding: 10px;
    border: 1px solid var(--shk-border);
    border-radius: var(--shk-radius-md);
    background: var(--shk-warm-white);
    box-shadow: var(--shk-shadow-md);
  }

  /* Fjern unødvendig luft fra Flatsome-listen */
  .header-nav .nav-dropdown > li {
    margin: 0;
    border: 0;
  }

  /* Lenker */
  .header-nav .nav-dropdown > li > a {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 10px 14px 10px 17px;
    border-radius: var(--shk-radius-sm);
    color: var(--shk-charcoal);
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0;
    text-transform: none;
    transition:
      color var(--shk-transition),
      background-color var(--shk-transition),
      transform var(--shk-transition);
  }

  /* Liten Sletta-markør på venstre side */
  .header-nav .nav-dropdown > li > a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 7px;
    width: 3px;
    height: 0;
    border-radius: 999px;
    background: var(--shk-clay);
    transform: translateY(-50%);
    transition: height var(--shk-transition);
  }

  /* Hover / keyboard focus */
  .header-nav .nav-dropdown > li > a:hover,
  .header-nav .nav-dropdown > li > a:focus-visible {
    background: rgba(102, 116, 90, .10);
    color: var(--shk-field);
    transform: translateX(2px);
  }

  .header-nav .nav-dropdown > li > a:hover::before,
  .header-nav .nav-dropdown > li > a:focus-visible::before {
    height: 22px;
  }

  /* Aktiv underside */
  .header-nav .nav-dropdown > li.current-menu-item > a,
  .header-nav .nav-dropdown > li.current-menu-ancestor > a {
    background: rgba(102, 116, 90, .10);
    color: var(--shk-field);
    font-weight: 700;
  }

  .header-nav .nav-dropdown > li.current-menu-item > a::before,
  .header-nav .nav-dropdown > li.current-menu-ancestor > a::before {
    height: 22px;
  }

  /* Litt bedre avstand mellom hovedmeny og dropdown */
  .header-nav .menu-item-has-children > .nav-dropdown {
    margin-top: 8px;
  }
}

/* ==========================================================
   Sletta Hundeklubb – Aktuelt / Artikkel v1
   Tydelige innholdslenker + bildeplassholdere
   ========================================================== */

.shk-article-copy a:not(.button) {
  color: var(--shk-field) !important;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgba(102, 116, 90, .45);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition:
    color var(--shk-transition),
    text-decoration-color var(--shk-transition);
}

.shk-article-copy a:not(.button):visited {
  color: var(--shk-field) !important;
}

.shk-article-copy a:not(.button):hover,
.shk-article-copy a:not(.button):focus,
.shk-article-copy a:not(.button):active {
  color: var(--shk-charcoal) !important;
  text-decoration-color: var(--shk-clay);
}

.shk-article-copy h2 {
  margin-top: 0;
}

.shk-article-copy p:last-child {
  margin-bottom: 0;
}

.shk-article-block {
  margin-bottom: 44px;
}

.shk-article-image-placeholder {
  display: flex;
  min-height: 320px;
  align-items: center;
  justify-content: center;
  margin: 4px 0 48px;
  padding: 24px;
  border: 1px dashed rgba(34, 35, 33, .22);
  border-radius: var(--shk-radius-md);
  background: var(--shk-sand);
  color: var(--shk-text-muted);
  text-align: center;
}

.shk-article-image-placeholder strong {
  display: block;
  margin-bottom: 6px;
  color: var(--shk-field);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.shk-article-image-placeholder span {
  display: block;
  max-width: 520px;
  font-size: 14px;
  line-height: 1.55;
}

@media (max-width: 549px) {
  .shk-article-block {
    margin-bottom: 36px;
  }

  .shk-article-image-placeholder {
    min-height: 240px;
    margin-bottom: 40px;
  }
}

/* ==========================================================
   Sletta Hundeklubb – Bloggkort / LES MER v3
   Endringer fra v2:
   - kremhvit tekst i normaltilstand
   - Elvon Grotesk som knappfont
   ========================================================== */

.blog-post-inner > .button {
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  height: 36px !important;
  min-height: 36px !important;
  align-items: center;
  justify-content: center;
  margin: 10px 0 0 !important;
  padding: 0 14px !important;
  border: 1px solid var(--shk-fresh) !important;
  border-radius: var(--shk-radius-sm) !important;
  background: var(--shk-fresh) !important;
  color: var(--shk-warm-white) !important;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 11px !important;
  font-weight: 800;
  line-height: 1 !important;
  letter-spacing: .055em;
  text-decoration: none !important;
  text-transform: uppercase;
  opacity: 1 !important;
  box-shadow: none !important;
  transition:
    transform var(--shk-transition),
    background-color var(--shk-transition),
    border-color var(--shk-transition),
    color var(--shk-transition),
    box-shadow var(--shk-transition);
}

.blog-post-inner > .button:hover,
.blog-post-inner > .button:focus {
  border-color: var(--shk-field) !important;
  background: var(--shk-field) !important;
  color: var(--shk-warm-white) !important;
  transform: translateY(-1px);
  box-shadow: var(--shk-shadow-sm) !important;
}

/* ==========================================================
   Sletta Hundeklubb – 404 / Har du snust deg bort? v1
   Custom Flatsome 404 Block.
   Milo illustration + graphic paw trail.
   ========================================================== */


/* ==========================================================
   01. SHELL
   ========================================================== */

.shk-404 {
  position: relative;
  overflow: hidden;
  min-height: calc(100vh - 150px);
  background:
    radial-gradient(circle at 14% 84%, rgba(157,182,109,.14), transparent 27%),
    radial-gradient(circle at 90% 15%, rgba(200,139,85,.08), transparent 25%),
    var(--shk-warm-white);
}

.shk-404::before {
  content: "404";
  position: absolute;
  z-index: 0;
  top: 2%;
  left: 50%;
  color: rgba(102,116,90,.075);
  font-size: clamp(220px, 31vw, 570px);
  font-weight: 800;
  line-height: .8;
  letter-spacing: -.08em;
  transform: translateX(-50%);
  pointer-events: none;
  user-select: none;
}

.shk-404 .section-content {
  position: relative;
  z-index: 2;
}

.shk-404-main-row {
  min-height: calc(100vh - 150px);
}


/* ==========================================================
   02. MILO
   ========================================================== */

.shk-404-milo-col {
  position: relative;
  align-self: end;
}

.shk-404-milo {
  position: relative;
  z-index: 3;
  width: min(100%, 640px);
  margin: 80px auto -12px;
  filter: drop-shadow(0 18px 28px rgba(34,35,33,.11));
}

.shk-404-milo img {
  width: 100%;
}

.shk-404-milo-note {
  position: absolute;
  z-index: 4;
  left: 7%;
  bottom: 10%;
  max-width: 150px;
  color: var(--shk-field);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  transform: rotate(-6deg);
}

.shk-404-milo-note::after {
  content: "↘";
  display: block;
  margin-top: 3px;
  font-size: 22px;
}


/* ==========================================================
   03. COPY
   ========================================================== */

.shk-404-copy {
  position: relative;
  z-index: 5;
  max-width: 720px;
  margin: 0 auto;
}

.shk-404-kicker {
  margin: 0 0 13px;
  color: var(--shk-field);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.shk-404-title {
  max-width: 700px;
  margin: 0 0 22px;
  color: var(--shk-charcoal);
  font-size: clamp(58px, 6vw, 94px);
  line-height: .92;
  letter-spacing: -.045em;
}

.shk-404-lead {
  max-width: 620px;
  margin: 0 0 28px;
  color: var(--shk-text-muted);
  font-size: clamp(18px, 1.5vw, 22px);
  line-height: 1.55;
}

.shk-404-actions {
  margin-top: 6px;
}

.shk-404-actions .button {
  margin: 0 10px 10px 0;
}

.shk-404-primary.button {
  border-color: var(--shk-field) !important;
  background: var(--shk-field) !important;
  color: var(--shk-warm-white) !important;
  font-family: "Elvon Grotesk", sans-serif !important;
}

.shk-404-primary.button:hover,
.shk-404-primary.button:focus {
  border-color: var(--shk-charcoal) !important;
  background: var(--shk-charcoal) !important;
  color: var(--shk-warm-white) !important;
}

.shk-404-secondary.button,
.shk-404-secondary.button.is-outline {
  border-color: var(--shk-field) !important;
  background: transparent !important;
  color: var(--shk-field) !important;
  font-family: "Elvon Grotesk", sans-serif !important;
}

.shk-404-secondary.button:hover,
.shk-404-secondary.button:focus,
.shk-404-secondary.button.is-outline:hover,
.shk-404-secondary.button.is-outline:focus {
  border-color: var(--shk-field) !important;
  background: rgba(102,116,90,.09) !important;
  color: var(--shk-charcoal) !important;
}

.shk-404-text-link {
  display: inline-block;
  margin-top: 12px;
  color: var(--shk-field) !important;
  font-size: 14px;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: rgba(102,116,90,.4);
  text-underline-offset: 4px;
}

.shk-404-text-link:hover,
.shk-404-text-link:focus {
  color: var(--shk-charcoal) !important;
  text-decoration-color: var(--shk-clay);
}


/* ==========================================================
   04. PAW TRAIL
   ========================================================== */

.shk-404-track {
  position: absolute;
  z-index: 1;
  right: -2%;
  bottom: 4%;
  width: 55%;
  height: 42%;
  pointer-events: none;
}

.shk-404-paw {
  position: absolute;
  width: 38px;
  height: 42px;
  opacity: .42;
  transform: rotate(var(--paw-rot, 0deg)) scale(var(--paw-scale, 1));
}

.shk-404-paw .pad {
  position: absolute;
  left: 10px;
  bottom: 1px;
  width: 22px;
  height: 20px;
  border-radius: 48% 48% 54% 54%;
  background: var(--shk-field);
}

.shk-404-paw .toe {
  position: absolute;
  width: 9px;
  height: 11px;
  border-radius: 50%;
  background: var(--shk-field);
}

.shk-404-paw .toe--1 {
  top: 8px;
  left: 1px;
  transform: rotate(-22deg);
}

.shk-404-paw .toe--2 {
  top: 1px;
  left: 10px;
  transform: rotate(-8deg);
}

.shk-404-paw .toe--3 {
  top: 1px;
  right: 8px;
  transform: rotate(8deg);
}

.shk-404-paw .toe--4 {
  top: 9px;
  right: 0;
  transform: rotate(22deg);
}

.shk-404-paw--1 {
  left: 0;
  bottom: 2%;
  --paw-rot: 72deg;
  --paw-scale: .78;
}

.shk-404-paw--2 {
  left: 16%;
  bottom: 15%;
  --paw-rot: 65deg;
  --paw-scale: .86;
}

.shk-404-paw--3 {
  left: 31%;
  bottom: 26%;
  --paw-rot: 58deg;
  --paw-scale: .92;
}

.shk-404-paw--4 {
  left: 47%;
  bottom: 38%;
  --paw-rot: 48deg;
}

.shk-404-paw--5 {
  left: 62%;
  bottom: 51%;
  --paw-rot: 38deg;
  --paw-scale: .88;
}

.shk-404-paw--6 {
  left: 77%;
  bottom: 65%;
  --paw-rot: 28deg;
  --paw-scale: .8;
}


/* ==========================================================
   05. SMALL DETAIL
   ========================================================== */

.shk-404-tag {
  position: absolute;
  z-index: 3;
  right: 6%;
  top: 13%;
  max-width: 180px;
  color: var(--shk-field);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  transform: rotate(4deg);
}

.shk-404-tag::after {
  content: "♡";
  display: block;
  margin-top: 3px;
  font-size: 23px;
}


/* ==========================================================
   06. TABLET
   ========================================================== */

@media (max-width: 849px) {
  .shk-404,
  .shk-404-main-row {
    min-height: auto;
  }

  .shk-404 {
    padding-top: 48px;
  }

  .shk-404::before {
    top: 4%;
    font-size: clamp(210px, 44vw, 360px);
  }

  .shk-404-copy {
    padding: 40px 0 30px;
  }

  .shk-404-milo {
    max-width: 520px;
    margin-top: 12px;
  }

  .shk-404-track {
    right: -8%;
    bottom: 1%;
    width: 70%;
    height: 32%;
  }

  .shk-404-tag {
    display: none;
  }
}


/* ==========================================================
   07. MOBILE
   ========================================================== */

@media (max-width: 549px) {
  .shk-404 {
    padding-top: 24px;
  }

  .shk-404::before {
    top: 2%;
    font-size: 52vw;
  }

  .shk-404-copy {
    padding: 32px 0 10px;
    text-align: left;
  }

  .shk-404-title {
    font-size: clamp(50px, 15vw, 68px);
  }

  .shk-404-lead {
    font-size: 17px;
  }

  .shk-404-actions .button {
    width: 100%;
    margin-right: 0;
  }

  .shk-404-milo {
    max-width: 390px;
    margin: 16px auto -6px;
  }

  .shk-404-milo-note {
    left: 1%;
    bottom: 9%;
    font-size: 11px;
  }

  .shk-404-track {
    right: -28%;
    bottom: 0;
    width: 100%;
    height: 24%;
    opacity: .7;
  }

  .shk-404-paw--5,
  .shk-404-paw--6 {
    display: none;
  }
}


/* ==========================================================
   08. REDUCED MOTION / ACCESSIBILITY
   ========================================================== */

@media (prefers-reduced-motion: reduce) {
  .shk-404 * {
    transition: none !important;
  }
}

/* ==========================================================
   Sletta Hundeklubb – Header CTA / BLI MEDLEM v1
   Fast merkevarefarge i normaltilstand.
   ========================================================== */

.header-button .button,
.header-button .button.is-outline {
  min-width: 0 !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 22px !important;
  border: 1px solid var(--shk-field) !important;
  border-radius: 6px !important;
  background: var(--shk-field) !important;
  color: var(--shk-warm-white) !important;
  font-family: "Elvon Grotesk", sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .045em;
  text-transform: uppercase;
  box-shadow: none !important;
  opacity: 1 !important;
  transition:
    background-color var(--shk-transition),
    border-color var(--shk-transition),
    color var(--shk-transition),
    transform var(--shk-transition),
    box-shadow var(--shk-transition);
}

.header-button .button:hover,
.header-button .button:focus,
.header-button .button.is-outline:hover,
.header-button .button.is-outline:focus {
  border-color: var(--shk-charcoal) !important;
  background: var(--shk-charcoal) !important;
  color: var(--shk-warm-white) !important;
  transform: translateY(-1px);
  box-shadow: var(--shk-shadow-sm) !important;
}

/* ==========================================================
   Sletta Hundeklubb – Historisk Aktuelt-artikkel v1
   Reusable styling for migrated archive posts.
   ========================================================== */

.shk-history-post {
  color: var(--shk-charcoal);
}

.shk-history-post a:not(.button) {
  color: var(--shk-field) !important;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgba(102,116,90,.42);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.shk-history-post a:not(.button):hover,
.shk-history-post a:not(.button):focus {
  color: var(--shk-charcoal) !important;
  text-decoration-color: var(--shk-clay);
}

.shk-history-post-block {
  margin-bottom: 42px;
}

.shk-history-post-block h2 {
  margin-top: 0;
}

.shk-history-post-block p:last-child {
  margin-bottom: 0;
}

.shk-history-post-note {
  margin-bottom: 42px;
  padding: 20px 22px;
  border-left: 4px solid var(--shk-clay);
  background: var(--shk-warm-white);
}

.shk-history-post-note__label {
  margin: 0 0 6px;
  color: var(--shk-field);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.shk-history-post-note p:last-child {
  margin-bottom: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.55;
}

.shk-history-post-image {
  margin: 4px 0 46px;
  padding: 18px;
  border: 1px dashed rgba(34,35,33,.22);
  border-radius: var(--shk-radius-md);
  background: var(--shk-sand);
  color: var(--shk-text-muted);
  text-align: center;
}

.shk-history-post-image strong {
  display: block;
  margin-bottom: 6px;
  color: var(--shk-field);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.shk-history-post-image span {
  display: block;
  max-width: 620px;
  margin: 0 auto;
  font-size: 14px;
  line-height: 1.5;
}

.shk-history-post-source {
  margin-top: 54px;
  padding-top: 18px;
  border-top: 1px solid var(--shk-border);
  color: var(--shk-text-muted);
  font-size: 13px;
  line-height: 1.55;
}

@media (max-width: 549px) {
  .shk-history-post-block,
  .shk-history-post-note {
    margin-bottom: 34px;
  }

  .shk-history-post-image {
    margin-bottom: 38px;
    padding: 16px;
  }
}

/* ==========================================================
   Sletta – like høye bloggkort
   Bevarer Flatsome-bildene
   ========================================================== */

.post-item {
  display: flex;
}

.post-item .col-inner {
  width: 100%;
  display: flex;
}

.post-item .box-blog-post {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* Viktig: ikke la bildet krympe */
.post-item .box-blog-post .box-image {
  flex: 0 0 auto;
  width: 100%;
}

.post-item .box-blog-post .box-text {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.post-item .box-blog-post .blog-post-inner {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

/* LES MER på samme linje nederst */
.post-item .box-blog-post .blog-post-inner > .button {
  margin-top: auto !important;
  align-self: center;
}

/* ==========================================================
   Sletta Hundeklubb – Støtt Sletta v2
   Samme designlogikk som øvrige Sletta-sider.
   Forutsetter globale Sletta-variabler i child theme.
   ========================================================== */


/* ==========================================================
   01. HERO
   ========================================================== */

.shk-support-hero-banner {
  min-height: 530px;
}

.shk-support-hero-title {
  max-width: 820px;
  margin-bottom: 20px;
  color: #fff;
  font-size: clamp(52px, 6vw, 86px);
  line-height: .94;
  letter-spacing: -.045em;
}

.shk-support-hero-lead {
  max-width: 680px;
  margin-bottom: 26px;
  color: rgba(255,255,255,.92);
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.55;
}

.shk-support-hero .button {
  margin: 0 10px 10px 0;
}


/* ==========================================================
   02. BUTTONS
   ========================================================== */

.shk-support-page .button,
.shk-support-hero .button {
  height: 44px;
  min-height: 44px;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-radius: var(--shk-radius-sm) !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

.shk-support-page .button.shk-btn-primary,
.shk-support-hero .button.shk-btn-primary {
  border-color: var(--shk-fresh) !important;
  background: var(--shk-fresh) !important;
  color: var(--shk-charcoal) !important;
}

.shk-support-page .button.shk-btn-primary:hover,
.shk-support-page .button.shk-btn-primary:focus,
.shk-support-hero .button.shk-btn-primary:hover,
.shk-support-hero .button.shk-btn-primary:focus {
  border-color: var(--shk-field) !important;
  background: var(--shk-field) !important;
  color: #fff !important;
}

.shk-support-page .button.shk-btn-secondary {
  border-color: var(--shk-field) !important;
  background: transparent !important;
  color: var(--shk-field) !important;
}

.shk-support-page .button.shk-btn-secondary:hover,
.shk-support-page .button.shk-btn-secondary:focus {
  border-color: var(--shk-field) !important;
  background: var(--shk-field) !important;
  color: #fff !important;
}

.shk-support-hero .button.shk-hero-secondary {
  border-color: rgba(255,255,255,.72) !important;
  background: transparent !important;
  color: #fff !important;
}

.shk-support-hero .button.shk-hero-secondary:hover,
.shk-support-hero .button.shk-hero-secondary:focus {
  border-color: var(--shk-fresh) !important;
  background: var(--shk-fresh) !important;
  color: var(--shk-charcoal) !important;
}


/* ==========================================================
   03. SHARED COPY
   ========================================================== */

.shk-support-lead {
  max-width: 730px;
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.55;
}

.shk-support-copy p:not(.shk-eyebrow) {
  max-width: 700px;
}


/* ==========================================================
   04. THREE WAYS TO SUPPORT
   ========================================================== */

.shk-support-card-row > .col > .col-inner {
  display: flex;
  height: 100%;
  flex-direction: column;
  padding: 28px;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-md);
  background: rgba(255,255,255,.64);
}

.shk-support-card-copy {
  flex: 1 1 auto;
}

.shk-support-card-no {
  margin: 0 0 42px;
  color: var(--shk-clay);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-support-card-label {
  margin: 0 0 10px;
  color: var(--shk-field);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.shk-support-card-copy h3 {
  margin: 0 0 12px;
  font-size: 25px;
  line-height: 1.08;
}

.shk-support-card-copy p {
  margin-bottom: 16px;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.58;
}

.shk-support-card-copy p:last-child {
  margin-bottom: 0;
}

.shk-support-org {
  padding-top: 15px;
  border-top: 1px solid var(--shk-border);
  color: var(--shk-charcoal) !important;
  font-size: 13px !important;
  font-weight: 700;
}

.shk-support-card-row .button {
  align-self: flex-start;
  margin-top: 24px;
  margin-bottom: 0;
}


/* ==========================================================
   05. WHAT SUPPORT CAN CONTRIBUTE TO
   ========================================================== */

.shk-support-use-row > .col > .col-inner {
  height: 100%;
}

.shk-support-use-card {
  height: 100%;
  min-height: 210px;
  padding: 24px;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-md);
  background: #fff;
}

.shk-support-use-no {
  margin: 0 0 36px;
  color: var(--shk-field);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-support-use-card h3 {
  margin: 0 0 8px;
  font-size: 22px;
  line-height: 1.08;
}

.shk-support-use-card p {
  margin: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.55;
}

.shk-support-note {
  margin-top: 32px;
  padding: 20px 22px;
  border-left: 4px solid var(--shk-clay);
  background: #fff;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.58;
}


/* ==========================================================
   06. DUGNAD CTA
   ========================================================== */

.shk-support-dugnad h2 {
  max-width: 820px;
  color: #fff;
  font-size: clamp(42px, 5vw, 70px);
  line-height: .97;
}

.shk-support-dugnad p {
  max-width: 700px;
  color: rgba(255,255,255,.78);
}


/* ==========================================================
   07. MEMBERSHIP VS SUPPORT
   ========================================================== */

.shk-support-compare-row > .col > .col-inner {
  display: flex;
  height: 100%;
  flex-direction: column;
  padding: 28px;
  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-md);
  background: rgba(255,255,255,.64);
}

.shk-support-compare-copy {
  flex: 1 1 auto;
}

.shk-support-compare-label {
  margin: 0 0 38px;
  color: var(--shk-clay);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.shk-support-compare-copy h3 {
  margin-bottom: 10px;
  font-size: 26px;
}

.shk-support-compare-copy p {
  margin-bottom: 0;
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.58;
}

.shk-support-compare-row .button {
  align-self: flex-start;
  margin-top: 24px;
  margin-bottom: 0;
}


/* ==========================================================
   08. THANK YOU
   ========================================================== */

.shk-support-thanks {
  max-width: 820px;
}

.shk-support-thanks h2 {
  max-width: 760px;
}


/* ==========================================================
   09. RESPONSIVE
   ========================================================== */

@media (max-width: 849px) {
  .shk-support-card-row > .col > .col-inner,
  .shk-support-compare-row > .col > .col-inner {
    margin-bottom: 22px;
  }
}

@media (max-width: 549px) {
  .shk-support-hero-banner {
    min-height: 500px;
  }

  .shk-support-hero-title {
    font-size: 48px;
  }

  .shk-support-hero-lead {
    font-size: 17px;
  }

  .shk-support-card-row > .col > .col-inner,
  .shk-support-compare-row > .col > .col-inner {
    padding: 24px;
  }

  .shk-support-card-no,
  .shk-support-compare-label {
    margin-bottom: 24px;
  }

  .shk-support-use-card {
    min-height: 0;
  }

  .shk-support-page .button,
  .shk-support-hero .button {
    max-width: 100%;
    white-space: normal;
  }
}

/* ==========================================================
   VIPPS CTA
   Bruk class="shk-btn-vipps" på alle Vipps-knapper
   ========================================================== */

.button.shk-btn-vipps,
a.button.shk-btn-vipps {
    height: 44px;
    min-height: 44px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding-top: 0 !important;
    padding-bottom: 0 !important;

    background-color: #ff5b24 !important;
    border-color: #ff5b24 !important;
    color: #222321 !important;

    border-radius: 6px !important;

    font-weight: 800;
    text-decoration: none !important;

    transition:
        background-color .18s ease,
        border-color .18s ease,
        transform .18s ease;
}

.button.shk-btn-vipps:hover,
.button.shk-btn-vipps:focus,
a.button.shk-btn-vipps:hover,
a.button.shk-btn-vipps:focus {
    background-color: #db460f !important;
    border-color: #db460f !important;
    color: #ffffff !important;

    transform: translateY(-1px);
}

.button.shk-btn-vipps:active,
a.button.shk-btn-vipps:active {
    transform: translateY(0);
}

/* ==========================================================
   COPY TO CLIPBOARD – Grasrotandelen
   ========================================================== */

.shk-copy-box {
    display: block;
}

.shk-copy-row {
    display: inline-grid;
    grid-template-columns: auto 34px;
    align-items: center;
    column-gap: 10px;
}

.shk-copy-row strong {
    margin: 0;
    padding: 0;

    color: var(--shk-charcoal);
    font-weight: 700;
    line-height: 34px;
}

/* Overstyrer global 44px button-regel */
.shk-copy-button {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;

    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    box-sizing: border-box;

    border: 1px solid var(--shk-border) !important;
    border-radius: 6px !important;

    background: transparent !important;
    color: var(--shk-field) !important;

    line-height: 1 !important;
    cursor: pointer;

    vertical-align: middle;

    transition:
        background-color .18s ease,
        border-color .18s ease,
        color .18s ease;
}

.shk-copy-button:hover,
.shk-copy-button:focus {
    background: var(--shk-field) !important;
    border-color: var(--shk-field) !important;
    color: #ffffff !important;
}

.shk-copy-button svg {
    display: block;

    width: 16px;
    height: 16px;

    margin: 0;
    padding: 0;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Ingen permanent tom plass når det ikke vises melding */
.shk-copy-feedback {
    height: 0;
    margin: 0;

    overflow: visible;

    color: var(--shk-field);
    font-size: 11px;
    font-weight: 700;
}

/* «Kopiert!» vises diskret rett under navnet */
.shk-copy-feedback:not(:empty) {
    height: auto;
    margin-top: 5px;
}

.shk-support-org-number {
    margin-top: 14px;

    color: var(--shk-text-muted);
    font-size: 12px;
    font-weight: 500;
}

/* ==========================================================
   ARKIV – AVSLUTNING
   ========================================================== */

.shk-archive-more h2 {
    max-width: 780px;
    margin-bottom: 18px;
}

.shk-archive-more-lead {
    max-width: 900px;
    margin-bottom: 28px;

    color: var(--shk-text-muted);
    font-size: 17px;
    line-height: 1.65;
}

.shk-archive-more .button {
    margin-right: 10px;
    margin-bottom: 10px;
}

.shk-archive-more .button.shk-btn-primary {
    background: var(--shk-fresh) !important;
    border-color: var(--shk-fresh) !important;
    color: var(--shk-charcoal) !important;
}

.shk-archive-more .button.shk-btn-primary:hover {
    background: var(--shk-field) !important;
    border-color: var(--shk-field) !important;
    color: #fff !important;
}

.shk-archive-more .button.shk-btn-secondary {
    background: transparent !important;
    border-color: var(--shk-field) !important;
    color: var(--shk-field) !important;
}

.shk-archive-more .button.shk-btn-secondary:hover {
    background: var(--shk-field) !important;
    color: #fff !important;
}

.shk-archive-more .shk-text-link {
    color: var(--shk-field) !important;
}

/* ==========================================================
   Sletta Hundeklubb – Aktuelt / Arkiv v1
   ========================================================== */

.shk-archive-page {
  --archive-card-bg: #ffffff;
}

.shk-archive-hero-copy {
  max-width: 760px;
}

.shk-archive-kicker {
  margin: 0 0 16px;
  color: var(--shk-field);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.shk-archive-hero-copy h1 {
  max-width: 760px;
  margin-bottom: 26px;
}

.shk-archive-hero-copy p {
  max-width: 720px;
  font-size: 19px;
  line-height: 1.65;
}

.shk-archive-note {
  height: 100%;
  padding: 34px 36px;
  border: 1px solid rgba(34,35,33,.12);
  border-radius: var(--shk-radius-lg);
  background: var(--shk-warm-white);
}

.shk-archive-note__label {
  margin: 0 0 14px;
  color: var(--shk-field);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.shk-archive-note h3 {
  margin: 0 0 16px;
}

.shk-archive-note p:last-child {
  margin-bottom: 0;
  color: var(--shk-text-muted);
}

.shk-archive-grid-intro {
  max-width: 760px;
  margin-bottom: 34px;
}

.shk-archive-grid-intro h2 {
  margin-bottom: 18px;
}

.shk-archive-grid-intro p {
  margin-bottom: 0;
  color: var(--shk-text-muted);
  font-size: 17px;
  line-height: 1.65;
}

.shk-archive-posts .post-item {
  display: flex;
}

.shk-archive-posts .col-inner {
  display: flex;
  width: 100%;
}

.shk-archive-posts .box-blog-post {
  display: flex;
  flex-direction: column;
  width: 100%;
  overflow: hidden;
  border: 1px solid rgba(34,35,33,.12);
  border-radius: var(--shk-radius-md);
  background: var(--archive-card-bg);
}

.shk-archive-posts .box-image {
  flex: 0 0 auto;
}

.shk-archive-posts .box-text {
  display: flex;
  flex: 1 1 auto;
}

.shk-archive-posts .blog-post-inner {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
}

.shk-archive-posts .post-title {
  margin-bottom: 10px;
}

.shk-archive-posts .post-meta {
  order: -1;
  margin-bottom: 10px;
  color: var(--shk-field);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.shk-archive-posts .is-divider {
  margin-top: 8px;
  margin-bottom: 16px;
}

.shk-archive-posts .from_the_blog_excerpt {
  color: var(--shk-text-muted);
}

.shk-archive-posts .blog-post-inner > .button {
  margin-top: auto !important;
}

.shk-archive-empty-note {
  margin-top: 28px;
  padding: 18px 20px;
  border-left: 4px solid var(--shk-clay);
  background: var(--shk-warm-white);
  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.55;
}

.shk-archive-bottom {
  padding: 38px 40px;
  border-radius: var(--shk-radius-lg);
  background: var(--shk-charcoal);
  color: var(--shk-warm-white);
}

.shk-archive-bottom h2,
.shk-archive-bottom p {
  color: var(--shk-warm-white);
}

.shk-archive-bottom p {
  max-width: 760px;
  opacity: .86;
}

.shk-archive-bottom .button {
  margin-bottom: 8px;
}

@media (max-width: 849px) {
  .shk-archive-note {
    margin-top: 18px;
  }
}

@media (max-width: 549px) {
  .shk-archive-hero-copy p {
    font-size: 17px;
  }

  .shk-archive-note {
    padding: 26px 24px;
  }

  .shk-archive-bottom {
    padding: 30px 24px;
  }
}


/* ==========================================================
   ARKIV – POSTKORT / INNVENDIG LUFT
   ========================================================== */

.shk-archive-posts .box-text {
    display: flex;
    flex: 1 1 auto;

    padding: 26px 28px 28px !important;
}

.shk-archive-posts .blog-post-inner {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    width: 100%;
}

.shk-archive-posts .post-meta {
    margin-bottom: 14px;
}

.shk-archive-posts .post-title {
    margin-top: 0;
    margin-bottom: 14px;
    line-height: 1.2;
}

.shk-archive-posts .is-divider {
    margin-top: 4px;
    margin-bottom: 18px;
}

/* Knappen skal ligge nederst, men følge venstre tekstkant */
.shk-archive-posts .blog-post-inner > .button {
    align-self: flex-start;
    margin-top: auto !important;
    margin-bottom: 0 !important;
}


/* Tablet */
@media (max-width: 849px) {
    .shk-archive-posts .box-text {
        padding: 24px !important;
    }
}


/* Mobil */
@media (max-width: 549px) {
    .shk-archive-posts .box-text {
        padding: 22px 20px 24px !important;
    }
}

/* ==========================================================
   SLETTA HUNDEKLUBB
   CONTACT FORM 7 – VARSLE OM FORHOLD
   ========================================================== */


/* ----------------------------------------------------------
   01. FORM STRUCTURE
   ---------------------------------------------------------- */

.shk-report-form-shell .wpcf7,
.shk-report-form-shell .wpcf7 form,
.shk-report-form-shell .shk-cf7-form {
  width: 100%;
}

.shk-report-form-shell .wpcf7 form {
  margin: 0;
}

.shk-report-form-shell .shk-cf7-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}


/* ----------------------------------------------------------
   02. FIELDS
   ---------------------------------------------------------- */

.shk-report-form-shell .shk-cf7-field {
  width: 100%;
  margin: 0;
}

.shk-report-form-shell .shk-cf7-field > label {
  display: block;
  margin: 0 0 7px;

  color: var(--shk-charcoal);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
}

.shk-report-form-shell .shk-cf7-field > small {
  display: block;
  margin-top: 7px;

  color: var(--shk-text-muted);
  font-size: 13px;
  line-height: 1.45;
}

.shk-report-form-shell .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
  margin: 0;
}


/* ----------------------------------------------------------
   03. TWO-COLUMN GRID
   ---------------------------------------------------------- */

.shk-report-form-shell .shk-cf7-grid {
  display: grid;
  width: 100%;
  gap: 18px;
}

.shk-report-form-shell .shk-cf7-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}


/* ----------------------------------------------------------
   04. INPUTS
   ---------------------------------------------------------- */

.shk-report-form-shell .wpcf7 input[type="text"],
.shk-report-form-shell .wpcf7 input[type="email"],
.shk-report-form-shell .wpcf7 input[type="tel"],
.shk-report-form-shell .wpcf7 select,
.shk-report-form-shell .wpcf7 textarea {
  box-sizing: border-box !important;

  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;

  border: 1px solid var(--shk-border) !important;
  border-radius: var(--shk-radius-sm) !important;

  background: #ffffff;
  color: var(--shk-charcoal);

  font-family: inherit;
  font-size: 16px;
  font-weight: 400;

  box-shadow: none !important;
  outline: none;

  transition:
    border-color .18s ease,
    box-shadow .18s ease,
    background-color .18s ease;
}

.shk-report-form-shell .wpcf7 input[type="text"],
.shk-report-form-shell .wpcf7 input[type="email"],
.shk-report-form-shell .wpcf7 input[type="tel"],
.shk-report-form-shell .wpcf7 select {
  height: 46px !important;
  min-height: 46px !important;

  padding: 0 13px !important;

  line-height: 46px;
}

.shk-report-form-shell .wpcf7 textarea {
  min-height: 135px !important;

  padding: 11px 13px !important;

  line-height: 1.55;
  resize: vertical;
}


/* Placeholder */

.shk-report-form-shell .wpcf7 ::placeholder {
  color: #8a8d86;
  opacity: 1;
}


/* Focus */

.shk-report-form-shell .wpcf7 input:focus,
.shk-report-form-shell .wpcf7 select:focus,
.shk-report-form-shell .wpcf7 textarea:focus {
  border-color: var(--shk-field) !important;

  background: #ffffff;

  box-shadow:
    0 0 0 3px rgba(102, 116, 90, .10) !important;
}


/* ----------------------------------------------------------
   05. SELECT
   ---------------------------------------------------------- */

.shk-report-form-shell .wpcf7 select {
  padding-right: 38px !important;
  cursor: pointer;
}


/* ----------------------------------------------------------
   06. CUSTOM FILE UPLOAD
   ---------------------------------------------------------- */

.shk-report-form-shell .shk-cf7-file {
  display: flex;
  align-items: center;
  gap: 0;

  width: 100%;
  margin: 0;
}

.shk-report-form-shell .shk-cf7-file-name {
  margin-left: 12px;
}

/* Hide native input, but keep it accessible */

.shk-report-form-shell .shk-cf7-file-input {
  position: absolute !important;

  width: 1px !important;
  height: 1px !important;

  margin: -1px !important;
  padding: 0 !important;

  overflow: hidden !important;

  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;

  border: 0 !important;
}


/* Custom button */

.shk-report-form-shell .shk-cf7-file-button {
  display: inline-flex !important;
  flex: 0 0 auto;

  align-items: center;
  justify-content: center;

  width: auto !important;

  height: 42px !important;
  min-height: 42px !important;

  margin: 0 !important;
  padding: 0 16px !important;

  border: 1px solid var(--shk-fresh);
  border-radius: var(--shk-radius-sm);

  background: var(--shk-fresh);
  color: var(--shk-warm-white);

  font-family: "Elvon Grotesk", sans-serif;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;

  letter-spacing: .04em;
  text-transform: uppercase;

  cursor: pointer;

  transition:
    background-color .18s ease,
    border-color .18s ease,
    transform .18s ease;
}

.shk-report-form-shell .shk-cf7-file-button:hover,
.shk-report-form-shell .shk-cf7-file-button:focus {
  border-color: var(--shk-field);

  background: var(--shk-field);
  color: var(--shk-warm-white);

  transform: translateY(-1px);
}


/* Filename */

.shk-report-form-shell .shk-cf7-file-name {
  min-width: 0;

  color: var(--shk-text-muted);
  font-size: 14px;
  line-height: 1.4;

  word-break: break-word;
}


/* ----------------------------------------------------------
   07. SUBMIT AREA
   ---------------------------------------------------------- */

.shk-report-form-shell .shk-cf7-submit {
  display: flex;
  align-items: center;

  width: 100%;
  margin: 2px 0 0;
}

.shk-report-form-shell .wpcf7 input[type="submit"] {
  display: inline-flex !important;

  align-items: center;
  justify-content: center;

  width: auto !important;
  min-width: 0 !important;

  height: 44px !important;
  min-height: 44px !important;

  margin: 0 !important;
  padding: 0 20px !important;

  border: 1px solid var(--shk-fresh) !important;
  border-radius: var(--shk-radius-sm) !important;

  background: var(--shk-fresh) !important;
  color: var(--shk-warm-white) !important;

  font-family: "Elvon Grotesk", sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;

  letter-spacing: .04em;
  text-transform: uppercase;

  box-shadow: none !important;

  cursor: pointer;

  transition:
    background-color .18s ease,
    border-color .18s ease,
    transform .18s ease;
}

.shk-report-form-shell .wpcf7 input[type="submit"]:hover,
.shk-report-form-shell .wpcf7 input[type="submit"]:focus {
  border-color: var(--shk-field) !important;

  background: var(--shk-field) !important;
  color: var(--shk-warm-white) !important;

  transform: translateY(-1px);
}


/* Spinner */

.shk-report-form-shell .wpcf7-spinner {
  flex: 0 0 auto;

  margin: 0 0 0 12px !important;
}


/* ----------------------------------------------------------
   08. VALIDATION
   ---------------------------------------------------------- */

.shk-report-form-shell .wpcf7-not-valid {
  border-color: #b84a42 !important;
}

.shk-report-form-shell .wpcf7-not-valid-tip {
  display: block;

  margin: 5px 0 0;

  color: #a13f38;

  font-size: 13px;
  line-height: 1.4;
}


/* ----------------------------------------------------------
   09. RESPONSE MESSAGES
   ---------------------------------------------------------- */

.shk-report-form-shell .wpcf7 form .wpcf7-response-output {
  margin: 2px 0 0 !important;
  padding: 12px 14px !important;

  border: 1px solid var(--shk-border);
  border-radius: var(--shk-radius-sm);

  font-size: 14px;
  line-height: 1.5;
}

.shk-report-form-shell .wpcf7 form.sent .wpcf7-response-output {
  border-color: var(--shk-field);

  background: rgba(102, 116, 90, .08);
  color: var(--shk-charcoal);
}

.shk-report-form-shell .wpcf7 form.invalid .wpcf7-response-output,
.shk-report-form-shell .wpcf7 form.unaccepted .wpcf7-response-output {
  border-color: var(--shk-clay);

  background: rgba(200, 139, 85, .08);
}

.shk-report-form-shell .wpcf7 form.failed .wpcf7-response-output,
.shk-report-form-shell .wpcf7 form.aborted .wpcf7-response-output,
.shk-report-form-shell .wpcf7 form.spam .wpcf7-response-output {
  border-color: #b84a42;

  background: rgba(184, 74, 66, .06);
}


/* ----------------------------------------------------------
   10. CLEANUP
   ---------------------------------------------------------- */

.shk-report-form-shell .wpcf7 p {
  max-width: none;
}

.shk-report-form-shell .wpcf7 br {
  display: none;
}


/* ----------------------------------------------------------
   11. MOBILE
   ---------------------------------------------------------- */

@media (max-width: 549px) {

  .shk-report-form-shell .shk-cf7-form {
    gap: 18px;
  }

  .shk-report-form-shell .shk-cf7-grid--2 {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .shk-report-form-shell .shk-cf7-file {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

 .shk-report-form-shell .shk-cf7-file-name {
    margin-top: 8px;
    margin-left: 0;
  }

  .shk-report-form-shell .wpcf7 input[type="submit"] {
    width: 100% !important;
  }
}

.shk-directions-map-image {
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: var(--shk-sand);
}

.shk-directions-map-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sletta-green-button {
    background-color: #355c4d !important;
    color: #fff !important;
    border: 2px solid #355c4d !important;
    border-radius: 6px;
    font-weight: 600;
    text-transform: none;
    transition: all .2s ease;
}

.sletta-green-button:hover {
    background-color: #29483c !important;
    border-color: #29483c !important;
    color: #fff !important;
}

.sletta-section-button {
    background-color: #66745A !important;
    border-color: #66745A !important;
    color: #fff !important;

    font-size: 18px;
    font-weight: 700;
    line-height: 1;

    padding: 18px 36px;
    min-height: 44px;

    border-radius: 6px;
    text-transform: none;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    transition: all .2s ease;
}

.sletta-section-button:hover {
    background-color: #56634c !important;
    border-color: #56634c !important;
    color: #fff !important;
}

.sletta-section-button {
    text-transform: uppercase;
    letter-spacing: .2px;
}
}

/* =========================================================
   SLETTA HUNDEKLUBB
   Utforsk klubben – like høye kort
   ========================================================= */

.shk-club-links-row {
    align-items: stretch;
}

/* Alle fire Flatsome-kolonnene får samme høyde */
.shk-club-links-row > .col {
    display: flex;
}

/* Col-inner fyller kolonnen */
.shk-club-links-row > .col > .col-inner {
    display: flex;
    flex-direction: column;
    width: 100%;
}

/* HTML-kortet inni kolonnen fyller tilgjengelig høyde */
.shk-club-links-row > .col > .col-inner > div {
    flex: 1 1 auto;
    width: 100%;
    display: flex;
    flex-direction: column;
}

/* Lenken i bunnen skyves ned dersom den ligger som siste element */
.shk-club-links-row > .col > .col-inner > div > a:last-child,
.shk-club-links-row > .col > .col-inner > div > p:last-child {
    margin-top: auto;
}


/* Mobil/tablet: naturlig høyde når kortene stables */
@media screen and (max-width: 849px) {

    .shk-club-links-row > .col {
        display: block;
    }

    .shk-club-links-row > .col > .col-inner {
        display: block;
    }

    .shk-club-links-row > .col > .col-inner > div {
        display: block;
    }
}

.shk-board-card .shk-board-card__body h3 {
    color: #66745A !important;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

/* =========================================================
   SLETTA HUNDEKLUBB – STYREKORT
   ========================================================= */

.shk-board-card {
    height: 100%;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 10px;
    overflow: hidden;
}

/* BILDET HELT UT TIL TOPP / VENSTRE / HØYRE */
.shk-board-card__photo {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background: #e8dfc9;
    flex-shrink: 0;
}

.shk-board-card__photo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

/* MIDLERTIDIG PLACEHOLDER */
.shk-board-card__initials {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #7d8959;
    font-size: 28px;
    font-weight: 600;
    letter-spacing: .08em;
}

/* INNHOLDET */
.shk-board-card__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 16px 18px 16px;
}

/* ROLLE */
.shk-board-card__role {
    margin: 0 0 3px;
    min-height: 18px;
    font-size: 11px;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: .11em;
    text-transform: uppercase;
}

/* NAVN */
.shk-board-card__body h3 {
    margin: 0 0 8px;
    min-height: 54px;
    color: #7d8959;
    font-size: 21px;
    line-height: 1.05;
}

/* BESKRIVELSE */
.shk-board-card__body > p:not(.shk-board-card__role) {
    margin: 0 0 14px;
    font-size: 14px;
    line-height: 1.55;
    flex-grow: 1;
}

/* KONTAKT-LINJEN */
.shk-board-card__contact {
    margin-top: auto;
    padding-top: 13px;
    border-top: 1px solid rgba(0,0,0,.08);
}

.shk-board-card__contact a {
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
}

/* =====================================================
   STYREKORT – FINAL OVERRIDE
   ===================================================== */

.shk-board-card {
    padding: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

/* BILDET HELT UT I TOPP OG TIL BEGGE SIDER */
.shk-board-card__photo {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    aspect-ratio: 4 / 3;
    flex-shrink: 0;
    overflow: hidden;
    background: #e8dfc9;
}

/* Hvis placeholder-teksten ligger direkte i photo */
.shk-board-card__photo {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Ekte bilde senere */
.shk-board-card__photo img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
}

/* KUN TEKSTOMRÅDET SKAL HA PADDING */
.shk-board-card__body {
    padding: 16px 18px 16px !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
}

/* Rolle */
.shk-board-card__role {
    margin: 0 0 3px !important;
    min-height: 17px;
}

/* Navn – samme høyde på alle */
.shk-board-card__body h3 {
    margin: 0 0 10px !important;
    min-height: 46px;
    line-height: 1.05;
}

/* Beskrivelsen fyller mellomrommet */
.shk-board-card__body > p:not(.shk-board-card__role) {
    margin: 0 0 14px !important;
    flex: 1;
}

/* Kontakt alltid på samme linje nederst */
.shk-board-card__contact {
    margin-top: auto !important;
    padding-top: 12px !important;
    border-top: 1px solid rgba(0,0,0,.08);
}

.shk-map-button {
    margin-top: 16px;
    border-radius: 8px;
    padding: 10px 18px;
    font-weight: 600;
    letter-spacing: .04em;
}

.shk-map-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 16px;

    padding: 12px 18px;

    background: #a4b96f !important;
    color: #20231f !important;

    border: 0 !important;
    border-radius: 7px;

    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .03em;

    text-decoration: none !important;
    box-shadow: none !important;
}

.shk-map-button:hover {
    background: #93aa5f !important;
    color: #20231f !important;
}

/* =========================================
   SLETTA – PRØV HUNDEMARKEN / FØRSTE BESØK
   ========================================= */

.shk-provebesok {
  border-radius: 0;
}

.shk-provebesok .shk-eyebrow {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--primary-color);
}

.shk-provebesok h2 {
  margin-bottom: 18px;
}

.shk-provebesok .lead {
  max-width: 760px;
  margin: 0 auto 35px;
  font-size: 1.12em;
  line-height: 1.7;
}

.shk-provebesok-grid {
  margin-top: 10px;
  margin-bottom: 30px;
}

.shk-info-card {
  height: 100%;
  padding: 30px 26px;
  background: #fff;
  border-radius: 12px;
  text-align: left;
  box-shadow: 0 8px 28px rgba(0, 0, 0, .06);
}

.shk-info-card__number {
  margin-bottom: 15px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .12em;
  color: var(--primary-color);
}

.shk-info-card h3 {
  margin-top: 0;
  margin-bottom: 12px;
  color: var(--primary-color);
}

.shk-info-card p {
  margin-bottom: 0;
  line-height: 1.65;
}

.shk-trust-box {
  margin: 10px 0 40px;
  padding: 30px 34px;
  border-left: 4px solid var(--primary-color);
  background: rgba(255, 255, 255, .55);
  border-radius: 0 10px 10px 0;
}

.shk-trust-box h3 {
  margin-top: 0;
  color: var(--primary-color);
}

.shk-trust-box p:last-child {
  margin-bottom: 0;
}

.shk-trust-box a,
.shk-contact-note a {
  font-weight: 600;
  color: var(--primary-color);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.shk-contact-note {
  max-width: 720px;
  margin: 25px auto 0;
  font-size: .94em;
  line-height: 1.6;
  opacity: .85;
}

.shk-btn-calendar,
.shk-btn-member {
  margin: 6px;
}


/* MOBILE */
@media (max-width: 849px) {

  .shk-provebesok {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }

  .shk-provebesok .lead {
    font-size: 1.04em;
  }

  .shk-info-card {
    margin-bottom: 14px;
    padding: 24px 22px;
  }

  .shk-trust-box {
    padding: 24px 22px;
    margin-bottom: 30px;
  }

  .shk-btn-calendar,
  .shk-btn-member {
    display: block;
    width: 100%;
    max-width: 340px;
    margin: 8px auto;
  }
}

.shk-trust-box {
  margin: 42px 0 28px;
  padding: 28px 32px;
  background: rgba(255,255,255,.55);
  border-left: 4px solid var(--primary-color);
  border-radius: 0 8px 8px 0;
  text-align: left;
}

.shk-trust-box h3 {
  margin-top: 0;
  color: var(--primary-color);
}

.shk-trust-box p:last-child {
  margin-bottom: 0;
}

.shk-trust-box a {
  color: var(--primary-color);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 849px) {
  .shk-trust-box {
    padding: 24px 22px;
    margin-top: 30px;
  }
}