/* Every selector is restricted to the real checkout route by its PHP body class. */
body.ec-checkout { --ec-ink:#182b49; --ec-blue:#1748b6; --ec-border:#d9e2ee; background:#f5f7fb; color:var(--ec-ink); }
body.ec-checkout::before { content:none !important; display:none !important; }
body.ec-checkout #masthead { border-bottom:1px solid var(--ec-border); background:white; }
body.ec-checkout #masthead .site-branding a::after { content:none !important; }
body.ec-checkout #masthead .custom-logo-link { display:flex; align-items:center; gap:10px; text-decoration:none; }
body.ec-checkout #masthead .ec-brand { font:750 22px/1.15 system-ui,sans-serif; letter-spacing:-.7px; color:var(--ec-ink); white-space:nowrap; }
body.ec-checkout #masthead .custom-logo { width:36px; height:36px; object-fit:contain; }
body.ec-checkout #content > .ast-container { max-width:1140px; padding:0 24px; }
body.ec-checkout #primary { margin:36px 0 48px; }
body.ec-checkout .entry-title { font:750 clamp(27px,3vw,36px)/1.2 system-ui,sans-serif; letter-spacing:-.8px; margin-bottom:26px; }
body.ec-checkout .entry-content { font-family:system-ui,sans-serif; }
body.ec-checkout .elmo-checkout-logo { display:none; }
body.ec-checkout #ec-order-summary { background:#fff; border:1px solid var(--ec-border); border-radius:16px; padding:24px 28px; margin-bottom:26px; }
body.ec-checkout #ec-order-summary h3,
body.ec-checkout form.checkout h3 { color:var(--ec-ink); font:700 20px/1.35 system-ui,sans-serif; margin:0 0 20px; padding:0; border:0; }
body.ec-checkout #ec-order-summary table { border:0; margin:0 0 14px; width:100%; border-collapse:collapse; }
body.ec-checkout #ec-order-summary table th,
body.ec-checkout #ec-order-summary table td { padding:12px 0; border:0; border-bottom:1px solid #edf0f5; }
body.ec-checkout #ec-order-summary table td:last-child,
body.ec-checkout #ec-order-summary table th:last-child { text-align:right; padding-left:16px; white-space:nowrap; }
body.ec-checkout #ec-order-summary .order-total { font-size:21px; color:var(--ec-ink); }
body.ec-checkout #ec-order-summary .order-total th,
body.ec-checkout #ec-order-summary .order-total td { border:0; padding-top:16px; }
body.ec-checkout #ec-order-summary .woocommerce-form-coupon-toggle { display:none !important; margin:0; }
body.ec-checkout #ec-order-summary .woocommerce-info { display:block !important; padding:0; margin:0; border:0; background:transparent; font-size:14px; }
body.ec-checkout #ec-order-summary .woocommerce-info::before { display:none; }
body.ec-checkout #ec-order-summary .showcoupon { color:var(--ec-blue); text-decoration:underline; }
body.ec-checkout #ec-order-summary form.checkout_coupon { display:block !important; width:100%; max-width:520px; border:0 !important; border-top:1px solid var(--ec-border) !important; border-radius:0 !important; padding:18px 0 0 !important; margin:14px 0 0 !important; background:transparent !important; }
body.ec-checkout #ec-order-summary form.checkout_coupon p { margin-bottom:0; }
body.ec-checkout #ec-order-summary form.checkout_coupon button { background:#f3f6fb !important; color:#24436f !important; border:1px solid #b9c7d9 !important; font-size:14px; }
body.ec-checkout.ec-enhanced form.checkout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); grid-template-rows:auto 1fr; gap:0 28px; align-items:start; }
body.ec-checkout.ec-enhanced #customer_details { float:none; width:100%; grid-column:1; grid-row:1 / 3; background:#fff; border:1px solid var(--ec-border); border-radius:16px; padding:28px; margin:0; }
body.ec-checkout #customer_details .col-1,
body.ec-checkout #customer_details .col-2 { width:100%; float:none; padding:0; }
body.ec-checkout.ec-enhanced #order_review_heading { grid-column:2; grid-row:1; width:100%; padding:26px 26px 18px; margin:0; background:#fff; border:1px solid var(--ec-border); border-bottom:0; border-radius:16px 16px 0 0; }
body.ec-checkout.ec-enhanced #order_review { grid-column:2; grid-row:2; width:100%; padding:0 26px 26px; margin:0; border:1px solid var(--ec-border); border-top:0; border-radius:0 0 16px 16px; background:#fff; }
body.ec-checkout.ec-enhanced form.checkout #customer_details.col2-set,
body.ec-checkout.ec-enhanced form.checkout #order_review_heading,
body.ec-checkout.ec-enhanced form.checkout #order_review { width:100%; float:none; margin-right:0; }
body.ec-checkout #customer_details h3 { padding:0; border:0; }
body.ec-checkout form.checkout .form-row { margin-bottom:18px; padding:0; }
body.ec-checkout form.checkout label { font-size:14px; font-weight:600; line-height:1.5; color:var(--ec-ink); margin-bottom:6px; }
body.ec-checkout form.checkout input.input-text,
body.ec-checkout form.checkout textarea,
body.ec-checkout #coupon_code,
body.ec-checkout form.checkout .select2-selection--single { border:1px solid #b9c7d9; border-radius:7px; background:#fff; min-height:46px; font-size:16px; box-shadow:none; }
body.ec-checkout form.checkout input.input-text,
body.ec-checkout form.checkout textarea,
body.ec-checkout #coupon_code { padding:11px 12px; }
body.ec-checkout form.checkout .select2-selection__rendered { line-height:44px; padding-left:12px; }
body.ec-checkout form.checkout .select2-selection__arrow { display:block !important; height:44px; right:8px; }
body.ec-checkout form.checkout .select2-selection__arrow b { display:block; border-color:#516079 transparent transparent; border-style:solid; border-width:5px 4px 0; }
body.ec-checkout :is(a,button,input,textarea,select,summary):focus-visible { outline:3px solid #7399ed; outline-offset:3px; }
body.ec-checkout .ec-order-notes { margin:6px 0 24px; border-top:1px solid var(--ec-border); border-bottom:1px solid var(--ec-border); padding:15px 0; }
body.ec-checkout .ec-order-notes summary { cursor:pointer; color:var(--ec-blue); font-size:15px; font-weight:600; }
body.ec-checkout .ec-order-notes[open] summary { margin-bottom:18px; }
body.ec-checkout .ec-order-notes #order_comments_field { margin-bottom:0; }
body.ec-checkout .elmo-cnpj-fields { margin:8px 0 0; padding:24px 0 0; border:0; border-top:1px solid var(--ec-border); background:transparent; border-radius:0; }
body.ec-checkout .elmo-cnpj-fields .form-row:last-child { margin-bottom:0; }
body.ec-checkout #payment { background:transparent; }
body.ec-checkout #payment ul.payment_methods { padding:0; border:0; }
body.ec-checkout #payment li.wc_payment_method { padding:14px 0; border-bottom:1px solid var(--ec-border); }
body.ec-checkout #payment .wc_payment_method > label { display:inline; font-size:16px; }
body.ec-checkout #payment .wc_payment_method > label img { height:28px !important; min-height:0 !important; max-height:28px !important; max-width:100px !important; width:auto !important; vertical-align:middle; }
body.ec-checkout #payment div.payment_box { margin:12px 0 0; padding:14px; border-radius:8px; background:#f3f6fb; font-size:14px; }
body.ec-checkout #payment .place-order { padding:0; margin:22px 0 0; }
body.ec-checkout #place_order { background:var(--ec-blue) !important; color:#fff !important; min-height:52px; font-size:17px !important; border-radius:8px !important; box-shadow:none !important; transform:none !important; }
body.ec-checkout #place_order:hover { background:#103780 !important; transform:none !important; }
body.ec-checkout #colophon { border-top:1px solid var(--ec-border); }
body.ec-checkout #colophon .ast-footer-copyright p { font-size:13px; font-weight:400 !important; color:#516079 !important; }
@media(min-width:922px) {
 body.ec-checkout #ast-desktop-header { display:block; }
 body.ec-checkout #ast-mobile-header { display:none; }
 body.ec-checkout #ast-desktop-header .main-header-menu { display:flex; flex-direction:row; width:auto; background:transparent; }
 body.ec-checkout #ast-desktop-header .main-header-menu > .menu-item { width:auto; border:0; }
 body.ec-checkout #ast-desktop-header .main-header-menu > .menu-item > a { border:0; padding:0 16px; line-height:80px; }
}
@media(max-width:921px) {
 body.ec-checkout #ast-desktop-header { display:none; }
 body.ec-checkout #ast-mobile-header { display:block; }
}
@media(max-width:767px) {
 body.ec-checkout #content > .ast-container { padding:0 16px; }
 body.ec-checkout #primary { margin:24px 0 32px; }
 body.ec-checkout #masthead .ec-brand { font-size:20px; }
 body.ec-checkout #masthead .custom-logo { width:30px; height:30px; }
 body.ec-checkout #ec-order-summary { padding:20px; margin-bottom:18px; border-radius:12px; }
 body.ec-checkout #ec-order-summary table { font-size:14px; }
 body.ec-checkout #ec-order-summary .order-total { font-size:19px; }
 body.ec-checkout.ec-enhanced form.checkout { display:block; }
 body.ec-checkout.ec-enhanced #customer_details { padding:20px; border-radius:12px; margin-bottom:20px; }
 body.ec-checkout.ec-enhanced #order_review_heading { padding:20px 20px 16px; border-radius:12px 12px 0 0; }
 body.ec-checkout.ec-enhanced #order_review { padding:0 20px 20px; border-radius:0 0 12px 12px; }
 body.ec-checkout form.checkout .form-row-first,
 body.ec-checkout form.checkout .form-row-last { width:100%; float:none; }
}
