.cnif-pay-card,.cnif-result-card{max-width:880px;margin:30px auto;padding:30px;border:1px solid #dbe4ea;border-radius:16px;background:#fff;box-shadow:0 14px 40px rgba(18,49,73,.08);color:#183042}.cnif-pay-head h2,.cnif-result-card h2{margin:5px 0 10px;font-size:clamp(26px,4vw,38px);line-height:1.15}.cnif-pay-head p{margin:0 0 22px;color:#536977}.cnif-pay-kicker,.cnif-result-kicker{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#0873b9}.cnif-pay-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:16px}.cnif-pay-form label{display:block;margin-bottom:7px;font-weight:700}.cnif-pay-form input,.cnif-pay-form select{width:100%;min-height:50px;padding:10px 13px;border:1px solid #b9c8d2;border-radius:9px;background:#fff;font-size:16px}.cnif-pay-price{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:20px 0;padding:18px;border-radius:12px;background:#f1f7fb}.cnif-pay-price div{display:flex;align-items:baseline;gap:8px}.cnif-pay-price strong{font-size:29px}.cnif-pay-price span,.cnif-pay-price p,.cnif-pay-note{font-size:14px;color:#607482}.cnif-pay-price p{margin:0}.cnif-pay-button{width:100%;min-height:54px;border:0;border-radius:10px;background:#0873b9;color:#fff;font-weight:700;font-size:17px;cursor:pointer}.cnif-pay-button:hover{background:#065f99}.cnif-pay-note{margin:15px 0 0;line-height:1.55}.cnif-pay-error{margin:0 0 18px;padding:12px 15px;border-left:4px solid #b42318;background:#fff1f0;color:#7a271a}.cnif-result-status{display:inline-block;margin:12px 0 22px;padding:9px 15px;border-radius:999px;font-weight:800}.cnif-result-status.is-valid{background:#e8f7ee;color:#176b3a}.cnif-result-status.is-invalid{background:#fff0f0;color:#9b1c1c}.cnif-result-status.is-pending{background:#fff7df;color:#805b00}.cnif-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 22px}.cnif-result-grid div{padding:14px;border:1px solid #dbe4ea;border-radius:10px}.cnif-result-grid dt{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#687d89}.cnif-result-grid dd{margin:4px 0 0;font-weight:700}.cnif-downloads{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.cnif-downloads a{display:inline-block;padding:12px 17px;border-radius:8px;background:#0873b9;color:#fff;text-decoration:none;font-weight:700}@media(max-width:700px){.cnif-pay-card,.cnif-result-card{padding:20px}.cnif-pay-grid,.cnif-result-grid{grid-template-columns:1fr}.cnif-pay-price{display:block}.cnif-pay-price p{margin-top:8px}}
.cnif-vat-composite{display:flex;align-items:stretch;width:100%;min-height:50px;border:1px solid #b9c8d2;border-radius:9px;background:#fff;overflow:hidden}.cnif-vat-prefix{display:flex;align-items:center;justify-content:center;flex:0 0 58px;padding:0 12px;background:#eef5fa;border-right:1px solid #b9c8d2;color:#12314a;font-size:16px;font-weight:800;letter-spacing:.04em}.cnif-pay-form .cnif-vat-composite input{min-width:0;min-height:48px;border:0;border-radius:0;box-shadow:none;outline:none}.cnif-pay-form .cnif-vat-composite:focus-within{border-color:#0873b9;box-shadow:0 0 0 2px rgba(8,115,185,.12)}.cnif-vat-help{display:block;margin-top:7px;color:#607482;font-size:13px;line-height:1.4}.cnif-persistent-link{max-width:880px;margin:14px auto;color:#607482;font-size:14px}.cnif-persistent-link a{font-weight:700}

/* Checkout específico del servicio VIES */
.cnif-checkout{background:#f4f8fc}
.cnif-checkout .site-main,.cnif-checkout main{max-width:1180px;margin:0 auto;padding:28px 18px 64px}
.cnif-checkout .entry-title,.cnif-checkout .woocommerce-breadcrumb{display:none!important}
.cnif-checkout .woocommerce{max-width:1120px;margin:0 auto}
.cnif-checkout-intro{display:grid;grid-template-columns:145px 1fr;gap:26px;align-items:center;margin:12px 0 26px;padding:26px 30px;border:1px solid #d8e5ef;border-radius:22px;background:linear-gradient(135deg,#fff 0%,#f5fbff 100%);box-shadow:0 18px 50px rgba(18,49,73,.08)}
.cnif-checkout-intro__brand{display:flex;align-items:center;justify-content:center;padding:14px;border-radius:16px;background:#fff;border:1px solid #e3edf4}
.cnif-checkout-intro__brand img{display:block;max-width:118px;height:auto}
.cnif-checkout-intro__eyebrow{display:block;margin-bottom:5px;color:#0873b9;font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.cnif-checkout-intro h1{margin:0 0 8px;color:#102c45;font-size:clamp(28px,4vw,46px);line-height:1.06;letter-spacing:-.035em}
.cnif-checkout-intro p{max-width:760px;margin:0;color:#526b7b;font-size:16px;line-height:1.65}
.cnif-checkout-trust{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.cnif-checkout-trust span{display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border:1px solid #d7e6f0;border-radius:999px;background:#fff;color:#294b62;font-size:13px;font-weight:700}
.cnif-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:24px;align-items:start}
.cnif-checkout #customer_details,.cnif-checkout #order_review_heading,.cnif-checkout #order_review{float:none!important;width:auto!important}
.cnif-checkout #customer_details{padding:28px;border:1px solid #dce7ef;border-radius:20px;background:#fff;box-shadow:0 14px 38px rgba(18,49,73,.06)}
.cnif-checkout #order_review_heading{display:none}
.cnif-checkout #order_review{padding:24px;border:1px solid #dce7ef;border-radius:20px;background:#fff;box-shadow:0 14px 38px rgba(18,49,73,.06);position:sticky;top:24px}
.cnif-checkout .woocommerce-billing-fields>h3{margin:0 0 20px;color:#102c45;font-size:26px;letter-spacing:-.025em}
.cnif-checkout .form-row{margin:0 0 17px}
.cnif-checkout .form-row label{margin-bottom:7px;color:#213e53;font-size:14px;font-weight:750}
.cnif-checkout .input-text,.cnif-checkout select,.cnif-checkout .select2-selection{min-height:50px!important;padding:11px 13px!important;border:1px solid #b9ccd9!important;border-radius:10px!important;background:#fff!important;color:#132f45!important;box-shadow:none!important;font-size:16px!important}
.cnif-checkout .input-text:focus,.cnif-checkout select:focus,.cnif-checkout .select2-selection:focus{border-color:#0873b9!important;box-shadow:0 0 0 3px rgba(8,115,185,.12)!important;outline:0!important}
.cnif-checkout .woocommerce-checkout-review-order-table{margin:0 0 18px;border:0;border-collapse:separate;border-spacing:0;overflow:hidden;border-radius:14px;background:#f8fbfd}
.cnif-checkout .woocommerce-checkout-review-order-table th,.cnif-checkout .woocommerce-checkout-review-order-table td{padding:14px 12px;border-color:#dfe9f0;color:#24465d}
.cnif-checkout .woocommerce-checkout-review-order-table thead th{background:#eef5f9;color:#16364d;font-weight:800}
.cnif-checkout .woocommerce-checkout-review-order-table .order-total th,.cnif-checkout .woocommerce-checkout-review-order-table .order-total td{font-size:17px;color:#102c45}
.cnif-checkout #payment{margin-top:18px;padding:0;border:0;border-radius:16px;background:#fff!important}
.cnif-checkout #payment .payment_methods{margin:0;padding:0;border:0!important}
.cnif-checkout #payment .wc_payment_method{margin:0;padding:0;border:1px solid #dce7ef;border-radius:16px;background:#fff;overflow:hidden}
.cnif-checkout #payment .wc_payment_method>label{display:flex!important;align-items:center;gap:10px;margin:0;padding:16px 18px;background:#f4f8fb;color:#15364e;font-weight:800}
.cnif-checkout #payment .payment_box{margin:0!important;padding:20px!important;background:#fff!important;color:#385569!important}
.cnif-checkout #payment .payment_box:before{display:none!important}
.cnif-checkout #payment .payment_box p:first-child{margin-top:0}
.cnif-checkout .wc-stripe-elements-field,.cnif-checkout .stripe-card-group,.cnif-checkout .StripeElement{min-height:50px!important;padding:14px 13px!important;border:1px solid #b8cad6!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important}
.cnif-checkout .wc-stripe-elements-field.focused,.cnif-checkout .StripeElement--focus{border-color:#0873b9!important;box-shadow:0 0 0 3px rgba(8,115,185,.12)!important}
.cnif-checkout .payment_method_stripe .form-row-wide{width:100%!important;float:none!important}
.cnif-checkout .payment_method_stripe .form-row-first,.cnif-checkout .payment_method_stripe .form-row-last{width:calc(50% - 7px)!important;float:none!important;display:inline-block!important;vertical-align:top}
.cnif-checkout .payment_method_stripe .form-row-last{margin-left:10px!important}
.cnif-checkout .woocommerce-privacy-policy-text{margin:18px 0 14px;padding:14px 16px;border-radius:12px;background:#f5f8fb;color:#526a7a;font-size:13px;line-height:1.55}
.cnif-checkout .cnif-consent-row{position:relative;margin:16px 0!important;padding:16px 16px 16px 50px!important;border:1px solid #cfe0eb;border-radius:14px;background:#f7fbfd}
.cnif-checkout .cnif-consent-row .woocommerce-form__label{display:block!important;margin:0!important;color:#1c4058!important;font-size:14px!important;line-height:1.55!important;cursor:pointer}
.cnif-checkout .cnif-consent-row input[type=checkbox]{position:absolute!important;left:16px;top:18px;width:22px!important;height:22px!important;margin:0!important;accent-color:#0873b9}
.cnif-checkout #place_order{width:100%;min-height:56px;margin:0!important;padding:14px 18px!important;border:0!important;border-radius:12px!important;background:linear-gradient(135deg,#0873b9,#075d99)!important;color:#fff!important;font-size:16px!important;font-weight:800!important;letter-spacing:-.01em;box-shadow:0 12px 24px rgba(8,115,185,.2)!important}
.cnif-checkout #place_order:hover{transform:translateY(-1px);filter:brightness(.98)}
.cnif-checkout .woocommerce-error,.cnif-checkout .woocommerce-info,.cnif-checkout .woocommerce-message{border-radius:12px}
@media(max-width:900px){.cnif-checkout form.checkout{grid-template-columns:1fr}.cnif-checkout #order_review{position:static}.cnif-checkout-intro{grid-template-columns:1fr}.cnif-checkout-intro__brand{justify-content:flex-start;width:max-content}.cnif-checkout-intro__brand img{max-width:100px}}
@media(max-width:560px){.cnif-checkout .site-main,.cnif-checkout main{padding:18px 12px 44px}.cnif-checkout-intro,.cnif-checkout #customer_details,.cnif-checkout #order_review{padding:20px 16px;border-radius:16px}.cnif-checkout .payment_method_stripe .form-row-first,.cnif-checkout .payment_method_stripe .form-row-last{display:block!important;width:100%!important;margin-left:0!important}.cnif-checkout-trust{display:grid}.cnif-checkout-trust span{border-radius:10px}}


/* v0.9.7: corrección estructural para el tema propio y WooCommerce clásico */
body.cnif-checkout .cnp-main,
body.cnif-checkout .cnp-article{
  width:100%!important;
  max-width:none!important;
  padding:28px 0 64px!important;
}
body.cnif-checkout .site-shell,
body.cnif-checkout .cnp-entry{
  width:min(calc(100% - 40px),1240px)!important;
  max-width:1240px!important;
  margin:0 auto!important;
}
body.cnif-checkout .cnp-entry{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.cnif-checkout .cnp-entry>article,
body.cnif-checkout .entry-content,
body.cnif-checkout .woocommerce{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
body.cnif-checkout .cnp-entry>article>h1{
  display:none!important;
}
body.cnif-checkout form.checkout{
  display:grid!important;
  grid-template-columns:minmax(0,1.18fr) minmax(390px,.82fr)!important;
  gap:28px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  align-items:start!important;
}
body.cnif-checkout #customer_details{
  grid-column:1!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
body.cnif-checkout #order_review_heading{
  display:none!important;
}
body.cnif-checkout #order_review{
  grid-column:2!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
}
body.cnif-checkout #customer_details.col2-set,
body.cnif-checkout #customer_details .col-1,
body.cnif-checkout #customer_details .col-2{
  display:block!important;
  float:none!important;
  clear:both!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
body.cnif-checkout #customer_details .col-2{
  display:none!important;
}
body.cnif-checkout .woocommerce-billing-fields,
body.cnif-checkout .woocommerce-billing-fields__field-wrapper{
  width:100%!important;
}
body.cnif-checkout .woocommerce-billing-fields__field-wrapper{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0 16px!important;
}
body.cnif-checkout .woocommerce-billing-fields__field-wrapper .form-row{
  float:none!important;
  width:100%!important;
  max-width:none!important;
  margin:0 0 16px!important;
}
body.cnif-checkout .woocommerce-billing-fields__field-wrapper .form-row-wide,
body.cnif-checkout .woocommerce-billing-fields__field-wrapper #billing_address_1_field,
body.cnif-checkout .woocommerce-billing-fields__field-wrapper #billing_address_2_field,
body.cnif-checkout .woocommerce-billing-fields__field-wrapper #billing_email_field,
body.cnif-checkout .woocommerce-billing-fields__field-wrapper #billing_phone_field,
body.cnif-checkout .woocommerce-billing-fields__field-wrapper #billing_country_field{
  grid-column:1 / -1!important;
}
body.cnif-checkout #payment .payment_methods,
body.cnif-checkout #payment .wc_payment_method,
body.cnif-checkout #payment .payment_box,
body.cnif-checkout .payment_method_stripe,
body.cnif-checkout .payment_method_stripe .wc-stripe-elements-field,
body.cnif-checkout .payment_method_stripe .stripe-card-group{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
body.cnif-checkout .payment_method_stripe .form-row-wide{
  display:block!important;
  width:100%!important;
}
body.cnif-checkout .payment_method_stripe .form-row-first,
body.cnif-checkout .payment_method_stripe .form-row-last{
  display:block!important;
  float:none!important;
  width:100%!important;
  margin:0 0 14px!important;
}
body.cnif-checkout #payment .payment_box{
  padding:22px!important;
}
body.cnif-checkout .wc-stripe-elements-field,
body.cnif-checkout .StripeElement{
  width:100%!important;
  min-height:54px!important;
  padding:16px 14px!important;
}
body.cnif-checkout .cnif-consent-row{
  display:block!important;
  width:100%!important;
}

@media (max-width:980px){
  body.cnif-checkout form.checkout{
    grid-template-columns:1fr!important;
  }
  body.cnif-checkout #customer_details,
  body.cnif-checkout #order_review{
    grid-column:1!important;
  }
  body.cnif-checkout #order_review{
    position:static!important;
  }
}
@media (max-width:680px){
  body.cnif-checkout .site-shell,
  body.cnif-checkout .cnp-entry{
    width:min(calc(100% - 24px),1240px)!important;
  }
  body.cnif-checkout .woocommerce-billing-fields__field-wrapper{
    grid-template-columns:1fr!important;
  }
  body.cnif-checkout .woocommerce-billing-fields__field-wrapper .form-row{
    grid-column:1!important;
  }
}

/* v0.9.8: incidencias desde la página privada de resultados */
.cnif-operation-reference{margin:4px 0 18px;color:#647b8d;font-size:14px}
.cnif-support-box{max-width:880px;margin:16px auto 32px;padding:18px 20px;border:1px solid #cfe0eb;border-radius:15px;background:#f7fbfd;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#17364d;box-shadow:0 10px 30px rgba(18,49,73,.05)}
.cnif-support-box div{display:grid;gap:4px}
.cnif-support-box strong{font-size:16px;color:#102f47}
.cnif-support-box span{font-size:14px;line-height:1.45;color:#607789}
.cnif-support-open,.cnif-support-submit{border:0;border-radius:10px;background:#0873b9;color:#fff;padding:12px 17px;font-weight:800;cursor:pointer;white-space:nowrap;box-shadow:0 8px 18px rgba(8,115,185,.18)}
.cnif-support-open:hover,.cnif-support-submit:hover{background:#065f99}
.cnif-support-modal[hidden]{display:none!important}
.cnif-support-modal{position:fixed;z-index:999999;inset:0;display:grid;place-items:center;padding:20px}
.cnif-support-backdrop{position:absolute;inset:0;background:rgba(8,26,40,.62);backdrop-filter:blur(3px)}
.cnif-support-dialog{position:relative;z-index:1;width:min(100%,620px);max-height:min(88vh,760px);overflow:auto;padding:30px;border:1px solid #d6e2ea;border-radius:20px;background:#fff;box-shadow:0 28px 90px rgba(3,20,33,.28);color:#183042}
.cnif-support-dialog h2{margin:5px 38px 10px 0;font-size:clamp(25px,4vw,34px);line-height:1.12;color:#102f47}
.cnif-support-dialog>p{margin:0 0 20px;color:#597181;line-height:1.6}
.cnif-support-close{position:absolute;right:16px;top:14px;width:38px;height:38px;border:0;border-radius:999px;background:#edf4f8;color:#17364d;font-size:27px;line-height:1;cursor:pointer}
.cnif-support-dialog label{display:block;margin:0 0 16px;color:#23465d;font-size:14px;font-weight:800}
.cnif-support-dialog input[type=email],.cnif-support-dialog textarea{display:block;width:100%;margin-top:7px;padding:12px 13px;border:1px solid #b9ccd9;border-radius:10px;background:#fff;color:#183042;font:inherit;box-sizing:border-box}
.cnif-support-dialog input[type=email]:focus,.cnif-support-dialog textarea:focus{outline:0;border-color:#0873b9;box-shadow:0 0 0 3px rgba(8,115,185,.12)}
.cnif-support-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}
.cnif-support-cancel{border:1px solid #c8d8e3;border-radius:10px;background:#fff;color:#24465d;padding:12px 16px;font-weight:750;cursor:pointer}
.cnif-support-feedback{min-height:22px;margin:14px 0 0;font-size:14px;font-weight:700}
.cnif-support-feedback.is-success{color:#157347}.cnif-support-feedback.is-error{color:#b42318}.cnif-support-feedback.is-loading{color:#5d7180}
.cnif-support-submit:disabled{opacity:.65;cursor:wait}
.cnif-support-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
body.cnif-support-modal-open{overflow:hidden}
@media(max-width:680px){.cnif-support-box{align-items:flex-start;flex-direction:column}.cnif-support-open{width:100%}.cnif-support-dialog{padding:24px 18px}.cnif-support-actions{display:grid;grid-template-columns:1fr 1fr}.cnif-support-actions button{width:100%}}

/* v0.9.9: checkout más limpio, sin promociones ni pagos exprés */
body.cnif-checkout .wc-stripe-banner-checkout,
body.cnif-checkout .wc-stripe-banner-checkout-separator,
body.cnif-checkout .wc-stripe-express-checkout-element,
body.cnif-checkout .wc-stripe-express-checkout-container,
body.cnif-checkout .wc-stripe-cart-checkout-container,
body.cnif-checkout #wc-stripe-express-checkout-element,
body.cnif-checkout .wc-stripe-payment-request-wrapper,
body.cnif-checkout .wc-stripe-wallet-buttons,
body.cnif-checkout .wcpay-express-checkout-wrapper,
body.cnif-checkout .wcpay-express-checkout-container,
body.cnif-checkout #billing_email_marketing_opt_in_field,
body.cnif-checkout #billing_marketing_opt_in_field,
body.cnif-checkout #marketing_opt_in_field,
body.cnif-checkout #newsletter_field,
body.cnif-checkout .mailchimp-newsletter,
body.cnif-checkout .woocommerce-form__label[for*="marketing"],
body.cnif-checkout .woocommerce-form__label[for*="newsletter"]{
  display:none!important;
}

body.cnif-checkout #payment{
  margin:20px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.cnif-checkout #payment ul.payment_methods{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
body.cnif-checkout #payment li.wc_payment_method{
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.cnif-checkout #payment li.wc_payment_method>label{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:0 0 14px!important;
  padding:0!important;
  color:#17364d!important;
  font-size:16px!important;
  font-weight:800!important;
}
body.cnif-checkout #payment div.payment_box{
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.cnif-checkout #payment div.payment_box:before{
  display:none!important;
}
body.cnif-checkout .payment_method_stripe .wc-stripe-elements-field,
body.cnif-checkout .payment_method_stripe .StripeElement{
  min-height:54px!important;
  padding:15px 14px!important;
  border:1px solid #bfd0dc!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:none!important;
}
body.cnif-checkout .payment_method_stripe .wc-stripe-elements-field.focused,
body.cnif-checkout .payment_method_stripe .StripeElement--focus{
  border-color:#0873b9!important;
  box-shadow:0 0 0 3px rgba(8,115,185,.10)!important;
}
body.cnif-checkout .payment_method_stripe fieldset{
  margin:0!important;
  padding:0!important;
  border:0!important;
}
body.cnif-checkout .payment_method_stripe .form-row{
  margin:0 0 14px!important;
}
body.cnif-checkout .woocommerce-terms-and-conditions-wrapper{
  margin-top:20px!important;
}

.cnif-checkout-help{
  width:min(calc(100% - 40px),1240px);
  margin:18px auto 28px;
  padding:16px 18px;
  border:1px solid #d2e1ea;
  border-radius:14px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  box-shadow:0 10px 28px rgba(18,49,73,.05);
}
.cnif-checkout-help>div{display:grid;gap:4px}
.cnif-checkout-help strong{color:#102f47;font-size:15px}
.cnif-checkout-help span{color:#607789;font-size:13px;line-height:1.45}
.cnif-checkout-help__button{
  flex:0 0 auto;
  border:1px solid #0b73b9;
  border-radius:10px;
  background:#fff;
  color:#0b73b9;
  padding:11px 15px;
  font-weight:800;
  cursor:pointer;
}
.cnif-checkout-help__button:hover{background:#eef7fc}

@media(max-width:680px){
  .cnif-checkout-help{width:min(calc(100% - 24px),1240px);align-items:flex-start;flex-direction:column}
  .cnif-checkout-help__button{width:100%}
}

/* v1.0.0: resultado más visual y espera animada */
.cnif-result-card--modern{
  max-width:980px;
  padding:34px;
  border:1px solid #cfe0eb;
  border-radius:22px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  box-shadow:0 22px 65px rgba(18,49,73,.10);
}
.cnif-result-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:24px;
}
.cnif-result-head h2{
  margin:5px 0 0;
  color:#0c2f49;
  font-size:clamp(30px,5vw,48px);
  letter-spacing:-.035em;
}
.cnif-result-reference{
  flex:0 0 auto;
  padding:9px 13px;
  border:1px solid #d4e3ec;
  border-radius:999px;
  background:#f6fafc;
  color:#5f7889;
  font-size:13px;
  font-weight:800;
}
.cnif-result-query{
  margin:0 0 24px;
  padding:20px 22px;
  border:1px solid #c9dce8;
  border-radius:16px;
  background:#f4f9fc;
}
.cnif-result-query span{
  display:block;
  margin-bottom:6px;
  color:#648092;
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.cnif-result-query strong{
  display:block;
  color:#0b2d46;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
  font-size:clamp(25px,5vw,38px);
  line-height:1.1;
  letter-spacing:.025em;
  overflow-wrap:anywhere;
}
.cnif-result-verdict{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:18px;
  align-items:center;
  margin:0 0 24px;
  padding:24px;
  border:1px solid;
  border-radius:18px;
}
.cnif-result-verdict.is-valid{
  border-color:#b7dfc5;
  background:linear-gradient(135deg,#eefaf2,#f8fffa);
  color:#145e32;
}
.cnif-result-verdict.is-invalid{
  border-color:#efc6c6;
  background:linear-gradient(135deg,#fff1f1,#fffafa);
  color:#9a1f1f;
}
.cnif-result-verdict__icon{
  display:grid;
  place-items:center;
  width:68px;
  height:68px;
  border-radius:999px;
  background:currentColor;
  box-shadow:0 12px 30px rgba(16,69,43,.14);
}
.cnif-result-verdict__icon svg{
  width:34px;
  height:34px;
  fill:none;
  stroke:#fff;
  stroke-width:2.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.cnif-result-verdict__eyebrow{
  display:block;
  margin-bottom:4px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
  opacity:.82;
}
.cnif-result-verdict strong{
  display:block;
  margin-bottom:5px;
  color:currentColor;
  font-size:clamp(25px,4vw,37px);
  line-height:1.05;
}
.cnif-result-verdict p{
  margin:0;
  color:#466172;
  font-size:15px;
  line-height:1.55;
}
.cnif-result-grid--modern{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.cnif-result-grid--modern div{
  min-height:92px;
  padding:18px;
  border:1px solid #d6e4ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 24px rgba(18,49,73,.04);
}
.cnif-result-grid--modern dt{
  color:#6b8393;
  font-size:11px;
  font-weight:900;
  letter-spacing:.07em;
}
.cnif-result-grid--modern dd{
  margin-top:8px;
  color:#15364d;
  font-size:16px;
  line-height:1.45;
}
.cnif-downloads--modern{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.cnif-downloads--modern a{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:52px;
  border:1px solid #0873b9;
  border-radius:11px;
  background:#0873b9;
  box-shadow:0 10px 24px rgba(8,115,185,.18);
}
.cnif-downloads--modern a.is-secondary{
  background:#fff;
  color:#0873b9;
  box-shadow:none;
}
.cnif-waiting-panel{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:24px;
  align-items:center;
  padding:28px;
  border:1px solid #c9dce8;
  border-radius:20px;
  background:linear-gradient(135deg,#f3f9fd,#ffffff);
}
.cnif-waiting-clock{
  display:grid;
  place-items:center;
  width:92px;
  height:92px;
  border-radius:999px;
  background:#0b73b9;
  box-shadow:0 16px 34px rgba(8,115,185,.22);
}
.cnif-waiting-clock svg{
  width:62px;
  height:62px;
  fill:none;
  stroke:#fff;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.cnif-clock-minute{
  transform-box:fill-box;
  transform-origin:center;
  animation:cnif-clock-spin 2.4s linear infinite;
}
.cnif-clock-hour{
  transform-box:fill-box;
  transform-origin:center;
  animation:cnif-clock-spin 14.4s linear infinite;
}
.cnif-waiting-label{
  display:inline-block;
  margin-bottom:5px;
  color:#0b73b9;
  font-size:12px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.cnif-waiting-panel strong{
  display:block;
  margin-bottom:8px;
  color:#0d314a;
  font-size:clamp(25px,4vw,36px);
  line-height:1.08;
}
.cnif-waiting-panel p{
  margin:0;
  color:#5c7484;
  line-height:1.6;
}
.cnif-waiting-panel p.is-error{
  color:#a22626;
  font-weight:800;
}
.cnif-waiting-dots{
  display:flex;
  gap:7px;
  margin-top:15px;
}
.cnif-waiting-dots span{
  width:8px;
  height:8px;
  border-radius:999px;
  background:#0b73b9;
  animation:cnif-dot-pulse 1.2s ease-in-out infinite;
}
.cnif-waiting-dots span:nth-child(2){animation-delay:.15s}
.cnif-waiting-dots span:nth-child(3){animation-delay:.30s}
@keyframes cnif-clock-spin{to{transform:rotate(360deg)}}
@keyframes cnif-dot-pulse{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}
@media(max-width:680px){
  .cnif-result-card--modern{padding:22px 18px}
  .cnif-result-head{display:grid}
  .cnif-result-reference{justify-self:start}
  .cnif-result-verdict,.cnif-waiting-panel{grid-template-columns:1fr;text-align:center}
  .cnif-result-verdict__icon,.cnif-waiting-clock{margin:0 auto}
  .cnif-result-grid--modern,.cnif-downloads--modern{grid-template-columns:1fr}
  .cnif-waiting-dots{justify-content:center}
}
