/* RPMotive v2.3.0 */
/* =============================================================
   RPMOTIVE — rpmotive.css
   Design: Automotive Dark + Red  |  Namespace: .rpm-*
   ============================================================= */

/* ── CSS Variables ──────────────────────────────────────────── */
:root {
    --rpm-primary:          #C10F1B;
    --rpm-primary-hover:    #a00d17;
    --rpm-primary-light:    rgba(193, 15, 27, 0.08);

    --rpm-dark:             #111111;
    --rpm-dark-2:           #1a1a1a;
    --rpm-dark-3:           #2a2a2a;
    --rpm-border:           #e8e8e8;
    --rpm-border-dark:      #333;

    --rpm-text:             #1a1a1a;
    --rpm-text-muted:       #6b7280;
    --rpm-text-light:       #9ca3af;

    --rpm-bg:               #f5f5f5;
    --rpm-bg-card:          #ffffff;
    --rpm-bg-filter:        #111111;

    --rpm-radius-sm:        4px;
    --rpm-radius:           8px;
    --rpm-radius-lg:        12px;

    --rpm-shadow-sm:        0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.05);
    --rpm-shadow:           0 4px 12px rgba(0,0,0,.08);
    --rpm-shadow-lg:        0 8px 32px rgba(0,0,0,.12);
    --rpm-shadow-card-hover:0 12px 40px rgba(0,0,0,.15);

    --rpm-font:             -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
    --rpm-transition:       0.2s ease;

    --rpm-badge-new:        #C10F1B;
    --rpm-badge-electric:   #059669;
    --rpm-badge-hybrid:     #0891b2;
}

/* ── Reset im Namespace ─────────────────────────────────────── */
.rpm-vehicles, .rpm-searchbar, .rpm-detail {
    font-family: var(--rpm-font);
    color: var(--rpm-text);
    box-sizing: border-box;
    line-height: 1.5;
}
.rpm-vehicles *, .rpm-searchbar *, .rpm-detail *,
.rpm-vehicles *::before, .rpm-vehicles *::after {
    box-sizing: inherit;
}
.rpm-vehicles a, .rpm-detail a { text-decoration: none; color: inherit; }

/* ── Buttons ────────────────────────────────────────────────── */
.rpm-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 11px 22px;
    border-radius: var(--rpm-radius-sm);
    font-family: var(--rpm-font);
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    cursor: pointer;
    border: 2px solid transparent;
    transition: all var(--rpm-transition);
    text-align: center;
    white-space: nowrap;
}
.rpm-btn--primary {
    background: var(--rpm-primary);
    color: #fff;
    border-color: var(--rpm-primary);
}
.rpm-btn--primary:hover, .rpm-btn--primary:focus {
    background: var(--rpm-primary-hover);
    border-color: var(--rpm-primary-hover);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(193,15,27,.3);
}
.rpm-btn--outline {
    background: transparent;
    color: var(--rpm-primary);
    border-color: var(--rpm-primary);
}
.rpm-btn--outline:hover {
    background: var(--rpm-primary);
    color: #fff;
}
.rpm-btn--ghost {
    background: transparent;
    color: var(--rpm-text-muted);
    border-color: transparent;
}
.rpm-btn--ghost:hover {
    color: var(--rpm-primary);
    background: var(--rpm-primary-light);
}
.rpm-btn--sm {
    padding: 7px 14px;
    font-size: 0.82rem;
}

/* ── Universal Focus Ring ─────────────────────────────────────── */
.rpm-btn:focus-visible,
.rpm-searchbar__select:focus-visible,
.rpm-searchbar__btn:focus-visible,
.rpm-filter__select:focus-visible,
.rpm-gallery__arrow:focus-visible,
.rpm-lightbox__close:focus-visible,
.rpm-lightbox__arrow:focus-visible,
.rpm-carousel__arrow:focus-visible,
.rpm-compare-btn:focus-visible,
.rpm-compare-bar__clear:focus-visible,
.rpm-watch-btn:focus-visible,
.rpm-price-alert__toggle:focus-visible,
.rpm-sold__submit:focus-visible,
.rpm-fab__btn:focus-visible,
.rpm-quiz__btn:focus-visible,
.rpm-pagination__link:focus-visible {
    outline: 2px solid var(--rpm-primary);
    outline-offset: 2px;
}
.rpm-compare-bar__clear:focus-visible,
.rpm-fab__btn:focus-visible {
    outline-color: #fff;
}
.rpm-price-alert__email:focus,
.rpm-sold__field input:focus {
    outline: none;
    border-color: var(--rpm-primary);
    box-shadow: 0 0 0 3px rgba(193,15,27,0.1);
}

/* ── Badges ─────────────────────────────────────────────────── */
.rpm-badge {
    display: inline-block;
    padding: 3px 8px;
    border-radius: var(--rpm-radius-sm);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    line-height: 1;
    color: #fff;
}
.rpm-badge--new      { background: var(--rpm-badge-new); }
.rpm-badge--electric { background: var(--rpm-badge-electric); }
.rpm-badge--hybrid   { background: var(--rpm-badge-hybrid); }

/* ============================================================
   SUCHLEISTE (Hero-Einbettung)
   Shortcode: [rpmotive view="searchbar"]
   ============================================================ */
.rpm-searchbar {
    background: rgba(17,17,17,0.92);
    backdrop-filter: blur(12px);
    border-radius: var(--rpm-radius-lg);
    padding: 20px 24px;
    box-shadow: var(--rpm-shadow-lg);
    max-width: 860px;
    width: 100%;
}
.rpm-searchbar__form {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}
.rpm-searchbar__fields {
    display: flex;
    flex: 1;
    gap: 10px;
    flex-wrap: wrap;
}
.rpm-searchbar__field {
    flex: 1;
    min-width: 130px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.rpm-searchbar__field--km { min-width: 110px; }
.rpm-searchbar__label {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(255,255,255,0.6);
}
.rpm-searchbar__select {
    width: 100%;
    padding: 9px 12px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: var(--rpm-radius-sm);
    color: #fff;
    font-size: 0.9rem;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    transition: border-color var(--rpm-transition);
}
.rpm-searchbar__select option { background: #1a1a1a; color: #fff; }
.rpm-searchbar__select:focus  { outline: none; border-color: var(--rpm-primary); }
.rpm-searchbar__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 24px;
    background: var(--rpm-primary);
    color: #fff;
    border: none;
    border-radius: var(--rpm-radius-sm);
    font-size: 0.9rem;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    transition: all var(--rpm-transition);
    height: 40px;
    flex-shrink: 0;
}
.rpm-searchbar__btn:hover { background: var(--rpm-primary-hover); }
.rpm-searchbar__count { opacity: 0.7; font-weight: 400; }

/* ============================================================
   FILTER-PANEL (Listenansicht)
   ============================================================ */
.rpm-vehicles__filter-wrap {
    background: var(--rpm-bg-filter);
    border-radius: var(--rpm-radius-lg);
    padding: 20px 24px;
    margin-bottom: 28px;
}
.rpm-filter__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 14px;
    margin-bottom: 14px;
}
.rpm-filter__group {
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.rpm-filter__label {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(255,255,255,0.6);
}
.rpm-filter__select {
    width: 100%;
    padding: 9px 12px;
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: var(--rpm-radius-sm);
    color: #fff;
    font-size: 0.88rem;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    transition: border-color var(--rpm-transition);
}
.rpm-filter__select option { background: #1a1a1a; color: #fff; }
.rpm-filter__select:focus   { outline: none; border-color: var(--rpm-primary); }
.rpm-filter__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 12px;
    border-top: 1px solid rgba(255,255,255,0.08);
}
.rpm-filter__count {
    font-size: 0.88rem;
    color: rgba(255,255,255,0.6);
}
.rpm-filter__count strong { color: #fff; }
.rpm-filter__reset {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.82rem;
    color: rgba(255,255,255,0.4);
    cursor: pointer;
    transition: color var(--rpm-transition);
}
.rpm-filter__reset:hover { color: var(--rpm-primary); }

/* ============================================================
   FAHRZEUGLISTE — GRID
   ============================================================ */
.rpm-vehicles__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 24px;
}
.rpm-vehicles__empty {
    text-align: center;
    padding: 60px 20px;
    color: var(--rpm-text-muted);
}
.rpm-vehicles__empty svg { margin-bottom: 16px; opacity: 0.3; }
.rpm-vehicles__empty h3  { font-size: 1.3rem; margin: 0 0 8px; color: var(--rpm-text); }
.rpm-vehicles__empty p   { margin: 0 0 24px; }

@media (min-width: 1281px) {
    .rpm-vehicles__grid,
    .rpm-vehicles__filter-wrap { max-width: 1400px; margin-left: auto; margin-right: auto; }
}

/* ============================================================
   FAHRZEUGKARTE
   ============================================================ */
.rpm-card {
    background: var(--rpm-bg-card);
    border-radius: var(--rpm-radius-lg);
    box-shadow: var(--rpm-shadow-sm);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--rpm-border);
    transition: box-shadow var(--rpm-transition), transform var(--rpm-transition);
}
.rpm-card:hover {
    box-shadow: var(--rpm-shadow-card-hover);
    transform: translateY(-3px);
}

/* Bild */
.rpm-card__image-link { display: block; position: relative; }
.rpm-card__image-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: var(--rpm-ratio-card, 4/3);
    background: #1a1a1a;
    overflow: hidden;
}
.rpm-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
    display: block;
}
.rpm-card:hover .rpm-card__img { transform: scale(1.03); }

.rpm-card__img-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #bbb;
    font-size: 0.8rem;
}

.rpm-card__img-count {
    position: absolute;
    bottom: 8px;
    right: 8px;
    background: rgba(0,0,0,0.65);
    color: #fff;
    font-size: 0.72rem;
    padding: 3px 7px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    gap: 4px;
}
.rpm-card__badges {
    position: absolute;
    top: 10px;
    left: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

/* Body */
.rpm-card__body {
    padding: 18px 20px 20px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.rpm-card__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 14px;
}
.rpm-card__header > .rpm-card__title { min-width: 0; flex: 1 1 0; }
.rpm-card__header > .rpm-card__price { flex: 0 0 auto; max-width: 50%; }
.rpm-card__title {
    font-size: 1rem;
    font-weight: 700;
    margin: 0;
    line-height: 1.35;
    flex: 1;
}
.rpm-card__title a { transition: color var(--rpm-transition); }
.rpm-card__title a:hover { color: var(--rpm-primary); }
.rpm-card__model {
    display: block;
    font-size: 0.85rem;
    font-weight: 400;
    color: var(--rpm-text-muted);
    margin-top: 2px;
}
.rpm-card__price {
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--rpm-primary);
    white-space: nowrap;
    text-align: right;
    min-width: 0;
    flex-shrink: 0;
}
.rpm-card__mwst {
    display: block;
    font-size: 0.65rem;
    color: var(--rpm-text-muted);
    font-weight: 400;
    text-align: right;
    white-space: normal;
    line-height: 1.3;
}

/* Specs */
.rpm-card__specs {
    list-style: none;
    padding: 0;
    margin: 0 0 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.rpm-card__spec {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #f5f5f5;
    border: 1px solid #ebebeb;
    padding: 4px 9px;
    border-radius: 20px;
    font-size: 0.78rem;
    color: var(--rpm-text-muted);
}
.rpm-card__spec-icon { color: var(--rpm-text-light); flex-shrink: 0; }
.rpm-card__spec-label { font-weight: 600; color: var(--rpm-text-muted); }
.rpm-card__spec-val { color: var(--rpm-text); }

/* CTA Button — immer unten, immer sichtbar */
.rpm-card__cta {
    width: 100% !important;
    justify-content: center !important;
    margin-top: auto !important;
    background: var(--rpm-primary, #C10F1B) !important;
    color: #fff !important;
    border-color: var(--rpm-primary, #C10F1B) !important;
    font-weight: 600 !important;
    padding: 14px 20px !important;
    border-radius: var(--rpm-radius, 8px) !important;
    transition: all 0.3s ease !important;
}
.rpm-card__cta:hover {
    background: var(--rpm-primary-hover, #a00d17) !important;
    color: #fff !important;
    box-shadow: 0 4px 16px rgba(193,15,27,0.4) !important;
    transform: translateY(-1px) !important;
}
.rpm-card__cta svg {
    stroke: #fff !important;
}

/* ============================================================
   PAGINATION
   ============================================================ */
.rpm-pagination {
    margin-top: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}
.rpm-pagination__controls {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
    justify-content: center;
}
.rpm-pagination__link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-width: 40px;
    height: 40px;
    padding: 0 16px;
    border-radius: 8px;
    border: 1px solid var(--rpm-border);
    background: var(--rpm-bg-card);
    color: var(--rpm-text);
    font-size: 0.88rem;
    font-weight: 500;
    text-align: center;
    justify-content: center;
    transition: all var(--rpm-transition);
    white-space: nowrap;
}
.rpm-pagination__link:hover:not(.rpm-pagination__link--disabled):not(.rpm-pagination__link--active) {
    border-color: var(--rpm-primary);
    color: var(--rpm-primary);
}
.rpm-pagination__link--active {
    background: var(--rpm-primary);
    border-color: var(--rpm-primary);
    color: #fff;
}
.rpm-pagination__link--disabled {
    opacity: 0.35;
    cursor: not-allowed;
    pointer-events: none;
}
.rpm-pagination__prev, .rpm-pagination__next {
    padding: 0 14px;
    font-weight: 600;
}
.rpm-pagination__ellipsis {
    display: inline-flex;
    align-items: center;
    min-width: 24px;
    justify-content: center;
    color: var(--rpm-text-light);
}
.rpm-pagination__info {
    font-size: 0.82rem;
    color: var(--rpm-text-light);
    margin: 0;
}

/* ============================================================
   DETAILANSICHT
   ============================================================ */
.rpm-detail {
    background: var(--rpm-bg);
    min-height: 60vh;
}

/* ── Dark Hero Header ──────────────────────────────────────── */
.rpm-detail__hero {
    background: var(--rpm-dark);
    padding: 24px 0 0;
    margin: -20px -20px 0;
    color: #fff;
}
.rpm-detail__hero-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px;
}

/* Breadcrumb */
.rpm-detail__nav {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
    font-size: 0.82rem;
    color: rgba(255,255,255,0.5);
}
.rpm-detail__back {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: rgba(255,255,255,0.6);
    font-weight: 500;
    transition: color var(--rpm-transition);
}
.rpm-detail__back:hover { color: var(--rpm-primary); }
.rpm-detail__back svg { stroke: currentColor; }
.rpm-detail__breadcrumb-sep { color: rgba(255,255,255,0.25); }
.rpm-detail__breadcrumb-current { color: rgba(255,255,255,0.8); font-weight: 500; }

/* Detail Header */
.rpm-detail__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
    padding-bottom: 24px;
    flex-wrap: wrap;
}
.rpm-detail__title-wrap { flex: 1; }
.rpm-detail__title {
    font-size: clamp(1.5rem, 3.5vw, 2.4rem);
    font-weight: 800;
    margin: 0 0 4px;
    line-height: 1.15;
    color: #fff;
}
.rpm-detail__make {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--rpm-primary);
    margin-bottom: 6px;
}
.rpm-detail__kategorie {
    margin: 8px 0 0;
    font-size: 0.85rem;
    color: rgba(255,255,255,0.6);
}
.rpm-detail__price-wrap {
    text-align: right;
    flex-shrink: 0;
    background: rgba(193, 15, 27, 0.1);
    border: 1px solid rgba(193, 15, 27, 0.25);
    border-radius: var(--rpm-radius);
    padding: 14px 20px;
}
.rpm-detail__price {
    font-size: clamp(1.8rem, 4vw, 2.6rem);
    font-weight: 900;
    color: var(--rpm-primary);
    line-height: 1;
}
.rpm-detail__mwst {
    font-size: 0.75rem;
    color: rgba(255,255,255,0.6);
    margin-top: 4px;
}

/* ── Detail Body: Gallery + Sidebar ────────────────────────── */
.rpm-detail__body {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 28px;
    margin-bottom: 32px;
    align-items: start;
    padding-top: 28px;
}

/* ── Galerie ───────────────────────────────────────────────── */
.rpm-gallery__main {
    position: relative;
    border-radius: var(--rpm-radius-lg);
    overflow: hidden;
    background: #0a0a0a;
    aspect-ratio: var(--rpm-ratio-gallery, 16/9);
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
}
.rpm-gallery__main-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    transition: opacity 0.25s;
    cursor: zoom-in;
}
.rpm-gallery__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0,0,0,0.55);
    backdrop-filter: blur(6px);
    border: 1px solid rgba(255,255,255,0.1);
    color: #fff;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--rpm-transition);
    z-index: 2;
    opacity: 0;
}
.rpm-gallery__main:hover .rpm-gallery__arrow { opacity: 1; }
.rpm-gallery__arrow:hover { background: var(--rpm-primary); border-color: var(--rpm-primary); }
.rpm-gallery__arrow--prev { left: 14px; }
.rpm-gallery__arrow--next { right: 14px; }
.rpm-gallery__counter {
    position: absolute;
    bottom: 14px;
    right: 14px;
    background: rgba(0,0,0,0.65);
    backdrop-filter: blur(6px);
    color: #fff;
    font-size: 0.78rem;
    font-weight: 600;
    padding: 5px 12px;
    border-radius: 20px;
    letter-spacing: 0.03em;
}
.rpm-gallery__thumbs {
    display: flex;
    gap: 8px;
    margin-top: 12px;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: thin;
    scrollbar-color: #444 transparent;
}
.rpm-gallery__thumb {
    flex-shrink: 0;
    width: 88px;
    height: 60px;
    border-radius: var(--rpm-radius);
    overflow: hidden;
    cursor: pointer;
    border: 2px solid transparent;
    padding: 0;
    transition: border-color var(--rpm-transition), opacity var(--rpm-transition);
    background: #1a1a1a;
    opacity: 0.55;
}
.rpm-gallery__thumb:hover      { opacity: 1; }
.rpm-gallery__thumb--active    { border-color: var(--rpm-primary); opacity: 1; }
.rpm-gallery__thumb img        { width: 100%; height: 100%; object-fit: cover; display: block; }

.rpm-detail__no-image {
    aspect-ratio: var(--rpm-ratio-gallery, 16/9);
    background: #1a1a1a;
    border-radius: var(--rpm-radius-lg);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: #555;
    font-size: 0.9rem;
}

/* ── Sidebar: Specs + Kontakt ──────────────────────────────── */
.rpm-detail__specs-card {
    background: var(--rpm-bg-card);
    border-radius: var(--rpm-radius-lg);
    border: 1px solid var(--rpm-border);
    padding: 24px;
    box-shadow: var(--rpm-shadow);
    transition: transform var(--rpm-transition), box-shadow var(--rpm-transition);
}
.rpm-detail__specs-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--rpm-shadow-lg);
}
.rpm-detail__contact-card {
    background: var(--rpm-dark);
    border-radius: var(--rpm-radius-lg);
    padding: 24px;
    margin-top: 16px;
    color: #fff;
    position: relative;
    overflow: hidden;
    transition: transform var(--rpm-transition), box-shadow var(--rpm-transition);
}
.rpm-detail__contact-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--rpm-primary);
}
.rpm-detail__section-title {
    font-size: 1rem;
    font-weight: 700;
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--rpm-primary);
    color: var(--rpm-dark);
    display: inline-block;
}
.rpm-detail__contact-card .rpm-detail__section-title {
    color: #fff;
    border-bottom-color: rgba(193,15,27,0.5);
}

/* Specs DL */
.rpm-specs { list-style: none; margin: 0; padding: 0; }
.rpm-specs__row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    padding: 9px 0;
    border-bottom: 1px solid #f0f0f0;
    font-size: 0.88rem;
}
.rpm-specs__row:last-child { border-bottom: none; }
.rpm-specs__label {
    color: var(--rpm-text-muted);
    flex-shrink: 0;
    font-size: 0.82rem;
}
.rpm-specs__val {
    font-weight: 600;
    color: var(--rpm-text);
    text-align: right;
}
/* Highlight-Zeile für Preis/Leistung */
.rpm-specs__row--highlight .rpm-specs__val {
    color: var(--rpm-primary);
    font-weight: 700;
}

/* Kontakt */
.rpm-detail__contact-hint {
    font-size: 0.88rem;
    color: rgba(255,255,255,0.6);
    margin: 0 0 18px;
    line-height: 1.5;
}
.rpm-detail__contact-btn {
    width: 100%;
    justify-content: center;
    margin-bottom: 10px;
}
.rpm-detail__contact-card .rpm-btn--primary {
    background: var(--rpm-primary);
    border-color: var(--rpm-primary);
    color: #fff;
}
.rpm-detail__contact-card .rpm-btn--outline {
    color: #fff;
    border-color: rgba(255,255,255,0.35);
    background: rgba(255,255,255,0.08);
}
.rpm-detail__contact-card .rpm-btn--outline:hover {
    background: rgba(255,255,255,0.15);
    border-color: rgba(255,255,255,0.5);
    color: #fff;
}
/* Ensure ALL buttons in contact card have white text */
.rpm-detail__contact-card .rpm-btn {
    color: #fff !important;
}
.rpm-detail__vehicle-id {
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid rgba(255,255,255,0.1);
    font-size: 0.75rem;
    color: rgba(255,255,255,0.5);
    text-align: center;
    letter-spacing: 0.04em;
}

/* Quick-Specs Bar (Detailseite) */
.rpm-detail__quick-specs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 16px 0;
}
.rpm-detail__quick-spec {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.1);
    padding: 8px 14px;
    border-radius: 24px;
    font-size: 0.82rem;
    color: rgba(255,255,255,0.75);
    font-weight: 500;
}
.rpm-detail__quick-spec svg { opacity: 0.5; }
.rpm-detail__quick-spec strong {
    color: #fff;
    font-weight: 700;
}

