/*
Theme Name: KK Child Theme
Theme URI:  https://www.kaiserundkuehne.net
Author:     Rehbrand®
Author URI: https://www.rehbrand.de
Template:   Divi
Version:    1.0
License:    GNU General Public License v2 or later
*/

/* -----------------------------------------------------------
   Text-Layouts
   ----------------------------------------------------------- */

/* Ungeordnete Liste: */
.entry-content li { margin-top: 0.5em; }

/* Liste mit Zahlen: */
#left-area ol, .entry-content ol, .et-l--header ol, .et-l--body ol, .et-l--footer ol, .comment-content ol, body.et-pb-preview #main-content .container ol {
  padding: 0 0 23px 1em;
  line-height: 1.5em;
  list-style-position: outside;
}

/* Textmarker: */
::-moz-selection {
  color: #ffffff; background: #3aaa35;
}

::selection {
  color: #ffffff; background: #3aaa35;
}

/* Silbentrennung: */
p, h1, h2, h3, h4 {
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
}

/* Bold: */
b, strong {
  font-family: 'KK Bold', sans-serif !important;
  font-weight: normal !important;
  font-style: normal;
  font-synthesis: none;
}

.et_pb_sticky.et_pb_section_0_tb_header {
  color: #000000 !important;
}

.et_pb_sticky.et_pb_section_0_tb_header a {
  color: #000000 !important;
}

/* -----------------------------------------------------------
   BSFG
   ----------------------------------------------------------- */

/* BSFG Tastatur-Bedienung */
.on-dark a:focus-visible,
.on-dark button:focus-visible,
.on-dark input:focus-visible,
.on-dark textarea:focus-visible,
.on-dark select:focus-visible {
outline-color: white;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
div:focus-visible,
select:focus-visible {
outline: 2px solid #171717;
outline-offset: 4px;
}

/* BSFG Nur Links im Fließtext unterstreichen */
.et_pb_text_inner p a {
text-decoration: underline;
}
/* BSFG Keine Unterstreichung in typischen nicht-Fließtext-Komponenten wie Buttons, Menüs usw. */
a.et_pb_button,
.et_pb_button_module_wrapper a,
.et_pb_module_header a,
.et_pb_promo a,
.et-menu a,
.nav a,
footer a,
header a {
text-decoration: none !important;
}

/* BSFG Social Media Links Screenreader */
.et_pb_social_media_follow a:focus-visible {
  outline: 2px solid #ffffff !important;
  outline-offset: 4px;
}

/* -----------------------------------------------------------
   Language Switcher Mobile
   ----------------------------------------------------------- */

/* Language Switcher – nur im Modul mit Klasse .lang-inline */
.lang-inline .wpml-ls ul.wpml-ls-list{
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 0px !important;            /* Abstand zwischen den Flaggen */
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* LIs nebeneinander, ohne Einrückung */
.lang-inline .wpml-ls li.wpml-ls-item{
  display: inline-flex !important;
  width: auto !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Fallback falls "gap" blockiert ist */
.lang-inline .wpml-ls li.wpml-ls-item{ margin-right: 10px !important; }
.lang-inline .wpml-ls li.wpml-ls-item:last-child{ margin-right: 0 !important; }

/* Klickfläche (optional anpassen) */
.lang-inline .wpml-ls a.wpml-ls-link{
  display: inline-flex !important;
  padding: 6px !important;         /* Touch-Target */
  border-radius: 999px !important;
  line-height: 1 !important;
}

/* Flaggen exakt 28px hoch */
.lang-inline img.wpml-ls-flag{
  height: 28px !important;
  width: auto !important;
  display: block !important;
  /* border-radius: 50%;  /* optional: runde Flaggen */
}
/* Abstand nur über LI, nicht über den Link */
.lang-inline .wpml-ls ul.wpml-ls-list{
  display:flex !important;
  gap:0 !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.lang-inline .wpml-ls li.wpml-ls-item{
  display:inline-flex !important;
  margin:0 !important;
  padding:0 !important;
}
.lang-inline .wpml-ls li.wpml-ls-item + li.wpml-ls-item{
  margin-left:10px !important;   /* exakt 10 px Abstand */
}

/* <<< hier: Padding am Link auf 0 setzen */
.lang-inline .wpml-ls a.wpml-ls-link{
  display:inline-flex !important;
  padding:0 !important;          /* vorher 6px */
  border-radius:999px !important;
  line-height:1 !important;
}

/* Flaggenhöhe fix */
.lang-inline img.wpml-ls-flag{
  height:28px !important;
  width:auto !important;
  display:block !important;
}
/* Texte ausblenden, nur Flaggen zeigen */
.lang-inline .wpml-ls .wpml-ls-native,
.lang-inline .wpml-ls .wpml-ls-display,
.lang-inline .wpml-ls .wpml-ls-bracket{
  display: none !important;
}

/* Harte Resets gegen globale UL/LI-Styles im Header */
.lang-inline ul,
.lang-inline ul.wpml-ls-list{
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

/* -----------------------------------------------------------
   Contact Form 7 – Datenschutz-Label
   ----------------------------------------------------------- */

/* Container */
#kontakt-cf7 .wpcf7-form p.consent{
  display: block;
  margin: 0 0 14px !important;
  padding-left: 0 !important;
}

/* CF7-Wrapper neutralisieren */
#kontakt-cf7 .wpcf7-form p.consent .wpcf7-form-control-wrap,
#kontakt-cf7 .wpcf7-form p.consent .wpcf7-list-item{
  margin: 0 !important;
  padding: 0 !important;
}

/* Zeile 1: CF7-Label enthält Checkbox + Kurztext "Datenschutz" */
#kontakt-cf7 .wpcf7-form p.consent .wpcf7-list-item > label{
  display: inline-flex;
  align-items: center;      /* Checkbox und Kurzlabel in einer Zeile */
  gap: 10px;                /* Abstand Checkbox ↔ Kurzlabel */
  margin: 0 0 2px !important; /* sehr kleiner Abstand nach unten */
  vertical-align: top;
}

/* Checkbox – sichtbar, tastaturfreundlich */
#kontakt-cf7 .wpcf7-form p.consent .wpcf7-list-item > label input[type="checkbox"]{
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #8a8a8e;
  border-radius: 4px;
  background: #fff;
  margin: 0 !important;
  position: relative;
  cursor: pointer;
}
#kontakt-cf7 .wpcf7-form p.consent .wpcf7-list-item > label input[type="checkbox"]:focus-visible{
  outline: 3px solid #005fcc;
  outline-offset: 2px;
}
#kontakt-cf7 .wpcf7-form p.consent .wpcf7-list-item > label input[type="checkbox"]:checked{
  background: #2f7a2f;
  border-color: #2f7a2f;
}
#kontakt-cf7 .wpcf7-form p.consent .wpcf7-list-item > label input[type="checkbox"]:checked::after{
  content: "";
  position: absolute;
  left: 5px; top: 2px;
  width: 6px; height: 12px;
  border: 3px solid #fff;
  border-top: 0; border-left: 0;
  transform: rotate(45deg);
}

