/*

Theme Name: CNH
Theme URI: https://kmbmedia.de
Description: Ein individuelles WordPress Theme
Version: 1.0
Author: KMB Media Werbeagentur
Author URI: https://kmbmedia.de
Template: hello-elementor

Farben


*/

/* CORE */

.white a:link		{ color: #fff; text-decoration: none; }
.white a:visited	{ color: #fff; text-decoration: none; }
.white a:hover		{ color: #E7B66C; text-decoration: none; }
.white a:active	{ color: #E7B66C; }

a.mail-link span span { display: inline !important; }

.kmb_logo { padding: 10px 0px 5px 0px; }
img.kmb_logo { width: 175px; }

strong, b { font-weight: 700; }

.show-for-small { display: none; }
.hide-for-small { display: inline; }

.noselect {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}

::-moz-selection { color: white; background: #004b82; }
::selection { color: white; background: #004b82; }


/* INTERIOR */

.datenschutz ul { margin-bottom: 20px; }

.e-n-menu-item.kmb-current-menu-ancestor > .e-n-menu-title .e-n-menu-title-text {
  color: #004DB2 !important; border-bottom: 3px solid #004DB2;
}

.rmp-menu .current-menu-ancestor  > .rmp-menu-item-link,
.rmp-menu .current-page-ancestor  > .rmp-menu-item-link,
.rmp-menu .current-menu-parent    > .rmp-menu-item-link,
.rmp-menu .current-page-parent    > .rmp-menu-item-link,
.rmp-menu .current-menu-item      > .rmp-menu-item-link {
  color: #fff !important;
  background-color: #004DB2 !important;
  border-color: äfff !important;
}

#form_kontakt{
  --mf-primary:#1e3a5f;        /* Hauptfarbe (Hero)            */
  --mf-accent:#a58a54;         /* Akzent (Button, Fokus)       */
  --mf-accent-light:#b89c66;   /* Akzent Hover                 */
  --mf-accent-bg:#f5f1e8;      /* Akzent-Hintergrund           */
  --mf-bg:#ffffff;             /* Karten-Hintergrund           */
  --mf-bg-alt:#f7f7f5;         /* alternativer Hintergrund     */
  --mf-border:#dcdcd6;         /* Rahmen                       */
  --mf-border-light:#ebebe6;   /* Trennlinien                  */
  --mf-text:#1e2a38;           /* Fließtext                    */
  --mf-text-mid:#4a5568;       /* Labels                       */
  --mf-text-light:#8a94a3;     /* Nebentexte                   */
  --mf-error:#c0392b;          /* Fehler                       */
  --mf-on-primary:#ffffff;
  --mf-on-accent:#ffffff;
  --mf-pad:1.75rem;            /* Innenabstand der Karte       */
}

/* Karte */
#form_kontakt{
  background:var(--mf-bg);
  border:1px solid var(--mf-border);
  border-radius:4px;
  overflow:hidden;
  color:var(--mf-text);
  font-size:1em;
}
#form_kontakt .frm_fields_container{
  padding:var(--mf-pad);
}
#form_kontakt fieldset{border:0;margin:0;padding:0;min-width:0}

/* Hero-Kopf (optionales HTML-Feld mit <div class="mf-hero"> … </div>) */
#form_kontakt .mf-hero{
  background:var(--mf-primary);
  border-bottom:3px solid var(--mf-accent);
  padding:1.5rem var(--mf-pad);
  margin:calc(-1 * var(--mf-pad)) calc(-1 * var(--mf-pad)) 1.5rem;
}
#form_kontakt .frm_form_field:has(.mf-hero){margin:0;padding:0;width:100%}
#form_kontakt .mf-hero-num{
  font-size:1em;font-weight:600;letter-spacing:1px;text-transform:uppercase;
  color:var(--mf-accent-light);margin-bottom:3px;
}
#form_kontakt .mf-hero-title{
  font-size:1.6em;font-weight:700;color:var(--mf-on-primary);line-height:1.2;
}
#form_kontakt .mf-hero-sub{
  font-size:1em;color:var(--mf-on-primary);opacity:.75;margin-top:3px;
}

/* Feld-Abstände */
#form_kontakt .frm_form_field{margin-bottom:1rem}

/* Labels */
#form_kontakt .frm_primary_label{
  font-size:1em;font-weight:600;color:var(--mf-text-mid);
  margin-bottom:5px;padding:0;display:block;line-height:1.3;
}
#form_kontakt .frm_required{color:var(--mf-error);font-weight:600}

