/* Lokal Fokus · Dark theme v2. Loaded after the original design layer. */
:root {
  color-scheme: dark;
  --lf-bg: #0c1219;
  --lf-surface: #141e29;
  --lf-raised: #1b2836;
  --lf-ink: #f1f5f9;
  --lf-muted: #afbdcc;
  --lf-border: #2c3b4b;
  --lf-blue: #83c9f4;
  --lf-blue-dark: #a7dbfa;
  --lf-blue-light: #1c3042;
  --lf-green: #83d8b4;
  --lf-orange: #f5aa63;
  --lf-heading-color: #e68730;
  --lf-heading: Roboto, "Open Sans", Arial, sans-serif;
}
html { background: var(--lf-bg); scroll-padding-top: 170px; }
body, body.elementor-kit-14 {
  background: var(--lf-bg);
  color: var(--lf-ink);
  font-family: Roboto, "Open Sans", Arial, sans-serif;
  --e-global-color-primary: #83c9f4;
  --e-global-color-secondary: #afbdcc;
  --e-global-color-text: #f1f5f9;
  --e-global-color-accent: #83d8b4;
}
body { line-height: 1.65; }
::selection { background: #a7dbfa; color: #0c1219; }
a { color: var(--lf-blue); text-underline-offset: 4px; }
a:hover, a:focus { color: #d8efff; }
:where(a, button, input, textarea, select, summary):focus-visible {
  outline: 3px solid var(--lf-orange);
  outline-offset: 4px;
}
:where(h1, h2, h3, h4, h5, h6), .page-header .entry-title, .entry-title {
  color: var(--lf-heading-color);
  font-family: var(--lf-heading);
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1.15;
}
.site-main { padding-top: 48px; }
.entry-title { max-width: 980px; font-size: clamp(2.1rem, 4.2vw, 3.65rem); }
.single-post .page-content > :where(p, ul, ol, blockquote, h2, h3, h4) {
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
}
.single-post .page-content > p { font-size: 18px; line-height: 1.85; }
.single-post .page-content > :where(h2, h3) { margin-top: 2.1em; }
.lf-featured-image img { width: 100%; border-radius: 14px; }
.lf-article-meta { margin-top: 24px; border-color: var(--lf-border); font-weight: 500; }
.wp-block-quote, blockquote { border-left: 3px solid var(--lf-orange); padding: 16px 24px; background: var(--lf-surface); }
hr, table, th, td { border-color: var(--lf-border); }
table tbody > tr:nth-child(odd) > :where(td, th) { background: var(--lf-surface); }

/* Header: a quiet masthead with a clear contribution action. */
.elementor-location-header {
  background: #101923;
  border-bottom: 1px solid var(--lf-border);
  box-shadow: 0 8px 28px #00000026;
}
.elementor-25 .elementor-element.elementor-element-e9de188 {
  background: transparent !important;
  padding-top: 20px !important;
  padding-bottom: 15px !important;
  gap: 17px 24px;
}
.elementor-25 .elementor-widget-theme-site-logo img {
  filter: none;
  max-width: 260px;
  max-height: 48px;
}
.elementor-25 .elementor-nav-menu--main .elementor-item {
  color: var(--lf-muted) !important;
  font-size: 14px;
  font-weight: 500;
  border-radius: 7px;
  padding: 11px 14px !important;
}
.elementor-25 .elementor-nav-menu--main .elementor-item:is(:hover, :focus, .elementor-item-active) {
  background: var(--lf-raised);
  color: var(--lf-ink) !important;
}
.elementor-25 .elementor-item::before, .elementor-25 .elementor-item::after { display: none; }
.elementor-25 .elementor-nav-menu .menu-item-622 > a {
  background: var(--lf-orange);
  color: #171e27 !important;
  font-weight: 700;
}
.elementor-25 .elementor-nav-menu .menu-item-622 > a:is(:hover, :focus) {
  background: #ffc58c;
  color: #171e27 !important;
}
.elementor-25 .elementor-search-form { border-radius: 9px; box-shadow: 0 0 0 1px var(--lf-border); }
.elementor-25 .elementor-search-form__container,
.elementor-25 .elementor-search-form__input { background: var(--lf-bg) !important; color: var(--lf-ink) !important; }
.elementor-25 .elementor-search-form__input { min-height: 42px; font-size: 14px; }
.elementor-25 .elementor-search-form__input::placeholder { color: var(--lf-muted); opacity: 1; }
.elementor-25 .elementor-search-form__submit { background: var(--lf-blue-light) !important; color: var(--lf-blue) !important; }
.elementor-25 .elementor-search-form__submit:hover { background: var(--lf-raised) !important; }
.elementor-25 .elementor-menu-toggle { color: var(--lf-ink) !important; background: var(--lf-raised) !important; min-width: 44px; min-height: 44px; }
.elementor-25 .elementor-nav-menu--dropdown { background: var(--lf-surface); border-color: var(--lf-border); }
.elementor-25 .elementor-nav-menu--dropdown a { color: var(--lf-ink); background: var(--lf-surface); padding: 14px 20px; }
.elementor-25 .elementor-nav-menu--dropdown a:is(:hover, :focus, .elementor-item-active) { background: var(--lf-blue-light); color: var(--lf-blue); }

/* The intro remains editable in the WordPress block editor. */
.lf-front { max-width: 1240px; padding: 52px 30px 72px; }
.lf-front .lf-front__intro {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 30px;
  margin-bottom: 38px;
}
.lf-front__intro > .wp-block-column { min-width: 0; }
.lf-front__intro h1 {
  font-family: var(--lf-heading);
  max-width: 800px;
  font-size: clamp(2.25rem, 4.1vw, 3.6rem);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -.045em;
}
.lf-front__intro p:not(.lf-kicker) { max-width: 680px; font-size: 17px; line-height: 1.7; }
.lf-kicker { color: var(--lf-green); font-size: 11px; font-weight: 700; letter-spacing: .13em; margin-bottom: 15px; }
.lf-kicker::before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; margin: 0 9px 1px 0; background: currentColor; }
.lf-front__actions .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 10px; }
/* Gutenberg supplies the actual link; remove the old double button padding. */
.lf-front__actions .lf-button { padding: 0; background: transparent; box-shadow: none; border-radius: 9px; }
.lf-button--primary .wp-block-button__link { background: var(--lf-orange); color: #171e27 !important; }
.lf-button--secondary .wp-block-button__link { background: var(--lf-raised); color: var(--lf-ink) !important; box-shadow: inset 0 0 0 1px #425368; }
.lf-front__actions .wp-block-button__link { min-height: 48px; padding: 14px 21px; font-size: 14px; border-radius: 9px; white-space: nowrap; }
.lf-button--primary .wp-block-button__link:hover { background: #ffc58c; }
.lf-button--secondary .wp-block-button__link:hover { background: #26394c; }

/* Lead story and the article grid. */
.lf-front__hero {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: 0;
  border: 1px solid var(--lf-border);
  border-radius: 18px;
  background: var(--lf-surface);
  overflow: hidden;
  box-shadow: 0 16px 40px #00000022;
  margin-bottom: 56px;
}
.lf-front__hero-copy { padding: clamp(26px, 3.3vw, 44px); }
.lf-front__hero h2 { font-family: var(--lf-heading); font-size: clamp(1.8rem, 2.65vw, 2.65rem); line-height: 1.14; letter-spacing: -.035em; }
.lf-front__hero-copy p:not(.lf-kicker) { font-size: 16px; line-height: 1.75; margin: 20px 0 25px; }
.lf-front__hero-media { background: var(--lf-blue-light); min-height: 390px; }
.lf-front__hero-media img { min-height: 390px; object-fit: cover; }
.lf-read-more { color: var(--lf-blue); font-size: 14px; font-weight: 700; gap: 12px; align-items: center; text-decoration: none; }
.lf-read-more::after, .lf-section__header > a::after { content: "\2192"; margin-left: 8px; }
.lf-read-more:hover { text-decoration: underline; }
.lf-section { margin-bottom: 56px; }
.lf-section__header { margin-bottom: 24px; }
.lf-section__header h2, .lf-panel h2, .lf-local-links h2, .lf-empty h2 {
  font-family: var(--lf-heading); font-size: clamp(1.5rem, 2.2vw, 2rem); line-height: 1.2; letter-spacing: -.03em;
}
.lf-section__header > a { color: var(--lf-blue); font-size: 14px; text-decoration: none; }
.lf-section__header > a:hover { text-decoration: underline; }
.lf-card-grid { gap: 24px; }
.lf-card { border-color: var(--lf-border); border-radius: 14px; background: var(--lf-surface); transition: border-color .18s ease, transform .18s ease; }
.lf-card:hover, .lf-card:focus-within { border-color: #60829d; }
.lf-card__media img { transition: transform .3s ease; }
.lf-card:hover .lf-card__media img { transform: scale(1.025); }
.lf-card__body { padding: 23px; }
.lf-card__meta { gap: 8px 13px; font-size: 11px; font-weight: 500; margin-bottom: 15px; }
.lf-card__meta span { text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.lf-card__title { font-family: var(--lf-heading); font-size: 1.3rem; line-height: 1.3; letter-spacing: -.025em; margin-bottom: 14px; }
.lf-card p { font-size: 14px; line-height: 1.75; }
.lf-card__placeholder { font-family: var(--lf-heading); font-size: 1.5rem; }
.lf-front__hero-media:has(> span) { background: var(--lf-blue-light); }
.lf-front__hero-media span { font-family: var(--lf-heading); }
.lf-panel, .lf-empty, .lf-local-links { background: var(--lf-surface); border-color: var(--lf-border); border-radius: 14px; padding: 32px; }
.lf-panel--accent { border-top: 1px solid var(--lf-border); }
.lf-panel--accent .lf-kicker { color: var(--lf-orange); }
.lf-front__split { gap: 24px; margin-bottom: 28px; }
.lf-local-links { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 30px; }
.lf-local-links nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lf-local-links nav a { border: 1px solid var(--lf-border); border-radius: 8px; background: var(--lf-raised); color: var(--lf-ink); min-height: 46px; font-size: 14px; }
.lf-local-links nav a:is(:hover, :focus) { background: var(--lf-blue-light); color: var(--lf-blue); border-color: #60829d; }

/* Native controls and Elementor forms keep their normal behavior. */
input:not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]), textarea, select,
.elementor-field-group .elementor-field-textual {
  background: var(--lf-bg); color: var(--lf-ink); border-color: #54677c; border-radius: 8px;
}
input::placeholder, textarea::placeholder { color: var(--lf-muted); opacity: 1; }
:where(button, input[type=submit], .elementor-button) { font-family: inherit; }
:where(.page-content, .woocommerce) :where(button:not(.lf-contribution__more), input[type=submit], .elementor-button) {
  background: var(--lf-blue-light); color: var(--lf-blue); border: 1px solid #54677c;
}
.wp-block-audio, audio { max-width: 100%; }
/* Plugin surfaces used in calendar and account pages. */
.woocommerce form.login, .woocommerce form.register, .woocommerce .woocommerce-info, .woocommerce .woocommerce-message,
.woocommerce .woocommerce-error, .select2-dropdown { background: var(--lf-surface); color: var(--lf-ink); border-color: var(--lf-border); }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: var(--lf-raised); border-color: var(--lf-border); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--lf-surface); color: var(--lf-ink); }
.select2-container--default .select2-selection--single { background: var(--lf-bg); border-color: #54677c; }
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--lf-ink); }

/* Samtalen: include signed-in forms, contributions and moderation notices. */
.lf-conversation { --lf-chat-ink: var(--lf-ink); border-top-color: var(--lf-border); }
.lf-conversation__login, .lf-conversation .comment-respond { background: var(--lf-surface); border-color: var(--lf-border); }
.lf-contribution__card { background: var(--lf-surface); border-color: var(--lf-border); }
.lf-conversation textarea { background: var(--lf-bg); color: var(--lf-ink); border-color: #54677c; }
.lf-conversation .lf-conversation__button { background: var(--lf-blue-light); color: #c0e5ff; border: 1px solid #54677c; }
.lf-conversation .lf-conversation__button:hover { background: #29465e; color: #fff; }
.lf-contribution__pending, .lf-conversation__closed { background: #352b1c; color: #f6cc8b; }
.lf-conversation .lf-replies { border-color: var(--lf-border); }

/* Footer. */
.elementor-location-footer { background: #101923; border-top: 1px solid var(--lf-border); margin-top: 0; }
.elementor-54 .elementor-element.elementor-element-bc682ae { background: transparent !important; padding-top: 38px !important; padding-bottom: 38px !important; }
.elementor-location-footer, .elementor-location-footer p { color: var(--lf-muted); }
.elementor-54 .elementor-social-icon { background: var(--lf-raised) !important; color: var(--lf-ink) !important; }
.elementor-54 .elementor-social-icon:is(:hover, :focus) { background: #35516a !important; }
.elementor-54 .elementor-widget-text-editor { font-size: 13px; }

/* WordPress reader login, registration and password-reset screens. */
body.login { background: var(--lf-bg); color: var(--lf-ink); }
.login h1 a { filter: none; }
.login form, .login .message, .login .notice, .login #login_error {
  background: var(--lf-surface); color: var(--lf-ink); border-color: var(--lf-border); border-radius: 12px; box-shadow: none;
}
.login form { padding: 28px; }
.login label, .login .lf-reader-optional, .login .lf-reader-field-help { color: var(--lf-muted); }
.login #nav a, .login #backtoblog a, .login .privacy-policy-link { color: var(--lf-blue); }
.login #nav a:hover, .login #backtoblog a:hover { color: var(--lf-ink); }
.login .button-primary, .login .lf-reader-signup__button { background: var(--lf-blue-light); border-color: #54677c; color: #c0e5ff; border-radius: 7px; }
.login .button-primary:hover, .login .lf-reader-signup__button:hover { background: #29465e; color: #fff; }
.login .button.wp-hide-pw { color: var(--lf-blue); }
.login .dashicons-translation { color: var(--lf-muted); }

@media (min-width: 768px) and (max-width: 1024px) {
  .lf-front .lf-front__intro { grid-template-columns: 1fr; gap: 22px; }
  .lf-front__actions { justify-content: start; }
  .lf-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lf-front__hero h2 { font-size: 1.85rem; }
}
@media (max-width: 767px) {
  html { scroll-padding-top: 155px; }
  .elementor-25 .elementor-element.elementor-element-e9de188 { padding: 14px 18px !important; gap: 14px; grid-template-columns: minmax(0, 1fr) auto; }
  .elementor-25 .elementor-widget-theme-site-logo img { max-width: min(220px, 100%); max-height: 40px; }
  .elementor-25 .elementor-element.elementor-element-5049eac { justify-self: end; }
  .lf-front { padding: 32px 18px 42px; }
  .lf-front .lf-front__intro { grid-template-columns: 1fr; gap: 24px; margin-bottom: 28px; }
  .lf-front__intro h1 { font-size: clamp(2rem, 8vw, 3rem); line-height: 1.1; }
  .lf-front__intro p:not(.lf-kicker) { font-size: 16px; }
  .lf-front__actions { justify-content: start; }
  .lf-front__hero { grid-template-columns: 1fr; margin-bottom: 38px; border-radius: 13px; }
  .lf-front__hero-media { grid-row: 1; }
  .lf-front__hero-media, .lf-front__hero-media img, .lf-front__hero-media span { min-height: 0; aspect-ratio: 16 / 10; }
  .lf-front__hero-copy { padding: 24px; }
  .lf-front__hero h2 { font-size: 1.7rem; }
  .lf-front__hero-copy p:not(.lf-kicker) { font-size: 15px; }
  .lf-section__header { flex-direction: row; align-items: end; gap: 16px; }
  .lf-section__header h2 { font-size: 1.5rem; }
  .lf-section__header > a { flex-shrink: 0; font-size: 12px; padding: 8px 0; }
  .lf-section__header > a::after { display: none; }
  .lf-card-grid, .lf-front__split, .lf-local-links { grid-template-columns: 1fr; gap: 20px; }
  .lf-card__body { padding: 22px; }
  .lf-section { margin-bottom: 38px; }
  .lf-panel, .lf-local-links { padding: 24px; }
  .lf-local-links nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .single-post .page-content > p { font-size: 17px; line-height: 1.8; }
  .entry-title, .page-header .entry-title { font-size: clamp(1.85rem, 7.5vw, 2.6rem); line-height: 1.14; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* Override the saved Elementor widget widths and icon fills. */
.elementor-25 .elementor-element.elementor-element-cb6d43d { width: min(260px, 100%) !important; }
.elementor-25 .elementor-menu-toggle svg { fill: currentColor !important; }
.elementor-25 .elementor-element.elementor-element-5049eac .elementor-nav-menu--dropdown a { color: var(--lf-ink) !important; }
.elementor-25 .elementor-element.elementor-element-5049eac .elementor-nav-menu--dropdown a:is(:hover, :focus, .elementor-item-active) { background: var(--lf-blue-light) !important; color: var(--lf-blue) !important; }
.elementor-25 .elementor-element.elementor-element-5049eac .elementor-nav-menu--dropdown .menu-item-622 > a { color: #171e27 !important; background: var(--lf-orange) !important; }
@media (max-width: 1024px) {
  .elementor-25 .elementor-element.elementor-element-e9de188 { position: relative; }
  .elementor-25 .elementor-element.elementor-element-cb6d43d { width: min(220px, 100%) !important; }
  .elementor-25 .elementor-element.elementor-element-5049eac,
  .elementor-25 .elementor-element.elementor-element-5049eac > .elementor-widget-container { position: static; }
  .elementor-25 .elementor-element.elementor-element-5049eac { width: 44px; }
  .elementor-25 .elementor-element.elementor-element-5049eac > .elementor-widget-container > nav.elementor-nav-menu--dropdown {
    position: absolute;
    top: 100%;
    left: 18px;
    right: 18px;
    width: auto;
    margin-top: 0;
    max-height: calc(100dvh - 150px);
    overflow-y: auto;
    box-shadow: 0 18px 36px #0006;
    z-index: 10;
  }
}

/* Elementor category archives share the front page's article treatment. */
.elementor-location-archive { padding: 32px 18px 56px; }
.elementor-location-archive > .e-con { --padding-top: 0; --padding-bottom: 0; }
body.elementor-kit-14 .elementor-posts .elementor-post__card { background: var(--lf-surface); border: 1px solid var(--lf-border); border-radius: 14px; box-shadow: none; }
body.elementor-kit-14 .elementor-posts .elementor-post__title,
body.elementor-kit-14 .elementor-posts .elementor-post__title a { color: var(--lf-heading-color); font-family: var(--lf-heading); line-height: 1.3; letter-spacing: -.025em; }
body.elementor-kit-14 .elementor-posts .elementor-post__title a:hover { color: #ffb36e; }
body.elementor-kit-14 .elementor-posts .elementor-post__excerpt p,
body.elementor-kit-14 .elementor-posts .elementor-post__meta-data { color: var(--lf-muted); line-height: 1.75; }
body.elementor-kit-14 .elementor-posts .elementor-post__meta-data { border-top-color: var(--lf-border); }
.elementor-25 .sub-arrow svg { fill: currentColor !important; }
.login .language-switcher select { background: var(--lf-surface); color: var(--lf-ink); border-color: #54677c; }
.login .language-switcher .button { background: var(--lf-blue-light); color: #c0e5ff; border-color: #54677c; border-radius: 7px; }
.login input[type=checkbox] { background: var(--lf-bg); border-color: #54677c; }

/* Original logo orange, chosen for headings on 29 October 2026. */
body.elementor-kit-14 :is(h1, h2, h3, h4, h5, h6),
body.elementor-kit-14 :is(h1, h2, h3, h4, h5, h6) a {
  color: var(--lf-heading-color);
}
body.elementor-kit-14 :is(h1, h2, h3, h4, h5, h6) a:is(:hover, :focus) {
  color: #ffb36e;
}
