/* =========================================================
   RMCC THEME TOKENS
   ========================================================= */

:root {
    /* Radius */
    --rmcc-radius: 16px;
    --rmcc-radius-sm: 12px;
    --rmcc-radius-lg: 20px;

    /* Typography */
    --rmcc-font-base: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    --rmcc-text: #1c1f23;
    --rmcc-text-muted: rgba(0, 0, 0, 0.62);
    --rmcc-text-soft: rgba(0, 0, 0, 0.58);

    /* Borders */
    --rmcc-border: rgba(0, 0, 0, 0.22);
    --rmcc-border-strong: rgba(0, 0, 0, 0.16);
    --rmcc-border-soft: rgba(0, 0, 0, 0.06);

    /* Surfaces */
    --rmcc-surface-main: #1b1d22;
    --rmcc-surface-main-2: #17191e;
    --rmcc-surface-main-3: #23262d;
    --rmcc-surface-main-soft: rgba(255, 255, 255, 0.04);
    --rmcc-surface: rgba(255, 255, 255, 0.96);
    --rmcc-surface-2: rgba(255, 255, 255, 0.92);
    --rmcc-surface-3: rgba(255, 255, 255, 0.85);
    --rmcc-surface-soft: rgba(0, 0, 0, 0.02);
    --rmcc-surface-soft-2: rgba(0, 0, 0, 0.03);
    --rmcc-surface-soft-3: rgba(0, 0, 0, 0.018);

    /* Page / gradients */
    --rmcc-bg-page-start: #f9fafb;
    --rmcc-bg-page-end: #ffffff;
    --rmcc-bg-card-grad-start: rgba(255, 255, 255, 0.98);
    --rmcc-bg-card-grad-end: rgba(249, 250, 251, 0.98);

    /* Shadows */
    --rmcc-shadow-soft: 0 6px 20px rgba(0, 0, 0, 0.06);
    --rmcc-shadow-medium: 0 14px 34px rgba(0, 0, 0, 0.12);
    --rmcc-shadow-heavy: 0 24px 60px rgba(0, 0, 0, 0.2);

    /* Header */
    --rmcc-header-bg: color-mix(in srgb, var(--bs-body-bg) 88%, transparent);
    --rmcc-header-bg-scrolled: color-mix(in srgb, var(--bs-body-bg) 94%, transparent);
    --rmcc-header-border: var(--rmcc-border);
    --rmcc-header-shadow: 0 14px 34px rgba(0, 0, 0, 0.14);
    --rmcc-link-hover: rgba(var(--bs-primary-rgb), 0.95);

    /* Footer */
    --rmcc-footer-height: 64px;
    --rmcc-footer-bg: color-mix(in srgb, var(--bs-body-bg) 92%, transparent);
    --rmcc-footer-bg-scrolled: color-mix(in srgb, var(--bs-body-bg) 96%, transparent);
    --rmcc-footer-border: var(--rmcc-border);
    --rmcc-footer-shadow: 0 -10px 26px rgba(0, 0, 0, 0.1);
    --rmcc-footer-shadow-scrolled: 0 -14px 34px rgba(0, 0, 0, 0.14);

    /* Cards */
    --rmcc-card-bg: var(--rmcc-surface);
    --rmcc-card-border: var(--rmcc-border);
    --rmcc-card-shadow: 0 10px 26px rgba(0, 0, 0, 0.06);
    --rmcc-card-shadow-hover: 0 16px 36px rgba(0, 0, 0, 0.1);

    /* Inputs */
    --rmcc-input-bg: rgba(255, 255, 255, 0.96);
    --rmcc-input-border: var(--rmcc-border-strong);
    --rmcc-input-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);

    /* Pills / accents */
    --rmcc-pill-bg: rgba(var(--bs-primary-rgb), 0.1);
    --rmcc-pill-color: rgba(var(--bs-primary-rgb), 0.95);

    /* Auth */
    --rmcc-auth-header-bg: linear-gradient(180deg, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.01));
    --rmcc-auth-section-bg: rgba(0, 0, 0, 0.018);
    --rmcc-auth-addon-bg: rgba(0, 0, 0, 0.03);
    --rmcc-auth-alert-bg: rgba(0, 0, 0, 0.025);

    /* Index */
    --rmcc-index-title: #1c1f23;
    --rmcc-index-subtitle: rgba(0, 0, 0, 0.58);
    --rmcc-index-text: rgba(0, 0, 0, 0.72);
    --rmcc-index-footer: rgba(0, 0, 0, 0.62);

    /* Icon buttons */
    --rmcc-icon-size: 2.5rem;
    --rmcc-icon-font: 1.35rem;

    /* Bootstrap bridge */
    --bs-body-color: var(--rmcc-text);

    /* Light UI helpers */
    --ui-light-focus-ring: rgba(var(--bs-primary-rgb), 0.25);
    --ui-light-focus-glow: rgba(var(--bs-primary-rgb), 0.18);
    --ui-light-border-hover: rgba(0, 0, 0, 0.22);
    --ui-light-surface-hover: rgba(0, 0, 0, 0.03);
    --range-thumb: var(--bs-primary);
}

@media (max-width: 575.98px) {
    :root {
        --rmcc-icon-size: 2rem;
        --rmcc-icon-font: 1rem;
    }
}

/* =========================================================
   BASE / TYPOGRAPHY
   ========================================================= */

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");

html {
    height: 100%;
}

body {
    min-height: 100%;;
    display: flex;
    flex-direction: column;
    padding-bottom: calc(var(--rmcc-footer-height) + env(safe-area-inset-bottom, 0));
    font-family: var(--rmcc-font-base);
    font-size: 0.97rem;
    line-height: 1.5;
    letter-spacing: -0.01em;
    -webkit-font-smoothing: antialiased;
    color: var(--rmcc-text);
}

h1,
h2,
h3,
h4,
h5 {
    font-weight: 700;
    letter-spacing: -0.02em;
}

h6 {
    font-weight: 600;
    letter-spacing: -0.01em;
}

.page-content-wrapper,
main {
    flex: 1 0 auto;
}

/* =========================================================
   FORM ALERTS / ACCOUNT / SETTINGS
   ========================================================= */

.rmcc-form-alert {
    border-radius: 16px;
    padding: 0.9rem 1rem;
    border: 1px solid transparent;
    text-align: left;
}

.rmcc-form-alert--error {
    background: rgba(220, 53, 69, 0.08);
    border-color: rgba(220, 53, 69, 0.18);
    color: #842029;
}

.rmcc-form-alert--success {
    background: rgba(25, 135, 84, 0.08);
    border-color: rgba(25, 135, 84, 0.18);
    color: #0f5132;
}

.rmcc-form-alert :last-child {
    margin-bottom: 0;
}

.rmcc-form-alert ul,
.rmcc-form-alert ol {
    margin: 0;
    padding-left: 1.1rem;
}

.rmcc-form-alert li {
    margin-bottom: 0.25rem;
}

.rmcc-form-alert .alert,
.rmcc-form-alert .alert-danger,
.rmcc-form-alert .alert-success,
.rmcc-form-alert .alert-info,
.rmcc-form-alert .alert-warning,
.rmcc-form-alert .bg-danger {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent !important;
    color: inherit !important;
    box-shadow: none;
}

.rmcc-form-alert ul,
.rmcc-form-alert ol {
    margin: 0;
    padding-left: 1.1rem;
}

.rmcc-form-alert li {
    margin-bottom: 0.25rem;
}

.rmcc-form-alert :last-child {
    margin-bottom: 0;
}

.rmcc-form-alert .alert,
.rmcc-form-alert .alert-danger,
.rmcc-form-alert .alert-success,
.rmcc-form-alert .alert-info,
.rmcc-form-alert .alert-warning,
.rmcc-form-alert .bg-danger {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent !important;
    color: inherit !important;
    box-shadow: none;
}

.rmcc-account-actions {
    max-width: 28rem;
    margin-inline: auto;
}

@media (min-width: 768px) {
    .rmcc-account-actions {
        max-width: none;
        margin-inline: 0;
    }
}

.rmcc-account-avatar {
    width: 120px;
    max-width: 52vw;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

@media (min-width: 768px) {
    .rmcc-account-avatar {
        width: 150px;
        max-width: 100%;
    }
}

@media (min-width: 992px) {
    .rmcc-account-avatar {
        width: 168px;
    }
}

.rmcc-settings-content {
    max-width: none;
    overflow-wrap: break-word;
}

.rmcc-settings-panel {
    background: var(--rmcc-card-bg);
    border: 1px solid var(--rmcc-card-border);
    border-radius: 18px;
    padding: 1.25rem;
}

@media (min-width: 768px) {
    .rmcc-settings-panel {
        padding: 1.5rem;
    }
}

.rmcc-settings-panel .form-label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
}

.rmcc-settings-panel .form-control,
.rmcc-settings-panel .form-control-plaintext,
.rmcc-settings-panel .input-group {
    max-width: 100%;
    width: 100%;
}

.rmcc-settings-panel .form-control-plaintext {
    padding-left: 0;
    padding-right: 0;
}

.rmcc-settings-panel .rmcc-index-btn {
    min-width: 180px;
}

@media (max-width: 575.98px) {
    .rmcc-settings-panel .rmcc-index-btn {
        width: 100%;
    }
}

.rmcc-password-meter-wrap {
    margin-top: 0.5rem;
}

.rmcc-password-meter-wrap .card,
.rmcc-password-meter-wrap .well,
.rmcc-password-meter-wrap .border,
.rmcc-password-meter-wrap .alert {
    margin-bottom: 0;
}

/* Passwortzeilen */
.rmcc-password-row {
    display: flex;
    align-items: stretch;
    width: 100%;
    gap: 0;
}

.rmcc-password-row .form-control {
    flex: 1 1 auto;
    min-width: 0;
    width: 1%;
    border-radius: 0;
}

.rmcc-password-addon {
    appearance: none;
    -webkit-appearance: none;
    border: 1px solid rgba(0, 0, 0, 0.12);
    background: #6c757d;
    color: #fff;
    flex: 0 0 40px;
    width: 40px;
    min-width: 40px;
    min-height: 40px;
    padding: 0;
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    border-radius: 0;
    box-shadow: none;
}

.rmcc-password-row > .rmcc-password-addon:first-child {
    border-top-left-radius: 14px;
    border-bottom-left-radius: 14px;
    border-right: 0;
}

.rmcc-password-row > .rmcc-password-addon:last-child {
    border-top-right-radius: 14px;
    border-bottom-right-radius: 14px;
    border-left: 0;
}

.rmcc-password-row > .form-control:last-child {
    border-top-right-radius: 14px;
    border-bottom-right-radius: 14px;
}

.rmcc-password-row > .rmcc-password-addon + .form-control {
    border-left: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.rmcc-password-row > .form-control:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.rmcc-password-row > .form-control + .rmcc-password-addon {
    border-left: 0;
    margin-left: 0;
}

.rmcc-password-addon:focus {
    outline: none;
    box-shadow: none;
}

/* =========================================================
   PAGE HEAD / PAGE META
   ========================================================= */

.page-content-wrapper.rmcc-page {
    flex: 1 0 auto;
    padding-top: 1.5rem;
    padding-bottom: 2.5rem;
}

.rmcc-page-head {
    margin-bottom: 1.5rem;
    padding-top: 0.5rem;
}

.rmcc-page-title {
    margin: 0;
    font-size: clamp(2rem, 2.7vw, 2.75rem);
    line-height: 1.08;
    font-weight: 600;
    letter-spacing: -0.03em;
    color: var(--rmcc-text);
}

.rmcc-page-meta {
    flex: 0 0 auto;
    padding: 0.25rem 0 calc(var(--rmcc-footer-height) + 1rem);
}

.rmcc-page-meta__inner {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 2rem;
    text-align: center;
    color: var(--rmcc-text-muted);
    font-size: 0.95rem;
}

@media (max-width: 575.98px) {
    .page-content-wrapper.rmcc-page {
        padding-top: 1.1rem;
        padding-bottom: 1rem;
    }

    .rmcc-page-head {
        margin-bottom: 1.15rem;
        padding-top: 0.35rem;
    }

    .rmcc-page-title {
        font-size: 1.9rem;
        line-height: 1.08;
    }

    .rmcc-page-meta {
        padding: 0.15rem 0 calc(var(--rmcc-footer-height) + 0.85rem);
    }

    .rmcc-page-meta__inner {
        font-size: 0.88rem;
    }
}


.page-content-wrapper {
  position: relative;
  min-height: 100%;
}

.rmcc-page-container {
  width: 100%;
    padding-left: 0;
  padding-right: 0;  
    
}

.rmcc-page-head {
  margin: 0 0 1.25rem;
}

.rmcc-page-title {
    margin: 0;
    font-size: clamp(2rem, 2.7vw, 2.75rem);
    line-height: 1.08;
    font-weight: 600;
    letter-spacing: -0.03em;
    color: var(--rmcc-text);
}

.rmcc-page-intro {
  margin: 0 0 1rem;
}

.rmcc-page-toolbar {
  margin: 0 0 1.25rem;
}

.rmcc-page-content {
  margin: 0;
}

/* Mobile */
@media (max-width: 575.98px) {
  .rmcc-page-container {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  .rmcc-page-head {
    margin: 0 0 1rem;
  }

  .rmcc-page-title {
    font-size: 2rem;
    line-height: 1.08;
  }

  .rmcc-page-toolbar {
    margin: 0 0 1rem;
  }
}






/* =========================================================
   CONFIGURATOR WRAPPER
   ========================================================= */

.configurator-wrapper {
    background: linear-gradient(180deg, var(--rmcc-bg-page-start) 0%, var(--rmcc-bg-page-end) 100%);
    border-radius: var(--rmcc-radius-lg);
    padding: 1.5rem;
}

/* =========================================================
   TABS
   ========================================================= */

.nav-tabs {
    border-bottom: 1px solid var(--rmcc-border);
}

/* =========================================================
   MACHINE TABS
   ========================================================= */

#machineTabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin: 0 !important;
    padding: 0.7rem 0;
    border-bottom: 0 !important;
}

#machineTabs .nav-item {
    margin: 0 !important;
    padding: 0 !important;
}

#machineTabs .nav-link {
    margin: 0 !important;
    border-radius: 12px;
    border: 1px solid var(--rmcc-border-strong) !important;
    background: var(--rmcc-surface-soft);
    padding: 0.25rem 0.7rem !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

#machineTabs .nav-link:hover {
    background: rgba(var(--bs-primary-rgb), 0.06);
    border-color: rgba(var(--bs-primary-rgb), 0.25) !important;
}

#machineTabs .nav-link.active {
    background: rgba(var(--bs-primary-rgb), 0.1);
    border-color: rgba(var(--bs-primary-rgb), 0.45) !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}

#machineTabs .tab-price-badge {
    flex: 0 0 auto;
    margin: 0 !important;
}

@media (max-width: 575.98px) {
    #machineTabs {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 0.4rem;
        padding: 0.35rem 0 !important;
        margin: 0 !important;
        border-bottom: 0 !important;
    }

    #machineTabs .nav-item {
        flex: 1 1 calc(50% - 0.4rem) !important;
        width: auto !important;
        margin: 0 !important;
        text-align: left !important;
    }

    #machineTabs .nav-link {
        width: 100%;
        min-height: 32px;
        padding: 0.25rem 0.35rem !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 0.45rem;
        border-radius: 12px;
        border: 1px solid var(--rmcc-border) !important;
        background: var(--rmcc-surface-soft-2);
        font-size: 0.78rem !important;
        font-weight: 600 !important;
        line-height: 1.15;
        transition:
            background 0.18s ease,
            border-color 0.18s ease,
            box-shadow 0.18s ease,
            color 0.18s ease;
    }

    #machineTabs .nav-link .tab-price-badge {
        flex: 0 0 auto;
        margin-left: 0.35rem;
    }

    #machineTabs .nav-link .tab-price-badge .rmcc-tab-sum {
        font-size: 0.68rem !important;
        line-height: 1;
        white-space: nowrap;
    }

    #machineTabs .nav-link:hover {
        background: rgba(var(--bs-primary-rgb), 0.07);
        border-color: rgba(var(--bs-primary-rgb), 0.28) !important;
        color: var(--bs-primary);
    }

    #machineTabs .nav-link.active {
        background: rgba(var(--bs-primary-rgb), 0.1);
        border-color: rgba(var(--bs-primary-rgb), 0.45) !important;
        color: var(--bs-primary);
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
    }

    #machineTabs .tab-price-badge {
        font-size: 0.68rem;
        font-weight: 700;
        border-radius: 999px;
        padding: 0.22rem 0.45rem;
        opacity: 0.9;
    }

    #machineTabs .tab-title {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
}

/* =========================================================
   ACCORDION / FORM / BUTTONS / MODAL BASICS
   ========================================================= */

.accordion-item {
    border-radius: var(--rmcc-radius-sm);
    border: 1px solid var(--rmcc-border);
    margin-bottom: 0.5rem;
    display: flex;
    flex-direction: column;
    background: var(--rmcc-card-bg);
}

.accordion-button {
    font-size: 0.92rem;
    font-weight: 500;
    padding: 0.65rem 1rem;
    box-shadow: none;
    background: transparent;
    color: var(--bs-body-color);
}

.accordion-button:hover {
    background-color: var(--rmcc-surface-soft);
}

.accordion-button:not(.collapsed) {
    background: rgba(var(--bs-primary-rgb), 0.06);
    color: var(--bs-body-color);
    box-shadow: none;
}

.form-select,
.form-control {
    border-radius: var(--rmcc-radius-sm);
    border-color: var(--rmcc-input-border);
    background: var(--rmcc-input-bg);
    box-shadow: var(--rmcc-input-shadow);
    font-weight: 500;
    font-size: 0.92rem;
    color: var(--bs-body-color);
    transition:
        border-color 0.18s ease,
        box-shadow 0.18s ease,
        background 0.18s ease;
}

.form-select:hover,
.form-control:hover {
    border-color: var(--ui-light-border-hover);
}

.form-select:focus,
.form-control:focus {
    border-color: rgba(var(--bs-primary-rgb), 0.45);
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.18);
}

.btn {
    border-radius: 999px;
    font-weight: 600;
    letter-spacing: 0.02em;
    transition:
        transform 0.15s ease,
        box-shadow 0.15s ease,
        border-color 0.15s ease,
        background-color 0.15s ease;
}

.btn:hover {
    transform: translateY(-1px);
}

.modal-content {
    border-radius: 18px;
    border: 1px solid var(--rmcc-card-border);
    background: var(--rmcc-card-bg);
    box-shadow: var(--rmcc-shadow-heavy);
}

.rmcc-total-price {
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: -0.02em;
    padding: 0.35rem 0 0 0;
}

/* =========================================================
   BOOTSTRAP CONTROL POLISH
   ========================================================= */

:is(
        a,
        button,
        input,
        textarea,
        select,
        summary,
        [role="button"],
        [tabindex]:not([tabindex="-1"]),
        .btn,
        .form-control,
        .form-select,
        .form-check-input,
        .dropdown-toggle,
        .nav-link,
        .accordion-button
    ):focus-visible {
    outline: none !important;
}

[data-bs-theme="light"]
    :is(.btn, .form-control, .form-select, .form-check-input, .dropdown-toggle, .accordion-button):focus,
[data-bs-theme="light"]
    :is(
        a,
        button,
        input,
        textarea,
        select,
        .btn,
        .form-control,
        .form-select,
        .form-check-input,
        .dropdown-toggle,
        .nav-link,
        .accordion-button
    ):focus-visible {
    box-shadow:
        0 0 0 0.28rem var(--ui-light-focus-ring),
        0 0 1.2rem var(--ui-light-focus-glow) !important;
}

[data-bs-theme="light"] .form-select:hover,
[data-bs-theme="light"] .form-control:hover {
    border-color: var(--ui-light-border-hover);
}

.form-check-input {
    transition:
        border-color 0.18s ease,
        box-shadow 0.18s ease,
        background-color 0.18s ease;
}

[data-bs-theme="light"] .form-check-input {
    border-color: rgba(0, 0, 0, 0.32);
}

[data-bs-theme="light"] .form-check-input:hover {
    border-color: rgba(0, 0, 0, 0.52);
}

[data-bs-theme="light"] .form-check-input:focus {
    border-color: rgba(var(--bs-primary-rgb), 0.65);
}

[data-bs-theme="light"] .form-check-input:checked[type="radio"] {
    background-image: radial-gradient(circle, #ffffff 35%, transparent 36%);
}

[data-bs-theme="light"] .form-range::-webkit-slider-thumb {
    background-color: var(--range-thumb);
    border: 0;
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25);
    transition:
        box-shadow 120ms ease,
        transform 120ms ease;
}

[data-bs-theme="light"] .form-range:focus::-webkit-slider-thumb {
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.35);
}

