/* ============================================================
   KLS GLOBAL CTA BUTTON STANDARD
   Visual reference: index-page hero CTA (.hero .btn)
   This file intentionally targets normal CTA/action controls only.
   UI/menu/accordion/close/icon-only controls are not included.
   Kontakt final CTA (.kcta .kt4-btn) is intentionally excluded.
   ============================================================ */

html body :is(
  .btn,
  .id-btn,
  .iw-btn,
  .pnh-btn,
  .exp2-btn,
  .phx-btn,
  .kar-btn,
  .kar-fbtn,
  .kth-btn,
  .kt2-bbtn,
  .kt2-fbtn,
  .w4-btn,
  .cta-btn,
  .sl-btn,
  .sl4-btn,
  .dg-b1,
  .dg-b2,
  .dg4-btn,
  .dg5-btn,
  .btn-top,
  .dg-btn-top,
  .pv-b1,
  .pv-b2,
  .pv-btn-top,
  .pv4-mbtn,
  .pv4-pbtn,
  .ss-b1,
  .ss-b2,
  .ss-b3,
  .kc-form-send,
  .kc-appt-book,
  .kc-map-route,
  .nav-cta,
  .mnav-cta,
  .kn-cta,
  .kn-mega-book,
  .kn-mob-cta > a
):not(.kt4-btn) {
  font-family:'Jost',system-ui,sans-serif !important;
  font-size:16px !important;
  font-weight:500 !important;
  line-height:1 !important;
  color:#FFFFFF !important;
  background:#4E7654 !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  letter-spacing:clamp(1.53px,.135vw,2.36px) !important;

  display:inline-flex !important;
  width:fit-content !important;
  min-width:0 !important;
  flex:0 0 auto !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;

  height:auto !important;
  min-height:52px !important;
  padding:14px 26px !important;
  border:0 !important;
  border-radius:12px !important;
  box-shadow:none !important;

  cursor:pointer;
  box-sizing:border-box;
  transition:transform .3s ease, background .3s ease, box-shadow .3s ease !important;
}

html body :is(
  .btn,
  .id-btn,
  .iw-btn,
  .pnh-btn,
  .exp2-btn,
  .phx-btn,
  .kar-btn,
  .kar-fbtn,
  .kth-btn,
  .kt2-bbtn,
  .kt2-fbtn,
  .w4-btn,
  .cta-btn,
  .sl-btn,
  .sl4-btn,
  .dg-b1,
  .dg-b2,
  .dg4-btn,
  .dg5-btn,
  .btn-top,
  .dg-btn-top,
  .pv-b1,
  .pv-b2,
  .pv-btn-top,
  .pv4-mbtn,
  .pv4-pbtn,
  .ss-b1,
  .ss-b2,
  .ss-b3,
  .kc-form-send,
  .kc-appt-book,
  .kc-map-route,
  .nav-cta,
  .mnav-cta,
  .kn-cta,
  .kn-mega-book,
  .kn-mob-cta > a
):not(.kt4-btn):hover,
html body :is(
  .btn,
  .id-btn,
  .iw-btn,
  .pnh-btn,
  .exp2-btn,
  .phx-btn,
  .kar-btn,
  .kar-fbtn,
  .kth-btn,
  .kt2-bbtn,
  .kt2-fbtn,
  .w4-btn,
  .cta-btn,
  .sl-btn,
  .sl4-btn,
  .dg-b1,
  .dg-b2,
  .dg4-btn,
  .dg5-btn,
  .btn-top,
  .dg-btn-top,
  .pv-b1,
  .pv-b2,
  .pv-btn-top,
  .pv4-mbtn,
  .pv4-pbtn,
  .ss-b1,
  .ss-b2,
  .ss-b3,
  .kc-form-send,
  .kc-appt-book,
  .kc-map-route,
  .nav-cta,
  .mnav-cta,
  .kn-cta,
  .kn-mega-book,
  .kn-mob-cta > a
):not(.kt4-btn):focus-visible {
  background:#41654A !important;
  color:#FFFFFF !important;
  transform:translateY(-2px);
  box-shadow:none !important;
}

