.nzb-motorisation { margin: 24px 0; color: #042326; font-size: 14px; }
.product-option-heading, .nzb-motorisation h3 { color: #171717; font-size: 13px; font-weight: 700; line-height: 1.6; text-transform: uppercase; letter-spacing: .05em; }
.nzb-motorisation h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; }
.nzb-motorisation h4 { margin: 0 0 10px; font-size: 14px; font-weight: 700; }
.nzb-motorisation p { margin: 0 0 12px; line-height: 1.5; }
.nzb-motor-badge, .nzb-motor-required { display: inline-block; background: #55a538; color: white; border-radius: 99px; padding: 2px 7px; font-size: 10px; letter-spacing: .03em; text-transform: uppercase; }
.nzb-motor-required { background: #fff1d8; color: #775411; margin-left: 5px; }
.nzb-motor-sub { font-size: 13.5px; color: #52625c; }
.nzb-motor-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.nzb-motor-card, .nzb-motor-sides button { border: 1.5px solid #dce0d7; border-radius: 10px; padding: 12px 10px; color: inherit; background: white; text-align: left; cursor: pointer; font-family: inherit; }
.nzb-motor-card strong, .nzb-motor-card span, .nzb-motor-card small { display: block; }
.nzb-motor-card strong { font-size: 14px; margin-bottom: 3px; }
.nzb-motor-card span { font-size: 12.5px; margin-bottom: 7px; color: #52625c; }
.nzb-motor-card small { font-size: 11.5px; line-height: 1.45; color: #6b776f; }
.nzb-motor-card[aria-pressed=true], .nzb-motor-sides button[aria-pressed=true], .nzb-motor-extra:has(input:checked) { border-color: #55a538; background: #f0f7eb; }
.nzb-motor-card:hover, .nzb-motor-sides button:hover { border-color: #55a538; }
.nzb-motorisation button:focus-visible, .nzb-motorisation summary:focus-visible, .nzb-motor-extra:has(input:focus-visible) { outline: 2px solid #55a538; outline-offset: 3px; }
.nzb-motor-compare { margin: 12px 0 18px; font-size: 13px; }
.nzb-motor-compare summary { color: #43832c; font-weight: 600; cursor: pointer; }
.nzb-motor-compare > div { background: #f5f4ee; padding: 12px 14px; border: 1px solid #dce0d7; border-radius: 10px; margin-top: 10px; font-size: 12.5px; }
.nzb-motor-panel { background: #f5f4ee; padding: 14px; border: 1px solid #dce0d7; border-radius: 10px; margin-bottom: 16px; }
.nzb-motor-panel-error { border: 2px solid #c45c00; background: #fff8f0; }
.nzb-motor-panel .nzb-motor-field-error { color: #994200; font-weight: 700; margin-bottom: 10px; }
.nzb-motor-cart-error { max-width: 342px; margin: 12px auto 0; color: #994200; font-size: 14px; line-height: 1.5; }
.nzb-motor-cart-error button { color: inherit; font-weight: 700; text-decoration: underline; cursor: pointer; }
.nzb-motor-cart-error button:focus-visible, .nzb-motor-panel:focus-visible, .nzb-motor-options:focus-visible { outline: 2px solid #994200; outline-offset: 3px; }
.nzb-motor-sides { display: flex; gap: 10px; }
.nzb-motor-sides button { flex: 1; text-align: center; font-weight: 600; }
.nzb-motor-panel .nzb-motor-hint { margin: 10px 0 0; color: #6b776f; font-size: 12px; }
.nzb-motor-panel .nzb-motor-notice { background: #fff1d8; color: #775411; border: 1px solid #e4cc94; padding: 10px 12px; border-radius: 7px; font-size: 12.5px; }
.nzb-motor-extra { display: flex; align-items: flex-start; gap: 10px; background: white; border: 1.5px solid #dce0d7; padding: 11px 12px; border-radius: 7px; cursor: pointer; margin-bottom: 8px; }
.nzb-motor-extra input { flex: none; margin: 3px 0 0; accent-color: #55a538; }
.nzb-motor-extra strong { display: block; font-size: 13px; font-weight: 700; }
.nzb-motor-extra small { display: block; color: #6b776f; font-size: 12px; line-height: 1.5; margin-top: 2px; }
.nzb-motor-extra + h4 { margin-top: 16px; }
.nzb-motor-recap { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; font-size: 13px; color: #52625c; border-top: 1px solid #dce0d7; padding-top: 14px; }
.nzb-motor-recap b { color: #042326; }
.nzb-motor-warning { width: 100%; color: #775411; }
@media (max-width: 420px) { .nzb-motor-options { grid-template-columns: 1fr; } }