[data-bs-theme="light"] .form-range:active::-webkit-slider-thumb {
    box-shadow:
        0 0 0 0.45rem rgba(var(--bs-primary-rgb), 0.45),
        0 0 2.2rem rgba(var(--bs-primary-rgb), 0.35);
    transform: scale(1.05);
}

[data-bs-theme="light"] .form-range::-moz-range-thumb {
    background-color: var(--range-thumb);
    border: 0;
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25);
}

[data-bs-theme="light"] .form-range::-moz-range-progress {
    background-color: rgba(var(--bs-primary-rgb), 0.35);
}

/* =========================================================
   SELECT CARD + MEDIA
   ========================================================= */

.rmcc-select-card {
    cursor: pointer;
    border: 1px solid var(--rmcc-card-border);
    border-radius: var(--rmcc-radius) !important;
    background: var(--rmcc-card-bg);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
    overflow: hidden;
    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease,
        border-color 0.18s ease;
}

.rmcc-select-card.is-selected {
    border-color: rgba(var(--bs-primary-rgb), 0.55);
    box-shadow:
        0 1rem 2.2rem rgba(0, 0, 0, 0.14),
        0 0 0 0.28rem rgba(var(--bs-primary-rgb), 0.12);
}

.rmcc-select-card.is-disabled {
    opacity: 0.65;
}

.rmcc-select-card .rmcc-card-content {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.rmcc-select-card .card-body {
    flex: 1 1 auto;
    min-height: 108px;
}

.rmcc-select-card .accordion-item {
    border: 1px solid var(--rmcc-border);
    border-radius: var(--rmcc-radius-sm);
    overflow: hidden;
    background: var(--rmcc-surface);
}

.rmcc-select-card .accordion-button {
    padding: 0.75rem 1rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    background: transparent;
    box-shadow: none;
    border: 0;
}

.rmcc-select-card .accordion-button:hover {
    background: var(--rmcc-surface-soft);
}

.rmcc-select-card .accordion-button:not(.collapsed) {
    background: rgba(var(--bs-primary-rgb), 0.06);
    box-shadow: inset 0 -1px 0 var(--rmcc-border-soft);
}

.rmcc-select-card .accordion-body {
    background: var(--rmcc-surface-soft-3);
    border-top: 1px solid var(--rmcc-border-soft);
}

.rmcc-select-card .accordion-button::after {
    transform: scale(0.75);
    opacity: 0.65;
    transition:
        transform 0.2s ease,
        opacity 0.2s ease;
}

.rmcc-select-card .accordion-button:not(.collapsed)::after {
    transform: scale(0.75) rotate(180deg);
    opacity: 0.85;
}

.rmcc-select-card .btn-check:checked + .rmcc-select-label {
  background-color: var(--bs-primary) !important;
  border-color: var(--bs-primary) !important;
  color: #fff !important;
}


.rmcc-select-card .badge,
.product-details-card .badge,
.rmcc-article-card .badge {
    font-weight: 600;
    font-size: 0.78rem;
    letter-spacing: -0.01em;
    border-radius: 999px;
    padding: 0.35rem 0.75rem !important;
    backdrop-filter: blur(6px);
    background: var(--rmcc-surface-3);
    border: 1px solid var(--rmcc-border-strong);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
}

.rmcc-select-card .badge {
    backdrop-filter: blur(8px);
    background: rgba(255, 255, 255, 0.75);
}

.badge.bg-primary {
    background: rgba(var(--bs-primary-rgb), 0.85) !important;
    border: 1px solid rgba(var(--bs-primary-rgb), 0.6);
}

.badge.bg-warning {
    background: rgba(var(--bs-warning-rgb), 0.85) !important;
    border: 1px solid rgba(var(--bs-warning-rgb), 0.6);
    color: #000;
}

.badge.bg-success {
    background: rgba(var(--bs-success-rgb), 0.85) !important;
    border: 1px solid rgba(var(--bs-success-rgb), 0.6);
}

.rmcc-select-label {
    width: 100%;
    border-radius: var(--rmcc-radius-sm) !important;
    font-weight: 600;
    letter-spacing: -0.01em;
    padding: 0.65rem 1rem;
    background: var(--rmcc-input-bg);
    border: 1px solid var(--rmcc-input-border);
    color: var(--bs-primary);
    box-shadow: var(--rmcc-input-shadow);
    transition: all 0.18s ease;
}

.rmcc-select-label:hover {
    background: rgba(var(--bs-primary-rgb), 0.06);
    border-color: rgba(var(--bs-primary-rgb), 0.35);
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.1);
}

.btn-check:checked + .rmcc-select-label {
    background: var(--bs-primary);
    border-color: var(--bs-primary);
    color: #fff;
    box-shadow: 0 12px 26px rgba(var(--bs-primary-rgb), 0.3);
}

.btn-check:checked + .rmcc-select-label::before {
    content: "✓";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.6rem;
    height: 1.6rem;
    margin-right: 0.5rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
    font-weight: 800;
}

.rmcc-calc-input:disabled + .rmcc-select-label {
    pointer-events: none;
    opacity: 0.5;
    cursor: not-allowed;
}

.rmcc-media {
    border-radius: calc(var(--rmcc-radius) - 4px);
    background: linear-gradient(180deg, var(--rmcc-surface-soft-2), var(--rmcc-surface-soft));
    border: 1px solid var(--rmcc-border-soft);
    overflow: hidden;
    padding: 0.6rem;
    height: 160px;
    display: flex;
    align-items: center;
    justify-content: center;  
}

.rmcc-media img,
.rmcc-machine-img{
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
}

@media (max-width: 575.98px) {
  .product-details-card .rmcc-media{
    min-height: 72px;
    padding: .15rem 0;
  }

  .product-details-card .rmcc-machine-img{
    width: 100%;
    height: auto;
    max-height: 64px;
    object-fit: contain;
  }
}

@media (hover: hover) and (pointer: fine) {
    .rmcc-select-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 26px rgba(0, 0, 0, 0.1);
        border-color: rgba(0, 0, 0, 0.12);
    }
}

@media (min-width: 576px) {
    .rmcc-select-card .accordion-button {
        padding-left: 1rem;
        padding-right: 1rem;
        padding-top: 0.6rem;
        padding-bottom: 0.6rem;
    }

    .rmcc-select-card .accordion-body {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .rmcc-select-card .rmcc-select-label,
    .rmcc-select-card .mt-auto {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

@media (max-width: 575.98px) {
    .rmcc-select-card {
        transform: none !important;
        --rmcc-card-pad-x: 0.9rem;
    }

    .rmcc-select-card .card-body {
        min-height: 0;
    }

    .rmcc-card-top {
        display: flex;
        align-items: flex-start;
        gap: 0.85rem;
        padding: 0.9rem 0.75rem 0 0.9rem;
        padding-left: var(--rmcc-card-pad-x) !important;
        padding-right: var(--rmcc-card-pad-x) !important;
    }

    .rmcc-card-media {
        flex: 0 0 110px;
    }

    .rmcc-card-media .ratio {
        aspect-ratio: 4 / 3;
        border-radius: 12px;
    }

    .rmcc-card-top .card-body {
        padding: 0 !important;
        margin-top: 2px;
    }

    .rmcc-card-top h6 {
        font-size: 0.92rem;
        line-height: 1.2;
        margin-bottom: 0.3rem;
    }

    .rmcc-card-top .small {
        font-size: 0.72rem;
    }

    .rmcc-card-top .text-muted {
        font-size: 0.82rem;
    }

    .rmcc-card-content {
        padding: 0 0.9rem 0.9rem 0.9rem;
        padding-left: var(--rmcc-card-pad-x) !important;
        padding-right: var(--rmcc-card-pad-x) !important;
    }

    .rmcc-card-content .accordion {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .rmcc-card-content .accordion-button {
        width: 100%;
        padding-left: 0 !important;
        padding-right: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        border-top: 1px solid var(--rmcc-border-soft);
        border-bottom: 0;
        padding-top: 0.55rem !important;
        padding-bottom: 0.55rem !important;
        margin-top: 0.6rem;
        font-weight: 600;
    }

    .rmcc-card-content .accordion-button::after {
        margin-left: auto;
    }

    .rmcc-card-content .accordion-body {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .rmcc-media {
        border-radius: calc(var(--rmcc-radius) - 6px);
        height: 100px;
        padding: 0.5rem;
    }

    .rmcc-card-media .ratio {
        aspect-ratio: auto !important;
    }

    .rmcc-card-media img {
        object-fit: contain !important;
        height: auto !important;
        background-color: color-mix(in srgb, var(--bs-body-bg) 96%, var(--bs-body-color) 4%);
    }
}

@media (min-width: 768px) {
    .rmcc-media {
        height: 160px;
    }
}

@media (min-width: 992px) {
    .rmcc-media {
        height: 210px;
    }
}

/* =========================================================
   SELECT CARD REFINEMENT
   Vertikale Innenabstände + Dark-Mode-Kontraste
   ========================================================= */

.rmcc-select-card {
    border-radius: var(--rmcc-radius);
    box-shadow: var(--rmcc-card-shadow);
}

.rmcc-select-card .rmcc-card-main {
    min-height: 100%;
}

.rmcc-card-top {
    padding: 1rem 1rem 0 1rem;
}

.rmcc-card-top .card-body {
    padding: 0.9rem 1rem 0.25rem !important;
}

.rmcc-card-top .small {
    margin-bottom: 0.35rem !important;
    font-size: 0.74rem;
    line-height: 1.2;
}

.rmcc-card-top .card-title {
    line-height: 1.28;
    margin-bottom: 0 !important;
}

.rmcc-card-price {
    font-weight: 600;
    line-height: 1.2;
    padding-top: 0.05rem;
}

.rmcc-card-content {
    padding: 0.2rem 1rem 1rem 1rem !important;
    gap: 0.65rem;
}

.rmcc-card-content .accordion {
    margin-top: 0.1rem;
}

.rmcc-select-card .accordion-item {
    border-radius: calc(var(--rmcc-radius-sm) + 1px);
}

.rmcc-select-card .accordion-button {
    min-height: 2.7rem;
    padding-top: 0.72rem;
    padding-bottom: 0.72rem;
}

.rmcc-select-card .accordion-body {
    padding-top: 0.75rem;
    padding-bottom: 0.8rem;
    line-height: 1.45;
}

.rmcc-select-card .mt-auto {
    padding-top: 0.15rem;
}

.rmcc-select-label {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Bildbereich etwas ruhiger */
.rmcc-card-media .ratio {
    border-radius: calc(var(--rmcc-radius) - 4px);
    overflow: hidden;
}

.rmcc-card-media img {
    background: transparent;
}

/* Desktop etwas luftiger */
@media (min-width: 576px) {
    .rmcc-card-top {
        padding: 1.05rem 1.05rem 0 1.05rem;
    }

    .rmcc-card-top .card-body {
        padding: 1rem 1.05rem 0.3rem !important;
    }

    .rmcc-card-content {
        padding: 0.25rem 1.05rem 1.05rem 1.05rem !important;
    }

    .rmcc-select-card .accordion-button {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .rmcc-select-card .accordion-body {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

/* Mobile: kompakt, aber nicht gedrängt */
@media (max-width: 575.98px) {
    .rmcc-select-card {
        --rmcc-card-pad-x: 0.9rem;
    }

    .rmcc-card-top {
        gap: 0.85rem;
        padding: 0.95rem var(--rmcc-card-pad-x) 0 var(--rmcc-card-pad-x) !important;
    }

    .rmcc-card-top .card-body {
        padding: 0 !important;
        margin-top: 0.05rem;
    }

    .rmcc-card-top .small {
        margin-bottom: 0.25rem !important;
    }

    .rmcc-card-content {
        padding: 0.15rem var(--rmcc-card-pad-x) 0.95rem var(--rmcc-card-pad-x) !important;
        gap: 0.55rem;
    }

    .rmcc-card-content .accordion-button {
        margin-top: 0.55rem;
        padding-top: 0.62rem !important;
        padding-bottom: 0.62rem !important;
    }

    .rmcc-select-label {
        min-height: 44px;
    }
}

/* =========================================================
   ICON BUTTONS
   ========================================================= */

.rmcc-icon-btn {
    width: var(--rmcc-icon-size);
    height: var(--rmcc-icon-size);
    min-width: var(--rmcc-icon-size);
    max-width: var(--rmcc-icon-size);
    flex: 0 0 var(--rmcc-icon-size);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 999px;
    box-sizing: border-box;
    border: 1px solid var(--rmcc-border-strong);
    background: color-mix(in srgb, var(--bs-body-bg) 92%, transparent);
    color: var(--bs-body-color);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transition:
        transform 0.15s ease,
        box-shadow 0.15s ease,
        background 0.15s ease,
        border-color 0.15s ease,
        color 0.15s ease;
    text-decoration: none;
}

.rmcc-icon-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.12);
    border-color: rgba(0, 0, 0, 0.16);
    text-decoration: none;
}

.rmcc-icon-btn i {
    font-size: var(--rmcc-icon-font);
    line-height: 1;
}

.rmcc-icon-btn--secondary {
    background: color-mix(in srgb, var(--bs-secondary) 14%, var(--bs-body-bg));
    color: var(--bs-secondary);
    border-color: rgba(108, 117, 125, 0.25);
}

.rmcc-icon-btn--secondary:hover {
    background: var(--bs-secondary);
    color: #fff;
    border-color: var(--bs-secondary);
}

.rmcc-icon-btn--neutral {
    background: color-mix(in srgb, var(--bs-body-bg) 96%, transparent);
    color: var(--bs-body-color);
}

.rmcc-icon-btn--neutral .span-wrap span {
    height: 2px;
    border-radius: 999px;
    opacity: 0.9;
}

.rmcc-floating-calc-btn {
    position: fixed;
    right: 18px;
    bottom: 78px; /* oberhalb der Footerzeile */
    width: 58px;
    height: 58px;
    border: 0;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--bs-primary, #0d6efd);
    color: #fff;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
    z-index: 1040;
    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease,
        opacity 0.18s ease;
}

.rmcc-floating-calc-btn i {
    font-size: 1.35rem;
    line-height: 1;
}

.rmcc-floating-calc-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.22);
}

.rmcc-floating-calc-btn:focus {
    outline: none;
    box-shadow:
        0 0 0 4px rgba(13, 110, 253, 0.2),
        0 10px 24px rgba(0, 0, 0, 0.18);
}

@media (max-width: 575.98px) {
    .rmcc-floating-calc-btn {
        right: 14px;
        bottom: 74px;
        width: 54px;
        height: 54px;
    }
}

@media (max-width: 575.98px) {
    .rmcc-icon-btn {
        width: 2.75rem;
        height: 2.75rem;
        min-width: 2.75rem;
        max-width: 2.75rem;
        flex-basis: 2.75rem;
    }

    .rmcc-icon-btn i {
        font-size: 1.45rem;
    }
}

/* =========================================================
   FOOTER
   ========================================================= */

.rmcc-footer-nav,
.footer-nav-area {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1025;
    background: var(--rmcc-footer-bg);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-top: 1px solid var(--rmcc-footer-border);
    box-shadow: var(--rmcc-footer-shadow);
    min-height: var(--rmcc-footer-height);
    padding-bottom: env(safe-area-inset-bottom, 0);
    transition:
        background 0.2s ease,
        box-shadow 0.2s ease,
        border-color 0.2s ease;
    flex: 0 0 auto;
    margin-top: auto;
}

.rmcc-footer-nav.is-scrolled,
.footer-nav-area.is-scrolled {
    background: var(--rmcc-footer-bg-scrolled);
    box-shadow: var(--rmcc-footer-shadow-scrolled);
}

.rmcc-footer-actions > li {
    flex: 0 0 auto !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rmcc-footer-actions .rmcc-icon-btn {
    width: var(--rmcc-icon-size) !important;
    height: var(--rmcc-icon-size) !important;
    min-width: var(--rmcc-icon-size) !important;
    max-width: var(--rmcc-icon-size) !important;
    flex: 0 0 var(--rmcc-icon-size) !important;
    aspect-ratio: 1 / 1;
    border-radius: 999px !important;
    padding: 0 !important;
    line-height: 1 !important;
}

@media (max-width: 575.98px) {
    .rmcc-footer-actions .rmcc-icon-btn {
        width: 2.75rem !important;
        height: 2.75rem !important;
        min-width: 2.75rem !important;
        max-width: 2.75rem !important;
        flex-basis: 2.75rem !important;
    }
}

/* =========================================================
   STICKY FOOTER STACK
   ========================================================= */

:root {
    --rmcc-footer-nav-height: 64px;
    --rmcc-footer-meta-height: 30px;
    --rmcc-footer-total-height: calc(var(--rmcc-footer-nav-height) + var(--rmcc-footer-meta-height));
}

body {
    padding-bottom: calc(var(--rmcc-footer-total-height) + env(safe-area-inset-bottom, 0));
}

.rmcc-footer-shell {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1030;
    pointer-events: none;
}

.rmcc-footer-meta {
    pointer-events: auto;
    background: var(--rmcc-footer-bg);
}

.rmcc-footer-meta .container {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}

.rmcc-footer-meta__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: var(--rmcc-footer-meta-height);
    padding: 0.15rem 0 0.35rem;
    text-align: center;
    font-size: 0.82rem;
    line-height: 1.2;
    color: var(--rmcc-text-muted);
}

.footer-nav-area.rmcc-footer-nav {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    z-index: auto;
    pointer-events: auto;
}

.footer-nav-area .footer-nav {
    padding-bottom: 0.25rem;
}

@media (max-width: 575.98px) {
    :root {
        --rmcc-footer-nav-height: 60px;
        --rmcc-footer-meta-height: 26px;
        --rmcc-footer-total-height: calc(var(--rmcc-footer-nav-height) + var(--rmcc-footer-meta-height));
    }

    .rmcc-footer-meta__inner {
        font-size: 0.75rem;
        padding: 0.1rem 0 0.25rem;
    }
}

/* =========================================================
   INFO CARD
   ========================================================= */

.rmcc-info-card {
    border-radius: var(--rmcc-radius) !important;
    border: 1px solid var(--rmcc-border);
    background: color-mix(in srgb, var(--bs-body-bg) 94%, transparent);
    box-shadow: var(--rmcc-shadow-soft);
    overflow: hidden;
}

.rmcc-info-card .card {
    border-radius: calc(var(--rmcc-radius) - 2px);
}

.rmcc-icon-pill,
.rmcc-info-section-ico {
    background: var(--rmcc-pill-bg);
    color: var(--rmcc-pill-color);
}

.rmcc-icon-pill {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.rmcc-info-title,
.rmcc-info-section-title {
    font-weight: 600;
    letter-spacing: -0.01em;
}

.rmcc-info-subtitle {
    font-size: 0.85rem;
    color: var(--rmcc-text-soft);
}

.rmcc-info-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid;
    gap: 0.45rem;
    font-size: 0.9rem;
    color: var(--rmcc-text-muted);
}

.rmcc-info-list li {
    list-style: none !important;
    position: relative;
    padding-left: 0;
}

.rmcc-info-sections {
    display: grid;
    gap: 0.9rem;
}

.rmcc-info-section {
    padding: 0.85rem 0.9rem;
    border-radius: calc(var(--rmcc-radius) - 2px);
    border: 1px solid var(--rmcc-border-soft);
    background: color-mix(in srgb, var(--bs-body-bg) 96%, transparent);
}

.rmcc-info-section-head {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.55rem;
}

.rmcc-info-section-ico {
    width: 1.9rem;
    height: 1.9rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.rmcc-info-section .rmcc-info-list {
    gap: 0.45rem;
    font-size: 0.88rem;
}

.info-card h5 {
    font-weight: 600;
    letter-spacing: -0.02em;
}

@media (max-width: 575.98px) {
    .info-card {
        padding-top: 1rem !important;
        margin-bottom: 1rem !important;
    }

    .info-card h5 {
        margin-bottom: 0.7rem !important;
        font-size: 1rem;
        line-height: 1.2;
    }

    .rmcc-info-card {
        margin-top: 0.35rem !important;
    }

    .rmcc-info-card .card-body {
        padding: 0.75rem !important;
    }

    .rmcc-info-sections {
        gap: 0.25rem !important;
    }

    .rmcc-info-section {
        padding: 0.75rem !important;
        border-radius: 14px;
    }

    .rmcc-info-section + .rmcc-info-section {
        margin-top: 0.55rem;
    }

    .rmcc-info-section-head {
        margin-bottom: 0.45rem !important;
        gap: 0.55rem !important;
    }

    .rmcc-info-section-ico {
        width: 2rem;
        height: 2rem;
        min-width: 2rem;
    }

    .rmcc-info-section-title {
        font-size: 0.95rem;
        line-height: 1.2;
    }

    .rmcc-info-list,
    .rmcc-info-list div {
        font-size: 0.86rem;
        line-height: 1.35;
    }
}

/* =========================================================
   LISTE CONFIGURATOR
   ========================================================= */

#formSelect .card.p-3 {
    border-radius: var(--rmcc-radius);
    border: 1px solid var(--rmcc-border);
    background: var(--rmcc-card-bg);
    box-shadow: 0 8px 26px rgba(0, 0, 0, 0.06);
}

#formSelect h5 {
    font-weight: 600;
    letter-spacing: -0.02em;
}

#formSelect .row.g-2 {
    --bs-gutter-x: 0.9rem;
    --bs-gutter-y: 0.9rem;
}

#formSelect.container {
    max-width: 1200px;
}

.product-details-card {
    border: 1px solid var(--rmcc-border) !important;
    border-radius: var(--rmcc-radius);
    background: var(--rmcc-surface-2);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease,
        border-color 0.18s ease;
}

.product-details-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--rmcc-card-shadow);
    border-color: rgba(0, 0, 0, 0.12) !important;
}

