/* ==========================================================
   ESTILO ALTA CONVERSÃO - CARTPANDA / SHOPIFY STYLE
   ========================================================== */

:root {
    --checkout-blue: #0055ff;
    --checkout-blue-hover: #0044cc;
    --checkout-gray-bg: #f7f8f9;
    --checkout-border: #e6e6e6;
    --checkout-text: #333333;
    --checkout-text-light: #707070;
    --checkout-white: #ffffff;
    --checkout-radius: 6px;
}

/* Ocultar título da página de checkout */
body.checkout-custom-page .entry-title,
body.checkout-custom-page .page-title,
body.checkout-custom-page h1.entry-title,
body.checkout-custom-page h1.page-title,
body.checkout-custom-page .post-title,
body.checkout-custom-page h1.post-title,
body.checkout-custom-page .woocommerce-checkout .entry-title,
body.checkout-custom-page .woocommerce-checkout .page-title,
body.checkout-custom-page .woocommerce-checkout h1,
body.checkout-custom-page #main-content .entry-title,
body.checkout-custom-page #main-content .page-title,
body.checkout-custom-page #main-content h1.entry-title,
body.checkout-custom-page #main-content h1.page-title,
body.checkout-custom-page article .entry-title,
body.checkout-custom-page article .page-title,
body.checkout-custom-page article h1,
body.checkout-custom-page .et_pb_post_title,
body.checkout-custom-page .et_pb_page_title,
.checkout-custom-wrapper .entry-title,
.checkout-custom-wrapper .page-title,
.checkout-custom-wrapper h1.entry-title,
.checkout-custom-wrapper h1.page-title {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    clip: rect(0, 0, 0, 0) !important;
}

/* Remover espaçamento do entry-header no checkout */
body.checkout-custom-page .entry-header,
.checkout-custom-wrapper .entry-header {
    margin: 0 !important;
    padding: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    height: 0 !important;
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* ==========================================================
   RESET COMPLETO DO SELECT2 - DA RAIZ
   ========================================================== */
.select2-container,
.select2-container--default,
.select2-container--open {
    width: 100% !important;
    font-family: inherit !important;
}

.select2-selection,
.select2-selection--single {
    width: 100% !important;
    height: 50px !important;
    border: 1px solid var(--checkout-border) !important;
    border-radius: var(--checkout-radius) !important;
    font-size: 14px !important;
    background: var(--checkout-white) !important;
    background-color: var(--checkout-white) !important;
    color: #333 !important;
    font-family: inherit !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    display: block !important;
    cursor: pointer !important;
    transition: border-color 0.2s !important;
    box-shadow: none !important;
    outline: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    position: relative !important;
}

.select2-selection__rendered {
    padding: 0 40px 0 15px !important;
    line-height: 50px !important;
    height: 50px !important;
    display: block !important;
    width: 100% !important;
    color: #333 !important;
    font-size: 14px !important;
    font-weight: normal !important;
    text-align: left !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding-left: 15px !important;
    padding-right: 40px !important;
}

.select2-selection__arrow {
    position: absolute !important;
    top: 0 !important;
    right: 15px !important;
    width: 12px !important;
    height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: none !important;
    border: none !important;
}

.select2-selection__arrow b {
    border: none !important;
    width: 12px !important;
    height: 12px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 12px !important;
    margin: 0 !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 50px !important;
    right: 15px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 12px !important;
    width: 12px !important;
    height: 12px !important;
    margin: 0 !important;
    top: auto !important;
    left: auto !important;
    position: static !important;
    transform: none !important;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    transform: rotate(180deg) !important;
}

.select2-container--default .select2-selection--single {
    height: 50px !important;
    border: 1px solid var(--checkout-border) !important;
    border-radius: var(--checkout-radius) !important;
    background: var(--checkout-white) !important;
}

/* Remover bordas de todos os elementos internos */
.select2-container--default .select2-selection--single .select2-selection__rendered {
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
}

.select2-selection__rendered * {
    border: none !important;
}

.select2-container--default .select2-selection--single:focus,
.select2-container--default .select2-selection--single:hover,
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
    border-color: var(--checkout-blue) !important;
    outline: none !important;
    box-shadow: none !important;
}

.select2-dropdown {
    border: 1px solid var(--checkout-border) !important;
    border-radius: var(--checkout-radius) !important;
    background: var(--checkout-white) !important;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1) !important;
    margin-top: 4px !important;
}

.select2-results__option {
    padding: 12px 15px !important;
    font-size: 14px !important;
    color: #333 !important;
}

.select2-results__option--highlighted {
    background: #f0f7ff !important;
    color: var(--checkout-blue) !important;
}

.select2-results__option[aria-selected="true"] {
    background: #f0f7ff !important;
    color: var(--checkout-blue) !important;
    font-weight: 600 !important;
}

body.checkout-custom-page {
    background: #F7F8F9 !important;
    background: linear-gradient(90deg, rgba(247, 248, 249, 1) 51%, rgba(255, 255, 255, 1) 100%) !important;
    overflow-x: hidden !important;
    min-height: 100vh !important;
}

/* Select2 no contexto do checkout - máxima especificidade */
body.checkout-custom-page .checkout-custom-wrapper .select2-container,
body.checkout-custom-page .checkout-custom-wrapper .select2-container--default,
body.checkout-custom-page .checkout-sections-flow .select2-container,
body.checkout-custom-page .location-row .select2-container {
    width: 100% !important;
}

body.checkout-custom-page .checkout-custom-wrapper .select2-selection,
body.checkout-custom-page .checkout-custom-wrapper .select2-selection--single,
body.checkout-custom-page .checkout-sections-flow .select2-selection,
body.checkout-custom-page .location-row .select2-selection {
    height: 50px !important;
    border: 1px solid var(--checkout-border) !important;
    border-radius: var(--checkout-radius) !important;
    background: var(--checkout-white) !important;
}

body.checkout-custom-page .checkout-custom-wrapper .select2-selection__rendered,
body.checkout-custom-page .checkout-sections-flow .select2-selection__rendered,
body.checkout-custom-page .location-row .select2-selection__rendered {
    line-height: 50px !important;
    height: 50px !important;
    padding: 0 40px 0 15px !important;
    color: #333 !important;
    font-size: 14px !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Garantir que nenhum elemento interno tenha borda */
.select2-selection__rendered,
.select2-selection__rendered *,
.select2-selection--single .select2-selection__rendered,
.select2-container--default .select2-selection--single .select2-selection__rendered {
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: none !important;
}

body.checkout-custom-page #page-container,
body.checkout-custom-page #main-content,
body.checkout-custom-page #main-content .container,
body.checkout-custom-page #main-content #left-area,
body.checkout-custom-page #main-content .et_pb_section,
body.checkout-custom-page #main-content .et_pb_row,
body.checkout-custom-page #main-content .et_pb_column,
body.checkout-custom-page #main-content .entry-content,
body.checkout-custom-page #main-content article {
    background: #F7F8F9 !important;
    background: linear-gradient(90deg, rgba(247, 248, 249, 1) 51%, rgba(255, 255, 255, 1) 100%) !important;
    border: none !important;
    box-shadow: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    min-height: 100vh !important;
}

/* Garantir que o Header e Footer originais do Divi não sejam afetados */
body.checkout-custom-page #main-header,
body.checkout-custom-page #main-header *,
body.checkout-custom-page #main-footer,
body.checkout-custom-page #main-footer *,
body.checkout-custom-page header,
body.checkout-custom-page footer {
    background-color: initial;
    background: initial;
}

/* Forçar o conteúdo a ocupar a largura total antes do wrapper limitar */
body.checkout-custom-page #main-content .container::before {
    display: none !important;
}

/* Remover paddings e larguras máximas do tema que comprimem o layout apenas no conteúdo */
body.checkout-custom-page #page-container {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body.checkout-custom-page #main-content .container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
}

.checkout-custom-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    min-height: 100vh !important;
    position: relative !important;
    background: transparent !important;
    display: block !important;
    box-sizing: border-box !important;
}

.checkout-main-content {
    display: grid !important;
    grid-template-columns: 65% 35% !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    min-height: 100vh !important;
    align-items: stretch !important;
    background: transparent !important;
}

/* Coluna da Esquerda (Formulário) */
.checkout-container-wrapper {
    display: flex !important;
    justify-content: flex-end !important;
    padding: 60px 80px 60px 160px !important;
    min-height: 100vh !important;
    height: 100% !important;
}

.checkout-sections-flow {
    width: 100% !important;
    max-width: 600px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 40px !important;
}

/* Header com Logo e Botão Voltar */
.checkout-header-top {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 0 !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid var(--checkout-border) !important;
}

/* Stepper de Etapas com Barrinhas */
.checkout-steps-stepper {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 0 !important;
    padding: 20px 0 0 0 !important;
    position: relative !important;
    gap: 12px !important;
}

.step-item {
    position: relative !important;
    z-index: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    flex: 1 !important;
    gap: 10px !important;
}

.step-bar {
    width: 100% !important;
    height: 4px !important;
    background: var(--checkout-border) !important;
    border-radius: 2px !important;
    transition: all 0.3s ease !important;
    position: relative !important;
}

.step-item.active .step-bar {
    background: var(--checkout-blue) !important;
}

.step-item.completed .step-bar {
    background: var(--checkout-blue) !important;
}

/* Na página order-pay, todos os steps devem estar azuis */
body.checkout-order-pay-page .checkout-steps-stepper .step-item .step-bar,
body.checkout-order-pay-page .step-item .step-bar {
    background: var(--checkout-blue) !important;
}

.step-label {
    display: none !important;
}

/* Seções do checkout - mostrar apenas a ativa */
.checkout-section {
    display: none !important;
}

.checkout-section.active {
    display: block !important;
    animation: fadeIn 0.3s ease !important;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Animação de shake para campos inválidos */
@keyframes shake {
    0%, 100% { transform: translateX(0); }
    10%, 30%, 50%, 70%, 90% { transform: translateX(-5px); }
    20%, 40%, 60%, 80% { transform: translateX(5px); }
}

.shake-animation {
    animation: shake 0.5s ease-in-out !important;
}

/* Botões de navegação */
.section-footer {
    display: flex !important;
    justify-content: space-between !important;
    margin-top: 30px !important;
    padding-top: 20px !important;
    border-top: 1px solid var(--checkout-border) !important;
}

.btn-prev-step,
.btn-next-step {
    padding: 12px 24px !important;
    border-radius: var(--checkout-radius) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    border: 1px solid var(--checkout-border) !important;
    background: var(--checkout-white) !important;
    color: var(--checkout-text) !important;
}

.btn-next-step {
    background: var(--checkout-blue) !important;
    color: white !important;
    border-color: var(--checkout-blue) !important;
    margin-left: auto !important;
}

.btn-prev-step:hover {
    border-color: var(--checkout-blue) !important;
    color: var(--checkout-blue) !important;
}

.btn-next-step:hover {
    background: var(--checkout-blue-hover) !important;
}

/* Seta dentro da logo - sempre visível */
.checkout-logo .checkout-back-button {
    position: absolute !important;
    left: -40px !important;
    top: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 30px !important;
    height: 30px !important;
    color: var(--checkout-text) !important;
    text-decoration: none !important;
    border: 1px solid var(--checkout-border) !important;
    border-radius: 50% !important;
    background: transparent !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    flex-shrink: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(-50%) translateX(0) scale(1) !important;
    pointer-events: auto !important;
    z-index: 10 !important;
}

.checkout-logo .checkout-back-button:hover {
    color: var(--checkout-blue) !important;
    border-color: var(--checkout-blue) !important;
    background: rgba(0, 85, 255, 0.05) !important;
}

.checkout-back-button i,
.checkout-back-button i.fas,
.checkout-back-button i.fa,
.checkout-back-button .fa-arrow-left {
    font-size: 16px !important;
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Pro", "FontAwesome" !important;
    font-weight: 900 !important;
    font-style: normal !important;
    font-variant: normal !important;
    text-rendering: auto !important;
    line-height: 1 !important;
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

.checkout-back-button i:before,
.checkout-back-button .fa-arrow-left:before,
.checkout-back-button i.fa-arrow-left:before,
.checkout-back-button i.fas.fa-arrow-left:before {
    font-family: "Font Awesome 6 Free", "FontAwesome" !important;
    font-weight: 900 !important;
    font-style: normal !important;
    content: "\f060" !important;
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Garantir que todos os ícones Font Awesome apareçam */
body.checkout-custom-page .checkout-custom-wrapper i[class*="fa-"],
body.checkout-custom-page .checkout-custom-wrapper i.fas,
body.checkout-custom-page .checkout-custom-wrapper i.fa {
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Pro", "FontAwesome" !important;
    font-weight: 900 !important;
    font-style: normal !important;
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

.checkout-logo {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    text-decoration: none !important;
    transition: opacity 0.2s ease !important;
    position: relative !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}

.checkout-logo:hover {
    opacity: 0.9 !important;
}

.checkout-logo img {
    max-height: 25px !important;
    width: auto !important;
    object-fit: contain !important;
    display: block !important;
    transition: transform 0.3s ease !important;
}

.checkout-logo:hover img {
    transform: translateX(5px) !important;
}

/* Ocultar "| Finalizar Compra" no desktop */
.checkout-page-title-mobile {
    display: none !important;
}


.checkout-section {
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    border: none !important;
}

.section-header {
    margin-bottom: 20px !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 15px !important;
}

.section-header:not(:has(.section-back-button)) {
    display: block !important;
}

.section-back-button {
    flex-shrink: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 30px !important;
    height: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid var(--checkout-border) !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: var(--checkout-text) !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.section-back-button:hover {
    color: var(--checkout-blue) !important;
    border-color: var(--checkout-blue) !important;
    background: rgba(0, 85, 255, 0.05) !important;
}

.section-back-button i {
    font-size: 14px !important;
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}

.section-header-content {
    flex: 1 !important;
    display: block !important;
}

.section-header h2 {
    margin: 0 0 5px 0 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #222 !important;
    display: block !important;
    width: 100% !important;
}

.section-header p {
    margin: 0 !important;
    font-size: 14px !important;
    color: var(--checkout-text-light) !important;
    display: block !important;
    width: 100% !important;
}

/* Grid de Campos */
.fields-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
}

.fields-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 15px !important;
}

.address-row {
    display: grid !important;
    grid-template-columns: 2fr 1fr !important;
    gap: 15px !important;
}

.location-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 15px !important;
}

/* Reset completo de estilos de select de outros plugins e temas */
body.checkout-custom-page .checkout-custom-wrapper .form-row select *,
body.checkout-custom-page .checkout-custom-wrapper select *,
body.checkout-custom-page .checkout-sections-flow select *,
body.checkout-custom-page .location-row select * {
    all: unset !important;
}

/* Garantir que nenhum plugin ou tema interfira nos selects */
body.checkout-custom-page .checkout-custom-wrapper .form-row select,
body.checkout-custom-page .checkout-custom-wrapper .woocommerce-checkout .form-row select,
body.checkout-custom-page .checkout-sections-flow .form-row select,
body.checkout-custom-page .location-row select {
    /* Resetar qualquer estilo do Divi */
    font-family: inherit !important;
    font-weight: normal !important;
    font-style: normal !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    text-decoration: none !important;
    /* Resetar qualquer estilo do WooCommerce */
    background-color: var(--checkout-white) !important;
    background-clip: padding-box !important;
    /* Resetar qualquer estilo de outros plugins */
    border-style: solid !important;
    border-width: 1px !important;
    border-color: var(--checkout-border) !important;
}

/* Inputs Estilizados */
.checkout-custom-wrapper .form-row {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.checkout-custom-wrapper .form-row label {
    display: none !important; /* Usar placeholders como na imagem */
}

/* Mensagem de erro CPF/CNPJ como badge */
.checkout-custom-wrapper .form-row .woocommerce-error.cpf-cnpj-error {
    display: inline-block !important;
    color: #e74c3c !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    margin-top: 8px !important;
    margin-bottom: 0 !important;
    padding: 6px 12px !important;
    background: rgba(231, 76, 60, 0.1) !important;
    border: 1px solid rgba(231, 76, 60, 0.3) !important;
    border-radius: 6px !important;
    line-height: 1.4 !important;
}

.checkout-custom-wrapper .form-row.woocommerce-invalid label.error-label {
    display: none !important;
}

.checkout-custom-wrapper .form-row input,
.checkout-custom-wrapper .form-row select {
    width: 100% !important;
    height: 50px !important;
    padding: 0 15px !important;
    border: 1px solid var(--checkout-border) !important;
    border-radius: var(--checkout-radius) !important;
    font-size: 14px !important;
    background: var(--checkout-white) !important;
    transition: border-color 0.2s !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    color: #333 !important;
    font-family: inherit !important;
}

/* Remover qualquer ícone do input do CEP */
.checkout-custom-wrapper .form-row input[name="billing_postcode"]::before,
.checkout-custom-wrapper .form-row input#billing_postcode::before,
.checkout-custom-wrapper .form-row input[type="text"][name*="postcode"]::before,
.checkout-custom-wrapper .form-row label[for="billing_postcode"]::before,
.checkout-custom-wrapper .form-row:has(input[name="billing_postcode"]) label::before,
.checkout-custom-wrapper .form-row:has(input#billing_postcode) label::before {
    content: none !important;
    display: none !important;
}

/* Regras ULTRA ESPECÍFICAS para select - garantir que nada interfira */
body.checkout-custom-page .checkout-custom-wrapper .form-row select,
body.checkout-custom-page .checkout-custom-wrapper .woocommerce-checkout .form-row select,
body.checkout-custom-page .checkout-custom-wrapper .form-row select.select,
body.checkout-custom-page .checkout-custom-wrapper select,
body.checkout-custom-page .checkout-sections-flow .form-row select,
body.checkout-custom-page .checkout-sections-flow select,
body.checkout-custom-page .location-row select,
body.checkout-custom-page .location-row .form-row select,
.checkout-custom-wrapper .form-row select,
.checkout-custom-wrapper .woocommerce-checkout .form-row select,
.checkout-custom-wrapper .form-row select.select,
.checkout-custom-wrapper select,
.checkout-sections-flow .form-row select,
.checkout-sections-flow select,
.location-row select,
.location-row .form-row select {
    width: 100% !important;
    height: 50px !important;
    padding: 0 40px 0 15px !important;
    border: 1px solid var(--checkout-border) !important;
    border-radius: var(--checkout-radius) !important;
    font-size: 14px !important;
    background: var(--checkout-white) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 15px center !important;
    background-size: 12px !important;
    transition: border-color 0.2s !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    -ms-appearance: none !important;
    color: #333 !important;
    font-family: inherit !important;
    cursor: pointer !important;
    box-shadow: none !important;
    outline: none !important;
    line-height: 50px !important;
    box-sizing: border-box !important;
    text-indent: 0 !important;
    text-overflow: '' !important;
    margin: 0 !important;
    display: block !important;
    float: none !important;
}

body.checkout-custom-page .checkout-custom-wrapper .form-row input:focus,
body.checkout-custom-page .checkout-custom-wrapper .form-row select:focus,
body.checkout-custom-page .checkout-custom-wrapper .woocommerce-checkout .form-row select:focus,
body.checkout-custom-page .checkout-sections-flow .form-row select:focus,
body.checkout-custom-page .location-row select:focus,
.checkout-custom-wrapper .form-row input:focus,
.checkout-custom-wrapper .form-row select:focus,
.checkout-custom-wrapper .woocommerce-checkout .form-row select:focus,
.checkout-sections-flow .form-row select:focus,
.location-row select:focus {
    border-color: var(--checkout-blue) !important;
    outline: none !important;
    box-shadow: none !important;
}

body.checkout-custom-page .checkout-custom-wrapper .form-row select:hover,
body.checkout-custom-page .checkout-custom-wrapper .woocommerce-checkout .form-row select:hover,
body.checkout-custom-page .checkout-sections-flow .form-row select:hover,
body.checkout-custom-page .location-row select:hover,
.checkout-custom-wrapper .form-row select:hover,
.checkout-custom-wrapper .woocommerce-checkout .form-row select:hover,
.checkout-sections-flow .form-row select:hover,
.location-row select:hover {
    border-color: var(--checkout-blue) !important;
}

.checkout-custom-wrapper .form-row.woocommerce-invalid input {
    border-color: #e74c3c !important;
}

/* Loader no campo de CEP */
.checkout-custom-wrapper .form-row.cep-searching {
    position: relative !important;
}

.checkout-custom-wrapper .form-row input.cep-loading {
    padding-right: 45px !important;
}

/* Loader spinner dentro do input de CEP - centralizado verticalmente */
.checkout-custom-wrapper .form-row.cep-searching::after {
    content: '' !important;
    position: absolute !important;
    right: 15px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 16px !important;
    height: 16px !important;
    border: 2px solid var(--checkout-border) !important;
    border-top-color: var(--checkout-blue) !important;
    border-radius: 50% !important;
    animation: cep-spin 0.8s linear infinite !important;
    pointer-events: none !important;
    z-index: 10 !important;
    display: block !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}

@keyframes cep-spin {
    from {
        transform: translateY(-50%) rotate(0deg) !important;
    }
    to {
        transform: translateY(-50%) rotate(360deg) !important;
    }
}

/* Garantir que o loader apareça acima do input */
.checkout-custom-wrapper .form-row.cep-searching input {
    position: relative !important;
    z-index: 1 !important;
}

/* Ajuste para garantir que o loader fique alinhado com o input de 50px */
.checkout-custom-wrapper .form-row.cep-searching input[type="text"],
.checkout-custom-wrapper .form-row.cep-searching input[type="tel"] {
    padding-right: 45px !important;
}

/* Estilização de notificações e alertas do WooCommerce */
.checkout-custom-wrapper .woocommerce-notices-wrapper {
    margin: 20px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    width: 100% !important;
    max-width: 100% !important;
}

.checkout-custom-wrapper .woocommerce-notices-wrapper ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.checkout-custom-wrapper .woocommerce-notices-wrapper li {
    margin: 0 0 15px 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.checkout-custom-wrapper .woocommerce-error,
.checkout-custom-wrapper .woocommerce-message,
.checkout-custom-wrapper .woocommerce-info {
    background: #fff3cd !important;
    border: 1px solid #ffc107 !important;
    border-left: 4px solid #ffc107 !important;
    border-radius: var(--checkout-radius) !important;
    padding: 15px 20px !important;
    margin: 0 0 15px 0 !important;
    color: #856404 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
    list-style: none !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.checkout-custom-wrapper .woocommerce-error {
    background: #f8d7da !important;
    border-color: #dc3545 !important;
    border-left-color: #dc3545 !important;
    color: #721c24 !important;
}

.checkout-custom-wrapper .woocommerce-error::before {
    content: "" !important;
    margin-right: 0 !important;
}

.checkout-custom-wrapper .woocommerce-message {
    background: #d4edda !important;
    border-color: #28a745 !important;
    border-left-color: #28a745 !important;
    color: #155724 !important;
}

.checkout-custom-wrapper .woocommerce-message::before {
    content: "" !important;
    margin-right: 0 !important;
}

.checkout-custom-wrapper .woocommerce-info {
    background: #d1ecf1 !important;
    border-color: #17a2b8 !important;
    border-left-color: #17a2b8 !important;
    color: #0c5460 !important;
}

.checkout-custom-wrapper .woocommerce-info::before {
    content: "" !important;
    margin-right: 0 !important;
}

.checkout-custom-wrapper .woocommerce-error li,
.checkout-custom-wrapper .woocommerce-message li,
.checkout-custom-wrapper .woocommerce-info li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: block !important;
}

.checkout-custom-wrapper .form-row .woocommerce-error {
    display: inline-block !important;
    color: #e74c3c !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.checkout-custom-wrapper .form-row.woocommerce-invalid label.error-label .woocommerce-error {
    display: inline-block !important;
    color: #e74c3c !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    margin-left: 0 !important;
}

/* Seção de Pagamento - Estilo Lista Vertical / Cartpanda */
.woocommerce-checkout-payment {
    background: transparent !important;
    padding: 0 !important;
    margin-top: 25px !important;
}

.wc_payment_methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.wc_payment_method {
    border: 1px solid var(--checkout-border) !important;
    border-radius: 10px !important;
    margin: 0 !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative !important;
    background: var(--checkout-white) !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    width: 100% !important;
}

/* Quando um item é selecionado, apenas destaca visualmente */
.wc_payment_method:has(input[type="radio"]:checked) {
    border-color: var(--checkout-blue) !important;
    background: rgba(0, 85, 255, 0.02) !important;
    box-shadow: 0 4px 12px rgba(0, 85, 255, 0.08) !important;
    z-index: 10 !important;
}

/* Esconder COMPLETAMENTE o rádio padrão e qualquer pseudo-elemento dele */
.wc_payment_method input[type="radio"],
.wc_payment_method input[type="radio"]::before,
.wc_payment_method input[type="radio"]::after {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    position: absolute !important;
    pointer-events: none !important;
}

.wc_payment_method label {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 18px 20px !important;
    cursor: pointer !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    color: var(--checkout-text) !important;
    width: 100% !important;
    position: relative !important;
    margin: 0 !important;
    transition: all 0.2s ease !important;
    text-align: left !important;
    min-height: 60px !important;
    gap: 12px !important;
    z-index: 1 !important;
    background: transparent !important;
}

/* Garantir que o ícone (::before) fique à esquerda e o texto à direita */
.wc_payment_method label::before {
    order: -1 !important; /* Ícone antes do texto */
    flex-shrink: 0 !important;
    margin-right: 0 !important;
}

/* Ícone à esquerda do título baseado no método de pagamento */
.wc_payment_method label::before {
    content: '\f1f0' !important; /* fa-credit-card - Ícone padrão */
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    font-size: 20px !important;
    color: var(--checkout-text) !important;
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    flex-shrink: 0 !important;
    filter: grayscale(1) opacity(0.6) !important;
    transition: all 0.3s ease !important;
    line-height: 24px !important;
}

/* Ícones específicos para cada método de pagamento */

/* PIX Básico - Usar imagem ao invés de ícone */
.payment_method_pix label::before,
.payment_method_integration_rede_pix label::before,
[class*="pix"] label::before,
li[class*="pix"] label::before,
.has-pix-icon label::before {
    content: '' !important;
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    background-image: url('/wp-content/uploads/2026/01/logo-pix-520x520-1.png') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    filter: grayscale(1) opacity(0.6) brightness(0.5) !important;
    flex-shrink: 0 !important;
    transition: all 0.3s ease !important;
    position: relative !important;
}

/* Boleto Bancário - fa-solid fa-barcode */
.payment_method_boleto label::before,
[class*="boleto"] label::before,
[class*="bank_slip"] label::before,
.has-boleto-icon label::before {
    content: '\f02a' !important; /* fa-solid fa-barcode */
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    font-size: 20px !important;
    color: var(--checkout-text) !important;
    background: none !important;
    filter: grayscale(1) opacity(0.6) !important;
}

/* Cartão de Crédito - fa-solid fa-credit-card */
.payment_method_credit_card label::before,
.payment_method_stripe label::before,
.payment_method_stripe_cc label::before,
[class*="credit"] label::before,
[class*="credito"] label::before,
.has-credit-icon label::before {
    content: '\f09d' !important; /* fa-solid fa-credit-card */
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    font-size: 20px !important;
    color: var(--checkout-text) !important;
    background: none !important;
    filter: grayscale(1) opacity(0.6) !important;
}

/* Cartão de Débito - fa-regular fa-credit-card */
.payment_method_debit_card label::before,
[class*="debit"] label::before,
[class*="debito"] label::before,
.has-debit-icon label::before {
    content: '\f09d' !important; /* fa-regular fa-credit-card */
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 400 !important;
    font-size: 20px !important;
    color: var(--checkout-text) !important;
    background: none !important;
    filter: grayscale(1) opacity(0.6) !important;
}

/* Pagamento na Entrega (COD) - fa-solid fa-money-bill */
.payment_method_cod label::before,
[class*="cod"] label::before,
.has-cod-icon label::before {
    content: '\f0d6' !important; /* fa-solid fa-money-bill */
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    font-size: 20px !important;
    color: var(--checkout-text) !important;
    background: none !important;
    filter: grayscale(1) opacity(0.6) !important;
}

/* Quando selecionado, o ícone fica colorido */
.wc_payment_method:has(input[type="radio"]:checked) label::before {
    filter: grayscale(0) opacity(1) !important;
    color: var(--checkout-blue) !important;
}

/* Quando PIX está selecionado, aplicar filtro azul na imagem */
.wc_payment_method:has(input[type="radio"]:checked).has-pix-icon label::before,
.wc_payment_method:has(input[type="radio"]:checked)[class*="pix"] label::before,
.wc_payment_method:has(input[type="radio"]:checked).payment_method_pix label::before {
    filter: grayscale(0) opacity(1) brightness(0) saturate(100%) invert(27%) sepia(100%) saturate(7500%) hue-rotate(220deg) brightness(100%) contrast(100%) !important;
}

/* Remover ícones padrão das imagens se houver */
.wc_payment_method label img,
.wc_payment_method label > img,
.wc_payment_method label img[src],
.wc_payment_method label img[alt],
.wc_payment_method label img[class],
.wc_payment_method label img[width],
.wc_payment_method label img[height],
.wc_payment_method label:has(img) img,
.wc_payment_method.payment_method_boleto label img,
.wc_payment_method[class*="boleto"] label img,
.wc_payment_method.has-boleto-icon label img {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    max-width: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    position: absolute !important;
    left: -9999px !important;
}

/* Checkmark no canto superior direito do card quando selecionado */
.wc_payment_method:has(input[type="radio"]:checked)::after {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    content: '\f00c' !important; /* fa-check */
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    font-size: 12px !important;
    color: white !important;
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    width: 24px !important;
    height: 24px !important;
    background: var(--checkout-blue) !important;
    border-radius: 50% !important;
    z-index: 20 !important;
    box-shadow: 0 2px 6px rgba(0, 85, 255, 0.3) !important;
}

/* Ajustar o box de pagamento (detalhes/instruções) - aparece abaixo do label */
.wc_payment_method .payment_box {
    background: #f7f9fc !important;
    padding: 20px !important;
    border-top: 1px solid rgba(0, 85, 255, 0.05) !important;
    font-size: 14px !important;
    color: var(--checkout-text-light) !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    width: 100% !important;
    display: none;
    animation: slideDown 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    border-radius: 0 0 10px 10px !important;
}

/* Remover borda do formulário de pagamento Rede */
#rede-credit-payment-form,
#rede-debit-payment-form,
.rede-payment-form,
fieldset.rede-payment-form {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
}

/* Ocultar campo CPF/CNPJ do boleto quando tiver valor válido (preenchido automaticamente) */
#fiscal-itau-boleto:not(:empty):valid,
#fiscal-itau-boleto[value]:not([value=""]),
#fiscal-itau-boleto:not([value=""]) {
    /* O campo será ocultado via JavaScript quando tiver valor válido */
}

/* Ocultar label e container do CPF/CNPJ do boleto quando o campo tiver valor */
#tela-boleto-itau p.form-row:has(#fiscal-itau-boleto[value]:not([value=""])) {
    display: none !important;
}

#tela-boleto-itau label:has(+ #fiscal-itau-boleto[value]:not([value=""])) {
    display: none !important;
}

/* Ocultar via JavaScript quando tiver valor válido */
#tela-boleto-itau .boleto-cpf-hidden,
#tela-boleto-itau .boleto-cpf-hidden * {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* Remover a seta */
.wc_payment_method .payment_box::before {
    display: none !important;
}

.wc_payment_method input[type="radio"]:checked ~ .payment_box {
    display: block !important;
}

/* Remover ícones de cartão de crédito dentro do payment_box */
.wc_payment_method .payment_box input[type="text"],
.wc_payment_method .payment_box input[type="tel"],
.wc_payment_method .payment_box input[type="number"],
.wc_payment_method .payment_box .wc-credit-card-form-card-number,
.wc_payment_method .payment_box .wc-debit-card-form-card-number,
.wc_payment_method .payment_box input.card-number,
.wc_payment_method .payment_box input[name*="card"],
.wc_payment_method .payment_box input[id*="card"],
.wc_payment_method .payment_box input[name*="number"],
.wc_payment_method .payment_box input[id*="number"] {
    background-image: none !important;
    background-repeat: no-repeat !important;
    background-position: unset !important;
    background-size: unset !important;
    padding-right: 15px !important;
}

/* Remover ícones SVG e imagens dentro do payment_box */
.wc_payment_method .payment_box img,
.wc_payment_method .payment_box svg,
.wc_payment_method .payment_box .card-icons,
.wc_payment_method .payment_box .payment-method-icons,
.wc_payment_method .payment_box .card-brand-icons,
.wc_payment_method .payment_box .payment-method-description img,
.wc_payment_method .payment_box .payment-method-description svg,
.wc_payment_method .payment_box #logo-rede,
.wc_payment_method .payment_box .icon-rede-input {
    display: none !important;
}

/* CORREÇÃO: Garantir que a animação do cartão Rede seja exibida */
.wc_payment_method .payment_box #rede-card-animation,
.wc_payment_method .payment_box #rede-debit-card-animation,
.wc_payment_method .payment_box #maxipago-card-animation,
.wc_payment_method .payment_box #maxipagoDebitCardAnimation {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 10px 0 25px !important;
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 200px !important;
}

