.icm-box { border:1px solid #d8dfe5; border-radius:8px; padding:18px; margin:18px 0; background:#f8fafb; clear:both; }
.icm-box[hidden], .icm-box [hidden] { display:none !important; }
.icm-box label { display:block; margin:0 0 8px; }
.icm-box select { width:100%; min-height:44px; padding:8px; white-space:normal; }
.icm-box p { font-size:.92em; margin:12px 0 0; }
.icm-box details { margin-top:12px; }
.icm-box summary { cursor:pointer; font-weight:600; }
.icm-cart-choice { margin:16px 0; }
.icm-box h2 { margin:0 0 10px; font-size:1.25em; }
.icm-message:empty { display:none; }

/* A quiet section in the product summary, without a separate card colour. */
.icm-box.icm-product { width:100%; min-width:0; border:0; border-top:1px solid #e2e7eb; border-bottom:1px solid #e2e7eb; border-radius:0; padding:22px 0; margin:24px 0; background:transparent; box-shadow:none; }
.icm-product > label { color:var(--e-global-color-secondary, #132a36); font-size:16px; font-weight:600; line-height:1.5; margin-bottom:12px; }
.icm-product > label strong { font:inherit; }
.icm-choice-control { position:relative; min-width:0; width:100%; border:1px solid #cbd4dc; border-radius:8px; background:transparent; color:var(--e-global-color-secondary, #132a36); transition:border-color .15s ease; }
.icm-choice-control:hover { border-color:#0a1d3f; }
.icm-choice-control:focus-within { border-color:#0a1d3f; outline:2px solid #0a1d3f; outline-offset:3px; }
.icm-choice-value { display:flex; align-items:center; box-sizing:border-box; min-height:88px; padding:18px 48px 18px 18px; font:inherit; font-size:16px; line-height:1.65; white-space:normal; overflow-wrap:anywhere; pointer-events:none; }
.icm-choice-control::after { content:''; position:absolute; top:50%; right:20px; width:8px; height:8px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-75%) rotate(45deg); pointer-events:none; }
/* Keep the real native select for keyboard, touch, labels and form submission. */
.icm-product .icm-choice-control > select { position:absolute !important; inset:0 !important; z-index:1; display:block !important; width:100% !important; height:100% !important; min-height:100% !important; max-width:none !important; margin:0 !important; opacity:0 !important; cursor:pointer; }
.icm-choice-control.icm-is-disabled { opacity:.55; }
.icm-product .icm-choice-control > select:disabled { cursor:wait; }
@media (max-width:600px) {
    .icm-box.icm-product { padding:20px 0; margin:20px 0; }
    .icm-choice-value { min-height:96px; padding:18px 42px 18px 16px; }
    .icm-choice-control::after { right:17px; }
}
@media (prefers-reduced-motion:reduce) { .icm-choice-control { transition:none; } }
