/* Kontakt24 palette. The supplied layout and native forms remain in place. */
html,body {background:#f5f7f9;color:#20242b;color-scheme:light;}
#bloom-compact {--bloom-bg:#f6f8fa;--bloom-panel:#fff;--bloom-pink:#ee6500;--bloom-plum:#639f9b;--bloom-line:#d7e0e5;--bloom-text:#20242b;--bloom-muted:#627180;color-scheme:light;}
#bloom-compact .landing-content {background-color:#254f51;}
#bloom-compact nav {background:rgba(255,255,255,.96);border-bottom-color:#e0e6ea;}
#bloom-compact .brand {font-family:Arial,Helvetica,sans-serif;font-weight:800;font-size:29px;letter-spacing:-1.2px;color:#20242b;}
#bloom-compact .brand span {font-size:inherit;color:#ff8000;}
#bloom-compact .login {color:#283b47;}
#bloom-compact .login:hover {color:#a63d00;}
#bloom-compact .language {color:#20242b;background:#f6f8fa;border-color:#d7e0e5;}
#bloom-compact .site[data-design="9"] .registration {background:rgba(255,255,255,.97);border-color:rgba(255,255,255,.6);box-shadow:0 16px 50px #102e3440;color:#20242b;}
#bloom-compact .site .field input,#bloom-compact .site .field select {color:#20242b;background:#f6f8fa;border-color:#d7e0e5;}
#bloom-compact input::placeholder {color:#627180;}
#bloom-compact a,#bloom-compact .consent a,#bloom-compact .reveal {color:#a63d00;}
#bloom-compact .site .cta {background:#ee6500;color:#fff;box-shadow:0 6px 20px #ee650026;}
#bloom-compact .site .cta:hover {background:#d95800;filter:none;box-shadow:0 9px 26px #ee650040;}
#bloom-compact .site .cta:focus-visible {outline-color:#a63d00;}
#bloom-compact .site[data-design="9"] .hero {color:#fff;text-shadow:0 2px 12px #102f45b3;}
#bloom-compact .site[data-design="9"] .slogan-badges span {background:rgba(24,65,67,.82);border-color:#ffffff40;color:#fff;}
#bloom-compact .site[data-design="9"] .shape {background:#639f9b;color:#fff;text-shadow:none;}
#bloom-compact .site[data-design="9"] .shape.two {background:#ff8000;color:#fff;}
#bloom-compact .small-heart {background:#fff;color:#d95800;border-color:#ffffff80;}
#bloom-compact .spark {color:#ffb76b;}
#bloom-compact .site[data-design="9"] .ring {border-color:#b9ded9;}
#bloom-compact .site footer.k24-landing-footer {margin:0;padding:12px 16px 20px;gap:4px;color:#fff;background:transparent;line-height:1.5;}
#bloom-compact .k24-landing-footer .legal-links {gap:0 14px;}
#bloom-compact .k24-landing-footer .legal-links a {color:#fff!important;font-size:12px;}
#bloom-compact .k24-landing-footer .legal-links span {color:#ffffffa6;}
#bloom-compact .k24-company-footer {opacity:.65;font-size:12px;}
#bloom-compact .k24-company-footer p {margin:0 0 8px;}
#bloom-compact .k24-payment-logos {display:flex;justify-content:center;align-items:center;gap:6px;}
#bloom-compact .k24-payment-logos svg {display:block;height:22px;width:auto;flex:none;}
.modal-content {background:#fff;color:#20242b;border-color:#d7e0e5;box-shadow:0 15px 50px #102e3440;}
.modal-header {border-color:#d7e0e5;position:relative;padding-right:56px;}
.modal-header .close {position:absolute;right:12px;top:12px;z-index:2;min-width:36px;min-height:36px;margin:0;}
.modal-body {display:flow-root;}
.modal-body > .close {position:absolute;right:12px;top:12px;z-index:2;min-width:36px;min-height:36px;margin:0;}
.modal-body .modal-title {padding-right:30px;}
.modal a,.modal .close,.modal label.error {color:#a63d00;}
.modal .form-control {background:#f6f8fa;color:#20242b;border-color:#d7e0e5;}
.modal .btn {background:#ee6500;color:#fff;}
.modal h2,.modal h3,.modal font[color="white"] {color:#20242b;}
@media(min-width:761px) {
 #bloom-compact .landing-content::before {background-image:linear-gradient(90deg,rgba(15,44,47,.22),rgba(15,44,47,0) 62%),url('../images/kontakt24-background.png');}
}
@media(max-width:760px) {
 #bloom-compact .landing-content {background-image:linear-gradient(rgba(15,44,47,.5),rgba(15,44,47,.72)),url('../images/kontakt24-background.png');}
 #bloom-compact .brand {font-size:25px;}
 #bloom-compact .site footer.k24-landing-footer {padding:16px 18px 22px;}
 #bloom-compact .k24-company-footer {font-size:11px;max-width:360px;}
}

/* v2: translucent header, copyright on photograph, separate legal footer. */
#bloom-compact nav {background:rgba(13,32,35,.52);border-bottom-color:rgba(219,239,237,.16);}
#bloom-compact .brand {color:#fff;}
#bloom-compact nav .login {color:#f1f6f6;}
#bloom-compact nav .login:hover {color:#ffb974;}
#bloom-compact .language {color:#fff;background:rgba(53,81,82,.58);border-color:rgba(219,239,237,.28);color-scheme:dark;}
#bloom-compact .language option {background:#244648;color:#fff;}
#bloom-compact .landing-copyright {color:#f1f6f6;text-shadow:0 1px 4px #10292a;font-size:11px;}
#bloom-compact .site footer.k24-landing-footer {background:#193438;color:#dce7e7;padding:16px 16px 24px;gap:8px;}
#bloom-compact .k24-landing-footer .legal-links a {color:#dce7e7!important;}

/* v3: lower only the photograph exposure; keep all controls and text bright. */
@media(min-width:761px) {
 #bloom-compact .landing-content::before {filter:brightness(.58);}
}
@media(max-width:760px) {
 #bloom-compact .landing-content {
  background-image:linear-gradient(rgba(0,0,0,.22),rgba(0,0,0,.22)),linear-gradient(rgba(15,44,47,.5),rgba(15,44,47,.72)),url('../images/kontakt24-background.png');
 }
}

/* v4: stronger field boundaries in the Kontakt24 grey-teal palette. */
#bloom-compact .site .registration .field input,
#bloom-compact .site .registration .field select {
 border:1.5px solid #758d90!important;
}
#bloom-compact .site .registration .field input:hover,
#bloom-compact .site .registration .field select:hover {
 border-color:#526f73!important;
}
#bloom-compact .site .registration .field input:focus,
#bloom-compact .site .registration .field select:focus {
 border-color:#c44f00!important;
 outline:2px solid #c44f00;
 outline-offset:2px;
}

/* v5: reuse the inbound/outbound colours from the member chat. */
#bloom-compact .site[data-design="9"] .shape {background:#b1d6ed;color:#20242b;text-shadow:none;}
#bloom-compact .site[data-design="9"] .shape.two {background:#bbf796;color:#20242b;text-shadow:none;}

/* v9: original v5 colours with the accepted outer registration border. */
#bloom-compact .site[data-design="9"] .registration {
 border:2px solid #6d8f96;
 box-shadow:0 0 0 1px rgba(230,242,245,.24),0 16px 48px rgba(8,26,32,.3);
}

/* v11: rounded wordmark with a heart in the o. */
#bloom-compact .brand {line-height:1;}
#bloom-compact .brand .k24-wordmark {display:block;width:200px;height:auto;max-width:100%;}
@media(max-width:760px) {#bloom-compact .brand .k24-wordmark {width:165px;}}

/* v12: supplied finished photograph already includes its exposure and orientation. */
@media(min-width:761px) {
 #bloom-compact .landing-content::before {
  background-image:url('../images/kontakt24-background-v26.jpg');
  background-position:center top;
  filter:none;
  transform:none;
 }
}
@media(max-width:760px) {
 #bloom-compact .landing-content {
  background-image:url('../images/kontakt24-background-v26.jpg');
  background-position:32% top;
 }
}

/* v14: readable native language selector, one field focus ring, lower company block. */
#bloom-compact .site nav select.language {
  background:rgba(53,81,82,.58)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff;
  border-color:rgba(219,239,237,.45)!important;
  color-scheme:dark;
}
#bloom-compact .site nav select.language option {
  background:#244648;
  color:#fff;
  -webkit-text-fill-color:#fff;
}
#bloom-compact .site .registration .field input:focus,
#bloom-compact .site .registration .field select:focus {
  border-color:#c44f00!important;
  outline:none!important;
  box-shadow:0 0 0 1px #c44f00!important;
}
#bloom-compact .site footer.k24-landing-footer > .k24-company-footer {
  margin-block-start:96px;
}

