/* TWINLINE Planer 1.0.13, Bädermaxx (c) Konstantin Magel */

/* Nur auf der TWINLINE-Landingpage geladen: keine weiße Brotkrumen-Leiste über dem dunklen Einstieg */
.is--ctl-campaign .content--breadcrumb { display: none !important; }
.is--ctl-campaign .content-main--inner { padding-top: 0 !important; }

.bmx-tw {
    --tw-ink: #1f2225;
    --tw-text: #34383c;
    --tw-muted: #676d72;
    --tw-line: #dcdedf;
    --tw-line-soft: #ececec;
    --tw-paper: #f4f4f2;
    --tw-paper-deep: #e8e8e5;
    --tw-dark: #26292c;
    --tw-dark-grad: linear-gradient(150deg, #33373b 0%, #25282b 55%, #1f2224 100%);
    --tw-on-dark: rgba(255, 255, 255, .78);
    --tw-on-dark-mute: rgba(255, 255, 255, .6);
    --tw-orange: #f7a712;
    --tw-orange-h: #ffb92e;
    --tw-orange-ink: #9a5d00;
    --tw-orange-soft: #fdf1d9;
    --tw-buy: #37b03a;
    --tw-ok: #2b7a3e;
    --tw-gap: clamp(16px, 2vw, 28px);
    --tw-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.4l2.9 2.9 6.1-6.6' fill='none' stroke='%231f2225' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    position: relative;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: calc(50vw - 50%);
    padding-right: calc(50vw - 50%);
    background: #fff;
    color: var(--tw-text);
    font-size: 17px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
body:has(#bmx-tw) { background-color: #fff; }
.bmx-tw *, .bmx-tw *::before, .bmx-tw *::after { box-sizing: border-box; }
.bmx-tw [hidden] { display: none !important; }
.bmx-tw img, .bmx-tw video { display: block; max-width: 100%; height: auto; }
.bmx-tw h1, .bmx-tw h2, .bmx-tw h3, .bmx-tw h4, .bmx-tw p, .bmx-tw figure, .bmx-tw ol, .bmx-tw ul, .bmx-tw li { margin: 0; padding: 0; }
.bmx-tw ol, .bmx-tw ul { list-style: none; }
.bmx-tw p, .bmx-tw li, .bmx-tw dd, .bmx-tw figcaption { font-size: inherit; line-height: inherit; }
#bmx-tw h1, #bmx-tw h2, #bmx-tw h3, #bmx-tw h4 { text-transform: none; font-family: inherit; }
.bmx-tw button { font: inherit; color: inherit; letter-spacing: inherit; text-transform: none; }
.bmx-tw a { color: var(--tw-ink); }
.bmx-tw a:hover { color: var(--tw-orange-ink); }
.bmx-tw :focus-visible { outline: 3px solid var(--tw-ink); outline-offset: 3px; }
.bmx-tw .tw-dark :focus-visible { outline-color: var(--tw-orange); }
.bmx-tw [id] { scroll-margin-top: 96px; }
.bmx-tw .tw-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- Typografie ---------- */
#bmx-tw .tw-h1 {
    font-size: clamp(2.125rem, 1.2rem + 2.5vw, 3.5rem);
    font-weight: 500;
    line-height: 1.05;
    letter-spacing: -0.024em;
    color: var(--tw-ink);
    text-wrap: balance;
}
#bmx-tw .tw-h2 {
    font-size: clamp(1.75rem, 1.3rem + 1.2vw, 2.5rem);
    font-weight: 500;
    line-height: 1.12;
    letter-spacing: -0.02em;
    color: var(--tw-ink);
    text-wrap: balance;
}
#bmx-tw .tw-h3 { font-size: 1.1875rem; font-weight: 600; line-height: 1.3; letter-spacing: -0.01em; color: var(--tw-ink); margin-bottom: 6px; }
#bmx-tw .tw-h4 { font-size: 1.0625rem; font-weight: 600; line-height: 1.35; color: var(--tw-ink); margin: 0 0 4px; }
.bmx-tw .tw-lead { font-size: clamp(1.0313rem, .97rem + .28vw, 1.1875rem); line-height: 1.55; max-width: 30em; }
.bmx-tw .tw-intro { max-width: 34em; }
.bmx-tw .tw-link {
    color: var(--tw-ink);
    font-weight: 600;
    text-decoration: underline;
    text-decoration-thickness: 1.5px;
    text-decoration-color: var(--tw-orange);
    text-underline-offset: 5px;
}
.bmx-tw .tw-link:hover { color: var(--tw-orange-ink); }

/* ---------- Dunkle Flächen im Artweger-Stil ---------- */
.bmx-tw .tw-dark { background-color: var(--tw-dark); background-image: var(--tw-dark-grad); color: var(--tw-on-dark); }
#bmx-tw .tw-dark .tw-h1, #bmx-tw .tw-dark .tw-h2, #bmx-tw .tw-dark .tw-h3 { color: #fff; }
.bmx-tw .tw-dark .tw-link { color: #fff; }
.bmx-tw .tw-dark .tw-link:hover { color: var(--tw-orange); }

/* ---------- Bausteine ---------- */
.bmx-tw .tw-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 50px;
    padding: 0 28px;
    border: 0;
    border-radius: 6px;
    background: var(--tw-orange);
    color: var(--tw-ink);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition: background-color .2s ease;
}
.bmx-tw .tw-btn:hover, .bmx-tw .tw-btn:focus-visible { background: var(--tw-orange-h); color: var(--tw-ink); }
.bmx-tw .tw-btn[disabled] { background: #d9d9d6; color: #7d8286; cursor: not-allowed; }
.bmx-tw .tw-btn.is--loading { cursor: progress; }
.bmx-tw .tw-btn--block { width: 100%; }
.bmx-tw .tw-btn--buy {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: var(--tw-buy);
    color: #fff;
    font-weight: 700;
    transition: background-color .25s ease, box-shadow .25s ease;
}
.bmx-tw .tw-btn--buy::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    background: color-mix(in srgb, var(--tw-buy) 78%, #000);
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform .5s cubic-bezier(.2, .7, .2, 1);
    pointer-events: none;
}
.bmx-tw .tw-btn--buy:hover, .bmx-tw .tw-btn--buy:focus-visible { background: var(--tw-buy); color: #fff; }
.bmx-tw .tw-btn--buy:hover::before, .bmx-tw .tw-btn--buy:focus-visible::before { transform: scaleX(1); transform-origin: left center; }
.bmx-tw .tw-btn--buy:focus-visible { outline: 0; box-shadow: 0 0 0 2px #fff, 0 0 0 4px #1d5e1f; }
.bmx-tw .tw-btn--buy[disabled] { background: #a9c7aa; color: #fff; }
.bmx-tw .tw-btn--buy[disabled]::before { display: none; }

.bmx-tw .tw-sec { padding-top: clamp(40px, 4.6vw, 68px); padding-bottom: clamp(40px, 4.6vw, 68px); }
.bmx-tw .tw-sec:not(.tw-band) + .tw-sec:not(.tw-band) { padding-top: 0; }
.bmx-tw .tw-band {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: calc(50vw - 50%);
    padding-right: calc(50vw - 50%);
    background-color: var(--tw-paper);
}
.bmx-tw .tw-band.tw-dark { background-color: var(--tw-dark); }

.bmx-tw .tw-head {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    column-gap: clamp(24px, 5vw, 80px);
    row-gap: 10px;
    align-items: end;
    margin-bottom: clamp(20px, 2.4vw, 32px);
}
.bmx-tw .tw-head--single { grid-template-columns: minmax(0, 1fr); }


/* ---------- Hero ---------- */
.bmx-tw .tw-hero { padding-top: clamp(24px, 3vw, 44px); padding-bottom: clamp(24px, 3vw, 44px); }
.bmx-tw .tw-hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(24px, 4vw, 64px); align-items: center; }
.bmx-tw .tw-hero__brand { display: flex; align-items: center; gap: 14px; margin-bottom: clamp(16px, 2vw, 26px); color: var(--tw-on-dark-mute); font-size: 15px; font-weight: 500; line-height: 1.2; }
.bmx-tw .tw-hero__brand img { width: 118px; height: auto; }
.bmx-tw .tw-hero__brand span { padding-left: 14px; border-left: 1px solid rgba(255, 255, 255, .28); white-space: nowrap; }
.bmx-tw .tw-hero__brand b { color: var(--tw-orange); font-weight: 600; }
.bmx-tw .tw-hero .tw-lead { margin-top: clamp(14px, 1.6vw, 20px); color: var(--tw-on-dark); }
.bmx-tw .tw-hero__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; margin-top: clamp(16px, 2vw, 24px); color: var(--tw-on-dark-mute); font-size: 15px; }
.bmx-tw .tw-hero__price strong { font-size: 1.75rem; font-weight: 600; letter-spacing: -0.015em; color: #fff; font-variant-numeric: tabular-nums; }
.bmx-tw .tw-hero__price small { flex-basis: 100%; font-size: 14px; }
.bmx-tw .tw-hero__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; margin-top: clamp(18px, 2vw, 26px); }
.bmx-tw .tw-hero__media { position: relative; margin: 0; aspect-ratio: 3 / 2; border-radius: 6px; overflow: hidden; background: #3a3e42; }
.bmx-tw .tw-hero__media picture, .bmx-tw .tw-hero__media img { width: 100%; height: 100%; }
.bmx-tw .tw-hero__media img { object-fit: cover; }
.bmx-tw .tw-pin {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 13px 6px 9px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .94);
    color: var(--tw-ink);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .14);
}
.bmx-tw .tw-pin::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--tw-orange); box-shadow: 0 0 0 3px rgba(247, 167, 18, .28); }
.bmx-tw .tw-pin--d { left: 48%; top: 22%; }
.bmx-tw .tw-pin--b { left: 66%; top: 56%; }