/* Kurzlabel "Datenschutz" – rechts neben der Checkbox */
#kontakt-cf7 .wpcf7-form p.consent .wpcf7-list-item-label{
  display: inline-block; 
  margin: 0 0 0 15px !important;  /* 15px nach rechts (Feintuning) */
  font-weight: 600;
  line-height: 1.15;
  white-space: nowrap;            /* einzeilig neben der Checkbox */
}

/* Zeile 2: langer Text unterhalb, bündig zur Kurzlabel-Spalte */
#kontakt-cf7 .wpcf7-form p.consent .consent-note{
  display: block;
  margin: 2px 0 0 51px;          /* top sehr klein; links 36 + 15 */
  font-weight: 400;
  line-height: 1.35;
}
#kontakt-cf7 .wpcf7-form p.consent .consent-note a{
  text-decoration: underline;
}

/* Einheitlich normale Labelstärke (optional global) */
#kontakt-cf7 .wpcf7-form label{
  font-weight: 400 !important;
}

/* -----------------------------------------------------------
   Contact Form 7 – Zweispaltigkeit
   ----------------------------------------------------------- */
#kontakt-cf7 .wpcf7-form{
  display:flex;
  flex-wrap:wrap;
  column-gap:24px;          /* Abstand zwischen den Spalten */
  row-gap:16px;             /* vertikaler Abstand zwischen den Zeilen */
}

/* Basis: alle Absätze als volle Breite, sauberer Abstand */
#kontakt-cf7 .wpcf7-form > p{
  flex: 1 1 100%;
  margin: 0 !important;
}

/* 2-Spalten-Elemente */
#kontakt-cf7 .wpcf7-form > p.half{
  flex: 1 1 calc(50% - 12px); /* 2 Spalten minus halber Spaltenabstand */
}

/* Volle Breite (E-Mail, Nachricht, Consent usw.) */
#kontakt-cf7 .wpcf7-form > p.full{
  flex: 1 1 100%;
}

/* Labels näher an die Felder */
#kontakt-cf7 .wpcf7-form label{
  display:block;
  margin:0 0 8px;           /* ca. 8–10px Abstand zum Feld */
  line-height:1.2;
}

/* Inputs/Selects/Textareas auf volle Breite ziehen */
#kontakt-cf7 .wpcf7-form input[type="text"],
#kontakt-cf7 .wpcf7-form input[type="email"],
#kontakt-cf7 .wpcf7-form input[type="tel"],
#kontakt-cf7 .wpcf7-form textarea{
  width:100%;
  box-sizing:border-box;
}

/* Consent-Zeile: Checkbox + Text in einer Linie, links bündig */
#kontakt-cf7 .wpcf7-form p.consent{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
#kontakt-cf7 .wpcf7-form p.consent input[type="checkbox"]{
  margin: 4px 0 0 0;        /* minimal nach unten, optisch mittig */
}

/* Responsiv: unter 768px einspaltig */
@media (max-width: 768px){
  #kontakt-cf7 .wpcf7-form > p.half{ flex-basis:100%; }
}
/* -----------------------------------------------------------
   CF7 Abstände
   ----------------------------------------------------------- */

#kontakt-cf7 .wpcf7-form > p{
  margin: 0 0 -10px !important;
}

/* -----------------------------------------------------------
   CF7 Text-Area Größe
   ----------------------------------------------------------- */

#kontakt-cf7 .wpcf7-form textarea{
  height: 200px !important;
  min-height: 200px !important;   /* falls Theme eine Mindesthöhe setzt */
  max-height: 200px;               /* optional */
}


/* -----------------------------------------------------------
   Breakpoint für Mobile Menu
   ----------------------------------------------------------- */

/* Breakpoint für Mobile Menu */
.menu-top .et_pb_divimenus_flex_item.only-mobile{
  display: none !important;
}

/* <= 1260px: nur Burger-Item zeigen, Rest ausblenden */
@media (max-width:1260px){
  .menu-top .et_pb_divimenus_flex_item:not(.only-mobile){
    display: none !important;
  }
  .menu-top .et_pb_divimenus_flex_item.only-mobile{
    display: flex !important;      /* falls nötig auf inline-flex wechseln */
    align-items: center;            /* optional, für sauberes Zentrieren */
  }
}

/* optional: Umbruch vor dem Breakpoint verhindern */
.menu-top{ flex-wrap: nowrap !important; }