.product-details-card:focus-within {
    box-shadow:
        0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.18),
        var(--rmcc-card-shadow);
    border-color: rgba(var(--bs-primary-rgb), 0.35) !important;
}

.product-details-card h6 {
    font-weight: 600;
    font-size: 0.92rem;
    letter-spacing: -0.01em;
    margin-bottom: 0.75rem;
    color: var(--rmcc-text-muted);
}

.product-details-card .machine-image {
    border-radius: calc(var(--rmcc-radius) - 4px);
    background: linear-gradient(180deg, var(--rmcc-surface-soft-2), var(--rmcc-surface-soft));
    border: 1px solid var(--rmcc-border-soft);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem;
    height: 140px;
}

@media (min-width: 768px) {
    .product-details-card .machine-image {
        height: 170px;
    }
}

@media (min-width: 992px) {
    .product-details-card .machine-image {
        height: 190px;
    }
}

.product-details-card .machine-image img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    display: block;
}

/* =========================================================
   CONFIGURATOR SELECT
   ========================================================= */

.machine-select.form-select {
    --bs-form-select-bg-img: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    border-radius: 12px;
    border: 1px solid var(--rmcc-input-border);
    background-color: var(--rmcc-input-bg);
    color: var(--bs-body-color);
    box-shadow: var(--rmcc-input-shadow);
    font-weight: 500;
    font-size: 0.92rem;
    line-height: 1.2;
    min-height: 2.35rem;
    padding: 0.5rem 2.35rem 0.5rem 0.8rem;
    transition:
        box-shadow 0.18s ease,
        border-color 0.18s ease,
        background-color 0.18s ease,
        color 0.18s ease;

    background-repeat: no-repeat;
    background-position: right 0.8rem center;
    background-size: 14px 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.2 5.8 8 10.6l4.8-4.8' fill='none' stroke='%23656d76' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.machine-select.form-select:hover {
    border-color: var(--ui-light-border-hover);
}

.machine-select.form-select:focus {
    border-color: rgba(var(--bs-primary-rgb), 0.45);
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.18);
    outline: 0;
}

.machine-select.form-select option {
    color: #1c1f23;
    background: #ffffff;
}

/* =========================================================
   WARRANTY SELECT
   ========================================================= */

.rmcc-warranty-select.form-select {
    --bs-form-select-bg-img: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    border-radius: 12px;
    border: 1px solid var(--rmcc-input-border);
    background-color: var(--rmcc-input-bg);
    color: var(--bs-body-color);
    box-shadow: var(--rmcc-input-shadow);
    font-weight: 500;
    font-size: 0.92rem;
    line-height: 1.2;
    min-height: 2.55rem;
    padding: 0.58rem 2.35rem 0.58rem 0.8rem;
    transition:
        box-shadow 0.18s ease,
        border-color 0.18s ease,
        background-color 0.18s ease,
        color 0.18s ease;

    background-repeat: no-repeat;
    background-position: right 0.8rem center;
    background-size: 14px 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.2 5.8 8 10.6l4.8-4.8' fill='none' stroke='%23656d76' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.rmcc-warranty-select.form-select:hover {
    border-color: var(--ui-light-border-hover);
}

.rmcc-warranty-select.form-select:focus {
    border-color: rgba(var(--bs-primary-rgb), 0.45);
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.18);
    outline: 0;
}

.rmcc-warranty-select.form-select option {
    color: #1c1f23;
    background: #ffffff;
}

#submitSelectionProducts.btn-submit,
#submitSelectionProducts,
.btn-submit {
    border-radius: 999px;
    padding: 0.55rem 1.05rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    font-size: 0.8rem;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.12);
    transition:
        transform 0.15s ease,
        box-shadow 0.15s ease;
}

#submitSelectionProducts:hover,
.btn-submit:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.14);
}

/* =========================================================
   INDEX PAGE
   ========================================================= */

.rmcc-index-container {
    max-width: 100%;
}

.rmcc-index-card {
    border: 1px solid var(--rmcc-card-border);
    border-radius: var(--rmcc-radius-lg) !important;
    background: var(--rmcc-card-bg);
    box-shadow: var(--rmcc-card-shadow);
    overflow: hidden;
}

.rmcc-index-card__body {
    padding: 3rem 1.5rem 2.25rem;
}

.rmcc-index-logo {
    padding-top: 0.5rem;
    margin-bottom: 2rem;
}

.rmcc-index-logo img {
    height: 120px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    display: inline-block;
}

.rmcc-index-head {
    margin: 0 auto 1.25rem;
}

.rmcc-index-title {
    font-size: clamp(1.7rem, 2.6vw, 2.5rem);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -0.02em;
    color: var(--rmcc-index-title);
}

.rmcc-index-subtitle {
    font-size: clamp(1rem, 1.5vw, 1.2rem);
    font-weight: 600;
    color: var(--rmcc-index-subtitle);
    line-height: 1.3;
}

.rmcc-index-content {
    margin: 0 auto;
}

.rmcc-index-text {
    font-size: 1rem;
    line-height: 1.65;
    color: var(--rmcc-index-text);
    margin-bottom: 1.8rem;
}

.rmcc-index-btn {
    max-width: 360px;
}

.rmcc-index-footer {
    margin-top: 2rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--rmcc-border);
    color: var(--rmcc-index-footer);
    font-size: 0.94rem;
}

.rmcc-index-footer a {
    color: var(--rmcc-index-title);
    text-decoration: none;
}

.rmcc-index-footer a:hover {
    text-decoration: underline;
}

@media (max-width: 575.98px) {
    .rmcc-index-card {
        border-radius: var(--rmcc-radius-lg);
    }

    .rmcc-index-card__body {
        padding: 1.75rem 1rem 1.5rem;
    }

    .rmcc-index-logo {
        margin-bottom: 1.4rem;
    }

    .rmcc-index-logo img {
        height: 82px;
    }

    .rmcc-index-title {
        font-size: 1.45rem;
    }

    .rmcc-index-subtitle {
        font-size: 0.98rem;
    }

    .rmcc-index-text {
        font-size: 0.95rem;
        line-height: 1.55;
    }

    .rmcc-index-btn {
        width: 100%;
        min-width: 0;
    }

    .rmcc-index-footer {
        margin-top: 1.5rem;
        padding-top: 1rem;
        font-size: 0.88rem;
    }
}

/* =========================================================
   AUTH MODAL
   ========================================================= */

.rmcc-auth-modal__dialog {
    max-width: 560px;
}

.rmcc-auth-modal__content {
    border: 1px solid var(--rmcc-border);
    border-radius: var(--rmcc-radius);
    overflow: hidden;
    background: linear-gradient(180deg, var(--rmcc-bg-card-grad-start), var(--rmcc-bg-card-grad-end));
    box-shadow: var(--rmcc-shadow-heavy);
}

.rmcc-auth-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1rem 1rem 0.75rem 1rem;
    border-bottom: 1px solid var(--rmcc-border);
    background: var(--rmcc-auth-header-bg);
}

.rmcc-auth-modal__title-wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    flex: 1 1 auto;
}

.rmcc-auth-modal__eyebrow {
    display: block;
    margin-bottom: 0.15rem;
    font-size: 0.75rem;
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(var(--bs-primary-rgb), 0.92);
}

.rmcc-auth-modal__title {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--rmcc-text);
    line-height: 1.2;
}

.rmcc-auth-modal__close {
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 0.35rem;
    border-radius: 999px;
    opacity: 0.8;
    align-self: center;
}

.rmcc-auth-modal__body {
    padding: 1.2rem;
}

.rmcc-auth-intro__icon {
    width: 3.25rem;
    height: 3.25rem;
    margin: 0 auto;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--bs-primary-rgb), 0.1);
    color: rgba(var(--bs-primary-rgb), 0.95);
    font-size: 1.25rem;
}

.rmcc-auth-form .form-text {
    margin-top: 0.45rem;
    font-size: 0.82rem;
    color: var(--rmcc-text-soft);
}

.rmcc-auth-label {
    font-weight: 600;
    letter-spacing: -0.01em;
    margin-bottom: 0.45rem;
    color: var(--rmcc-text);
}

.rmcc-auth-input,
.rmcc-auth-input-group .form-control {
    border-radius: 14px !important;
    border: 1px solid var(--rmcc-input-border);
    background: var(--rmcc-input-bg);
    box-shadow: var(--rmcc-input-shadow);
    color: var(--rmcc-text);
    font-weight: 500;
    transition:
        border-color 0.18s ease,
        box-shadow 0.18s ease,
        background 0.18s ease;
}

.rmcc-auth-input:focus,
.rmcc-auth-input-group .form-control:focus {
    border-color: rgba(var(--bs-primary-rgb), 0.45);
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.14);
    background: color-mix(in srgb, var(--rmcc-input-bg) 96%, white 4%);
}

.rmcc-auth-input::placeholder {
    color: color-mix(in srgb, var(--rmcc-text-muted) 70%, transparent);
}

.rmcc-auth-code-input {
    letter-spacing: 0.22em;
    font-weight: 700;
}

.rmcc-auth-input-group {
    border-radius: 14px;
}

.rmcc-auth-input-addon {
    border-radius: 14px !important;
    border: 1px solid var(--rmcc-input-border);
    background: var(--rmcc-auth-addon-bg);
    color: var(--rmcc-text-muted);
    cursor: pointer;
    transition:
        background 0.18s ease,
        color 0.18s ease,
        border-color 0.18s ease;
}

.rmcc-auth-input-addon:hover {
    background: rgba(var(--bs-primary-rgb), 0.06);
    color: var(--bs-primary);
    border-color: rgba(var(--bs-primary-rgb), 0.28);
}

.rmcc-auth-input-group .form-control {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.rmcc-auth-input-group .rmcc-auth-input-addon {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-left: 0;
}

.rmcc-auth-section {
    margin-top: 0.25rem;
    padding: 0.95rem 1rem;
    border: 1px solid var(--rmcc-border-soft);
    border-radius: calc(var(--rmcc-radius-sm) + 2px);
    background: var(--rmcc-auth-section-bg);
}

.rmcc-auth-btn-secondary {
    font-weight: 600;
    letter-spacing: 0.02em;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
}

.rmcc-auth-bottom-links {
    border-top: 1px solid var(--rmcc-border);
    margin-top: 1.2rem;
}

.rmcc-auth-link,
.rmcc-auth-link-danger {
    text-decoration: none;
    font-weight: 500;
    transition:
        color 0.18s ease,
        opacity 0.18s ease;
}

.rmcc-auth-link {
    color: var(--rmcc-text);
}

.rmcc-auth-link:hover {
    color: var(--bs-primary);
}

.rmcc-auth-link-danger {
    color: var(--bs-danger);
}

.rmcc-auth-link-danger:hover {
    opacity: 0.82;
}

.rmcc-auth-alert {
    position: relative;
    margin-bottom: 0.85rem;
    padding: 0.8rem 2.4rem 0.8rem 0.95rem;
    border-radius: 14px;
    border: 1px solid var(--rmcc-border);
    background: var(--rmcc-auth-alert-bg);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
}

.rmcc-auth-alert .btn-close {
    position: absolute;
    top: 0.7rem;
    right: 0.7rem;
}

@media (max-width: 575.98px) {
    .rmcc-auth-modal__dialog {
        margin: 0.8rem;
    }

    .rmcc-auth-modal__content {
        border-radius: 18px;
    }

    .rmcc-auth-modal__header {
        padding: 1rem 1rem 0.9rem;
    }

    .rmcc-auth-modal__body {
        padding: 1rem;
    }

    .rmcc-auth-modal__title {
        font-size: 1.02rem;
    }

    .rmcc-auth-intro__icon {
        width: 2.9rem;
        height: 2.9rem;
        font-size: 1.1rem;
    }

    .rmcc-auth-section {
        padding: 0.85rem;
    }
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 767.98px) {
    .rmcc-option-section {
        padding: 0.85rem;
    }

    .rmcc-options-title {
        font-size: 1.1rem;
    }

    .rmcc-option-section-title {
        font-size: 0.95rem;
    }

    .rmcc-options-table {
        min-width: 680px;
    }

    .rmcc-options-table thead th,
    .rmcc-options-table tbody td {
        padding: 0.7rem 0.55rem;
    }

    .rmcc-options-table tbody th {
        padding: 0.75rem 0.8rem;
    }

    .rmcc-corner-cell {
        min-width: 200px;
    }
}

/* =========================================================
   BROCHURE
   ========================================================= */

.rmcc-brochure-section {
    margin-bottom: 1.5rem;
}

.rmcc-brochure-card .card-body {
    height: 100%;
}

.rmcc-brochure-thumb {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 4.2;
    overflow: hidden;
    border-radius: 12px;
    background: color-mix(in srgb, var(--bs-body-bg) 96%, var(--bs-body-color) 4%);
}

.rmcc-brochure-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.rmcc-brochure-card .product-title {
    min-height: 2.6rem;
    line-height: 1.2;
    word-break: break-word;
}

.rmcc-brochure-card {
    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease,
        border-color 0.18s ease;
}

.rmcc-brochure-card:hover,
.rmcc-brochure-card:focus-within {
    transform: translateY(-2px);
    box-shadow: var(--rmcc-card-shadow-hover);
}

@media (max-width: 575.98px) {
    .rmcc-brochure-card .product-title {
        font-size: 0.95rem;
        min-height: 2.4rem;
    }
}

@media (max-width: 575.98px) {
  .rmcc-brochure-thumb,
  .product-thumbnail {
    padding-top: 0 !important;
    margin-top: 1rem !important;
    min-height: 0 !important;
    height: auto !important;
    display: block !important;
  }
}

@media (max-width: 575.98px) {
  .rmcc-brochure-thumb img,
  .product-thumbnail img {
    display: block !important;
    margin-top: 0 !important;
  }
}


/* =========================================================
   MODAL PREISBERECHNUNG
   ========================================================= */

#modal_preisberechnung .modal-body {
    padding-top: 1rem;
}

#modal_preisberechnung .nav-tabs {
    border-bottom: 1px solid var(--bs-border-color);
    gap: 0.25rem;
}

#modal_preisberechnung .nav-tabs .nav-link {
    border: 1px solid transparent;
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
    padding: 0.65rem 1rem;
    font-weight: 500;
}

#modal_preisberechnung .nav-tabs .nav-link.active {
    background: var(--rmcc-card-bg);
    border-color: var(--bs-border-color) var(--bs-border-color) var(--rmcc-card-bg);
}

#modal_preisberechnung .tab-content {
    min-height: 420px;
}

#modal_preisberechnung .tab-pane h5 {
    margin-bottom: 1rem;
}

#modal_preisberechnung .form-label {
    margin-bottom: 0.35rem;
    font-size: 0.875rem;
}

#modal_preisberechnung .small.text-muted {
    line-height: 1.35;
}

#modal_preisberechnung .form-control[readonly] {
    background-color: var(--rmcc-input-bg);
}

#modal_preisberechnung .form-control-sm.text-md-end,
#modal_preisberechnung .form-control.text-md-end {
    text-align: right;
}

#modal_preisberechnung .badge {
    min-width: 3.25rem;
    text-align: center;
}

#modal_preisberechnung .table th,
#modal_preisberechnung .table td {
    vertical-align: middle;
}

#modal_preisberechnung .border-top {
    border-color: var(--bs-border-color) !important;
}

#modal_preisberechnung #price-tab-3 .form-control,
#modal_preisberechnung #price-tab-3 .formx {
    margin-top: 0;
}

#modal_preisberechnung #price-tab-3 .form-control {
    min-height: calc(1.5em + 0.5rem + 2px);
}

#modal_preisberechnung #price-tab-3 textarea.form-control {
    min-height: 110px;
}

#modal_preisberechnung #rm_offer_btn {
    font-weight: 600;
}

#modal_preisberechnung #price-tab-1 .border-top .small.text-muted {
    display: block;
    margin-bottom: 0.2rem;
}

#modal_preisberechnung #price-tab-1 .border-top .fw-bold,
#modal_preisberechnung #price-tab-1 .border-top #rm_total_final {
    display: block;
    line-height: 1.15;
}

#modal_preisberechnung #price-tab-1 .border-top .col-md-3 {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

#modal_preisberechnung #price-tab-1 .border-top .col-md-3.text-md-end {
    align-items: flex-end;
}

#modal_preisberechnung #price-tab-2 .form-range {
    display: block;
    width: 100%;
    margin: 0;
}

#modal_preisberechnung #price-tab-2 .rmcc-lease-values {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

#modal_preisberechnung #price-tab-2 #zeitraum_3,
#modal_preisberechnung #price-tab-2 #sonderzahlung_3,
#modal_preisberechnung #price-tab-2 #rest_4,
#modal_preisberechnung #price-tab-2 #zinssatz_3,
#modal_preisberechnung #price-tab-2 #sonderzahlung_2,
#modal_preisberechnung #price-tab-2 #rest_1,
#modal_preisberechnung #price-tab-2 #rate,
#modal_preisberechnung #price-tab-2 .rmcc-lease-placeholder {
    width: 96px;
    min-width: 96px;
    max-width: 96px;
}

#modal_preisberechnung #price-tab-2 .rmcc-lease-placeholder {
    display: block;
    height: 1px;
    visibility: hidden;
}

#modal_preisberechnung #price-tab-2 #zeitraum_3,
#modal_preisberechnung #price-tab-2 #sonderzahlung_3,
#modal_preisberechnung #price-tab-2 #rest_4,
#modal_preisberechnung #price-tab-2 #zinssatz_3 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.18rem 0.45rem;
    border: 0 !important;
    border-radius: 0.25rem;
    background-color: var(--bs-secondary) !important;
    color: #fff !important;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.2;
    text-align: center !important;
    box-shadow: none !important;
    appearance: none;
    -webkit-appearance: none;
}

#modal_preisberechnung #price-tab-2 #sonderzahlung_2,
#modal_preisberechnung #price-tab-2 #rest_1,
#modal_preisberechnung #price-tab-2 #rate {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0.18rem 0.45rem;
    border: 0 !important;
    border-radius: 0.25rem;
    background-color: var(--bs-secondary) !important;
    color: #fff !important;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.2;
    text-align: right !important;
    box-shadow: none !important;
    appearance: none;
    -webkit-appearance: none;
}

#modal_preisberechnung #price-tab-2 #zeitraum_3[readonly],
#modal_preisberechnung #price-tab-2 #sonderzahlung_3[readonly],
#modal_preisberechnung #price-tab-2 #rest_4[readonly],
#modal_preisberechnung #price-tab-2 #zinssatz_3[readonly],
#modal_preisberechnung #price-tab-2 #sonderzahlung_2[readonly],
#modal_preisberechnung #price-tab-2 #rest_1[readonly],
#modal_preisberechnung #price-tab-2 #rate[readonly] {
    background-color: var(--bs-secondary) !important;
    color: #fff !important;
    opacity: 1;
    cursor: default;
}

#modal_preisberechnung #price-tab-2 #zeitraum_2.d-none,
#modal_preisberechnung #price-tab-2 #zinssatz_2.d-none,
#modal_preisberechnung #price-tab-2 #rest_2.d-none {
    display: none !important;
}

#modal_preisberechnung #price-tab-2 .border-top .small.text-muted {
    line-height: 1.25;
}

@media (max-width: 767.98px) {
    #modal_preisberechnung .tab-content {
        min-height: auto;
    }

    #modal_preisberechnung .fs-5 {
        font-size: 1.1rem !important;
    }

    #modal_preisberechnung #price-tab-2 .form-control-sm.text-md-end,
    #modal_preisberechnung #price-tab-2 .form-control.text-md-end,
    #modal_preisberechnung #price-tab-3 .form-control-sm.text-md-end,
    #modal_preisberechnung #price-tab-3 .form-control.text-md-end {
        text-align: left;
    }

    #modal_preisberechnung #price-tab-1 .text-end,
    #modal_preisberechnung #price-tab-1 .table th.text-end,
    #modal_preisberechnung #price-tab-1 .table td.text-end,
    #modal_preisberechnung #price-tab-1 #rm_total_no_freight,
    #modal_preisberechnung #price-tab-1 #rm_total_discount,
    #modal_preisberechnung #price-tab-1 #rm_total_freight,
    #modal_preisberechnung #price-tab-1 #rm_total_final {
        text-align: right !important;
    }

    #modal_preisberechnung #price-tab-1 .border-top .col-md-3,
    #modal_preisberechnung #price-tab-1 .border-top .col-md-3.text-md-end {
        align-items: flex-start;
    }

    #modal_preisberechnung #price-tab-1 .border-top #rm_total_no_freight,
    #modal_preisberechnung #price-tab-1 .border-top #rm_total_discount,
    #modal_preisberechnung #price-tab-1 .border-top #rm_total_freight,
    #modal_preisberechnung #price-tab-1 #rm_total_final {
        text-align: left !important;
    }
}

@media (max-width: 575.98px) {
    #modal_preisberechnung .nav-tabs {
        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-start;
        gap: 0.2rem;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
    }

    #modal_preisberechnung .nav-tabs::-webkit-scrollbar {
        display: none;
    }

    #modal_preisberechnung .nav-tabs .nav-item {
        flex: 0 0 auto;
        min-width: 0;
    }

    #modal_preisberechnung .nav-tabs .nav-link {
        width: auto;
        padding: 0.5rem 0.55rem;
        font-size: 0.78rem;
        text-align: left;
        white-space: nowrap;
    }

    #modal_preisberechnung #price-tab-1 .table {
        table-layout: fixed;
        width: 100%;
    }

    #modal_preisberechnung #price-tab-1 .table th,
    #modal_preisberechnung #price-tab-1 .table td {
        padding: 0.32rem 0.2rem;
        font-size: 0.68rem;
        line-height: 1.15;
        white-space: nowrap;
    }

    #modal_preisberechnung #price-tab-1 .table th:first-child,
    #modal_preisberechnung #price-tab-1 .table td:first-child {
        width: 33%;
        font-size: 0.7rem;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    #modal_preisberechnung #price-tab-1 .table th:not(:first-child),
    #modal_preisberechnung #price-tab-1 .table td:not(:first-child) {
        width: 16.75%;
    }

    #modal_preisberechnung #price-tab-1 .table th.text-end,
    #modal_preisberechnung #price-tab-1 .table td.text-end {
        text-align: right !important;
    }

    #modal_preisberechnung #price-tab-1 .table td:first-child strong,
    #modal_preisberechnung #price-tab-1 .table td:first-child {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    #modal_preisberechnung #price-tab-1 .small.text-muted {
        font-size: 0.85rem;
        line-height: 1.15;
    }

    #modal_preisberechnung #price-tab-1 .fw-bold {
        font-size: 0.82rem;
        line-height: 1.1;
    }

    #modal_preisberechnung #price-tab-1 #rm_total_final {
        font-size: 0.95rem !important;
    }

    #modal_preisberechnung #price-tab-2 .form-label {
        font-size: 0.85rem;
        margin-bottom: 0.2rem;
    }

    #modal_preisberechnung #price-tab-2 #zeitraum_3,
    #modal_preisberechnung #price-tab-2 #sonderzahlung_3,
    #modal_preisberechnung #price-tab-2 #rest_4,
    #modal_preisberechnung #price-tab-2 #zinssatz_3,
    #modal_preisberechnung #price-tab-2 #sonderzahlung_2,
    #modal_preisberechnung #price-tab-2 #rest_1,
    #modal_preisberechnung #price-tab-2 #rate,
    #modal_preisberechnung #price-tab-2 .rmcc-lease-placeholder {
        width: 86px;
        min-width: 86px;
        max-width: 86px;
        font-size: 0.7rem;
        padding: 0.16rem 0.4rem;
    }

    #modal_preisberechnung #price-tab-1 .border-top {
        padding-top: 0.75rem !important;
    }

    #modal_preisberechnung #price-tab-3 textarea.form-control {
        min-height: 140px;
    }

    #modal_preisberechnung #price-tab-2 .small.text-muted {
        font-size: 0.85rem;
        line-height: 1.15;
    }

    #modal_preisberechnung .nav-tabs .nav-link.active {
        font-weight: 600;
    }

    #modal_preisberechnung #price-tab-2 .row.g-3 {
        --bs-gutter-y: 0.5rem;
    }

    #modal_preisberechnung #btn_preview_pdf,
    #modal_preisberechnung #btn_send_offer {
        width: 100%;
    }
}

.rmcc-lease-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.rmcc-lease-line .form-label {
    margin-bottom: 0;
}

#rm_total_final_lease {
    display: inline-flex;
    align-items: center;
    justify-content: end;
    min-width: 84px;
    min-height: 28px;
    padding: 0.16rem 0.4rem;
    border-radius: 0.25rem;
    background: #6c757d;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    flex-shrink: 0;
}

body.rmcc-images-hidden .rmcc-toggle-image {
    display: none !important;
}

#toggleImagesBtn .icon-eye-off {
    display: none;
}

body.rmcc-images-hidden #toggleImagesBtn .icon-eye {
    display: none;
}

body.rmcc-images-hidden #toggleImagesBtn .icon-eye-off {
    display: inline-block;
}

body.rmcc-images-hidden .rmcc-card-top {
    display: block;
}

body.rmcc-images-hidden .rmcc-card-media {
    display: none !important;
}

.rmcc-index-card,
.rmcc-home-card,
.rmcc-action-card,
.rmcc-select-card,
.product-details-card,
.rmcc-info-card,
.rmcc-options-card,
.rmcc-settings-panel,
.rmcc-auth-modal__content,
.modal-content {
    background: var(--rmcc-card-bg);
    border-color: var(--rmcc-card-border);
}



/* =========================================================
   FILELIST / SPAREPARTS CARD
   ========================================================= */

.rmcc-filelist-card {
    border-radius: var(--rmcc-radius) !important;
    overflow: hidden;
    border: 1px solid var(--rmcc-card-border);
    background: var(--rmcc-card-bg);
}

.rmcc-filelist-card__head {
    padding: 1rem 1.25rem 0.9rem;
    background: var(--rmcc-card-bg);
    border-bottom: 1px solid var(--rmcc-card-border);
}

.rmcc-filelist-card__body {
    padding: 1rem !important;
    background: var(--rmcc-card-bg);
}

/* innere Accordions */
.rmcc-filelist-card .accordion-item {
    border-radius: var(--rmcc-radius) !important;
    overflow: hidden;
    border: 1px solid var(--rmcc-card-border) !important;
    background: var(--rmcc-card-bg);
    box-shadow: none;
}

.rmcc-filelist-card .accordion-button {
    background: var(--rmcc-card-bg);
    border: 0 !important;
    box-shadow: none !important;
}

.rmcc-filelist-card .accordion-button:not(.collapsed) {
    background: var(--rmcc-card-bg);
    box-shadow: none !important;
}

.rmcc-filelist-card .accordion-collapse,
.rmcc-filelist-card .accordion-body {
    background: var(--rmcc-card-bg);
}

/* Divider zwischen Items */
.rmcc-filelist-card .dropdown-divider {
    margin: 0.45rem 0 !important;
    opacity: 0.08;
}

.rmcc-filelist-card .accordion-body .list-group-item {
    font-size: 0.78rem;
    line-height: 1.35;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--rmcc-card-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0.5rem 0.9rem !important;
}
.rmcc-filelist-card .accordion-body .list-group-item:last-child {
    border-bottom: 0 !important;
}

.rmcc-filelist-card .accordion-body .list-accordion {
    font-size: 0.82rem;
}



.rmcc-accordion-title {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}

.rmcc-section-title {
  display: inline-flex;
  align-items: center;
}

.rmcc-accordion-title__icon {
  margin-right: 0.45rem;
  font-size: 1.3rem;
  font-weight: 500;
  flex: 0 0 auto;
  opacity: 0.95;
}

/* Light mode Farben */
.rmcc-accordion-title__icon.bi-rocket-takeoff { color: #29b8ce; }   /* Kurzanleitungen */
.rmcc-accordion-title__icon.bi-book { color: #4f7cff; }               /* Handbuch */
.rmcc-accordion-title__icon.bi-gear { color: #f08c2e; }               /* Ersatzteile */
.rmcc-accordion-title__icon.bi-clipboard-check { color: #8b5cf6; }    /* Protokolle */
.rmcc-accordion-title__icon.bi-lightning { color: #d4a017; }           /* Elektrik */
.rmcc-accordion-title__icon.bi-droplet { color: #0f9d8a; }             /* Hydraulik */
.rmcc-accordion-title__icon.bi-graph-up { color: #2e9f5b; }            /* Emissionsdaten */
.rmcc-accordion-title__icon.bi-shield-check { color: #d9534f; }        /* Sicherheit */
.rmcc-accordion-title__icon.bi-patch-check { color: #2f80ed; }         /* CE */
.rmcc-accordion-title__icon.bi-file-earmark-text { color: #6c7a89; }   /* Dokumente */

/* Dark mode leicht heller */
[data-bs-theme="dark"] .rmcc-accordion-title__icon.bi-rocket-takeoff { color: #29b8ce; }
[data-bs-theme="dark"] .rmcc-accordion-title__icon.bi-book { color: #7ea2ff; }
[data-bs-theme="dark"] .rmcc-accordion-title__icon.bi-gear { color: #ffad4d; }
[data-bs-theme="dark"] .rmcc-accordion-title__icon.bi-clipboard-check { color: #b18cff; }
[data-bs-theme="dark"] .rmcc-accordion-title__icon.bi-lightning { color: #ffd166; }
[data-bs-theme="dark"] .rmcc-accordion-title__icon.bi-droplet { color: #4fd1c5; }
[data-bs-theme="dark"] .rmcc-accordion-title__icon.bi-graph-up { color: #5ecf87; }
[data-bs-theme="dark"] .rmcc-accordion-title__icon.bi-shield-check { color: #ff7b72; }
[data-bs-theme="dark"] .rmcc-accordion-title__icon.bi-patch-check { color: #7db7ff; }
[data-bs-theme="dark"] .rmcc-accordion-title__icon.bi-file-earmark-text { color: #a8b3c2; }





#modal_preisberechnung .form-control.formx:required {
    border-width: 3px !important;
}

/* LIGHT MODE */
[data-bs-theme="light"] #modal_preisberechnung .form-control.formx:required {
    border-color: rgba(0, 0, 0, 0.18) !important;
}

[data-bs-theme="light"] #modal_preisberechnung .form-control.formx:required:hover {
    border-color: rgba(0, 0, 0, 0.28) !important;
}

[data-bs-theme="light"] #modal_preisberechnung .form-control.formx:required:focus {
    border-color: rgba(var(--bs-primary-rgb), 0.55) !important;
}

/* =========================================================
   RMCC PRIMARY BUTTON UI
   Gemeinsame CTA-Basis
   ========================================================= */

.rmcc-btn-primary-ui {
    border-radius: 999px !important;
    font-weight: 600;
    transition:
        background-color 0.18s ease,
        border-color 0.18s ease,
        box-shadow 0.18s ease,
        color 0.18s ease,
        transform 0.18s ease;
}

.rmcc-btn-primary-ui i {
    color: inherit !important;
}

[data-bs-theme="light"] .rmcc-btn-primary-ui {
    border: 1px solid transparent !important;
}

[data-bs-theme="light"] .rmcc-btn-primary-ui:hover,
[data-bs-theme="light"] .rmcc-btn-primary-ui:focus {
    border-color: rgba(0, 0, 0, 0.16) !important;
}

/* =========================================================
   RMCC MENU / HEADER / USER MENU / OFFCANVAS
   Bereinigte Endfassung
   ========================================================= */

/* ---------------------------------------------------------
   HEADER LAYOUT
   --------------------------------------------------------- */

.header-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: nowrap;
}

.rmcc-header-main {
    display: flex;
    align-items: center;
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
    gap: 0;
}

.rmcc-header-desktop-nav {
    flex: 1 1 auto;
    min-width: 0;
    flex-wrap: nowrap !important;
    overflow: hidden;
}

.rmcc-header-desktop-nav .nav-item {
    flex: 0 0 auto;
    white-space: nowrap;
}

.rmcc-header-actions {
    flex: 0 0 auto;
    margin-left: auto;
    white-space: nowrap;
    padding-right: 0.25rem;
}

/* ---------------------------------------------------------
   HEADER AREA
   --------------------------------------------------------- */

#headerArea {
    --rmcc-h-bg: var(--rmcc-header-bg);
    --rmcc-h-bg-scrolled: var(--rmcc-header-bg-scrolled);
    --rmcc-h-border: var(--rmcc-header-border);
    --rmcc-h-shadow: var(--rmcc-header-shadow);
    --rmcc-h-muted: var(--rmcc-text-muted);
    --rmcc-h-link-hover: var(--rmcc-link-hover);
}

#headerArea.header-area {
    position: sticky;
    top: 0;
    z-index: 1030;
    background: var(--rmcc-h-bg);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--rmcc-h-border);
    transition:
        box-shadow 0.2s ease,
        background 0.2s ease,
        border-color 0.2s ease;
}

#headerArea.header-area.is-scrolled {
    background: var(--rmcc-h-bg-scrolled);
    box-shadow: var(--rmcc-h-shadow);
}

#headerArea .header-content {
    min-height: 58px;
    padding: 0.35rem 0.8rem;
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    column-gap: 0.75rem;
}

#headerArea .breadcrumb-wrapper {
    border-top: 1px solid var(--rmcc-h-border);
    background: transparent;
}

#headerArea .breadcrumb {
    --bs-breadcrumb-divider: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16'%3E%3Cpath fill='currentColor' d='M6.2 12.6a.8.8 0 0 1 0-1.1L9.7 8 6.2 4.5a.8.8 0 1 1 1.1-1.1l4.1 4.1a.8.8 0 0 1 0 1.1l-4.1 4.1a.8.8 0 0 1-1.1 0z'/%3E%3C/svg%3E");
    margin: 0;
    padding: 0.35rem;
    font-size: 0.82rem;
    line-height: 1.25;
}

#headerArea .breadcrumb-item,
#headerArea .breadcrumb-item a {
    text-decoration: none !important;
    transition:
        color 0.18s ease,
        font-weight 0.18s ease;
}

#headerArea .breadcrumb-item a {
    color: var(--rmcc-h-muted);
    font-weight: 500;
}

#headerArea .breadcrumb-item a:hover {
    color: var(--rmcc-h-link-hover);
    font-weight: 650;
}

#headerArea .breadcrumb-item:last-child {
    color: var(--rmcc-h-link-hover);
    font-weight: 700;
}

#headerArea .breadcrumb-item + .breadcrumb-item::before {
    opacity: 0.55;
    transform: translateY(1px) scale(0.92);
}

.rmcc-header-brand {
    min-width: 0;
    max-width: 100%;
    line-height: 1;
    justify-self: start;
}

.rmcc-header-brand__logo {
    display: block;
    width: auto;
    max-width: 100%;
    height: 60px;
    object-fit: contain;
    object-position: left center;
}

#headerArea .navbar-nav {
    align-items: center;
}

#headerArea .navbar-nav .nav-item {
    display: flex;
    align-items: center;
}

#headerArea .navbar-nav .nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.4rem;
    padding: 0.4rem 0.65rem !important;
    border-radius: 12px;
    font-family: var(--rmcc-font-base);
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1;
    color: var(--rmcc-text);
    text-decoration: none;
    transition:
        background-color 0.18s ease,
        color 0.18s ease,
        box-shadow 0.18s ease,
        transform 0.18s ease;
}

#headerArea .navbar-nav .nav-link:hover,
#headerArea .navbar-nav .nav-link:focus {
    background: var(--rmcc-surface-soft);
    color: var(--bs-primary);
}

#headerArea .navbar-nav .nav-link.active,
#headerArea .navbar-nav .nav-link[aria-current="page"] {
    background: rgba(var(--bs-primary-rgb), 0.1);
    color: var(--bs-primary);
}

#headerArea .navbar-nav .dropdown-toggle::after,
.navbar .dropdown-toggle::after,
.rmcc-user-menu .dropdown-toggle::after {
    display: none;
}

#headerArea .navbar-nav .dropdown-menu,
.navbar .dropdown-menu,
.rmcc-user-menu .dropdown-menu {
    border-radius: var(--rmcc-radius);
    border: 1px solid var(--rmcc-card-border);
    background: var(--rmcc-card-bg);
    box-shadow: var(--rmcc-card-shadow-hover);
    padding: 0.5rem;
}

#headerArea .navbar-nav .dropdown-menu {
    margin-top: 0.45rem;
    min-width: 16rem;
}

#headerArea .navbar-nav .dropdown-menu .dropdown-item,
.navbar .dropdown-item,
.rmcc-user-menu .dropdown-item {
    border-radius: 12px;
    min-height: 2.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--rmcc-font-base);
    font-weight: 400;
}

#headerArea .navbar-nav .dropdown-menu .dropdown-item.active {
    background: rgba(var(--bs-primary-rgb), 0.08);
    color: var(--bs-body-color);
    box-shadow: inset 0 0 0 1px rgba(var(--bs-primary-rgb), 0.18);
}

.navbar .dropdown-item:hover,
.rmcc-user-menu .dropdown-item:hover {
    background: var(--rmcc-surface-soft);
}

.navbar .dropdown-divider,
.rmcc-user-menu .dropdown-divider {
    border-color: var(--rmcc-border);
}

/* ---------------------------------------------------------
   HEADER ACTIONS / MENU TRIGGER
   --------------------------------------------------------- */

.rmcc-header-menu-trigger {
    width: 2.5rem;
    height: 2.5rem;
    min-width: 2.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: end;
    margin-left: 0;
    border-radius: 999px;
    color: var(--bs-body-color);
    transition:
        background-color 0.18s ease,
        box-shadow 0.18s ease,
        color 0.18s ease;
}

.rmcc-header-menu-trigger:hover {
    background: var(--rmcc-surface-soft);
}

.rmcc-header-menu-trigger:focus,
.rmcc-header-menu-trigger:focus-visible {
    outline: none;
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.18);
}

/* ---------------------------------------------------------
   THEME TOGGLE
   --------------------------------------------------------- */

.theme-toggle,
.rmcc-theme-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.theme-toggle .theme-icon,
.rmcc-theme-toggle .theme-icon {
    width: 1.1rem;
    height: 1.1rem;
    flex-shrink: 0;
}

.theme-toggle .theme-label,
.rmcc-theme-toggle .theme-label {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.2rem 0.6rem;
    border-radius: 999px;
    background: var(--rmcc-surface-soft);
    color: var(--rmcc-text-muted);
    border: 1px solid var(--rmcc-border);
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    font-family: var(--rmcc-font-base);
}

.theme-pill,
.rmcc-theme-pill,
.theme-toggle .theme-cycle,
.theme-toggle .theme-reset,
.rmcc-theme-toggle .theme-cycle,
.rmcc-theme-toggle .theme-reset {
    border-radius: 999px !important;
}

/* ---------------------------------------------------------
   USER MENU
   --------------------------------------------------------- */

.rmcc-user-menu {
    justify-self: end;
}

.rmcc-user-menu .dropdown-menu {
    right: 0;
    left: auto;
    margin-right: 0;
    padding-bottom: 0.5rem;
}

.rmcc-user-menu .dropdown-menu li:last-child .dropdown-item {
    margin-bottom: 0.25rem;
}

@media (min-width: 992px) {
    .rmcc-user-menu .dropdown-menu {
        min-width: 18rem;
        max-width: calc(100vw - 2rem);
    }
}

.rmcc-user-menu .dropdown-item[data-theme-pick] {
    position: relative;
    border-radius: 12px;
    transition:
        background-color 0.18s ease,
        color 0.18s ease,
        box-shadow 0.18s ease,
        border-color 0.18s ease;
}

.rmcc-user-menu .dropdown-item[data-theme-pick][aria-selected="true"] {
    background: rgba(var(--bs-primary-rgb), 0.08);
    color: var(--bs-body-color);
    box-shadow: inset 0 0 0 1px rgba(var(--bs-primary-rgb), 0.18);
}

.rmcc-user-menu .dropdown-item[data-theme-pick][aria-selected="true"] .fw-semibold {
    color: var(--bs-body-color);
}

.rmcc-user-menu .dropdown-item[data-theme-pick][aria-selected="true"] small,
.rmcc-user-menu .dropdown-item[data-theme-pick][aria-selected="true"] .text-body-secondary {
    color: var(--rmcc-text-muted) !important;
}

.rmcc-user-menu .dropdown-item[data-theme-pick][aria-selected="true"]::after {
    content: "✓";
    margin-left: auto;
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1;
    opacity: 0.9;
}

.rmcc-user-menu .dropdown-item[data-theme-pick] small.ms-auto {
    margin-left: auto !important;
}

