/* Zyntrol Shipping Manager — checkout cards (fully variable-driven) */
ul#shipping_method,
.woocommerce ul#shipping_method {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid;
    gap: 10px;
}
ul#shipping_method li {
    margin: 0 !important;
    padding: 0 !important;
}
ul#shipping_method li input[type="radio"] {
    position: absolute !important;
    opacity: 0;
    pointer-events: none;
    width: 1px; height: 1px;
}
ul#shipping_method li label {
    display: block;
    margin: 0 !important;
    cursor: pointer;
}
.zsm-card {
    display: flex;
    align-items: center;
    gap: var(--zsm-gap, 14px);
    border: var(--zsm-border-width, 2px) solid var(--zsm-border, #e5e7eb);
    border-radius: var(--zsm-radius, 12px);
    padding: var(--zsm-pad-y, 14px) var(--zsm-pad-x, 16px);
    background: var(--zsm-bg, #fff);
    box-shadow: var(--zsm-shadow, none);
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
ul#shipping_method li label:hover .zsm-card {
    border-color: var(--zsm-border-selected, var(--zsm-accent, #2563eb));
}
ul#shipping_method li input[type="radio"]:checked + label .zsm-card {
    border-color: var(--zsm-border-selected, var(--zsm-accent, #2563eb));
    background: var(--zsm-bg-selected, #fff);
    box-shadow: 0 0 0 3px var(--zsm-ring, rgba(37,99,235,.18));
}
.zsm-card__icon {
    flex: 0 0 auto;
    width: var(--zsm-icon-box, 40px);
    height: var(--zsm-icon-box, 40px);
    display: inline-flex; align-items: center; justify-content: center;
    color: var(--zsm-icon-color, #2563eb);
    background: var(--zsm-icon-bg, #eaf1ff);
    border-radius: var(--zsm-icon-radius, 10px);
}
.zsm-card__icon img,
.zsm-card__icon svg {
    width: var(--zsm-icon-size, 28px);
    height: var(--zsm-icon-size, 28px);
    max-width: var(--zsm-icon-size, 28px);
    max-height: var(--zsm-icon-size, 28px);
}
.zsm-card__body { flex: 1 1 auto; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.zsm-card__title {
    font-weight: var(--zsm-title-weight, 600);
    font-size: var(--zsm-title-size, 15px);
    color: var(--zsm-title-color, #111827);
}
.zsm-card__desc {
    font-size: var(--zsm-desc-size, 13px);
    color: var(--zsm-desc-color, #6b7280);
}
.zsm-card__price {
    flex: 0 0 auto;
    font-weight: var(--zsm-price-weight, 700);
    font-size: var(--zsm-price-size, 15px);
    color: var(--zsm-price-color, #111827);
    white-space: nowrap;
}
.zsm-card .zsm-free { color: var(--zsm-free-color, #047857); }

/* v0.6.0 — Bandeau contextuel checkout (Cas A / Cas C) */
.zsm-checkout-banner-row td { padding: 0 !important; border: 0 !important; background: transparent !important; }
.zsm-checkout-banner {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    margin: 0 0 14px;
    padding: 12px 14px;
    border-radius: 10px;
    background: #eef6ff;
    border: 1px solid #c7e0ff;
    color: #0b3d6e;
    font-size: 13px;
    line-height: 1.45;
}
.zsm-checkout-banner__icon { flex: 0 0 auto; color: #1e6fbf; margin-top: 2px; }
.zsm-checkout-banner__body { display: flex; flex-direction: column; gap: 2px; }
.zsm-checkout-banner__title { font-weight: 600; font-size: 13px; }
.zsm-checkout-banner__text { opacity: .9; }

/* v0.7.2 — Bannière checkout personnalisable (vars --zcs-* injectées via style="") */
.zsm-checkout-banner{
    background: var(--zcs-bg, #eef6ff);
    border: var(--zcs-bw, 1px) solid var(--zcs-border, #c7e0ff);
    border-radius: var(--zcs-br, 10px);
    color: var(--zcs-text, #0b3d6e);
}
.zsm-checkout-banner__title{ color: var(--zcs-title, inherit); }
.zsm-checkout-banner__icon{ color: var(--zcs-icon, #1e6fbf); }
.zsm-checkout-banner__icon svg{ width: var(--zcs-isize, 20px); height: var(--zcs-isize, 20px); }
.zsm-checkout-banner__icon img{ max-width: var(--zcs-isize, 20px); max-height: var(--zcs-isize, 20px); }
.zsm-checkout-banner__title{ color: var(--zcs-title, inherit); font-size: var(--zcs-tsize, 13px); }
.zsm-checkout-banner__text{ font-size: var(--zcs-txsize, 13px); }
.zsm-checkout-banner__icon{ color: var(--zcs-icon, #1e6fbf); }
.zsm-checkout-banner__icon svg{ width: var(--zcs-isize, 20px); height: var(--zcs-isize, 20px); }
.zsm-checkout-banner__icon img{ max-width: var(--zcs-isize, 20px); max-height: var(--zcs-isize, 20px); }

/* v0.7.7 — Carte virtuelle « Retour atelier — inclus » personnalisable */
.zsm-card.zsm-card--virtual-return{
    background: var(--zcs-bg, transparent);
    border: var(--zcs-bw, 0) solid var(--zcs-border, transparent);
    border-radius: var(--zcs-br, 0);
    color: var(--zcs-text, inherit);
    padding: 12px 14px;
}
.zsm-card.zsm-card--virtual-return .zsm-card__icon{ color: var(--zcs-icon, #15803d); display:inline-flex; align-items:center; justify-content:center; }
.zsm-card.zsm-card--virtual-return .zsm-card__icon svg{ width: var(--zcs-isize, 26px); height: var(--zcs-isize, 26px); }
.zsm-card.zsm-card--virtual-return .zsm-card__icon img{ max-width: var(--zcs-isize, 26px); max-height: var(--zcs-isize, 26px); }
.zsm-card.zsm-card--virtual-return .zsm-card__title{ color: var(--zcs-title, inherit); font-size: var(--zcs-tsize, 14px); font-weight: 700; }
.zsm-card.zsm-card--virtual-return .zsm-card__desc{ color: var(--zcs-text, inherit); font-size: var(--zcs-txsize, 13px); opacity:.92; }