/*
Theme Name:  Löneräknare
Theme URI:
Author:
Description: Minimalt tema för löneräknare med Skatteverkets kommunalskattesatser. Använd shortcoden [lonekalkylator] på valfri sida.
Version:     1.0.0
License:     GNU General Public License v2 or later
Text Domain: lonekalkylator-theme
*/

/* ─── Reset & base ─────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  background: #f0f4f8;
  color: #1e293b;
  font-size: 16px;
  line-height: 1.5;
}

a { color: #1e40af; text-decoration: none; }
a:hover { text-decoration: underline; }

img { max-width: 100%; height: auto; }

/* ─── Site header ──────────────────────────────────────────────────────────── */
.site-header {
  background: linear-gradient(135deg, #1e3a8a 0%, #1e40af 100%);
  color: #fff;
  padding: 0;
}

.site-header .header-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 20px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.site-header .site-branding { flex: 1; }

.site-header .site-title {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.3px;
}

.site-header .site-title a { color: #fff; }
.site-header .site-title a:hover { text-decoration: none; opacity: 0.85; }

.site-header .site-description {
  margin: 2px 0 0;
  font-size: 0.875rem;
  opacity: 0.75;
}

/* ─── Navigation ───────────────────────────────────────────────────────────── */
.main-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 4px;
}

.main-navigation a {
  color: rgba(255,255,255,0.85);
  font-size: 0.9rem;
  padding: 6px 12px;
  border-radius: 6px;
  transition: background 0.15s;
}

.main-navigation a:hover {
  background: rgba(255,255,255,0.15);
  text-decoration: none;
  color: #fff;
}

/* ─── Content area ─────────────────────────────────────────────────────────── */
.site-content {
  min-height: calc(100vh - 140px);
}

.entry-content {
  max-width: 1100px;
  margin: 0 auto;
  padding: 32px 24px 48px;
}

/* ─── Widgets / sidebar (if used) ──────────────────────────────────────────── */
.entry-content p,
.entry-content ul,
.entry-content ol {
  max-width: 720px;
}

.entry-content h1, .entry-content h2, .entry-content h3 {
  color: #1e293b;
}

/* ─── Footer ───────────────────────────────────────────────────────────────── */
.site-footer {
  background: #1e293b;
  color: rgba(255,255,255,0.6);
  text-align: center;
  padding: 20px 24px;
  font-size: 0.825rem;
}

.site-footer a { color: rgba(255,255,255,0.8); }
.site-footer a:hover { color: #fff; }

/* ─── Front-page hero (optional) ──────────────────────────────────────────── */
.front-page-hero {
  background: linear-gradient(135deg, #1e3a8a 0%, #1e40af 100%);
  color: #fff;
  text-align: center;
  padding: 48px 24px 40px;
}

.front-page-hero h1 {
  margin: 0 0 8px;
  font-size: 2.2rem;
  font-weight: 800;
  letter-spacing: -0.5px;
}

.front-page-hero p {
  margin: 0;
  opacity: 0.8;
  font-size: 1.05rem;
}

.front-page-content {
  max-width: 1100px;
  margin: 0 auto;
  padding: 32px 24px 64px;
}

/* ─── WP admin bar adjustments ─────────────────────────────────────────────── */
.admin-bar .site-header { top: 32px; }

@media (max-width: 782px) {
  .admin-bar .site-header { top: 46px; }
}

/* ─── Intro section ────────────────────────────────────────────────────────── */
.lk-intro {
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
  padding: 40px 24px 36px;
}

.lk-intro-inner {
  max-width: 760px;
  margin: 0 auto;
}

.lk-intro h1 {
  margin: 0 0 14px;
  font-size: 1.75rem;
  font-weight: 800;
  color: #1e293b;
  letter-spacing: -0.4px;
  line-height: 1.2;
}

.lk-intro p {
  margin: 0;
  color: #475569;
  font-size: 1rem;
  line-height: 1.65;
}

@media (max-width: 640px) {
  .lk-intro h1 { font-size: 1.35rem; }
  .lk-calculator-wrap { padding: 24px 12px 12px; }
  .lk-faq { padding: 32px 16px 48px; }
  .lk-faq h2 { font-size: 1.1rem; }
}

/* ─── Calculator wrapper ────────────────────────────────────────────────────── */
.lk-calculator-wrap {
  padding: 32px 16px 16px;
}

/* ─── FAQ section ──────────────────────────────────────────────────────────── */
.lk-faq {
  padding: 48px 24px 64px;
}

.lk-faq-inner {
  max-width: 760px;
  margin: 0 auto;
}

.lk-faq h2 {
  margin: 0 0 28px;
  font-size: 1.35rem;
  font-weight: 700;
  color: #1e293b;
}

.lk-faq-item {
  border-bottom: 1px solid #e2e8f0;
  padding: 18px 0;
}

.lk-faq-item:last-child {
  border-bottom: none;
}

.lk-faq-question {
  margin: 0 0 8px;
  font-size: 1rem;
  font-weight: 600;
  color: #1e293b;
}

.lk-faq-answer {
  margin: 0;
  color: #475569;
  font-size: 0.925rem;
  line-height: 1.65;
}
