/* Technik aus den Pilotprojekten, gilt für jeden Kunden. Keine Gestaltung hier: Aussehen gehört in theme.json und kunde.css. */

/* Kopf */
.myls-header { position: sticky; top: 0; z-index: 50; }
.admin-bar .myls-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .myls-header { top: 0; } }
[id] { scroll-margin-top: 7rem; }

.myls-marke { margin: 0; font-size: 1.1rem; font-weight: 700; line-height: 1.2; }
.myls-marke a { color: inherit; text-decoration: none; }

/* Vollbreite-Bereiche ohne Lücken */
.myls-main > .wp-block-post-content > *:first-child { margin-top: 0; }
.myls-main .wp-block-post-content > .alignfull { margin-top: 0; margin-bottom: 0; }
.myls-footer-wrap { margin-top: 0; }

/* Lange deutsche Wörter am Handy */
@media (max-width: 782px) { h1, h2 { overflow-wrap: break-word; hyphens: auto; } }

/* Fokus sichtbar */
:where(a, button, summary, input, select, textarea):focus-visible { outline: 3px solid var(--wp--preset--color--primary); outline-offset: 2px; }
:where(.myls-footer, .has-contrast-background-color, .has-primary-background-color) :focus-visible { outline-color: currentColor; }
.myls-footer a:where(:not(.wp-element-button)):hover { color: var(--wp--preset--color--on-dark); text-decoration-thickness: .12em; }

/* Cover: Core setzt bei Inhaltsposition width:auto auf den Inhalt */
.wp-block-cover.has-custom-content-position .wp-block-cover__inner-container { width: 100% !important; margin-inline: auto !important; }

/* Burger bis 1079 px: Core schaltet erst unter 600 px um, das Menü bricht vorher zweizeilig */
@media (min-width: 600px) and (max-width: 1079px) {
	.myls-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.myls-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.myls-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { display: flex; }
	.myls-nav .is-menu-open .wp-block-navigation__submenu-container { position: static !important; opacity: 1 !important; visibility: visible !important; height: auto !important; width: 100% !important; }
	.myls-nav .is-menu-open .wp-block-navigation__submenu-icon { display: none; }
}

/* Handy-Menü als Liste, Desktop-Untermenü-Stile zurückgesetzt */
.myls-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 1rem 1.5rem 2rem; --navigation-layout-justification-setting: flex-start; --navigation-layout-justify: flex-start; }
.myls-nav .is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch !important; padding-top: 2.75rem; }
.myls-nav .is-menu-open .wp-block-navigation__container { align-items: stretch !important; gap: 0 !important; width: 100%; }
.myls-nav .is-menu-open .wp-block-navigation-item { align-items: flex-start !important; width: 100%; }
.myls-nav .is-menu-open .wp-block-navigation-item__content { display: block; width: 100%; padding: .8rem 0 !important; text-align: left; }
.myls-nav .is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none !important; min-width: 0 !important; width: 100%; padding: 0 0 .6rem 1rem !important; gap: 0 !important; }

/* Telefon am Handy immer antippbar, Mindestgrösse Touch-Ziel */
.myls-tel { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; text-decoration: none; white-space: nowrap; }

/* Ninja Forms: Felder lesbar und gross genug */
.nf-form-cont input:not([type=button]):not([type=submit]):not([type=checkbox]), .nf-form-cont textarea, .nf-form-cont select { min-height: 44px; }

/* Bewegung reduzieren */
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }
