.bmg-app-promotion{margin:40px auto;padding:32px;display:grid;grid-template-columns:minmax(0,1fr) 240px 160px;align-items:center;gap:28px;background:#edf8f8;border:1px solid #b8dfe2;border-radius:20px;color:#073d46}
.bmg-app-promotion h2{font-size:clamp(26px,3vw,36px);line-height:1.15;margin:0 0 16px;color:#073d46}
.bmg-app-promotion p{line-height:1.6;margin:0 0 16px}
.bmg-app-promotion .bmg-app-promotion__eyebrow{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#006e7a}
.bmg-app-promotion ul{padding-left:20px;margin:0 0 20px;line-height:1.8}
.bmg-app-promotion .bmg-app-promotion__download{display:inline-block;padding:13px 18px;background:#ffbb00;color:#07313a;font-weight:700;text-decoration:none;border-radius:9px;line-height:1.5}
.bmg-app-promotion .bmg-app-promotion__download:hover{background:#ffd04a;color:#07313a}
.bmg-app-promotion a:focus-visible{outline:3px solid #005d6c;outline-offset:4px}
.bmg-app-promotion .bmg-app-promotion__note{font-size:13px;margin:10px 0 0;color:#45636b}
.bmg-app-promotion__visual{text-align:center}
.bmg-app-promotion__screen{width:auto;max-width:100%;height:300px;object-fit:contain;border-radius:10px}
.bmg-app-promotion__garage-image{width:100%;height:250px;object-fit:cover;border-radius:14px}
.bmg-app-promotion__qr{margin:0;text-align:center;font-size:12px;line-height:1.5}
.bmg-app-promotion__qr img{width:148px;height:148px;background:white;border-radius:8px}
.bmg-app-promotion__qr figcaption{margin-top:8px}
.bmg-app-promotion--compact{grid-template-columns:minmax(0,1fr) 160px;padding:24px}
@media(max-width:900px){.bmg-app-promotion{grid-template-columns:minmax(0,1fr) 180px}.bmg-app-promotion__qr{display:none}.bmg-app-promotion--compact{grid-template-columns:1fr}}
@media(max-width:575px){.bmg-app-promotion{grid-template-columns:1fr;padding:22px;gap:20px}.bmg-app-promotion__screen{height:240px}.bmg-app-promotion__garage-image{height:180px}.bmg-app-promotion__download{width:100%;text-align:center}}

/* Remove trailing whitespace only on public pages that include an app promotion. */
.page-content:has(> .bmg-app-promotion) > main .driver-final-cta:last-child,
.page-content:has(> .bmg-app-promotion) > main .public-booking-closing:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
}

/* Keep the final content section from adding a second gap before the app panel. */
.page-content > main:has(~ .bmg-app-promotion),
.page-content > .seo-public-faq:has(+ .bmg-app-promotion),
.page-content > .seo-public-related:has(+ .bmg-app-promotion) {
    margin-bottom: 0;
    padding-bottom: 0;
}

@media (max-width: 767px) {
    .container.bmg-app-promotion {
        margin-top: 24px;
        margin-bottom: 24px;
    }
}

/* Retain a safe gutter when the shared container becomes full-width on phones. */
@media (max-width: 575px) {
    .container.bmg-app-promotion {
        max-width: calc(100% - 32px);
    }
}