/* ── EnVKV Umwelt & Verbrauch ─────────────────────────────── */
.rpm-detail__envkv {
    background: var(--rpm-bg-card);
    border-radius: var(--rpm-radius-lg);
    border: 1px solid var(--rpm-border);
    padding: 28px 32px;
    box-shadow: var(--rpm-shadow-sm);
}
.rpm-envkv__co2-class {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--rpm-border);
    flex-wrap: wrap;
}
.rpm-envkv__co2-label {
    font-size: 0.85rem;
    color: var(--rpm-text-muted);
    font-weight: 500;
}
.rpm-envkv__co2-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    font-weight: 800;
    font-size: 1rem;
    color: #fff;
}
.rpm-envkv__co2-badge--a { background: #009640; }
.rpm-envkv__co2-badge--b { background: #4db848; }
.rpm-envkv__co2-badge--c { background: #b7d433; }
.rpm-envkv__co2-badge--d { background: #fff200; color: #333; }
.rpm-envkv__co2-badge--e { background: #f7a600; }
.rpm-envkv__co2-badge--f { background: #e7461c; }
.rpm-envkv__co2-badge--g { background: #c5161c; }
.rpm-envkv__co2-scale {
    display: flex;
    gap: 4px;
    margin-left: auto;
}
.rpm-envkv__scale-dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    font-size: 0.65rem;
    font-weight: 700;
    color: #fff;
    opacity: 0.35;
}
.rpm-envkv__scale-dot:nth-child(1) { background: #009640; }
.rpm-envkv__scale-dot:nth-child(2) { background: #4db848; }
.rpm-envkv__scale-dot:nth-child(3) { background: #b7d433; color: #333; }
.rpm-envkv__scale-dot:nth-child(4) { background: #fff200; color: #333; }
.rpm-envkv__scale-dot:nth-child(5) { background: #f7a600; }
.rpm-envkv__scale-dot:nth-child(6) { background: #e7461c; }
.rpm-envkv__scale-dot:nth-child(7) { background: #c5161c; }
.rpm-envkv__scale-dot--active { opacity: 1; transform: scale(1.25); box-shadow: 0 0 0 2px rgba(0,0,0,0.15); }
.rpm-envkv__hinweis {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--rpm-border);
    font-size: 0.75rem;
    line-height: 1.6;
    color: var(--rpm-text-muted);
}
.rpm-envkv__hinweis a {
    color: var(--rpm-primary);
    text-decoration: underline;
}

/* ── Card: EnVKV (legally required visibility) ─────────────── */
.rpm-card__envkv {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid var(--rpm-border);
    font-size: 11px;
    color: var(--rpm-text-muted);
}
.rpm-card__co2-class {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 3px;
    font-weight: 700;
    font-size: 12px;
    color: #fff;
}
.rpm-card__co2-class--a { background: #00a651; }
.rpm-card__co2-class--b { background: #50b848; }
.rpm-card__co2-class--c { background: #bdd630; color: #222; }
.rpm-card__co2-class--d { background: #fff200; color: #222; }
.rpm-card__co2-class--e { background: #fdb913; color: #222; }
.rpm-card__co2-class--f { background: #f37021; }
.rpm-card__co2-class--g { background: #ed1c24; }
.rpm-card__co2-value, .rpm-card__fuel { font-size: 11px; }

/* Beschreibung */
.rpm-detail__description {
    background: var(--rpm-bg-card);
    border-radius: var(--rpm-radius-lg);
    border: 1px solid var(--rpm-border);
    padding: 28px 32px;
    box-shadow: var(--rpm-shadow-sm);
}
.rpm-detail__desc-text {
    font-size: 0.9rem;
    line-height: 1.75;
    color: var(--rpm-text);
    max-width: 80ch;
}
.rpm-detail__desc-text ul {
    padding-left: 20px;
    margin: 8px 0;
}
.rpm-detail__desc-text li { margin-bottom: 4px; }
.rpm-detail__desc-text strong { font-weight: 700; }

/* ============================================================
   CAROUSEL
   ============================================================ */
.rpm-carousel {
    padding: 0;
    max-width: 100%;
    overflow: hidden;
}
.rpm-carousel__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    padding: 0 4px;
}
.rpm-carousel__title {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--rpm-text);
    margin: 0;
}
.rpm-carousel__nav {
    display: flex;
    gap: 8px;
}
.rpm-carousel__arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid var(--rpm-border);
    background: var(--rpm-bg-card);
    color: var(--rpm-text);
    cursor: pointer;
    transition: all 0.2s;
}
.rpm-carousel__arrow:hover {
    background: var(--rpm-primary);
    border-color: var(--rpm-primary);
    color: #fff;
}
.rpm-carousel__arrow:disabled {
    opacity: 0.3;
    pointer-events: none;
}

/* Track */
.rpm-carousel__track {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    padding: 4px 4px 16px;

    /* Scrollbar verstecken */
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.rpm-carousel__track::-webkit-scrollbar { display: none; }

/* Card */
.rpm-carousel__card {
    flex: 0 0 280px;
    scroll-snap-align: start;
    background: var(--rpm-bg-card);
    border-radius: var(--rpm-radius-lg);
    border: 1px solid var(--rpm-border);
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: transform 0.2s, box-shadow 0.2s;
    box-shadow: var(--rpm-shadow-sm);
}
.rpm-carousel__card:hover {
    transform: translateY(-4px);
    box-shadow: var(--rpm-shadow);
}

/* Card Image */
.rpm-carousel__img-wrap {
    position: relative;
    aspect-ratio: var(--rpm-ratio-card, 4/3);
    background: #1a1a1a;
    overflow: hidden;
    border-radius: 12px 12px 0 0;
}
.rpm-carousel__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.4s ease;
}
.rpm-carousel__card:hover .rpm-carousel__img { transform: scale(1.03); }
.rpm-carousel__img-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #555;
}
.rpm-carousel__badge {
    position: absolute;
    top: 8px;
    left: 8px;
}
.rpm-carousel__badge--fuel {
    top: auto;
    bottom: 8px;
    left: 8px;
}

/* Card Body */
.rpm-carousel__body {
    padding: 14px 16px 16px;
}
.rpm-carousel__make {
    font-size: 0.95rem;
    font-weight: 800;
    color: var(--rpm-text);
    line-height: 1.2;
}
.rpm-carousel__model {
    font-size: 0.8rem;
    color: var(--rpm-text-muted);
    margin-bottom: 10px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.rpm-carousel__price-row {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-bottom: 8px;
}
.rpm-carousel__price {
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--rpm-primary);
}
.rpm-carousel__mwst {
    font-size: 0.62rem;
    color: var(--rpm-text-light);
}
.rpm-carousel__specs {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 10px;
    font-size: 0.72rem;
    color: var(--rpm-text-muted);
}

/* "Alle anzeigen" Link */
.rpm-carousel__all-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 20px;
    padding: 0 4px;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--rpm-primary);
    text-decoration: none;
    transition: gap 0.2s;
}
.rpm-carousel__all-link:hover { gap: 10px; }

/* Fehler */
.rpm-error {
    background: #fff5f5;
    border: 1px solid #fed7d7;
    border-radius: var(--rpm-radius);
    padding: 24px 28px;
    color: #c53030;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
    .rpm-detail__body {
        grid-template-columns: 1fr;
    }
    .rpm-detail__sidebar {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }
    .rpm-detail__contact-card { margin-top: 0; }
    .rpm-detail__hero { margin: -20px -20px 0; }
}

@media (max-width: 767px) {
    .rpm-vehicles__filter-wrap { padding: 16px; }
    .rpm-filter__grid { grid-template-columns: 1fr 1fr; gap: 10px; }

    .rpm-vehicles__grid { grid-template-columns: 1fr 1fr; gap: 16px; }

    .rpm-carousel__card { flex: 0 0 240px; }
    .rpm-carousel__title { font-size: 1.25rem; }

    .rpm-searchbar { padding: 16px; border-radius: var(--rpm-radius); }
    .rpm-searchbar__fields { flex-direction: column; gap: 8px; }
    .rpm-searchbar__field { min-width: unset; }

    .rpm-detail__header { flex-direction: column; align-items: flex-start; }
    .rpm-detail__price-wrap { text-align: left; }
    .rpm-detail__sidebar { grid-template-columns: 1fr; }
    .rpm-detail__quick-specs { gap: 6px; }
    .rpm-detail__quick-spec { padding: 6px 10px; font-size: 0.78rem; }

    .rpm-gallery__thumb { width: 68px; height: 46px; }
    .rpm-gallery__arrow { opacity: 1; }
    .rpm-lightbox__close { width: 48px; height: 48px; }
}

@media (max-width: 480px) {
    .rpm-vehicles__grid { grid-template-columns: 1fr; }
    .rpm-filter__grid { grid-template-columns: 1fr; }

    .rpm-card__header { flex-direction: column; gap: 4px; }
    .rpm-card__price { text-align: left; font-size: 1.15rem; }

    .rpm-carousel__card { flex: 0 0 calc(100vw - 48px); }
    .rpm-carousel__track { gap: 12px; }
    .rpm-carousel__arrow { width: 36px; height: 36px; }
    .rpm-carousel__arrow svg { width: 16px; height: 16px; }

    .rpm-btn { min-height: 44px; }
    .rpm-btn--sm { min-height: 44px; }
    .rpm-searchbar__btn { height: 44px; }
    .rpm-pagination__link { min-width: 44px; height: 44px; }
    .rpm-carousel__arrow { width: 44px; height: 44px; }
    .rpm-searchbar__select,
    .rpm-filter__select { min-height: 44px; font-size: 16px; }
    .rpm-compare-btn { min-width: 44px; min-height: 44px; }
    .rpm-watch-btn--card { width: 44px; height: 44px; }

    .rpm-detail__hero { margin: -16px -16px 0; padding: 16px 0 0; }
    .rpm-detail__hero-inner { padding: 0 16px; }
    .rpm-detail__description, .rpm-detail__envkv { padding: 20px; }
    .rpm-detail__specs-card, .rpm-detail__contact-card { padding: 18px; }
    .rpm-envkv__co2-scale { margin-left: 0; }
}

/* ============================================================
   PRINT
   ============================================================ */
@media print {
    .rpm-vehicles__filter-wrap,
    .rpm-pagination,
    .rpm-gallery__thumbs,
    .rpm-gallery__arrow,
    .rpm-detail__contact-card { display: none !important; }
    .rpm-detail__body { grid-template-columns: 1fr; }
}

/* Dynamic filter loading state */
.rpm-searchbar__btn--loading {
    opacity: 0.7;
    pointer-events: none;
}
.rpm-searchbar__count {
    font-weight: 400;
    opacity: 0.8;
}

/* ============================================================
   SINGLE VEHICLE PAGE (Einzelansicht / Conversion Page)
   ============================================================ */
.rpm-single {
    max-width: 1200px;
    margin: 0 auto;
    padding: 100px 20px 60px;
    background: var(--rpm-bg);
}

/* ── Breadcrumb ───────────────────────────────────────────── */
.rpm-single__breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 24px;
    font-size: 0.82rem;
    color: var(--rpm-text-muted);
}
.rpm-single__back {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--rpm-text-muted);
    font-weight: 500;
    transition: color var(--rpm-transition);
}
.rpm-single__back:hover { color: var(--rpm-primary); }
.rpm-single__breadcrumb [aria-current] {
    color: var(--rpm-text);
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 400px;
}

/* ── Gallery ──────────────────────────────────────────────── */
.rpm-single__gallery {
    margin-bottom: 40px;
}
.rpm-single__gallery .rpm-gallery__main {
    aspect-ratio: var(--rpm-ratio-gallery, 16/9);
    border-radius: var(--rpm-radius-lg);
    overflow: hidden;
    background: #0a0a0a;
    box-shadow: 0 8px 32px rgba(0,0,0,0.18);
}

/* ── Content: 2-column layout ─────────────────────────────── */
.rpm-single__content {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 40px;
    margin-bottom: 40px;
    align-items: start;
}

/* ── Info Column (left) ───────────────────────────────────── */
.rpm-single__badge {
    display: inline-block;
    background: var(--rpm-primary);
    color: #fff;
    padding: 4px 12px;
    border-radius: var(--rpm-radius-sm);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 12px;
}
.rpm-single__badge--green {
    background: #059669;
}

.rpm-single__title {
    font-family: var(--rpm-font-heading, 'Saira Condensed');
    font-size: 36px;
    font-weight: 700;
    margin: 0 0 8px;
    line-height: 1.15;
    color: var(--rpm-text);
}

.rpm-single__price {
    font-family: var(--rpm-font-heading, 'Saira Condensed');
    font-size: 32px;
    font-weight: 700;
    color: var(--rpm-primary);
    margin: 0 0 4px;
    line-height: 1.1;
}

.rpm-single__monthly {
    font-size: 14px;
    color: var(--rpm-text-muted);
    margin: 0 0 8px;
}

.rpm-single__mwst-hint {
    font-size: 12px;
    color: var(--rpm-text-muted);
    margin: 0 0 24px;
}

/* Specs Grid */
.rpm-single__specs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 32px;
}
.rpm-single__spec {
    display: flex;
    flex-direction: column;
    padding: 12px;
    background: #fff;
    border: 1px solid var(--rpm-border);
    border-radius: var(--rpm-radius);
    transition: border-color var(--rpm-transition);
}
.rpm-single__spec:hover {
    border-color: rgba(193,15,27,0.25);
}
.rpm-single__spec-label {
    font-size: 12px;
    color: var(--rpm-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 4px;
}
.rpm-single__spec-value {
    font-size: 16px;
    font-weight: 600;
    color: var(--rpm-text);
}

/* ── Contact Card (right) ─────────────────────────────────── */
.rpm-single__contact {
    background: var(--rpm-dark);
    color: #fff;
    border-radius: 16px;
    padding: 32px;
    position: sticky;
    top: 100px;
    box-shadow: 0 12px 40px rgba(0,0,0,0.2);
}
.rpm-single__contact::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--rpm-primary);
    border-radius: 16px 16px 0 0;
}
.rpm-single__contact h3 {
    font-family: var(--rpm-font-heading, 'Saira Condensed');
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 20px;
}

/* Contact Person */
.rpm-single__contact-person {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}
.rpm-single__contact-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(255,255,255,0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.rpm-single__contact-avatar svg { color: rgba(255,255,255,0.5); }
.rpm-single__contact-name {
    display: block;
    font-size: 15px;
    font-weight: 600;
}
.rpm-single__contact-role {
    display: block;
    font-size: 13px;
    color: rgba(255,255,255,0.5);
}

/* CTA Buttons */
.rpm-single__contact-btns {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.rpm-single__contact-btns a,
.rpm-single__contact-btns a:link,
.rpm-single__contact-btns a:visited {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px;
    color: #fff !important;
    border-radius: 50px;
    font-family: var(--rpm-font-heading, 'Saira Condensed');
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    transition: transform 0.2s, box-shadow 0.2s, background 0.2s;
}
.rpm-single__contact-btns a:hover {
    transform: scale(0.97);
}

.rpm-single__cta-primary {
    background: var(--rpm-primary) !important;
    color: #fff !important;
}
.rpm-single__cta-primary:hover {
    box-shadow: 0 4px 16px rgba(193,15,27,0.4) !important;
    color: #fff !important;
}

.rpm-single__cta-secondary {
    background: rgba(255,255,255,0.08) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
}
.rpm-single__cta-secondary:hover {
    background: rgba(255,255,255,0.12) !important;
    color: #fff !important;
}

.rpm-single__cta-whatsapp {
    background: #25d366 !important;
    color: #fff !important;
}
.rpm-single__cta-whatsapp:hover {
    box-shadow: 0 4px 16px rgba(37,211,102,0.4) !important;
    color: #fff !important;
}

.rpm-single__cta-probefahrt {
    background: var(--rpm-primary) !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    padding: 16px !important;
}

.rpm-single__cta-outline {
    background: transparent !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
}
.rpm-single__cta-outline:hover {
    background: rgba(255,255,255,0.06) !important;
    color: #fff !important;
}

.rpm-single__vehicle-id {
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid rgba(255,255,255,0.1);
    font-size: 0.72rem;
    color: rgba(255,255,255,0.5);
    text-align: center;
    letter-spacing: 0.04em;
}

/* ── Sections (shared) ────────────────────────────────────── */
.rpm-single__section {
    background: var(--rpm-bg-card);
    border-radius: var(--rpm-radius-lg);
    border: 1px solid var(--rpm-border);
    padding: 28px 32px;
    box-shadow: var(--rpm-shadow-sm);
    margin-bottom: 24px;
}

/* ── Description & Equipment ──────────────────────────────── */
.rpm-single__desc-text {
    font-size: 0.9rem;
    line-height: 1.75;
    color: var(--rpm-text);
    max-width: 80ch;
    margin-bottom: 24px;
}

.rpm-single__specs-subtitle {
    font-size: 0.95rem;
    font-weight: 700;
    margin: 24px 0 12px;
    color: var(--rpm-text);
}

.rpm-single__full-specs {
    margin-bottom: 24px;
}

/* Equipment Tags */
.rpm-single__equipment {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
    padding-top: 20px;
    border-top: 1px solid var(--rpm-border);
}
.rpm-single__tag {
    padding: 6px 14px;
    background: var(--rpm-bg);
    border: 1px solid var(--rpm-border);
    border-radius: 20px;
    font-size: 13px;
    color: var(--rpm-text-muted);
    transition: border-color var(--rpm-transition), color var(--rpm-transition);
}
.rpm-single__tag:hover {
    border-color: var(--rpm-primary);
    color: var(--rpm-primary);
}

/* ── Similar Vehicles (carousel) ─────────────────────────── */
.rpm-similar-carousel {
    position: relative;
}
.rpm-similar-carousel .rpm-carousel__track {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 4px;
}
.rpm-similar-carousel .rpm-carousel__track::-webkit-scrollbar { display: none; }
.rpm-similar-carousel .rpm-carousel__track .rpm-card {
    flex: 0 0 calc(33.333% - 11px);
    min-width: 260px;
    scroll-snap-align: start;
}
.rpm-similar-carousel__nav {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    margin-bottom: 12px;
}

/* ── Trust Badge (Google Reviews) ────────────────────────── */
.rpm-single__trust {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(255,255,255,0.1);
    text-align: center;
}
.rpm-single__trust-stars {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex-wrap: wrap;
}
.rpm-single__google-icon {
    flex-shrink: 0;
}
.rpm-single__trust-rating {
    font-size: 14px;
    font-weight: 700;
    color: #fbbc05;
    letter-spacing: 0.02em;
}
.rpm-single__trust-count {
    font-size: 12px;
    color: rgba(255,255,255,0.5);
}
.rpm-single__trust-link {
    display: inline-block;
    margin-top: 6px;
    font-size: 12px;
    color: rgba(255,255,255,0.5);
    text-decoration: none;
    transition: color var(--rpm-transition);
}
.rpm-single__trust-link:hover {
    color: #fff;
}

/* ── Contact Avatar Image ────────────────────────────────── */
.rpm-single__contact-avatar-img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

/* ── Share Buttons ───────────────────────────────────────── */
.rpm-single__share {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 16px 24px;
}
.rpm-single__share-label {
    font-size: 14px;
    font-weight: 600;
    color: var(--rpm-text-muted);
    margin-right: 4px;
}
.rpm-single__share-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 500;
    font-family: var(--rpm-font);
    text-decoration: none;
    border: 1px solid var(--rpm-border);
    background: var(--rpm-bg);
    color: var(--rpm-text);
    cursor: pointer;
    transition: all var(--rpm-transition);
}
.rpm-single__share-btn:hover {
    border-color: var(--rpm-primary);
    color: var(--rpm-primary);
    transform: translateY(-1px);
}
.rpm-single__share-whatsapp:hover {
    border-color: #25d366;
    color: #25d366;
}

/* ── Final CTA ────────────────────────────────────────────── */
.rpm-single__final-cta {
    text-align: center;
    background: var(--rpm-dark);
    color: #fff;
    padding: 48px 32px;
    border-color: transparent;
}
.rpm-single__final-cta h2 {
    font-family: var(--rpm-font-heading, 'Saira Condensed');
    font-size: 28px;
    font-weight: 700;
    margin: 0 0 8px;
    color: #fff;
}
.rpm-single__final-cta p {
    color: rgba(255,255,255,0.6);
    margin: 0 0 24px;
    font-size: 0.95rem;
}
.rpm-single__final-cta-btn {
    font-size: 1.1rem;
    padding: 16px 32px;
    border-radius: 50px;
}
.rpm-single__final-cta-sub {
    font-size: 0.72rem;
    color: rgba(255,255,255,0.5);
    margin-top: 16px;
}

/* ── Lightbox ─────────────────────────────────────────────── */
.rpm-lightbox {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
}
.rpm-lightbox[aria-hidden="false"] {
    display: flex;
}
.rpm-lightbox__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.92);
    backdrop-filter: blur(8px);
}
.rpm-lightbox__img {
    position: relative;
    z-index: 1;
    max-width: 90vw;
    max-height: 85vh;
    object-fit: contain;
    border-radius: var(--rpm-radius);
    user-select: none;
}
.rpm-lightbox__close {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 2;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 50%;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    cursor: pointer;
    transition: background var(--rpm-transition);
}
.rpm-lightbox__close:hover { background: var(--rpm-primary); }
.rpm-lightbox__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 50%;
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    cursor: pointer;
    transition: background var(--rpm-transition);
}
.rpm-lightbox__arrow:hover { background: var(--rpm-primary); border-color: var(--rpm-primary); }
.rpm-lightbox__arrow--prev { left: 20px; }
.rpm-lightbox__arrow--next { right: 20px; }
.rpm-lightbox__counter {
    position: absolute;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    background: rgba(0,0,0,0.6);
    backdrop-filter: blur(6px);
    color: #fff;
    font-size: 0.85rem;
    font-weight: 600;
    padding: 6px 16px;
    border-radius: 20px;
}

/* ── Single Page Responsive ───────────────────────────────── */
@media (max-width: 1024px) {
    .rpm-single { padding: 80px 20px 40px; }
    .rpm-single__content { grid-template-columns: 1fr; gap: 24px; }
    .rpm-single__contact { position: static; }
    .rpm-similar-carousel .rpm-carousel__track .rpm-card { flex: 0 0 calc(50% - 8px); }
}

@media (max-width: 767px) {
    .rpm-single { padding: 70px 16px 32px; }
    .rpm-single__title { font-size: 28px; }
    .rpm-single__price { font-size: 26px; }
    .rpm-single__specs { grid-template-columns: 1fr; }
    .rpm-single__contact { padding: 24px; border-radius: 12px; }
    .rpm-similar-carousel .rpm-carousel__track .rpm-card { flex: 0 0 85%; min-width: 240px; }
    .rpm-single__section { padding: 20px; }
    .rpm-single__share { padding: 16px; }
    .rpm-single__final-cta { padding: 32px 20px; }
    .rpm-single__final-cta h2 { font-size: 24px; }
    .rpm-single__breadcrumb [aria-current] { max-width: 200px; }

    .rpm-lightbox__arrow { width: 44px; height: 44px; }
    .rpm-lightbox__arrow--prev { left: 10px; }
    .rpm-lightbox__arrow--next { right: 10px; }
    .rpm-lightbox__close { top: 12px; right: 12px; width: 40px; height: 40px; }
}

@media (max-width: 480px) {
    .rpm-single__specs { gap: 8px; }
    .rpm-single__spec { padding: 10px; }
    .rpm-single__spec-value { font-size: 14px; }
}

/* ============================================================
   SOLD VEHICLE PAGE
   ============================================================ */
.rpm-sold { max-width: 900px; margin: 0 auto; padding: 100px 20px 60px; }
.rpm-sold__badge { display: flex; align-items: center; gap: 8px; padding: 16px 20px; background: rgba(34,197,94,0.1); border: 1px solid rgba(34,197,94,0.3); border-radius: 12px; color: #22c55e; font-weight: 600; margin-bottom: 40px; }
.rpm-sold__speed { color: rgba(34,197,94,0.7); font-weight: 400; font-size: 14px; }

.rpm-sold__wunsch { background: #111; border-radius: 16px; padding: 40px; margin-bottom: 40px; }
.rpm-sold__wunsch h2 { font-family: var(--rpm-font-heading, 'Saira Condensed'); font-size: 28px; font-weight: 700; color: #fff; margin: 0 0 8px; }
.rpm-sold__wunsch p { color: rgba(255,255,255,0.6); margin: 0 0 24px; line-height: 1.6; }

.rpm-sold__wunsch-card { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; padding-bottom: 24px; border-bottom: 1px solid rgba(255,255,255,0.08); }
.rpm-sold__wunsch-photo { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
.rpm-sold__wunsch-info { display: flex; flex-direction: column; }
.rpm-sold__wunsch-info strong { color: #fff; font-size: 16px; }
.rpm-sold__wunsch-info span { color: rgba(255,255,255,0.5); font-size: 13px; }

.rpm-sold__form-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; margin-bottom: 20px; }
.rpm-sold__field { position: relative; }
.rpm-sold__field label { display: block; color: rgba(255,255,255,0.5); font-size: 12px; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 6px; }
.rpm-sold__field input { width: 100%; padding: 12px 14px; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); border-radius: 8px; color: #fff; font-size: 15px; font-family: inherit; transition: border-color 0.2s; }
.rpm-sold__field input:focus { outline: none; border-color: var(--rpm-primary, #C10F1B); }
.rpm-sold__field--prefilled input { background: rgba(34,197,94,0.08); border-color: rgba(34,197,94,0.3); color: #22c55e; }
.rpm-sold__field-check { position: absolute; right: 12px; top: 34px; color: #22c55e; font-size: 14px; }

.rpm-sold__form-actions { display: flex; align-items: center; gap: 16px; }
.rpm-sold__submit { background: var(--rpm-primary, #C10F1B); color: #fff; border: none; padding: 14px 28px; border-radius: 50px; font-family: var(--rpm-font-heading, 'Saira Condensed'); font-weight: 600; font-size: 16px; cursor: pointer; transition: transform 0.2s, box-shadow 0.2s; }
.rpm-sold__submit:hover { transform: scale(0.96); box-shadow: 0 4px 20px rgba(193,15,27,0.4); }
.rpm-sold__form-note { color: rgba(255,255,255,0.55); font-size: 13px; }

.rpm-sold__contact-row { display: flex; align-items: center; gap: 16px; margin-top: 20px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,0.08); }
.rpm-sold__contact-row span { color: rgba(255,255,255,0.55); font-size: 14px; }
.rpm-sold__contact-link { color: #fff; text-decoration: none; font-size: 14px; padding: 8px 16px; border-radius: 50px; background: rgba(255,255,255,0.06); transition: background 0.2s; }
.rpm-sold__contact-link:hover { background: rgba(255,255,255,0.12); }
.rpm-sold__contact-whatsapp { background: rgba(37,211,102,0.15); }
.rpm-sold__contact-whatsapp:hover { background: rgba(37,211,102,0.25); }

.rpm-sold__similar { margin-bottom: 40px; }
.rpm-sold__similar h3 { font-family: var(--rpm-font-heading, 'Saira Condensed'); font-size: 22px; color: #222; margin: 0 0 20px; }
.rpm-sold__similar-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }

.rpm-sold__back { text-align: center; }
.rpm-sold__back a { color: var(--rpm-primary, #C10F1B); text-decoration: none; font-weight: 600; }
.rpm-sold__back a:hover { text-decoration: underline; }

@media (max-width: 767px) {
    .rpm-sold__form-grid { grid-template-columns: 1fr; }
    .rpm-sold__wunsch { padding: 24px; }
    .rpm-sold__form-actions { flex-direction: column; align-items: stretch; }
    .rpm-sold__contact-row { flex-wrap: wrap; }
}

/* ============================================================
   FINANCING MODULE (PAngV)
   ============================================================ */
.rpm-financing { margin: 24px 0; background: #111; border-radius: 12px; overflow: hidden; }
.rpm-financing__header { padding: 20px 24px; background: linear-gradient(135deg, var(--rpm-primary, #C10F1B), #8a0b14); display: flex; justify-content: space-between; align-items: center; }
.rpm-financing__monthly { font-family: var(--rpm-font-heading, 'Saira Condensed'); font-size: 28px; font-weight: 700; color: #fff; }
.rpm-financing__monthly small { font-size: 14px; font-weight: 400; opacity: 0.8; }
.rpm-financing__info { font-size: 12px; color: rgba(255,255,255,0.7); text-transform: uppercase; letter-spacing: 0.05em; }
.rpm-financing__details { padding: 16px 24px; }
.rpm-financing__row { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,0.06); font-size: 14px; color: rgba(255,255,255,0.7); }
.rpm-financing__row span:last-child { color: #fff; font-weight: 600; }
.rpm-financing__row--total { border-top: 1px solid rgba(255,255,255,0.15); border-bottom: none; margin-top: 4px; padding-top: 12px; }
.rpm-financing__row--total span { color: #fff; font-weight: 700; font-size: 16px; }
.rpm-financing__disclaimer { padding: 12px 24px 16px; font-size: 10px; color: rgba(255,255,255,0.55); line-height: 1.5; margin: 0; }

/* Card monthly rate */
.rpm-card__monthly { display: block; font-size: 13px; color: rgba(255,255,255,0.6); margin-top: 2px; }

@media (max-width: 767px) {
    .rpm-financing__header { flex-direction: column; align-items: flex-start; gap: 4px; padding: 16px 20px; }
    .rpm-financing__monthly { font-size: 24px; }
    .rpm-financing__details { padding: 12px 20px; }
    .rpm-financing__row { font-size: 13px; }
    .rpm-financing__disclaimer { padding: 10px 20px 14px; font-size: 9px; }
}

/* =============================================================
   COMPARE BUTTON + FLOATING BAR
   ============================================================= */

/* Card actions row */
.rpm-card__actions { display: flex; gap: 8px; align-items: stretch; }
.rpm-card__actions .rpm-card__cta { flex: 1; }

/* Compare button on cards */
.rpm-compare-btn {
    display: flex; align-items: center; justify-content: center; gap: 4px;
    padding: 8px 12px; border: 1px solid var(--rpm-border); border-radius: var(--rpm-radius);
    background: var(--rpm-bg-card); color: var(--rpm-text-muted);
    font-size: 12px; cursor: pointer; transition: all var(--rpm-transition);
    white-space: nowrap;
}
.rpm-compare-btn:hover { border-color: var(--rpm-primary); color: var(--rpm-primary); }
.rpm-compare-btn.rpm-compare--active {
    background: var(--rpm-primary-light); border-color: var(--rpm-primary);
    color: var(--rpm-primary); font-weight: 600;
}

/* Floating compare bar */
.rpm-compare-bar {
    position: fixed; bottom: 0; left: 0; right: 0; z-index: 9990;
    display: none; background: var(--rpm-dark); color: #fff;
    box-shadow: 0 -4px 20px rgba(0,0,0,.25);
    border-top: 2px solid var(--rpm-primary);
    padding: 0;
    animation: rpmSlideUp .3s ease;
}
@keyframes rpmSlideUp { from { transform: translateY(100%); } to { transform: translateY(0); } }

.rpm-compare-bar__inner {
    max-width: 1200px; margin: 0 auto;
    display: flex; align-items: center; justify-content: space-between;
    padding: 12px 24px; gap: 16px;
}
.rpm-compare-bar__info { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 0; }
.rpm-compare-bar__count {
    background: var(--rpm-primary); color: #fff; padding: 4px 10px;
    border-radius: 20px; font-size: 13px; font-weight: 600; white-space: nowrap;
}
.rpm-compare-bar__names {
    font-size: 14px; color: rgba(255,255,255,.7);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.rpm-compare-bar__actions { display: flex; align-items: center; gap: 8px; }
.rpm-compare-bar__go {
    padding: 10px 20px !important; font-size: 14px !important; white-space: nowrap;
}
.rpm-compare-bar__go:disabled { opacity: .4; cursor: not-allowed; }
.rpm-compare-bar__clear {
    background: transparent; border: 1px solid rgba(255,255,255,.2);
    color: rgba(255,255,255,.6); padding: 8px; border-radius: 50%; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: all var(--rpm-transition);
}
.rpm-compare-bar__clear:hover { border-color: #fff; color: #fff; }

@media (max-width: 767px) {
    .rpm-compare-bar__inner { padding: 10px 16px; gap: 10px; }
    .rpm-compare-bar__names { display: none; }
    .rpm-compare-btn__label { display: none; }
    .rpm-compare-btn { padding: 8px; }
}

/* =============================================================
   COMPARE PAGE
   ============================================================= */
.rpm-compare { max-width: 1200px; margin: 0 auto; padding: 20px 16px 40px; }
.rpm-compare__title { font-size: 28px; font-weight: 700; margin-bottom: 24px; color: var(--rpm-text); }

.rpm-compare__empty {
    text-align: center; padding: 60px 20px;
    background: var(--rpm-bg-card); border-radius: var(--rpm-radius-lg);
    border: 1px solid var(--rpm-border);
}
.rpm-compare__empty p { font-size: 16px; color: var(--rpm-text-muted); margin-bottom: 20px; }

.rpm-compare__grid {
    display: grid; gap: 0;
    border: 1px solid var(--rpm-border); border-radius: var(--rpm-radius-lg);
    overflow: hidden; background: var(--rpm-bg-card);
}
.rpm-compare__grid--2 { grid-template-columns: 160px 1fr 1fr; }
.rpm-compare__grid--3 { grid-template-columns: 160px 1fr 1fr 1fr; }

.rpm-compare__row {
    display: contents;
}
.rpm-compare__row--alt > .rpm-compare__label,
.rpm-compare__row--alt > .rpm-compare__cell { background: #fafafa; }

.rpm-compare__label {
    padding: 10px 16px; font-size: 13px; font-weight: 600; color: var(--rpm-text-muted);
    display: flex; align-items: center; border-bottom: 1px solid var(--rpm-border);
}
.rpm-compare__cell {
    padding: 10px 16px; font-size: 14px; color: var(--rpm-text);
    display: flex; align-items: center;
    border-bottom: 1px solid var(--rpm-border);
    border-left: 1px solid var(--rpm-border);
}

.rpm-compare__cell--header {
    flex-direction: column; align-items: center; text-align: center;
    padding: 20px 16px; gap: 8px; background: #fafafa;
}
.rpm-compare__img {
    width: 100%; max-width: 280px; aspect-ratio: 16/10;
    object-fit: cover; border-radius: var(--rpm-radius);
}
.rpm-compare__vehicle-name { font-size: 16px; font-weight: 700; color: var(--rpm-text); }
.rpm-compare__detail-link { font-size: 13px; color: var(--rpm-primary); text-decoration: none; }
.rpm-compare__detail-link:hover { text-decoration: underline; }

.rpm-compare__price { color: var(--rpm-primary); font-size: 16px; }

.rpm-compare__row--cta > .rpm-compare__label,
.rpm-compare__row--cta > .rpm-compare__cell { border-bottom: none; padding: 16px; }
.rpm-compare__cta { width: 100%; text-align: center; justify-content: center; }

@media (max-width: 767px) {
    .rpm-compare__grid--2 { grid-template-columns: 100px 1fr 1fr; }
    .rpm-compare__grid--3 { grid-template-columns: 80px 1fr 1fr 1fr; }
    .rpm-compare__label { font-size: 11px; padding: 8px 8px; }
    .rpm-compare__cell { font-size: 12px; padding: 8px; }
    .rpm-compare__img { max-width: 120px; }
    .rpm-compare__vehicle-name { font-size: 13px; }
}

/* =============================================================
   PDF EXPOSE SHARE BUTTON
   ============================================================= */
.rpm-single__share-pdf {
    background: var(--rpm-primary-light);
    color: var(--rpm-primary);
    border-color: var(--rpm-primary);
}
.rpm-single__share-pdf:hover {
    background: var(--rpm-primary);
    color: #fff;
}

/* =============================================================
   GEO ATOMIC BLOCK (AI search engines)
   ============================================================= */
.rpm-atomic-block {
    font-size: 14px;
    line-height: 1.6;
    color: var(--rpm-text-muted);
    margin: 4px 0 12px;
    padding: 0;
}

/* =============================================================
   CAR FINDER QUIZ
   ============================================================= */
.rpm-quiz { max-width: 800px; margin: 0 auto; }

.rpm-quiz__header { text-align: center; margin-bottom: 40px; }
.rpm-quiz__title { font-size: 28px; font-weight: 700; color: var(--rpm-dark); margin: 0 0 8px; }
.rpm-quiz__subtitle { font-size: 16px; color: var(--rpm-text-muted); margin: 0; }

/* Steps */
.rpm-quiz__step {
    background: var(--rpm-dark);
    border-radius: var(--rpm-radius-lg);
    padding: 32px;
    margin-bottom: 20px;
    opacity: 1;
    transition: opacity 0.3s ease;
}
.rpm-quiz__step-number {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--rpm-text-light);
    margin-bottom: 8px;
}
.rpm-quiz__question {
    font-size: 20px;
    font-weight: 600;
    color: #fff;
    margin: 0 0 20px;
}

/* Pill buttons */
.rpm-quiz__options {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.rpm-quiz__options--icons { gap: 16px; }

.rpm-quiz__pill {
    position: relative;
    cursor: pointer;
    flex: 1 1 auto;
    min-width: 120px;
}
.rpm-quiz__pill input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}
.rpm-quiz__pill-label {
    display: block;
    text-align: center;
    padding: 14px 20px;
    border: 2px solid var(--rpm-border-dark);
    border-radius: 999px;
    color: #ccc;
    font-size: 15px;
    font-weight: 500;
    transition: all 0.2s ease;
    background: transparent;
}
.rpm-quiz__pill:hover .rpm-quiz__pill-label {
    border-color: var(--rpm-primary);
    color: #fff;
}
.rpm-quiz__pill--active .rpm-quiz__pill-label,
.rpm-quiz__pill input:checked + .rpm-quiz__pill-label {
    background: var(--rpm-primary);
    border-color: var(--rpm-primary);
    color: #fff;
}

/* Icon pills */
.rpm-quiz__pill--icon { min-width: 140px; }
.rpm-quiz__pill--icon .rpm-quiz__pill-label {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 20px 16px;
    border-radius: var(--rpm-radius-lg);
}
.rpm-quiz__pill--icon .rpm-quiz__pill-icon + .rpm-quiz__pill-label { /* handled by nesting */ }
.rpm-quiz__pill--icon input:checked ~ .rpm-quiz__pill-label,
.rpm-quiz__pill--icon.rpm-quiz__pill--active .rpm-quiz__pill-label {
    background: var(--rpm-primary);
    border-color: var(--rpm-primary);
    color: #fff;
}
/* Icon inside label for --icon variant */
.rpm-quiz__pill--icon .rpm-quiz__pill-label {
    padding: 20px 16px;
    border-radius: var(--rpm-radius-lg);
}

/* Submit */
.rpm-quiz__submit {
    text-align: center;
    padding: 24px 0;
}
.rpm-quiz__btn {
    font-size: 18px;
    padding: 16px 40px;
    gap: 8px;
}

/* ── Results ──────────────────────────────────────────── */
.rpm-quiz__results-title {
    font-size: 24px;
    font-weight: 700;
    text-align: center;
    margin: 0 0 32px;
    color: var(--rpm-dark);
}

.rpm-quiz__results-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 24px;
}

.rpm-quiz__result-card {
    background: var(--rpm-bg-card);
    border-radius: var(--rpm-radius-lg);
    overflow: hidden;
    box-shadow: var(--rpm-shadow);
    position: relative;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.rpm-quiz__result-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--rpm-shadow-card-hover);
}

.rpm-quiz__rank {
    position: absolute;
    top: 12px;
    left: 12px;
    background: var(--rpm-primary);
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}

.rpm-quiz__score-bar {
    position: relative;
    height: 6px;
    background: #e5e7eb;
    overflow: hidden;
}
.rpm-quiz__score-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--rpm-primary), #f59e0b);
    border-radius: 0 3px 3px 0;
    transition: width 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.rpm-quiz__score-label {
    position: absolute;
    right: 8px;
    top: 10px;
    font-size: 12px;
    font-weight: 600;
    color: var(--rpm-primary);
}

.rpm-quiz__result-img {
    aspect-ratio: 16/10;
    overflow: hidden;
    background: var(--rpm-bg);
}
.rpm-quiz__result-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.rpm-quiz__no-img {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rpm-text-light);
}

.rpm-quiz__result-info { padding: 16px; }
.rpm-quiz__result-name {
    font-size: 16px;
    font-weight: 600;
    color: var(--rpm-dark);
    margin: 0 0 8px;
}
.rpm-quiz__result-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 13px;
    color: var(--rpm-text-muted);
    margin-bottom: 12px;
}
.rpm-quiz__result-meta span:not(:last-child)::after {
    content: "\00B7";
    margin-left: 8px;
}
.rpm-quiz__result-price {
    font-size: 20px;
    font-weight: 700;
    color: var(--rpm-primary);
    margin-bottom: 12px;
}
.rpm-quiz__result-btn {
    width: 100%;
    text-align: center;
    justify-content: center;
    font-size: 14px;
    padding: 10px 16px;
}

.rpm-quiz__restart {
    display: flex;
    gap: 12px;
    justify-content: center;
    margin-top: 32px;
}

@media (max-width: 767px) {
    .rpm-quiz__step { padding: 24px 16px; }
    .rpm-quiz__question { font-size: 17px; }
    .rpm-quiz__pill { min-width: calc(50% - 8px); }
    .rpm-quiz__pill--icon { min-width: calc(50% - 10px); }
    .rpm-quiz__results-grid { grid-template-columns: 1fr; }
    .rpm-quiz__restart { flex-direction: column; align-items: center; }
}

/* ── Deal-Rating Badges ─────────────────────────────────────────────────── */
.rpm-deal-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #fff;
    line-height: 1.4;
    vertical-align: middle;
}
.rpm-deal-badge--fair { color: #222; }
.rpm-deal-badge--teuer { color: #fff; }

/* Detail page deal badge */
.rpm-single__info .rpm-deal-badge {
    margin-bottom: 8px;
}

/* ── Floating Action Buttons (FAB) ─────────────────────────── */
.rpm-fab {
    position: fixed;
    z-index: 9998;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.rpm-fab--bottom-right {
    bottom: 20px;
    right: 20px;
    align-items: flex-end;
}
.rpm-fab--bottom-left {
    bottom: 20px;
    left: 20px;
    align-items: flex-start;
}
.rpm-fab--bottom-center {
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    flex-direction: row;
    align-items: center;
}
.rpm-fab__btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    border-radius: 50px;
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    font-family: var(--rpm-font);
    box-shadow: 0 4px 16px rgba(0,0,0,0.2);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    line-height: 1;
}
.rpm-fab__btn:hover,
.rpm-fab__btn:focus {
    transform: scale(1.05);
    box-shadow: 0 6px 24px rgba(0,0,0,0.3);
    color: #fff;
    text-decoration: none;
}
.rpm-fab__btn:active {
    transform: scale(0.97);
}
.rpm-fab__btn svg {
    flex-shrink: 0;
}
.rpm-fab__label {
    display: none;
}

@media (min-width: 768px) {
    .rpm-fab__label {
        display: inline;
    }
}

@media (max-width: 767px) {
    .rpm-fab__btn {
        padding: 14px;
        border-radius: 50%;
    }
    .rpm-fab {
        gap: 8px;
    }
}

/* Don't overlap with mobile sticky CTA or compare bar */
body.rpm-has-mobile-cta .rpm-fab {
    bottom: 80px;
}
.rpm-compare-bar ~ .rpm-fab,
body:has(.rpm-compare-bar[style*="display: flex"]) .rpm-fab {
    bottom: 80px;
}

/* ── Kaufbeschleuniger-Stack: Feature Styles ────────────────── */

/* Watchlist Button */
.rpm-watch-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border: 1px solid var(--rpm-border);
    border-radius: var(--rpm-radius);
    background: var(--rpm-bg-card);
    color: var(--rpm-text);
    cursor: pointer;
    font-size: 14px;
    transition: all var(--rpm-transition);
    margin-top: 8px;
    width: 100%;
    justify-content: center;
}
.rpm-watch-btn:hover { border-color: #e53e3e; color: #e53e3e; }
.rpm-watch-btn.rpm-watch--active { background: #fff5f5; border-color: #e53e3e; color: #e53e3e; }
.rpm-watch-btn__icon { font-size: 18px; line-height: 1; }
.rpm-watch--active .rpm-watch-btn__icon { color: #e53e3e; }

/* Card watchlist button (compact icon-only) */
.rpm-watch-btn--card {
    width: 36px;
    height: 36px;
    padding: 0;
    border-radius: 50%;
    justify-content: center;
    margin-top: 0;
}

/* "Seit X Tagen online" Badge */
.rpm-days-online {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: var(--rpm-text-muted);
    padding: 4px 10px;
    background: #f0f4f8;
    border-radius: 20px;
    margin-bottom: 8px;
}

/* "Warum dieses Auto?" Tags */
.rpm-why-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 8px 0 12px;
}
.rpm-why-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    padding: 4px 10px;
    background: #f0fdf4;
    color: #166534;
    border: 1px solid #bbf7d0;
    border-radius: 20px;
    white-space: nowrap;
}

/* Watchers Badge */
.rpm-watchers {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: var(--rpm-text-muted);
    padding: 4px 10px;
    background: #fef3c7;
    border-radius: 20px;
    margin-bottom: 8px;
}

/* CTA Buttons: Trade-In, Reserve, Video */
.rpm-single__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: var(--rpm-radius);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: all var(--rpm-transition);
    text-align: center;
}
.rpm-single__btn--trade {
    background: #fef3c7;
    color: #92400e;
    border: 1px solid #fcd34d;
}
.rpm-single__btn--trade:hover { background: #fde68a; }
.rpm-single__btn--reserve {
    background: #dbeafe;
    color: #1e40af;
    border: 1px solid #93c5fd;
}
.rpm-single__btn--reserve:hover { background: #bfdbfe; }
.rpm-single__btn--video {
    background: #f3e8ff;
    color: #6b21a8;
    border: 1px solid #d8b4fe;
}
.rpm-single__btn--video:hover { background: #e9d5ff; }

/* Price Alert */
.rpm-price-alert { padding: 0; }
.rpm-price-alert__toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border: 1px solid var(--rpm-border);
    border-radius: var(--rpm-radius);
    background: var(--rpm-bg-card);
    color: var(--rpm-text);
    cursor: pointer;
    font-size: 14px;
    transition: all var(--rpm-transition);
}
.rpm-price-alert__toggle:hover { border-color: var(--rpm-primary); color: var(--rpm-primary); }
.rpm-price-alert__form {
    margin-top: 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.rpm-price-alert__form p { width: 100%; margin: 0; font-size: 13px; color: var(--rpm-text-muted); }
.rpm-price-alert__email {
    flex: 1;
    min-width: 200px;
    padding: 8px 12px;
    border: 1px solid var(--rpm-border);
    border-radius: var(--rpm-radius-sm);
    font-size: 14px;
}
.rpm-price-alert__submit { white-space: nowrap; }
.rpm-price-alert__status { font-size: 13px; margin-top: 4px; }

/* ── Detail Page: Hide listing UI when Elementor Canvas shows a vehicle detail ── */
.rpm-detail-page .elementor-widget-heading:first-of-type,
.rpm-detail-page .elementor-widget-text-editor:first-of-type {
    display: none !important;
}
.rpm-detail-page .rpm-searchbar {
    display: none !important;
}
