/*
Theme Name:     Prof. Dr. Lioba Werth
Theme URI:      https://www.hmf-it.de/
Template:       kadence
Author:         HMF-IT Osnabrück
Author URI:     https://www.hmf-it.de/
Description:    Child Theme Description
Version:        1
License:        GNU General Public License v3.0 (or later)
License URI:    https://www.gnu.org/licenses/gpl-3.0.html
*/
.site-footer-section {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.site-middle-footer-wrap {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

.site-footer-row-container {
    min-height: 0 !important;
}


h1.wp-block-heading {
    font-size: clamp(1.75rem, 3vw, 2.75rem) !important;
}


/* === KDSI Dark Speaker Design System START === */
html {
    scroll-behavior: smooth;
}

body,
.site,
.site-container,
.site-inner {
    background-color: var(--global-palette8, #0B0B0D);
}

.content-area,
.site-main {
    background-color: transparent !important;
}

::selection {
    background-color: rgba(180, 154, 78, 0.15);
    color: var(--global-palette3, #EAEAEC);
}

/* Skip Link */
.skip-link {
    position: absolute;
    left: -9999px;
    z-index: 999;
    padding: 0.75rem 1.5rem;
    background: var(--global-palette1, #B49A4E);
    color: var(--global-palette8, #0B0B0D);
    font-size: 0.9375rem;
    text-decoration: none;
}
.skip-link:focus {
    left: 10px;
    top: 10px;
}

/* Page Title ausblenden */
.entry-hero-layout-default,
.page .entry-header {
    display: none !important;
}

.wp-block-group.has-text-color h1:not(.has-text-color),
.wp-block-group.has-text-color h2:not(.has-text-color),
.wp-block-group.has-text-color h3:not(.has-text-color),
.wp-block-group.has-text-color p:not(.has-text-color) {
    color: inherit;
}

h1, h2, h3,
.wp-block-heading,
.entry-content h1,
.entry-content h2,
.entry-content h3 {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

body, p, .entry-content p {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Max-Breite fuer Fliesstext */
body:not(.page-id-814) .entry-content p,
body:not(.page-id-814) .entry-content li {
  max-width: 70ch;
}

#masthead .header-sticky-shadow {
    box-shadow: none;
}

.item-is-fixed:not(.item-at-start):not(.item-hidden-above) #masthead,
.item-is-fixed:not(.item-at-start) .site-header-row-container-inner {
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}



/* Desktop-Navigation verstecken */
.header-navigation {
    display: none !important;
}

/* Hamburger-Icon */
.mobile-toggle-open-container .menu-toggle-open .kadence-svg-iconset svg {
    transform: scaleX(1.3);
    transition: color 300ms ease;
}

#mobile-drawer .drawer-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
}

#mobile-drawer .drawer-header {
    position: absolute;
    top: 0;
    right: 0;
    left: auto;
    width: auto;
    z-index: 100;
    padding: 24px 30px;
    background: transparent;
}

#mobile-drawer .drawer-header .drawer-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    cursor: pointer;
}

#mobile-drawer ul,
#mobile-drawer .menu {
    text-align: center;
    list-style: none;
    padding: 0;
    margin: 0;
}

#mobile-drawer li {
    margin: 0;
    padding: 0;
}

/* Drawer Menue-Links */
#mobile-drawer .mobile-navigation .menu > li > a {
font-family: 'Inter', sans-serif;
    font-size: clamp(1.25rem, 2.5vw, 2rem);
    font-weight: 300;
    letter-spacing: 0.01em;
    text-transform: none;
   padding: 0.5rem 0;
    display: block;
    text-decoration: none;
    text-align: center;
    transition: color 300ms ease;
    border-bottom: none;
}



#mobile-drawer .mobile-navigation .menu > li:last-child > a {
    border-bottom: none;
}

/* Sub-Menu */
#mobile-drawer .mobile-navigation ul ul a {
    font-family: 'Inter', sans-serif;
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.kdsi-logos {
    display: flex;
    justify-content: center;
    overflow: hidden;
}

.kdsi-logos__track {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 2rem 3rem;
    max-width: 62.5rem;
}

.kdsi-logos__item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 7.5rem;
    height: 3.75rem;
}

.kdsi-logos__item span {
    font-family: 'Inter', sans-serif;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--global-palette5, #707078);
    text-align: center;
    transition: color 300ms ease;
}