/* Index hero arrow behavior reused wherever a CTA has a dedicated arrow span. */
html body :is(
  .btn,
  .id-btn,
  .iw-btn,
  .pnh-btn,
  .exp2-btn,
  .phx-btn,
  .kar-btn,
  .kar-fbtn,
  .kth-btn,
  .kt2-bbtn,
  .kt2-fbtn,
  .w4-btn,
  .cta-btn,
  .sl-btn,
  .sl4-btn,
  .dg-b1,
  .dg-b2,
  .dg4-btn,
  .dg5-btn,
  .pv-b1,
  .pv-b2,
  .pv4-mbtn,
  .pv4-pbtn,
  .ss-b1,
  .ss-b2,
  .ss-b3,
  .kc-form-send,
  .kc-appt-book,
  .kc-map-route,
  .nav-cta,
  .mnav-cta,
  .kn-cta,
  .kn-mega-book,
  .kn-mob-cta > a
):not(.kt4-btn) :is(.arrow,.arr,.kn-arr,.kn-arr2) {
  transition:transform .35s ease !important;
}

html body :is(
  .btn,
  .id-btn,
  .iw-btn,
  .pnh-btn,
  .exp2-btn,
  .phx-btn,
  .kar-btn,
  .kar-fbtn,
  .kth-btn,
  .kt2-bbtn,
  .kt2-fbtn,
  .w4-btn,
  .cta-btn,
  .sl-btn,
  .sl4-btn,
  .dg-b1,
  .dg-b2,
  .dg4-btn,
  .dg5-btn,
  .pv-b1,
  .pv-b2,
  .pv4-mbtn,
  .pv4-pbtn,
  .ss-b1,
  .ss-b2,
  .ss-b3,
  .kc-form-send,
  .kc-appt-book,
  .kc-map-route,
  .nav-cta,
  .mnav-cta,
  .kn-cta,
  .kn-mega-book,
  .kn-mob-cta > a
):not(.kt4-btn):hover :is(.arrow,.arr,.kn-arr,.kn-arr2) {
  transform:translateX(5px) !important;
}

/* Preserve existing responsive width decisions. This stylesheet does not
   force width:100% or width:auto, so page-specific mobile layout remains intact. */

/* HARD EXCLUSION: Kontakt page final box button stays exactly on its existing
   local styling/cascade and is never targeted above. */
html body .kcta .kt4-btn { /* intentionally no declarations */ }

/* KLS compact CTA sizing — 2026-09-05 */
@media (max-width:1024px) {
  html body :is(.btn,.id-btn,.iw-btn,.pnh-btn,.exp2-btn,.phx-btn,.kar-btn,.kar-fbtn,.kth-btn,.kt2-bbtn,.kt2-fbtn,.w4-btn,.cta-btn,.sl-btn,.sl4-btn,.dg-b1,.dg-b2,.dg4-btn,.dg5-btn,.btn-top,.dg-btn-top,.pv-b1,.pv-b2,.pv-btn-top,.pv4-mbtn,.pv4-pbtn,.ss-b1,.ss-b2,.ss-b3,.kc-form-send,.kc-appt-book,.kc-map-route,.nav-cta,.mnav-cta,.kn-cta,.kn-mega-book,.kn-mob-cta > a):not(.kt4-btn) {
    font-size:15.5px !important; padding:13px 22px !important; min-height:50px !important;
  }
}
@media (max-width:767px) {
  html body :is(.btn,.id-btn,.iw-btn,.pnh-btn,.exp2-btn,.phx-btn,.kar-btn,.kar-fbtn,.kth-btn,.kt2-bbtn,.kt2-fbtn,.w4-btn,.cta-btn,.sl-btn,.sl4-btn,.dg-b1,.dg-b2,.dg4-btn,.dg5-btn,.btn-top,.dg-btn-top,.pv-b1,.pv-b2,.pv-btn-top,.pv4-mbtn,.pv4-pbtn,.ss-b1,.ss-b2,.ss-b3,.kc-form-send,.kc-appt-book,.kc-map-route,.nav-cta,.mnav-cta,.kn-cta,.kn-mega-book,.kn-mob-cta > a):not(.kt4-btn) {
    font-size:15px !important; padding:12px 20px !important; min-height:48px !important;
  }
  html body :is(.mnav-cta,.kn-mob-cta > a) { width:100% !important; }
}