/* ---------- Ablauf ---------- */
.bmx-tw .tw-seqwrap { display: grid; grid-template-columns: calc(75% - var(--tw-gap) / 4) minmax(0, 1fr); gap: var(--tw-gap); align-items: start; }
.bmx-tw .tw-seq { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--tw-gap); }
.bmx-tw .tw-seq img, .bmx-tw .tw-safe img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 6px; background: var(--tw-paper); }
#bmx-tw .tw-seq .tw-h3, #bmx-tw .tw-safe .tw-h3 { display: flex; align-items: baseline; gap: 10px; margin: 16px 0 6px; }
.bmx-tw .tw-seq__no { color: var(--tw-orange-ink); font-variant-numeric: tabular-nums; }
.bmx-tw .tw-seq p, .bmx-tw .tw-safe p { font-size: 16px; line-height: 1.55; }
.bmx-tw .tw-safe { padding: 12px 12px 16px; border-radius: 8px; background: var(--tw-paper); }
#bmx-tw .tw-safe .tw-h3 { margin-top: 14px; }
.bmx-tw .tw-safe svg { width: 18px; height: 18px; flex: 0 0 auto; color: var(--tw-orange-ink); align-self: center; }

/* ---------- Maße ---------- */
.bmx-tw .tw-dims { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(24px, 4vw, 64px); align-items: center; }
.bmx-tw .tw-dims__fig img { width: 100%; }
.bmx-tw .tw-dims__fig figcaption { margin-top: 12px; font-size: 14px; line-height: 1.5; color: var(--tw-muted); max-width: 40em; }
.bmx-tw table.tw-spec { width: 100%; margin: 0; border: 0; border-collapse: collapse; font-size: 16px; background: none; }
.bmx-tw .tw-spec th, .bmx-tw .tw-spec td {
    padding: 11px 16px 11px 0;
    border: 0;
    border-bottom: 1px solid var(--tw-line);
    background: none;
    color: var(--tw-text);
    font-weight: 400;
    text-align: left;
    vertical-align: top;
    line-height: 1.45;
}
.bmx-tw .tw-spec thead th { padding-top: 0; color: var(--tw-ink); font-weight: 600; border-bottom: 1.5px solid var(--tw-ink); }
.bmx-tw .tw-spec tbody th { width: 40%; color: var(--tw-muted); }
.bmx-tw .tw-spec td { font-variant-numeric: tabular-nums; }