.rmcc-user-menu .dropdown-item[data-theme-pick][aria-selected="true"] small.ms-auto {
    margin-left: 0.5rem !important;
}

/* ---------------------------------------------------------
   USER AVATAR
   --------------------------------------------------------- */

.rmcc-user-avatar {
    border-radius: 999px;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    color: #fff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.rmcc-user-avatar--sm {
    width: 28px;
    height: 28px;
    min-width: 28px;
}

.rmcc-user-avatar--lg {
    width: 36px;
    height: 36px;
    min-width: 36px;
}

.rmcc-user-avatar__fallback {
    width: 100%;
    height: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--rmcc-font-base);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    color: #fff;
}

.rmcc-user-avatar--1 {
    background: #1a73e8;
}
.rmcc-user-avatar--2 {
    background: #d93025;
}
.rmcc-user-avatar--3 {
    background: #188038;
}
.rmcc-user-avatar--4 {
    background: #e37400;
}
.rmcc-user-avatar--5 {
    background: #9334e6;
}
.rmcc-user-avatar--6 {
    background: #00897b;
}
.rmcc-user-avatar--7 {
    background: #5f6368;
}
.rmcc-user-avatar--8 {
    background: #c5221f;
}

/* ---------------------------------------------------------
   MENU BADGES
   --------------------------------------------------------- */

.rmcc-header-badge {
    position: absolute;
    top: -0.2rem;
    right: -0.2rem;
    min-width: 1.1rem;
    height: 1.1rem;
    padding: 0 0.32rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1;
    background: var(--bs-danger) !important;
    color: #fff !important;
    box-shadow: 0 0 0 2px var(--bs-body-bg);
}

.rmcc-menu-offcanvas .nav-link .badge,
#mainNavOffcanvas .nav-link .badge {
    min-width: 1.2rem;
    height: 1.2rem;
    padding: 0 0.38rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1;
    background: var(--bs-danger) !important;
    color: #fff !important;
}

/* ---------------------------------------------------------
   OFFCANVAS MENU
   --------------------------------------------------------- */

#mainNavOffcanvas.offcanvas,
.rmcc-menu-offcanvas.offcanvas {
    width: min(88vw, 320px);
    background: var(--rmcc-card-bg);
    border-right: 1px solid var(--rmcc-card-border);
    z-index: 1080 !important;
    box-shadow: var(--rmcc-shadow-heavy);
}

.offcanvas-backdrop {
    z-index: 1070 !important;
}

#mainNavOffcanvas .offcanvas-header,
.rmcc-menu-offcanvas .offcanvas-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.86rem 1rem;
    border-bottom: 1px solid var(--rmcc-border);
}

#mainNavOffcanvas .offcanvas-title,
.rmcc-menu-offcanvas .offcanvas-title {
    font-family: var(--rmcc-font-base);
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--rmcc-text);
}

#mainNavOffcanvas .offcanvas-body,
.rmcc-menu-offcanvas .offcanvas-body {
    padding: 1rem;
    font-family: var(--rmcc-font-base);
}

.rmcc-menu-offcanvas__brand {
    flex: 0 0 auto;
    line-height: 1;
}

.rmcc-menu-offcanvas__brand-logo {
    display: block;
    width: auto;
    height: 26px;
    max-width: 100%;
    object-fit: contain;
}

#mainNavOffcanvas .nav,
.rmcc-menu-offcanvas .nav {
    gap: 0.3rem !important;
}

#mainNavOffcanvas .nav-link,
.rmcc-menu-offcanvas .nav-link {
    display: flex;
    align-items: center;
    min-height: 2.75rem;
    padding: 0.7rem 0.85rem;
    border-radius: 14px;
    color: var(--rmcc-text);
    font-family: var(--rmcc-font-base);
    font-size: 0.97rem;
    font-weight: 500;
    line-height: 1.2;
    text-decoration: none;
    transition:
        background-color 0.18s ease,
        color 0.18s ease,
        border-color 0.18s ease,
        transform 0.18s ease;
}

#mainNavOffcanvas .nav-link:hover,
#mainNavOffcanvas .nav-link:focus,
.rmcc-menu-offcanvas .nav-link:hover,
.rmcc-menu-offcanvas .nav-link:focus {
    background: var(--rmcc-surface-soft);
    color: var(--bs-primary);
}

#mainNavOffcanvas .nav-pills .nav-link.active,
.rmcc-menu-offcanvas .nav-pills .nav-link.active {
    background: rgba(var(--bs-primary-rgb), 0.1);
    color: var(--bs-primary);
    box-shadow: inset 0 0 0 1px rgba(var(--bs-primary-rgb), 0.18);
}

.rmcc-menu-offcanvas .collapse .nav {
    gap: 0.25rem !important;
}

.rmcc-menu-offcanvas .collapse .nav-link {
    min-height: 2.45rem;
    font-size: 0.93rem;
    border-radius: 12px;
}

.rmcc-menu-offcanvas [data-bs-toggle="collapse"] .bi-chevron-down {
    transition: transform 0.18s ease;
}

.rmcc-menu-offcanvas [data-bs-toggle="collapse"][aria-expanded="true"] .bi-chevron-down {
    transform: rotate(180deg);
}

.rmcc-menu-offcanvas a[data-bs-toggle="collapse"] {
    transition:
        background-color 0.18s ease,
        color 0.18s ease,
        border-color 0.18s ease,
        transform 0.18s ease;
}

.rmcc-menu-offcanvas a[data-bs-toggle="collapse"]:hover,
.rmcc-menu-offcanvas a[data-bs-toggle="collapse"]:focus {
    background: var(--rmcc-surface-soft);
    color: var(--bs-primary);
}

.rmcc-menu-offcanvas__divider {
    margin: 1rem 0;
    border-top: 1px solid var(--rmcc-border);
    opacity: 1;
}

.rmcc-menu-offcanvas__section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.75rem;
}

.rmcc-menu-offcanvas__section-head .fw-semibold {
    font-family: var(--rmcc-font-base);
    font-size: 0.95rem;
    font-weight: 400;
    letter-spacing: -0.01em;
    color: var(--rmcc-text);
}

.rmcc-menu-offcanvas__footer {
    border-top: 1px solid var(--rmcc-border);
}

.rmcc-menu-offcanvas__footer-links .nav-link {
    border-radius: 12px;
    min-height: 2.5rem;
    font-weight: 400;
    transition:
        background 0.18s ease,
        color 0.18s ease;
}

.rmcc-menu-offcanvas__footer-links .nav-link:hover {
    background: var(--rmcc-surface-soft);
    color: var(--bs-primary);
}

.rmcc-menu-offcanvas__social {
    display: flex;
    gap: 0.6rem;
}

.rmcc-menu-offcanvas__social a {
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--rmcc-surface-soft);
    color: var(--bs-body-color);
    transition: all 0.18s ease;
}

.rmcc-menu-offcanvas__social a:hover {
    background: rgba(var(--bs-primary-rgb), 0.12);
    color: var(--bs-primary);
    transform: translateY(-1px);
}

.rmcc-menu-offcanvas__copyright a {
    color: inherit;
}

.rmcc-menu-offcanvas__copyright a:hover {
    text-decoration: underline;
}

/* ---------------------------------------------------------
   THEME SHEET INSIDE OFFCANVAS
   --------------------------------------------------------- */

#mainNavOffcanvas [data-theme-sheet],
.rmcc-menu-offcanvas [data-theme-sheet],
.rmcc-theme-sheet {
    display: grid;
    gap: 0.65rem;
}

#mainNavOffcanvas [data-theme-sheet] .list-group-item,
.rmcc-menu-offcanvas [data-theme-sheet] .list-group-item,
.rmcc-theme-sheet .list-group-item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-height: 4.1rem;
    margin: 0;
    padding: 0.8rem 0.9rem !important;
    border: 1px solid var(--rmcc-border) !important;
    border-radius: 1rem !important;
    background: var(--rmcc-card-bg) !important;
    color: var(--rmcc-text) !important;
    font-family: var(--rmcc-font-base);
    box-shadow: none !important;
    transition:
        border-color 0.18s ease,
        background-color 0.18s ease,
        box-shadow 0.18s ease,
        transform 0.18s ease;
}

#mainNavOffcanvas [data-theme-sheet] .list-group-item:hover,
#mainNavOffcanvas [data-theme-sheet] .list-group-item:focus,
.rmcc-menu-offcanvas [data-theme-sheet] .list-group-item:hover,
.rmcc-menu-offcanvas [data-theme-sheet] .list-group-item:focus,
.rmcc-theme-sheet .list-group-item:hover,
.rmcc-theme-sheet .list-group-item:focus {
    border-color: var(--rmcc-border-strong) !important;
    background: var(--rmcc-surface-soft) !important;
    box-shadow: 0 0 0 0.15rem rgba(var(--bs-primary-rgb), 0.08) !important;
    transform: translateY(-1px);
}

#mainNavOffcanvas [data-theme-sheet] .list-group-item[aria-selected="true"],
.rmcc-menu-offcanvas [data-theme-sheet] .list-group-item[aria-selected="true"],
.rmcc-theme-sheet .list-group-item[aria-selected="true"] {
    border-color: rgba(var(--bs-primary-rgb), 0.28) !important;
    background: rgba(var(--bs-primary-rgb), 0.06) !important;
    box-shadow: 0 0 0 0.18rem rgba(var(--bs-primary-rgb), 0.1) !important;
}

.rmcc-theme-sheet__icon,
#mainNavOffcanvas [data-theme-sheet] .list-group-item > span:first-child,
.rmcc-menu-offcanvas [data-theme-sheet] .list-group-item > span:first-child {
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 0.95rem;
    border: 1px solid var(--rmcc-border-soft);
    background: var(--rmcc-surface-soft) !important;
    color: var(--bs-body-color);
}

#mainNavOffcanvas [data-theme-sheet] .list-group-item .fw-semibold,
#mainNavOffcanvas [data-theme-sheet] .list-group-item .small,
.rmcc-menu-offcanvas [data-theme-sheet] .list-group-item .fw-semibold,
.rmcc-menu-offcanvas [data-theme-sheet] .list-group-item .small,
.rmcc-theme-sheet .list-group-item .fw-semibold,
.rmcc-theme-sheet .list-group-item .small {
    font-family: var(--rmcc-font-base);
}

#mainNavOffcanvas [data-theme-sheet] .list-group-item .fw-semibold,
.rmcc-menu-offcanvas [data-theme-sheet] .list-group-item .fw-semibold,
.rmcc-theme-sheet .list-group-item .fw-semibold {
    font-size: 0.95rem;
    line-height: 1.15;
    color: var(--rmcc-text);
}

#mainNavOffcanvas [data-theme-sheet] .list-group-item .small,
.rmcc-menu-offcanvas [data-theme-sheet] .list-group-item .small,
.rmcc-theme-sheet .list-group-item .small {
    margin-top: 0.15rem;
    line-height: 1.2;
    color: var(--rmcc-text-muted) !important;
}

#mainNavOffcanvas [data-theme-sheet] .list-group-item .theme-check,
.rmcc-menu-offcanvas [data-theme-sheet] .list-group-item .theme-check,
.rmcc-theme-sheet .list-group-item .theme-check {
    opacity: 0;
    transform: scale(0.9);
    transition:
        opacity 0.18s ease,
        transform 0.18s ease;
}

#mainNavOffcanvas [data-theme-sheet] .list-group-item[aria-selected="true"] .theme-check,
.rmcc-menu-offcanvas [data-theme-sheet] .list-group-item[aria-selected="true"] .theme-check,
.rmcc-theme-sheet .list-group-item[aria-selected="true"] .theme-check {
    opacity: 1;
    transform: scale(1);
}

#mainNavOffcanvas [data-theme-reset],
.rmcc-menu-offcanvas [data-theme-reset],
.rmcc-theme-sheet__reset {
    border-radius: 999px !important;
    font-family: var(--rmcc-font-base);
    font-weight: 600;
    letter-spacing: 0.01em;
}

/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */

@media (min-width: 768px) {
    #headerArea .header-content {
        grid-template-columns: minmax(0, 1fr) auto;
    }
}

@media (max-width: 767.98px) {
    #headerArea .header-content {
        grid-template-columns: 1fr auto;
        column-gap: 0.5rem;
    }
}

@media (max-width: 575.98px) {
    #headerArea .container {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }

    #headerArea .header-content {
        min-height: 52px;
        padding: 0.25rem 0.8rem;
        grid-template-columns: 1fr auto;
        column-gap: 0.5rem;
    }

    .rmcc-header-brand__logo {
        height: 36px;
        max-width: 150px;
    }

    .rmcc-header-menu-trigger {
        width: 2.25rem;
        height: 2.25rem;
        min-width: 2.25rem;
    }

    #mainNavOffcanvas.offcanvas,
    .rmcc-menu-offcanvas.offcanvas {
        width: min(90vw, 320px);
    }

    #mainNavOffcanvas .offcanvas-header,
    .rmcc-menu-offcanvas .offcanvas-header {
        padding: 0.86rem 1rem;
    }

    #mainNavOffcanvas .offcanvas-body,
    .rmcc-menu-offcanvas .offcanvas-body {
        padding: 0.9rem;
    }

    #mainNavOffcanvas .nav-link,
    .rmcc-menu-offcanvas .nav-link {
        min-height: 2.6rem;
        padding: 0.68rem 0.8rem;
        font-size: 0.94rem;
    }

    #mainNavOffcanvas [data-theme-sheet] .list-group-item,
    .rmcc-menu-offcanvas [data-theme-sheet] .list-group-item,
    .rmcc-theme-sheet .list-group-item {
        min-height: 3.9rem;
        padding: 0.75rem 0.85rem !important;
    }

    .rmcc-theme-sheet__icon,
    #mainNavOffcanvas [data-theme-sheet] .list-group-item > span:first-child,
    .rmcc-menu-offcanvas [data-theme-sheet] .list-group-item > span:first-child {
        width: 2.2rem;
        height: 2.2rem;
    }

    .rmcc-menu-offcanvas__brand-logo {
        height: 32px;
    }
}

/* =========================================================
   HEADER DESKTOP TUNING
   ========================================================= */

#headerArea .header-content {
    min-height: 64px;
    padding: 0.45rem 1.1rem 0.45rem 0.8rem;
}

.rmcc-header-actions {
    padding-right: 0.65rem;
}

.rmcc-header-main {
    overflow: visible;
}

.rmcc-header-desktop-nav {
    overflow: visible;
}

/* =========================================================
   RMCC HOME + ACTION CARDS
   Gemeinsamer Endblock
   ========================================================= */
   
   
   

/* Card shell */
.rmcc-home-card,
.rmcc-action-card {
    display: block;
    position: relative;
    overflow: hidden;
    text-decoration: none !important;
    color: inherit !important;
    border: 1px solid var(--rmcc-card-border) !important;
    border-radius: var(--rmcc-radius) !important;
    background: var(--rmcc-card-bg);
    box-shadow: var(--rmcc-card-shadow);
    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease,
        border-color 0.18s ease,
        background 0.18s ease;
}

.rmcc-action-card.card {
    background: var(--rmcc-card-bg);
}

.rmcc-home-card:hover,
.rmcc-action-card:hover {
    transform: translateY(-3px);
    border-color: var(--rmcc-border-strong) !important;
    box-shadow: var(--rmcc-card-shadow-hover);
    text-decoration: none !important;
}

.rmcc-home-card:focus,
.rmcc-home-card:focus-visible,
.rmcc-home-card:focus-within,
.rmcc-action-card:focus,
.rmcc-action-card:focus-visible,
.rmcc-action-card:focus-within {
    outline: none;
    text-decoration: none !important;
    border-color: rgba(var(--bs-primary-rgb), 0.35) !important;
    box-shadow:
        var(--rmcc-card-shadow-hover),
        0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.15);
}

/* Inner layout */
.rmcc-home-card__inner,
.rmcc-action-card .card-body {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.5rem !important;
}

.rmcc-home-card__content,
.rmcc-action-card__content {
    flex: 1 1 auto;
    min-width: 0;
}

.rmcc-action-card__content .flex-grow-1 {
    min-width: 0;
}

/* Prevent text-decoration inside linked cards */
.rmcc-home-card__title,
.rmcc-home-card__text,
.rmcc-home-card__cta,
.rmcc-action-card__content h5,
.rmcc-action-card__content p,
.rmcc-action-card__content .rmcc-btn-pill {
    text-decoration: none !important;
}

/* Icon */
.rmcc-home-card__icon,
.rmcc-action-card__icon {
    width: 46px;
    height: 46px;
    min-width: 46px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    background: rgba(var(--bs-primary-rgb), 0.1);
    color: rgba(var(--bs-primary-rgb), 0.95);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}

.rmcc-home-card__icon i,
.rmcc-action-card__icon i {
    font-size: 1.25rem;
    line-height: 1;
}

.rmcc-home-card:hover .rmcc-home-card__icon,
.rmcc-action-card:hover .rmcc-action-card__icon,
.rmcc-home-card:focus-within .rmcc-home-card__icon,
.rmcc-action-card:focus-within .rmcc-action-card__icon {
    transform: scale(1.08);
    background: rgba(var(--bs-primary-rgb), 0.14);
    box-shadow: 0 0 18px rgba(var(--bs-primary-rgb), 0.18);
}

/* Title + text */
.rmcc-home-card__title,
.rmcc-action-card__content h5 {
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.01em;
    margin: 0 0 0.25rem 0 !important;
    color: var(--bs-body-color);
}

.rmcc-home-card__text,
.rmcc-action-card__content p.text-muted {
    font-size: 1rem;
    line-height: 1.35;
    color: var(--rmcc-text-muted) !important;
    margin: 0 0 1rem 0 !important;
}

/* CTA */
.rmcc-home-card__cta,
.rmcc-btn-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 48px;
    padding: 0.55rem 1rem !important;
    border-radius: 999px !important;
    border: 1px solid transparent;
    font-weight: 600;
    font-size: 1rem;
    line-height: 1;
    letter-spacing: 0.02em;
    text-decoration: none !important;
    background: var(--bs-primary) !important;
    color: #fff !important;
    box-shadow: 0 8px 20px rgba(var(--bs-primary-rgb), 0.22);
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease;
}

.rmcc-home-card__cta i,
.rmcc-btn-pill i {
    color: inherit !important;
}

.rmcc-home-card:hover .rmcc-home-card__cta,
.rmcc-home-card:focus-within .rmcc-home-card__cta,
.rmcc-action-card:hover .rmcc-btn-pill,
.rmcc-action-card:focus-within .rmcc-btn-pill {
    background-color: color-mix(in srgb, var(--bs-primary) 88%, white 12%) !important;
    border-color: color-mix(in srgb, var(--bs-primary) 78%, black 22%) !important;
    box-shadow:
        0 12px 28px rgba(var(--bs-primary-rgb), 0.3),
        0 4px 10px rgba(0, 0, 0, 0.1);
    color: #fff !important;
    transform: translateX(3px) translateY(-1px);
}

.rmcc-action-card .btn.rmcc-btn-pill {
    margin: 0;
}

/* XS compact layout */
@media (max-width: 575.98px) {
    .rmcc-page-head {
        margin-bottom: 1rem !important;
    }

    .rmcc-home-card,
    .rmcc-action-card {
        border-radius: var(--rmcc-radius) !important;
    }

    .rmcc-home-card__inner,
    .rmcc-action-card .card-body {
        padding: 0.9rem 1rem !important;
        gap: 0.8rem !important;
        align-items: flex-start;
    }

    .rmcc-home-card__icon,
    .rmcc-action-card__icon {
        width: 2.5rem;
        height: 2.5rem;
        min-width: 2.5rem;
    }

    .rmcc-home-card__icon i,
    .rmcc-action-card__icon i {
        font-size: 1.05rem;
    }

    .rmcc-home-card__title,
    .rmcc-action-card__content h5 {
        margin-bottom: 0.15rem !important;
        font-size: 1.02rem;
        line-height: 1.2;
    }

    .rmcc-home-card__text,
    .rmcc-action-card__content p.text-muted {
        margin-bottom: 0.55rem !important;
        font-size: 0.9rem;
        line-height: 1.3;
    }

    .rmcc-home-card__cta,
    .rmcc-btn-pill {
        min-height: 2.25rem;
        padding: 0.38rem 0.9rem !important;
        font-size: 0.88rem;
    }

    .rmcc-page .row.g-3 {
        --bs-gutter-y: 0.9rem;
        --bs-gutter-x: 0.9rem;
    }
}

