/*
Theme Name: LPS
Description: Luther Public Services — Design-System v1 als Block-Theme. Tokens, Lutherpunkt-Device und Komponenten-Patterns nach dem CI-Design-System (luther-public-services/website/design-system).
Version: 1.2.1
Author: Corporate Inspiration
Text Domain: lps
Requires at least: 6.5
Requires PHP: 8.0
*/

/* ── Lutherpunkt: Kissen-Raute exakt nach raute.ai (konkave Ober-/Unterkanten), nie rotieren ── */
:root{
  --lp-form:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M0 0 Q50 10 100 0 L100 100 Q50 90 0 100 Z'/%3E%3C/svg%3E");
  --lps-shadow:0 2px 10px rgba(26,23,27,.07);
}
.lutherpunkt{
  -webkit-mask:var(--lp-form) center/100% 100% no-repeat;
  mask:var(--lp-form) center/100% 100% no-repeat;
  width:16px;height:16px;padding:0!important;flex:none;
  margin-left:0!important;margin-right:auto!important;
}
.lutherpunkt--10{width:10px;height:10px}
.lutherpunkt--24{width:24px;height:24px}
.lutherpunkt--40{width:40px;height:40px}

/* ── Meta-Zeile (Versal-Label) ── */
.lps-meta{letter-spacing:.14em;text-transform:uppercase;font-weight:700}

