/* Additions only: incumbent layout, palette and type remain unchanged. */
#bonus-recap-portiere[hidden] { display:none; }
.bundle-bonus-row { border-top:1px solid #cddfdf; margin-top:5px; padding-top:10px !important; }
.bundle-bonus-row + .bundle-bonus-row { border-top:0; margin-top:0; padding-top:5px !important; }
.bonus-copy { flex:1; min-width:0; }
.bonus-copy strong { display:block; color:#235b60; font-size:15px; }
.bonus-copy small { display:block; font-size:13px; line-height:1.4; font-weight:600; color:#47545a; }
.bundle-bonus-row .bl-thumb { object-fit:contain; background:#fff; }
.bonus-included { text-align:left; margin-top:28px; }
.bonus-feature { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #d9ded8; padding:25px 0; gap:25px; align-items:center; }
.bonus-feature figure { margin:0; background:#fff; }
.bonus-feature img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.bonus-feature h3 { font-family:var(--font-heading); font-size:25px; line-height:1.12; color:#2a6f75; font-weight:900; margin:0 0 10px; }
.bonus-feature p { font-size:16px; line-height:1.45; margin:0; }
.bonus-feature .included-label { display:inline-block; font-size:13px; font-weight:900; color:#235b60; margin-top:13px; padding:4px 8px; background:#e1eded; border-radius:3px; }
.package-recap { padding:24px 0; border-block:1px solid #cad8d5; margin:12px 0 25px; }
.package-recap h3 { font-size:22px; color:#2a6f75; margin:0 0 20px; }
.package-recap p { font-size:15px; margin-top:20px; }
.kit-lineup { display:grid; grid-template-columns:repeat(4,1fr); gap:24px 16px; }
.kit-lineup figure { margin:0; text-align:center; }
.kit-lineup img { display:block; width:100%; height:125px; object-fit:contain; background:#fff; margin-bottom:8px; }
.kit-lineup figcaption { font-size:14px; line-height:1.3; font-weight:700; }
@media(max-width:600px) { .bonus-feature { grid-template-columns:1fr; gap:16px; } .bonus-feature figure { max-width:350px; width:100%; margin:auto; } .kit-lineup { grid-template-columns:1fr 1fr; } }

/* Approved lifestyle refinement: local to the bonus offer. */
.bonus-free { display:inline-block; margin-left:4px; color:#235b60; font-size:12px; font-weight:900; white-space:nowrap; }
#main-atc, .mid-cta { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; text-transform:none; line-height:1.15; }
#main-atc .cta-order, .mid-cta .cta-order { font-size:.72em; font-weight:700; letter-spacing:.01em; }
.bonus-trust { border:1px solid #bed6d1; border-radius:10px; padding:20px 18px; gap:17px; background:#f5f9f7; box-shadow:0 5px 14px #183e420a; }
.bonus-trust .tb-icon { flex:0 0 58px; }
.bonus-trust .tb-icon svg { width:58px; height:66px; color:#235b60; stroke:currentColor; }
.bonus-trust .tb-text strong { display:block; color:#235b60; font-size:17px; line-height:1.25; letter-spacing:.015em; }
.bonus-trust .tb-text p { color:#345451; font-size:14px; line-height:1.45; margin:8px 0 0; }
@media(max-width:600px) { .bonus-trust { padding:18px 15px; gap:14px; } .bonus-trust .tb-text strong { font-size:16px; } }

img[data-full] { cursor:zoom-in; }
img[data-full]:focus-visible { outline:3px solid #cb651e; outline-offset:3px; }
.bundle-bonus-row .bl-thumb { width:42px; height:42px; object-fit:cover; }
.bonus-feature img[data-full] { border-radius:8px; object-fit:cover; }
.kit-lineup img[data-full] { object-fit:cover; border-radius:5px; }

/* Bonus dimensions describe the source file, not the rendered slide height. */
#main-slider .splide__slide img[src^="assets/bonus/"],
#thumbnail-slider .splide__slide img[src^="assets/bonus/"] { height:auto; }

.bonus-image-note { font-size:14px; line-height:1.4; color:#47545a; }
