/*
Theme Name: Kalorier Modern
Theme URI: https://kalorier.info/
Description: Lett, tilgjengelig og mobilvennlig child theme for Kalorier.info.
Author: Kalorier.info
Template: Newspaper
Version: 1.0.1
Text Domain: kalorier-modern
*/

:root {
  --ki-green: #176b4d;
  --ki-green-dark: #0f4f39;
  --ki-green-soft: #eaf5ef;
  --ki-gold: #e3b23c;
  --ki-ink: #17251f;
  --ki-muted: #5d6c65;
  --ki-line: #dce7e1;
  --ki-surface: #ffffff;
  --ki-bg: #f6f9f7;
  --ki-radius: 16px;
  --ki-shadow: 0 10px 30px rgba(16, 70, 49, .09);
}

html { scroll-behavior: smooth; }
body {
  background: var(--ki-bg) !important;
  color: var(--ki-ink) !important;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 17px;
  line-height: 1.7;
}

a { color: var(--ki-green); text-underline-offset: .16em; }
a:hover, a:focus { color: var(--ki-green-dark); }

h1, h2, h3, h4, h5, h6,
.tdm-title, .td_block_template_1 .td-block-title > span {
  color: var(--ki-ink) !important;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-weight: 750 !important;
  letter-spacing: -.025em;
  line-height: 1.18;
}

h1 { font-size: clamp(2.2rem, 5vw, 4rem); }
h2 { font-size: clamp(1.75rem, 3vw, 2.6rem); }
h3 { font-size: clamp(1.3rem, 2vw, 1.75rem); }

.ki-page-hero {
  background: linear-gradient(135deg, var(--ki-green-dark), var(--ki-green));
  color: #fff;
  padding: clamp(32px, 6vw, 72px) 24px;
  text-align: center;
}
.ki-page-hero h1 {
  color: #fff !important;
  margin: 0 auto;
  max-width: 1050px;
}

.td-header-template-wrap,
.td-header-wrap {
  background: rgba(255,255,255,.98) !important;
  border-bottom: 1px solid var(--ki-line);
  box-shadow: 0 4px 18px rgba(16,70,49,.06);
}

.td-header-menu-wrap-full,
.td-header-menu-wrap,
.td-main-menu-logo {
  background: var(--ki-surface) !important;
}

.sf-menu > li > a,
.td-header-menu-wrap .td-header-main-menu,
.td-header-menu-wrap .td-header-main-menu a {
  color: var(--ki-ink) !important;
  font-weight: 650 !important;
  letter-spacing: -.01em;
}
.sf-menu > li.current-menu-item > a,
.sf-menu > li > a:hover { color: var(--ki-green) !important; }

.td-main-content-wrap { padding-top: 0 !important; }
.td-container, .tdc-row, .td-pb-row { max-width: 1180px !important; }

.tdm_block_hero,
.tdm_block_text_image,
.td_block_text_with_title,
.td_module_wrap,
.td-pb-span8 .td_block_wrap,
.td-pb-span4 .td_block_wrap {
  border-radius: var(--ki-radius);
}

.tdm_block_text_image,
.td_block_text_with_title,
.td_module_wrap {
  background: var(--ki-surface);
  box-shadow: var(--ki-shadow);
}

.tdm-btn,
.tds-button,
button,
input[type="submit"],
.wp-element-button {
  border-radius: 999px !important;
  font-family: inherit !important;
  font-weight: 700 !important;
}

.tdm-btn,
.tds-button,
input[type="submit"],
.wp-element-button {
  background: var(--ki-green) !important;
  border: 2px solid var(--ki-green) !important;
  color: #fff !important;
  padding: .78rem 1.25rem !important;
}
.tdm-btn:hover,
.tds-button:hover,
input[type="submit"]:hover,
.wp-element-button:hover {
  background: var(--ki-green-dark) !important;
  border-color: var(--ki-green-dark) !important;
}

input, select, textarea {
  border: 1px solid #aebfb6 !important;
  border-radius: 10px !important;
  font: inherit !important;
  min-height: 46px;
}
input:focus, select:focus, textarea:focus {
  border-color: var(--ki-green) !important;
  box-shadow: 0 0 0 3px rgba(23,107,77,.16) !important;
  outline: 0 !important;
}

table { border-collapse: separate; border-spacing: 0; width: 100%; }
th { background: var(--ki-green); color: #fff; }
th, td { border-color: var(--ki-line) !important; padding: .72rem .85rem !important; }
tbody tr:nth-child(even) { background: var(--ki-green-soft); }

.td-footer-page,
.td-footer-wrapper,
.td-sub-footer-container {
  background: var(--ki-green-dark) !important;
  color: #eaf5ef !important;
}
.td-footer-wrapper a, .td-sub-footer-container a { color: #fff !important; }

.td-search-wrap-mob,
.td-menu-background { background: var(--ki-green-dark) !important; }

@media (max-width: 767px) {
  body { font-size: 16px; }
  .td-main-content-wrap { padding-left: 16px; padding-right: 16px; }
  .tdm_block_text_image, .td_block_text_with_title, .td_module_wrap {
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(16,70,49,.08);
  }
  .tdm-btn, .tds-button, input[type="submit"], .wp-element-button {
    min-height: 48px;
    width: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