/* Garantir que os elementos internos da animação do cartão sejam visíveis */
.wc_payment_method .payment_box #rede-card-animation .jp-card,
.wc_payment_method .payment_box #rede-debit-card-animation .jp-card,
.wc_payment_method .payment_box #maxipago-card-animation .jp-card,
.wc_payment_method .payment_box #maxipagoDebitCardAnimation .jp-card {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Garantir que o wrapper da animação seja visível */
.wc_payment_method .payment_box .card-wrapper.card-animation {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Remover ícones de bandeiras específicas (visa, mastercard, etc.) */
.wc_payment_method .payment_box input.visa,
.wc_payment_method .payment_box input.mastercard,
.wc_payment_method .payment_box input.amex,
.wc_payment_method .payment_box input.dinersclub,
.wc_payment_method .payment_box input.discover,
.wc_payment_method .payment_box input.jcb,
.wc_payment_method .payment_box input.maestro,
.wc_payment_method .payment_box input.laser,
.wc_payment_method .payment_box input.unknown {
    background-image: none !important;
}

/* Remover qualquer elemento com background-image de cartão dentro do payment_box */
/* EXCEÇÃO: Não remover background da animação do cartão */
.wc_payment_method .payment_box *[style*="background-image"]:not(#rede-card-animation):not(#rede-debit-card-animation):not(#maxipago-card-animation):not(#maxipagoDebitCardAnimation):not(.jp-card):not(.jp-card *),
.wc_payment_method .payment_box *[style*="background:"]:not(#rede-card-animation):not(#rede-debit-card-animation):not(#maxipago-card-animation):not(#maxipagoDebitCardAnimation):not(.jp-card):not(.jp-card *) {
    background-image: none !important;
}

/* Remover ícones dos labels dentro do payment_box (campos do formulário de cartão) */
.wc_payment_method .payment_box label::before,
.wc_payment_method .payment_box .form-row label::before,
.wc_payment_method .payment_box label[for*="card"]::before,
.wc_payment_method .payment_box label[for*="holder"]::before,
.wc_payment_method .payment_box label[for*="number"]::before,
.wc_payment_method .payment_box label[for*="expiry"]::before,
.wc_payment_method .payment_box label[for*="cvc"]::before,
.wc_payment_method .payment_box label[for*="cvv"]::before,
.wc_payment_method .payment_box label[for*="installments"]::before,
.wc_payment_method .payment_box label[for*="parcelas"]::before,
.wc_payment_method .payment_box label[for*="installment"]::before,
.wc_payment_method .payment_box .form-row label::before,
.wc_payment_method .payment_box label#labels-with-icons::before {
    display: none !important;
    content: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Remover ícones SVG dentro dos labels do payment_box */
.wc_payment_method .payment_box label svg,
.wc_payment_method .payment_box label .icon-rede-input,
.wc_payment_method .payment_box label .icon-maxipago-input,
.wc_payment_method .payment_box .form-row label svg,
.wc_payment_method .payment_box .form-row label .icon-rede-input,
.wc_payment_method .payment_box .form-row label .icon-maxipago-input {
    display: none !important;
}

/* Ajustar espaçamento dos form-rows dentro do payment_box */
.wc_payment_method .payment_box .form-row {
    margin-bottom: 20px !important;
    width: 100% !important;
    display: block !important;
    clear: both !important;
    float: none !important;
    position: relative !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Estilizar labels como badges dentro dos inputs */
.wc_payment_method .payment_box label,
.wc_payment_method .payment_box .form-row label,
.wc_payment_method .payment_box label[for*="card"],
.wc_payment_method .payment_box label[for*="holder"],
.wc_payment_method .payment_box label[for*="number"],
.wc_payment_method .payment_box label[for*="expiry"],
.wc_payment_method .payment_box label[for*="cvc"],
.wc_payment_method .payment_box label[for*="cvv"],
.wc_payment_method .payment_box label[for*="installments"],
.wc_payment_method .payment_box label[for*="parcelas"],
.wc_payment_method .payment_box label[for*="installment"],
.wc_payment_method .payment_box label#labels-with-icons {
    position: absolute !important;
    top: -12px !important;
    left: 12px !important;
    display: inline-block !important;
    margin: 0 !important;
    padding: 2px 8px !important;
    font-weight: 500 !important;
    font-size: 10px !important;
    color: #666 !important;
    background: var(--checkout-white) !important;
    border: 1px solid var(--checkout-border) !important;
    border-radius: 4px !important;
    z-index: 20 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    pointer-events: none !important;
    transform: translateY(0) !important;
    max-width: calc(100% - 24px) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    height: 18px !important;
    min-height: 18px !important;
    max-height: 18px !important;
    width: auto !important;
    box-sizing: border-box !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

/* Ajustar inputs dentro do payment_box - garantir que o conteúdo não seja sobreposto */
.wc_payment_method .payment_box input[type="text"],
.wc_payment_method .payment_box input[type="tel"],
.wc_payment_method .payment_box input[type="number"],
.wc_payment_method .payment_box input[type="email"] {
    width: 100% !important;
    padding: 12px 15px !important;
    border: 1px solid var(--checkout-border) !important;
    border-radius: var(--checkout-radius) !important;
    font-size: 14px !important;
    color: var(--checkout-text) !important;
    background: var(--checkout-white) !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    height: 50px !important;
    line-height: 1.5 !important;
    margin-top: 0 !important;
    position: relative !important;
    z-index: 1 !important;
    overflow: visible !important;
}

/* Ajustar selects dentro do payment_box (Parcelas) */
.wc_payment_method .payment_box select,
.wc_payment_method .payment_box .select2-container,
.wc_payment_method .payment_box .select2-selection {
    width: 100% !important;
    padding: 12px 15px !important;
    border: 1px solid var(--checkout-border) !important;
    border-radius: var(--checkout-radius) !important;
    font-size: 14px !important;
    color: var(--checkout-text) !important;
    background: var(--checkout-white) !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    height: 50px !important;
    line-height: 1.5 !important;
    margin-top: 0 !important;
    position: relative !important;
    z-index: 1 !important;
    overflow: visible !important;
}

/* Regras específicas para o label de Parcelas */
.wc_payment_method .payment_box label[for*="installments"],
.wc_payment_method .payment_box label[for*="parcelas"],
.wc_payment_method .payment_box label[for*="installment"],
.wc_payment_method .payment_box label[for="rede-card-installments"],
.wc_payment_method .payment_box label[for="maxipago-card-installments"],
.wc_payment_method .payment_box .form-row:has(select[id*="installments"]) label,
.wc_payment_method .payment_box .form-row:has(select[id*="parcelas"]) label,
.wc_payment_method .payment_box .form-row:has(select[name*="installments"]) label,
.wc_payment_method .payment_box .form-row:has(select[name*="parcelas"]) label {
    position: absolute !important;
    top: -12px !important;
    left: 12px !important;
    display: inline-block !important;
    margin: 0 !important;
    padding: 2px 8px !important;
    font-weight: 500 !important;
    font-size: 10px !important;
    color: #666 !important;
    background: var(--checkout-white) !important;
    border: 1px solid var(--checkout-border) !important;
    border-radius: 4px !important;
    z-index: 20 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    pointer-events: none !important;
    transform: translateY(0) !important;
    max-width: calc(100% - 24px) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    height: 18px !important;
    min-height: 18px !important;
    max-height: 18px !important;
    width: auto !important;
    box-sizing: border-box !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

/* Garantir que o conteúdo do input não seja sobreposto pelo badge */
.wc_payment_method .payment_box input[type="text"]:focus,
.wc_payment_method .payment_box input[type="tel"]:focus,
.wc_payment_method .payment_box input[type="number"]:focus,
.wc_payment_method .payment_box input[type="email"]:focus,
.wc_payment_method .payment_box select:focus,
.wc_payment_method .payment_box .select2-container--focus .select2-selection {
    z-index: 2 !important;
}

/* Quando o input está focado, destacar o badge */
.wc_payment_method .payment_box .form-row:has(input:focus) label,
.wc_payment_method .payment_box .form-row:has(select:focus) label {
    color: var(--checkout-blue) !important;
    border-color: var(--checkout-blue) !important;
    background: rgba(0, 85, 255, 0.05) !important;
}

@keyframes slideDown {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Imagens dos métodos de pagamento */
.wc_payment_method label img {
    max-height: 24px !important;
    width: auto !important;
    margin: 0 !important;
    order: 0 !important;
    display: block !important;
    filter: grayscale(1) opacity(0.5) !important;
    transition: all 0.3s ease !important;
    flex-shrink: 0 !important;
}

.wc_payment_method input[type="radio"]:checked + label img {
    filter: grayscale(0) opacity(1) !important;
}

/* O texto do título deve aparecer após o ícone */
.wc_payment_method label span.method-title,
.wc_payment_method label .method-title {
    font-weight: 600 !important;
    font-size: 15px !important;
    display: inline-block !important;
    flex: 1 !important;
    order: 0 !important; /* Título depois do ícone */
    margin-left: 0 !important;
}

.wc_payment_method input[type="radio"]:checked + label span.method-title {
    color: var(--checkout-blue) !important;
}

/* Garantir que todo o conteúdo de texto do label apareça à direita do ícone */
.wc_payment_method label {
    position: relative !important;
}

/* O texto direto no label (sem span) também deve aparecer à direita */
.wc_payment_method label:not(:has(span)) {
    text-indent: 0 !important;
}

/* Botão Final */
.checkout-final-action {
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
}

#place_order {
    width: 100% !important;
    height: 60px !important;
    background: var(--checkout-blue) !important;
    color: white !important;
    border: none !important;
    border-radius: var(--checkout-radius) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    transition: background 0.2s !important;
}

#place_order:hover {
    background: var(--checkout-blue-hover) !important;
}

.save-info-checkbox {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 13px !important;
    color: var(--checkout-text-light) !important;
}

/* Coluna da Direita (Resumo) - Ocupa 100% da lateral direita em branco */
/* CORREÇÃO: Tornar checkout-order-review fixo (sticky) no desktop */
.checkout-order-review {
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
    background: #ffffff !important;
    padding: 60px 20px 60px 80px !important;
    border-left: 1px solid var(--checkout-border) !important;
    min-height: 100vh !important;
    height: auto !important;
    width: 100% !important;
    position: sticky !important;
    top: 0 !important;
    align-self: flex-start !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    /* Garantir que o fundo branco se estenda até o final */
    background-color: #ffffff !important;
    background-image: none !important;
}

/* Ocultar resumo mobile no desktop */
.checkout-order-review-mobile {
    display: none !important;
}

/* Mostrar botões mobile no desktop também */
.checkout-section-footer-mobile {
    display: block !important;
    margin-top: 30px !important;
    padding-top: 20px !important;
    border-top: 1px solid var(--checkout-border) !important;
}

/* CORREÇÃO: Remover sticky do order-review-card, agora o checkout-order-review é sticky */
.order-review-card {
    width: 100% !important;
    max-width: 450px !important;
    background: transparent !important;
    padding: 20px !important;
    border: none !important;
    box-shadow: none !important;
    position: static !important;
    top: auto !important;
    margin: 50px auto 0 auto !important;
}

.order-items-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    margin-bottom: 25px !important;
}

.review-item {
    display: flex !important;
    gap: 15px !important;
    align-items: center !important;
}

.product-thumb {
    position: relative !important;
    width: 65px !important;
    height: 65px !important;
    border: 1px solid var(--checkout-border) !important;
    border-radius: 8px !important;
    padding: 5px !important;
    background: #fff !important;
}

.product-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}

.product-qty-badge {
    position: absolute !important;
    top: -10px !important;
    right: -10px !important;
    background: #808080 !important;
    color: white !important;
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    font-size: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.product-meta {
    flex: 1 !important;
    display: flex !important;
    justify-content: space-between !important;
    font-size: 14px !important;
}

.product-name {
    font-weight: 600 !important;
    color: var(--checkout-text) !important;
}

.product-price {
    font-weight: 700 !important;
}

.coupon-toggle {
    border-top: 1px solid var(--checkout-border) !important;
    border-bottom: 1px solid var(--checkout-border) !important;
    padding: 15px 0 !important;
    margin-bottom: 0 !important;
}

.coupon-toggle a {
    color: var(--checkout-blue) !important;
    font-size: 13px !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: color 0.2s ease !important;
}

.coupon-toggle a:hover {
    color: var(--checkout-blue-hover) !important;
    text-decoration: underline !important;
}

/* Formulário de Cupom */
.checkout_coupon {
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    padding: 20px !important;
    background: var(--checkout-gray-bg) !important;
    border-radius: 0 0 var(--checkout-radius) var(--checkout-radius) !important;
    border: 1px solid var(--checkout-border) !important;
    border-top: none !important;
}

/* Quando o formulário está visível, conectá-lo ao toggle removendo border-bottom do toggle */
.coupon-toggle:not(:has(+ .checkout_coupon[style*="display: none"])) {
    border-bottom: none !important;
    border-radius: var(--checkout-radius) var(--checkout-radius) 0 0 !important;
}

.checkout_coupon:not([style*="display: none"]) {
    border-top: 1px solid var(--checkout-border) !important;
    display: block !important;
}

/* Quando o coupon-toggle não tem border-bottom, o checkout_coupon deve ter border-top */
.coupon-toggle:has(+ .checkout_coupon[style*="display: block"]) {
    border-bottom: none !important;
    border-radius: var(--checkout-radius) var(--checkout-radius) 0 0 !important;
}

.checkout_coupon:not([style*="display: none"]) {
    border-top: 1px solid var(--checkout-border) !important;
    border-radius: 0 0 var(--checkout-radius) var(--checkout-radius) !important;
}

.coupon-form-wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.coupon-form-title {
    margin: 0 0 8px 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--checkout-text) !important;
}

.coupon-form-input-wrapper {
    display: flex !important;
    gap: 10px !important;
    align-items: stretch !important;
}

.coupon-form-input-wrapper #coupon_code {
    flex: 1 !important;
    padding: 12px 16px !important;
    border: 1px solid var(--checkout-border) !important;
    border-radius: var(--checkout-radius) !important;
    font-size: 14px !important;
    background: var(--checkout-white) !important;
    color: var(--checkout-text) !important;
}