@media (max-width: 575.98px) {
    /* Gesamtbereich kompakter */
    .file-list-area,
    .docu-customer,
    .filterDiv .card,
    .rmcc-static-section .rmcc-section-card {
        border-radius: var(--rmcc-radius) !important;
    }

    /* Weniger Abstand zwischen den Spalten/Zeilen */
    .file-list-area .row.g-3,
    .docu-customer .row.g-3,
    .filterDiv .row.g-3,
    .rmcc-static-section .row.g-3 {
        --bs-gutter-x: 0.6rem;
        --bs-gutter-y: 0.25rem;
    }

    /* Sektionsüberschrift kompakter */
    .filterDiv h5,
    .file-list-area h5,
    .rmcc-static-section h5 {
        margin-top: 0 !important;
        font-size: 1rem;
        line-height: 1.2;
        margin-bottom: 0.65rem !important;
    }

    /* Äußerer Card-Container kompakter */
    .filterDiv .card,
    .docu-customer,
    .file-list-area .card,
    .rmcc-static-section .rmcc-section-card {
        margin-top: 0.65rem !important;
        margin-bottom: 0.5rem !important;
        padding: 0 !important;
    }

    /* Gleicher Außenabstand links/rechts/oben/unten wie bei filterDiv */
    .rmcc-static-section .rmcc-section-card,
    .docu-customer .rmcc-section-card {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .rmcc-static-section .rmcc-section-card__body,
    .docu-customer .rmcc-section-card__body,
    .docu-customer .rmcc-section-card__body--compact {
        padding: 0.75rem !important;
    }

    /* Trenner zwischen Accordion-Items kleiner */
    .file-list-area .dropdown-divider,
    .filterDiv .dropdown-divider,
    .docu-customer .dropdown-divider {
        margin: 0.35rem 0 !important;
    }

    /* Accordion Item */
    .file-list-area .accordion-item,
    .filterDiv .accordion-item,
    .docu-customer .accordion-item {
        border-radius: 14px !important;
        overflow: hidden;
    }

    /* Accordion Kopf kompakter */
    .file-list-area .accordion-button,
    .filterDiv .accordion-button,
    .docu-customer .accordion-button {
        min-height: 2.5rem;
        padding: 0.25rem 0.75rem !important;
        font-size: 0.85rem;
        line-height: 1;
        gap: 0.25rem !important;
    }

    .file-list-area .accordion-button span:first-child,
    .filterDiv .accordion-button span:first-child,
    .docu-customer .accordion-button span:first-child {
        min-width: 0;
    }

    /* Badge kompakter */
    .file-list-area .accordion-button .badge,
    .filterDiv .accordion-button .badge,
    .docu-customer .accordion-button .badge {
        font-size: 0.68rem;
        line-height: 1;
        padding: 0.28rem 0.42rem !important;
        border-radius: 999px;
    }

    /* Accordion Body kompakter */
    .file-list-area .accordion-body,
    .filterDiv .accordion-body,
    .docu-customer .accordion-body {
        padding-top: 0.35rem !important;
        padding-bottom: 0.1rem !important;
    }

    /* Dateiliste kompakter */
    .file-list-area .list-group-item,
    .filterDiv .list-group-item,
    .file-list-area .list-accordion,
    .filterDiv .list-accordion,
    .docu-customer .list-group-item,
    .docu-customer .list-accordion {
        font-size: 0.82rem;
        line-height: 1.15;
    }

    .file-list-area .list-group-item,
    .filterDiv .list-group-item,
    .docu-customer .list-group-item {
        padding: 0.38rem 0.75rem !important;
    }

    /* Nur unterer Rand, enger */
    .file-list-area .list-group-item + .list-group-item,
    .filterDiv .list-group-item + .list-group-item,
    .docu-customer .list-group-item + .list-group-item {
        margin-top: 0 !important;
    }

    /* Chevron optisch etwas kleiner */
    .file-list-area .accordion-button::after,
    .filterDiv .accordion-button::after,
    .docu-customer .accordion-button::after {
        transform: scale(0.9);
    }
}
@media (max-width: 575.98px) {
    .rmcc-static-section .rmcc-section-card {
        margin-top: 0.65rem !important;
        margin-bottom: 0.5rem !important;
        padding: 0 !important;
    }

    .rmcc-static-section .rmcc-section-card__body,
    .rmcc-static-section .rmcc-section-card__body--compact {
        padding: 0.75rem 0 !important;
    }
}

@media (max-width: 575.98px) {
    .filterDiv .rmcc-section-card,
    .rmcc-static-section .rmcc-section-card {
        margin-top: 0.65rem !important;
        margin-bottom: 0.5rem !important;
        padding: 0 !important;
    }

    .filterDiv .rmcc-section-card__body,
    .rmcc-static-section .rmcc-section-card__body,
    .rmcc-static-section .rmcc-section-card__body--compact {
        padding: 0.75rem!important;
    }
    
      .rmcc-filelist-area > .container,
  .rmcc-section-wrap.container,
  .filterdiv-container.container {
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
  }
}

@media (max-width: 575.98px) {
    .product-details-card {
        padding: 0.35rem !important;
        border-radius: var(--rmcc-radius) !important;
    }

    .product-details-card .card-body {
        padding: 0.35rem !important;
        gap: 0.15rem !important;
    }

    .product-details-card h6 {
        margin-bottom: 0.35rem !important;
        font-size: 0.85rem;
        line-height: 1.2;
    }

    .product-details-card .rmcc-media {
        margin-bottom: 0.5rem !important;
        padding-top: 0;
        padding-bottom: 0;
    }

    .product-details-card .rmcc-machine-img {
        max-height: 72px;
        width: auto;
        object-fit: contain;
    }

    .product-details-card .machine-select {
        min-height: 2.2rem;
        font-size: 0.88rem;
        padding-top: 0.32rem !important;
        padding-bottom: 0.32rem !important;
    }
}

@media (max-width: 575.98px) {
    #modal_preisberechnung #price-tab-1 .table-responsive {
        padding-left: 0;
        padding-right: 0;
        overflow-x: hidden;
    }

    #modal_preisberechnung #price-tab-1 .table {
        margin-bottom: 0;
        table-layout: fixed;
        width: 100%;
    }

    #modal_preisberechnung #price-tab-1 .table td,
    #modal_preisberechnung #price-tab-1 .table th {
        padding-left: 0.2rem;
        padding-right: 0.2rem;
        vertical-align: top;
    }

    /* Artikelbeschreibung / Inhaltsblock */
    #modal_preisberechnung #price-tab-1 .table td .small,
    #modal_preisberechnung #price-tab-1 .table td div,
    #modal_preisberechnung #price-tab-1 .table td span {
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    /* Falls der Inhaltsblock selbst als Accordion/Detailbox gerendert wird */
    #modal_preisberechnung #price-tab-1 .accordion-body,
    #modal_preisberechnung #price-tab-1 .rmcc-price-accordion-body,
    #modal_preisberechnung #price-tab-1 .rmcc-price-detail {
        padding-left: 0.15rem !important;
        padding-right: 0.15rem !important;
        overflow-wrap: hidden;
    }
}

/* Detail-/Accordion-Zeile ohne Extra-Rahmen unten */
#modal_preisberechnung #price-tab-1 .accordion,
#modal_preisberechnung #price-tab-1 .accordion-item,
#modal_preisberechnung #price-tab-1 .accordion-body,
#modal_preisberechnung #price-tab-1 .rmcc-price-accordion-body,
#modal_preisberechnung #price-tab-1 .rmcc-price-detail {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* Beschreibung sauber umbrechen */
#modal_preisberechnung #price-tab-1 .accordion-body,
#modal_preisberechnung #price-tab-1 .accordion-body *,
#modal_preisberechnung #price-tab-1 .rmcc-price-detail,
#modal_preisberechnung #price-tab-1 .rmcc-price-detail *,
#modal_preisberechnung #price-tab-1 .table td,
#modal_preisberechnung #price-tab-1 .table td * {
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
}

/* Listen in der Beschreibung etwas kompakter, aber mit Luft */
#modal_preisberechnung #price-tab-1 .accordion-body ul,
#modal_preisberechnung #price-tab-1 .rmcc-price-detail ul {
    margin: 0;
    padding-left: 0.5rem;
}

#modal_preisberechnung #price-tab-1 .table > :not(caption) > * > * {
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}

#modal_preisberechnung #price-tab-1 .table tbody tr:last-child > * {
    border-bottom: 0 !important;
}

/* kleinerer Text im Detailblock */
#modal_preisberechnung #price-tab-1 .accordion-body,
#modal_preisberechnung #price-tab-1 .accordion-body *,
#modal_preisberechnung #price-tab-1 .rmcc-price-detail,
#modal_preisberechnung #price-tab-1 .rmcc-price-detail * {
    font-size: 0.62rem !important;
    line-height: 1.28 !important;
}

/* Titelzeilen im Detailblock etwas stärker lassen */
#modal_preisberechnung #price-tab-1 .accordion-body strong,
#modal_preisberechnung #price-tab-1 .rmcc-price-detail strong,
#modal_preisberechnung #price-tab-1 .accordion-body b,
#modal_preisberechnung #price-tab-1 .rmcc-price-detail b {
    font-size: 0.85rem !important;
    font-weight: 600;
}

/* letzter sichtbarer Rand unten weg */
#modal_preisberechnung #price-tab-1 .accordion-body,
#modal_preisberechnung #price-tab-1 .rmcc-price-detail {
    border-bottom: 0 !important;
}

#modal_preisberechnung #price-tab-1 .table tbody tr:last-child > td,
#modal_preisberechnung #price-tab-1 .table tbody tr:last-child > th {
    border-bottom: 0 !important;
}

#modal_preisberechnung #price-tab-1 .table-responsive,
#modal_preisberechnung #price-tab-1 .table,
#modal_preisberechnung #price-tab-1 .accordion,
#modal_preisberechnung #price-tab-1 .accordion-item {
    border-bottom: 0 !important;
    box-shadow: none !important;
}

#modal_preisberechnung #price-tab-1 [class*="detail"],
#modal_preisberechnung #price-tab-1 [class*="accordion"] {
    border-bottom-color: transparent !important;
}

@media (max-width: 575.98px) {
    #modal_preisberechnung #price-tab-1 .pt-3 > .row.g-3 {
        --bs-gutter-x: 0;
        --bs-gutter-y: 0.45rem;
    }

    #modal_preisberechnung #price-tab-1 .pt-3 > .row.g-3 > [class*="col-"] {
        width: 100%;
        flex: 0 0 100%;
        max-width: 100%;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 0.75rem;
        padding-top: 0.1rem;
        padding-bottom: 0.1rem;
    }

    #modal_preisberechnung #price-tab-1 .pt-3 > .row.g-3 .text-md-end {
        text-align: left !important;
    }

    #modal_preisberechnung #price-tab-1 .pt-3 > .row.g-3 > [class*="col-"] .small {
        margin-bottom: 0 !important;
        font-size: 0.8rem;
        line-height: 1.2;
        color: var(--bs-secondary-color) !important;
        flex: 1 1 auto;
        min-width: 0;
    }

    /* Standardwerte klein und muted */
    #modal_preisberechnung #price-tab-1 #rm_total_no_freight,
    #modal_preisberechnung #price-tab-1 #rm_total_discount,
    #modal_preisberechnung #price-tab-1 #rm_total_freight {
        margin-left: auto;
        text-align: right !important;
        white-space: nowrap;
        line-height: 1.2;
        font-size: 0.86rem !important;
        font-weight: 500 !important;
        color: var(--bs-secondary-color) !important;
        flex: 0 0 auto;
    }

    /* Nur Endsumme hervorheben */
    #modal_preisberechnung #price-tab-1 #rm_total_final {
        margin-left: auto;
        text-align: right !important;
        white-space: nowrap;
        line-height: 1.2;
        font-size: 1.02rem !important;
        font-weight: 700 !important;
        color: var(--bs-body-color) !important;
        flex: 0 0 auto;
    }

    #modal_preisberechnung #price-tab-1 .pt-3 > .row.g-3 > [class*="col-"]:last-child {
        padding-top: 0.35rem;
        margin-top: 0.15rem;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
    }
}

.rmcc-user-avatar--lg {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    flex: 0 0 40px;
}

.rmcc-user-avatar__fallback {
    line-height: 1;
}

.min-w-0 {
    min-width: 0;
}

/* =========================================================
   RMCC HEADER / OFFCANVAS FINAL
   bereinigt und entdoppelt
   ========================================================= */

/* globale Altlast aus navigation.php neutralisieren */
.rmcc-header-desktop-nav .nav-item,
.rmcc-menu-offcanvas .nav-item,
#mainNavOffcanvas .nav-item,
.rmcc-user-menu .nav-item {
    padding-left: 0 !important;
}

/* ---------- Header shell ---------- */
#headerArea .container.header-area-container,
#headerArea .container {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
}

#headerArea .header-content {
    min-height: 58px !important;
    padding: 0.35rem 0.8rem !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: 0.65rem !important;
}

.rmcc-header-main {
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    overflow: visible !important;
}

.rmcc-header-brand {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    line-height: 1 !important;
    margin-right: 0 !important;
}

.rmcc-header-brand__logo {
    display: block !important;
    width: auto !important;
    height: 44px !important;
    max-width: 100% !important;
    object-fit: contain !important;
}

/* ---------- Desktop nav ---------- */
.rmcc-header-desktop-nav {
    align-items: center !important;
    gap: 0.15rem !important;
    margin-left: 0.7rem !important;
    padding-left: 0 !important;
    overflow: visible !important;
}

.rmcc-header-desktop-nav .nav-item {
    display: flex !important;
    align-items: center !important;
}

.rmcc-header-desktop-nav .nav-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 34px !important;
    padding: 0.42rem 0.7rem !important;
    border-radius: 12px !important;
    font-size: 0.96rem !important;
    font-weight: 500 !important;
    line-height: 1.05 !important;
    color: var(--rmcc-text) !important;
    background: transparent !important;
    box-shadow: none !important;
}

.rmcc-header-desktop-nav .nav-link:hover,
.rmcc-header-desktop-nav .nav-link:focus {
    color: var(--bs-primary) !important;
    background: rgba(var(--bs-primary-rgb), 0.06) !important;
}

.rmcc-header-desktop-nav .nav-link.active,
.rmcc-header-desktop-nav .nav-link[aria-current="page"] {
    color: var(--bs-primary) !important;
    background: rgba(var(--bs-primary-rgb), 0.1) !important;
    padding: 0.42rem 0.7rem !important;
    border-radius: 12px !important;
    box-shadow: inset 0 0 0 1px rgba(var(--bs-primary-rgb), 0.16) !important;
}

/* ---------- Right actions ---------- */
.rmcc-header-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 0.45rem !important;
    padding-right: 0 !important;
    min-width: 0 !important;
}

.rmcc-theme-toggle,
.theme-toggle {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
}

.rmcc-theme-toggle .theme-cycle,
.theme-toggle .theme-cycle {
    width: 2.35rem !important;
    height: 2.35rem !important;
    min-width: 2.35rem !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
}

/* ---------- User pill / avatar ---------- */
.rmcc-theme-pill,
.theme-pill {
    min-height: 2.35rem !important;
    padding: 0.3rem 0.68rem !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.42rem !important;
    line-height: 1 !important;
}

.rmcc-user-avatar--sm {
    width: 1.8rem !important;
    height: 1.8rem !important;
    min-width: 1.8rem !important;
    flex: 0 0 1.8rem !important;
}

.rmcc-user-avatar--lg {
    width: 2.5rem !important;
    height: 2.5rem !important;
    min-width: 2.5rem !important;
    flex: 0 0 2.5rem !important;
}

.rmcc-user-avatar__fallback {
    line-height: 1 !important;
}

/* ---------- Mobile trigger ---------- */
.rmcc-header-menu-trigger {
    width: 2.5rem !important;
    height: 2.5rem !important;
    min-width: 2.5rem !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 999px !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--bs-body-color) !important;
    background: transparent !important;
    box-shadow: none !important;
}

.rmcc-header-menu-trigger:hover,
.rmcc-header-menu-trigger:focus {
    background: var(--rmcc-surface-soft) !important;
    box-shadow: none !important;
}

/* ---------- Offcanvas ---------- */
#mainNavOffcanvas.offcanvas,
.rmcc-menu-offcanvas.offcanvas {
    width: min(88vw, 320px) !important;
    background: var(--rmcc-card-bg) !important;
    border-right: 1px solid var(--rmcc-card-border) !important;
    box-shadow: var(--rmcc-shadow-heavy) !important;
}

#mainNavOffcanvas .offcanvas-header,
.rmcc-menu-offcanvas .offcanvas-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.75rem !important;
    padding: 0.86rem 1rem !important;
    border-bottom: 1px solid var(--rmcc-border) !important;
}

.rmcc-menu-offcanvas__brand {
    flex: 0 0 auto !important;
    line-height: 1 !important;
}

.rmcc-menu-offcanvas__brand-logo,
.rmcc-header-brand__logo {
    object-fit: contain !important;
}

#mainNavOffcanvas .offcanvas-body,
.rmcc-menu-offcanvas .offcanvas-body {
    padding: 1rem !important;
}

#mainNavOffcanvas .nav,
.rmcc-menu-offcanvas .nav {
    gap: 0.3rem !important;
}

#mainNavOffcanvas .nav-link,
.rmcc-menu-offcanvas .nav-link {
    display: flex !important;
    align-items: center !important;
    min-height: 2.75rem !important;
    padding: 0.7rem 0.85rem !important;
    border-radius: 14px !important;
    line-height: 1.2 !important;
}

.rmcc-menu-offcanvas .collapse .nav-link {
    min-height: 2.45rem !important;
    font-size: 0.93rem !important;
    border-radius: 12px !important;
}

/* ---------- Mobile / Tablet ---------- */
@media (max-width: 991.98px) {
    #headerArea .header-content {
        min-height: 48px !important;
        padding: 0.18rem 0.72rem !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        column-gap: 0.32rem !important;
    }

    .rmcc-header-brand__logo {
        height: 32px !important;
        max-width: 132px !important;
    }

    .rmcc-header-desktop-nav,
    .rmcc-user-menu,
    #headerArea .rmcc-theme-toggle {
        display: none !important;
    }

    .rmcc-header-actions {
        gap: 0 !important;
    }

    .rmcc-header-menu-trigger {
        display: inline-flex !important;
        width: 2.05rem !important;
        height: 2.05rem !important;
        min-width: 2.05rem !important;
    }

    #mainNavOffcanvas.offcanvas,
    .rmcc-menu-offcanvas.offcanvas {
        width: min(90vw, 320px) !important;
    }

    #mainNavOffcanvas .offcanvas-header,
    .rmcc-menu-offcanvas .offcanvas-header {
        padding: 0.86rem 1rem !important;
    }

    #mainNavOffcanvas .offcanvas-body,
    .rmcc-menu-offcanvas .offcanvas-body {
        padding: 0.9rem !important;
    }

    #mainNavOffcanvas .nav-link,
    .rmcc-menu-offcanvas .nav-link {
        min-height: 2.6rem !important;
        padding: 0.68rem 0.8rem !important;
        font-size: 0.94rem !important;
    }

    .rmcc-menu-offcanvas__brand-logo {
        height: 32px !important;
    }
}

/* ---------- Desktop ---------- */
@media (min-width: 992px) {
    #headerArea .header-content {
        min-height: 56px !important;
        padding: 0.32rem 0.75rem !important;
        column-gap: 0.55rem !important;
    }

    .rmcc-header-brand__logo {
        height: 42px !important;
    }

    .rmcc-header-desktop-nav {
        display: flex !important;
        margin-left: 0.55rem !important;
        gap: 0.08rem !important;
    }

    .rmcc-header-desktop-nav .nav-link {
        min-height: 32px !important;
        padding: 0.36rem 0.62rem !important;
        font-size: 0.95rem !important;
        line-height: 1.05 !important;
        border-radius: 11px !important;
    }

    .rmcc-header-desktop-nav .nav-link.active,
    .rmcc-header-desktop-nav .nav-link[aria-current="page"] {
        padding: 0.36rem 0.62rem !important;
        border-radius: 11px !important;
    }

    .rmcc-header-actions {
        gap: 0.38rem !important;
    }

    .rmcc-theme-toggle .theme-cycle,
    .theme-toggle .theme-cycle {
        width: 2.25rem !important;
        height: 2.25rem !important;
        min-width: 2.25rem !important;
    }

    .rmcc-theme-pill,
    .theme-pill {
        min-height: 2.25rem !important;
        padding: 0.26rem 0.6rem !important;
        gap: 0.38rem !important;
    }

    .rmcc-user-avatar--sm {
        width: 1.7rem !important;
        height: 1.7rem !important;
        min-width: 1.7rem !important;
        flex: 0 0 1.7rem !important;
    }

    .rmcc-header-menu-trigger {
        display: none !important;
    }

    .rmcc-user-menu,
    #headerArea .rmcc-theme-toggle {
        display: inline-flex !important;
    }
}

/* =========================================================
   RMCC BREADCRUMB EDGE ALIGN
   ========================================================= */

