/* v025: mesmo aspeto do cartão "Usar pontos nesta compra" do carrinho do tema (cores, raios e botão medidos no tema). */
.insygma-redemption{box-sizing:border-box;margin:0 0 24px;padding:16px 18px;border:1px solid #d8e3f2;border-radius:14px;background:radial-gradient(circle at 100% 0%,rgba(37,99,235,.08),transparent 48%),#f8faff;color:#0f172a;font-family:inherit}
.insygma-redemption h2{display:flex;align-items:center;gap:12px;margin:0 0 10px;color:#172033;font-size:14px;font-weight:700;line-height:1.25;letter-spacing:0;text-transform:none}
.insygma-redemption h2::before{content:"";flex:none;width:38px;height:38px;border-radius:11px;background:#e9f1ff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E") center/18px no-repeat}
.insygma-redemption p{margin:4px 0;color:#64748b;font-size:13px;line-height:1.5}
.insygma-redemption p+p{color:#334155;font-weight:600}
.insygma-redemption form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin:12px 0 0;padding-top:12px;border-top:1px solid #dbe4f0}
section.insygma-redemption form label{display:grid!important;gap:6px;margin:0!important;color:#334155!important;font-size:12px!important;font-weight:600!important;line-height:1.3!important;letter-spacing:0!important;text-transform:none!important}
.insygma-redemption input[type=number]{box-sizing:border-box;width:9rem;max-width:100%;min-height:42px;padding:0 12px;border:1px solid #cfd9e8;border-radius:9px;background:#fff;color:#0f172a;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:14px;font-weight:700;text-align:right}
.insygma-redemption button,.insygma-redemption a.button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 19px;border:0;border-radius:9px;background:#0f172a;color:#fff;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;line-height:1;text-decoration:none;text-transform:uppercase;cursor:pointer}
.insygma-redemption button[value=remove]{background:transparent;color:#334155;letter-spacing:0;text-decoration:underline;text-transform:none;font-size:13px;padding:0 8px}
.insygma-redemption :focus-visible{outline:2px solid #2563eb;outline-offset:3px}
@media(max-width:480px){.insygma-redemption form{align-items:stretch}.insygma-redemption label{width:100%}.insygma-redemption input[type=number]{width:100%}.insygma-redemption button:not([value=remove]){width:100%}}
/* v027: linha discreta "Usar pontos" no resumo do checkout (antes do cartão Finalizar compra no telemóvel, por baixo no computador). */
.insygma-redemption-compact{box-sizing:border-box;margin:12px 0;border:1px solid #e2e8f0;border-radius:12px;background:#fff;color:#0f172a;font-family:inherit;font-size:13px;line-height:1.35}
.insygma-redemption-compact details>summary{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;list-style:none}
.insygma-redemption-compact details>summary::-webkit-details-marker{display:none}
.insygma-redemption-compact__icon{flex:none;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:8px;background:#eef4ff;color:#2563eb}
.insygma-redemption-compact__text{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px}
.insygma-redemption-compact__text strong{color:#172033;font-weight:600}
.insygma-redemption-compact__text span{color:#64748b;font-size:12px}
.insygma-redemption-compact.is-applied .insygma-redemption-compact__text span{color:#047857;font-family:"JetBrains Mono",ui-monospace,monospace;font-weight:700}
.insygma-redemption-compact__chevron{flex:none;display:flex;color:#94a3b8;transition:transform .2s ease}
.insygma-redemption-compact details[open] .insygma-redemption-compact__chevron{transform:rotate(180deg)}
.insygma-redemption-compact__body{padding:0 14px 12px;border-top:1px solid #f1f5f9}
.insygma-redemption-compact__body p{margin:10px 0 8px;color:#64748b;font-size:12px}
.insygma-redemption-compact__row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.insygma-redemption-compact__row label{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0;white-space:nowrap}
.insygma-redemption-compact__row input{box-sizing:border-box;width:7rem;min-height:36px;padding:0 10px;border:1px solid #cfd9e8;border-radius:8px;background:#fff;color:#0f172a;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:13px;font-weight:700;text-align:right}
.insygma-redemption-compact__row button{min-height:36px;padding:0 14px;border:0;border-radius:8px;background:#0f172a;color:#fff;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.insygma-redemption-compact__row button[value=remove]{padding:0 6px;background:transparent;color:#475569;font-size:12px;font-weight:600;letter-spacing:0;text-decoration:underline;text-transform:none}
.insygma-redemption-compact :focus-visible{outline:2px solid #2563eb;outline-offset:2px}
/* Sem o fluxo do telemóvel, os totais continuam dentro do cartão do resumo: a linha fica entre o envio e os totais. */
.clinical-card>.insygma-redemption-compact{position:relative;z-index:2;margin:0 1.5rem 12px}