/* ---------- Planer ---------- */
.bmx-tw .tw-planer__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(380px, 5fr); gap: clamp(24px, 3vw, 52px); align-items: start; }
.bmx-tw .tw-stage { position: sticky; top: 84px; }
.bmx-tw .tw-stage__view { position: relative; aspect-ratio: 3 / 2; border-radius: 6px; overflow: hidden; background: var(--tw-paper); }
.bmx-tw .tw-stage__photo, .bmx-tw .tw-stage__drawing { position: absolute; inset: 0; transition: opacity .45s ease, visibility .45s; }
.bmx-tw .tw-stage__view[data-view="photo"] .tw-stage__drawing, .bmx-tw .tw-stage__view[data-view="drawing"] .tw-stage__photo { opacity: 0; visibility: hidden; }
.bmx-tw .tw-stage__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .5s ease; }
.bmx-tw .tw-stage__photo img.is-on { opacity: 1; }
.bmx-tw .tw-stage__tag {
    position: absolute;
    left: 14px;
    bottom: 14px;
    max-width: calc(100% - 28px);
    padding: 7px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .88);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    font-size: 13px;
    line-height: 1.3;
    color: var(--tw-ink);
}
.bmx-tw .tw-stage__drawing { background: #f5f5f4; }
.bmx-tw .tw-stage__drawing svg { display: block; width: 100%; height: 100%; font-family: inherit; }
.bmx-tw .tw-stage__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin-top: 12px; }
.bmx-tw .tw-stage__hint { font-size: 14px; color: var(--tw-muted); }
.bmx-tw .tw-seg { display: inline-flex; padding: 3px; border-radius: 999px; background: var(--tw-line-soft); }
.bmx-tw .tw-seg button { padding: 8px 18px; border: 0; border-radius: 999px; background: transparent; color: var(--tw-ink); font-size: 14px; font-weight: 600; cursor: pointer; transition: background-color .25s, color .25s; }
.bmx-tw .tw-seg button[aria-pressed="true"] { background: #fff; box-shadow: 0 1px 2px rgba(31, 34, 37, .14); }
.bmx-tw .tw-stage__buy { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--tw-line); }
.bmx-tw .tw-stage__sum span { display: block; font-size: 14px; color: var(--tw-muted); }
.bmx-tw .tw-stage__sum strong { display: block; font-size: 1.75rem; line-height: 1.1; font-weight: 600; letter-spacing: -0.015em; color: var(--tw-ink); font-variant-numeric: tabular-nums; }
.bmx-tw .tw-stage__sum small { display: block; margin-top: 2px; font-size: 13px; color: var(--tw-muted); }

