.csoat-card{max-width:720px;margin:28px auto;padding:30px;border:1px solid #dcefe4;border-radius:24px;background:#fff;box-shadow:0 18px 55px rgba(16,80,47,.10);font-family:inherit;color:#173526}.csoat-topline{display:flex;align-items:center;justify-content:space-between;gap:12px}.csoat-badge{display:inline-flex;align-items:center;background:var(--csoat-badge-bg,#087443);color:var(--csoat-badge-text,#fff);border-radius:999px;padding:7px 13px;font-size:12px;font-weight:800;letter-spacing:.08em;box-shadow:0 5px 15px rgba(8,116,67,.18)}.csoat-secure{font-size:12px;font-weight:700;color:var(--csoat-secure-text,#087443);background:var(--csoat-secure-bg,#edf9f2);padding:7px 11px;border-radius:999px}.csoat-card h2{margin:15px 0 6px;font-size:30px;line-height:1.15;color:#123b29}.csoat-sub{color:#668073;margin:0 0 22px;font-size:15px}.csoat-card label{display:block;font-weight:700;margin:14px 0 7px;color:#234a37}.csoat-card input,.csoat-card select{width:100%;box-sizing:border-box;border:1px solid #cfe2d7;border-radius:12px;padding:13px 14px;font-size:16px;background:#fff;color:#173526;outline:none;transition:border-color .18s,box-shadow .18s}.csoat-card input:focus,.csoat-card select:focus{border-color:#18a15f;box-shadow:0 0 0 4px rgba(24,161,95,.10)}.csoat-card button{border:0;border-radius:12px;padding:13px 18px;font-size:16px;font-weight:800;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s}.csoat-card button:hover:not(:disabled){transform:translateY(-1px)}.csoat-card button:disabled{opacity:.65;cursor:not-allowed}.csoat-primary,#csoat-submit{width:100%;margin-top:19px;background:linear-gradient(135deg,#087443,#10a765);color:#fff;display:flex;justify-content:center;align-items:center;gap:10px;box-shadow:0 9px 20px rgba(8,116,67,.18)}.csoat-primary:hover:not(:disabled),#csoat-submit:hover:not(:disabled){box-shadow:0 12px 25px rgba(8,116,67,.25)}.csoat-status{min-height:22px;margin-top:12px;font-size:14px;font-weight:600}.csoat-status.error{color:#b42318}.csoat-status.loading{color:#668073}.csoat-status.success{color:#087443}.csoat-loader-gif{width:24px;height:24px;object-fit:contain}.csoat-result-box,.csoat-purchase,.csoat-payment,.csoat-proof,.csoat-final{margin-top:22px;padding:22px;border:1px solid #dcefe4;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fcfa);box-shadow:0 10px 28px rgba(16,80,47,.06)}.csoat-main-price,.csoat-price-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px;border-radius:14px;background:#ecf9f1;border:1px solid #d5efdf}.csoat-main-price span,.csoat-price-bar span{color:#4d705e;font-weight:700}.csoat-main-price strong,.csoat-price-bar strong{font-size:26px;color:#087443}.csoat-vehicle-title,.csoat-step-label{font-size:18px;font-weight:850;margin:23px 0 10px;color:#123b29}.csoat-row{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid #e7f0eb}.csoat-row span{color:#6a8175}.csoat-row strong{text-align:right;color:#183c2b}.csoat-validity{margin:19px 0;padding:12px;text-align:center;border-radius:11px;font-weight:850;letter-spacing:.03em}.csoat-validity.vigente{background:#dff7e9;color:#087443;border:1px solid #bce8ce}.csoat-validity.vencido{background:#fee8e6;color:#b42318;border:1px solid #f5c5c0}.csoat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.csoat-full{grid-column:1/-1}.csoat-qr-wrap{text-align:center;margin:21px 0}.csoat-qr-wrap img{max-width:300px;width:100%;height:auto;border-radius:14px;border:1px solid #dcefe4;box-shadow:0 8px 20px rgba(16,80,47,.08)}.csoat-payment h3,.csoat-proof h3{margin-top:20px;color:#123b29}.csoat-file-help{font-size:13px;color:#668073}.csoat-final{text-align:center;padding:34px}.csoat-final-icon{width:58px;height:58px;border-radius:50%;background:#dff7e9;color:#087443;font-size:34px;line-height:58px;margin:0 auto 13px;font-weight:850}.csoat-final h3{color:#123b29}.csoat-warning{padding:13px;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;border-radius:11px;margin-top:15px}.csoat-card [hidden]{display:none!important}@media(max-width:600px){.csoat-card{padding:20px;margin:12px;border-radius:20px}.csoat-topline{align-items:flex-start}.csoat-secure{font-size:11px}.csoat-card h2{font-size:26px}.csoat-grid{grid-template-columns:1fr}.csoat-full{grid-column:auto}.csoat-row{align-items:flex-start}.csoat-row strong{max-width:55%;overflow-wrap:anywhere}.csoat-main-price strong,.csoat-price-bar strong{font-size:21px}.csoat-main-price,.csoat-price-bar{padding:14px}.csoat-result-box,.csoat-purchase,.csoat-payment,.csoat-proof{padding:17px}}

.csoat-pay-link{text-decoration:none;box-sizing:border-box;text-align:center;display:flex;justify-content:center;align-items:center;margin:18px 0 10px;width:100%}.csoat-pay-link:hover{color:#fff}


/* Mejoras visuales 0.9.8 */
#csoat-phone,#csoat-email{min-height:56px;font-size:17px;padding:15px 16px;width:100%;}
#csoat-payment-reference{min-height:52px;font-size:17px;}
#csoat-proof-file{min-height:52px;padding:12px;background:#f8fcfa;}
#csoat-proof label{margin-top:16px;}

@media(min-width:601px){#csoat-phone,#csoat-email{min-width:0;} }
.csoat-discount-link{width:100%;margin:14px 0 0;background:transparent!important;color:#b42318!important;padding:8px 10px!important;font-size:15px!important;font-weight:800!important;box-shadow:none!important;text-decoration:underline;text-underline-offset:3px}
.csoat-discount-link:hover:not(:disabled){transform:none!important;color:#8f1d14!important}
.csoat-discount-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:14px 16px;border-radius:13px;background:#fff1f1;border:1px solid #f5c5c0;color:#b42318;font-size:15px}
.csoat-discount-banner strong{font-weight:850}.csoat-discount-banner span{font-weight:700;text-align:right}.csoat-discount-banner b{font-size:21px;letter-spacing:.04em}.csoat-discount-banner.expired{background:#fff7ed;border-color:#fed7aa;color:#9a3412;display:block}.csoat-discount-banner.expired span{display:block;text-align:left;margin-top:3px;font-weight:600;font-size:13px}
@media(max-width:600px){.csoat-discount-banner{align-items:flex-start;flex-direction:column}.csoat-discount-banner span{text-align:left}.csoat-discount-link{font-size:14px!important}}

/* 1.0.0 - colores administrables */
.csoat-card{
 --csoat-card-bg:#fff;--csoat-card-border:#dcefe4;--csoat-card-shadow:#10502f;
 --csoat-main-text:#173526;--csoat-heading:#123b29;--csoat-sub-text:#668073;--csoat-label-text:#234a37;
 --csoat-input-bg:#fff;--csoat-input-border:#cfe2d7;--csoat-input-text:#173526;--csoat-input-focus:#18a15f;
 --csoat-primary-bg:#087443;--csoat-primary-bg-2:#10a765;--csoat-primary-text:#fff;
 --csoat-result-bg:#f8fcfa;--csoat-result-border:#dcefe4;--csoat-price-bg:#ecf9f1;--csoat-price-border:#d5efdf;--csoat-price-text:#087443;
 --csoat-valid-bg:#dff7e9;--csoat-valid-text:#087443;--csoat-valid-border:#bce8ce;
 --csoat-expired-bg:#fee8e6;--csoat-expired-text:#b42318;--csoat-expired-border:#f5c5c0;
 --csoat-discount-text:#b42318;--csoat-discount-bg:#fff1f1;--csoat-discount-border:#f5c5c0;
 --csoat-warning-bg:#fff7ed;--csoat-warning-text:#9a3412;--csoat-warning-border:#fed7aa;
 --csoat-success-bg:#dff7e9;--csoat-success-text:#087443;--csoat-error-text:#b42318;--csoat-muted-text:#6a8175;--csoat-row-border:#e7f0eb;
 background:var(--csoat-card-bg);border-color:var(--csoat-card-border);box-shadow:0 18px 55px var(--csoat-card-shadow);color:var(--csoat-main-text);
}
.csoat-card h2,.csoat-card h3,.csoat-vehicle-title,.csoat-step-label{color:var(--csoat-heading)}
.csoat-sub{color:var(--csoat-sub-text)}
.csoat-card label{color:var(--csoat-label-text)}
.csoat-card input,.csoat-card select{background:var(--csoat-input-bg);border-color:var(--csoat-input-border);color:var(--csoat-input-text)}
.csoat-card input:focus,.csoat-card select:focus{border-color:var(--csoat-input-focus);box-shadow:0 0 0 4px color-mix(in srgb,var(--csoat-input-focus) 12%,transparent)}
.csoat-primary,#csoat-submit{background:linear-gradient(135deg,var(--csoat-primary-bg),var(--csoat-primary-bg-2));color:var(--csoat-primary-text)}
.csoat-result-box,.csoat-purchase,.csoat-payment,.csoat-proof,.csoat-final{background:var(--csoat-result-bg);border-color:var(--csoat-result-border)}
.csoat-main-price,.csoat-price-bar{background:var(--csoat-price-bg);border-color:var(--csoat-price-border)}
.csoat-main-price strong,.csoat-price-bar strong{color:var(--csoat-price-text)}
.csoat-row{border-color:var(--csoat-row-border)}
.csoat-row span,.csoat-file-help{color:var(--csoat-muted-text)}
.csoat-row strong{color:var(--csoat-main-text)}
.csoat-validity.vigente{background:var(--csoat-valid-bg);color:var(--csoat-valid-text);border-color:var(--csoat-valid-border)}
.csoat-validity.vencido{background:var(--csoat-expired-bg);color:var(--csoat-expired-text);border-color:var(--csoat-expired-border)}
.csoat-discount-link{color:var(--csoat-discount-text)!important}
.csoat-discount-banner{background:var(--csoat-discount-bg);border-color:var(--csoat-discount-border);color:var(--csoat-discount-text)}
.csoat-warning{background:var(--csoat-warning-bg);color:var(--csoat-warning-text);border-color:var(--csoat-warning-border)}
.csoat-final-icon{background:var(--csoat-success-bg);color:var(--csoat-success-text)}
.csoat-status.error{color:var(--csoat-error-text)}.csoat-status.success{color:var(--csoat-success-text)}

/* 1.0.2 - Pago mediante QR, conservando el botón y flujo de comprobante */
.csoat-payment-qr{margin:22px auto 16px;display:flex;justify-content:center;align-items:center;flex-direction:column}
.csoat-payment-qr img{max-width:min(320px,100%);width:auto;max-height:420px;object-fit:contain;background:#fff;padding:10px}
.csoat-qr-instruction{text-align:center;margin:10px 0 4px}
/* Selector de métodos de pago: transferencia QR y tarjeta */
.csoat-payment-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.csoat-payment-choice .csoat-payment-choice-btn{margin-top:0;min-height:58px;padding:14px 16px;text-align:center;line-height:1.25}
.csoat-payment-choice .csoat-card-pay-btn{background:linear-gradient(135deg,#174ea6,#2877dc);box-shadow:0 9px 20px rgba(23,78,166,.18)}
.csoat-payment-choice .csoat-card-pay-btn:hover:not(:disabled){box-shadow:0 12px 25px rgba(23,78,166,.25)}
@media(max-width:600px){.csoat-payment-choice{grid-template-columns:1fr}}


/* 1.0.7 - cupón con celebración y contador de vigencia */
.csoat-card .csoat-discount-link{white-space:normal;text-decoration:none;border:1px solid var(--csoat-discount-border,#f5c5c0);background:var(--csoat-discount-bg,#fff1f1)!important;border-radius:13px;padding:15px 16px!important;line-height:1.4;font-size:15px!important;color:var(--csoat-discount-text,#b42318)!important}
.csoat-card .csoat-discount-link:hover:not(:disabled){filter:brightness(.98);transform:translateY(-1px)!important}
.csoat-coupon-celebration{position:fixed;z-index:999999;top:24%;left:50%;transform:translateX(-50%);width:min(600px,calc(100vw - 32px));box-sizing:border-box;min-height:150px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:18px;background:linear-gradient(135deg,#fff8d8,#e7fff0);border:1px solid #bde8ce;box-shadow:0 18px 60px rgba(0,0,0,.22);opacity:1;transition:opacity .4s ease,transform .4s ease}
.csoat-coupon-celebration.is-leaving{opacity:0;transform:translate(-50%,-8px)}
.csoat-coupon-celebration-card{position:relative;z-index:2;text-align:center;padding:22px 16px;color:#087443}
.csoat-coupon-celebration-card h3{margin:5px 0 8px;font-size:24px;color:#087443!important}
.csoat-coupon-celebration-card p{margin:0;font-size:19px;font-weight:850;color:#173526}
.csoat-coupon-party{font-size:27px;letter-spacing:5px}
.csoat-coupon-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.csoat-coupon-confetti i{position:absolute;top:-16px;width:8px;height:13px;border-radius:2px;animation:csoatConfettiFall 2.5s ease-in forwards}
@keyframes csoatConfettiFall{0%{top:-16px;opacity:1;transform:translateX(0) rotate(0)}100%{top:110%;opacity:.15;transform:translateX(var(--fall-x,0)) rotate(720deg)}}
@media(prefers-reduced-motion:reduce){.csoat-coupon-confetti i{animation-duration:.1s}.csoat-coupon-celebration{transition:none}}

/* 1.0.8 - el cupón solo aparece dentro del formulario tras pulsar Comprar SOAT */
.csoat-coupon-area{margin:14px 0 20px;padding:15px;border:1px dashed var(--csoat-discount-border,#f5c5c0);border-radius:14px;text-align:center;background:color-mix(in srgb,var(--csoat-discount-bg,#fff1f1) 45%,transparent)}
.csoat-coupon-area p{margin:0 0 10px;font-weight:800;color:var(--csoat-discount-text,#b42318)}
.csoat-coupon-area .csoat-discount-link{margin:0}

/* 1.4.4 - tamaño configurable del texto de términos */
.csoat-card .csoat-terms-line span{font-size:var(--csoat-terms-font-size,14px);line-height:1.45}

/* 1.4.5 - casilla siempre antes del texto de aceptación */
.csoat-card .csoat-terms-line{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:8px!important}
.csoat-card .csoat-terms-line input[type=checkbox]{order:0;flex:0 0 auto;margin:3px 0 0!important}
.csoat-card .csoat-terms-line span{order:1;flex:1;min-width:0}

/* 1.5.0 - pago visual editable: tarjetas de método, llave Bre-B e instrucciones */
.csoat-payment-choice{gap:14px;margin-top:22px;align-items:stretch}
.csoat-payment-choice .csoat-payment-choice-btn{min-height:132px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:10px;padding:18px;text-align:left;background:var(--csoat-choice-bg,#fff);color:var(--csoat-choice-text,#202923);border:1px solid var(--csoat-choice-border,#d4dad6);border-radius:22px;box-shadow:none;white-space:normal}
.csoat-payment-choice .csoat-payment-choice-btn:before{content:' ';display:block;width:28px;height:20px;border:2px solid currentColor;border-radius:5px;opacity:.8}
.csoat-payment-choice .csoat-payment-choice-btn:after{content:attr(data-price);display:block;align-self:stretch;text-align:center;padding:12px 10px;background:var(--csoat-pay-action,#087443);color:var(--csoat-pay-action-text,#fff);border-radius:999px;font-size:15px;font-weight:850}
.csoat-payment-choice .csoat-payment-choice-btn.is-selected{background:var(--csoat-choice-selected-bg,#e8f4ec);border:2px solid var(--csoat-choice-selected-border,#4c9970)}
.csoat-payment-choice .csoat-card-pay-btn{background:var(--csoat-choice-bg,#fff);color:var(--csoat-choice-text,#202923);box-shadow:none}
.csoat-payment-choice .csoat-card-pay-btn:hover:not(:disabled){box-shadow:none}
.csoat-payment-choice .csoat-payment-choice-btn span{font-size:16px}
.csoat-transfer-panel{padding:22px 16px 8px;border-radius:16px;text-align:center;margin:18px 0 8px}
.csoat-transfer-label{font-size:12px;letter-spacing:.17em;font-weight:700;color:#75847b}
.csoat-transfer-amount{font-size:clamp(34px,7vw,48px);line-height:1.15;letter-spacing:.04em;font-weight:900;color:var(--csoat-pay-amount,#111827);margin:7px 0 12px}
.csoat-breb-key{margin:16px 0;padding:16px 18px;border-radius:18px;background:#e8f4ec;border:1px solid #d9eade}
.csoat-breb-label{font-size:11px;letter-spacing:.16em;font-weight:800;color:#6a8175;margin-bottom:10px}
.csoat-breb-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.csoat-breb-row strong{font-size:20px;overflow-wrap:anywhere;color:#173526}
.csoat-card .csoat-breb-row .csoat-copy-breb{margin:0;white-space:nowrap;border-radius:999px;padding:9px 14px;background:#fff;color:#24392d;border:1px solid #dce7df;font-size:13px}
.csoat-breb-key small{display:block;margin-top:6px;color:#087443}
.csoat-transfer-steps{list-style:none;counter-reset:transfer-step;margin:18px 0;padding:0}
.csoat-transfer-steps li{counter-increment:transfer-step;display:flex;align-items:flex-start;gap:12px;margin:12px 0;color:var(--csoat-main-text,#173526)}
.csoat-transfer-steps li:before{content:counter(transfer-step);flex:0 0 24px;height:24px;line-height:24px;text-align:center;border-radius:50%;background:#dff1e6;color:#087443;font-size:12px;font-weight:850}
.csoat-waiting-transfer{padding:14px 16px;border-radius:20px;background:var(--csoat-wait-bg,#e4eef6);color:var(--csoat-wait-text,#263b4a);border:1px solid #c5d7e5;margin:18px 0}
.csoat-waiting-transfer strong{display:block;margin-bottom:6px}
.csoat-waiting-transfer p{margin:0;font-size:14px;line-height:1.5}
@media(max-width:600px){.csoat-payment-choice{grid-template-columns:1fr}.csoat-payment-choice .csoat-payment-choice-btn{min-height:115px}.csoat-breb-row{align-items:flex-start}.csoat-breb-row strong{font-size:17px}}


/* 1.5.2 - tarjeta Bre-B con sello visible y precio en acción inferior */
.csoat-payment-choice .csoat-breb-payment-btn{align-items:center;justify-content:space-between;text-align:center;gap:9px;min-height:154px;padding:14px 16px;background:#fff;color:#202923}
.csoat-payment-choice .csoat-breb-payment-btn:before{display:none;content:none}
.csoat-payment-choice .csoat-breb-payment-btn .csoat-breb-logo{display:block;object-fit:contain;box-sizing:border-box;width:88px;height:44px;margin:0 auto;border-radius:7px}.csoat-pv-breb-logo{display:block;object-fit:contain;width:72px;height:36px;margin:0 0 8px;border-radius:5px}
.csoat-payment-choice .csoat-breb-payment-btn .csoat-payment-choice-caption{display:block;font-size:13px;font-weight:650;line-height:1.3;color:var(--csoat-choice-muted,#65736a)}
.csoat-payment-choice .csoat-breb-payment-btn:after{content:"Generar código por " attr(data-price);width:100%;box-sizing:border-box;margin-top:2px;padding:12px 12px;background:var(--csoat-pay-action,#087443);color:var(--csoat-pay-action-text,#fff);border-radius:999px;font-size:14px;font-weight:850;text-align:left;line-height:1.35}
.csoat-payment-choice .csoat-breb-payment-btn.is-selected{background:var(--csoat-choice-selected-bg,#e8f4ec);border:2px solid var(--csoat-choice-selected-border,#4c9970)}
.csoat-pv-breb-logo{margin:0 0 8px;width:72px;height:36px}
.csoat-pv-option .csoat-pv-button{white-space:normal}
@media(max-width:600px){.csoat-payment-choice .csoat-breb-payment-btn{min-height:132px;padding:12px 14px;align-items:center;gap:7px}.csoat-payment-choice .csoat-breb-payment-btn .csoat-breb-logo{width:68px;height:34px}.csoat-payment-choice .csoat-breb-payment-btn .csoat-payment-choice-caption{font-size:12px}.csoat-payment-choice .csoat-breb-payment-btn:after{font-size:14px;padding:10px 8px}}

/* 1.5.5 - acción Bre-B alineada a la izquierda y pasos previos al QR */
.csoat-pv-option .csoat-pv-breb-action{display:block;width:100%;box-sizing:border-box;text-align:left;padding:12px 12px;background:#087443;color:#fff;border-radius:999px;font-size:13px;font-weight:850}


/* 1.5.6 - logo Bre-B compacto y texto exacto del botón, con prioridad en móvil */
.csoat-payment-choice .csoat-breb-payment-btn .csoat-breb-logo{
  display:block !important; width:68px !important; max-width:68px !important; height:30px !important; max-height:30px !important;
  min-width:0 !important; object-fit:contain !important; margin:0 auto !important; padding:0 !important;
  border:0 !important; border-radius:0 !important; box-shadow:none !important; background:transparent !important;
}
.csoat-payment-choice .csoat-breb-payment-btn:after{
  content:"Generar código por " attr(data-price) !important; display:block !important; width:100% !important;
  box-sizing:border-box !important; text-align:left !important; white-space:normal !important;
  font-size:14px !important; line-height:1.35 !important; padding:11px 12px !important;
}
@media(max-width:600px){
  .csoat-payment-choice .csoat-breb-payment-btn .csoat-breb-logo{width:60px !important; max-width:60px !important; height:26px !important; max-height:26px !important; margin:0 auto !important}
  .csoat-payment-choice .csoat-breb-payment-btn:after{font-size:13px !important; padding:10px 10px !important}
}
