/* Escopo restrito ao checkout WooCommerce. Não estilizar nem manipular iframes seguros do gateway. */
body.woocommerce-checkout:not(.woocommerce-order-received) { --meisp-border:#d8dce7; --meisp-ink:#162a36; --meisp-accent:#003e40; }
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce {max-width:1240px; margin-inline:auto; padding-inline:clamp(12px,2vw,28px); box-sizing:border-box;}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form.checkout {display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,1fr);gap:clamp(18px,3vw,36px);align-items:start;}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form.checkout > #customer_details {grid-column:1;grid-row:1 / span 3;min-width:0;width:100%;float:none;}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form.checkout > #order_review_heading {grid-column:2;grid-row:1;margin:0;min-width:0;}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form.checkout > #order_review {grid-column:2;grid-row:2;min-width:0;width:100%;float:none;}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form.checkout > #customer_details .col-1,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form.checkout > #customer_details .col-2 {width:100%;max-width:none;float:none;min-width:0;}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form.checkout > #customer_details .col2-set {display:block;width:100%;}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form.checkout .form-row {box-sizing:border-box;min-width:0;}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form.checkout .form-row label {display:block;font-size:14px;line-height:1.45;font-weight:600;color:var(--meisp-ink);margin-bottom:7px;overflow-wrap:anywhere;}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form.checkout input.input-text,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form.checkout textarea,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form.checkout select,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form.checkout .select2-container .select2-selection {box-sizing:border-box;max-width:100%;width:100%;min-height:48px;border:1px solid var(--meisp-border);border-radius:10px;background:#fff;color:var(--meisp-ink);font-size:15px;padding:10px 12px;}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form.checkout input:focus-visible,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form.checkout select:focus-visible {outline:2px solid #1e8b80;outline-offset:2px;}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment {box-sizing:border-box;min-width:0;max-width:100%;border-radius:14px;overflow:visible;background:#f7f8fa;}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .payment_box {box-sizing:border-box;width:100%;max-width:100%;min-width:0;margin:12px 0;padding:clamp(12px,2vw,22px);overflow-wrap:anywhere;}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .payment_box * {box-sizing:border-box;max-width:100%;}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .payment_box input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .payment_box select {width:100%;min-width:0;min-height:44px;font-size:16px;}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .payment_box label {display:block;max-width:100%;width:auto;white-space:normal;overflow-wrap:normal;word-break:normal;line-height:1.45;margin-bottom:6px;}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods {padding:clamp(12px,2vw,20px);}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .place-order {padding:clamp(12px,2vw,20px);}
body.woocommerce-checkout:not(.woocommerce-order-received) #place_order {min-height:50px;border-radius:10px;background:#00d65d;color:#002a26;font-weight:700;}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table {width:100%;table-layout:auto;}
@media (max-width:980px) {
 body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form.checkout {display:block;}
 body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form.checkout > #customer_details,
 body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form.checkout > #order_review_heading,
 body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form.checkout > #order_review {display:block;width:100%;max-width:none;margin:0 0 22px;}
}
@media (max-width:600px) {
 body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce {padding-inline:12px;}
 body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form.checkout .form-row-first,
 body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form.checkout .form-row-last {width:100%;float:none;clear:both;}
 body.woocommerce-checkout:not(.woocommerce-order-received) #payment .payment_box {padding:12px;}
 body.woocommerce-checkout:not(.woocommerce-order-received) #place_order {width:100%;}
}
/* Checkout de blocos: apenas largura e campos, sem interferir no iframe de pagamento. */
body.woocommerce-checkout .wc-block-checkout {max-width:1200px;margin-inline:auto;padding-inline:12px;}
body.woocommerce-checkout .wc-block-components-text-input input {min-height:48px;}

/* v1.1.0: corrigir colunas internas do gateway sem tocar nos iframes PCI. */
@media (min-width:981px) {
 body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form.checkout {grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);}
}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .payment_box {min-width:0!important;}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .payment_box :is(.form-row,.form-group,.field,.input-group,.wc-payment-form,.wc-credit-card-form,p.form-row) {max-width:none!important;min-width:0!important;}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .payment_box :is(.form-row,.form-group,p.form-row) {width:100%!important;float:none!important;clear:both;}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .payment_box :is(.form-row,.form-group,p.form-row) > label {display:block!important;width:100%!important;max-width:none!important;text-align:left!important;margin:0 0 8px!important;font:600 14px/1.4 inherit;}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .payment_box :is(.form-row,.form-group,p.form-row) > :is(input,select,textarea,.select2-container) {display:block;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .payment_box :is(input[type=text],input[type=tel],input[type=number],input[type=password],select) {border-radius:9px;min-height:46px;padding:10px 12px;}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .payment_box :is(.wc-credit-card-form,.wc-payment-form) {width:100%!important;max-width:none!important;}
/* Elementos PagBank com estilos inline: não forçar dimensões nos campos seguros em iframe. */
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .payment_box iframe {max-width:100%;}
@media (max-width:980px) {
 body.woocommerce-checkout:not(.woocommerce-order-received) #payment .payment_box :is(.form-row-first,.form-row-last) {width:100%!important;float:none!important;}
}