/* ══ HEADER: schlank, sticky, milchglas (BCG/McKinsey-Schlankheit) ══ */
.wp-site-blocks > header{
  position:sticky;top:0;z-index:60;
  background:rgba(255,255,255,.93);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--wp--preset--color--linie);
}
.wp-site-blocks > header .wp-block-group{background:transparent!important}
.lps-brand{display:flex;align-items:baseline;gap:10px;text-decoration:none;color:var(--wp--preset--color--ink)}
.lps-brand svg{height:22px;width:auto;display:block;transform:translateY(2px);--wm-dot:var(--wp--preset--color--luther-rot)}
.lps-brand small{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--wp--preset--color--grau-60);font-weight:700;white-space:nowrap}
header .wp-block-navigation{--wp--style--block-gap:4px}
header .wp-block-navigation a{font-size:13.5px;font-weight:400;padding:6px 7px;white-space:nowrap}
header .wp-block-navigation a:hover{color:var(--wp--preset--color--luther-rot)}
header .wp-block-navigation .current-menu-item > a{box-shadow:inset 0 -2px 0 var(--wp--preset--color--tuerkis)}
header .wp-block-buttons .wp-block-button__link{padding:10px 18px;font-size:13.5px}
html{scroll-padding-top:84px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

/* ══ HERO-COVER: Filmlook — Scrim von links, weiße Typo (McKinsey/Ramboll) ══ */
.lps-hero.wp-block-cover{min-height:clamp(520px,62vh,720px);align-items:flex-end;text-align:left}
/* Cover-Inhalte auf dem 1120er-Grid, linksbuendig (CD-Regel: nie zentriert) */
.lps-hero .wp-block-cover__inner-container,
.lps-cta-cover .wp-block-cover__inner-container{max-width:1120px;margin:0 auto;padding:64px 28px 72px}
.lps-hero .wp-block-cover__inner-container > *,
.lps-cta-cover .wp-block-cover__inner-container > *{margin-left:0!important}
.lps-cta-cover{text-align:left}
.lps-cta-cover .wp-block-cover__inner-container{padding-top:24px;padding-bottom:24px}
.lps-hero h1{color:#fff;max-width:15ch}
.lps-hero p{color:rgba(255,255,255,.82);max-width:52ch}
.lps-hero .lps-meta{color:var(--wp--preset--color--tuerkis)}
.lps-hero .is-style-outline .wp-block-button__link{border-color:#fff;color:#fff}
.lps-hero .is-style-outline .wp-block-button__link:hover{background:#fff;color:var(--wp--preset--color--ink)}
.wp-block-cover img{filter:saturate(.88)}

/* ══ KARTEN: 0px-Radius, 1px-Border, Sektor-Farbbalken oben (Freshfields + PD-G) ══ */
.lps-card{border:1px solid var(--wp--preset--color--linie);border-radius:0;border-top-width:3px;border-top-color:var(--wp--preset--color--ink);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.lps-card:hover{transform:translateY(-3px);box-shadow:var(--lps-shadow)}
/* Sektor-Codierung: Farbbalken folgt dem Lutherpunkt in der Karte — kein Markup-Update noetig */
.lps-card:has(.has-vr-basis-background-color){border-top-color:var(--wp--preset--color--vr-basis)}
.lps-card:has(.has-vr-basis-background-color):hover{border-color:var(--wp--preset--color--vr-basis);border-top-color:var(--wp--preset--color--vr-basis)}
.lps-card:has(.has-hc-basis-background-color){border-top-color:var(--wp--preset--color--hc-basis)}
.lps-card:has(.has-hc-basis-background-color):hover{border-color:var(--wp--preset--color--hc-basis)}
.lps-card:has(.has-in-basis-background-color){border-top-color:var(--wp--preset--color--in-basis)}
.lps-card:has(.has-in-basis-background-color):hover{border-color:var(--wp--preset--color--in-basis)}
.lps-card:has(.has-is-basis-background-color){border-top-color:var(--wp--preset--color--is-basis)}
.lps-card:has(.has-is-basis-background-color):hover{border-color:var(--wp--preset--color--is-basis)}
/* Karten-Links: Pfeil rueckt bei Hover nach */
.lps-card a strong{transition:letter-spacing .18s ease}
.lps-card:hover a strong{letter-spacing:.02em}

/* ══ SERVICES-BAND: gestrichelte Tuerkis-Kontur, eckig ══ */
.lps-services-band{border:1.5px dashed var(--wp--preset--color--tuerkis);border-radius:0}

/* ══ CTA-BAND: eckig, volle Autoritaet (Law-Firm-Restraint) ══ */
.lps-cta-band{border-radius:0}
.lps-cta-band .wp-block-button__link{background:var(--wp--preset--color--luther-rot)}

/* ══ FAQ (core/details) ══ */
.wp-block-details{border-bottom:1px solid var(--wp--preset--color--linie);padding:16px 4px}
.wp-block-details summary{font-weight:700;cursor:pointer;list-style:none;position:relative;padding-left:26px}
.wp-block-details summary::-webkit-details-marker{display:none}
.wp-block-details summary::before{content:'';position:absolute;left:2px;top:.42em;width:12px;height:12px;background:var(--wp--preset--color--tuerkis);
  -webkit-mask:var(--lp-form) center/100% 100% no-repeat;mask:var(--lp-form) center/100% 100% no-repeat;transition:transform .18s ease}
.wp-block-details[open] summary::before{background:var(--wp--preset--color--tuerkis-deep)}
.wp-block-details > :not(summary){margin-left:26px}

/* ══ TYPO-DETAILS ══ */
/* Deutsche Komposita: Ueberschriften duerfen trennen statt ueberlaufen */
h1.wp-block-heading,h2.wp-block-heading,h3.wp-block-heading{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
@media (min-width:1000px){h1.wp-block-heading,h2.wp-block-heading{hyphens:manual}}
.wp-block-button__link{border-radius:4px;font-weight:700}
.is-style-outline .wp-block-button__link{border-width:1.5px}
h1 .has-luther-rot-color,h2 .has-luther-rot-color{font-weight:700}
.lps-card p{hyphens:auto;-webkit-hyphens:auto}

/* ══ FOOTER ══ */
.lps-footer h6,.lps-footer .lps-meta{color:rgba(255,255,255,.55)}
.lps-footer a{color:#B9B6B8;text-decoration:none}
.lps-footer a:hover{color:#fff}

/* ══ WISSEN-LISTE ══ */
.wp-block-post-title a{text-decoration:none;color:var(--wp--preset--color--ink)}
.wp-block-post-title a:hover{color:var(--wp--preset--color--tuerkis-deep)}
.wp-block-post-terms{letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.wp-block-post-terms a{text-decoration:none}

/* ══ FOKUS ══ */
:focus-visible{outline:2px solid var(--wp--preset--color--tuerkis);outline-offset:2px}

/* ══ HEADER MOBIL: kompakt, kein Overflow ══ */
html{overflow-x:clip}
@media (max-width:620px){
  .lps-brand small{display:none}
  .lps-brand svg{height:20px}
  .wp-site-blocks > header .wp-block-group{padding-left:16px!important;padding-right:16px!important}
  header .wp-block-buttons .wp-block-button__link{padding:8px 12px;font-size:12.5px}
}

/* ══ SEITEN-GUTTER: Inhalte nie an der Viewport-Kante ══
   Gezielt auf direkte Kinder der Inhalts-Container — nie auf verschachtelte
   Karten/Gruppen (sonst doppeltes Padding). Full-bleed-Elemente ausgenommen. */
@media (max-width:1180px){
  .wp-block-post-content.is-layout-constrained > :not(.alignfull),
  .wp-block-post-content > .alignfull.is-layout-constrained > :not(.alignfull),
  main.wp-block-group.is-layout-constrained > :not(.alignfull){
    padding-left:22px;padding-right:22px;box-sizing:border-box;
  }
}