.kdsi-logos__item:hover span {
    color: var(--global-palette4, #A8A8B0);
}

/* Links auf dunklem Hintergrund */
.entry-content a:not(.wp-block-button__link) {
    color: var(--global-palette1, #B49A4E);
    text-decoration: none;
    border-bottom: 1px solid rgba(234, 234, 236, 0.15);
    transition: border-color 300ms ease, color 300ms ease;
}

.entry-content a:not(.wp-block-button__link):hover {
    color: var(--global-palette2, #C6AC5E);
    border-bottom-color: var(--global-palette2, #C6AC5E);
}

/* Links auf hellem Hintergrund */
.has-theme-palette-9-background-color a:not(.wp-block-button__link) {
    color: #806E32;
    border-bottom-color: rgba(26, 26, 31, 0.18);
}

.has-theme-palette-9-background-color a:not(.wp-block-button__link):hover {
    color: #967F3C;
    border-bottom-color: #967F3C;
}

.wp-block-button__link {
    transition: all 500ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Ghost Button Hover */
.wp-block-button__link[style*="background-color:transparent"]:hover {
    background-color: var(--global-palette1, #B49A4E) !important;
    color: var(--global-palette8, #0B0B0D) !important;
}

.wp-block-separator.is-style-wide {
    max-width: 3.75rem;
    border: none;
    height: 1px;
}

.wp-block-column[style*="border-top-color"] {
    transition: transform 300ms ease;
}

.wp-block-column[style*="border-top-color"]:hover {
    transform: translateY(-4px);
}

@media screen and (max-width: 768px) {
    .kdsi-logos__track {
        gap: 1.5rem 2rem;
    }
    .kdsi-logos__item {
        width: 6.25rem;
        height: 3.125rem;
    }
    .wp-block-group.alignfull[style*="padding-top:140px"],
    .wp-block-group.alignfull[style*="padding-top:7.5rem"] {
        padding-top: 5rem !important;
        padding-bottom: 5rem !important;
    }
    .wp-block-group.alignfull[style*="padding-top:120px"],
    .wp-block-group.alignfull[style*="padding-top:7rem"] {
        padding-top: 3.5rem !important;
        padding-bottom: 3.5rem !important;
    }
    .wp-block-group.alignfull[style*="padding-top:160px"] {
        padding-top: 6rem !important;
        padding-bottom: 6rem !important;
    }
}

.site-footer a {
    transition: color 300ms ease;
}

.site-footer a:hover {
    color: var(--global-palette1, #B49A4E);
}

#kt-scroll-up,
#kt-scroll-up-reader {
    border-radius: 0;
    backdrop-filter: blur(10px);
}

#kt-scroll-up .kadence-svg-iconset svg,
#kt-scroll-up-reader .kadence-svg-iconset svg {
    width: 1em;
    height: 1em;
    transform: none;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
.wp-block-button__link:focus-visible {
    outline: 2px solid var(--global-palette1, #B49A4E);
    outline-offset: 3px;
}

.kdsi-image {
    width: 100%;
    height: auto;
    display: block;
}

img[src$=".svg"].kdsi-image {
    max-width: 100%;
    height: auto;
}

.wp-block-image.aligncenter.is-resized img {
    max-width: 180px;
    height: auto;
    opacity: 0.85;
    transition: opacity 300ms ease;
}

.wp-block-image.aligncenter.is-resized img:hover {
    opacity: 1;
}

.page .entry-content > .wp-block-group.alignfull:first-child {
    padding-top: 12rem !important;
}

.entry-content > .wp-block-group.alignfull + .wp-block-group.alignfull {
    margin-top: 0;
}

.wp-block-button__link[aria-disabled="true"],
.wp-block-button__link:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

@media print {
    .popup-toggle,
    #kt-scroll-up,
    .site-header,
    .site-footer {
        display: none !important;
    }
    body, .site, .site-container {
        background: white !important;
        color: #111 !important;
    }
    .wp-block-group.alignfull {
        padding: 1rem !important;
    }
}
/* === KDSI Dark Speaker Design System END === */

.has-theme-palette-9-background-color a:not(.wp-block-button__link) {
       border-bottom-color:  #F5F3EE!Important;
}

/* Mobile Drawer Menü – Schriftart auf Lato 300 erzwingen */
#mobile-drawer .mobile-navigation .menu > li > a,
#mobile-drawer .mobile-navigation .menu li a,
.mobile-navigation a,
.drawer-navigation a,
nav#mobile-navigation a {
    font-family: 'Lato', sans-serif !important;
    font-weight: 300 !important;
}



















.kdsi-testimonials{max-width:800px;margin:0 auto;text-align:center;color:#DCDCE0}
.kdsi-testimonial{padding:2.5rem 1rem}
html body .kdsi-testimonial+.kdsi-testimonial::before{content:'';display:block;width:3.75rem;height:1px;background:#8d847c!important;margin:0 auto 2.5rem}
.kdsi-testimonials blockquote,
.kdsi-testimonials .kdsi-testimonial blockquote,
.wp-block-group .kdsi-testimonials blockquote{
  font-size:1.1rem!important;
  font-style:normal!important;
  font-weight:300!important;
  line-height:1.7!important;
  margin:0 0 .75rem!important;
  color:#DCDCE0!important;
  border:none!important;
  border-left:none!important;
  padding:0!important;
  box-shadow:none!important;
  background:none!important;
  quotes:none!important
}
.kdsi-testimonials cite{display:block;font-style:normal!important;font-size:.85rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#707078;line-height:1.6;margin-top:.75rem}
.kdsi-testimonials hr,
.kdsi-testimonials .wp-block-separator,
.kdsi-testimonials [class*="separator"]{display:none!important}
.kdsi-hidden-testimonials{max-height:0;overflow:hidden;transition:max-height .6s ease}
.kdsi-hidden-testimonials.kdsi-open{max-height:8000px}
.kdsi-toggle-btn{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.5rem;padding:.7rem 2rem;background:transparent;border:1px solid rgba(255,255,255,.3);color:#707078;font-size:.9rem;letter-spacing:.05em;cursor:pointer;transition:all 300ms ease}
.kdsi-toggle-btn:hover{border-color:#A8A8B0;color:#EAEAEC}
.kdsi-toggle-btn svg{transition:transform 300ms ease}
.kdsi-toggle-btn.kdsi-open svg{transform:rotate(180deg)}






















/* NEWSLETTER*/


.nlw-form-wrap {
  position: relative;
}
 
/* --- Newsletter Auswahl Kacheln --- */
.nlw-choice-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: rgba(141,132,124,0.15);
  margin-bottom: 2.5rem;
}
@media (max-width: 600px) {
  .nlw-choice-grid { grid-template-columns: 1fr; }
}
.nlw-choice {
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
  background: #1e1e1e;
  cursor: pointer;
  position: relative;
  transition: background 0.25s;
  user-select: none;
}
.nlw-choice input[type=checkbox] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 0; height: 0;
}
.nlw-choice:hover {
  background: rgba(141,132,124,0.05);
}
.nlw-choice.nlw-selected {
  background: rgba(141,132,124,0.08);
}
.nlw-choice.nlw-selected::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: #8D847C;
}
.nlw-choice-tag {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: #8D847C;
  margin-bottom: 0.5rem;
}
.nlw-choice-title {
  font-family: 'Lato', sans-serif;
  font-weight: 300;
  font-size: 17px;
  color: #EAEAEC;
  margin-bottom: 0.4rem;
  line-height: 1.3;
}
.nlw-choice-desc {
  font-size: 13px;
  color: #707078;
  line-height: 1.55;
}
 
/* --- Formular Felder --- */
.nlw-field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}
@media (max-width: 600px) {
  .nlw-field-row { grid-template-columns: 1fr; }
}
.nlw-field {
  display: flex;
  flex-direction: column;
  margin-bottom: 1.5rem;
}
.nlw-field-row .nlw-field {
  margin-bottom: 0;
}
.nlw-field label {
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: #8D847C !important;
  margin-bottom: 0.5rem !important;
}
.nlw-req {
  color: #8D847C;
}
.nlw-field input[type=text],
.nlw-field input[type=email] {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(141,132,124,0.3) !important;
  border-radius: 0 !important;
  color: #EAEAEC !important;
  font-family: 'Lato', sans-serif !important;
  font-weight: 300 !important;
  font-size: 16px !important;
  padding: 0.65rem 0 !important;
  outline: none !important;
  transition: border-color 0.25s !important;
  box-shadow: none !important;
  width: 100%;
}
.nlw-field input:focus {
  border-bottom-color: #8D847C !important;
}
.nlw-field input::placeholder {
  color: #6B6B75 !important;
  font-weight: 300 !important;
}
.nlw-field input.nlw-invalid {
  border-bottom-color: #C53030 !important;
}
 
/* --- Consent --- */
.nlw-consent {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin: 1.75rem 0 0.5rem;
}
.nlw-consent input[type=checkbox] {
  appearance: none;
  -webkit-appearance: none;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px;
  border: 1px solid rgba(141,132,124,0.4) !important;
  background: transparent !important;
  border-radius: 0 !important;
  cursor: pointer;
  position: relative;
  margin-top: 3px;
  flex-shrink: 0;
  transition: border-color 0.2s, background 0.2s;
}
.nlw-consent input[type=checkbox]:checked {
  background: #8D847C !important;
  border-color: #8D847C !important;
}
.nlw-consent input[type=checkbox]:checked::after {
  content: '';
  position: absolute;
  top: 1px; left: 4px;
  width: 5px; height: 9px;
  border: 2px solid #1e1e1e;
  border-top: none; border-left: none;
  transform: rotate(45deg);
}
.nlw-consent label {
  font-size: 13px !important;
  color: #6B6B75 !important;
  line-height: 1.6 !important;
  font-family: 'Lato', sans-serif !important;
  font-weight: 300 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  cursor: pointer;
}
.nlw-consent label a {
  color: #8D847C;
  border-bottom: 1px solid rgba(141,132,124,0.35);
  text-decoration: none;
  transition: border-color 0.2s;
}
.nlw-consent label a:hover {
  border-bottom-color: #8D847C;
}
 
/* --- Fehler --- */
.nlw-error {
  display: none;
  font-size: 12px;
  color: #C53030;
  margin-top: 0.35rem;
  font-family: 'Inter', sans-serif;
}
#err-consent,
#err-newsletter {
  margin-top: 0.5rem;
  display: none;
}
 
/* --- Button --- */
.nlw-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  font-family: 'Inter', sans-serif !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: #F5F3EE !important;
  background: #8D847C !important;
  border: none !important;
  border-radius: 63px !important;
  padding: 1rem 2.25rem !important;
  cursor: pointer;
  margin-top: 2rem;
  transition: background 0.25s, box-shadow 0.25s, transform 0.2s !important;
  box-shadow: none !important;
}
.nlw-btn:hover {
  background: #9E9690 !important;
  box-shadow: 0 15px 25px -7px rgba(0,0,0,0.25) !important;
  transform: translateY(-1px);
}
.nlw-btn:active {
  transform: translateY(0);
}
.nlw-btn-icon {
  width: 14px;
  height: 14px;
  transition: transform 0.2s;
  flex-shrink: 0;
}
.nlw-btn:hover .nlw-btn-icon {
  transform: translateX(3px);
}
.nlw-btn-spinner {
  display: none;
  width: 14px;
  height: 14px;
  border: 2px solid rgba(245,243,238,0.3);
  border-top-color: #F5F3EE;
  border-radius: 50%;
  animation: nlw-spin 0.7s linear infinite;
  flex-shrink: 0;
}
@keyframes nlw-spin {
  to { transform: rotate(360deg); }
}
.nlw-btn.nlw-loading .nlw-btn-text { opacity: 0.6; }
.nlw-btn.nlw-loading .nlw-btn-icon { display: none; }
 
/* --- Hinweis --- */
.nlw-note {
  margin-top: 1rem !important;
  font-size: 12px !important;
  color: #6B6B75 !important;
  font-family: 'Lato', sans-serif !important;
}
.nlw-note span { color: #8D847C; }
 
/* --- Erfolgsmeldung --- */
.nlw-success {
  display: none;
  text-align: center;
  padding: 3rem 2rem;
  border: 1px solid rgba(141,132,124,0.2);
}
.nlw-success.nlw-visible {
  display: block;
}
.nlw-success-icon {
  width: 48px;
  height: 48px;
  border: 1px solid #8D847C;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
  color: #8D847C;
}
.nlw-success h3 {
  font-family: 'Lato', sans-serif;
  font-weight: 300;
  font-size: 22px;
  color: #EAEAEC;
  margin-bottom: 0.5rem;
}
.nlw-success p {
  font-size: 15px;
  color: #A8A8B0;
}
 
/* --- API Fehler --- */
.nlw-apierror {
  display: none;
  margin-top: 1rem;
  padding: 1rem 1.25rem;
  border: 1px solid rgba(197,48,48,0.3);
  background: rgba(197,48,48,0.05);
}
.nlw-apierror p {
  font-size: 14px !important;
  color: #C53030 !important;
  margin: 0 !important;
}
.nlw-apierror a {
  color: #8D847C;
  text-decoration: underline;
}
 



@media (max-width: 560px) {
    .single-content ul, .single-content ol{
      padding-left: 0em;
    }
}



/* Fokus-Indikator global – WCAG 2.4.7 / 2.4.11 */
:focus-visible {
  outline: 3px solid #c9a84c; /* Goldton – passt zur Farbwelt von Lioba Werth */
  outline-offset: 3px;
  border-radius: 2px;
}

/* Sicherstellen dass kein Theme-CSS den Fokus versteckt */
:focus:not(:focus-visible) {
  outline: none; /* Maus-Klick: kein Ring – nur für Tastatur sichtbar */
}

/* Skip-Link sichtbar machen wenn fokussiert */
.skip-link:focus-visible {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 99999;
  background: #1A5276;
  color: #fff;
  padding: 10px 20px;
  font-size: 16px;
  text-decoration: none;
  border-radius: 3px;
}


.kdsi-play-overlay:focus-visible {
  outline: 3px solid #c9a84c;
  outline-offset: 3px;
}