.bmx-tw .tw-steps { border-top: 1px solid var(--tw-line); }
.bmx-tw .tw-step { border-bottom: 1px solid var(--tw-line); }
.bmx-tw .tw-step__h { margin: 0; font-size: inherit; font-weight: inherit; }
.bmx-tw .tw-step__head {
    display: grid;
    grid-template-columns: 30px minmax(0, auto) minmax(0, 1fr) 20px;
    align-items: center;
    gap: 14px;
    width: 100%;
    margin: 0;
    padding: 15px 2px;
    border: 0;
    background: none;
    color: var(--tw-ink);
    text-align: left;
    cursor: pointer;
}
.bmx-tw .tw-step__no { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--tw-line-soft); font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; transition: background-color .25s, color .25s; }
.bmx-tw .tw-step.is-done .tw-step__no { background: var(--tw-orange-soft); color: var(--tw-orange-ink); }
.bmx-tw .tw-step.is-open .tw-step__no { background: var(--tw-ink); color: #fff; }
.bmx-tw .tw-step__title { font-size: 18px; font-weight: 600; white-space: nowrap; }
.bmx-tw .tw-step__val { min-width: 0; font-size: 14px; color: var(--tw-muted); text-align: right; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bmx-tw .tw-step__chev { width: 20px; height: 20px; color: var(--tw-muted); transition: transform .3s ease; }
.bmx-tw .tw-step.is-open .tw-step__chev { transform: rotate(180deg); }
.bmx-tw .tw-step.is-open .tw-step__val { visibility: hidden; }
.bmx-tw .tw-step__body { padding: 0 0 22px 44px; }
.bmx-tw .tw-step__q { margin: 4px 0 10px; font-size: 15px; font-weight: 600; color: var(--tw-ink); }
.bmx-tw .tw-step__q ~ .tw-step__q { margin-top: 18px; }
.bmx-tw .tw-hint { margin-top: 10px; font-size: 14px; line-height: 1.5; color: var(--tw-muted); }
.bmx-tw .tw-hint:empty { display: none; }
.bmx-tw .tw-hint a { color: var(--tw-ink); text-decoration-color: var(--tw-orange); text-underline-offset: 3px; }

.bmx-tw .tw-opts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.bmx-tw .tw-opts--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bmx-tw .tw-opt {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 3px;
    width: 100%;
    margin: 0;
    padding: 13px 13px 12px;
    border: 1px solid var(--tw-line);
    border-radius: 8px;
    background: #fff;
    color: var(--tw-text);
    text-align: left;
    cursor: pointer;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.bmx-tw .tw-opt:hover { border-color: #9a9fa3; }
.bmx-tw .tw-opt.is--active { border-color: var(--tw-ink); box-shadow: inset 0 0 0 1px var(--tw-ink); }
.bmx-tw .tw-opt.is--active::after {
    content: "";
    position: absolute;
    top: 9px;
    right: 9px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--tw-orange) var(--tw-check) center / 14px no-repeat;
    box-shadow: 0 0 0 2px #fff;
}
.bmx-tw .tw-opt[disabled] { opacity: .45; cursor: not-allowed; }
.bmx-tw .tw-opt__t { font-size: 16px; font-weight: 600; line-height: 1.3; color: var(--tw-ink); }
.bmx-tw .tw-opt__big { font-size: 19px; font-weight: 600; letter-spacing: -0.01em; line-height: 1.25; color: var(--tw-ink); font-variant-numeric: tabular-nums; }
.bmx-tw .tw-opt__d { font-size: 14px; line-height: 1.4; color: var(--tw-muted); }
.bmx-tw .tw-opt__p { margin-top: 6px; font-size: 14px; font-weight: 600; color: var(--tw-ink); font-variant-numeric: tabular-nums; }
.bmx-tw .tw-opt__p:empty { display: none; }
.bmx-tw .tw-opt__media { display: block; margin: -13px -13px 10px; aspect-ratio: 3 / 2; overflow: hidden; border-radius: 7px 7px 0 0; background: var(--tw-paper); }
.bmx-tw .tw-opt__media img { width: 100%; height: 100%; object-fit: cover; }
.bmx-tw .tw-opt__fig { display: block; margin-bottom: 8px; }
.bmx-tw .tw-opt__fig svg { display: block; width: 100%; height: auto; }
.bmx-tw .tw-opt--side .tw-opt__fig { margin: -5px -5px 10px; border-radius: 6px; background: #f5f5f4; }


.bmx-tw .tw-sw { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.bmx-tw .tw-swatch {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    margin: 0;
    padding: 6px 4px 8px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    text-align: center;
    cursor: pointer;
}
.bmx-tw .tw-swatch:hover { background: var(--tw-line-soft); }
.bmx-tw .tw-sw__img { display: block; width: 100%; aspect-ratio: 1; overflow: hidden; border-radius: 6px; background: var(--tw-paper); box-shadow: inset 0 0 0 1px rgba(31, 34, 37, .1); transition: box-shadow .2s ease; }
.bmx-tw .tw-sw__img img { width: 100%; height: 100%; object-fit: cover; }
.bmx-tw .tw-sw__img--pf img { transform: scale(1.18); }
.bmx-tw .tw-swatch.is--active .tw-sw__img { box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--tw-orange); }
.bmx-tw .tw-swatch strong { font-size: 13px; font-weight: 600; line-height: 1.25; color: var(--tw-ink); }
.bmx-tw .tw-swatch em { font-style: normal; font-size: 12px; line-height: 1.2; color: var(--tw-muted); font-variant-numeric: tabular-nums; }
.bmx-tw .tw-swatch[disabled] { opacity: .4; cursor: not-allowed; }

.bmx-tw .tw-tog {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 14px;
    align-items: start;
    margin: 0;
    padding: 12px 0;
    border-top: 1px solid var(--tw-line-soft);
    cursor: pointer;
}
.bmx-tw .tw-step__q + .tw-tog, .bmx-tw .tw-step__body > .tw-tog:first-child { border-top: 0; }
.bmx-tw .tw-tog input {
    -webkit-appearance: none;
    appearance: none;
    width: 22px;
    height: 22px;
    margin: 1px 0 0;
    border: 1.5px solid #8e9397;
    border-radius: 5px;
    background: #fff;
    cursor: pointer;
}
.bmx-tw .tw-tog input:checked {
    border-color: var(--tw-ink);
    background: var(--tw-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.4l2.9 2.9 6.1-6.6' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 15px no-repeat;
}
.bmx-tw .tw-tog input:disabled { opacity: .45; }
.bmx-tw .tw-tog__txt strong { display: block; font-size: 16px; font-weight: 600; line-height: 1.35; color: var(--tw-ink); }
.bmx-tw .tw-tog__txt span { display: block; margin-top: 2px; font-size: 14px; line-height: 1.45; color: var(--tw-muted); }
.bmx-tw .tw-tog em { font-style: normal; font-size: 14px; font-weight: 600; color: var(--tw-ink); white-space: nowrap; font-variant-numeric: tabular-nums; }
.bmx-tw .tw-tog--media { grid-template-columns: auto auto minmax(0, 1fr) auto; align-items: center; }
.bmx-tw .tw-hint + .tw-tog { margin-top: 12px; }
.bmx-tw .tw-tog__img { display: block; width: 72px; aspect-ratio: 600 / 564; overflow: hidden; border-radius: 6px; background: var(--tw-paper); }
.bmx-tw .tw-tog__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.bmx-tw .tw-tog__img--ico { display: grid; place-items: center; background: #f1f1ef; }
.bmx-tw .tw-tog__img--prod { background: #fff; box-shadow: inset 0 0 0 1px var(--tw-line-soft); }
.bmx-tw .tw-tog__img--prod img { object-fit: contain; padding: 4px; }
.bmx-tw .tw-tog__img--ico svg { display: block; width: 100%; height: 100%; }

.bmx-tw .tw-next {
    display: inline-flex;
    align-items: center;
    margin-top: 16px;
    padding: 10px 18px;
    border: 1.5px solid var(--tw-ink);
    border-radius: 6px;
    background: transparent;
    color: var(--tw-ink);
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color .2s, color .2s;
}
.bmx-tw .tw-next:hover { background: var(--tw-ink); color: #fff; }

.bmx-tw .tw-summary { margin-top: 24px; padding: clamp(20px, 2.2vw, 28px); border-radius: 8px; background: var(--tw-paper); }
.bmx-tw .tw-lines { margin: 6px 0 0; }
.bmx-tw .tw-lines li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; padding: 11px 0; border-bottom: 1px solid var(--tw-line); font-size: 15px; line-height: 1.4; color: var(--tw-ink); }
.bmx-tw .tw-lines small { display: block; margin-top: 2px; font-size: 13px; color: var(--tw-muted); }
.bmx-tw .tw-lines .tw-line__price { font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
.bmx-tw .tw-lines li.is--missing .tw-line__price { color: var(--tw-orange-ink); }
.bmx-tw .tw-total { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding-top: 14px; color: var(--tw-ink); }
.bmx-tw .tw-total span { font-weight: 600; }
.bmx-tw .tw-total strong { font-size: 1.75rem; font-weight: 600; letter-spacing: -0.015em; font-variant-numeric: tabular-nums; }
.bmx-tw .tw-save { margin-top: 2px; font-size: 15px; font-weight: 600; color: var(--tw-ok); text-align: right; }
.bmx-tw .tw-save:empty { display: none; }
.bmx-tw .tw-tax { margin: 2px 0 16px; font-size: 13px; color: var(--tw-muted); text-align: right; }
.bmx-tw .tw-msg { margin-top: 10px; font-size: 14px; line-height: 1.45; }
.bmx-tw .tw-msg:empty { display: none; }
.bmx-tw .tw-msg.is--ok { color: var(--tw-ok); }
.bmx-tw .tw-msg.is--error, .bmx-tw .tw-msg.is--info { color: var(--tw-orange-ink); }
.bmx-tw .tw-assure { display: grid; gap: 5px; margin-top: 16px; font-size: 14px; color: var(--tw-text); }
.bmx-tw .tw-assure li { position: relative; padding-left: 26px; }
.bmx-tw .tw-assure li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3px;
    width: 16px;
    height: 16px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.4l3 3 7-7.4' fill='none' stroke='%232b7a3e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px no-repeat;
}
.bmx-tw .tw-summary__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--tw-line); font-size: 14px; }
.bmx-tw .tw-linkbtn { padding: 0; border: 0; background: none; color: var(--tw-ink); font-size: 14px; font-weight: 600; text-decoration: underline; text-decoration-color: var(--tw-orange); text-underline-offset: 4px; cursor: pointer; }

.bmx-tw .tw-mobilebar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3000;
    display: none;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
    background: #fff;
    box-shadow: 0 -1px 0 var(--tw-line), 0 -10px 30px rgba(31, 34, 37, .08);
    transform: translateY(110%);
    transition: transform .3s ease;
}
.bmx-tw .tw-mobilebar.is--visible { transform: none; }
.bmx-tw .tw-mobilebar__sum small { display: block; font-size: 12px; color: var(--tw-muted); }
.bmx-tw .tw-mobilebar__sum strong { display: block; font-size: 19px; font-weight: 600; color: var(--tw-ink); font-variant-numeric: tabular-nums; }
.bmx-tw .tw-mobilebar .tw-btn { min-height: 46px; padding: 0 18px; font-size: 15px; }

/* ---------- Fragen ---------- */
.bmx-tw .tw-faq { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(24px, 4vw, 72px); align-items: start; }
.bmx-tw .tw-contact { margin-top: 22px; padding: 22px 24px; border-radius: 8px; background-color: var(--tw-dark); background-image: var(--tw-dark-grad); color: var(--tw-on-dark); }
.bmx-tw .tw-contact p { font-size: 15px; }
.bmx-tw .tw-contact .tw-contact__t { font-size: 17px; font-weight: 600; color: #fff; margin-bottom: 4px; }
.bmx-tw .tw-contact .tw-contact__tel { display: inline-block; margin-top: 10px; font-size: 22px; font-weight: 600; letter-spacing: -0.01em; color: #fff; text-decoration: underline; text-decoration-color: var(--tw-orange); text-decoration-thickness: 2px; text-underline-offset: 6px; font-variant-numeric: tabular-nums; }
.bmx-tw .tw-contact .tw-contact__tel:hover { color: var(--tw-orange); }
.bmx-tw .tw-contact .tw-contact__time { margin-top: 6px; font-size: 14px; color: var(--tw-on-dark-mute); }
.bmx-tw .tw-contact :focus-visible { outline-color: var(--tw-orange); }
.bmx-tw .tw-faq__list { border-top: 1px solid var(--tw-line); }
.bmx-tw .tw-faq details { border-bottom: 1px solid var(--tw-line); }
.bmx-tw .tw-faq summary {
    position: relative;
    display: block;
    padding: 16px 44px 16px 0;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.35;
    color: var(--tw-ink);
    list-style: none;
    cursor: pointer;
}
.bmx-tw .tw-faq summary::-webkit-details-marker { display: none; }
.bmx-tw .tw-faq summary::before, .bmx-tw .tw-faq summary::after {
    content: "";
    position: absolute;
    right: 6px;
    top: 50%;
    width: 16px;
    height: 2px;
    margin-top: -1px;
    border-radius: 2px;
    background: var(--tw-ink);
    transition: transform .3s ease;
}
.bmx-tw .tw-faq summary::after { transform: rotate(90deg); }
.bmx-tw .tw-faq details[open] summary::after { transform: rotate(0); }
.bmx-tw .tw-faq details p { max-width: 42em; padding: 0 0 18px; font-size: 16px; }

/* ---------- Teile ---------- */
.bmx-tw .tw-parts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(24px, 4vw, 56px); border-top: 1px solid var(--tw-line); }
.bmx-tw .tw-part { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--tw-line); color: var(--tw-text); text-decoration: none; }
.bmx-tw .tw-part:hover .tw-part__name { color: var(--tw-orange-ink); }
.bmx-tw .tw-part img, .bmx-tw .tw-part__ph { width: 56px; height: 56px; object-fit: contain; border-radius: 4px; background: #fff; }
.bmx-tw .tw-part__ph { display: block; background: #f3f3f1 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a9fa3' stroke-width='1.4' stroke-linejoin='round'%3E%3Cpath d='M3.5 7.5 12 3.2l8.5 4.3v9L12 20.8l-8.5-4.3z'/%3E%3Cpath d='M3.5 7.5 12 11.8l8.5-4.3M12 11.8v9'/%3E%3C/svg%3E") center / 26px no-repeat; }
.bmx-tw .tw-part__name { font-size: 15px; font-weight: 500; line-height: 1.4; color: var(--tw-ink); }
.bmx-tw .tw-part__price { font-size: 15px; font-weight: 600; color: var(--tw-ink); white-space: nowrap; font-variant-numeric: tabular-nums; }
.bmx-tw .tw-groups { border-top: 1px solid var(--tw-line); }
.bmx-tw .tw-group { border-bottom: 1px solid var(--tw-line); }
.bmx-tw .tw-group summary {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 2px 24px;
    padding: 16px 48px 16px 0;
    list-style: none;
    cursor: pointer;
}
.bmx-tw .tw-group summary::-webkit-details-marker { display: none; }
.bmx-tw .tw-group summary::before, .bmx-tw .tw-group summary::after {
    content: "";
    position: absolute;
    right: 6px;
    top: 50%;
    width: 16px;
    height: 2px;
    margin-top: -1px;
    border-radius: 2px;
    background: var(--tw-ink);
    transition: transform .3s ease;
}
.bmx-tw .tw-group summary::after { transform: rotate(90deg); }
.bmx-tw .tw-group[open] summary::after { transform: rotate(0); }
.bmx-tw .tw-group summary:hover .tw-group__t { color: var(--tw-orange-ink); }
.bmx-tw .tw-group__t { font-size: 17px; font-weight: 600; line-height: 1.35; color: var(--tw-ink); }
.bmx-tw .tw-group__meta { font-size: 14px; color: var(--tw-muted); font-variant-numeric: tabular-nums; }
.bmx-tw .tw-group .tw-parts { margin-bottom: 18px; }
.bmx-tw .tw-downloads { display: flex; flex-wrap: wrap; gap: 10px 32px; margin-top: 24px; }
.bmx-tw .tw-downloads a { display: inline; color: var(--tw-ink); font-weight: 600; line-height: 1.7; text-decoration: none; }
.bmx-tw .tw-downloads a span { text-decoration: underline; text-decoration-thickness: 1.5px; text-decoration-color: var(--tw-orange); text-underline-offset: 5px; }
.bmx-tw .tw-downloads a:hover { color: var(--tw-orange-ink); }
.bmx-tw .tw-downloads small { margin-left: 1px; font-size: 13px; font-weight: 400; color: var(--tw-muted); white-space: nowrap; }

/* ---------- Responsiv ---------- */
@media (max-width: 1099px) {
    .bmx-tw .tw-planer__grid { grid-template-columns: minmax(0, 1fr); }
    .bmx-tw .tw-stage { position: static; }
    .bmx-tw .tw-mobilebar { display: flex; }
    .bmx-tw .tw-seqwrap { grid-template-columns: minmax(0, 1fr); }
    .bmx-tw .tw-safe { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 0 18px; align-items: center; }
    .bmx-tw .tw-safe img { grid-row: span 2; }
    #bmx-tw .tw-safe .tw-h3 { margin-top: 0; }
}
@media (min-width: 1100px) and (max-height: 760px) {
    .bmx-tw .tw-stage { position: static; }
}
@media (max-width: 899px) {
    .bmx-tw .tw-head, .bmx-tw .tw-hero__grid, .bmx-tw .tw-dims, .bmx-tw .tw-faq { grid-template-columns: minmax(0, 1fr); }
    .bmx-tw .tw-hero__media { order: -1; }
    .bmx-tw .tw-parts { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
    .bmx-tw { font-size: 16px; }
    .bmx-tw .tw-hero { padding-top: 16px; }
    .bmx-tw .tw-hero__media { margin: 0 -4px; }
    .bmx-tw .tw-pin { font-size: 12px; padding: 5px 10px 5px 7px; }
    .bmx-tw .tw-pin--d { left: 46%; top: 16%; }
    .bmx-tw .tw-pin--b { left: 64%; top: 52%; }
    .bmx-tw .tw-hero__cta .tw-btn { flex: 1 1 100%; }
    .bmx-tw .tw-seq { display: flex; gap: 12px; margin-right: calc(50% - 50vw); padding-right: calc(50vw - 50%); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
    .bmx-tw .tw-seq::-webkit-scrollbar { display: none; }
    .bmx-tw .tw-seq > li { flex: 0 0 78%; scroll-snap-align: start; }
    .bmx-tw .tw-safe { grid-template-columns: 112px minmax(0, 1fr); }
    .bmx-tw .tw-safe img { aspect-ratio: 1; }
    .bmx-tw .tw-safe p { font-size: 15px; }
    .bmx-tw .tw-step__body { padding-left: 0; }
    .bmx-tw .tw-step__head { grid-template-columns: 30px minmax(0, 1fr) 20px; row-gap: 0; }
    .bmx-tw .tw-step__no { grid-row: 1 / span 2; }
    .bmx-tw .tw-step__title { grid-column: 2; grid-row: 1; }
    .bmx-tw .tw-step__val { grid-column: 2; grid-row: 2; text-align: left; font-size: 13px; }
    .bmx-tw .tw-step.is-open .tw-step__val { display: none; }
    .bmx-tw .tw-step__chev { grid-column: 3; grid-row: 1 / span 2; }
    .bmx-tw .tw-sw { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 10px; }
    .bmx-tw .tw-opts--3 { grid-template-columns: minmax(0, 1fr); }
    .bmx-tw .tw-opts--3 .tw-opt--fig { display: grid; grid-template-columns: 112px minmax(0, 1fr); column-gap: 14px; align-items: center; }
    .bmx-tw .tw-opts--3 .tw-opt--fig .tw-opt__fig { grid-row: 1 / span 4; margin: 0; }
    .bmx-tw .tw-tog--media { grid-template-columns: auto auto minmax(0, 1fr); }
    .bmx-tw .tw-tog--media em { grid-column: 3; }
    .bmx-tw .tw-tog__img { width: 64px; }
    .bmx-tw .tw-stage__buy { display: none; }
}
/* ---------- TWINLINE 2 ---------- */
@media (min-width: 900px) {
    .bmx-tw .tw-hero__grid { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); }
    .bmx-tw .tw-hero__media { aspect-ratio: 1040 / 1228; }
}
.bmx-tw .tw-pin--d { left: 72%; top: 12%; }
.bmx-tw .tw-pin--b { left: 16%; top: 70%; }

.bmx-tw .tw-models { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--tw-gap); }
.bmx-tw .tw-model { display: flex; flex-direction: column; overflow: hidden; border-radius: 8px; background: #fff; }
.bmx-tw .tw-model img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: var(--tw-paper-deep); }
.bmx-tw .tw-model__body { display: flex; flex-direction: column; flex: 1 1 auto; padding: 18px 20px 22px; }
.bmx-tw .tw-model__body p { font-size: 16px; line-height: 1.55; }
.bmx-tw .tw-model__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; margin-top: auto; padding-top: 16px; color: var(--tw-muted); font-size: 14px !important; }
.bmx-tw .tw-model__price strong { font-size: 1.375rem; font-weight: 600; letter-spacing: -0.01em; color: var(--tw-ink); font-variant-numeric: tabular-nums; }
.bmx-tw .tw-model .tw-next { align-self: flex-start; margin-top: 14px; }

.bmx-tw .tw-dims__svg { border-radius: 6px; background: #fff; }
.bmx-tw .tw-dims__svg svg { display: block; width: 100%; height: auto; font-family: inherit; }
#bmx-tw .tw-dims .tw-h2 { margin-bottom: 10px; }
.bmx-tw .tw-dims__intro { margin-bottom: 20px; }
.bmx-tw .tw-spec--facts { margin-top: 22px !important; }

.bmx-tw .tw-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px var(--tw-gap); }
.bmx-tw .tw-gallery img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 6px; background: var(--tw-paper); }
#bmx-tw .tw-gallery .tw-h4 { margin: 12px 0 2px; }
.bmx-tw .tw-gallery p { font-size: 15px; line-height: 1.5; }

.bmx-tw .tw-tips { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--tw-gap); }
.bmx-tw .tw-tips li { padding: 20px 22px 22px; border-radius: 8px; background: #fff; }
#bmx-tw .tw-tips .tw-h4 { margin-bottom: 6px; }
.bmx-tw .tw-tips p { font-size: 15px; line-height: 1.55; }

/* ---------- Auszeichnungen und Qualität ---------- */
.bmx-tw .tw-awards { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 12px; }
.bmx-tw .tw-awards li { display: flex; align-items: center; justify-content: center; aspect-ratio: 1; padding: 14px; border-radius: 6px; background: #fff; }
.bmx-tw .tw-awards img { width: 100%; height: 100%; object-fit: contain; }
.bmx-tw .tw-promise { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--tw-gap); margin-top: clamp(28px, 3.4vw, 44px); padding-top: clamp(24px, 3vw, 36px); border-top: 1px solid var(--tw-line); }
.bmx-tw .tw-promise li { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 16px; align-items: start; }
.bmx-tw .tw-promise__ico { width: 64px; height: 64px; object-fit: contain; }
.bmx-tw .tw-promise__ico--flag { display: flex; align-items: center; }
.bmx-tw .tw-promise__ico--flag svg { display: block; width: 60px; height: 40px; border-radius: 3px; box-shadow: 0 0 0 1px rgba(0, 0, 0, .08); }
.bmx-tw .tw-promise p { font-size: 15px; line-height: 1.55; }
.bmx-tw .tw-promise strong { display: block; margin-bottom: 2px; font-size: 17px; font-weight: 600; line-height: 1.35; color: var(--tw-ink); }
.bmx-tw .tw-promise__more { margin-top: 22px; font-size: 15px; }
.bmx-tw .tw-promise__more small { margin-left: 4px; font-size: 13px; color: var(--tw-muted); }

.bmx-tw .tw-opts--einbau .tw-opt__fig, .bmx-tw .tw-opt--side .tw-opt__fig { margin: -5px -5px 10px; padding: 8px 6px; border-radius: 6px; background: #f5f5f4; }
.bmx-tw .tw-opts--front .tw-opt__fig { margin: -5px -5px 10px; padding: 6px 4px; border-radius: 6px; background: #f5f5f4; }
.bmx-tw .tw-tog--card { margin-top: 12px; padding: 12px 14px; border: 1px solid var(--tw-line); border-radius: 8px; }
.bmx-tw .tw-tog:has(input:disabled) { cursor: not-allowed; }
.bmx-tw .tw-tog:has(input:disabled) .tw-tog__txt strong, .bmx-tw .tw-tog:has(input:disabled) em { color: var(--tw-muted); }
.bmx-tw .tw-tog__txt .tw-tog__note { color: var(--tw-orange-ink); }
.bmx-tw .tw-step__qv { margin-left: 6px; font-weight: 400; color: var(--tw-muted); }
.bmx-tw .tw-decors { margin-top: 18px; }
.bmx-tw .tw-decors__h { margin: 12px 0 6px; font-size: 13px; font-weight: 600; color: var(--tw-muted); }
.bmx-tw .tw-sw--dec { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px 6px; }
.bmx-tw .tw-sw--dec .tw-swatch { gap: 5px; padding: 5px 3px 7px; }
.bmx-tw .tw-sw--dec .tw-sw__img { aspect-ratio: 2 / 1; }
.bmx-tw .tw-sw--dec .tw-swatch strong { font-size: 12px; font-weight: 500; }
.bmx-tw .tw-sw--dec .tw-swatch.is--active strong { font-weight: 700; }
.bmx-tw .tw-sw--pf { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 380px; }
.bmx-tw .tw-sw--pf .tw-sw__img { width: 60px; border-radius: 50%; }
.bmx-tw .tw-pf--mh { background: linear-gradient(135deg, #f6f8f9 0%, #a6afb5 40%, #eef1f3 54%, #8e979d 100%); }
.bmx-tw .tw-pf--lb { background: linear-gradient(135deg, #e6e9eb 0%, #c4c9cd 46%, #d9dde0 60%, #b3b9bd 100%); }
.bmx-tw .tw-pf--ws { background: radial-gradient(circle at 34% 30%, #fff 0, #fff 28%, #eaeceb 72%, #e0e2e2 100%); }
.bmx-tw .tw-stage__drawing svg text { font-family: inherit; }

@media (max-width: 1199px) {
    .bmx-tw .tw-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .bmx-tw .tw-tips { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bmx-tw .tw-awards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 899px) {
    .bmx-tw .tw-models { grid-template-columns: minmax(0, 1fr); }
    .bmx-tw .tw-model { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
    .bmx-tw .tw-model img { height: 100%; aspect-ratio: auto; min-height: 220px; }
    .bmx-tw .tw-hero__media { aspect-ratio: 760 / 708; }
    .bmx-tw .tw-pin--d { left: 69%; top: 9%; }
    .bmx-tw .tw-pin--b { left: 22%; top: 73%; }
}
@media (max-width: 767px) {
    .bmx-tw .tw-model { grid-template-columns: minmax(0, 1fr); }
    .bmx-tw .tw-model img { aspect-ratio: 16 / 10; min-height: 0; }
    .bmx-tw .tw-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 12px; }
    .bmx-tw .tw-gallery p { font-size: 14px; }
    .bmx-tw .tw-tips { grid-template-columns: minmax(0, 1fr); }
    .bmx-tw .tw-group summary { flex-direction: column; align-items: flex-start; }
    .bmx-tw .tw-awards { gap: 8px; }
    .bmx-tw .tw-awards li { padding: 9px; }
    .bmx-tw .tw-promise { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .bmx-tw .tw-promise li { grid-template-columns: 52px minmax(0, 1fr); gap: 14px; }
    .bmx-tw .tw-promise__ico { width: 52px; height: 52px; }
    .bmx-tw .tw-promise__ico--flag svg { width: 48px; height: 32px; }
    .bmx-tw .tw-sw--dec { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .bmx-tw .tw-stage__view[data-view="drawing"] { aspect-ratio: 5 / 6; }
}

@media (prefers-reduced-motion: reduce) {
    .bmx-tw *, .bmx-tw *::before, .bmx-tw *::after { transition: none !important; animation: none !important; }
}
