/* Pro Soma Checkout — Paulete e Silva v1.1.0 */

body.pscc-active {
    --pscc-bg: #f6f6f3;
    --pscc-card: #ffffff;
    --pscc-text: #171717;
    --pscc-muted: #6f6f6a;
    --pscc-border: #e2e2dc;
    --pscc-soft: #f8f8f5;
    --pscc-accent: #111111;
    --pscc-danger: #b42318;
    --pscc-success: #287a43;
    --pscc-radius: 16px;
    --pscc-shadow: 0 12px 34px rgba(18,18,18,.055);
    margin: 0;
    background: var(--pscc-bg) !important;
    color: var(--pscc-text) !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

/* Remove a moldura do tema apenas nesta página. */
body.pscc-clean-mode #masthead,
body.pscc-clean-mode .site-header,
body.pscc-clean-mode .header-wrapper,
body.pscc-clean-mode .main-header-bar,
body.pscc-clean-mode .elementor-location-header,
body.pscc-clean-mode #colophon,
body.pscc-clean-mode .site-footer,
body.pscc-clean-mode .elementor-location-footer,
body.pscc-clean-mode .page-header,
body.pscc-clean-mode .woocommerce-breadcrumb,
body.pscc-clean-mode .breadcrumbs,
body.pscc-clean-mode .wd-prefooter,
body.pscc-clean-mode .whb-header,
body.pscc-clean-mode .footer-container,
body.pscc-clean-mode .sidebar-container,
body.pscc-clean-mode aside.sidebar-container {
    display: none !important;
}

body.pscc-active #page,
body.pscc-active .site,
body.pscc-active .site-content,
body.pscc-active #content,
body.pscc-active .content-area,
body.pscc-active .site-main,
body.pscc-active .col-full,
body.pscc-active .container,
body.pscc-active .woocommerce {
    max-width: none !important;
    width: 100% !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.pscc-active .woocommerce {
    padding: 0 20px 64px !important;
}

body.pscc-active .woocommerce * {
    box-sizing: border-box;
}

/* Cabeçalho enxuto */
.pscc-shell-header {
    width: min(1160px, 100% - 40px);
    min-height: 92px;
    margin: 0 auto;
    padding: 22px 0 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.pscc-brand {
    display: inline-flex;
    align-items: center;
    max-width: 280px;
    text-decoration: none !important;
}

.pscc-logo {
    display: block;
    width: auto !important;
    height: auto !important;
    max-width: 245px !important;
    max-height: 54px !important;
    object-fit: contain;
    filter: brightness(0);
    opacity: .88;
}

.pscc-site-name {
    color: var(--pscc-text) !important;
    font-size: 23px;
    font-weight: 650;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.pscc-progress {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    color: #92928d;
    font-size: 11px;
    line-height: 1;
}

.pscc-progress a,
.pscc-progress > div:not(.pscc-progress-line) {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: inherit !important;
    text-decoration: none !important;
    white-space: nowrap;
}

.pscc-progress span {
    display: inline-grid;
    place-items: center;
    width: 23px;
    height: 23px;
    border: 1px solid #d5d5cf;
    border-radius: 999px;
    background: #fff;
    color: #74746f;
    font-size: 10px;
    font-weight: 800;
}

.pscc-progress .is-current { color: var(--pscc-text) !important; }
.pscc-progress .is-current span { border-color: var(--pscc-accent); background: var(--pscc-accent); color: #fff; }
.pscc-progress-line { width: 28px; height: 1px; background: #d9d9d4; }

.pscc-trust-bar {
    width: min(1160px, 100% - 40px);
    min-height: 38px;
    margin: 0 auto 16px;
    padding: 8px 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid #e5e5df;
    border-radius: 10px;
    background: rgba(255,255,255,.72);
    color: #696964;
    font-size: 11px;
    line-height: 1.35;
    text-align: center;
}

.pscc-lock {
    display: inline-grid;
    place-items: center;
    width: 19px;
    height: 19px;
    flex: 0 0 19px;
    border-radius: 50%;
    background: #eaf6ee;
    color: var(--pscc-success);
    font-weight: 900;
}

/* Avisos / login / cupom ficam alinhados ao checkout. */
body.pscc-active .woocommerce > .woocommerce-notices-wrapper,
body.pscc-active .woocommerce-form-coupon-toggle,
body.pscc-active .woocommerce-form-login-toggle,
body.pscc-active form.checkout_coupon,
body.pscc-active form.login {
    width: min(1160px, 100%) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.pscc-active .woocommerce-form-coupon-toggle,
body.pscc-active .woocommerce-form-login-toggle { margin-bottom: 12px !important; }

body.pscc-active .woocommerce-info {
    margin: 0 !important;
    padding: 12px 15px !important;
    border: 1px solid var(--pscc-border) !important;
    border-top: 1px solid var(--pscc-border) !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #3e3e3a !important;
    box-shadow: none !important;
    font-size: 12px !important;
}
body.pscc-active .woocommerce-info::before { display: none !important; }
body.pscc-active .woocommerce-info a { color: var(--pscc-text) !important; font-weight: 750 !important; }

body.pscc-active form.checkout_coupon,
body.pscc-active form.login {
    margin-top: 10px !important;
    margin-bottom: 16px !important;
    padding: 18px !important;
    border: 1px solid var(--pscc-border) !important;
    border-radius: 12px !important;
    background: #fff !important;
}

/* Estrutura v1.2: o DOM do WooCommerce permanece clássico.
   #order_review usa display:contents apenas para o Grid; #payment continua filho dele. */
body.pscc-active form.pscc-checkout-form {
    width: min(1160px, 100%) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    float: none !important;
}

.pscc-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 390px !important;
    grid-template-rows: auto auto !important;
    column-gap: 28px !important;
    row-gap: 18px !important;
    align-items: start !important;
    width: 100% !important;
}

.pscc-main {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    min-width: 0 !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
}

/* Mantém a árvore DOM nativa, mas deixa review table e payment participarem do grid. */
body.pscc-active #order_review.woocommerce-checkout-review-order {
    display: contents !important;
}

body.pscc-active .pscc-summary-card {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    align-self: start !important;
    position: sticky !important;
    top: 20px !important;
    min-width: 0 !important;
}

body.pscc-active .pscc-payment-card {
    grid-column: 1 !important;
    grid-row: 2 !important;
    min-width: 0 !important;
}

/* Cards principais */
body.pscc-active #customer_details,
.pscc-shipping-card,
.pscc-payment-card,
body.pscc-active .pscc-summary-card {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 23px !important;
    border: 1px solid var(--pscc-border) !important;
    border-radius: var(--pscc-radius) !important;
    background: var(--pscc-card) !important;
    box-shadow: var(--pscc-shadow) !important;
}

body.pscc-active #customer_details.col2-set::before,
body.pscc-active #customer_details.col2-set::after { display: none !important; }

body.pscc-active #customer_details .col-1,
body.pscc-active #customer_details .col-2 {
    float: none !important;
    clear: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.pscc-active #customer_details .col-2 { margin-top: 14px !important; }

.pscc-card-heading { margin: 0 0 18px !important; }
.pscc-card-heading > div,
.pscc-summary-title {
    display: flex !important;
    align-items: flex-start !important;
    gap: 11px !important;
}

.pscc-card-heading h2,
.pscc-summary-title h2 {
    margin: 0 !important;
    color: var(--pscc-text) !important;
    font-family: inherit !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 750 !important;
    letter-spacing: -.01em !important;
    text-transform: none !important;
}

.pscc-card-heading p,
.pscc-summary-title p {
    margin: 4px 0 0 !important;
    color: var(--pscc-muted) !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
}

.pscc-step-badge,
.pscc-summary-icon {
    display: inline-grid !important;
    place-items: center !important;
    flex: 0 0 27px !important;
    width: 27px !important;
    height: 27px !important;
    border-radius: 999px !important;
    background: var(--pscc-accent) !important;
    color: #fff !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 850 !important;
}

.pscc-summary-icon { background: #eef4ef !important; color: var(--pscc-success) !important; }

/* Campos */
body.pscc-active .woocommerce-billing-fields__field-wrapper,
body.pscc-active .woocommerce-shipping-fields__field-wrapper {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 0 12px !important;
    width: 100% !important;
}

body.pscc-active form.woocommerce-checkout .form-row {
    float: none !important;
    clear: none !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 0 13px !important;
    padding: 0 !important;
    grid-column: 1 / -1;
}

body.pscc-active form.woocommerce-checkout .pscc-field-half { grid-column: span 3 !important; }
body.pscc-active form.woocommerce-checkout .pscc-field-third { grid-column: span 2 !important; }
body.pscc-active form.woocommerce-checkout .pscc-field-two-thirds { grid-column: span 4 !important; }
body.pscc-active form.woocommerce-checkout .pscc-field-full { grid-column: 1 / -1 !important; }

body.pscc-active form.woocommerce-checkout .form-row label {
    display: block !important;
    margin: 0 0 6px !important;
    color: #343431 !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    text-transform: none !important;
}

body.pscc-active form.woocommerce-checkout .form-row label .required { color: var(--pscc-danger) !important; }

body.pscc-active form.woocommerce-checkout input.input-text,
body.pscc-active form.woocommerce-checkout textarea,
body.pscc-active form.woocommerce-checkout select,
body.pscc-active form.checkout_coupon input.input-text,
body.pscc-active .select2-container--default .select2-selection--single {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 49px !important;
    margin: 0 !important;
    padding: 11px 13px !important;
    border: 1px solid #d8d8d2 !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: var(--pscc-text) !important;
    box-shadow: none !important;
    outline: 0 !important;
    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    transition: border-color .15s ease, box-shadow .15s ease;
}

body.pscc-active form.woocommerce-checkout textarea { min-height: 90px !important; resize: vertical !important; }
body.pscc-active form.woocommerce-checkout input.input-text:focus,
body.pscc-active form.woocommerce-checkout textarea:focus,
body.pscc-active form.woocommerce-checkout select:focus,
body.pscc-active .select2-container--open .select2-selection--single {
    border-color: #8f8f88 !important;
    box-shadow: 0 0 0 3px rgba(17,17,17,.055) !important;
}

body.pscc-active .select2-container { width: 100% !important; }
body.pscc-active .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding: 0 !important;
    line-height: 26px !important;
    color: var(--pscc-text) !important;
}
body.pscc-active .select2-container--default .select2-selection--single .select2-selection__arrow { height: 47px !important; right: 8px !important; }

body.pscc-active .woocommerce-invalid input.input-text,
body.pscc-active .woocommerce-invalid select { border-color: #e39b96 !important; }
body.pscc-active .woocommerce-validated input.input-text { border-color: #b9d9c1 !important; }

/* Endereço diferente / conta / marketing */
body.pscc-active .woocommerce-shipping-fields,
body.pscc-active .woocommerce-additional-fields,
body.pscc-active .woocommerce-account-fields { margin-top: 4px !important; }

body.pscc-active #ship-to-different-address,
body.pscc-active .create-account,
body.pscc-active .woocommerce-form__label-for-checkbox {
    margin: 3px 0 12px !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
}

body.pscc-active #ship-to-different-address label,
body.pscc-active .woocommerce-form__label-for-checkbox {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer !important;
}

body.pscc-active input[type="checkbox"],
body.pscc-active input[type="radio"] { accent-color: var(--pscc-accent); }

/* Entrega: radios nativos, fora do resumo. */
.pscc-shipping-options { display: grid; gap: 9px; }

.pscc-shipping-option {
    position: relative;
    min-width: 0;
    border: 1px solid #deded8;
    border-radius: 11px;
    background: #fff;
    transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

.pscc-shipping-option.is-selected,
.pscc-shipping-option:has(input.shipping_method:checked) {
    border-color: #242424;
    background: #fcfcfa;
    box-shadow: 0 0 0 2px rgba(17,17,17,.045);
}

.pscc-shipping-option > input.shipping_method {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.pscc-shipping-option > label {
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
    width: 100% !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    color: var(--pscc-text) !important;
    cursor: pointer !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
    text-transform: none !important;
}

.pscc-shipping-radio {
    display: inline-block;
    flex: 0 0 17px;
    width: 17px;
    height: 17px;
    border: 1.5px solid #aaa9a3;
    border-radius: 50%;
    background: #fff;
    box-shadow: inset 0 0 0 4px #fff;
}
.pscc-shipping-option:has(input.shipping_method:checked) .pscc-shipping-radio {
    border-color: var(--pscc-accent);
    background: var(--pscc-accent);
}

.pscc-shipping-label {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
}

.pscc-shipping-label .woocommerce-Price-amount {
    flex: 0 0 auto !important;
    margin-left: auto !important;
    color: var(--pscc-text) !important;
    white-space: nowrap !important;
    font-weight: 750 !important;
}

.pscc-shipping-message {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 14px;
    border: 1px dashed #d4d4ce;
    border-radius: 10px;
    background: var(--pscc-soft);
    color: var(--pscc-muted);
    font-size: 12px;
}
.pscc-shipping-message strong { color: #444440; }

/* Pagamento */
body.pscc-active .woocommerce-checkout-payment {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.pscc-active .woocommerce-checkout-payment ul.payment_methods {
    margin: 0 0 14px !important;
    padding: 0 !important;
    border: 0 !important;
    list-style: none !important;
}

body.pscc-active .woocommerce-checkout-payment ul.payment_methods > li {
    position: relative !important;
    width: 100% !important;
    margin: 0 0 9px !important;
    padding: 0 !important;
    border: 1px solid #deded8 !important;
    border-radius: 11px !important;
    background: #fff !important;
    overflow: hidden !important;
    list-style: none !important;
}

body.pscc-active .woocommerce-checkout-payment ul.payment_methods > li.pscc-selected,
body.pscc-active .woocommerce-checkout-payment ul.payment_methods > li:has(input[type="radio"]:checked) {
    border-color: #242424 !important;
    box-shadow: 0 0 0 2px rgba(17,17,17,.045) !important;
}

body.pscc-active .woocommerce-checkout-payment ul.payment_methods > li > input[type="radio"] {
    margin: 0 8px 0 14px !important;
    vertical-align: middle !important;
}

body.pscc-active .woocommerce-checkout-payment ul.payment_methods > li > label {
    display: inline-flex !important;
    width: calc(100% - 42px) !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 12px 14px 12px 0 !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    color: var(--pscc-text) !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    text-transform: none !important;
}

body.pscc-active .woocommerce-checkout-payment ul.payment_methods > li > label img,
body.pscc-active .woocommerce-checkout-payment .payment_method_icons img {
    width: auto !important;
    max-width: 90px !important;
    max-height: 26px !important;
    margin: 0 0 0 auto !important;
}

body.pscc-active .woocommerce-checkout-payment .payment_box {
    width: 100% !important;
    margin: 0 !important;
    padding: 16px !important;
    border: 0 !important;
    border-top: 1px solid #ecece7 !important;
    border-radius: 0 !important;
    background: #fafaf8 !important;
    color: #454541 !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
}
body.pscc-active .woocommerce-checkout-payment .payment_box::before { display: none !important; }

/* Mercado Pago: somente limita dimensões; não move nem esconde componentes/iframes. */
body.pscc-active .mp-checkout-container,
body.pscc-active #mp-checkout-custom-root,
body.pscc-active #mp-checkout-pix-root,
body.pscc-active .mp-checkout-custom-container,
body.pscc-active .mp-checkout-custom-card-form {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}
body.pscc-active #mp-checkout-pix-root img,
body.pscc-active .mp-checkout-pix-container img { max-width: 190px !important; height: auto !important; }
body.pscc-active .mp-checkout-custom-card-row { margin-bottom: 12px !important; }
body.pscc-active .mp-card-holder-name,
body.pscc-active .mp-custom-checkout-select-input { min-height: 48px !important; border-radius: 8px !important; }

body.pscc-active .woocommerce-checkout-payment .place-order {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

body.pscc-active #place_order,
body.pscc-active button#place_order,
body.pscc-active .woocommerce #payment #place_order {
    width: 100% !important;
    min-height: 55px !important;
    margin: 8px 0 0 !important;
    padding: 13px 18px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: var(--pscc-accent) !important;
    color: #fff !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    cursor: pointer !important;
}
body.pscc-active #place_order:hover { opacity: .92 !important; box-shadow: 0 8px 20px rgba(0,0,0,.11) !important; }
body.pscc-active #place_order:disabled { opacity: .45 !important; cursor: not-allowed !important; }

.pscc-security-notes {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px 12px !important;
    margin-top: 11px !important;
    color: #73736e !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
}

body.pscc-active .woocommerce-privacy-policy-text,
body.pscc-active .woocommerce-terms-and-conditions-wrapper {
    color: #757570 !important;
    font-size: 10.5px !important;
    line-height: 1.5 !important;
}

/* Resumo lateral */

body.pscc-active .pscc-summary-card {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
}
body.pscc-active .pscc-summary-card .pscc-review-table { width: 100% !important; }

body.pscc-active #order_review_heading { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; }

.pscc-summary-title {
    margin: 0 0 8px !important;
    padding: 0 0 15px !important;
    border-bottom: 1px solid #ecece7 !important;
}

body.pscc-active table.pscc-review-table,
body.pscc-active table.woocommerce-checkout-review-order-table {
    display: table !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-collapse: collapse !important;
    table-layout: auto !important;
    background: transparent !important;
}

body.pscc-active table.pscc-review-table thead { display: none !important; }
body.pscc-active table.pscc-review-table tbody,
body.pscc-active table.pscc-review-table tfoot { display: table-row-group !important; width: 100% !important; }
body.pscc-active table.pscc-review-table tr { display: table-row !important; width: auto !important; }
body.pscc-active table.pscc-review-table th,
body.pscc-active table.pscc-review-table td {
    display: table-cell !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 11px 0 !important;
    border: 0 !important;
    color: var(--pscc-text) !important;
    font-family: inherit !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    vertical-align: top !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    writing-mode: horizontal-tb !important;
}

body.pscc-active table.pscc-review-table tr.cart_item td {
    padding-top: 13px !important;
    padding-bottom: 15px !important;
    border-bottom: 1px solid #ededE8 !important;
}

body.pscc-active table.pscc-review-table td.product-name { width: auto !important; padding-right: 12px !important; }
body.pscc-active table.pscc-review-table td.product-total { width: 86px !important; text-align: right !important; white-space: nowrap !important; font-weight: 700 !important; }

.pscc-product-row {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
}

.pscc-product-thumb {
    display: block !important;
    flex: 0 0 52px !important;
    width: 52px !important;
    height: 52px !important;
    overflow: hidden !important;
    border: 1px solid #e5e5df !important;
    border-radius: 8px !important;
    background: #fff !important;
}
.pscc-product-thumb img { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover !important; margin: 0 !important; }

.pscc-product-copy {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
}
.pscc-product-title {
    display: block !important;
    color: var(--pscc-text) !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 650 !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}
.pscc-product-copy .product-quantity { display: inline-block !important; margin-top: 3px !important; color: var(--pscc-muted) !important; font-size: 11px !important; font-weight: 600 !important; }
.pscc-product-meta { display: block !important; margin-top: 4px !important; color: #858580 !important; font-size: 10px !important; line-height: 1.35 !important; }
.pscc-product-meta dl.variation { margin: 0 !important; }

body.pscc-active table.pscc-review-table tfoot tr { border-top: 1px solid #efefea !important; }
body.pscc-active table.pscc-review-table tfoot th { width: 42% !important; padding-right: 10px !important; font-weight: 600 !important; color: #565651 !important; }
body.pscc-active table.pscc-review-table tfoot td { width: 58% !important; text-align: right !important; }
body.pscc-active table.pscc-review-table tfoot td .woocommerce-Price-amount { white-space: nowrap !important; }

body.pscc-active table.pscc-review-table .pscc-summary-shipping td { text-align: right !important; }
.pscc-chosen-shipping,
.pscc-shipping-pending {
    display: block !important;
    width: 100% !important;
    color: #5d5d58 !important;
    font-size: 10.5px !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}
.pscc-chosen-shipping .woocommerce-Price-amount { display: block !important; margin-top: 3px !important; color: var(--pscc-text) !important; font-size: 12px !important; font-weight: 700 !important; }

body.pscc-active table.pscc-review-table .order-total th,
body.pscc-active table.pscc-review-table .order-total td {
    padding-top: 15px !important;
    color: var(--pscc-text) !important;
    font-size: 16px !important;
    font-weight: 850 !important;
}
body.pscc-active table.pscc-review-table .order-total td .amount { color: var(--pscc-text) !important; font-size: 18px !important; }

/* Erros e loading */
body.pscc-active .woocommerce-error,
body.pscc-active .woocommerce-message {
    margin-bottom: 14px !important;
    padding: 12px 15px !important;
    border: 1px solid var(--pscc-border) !important;
    border-top: 1px solid var(--pscc-border) !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: none !important;
    font-size: 12px !important;
}
body.pscc-active .woocommerce-error { border-color: #efb2ae !important; background: #fff8f7 !important; }
body.pscc-active .woocommerce-error::before { color: var(--pscc-danger) !important; }
body.pscc-active .blockUI.blockOverlay { border-radius: var(--pscc-radius) !important; background: rgba(255,255,255,.68) !important; }

@media (max-width: 1020px) {
    .pscc-layout { grid-template-columns: minmax(0,1fr) 340px !important; gap: 20px !important; }
    body.pscc-active #customer_details,
    .pscc-shipping-card,
    .pscc-payment-card,
    body.pscc-active .pscc-summary-card { padding: 20px !important; }
}

@media (max-width: 820px) {
    .pscc-shell-header { align-items: flex-start; flex-direction: column; gap: 16px; }
    .pscc-progress { width: 100%; justify-content: flex-start; overflow-x: auto; padding-bottom: 2px; }
    .pscc-layout { grid-template-columns: 1fr !important; grid-template-rows: auto !important; gap: 16px !important; }
    .pscc-main { grid-column: 1 !important; grid-row: auto !important; gap: 14px !important; }
    body.pscc-active .pscc-summary-card { grid-column: 1 !important; grid-row: auto !important; position: static !important; }
    body.pscc-active .pscc-payment-card { grid-column: 1 !important; grid-row: auto !important; }
}

@media (max-width: 640px) {
    body.pscc-active .woocommerce { padding: 0 10px 36px !important; }
    .pscc-shell-header,
    .pscc-trust-bar { width: calc(100% - 20px) !important; }
    .pscc-shell-header { min-height: auto; padding-top: 17px; }
    .pscc-logo { max-width: 205px !important; max-height: 42px !important; }
    .pscc-progress { gap: 6px; }
    .pscc-progress strong { font-size: 9.5px; }
    .pscc-progress-line { width: 14px; }
    .pscc-progress span { width: 21px; height: 21px; }
    .pscc-trust-bar { justify-content: flex-start; text-align: left; font-size: 10.5px; }

    body.pscc-active #customer_details,
    .pscc-shipping-card,
    .pscc-payment-card,
    body.pscc-active .pscc-summary-card { padding: 16px !important; border-radius: 13px !important; }

    .pscc-card-heading { margin-bottom: 15px !important; }
    .pscc-card-heading p,
    .pscc-summary-title p { font-size: 11px !important; }

    body.pscc-active .woocommerce-billing-fields__field-wrapper,
    body.pscc-active .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr 1fr !important; gap: 0 10px !important; }
    body.pscc-active form.woocommerce-checkout .pscc-field-half,
    body.pscc-active form.woocommerce-checkout .pscc-field-third,
    body.pscc-active form.woocommerce-checkout .pscc-field-two-thirds { grid-column: span 1 !important; }
    body.pscc-active form.woocommerce-checkout .pscc-field-full { grid-column: 1 / -1 !important; }

    body.pscc-active form.woocommerce-checkout input.input-text,
    body.pscc-active form.woocommerce-checkout textarea,
    body.pscc-active form.woocommerce-checkout select,
    body.pscc-active .select2-container--default .select2-selection--single { min-height: 48px !important; font-size: 16px !important; }

    .pscc-shipping-label { align-items: flex-start !important; flex-direction: column !important; gap: 3px !important; }
    .pscc-shipping-label .woocommerce-Price-amount { margin-left: 0 !important; }

    body.pscc-active table.pscc-review-table td.product-total { width: 72px !important; font-size: 11px !important; }
    .pscc-product-thumb { flex-basis: 46px !important; width: 46px !important; height: 46px !important; }
}

@media (max-width: 430px) {
    body.pscc-active .woocommerce-billing-fields__field-wrapper,
    body.pscc-active .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr !important; }
    body.pscc-active form.woocommerce-checkout .pscc-field-half,
    body.pscc-active form.woocommerce-checkout .pscc-field-third,
    body.pscc-active form.woocommerce-checkout .pscc-field-two-thirds,
    body.pscc-active form.woocommerce-checkout .pscc-field-full { grid-column: 1 !important; }
}