/* Eingabefelder */
#form_kontakt input[type="text"],
#form_kontakt input[type="email"],
#form_kontakt input[type="tel"],
#form_kontakt input[type="url"],
#form_kontakt input[type="number"],
#form_kontakt select,
#form_kontakt textarea{
  width:100%;
  padding:10px 13px;
  border-radius:4px;
  border:1.5px solid var(--mf-border);
  background:var(--mf-bg);
  color:var(--mf-text);
  font-size:1em;
  font-family:inherit;
  line-height:1.4;
  outline:none;
  box-shadow:none;
  transition:border .15s,box-shadow .15s;
}
#form_kontakt textarea{min-height:130px;resize:vertical}
#form_kontakt input::placeholder,
#form_kontakt textarea::placeholder{color:var(--mf-text-light)}

#form_kontakt input:focus,
#form_kontakt select:focus,
#form_kontakt textarea:focus{
  border-color:var(--mf-accent);
  box-shadow:0 0 0 3px var(--mf-accent-bg);
}

/* Fehlerzustand (Formidable setzt .frm_blank_field / aria-invalid) */
#form_kontakt .frm_blank_field input,
#form_kontakt .frm_blank_field select,
#form_kontakt .frm_blank_field textarea,
#form_kontakt input[aria-invalid="true"],
#form_kontakt textarea[aria-invalid="true"]{
  border-color:var(--mf-error);
}
#form_kontakt .frm_error{
  color:var(--mf-error);font-size:1em;margin-top:5px;
}
#form_kontakt .frm_error_style{
  background:var(--mf-accent-bg);
  border:1px solid var(--mf-error);
  border-radius:4px;
  color:var(--mf-text);
  font-size:1em;
}

/* Captcha-Feld (frm_none_container): Label "Captcha" ausblenden,
   das Widget selbst (z. B. hCaptcha) bleibt sichtbar.
   Nötig, weil der ID-gescopte .frm_primary_label-Stil oben Formidables
   eigene Ausblend-Regel überschreiben würde. */
#form_kontakt .frm_none_container .frm_primary_label{display:none}

/* Datenschutz-/HTML-Hinweis */
#form_kontakt .frm_html_container p{
  font-size:1em;color:var(--mf-text-light);line-height:1.6;margin:0;
}
#form_kontakt .frm_html_container a{
  color:var(--mf-accent);text-decoration:underline;
}

/* Absenden-Button */
#form_kontakt .frm_submit{
  text-align:right;margin-top:1.5rem;
}
#form_kontakt .frm_button_submit{
  background:var(--mf-accent);
  color:var(--mf-on-accent);
  border:none;
  border-radius:20px;
  padding:11px 28px;
  font-size:1em;
  font-weight:700;
  letter-spacing:.3px;
  font-family:inherit;
  cursor:pointer;
  transition:background .15s;
}
#form_kontakt .frm_button_submit:hover{background:var(--mf-accent-light)}
#form_kontakt .frm_button_submit:focus{
  box-shadow:0 0 0 3px var(--mf-accent-bg);
  outline:none;
}

/* Erfolgsmeldung nach Absenden */
.frm_message{
  background:var(--mf-bg,#fff);
  border:1px solid var(--mf-border,#dcdcd6);
  border-top:3px solid #2e7d4f;
  border-radius:4px;
  padding:1.5rem 1.75rem;
  color:#1e2a38;
  font-size:1em;
}

/* Mobil */
@media(max-width:600px){
  #form_kontakt .frm_fields_container{padding:1.25rem}
  #form_kontakt .mf-hero{
	margin:-1.25rem -1.25rem 1.25rem;padding:1.25rem;
  }
  /* Sicherheitsnetz: Spalten stapeln, falls das Theme Formidables
	 eigenes Responsive-CSS unterdrückt (frm6 = halbe Breite). */
  #form_kontakt .frm6{flex-basis:100%;max-width:100%;grid-column:1 / -1}
  #form_kontakt .frm_submit{text-align:stretch}
  #form_kontakt .frm_button_submit{width:100%}
}


/* MEDIA Queries */

/* Smaller than desktop 1200 */
@media only screen and (min-width: 960px) and (max-width: 1199px) { }

/* Tablet Portrait size to standard 960 */
@media only screen and (min-width: 720px) and (max-width: 959px) { }

/* 9,7 hochkant, 10,5 hochkant */
@media only screen and (min-width: 768px) and (max-width: 959px) { }

/* 9,7 quer, 10,5 quer, 12,9 hochkant */
@media only screen and (min-width: 960px) and (max-width: 1160px) { }

@media only screen and (max-width: 719px) { 

.hide-for-small { display: none; }
.show-for-small { display: block; }

}

/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
@media only screen and (min-width: 480px) and (max-width: 767px) {  }

/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
@media only screen and (max-width: 479px) { }