/*
 * WP Rentalo Lite - Gemeinsame Feldarchitektur für Step 1 bis Step 4
 *
 * Zweck:
 * 1) Definiert die gemeinsame Feld-, Label- und Fokusarchitektur für Step 1 bis Step 4.
 * 2) Step-spezifische Dateien steuern nur Layout, Reihenfolge und fachliche Sonderkomponenten.
 * 3) Feldzustände ändern keine Geometrie, sondern nur Farbe, Rahmen, Hintergrund und Schatten.
 * 4) Dynamische Werte kommen ausschließlich aus den --rentalo-* Designvariablen.
 * 5) Diese Datei arbeitet ohne neue Force-Overrides.
 * 6) Externe Theme-Konflikte werden gezielt und komponentenbezogen gelöst.
 */

.rentalo-ui-step1-shell,
.rentalo-ui-step2,
.rentalo-ui-step3-shell,
.rentalo-ui-step4-shell{
    --rentalo-step-field-height:40px;
    --rentalo-step-field-radius:10px;
    --rentalo-step-field-border:#d6e0ec;
    --rentalo-step-field-bg:#fff;
    --rentalo-step-field-text:var(--rentalo-field-text,#163f6b);
    --rentalo-step-label:#263953;
    --rentalo-step-focus:rgba(0,102,153,.20);
    --rentalo-step-card-shadow:0 20px 56px rgba(20,43,74,.075);
    --rentalo-step-card-radius:16px;
    --rentalo-step-card-border:#d6e0ec;
    --rentalo-step-primary:var(--rentalo-button-bg,#c20000);
    --rentalo-step-primary-hover:#9e0000;
    font-family:inherit;
}

.rentalo-ui-step1-module,
.rentalo-ui-step2-topbar{
    border:1px solid var(--rentalo-step-card-border);
    border-radius:var(--rentalo-step-card-radius);
    background:#fff;
    box-shadow:var(--rentalo-step-card-shadow);
    box-sizing:border-box;
    overflow:visible;
}

.rentalo-ui-step1-shell .rentalo-ui-field,
.rentalo-ui-step2 .rentalo-ui-field,
.rentalo-ui-step2-picker-module .rentalo-ui-field{
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
}

.rentalo-ui-step1-shell .rentalo-ui-field::before,
.rentalo-ui-step1-shell .rentalo-ui-field::after,
.rentalo-ui-step2 .rentalo-ui-field::before,
.rentalo-ui-step2 .rentalo-ui-field::after,
.rentalo-ui-step2-picker-module .rentalo-ui-field::before,
.rentalo-ui-step2-picker-module .rentalo-ui-field::after{
    content:none;
    display:none;
}

.rentalo-ui-step1-shell .rentalo-ui-label,
.rentalo-ui-step2 .rentalo-ui-label,
.rentalo-ui-step2-picker-module .rentalo-ui-label{
    position:static;
    display:block;
    margin:0 0 5px;
    padding:0;
    color:var(--rentalo-label-color,var(--rentalo-step-label,#263953));
    font-family:inherit;
    font-size:var(--rentalo-label-size,11px);
    line-height:1.15;
    font-weight:600;
    letter-spacing:0;
    text-transform:none;
    text-decoration:none;
    white-space:nowrap;
    pointer-events:auto;
    box-sizing:border-box;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}

.rentalo-ui-step1-shell .rentalo-ui-control,
.rentalo-ui-step2 .rentalo-ui-control,
.rentalo-ui-step2-picker-module .rentalo-ui-control,
.rentalo-ui-step1-shell select.rentalo-ui-control,
.rentalo-ui-step2 select.rentalo-ui-control,
.rentalo-ui-step2-picker-module select.rentalo-ui-control,
.rentalo-ui-step1-shell input.rentalo-ui-control,
.rentalo-ui-step2 input.rentalo-ui-control,
.rentalo-ui-step2-picker-module input.rentalo-ui-control,
.rentalo-ui-step1-shell button.rentalo-ui-control,
.rentalo-ui-step2 button.rentalo-ui-control,
.rentalo-ui-step2-picker-module button.rentalo-ui-control{
    width:100%;
    min-width:0;
    max-width:100%;
    height:var(--rentalo-step-field-height);
    min-height:var(--rentalo-step-field-height);
    max-height:var(--rentalo-step-field-height);
    margin:0;
    padding:0 12px;
    border:1px solid var(--rentalo-step-field-border);
    border-radius:var(--rentalo-step-field-radius);
    background:var(--rentalo-step-field-bg);
    color:var(--rentalo-step-field-text);
    font-family:inherit;
    font-size:15px;
    line-height:1.2;
    font-weight:400;
    letter-spacing:0;
    box-sizing:border-box;
    box-shadow:none;
    appearance:none;
}

.rentalo-ui-step1-shell button.rentalo-ui-control,
.rentalo-ui-step2 button.rentalo-ui-control,
.rentalo-ui-step2-picker-module button.rentalo-ui-control{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    text-align:left;
    cursor:pointer;
}

.rentalo-ui-step1-shell input.rentalo-ui-control,
.rentalo-ui-step2 input.rentalo-ui-control,
.rentalo-ui-step2-picker-module input.rentalo-ui-control,
.rentalo-ui-step1-shell select.rentalo-ui-control,
.rentalo-ui-step2 select.rentalo-ui-control,
.rentalo-ui-step2-picker-module select.rentalo-ui-control{
    display:block;
}

.rentalo-ui-step1-shell select.rentalo-ui-control,
.rentalo-ui-step2 select.rentalo-ui-control,
.rentalo-ui-step2-picker-module select.rentalo-ui-control{
    padding-right:34px;
}

.rentalo-ui-step1-shell .rentalo-ui-control:focus,
.rentalo-ui-step1-shell .rentalo-ui-control:focus-visible,
.rentalo-ui-step1-shell .rentalo-custom-select.is-open .rentalo-custom-select__button,
.rentalo-ui-step1-shell .rentalo-custom-select__button:focus,
.rentalo-ui-step1-shell .rentalo-custom-select__button:focus-visible,
.rentalo-ui-step2 .rentalo-ui-control:focus,
.rentalo-ui-step2 .rentalo-ui-control:focus-visible,
.rentalo-ui-step2 .rentalo-custom-select.is-open .rentalo-custom-select__button,
.rentalo-ui-step2 .rentalo-custom-select__button:focus,
.rentalo-ui-step2 .rentalo-custom-select__button:focus-visible,
.rentalo-ui-step2-picker-module .rentalo-ui-control:focus,
.rentalo-ui-step2-picker-module .rentalo-ui-control:focus-visible,
.rentalo-ui-step2-picker-module .rentalo-custom-select.is-open .rentalo-custom-select__button,
.rentalo-ui-step2-picker-module .rentalo-custom-select__button:focus,
.rentalo-ui-step2-picker-module .rentalo-custom-select__button:focus-visible{
    border-color:var(--rentalo-field-focus-border,var(--rentalo-blue,var(--rentalo-primary,#006699)));
    border-bottom-color:var(--rentalo-field-focus-border,var(--rentalo-blue,var(--rentalo-primary,#006699)));
    background-color:var(--rentalo-field-focus-bg,var(--rentalo-input-bg,#ffffff));
    box-shadow:none;
    outline:0;
}

/* Line fields use the configured active background and the compact line focus. */
.rentalo-frontend-wrap.rentalo-field-style-line .rentalo-ui-step1-shell .rentalo-ui-control:focus,
.rentalo-frontend-wrap.rentalo-field-style-line .rentalo-ui-step1-shell .rentalo-ui-control:focus-visible,
.rentalo-frontend-wrap.rentalo-field-style-line .rentalo-ui-step1-shell .rentalo-custom-select.is-open .rentalo-custom-select__button,
.rentalo-frontend-wrap.rentalo-field-style-line .rentalo-ui-step1-shell .rentalo-custom-select__button:focus,
.rentalo-frontend-wrap.rentalo-field-style-line .rentalo-ui-step1-shell .rentalo-custom-select__button:focus-visible,
.rentalo-frontend-wrap.rentalo-field-style-line .rentalo-ui-step2 .rentalo-ui-control:focus,
.rentalo-frontend-wrap.rentalo-field-style-line .rentalo-ui-step2 .rentalo-ui-control:focus-visible,
.rentalo-frontend-wrap.rentalo-field-style-line .rentalo-ui-step2 .rentalo-custom-select.is-open .rentalo-custom-select__button,
.rentalo-frontend-wrap.rentalo-field-style-line .rentalo-ui-step2 .rentalo-custom-select__button:focus,
.rentalo-frontend-wrap.rentalo-field-style-line .rentalo-ui-step2 .rentalo-custom-select__button:focus-visible,
.rentalo-frontend-wrap.rentalo-field-style-line .rentalo-ui-step2-picker-module .rentalo-ui-control:focus,
.rentalo-frontend-wrap.rentalo-field-style-line .rentalo-ui-step2-picker-module .rentalo-ui-control:focus-visible{
    background-color:var(--rentalo-field-focus-bg,var(--rentalo-input-bg,#ffffff));
    box-shadow:none;
}

.rentalo-ui-step1-shell .rentalo-ui-picker,
.rentalo-ui-step2 .rentalo-ui-step2-picker,
.rentalo-ui-step2-picker-module .rentalo-ui-step2-picker{
    position:relative;
    width:100%;
}

.rentalo-ui-step1-shell .rentalo-ui-picker-value,
.rentalo-ui-step2 .rentalo-ui-step2-picker-value,
.rentalo-ui-step2-picker-module .rentalo-ui-step2-picker-value{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.rentalo-ui-step1-shell .rentalo-hidden-select,
.rentalo-ui-step1-shell .rentalo-ui-hidden-input,
.rentalo-ui-step2 .rentalo-hidden-select,
.rentalo-ui-step2 .rentalo-ui-step2-hidden-input,
.rentalo-ui-step2-picker-module .rentalo-hidden-select,
.rentalo-ui-step2-picker-module .rentalo-ui-step2-hidden-input{
    display:none;
}

.rentalo-ui-step1-shell .rentalo-ui-btn,
.rentalo-ui-step2 .rentalo-ui-step2-btn{
    height:var(--rentalo-step-field-height);
    min-height:var(--rentalo-step-field-height);
    max-height:var(--rentalo-step-field-height);
    margin:0;
    padding:0 14px;
    border:0;
    border-radius:var(--rentalo-button-radius,var(--rentalo-step-field-radius));
    background:var(--rentalo-step-primary);
    color:var(--rentalo-button-text,#fff);
    font-family:inherit;
    font-size:var(--rentalo-button-font-size,16px);
    line-height:1;
    font-weight:var(--rentalo-button-weight,700);
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:clip;
    cursor:pointer;
    box-shadow:none;
    box-sizing:border-box;
}

.rentalo-ui-step1-shell .rentalo-ui-btn:hover,
.rentalo-ui-step1-shell .rentalo-ui-btn:focus,
.rentalo-ui-step2 .rentalo-ui-step2-btn:hover,
.rentalo-ui-step2 .rentalo-ui-step2-btn:focus{
    background:var(--rentalo-step-primary-hover);
    color:var(--rentalo-button-hover-text,#fff);
    outline:0;
}

.rentalo-ui-step2 .rentalo-ui-step2-btn--icon{
    width:48px;
    min-width:48px;
    max-width:48px;
    padding:0;
    font-size:0;
}

.rentalo-ui-step2 .rentalo-ui-step2-btn--icon .rentalo-ui-step2-btn-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
    line-height:1;
}

.rentalo-ui-step2 .rentalo-ui-step2-btn--icon .rentalo-ui-step2-btn-icon svg{
    width:20px;
    height:20px;
    display:block;
}

.rentalo-ui-step2 .rentalo-ui-step2-btn--icon .rentalo-ui-step2-btn-text{
    display:none;
}

.rentalo-ui-step1-shell .rentalo-ui-opening-hours-link,
.rentalo-ui-step2 .rentalo-ui-step2-opening-hours-link{
    height:auto;
    min-height:0;
    padding:0;
    border:0;
    background:transparent;
    color:var(--rentalo-primary,#006699);
    font-size:13px;
    font-weight:700;
    line-height:1.2;
    text-decoration:underline;
    box-shadow:none;
    white-space:nowrap;
}

.rentalo-ui-step1-shell .rentalo-ui-rental-duration,
.rentalo-ui-step2 .rentalo-ui-step2-rental-duration{
    color:#003f79;
    font-size:14px;
    font-weight:700;
    line-height:1.2;
    white-space:nowrap;
    text-align:right;
}

.rentalo-ui-step1-shell .rentalo-ui-notices,
.rentalo-ui-step2 .rentalo-ui-step2-notices{
    display:block;
    min-width:0;
}

.rentalo-ui-step1-shell .rentalo-ui-notices:empty,
.rentalo-ui-step2 .rentalo-ui-step2-notices:empty{
    display:none;
}

.rentalo-ui-step1-shell .rentalo-ui-notice,
.rentalo-ui-step2 .rentalo-ui-notice{
    margin-top:10px;
    padding:10px 12px;
    border:1px solid #9fc4ff;
    border-radius:10px;
    background:#eaf3ff;
    color:#003f79;
    font-size:13px;
    line-height:1.35;
    box-sizing:border-box;
}

.rentalo-ui-step1-shell .rentalo-ui-error,
.rentalo-ui-step2 .rentalo-ui-error{
    margin-top:10px;
    padding:10px 12px;
    border:1px solid #f0b4b4;
    border-radius:10px;
    background:#fff1f1;
    color:#b00020;
    font-size:13px;
    line-height:1.35;
    box-sizing:border-box;
}

.rentalo-ui-picker-panel--portal,
.rentalo-ui-step2-picker-panel--portal{
    z-index:var(--rentalo-layer-picker-portal);
    padding:10px;
    border:1px solid #d6e0ec;
    border-radius:12px;
    background:#fff;
    box-shadow:0 12px 24px rgba(20,43,74,.16);
    box-sizing:border-box;
    overflow:visible;
}

.rentalo-ui-picker-panel--portal[hidden],
.rentalo-ui-step2-picker-panel--portal[hidden]{
    display:none;
}

.rentalo-ui-picker-panel--portal.rentalo-ui-time-panel,
.rentalo-ui-step2-picker-panel--portal.rentalo-ui-time-panel{
    overflow:auto;
    max-height:260px;
}

.rentalo-ui-picker-panel--portal .rentalo-ui-calendar-head,
.rentalo-ui-step2-picker-panel--portal .rentalo-ui-calendar-head{
    display:grid;
    grid-template-columns:30px 1fr 30px;
    align-items:center;
    gap:6px;
    margin-bottom:10px;
}

.rentalo-ui-picker-panel--portal .rentalo-ui-calendar-title,
.rentalo-ui-step2-picker-panel--portal .rentalo-ui-calendar-title{
    font-size:15px;
    font-weight:700;
    line-height:1.2;
    text-align:center;
    color:#1b2b44;
}

.rentalo-ui-picker-panel--portal .rentalo-ui-calendar-nav,
.rentalo-ui-step2-picker-panel--portal .rentalo-ui-calendar-nav{
    width:30px;
    height:30px;
    padding:0;
    border:1px solid #d6e0ec;
    border-radius:8px;
    background:#fff;
    color:var(--rentalo-field-text,#163f6b);
    font-size:18px;
    font-weight:700;
    line-height:1;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
}

.rentalo-ui-picker-panel--portal .rentalo-ui-calendar-weekdays,
.rentalo-ui-picker-panel--portal .rentalo-ui-calendar-grid,
.rentalo-ui-step2-picker-panel--portal .rentalo-ui-calendar-weekdays,
.rentalo-ui-step2-picker-panel--portal .rentalo-ui-calendar-grid{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:6px;
}

.rentalo-ui-picker-panel--portal .rentalo-ui-calendar-weekday,
.rentalo-ui-step2-picker-panel--portal .rentalo-ui-calendar-weekday{
    font-size:12px;
    font-weight:700;
    text-align:center;
    color:#5b6470;
    padding:4px 0;
}

.rentalo-ui-picker-panel--portal .rentalo-ui-calendar-weekday.is-sunday,
.rentalo-ui-step2-picker-panel--portal .rentalo-ui-calendar-weekday.is-sunday{color:#9c343a;}

.rentalo-ui-picker-panel--portal .rentalo-ui-calendar-day,
.rentalo-ui-step2-picker-panel--portal .rentalo-ui-calendar-day{
    width:100%;
    height:24px;
    padding:0;
    border:1px solid transparent;
    border-radius:999px;
    background:transparent;
    color:#1b2b44;
    font-size:12px;
    font-weight:500;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
}

.rentalo-ui-picker-panel--portal .rentalo-ui-calendar-day:hover,
.rentalo-ui-picker-panel--portal .rentalo-ui-calendar-day:focus,
.rentalo-ui-step2-picker-panel--portal .rentalo-ui-calendar-day:hover,
.rentalo-ui-step2-picker-panel--portal .rentalo-ui-calendar-day:focus{
    border-color:#d6e0ec;
    background:#f3f7fb;
    outline:0;
}

.rentalo-ui-picker-panel--portal .rentalo-ui-calendar-day.is-selected,
.rentalo-ui-step2-picker-panel--portal .rentalo-ui-calendar-day.is-selected{
    border-color:var(--rentalo-primary,#006699);
    background:var(--rentalo-selected-bg,#eaeaea);
    color:var(--rentalo-field-text,#163f6b);
    font-weight:700;
}

.rentalo-ui-picker-panel--portal .rentalo-ui-calendar-day.is-disabled,
.rentalo-ui-step2-picker-panel--portal .rentalo-ui-calendar-day.is-disabled{
    opacity:.38;
    cursor:not-allowed;
    pointer-events:none;
}

.rentalo-ui-picker-panel--portal .rentalo-ui-calendar-footer,
.rentalo-ui-step2-picker-panel--portal .rentalo-ui-calendar-footer{
    display:flex;
    justify-content:flex-end;
    padding-top:10px;
    margin-top:8px;
    border-top:1px solid #edf2f8;
}

.rentalo-ui-picker-panel--portal .rentalo-ui-calendar-today,
.rentalo-ui-step2-picker-panel--portal .rentalo-ui-calendar-today{
    height:28px;
    padding:0 10px;
    border:1px solid #d8e2f0;
    border-radius:8px;
    background:#fff;
    color:#66758a;
    font-size:12px;
    font-weight:600;
    cursor:pointer;
}

.rentalo-ui-picker-panel--portal .rentalo-ui-time-list,
.rentalo-ui-step2-picker-panel--portal .rentalo-ui-time-list{
    display:grid;
    grid-template-columns:1fr;
    gap:6px;
    max-height:220px;
    overflow:auto;
}

.rentalo-ui-picker-panel--portal .rentalo-ui-time-option,
.rentalo-ui-step2-picker-panel--portal .rentalo-ui-time-option{
    min-height:34px;
    padding:0 8px;
    border:1px solid #d6e0ec;
    border-radius:8px;
    background:#fff;
    color:var(--rentalo-field-text,#163f6b);
    font-size:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
}

.rentalo-ui-picker-panel--portal .rentalo-ui-time-option:hover,
.rentalo-ui-picker-panel--portal .rentalo-ui-time-option:focus,
.rentalo-ui-step2-picker-panel--portal .rentalo-ui-time-option:hover,
.rentalo-ui-step2-picker-panel--portal .rentalo-ui-time-option:focus{
    border-color:var(--rentalo-primary,#006699);
    background:var(--rentalo-selected-bg,#eaeaea);
    outline:0;
}

.rentalo-ui-picker-panel--portal .rentalo-ui-time-option.is-selected,
.rentalo-ui-step2-picker-panel--portal .rentalo-ui-time-option.is-selected{
    border-color:var(--rentalo-primary,#006699);
    background:var(--rentalo-primary,#006699);
    color:#fff;
}

.rentalo-ui-modal--portal,
.rentalo-ui-step2-modal--portal{
    z-index:100001;
    box-sizing:border-box;
}

.rentalo-ui-modal--portal .rentalo-ui-modal-dialog,
.rentalo-ui-step2-modal--portal .rentalo-ui-step2-modal-dialog,
.rentalo-ui-modal .rentalo-ui-modal-dialog,
.rentalo-ui-step2-modal .rentalo-ui-step2-modal-dialog{
    position:relative;
    padding:18px 20px;
    border:1px solid #d6e0ec;
    border-radius:14px;
    background:#fff;
    color:#273b48;
    box-shadow:0 18px 42px rgba(20,43,74,.18);
    box-sizing:border-box;
}

.rentalo-ui-modal--portal .rentalo-ui-modal-content h3,
.rentalo-ui-step2-modal--portal .rentalo-ui-step2-modal-content h3,
.rentalo-ui-modal .rentalo-ui-modal-content h3,
.rentalo-ui-step2-modal .rentalo-ui-step2-modal-content h3{
    margin:0 0 8px;
    color:var(--rentalo-field-text,#163f6b);
    font-size:22px;
    line-height:1.2;
    font-weight:700;
}

.rentalo-ui-modal--portal .rentalo-ui-modal-content p,
.rentalo-ui-step2-modal--portal .rentalo-ui-step2-modal-content p,
.rentalo-ui-modal .rentalo-ui-modal-content p,
.rentalo-ui-step2-modal .rentalo-ui-step2-modal-content p{
    margin:0;
    color:#273b48;
    font-size:15px;
    line-height:1.45;
}

.rentalo-ui-modal--portal .rentalo-ui-modal-close,
.rentalo-ui-step2-modal--portal .rentalo-ui-step2-modal-close,
.rentalo-ui-modal .rentalo-ui-modal-close,
.rentalo-ui-step2-modal .rentalo-ui-step2-modal-close{
    position:absolute;
    top:8px;
    right:8px;
    width:28px;
    height:28px;
    border:1px solid #d6e0ec;
    border-radius:999px;
    background:#fff;
    color:var(--rentalo-field-text,#163f6b);
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
}

@media (max-width:767px){
    .rentalo-ui-step2 .rentalo-ui-step2-btn--icon{
        width:100%;
        max-width:none;
        padding:0 14px;
        font-size:16px;
    }
    .rentalo-ui-step2 .rentalo-ui-step2-btn--icon .rentalo-ui-step2-btn-text{display:inline;}
    .rentalo-ui-step2 .rentalo-ui-step2-btn--icon .rentalo-ui-step2-btn-icon{display:none;}
}

/* 2.14.23 - sichtbare Pfeile für Select- und Picker-Felder in Step1/Step2. */
.rentalo-ui-step1-shell select.rentalo-ui-control,
.rentalo-ui-step2 select.rentalo-ui-control,
.rentalo-ui-step2-picker-module select.rentalo-ui-control{
    background-image:linear-gradient(45deg, transparent 50%, #60758c 50%), linear-gradient(135deg, #60758c 50%, transparent 50%);
    background-position:calc(100% - 18px) 50%, calc(100% - 12px) 50%;
    background-size:6px 6px, 6px 6px;
    background-repeat:no-repeat;
}
.rentalo-ui-step1-shell .rentalo-ui-picker-toggle,
.rentalo-ui-step2 .rentalo-ui-step2-picker-toggle,
.rentalo-ui-step2-picker-module .rentalo-ui-step2-picker-toggle{
    position:relative;
    padding-right:34px;
}
.rentalo-ui-step1-shell .rentalo-ui-picker-toggle::after,
.rentalo-ui-step2 .rentalo-ui-step2-picker-toggle::after,
.rentalo-ui-step2-picker-module .rentalo-ui-step2-picker-toggle::after{
    content:"";
    position:absolute;
    top:50%;
    right:14px;
    width:8px;
    height:8px;
    border-right:2px solid #60758c;
    border-bottom:2px solid #60758c;
    transform:translateY(-60%) rotate(45deg);
    pointer-events:none;
}
.rentalo-ui-step2 .rentalo-ui-step2-btn--icon .rentalo-spinner + span{
    display:none;
}
.rentalo-ui-step2 .rentalo-ui-step2-btn--icon .rentalo-spinner{
    margin:0;
}

/* 2.14.35 - Design-Tab: gemeinsame Theme-Anpassung für Step1 und Step2. */
.rentalo-ui-step1-shell,
.rentalo-ui-step2,
.rentalo-ui-step3-shell,
.rentalo-ui-step4-shell{
    --rentalo-step-field-height:var(--rentalo-field-height,40px);
    --rentalo-step-field-radius:var(--rentalo-radius-sm,10px);
    --rentalo-step-field-border:var(--rentalo-border,#d6e0ec);
    --rentalo-step-field-bg:var(--rentalo-input-bg,#fff);
    --rentalo-step-field-text:var(--rentalo-field-text,var(--rentalo-text,#163f6b));
    --rentalo-step-label:var(--rentalo-label-color,var(--rentalo-title,#263953));
    --rentalo-step-card-shadow:var(--rentalo-shadow,0 18px 42px rgba(20,43,74,.12));
    --rentalo-step-card-radius:var(--rentalo-radius,16px);
    --rentalo-step-card-border:var(--rentalo-border,#d6e0ec);
    --rentalo-step-primary:var(--rentalo-button-bg,#c20000);
    --rentalo-step-primary-hover:var(--rentalo-button-hover,#9e0000);
}


/* 2.14.56 - mobile Mietdauer in allen Steps rechtsbündig halten. */
@media (max-width:767px){
    .rentalo-ui-rental-duration,
    .rentalo-ui-step2-rental-duration,
    .rentalo-frontend .rentalo-ui-rental-duration,
    .rentalo-frontend .rentalo-ui-step2-rental-duration{
        justify-self:end;
        text-align:right;
        width:100%;
        margin-left:auto;
    }
}


/* 2.14.57 - Mobile Step1/Step2: Öffnungszeiten als heller Button und Mietdauer rechtsbündig. */
@media (max-width:767px){
    .rentalo-ui-step1-shell .rentalo-ui-opening-hours-link,
    .rentalo-ui-step2 .rentalo-ui-step2-opening-hours-link,
    .rentalo-ui-step2-picker-module .rentalo-ui-step2-opening-hours-link{
        width:100%;
        min-height:36px;
        height:36px;
        max-height:none;
        padding:0 12px;
        border:1px solid var(--rentalo-step-card-border,var(--rentalo-border,#d6e0ec));
        border-radius:10px;
        background:#f8fbff;
        color:var(--rentalo-step-primary,var(--rentalo-primary,#006699));
        text-align:center;
        text-decoration:none;
        display:flex;
        align-items:center;
        justify-content:center;
        box-shadow:none;
        white-space:nowrap;
    }
    .rentalo-ui-step1-shell .rentalo-ui-rental-duration,
    .rentalo-ui-step2 .rentalo-ui-step2-rental-duration,
    .rentalo-ui-step2-picker-module .rentalo-ui-step2-rental-duration{
        justify-self:end;
        text-align:right;
        width:100%;
    }
}


/* 2.14.58 - Plugin-Schatten konsequent deaktivieren. */
.rentalo-frontend-wrap,
.rentalo-frontend-wrap .rentalo-ui-step1-module,
.rentalo-frontend-wrap .rentalo-ui-step2-topbar,
.rentalo-frontend-wrap .rentalo-ui-step2-item-card,
.rentalo-frontend-wrap .rentalo-section-card,
.rentalo-frontend-wrap .rentalo-side-card,
.rentalo-frontend-wrap .rentalo-ui-step3-card,
.rentalo-frontend-wrap .rentalo-ui-step3-sidecard,
.rentalo-frontend-wrap .rentalo-ui-step4-card,
.rentalo-frontend-wrap .rentalo-ui-step4-sidecard,
.rentalo-frontend-wrap .rentalo-step4-section,
.rentalo-frontend-wrap .rentalo-step4-summary-card,
.rentalo-frontend-wrap .rentalo-group-card,
.rentalo-frontend-wrap .rentalo-submit-button,
.rentalo-frontend-wrap .rentalo-back-button,
.rentalo-frontend-wrap .rentalo-step3-mobile-total-bar,
.rentalo-frontend-wrap .rentalo-step4-mobile-bottom-bar{
    box-shadow:none;
}


/* 2.15.205 - Einheitliche Uhrzeit-Optionsfarben wie Custom-Selects. */
.rentalo-ui-picker-panel .rentalo-ui-time-option,
.rentalo-ui-picker-panel--portal .rentalo-ui-time-option,
.rentalo-ui-step2-picker-panel .rentalo-ui-time-option,
.rentalo-ui-step2-picker-panel--portal .rentalo-ui-time-option,
.rentalo-ui-step1-module .rentalo-ui-time-option,
.rentalo-ui-step2-picker-module .rentalo-ui-time-option,
.rentalo-time-option{
    border-color:var(--rentalo-option-border-color,#d6e0ec);
}

.rentalo-ui-picker-panel .rentalo-ui-time-option:hover,
.rentalo-ui-picker-panel .rentalo-ui-time-option:focus,
.rentalo-ui-picker-panel--portal .rentalo-ui-time-option:hover,
.rentalo-ui-picker-panel--portal .rentalo-ui-time-option:focus,
.rentalo-ui-step2-picker-panel .rentalo-ui-time-option:hover,
.rentalo-ui-step2-picker-panel .rentalo-ui-time-option:focus,
.rentalo-ui-step2-picker-panel--portal .rentalo-ui-time-option:hover,
.rentalo-ui-step2-picker-panel--portal .rentalo-ui-time-option:focus,
.rentalo-ui-step1-module .rentalo-ui-time-option:hover,
.rentalo-ui-step1-module .rentalo-ui-time-option:focus,
.rentalo-ui-step2-picker-module .rentalo-ui-time-option:hover,
.rentalo-ui-step2-picker-module .rentalo-ui-time-option:focus,
.rentalo-time-option:hover,
.rentalo-time-option:focus{
    border-color:var(--rentalo-option-hover-bg,#C20000);
    background:var(--rentalo-option-hover-bg,#C20000);
    color:var(--rentalo-option-hover-text-color,#273b48);
}

.rentalo-ui-picker-panel .rentalo-ui-time-option.is-selected,
.rentalo-ui-picker-panel .rentalo-ui-time-option.is-active,
.rentalo-ui-picker-panel .rentalo-ui-time-option[aria-selected="true"],
.rentalo-ui-picker-panel--portal .rentalo-ui-time-option.is-selected,
.rentalo-ui-picker-panel--portal .rentalo-ui-time-option.is-active,
.rentalo-ui-picker-panel--portal .rentalo-ui-time-option[aria-selected="true"],
.rentalo-ui-step2-picker-panel .rentalo-ui-time-option.is-selected,
.rentalo-ui-step2-picker-panel .rentalo-ui-time-option.is-active,
.rentalo-ui-step2-picker-panel .rentalo-ui-time-option[aria-selected="true"],
.rentalo-ui-step2-picker-panel--portal .rentalo-ui-time-option.is-selected,
.rentalo-ui-step2-picker-panel--portal .rentalo-ui-time-option.is-active,
.rentalo-ui-step2-picker-panel--portal .rentalo-ui-time-option[aria-selected="true"],
.rentalo-ui-step1-module .rentalo-ui-time-option.is-selected,
.rentalo-ui-step1-module .rentalo-ui-time-option.is-active,
.rentalo-ui-step1-module .rentalo-ui-time-option[aria-selected="true"],
.rentalo-ui-step2-picker-module .rentalo-ui-time-option.is-selected,
.rentalo-ui-step2-picker-module .rentalo-ui-time-option.is-active,
.rentalo-ui-step2-picker-module .rentalo-ui-time-option[aria-selected="true"],
.rentalo-time-option.is-selected,
.rentalo-time-option.is-active,
.rentalo-time-option[aria-selected="true"]{
    border-color:var(--rentalo-option-selected-bg,#C20000);
    background:var(--rentalo-option-selected-bg,#C20000);
    color:var(--rentalo-option-active-text-color,#273b48);
}

/* Gemeinsame Legacy-Feldklassen für Step 3 und Step 4.
 * Diese Klassen bleiben während der Markup-Migration kompatibel und nutzen dieselben Tokens. */
.rentalo-ui-step3-shell .rentalo-form-control,
.rentalo-ui-step3-shell .rentalo-form-input,
.rentalo-ui-step3-shell .rentalo-form-select,
.rentalo-ui-step3-shell .rentalo-form-textarea,
.rentalo-ui-step4-shell .rentalo-form-control,
.rentalo-ui-step4-shell .rentalo-form-input,
.rentalo-ui-step4-shell .rentalo-form-select,
.rentalo-ui-step4-shell .rentalo-form-textarea,
.rentalo-ui-step4-shell .rentalo-frontend-field input:not([type="checkbox"]):not([type="radio"]),
.rentalo-ui-step4-shell .rentalo-frontend-field select,
.rentalo-ui-step4-shell .rentalo-frontend-field textarea,
.rentalo-ui-step4-shell .rentalo-step4-driver-card input:not([type="checkbox"]):not([type="radio"]),
.rentalo-ui-step4-shell .rentalo-step4-driver-card select,
.rentalo-ui-step4-shell .rentalo-step4-driver-card textarea{
    width:100%;
    min-width:0;
    max-width:100%;
    min-height:var(--rentalo-field-height,40px);
    margin:0;
    padding:0 12px;
    border:1px solid var(--rentalo-border,#acacac);
    border-radius:var(--rentalo-input-radius,var(--rentalo-radius-sm,12px));
    background:var(--rentalo-input-bg,#fff);
    color:var(--rentalo-field-text,var(--rentalo-text,#1a2932));
    font:inherit;
    font-size:var(--rentalo-font-size,15px);
    line-height:1.2;
    box-sizing:border-box;
    box-shadow:none;
    transition:border-color .16s ease, border-bottom-color .16s ease, box-shadow .16s ease, background-color .16s ease, color .16s ease;
}

.rentalo-ui-step3-shell textarea.rentalo-form-control,
.rentalo-ui-step3-shell textarea.rentalo-form-textarea,
.rentalo-ui-step4-shell textarea.rentalo-form-control,
.rentalo-ui-step4-shell textarea.rentalo-form-textarea,
.rentalo-ui-step4-shell .rentalo-frontend-field textarea{
    min-height:96px;
    height:auto;
    padding-top:10px;
    padding-bottom:10px;
    resize:vertical;
}

.rentalo-ui-step3-shell .rentalo-form-control:focus,
.rentalo-ui-step3-shell .rentalo-form-control:focus-visible,
.rentalo-ui-step3-shell .rentalo-form-input:focus,
.rentalo-ui-step3-shell .rentalo-form-input:focus-visible,
.rentalo-ui-step3-shell .rentalo-form-select:focus,
.rentalo-ui-step3-shell .rentalo-form-select:focus-visible,
.rentalo-ui-step3-shell .rentalo-form-textarea:focus,
.rentalo-ui-step3-shell .rentalo-form-textarea:focus-visible,
.rentalo-ui-step4-shell .rentalo-frontend-field input:not([type="checkbox"]):not([type="radio"]):focus,
.rentalo-ui-step4-shell .rentalo-frontend-field input:not([type="checkbox"]):not([type="radio"]):focus-visible,
.rentalo-ui-step4-shell .rentalo-frontend-field select:focus,
.rentalo-ui-step4-shell .rentalo-frontend-field select:focus-visible,
.rentalo-ui-step4-shell .rentalo-frontend-field textarea:focus,
.rentalo-ui-step4-shell .rentalo-frontend-field textarea:focus-visible,
.rentalo-ui-step4-shell .rentalo-form-control:focus,
.rentalo-ui-step4-shell .rentalo-form-control:focus-visible,
.rentalo-ui-step4-shell .rentalo-form-input:focus,
.rentalo-ui-step4-shell .rentalo-form-input:focus-visible,
.rentalo-ui-step4-shell .rentalo-form-select:focus,
.rentalo-ui-step4-shell .rentalo-form-select:focus-visible,
.rentalo-ui-step4-shell .rentalo-form-textarea:focus,
.rentalo-ui-step4-shell .rentalo-form-textarea:focus-visible,
.rentalo-ui-step4-shell .rentalo-step4-driver-card input:not([type="checkbox"]):not([type="radio"]):focus,
.rentalo-ui-step4-shell .rentalo-step4-driver-card input:not([type="checkbox"]):not([type="radio"]):focus-visible,
.rentalo-ui-step4-shell .rentalo-step4-driver-card select:focus,
.rentalo-ui-step4-shell .rentalo-step4-driver-card select:focus-visible,
.rentalo-ui-step4-shell .rentalo-step4-driver-card textarea:focus,
.rentalo-ui-step4-shell .rentalo-step4-driver-card textarea:focus-visible,
.rentalo-ui-step4-shell .rentalo-custom-select.is-open .rentalo-custom-select__button,
.rentalo-ui-step4-shell .rentalo-custom-select__button:focus,
.rentalo-ui-step4-shell .rentalo-custom-select__button:focus-visible{
    outline:0;
    border-color:var(--rentalo-field-focus-border,var(--rentalo-primary,#006699));
    border-bottom-color:var(--rentalo-field-focus-border,var(--rentalo-primary,#006699));
    background-color:var(--rentalo-field-focus-bg,var(--rentalo-input-bg,#fff));
    box-shadow:none;
}

.rentalo-ui-step3-shell.rentalo-field-style-line .rentalo-form-control:focus,
.rentalo-ui-step3-shell.rentalo-field-style-line .rentalo-form-input:focus,
.rentalo-ui-step3-shell.rentalo-field-style-line .rentalo-form-select:focus,
.rentalo-ui-step3-shell.rentalo-field-style-line .rentalo-form-textarea:focus,
.rentalo-ui-step4-shell.rentalo-field-style-line .rentalo-frontend-field input:not([type="checkbox"]):not([type="radio"]):focus,
.rentalo-ui-step4-shell.rentalo-field-style-line .rentalo-frontend-field select:focus,
.rentalo-ui-step4-shell.rentalo-field-style-line .rentalo-frontend-field textarea:focus,
.rentalo-ui-step4-shell.rentalo-field-style-line .rentalo-form-control:focus,
.rentalo-ui-step4-shell.rentalo-field-style-line .rentalo-form-input:focus,
.rentalo-ui-step4-shell.rentalo-field-style-line .rentalo-form-select:focus,
.rentalo-ui-step4-shell.rentalo-field-style-line .rentalo-form-textarea:focus{
    background-color:var(--rentalo-field-focus-bg,transparent);
}



/* Gemeinsame, über das Admin-Design steuerbare Feldhöhe. */
.rentalo-frontend-wrap :is(
    .rentalo-ui-step3-shell .rentalo-form-control,
    .rentalo-ui-step3-shell .rentalo-form-input,
    .rentalo-ui-step3-shell .rentalo-form-select,
    .rentalo-ui-step4-shell .rentalo-form-control,
    .rentalo-ui-step4-shell .rentalo-form-input,
    .rentalo-ui-step4-shell .rentalo-form-select,
    .rentalo-date-display
){
    box-sizing:border-box;
    height:var(--rentalo-field-height,40px);
    min-height:var(--rentalo-field-height,40px);
    max-height:var(--rentalo-field-height,40px);
}


/* 2.15.638 - Opening-hours controls are interactive buttons/links. */
.rentalo-frontend-wrap .rentalo-ui-opening-hours-link,
.rentalo-frontend-wrap .rentalo-ui-step2-opening-hours-link{
    cursor:pointer;
}

/* 2.16.103 - Gemeinsame Hinweis-Komponente für alle Buchungsschritte. */
.rentalo-module-design-scope .rentalo-ui-notice{
    width:100%;
    padding:10px 12px;
    border:1px solid #9fc4ff;
    border-radius:10px;
    background:#eaf3ff;
    color:#003f79;
    font-size:var(--rentalo-small-font-size,13px);
    line-height:1.35;
    box-sizing:border-box;
}
.rentalo-module-design-scope .rentalo-ui-notice--info,
.rentalo-module-design-scope .rentalo-ui-notice-info{
    border-color:#9fc4ff;
    background:#eaf3ff;
    color:#003f79;
}
.rentalo-module-design-scope .rentalo-ui-notice--error,
.rentalo-module-design-scope .rentalo-ui-notice-error{
    border-color:#f0b4b4;
    background:#fff1f1;
    color:#b00020;
}
.rentalo-module-design-scope .rentalo-ui-notice--success,
.rentalo-module-design-scope .rentalo-ui-notice-success{
    border-color:#aad8bd;
    background:#eef9f2;
    color:#176b3a;
}
.rentalo-module-design-scope .rentalo-ui-notice p{margin:0;color:inherit;font:inherit}
.rentalo-module-design-scope .rentalo-ui-notice p+p{margin-top:6px}
