/* Approved desktop cards and compact mobile list, scoped to our checkbox fields. */
#wc_checkout_add_ons .form-row.osp-checkout-addon {
    position: relative;
    margin: 0 0 10px !important;
    padding: 0 !important;
    border: 1px solid var(--osp-glass-divider) !important;
    border-radius: var(--osp-radius-control);
    background: var(--osp-surface-raised);
    cursor: pointer;
    transition: background-color 150ms ease, border-color 150ms ease;
}
#wc_checkout_add_ons .osp-checkout-addon:hover {
    background: color-mix(in srgb, var(--osp-decorative-blue) 5%, var(--osp-surface-raised));
    border-color: var(--osp-glass-border) !important;
}
#wc_checkout_add_ons .osp-checkout-addon:has(input:checked),
#wc_checkout_add_ons .osp-checkout-addon:has(input:checked):hover {
    background: color-mix(in srgb, var(--osp-action) 12%, var(--osp-surface-raised));
    border-color: color-mix(in srgb, var(--osp-decorative-blue) 55%, transparent) !important;
}
#wc_checkout_add_ons .osp-addon-row {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) 28px minmax(52px, max-content) 22px;
    align-items: center;
    gap: 12px;
    min-height: 74px;
    padding: 13px 20px;
}
#wc_checkout_add_ons .osp-addon-icon {
    display: grid;
    place-items: center;
    margin: 0;
    padding: 0;
    color: var(--osp-decorative-blue);
    cursor: pointer;
}
#wc_checkout_add_ons .osp-addon-icon svg {
    width: 26px;
    height: 26px;
    stroke-width: 1.75;
}
#wc_checkout_add_ons .osp-checkout-addon .addon-name-group {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    min-width: 0;
}
#wc_checkout_add_ons .osp-addon-badges {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}
#wc_checkout_add_ons .osp-checkout-addon .addon-title {
    margin: 0;
    padding: 0;
    color: var(--osp-text-primary);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.55;
    cursor: pointer;
}
#wc_checkout_add_ons .osp-checkout-addon .addon-price {
    margin: 0;
    padding: 0;
    color: var(--osp-text-primary);
    font-size: 13px;
    font-weight: 600;
    text-align: right;
    cursor: pointer;
}
#wc_checkout_add_ons .osp-checkout-addon .woocommerce-input-wrapper { margin: 0; }
#wc_checkout_add_ons .osp-checkout-addon .addon-new-badge,
#wc_checkout_add_ons .osp-checkout-addon .addon-special-badge,
#wc_checkout_add_ons .osp-checkout-addon .addon-popular-badge {
    margin: 0;
    min-height: 0;
    padding: 3px 7px;
    font-size: 9px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: .4px;
}
#wc_checkout_add_ons .osp-checkout-addon .osp-checkout-addon-free-exclusion {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 3px 7px;
    border: 0;
    border-radius: var(--osp-radius-full);
    background: var(--osp-border-strong);
    color: var(--osp-text-primary);
    font-size: 9px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: .4px;
    text-transform: uppercase;
}
#wc_checkout_add_ons .osp-addon-disclosure {
    display: grid;
    place-items: center;
    width: 28px;
    height: 32px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: var(--osp-radius-micro);
    background: transparent;
    color: var(--osp-text-secondary);
    cursor: pointer;
}
#wc_checkout_add_ons .osp-addon-disclosure:hover,
#wc_checkout_add_ons .osp-addon-disclosure[aria-expanded=true] { color: var(--osp-decorative-blue); }
#wc_checkout_add_ons .osp-addon-disclosure:focus-visible {
    outline: 2px solid var(--osp-focus-ring);
    outline-offset: 2px;
}
#wc_checkout_add_ons .osp-addon-disclosure svg {
    width: 18px;
    height: 18px;
    stroke-width: 1.75;
    transition: transform 150ms ease;
}
#wc_checkout_add_ons .osp-addon-disclosure[aria-expanded=true] svg { transform: rotate(180deg); }
#wc_checkout_add_ons .osp-addon-details {
    cursor: text;
    padding: 4px 20px 17px 60px;
    color: var(--osp-text-secondary);
    font-size: 14px;
    line-height: 1.65;
}
#wc_checkout_add_ons .osp-addon-details p { margin: 0; }
#wc_checkout_add_ons .osp-addon-details[hidden] { display: none; }

@media (max-width: 600px) {
    .addons-title { padding-top: 18px; margin-bottom: 12px; }
    #wc_checkout_add_ons {
        border: 0;
        overflow: visible;
    }
    #wc_checkout_add_ons .form-row.osp-checkout-addon {
        margin: 0 0 12px !important;
        border: 1px solid var(--osp-glass-divider) !important;
        border-radius: var(--osp-radius-control);
    }
    #wc_checkout_add_ons .form-row.osp-checkout-addon:last-child {
        margin-bottom: 0 !important;
    }
    #wc_checkout_add_ons .osp-addon-row {
        grid-template-columns: 20px minmax(0, 1fr) 28px minmax(36px, max-content) 22px;
        gap: 6px;
        min-height: 54px;
        padding: 9px 12px;
    }
    #wc_checkout_add_ons .osp-addon-icon svg { width: 20px; height: 20px; }
    #wc_checkout_add_ons .osp-checkout-addon .addon-name-group { gap: 4px 5px; }
    #wc_checkout_add_ons .osp-checkout-addon .addon-title { font-size: 12px; line-height: 1.4; }
    #wc_checkout_add_ons .osp-checkout-addon .addon-price { font-size: 11px; }
    #wc_checkout_add_ons .osp-checkout-addon .addon-new-badge,
    #wc_checkout_add_ons .osp-checkout-addon .addon-special-badge,
    #wc_checkout_add_ons .osp-checkout-addon .addon-popular-badge {
        padding: 0 7px;
        font-size: 8px;
        letter-spacing: .2px;
        border-radius: var(--osp-radius-full);
    }
    #wc_checkout_add_ons .osp-addon-badges {
        position: absolute;
        left: 12px;
        top: -6px;
        gap: 4px;
        white-space: nowrap;
    }
    #wc_checkout_add_ons .osp-checkout-addon .osp-checkout-addon-free-exclusion {
        padding: 0 7px;
        font-size: 8px;
        letter-spacing: .2px;
    }
    #wc_checkout_add_ons .osp-addon-disclosure svg { width: 16px; height: 16px; }
    #wc_checkout_add_ons .osp-addon-details { padding: 0 12px 13px 38px; font-size: 12px; line-height: 1.6; }
}
@media (prefers-reduced-motion: reduce) {
    #wc_checkout_add_ons .osp-checkout-addon,
    #wc_checkout_add_ons .osp-addon-disclosure svg { transition: none; }
}