.coupon-form-input-wrapper #coupon_code:focus {
    outline: none !important;
    border-color: var(--checkout-blue) !important;
    box-shadow: 0 0 0 3px rgba(0, 85, 255, 0.1) !important;
}

.apply-coupon-btn {
    padding: 12px 24px !important;
    background: var(--checkout-blue) !important;
    color: var(--checkout-white) !important;
    border: none !important;
    border-radius: var(--checkout-radius) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    white-space: nowrap !important;
}

.apply-coupon-btn:hover:not(:disabled) {
    background: var(--checkout-blue-hover) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 2px 8px rgba(0, 85, 255, 0.2) !important;
}

.apply-coupon-btn:disabled {
    background: #ccc !important;
    cursor: not-allowed !important;
    opacity: 0.6 !important;
}

.review-totals {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.total-row {
    display: flex !important;
    justify-content: space-between !important;
    font-size: 14px !important;
    color: var(--checkout-text-light) !important;
}

.total-row.coupon-row {
    color: #28a745 !important;
}

.total-row.coupon-row .coupon-discount {
    color: #28a745 !important;
    font-weight: 600 !important;
}

.main-total {
    margin-top: 15px !important;
    padding-top: 15px !important;
    border-top: 1px solid var(--checkout-border) !important;
    color: var(--checkout-text) !important;
    font-size: 18px !important;
}

/* Mostrar botão Finalizar Compra do desktop apenas na etapa 3 */
.checkout-order-review .checkout-final-action {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: none !important;
    display: block !important;
}

/* Mostrar botão principal do desktop apenas na etapa 3 */
.checkout-order-review .checkout-submit-btn,
#checkout-main-button {
    width: 100% !important;
    padding: 16px 24px !important;
    background: var(--checkout-blue) !important;
    color: var(--checkout-white) !important;
    border: none !important;
    border-radius: var(--checkout-radius) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    display: none !important; /* Oculto por padrão, será mostrado apenas na etapa 3 */
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
}

/* Mostrar botão apenas quando estiver na etapa 3 (pagamento) */
.checkout-custom-wrapper.step-3 .checkout-order-review #checkout-main-button,
.checkout-custom-wrapper.step-3 .checkout-order-review .checkout-submit-btn,
.checkout-custom-wrapper.step-3 .checkout-order-review .checkout-final-action {
    display: block !important;
}

.checkout-custom-wrapper.step-3 .checkout-order-review #checkout-main-button,
.checkout-custom-wrapper.step-3 .checkout-order-review .checkout-submit-btn {
    display: flex !important;
}

/* Estilo verde para botão de finalizar compra */
.checkout-custom-wrapper.step-3 .checkout-order-review #checkout-main-button,
.checkout-custom-wrapper.step-3 .checkout-order-review .checkout-submit-btn,
#checkout-main-button.btn-finalize-desktop,
.checkout-submit-btn.btn-finalize-desktop {
    background: #28a745 !important; /* Verde para finalizar */
    color: #ffffff !important;
}

.checkout-custom-wrapper.step-3 .checkout-order-review #checkout-main-button:hover:not(:disabled),
.checkout-custom-wrapper.step-3 .checkout-order-review .checkout-submit-btn:hover:not(:disabled),
#checkout-main-button.btn-finalize-desktop:hover:not(:disabled),
.checkout-submit-btn.btn-finalize-desktop:hover:not(:disabled) {
    background: #218838 !important; /* Verde mais escuro no hover */
    box-shadow: 0 4px 12px rgba(40, 167, 69, 0.3) !important;
}

