/*
Theme Name: Lichtblick – Blocksy
Description: Lichtblick-Gestaltung auf Basis von Blocksy. Inhalte bleiben im Block-Editor bearbeitbar.
Author: Konstantin Kissler
Version: 1.0.0
Template: blocksy
Text Domain: lichtblick
*/

/* Keep the original locally hosted typefaces on Blocksy's native components. */
:root {
  --theme-font-family: 'Open Sans', sans-serif;
  --theme-headings-font-family: 'Nunito Sans', sans-serif;
  --lichtblick-interactive: #9F552D;
}

body {
  font-family: 'Open Sans', sans-serif;
  background: var(--wp--preset--color--background);
  color: var(--wp--preset--color--text);
}

:is(h1, h2, h3, h4, h5, h6) {
  font-family: 'Nunito Sans', sans-serif;
}

/* Match the former 1100px container including its 44px desktop padding. */
#main > .ct-container {
  max-width: 1012px;
}

.entry-content > .wp-block-group:first-child {
  margin-block-start: clamp(2rem, 5vw, 3.5rem);
}

.entry-content > :last-child {
  margin-block-end: 0;
}

.entry-content .wp-block-button__link {
  font-size: 1rem;
}

/* Keep the warm brand palette; use its darker shade for readable controls. */
.entry-content .wp-block-button .wp-block-button__link {
  background: var(--lichtblick-interactive);
  color: #fff;
}

.entry-content .wp-block-button:is(.is-style-outline, .is-style-lichtblick-secondary) .wp-block-button__link {
  background: transparent;
  color: var(--lichtblick-interactive);
  border-color: var(--lichtblick-interactive);
}

.entry-content .wp-block-button .wp-block-button__link:hover {
  background: #874324;
  color: #fff;
}

.entry-content a:hover {
  color: var(--lichtblick-interactive);
}

/* Retain Gutenberg's former spacing instead of Blocksy's paragraph reset.
   Containers with an explicit editor block-gap keep their generated rules. */
.entry-content .wp-block-column.is-layout-flow:not([class*='wp-container-']) > * + * {
  margin-block-start: var(--wp--style--block-gap);
}

.entry-content .wp-block-group.is-layout-constrained:not([class*='wp-container-']) > * + * {
  margin-block-start: 1.75rem;
}

.entry-content :is(.wp-block-column.is-layout-flow, .wp-block-group.is-layout-constrained) > :is(h1, h2, h3, h4, h5, h6) {
  margin-block-end: 0;
}

.entry-content .wp-block-group.is-layout-constrained:not([class*='wp-container-']) > :last-child {
  margin-block-end: 0;
}

#header [data-row='middle'] {
  box-shadow: 0 6px 24px rgb(15 23 42 / 6%);
}

#header {
  position: sticky;
  top: 0;
  z-index: 50;
}

.admin-bar #header {
  top: 32px;
}

#header .site-logo-container img {
  width: 130px;
  height: auto;
}

#header .menu > li > a {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
}

#footer {
  margin-block-start: clamp(3rem, 5vw, 4rem);
  border-top: 1px solid rgb(0 0 0 / 8%);
  background: rgb(255 255 255 / 90%);
}

#footer .ct-footer-copyright {
  font-size: 0.95rem;
  color: var(--wp--preset--color--text-light);
}

#footer a {
  color: var(--lichtblick-interactive);
  text-underline-offset: 0.2em;
}

::selection {
  background: var(--wp--preset--color--background-yellow);
  color: var(--wp--preset--color--text-dark);
}

:focus-visible {
  outline: 2px solid var(--lichtblick-interactive);
  outline-offset: 3px;
}

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

@media (max-width: 480px) {
  .entry-content h1 {
    font-size: clamp(1.5rem, 7.4vw, 2rem);
    overflow-wrap: normal;
    hyphens: auto;
  }

  .entry-content h2 {
    font-size: clamp(1.4rem, 6.6vw, 1.7rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(.entry-content, #header, #footer) *,
  :is(.entry-content, #header, #footer) *::before,
  :is(.entry-content, #header, #footer) *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