.breadcrumb-wrapper {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.breadcrumb-wrapper .container {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.breadcrumb-wrapper .breadcrumb {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.rmcc-filelist-card{
  border-radius: 18px;
}

.rmcc-setup-card{
  background: #fff;
  border: 1px solid #e3e6ea;
  border-radius: 16px;
  padding: 1rem;
}

.rmcc-setup-card__title{
  font-size: 1rem;
  font-weight: 500;
  color: #1f2430;
}

.rmcc-setup-card__btn{
  min-height: 42px;
  border-radius: 999px;
}

.rmcc-setup-box,
.rmcc-serial-box{
  border: 1px solid #e3e6ea;
  border-radius: 16px;
  padding: 1rem;
  height: 100%;
}

.rmcc-setup-box{
  background: #fff;
}

.rmcc-serial-box{
  background: #60686d;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 60px;
}

.rmcc-serial-box__title{
  font-size: 1.1rem;
  font-weight: 600;
  color: #fff !important;
  margin-bottom: 0;
}


.header-area,
#headerArea {
  z-index: 1030 !important;
}

.header-area .dropdown-menu,
#headerArea .dropdown-menu,
.rmcc-user-menu .dropdown-menu,
.dropdown-menu {
  z-index: 1040 !important;
}

.modal-backdrop {
  z-index: 1050 !important;
}

.modal,
.rmcc-auth-modal,
.modal.show {
  z-index: 1055 !important;
}

/* ---------- FilterDiv Buttons ---------- */
@media (max-width: 575.98px) {
  .filterdiv-container #filterBtnContainer{
    --bs-gutter-x: .45rem;
    --bs-gutter-y: .35rem;
  }

  .filterdiv-container #filterBtnContainer .btn{
    font-size: .74rem;
    line-height: 1.15;
    padding: .42rem .45rem;
    min-height: 2.2rem;
    font-weight: 600;
  }
}

/* =========================================================
   RMCC SELECT CARD COMPACT HEADER
   Name + Preis untereinander, insgesamt kompakter
   ========================================================= */

.rmcc-select-card .card-body{
  padding: .8rem .9rem .7rem !important;
}

.rmcc-card-head{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .28rem;
}

.rmcc-select-card .card-title{
  width: 100%;
  margin-bottom: 0 !important;
  font-size: 1rem;
  line-height: 1.28;
}

.rmcc-select-card .rmcc-card-price{
  display: block;
  width: 100%;
  font-size: .98rem;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}

.rmcc-select-card .small.text-muted{
  margin-bottom: .3rem !important;
  line-height: 1.15;
}

.rmcc-select-card .rmcc-card-content{
  padding-bottom: .85rem !important;
}

.rmcc-select-card .accordion-button{
  min-height: 2.5rem;
  padding-top: .6rem !important;
  padding-bottom: .6rem !important;
}

.rmcc-select-card .accordion-body{
  padding: .55rem .75rem !important;
}

.rmcc-select-card .rmcc-select-label{
  min-height: 2.45rem;
  padding-top: .5rem !important;
  padding-bottom: .5rem !important;
}

/* Bildbereich etwas kompakter */
.rmcc-select-card .rmcc-card-media{
  margin-bottom: 0;
}

.rmcc-select-card .rmcc-image-wrapper{
  border-radius: 14px;
}

/* XS noch kompakter */
@media (max-width: 575.98px) {
  .rmcc-select-card .card-body{
    padding: 0 .8rem .6rem !important;
  }

  .rmcc-card-head{
    gap: .2rem;
  }

  .rmcc-select-card .card-title{
    font-size: .95rem;
    line-height: 1.22;
  }

  .rmcc-select-card .rmcc-card-price{
    font-size: .92rem;
  }

  .rmcc-select-card .small.text-muted{
    margin-bottom: .22rem !important;
    font-size: .74rem;
  }

  .rmcc-select-card .rmcc-card-content{
    padding-bottom: .7rem !important;
  }

  .rmcc-select-card .accordion-button{
    min-height: 2.3rem;
    padding-top: .2rem !important;
    padding-bottom: .2rem !important;
    font-size: .88rem;
  }

  .rmcc-select-card .accordion-body{
    padding: .45rem .65rem !important;
  }

  .rmcc-select-card .rmcc-select-label{
    min-height: 2.25rem;
    font-size: .88rem;
  }
}

.rmcc-select-card .accordion-button{
  padding: .45rem .7rem !important;
}

.rmcc-select-card .accordion-body{
  padding: .35rem .7rem !important;
}

@media (max-width: 575.98px) {
  .rmcc-select-card .accordion-button{
    padding: .2rem .5rem !important;
  }

  .rmcc-select-card .accordion-body{
    padding: .38rem .5rem !important;
  }
}

  .rmcc-group-title{
    margin-top: 1.3rem;
    margin-bottom: .7rem !important;
  }

@media (max-width: 575.98px) {
  .rmcc-group-title{
    margin-top: .7rem;
    margin-bottom: .3rem !important;
  }
}
  
.rmcc-group-title + .row{
  margin-top: 0 !important;
}

#headerArea .breadcrumb-wrapper > .container{
  padding-left: 0 !important;
  padding-right: 0 !important;
}






/* =========================================================
   RMCC PRICE HEADER / MACHINE TABS
   Kleine Bereinigung
   ========================================================= */

/* Gesamtpreis-Zeile */
.rmcc-total-price{
  padding: .5rem 0 .45rem;
  gap: .75rem;
}

.rmcc-total-price > span:first-child{
  font-size: .95rem;
  line-height: 1.2;
}

.rmcc-total-price .form-group{
  margin-bottom: 0;
}

.rmcc-total-price #menu_listprice{
  min-height: 2rem;
  padding: 0 !important;
  font-size: .92rem !important;
  font-weight: 600;
  line-height: 1.2;
  box-shadow: none !important;
}

/* Machine Tabs */
#machineTabs{
  margin-top: .15rem;
  margin-bottom: 0;
  border-bottom: 0;
  gap: .35rem;
}

#machineTabs .nav-item{
  margin-bottom: 0;
}

#machineTabs .nav-link{
  min-height: 2.35rem;
  padding: .45rem .65rem !important;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
}

#machineTabs .tab-title{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#machineTabs .tab-price-badge{
  flex: 0 0 auto;
  margin-left: auto;
}

/* XS */
@media (max-width: 575.98px) {
  .rmcc-total-price{
    padding: .4rem 0 .35rem;
    gap: .5rem;
  }

  .rmcc-total-price > span:first-child{
    font-size: .88rem;
  }

  .rmcc-total-price #menu_listprice{
    min-height: 1.8rem;
    font-size: .85rem !important;
  }

  #machineTabs{
    gap: .25rem;
  }

  #machineTabs .nav-link{
    min-height: 2rem;
    padding: .35rem .45rem !important;
    font-size: .8rem !important;
    border-radius: 12px;
  }

  #machineTabs .tab-price-badge{
    padding: .12rem .35rem !important;
  }

  #machineTabs .rmcc-tab-sum{
    font-size: .68rem;
  }
}

/* =========================================================
   RMCC INLINE-STYLES AUS HTML GEZOGEN
   ========================================================= */

.rmcc-menu-listprice{
  font-size: .875rem !important;
  text-align: right !important;
  float: right;
  border: none !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

.rmcc-machine-tab-link{
  font-size: .875rem;
  font-weight: 500;
}

.rmcc-tab-sum{
  opacity: .85;
  font-weight: 600;
  white-space: nowrap;
}

.rmcc-user-menu-name{
  max-width: 12rem;
}

.rmcc-user-menu-email{
  max-width: 14rem;
}

/* XS */
@media (max-width: 575.98px){
  .rmcc-menu-listprice{
    font-size: .85rem !important;
  }
}

@media (max-width: 575.98px) {
  #modal_preisberechnung #price-tab-1 .table-responsive{
    margin-left: -.1rem;
    margin-right: -.1rem;
  }

  #modal_preisberechnung #price-tab-1 .table{
    table-layout: fixed;
    width: 100%;
    margin-bottom: 0;
  }

  #modal_preisberechnung #price-tab-1 .table th,
  #modal_preisberechnung #price-tab-1 .table td{
    padding: .18rem .22rem !important;
    font-size: .68rem;
    line-height: 1.15;
    vertical-align: top;
  }

  #modal_preisberechnung #price-tab-1 .table th{
    white-space: nowrap;
  }

  #modal_preisberechnung #price-tab-1 .table th.text-end,
  #modal_preisberechnung #price-tab-1 .table td.text-end{
    white-space: nowrap;
  }

  #modal_preisberechnung #price-tab-1 .table tbody td:nth-child(2),
  #modal_preisberechnung #price-tab-1 .table tbody td:nth-child(3),
  #modal_preisberechnung #price-tab-1 .table tbody td:nth-child(4),
  #modal_preisberechnung #price-tab-1 .table tbody td:nth-child(5){
    white-space: nowrap;
    font-size: .68rem;
  }

  #modal_preisberechnung #price-tab-1 .table tbody td:first-child{
    width: 30%;
  }
}

#modal_preisberechnung #price-tab-1 .table thead th{
  vertical-align: middle;
}

#modal_preisberechnung #price-tab-1 .table thead th:first-child{
  text-align: left !important;
}

#modal_preisberechnung #price-tab-1 .table thead th:not(:first-child){
  text-align: right !important;
}

/* kleiner Abstand zwischen Kopfzeile und erster Datenzeile */
#modal_preisberechnung #price-tab-1 .table tbody::before{
  content: "";
  display: block;
  height: .22rem;
}

@media (max-width: 575.98px) {
  /* Frachtzuschlag-Text etwas kleiner */
  #modal_preisberechnung #price-tab-1 .form-check-label{
    font-size: .9rem;
    line-height: 1.2;
  }

  #modal_preisberechnung #price-tab-1 .form-check .small.text-muted{
    font-size: .76rem;
    line-height: 1.25;
  }
}

@media (max-width: 575.98px) {
  #modal_preisberechnung #price-tab-1 .pt-3 > .row.g-3 > [class*="col-"]:last-child{
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .75rem;
    padding-top: .1rem;
    margin-top: 0.5rem;
    border-top: 0;
  }

  #modal_preisberechnung #price-tab-1 .pt-3 > .row.g-3 > [class*="col-"]:last-child .fw-bold:first-child,
  #modal_preisberechnung #price-tab-1 .pt-3 > .row.g-3 > [class*="col-"]:last-child strong{
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
    text-align: left !important;
    line-height: 1.2;
    white-space: nowrap;
  }

  #modal_preisberechnung #price-tab-1 #rm_total_final{
    margin-left: auto;
    text-align: right !important;
    white-space: nowrap;
    line-height: 1.2;
    flex: 0 0 auto;
  }
}


/* =========================================================
   CUSTOMER KNOWLEDGE SECTION SPACING
   ========================================================= */

.rmcc-section-wrap {
  margin-bottom: 1.25rem;
}

.rmcc-section-title {
  font-size: 1.2rem;
  line-height: 1.25;
  font-weight: 500;
  color: #1f2430;
  margin: 0 0 0.9rem;
}

.rmcc-section-card {
  padding: 1rem;
  margin-bottom: 0;
}

.rmcc-section-card__body {
  padding: 0;
}

.rmcc-section-card__body--compact {
  padding: 0.25rem;
}

[data-bs-theme="dark"] .rmcc-section-title {
  color: var(--rmcc-text);
}

/* xs */
@media (max-width: 575.98px) {
  .rmcc-section-wrap {
    margin-bottom: 1rem;
  }
    
  .rmcc-section-card__body {
    padding: 0.75rem !important;    
  }
    
  .rmcc-section-title {
    font-size: 1.1rem;
    margin: 0 0 0.75rem;
  }

  .rmcc-section-card {
    padding: 0.9rem;
  }

  .rmcc-section-card__body--compact {
    padding: 0.2rem;
  }

  .rmcc-filelist-card .row {
    --bs-gutter-x: 0.65rem;
    --bs-gutter-y: 0.75rem;
  }
}

.passwordle_link{
  text-decoration: none !important;
}


/* =========================================================
   RMCC DARK MODE FINAL
   konsolidierter Endblock – ganz unten einfügen
   ========================================================= */

[data-bs-theme="dark"] {
  --rmcc-text: #f3f6fb;
  --rmcc-text-muted: rgba(243, 246, 251, 0.72);
  --rmcc-text-soft: rgba(243, 246, 251, 0.64);

  --rmcc-border: rgba(255, 255, 255, 0.10);
  --rmcc-border-strong: rgba(255, 255, 255, 0.14);
  --rmcc-border-soft: rgba(255, 255, 255, 0.08);

  --rmcc-surface-main: #0f141c;
  --rmcc-surface-main-2: #121823;
  --rmcc-surface-main-3: #1a2230;
  --rmcc-surface-main-soft: rgba(255, 255, 255, 0.04);

  --rmcc-surface: #121823;
  --rmcc-surface-2: #1a2230;
  --rmcc-surface-3: rgba(255, 255, 255, 0.06);
  --rmcc-surface-soft: rgba(255, 255, 255, 0.03);
  --rmcc-surface-soft-2: rgba(255, 255, 255, 0.05);
  --rmcc-surface-soft-3: rgba(255, 255, 255, 0.025);

  --rmcc-bg-page-start: #0b0f16;
  --rmcc-bg-page-end: #0f141c;
  --rmcc-bg-card-grad-start: rgba(18, 24, 35, 0.98);
  --rmcc-bg-card-grad-end: rgba(15, 20, 28, 0.98);

  --rmcc-shadow-soft: 0 8px 22px rgba(0, 0, 0, 0.34);
  --rmcc-shadow-medium: 0 16px 38px rgba(0, 0, 0, 0.46);
  --rmcc-shadow-heavy: 0 28px 70px rgba(0, 0, 0, 0.58);

  --rmcc-header-border: rgba(255, 255, 255, 0.10);
  --rmcc-header-shadow: 0 14px 34px rgba(0, 0, 0, 0.44);
  --rmcc-link-hover: #29b8ce;

  --rmcc-footer-border: rgba(255, 255, 255, 0.10);
  --rmcc-footer-shadow: 0 -10px 28px rgba(0, 0, 0, 0.48);
  --rmcc-footer-shadow-scrolled: 0 -14px 36px rgba(0, 0, 0, 0.58);

  --rmcc-card-bg: var(--rmcc-surface-main-2);
  --rmcc-card-border: rgba(255, 255, 255, 0.10);
  --rmcc-card-shadow: 0 10px 28px rgba(0, 0, 0, 0.42);
  --rmcc-card-shadow-hover: 0 18px 44px rgba(0, 0, 0, 0.54);

  --rmcc-input-bg: #101722;
  --rmcc-input-border: rgba(255, 255, 255, 0.12);
  --rmcc-input-shadow: 0 2px 10px rgba(0, 0, 0, 0.24);

  --rmcc-pill-bg: rgba(141, 189, 255, 0.14);
  --rmcc-pill-color: #dbe9ff;

  --bs-body-bg: #0b0f16;
  --bs-body-color: #e7edf7;
  --bs-body-color-rgb: 231, 237, 247;

  --bs-secondary-color: #b2bccd;
  --bs-tertiary-color: #8d98aa;

  --bs-primary: #d2d8e2;
  --bs-primary-rgb: 210, 216, 226;
  --bs-secondary: #96a1b2;
  --bs-success: #52d6a2;
  --bs-info: #29b8ce;
  --bs-warning: #f2c35b;
  --bs-danger: #ff6f7d;

  --bs-secondary-bg: #121823;
  --bs-tertiary-bg: #1a2230;
  --bs-card-bg: #121823;
  --bs-modal-bg: #121823;
  --bs-dropdown-bg: #121823;
  --bs-offcanvas-bg: #121823;
  --bs-popover-bg: #121823;
  --bs-toast-bg: #121823;

  --bs-border-color: #2a3445;
  --bs-border-color-rgb: 42, 52, 69;
  --bs-border-color-translucent: rgba(255, 255, 255, 0.08);

  --bs-link-color: #d7deea;
  --bs-link-hover-color: #ffffff;
  --bs-link-color-rgb: 215, 222, 234;

  --bs-input-bg: #101722;
  --bs-input-color: #e7edf7;
  --bs-input-border-color: #2a3445;
  --bs-input-focus-border-color: #d2d8e2;
  --bs-input-placeholder-color: #8d98aa;
  --bs-form-select-bg: #101722;
  --bs-form-check-bg: #101722;

  --bs-table-striped-bg: rgba(255, 255, 255, 0.03);
  --bs-table-hover-bg: rgba(255, 255, 255, 0.05);
  --bs-table-border-color: #2a3445;

  --ui-surface: #121823;
  --ui-surface-2: #1a2230;
  --ui-surface-input: #101722;
  --ui-border: #2a3445;
  --ui-border-hover: rgba(255, 255, 255, 0.20);
  --ui-hover: rgba(255, 255, 255, 0.05);
  --ui-active: rgba(255, 255, 255, 0.08);

  --ui-focus-ring: rgba(255, 255, 255, 0.62);
  --ui-focus-glow: rgba(255, 255, 255, 0.16);
  --bs-focus-ring-color: var(--ui-focus-ring);

  --bs-accordion-bg: var(--ui-surface);
  --bs-accordion-border-color: var(--bs-border-color);
  --bs-accordion-btn-bg: var(--ui-surface);
  --bs-accordion-btn-color: var(--bs-body-color);
  --bs-accordion-active-bg: rgba(255, 255, 255, 0.04);
  --bs-accordion-active-color: var(--bs-body-color);
}

/* ---------- Base ---------- */

html,
body {
  min-height: 100%;
}

[data-bs-theme="dark"] html {
  background-color: var(--rmcc-bg-page-start);
}

[data-bs-theme="dark"] body {
  min-height: 100vh;
  background-color: var(--rmcc-bg-page-start);
  background-image: linear-gradient(
    180deg,
    var(--rmcc-bg-page-start) 0%,
    var(--rmcc-bg-page-end) 100%
  );
  background-repeat: no-repeat;
  background-size: 100% 100%;
  color: var(--rmcc-text);
}

[data-bs-theme="dark"] .page-content-wrapper,
[data-bs-theme="dark"] main,
[data-bs-theme="dark"] .container,
[data-bs-theme="dark"] .container-fluid {
  background: transparent !important;
}

[data-bs-theme="dark"] .rmcc-page-title,
[data-bs-theme="dark"] h1,
[data-bs-theme="dark"] h2,
[data-bs-theme="dark"] h3,
[data-bs-theme="dark"] h4,
[data-bs-theme="dark"] h5,
[data-bs-theme="dark"] h6 {
  color: var(--rmcc-text);
}

[data-bs-theme="dark"] .text-muted,
[data-bs-theme="dark"] .text-body-secondary,
[data-bs-theme="dark"] .small.text-muted,
[data-bs-theme="dark"] .list-accordion,
[data-bs-theme="dark"] .rmcc-page-meta__inner {
  color: var(--rmcc-text-muted) !important;
}

/* ---------- Generic cards ---------- */

[data-bs-theme="dark"] .rmcc-index-card,
[data-bs-theme="dark"] .rmcc-home-card,
[data-bs-theme="dark"] .rmcc-action-card,
[data-bs-theme="dark"] .rmcc-select-card,
[data-bs-theme="dark"] .product-details-card,
[data-bs-theme="dark"] .rmcc-info-card,
[data-bs-theme="dark"] .rmcc-options-card,
[data-bs-theme="dark"] .rmcc-settings-panel,
[data-bs-theme="dark"] .rmcc-auth-modal__content,
[data-bs-theme="dark"] .modal-content,
[data-bs-theme="dark"] .card {
  background: var(--rmcc-card-bg);
  border-color: var(--rmcc-card-border);
  box-shadow: var(--rmcc-card-shadow);
}

[data-bs-theme="dark"] .rmcc-home-card:hover,
[data-bs-theme="dark"] .rmcc-action-card:hover,
[data-bs-theme="dark"] .rmcc-select-card:hover,
[data-bs-theme="dark"] .product-details-card:hover {
  border-color: rgba(255, 255, 255, 0.16) !important;
  box-shadow: var(--rmcc-card-shadow-hover);
}

/* ---------- Header / breadcrumb / footer ---------- */

[data-bs-theme="dark"] #headerArea.header-area {
  background: color-mix(in srgb, var(--bs-body-bg) 88%, transparent);
  border-bottom-color: var(--rmcc-header-border);
  box-shadow: none;
}

[data-bs-theme="dark"] #headerArea.header-area.is-scrolled {
  background: color-mix(in srgb, var(--bs-body-bg) 94%, transparent);
  box-shadow: var(--rmcc-header-shadow);
}

[data-bs-theme="dark"] #headerArea .breadcrumb-wrapper {
  background: linear-gradient(180deg, rgba(255,255,255,.015), rgba(255,255,255,.008));
  border-top-color: rgba(255,255,255,.08);
}

