.cfg-combination[hidden] { display: none; }
.cfg-combination { padding-top: 48px; padding-bottom: 48px; }
.cfg-combination__intro { max-width: 660px; margin-bottom: 24px; }
.cfg-combination__intro h2 { margin: 0 0 8px; font-size: clamp(24px, 2.5vw, 32px); line-height: 1.2; }
.cfg-combination__intro p { margin: 0; color: #58636c; line-height: 1.6; }
.cfg-combination__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; list-style: none; padding: 0; margin: 0; }
.cfg-combination__item { min-width: 0; padding: 20px; border: 1px solid #d8dfe4; border-radius: 8px; background: #fff; }
.cfg-combination__item h3 { margin: 0 0 8px; font-size: 15px; color: #58636c; }
.cfg-combination__selection { display: flex; align-items: center; gap: 12px; min-width: 0; }
.cfg-combination__selection img { flex: 0 0 64px; width: 64px; height: 64px; object-fit: contain; }
.cfg-combination__selection img[hidden] { display: none; }
.cfg-combination__selection > div { min-width: 0; }
.cfg-combination__selected { margin: 0; font-size: 16px; font-weight: 700; overflow-wrap: anywhere; }
.cfg-combination__delta { margin: 5px 0 0; color: #58636c; font-size: 14px; }
.cfg-combination__item summary { display: flex; align-items: center; min-height: 44px; color: #145b94; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.cfg-combination__item summary:focus-visible, .cfg-combination__item button:focus-visible { outline: 2px solid #145b94; outline-offset: 3px; }
.cfg-combination__options { display: grid; gap: 8px; }
.cfg-combination__option { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 68px; padding: 10px; border: 1px solid #d8dfe4; border-radius: 6px; text-align: left; color: #17212a; background: #fff; cursor: pointer; }
.cfg-combination__option[aria-pressed="true"] { border-color: #18813c; background: #f3faf5; }
.cfg-combination__option img { flex: 0 0 52px; width: 52px; height: 52px; object-fit: contain; }
.cfg-combination__option > span { display: grid; gap: 4px; min-width: 0; overflow-wrap: anywhere; }
.cfg-combination__option > span > span { font-size: 14px; color: #58636c; }
.cfg-combination__remove { min-height: 44px; padding: 8px 0; border: 0; text-align: left; color: #145b94; background: none; text-decoration: underline; cursor: pointer; }
.cfg-combination__checkout { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 18px; }
.cfg-combination__checkout p { display: grid; gap: 4px; margin: 0; }
.cfg-combination__checkout strong { font-size: 22px; }
@media (max-width: 600px) {
    .cfg-combination { padding-top: 32px; padding-bottom: 32px; }
    .cfg-combination__list { grid-template-columns: 1fr; }
    .cfg-combination__item { padding: 16px; }
    .cfg-combination__checkout { align-items: stretch; flex-direction: column; }
    .cfg-combination__checkout button { width: 100%; }
}