/* v15: mobile-only crop puts the woman's face above the registration panel.
   Fixed photograph scale keeps the face position independent of form/page height. */
@media(max-width:760px) {
 #bloom-compact .landing-content {
  background-size:auto 700px;
  background-position:calc(50% + 220px) -110px;
 }
}

/* v16: compact hints and field-specific registration errors. */
#bloom-compact .registration .k24-field-hint {
 display:block;margin-top:5px;color:#596b78;font-size:12px;line-height:1.35;font-weight:400;
}
#bloom-compact .registration .k24-field-error {
 display:block;margin-top:5px;color:#a52b25;font-size:12px;line-height:1.4;font-weight:400;
}
#bloom-compact .site .registration .field [aria-invalid="true"],
#bloom-compact .site .registration .field [aria-invalid="true"]:focus {
 border-color:#b3261e!important;outline:none!important;box-shadow:0 0 0 1px #b3261e!important;
}
#bloom-compact .registration .consent [aria-invalid="true"] {outline:2px solid #b3261e;outline-offset:2px;}
#bloom-compact .registration .k24-register-feedback {
 display:block!important;margin-top:12px;padding:10px 12px;border:1px solid #e6b8b4;border-radius:8px;
 color:#8c2721;background:#fff3f1;font-size:13px;line-height:1.45;overflow-wrap:anywhere;
}
#bloom-compact .registration .k24-register-feedback[hidden] {display:none!important;}
#bloom-compact .registration .k24-register-feedback.is-success {color:#195c32;background:#eef8f0;border-color:#b3d8bf;}

/* v18: official Visa artwork, full color on a white clear-space panel. */
#bloom-compact .k24-company-footer {opacity:1;}
#bloom-compact .k24-company-footer > p {opacity:.65;}
#bloom-compact .k24-payment-logos .k24-visa-brandmark {
 display:block;flex:none;box-sizing:content-box;width:auto;height:16px;
 padding:6px 8px;background:#fff;border-radius:3px;opacity:1;filter:none;
}

/* Contact details match the signed-in site. */
#contact-us .modal-dialog{width:calc(100% - 32px);max-width:520px;margin:60px auto 28px;}
#contact-us .modal-content{border:1px solid #d7e0e5;border-top:3px solid #ff8000;border-radius:12px;overflow:hidden;}
#contact-us .modal-header{padding:20px 56px 20px 24px;background:#f1f4f5;}
#contact-us .modal-title{margin:0;font-size:24px;font-weight:600;line-height:1.3;}
#contact-us .modal-body{padding:24px;}
#contact-us .modal-body p{margin:0;font-size:15px;line-height:1.7;}
#contact-us .modal-body a{color:#a63d00;text-decoration:underline;overflow-wrap:anywhere;}
