.bmwrc{--bmwrc-border:#dfe3e8;--bmwrc-bg:#fff;--bmwrc-muted:#f4f6f8;--bmwrc-ink:#20252b;color:var(--bmwrc-ink);font-family:inherit;width:100%;margin:1.2em 0}
.bmwrc *{box-sizing:border-box}.bmwrc-scroll{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.bmwrc table{border-collapse:separate;border-spacing:0;width:100%;min-width:760px;table-layout:fixed;margin:0;background:var(--bmwrc-bg);font-size:14px;line-height:1.35}
.bmwrc th,.bmwrc td{border-right:1px solid var(--bmwrc-border);border-bottom:1px solid var(--bmwrc-border);padding:11px 9px;vertical-align:middle}
.bmwrc tr>*:first-child{border-left:1px solid var(--bmwrc-border)}.bmwrc thead th{border-top:1px solid var(--bmwrc-border)}
.bmwrc thead th{background:var(--bmwrc-muted);font-weight:700;text-align:center;vertical-align:bottom;padding:12px 8px}
.bmwrc th.bmwrc-feature{width:29%;text-align:left;font-weight:550;background:#fff;position:sticky;left:0;z-index:2}
.bmwrc thead th.bmwrc-feature{background:var(--bmwrc-muted);z-index:4}
.bmwrc td{text-align:center;width:17.75%;overflow-wrap:anywhere}
.bmwrc tbody tr:nth-child(even):not(.bmwrc-section) td{background:#fbfcfd}
.bmwrc tbody tr:nth-child(even):not(.bmwrc-section) th.bmwrc-feature{background:#fbfcfd}
.bmwrc .bmwrc-section th{background:#e9eef2;text-align:left;font-size:13px;font-weight:700;letter-spacing:.015em;padding:10px 12px;position:relative;z-index:3}
.bmwrc .bmwrc-shared{text-align:center;font-weight:550;letter-spacing:.01em}
.bmwrc .bmwrc-yes{color:#188049;font-weight:800;font-size:19px}.bmwrc .bmwrc-no{color:#929aa2;font-size:17px}
.bmwrc .bmwrc-feature small,.bmwrc .bmwrc-label-two small{display:block;color:#606a74;font-size:12px;font-weight:400;margin-top:3px}
.bmwrc .bmwrc-info{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;border:0;background:transparent;color:#1265a8;cursor:pointer;font-size:17px;padding:0 3px;vertical-align:middle}
.bmwrc .bmwrc-info:hover{text-decoration:underline}.bmwrc .bmwrc-model a{color:inherit;text-decoration:none}.bmwrc .bmwrc-model a:hover{text-decoration:underline}
.bmwrc .bmwrc-radio-img{display:block;width:100%;height:95px;object-fit:contain;margin:0 auto 9px}.bmwrc .bmwrc-model-name{display:block}
.bmwrc .bmwrc-details>summary{cursor:pointer;padding:13px 16px;border:1px solid var(--bmwrc-border);font-weight:650;background:var(--bmwrc-muted)}
.bmwrc .bmwrc-details[open]>summary{margin-bottom:10px}
.bmwrc .bmwrc-modal[hidden]{display:none}.bmwrc .bmwrc-modal{position:fixed;inset:0;background:rgba(0,0,0,.68);z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px}
.bmwrc .bmwrc-modal-panel{position:relative;background:white;border-radius:10px;padding:22px;max-width:min(560px,100%);width:100%;box-shadow:0 10px 40px #0005;text-align:center}
.bmwrc .bmwrc-modal-title{font-size:18px;margin:4px 32px 16px}.bmwrc .bmwrc-modal-body img{max-width:100%;max-height:70vh;object-fit:contain;display:block;margin:auto}
.bmwrc .bmwrc-close{position:absolute;top:8px;right:10px;border:0;background:transparent;font-size:29px;line-height:1;cursor:pointer;color:#222;padding:3px 8px}
@media(max-width:700px){
 .bmwrc table{min-width:0;width:max-content;table-layout:fixed;font-size:12px}
 .bmwrc th,.bmwrc td{padding:9px 5px}
 .bmwrc th.bmwrc-feature{width:120px;min-width:120px;max-width:120px;box-shadow:2px 0 3px rgba(0,0,0,.05)}
 .bmwrc td,.bmwrc th.bmwrc-model{width:82px;min-width:82px;max-width:82px}
 .bmwrc thead th.bmwrc-model{height:144px;position:relative;vertical-align:bottom;padding:0}
 .bmwrc .bmwrc-model-name{position:absolute;bottom:12px;left:50%;width:142px;text-align:left;transform-origin:left bottom;transform:rotate(-55deg);white-space:nowrap;font-size:12px;font-weight:700}
 .bmwrc .bmwrc-radio-img{display:none}
 .bmwrc .bmwrc-feature small,.bmwrc .bmwrc-label-two small{font-size:11px}
 .bmwrc .bmwrc-section th{font-size:12px}
 .bmwrc .bmwrc-shared{font-size:11px;white-space:normal}
}

/* Currency display: euro base price, approximate ECB USD underneath. */
.bmwrc .bmwrc-eur{display:block;font-weight:700;white-space:nowrap}
.bmwrc .bmwrc-usd{display:block;font-size:12px;color:#606a74;font-weight:400;white-space:nowrap;margin-top:3px}
.bmwrc-usd-inline{white-space:nowrap}
@media(max-width:700px){.bmwrc .bmwrc-usd{font-size:10px}}

/* Standalone product-page price shortcode, styled like the existing bold price heading. */
.bmwrc-price-line{display:block;font-size:clamp(24px,2.3vw,32px);line-height:1.4;color:inherit;margin:0 0 .6em;overflow-wrap:normal}
.bmwrc-price-line strong{font-weight:700}
.bmwrc-price-line .bmwrc-price-secondary{font-weight:400}

/* v1.5: Preserve the original mixed-weight product price heading. */
.bmwrc-price-line .bmwrc-price-usd{font-weight:400}
.bmwrc-price-line .bmwrc-price-secondary{font-weight:400}
.bmwrc-price-line .bmwrc-price-secondary .bmwrc-price-eur{font-weight:700}

/* v1.7: Product-page price lines use the site's WordPress Large (L) font preset.
   Applies on standalone Shortcode blocks as well as other layouts. */
.bmwrc-price-line.has-large-font-size {
  font-size: var(--wp--preset--font-size--large, 1.5rem);
  line-height: inherit;
}

/* v1.8: Preserve the spacing of the original Gutenberg Large paragraph.
   No horizontal padding; keep the existing column alignment. */
.bmwrc-price-line.has-large-font-size {
  box-sizing: border-box;
  display: block;
  padding-block: 0.45em;
  padding-inline: 0;
  margin: 0;
  line-height: 1.5;
  font-size: var(--wp--preset--font-size--large, 1.5rem);
}
.bmwrc-price-line .bmwrc-price-usd,
.bmwrc-price-line .bmwrc-price-secondary { font-weight: 400; }
.bmwrc-price-line .bmwrc-price-eur,
.bmwrc-price-line .bmwrc-price-prefix,
.bmwrc-price-line .bmwrc-price-shipping { font-weight: 700; }

/* v2.3: Compact mobile feature column and avoid splitting values inside words. */
@media(max-width:700px){
 .bmwrc th.bmwrc-feature{overflow-wrap:normal;word-break:normal;hyphens:none;white-space:normal}
 .bmwrc td{overflow-wrap:normal;word-break:normal;hyphens:none}
 .bmwrc .bmwrc-desktop-word{display:none}
 .bmwrc .bmwrc-mobile-word{display:inline}
}
@media(min-width:701px){.bmwrc .bmwrc-mobile-word{display:none}}

/* v2.4: narrower mobile columns, vertical names and shorter changer label. */
@media(max-width:700px){
 .bmwrc th.bmwrc-feature{width:104px;min-width:104px;max-width:104px;padding:8px 5px}
 .bmwrc td,.bmwrc th.bmwrc-model{width:72px;min-width:72px;max-width:72px}
 .bmwrc td{padding:8px 3px;overflow-wrap:normal;word-break:normal;hyphens:none}
 .bmwrc thead th.bmwrc-model{height:125px;vertical-align:bottom;padding:0}
 .bmwrc .bmwrc-model-name{position:absolute;bottom:9px;left:50%;width:auto;text-align:left;transform-origin:left bottom;transform:rotate(-90deg) translateY(50%);white-space:nowrap;font-size:12px;line-height:1.1}
 .bmwrc .bmwrc-info{min-width:20px;min-height:20px;padding:0 1px}
}

/* v2.5: compact mobile comparison and scroll-aware full-width section labels. */
.bmwrc .bmwrc-section-label{display:block;width:max-content;max-width:100%;will-change:transform}
.bmwrc .bmwrc-swipe-hint{display:none}
@media(max-width:700px){
 .bmwrc th.bmwrc-feature{width:96px;min-width:96px;max-width:96px;padding:7px 4px}
 .bmwrc td,.bmwrc th.bmwrc-model{width:68px;min-width:68px;max-width:68px}
 .bmwrc td{padding:7px 2px}
 .bmwrc thead th.bmwrc-model{height:154px}
 .bmwrc .bmwrc-model-name{bottom:7px;font-size:11px}
 .bmwrc .bmwrc-swipe-hint{display:block;text-align:right;font-size:11px;font-weight:650;margin:0 1px 5px;color:#414b55}
 .bmwrc .bmwrc-section th{overflow:hidden}
}

/* v2.6: section title is its own sticky cell; colspan titles cannot stick reliably. */
.bmwrc .bmwrc-section th.bmwrc-section-fixed{position:sticky;left:0;z-index:5;background:#e9eef2;white-space:normal;overflow:visible}
.bmwrc .bmwrc-section td.bmwrc-section-fill{background:#e9eef2;border-left:0}
@media(max-width:700px){
 .bmwrc th.bmwrc-section-fixed{width:96px;min-width:96px;max-width:96px;padding:9px 5px;font-size:11px;line-height:1.2}
 .bmwrc td.bmwrc-section-fill{padding:0}
 /* Only Business CD, the third radio column, is narrower. */
 .bmwrc thead th.bmwrc-model:nth-child(4),
 .bmwrc tbody tr:not(.bmwrc-section)>td:nth-child(4){width:60px;min-width:60px;max-width:60px}
}

/* v2.7: Phone landscape uses the available viewport width for all four models.
   Portrait retains the compact, horizontally scrollable layout. */
@media (orientation:landscape) and (max-width:1100px) and (pointer:coarse) {
 .bmwrc .bmwrc-scroll{overflow-x:hidden;max-width:100%}
 .bmwrc table{width:100%;min-width:0;table-layout:fixed;font-size:clamp(10px,1.35vw,13px)}
 .bmwrc th,.bmwrc td{padding:6px 3px;overflow-wrap:normal;word-break:normal;hyphens:none}
 .bmwrc th.bmwrc-feature,.bmwrc thead th.bmwrc-feature{width:24%;min-width:0;max-width:none;padding:6px 5px;position:static}
 .bmwrc td,.bmwrc th.bmwrc-model,
 .bmwrc thead th.bmwrc-model:nth-child(4),
 .bmwrc tbody tr:not(.bmwrc-section)>td:nth-child(4){width:19%;min-width:0;max-width:none}
 .bmwrc thead th.bmwrc-model{height:auto;min-height:0;padding:9px 2px;vertical-align:middle}
 .bmwrc .bmwrc-model-name{position:static;display:block;transform:none;width:auto;white-space:normal;text-align:center;font-size:clamp(10px,1.3vw,13px);line-height:1.2}
 .bmwrc .bmwrc-section th.bmwrc-section-fixed{position:static;width:24%;min-width:0;max-width:none;font-size:12px;padding:7px 5px}
 .bmwrc .bmwrc-section td.bmwrc-section-fill{width:auto;max-width:none}
 .bmwrc .bmwrc-swipe-hint{display:none}
 .bmwrc .bmwrc-shared{font-size:clamp(10px,1.3vw,13px)}
 .bmwrc .bmwrc-eur{white-space:normal}
 .bmwrc .bmwrc-usd{white-space:normal}
}

/* v3.1: preserve descriptive desktop labels, use compact labels in portrait mobile. */
.bmwrc .bmwrc-mobile-label{display:none}
@media(max-width:700px) and (orientation:portrait){
 .bmwrc .bmwrc-desktop-label{display:none}
 .bmwrc .bmwrc-mobile-label{display:inline}
}

/* v3.7: Header photos only on desktop; entire photo/name links to product page. */
@media (min-width:701px){.bmwrc .bmwrc-model a{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-height:125px}.bmwrc .bmwrc-radio-img{height:95px;max-width:100%;object-fit:contain}}
@media (max-width:700px){.bmwrc .bmwrc-radio-img{display:none!important}}
@media (orientation:landscape) and (max-width:1100px) and (pointer:coarse){.bmwrc .bmwrc-radio-img{display:none!important}.bmwrc .bmwrc-model a{min-height:0}}
.bmwrc .bmwrc-modal-body p{font-size:14px;line-height:1.55;text-align:left;margin:14px 0 0}
.bmwrc .bmwrc-modal-body img{max-width:100%;width:auto;max-height:min(55vh,520px);object-fit:contain}
.bmwrc .bmwrc-modal-panel{max-height:90vh;overflow-y:auto}

/* v3.9: Keep modal headings consistent with the comparison table and site typography. */
.bmwrc .bmwrc-modal-title{font-family:inherit!important;font-size:18px;font-weight:700;line-height:1.35;letter-spacing:normal;text-transform:none;}
.bmwrc .bmwrc-modal-subtitle{display:block;font-family:inherit;font-size:13px;font-weight:400;margin-top:5px;}
.bmwrc .bmwrc-modal-subtitle strong{font-weight:700;}

/* Comfortable spacing between explanatory paragraphs in information modals. */
.bmwrc .bmwrc-modal-body p + p{margin-top:11px}

/* Bluetooth logo as a CSS background: avoids theme-wide img height/line-box clipping. */
.bmwrc .bmwrc-bluetooth-label{display:inline-flex!important;align-items:center!important;gap:7px;vertical-align:middle;line-height:1.35;white-space:nowrap;overflow:visible!important}
.bmwrc .bmwrc-bluetooth-logo{display:inline-block!important;position:relative;width:20px!important;height:20px!important;min-width:20px;min-height:20px;flex:none!important;overflow:visible!important;background-image:url("https://bmw-radios.com/wp-content/uploads/2026/11/BT-logo.png");background-repeat:no-repeat;background-position:center;background-size:contain;vertical-align:middle}
@media(max-width:700px){.bmwrc .bmwrc-bluetooth-label{gap:5px;white-space:normal}}

/* v4.9: The replacement image is already cropped; display it fully. */
.bmwrc .bmwrc-modal-body.bmwrc-modal-blocks img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}

/* v5.2: Mobile German long-word and value collision fixes. */
@media (max-width:700px) and (orientation:portrait) {
 .bmwrc th.bmwrc-feature, .bmwrc th.bmwrc-section-fixed {
   width:116px;min-width:116px;max-width:116px;
   white-space:normal;overflow-wrap:break-word;word-break:normal;hyphens:auto;
 }
 .bmwrc td, .bmwrc th.bmwrc-model {width:78px;min-width:78px;max-width:78px;}
 .bmwrc thead th.bmwrc-model:nth-child(4),
 .bmwrc tbody tr:not(.bmwrc-section)>td:nth-child(4) {width:70px;min-width:70px;max-width:70px;}
 .bmwrc tbody td {white-space:normal;overflow-wrap:break-word;word-break:normal;hyphens:auto;line-height:1.3;}
 .bmwrc .bmwrc-bluetooth-label {white-space:normal;}
 .bmwrc .bmwrc-shared {overflow-wrap:normal;word-break:normal;}
}

/* v5.3: German portrait labels with deliberate wrapping and 15px narrower feature column. */
@media (max-width:700px) and (orientation:portrait) {
 .bmwrc th.bmwrc-feature, .bmwrc th.bmwrc-section-fixed {width:101px;min-width:101px;max-width:101px;}
 .bmwrc .bmwrc-force-break {display:block;}
 .bmwrc .bmwrc-keep-line {white-space:nowrap;}
}

/* v5.4: Intentional German mobile line breaks and narrower Business columns. */
@media (max-width:700px) and (orientation:portrait) {
 .bmwrc th.bmwrc-feature {
   hyphens:none; -webkit-hyphens:none; overflow-wrap:normal; word-break:normal;
 }
 .bmwrc td, .bmwrc th.bmwrc-model {width:70px;min-width:70px;max-width:70px;}
 .bmwrc thead th.bmwrc-model:nth-child(4),
 .bmwrc tbody tr:not(.bmwrc-section)>td:nth-child(4) {
   width:66px;min-width:66px;max-width:66px;
 }
 .bmwrc .bmwrc-bluetooth-label {white-space:normal;}
}

/* v5.5: compact Reverse/CD, avoid automatic splitting of mechanical-loading value. */
@media (max-width:700px) and (orientation:portrait) {
 .bmwrc thead th.bmwrc-model:nth-child(2),
 .bmwrc tbody tr:not(.bmwrc-section)>td:nth-child(2) {width:68px;min-width:68px;max-width:68px;}
 .bmwrc thead th.bmwrc-model:nth-child(4),
 .bmwrc tbody tr:not(.bmwrc-section)>td:nth-child(4) {width:64px;min-width:64px;max-width:64px;}
 .bmwrc tbody td {hyphens:none;-webkit-hyphens:none;overflow-wrap:normal;word-break:normal;}
}

/* v5.6: Narrower mobile portrait radio columns. */
@media (max-width:700px) and (orientation:portrait) {
 .bmwrc thead th.bmwrc-model:nth-child(2),
 .bmwrc tbody tr:not(.bmwrc-section)>td:nth-child(2) {width:60px;min-width:60px;max-width:60px;}
 .bmwrc thead th.bmwrc-model:nth-child(3),
 .bmwrc tbody tr:not(.bmwrc-section)>td:nth-child(3) {width:66px;min-width:66px;max-width:66px;}
 .bmwrc thead th.bmwrc-model:nth-child(4),
 .bmwrc tbody tr:not(.bmwrc-section)>td:nth-child(4) {width:56px;min-width:56px;max-width:56px;}
}

/* v5.7: Full-width single-line category headings on phones, independent of feature-column width. */
@media (max-width:700px) {
 .bmwrc .bmwrc-section {height:40px;}
 .bmwrc .bmwrc-section th.bmwrc-section-fixed {
   position:sticky;left:0;z-index:5;
   padding:0 6px;overflow:visible;vertical-align:middle;
 }
 .bmwrc .bmwrc-section-text {
   display:block;position:relative;width:max-content;max-width:none;
   white-space:nowrap;overflow-wrap:normal;word-break:normal;hyphens:none;
   font-size:12px;line-height:40px;pointer-events:none;
 }
 .bmwrc .bmwrc-section td.bmwrc-section-fill {background:#e9eef2;}
}

/* v5.8: Mobile section bands have no internal vertical divider. */
@media (max-width:700px) {
 .bmwrc .bmwrc-section th.bmwrc-section-fixed {border-right:0;box-shadow:none;}
 .bmwrc .bmwrc-section td.bmwrc-section-fill {border-left:0;}
}
