.jk-signup-wrap{/*max-width:1200px*/;margin:0 auto;font-family:inherit}.jk-location-box{margin:0 0 32px;padding:24px;background:#f7f7f7;border-radius:12px}.jk-location-box label{display:block;font-weight:700;margin-bottom:8px}.jk-location-box select,.jk-form-section input,.jk-form-section select{width:100%;padding:12px;border:1px solid #ccc;border-radius:8px}.jk-group{padding:28px;margin:0 0 34px;background:var(--jk-group-bg);color:var(--jk-group-color);border-radius:18px}.jk-group>h2{text-align:center;margin:0 0 14px}.jk-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.jk-plan{background:var(--jk-box-bg);color:var(--jk-box-color);border-radius:14px;padding:26px;box-shadow:0 8px 24px rgba(0,0,0,.12);display:flex;flex-direction:column;gap:14px}.jk-badge{background:rgba(255,255,255,.45);color:inherit;text-align:center;font-weight:700;padding:14px;border-radius:3px}.jk-headline{text-align:center;font-weight:900;font-size:28px;letter-spacing:.02em}.jk-plan h3{text-align:center;text-transform:uppercase;font-size:25px;line-height:1.05;margin:12px 0}.jk-subline{text-align:center;font-size:24px;font-weight:800}.jk-old-price{text-align:center;font-size:20px}.jk-old-price-value{text-decoration:line-through;color:rgba(255,255,255,.72)}.jk-old-price-label{text-decoration:none;color:inherit}.jk-price{text-align:center;font-size:30px;font-weight:900;color:var(--jk-box-accent)}.jk-total-price{text-align:center;font-size:24px;font-weight:800;color:var(--jk-box-accent);margin-top:10px}.jk-card-services{display:flex;flex-direction:column;gap:8px;margin:10px 0}.jk-card-service{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;cursor:pointer}.jk-card-service input,.jk-service-option input{appearance:none;width:18px;height:18px;border:1px solid rgba(255,255,255,.8);border-radius:5px;background:transparent;display:inline-grid;place-content:center}.jk-card-service input:checked::before,.jk-service-option input:checked::before{content:"";width:8px;height:8px;border-radius:2px;background:currentColor}.jk-service-price{text-align:right;white-space:nowrap}.jk-features{border-top:1px solid currentColor;padding-top:12px}.jk-features summary{font-weight:700;cursor:pointer}.jk-plan button,.jk-form-section button{background:var(--jk-box-accent,var(--jk-accent,#d40000));color:#fff;border:0;border-radius:8px;padding:14px 22px;font-size:18px;cursor:pointer}.jk-form-section{background:#fff;padding:28px;border-radius:18px;box-shadow:0 8px 24px rgba(0,0,0,.1);margin:36px 0}.jk-form-section label{
    line-height: 2;display:block;margin-bottom:14px;font-weight:600}.jk-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.jk-check{display:flex!important;gap:10px;align-items:center}.jk-check input{width:auto}.jk-service-option{display:flex!important;gap:10px;align-items:center;padding:8px 0}.jk-service-option input{border-color:#999;color:#111;width:18px!important}.jk-service-option input:disabled+span{opacity:.75}#jk-message{margin-top:16px;font-weight:700}@media(max-width:700px){.jk-two{grid-template-columns:1fr}.jk-card-service{grid-template-columns:24px 1fr}.jk-service-price{grid-column:2;text-align:left}}
.jk-features{margin-top:14px;border-top:1px solid rgba(255,255,255,.55);padding-top:14px}.jk-features summary{list-style:none;display:flex;align-items:center;gap:12px;font-size:20px;font-weight:800;cursor:pointer}.jk-features summary::-webkit-details-marker{display:none}.jk-features summary:before{content:"⌄";font-size:30px;line-height:1;color:var(--jk-box-accent);transform:rotate(-90deg);transition:transform .2s ease}.jk-features[open] summary:before{transform:rotate(0deg)}.jk-feature-groups{padding:18px 0 4px}.jk-feature-category{margin:0 0 24px}.jk-feature-category h4{margin:0 0 8px;color:var(--jk-box-accent);font-size:20px}.jk-feature-category ul{list-style:none;margin:0;padding:0}.jk-feature-category li{margin:0 0 8px;opacity:.82}
.jk-contact-media{border:0;padding:0;margin:14px 0}.jk-contact-media legend{font-weight:700;margin-bottom:8px}.jk-account-address{margin:12px 0}.jk-account-address summary{cursor:pointer;font-weight:700}
.jk-features summary::before{content:"\2BC8"!important;transform:none!important;font-size:22px!important;line-height:1!important;display:inline-flex;align-items:center;color:var(--jk-box-accent);}
.jk-features[open] summary::before{content:"\2BC6"!important;transform:none!important;}
.jk-total-price[hidden]{display:none!important;}

.jk-form-section{
  background:var(--jk-form-bg,#fff);
  color:var(--jk-form-text,#222);
}
.jk-form-section h1,.jk-form-section h2,.jk-form-section h3,#jk-addon-options h2{
  color:var(--jk-form-heading,#222);
}
.jk-form-section label{
    line-height: 2;
  color:var(--jk-form-label,#222);
}
.jk-form-section p,.jk-form-section .jk-form-total-price,.jk-form-section .jk-form-addon,.jk-form-section .jk-checkbox{
  color:var(--jk-form-text,#222);
}
.jk-form-section a{color:inherit;text-decoration:underline;}
.jk-card-services input[type="checkbox"],.jk-card-service-input,.jk-card-service-checkbox{
  border-color:var(--jk-checkbox-border,#fff)!important;
}


.jk-form-section a {
  color: var(--jk-form-link, #2db6e8) !important;
}
.jk-form-section button,
.jk-form-section input[type="submit"],
.jk-form-section button[type="submit"] {
  background-color: var(--jk-form-button-bg, #e60000) !important;
  color: var(--jk-form-button-text, #ffffff) !important;
}


.jk-signup-wrap .jk-form-section,
.jk-signup .jk-form-section,
.jk-form-section {
    background-color: var(--jk-form-bg, #ffffff) !important;
    color: var(--jk-form-text, #222222) !important;
}
.jk-signup-wrap .jk-form-section h1,
.jk-signup-wrap .jk-form-section h2,
.jk-signup-wrap .jk-form-section h3,
.jk-signup .jk-form-section h1,
.jk-signup .jk-form-section h2,
.jk-signup .jk-form-section h3,
.jk-form-section h1,
.jk-form-section h2,
.jk-form-section h3,
#jk-addon-options h2 {
    color: var(--jk-form-heading, #222222) !important;
}
.jk-signup-wrap .jk-form-section label,
.jk-signup .jk-form-section label,
.jk-form-section label {
    color: var(--jk-form-label, #222222) !important;
}
.jk-signup-wrap .jk-form-section p,
.jk-signup-wrap .jk-form-section div,
.jk-signup-wrap .jk-form-section span,
.jk-signup .jk-form-section p,
.jk-signup .jk-form-section div,
.jk-signup .jk-form-section span,
.jk-form-section p,
.jk-form-section div,
.jk-form-section span,
.jk-form-section .jk-form-total-price {
    color: var(--jk-form-text, #222222);
}
.jk-signup-wrap .jk-form-section a,
.jk-signup .jk-form-section a,
.jk-form-section a {
    color: var(--jk-form-link, #2db6e8) !important;
}
.jk-signup-wrap .jk-form-section button,
.jk-signup-wrap .jk-form-section input[type="submit"],
.jk-signup .jk-form-section button,
.jk-signup .jk-form-section input[type="submit"],
.jk-form-section button,
.jk-form-section input[type="submit"] {
    background-color: var(--jk-form-button-bg, #e60000) !important;
    color: var(--jk-form-button-text, #ffffff) !important;
}
.jk-location-box,
.jk-location-select {
    background-color: var(--jk-location-bg, #ffffff) !important;
    color: var(--jk-location-text, #222222) !important;
}
.jk-location-box h1,
.jk-location-box h2,
.jk-location-box h3,
.jk-location-select h1,
.jk-location-select h2,
.jk-location-select h3 {
    color: var(--jk-location-heading, #222222) !important;
}
.jk-location-box label,
.jk-location-select label {
    color: var(--jk-location-label, #222222) !important;
}
.jk-location-box p,
.jk-location-box div,
.jk-location-box span,
.jk-location-select p,
.jk-location-select div,
.jk-location-select span {
    color: var(--jk-location-text, #222222);
}
.jk-location-box select,
.jk-location-select select {
    color: var(--jk-location-text, #222222);
}
.jk-old-price,
.jk-old-price span,
.jk-old-price-value,
.jk-compare-price,
.jk-compare-price span,
.mf-old-price,
.mf-old-price span,
.mf-old-price-value,
.mf-compare-price,
.mf-compare-price span {
    color: var(--jk-compare-price-color, inherit) !important;
}

.jk-signup-form-section{
    box-shadow:none !important;
}

.jk-signup-form-section label{
    display:block;
    margin-bottom:8px;
    line-height:1.4;
}

.jk-signup-form-section input[type="text"],
.jk-signup-form-section input[type="email"],
.jk-signup-form-section input[type="tel"],
.jk-signup-form-section input[type="date"],
.jk-signup-form-section select,
.jk-signup-form-section textarea{
    margin-top:8px !important;
    margin-bottom:22px !important;
}

.jk-signup-form-section .jk-service-option{
    margin-bottom:18px;
}

.jk-signup-form-section .jk-service-option input[type="checkbox"]{
    margin-right:12px;
}

#jk-services h3{
    margin-top:28px;
    margin-bottom:22px;
}

#jk-form-total-price{
    margin-top:20px;
    margin-bottom:28px;
    line-height:1.5;
}

.jk-signup-form-section p,
.jk-signup-form-section .form-row,
.jk-signup-form-section .jk-form-row{
    margin-bottom:18px;
}

.jk-signup-form-section .jk-field-group{
    margin-bottom:24px;
}

.jk-legal-text-wrap{
    margin:24px 0 28px;
    padding:18px 20px;
    border:1px solid rgba(0,0,0,.15);
    border-radius:8px;
}
.jk-legal-text-content{
    margin-bottom:14px;
    line-height:1.6;
}
.jk-legal-acceptance{
    display:block;
    margin-top:12px;
}

.jk-legal-text-wrap{
    margin:18px 0 24px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
.jk-legal-text-content{
    line-height:1.7 !important;
    margin:0 !important;
}
.jk-legal-acceptance,
#jk-legal-text-accepted{
    display:none !important;
}

.jk-datepicker{cursor:pointer;background:#fff;}

.jk-datepicker-popover{
    position:absolute;
    background:#f7f7f7;
    border:1px solid #dcdcdc;
    border-radius:6px;
    box-shadow:none;
    z-index:999999;
    overflow:hidden;
    color:#555;
    font-family:inherit;
}

.jk-dp-header{
    height:62px;
    display:grid;
    grid-template-columns:52px 1fr 52px;
    align-items:center;
    border-bottom:1px solid #e5e5e5;
    background:#f7f7f7;
}

.jk-dp-nav,
.jk-dp-title{
    appearance:none;
    border:0;
    background:transparent;
    cursor:pointer;
    font:inherit;
}

.jk-dp-nav{
    font-size:44px;
    line-height:1;
    color:#9a9a9a;
    font-weight:300;
}

.jk-dp-title{
    font-size:18px;
    font-weight:400;
    color:#555;
    text-align:center;
}

.jk-dp-weekdays{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    padding:16px 18px 10px;
    font-size:13px;
    text-transform:uppercase;
}

.jk-dp-weekdays span{
    text-align:center;
    color:#000;
    font-weight:700;
    letter-spacing:.04em;
}

.jk-dp-days{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:0;
    padding:0 18px 18px;
}

.jk-dp-day{
    appearance:none;
    border:0;
    background:transparent;
    min-height:48px;
    padding:0;
    color:#444;
    cursor:pointer;
    border-radius:50%;
    font:inherit;
    font-size:18px;
    transition:background .15s ease,color .15s ease;
}

.jk-dp-day:hover:not(:disabled),
.jk-dp-day.is-selected{
    background:#e8e8e8;
    color:#111;
}

.jk-dp-day.is-outside,
.jk-dp-day:disabled{
    color:#d6d6d6;
    cursor:not-allowed;
}

.jk-dp-months,
.jk-dp-years{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px 10px;
    padding:28px 24px 30px;
}

.jk-dp-month,
.jk-dp-year{
    appearance:none;
    border:0;
    background:transparent;
    min-height:48px;
    border-radius:6px;
    cursor:pointer;
    color:#555;
    font:inherit;
    font-size:18px;
    transition:background .15s ease;
}

.jk-dp-month:hover,
.jk-dp-year:hover{
    background:#ececec;
}

.jk-datepicker{
    cursor:pointer;
    background:#fff;
}

.air-datepicker {
    --adp-width: 325px;
    --adp-z-index: 1000;
    --adp-background-color: #fff;
    --adp-background-color-hover: #f4f4f4;
    --adp-background-color-active: #efefef;
    --adp-border-color: #dbdbdb;
    --adp-border-radius: 8px;
    --adp-box-shadow: 0 4px 18px rgba(0,0,0,.08);
    --adp-font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
    --adp-color: #4a4a4a;
    --adp-color-secondary: #cfcfcf;
    --adp-color-current-date: #111;
    --adp-color-other-month: #d8d8d8;
    --adp-color-disabled: #d8d8d8;
    --adp-color-other-month-hover: #f4f4f4;
    --adp-color-disabled-hover: #f4f4f4;
    --adp-nav-height: 56px;
    --adp-nav-color-secondary: #9b9b9b;
    --adp-day-name-color: #000;
    --adp-day-name-color-hover: #000;
    --adp-day-cell-height: 44px;
    --adp-month-cell-height: 44px;
    --adp-year-cell-height: 44px;
    --adp-pointer-size: 0;
    --adp-cell-border-radius: 50%;
    --adp-cell-background-color-hover: #f3f3f3;
    --adp-cell-background-color-selected: #111;
    --adp-cell-background-color-selected-hover: #000;
    --adp-cell-background-color-in-range: #f6f6f6;
    --adp-cell-background-color-in-range-hover: #ececec;
    --adp-nav-arrow-color: #999;
}

.air-datepicker {
    font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif !important;
}

.air-datepicker-nav {
    padding: 0 10px;
    border-bottom: 1px solid #ececec;
}

.air-datepicker-nav--title {
    font-size: 18px;
    font-weight: 400;
    color: #5b5b5b;
}

.air-datepicker-nav--title i {
    color: #8a8a8a;
    font-style: normal;
}

.air-datepicker-nav--action {
    color: #9b9b9b;
}

.air-datepicker-nav--action svg {
    width: 18px;
    height: 18px;
}

.air-datepicker-body--day-name {
    color: #000 !important;
    font-weight: 700 !important;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.air-datepicker-cell {
    font-size: 16px;
    color: #4a4a4a;
}

.air-datepicker-cell.-current- {
    color: #111 !important;
    font-weight: 500;
}

.air-datepicker-cell.-selected- {
    color: #fff !important;
    font-weight: 600;
    background: #111 !important;
}

.air-datepicker-cell.-selected-.-focus- {
    background: #000 !important;
}

.air-datepicker-cell.-focus- {
    background: #f2f2f2 !important;
}

.air-datepicker-cell.-disabled- {
    color: #d6d6d6 !important;
}

.air-datepicker-cell.-other-month- {
    color: #d6d6d6 !important;
}

.air-datepicker-body--cells.-months-,
.air-datepicker-body--cells.-years- {
    gap: 10px;
    padding: 10px;
}

.air-datepicker-cell.-month-,
.air-datepicker-cell.-year- {
    border-radius: 8px;
    font-size: 18px;
}

.air-datepicker-cell.-month-.-selected-,
.air-datepicker-cell.-year-.-selected- {
    color: #fff !important;
    background: #111 !important;
}



/* v10.3 Breite + Datepicker-Fix */
#ui-datepicker-div {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* Der Shortcode soll volle verfügbare Breite nutzen, auch solange nur die Standortauswahl sichtbar ist. */
.jk-signup-wrap,
.jk-signup,
.jk-online-anmeldung,
.jk-signup-container,
.jk-location-box,
.jk-location-select,
.jk-plans,
.jk-form-section,
.jk-signup-form-section {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

/* Standortauswahl nicht auf eine kleine Breite zusammenschrumpfen lassen. */
.jk-location-box,
.jk-location-select {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.jk-location-box select,
.jk-location-select select,
#jk-location,
#jk-location-select {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

/* Falls Elementor/Theme das Shortcode-Element shrinkt */
.elementor-shortcode:has(.jk-location-box),
.elementor-shortcode:has(.jk-location-select),
.elementor-widget-shortcode:has(.jk-location-box),
.elementor-widget-shortcode:has(.jk-location-select) {
    width: 100% !important;
    max-width: 100% !important;
}