/* Forçar texto "Finalizar compra" quando estiver na etapa 3 */
.checkout-custom-wrapper.step-3 .checkout-order-review #checkout-main-button:not(.btn-finalize-desktop)::after {
    content: 'Finalizar compra';
    display: none;
}

/* Garantir que o texto seja atualizado via JavaScript */
.checkout-custom-wrapper.step-3 .checkout-order-review #checkout-main-button {
    font-size: 16px !important;
    font-weight: 600 !important;
}

/* Ocultar botão mobile da etapa 3 no desktop (mas manter no mobile via media query) */
@media (min-width: 769px) {
    .checkout-custom-wrapper.step-3 .checkout-section[data-step="3"] .checkout-section-footer-mobile {
        display: none !important;
    }
    
    /* Mostrar botões mobile nas etapas 1 e 2 no desktop */
    .checkout-custom-wrapper.step-1 .checkout-section[data-step="1"] .checkout-section-footer-mobile,
    .checkout-custom-wrapper.step-2 .checkout-section[data-step="2"] .checkout-section-footer-mobile {
        display: block !important;
    }
    
    /* Ocultar checkbox e texto de privacidade mobile nas etapas 1 e 2 no desktop */
    .checkout-custom-wrapper.step-1 .checkout-section[data-step="1"] .save-info-card-mobile,
    .checkout-custom-wrapper.step-2 .checkout-section[data-step="2"] .save-info-card-mobile,
    .checkout-custom-wrapper.step-1 .checkout-section[data-step="1"] .checkout-privacy-text-mobile,
    .checkout-custom-wrapper.step-2 .checkout-section[data-step="2"] .checkout-privacy-text-mobile {
        display: none !important;
    }
}

/* Estilizar botões mobile para desktop também */
.btn-next-step-mobile {
    width: 100% !important;
    padding: 16px 24px !important;
    background: var(--checkout-blue) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: var(--checkout-radius) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    transition: all 0.3s ease !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.btn-next-step-mobile:hover:not(:disabled) {
    background: #0056b3 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(0, 86, 179, 0.3) !important;
}

.btn-next-step-mobile:active:not(:disabled) {
    transform: translateY(0) !important;
}

.btn-next-step-mobile:disabled {
    background: #cccccc !important;
    cursor: not-allowed !important;
    opacity: 0.6 !important;
}

.btn-next-step-mobile i {
    font-size: 14px !important;
}

.btn-finalize-mobile {
    background: #28a745 !important;
}

.btn-finalize-mobile:hover:not(:disabled) {
    background: #218838 !important;
    box-shadow: 0 4px 12px rgba(40, 167, 69, 0.3) !important;
}

.btn-finalize-mobile i {
    display: none !important;
}

/* Loading ao finalizar compra (feedback até redirect order-received ou erro) */
.checkout-finalize-loading,
.checkout-finalize-loading:disabled {
    cursor: wait !important;
    pointer-events: none !important;
    opacity: 1 !important;
}

.checkout-order-review .checkout-submit-btn.checkout-finalize-loading,
#checkout-main-button.checkout-finalize-loading {
    background: #218838 !important;
    color: #fff !important;
    transform: none !important;
    box-shadow: 0 2px 8px rgba(40, 167, 69, 0.25) !important;
}

.btn-finalize-mobile.checkout-finalize-loading,
.btn-finalize-mobile.checkout-finalize-loading:disabled {
    background: #218838 !important;
    color: #fff !important;
    opacity: 1 !important;
}

.checkout-finalize-loading .fa-spinner {
    margin-right: 8px !important;
}

.btn-finalize-mobile.checkout-finalize-loading i,
.btn-finalize-mobile.checkout-finalize-loading .fa-spinner {
    display: inline-block !important;
}

.checkout-order-review .checkout-submit-btn:hover,
#checkout-main-button:hover:not(:disabled) {
    background: var(--checkout-blue-hover) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(0, 85, 255, 0.3) !important;
}

.checkout-order-review .checkout-submit-btn:disabled,
#checkout-main-button:disabled {
    background: #ccc !important;
    color: #999 !important;
    cursor: not-allowed !important;
    opacity: 0.6 !important;
    transform: none !important;
    box-shadow: none !important;
}

.checkout-order-review .checkout-submit-btn i {
    font-size: 16px !important;
}

/* Ocultar checkbox e texto de privacidade nas etapas 1 e 2 */
.checkout-custom-wrapper.step-1 .checkout-order-review .save-info-card,
.checkout-custom-wrapper.step-2 .checkout-order-review .save-info-card,
.checkout-custom-wrapper.step-1 .checkout-order-review .checkout-privacy-text,
.checkout-custom-wrapper.step-2 .checkout-order-review .checkout-privacy-text {
    display: none !important;
}

/* Mostrar apenas na etapa 3 */
.checkout-custom-wrapper.step-3 .checkout-order-review .save-info-card,
.checkout-custom-wrapper.step-3 .checkout-order-review .checkout-privacy-text {
    display: block !important;
}

.checkout-order-review .checkout-privacy-text {
    margin-top: 15px !important;
    font-size: 12px !important;
    color: var(--checkout-text-light) !important;
    line-height: 1.5 !important;
    text-align: center !important;
    padding: 0 !important;
}

.checkout-order-review .checkout-privacy-text a {
    color: var(--checkout-blue) !important;
    text-decoration: underline !important;
}

.checkout-order-review .checkout-privacy-text a:hover {
    color: var(--checkout-blue-hover) !important;
}

/* Card de Salvar Informações */
.checkout-order-review .save-info-card {
    margin-top: 25px !important;
    margin-bottom: 20px !important;
    background: var(--checkout-white) !important;
    border-radius: 8px !important;
    padding: 20px !important;
    border: 1px solid var(--checkout-border) !important;
}

.checkout-order-review .save-info-checkbox {
    display: flex !important;
    align-items: flex-start !important;
    gap: 15px !important;
}

.checkout-order-review .save-info-checkbox input[type="checkbox"] {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    cursor: pointer !important;
    margin-top: 2px !important;
    flex-shrink: 0 !important;
    accent-color: var(--checkout-blue) !important;
}