[data-bs-theme="dark"] #headerArea .breadcrumb-item,
[data-bs-theme="dark"] #headerArea .breadcrumb-item a {
  color: rgba(255,255,255,.68);
}

[data-bs-theme="dark"] #headerArea .breadcrumb-item a:hover {
  color: #ffffff;
}

[data-bs-theme="dark"] #headerArea .breadcrumb-item:last-child {
  color: var(--rmcc-link-hover);
}

[data-bs-theme="dark"] .rmcc-footer-nav,
[data-bs-theme="dark"] .footer-nav-area,
[data-bs-theme="dark"] .rmcc-footer-meta {
    background: color-mix(in srgb, var(--bs-body-bg) 94%, transparent);
  border-top-color: var(--rmcc-footer-border);
}

[data-bs-theme="dark"] .rmcc-index-footer {
  color: rgba(243, 246, 251, 0.72);
}

[data-bs-theme="dark"] .rmcc-index-text {
  color: rgba(243, 246, 251, 0.72);
}

[data-bs-theme="dark"] .rmcc-index-footer,
[data-bs-theme="dark"] .rmcc-index-footer p {
  color: rgba(243, 246, 251, 0.78);
}

[data-bs-theme="dark"] .rmcc-index-footer a,
[data-bs-theme="dark"] .rmcc-index-footer a strong {
  color: #f3f6fb !important;
}

[data-bs-theme="dark"] .rmcc-index-footer a:hover,
[data-bs-theme="dark"] .rmcc-index-footer a:hover strong {
  color: #ffffff !important;
}

[data-bs-theme="dark"] .rmcc-index-subtitle {
  color: rgba(243, 246, 251, 0.72);
}

[data-bs-theme="dark"] .rmcc-floating-calc-btn {
  color: #fff;
background: #29b8ce;
}

[data-bs-theme="dark"] .rmcc-floating-calc-btn:hover {
  color: #fff;
background: #59b8ce;
}

[data-bs-theme="dark"] .rmcc-select-card:has(.btn-check:checked) {
  border-color: #29b8ce !important;
  box-shadow:
    0 0 0 1px rgba(41, 184, 206, 0.48),
    0 0 18px rgba(41, 184, 206, 0.14);
}

[data-bs-theme="dark"] .rmcc-select-card:has(.btn-check:checked) .rmcc-select-label {
  background-color: #29b8ce !important;
  border-color: #29b8ce !important;
  color: #ffffff !important;
}

/* ---------- Top nav + filter pills ---------- */

[data-bs-theme="dark"] #machineTabs .nav-link,
[data-bs-theme="dark"] #filterBtnContainer .btn,
[data-bs-theme="dark"] .btnx {
  background: rgba(255,255,255,.03);
  border-color: rgba(255,255,255,.18) !important;
  color: var(--rmcc-text);
  box-shadow: none;
}

[data-bs-theme="dark"] #machineTabs .nav-link:hover,
[data-bs-theme="dark"] #filterBtnContainer .btn:hover,
[data-bs-theme="dark"] .btnx:hover {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.28) !important;
  color: #fff;
}

[data-bs-theme="dark"] #machineTabs .nav-link.active,
[data-bs-theme="dark"] #filterBtnContainer .btn.active,
[data-bs-theme="dark"] .btnx.active {
  background: rgba(141, 189, 255, 0.14) !important;
  border-color: rgba(141, 189, 255, 0.34) !important;
  color: #e5efff !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.04),
    0 8px 20px rgba(0,0,0,.24);
}

[data-bs-theme="dark"] #machineTabs .tab-price-badge {
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.10);
  color: #f3f6fb !important;
  box-shadow: none;
}

/* ---------- Buttons ---------- */

[data-bs-theme="dark"] .btn-outline-secondary,
[data-bs-theme="dark"] .rmcc-setup-box .btn,
[data-bs-theme="dark"] .rmcc-setup-card__btn {
  background: transparent;
  border-color: rgba(255,255,255,.22);
  color: #dfe7f5;
}

[data-bs-theme="dark"] .btn-outline-secondary:hover,
[data-bs-theme="dark"] .rmcc-setup-box .btn:hover,
[data-bs-theme="dark"] .rmcc-setup-card__btn:hover {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.34);
  color: #fff;
}

[data-bs-theme="dark"] .rmcc-btn-primary-ui,
[data-bs-theme="dark"] .rmcc-home-card__cta,
[data-bs-theme="dark"] .rmcc-action-card .rmcc-btn-pill {
  background: #232b38 !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  color: #f3f5f8 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.03),
    0 8px 20px rgba(0,0,0,.24);
}

[data-bs-theme="dark"] .rmcc-btn-primary-ui:hover,
[data-bs-theme="dark"] .rmcc-home-card:hover .rmcc-home-card__cta,
[data-bs-theme="dark"] .rmcc-action-card:hover .rmcc-btn-pill {
  background: #2c3442 !important;
  border-color: rgba(255,255,255,.24) !important;
  color: #ffffff !important;
  box-shadow:
    0 10px 24px rgba(0,0,0,.30),
    0 0 0 1px rgba(255,255,255,.06);
}

[data-bs-theme="dark"] .btn {
  border-width: 1px;
  border-style: solid;
  border-color: rgba(255, 255, 255, 0.22) !important;
}

[data-bs-theme="dark"] .btn:hover,
[data-bs-theme="dark"] .btn:focus {
  border-color: rgba(255, 255, 255, 0.34) !important;
}


/* ---------- Form controls ---------- */

[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select,
[data-bs-theme="dark"] .machine-select.form-select,
[data-bs-theme="dark"] .rmcc-warranty-select.form-select {
  background: var(--ui-surface-input) !important;
  border-color: var(--ui-border) !important;
  color: #e7edf7 !important;
  -webkit-text-fill-color: #e7edf7;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.03),
    0 1px 2px rgba(0,0,0,.22);
}

[data-bs-theme="dark"] .form-control:hover,
[data-bs-theme="dark"] .form-select:hover,
[data-bs-theme="dark"] .machine-select.form-select:hover,
[data-bs-theme="dark"] .rmcc-warranty-select.form-select:hover {
  border-color: var(--ui-border-hover) !important;
  background: #151d2a !important;
}

[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus,
[data-bs-theme="dark"] .machine-select.form-select:focus,
[data-bs-theme="dark"] .rmcc-warranty-select.form-select:focus {
  border-color: rgba(255,255,255,.68) !important;
  background: #151d2a !important;
  color: #ffffff !important;
  box-shadow:
    0 0 0 0.2rem rgba(255,255,255,.10),
    0 0 1rem rgba(255,255,255,.05);
}

[data-bs-theme="dark"] .form-control::placeholder {
  color: #8d98aa !important;
}



/* Checkbox im Dark-Mode mit hellerem Rand */
[data-bs-theme="dark"] #modal_preisberechnung #price-tab-1 .form-check-input{
  background-color: transparent;
  border-color: rgba(255,255,255,.28) !important;
  box-shadow: none;
}

[data-bs-theme="dark"] #modal_preisberechnung #price-tab-1 .form-check-input:hover,
[data-bs-theme="dark"] #modal_preisberechnung #price-tab-1 .form-check-input:focus{
  border-color: rgba(255,255,255,.42) !important;
  box-shadow: 0 0 0 .12rem rgba(255,255,255,.06);
}

[data-bs-theme="dark"] #modal_preisberechnung #price-tab-1 .form-check-input:checked{
background-color: #29b8ce !important;
  border-color: rgba(var(--bs-primary-rgb), .95) !important;
}

[data-bs-theme="dark"] #modal_preisberechnung #price-tab-1 .form-check-input:not(:checked){
  background-color: transparent !important;
  border-color: rgba(255,255,255,.28) !important;
}

/* Dark-Mode: Slider auf Türkis */
[data-bs-theme="dark"] .form-range::-webkit-slider-thumb {
  background: #29b8ce;
  border: 0;
  box-shadow: 0 0 0 2px rgba(41, 184, 206, 0.18);
}

[data-bs-theme="dark"] .form-range:focus::-webkit-slider-thumb {
  background: #29b8ce;
  box-shadow:
    0 0 0 0.2rem rgba(41, 184, 206, 0.22),
    0 0 0 1px rgba(41, 184, 206, 0.45);
}

[data-bs-theme="dark"] .form-range:active::-webkit-slider-thumb {
  background: #29b8ce;
}

[data-bs-theme="dark"] .form-range::-moz-range-thumb {
  background: #29b8ce;
  border: 0;
  box-shadow: 0 0 0 2px rgba(41, 184, 206, 0.18);
}

[data-bs-theme="dark"] .form-range::-moz-range-progress {
  background: #29b8ce;
}

[data-bs-theme="dark"] .form-range::-moz-range-track {
  background: rgba(255, 255, 255, 0.10);
}


/* ---------- Accordion ---------- */

[data-bs-theme="dark"] .accordion-item {
  background: transparent;
  border-color: rgba(255,255,255,.10);
}

[data-bs-theme="dark"] .accordion-button {
  background: var(--ui-surface);
  color: var(--rmcc-text);
  border: 0;
  box-shadow: none;
}

[data-bs-theme="dark"] .accordion-button:hover {
  background: rgba(255,255,255,.03);
}

[data-bs-theme="dark"] .accordion-button:not(.collapsed) {
  background: rgba(255,255,255,.04);
  color: var(--rmcc-text);
  box-shadow: none;
}

[data-bs-theme="dark"] .accordion-button::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23edf2fa' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") !important;
}

[data-bs-theme="dark"] .accordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 11l6-6 6 6'/%3e%3c/svg%3e") !important;
}

/* ---------- Filelist cards ---------- */

[data-bs-theme="dark"] .rmcc-filelist-card,
[data-bs-theme="dark"] .rmcc-filelist-card__head,
[data-bs-theme="dark"] .rmcc-filelist-card__body,
[data-bs-theme="dark"] .rmcc-filelist-card .accordion-item,
[data-bs-theme="dark"] .rmcc-filelist-card .accordion-button,
[data-bs-theme="dark"] .rmcc-filelist-card .accordion-button:not(.collapsed),
[data-bs-theme="dark"] .rmcc-filelist-card .accordion-collapse,
[data-bs-theme="dark"] .rmcc-filelist-card .accordion-body {
  background: var(--rmcc-card-bg) !important;
}

[data-bs-theme="dark"] .rmcc-filelist-card {
  border-color: rgba(255,255,255,.10);
  box-shadow: var(--rmcc-card-shadow);
}

[data-bs-theme="dark"] .rmcc-filelist-card__head {
  border-bottom-color: rgba(255,255,255,.08);
}

[data-bs-theme="dark"] .rmcc-filelist-card .accordion-item {
  border-color: rgba(255,255,255,.10) !important;
}

[data-bs-theme="dark"] .rmcc-filelist-card .dropdown-divider {
  opacity: .10;
}

[data-bs-theme="dark"] .rmcc-filelist-card .accordion-body .list-group-item {
  background: transparent !important;
  color: var(--rmcc-text) !important;
  border-bottom-color: rgba(255,255,255,.08) !important;
}

[data-bs-theme="dark"] .rmcc-filelist-card .accordion-body .list-group-item:hover {
  background: rgba(255,255,255,.03) !important;
  color: #fff !important;
}

[data-bs-theme="dark"] .rmcc-filelist-card .accordion-body .list-accordion {
  color: var(--rmcc-text-muted) !important;
}

/* ---------- Customer knowledge special boxes ---------- */

[data-bs-theme="dark"] .rmcc-setup-box,
[data-bs-theme="dark"] .rmcc-serial-box,
[data-bs-theme="dark"] .rmcc-setup-card {
  background: var(--rmcc-surface-2);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 8px 22px rgba(0,0,0,.24);
}

[data-bs-theme="dark"] .rmcc-setup-box__title,
[data-bs-theme="dark"] .rmcc-serial-box__title,
[data-bs-theme="dark"] .rmcc-setup-card__title {
  color: var(--rmcc-text);
}

/* ---------- Home / action cards ---------- */

[data-bs-theme="dark"] .rmcc-home-card__title,
[data-bs-theme="dark"] .rmcc-action-card__content h5 {
  color: var(--rmcc-text);
}

[data-bs-theme="dark"] .rmcc-home-card__text,
[data-bs-theme="dark"] .rmcc-action-card__content p.text-muted {
  color: var(--rmcc-text-muted) !important;
}

[data-bs-theme="dark"] .rmcc-home-card__icon,
[data-bs-theme="dark"] .rmcc-action-card__icon,
[data-bs-theme="dark"] .rmcc-icon-pill,
[data-bs-theme="dark"] .rmcc-info-section-ico {
  background: rgba(141,189,255,.12);
  color: #dce9ff;
}

/* ---------- Offcanvas / menus ---------- */

[data-bs-theme="dark"] #mainNavOffcanvas.offcanvas,
[data-bs-theme="dark"] .rmcc-menu-offcanvas.offcanvas {
  background: var(--rmcc-card-bg);
  border-right-color: rgba(255,255,255,.08);
}

[data-bs-theme="dark"] #mainNavOffcanvas .nav-link,
[data-bs-theme="dark"] .rmcc-menu-offcanvas .nav-link,
[data-bs-theme="dark"] .rmcc-user-menu .dropdown-item {
  color: var(--rmcc-text);
}

[data-bs-theme="dark"] #mainNavOffcanvas .nav-link:hover,
[data-bs-theme="dark"] .rmcc-menu-offcanvas .nav-link:hover,
[data-bs-theme="dark"] .rmcc-user-menu .dropdown-item:hover {
  background: rgba(255,255,255,.05);
  color: #fff;
}

/* ---------- Info sections ---------- */

[data-bs-theme="dark"] .rmcc-info-section {
  background: rgba(255,255,255,.025);
  border-color: rgba(255,255,255,.08);
}

[data-bs-theme="dark"] .rmcc-info-list {
  color: var(--rmcc-text-muted);
}

/* ---------- Badges ---------- */

[data-bs-theme="dark"] .badge.text-bg-secondary {
  background: rgba(255,255,255,.14) !important;
  color: #f3f6fb !important;
  border: 1px solid rgba(255,255,255,.08);
}

[data-bs-theme="dark"] .badge.bg-danger {
  background: #e14658 !important;
  border-color: #e14658 !important;
  color: #fff !important;
}

[data-bs-theme="dark"] .badge.bg-success-subtle {
  background: rgba(82,214,162,.12) !important;
  color: #9ff0c9 !important;
  border-color: rgba(82,214,162,.38) !important;
}

/* ---------- Modal ---------- */

[data-bs-theme="dark"] .modal-content {
  background: linear-gradient(180deg, #121823 0%, #0f141c 100%);
  border-color: rgba(255,255,255,.10);
}

[data-bs-theme="dark"] .modal-header,
[data-bs-theme="dark"] .modal-footer {
  border-color: rgba(255,255,255,.08);
}

/* ---------- Disabled ---------- */

[data-bs-theme="dark"] .btn:disabled,
[data-bs-theme="dark"] .btn.disabled {
  opacity: .46;
  background: rgba(255,255,255,.05);
  border-color: rgba(255,255,255,.10);
  color: rgba(255,255,255,.44);
  box-shadow: none !important;
}

[data-bs-theme="dark"] .rmcc-lease-values .form-control[readonly] {
  background: #6c757d !important;
  border-color: #6c757d !important;
  color: #ffffff !important;
}

/* ---------- Mobile niceties ---------- */
@media (max-width: 575.98px) {
  [data-bs-theme="dark"] .rmcc-filelist-card,
  [data-bs-theme="dark"] .card,
  [data-bs-theme="dark"] .rmcc-setup-box,
  [data-bs-theme="dark"] .rmcc-serial-box {
    box-shadow: 0 6px 18px rgba(0,0,0,.26);
  }
}

/* ---------- Leasing badges ---------- */
/* =========================================================
   RMCC MODAL PREISBERECHNUNG - TAB 2 LEASING
   Einheitliche Badge/Value Styles
   ========================================================= */

[data-bs-theme="dark"] #modal_preisberechnung #price-tab-2 .rmcc-lease-badge,
[data-bs-theme="dark"] #modal_preisberechnung #price-tab-2 .rmcc-lease-values input.form-control.form-control-sm[readonly],
[data-bs-theme="dark"] #modal_preisberechnung #price-tab-2 #rate[readonly]{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 1.6rem !important;
  padding: 0.18rem 0.45rem !important;
  border: 0 !important;
  border-radius: 0.25rem !important;
  background: #6c757d !important;
  background-color: #6c757d !important;
  background-image: none !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  box-shadow: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  opacity: 1 !important;
}

[data-bs-theme="dark"] #modal_preisberechnung #price-tab-2 .rmcc-lease-values input.form-control.form-control-sm[readonly]:focus,
[data-bs-theme="dark"] #modal_preisberechnung #price-tab-2 .rmcc-lease-values input.form-control.form-control-sm[readonly]:hover,
[data-bs-theme="dark"] #modal_preisberechnung #price-tab-2 #rate[readonly]:focus,
[data-bs-theme="dark"] #modal_preisberechnung #price-tab-2 #rate[readonly]:hover{
  background: #6c757d !important;
  background-color: #6c757d !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

[data-bs-theme="dark"] #modal_preisberechnung #price-tab-2 #zeitraum_3,
[data-bs-theme="dark"] #modal_preisberechnung #price-tab-2 #sonderzahlung_3,
[data-bs-theme="dark"] #modal_preisberechnung #price-tab-2 #sonderzahlung_2,
[data-bs-theme="dark"] #modal_preisberechnung #price-tab-2 #rest_4,
[data-bs-theme="dark"] #modal_preisberechnung #price-tab-2 #rest_1,
[data-bs-theme="dark"] #modal_preisberechnung #price-tab-2 #zinssatz_3,
[data-bs-theme="dark"] #modal_preisberechnung #price-tab-2 #rate,
[data-bs-theme="dark"] #modal_preisberechnung #price-tab-1 #rm_discount_badge{
  background: #6c757d !important;
  background-color: #6c757d !important;
  background-image: none !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
}


/* =========================================================
   RMCC MODAL - REQUIRED FIELDS
   ========================================================= */

#modal_preisberechnung input[required],
#modal_preisberechnung select[required],
#modal_preisberechnung textarea[required]{
  transition:
    border-color .18s ease,
    box-shadow .18s ease,
    background-color .18s ease;
}

/* Light mode: etwas dunklerer Rand */
[data-bs-theme="light"] #modal_preisberechnung input[required],
[data-bs-theme="light"] #modal_preisberechnung select[required],
[data-bs-theme="light"] #modal_preisberechnung textarea[required]{
  border-color: rgba(0,0,0,.28) !important;
}

/* Dark mode: etwas hellerer Rand */
[data-bs-theme="dark"] #modal_preisberechnung input[required],
[data-bs-theme="dark"] #modal_preisberechnung select[required],
[data-bs-theme="dark"] #modal_preisberechnung textarea[required]{
  border-color: rgba(255,255,255,.30) !important;
}

/* Fokus: leichter Akzent */
#modal_preisberechnung input[required]:focus,
#modal_preisberechnung select[required]:focus,
#modal_preisberechnung textarea[required]:focus{
  box-shadow: 0 0 0 .14rem rgba(var(--bs-primary-rgb), .14) !important;
}

[data-bs-theme="light"] #modal_preisberechnung input[required]:focus,
[data-bs-theme="light"] #modal_preisberechnung select[required]:focus,
[data-bs-theme="light"] #modal_preisberechnung textarea[required]:focus{
  border-color: rgba(var(--bs-primary-rgb), .45) !important;
}

[data-bs-theme="dark"] #modal_preisberechnung input[required]:focus,
[data-bs-theme="dark"] #modal_preisberechnung select[required]:focus,
[data-bs-theme="dark"] #modal_preisberechnung textarea[required]:focus{
  border-color: rgba(255,255,255,.38) !important;
}




/* =========================================================
   RMCC PAGE LAYOUT
   ========================================================= */

.page-content-wrapper {
  position: relative;
  min-height: 100%;
}

.rmcc-page-container {
  width: 100%;
    padding-left: 0;
  padding-right: 0;  
    
}

.rmcc-page-head {
  margin: 0 0 1.25rem;
}

.rmcc-page-title {
    margin: 0;
    font-size: clamp(2rem, 2.7vw, 2.75rem);
    line-height: 1.08;
    font-weight: 600;
    letter-spacing: -0.03em;
    color: var(--rmcc-text);
}

.rmcc-page-intro {
  margin: 0 0 1rem;
}

.rmcc-page-toolbar {
  margin: 0 0 1.25rem;
}

.rmcc-page-content {
  margin: 0;
}

/* Mobile */
@media (max-width: 575.98px) {
  .rmcc-page-container {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  .rmcc-page-head {
    margin: 0 0 1rem;
  }

  .rmcc-page-title {
    font-size: 2rem;
    line-height: 1.08;
  }

  .rmcc-page-toolbar {
    margin: 0 0 1rem;
  }
}


