/* [jtls_checkout] / [jtls_invoices] — Brand Book v5.0 (complète contracts.css : boutons, encadrés, champs) */
.jtls-pay-plans { display: grid; gap: 10px; grid-template-columns: 1fr; margin: 0 0 16px; }
@media (min-width: 560px) { .jtls-pay-plans { grid-template-columns: 1fr 1fr; } }
.jtls-pay-plan { display: block; padding: 14px 16px; border: 2px solid var(--jtls-border, #E2E8F0); border-radius: var(--jtls-radius-md, 12px); text-decoration: none; color: var(--jtls-text, #333333); background: var(--jtls-white, #FFFFFF); font-family: var(--jtls-font-body, 'Poppins', 'Trebuchet MS', Arial, sans-serif); }
.jtls-pay-plan strong { font-family: var(--jtls-font-heading, 'Montserrat', 'Trebuchet MS', Arial, sans-serif); }
.jtls-pay-plan.is-active { border-color: var(--jtls-primary, #1CA3DD); background: var(--jtls-primary-light, #E3F6FD); }

.jtls-pay-table { width: 100%; border-collapse: collapse; margin: 0 0 12px; background: var(--jtls-white, #FFFFFF); border: 1px solid var(--jtls-border, #E2E8F0); border-radius: var(--jtls-radius-md, 12px); overflow: hidden; }
.jtls-pay-table td { padding: 10px 14px; border-bottom: 1px solid var(--jtls-bg-gray, #F5F7FA); vertical-align: top; }
.jtls-pay-table td.r { text-align: right; white-space: nowrap; }
.jtls-pay-table tr.disc td { color: #1b6b60; }
.jtls-pay-table tr.total td { font-family: var(--jtls-font-heading, 'Montserrat', 'Trebuchet MS', Arial, sans-serif); font-weight: 800; font-size: 1.05rem; background: var(--jtls-primary-light, #E3F6FD); color: var(--jtls-text, #333333); }
.jtls-pay-table tr.muted td { color: var(--jtls-text-muted, #666666); font-size: .88rem; border-bottom: 0; }
.jtls-pay-note { margin: 0 0 14px; }
.jtls-pay-note-warning { background: #fff7e6; border: 1px solid #f0c36d; border-radius: 6px; padding: 10px 14px; }

.jtls-pay-apply { display: grid; gap: 10px; margin: 0 0 18px; padding: 14px; background: var(--jtls-bg-gray, #F5F7FA); border-radius: var(--jtls-radius-md, 12px); }
@media (min-width: 640px) { .jtls-pay-apply { grid-template-columns: 1fr 1fr auto; align-items: end; } }
.jtls-pay-row { display: grid; gap: 10px; grid-template-columns: 1fr; }
@media (min-width: 560px) { .jtls-pay-row { grid-template-columns: 1fr 2fr; } }
.jtls-pay-order { margin-bottom: 12px; }
.jtls-pay-order .jtls-ct-small { margin: 6px 0 0; }

/* payment method: cards / Mobile Money (the local-currency block only shows when Mobile Money is chosen) */
.jtls-pay-method { display: block; padding: 10px 14px; margin: 0 0 8px; border: 2px solid var(--jtls-border, #E2E8F0); border-radius: var(--jtls-radius-md, 12px); background: var(--jtls-white, #FFFFFF); cursor: pointer; font-family: var(--jtls-font-body, 'Poppins', 'Trebuchet MS', Arial, sans-serif); }
.jtls-pay-method:has(input:checked) { border-color: var(--jtls-primary, #1CA3DD); background: var(--jtls-primary-light, #E3F6FD); }
.jtls-pay-methods:not(:has(input[value="mobile_money"]:checked)) .jtls-pay-mm { display: none; }
.jtls-pay-methods:not(:has(input[value="coolpay"]:checked)) .jtls-pay-cp { display: none; }
.jtls-pay-mm, .jtls-pay-cp { margin: 0 0 10px; padding: 0 4px; }

/* "C'est un cadeau" toggle: the beneficiary fields only show once the checkbox is checked */
.jtls-pay-gift { background: var(--jtls-bg-gray, #F5F7FA); }
.jtls-pay-gift #jtls-gift-toggle { margin-right: 8px; }
.jtls-pay-gift .jtls-gift-fields { display: grid; gap: 10px; margin-top: 12px; }
.jtls-pay-gift:not(:has(#jtls-gift-toggle:checked)) .jtls-gift-fields { display: none; }