/*
Theme Name: Kelz & Partner Refactor
Theme URI: https://leonlab.ai/
Author: LeonLab
Author URI: https://leonlab.ai/
Description: Block-Theme für Kelz & Partner mit klarer Kanzlei-Gestaltung, nativen Gutenberg-Templates und wiederverwendbaren Patterns.
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 7.4
Version: 1.0.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kelz-partner-refactor
Tags: block-patterns, full-site-editing, custom-logo, editor-style
*/

/* BEGIN LeonLab refactor capabilities */
:root { --leonlab-capability-style-loaded: 1; }
html { scroll-behavior: smooth; }
body, .wp-site-blocks { overflow-x: clip; }
.wp-site-blocks > *, .wp-block-column { min-width: 0; }
h1, h2, h3, p, a { overflow-wrap: break-word; hyphens: auto; }
img { max-width: 100%; height: auto; }
.wp-block-cover { overflow: hidden; }
.wp-block-cover__inner-container { min-width: 0; }
.leonlab-hero, .leonlab-parallax { color: #fff; }
.leonlab-hero .wp-block-cover__background,
.leonlab-parallax .wp-block-cover__background { background: #061a2e !important; opacity: .64 !important; }
.leonlab-hero .wp-block-cover__inner-container { width: min(100%, var(--wp--style--global--wide-size, 1200px)); padding-inline: clamp(1rem, 4vw, 3rem); }
.leonlab-hero :is(h1, h2, h3, p),
.leonlab-parallax :is(h1, h2, h3, p) { color: #fff !important; text-shadow: 0 2px 20px rgba(0, 0, 0, .42); }
.leonlab-hero h1 { max-width: 20ch; margin-inline: auto; font-size: clamp(2.15rem, 5.4vw, 4.75rem) !important; line-height: 1.04; text-wrap: balance; }
.leonlab-parallax { background-attachment: fixed; background-position: center; background-size: cover; }
.leonlab-lift { transition: transform .25s ease, box-shadow .25s ease; }
.leonlab-lift:hover { transform: translateY(-4px); box-shadow: 0 18px 48px rgba(18, 25, 31, .12); }
.leonlab-contact-shell { width: 100%; max-width: none; padding: clamp(1.5rem, 3vw, 2.75rem); border: 1px solid rgba(18, 25, 31, .14); background: var(--wp--preset--color--surface, #f4f3ee); box-shadow: 0 18px 48px rgba(18, 25, 31, .09); }
.leonlab-contact-form { display: grid; gap: .4rem; }
.leonlab-contact-form label { display: block; font-weight: 650; }
.leonlab-contact-form input:not([type="checkbox"]), .leonlab-contact-form textarea { box-sizing: border-box; width: 100%; margin-top: .45rem; padding: .85rem 1rem; border: 1px solid currentColor; border-radius: .25rem; background: #fff; color: #171a1d; font: inherit; }
.leonlab-contact-form textarea { min-height: 11rem; resize: vertical; }
.leonlab-contact-form button[type="submit"] { width: 100%; min-height: 3.25rem; font-weight: 700; }
.leonlab-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; }
.leonlab-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.leonlab-form-notice { padding: .9rem 1rem; border-inline-start: 4px solid currentColor; }
.leonlab-form-notice.is-success { color: #17633a; background: #e8f6ee; }
.leonlab-form-notice.is-error { color: #8a2525; background: #fbecec; }
.leonlab-map iframe { display: block; width: 100%; min-height: 440px; border: 0; }
.leonlab-map p { margin-block: 1rem 0; }
footer.wp-block-template-part :where(h1, h2, h3, h4, h5, h6, p, li, a, .wp-block-navigation-item__content, .wp-block-site-title) { color: inherit !important; }
footer.wp-block-template-part a { text-decoration-color: currentColor; text-underline-offset: .18em; }
.leonlab-footer-utility-links { width: min(calc(100% - 3rem), var(--wp--style--global--wide-size, 1200px)); margin: 0 auto; padding-block: 1rem 1.5rem; color: inherit; }
@media (min-width: 782px) {
  main .wp-block-post-content.is-layout-constrained { width: 100%; max-width: none; }
  main .wp-block-post-content.is-layout-constrained > .alignfull { width: 100vw; max-width: none; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
  main .wp-block-post-content.is-layout-constrained > .alignwide { width: min(calc(100vw - 4rem), var(--wp--style--global--wide-size, 1200px)); max-width: var(--wp--style--global--wide-size, 1200px); margin-left: calc((100% - min(calc(100vw - 4rem), var(--wp--style--global--wide-size, 1200px))) / 2); margin-right: calc((100% - min(calc(100vw - 4rem), var(--wp--style--global--wide-size, 1200px))) / 2); }
  main .wp-block-post-content > .alignfull > .alignwide,
  main .wp-block-post-content > .alignfull > .wp-block-columns,
  main .wp-block-post-content > .alignfull > .wp-block-group.alignwide { width: min(calc(100% - 3rem), var(--wp--style--global--wide-size, 1200px)); max-width: var(--wp--style--global--wide-size, 1200px); margin-inline: auto; }
  main .wp-block-columns:has(.leonlab-contact-shell) { align-items: stretch; }
  main .wp-block-column:has(.leonlab-contact-shell),
  main .wp-block-column:has(.leonlab-contact-shell) > .leonlab-contact-shell { min-height: 100%; }
}
@media (max-width: 781px) {
  .leonlab-parallax { background-attachment: scroll; }
  .leonlab-form-grid { grid-template-columns: 1fr; }
  .wp-block-group.alignfull, .wp-block-cover.alignfull { max-width: 100vw; }
  header .wp-block-navigation__responsive-container-open,
  header .wp-block-navigation__responsive-container-close { align-items: center; justify-content: center; width: 44px; height: 44px; color: var(--wp--preset--color--primary, #12395b) !important; }
  header .wp-block-navigation__responsive-container-open { display: flex !important; }
  header .wp-block-navigation__responsive-container.is-menu-open { position: fixed !important; inset: 0 !important; z-index: 100000; width: 100vw !important; height: 100dvh !important; min-height: 100vh !important; overflow-y: auto !important; padding: 1.25rem clamp(1.25rem, 7vw, 2.25rem) 2rem !important; background: var(--wp--preset--color--background, #fff); color: var(--wp--preset--color--primary, #12395b); }
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { position: absolute; inset-block-start: 1rem; inset-inline-end: 1rem; }
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch !important; width: 100%; padding-top: 4.75rem; }
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: stretch !important; width: 100%; gap: .85rem !important; }
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { align-items: flex-start !important; width: 100%; }
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { display: flex !important; justify-content: flex-start !important; width: 100%; padding: .3rem 0 !important; font-size: clamp(1.15rem, 5vw, 1.45rem); text-align: start; }
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon { display: none !important; }
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { position: static !important; display: flex !important; width: 100% !important; min-width: 0 !important; height: auto !important; margin: .35rem 0 0 !important; padding: .25rem 0 .25rem 1rem !important; border: 0 !important; background: transparent !important; opacity: 1 !important; visibility: visible !important; }
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1rem; }
  body:has(header .wp-block-navigation__responsive-container.is-menu-open) { overflow: hidden; }
  main .wp-block-cover__inner-container { width: 100%; padding-inline: clamp(1rem, 5vw, 1.5rem); }
  .leonlab-hero h1, main .wp-block-cover h1 { min-width: 0 !important; max-width: 100% !important; font-size: clamp(2rem, 10vw, 3.15rem) !important; line-height: 1.05; overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .leonlab-parallax { background-attachment: scroll; }
  .leonlab-lift { transition: none; }
  .leonlab-lift:hover { transform: none; }
}
/* END LeonLab refactor capabilities */