.checkout-order-review .save-info-content {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

.checkout-order-review .save-info-main-text {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #333333 !important;
    line-height: 1.4 !important;
    cursor: pointer !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Ocultar botão padrão do WooCommerce que aparece após termos e condições */
body.checkout-custom-page .woocommerce-checkout-payment .form-row.place-order,
body.checkout-custom-page .woocommerce-checkout-payment .form-row.place-order button[name="woocommerce_checkout_place_order"]:not(.checkout-submit-btn),
body.checkout-custom-page .woocommerce-checkout-payment .form-row.place-order #place_order:not(.checkout-submit-btn),
body.checkout-custom-page form.woocommerce-checkout .form-row.place-order button:not(.checkout-submit-btn),
body.checkout-custom-page .woocommerce-checkout-payment .form-row.place-order button.button.alt {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    overflow: hidden !important;
}

/* Responsividade - Mobile */
@media (max-width: 768px) {
    /* Layout principal - coluna única */
    .checkout-main-content {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }
    
    /* Container do formulário - ajustar padding */
    .checkout-container-wrapper {
        padding: 20px 15px 20px 15px !important;
        justify-content: center !important;
    }
    
    /* Seções do formulário */
    .checkout-sections-flow {
        max-width: 100% !important;
        gap: 30px !important;
    }
    
    /* Header com logo */
    .checkout-header-top {
        padding-bottom: 15px !important;
        margin-bottom: 0 !important;
        position: relative !important;
    }
    
    .checkout-logo {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        position: relative !important;
    }
    
    .checkout-logo img {
        max-height: 28px !important;
        width: auto !important;
    }
    
    .checkout-logo .checkout-back-button {
        width: 32px !important;
        height: 32px !important;
        left: 0 !important;
        position: relative !important;
        transform: none !important;
        flex-shrink: 0 !important;
        font-size: 14px !important;
        margin-right: 0 !important;
    }
    
    /* Texto "| Finalizar Compra" apenas no mobile */
    .checkout-page-title-mobile {
        display: inline-block !important;
        color: #294172 !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        margin-left: 8px !important;
        white-space: nowrap !important;
    }
    
    /* Stepper de etapas */
    .checkout-steps-stepper {
        padding: 15px 0 0 0 !important;
        gap: 8px !important;
    }
    
    .step-bar {
        height: 3px !important;
    }
    
    /* Seções do checkout */
    .checkout-section {
        margin-bottom: 20px !important;
    }
    
    .section-header {
        margin-bottom: 20px !important;
        gap: 10px !important;
    }
    
    .section-header h2 {
        font-size: 18px !important;
        line-height: 1.4 !important;
    }
    
    .section-header p {
        font-size: 13px !important;
        margin-top: 5px !important;
    }
    
    .section-back-button {
        width: 28px !important;
        height: 28px !important;
        font-size: 12px !important;
    }
    
    /* Campos do formulário */
    .fields-grid {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
    }
    
    .location-row {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
    }
    
    /* Ocultar resumo desktop no mobile */
    .checkout-order-review {
        display: none !important;
    }
    
    /* Garantir que checkout-order-review esteja oculto na página order-pay também */
    body.checkout-order-pay-page .checkout-order-review {
        display: none !important;
    }
    
    /* Resumo do pedido mobile - Dropdown */
    .checkout-order-review-mobile {
        display: block !important;
        margin: 20px 0 !important;
        background: var(--checkout-white) !important;
        border: 1px solid var(--checkout-border) !important;
        border-radius: var(--checkout-radius) !important;
        overflow: hidden !important;
    }
    
    .checkout-order-review-toggle {
        width: 100% !important;
        padding: 15px 20px !important;
        background: var(--checkout-white) !important;
        border: none !important;
        border-bottom: 1px solid var(--checkout-border) !important;
        cursor: pointer !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        text-align: left !important;
        transition: background 0.2s ease !important;
    }
    
    .checkout-order-review-toggle:hover {
        background: #f9f9f9 !important;
    }
    
    .review-toggle-content {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        gap: 12px !important;
    }
    
    .review-toggle-image {
        flex-shrink: 0 !important;
    }
    
    .review-toggle-image .product-thumb {
        position: relative !important;
        width: 65px !important;
        height: 65px !important;
        border: 1px solid var(--checkout-border) !important;
        border-radius: 8px !important;
        padding: 5px !important;
        background: #fff !important;
    }
    
    .review-toggle-image .product-thumb img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
    }
    
    .review-toggle-image .product-qty-badge {
        position: absolute !important;
        top: -10px !important;
        right: -10px !important;
        background: #808080 !important;
        color: white !important;
        width: 22px !important;
        height: 22px !important;
        border-radius: 50% !important;
        font-size: 12px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    .review-toggle-text {
        display: flex !important;
        flex-direction: column !important;
        gap: 4px !important;
        flex: 1 !important;
    }
    
    .review-toggle-text strong {
        font-size: 14px !important;
        font-weight: 600 !important;
        color: var(--checkout-text) !important;
    }
    
    .review-toggle-total {
        font-size: 16px !important;
        font-weight: 700 !important;
        color: var(--checkout-blue) !important;
    }
    
    .checkout-order-review-toggle i {
        font-size: 14px !important;
        color: var(--checkout-text-light) !important;
        transition: transform 0.3s ease !important;
    }
    
    .checkout-order-review-toggle[aria-expanded="true"] i {
        transform: rotate(180deg) !important;
    }
    
    .checkout-order-review-mobile-content {
        max-height: 500px !important;
        overflow-y: auto !important;
        background: var(--checkout-white) !important;
    }
    
    .checkout-order-review-mobile-content .order-review-card {
        position: static !important;
        top: auto !important;
        margin: 0 !important;
        padding: 15px 20px !important;
        max-width: 100% !important;
        border: none !important;
        box-shadow: none !important;
    }
    
    .checkout-order-review-mobile-content .order-items-list {
        gap: 15px !important;
        margin-bottom: 15px !important;
    }
    
    .checkout-order-review-mobile-content .review-item {
        gap: 12px !important;
    }
    
    /* Ocultar product-thumb dentro do dropdown mobile */
    .checkout-order-review-mobile-content .product-thumb {
        display: none !important;
    }
    
    /* Ajustar review-item quando não tem thumb */
    .checkout-order-review-mobile-content .review-item {
        gap: 0 !important;
    }
    
    .checkout-order-review-mobile-content .product-name {
        font-size: 13px !important;
    }
    
    .checkout-order-review-mobile-content .product-price {
        font-size: 13px !important;
    }
    
    .checkout-order-review-mobile-content .review-totals {
        padding: 15px 0 !important;
        border-top: 1px solid var(--checkout-border) !important;
    }
    
    .checkout-order-review-mobile-content .total-row {
        font-size: 13px !important;
        padding: 8px 0 !important;
    }
    
    .checkout-order-review-mobile-content .main-total {
        font-size: 16px !important;
        padding: 12px 0 !important;
    }
    
    .checkout-order-review-mobile-content .checkout-submit-btn {
        margin-top: 15px !important;
    }
    
    /* Ocultar elementos do resumo no mobile */
    .checkout-order-review-mobile-content .save-info-card,
    .checkout-order-review-mobile-content .checkout-final-action,
    .checkout-order-review-mobile-content .checkout-submit-btn,
    .checkout-order-review-mobile-content .checkout-privacy-text {
        display: none !important;
    }
    
    /* Botões Próxima Etapa Mobile */
    .checkout-section-footer-mobile {
        display: block !important;
        margin-top: 30px !important;
        padding-top: 20px !important;
        border-top: 1px solid var(--checkout-border) !important;
    }
    
    /* Ocultar checkbox e texto de privacidade mobile nas etapas 1 e 2 */
    .checkout-section[data-step="1"] .save-info-card-mobile,
    .checkout-section[data-step="2"] .save-info-card-mobile,
    .checkout-section[data-step="1"] .checkout-privacy-text-mobile,
    .checkout-section[data-step="2"] .checkout-privacy-text-mobile {
        display: none !important;
    }
    
    /* Mostrar apenas na etapa 3 */
    .checkout-section[data-step="3"] .save-info-card-mobile,
    .checkout-section[data-step="3"] .checkout-privacy-text-mobile {
        display: block !important;
    }
    
    .btn-next-step-mobile {
        width: 100% !important;
        padding: 16px 24px !important;
        background: var(--checkout-blue) !important;
        color: #ffffff !important;
        border: none !important;
        border-radius: var(--checkout-radius) !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        cursor: pointer !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
        transition: all 0.3s ease !important;
        text-transform: none !important;
        letter-spacing: normal !important;
    }
    
    .btn-next-step-mobile:hover:not(:disabled) {
        background: #0056b3 !important;
        transform: translateY(-2px) !important;
        box-shadow: 0 4px 12px rgba(0, 86, 179, 0.3) !important;
    }
    
    .btn-next-step-mobile:active:not(:disabled) {
        transform: translateY(0) !important;
    }
    
    .btn-next-step-mobile:disabled {
        background: #cccccc !important;
        cursor: not-allowed !important;
        opacity: 0.6 !important;
    }
    
    .btn-next-step-mobile i {
        font-size: 14px !important;
    }
    
    .btn-finalize-mobile {
        background: #28a745 !important;
    }
    
    .btn-finalize-mobile:hover:not(:disabled) {
        background: #218838 !important;
        box-shadow: 0 4px 12px rgba(40, 167, 69, 0.3) !important;
    }
    
    /* Remover ícone do botão finalizar mobile */
    .btn-finalize-mobile i {
        display: none !important;
    }
    
    /* Texto de privacidade mobile */
    .checkout-privacy-text-mobile {
        margin-top: 15px !important;
        font-size: 11px !important;
        color: var(--checkout-text-light) !important;
        line-height: 1.5 !important;
        text-align: center !important;
        padding: 0 10px !important;
    }
    
    .checkout-privacy-text-mobile a {
        color: var(--checkout-blue) !important;
        text-decoration: underline !important;
    }
    
    .checkout-privacy-text-mobile a:hover {
        color: var(--checkout-blue-hover) !important;
    }
    
    /* Checkbox salvar informações mobile - igual ao desktop */
    .save-info-card-mobile {
        margin-top: 25px !important;
        margin-bottom: 20px !important;
        background: var(--checkout-white) !important;
        border-radius: 8px !important;
        padding: 20px !important;
        border: 1px solid var(--checkout-border) !important;
    }
    
    .save-info-checkbox-mobile {
        display: flex !important;
        align-items: flex-start !important;
        gap: 15px !important;
    }
    
    .save-info-checkbox-mobile input[type="checkbox"] {
        width: 20px !important;
        height: 20px !important;
        min-width: 20px !important;
        min-height: 20px !important;
        cursor: pointer !important;
        margin-top: 2px !important;
        flex-shrink: 0 !important;
        accent-color: var(--checkout-blue) !important;
    }
    
    .save-info-content-mobile {
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
    }
    
    .save-info-main-text-mobile {
        font-size: 13px !important;
        font-weight: 600 !important;
        color: #333333 !important;
        line-height: 1.4 !important;
        cursor: pointer !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    .order-review-card {
        position: static !important;
        padding: 20px 15px !important;
        margin: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
    
    /* Botão de finalizar */
    .checkout-order-review .checkout-submit-btn {
        width: 100% !important;
        padding: 16px 20px !important;
        font-size: 16px !important;
    }
    
    /* Notificações */
    .checkout-custom-wrapper .woocommerce-notices-wrapper {
        margin: 15px 0 !important;
        padding: 0 15px !important;
    }
    
    .checkout-custom-wrapper .woocommerce-error,
    .checkout-custom-wrapper .woocommerce-message,
    .checkout-custom-wrapper .woocommerce-info {
        padding: 12px 15px !important;
        font-size: 13px !important;
        margin: 0 0 10px 0 !important;
    }
    
    /* Métodos de pagamento */
    .wc_payment_methods {
        gap: 10px !important;
    }
    
    .wc_payment_method label {
        padding: 12px 15px !important;
        font-size: 14px !important;
    }
    
    /* Inputs de cartão */
    .wc_payment_method .payment_box {
        padding: 15px !important;
    }
    
    .wc_payment_method .payment_box .form-row {
        margin-bottom: 15px !important;
    }
    
    /* Texto de privacidade */
    .checkout-order-review .checkout-privacy-text {
        font-size: 11px !important;
        padding: 10px 0 !important;
    }
    
    /* Card de salvar informações */
    .checkout-order-review .save-info-card {
        padding: 12px 15px !important;
        margin-bottom: 15px !important;
    }
    
    .checkout-order-review .save-info-main-text {
        font-size: 12px !important;
    }
}

/* Responsividade - Mobile Pequeno */
@media (max-width: 480px) {
    .checkout-container-wrapper {
        padding: 15px 10px 15px 10px !important;
    }
    
    .checkout-sections-flow {
        gap: 25px !important;
    }
    
    .checkout-header-top {
        padding-bottom: 12px !important;
    }
    
    .checkout-logo {
        gap: 8px !important;
    }
    
    .checkout-logo img {
        max-height: 32px !important;
    }
    
    .checkout-logo .checkout-back-button {
        width: 30px !important;
        height: 30px !important;
        left: 0 !important;
        font-size: 13px !important;
        top: auto !important;
    }
    
    .checkout-page-title-mobile {
        font-size: 13px !important;
        margin-left: 6px !important;
    }
    
    .section-header h2 {
        font-size: 16px !important;
    }
    
    .section-header p {
        font-size: 12px !important;
    }
    
    .checkout-order-review {
        padding: 15px 10px !important;
    }
    
    .order-review-card {
        padding: 15px 10px !important;
    }
    
    .checkout-order-review .checkout-submit-btn {
        padding: 14px 15px !important;
        font-size: 15px !important;
    }
    
    .checkout-custom-wrapper .woocommerce-notices-wrapper {
        padding: 0 10px !important;
    }
    
    .checkout-custom-wrapper .woocommerce-error,
    .checkout-custom-wrapper .woocommerce-message,
    .checkout-custom-wrapper .woocommerce-info {
        padding: 10px 12px !important;
        font-size: 12px !important;
    }
}

/* ==========================================================
   PÁGINA DE CONFIRMAÇÃO DE PEDIDO (THANK YOU)
   ========================================================== */

.checkout-thankyou-wrapper {
    min-height: 100% !important;
    background: #f5f5f5 !important;
    padding: 40px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.thankyou-header {
    width: 100% !important;
    max-width: 800px !important;
    padding: 20px 0 !important;
    margin-bottom: 20px !important;
    display: flex !important;
    justify-content: center !important;
}

.thankyou-header-content {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    width: 100% !important;
}

.thankyou-back-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    border: 1px solid #000000 !important;
    background: transparent !important;
    color: #000000 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    flex-shrink: 0 !important;
}

.thankyou-back-button:hover {
    background: #f5f5f5 !important;
    border-color: #333333 !important;
    color: #333333 !important;
}

.thankyou-back-button i {
    font-size: 16px !important;
    line-height: 1 !important;
}

.thankyou-logo-container {
    display: flex !important;
    align-items: center !important;
}

.thankyou-logo {
    max-height: 40px !important;
    width: auto !important;
}

.checkout-thankyou-container {
    max-width: 800px !important;
    width: 100% !important;
    margin: 0 auto !important;
}

/* Card de sucesso */
/* Box única que contém todo o conteúdo */
.order-complete-box {
    background: #ffffff !important;
    border-radius: 12px !important;
    padding: 0 !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
    margin-bottom: 25px !important;
    border: 1px solid #eeeeee !important;
    overflow: hidden !important;
}

.thankyou-success-card {
    background: transparent !important;
    border-radius: 0 !important;
    padding: 40px !important;
    box-shadow: none !important;
    margin-bottom: 0 !important;
    text-align: center !important;
    border: none !important;
    border-bottom: 1px solid #f0f0f0 !important;
}

.thankyou-success-card .success-icon {
    font-size: 70px !important;
    color: #28a745 !important;
    margin-bottom: 20px !important;
    display: block !important;
}

.thankyou-success-card .success-title {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #294172 !important;
    margin: 0 0 10px 0 !important;
}

.thankyou-success-card .success-message {
    font-size: 16px !important;
    color: #666666 !important;
    margin: 0 0 30px 0 !important;
}

/* Grid de informações do pedido */
.order-info-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px !important;
    margin-top: 20px !important;
    padding-bottom: 0 !important;
}

.order-info-item {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px 14px !important;
    background: #f9f9f9 !important;
    border-radius: 8px !important;
    text-align: left !important;
    border: 1px solid #f0f0f0 !important;
    min-width: 0 !important;
}

.order-info-item .info-icon {
    font-size: 16px !important;
    color: #294172 !important;
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #ffffff !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05) !important;
}

.order-info-item .info-content {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    min-width: 0 !important;
    overflow: hidden !important;
    align-items: flex-start !important;
    text-align: left !important;
}

.order-info-item .info-label {
    font-size: 10px !important;
    color: #999999 !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
    letter-spacing: 0.3px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    text-align: left !important;
    align-self: flex-start !important;
}

.order-info-item .info-value {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #294172 !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    text-align: left !important;
    align-self: flex-start !important;
    padding: 0 !important;
    margin: 0 !important;
}

.order-info-item .info-value.total-value {
    font-size: 14px !important;
    color: #28a745 !important;
    font-weight: 700 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Estilos para status do pedido */
.order-info-status.order-status-pending .info-icon {
    color: #856404 !important;
    background: #fff3cd !important;
}

.order-info-status.order-status-pending .info-value {
    color: #856404 !important;
}

/* processing: mesmo visual de concluído na página de obrigado */
.order-info-status.order-status-processing .info-icon {
    color: #28a745 !important;
    background: #d4edda !important;
}

.order-info-status.order-status-processing .info-value {
    color: #28a745 !important;
}

.order-info-status.order-status-on-hold .info-icon {
    color: #573B00 !important;
    background: #f8dda7 !important;
}

.order-info-status.order-status-on-hold .info-value {
    color: #573B00 !important;
}

.order-info-status.order-status-completed .info-icon {
    color: #28a745 !important;
    background: #d4edda !important;
}

.order-info-status.order-status-completed .info-value {
    color: #28a745 !important;
}

.order-info-status.order-status-cancelled .info-icon {
    color: #721c24 !important;
    background: #f5c6cb !important;
}

.order-info-status.order-status-cancelled .info-value {
    color: #721c24 !important;
}

.order-info-status.order-status-refunded .info-icon {
    color: #0c5460 !important;
    background: #d1ecf1 !important;
}

.order-info-status.order-status-refunded .info-value {
    color: #0c5460 !important;
}

.order-info-status.order-status-failed .info-icon {
    color: #570000 !important;
    background: #eba3a3 !important;
}

.order-info-status.order-status-failed .info-value {
    color: #570000 !important;
}

/* Ajustar tabelas nativas do WC nos detalhes */
.order-complete-box .order-details-section {
    background: transparent !important;
    border-radius: 0 !important;
    padding: 30px !important;
    box-shadow: none !important;
    margin-bottom: 0 !important;
    border: none !important;
    border-bottom: 1px solid #f0f0f0 !important;
    position: relative !important;
    overflow: visible !important;
}

/* Garantir que o boleto não apareça fora do order-details-section */
.order-actions-section .telaimprimirboletoitau,
.checkout-thankyou-container .telaimprimirboletoitau:not(.order-complete-box .telaimprimirboletoitau) {
    display: none !important;
}

/* Garantir que elementos fora da box única sejam ocultados */
.checkout-thankyou-container > .thankyou-success-card:not(.order-complete-box .thankyou-success-card),
.checkout-thankyou-container > .order-details-section:not(.order-complete-box .order-details-section),
.checkout-thankyou-container > .order-actions-section:not(.order-complete-box .order-actions-section) {
    display: none !important;
}

.order-details-section .section-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #294172 !important;
    margin: 0 0 20px 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    border-bottom: 1px solid #f0f0f0 !important;
    padding-bottom: 15px !important;
}

/* Container do boleto dentro do order-details-section */
.order-details-section .order-boleto-container {
    margin-bottom: 30px !important;
    padding-bottom: 30px !important;
    border-bottom: 1px solid #f0f0f0 !important;
}

/* Estilizar telaimprimirboletoitau dentro do order-details-section */
.order-details-section .telaimprimirboletoitau,
.order-boleto-container .telaimprimirboletoitau {
    background: #f8f9fa !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 20px !important;
    margin: 0 !important;
    box-shadow: none !important;
}

.order-details-section .telaimprimirboletoitau p,
.order-boleto-container .telaimprimirboletoitau p {
    margin: 0 0 15px 0 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #333333 !important;
}

.order-details-section .telaimprimirboletoitau p:last-child,
.order-boleto-container .telaimprimirboletoitau p:last-child {
    margin-bottom: 0 !important;
}

.order-details-section .telaimprimirboletoitau b,
.order-boleto-container .telaimprimirboletoitau b {
    font-weight: 600 !important;
    color: #294172 !important;
}

.order-details-section .telaimprimirboletoitau code,
.order-boleto-container .telaimprimirboletoitau code {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 4px !important;
    padding: 10px 15px !important;
    display: block !important;
    margin: 10px 0 !important;
    font-family: 'Courier New', monospace !important;
    font-size: 13px !important;
    color: #294172 !important;
    word-break: break-all !important;
}

.order-details-section .telaimprimirboletoitau img,
.order-boleto-container .telaimprimirboletoitau img {
    max-width: 100% !important;
    height: auto !important;
    margin: 15px 0 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 4px !important;
    padding: 10px !important;
    background: #ffffff !important;
}

.order-details-section .telaimprimirboletoitau .button,
.order-boleto-container .telaimprimirboletoitau .button {
    background: #32a2bb !important;
    color: #ffffff !important;
    padding: 12px 24px !important;
    text-decoration: none !important;
    border-radius: 6px !important;
    display: inline-block !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    transition: background 0.2s ease !important;
    border: none !important;
    margin-top: 10px !important;
}

.order-details-section .telaimprimirboletoitau .button:hover,
.order-boleto-container .telaimprimirboletoitau .button:hover {
    background: #2a8fa5 !important;
    color: #ffffff !important;
}

.order-details-section .telaimprimirboletoitau i,
.order-boleto-container .telaimprimirboletoitau i {
    font-style: italic !important;
    color: #666666 !important;
    font-size: 13px !important;
}

/* Ocultar títulos repetidos e botões extras do WooCommerce */
.custom-order-details-table .woocommerce-order-details__title {
    display: none !important;
}

/* Ocultar botão padrão do WooCommerce se aparecer em lugares indesejados */
.order-details-section .order-again,
.order-details-content .order-again,
.checkout-thankyou-wrapper .order-again,
.woocommerce-order .order-again {
    display: none !important;
}

/* Estilizar botão "Comprar novamente" da tabela de ações (gerado por outros plugins) - Versão Simples */
.order-details-section table.woocommerce-table--order-details tfoot .order_again_checkout.order-actions-button,
.order-details-content table.woocommerce-table--order-details tfoot .order_again_checkout.order-actions-button,
table.woocommerce-table--order-details .order_again_checkout.order-actions-button {
    background: #28a745 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 10px 20px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    display: inline-block !important;
    margin: 0 !important;
    transition: background 0.2s ease !important;
}

.order-details-section table.woocommerce-table--order-details tfoot .order_again_checkout.order-actions-button:hover,
.order-details-content table.woocommerce-table--order-details tfoot .order_again_checkout.order-actions-button:hover {
    background: #218838 !important;
    color: #ffffff !important;
}

/* Estilizar a linha de ações na tabela */
.order-details-section table.woocommerce-table--order-details tfoot .order-actions--heading,
.order-details-content table.woocommerce-table--order-details tfoot .order-actions--heading {
    text-align: left !important;
    padding-right: 20px !important;
    color: #666 !important;
    font-weight: 600 !important;
    vertical-align: middle !important;
    width: auto !important;
}

.order-details-section table.woocommerce-table--order-details tfoot tr th.order-actions--heading + td,
.order-details-content table.woocommerce-table--order-details tfoot tr th.order-actions--heading + td {
    text-align: left !important;
    padding-left: 0 !important;
    vertical-align: middle !important;
}

.order-details-section table.woocommerce-table--order-details {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 0 !important;
    border: none !important;
    background: #f9f9f9 !important;
    border: 1px solid #f0f0f0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

.order-details-section table.woocommerce-table--order-details thead {
    background: transparent !important;
}

.order-details-section table.woocommerce-table--order-details th,
.order-details-section table.woocommerce-table--order-details td {
    padding: 15px !important;
    border: none !important;
    border-bottom: 1px solid #f0f0f0 !important;
    text-align: left !important;
    font-size: 14px !important;
    color: #333333 !important;
    background: transparent !important;
}

.order-details-section table.woocommerce-table--order-details thead th {
    text-transform: uppercase !important;
    font-size: 12px !important;
    letter-spacing: 0.5px !important;
    color: #999999 !important;
    font-weight: 700 !important;
    border-bottom: 1px solid #f0f0f0 !important;
    background: transparent !important;
}

.order-details-section table.woocommerce-table--order-details tbody tr:last-child td {
    border-bottom: none !important;
}

.order-details-section table.woocommerce-table--order-details tfoot {
    background: transparent !important;
}

.order-details-section table.woocommerce-table--order-details tfoot th {
    text-align: left !important;
    background: transparent !important;
    font-weight: 600 !important;
    color: #666666 !important;
    width: auto !important;
    border-bottom: 1px solid #f0f0f0 !important;
    padding-right: 20px !important;
}

.order-details-section table.woocommerce-table--order-details tfoot td {
    text-align: left !important;
    font-weight: 700 !important;
    color: #294172 !important;
    background: transparent !important;
    border-bottom: 1px solid #f0f0f0 !important;
}

.order-details-section table.woocommerce-table--order-details tfoot tr:last-child td,
.order-details-section table.woocommerce-table--order-details tfoot tr:last-child th {
    font-size: 18px !important;
    background: transparent !important;
    border-top: 1px solid #f0f0f0 !important;
    border-bottom: none !important;
    text-align: left !important;
}

/* Ocultar linha de Ações na tabela */
.order-details-section table.woocommerce-table--order-details tfoot tr th.order-actions--heading,
.order-details-section table.woocommerce-table--order-details tfoot tr th.order-actions--heading + td,
.order-details-content table.woocommerce-table--order-details tfoot tr th.order-actions--heading,
.order-details-content table.woocommerce-table--order-details tfoot tr th.order-actions--heading + td {
    display: none !important;
}

/* Ocultar a linha inteira que contém Ações */
.order-details-section table.woocommerce-table--order-details tfoot tr:has(th.order-actions--heading),
.order-details-content table.woocommerce-table--order-details tfoot tr:has(th.order-actions--heading) {
    display: none !important;
}

/* Estilizar tabela de campos customizados */
.checkout-thankyou-wrapper .woocommerce-table--custom-fields,
.order-details-section .woocommerce-table--custom-fields,
.order-details-content .woocommerce-table--custom-fields {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 20px 0 !important;
    border: 1px solid #f0f0f0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #ffffff !important;
}

.checkout-thankyou-wrapper .woocommerce-table--custom-fields th,
.order-details-section .woocommerce-table--custom-fields th,
.order-details-content .woocommerce-table--custom-fields th {
    padding: 15px !important;
    border-bottom: 1px solid #f0f0f0 !important;
    text-align: left !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #666666 !important;
    background: #f9f9f9 !important;
    width: 30% !important;
    vertical-align: top !important;
}

.checkout-thankyou-wrapper .woocommerce-table--custom-fields td,
.order-details-section .woocommerce-table--custom-fields td,
.order-details-content .woocommerce-table--custom-fields td {
    padding: 15px !important;
    border-bottom: 1px solid #f0f0f0 !important;
    text-align: left !important;
    font-size: 14px !important;
    color: #333333 !important;
    vertical-align: top !important;
}

.checkout-thankyou-wrapper .woocommerce-table--custom-fields tr:last-child th,
.checkout-thankyou-wrapper .woocommerce-table--custom-fields tr:last-child td,
.order-details-section .woocommerce-table--custom-fields tr:last-child th,
.order-details-section .woocommerce-table--custom-fields tr:last-child td,
.order-details-content .woocommerce-table--custom-fields tr:last-child th,
.order-details-content .woocommerce-table--custom-fields tr:last-child td {
    border-bottom: none !important;
}

/* Seção de ações */
.order-complete-box .order-actions-section {
    padding: 30px !important;
    background: transparent !important;
    border: none !important;
    margin: 0 !important;
    box-shadow: none !important;
}

.order-actions-section .action-buttons {
    display: flex !important;
    gap: 12px !important;
    justify-content: center !important;
    margin-top: 10px !important;
    flex-wrap: wrap !important;
}

.order-actions-section .button {
    padding: 14px 28px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    transition: all 0.2s ease !important;
    border: none !important;
    cursor: pointer !important;
}

.order-actions-section .button-primary {
    background: #294172 !important;
    color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(41, 65, 114, 0.2) !important;
}

.order-actions-section .button-primary:hover {
    background: #1d3055 !important;
    box-shadow: 0 4px 12px rgba(41, 65, 114, 0.3) !important;
}

.order-actions-section .button-secondary {
    background: #ffffff !important;
    color: #294172 !important;
    border: 2px solid #294172 !important;
    box-shadow: 0 2px 8px rgba(41, 65, 114, 0.1) !important;
}

.order-actions-section .button-secondary:hover {
    background: #f0f4f8 !important;
    border-color: #1d3055 !important;
    color: #1d3055 !important;
    box-shadow: 0 4px 12px rgba(41, 65, 114, 0.2) !important;
}

/* Botão "Comprar Novamente" customizado */
.button-order-again {
    background: linear-gradient(135deg, #28a745 0%, #20c997 100%) !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 4px 15px rgba(40, 167, 69, 0.3) !important;
    position: relative !important;
    overflow: hidden !important;
    font-weight: 600 !important;
}

.button-order-again::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: -100% !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent) !important;
    transition: left 0.5s ease !important;
}

.button-order-again:hover::before {
    left: 100% !important;
}

.button-order-again:hover {
    background: linear-gradient(135deg, #218838 0%, #1aa179 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(40, 167, 69, 0.4) !important;
}

.button-order-again:active {
    transform: translateY(0) !important;
}

.button-order-again i {
    margin-right: 8px !important;
    position: relative !important;
    z-index: 1 !important;
    transition: transform 0.3s ease !important;
}

.button-order-again:hover i {
    transform: rotate(180deg) !important;
}

/* Responsividade - Mobile */
@media (max-width: 768px) {
    .checkout-thankyou-wrapper {
        padding: 15px 10px !important;
        min-height: 100vh !important;
    }
    
    .thankyou-header {
        padding: 15px 0 !important;
        margin-bottom: 15px !important;
    }
    
    .thankyou-header-content {
        gap: 12px !important;
    }
    
    .thankyou-back-button {
        width: 36px !important;
        height: 36px !important;
    }
    
    .thankyou-back-button i {
        font-size: 14px !important;
    }
    
    .thankyou-logo {
        max-height: 35px !important;
    }
    
    .checkout-thankyou-container {
        max-width: 100% !important;
        padding: 0 !important;
    }
    
    .order-complete-box {
        border-radius: 10px !important;
        margin-bottom: 20px !important;
    }
    
    .thankyou-success-card {
        padding: 25px 15px !important;
        margin-bottom: 0 !important;
        border-radius: 0 !important;
    }
    
    .thankyou-success-card .success-icon {
        font-size: 50px !important;
        margin-bottom: 15px !important;
    }
    
    .thankyou-success-card .success-title {
        font-size: 22px !important;
        margin: 0 0 8px 0 !important;
    }
    
    .thankyou-success-card .success-message {
        font-size: 14px !important;
        margin: 0 0 20px 0 !important;
    }
    
    .order-info-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
        margin-top: 15px !important;
        padding-bottom: 0 !important;
    }
    
    .order-info-item {
        padding: 10px 12px !important;
        gap: 8px !important;
        border-radius: 6px !important;
    }
    
    .order-info-item .info-icon {
        width: 24px !important;
        height: 24px !important;
        min-width: 24px !important;
        font-size: 14px !important;
    }
    
    .order-info-item .info-content {
        gap: 2px !important;
    }
    
    .order-info-item .info-label {
        font-size: 9px !important;
        margin: 0 !important;
        letter-spacing: 0.2px !important;
    }
    
    .order-info-item .info-value {
        font-size: 12px !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    .order-info-item .info-value.total-value {
        font-size: 13px !important;
        padding: 0 !important;
    }
    
    .order-complete-box .order-details-section {
        padding: 20px 15px !important;
        margin-bottom: 0 !important;
        border-radius: 0 !important;
    }
    
    .order-details-section .section-title {
        font-size: 18px !important;
        margin: 0 0 15px 0 !important;
        padding-bottom: 12px !important;
    }
    
    .order-details-section table.woocommerce-table--order-details th,
    .order-details-section table.woocommerce-table--order-details td {
        padding: 12px 8px !important;
        font-size: 13px !important;
    }
    
    .order-details-section table.woocommerce-table--order-details thead th {
        font-size: 11px !important;
    }
    
    .order-details-section table.woocommerce-table--order-details tfoot tr:last-child td,
    .order-details-section table.woocommerce-table--order-details tfoot tr:last-child th {
        font-size: 16px !important;
    }
    
    .order-complete-box .order-actions-section {
        padding: 20px 15px !important;
    }
    
    .order-complete-box .order-actions-section .action-buttons {
        flex-direction: column !important;
        gap: 10px !important;
        width: 100% !important;
    }
    
    .order-complete-box .order-actions-section .button {
        width: 100% !important;
        justify-content: center !important;
        padding: 14px 20px !important;
        font-size: 14px !important;
    }
    
    .checkout-thankyou-wrapper .woocommerce-columns--addresses {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
    }
    
    .checkout-thankyou-wrapper .woocommerce-customer-details {
        padding: 20px 15px !important;
        margin-bottom: 20px !important;
        border-radius: 10px !important;
    }
    
    .checkout-thankyou-wrapper .woocommerce-customer-details h2,
    .checkout-thankyou-wrapper .woocommerce-column__title {
        font-size: 18px !important;
        margin: 0 0 15px 0 !important;
        padding-bottom: 12px !important;
    }
    
    .checkout-thankyou-wrapper .woocommerce-customer-details address {
        padding: 15px !important;
        font-size: 13px !important;
        line-height: 1.6 !important;
    }
    
    .checkout-thankyou-wrapper .woocommerce-customer-details--phone,
    .checkout-thankyou-wrapper .woocommerce-customer-details--email {
        font-size: 13px !important;
        margin: 10px 0 0 0 !important;
    }
    
    .checkout-thankyou-wrapper .woocommerce-column {
        padding: 20px 15px !important;
        border-radius: 10px !important;
    }
    
    .checkout-thankyou-wrapper .woocommerce-table--custom-fields {
        margin: 15px 0 !important;
        border-radius: 8px !important;
    }
    
    .checkout-thankyou-wrapper .woocommerce-table--custom-fields th,
    .checkout-thankyou-wrapper .woocommerce-table--custom-fields td {
        padding: 12px 10px !important;
        font-size: 13px !important;
    }
    
    .checkout-thankyou-wrapper .woocommerce-table--custom-fields th {
        width: 35% !important;
        font-size: 12px !important;
    }
}

/* Responsividade - Mobile Pequeno */
@media (max-width: 480px) {
    .checkout-thankyou-wrapper {
        padding: 10px 8px !important;
    }
    
    .thankyou-header {
        padding: 10px 0 !important;
        margin-bottom: 10px !important;
    }
    
    .thankyou-header-content {
        gap: 10px !important;
    }
    
    .thankyou-back-button {
        width: 32px !important;
        height: 32px !important;
    }
    
    .thankyou-back-button i {
        font-size: 12px !important;
    }
    
    .thankyou-logo {
        max-height: 30px !important;
    }
    
    .thankyou-success-card {
        padding: 20px 12px !important;
        margin-bottom: 15px !important;
    }
    
    .thankyou-success-card .success-icon {
        font-size: 45px !important;
        margin-bottom: 12px !important;
    }
    
    .thankyou-success-card .success-title {
        font-size: 20px !important;
    }
    
    .thankyou-success-card .success-message {
        font-size: 13px !important;
    }
    
    .order-info-item {
        padding: 10px !important;
        gap: 10px !important;
    }
    
    .order-info-item .info-icon {
        width: 28px !important;
        height: 28px !important;
        font-size: 14px !important;
    }
    
    .order-info-item .info-content {
        gap: 2px !important;
    }
    
    .order-info-item .info-label {
        font-size: 9px !important;
        margin: 0 !important;
    }
    
    .order-info-item .info-value {
        font-size: 12px !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    .order-details-section {
        padding: 15px 12px !important;
    }
    
    .order-details-section .section-title {
        font-size: 16px !important;
    }
    
    .checkout-thankyou-wrapper .woocommerce-customer-details {
        padding: 15px 12px !important;
    }
    
    .checkout-thankyou-wrapper .woocommerce-customer-details address {
        padding: 12px !important;
        font-size: 12px !important;
    }
}

/* Estilizar seção de endereço de cobrança */
.checkout-thankyou-wrapper .woocommerce-customer-details {
    background: #ffffff !important;
    border-radius: 12px !important;
    padding: 30px !important;
    box-shadow: none !important;
    margin-bottom: 25px !important;
    border: none !important;
}

.checkout-thankyou-wrapper .woocommerce-customer-details h2,
.checkout-thankyou-wrapper .woocommerce-column__title {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #294172 !important;
    margin: 0 0 20px 0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
    padding-bottom: 15px !important;
}

.checkout-thankyou-wrapper .woocommerce-customer-details address {
    background: #f9f9f9 !important;
    border: 1px solid #f0f0f0 !important;
    border-radius: 8px !important;
    padding: 20px !important;
    margin: 0 !important;
    font-style: normal !important;
    line-height: 1.8 !important;
    color: #333333 !important;
    font-size: 14px !important;
}

.checkout-thankyou-wrapper .woocommerce-customer-details--phone,
.checkout-thankyou-wrapper .woocommerce-customer-details--email {
    margin: 12px 0 0 0 !important;
    padding: 0 !important;
    color: #333333 !important;
    font-size: 14px !important;
}

/* Layout de colunas para endereços */
.checkout-thankyou-wrapper .woocommerce-columns--addresses {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
    gap: 25px !important;
    margin-top: 20px !important;
}

.checkout-thankyou-wrapper .woocommerce-column {
    background: #ffffff !important;
    border-radius: 12px !important;
    padding: 25px !important;
    border: none !important;
    box-shadow: none !important;
}

/* ============================================
   ESTILOS ESPECÍFICOS PARA PÁGINA ORDER-PAY
   ============================================ */

/* Garantir que o grid funcione na página order-pay */
body.checkout-order-pay-page .checkout-main-content,
body.checkout-order-pay-page .checkout-pay-order-content,
.checkout-pay-order-content.checkout-main-content {
    display: grid !important;
    grid-template-columns: 65% 35% !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    min-height: 100vh !important;
    align-items: stretch !important;
    background: transparent !important;
}

/* No mobile, mudar para coluna única */
@media (max-width: 768px) {
    body.checkout-order-pay-page .checkout-main-content,
    body.checkout-order-pay-page .checkout-pay-order-content,
    .checkout-pay-order-content.checkout-main-content {
        grid-template-columns: 1fr !important;
    }
}

/* O form dentro do checkout-main-content não deve quebrar o grid */
body.checkout-order-pay-page .checkout-main-content form,
body.checkout-order-pay-page .checkout-pay-order-content form,
.checkout-pay-order-content.checkout-main-content form {
    display: contents !important;
    /* contents faz o form desaparecer e seus filhos diretos virarem filhos do grid */
}

/* Garantir que os filhos diretos do form (que agora são filhos do grid) fiquem lado a lado */
body.checkout-order-pay-page .checkout-main-content form > *,
body.checkout-order-pay-page .checkout-pay-order-content form > *,
.checkout-pay-order-content.checkout-main-content form > * {
    display: block !important;
}

/* Garantir que o container-wrapper e order-review fiquem lado a lado */
body.checkout-order-pay-page .checkout-container-wrapper {
    display: block !important;
}

/* Checkout order-review apenas no desktop */
body.checkout-order-pay-page .checkout-order-review {
    display: flex !important;
}

body.checkout-order-pay-page .checkout-custom-wrapper.step-3 .checkout-order-review .checkout-submit-btn,
body.checkout-order-pay-page .checkout-custom-wrapper .checkout-order-review .checkout-submit-btn {
    display: block !important;
}

/* Garantir que a seção de pagamento na página order-pay use os mesmos estilos do checkout normal */
body.checkout-order-pay-page .checkout-section#section-payment {
    display: block !important;
}

/* Ocultar botão mobile no desktop (manter apenas no mobile via media query) */
body.checkout-order-pay-page .checkout-section-footer-mobile {
    display: none !important;
}

/* Ocultar texto de política de privacidade na página order-pay */
body.checkout-order-pay-page .woocommerce-privacy-policy-text,
body.checkout-order-pay-page .woocommerce-privacy-policy-link,
body.checkout-order-pay-page .woocommerce-terms-and-conditions-wrapper,
body.checkout-order-pay-page #terms,
body.checkout-order-pay-page .form-row.terms {
    display: none !important;
}

/* Ocultar coupon-toggle e checkout_coupon na página order-pay */
body.checkout-order-pay-page .coupon-toggle,
body.checkout-order-pay-page .checkout_coupon {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Mostrar botão mobile apenas em telas pequenas */
@media (max-width: 768px) {
    body.checkout-order-pay-page .checkout-section-footer-mobile {
        display: block !important;
    }
    
    /* Ocultar checkout-order-review no mobile na página order-pay - REMOVER COMPLETAMENTE DO GRID */
    body.checkout-order-pay-page .checkout-order-review,
    body.checkout-order-pay-page .checkout-order-summary-pay,
    body.checkout-order-pay-page .checkout-main-content > .checkout-order-review,
    body.checkout-order-pay-page .checkout-pay-order-content > .checkout-order-review,
    body.checkout-order-pay-page form > .checkout-order-review {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        height: 0 !important;
        width: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        position: absolute !important;
        left: -9999px !important;
    }
    
    /* Quando checkout-order-review estiver oculto, checkout-container-wrapper preenche 100% */
    body.checkout-order-pay-page .checkout-main-content,
    body.checkout-order-pay-page .checkout-pay-order-content {
        grid-template-columns: 1fr !important;
    }
    
    body.checkout-order-pay-page .checkout-container-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        padding: 20px 15px !important;
        grid-column: 1 !important;
    }
    
    body.checkout-order-pay-page .checkout-sections-flow {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* Ajustar ordem e espaçamento do order-review-card na página order-pay */
body.checkout-order-pay-page .order-review-card {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

/* Ordem dos elementos: itens > cupom > totais > botão */
body.checkout-order-pay-page .order-review-card .order-items-list {
    order: 1 !important;
    margin-bottom: 20px !important;
}

/* Ocultar coupon-toggle e checkout_coupon na página order-pay - regra específica para order-review-card */
body.checkout-order-pay-page .order-review-card .coupon-toggle,
body.checkout-order-pay-page .order-review-card .checkout_coupon {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.checkout-order-pay-page .order-review-card .review-totals {
    margin-bottom: 25px !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid var(--border-color) !important;
    order: 3 !important;
}

body.checkout-order-pay-page .order-review-card .checkout-final-action {
    order: 4 !important;
    margin-top: 0 !important;
}

/* Botão verde "Pagar agora" na página order-pay */
body.checkout-order-pay-page .checkout-order-review .checkout-submit-btn,
body.checkout-order-pay-page .checkout-final-action .checkout-submit-btn,
body.checkout-order-pay-page #place_order.checkout-submit-btn {
    background: #28a745 !important; /* Verde */
    color: #ffffff !important;
    border: none !important;
}

body.checkout-order-pay-page .checkout-order-review .checkout-submit-btn:hover,
body.checkout-order-pay-page .checkout-final-action .checkout-submit-btn:hover,
body.checkout-order-pay-page #place_order.checkout-submit-btn:hover {
    background: #218838 !important; /* Verde mais escuro no hover */
    box-shadow: 0 4px 12px rgba(40, 167, 69, 0.3) !important;
}
