/* Blaupunkt 2026 — single WooCommerce product and shared recommended teasers.
   This file intentionally uses CSS-compatible SCSS and is compiled to product-2026.css. */
.bp-product-page,
.bp-product-page * { box-sizing: border-box; }
.bp-product-page { width:100%; background:#fff; color:#0a2638; font-family:inherit; overflow:clip; }
.bp-product-page__container { width:min(100% - 64px, 1370px); margin-inline:auto; }
.bp-product-page__breadcrumbs { padding:29px 0 35px; }
.bp-product-page__breadcrumbs .breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:8px; background:transparent; padding:0; margin:0; font-size:13px; color:#637380; }
.bp-product-page__breadcrumbs .breadcrumb-item { padding:0; color:inherit; }
.bp-product-page__breadcrumbs .breadcrumb a { text-decoration:none; color:#617787; }
.bp-product-page__breadcrumbs .breadcrumb a:hover { color:#009ee2; }
.bp-product-page__breadcrumbs .breadcrumb-item + .breadcrumb-item::before { content:'/'; color:#9dadb8; padding:0 9px 0 1px; }
.bp-product-page__overview { display:grid; grid-template-columns:minmax(0, .88fr) minmax(0, 1.12fr); gap:clamp(34px,6.8vw,105px); align-items:start; padding-bottom:clamp(64px,7.7vw,114px); }
.bp-product-page__details { min-width:0; padding-top:clamp(10px,1.8vw,30px); }
.bp-product-page__heading { margin-bottom:clamp(28px,3.4vw,48px); }
.bp-product-page__label { display:inline-flex; margin-bottom:17px; background:#0a2333; color:#fff; font-size:12px; font-weight:700; padding:6px 13px; border-radius:5px; }
.bp-product-page__title { margin:0; max-width:590px; font-size:clamp(34px,3.45vw,58px); line-height:1.12; letter-spacing:-.035em; font-weight:750; color:#091b25; overflow-wrap:anywhere; }
.bp-product-page__sku { color:#6c7d88; margin:14px 0 0; font-size:14px; }
.bp-product-page__quick-features { list-style:none; padding:0; margin:0 0 clamp(28px,3.3vw,50px); display:grid; gap:0; }
.bp-product-page__quick-features li { display:flex; justify-content:space-between; align-items:flex-start; gap:26px; padding:13px 0; border-bottom:1px solid #e8edf0; line-height:1.4; font-size:15px; }
.bp-product-page__quick-label { color:#657784; font-weight:450; max-width:48%; }
.bp-product-page__quick-value { font-weight:650; text-align:right; color:#0b293b; overflow-wrap:anywhere; }
.bp-product-page__purchase { border-top:1px solid #d5e0e7; padding-top:24px; }
.bp-product-page__price { font-size:clamp(25px,2.25vw,35px); font-weight:750; line-height:1.2; color:#0d2738; margin-bottom:25px; }
.bp-product-page__price del { color:#82929a; font-size:.72em; font-weight:400; margin-right:12px; }
.bp-product-page__price ins { text-decoration:none; }
.bp-product-page__purchase form.cart { margin:0; display:flex; flex-wrap:wrap; align-items:center; gap:13px; }
.bp-product-page__purchase .quantity { margin:0; flex:0 0 auto; }
.bp-product-page__purchase .qty { width:75px; height:54px; padding:7px 10px; border:1px solid #d1dce2; background:#fff; border-radius:9px; text-align:center; color:#092838; font-weight:650; }
.bp-product-page__purchase .single_add_to_cart_button,
.bp-product-page__purchase .single_add_to_cart_button.button,
.bp-product-page__purchase a.single_add_to_cart_button,
.bp-product-page__purchase .button { display:inline-flex; justify-content:center; align-items:center; min-height:54px; gap:10px; padding:13px 34px; border:0; border-radius:999px; background:#ffbd2d; color:#071923; font-size:16px; font-weight:700; text-decoration:none; line-height:1.2; box-shadow:none; transition:background-color .2s, transform .2s; cursor:pointer; }
.bp-product-page__purchase .single_add_to_cart_button:hover,
.bp-product-page__purchase .button:hover { background:#ffd25c; color:#061824; transform:translateY(-1px); }
.bp-product-page__purchase .button:focus-visible,
.bp-product-page__purchase input:focus-visible,
.bp-product-page__purchase select:focus-visible { outline:3px solid #00a9e5; outline-offset:3px; }
.bp-product-page__purchase .single_add_to_cart_button.disabled,
.bp-product-page__purchase .single_add_to_cart_button:disabled { opacity:.54; cursor:not-allowed; transform:none; }
.bp-product-page__purchase .variations { border:0; border-collapse:collapse; width:100%; margin:0 0 18px; }
.bp-product-page__purchase .variations td,
.bp-product-page__purchase .variations th { border:0; padding:7px 12px 7px 0; vertical-align:middle; font-size:14px; }
.bp-product-page__purchase .variations label { font-weight:650; color:#102c3a; }
.bp-product-page__purchase select { width:100%; max-width:350px; min-height:47px; padding:9px 12px; border:1px solid #d1dce2; border-radius:7px; background:white; color:#102c3a; }
.bp-product-page__purchase .variations_form { display:block !important; width:100%; }
.bp-product-page__purchase .single_variation_wrap { width:100%; }
.bp-product-page__purchase .woocommerce-variation-add-to-cart { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.bp-product-page__purchase .woocommerce-variation-price { margin:12px 0; font-size:22px; font-weight:700; }
.bp-product-page__purchase .stock { font-size:14px; color:#678092; }
.bp-product-page__stock-note { margin:12px 0; color:#835400; font-size:14px; }
.bp-product-page__purchase .woocommerce-grouped-product-list { width:100%; margin:0 0 18px; }
.bp-product-page__purchase .woocommerce-grouped-product-list td { padding:9px; border-bottom:1px solid #e1e8ec; }
.bp-product-page__purchase .reset_variations { display:inline-block; margin-left:10px; font-size:13px; }
.bp-product-page .woocommerce-message,
.bp-product-page .woocommerce-error,
.bp-product-page .woocommerce-info { margin:15px 0; }
/* Media panel */
.bp-product-gallery { min-width:0; }
.bp-product-gallery__stage { min-height:360px; position:relative; background:#f5f8fa; border-radius:18px; overflow:hidden; display:grid; place-items:center; }
.bp-product-gallery__main-link,
.bp-product-gallery__placeholder { display:flex; justify-content:center; align-items:center; width:100%; height:100%; min-height:390px; padding:clamp(24px,4vw,60px); text-decoration:none; }
.bp-product-gallery__main-image { display:block; width:100%; height:auto; max-width:100%; max-height:550px; object-fit:contain; transition:transform .25s ease; }
.bp-product-gallery__main-link:hover .bp-product-gallery__main-image { transform:scale(1.025); }
.bp-product-gallery__zoom { position:absolute; bottom:17px; right:17px; width:46px; height:46px; display:grid; place-items:center; border-radius:50%; color:#0c2a3c; background:rgba(255,255,255,.94); box-shadow:0 4px 12px #0a1d2920; }
.bp-product-gallery__main-link:focus-visible { outline:4px solid #03a9e7; outline-offset:-6px; }
.bp-product-gallery__thumbnails { display:flex; align-items:center; gap:12px; width:100%; overflow-x:auto; padding:18px 3px 10px; scroll-snap-type:x proximity; scrollbar-width:thin; scrollbar-color:#9fcad8 transparent; }
.bp-product-gallery__thumb { display:grid; place-items:center; flex:0 0 92px; width:92px; height:83px; padding:8px; border:2px solid transparent; background:#f6f8fa; border-radius:9px; cursor:pointer; scroll-snap-align:start; transition:border-color .18s,background-color .18s; }
.bp-product-gallery__thumb img { max-width:100%; max-height:66px; object-fit:contain; }
.bp-product-gallery__thumb.is-active { border-color:#009ee2; background:#fff; }
.bp-product-gallery__thumb:hover { border-color:#9bd9ef; }
.bp-product-gallery__thumb:focus-visible { outline:3px solid #ffbd2d; outline-offset:2px; }
/* Features */
.bp-product-page__features { margin:0 0 clamp(70px,8vw,122px); }
.bp-product-page__section-heading { text-align:center; margin-bottom:clamp(28px,3.8vw,56px); }
.bp-product-page__section-heading h2 { font-size:clamp(27px,3.25vw,45px); line-height:1.2; letter-spacing:-.025em; font-weight:750; margin:0; color:#080f13; }
.bp-product-page__section-rule { display:block; width:64px; height:5px; border-radius:3px; margin:19px auto 0; background:#ffbd2d; }
.bp-product-page__feature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 46px; margin:0; padding:0; }
.bp-product-page__feature-row { min-width:0; display:grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.15fr); gap:14px; padding:18px 0; border-bottom:1px solid #dde6eb; font-size:15px; line-height:1.5; }
.bp-product-page__feature-row dt { color:#647884; font-weight:500; overflow-wrap:anywhere; }
.bp-product-page__feature-row dd { color:#0b2d41; margin:0; font-weight:650; overflow-wrap:anywhere; }
.bp-product-page__feature-empty { text-align:center; color:#59707d; }
/* Recommendations — same card teaser can be reused by catalogue/home. */
.bp-product-recommendations { margin:0 0 clamp(70px,7vw,130px); }
.bp-product-recommendations__track { display:flex; gap:22px; overflow-x:auto; scrollbar-width:none; scroll-snap-type:x mandatory; scroll-behavior:smooth; padding:2px 4px 14px; margin-inline:-4px; }
.bp-product-recommendations__track::-webkit-scrollbar { display:none; }
.bp-product-recommendations__track:focus-visible { outline:2px solid #009ee2; outline-offset:1px; }
.bp-product-recommendations .bp-teaser { flex:0 0 calc((100% - 44px) / 3); scroll-snap-align:start; min-width:0; margin:0; list-style:none; }
.bp-product-recommendations .bp-teaser__card { height:100%; display:flex; flex-direction:column; min-width:0; background:#fff; border:1px solid #e8eef2; border-radius:15px; overflow:hidden; transition:border-color .2s, box-shadow .2s; }
.bp-product-recommendations .bp-teaser__card:hover { border-color:#c3d7df; box-shadow:0 14px 32px rgba(7,34,53,.055); }
.bp-product-recommendations .bp-teaser__badges { position:relative; display:flex; gap:6px; z-index:1; padding:15px 18px 0; min-height:35px; }
.bp-product-recommendations .bp-teaser__badge { background:#111; color:#fff; font-size:11px; line-height:1.2; border-radius:4px; padding:6px 10px; font-weight:650; }
.bp-product-recommendations .bp-teaser__badge--deal { background:#ffd16b; color:#15232d; }
.bp-product-recommendations .bp-teaser__image { min-height:clamp(170px,19vw,245px); display:grid; place-items:center; padding:12px 28px 4px; }
.bp-product-recommendations .bp-teaser__photo { width:100%; height:clamp(165px,18vw,230px); max-width:100%; object-fit:contain; }
.bp-product-recommendations .bp-teaser__body { display:flex; flex:1; flex-direction:column; align-items:center; padding:12px 18px 23px; text-align:center; }
.bp-product-recommendations .bp-teaser__title { margin:0; font-size:clamp(17px,1.55vw,22px); font-weight:700; line-height:1.4; overflow-wrap:anywhere; }
.bp-product-recommendations .bp-teaser__title a { color:#0b1a24; text-decoration:none; }
.bp-product-recommendations .bp-teaser__title a:hover { color:#0289c7; }
.bp-product-recommendations .bp-teaser__specs { color:#6d8390; font-size:13px; line-height:1.5; margin:10px 0 0; }
.bp-product-recommendations .bp-teaser__bottom { margin-top:auto; padding-top:19px; display:flex; flex-direction:column; align-items:center; gap:16px; }
.bp-product-recommendations .bp-teaser__price { font-size:17px; color:#133444; font-weight:650; }
.bp-product-recommendations .bp-teaser__price del { color:#92a1a9; font-weight:400; font-size:.78em; }
.bp-product-recommendations .bp-teaser__price ins { text-decoration:none; }
.bp-product-recommendations .bp-teaser__arrow { height:47px; width:47px; border-radius:50%; display:grid; place-items:center; color:#061c2a; background:#ffbd2d; text-decoration:none; transition:transform .2s, background .2s; }
.bp-product-recommendations .bp-teaser__arrow:hover { background:#ffce4d; transform:translateX(3px); }
.bp-product-recommendations .bp-teaser__arrow:focus-visible { outline:3px solid #00a3da; outline-offset:3px; }
.bp-product-recommendations__dots { min-height:35px; margin-top:23px; display:flex; align-items:center; justify-content:center; gap:9px; }
.bp-product-recommendations__dots button { display:block; border:0; width:9px; height:9px; padding:0; border-radius:20px; background:#aab6c4; cursor:pointer; transition:width .18s,background .18s; }
.bp-product-recommendations__dots button.is-active { width:57px; background:#3ab9d5; }
.bp-product-recommendations__dots button:focus-visible { outline:2px solid #0c273d; outline-offset:4px; }
@media (max-width:1100px) {
    .bp-product-page__overview { gap:32px; grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr); }
    .bp-product-page__container { width:min(100% - 48px,1370px); }
    .bp-product-page__feature-grid { gap:0 27px; }
    .bp-product-recommendations .bp-teaser { flex-basis:calc((100% - 22px)/2); }
}
@media (max-width:800px) {
    .bp-product-page__container { width:min(100% - 32px,1370px); }
    .bp-product-page__breadcrumbs { padding:20px 0 24px; }
    .bp-product-page__overview { display:flex; flex-direction:column-reverse; gap:26px; padding-bottom:66px; }
    .bp-product-gallery, .bp-product-page__details { width:100%; }
    .bp-product-page__heading { margin:0 0 22px; }
    .bp-product-page__title { font-size:clamp(28px,7vw,46px); }
    .bp-product-page__quick-features { margin-bottom:26px; }
    .bp-product-gallery__stage { min-height:300px; }
    .bp-product-gallery__main-link,.bp-product-gallery__placeholder { min-height:330px; padding:25px; }
    .bp-product-gallery__main-image { max-height:390px; }
    .bp-product-page__feature-grid { grid-template-columns:1fr; }
    .bp-product-page__feature-row { padding:15px 0; }
}
@media (max-width:700px) {
    .bp-product-recommendations .bp-teaser { flex-basis: min(83vw,355px); }
    .bp-product-recommendations__track { gap:16px; }
    .bp-product-page__section-heading { margin-bottom:32px; }
    .bp-product-page__breadcrumbs { font-size:12px; }
}
@media (max-width:440px) {
    .bp-product-page__title { font-size:31px; }
    .bp-product-page__quick-features li { font-size:14px; gap:16px; }
    .bp-product-page__quick-label { max-width:52%; }
    .bp-product-gallery__main-link,.bp-product-gallery__placeholder { min-height:270px; padding:14px; }
    .bp-product-gallery__main-image { max-height:285px; }
    .bp-product-gallery__stage { min-height:270px; border-radius:11px; }
    .bp-product-gallery__thumb { flex-basis:75px; width:75px; height:69px; }
    .bp-product-gallery__thumb img { max-height:54px; }
    .bp-product-page__purchase form.cart { gap:10px; }
    .bp-product-page__purchase .single_add_to_cart_button,
    .bp-product-page__purchase .button { flex:1 1 auto; min-height:52px; padding:13px 20px; }
    .bp-product-page__feature-row { grid-template-columns:minmax(0, .96fr) minmax(0,1.04fr); gap:12px; font-size:14px; }
    .bp-product-recommendations .bp-teaser { flex-basis:80vw; }
}
@media (prefers-reduced-motion:reduce) {
    .bp-product-page *, .bp-product-page *::before, .bp-product-page *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}

/* Blaupunkt 2026: homepage support/SAV section. Scoped, standalone SCSS. */
.bp-sav,
.bp-sav *,
.bp-sav *::before,
.bp-sav *::after { box-sizing: border-box; }
.bp-sav {
    position: relative;
    width: 100%;
    overflow: hidden;
    isolation: isolate;
    background: #0a141d;
    color: #fff;
    font-family: 'Roboto', Arial, sans-serif;
}
.bp-sav::before {
    position: absolute;
    inset: 0;
    content: '';
    pointer-events: none;
    background:
        radial-gradient(circle at 85% 45%, rgba(0, 158, 226, .16), transparent 42%),
        linear-gradient(135deg, rgba(255, 255, 255, .035), transparent 48%);
}
.bp-sav__container {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1660px;
    margin: 0 auto;
    padding: clamp(65px, 7vw, 118px) clamp(22px, 6vw, 100px);
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    align-items: center;
    gap: clamp(30px, 5.4vw, 100px);
}
.bp-sav__content { max-width: 690px; min-width: 0; }
.bp-sav__eyebrow {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 clamp(19px, 2vw, 30px);
    color: #93cade;
    text-transform: uppercase;
    font-size: clamp(12px, .9vw, 14px);
    font-weight: 700;
    letter-spacing: .16em;
    line-height: 1.4;
}
.bp-sav__eyebrow::before {
    content: '';
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #009ee2;
    flex: 0 0 9px;
}
.bp-sav__title {
    max-width: 640px;
    margin: 0;
    font-size: clamp(38px, 4.2vw, 74px);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -.035em;
    color: #fff;
}
.bp-sav__description {
    max-width: 570px;
    margin: clamp(20px, 2vw, 31px) 0 0;
    font-size: clamp(16px, 1.17vw, 20px);
    line-height: 1.62;
    font-weight: 400;
    color: #c3d0d8;
}
.bp-sav__cta {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 22px;
    margin-top: clamp(26px, 3.3vw, 50px);
    color: #fff;
    font-size: clamp(16px, 1.15vw, 19px);
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
}
.bp-sav__cta:visited, .bp-sav__cta:hover, .bp-sav__cta:focus {
    color: #fff;
    text-decoration: none;
}
.bp-sav__cta:focus-visible {
    outline: 2px solid #009ee2;
    outline-offset: 7px;
    border-radius: 4px;
}
.bp-sav__arrow {
    width: clamp(48px, 3.5vw, 58px);
    height: clamp(48px, 3.5vw, 58px);
    border-radius: 50%;
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    background: #ffbf24;
    color: #0e161b;
    transition: transform .2s ease, background-color .2s ease;
}
.bp-sav__cta:hover .bp-sav__arrow, .bp-sav__cta:focus-visible .bp-sav__arrow {
    transform: translateX(4px);
    background: #ffce4d;
}
.bp-sav__art {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 0;
    aspect-ratio: 1.16;
}
.bp-sav__halo { position: absolute; border: 1px solid rgba(139, 202, 226, .16); border-radius: 50%; }
.bp-sav__halo--one { width: 96%; aspect-ratio: 1; }
.bp-sav__halo--two { width: 73%; aspect-ratio: 1; }
.bp-sav__artwork {
    width: 100%;
    max-width: 650px;
    filter: drop-shadow(0 30px 38px rgba(0, 0, 0, .18));
}
.bp-sav__illustration { display: block; width: 100%; height: auto; }
.bp-sav__accent {
    position: absolute;
    left: 4%;
    bottom: 13%;
    display: block;
    width: clamp(18px, 3vw, 41px);
    height: clamp(18px, 3vw, 41px);
    border-radius: 50%;
    background: #009ee2;
}
@media (max-width: 900px) {
    .bp-sav__container { grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); gap: 12px; }
    .bp-sav__title { font-size: clamp(34px, 5vw, 54px); }
    .bp-sav__description { font-size: 16px; }
}
@media (max-width: 690px) {
    .bp-sav__container {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 52px clamp(22px, 6vw, 34px) 43px;
    }
    .bp-sav__content { max-width: 100%; }
    .bp-sav__eyebrow { margin-bottom: 18px; font-size: 12px; }
    .bp-sav__title { font-size: clamp(36px, 9vw, 53px); line-height: 1.08; }
    .bp-sav__description { font-size: 16px; line-height: 1.55; margin-top: 19px; }
    .bp-sav__cta { margin-top: 26px; gap: 18px; font-size: 17px; }
    .bp-sav__arrow { width: 48px; height: 48px; }
    .bp-sav__art { width: 100%; max-width: 420px; margin: 14px auto -12px; aspect-ratio: 1.35; }
    .bp-sav__accent { left: 8%; bottom: 10%; }
}
@media (prefers-reduced-motion: reduce) {
    .bp-sav__arrow { transition: none; }
}
