/**
 * TUH Checkout - Estilos Premium (Modular)
 *
 * GERADO AUTOMATICAMENTE - NAO EDITAR DIRETAMENTE
 * Para editar, modifique os arquivos em modules/ e execute: php build-css.php
 *
 * @package TUH_Checkout
 * @version 2.2.1
 * @generated 2026-02-09 18:45:59
 */

/* ========== SCROLL BEHAVIOR FIX ========== */
body.tuh-checkout-page,
body.tuh-checkout-page html,
html:has(body.tuh-checkout-page) {
    scroll-behavior: auto !important;
}


/* ========== VARIABLES ========== */
/**
 * TUH Checkout - CSS Variables (Design Tokens)
 *
 * Este arquivo define todas as variáveis CSS usadas no checkout.
 * Pode ser importado por outros arquivos CSS para consistência.
 *
 * IMPORTANTE: Estas são fallbacks - as cores reais vêm do CSS dinâmico (admin)
 *
 * @package TUH_Checkout
 * @since 2.2.1
 */

:root {
    /* =============================================
       CORES PRINCIPAIS
       Sobrescritas pelo admin em tempo de execução
       ============================================= */
    --tuh-primary: #8C52FF;
    --tuh-secondary: #6930C3;
    --tuh-text: #1f2937;
    --tuh-background: #f9fafb;
    --tuh-card-bg: #ffffff;
    --tuh-success: #10b981;
    --tuh-error: #ef4444;
    --tuh-button-text: #ffffff;

    /* Cores derivadas */
    --tuh-primary-light: #AB7EFF;
    --tuh-primary-dark: #6930C3;
    --tuh-primary-rgb: 140, 82, 255;
    --tuh-primary-gradient: linear-gradient(135deg, var(--tuh-primary) 0%, var(--tuh-secondary) 100%);

    /* =============================================
       SUMMARY (Order Summary Sidebar)
       ============================================= */
    --tuh-summary-bg: #f5f3ff;
    --tuh-summary-bg-secondary: #ede9fe;
    --tuh-summary-text: #1f2937;
    --tuh-summary-text-muted: rgba(0, 0, 0, 0.6);
    --tuh-summary-border: rgba(0, 0, 0, 0.12);
    --tuh-summary-overlay: rgba(0, 0, 0, 0.08);
    --tuh-summary-overlay-hover: rgba(0, 0, 0, 0.12);
    --tuh-summary-gradient: linear-gradient(135deg, var(--tuh-summary-bg) 0%, var(--tuh-summary-bg-secondary) 100%);

    /* =============================================
       ESCALA DE CINZAS
       Baseada em Tailwind CSS
       ============================================= */
    --tuh-gray-50: #f9fafb;
    --tuh-gray-100: #f3f4f6;
    --tuh-gray-200: #e5e7eb;
    --tuh-gray-300: #d1d5db;
    --tuh-gray-400: #9ca3af;
    --tuh-gray-500: #6b7280;
    --tuh-gray-600: #4b5563;
    --tuh-gray-700: #374151;
    --tuh-gray-800: #1f2937;
    --tuh-gray-900: #111827;

    /* Aliases legados */
    --tuh-white: #ffffff;
    --tuh-light: var(--tuh-gray-50);
    --tuh-gray-light: var(--tuh-gray-300);
    --tuh-gray: var(--tuh-gray-500);
    --tuh-gray-dark: var(--tuh-gray-800);

    /* Aliases úteis */
    --tuh-border-color: var(--tuh-gray-200);
    --tuh-text-muted: var(--tuh-gray-500); /* WCAG 4.5:1 contrast */
    --tuh-text-secondary: var(--tuh-gray-500);
    --tuh-input-bg: var(--tuh-gray-50);
    --tuh-input-border: var(--tuh-gray-300);

    /* =============================================
       CORES FIXAS (não mudam com template)
       ============================================= */
    --tuh-whatsapp: #25D366;
    --tuh-whatsapp-hover: #1da851;
    --tuh-star-filled: #fbbf24;
    --tuh-star-empty: var(--tuh-gray-300);
    --tuh-warning: #f59e0b;
    --tuh-info: #3b82f6;

    /* =============================================
       TIPOGRAFIA
       ============================================= */
    --tuh-font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
    --tuh-font-size-xs: 0.75rem;   /* 12px */
    --tuh-font-size-sm: 0.875rem;  /* 14px */
    --tuh-font-size-md: 1rem;      /* 16px */
    --tuh-font-size-lg: 1.125rem;  /* 18px */
    --tuh-font-size-xl: 1.25rem;   /* 20px */
    --tuh-font-size-2xl: 1.5rem;   /* 24px */
    --tuh-font-size-3xl: 1.875rem; /* 30px */

    /* =============================================
       ESPAÇAMENTO
       ============================================= */
    --tuh-spacing-1: 0.25rem;  /* 4px */
    --tuh-spacing-2: 0.5rem;   /* 8px */
    --tuh-spacing-3: 0.75rem;  /* 12px */
    --tuh-spacing-4: 1rem;     /* 16px */
    --tuh-spacing-5: 1.25rem;  /* 20px */
    --tuh-spacing-6: 1.5rem;   /* 24px */
    --tuh-spacing-8: 2rem;     /* 32px */
    --tuh-spacing-10: 2.5rem;  /* 40px */
    --tuh-spacing-12: 3rem;    /* 48px */

    /* =============================================
       BORDER RADIUS
       ============================================= */
    --tuh-radius-sm: 0.25rem;   /* 4px */
    --tuh-radius-md: 0.5rem;    /* 8px */
    --tuh-radius-lg: 0.75rem;   /* 12px */
    --tuh-radius-xl: 1rem;      /* 16px */
    --tuh-radius-2xl: 1.5rem;   /* 24px */
    --tuh-radius-full: 9999px;

    /* =============================================
       SOMBRAS
       ============================================= */
    --tuh-shadow-sm: 0 1px 3px rgba(15, 17, 24, 0.05), 0 1px 2px rgba(15, 17, 24, 0.1);
    --tuh-shadow-md: 0 4px 6px rgba(15, 17, 24, 0.05), 0 5px 15px rgba(15, 17, 24, 0.1);
    --tuh-shadow-lg: 0 10px 30px rgba(15, 17, 24, 0.1), 0 5px 15px rgba(15, 17, 24, 0.05);
    --tuh-shadow-xl: 0 15px 45px rgba(15, 17, 24, 0.1), 0 10px 20px rgba(15, 17, 24, 0.05);

    /* =============================================
       TRANSIÇÕES
       ============================================= */
    --tuh-transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
    --tuh-transition-normal: 300ms cubic-bezier(0.4, 0, 0.2, 1);
    --tuh-transition-slow: 500ms cubic-bezier(0.4, 0, 0.2, 1);

    /* =============================================
       BREAKPOINTS (referência para media queries)
       Use: @media (max-width: 1024px) - tablet grande
            @media (max-width: 768px)  - tablet
            @media (max-width: 480px)  - mobile
       ============================================= */
    --tuh-breakpoint-lg: 1024px;
    --tuh-breakpoint-md: 768px;
    --tuh-breakpoint-sm: 480px;
}


/* ========== BASE ========== */
/**
 * TUH Checkout - Base Styles
 * Reset, box-sizing, inputs, selects, theme protection
 * @package TUH_Checkout
 */

/* ======= CSS Containment - Isolamento Profissional ======= */
/* Impede que estilos do tema vazem para dentro do checkout */
.tuh-checkout-wrapper {
    /* contain: layout style; -- removido para permitir position: sticky */
    isolation: isolate; /* Cria novo stacking context */
}

/* ======= Zera padding de containers externos (Elementor, temas) ======= */
/* Elementor containers - só zera quando header está escondido */
body.tuh-checkout-page.tuh-hide-header .e-con,
body.tuh-checkout-page.tuh-hide-header .e-con-inner {
    --container-default-padding-top: 0px;
    --container-default-padding-bottom: 0px;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* WordPress genérico - só zera quando header está escondido */
body.tuh-checkout-page.tuh-hide-header .entry-content,
body.tuh-checkout-page.tuh-hide-header .site-content,
body.tuh-checkout-page.tuh-hide-header .content-area,
body.tuh-checkout-page.tuh-hide-header #content,
body.tuh-checkout-page.tuh-hide-header #primary,
body.tuh-checkout-page.tuh-hide-header .site-main,
body.tuh-checkout-page.tuh-hide-header main,
body.tuh-checkout-page.tuh-hide-header article {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Temas específicos - só zera quando header está escondido */
body.tuh-checkout-page.tuh-hide-header .hw-middle-content,
body.tuh-checkout-page.tuh-hide-header .hw-wrapper,
body.tuh-checkout-page.tuh-hide-header .ast-container,
body.tuh-checkout-page.tuh-hide-header .oceanwp-content,
body.tuh-checkout-page.tuh-hide-header .neve-main,
body.tuh-checkout-page.tuh-hide-header .kadence-content {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* ======= Reset & Base - Isolar do tema ======= */
.tuh-checkout-page *,
.tuh-checkout-page *::before,
.tuh-checkout-page *::after {
    box-sizing: border-box;
}

/* Reset completo para inputs dentro do checkout wrapper */
.tuh-checkout-wrapper input[type="text"],
.tuh-checkout-wrapper input[type="email"],
.tuh-checkout-wrapper input[type="tel"],
.tuh-checkout-wrapper input[type="number"],
.tuh-checkout-wrapper input[type="password"],
.tuh-checkout-wrapper input[type="search"],
.tuh-checkout-wrapper input[type="url"],
.tuh-checkout-wrapper select,
.tuh-checkout-wrapper textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid var(--tuh-border-color, #e5e7eb) !important;
    border-radius: var(--tuh-radius-lg, 0.75rem) !important;
    background-color: #ffffff !important;
    background-image: none !important;
    padding: var(--tuh-spacing-3, 0.75rem) var(--tuh-spacing-4, 1rem) !important;
    font-size: var(--tuh-font-size-md, 1rem) !important;
    font-family: var(--tuh-font-family, 'Poppins', sans-serif) !important;
    color: var(--tuh-gray-800, #1f2937) !important;
    width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    line-height: 1.5 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    text-shadow: none !important;
    box-shadow: var(--tuh-shadow-sm, 0 1px 3px rgba(0,0,0,0.05)) !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
    margin: 0 !important;
    outline: none !important;
    filter: none !important;
}

.tuh-checkout-wrapper input:focus,
.tuh-checkout-wrapper select:focus,
.tuh-checkout-wrapper textarea:focus {
    border-color: var(--tuh-primary, #8C52FF) !important;
    background-color: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(var(--tuh-primary-rgb, 140, 82, 255), 0.15) !important;
    outline: none !important;
}

.tuh-checkout-wrapper input::placeholder,
.tuh-checkout-wrapper textarea::placeholder {
    color: var(--tuh-gray-light) !important;
    opacity: 1 !important;
}

/* Reset para selects */
.tuh-checkout-wrapper select {
    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='%235E6378' d='M6 8L1 3h10z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    padding-right: 40px !important;
    cursor: pointer !important;
}

/* Reset para botões */
.tuh-checkout-wrapper button,
.tuh-checkout-wrapper .button,
.tuh-checkout-wrapper input[type="submit"],
.tuh-checkout-wrapper input[type="button"] {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    font-family: var(--tuh-font-family) !important;
}

/* Override Astra, OceanWP, Storefront e outros temas */
.tuh-checkout-wrapper .woocommerce-input-wrapper input,
.tuh-checkout-wrapper .woocommerce-input-wrapper select,
.tuh-checkout-wrapper .woocommerce-input-wrapper textarea,
.tuh-checkout-wrapper .form-row input,
.tuh-checkout-wrapper .form-row select,
.tuh-checkout-wrapper .form-row textarea,
.tuh-checkout-wrapper input.input-text,
.tuh-checkout-wrapper .select2-container .select2-selection {
    border-radius: var(--tuh-radius-lg, 0.75rem) !important;
    background-color: #ffffff !important;
    background-image: none !important;
    border: 1px solid var(--tuh-border-color, #e5e7eb) !important;
    color: var(--tuh-gray-800, #1f2937) !important;
}

.tuh-checkout-wrapper .form-row input:focus,
.tuh-checkout-wrapper .form-row select:focus,
.tuh-checkout-wrapper .form-row textarea:focus,
.tuh-checkout-wrapper input.input-text:focus {
    border-color: var(--tuh-primary, #8C52FF) !important;
    background-color: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(var(--tuh-primary-rgb, 140, 82, 255), 0.15) !important;
}

/* Cupom - reset completo */
/* Coupon section - estilos definidos na seção principal */

/* ======= PROTEÇÃO CONTRA TEMAS - Forçar Centralização ======= */
/* Resets adicionais para garantir que o checkout não seja desalinhado por temas */
.tuh-checkout-page .entry-content,
.tuh-checkout-page .site-content,
.tuh-checkout-page #content,
.tuh-checkout-page #primary,
.tuh-checkout-page #main,
.tuh-checkout-page article.page,
.tuh-checkout-page .hentry {
    text-align: center !important;
}

/* ======= FIX UNIVERSAL: Containers Flexbox ======= */
/* Muitos temas modernos usam flexbox no container pai, o que quebra margin: auto */
/* Esta regra força centralização mesmo em containers flex */
.tuh-checkout-page .entry-content,
.tuh-checkout-page .page-content,
.tuh-checkout-page .post-content,
.tuh-checkout-page .site-content,
.tuh-checkout-page .content-area,
.tuh-checkout-page #content,
.tuh-checkout-page #primary,
.tuh-checkout-page #main,
.tuh-checkout-page .site-main,
.tuh-checkout-page article.page,
.tuh-checkout-page article.post,
.tuh-checkout-page .hentry,
.tuh-checkout-page .type-page,
.tuh-checkout-page .woocommerce,
.tuh-checkout-page .woocommerce-page {
    /* Forçar block para que margin auto funcione */
    display: block !important;
    /* Fallback: se ainda for flex, centralizar */
    justify-content: center !important;
    align-items: flex-start !important;
}

/* Garantir que wrappers intermediários não bloqueiem */
.tuh-checkout-page .entry-content > *:not(.tuh-checkout-wrapper),
.tuh-checkout-page .page-content > *:not(.tuh-checkout-wrapper),
.tuh-checkout-page .site-main > *:not(.tuh-checkout-wrapper) {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
}

/* Wrapper do checkout - garantir centralização absoluta */
.tuh-checkout-page .tuh-checkout-wrapper {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
    position: relative !important;
    left: 0 !important;
    right: 0 !important;
    transform: none !important;
}

/* Forçar wrapper a centralizar */
.tuh-checkout-page .tuh-checkout-wrapper,
body.tuh-checkout-page .tuh-checkout-wrapper,
.woocommerce-page .tuh-checkout-wrapper {
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
    text-align: left !important; /* Reset para conteúdo interno */
}

/* Garantir que conteúdo interno não herde text-align center */
.tuh-checkout-wrapper .tuh-form-container,
.tuh-checkout-wrapper .tuh-summary-container {
    text-align: left !important;
}

/* Header e footer - NÃO aplicar estilos agressivos */
/* Removido: Os estilos anteriores estavam causando problemas no header */
/* O header/footer devem manter seus estilos originais do tema */



/* ========== LAYOUT ========== */
/**
 * TUH Checkout - Layout Styles
 * @package TUH_Checkout
 */

/* ======= Main Layout ======= */
.tuh-checkout-wrapper {
    width: calc(100% - 40px);
    max-width: 1100px;
    margin: 0 auto 20px auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    border-radius: 24px;
    overflow: clip; /* clip mantém border-radius mas não bloqueia sticky */
    display: block !important;
    /* background controlado via PHP - var(--tuh-main-cards-bg) */
}

.tuh-checkout-content {
    display: flex;
    width: 100%;
}


/* ======= Left Column - Form ======= */
.tuh-form-container {
    flex: 1 1 55%;
    padding: 25px 35px;
    background-color: var(--tuh-main-cards-bg, var(--tuh-card-bg, #f3f4f6));
}

/* ======= Right Column - Summary ======= */
.tuh-summary-container {
    flex: 1 1 45%;
    background: var(--tuh-main-cards-bg, var(--tuh-card-bg, #ffffff));
    color: var(--tuh-summary-text, #1f2937);
    padding: 35px 30px;
}
.tuh-checkout-content {
    align-items: stretch;
    gap: 28px;
}

.tuh-icon-text {
    font-size: 16px;
    line-height: 1;
    color: inherit;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.5em;
}

.tuh-summary {
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
}

/* ======= Layout Variants ======= */
/* As variações Hero/Minimal/Split foram extraídas para arquivos dedicados em
   assets/css/checkout/layouts/. O arquivo base mantém apenas o layout Classic. */



/* ========== HEADER ========== */
/**
 * TUH Checkout - Header Styles
 * @package TUH_Checkout
 */

/* ======= Logo ======= */
.tuh-logo-container {
    text-align: center;
    margin-bottom: 12px;
}

.tuh-logo img {
    max-height: 60px;
    width: auto;
}

.tuh-logo-text {
    font-size: 20px;
    font-weight: 700;
    color: var(--tuh-secondary);
    text-decoration: none;
    display: inline-block;
    background: var(--tuh-primary-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ======= Header ======= */
.tuh-checkout-header {
    text-align: center !important;
    margin-bottom: 12px;
}

.tuh-checkout-title {
    font-size: 20px;
    font-weight: 600;
    margin: 0 0 4px 0;
    background: var(--tuh-primary-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    display: inline-block;
}

.tuh-checkout-subtitle {
    color: var(--tuh-gray);
    font-size: 12px;
    margin: 0;
    font-weight: 400;
}

.tuh-inline-header {
    margin-bottom: 20px;
}



/* ========== STEPS ========== */
/**
 * TUH Checkout - Steps Styles
 * @package TUH_Checkout
 */

/* ======= Steps Indicator ======= */
.tuh-steps-container {
    display: flex;
    margin-bottom: 16px;
    position: relative;
    max-width: 450px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.tuh-steps-container::before {
    content: '';
    position: absolute;
    top: 15px;
    left: 16.66%;
    right: 16.66%;
    height: 2px;
    background-color: var(--tuh-gray-200);
    z-index: 1;
}

.tuh-step {
    flex: 1;
    text-align: center;
    position: relative;
    z-index: 2;
    cursor: pointer;
}

.tuh-step-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin: 0 auto 8px;
    background-color: var(--tuh-white);
    border: 2px solid var(--tuh-border-color);
    border-radius: 50%;
    color: var(--tuh-text-muted);
    font-weight: 600;
    font-size: 13px;
    transition: all 0.3s ease;
}

.tuh-step.active .tuh-step-number,
.tuh-step.completed .tuh-step-number {
    background: var(--tuh-primary-gradient);
    border-color: var(--tuh-primary);
    color: var(--tuh-white);
}

.tuh-step.completed .tuh-step-number::after {
    content: '\f00c';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    font-size: 12px;
}

.tuh-step.completed .tuh-step-number span {
    display: none;
}

.tuh-step-text {
    font-size: 12px;
    color: var(--tuh-text-muted);
    font-weight: 500;
    transition: color 0.3s ease;
}

.tuh-step.active .tuh-step-text,
.tuh-step.completed .tuh-step-text {
    color: var(--tuh-primary);
    font-weight: 600;
}




/* ========== FORMS ========== */
/**
 * TUH Checkout - Forms Styles
 * @package TUH_Checkout
 */

/* ======= Form Steps ======= */
.tuh-form-step {
    display: none;
    animation: tuhFadeIn var(--tuh-transition-normal);
}

.tuh-form-step.active {
    display: block !important;
}

/* Forçar layout vertical dentro dos steps */
.tuh-form-step.active > * {
    display: block !important;
    width: 100% !important;
    float: none !important;
}

.tuh-form-step.active > .tuh-form-actions-split {
    display: flex !important;
}

/* Payment section */
.tuh-payment-section {
    display: block !important;
    width: 100% !important;
    margin-top: var(--tuh-spacing-3);
}

.tuh-payment-section > * {
    display: block !important;
    width: 100% !important;
}

#order_review,
.tuh-order-review,
.woocommerce-checkout-review-order {
    display: block !important;
    width: 100% !important;
}

/* Secure payment info - garantir que seja block e full width */
.tuh-secure-payment-info {
    display: flex !important;
    align-items: center;
    gap: var(--tuh-spacing-3);
    width: 100% !important;
    clear: both !important;
    padding: var(--tuh-spacing-4);
    background: rgba(0, 200, 83, 0.1);
    border-radius: var(--tuh-radius-lg);
    margin-bottom: var(--tuh-spacing-6);
}

.tuh-secure-payment-info i {
    color: var(--tuh-success);
    font-size: var(--tuh-font-size-xl);
    flex-shrink: 0;
}

.tuh-secure-payment-info p {
    margin: 0;
    font-size: var(--tuh-font-size-sm);
    color: var(--tuh-gray);
}

/* Reset específico para Step 2 ATIVO - forçar coluna única */
#tuh-step-2.active > div,
#tuh-step-2.active > section {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    float: none !important;
    clear: both !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* WooCommerce checkout payment - forçar layout vertical */
#tuh-step-2.active .woocommerce-checkout-payment,
#tuh-step-2.active #payment {
    display: block !important;
    width: 100% !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

#payment,
.woocommerce-checkout-payment {
    border: none !important;
    background: transparent !important;
}

#tuh-step-2.active .woocommerce-checkout-payment > *,
#tuh-step-2.active #payment > * {
    display: block !important;
    width: 100% !important;
}

/* WC notices - full width */
#tuh-step-2.active .woocommerce-notice,
#tuh-step-2.active .woocommerce-info,
#tuh-step-2.active .woocommerce-error,
#tuh-step-2.active .woocommerce-message {
    display: block !important;
    width: 100% !important;
    margin-bottom: var(--tuh-spacing-4) !important;
}

/* Privacy policy text */
#tuh-step-2.active .woocommerce-privacy-policy-text,
#tuh-step-2.active .woocommerce-terms-and-conditions-wrapper {
    display: block !important;
    width: 100% !important;
}

/* Compactar área de privacy/terms */
.woocommerce-privacy-policy-text {
    font-size: var(--tuh-font-size-xs) !important;
    color: var(--tuh-gray) !important;
    margin: var(--tuh-spacing-3) 0 !important;
    line-height: 1.5 !important;
}

.woocommerce-privacy-policy-text p {
    margin: 0 !important;
}

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

/* ======= Form Fields ======= */
.tuh-checkout-form .form-row {
    margin-bottom: var(--tuh-spacing-3);
    position: relative;
}

.tuh-checkout-form label {
    display: block;
    margin-bottom: var(--tuh-spacing-1);
    font-weight: 500;
    color: var(--tuh-gray-dark);
    font-size: var(--tuh-font-size-sm);
    transition: color var(--tuh-transition-normal);
}

.tuh-checkout-form label .required {
    color: var(--tuh-error);
}

.tuh-checkout-form .input-text,
.tuh-checkout-form input[type="text"],
.tuh-checkout-form input[type="email"],
.tuh-checkout-form input[type="tel"],
.tuh-checkout-form input[type="number"],
.tuh-checkout-form input[type="password"],
.tuh-checkout-form select,
.tuh-checkout-form textarea {
    width: 100%;
    padding: var(--tuh-spacing-3) var(--tuh-spacing-4);
    font-size: var(--tuh-font-size-md);
    font-family: var(--tuh-font-family);
    color: var(--tuh-gray-dark);
    background-color: var(--tuh-light);
    border: 2px solid transparent;
    border-radius: var(--tuh-radius-lg);
    transition: all var(--tuh-transition-normal);
    box-shadow: var(--tuh-shadow-sm);
}

.tuh-checkout-form input::placeholder,
.tuh-checkout-form textarea::placeholder {
    color: var(--tuh-gray-light);
}

.tuh-checkout-form input:focus,
.tuh-checkout-form select:focus,
.tuh-checkout-form textarea:focus {
    outline: none;
    border-color: var(--tuh-primary);
    background-color: var(--tuh-white);
    box-shadow: 0 0 0 3px rgba(var(--tuh-primary-rgb), 0.2);
}

.tuh-checkout-form .woocommerce-invalid input,
.tuh-checkout-form .woocommerce-invalid select {
    border-color: var(--tuh-error);
}

.tuh-checkout-form .woocommerce-validated input,
.tuh-checkout-form .woocommerce-validated select {
    border-color: var(--tuh-success);
}

/* Select2 Override - Estilos do input MOVIDOS para _overrides.css (centralizado) */

/* Select2 Dropdown - Renderizado no body, fora do wrapper */
/* Usa variáveis do plugin para respeitar cores do template */
.select2-container--open .select2-dropdown {
    background-color: var(--tuh-input-bg, var(--tuh-card-bg, #ffffff)) !important;
    border-color: var(--tuh-border-color, var(--tuh-gray-200, #e5e7eb)) !important;
    border-radius: var(--tuh-radius-lg, 0.75rem) !important;
    box-shadow: var(--tuh-shadow-lg, 0 10px 30px rgba(0,0,0,0.1)) !important;
}

.select2-container--open .select2-search--dropdown {
    padding: var(--tuh-spacing-2, 0.5rem) !important;
    background-color: var(--tuh-input-bg, var(--tuh-card-bg, #ffffff)) !important;
}

.select2-container--open .select2-search__field {
    background-color: var(--tuh-input-bg, var(--tuh-gray-50, #f9fafb)) !important;
    color: var(--tuh-text, var(--tuh-gray-dark, #1f2937)) !important;
    border: 1px solid var(--tuh-border-color, var(--tuh-gray-200, #e5e7eb)) !important;
    border-radius: var(--tuh-radius-md, 0.5rem) !important;
    padding: var(--tuh-spacing-2, 0.5rem) var(--tuh-spacing-3, 0.75rem) !important;
    font-family: var(--tuh-font-family, 'Poppins', sans-serif) !important;
}

.select2-container--open .select2-search__field::placeholder {
    color: var(--tuh-text-muted, var(--tuh-gray-400, #9ca3af)) !important;
}

.select2-container--open .select2-results__options {
    background-color: var(--tuh-input-bg, var(--tuh-card-bg, #ffffff)) !important;
    max-height: 250px !important;
}

.select2-container--open .select2-results__option {
    color: var(--tuh-text, var(--tuh-gray-dark, #1f2937)) !important;
    background-color: var(--tuh-input-bg, var(--tuh-card-bg, #ffffff)) !important;
    padding: var(--tuh-spacing-2, 0.5rem) var(--tuh-spacing-3, 0.75rem) !important;
    font-family: var(--tuh-font-family, 'Poppins', sans-serif) !important;
    transition: background-color 0.15s ease !important;
}

.select2-container--open .select2-results__option--highlighted,
.select2-container--open .select2-results__option:hover {
    background-color: var(--tuh-primary, #8C52FF) !important;
    color: var(--tuh-button-text, #ffffff) !important;
}

.select2-container--open .select2-results__option--selected {
    background-color: var(--tuh-primary-light, rgba(140, 82, 255, 0.1)) !important;
    color: var(--tuh-primary, #8C52FF) !important;
}

.select2-container--open .select2-results__option--disabled {
    color: var(--tuh-text-muted, var(--tuh-gray-400, #9ca3af)) !important;
    background-color: var(--tuh-gray-100, #f3f4f6) !important;
}

/* ======= Section Subtitle ======= */
.tuh-section-subtitle {
    display: flex;
    align-items: center;
    gap: var(--tuh-spacing-2);
    font-size: var(--tuh-font-size-lg);
    font-weight: 600;
    color: var(--tuh-gray-dark);
    margin: var(--tuh-spacing-4) 0;
    padding-bottom: var(--tuh-spacing-2);
    border-bottom: 2px solid var(--tuh-light);
}

.tuh-section-subtitle i {
    color: var(--tuh-primary);
    font-size: var(--tuh-font-size-xl);
}



/* ========== BUTTONS ========== */
/**
 * TUH Checkout - Buttons Styles
 * @package TUH_Checkout
 */

/* ======= Buttons ======= */
.tuh-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--tuh-spacing-2);
    height: 48px;
    padding: 0 var(--tuh-spacing-8);
    font-size: var(--tuh-font-size-md);
    font-weight: 600;
    font-family: var(--tuh-font-family);
    border-radius: var(--tuh-btn-radius, var(--tuh-radius-lg));
    cursor: pointer;
    transition: all var(--tuh-transition-normal);
    border: none;
    text-decoration: none;
}

.tuh-btn-primary {
    position: relative;
    background: var(--tuh-primary-gradient);
    color: var(--tuh-white);
    box-shadow: var(--tuh-shadow-md);
    overflow: hidden;
    z-index: 1;
}

.tuh-btn-primary::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.12);
    opacity: 0;
    transition: opacity var(--tuh-transition-normal);
    pointer-events: none;
    border-radius: inherit;
    z-index: -1;
}

.tuh-btn-primary:hover::after {
    opacity: 1;
}

.tuh-btn-primary:hover {
    box-shadow: var(--tuh-shadow-lg);
}

.tuh-btn-secondary {
    background: var(--tuh-light);
    color: var(--tuh-gray-dark);
}

.tuh-btn-secondary:hover {
    background: var(--tuh-gray-light);
}

.tuh-form-actions {
    margin-top: var(--tuh-spacing-6);
}

.tuh-form-actions-split {
    display: flex;
    gap: var(--tuh-spacing-4);
    align-items: center;
}

/* Espaçamento específico para Step 2 - botão Voltar */
#tuh-step-2 .tuh-form-actions-split {
    margin-top: var(--tuh-spacing-5);
    padding-top: var(--tuh-spacing-4);
    border-top: 1px solid var(--tuh-gray-light);
}


.tuh-btn-next {
    width: 100%;
}

.tuh-centered {
    text-align: center;
}



/* ========== PAYMENT ========== */
/**
 * TUH Checkout - Payment Styles
 * @package TUH_Checkout
 */

/* ======= Payment Section ======= */

/* Bloquear CSS problemático do tema Astra APENAS na área de checkout */
/* IMPORTANTE: Usar seletores específicos para não afetar header/footer */
/* NÃO remover margin para manter centralização do layout */
.tuh-checkout-page .site-content .ast-separate-container,
.tuh-checkout-page .site-content .ast-container,
.tuh-checkout-page .entry-content .ast-separate-container,
.tuh-checkout-page .entry-content .ast-container,
.tuh-checkout-page .tuh-checkout-wrapper .ast-container {
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

/* Override padding-top do Astra/temas - Desktop 20px, Mobile 0 */
/* Aplicar só no .tuh-checkout-page diretamente para evitar duplicação */
.tuh-checkout-page .tuh-checkout-wrapper {
    margin-top: 20px;
}

/* Zerar paddings do tema que podem duplicar */
.tuh-checkout-page .entry-content > .wp-block-group,
.tuh-checkout-page .entry-content > .wp-block-cover,
.tuh-checkout-page .entry-content > .wp-block-columns,
.tuh-checkout-page .ast-article-single,
.tuh-checkout-page article.page {
    padding-top: 0 !important;
}

@media (max-width: 768px) {
    .tuh-checkout-page .tuh-checkout-wrapper {
        margin-top: 10px;
    }
}

/* Esconder "— OR —" do Stripe Express Checkout */
#wc-stripe-express-checkout-button-separator,
.wc-stripe-express-checkout-button-separator,
[id*="express-checkout-button-separator"],
#wc-stripe-express-checkout-element {
    display: none !important;
}

/* Payment Methods - Estilo bonito */
.wc_payment_methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 var(--tuh-spacing-4) 0 !important;
}

.wc_payment_methods li {
    margin-bottom: var(--tuh-spacing-4);
}

.wc_payment_methods > li > label {
    display: flex !important;
    align-items: center;
    gap: var(--tuh-spacing-3);
    padding: 16px 20px !important;
    background: var(--tuh-white);
    border: 2px solid var(--tuh-gray-light);
    border-radius: var(--tuh-radius-lg);
    cursor: pointer;
    transition: all var(--tuh-transition-normal);
    margin: 0 !important;
    position: relative;
    z-index: 1;
}

/* Garantir que o radio funcione mesmo escondido */
.wc_payment_methods li input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    pointer-events: none !important;
}

.wc_payment_methods > li > label:hover {
    border-color: var(--tuh-primary);
    background: rgba(var(--tuh-primary-rgb), 0.02);
}

.wc_payment_methods > li.payment_method_selected > label,
.wc_payment_methods > li > input[type="radio"]:checked + label {
    border-color: var(--tuh-primary);
    background: rgba(var(--tuh-primary-rgb), 0.05);
    border-radius: var(--tuh-radius-lg);
}

/* Radio button customizado */
.wc_payment_methods > li > label::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    min-width: 20px;
    margin-left: 4px;
    border: 2px solid var(--tuh-gray-light);
    border-radius: 50%;
    transition: all var(--tuh-transition-normal);
}

.wc_payment_methods > li.payment_method_selected > label::before,
.wc_payment_methods > li > input[type="radio"]:checked + label::before {
    border-color: var(--tuh-primary);
    background: var(--tuh-primary);
    box-shadow: inset 0 0 0 4px var(--tuh-white);
}


/* Payment box (formulário do gateway) */
.wc_payment_methods .payment_box {
    background: rgba(var(--tuh-primary-rgb), 0.03);
    padding: var(--tuh-spacing-5);
    border: 2px solid var(--tuh-primary);
    border-radius: var(--tuh-radius-lg);
    font-size: var(--tuh-font-size-sm);
    color: var(--tuh-gray);
    margin-top: var(--tuh-spacing-3);
}

/* Remover seta/triângulo do WooCommerce */
.wc_payment_methods .payment_box::before,
.wc_payment_methods .payment_box::after {
    display: none !important;
}

/* Checkbox "Save payment" */
.woocommerce-SavedPaymentMethods-saveNew {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding: var(--tuh-spacing-2) 0 !important;
    margin: var(--tuh-spacing-2) 0 !important;
}

.woocommerce-SavedPaymentMethods-saveNew input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    margin: 2px 0 0 0 !important;
    accent-color: var(--tuh-primary);
}

.woocommerce-SavedPaymentMethods-saveNew label {
    font-size: var(--tuh-font-size-sm) !important;
    color: var(--tuh-gray) !important;
    line-height: 1.4 !important;
}

/* Não aplicar ::before em labels internos */
.wc_payment_methods .payment_box label::before {
    display: none !important;
}

/* Place Order Button */
#place_order {
    position: relative;
    width: 100%;
    padding: var(--tuh-spacing-4) var(--tuh-spacing-6);
    background: var(--tuh-primary-gradient) !important;
    border: none !important;
    border-radius: var(--tuh-btn-radius, var(--tuh-radius-lg)) !important;
    font-size: var(--tuh-font-size-md);
    font-weight: 600;
    font-family: var(--tuh-font-family);
    color: var(--tuh-white) !important;
    cursor: pointer;
    transition: box-shadow var(--tuh-transition-normal);
    box-shadow: var(--tuh-shadow-md);
    overflow: hidden;
    z-index: 1;
}

#place_order::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.12);
    opacity: 0;
    transition: opacity var(--tuh-transition-normal);
    pointer-events: none;
    border-radius: inherit;
    z-index: -1;
}

#place_order:hover::after {
    opacity: 1;
}

#place_order:hover {
    box-shadow: var(--tuh-shadow-lg);
}

#place_order:disabled {
    opacity: 0.7;
    cursor: not-allowed;
    transform: none;
}

/* Fallback para qualquer método de pagamento sem estilo específico */
.wc_payment_methods > li > label img {
    max-height: 28px;
    width: auto;
    margin-right: 4px;
}



/* ========== SUMMARY ========== */
/**
 * TUH Checkout - Summary Styles
 * @package TUH_Checkout
 */

/* ======= Summary Styles ======= */
.tuh-summary-title {
    color: var(--tuh-summary-text);
    margin-bottom: 20px;
    font-size: 18px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
}

.tuh-summary-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 24px;
    padding: 0 7px;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    background: var(--tuh-primary, #8C52FF);
    border-radius: 12px;
    line-height: 1;
}

/* Products in Summary */
.tuh-summary-products {
    margin-bottom: 20px;
}

.tuh-product-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    background-color: var(--tuh-summary-overlay);
    border: 1px solid var(--tuh-summary-border);
    border-radius: 10px;
    margin-bottom: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.tuh-product-item:last-child {
    margin-bottom: 0;
}

.tuh-product-image {
    width: 50px;
    height: 50px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    background: var(--tuh-summary-overlay-hover);
}

.tuh-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tuh-product-details {
    flex: 1;
    min-width: 0;
}

.tuh-product-name {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: var(--tuh-summary-text);
    margin-bottom: 4px;
    line-height: 1.4;
}

.tuh-product-qty {
    font-size: 12px;
    color: var(--tuh-summary-text-muted);
}

.tuh-product-price {
    font-size: 15px;
    font-weight: 600;
    color: var(--tuh-summary-text);
    white-space: nowrap;
}

.tuh-summary-item-editable {
    position: relative;
    padding-right: 42px;
}

.tuh-summary-remove {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 1px solid var(--tuh-summary-border);
    background: var(--tuh-summary-overlay-hover);
    color: var(--tuh-summary-text);
    font-size: 16px;
    line-height: 1;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all var(--tuh-transition-fast);
}

.tuh-summary-remove:hover {
    background: var(--tuh-summary-overlay);
    border-color: rgba(0, 0, 0, 0.25);
    color: var(--tuh-error, #ef4444);
}

.tuh-summary-qty {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 2px 8px;
    border-radius: 999px;
    border: 1px solid var(--tuh-summary-border);
    background: var(--tuh-summary-overlay-hover);
    width: fit-content;
}

.tuh-summary-qty-label {
    font-size: 12px;
    color: var(--tuh-summary-text-muted);
    letter-spacing: 0.2px;
}

.tuh-summary-qty-btn {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 1px solid var(--tuh-summary-border);
    background: var(--tuh-summary-bg);
    color: var(--tuh-summary-text);
    font-size: 14px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all var(--tuh-transition-fast);
}

.tuh-summary-qty-btn:hover {
    background: var(--tuh-summary-overlay);
}

.tuh-summary-qty-value {
    min-width: 16px;
    text-align: center;
    font-size: 12px;
    font-weight: 600;
    color: var(--tuh-summary-text);
}

.tuh-summary-item-updating {
    opacity: 0.6;
    pointer-events: none;
}

.tuh-mobile-product-editable {
    position: relative;
    padding-right: 0;
}

.tuh-mobile-product-editable .tuh-summary-remove {
    position: static;
    transform: none;
    margin-left: 6px;
    flex-shrink: 0;
}

.tuh-mobile-product .tuh-summary-qty {
    margin-top: 4px;
}

/* Order Bump Item - MOVIDO para /Features/OrderBump/assets/css/summary-item.css */

/* Coupon Section */
.tuh-coupon-section {
    background: var(--tuh-summary-overlay);
    border-radius: var(--tuh-radius-lg);
    padding: var(--tuh-spacing-4);
    margin-bottom: var(--tuh-spacing-5);
    border: 1px solid var(--tuh-summary-border);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    transition: all var(--tuh-transition-normal);
}

.tuh-coupon-section:hover {
    background: var(--tuh-summary-overlay-hover);
    border-color: rgba(0, 0, 0, 0.15);
}

.tuh-coupon-toggle {
    display: flex;
    align-items: center;
    gap: var(--tuh-spacing-3);
    cursor: pointer;
    font-size: var(--tuh-font-size-sm);
    color: var(--tuh-summary-text);
    font-weight: 500;
    transition: all var(--tuh-transition-fast);
}

.tuh-coupon-toggle i:first-child {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--tuh-summary-overlay-hover);
    border-radius: var(--tuh-radius-md);
    font-size: var(--tuh-font-size-md);
}

.tuh-coupon-toggle span {
    flex: 1;
}

.tuh-coupon-toggle:hover {
    color: var(--tuh-primary);
}

.tuh-coupon-arrow {
    transition: transform var(--tuh-transition-normal);
    font-size: var(--tuh-font-size-xs);
    opacity: 0.7;
}

.tuh-coupon-section.active .tuh-coupon-arrow {
    transform: rotate(180deg);
}

.tuh-coupon-form {
    display: none;
    margin-top: var(--tuh-spacing-4);
    padding-top: var(--tuh-spacing-4);
    border-top: 1px solid var(--tuh-summary-border);
}

.tuh-coupon-section.active .tuh-coupon-form {
    display: block;
    animation: tuhFadeIn var(--tuh-transition-normal);
}

.tuh-input-group {
    display: flex;
    gap: var(--tuh-spacing-3);
}

.tuh-coupon-input {
    flex: 1;
    padding: var(--tuh-spacing-3) var(--tuh-spacing-4);
    border: 2px solid var(--tuh-summary-border);
    border-radius: var(--tuh-radius-lg);
    background: var(--tuh-white);
    color: var(--tuh-summary-text);
    font-size: var(--tuh-font-size-md);
    font-family: var(--tuh-font-family);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.tuh-coupon-input::placeholder {
    color: var(--tuh-summary-text-muted);
    text-transform: none;
    letter-spacing: normal;
}

.tuh-coupon-input:focus {
    outline: none;
    border-color: var(--tuh-primary);
    background: var(--tuh-white);
    box-shadow: 0 0 0 3px rgba(140, 82, 255, 0.15);
}

.tuh-coupon-btn {
    padding: var(--tuh-spacing-3) var(--tuh-spacing-5) !important;
    background: var(--tuh-primary) !important;
    border: none !important;
    border-radius: 0 var(--tuh-radius-md) var(--tuh-radius-md) 0 !important;
    color: var(--tuh-white) !important;
    font-size: var(--tuh-font-size-sm) !important;
    font-weight: 600 !important;
    font-family: var(--tuh-font-family) !important;
    cursor: pointer !important;
    transition: all var(--tuh-transition-normal) !important;
    white-space: nowrap !important;
}

.tuh-coupon-btn:hover {
    background: var(--tuh-secondary) !important;
    color: var(--tuh-white) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

/* Summary Totals */
.tuh-summary-totals {
    margin-bottom: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--tuh-summary-border);
}

.tuh-total-line {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    font-size: 13px;
    color: var(--tuh-summary-text);
}

.tuh-total-line.tuh-discount {
    color: var(--tuh-success);
}

.tuh-total-line.tuh-total-final {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--tuh-summary-border);
    font-weight: 700;
    font-size: 18px;
    color: var(--tuh-summary-text);
    margin-bottom: 0;
}

/* Benefits */
.tuh-benefits {
    margin-bottom: 20px;
    padding: 16px;
    background: var(--tuh-summary-overlay);
    border-radius: 10px;
}

.tuh-benefits-title {
    color: var(--tuh-summary-text);
    margin-bottom: 12px;
    font-size: 14px;
    font-weight: 600;
}

.tuh-benefits-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.tuh-benefits-list li {
    display: flex;
    align-items: center;
    margin-bottom: 8px;
    font-size: 12px;
    color: var(--tuh-summary-text);
    opacity: 0.85;
}

.tuh-benefits-list li:last-child {
    margin-bottom: 0;
}

.tuh-benefits-list i {
    color: var(--tuh-success);
    margin-right: 10px;
    font-size: 12px;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(74, 222, 128, 0.2);
    border-radius: 50%;
}

/* Support Contact */
.tuh-support-contact {
    margin-bottom: 24px;
    text-align: center;
}

.tuh-support-contact > p {
    margin-bottom: 12px;
    color: var(--tuh-summary-text);
    opacity: 0.7;
    font-size: 13px;
}

.tuh-contact-methods {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.tuh-contact-method {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    background-color: var(--tuh-summary-overlay-hover);
    border-radius: 8px;
    color: var(--tuh-summary-text);
    text-decoration: none;
    font-size: 13px;
    transition: all 0.2s ease;
}

.tuh-contact-method:hover {
    background-color: rgba(0, 0, 0, 0.1);
    color: var(--tuh-summary-text);
}

.tuh-contact-method i {
    font-size: var(--tuh-font-size-lg);
}

/* Secure Badges */
.tuh-secure-badges {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 24px;
    padding-top: 20px;
    margin-top: 20px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    flex-wrap: wrap;
}

.tuh-secure-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: var(--tuh-summary-text);
    opacity: 0.7;
    font-size: 13px;
    white-space: nowrap;
}

.tuh-secure-badge i {
    font-size: 16px;
}



/* ========== NOTICES ========== */
/**
 * TUH Checkout - Notices & Messages
 * Confirmation, loading, notices, errors, coupon messages
 * @package TUH_Checkout
 */

/* ======= Confirmation Step ======= */
.tuh-confirmation-content {
    text-align: center;
    padding: var(--tuh-spacing-8) 0;
}

.tuh-success-icon {
    margin-bottom: var(--tuh-spacing-6);
}

.tuh-success-icon i {
    font-size: 80px;
    color: var(--tuh-success);
    animation: tuhSuccessPulse 2s ease-in-out infinite;
}

@keyframes tuhSuccessPulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.1);
    }
}

.tuh-confirmation-content h2 {
    font-size: var(--tuh-font-size-2xl);
    color: var(--tuh-gray-dark);
    margin-bottom: var(--tuh-spacing-4);
}

.tuh-confirmation-content > p {
    color: var(--tuh-gray);
    margin-bottom: var(--tuh-spacing-6);
}

.tuh-next-steps {
    background: var(--tuh-light);
    border-radius: var(--tuh-radius-lg);
    padding: var(--tuh-spacing-6);
    margin-bottom: var(--tuh-spacing-6);
    text-align: left;
}

.tuh-next-steps h3 {
    font-size: var(--tuh-font-size-lg);
    color: var(--tuh-gray-dark);
    margin-bottom: var(--tuh-spacing-4);
}

.tuh-next-steps ol {
    padding-left: var(--tuh-spacing-5);
    margin: 0;
}

.tuh-next-steps li {
    margin-bottom: var(--tuh-spacing-2);
    color: var(--tuh-gray);
}

/* ======= Loading Overlay ======= */
.tuh-loading-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(26, 27, 37, 0.9);
    display: none;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    z-index: 9999;
    backdrop-filter: blur(5px);
}

.tuh-loading-overlay.active {
    display: flex;
}

.tuh-spinner {
    width: 50px;
    height: 50px;
    border: 3px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top-color: var(--tuh-white);
    animation: tuhSpin 0.8s linear infinite;
    margin-bottom: var(--tuh-spacing-4);
}

@keyframes tuhSpin {
    to {
        transform: rotate(360deg);
    }
}

.tuh-loading-overlay p {
    color: var(--tuh-white);
    font-size: var(--tuh-font-size-lg);
    margin: 0;
}

/* ======= Notices Container (Dedicated) ======= */
.tuh-notices-container {
    margin-bottom: 0;
    transition: all 0.3s ease;
}

.tuh-notices-container:empty {
    display: none;
}

.tuh-notices-container.has-notices {
    margin-bottom: var(--tuh-spacing-4);
    animation: tuhFadeIn 0.3s ease;
}

/* Notificações dentro do container dedicado */
.tuh-notices-container .woocommerce-NoticeGroup,
.tuh-notices-container .woocommerce-error,
.tuh-notices-container .woocommerce-message,
.tuh-notices-container .woocommerce-info {
    margin-bottom: var(--tuh-spacing-3);
}

.tuh-notices-container .woocommerce-NoticeGroup:last-child,
.tuh-notices-container .woocommerce-error:last-child,
.tuh-notices-container .woocommerce-message:last-child,
.tuh-notices-container .woocommerce-info:last-child {
    margin-bottom: 0;
}

/* Esconder notificações que o WooCommerce insere no form (serão movidas para o container) */
form.checkout > .woocommerce-NoticeGroup,
form.checkout > .woocommerce-error,
form.checkout > .woocommerce-message,
form.checkout > .woocommerce-info {
    display: none !important;
}

/* ======= Error Messages ======= */
.woocommerce-NoticeGroup,
.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
    margin-bottom: var(--tuh-spacing-4);
    padding: var(--tuh-spacing-4);
    border-radius: var(--tuh-radius-lg);
    list-style: none;
}

.woocommerce-error {
    background: rgba(255, 23, 68, 0.1);
    border-left: 4px solid var(--tuh-error);
    color: var(--tuh-error);
}

.woocommerce-message {
    background: rgba(0, 200, 83, 0.1);
    border-left: 4px solid var(--tuh-success);
    color: var(--tuh-success);
}

.woocommerce-info {
    background: rgba(var(--tuh-primary-rgb), 0.1);
    border-left: 4px solid var(--tuh-primary);
    color: var(--tuh-primary);
}

/* Remover TODAS as bordas extras do WooCommerce */
.woocommerce-error,
.woocommerce-message,
.woocommerce-info,
.woocommerce-notice,
.woocommerce-NoticeGroup,
.tuh-checkout-page .woocommerce-error,
.tuh-checkout-page .woocommerce-message,
.tuh-checkout-page .woocommerce-info {
    border: none !important;
    border-left: 4px solid var(--tuh-primary) !important;
    outline: none !important;
    box-shadow: none !important;
}

.woocommerce-error {
    border-left-color: var(--tuh-error) !important;
}

.woocommerce-message {
    border-left-color: var(--tuh-success) !important;
}

/* Esconder ícones quebrados do WooCommerce (quadrados) */
.woocommerce-error::before,
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-notice::before,
.woocommerce-NoticeGroup::before,
.tuh-checkout-page .woocommerce-error::before,
.tuh-checkout-page .woocommerce-message::before,
.tuh-checkout-page .woocommerce-info::before {
    display: none !important;
    content: none !important;
}

/* Remover qualquer ícone dentro dos notices */
.woocommerce-error > .woocommerce-error-icon,
.woocommerce-message > .woocommerce-message-icon,
.woocommerce-info > .woocommerce-info-icon {
    display: none !important;
}

/* ======= Coupon Notices ======= */
.tuh-coupon-notice {
    display: flex;
    align-items: center;
    gap: var(--tuh-spacing-3);
    padding: var(--tuh-spacing-3) var(--tuh-spacing-4);
    border-radius: var(--tuh-radius-md);
    margin: var(--tuh-spacing-3) 0;
    font-size: var(--tuh-font-size-sm);
    animation: tuhFadeIn 0.3s ease;
}

.tuh-coupon-notice i:first-child {
    font-size: var(--tuh-font-size-lg);
}

.tuh-coupon-notice span {
    flex: 1;
}

.tuh-coupon-notice.tuh-notice-error {
    background: rgba(255, 82, 82, 0.1);
    border: 1px solid rgba(255, 82, 82, 0.3);
    color: var(--tuh-error);
}

.tuh-coupon-notice.tuh-notice-success {
    background: rgba(0, 184, 148, 0.1);
    border: 1px solid rgba(0, 184, 148, 0.3);
    color: var(--tuh-success);
}

.tuh-notice-close {
    background: none;
    border: none;
    padding: 4px;
    cursor: pointer;
    opacity: 0.6;
    transition: opacity 0.2s;
    color: inherit;
}

.tuh-notice-close:hover {
    opacity: 1;
}



/* ========== TESTIMONIALS ========== */
/**
 * TUH Checkout - Testimonials Styles
 * @package TUH_Checkout
 */

/* ======= Testimonials Carousel ======= */
.tuh-testimonials {
    margin-top: var(--tuh-spacing-6);
    padding-top: var(--tuh-spacing-6);
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.tuh-testimonials-title {
    font-size: var(--tuh-font-size-base);
    font-weight: 600;
    color: var(--tuh-summary-text);
    margin-bottom: var(--tuh-spacing-4);
}

.tuh-testimonials-carousel {
    position: relative;
    overflow: hidden;
}

.tuh-testimonials-track {
    display: flex;
    transition: transform 0.4s ease-in-out;
}

/* Base do card - será modificado pelos estilos */
.tuh-testimonial-card {
    flex: 0 0 100%;
    padding: var(--tuh-spacing-4);
    border-radius: var(--tuh-radius-lg);
    transition: all 0.3s ease;
}

/* Estilo 1: Glassmorphism (padrão) - Card branco clean */
.tuh-testimonial-card--glass,
.tuh-testimonial-card {
    background: var(--tuh-white);
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.tuh-testimonial-card--glass .tuh-testimonial-name,
.tuh-testimonial-card--glass .tuh-testimonial-text {
    color: var(--tuh-text);
}

.tuh-testimonial-card--glass .tuh-testimonial-text {
    color: var(--tuh-gray);
}

/* Estilo 2: Translúcido - Sutil e integrado */
.tuh-testimonial-card--translucent {
    background: rgba(255, 255, 255, 0.6);
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: none;
}

.tuh-testimonial-card--translucent .tuh-testimonial-name,
.tuh-testimonial-card--translucent .tuh-testimonial-text {
    color: var(--tuh-text);
}

.tuh-testimonial-card--translucent .tuh-testimonial-text {
    color: var(--tuh-gray);
}

/* Estilo 3: Outline - Minimalista com borda */
.tuh-testimonial-card--outline {
    background: transparent;
    border: 2px solid rgba(0, 0, 0, 0.12);
    box-shadow: none;
}

.tuh-testimonial-card--outline:hover {
    border-color: var(--tuh-primary);
}

.tuh-testimonial-card--outline .tuh-testimonial-name,
.tuh-testimonial-card--outline .tuh-testimonial-text {
    color: var(--tuh-text);
}

.tuh-testimonial-card--outline .tuh-testimonial-text {
    color: var(--tuh-gray);
}

/* Estilo 4: Dark Glass - Premium escuro */
.tuh-testimonial-card--dark {
    background: rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.tuh-testimonial-card--dark .tuh-testimonial-name {
    color: var(--tuh-text);
}

.tuh-testimonial-card--dark .tuh-testimonial-text {
    color: var(--tuh-gray);
}

.tuh-testimonial-header {
    display: flex;
    align-items: center;
    gap: var(--tuh-spacing-3);
    margin-bottom: var(--tuh-spacing-3);
}

.tuh-testimonial-photo {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    border: 2px solid var(--tuh-primary);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.tuh-testimonial-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tuh-testimonial-info {
    flex: 1;
}

.tuh-testimonial-name {
    font-weight: 600;
    color: var(--tuh-text);
    font-size: var(--tuh-font-size-sm);
    display: block;
}

.tuh-testimonial-rating {
    display: flex;
    gap: 2px;
    margin-top: 4px;
}

.tuh-testimonial-rating i {
    font-size: 12px;
    color: var(--tuh-star-filled);
}

.tuh-testimonial-rating i.far {
    color: var(--tuh-star-empty);
}

.tuh-testimonial-text {
    font-size: var(--tuh-font-size-sm);
    color: var(--tuh-gray);
    line-height: 1.6;
    font-style: italic;
    margin: 0;
}

.tuh-testimonials-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--tuh-spacing-3);
    margin-top: var(--tuh-spacing-4);
    margin-bottom: var(--tuh-spacing-6);
}

.tuh-testimonial-prev,
.tuh-testimonial-next {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid rgba(0, 0, 0, 0.15);
    background: var(--tuh-white);
    color: var(--tuh-text);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
}

.tuh-testimonial-prev:hover,
.tuh-testimonial-next:hover {
    border-color: var(--tuh-primary);
    color: var(--tuh-primary);
    background: var(--tuh-white);
}

.tuh-testimonials-dots {
    display: flex;
    gap: 8px;
}

.tuh-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.2);
    cursor: pointer;
    transition: all 0.2s;
}

.tuh-dot.active {
    background: var(--tuh-primary);
    transform: scale(1.2);
}

/* WhatsApp button special style */
.tuh-contact-method.tuh-whatsapp {
    background: var(--tuh-whatsapp);
    color: white;
}

.tuh-contact-method.tuh-whatsapp:hover {
    background: var(--tuh-whatsapp-hover);
    color: white;
}

.tuh-contact-method.tuh-telegram {
    background: #1d9bf0;
    color: #fff;
}

.tuh-contact-method.tuh-telegram:hover {
    background: #0c8ad8;
    color: #fff;
}



/* ========== UTILITIES ========== */
/**
 * TUH Checkout - Utilities
 * Hide header/footer, hide WC elements, field widths
 * @package TUH_Checkout
 */

/* ======= ACESSIBILIDADE: Skip Link (WCAG 2.1) ======= */
/* Visível apenas no foco via teclado */
.tuh-skip-link {
    position: absolute;
    top: -100%;
    left: 50%;
    transform: translateX(-50%);
    background: var(--tuh-primary, #8C52FF);
    color: #fff;
    padding: 12px 24px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 600;
    z-index: 10000;
    transition: top 0.2s ease;
}

.tuh-skip-link:focus {
    top: 10px;
    outline: 2px solid #fff;
    outline-offset: 2px;
}

/* Screen reader text (fallback para temas que não definem) */
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    width: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    clip: auto !important;
    clip-path: none;
    height: auto;
    width: auto;
    margin: 0;
    overflow: visible;
}

/* ======= Esconder Header/Footer do Tema ======= */
/* Headers - Seletores para diversos temas populares */
body.tuh-hide-header #masthead,
body.tuh-hide-header header.site-header,
body.tuh-hide-header .site-header,
body.tuh-hide-header #site-header,
body.tuh-hide-header .header,
body.tuh-hide-header #header,
body.tuh-hide-header #navbar,
body.tuh-hide-header .navbar,
body.tuh-hide-header .ast-header,
body.tuh-hide-header .ast-above-header,
body.tuh-hide-header .ast-below-header,
body.tuh-hide-header .ast-main-header-wrap,
body.tuh-hide-header .elementor-location-header,
body.tuh-hide-header nav.navbar,
body.tuh-hide-header .main-navigation,
body.tuh-hide-header .site-branding,
body.tuh-hide-header #site-navigation,
body.tuh-hide-header .menu-toggle,
body.tuh-hide-header .primary-menu,
body.tuh-hide-header .top-bar,
body.tuh-hide-header .top-header,
body.tuh-hide-header #top-header,
body.tuh-hide-header .header-main,
body.tuh-hide-header .header-wrap,
body.tuh-hide-header .header-container,
body.tuh-hide-header .storefront-primary-navigation,
body.tuh-hide-header .storefront-handheld-footer-bar,
body.tuh-hide-header .main-header,
body.tuh-hide-header #main-header,
body.tuh-hide-header .site-header-main,
body.tuh-hide-header .header-area,
body.tuh-hide-header .header-inner,
body.tuh-hide-header .kadence-header,
body.tuh-hide-header .oceanwp-header,
body.tuh-hide-header #oceanwp-header,
body.tuh-hide-header .neve-main-header,
body.tuh-hide-header .hfg_header,
body.tuh-hide-header .wp-site-header,
body.tuh-hide-header header[role="banner"],
body.tuh-hide-header [data-elementor-type="header"],
body.tuh-hide-header .et_pb_menu,
body.tuh-hide-header #et-main-area header,
body.tuh-hide-header .fl-builder-header,
body.tuh-hide-header .ct-header,
body.tuh-hide-header .header-v1,
body.tuh-hide-header .header-v2,
body.tuh-hide-header .header-v3,
/* GameShop / HexWP Theme */
body.tuh-hide-header #hw-header-wrapper {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

/* Footers - Seletores para diversos temas populares */
body.tuh-hide-footer #colophon,
body.tuh-hide-footer footer.site-footer,
body.tuh-hide-footer .site-footer,
body.tuh-hide-footer #site-footer,
body.tuh-hide-footer .footer,
body.tuh-hide-footer #footer,
body.tuh-hide-footer .ast-footer,
body.tuh-hide-footer .ast-footer-overlay,
body.tuh-hide-footer .ast-small-footer,
body.tuh-hide-footer .site-footer-primary-section-outer,
body.tuh-hide-footer .elementor-location-footer,
body.tuh-hide-footer .footer-widgets,
body.tuh-hide-footer .footer-wrap,
body.tuh-hide-footer .footer-container,
body.tuh-hide-footer .site-info,
body.tuh-hide-footer .footer-area,
body.tuh-hide-footer .footer-inner,
body.tuh-hide-footer .kadence-footer,
body.tuh-hide-footer .oceanwp-footer,
body.tuh-hide-footer #oceanwp-footer,
body.tuh-hide-footer .neve-main-footer,
body.tuh-hide-footer .hfg_footer,
body.tuh-hide-footer .wp-site-footer,
body.tuh-hide-footer footer[role="contentinfo"],
body.tuh-hide-footer [data-elementor-type="footer"],
body.tuh-hide-footer #et_pb_footer,
body.tuh-hide-footer .et_pb_footer,
body.tuh-hide-footer .fl-builder-footer,
body.tuh-hide-footer .ct-footer,
body.tuh-hide-footer .footer-v1,
body.tuh-hide-footer .footer-v2,
body.tuh-hide-footer .storefront-handheld-footer-bar,
body.tuh-hide-footer .bottom-bar,
body.tuh-hide-footer #bottom-bar,
body.tuh-hide-footer .copyright,
body.tuh-hide-footer .copyright-bar,
/* GameShop / HexWP Theme */
body.tuh-hide-footer #hw-footer {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

/* Ajustar body quando header está escondido */
body.tuh-hide-header.tuh-hide-footer {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body.tuh-hide-header #page,
body.tuh-hide-header .site,
body.tuh-hide-header #content,
body.tuh-hide-header main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Body - Aplicar background geral da página */
body.tuh-checkout-page {
    font-family: var(--tuh-font-family);
    font-size: var(--tuh-font-size-md);
    line-height: 1.6;
    color: var(--tuh-gray-dark);
    background-color: var(--tuh-background) !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Forçar wrappers do tema a serem transparentes para mostrar o background do body */
/* IMPORTANTE: Usar seletores específicos para não afetar header/footer */
body.tuh-checkout-page .site > .site-content,
body.tuh-checkout-page #page > #content,
body.tuh-checkout-page #wrapper > .main-container,
body.tuh-checkout-page .site-content > .content-area,
body.tuh-checkout-page #content > #primary,
body.tuh-checkout-page #primary > #main,
body.tuh-checkout-page .content-area > article,
body.tuh-checkout-page article.hentry,
body.tuh-checkout-page .entry-content > .ast-container,
body.tuh-checkout-page .entry-content > .ast-separate-container,
body.tuh-checkout-page #main-content,
body.tuh-checkout-page .site-content,
body.tuh-checkout-page main.site-content,
body.tuh-checkout-page .main-content {
    background: transparent !important;
}

/* Forçar cores corretas nos inputs - Override para temas escuros */
body.tuh-checkout-page input,
body.tuh-checkout-page select,
body.tuh-checkout-page textarea {
    color: var(--tuh-gray-dark, #1f2937) !important;
}

/* Reset - remover espaçamentos do tema/WooCommerce APENAS na área de conteúdo */
/* IMPORTANTE: Seletores específicos para não afetar header/footer */
.tuh-checkout-page .site-content #content,
.tuh-checkout-page .site-content #primary,
.tuh-checkout-page .site-content #main,
.tuh-checkout-page .site-content .site-main,
.tuh-checkout-page .site-content .content-area,
.tuh-checkout-page .site-content .woocommerce,
.tuh-checkout-page .site-content .woocommerce-checkout,
.tuh-checkout-page .site-content .entry-content,
.tuh-checkout-page .site-content .page-content,
.tuh-checkout-page .site-content article,
.tuh-checkout-page .site-content .hentry,
.tuh-checkout-page .site-content .entry-header,
.tuh-checkout-page .site-content .entry-title,
.tuh-checkout-page .content-area .entry-header,
.tuh-checkout-page .content-area .entry-title,
.tuh-checkout-page article .entry-header,
.tuh-checkout-page article .entry-title,
.tuh-checkout-page .container,
.tuh-checkout-page .page-content,
.tuh-checkout-page .content-area .container,
.tuh-checkout-page .site-content .container,
.tuh-checkout-page .site-content .page-content {
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
    max-width: none !important;
    width: 100% !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Esconder título vazio da página do tema */
.tuh-checkout-page .entry-header,
.tuh-checkout-page .entry-title,
.tuh-checkout-page article > header.entry-header {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* Container Astra - manter centralização */
.tuh-checkout-page .entry-content .ast-container,
.tuh-checkout-page .entry-content .ast-separate-container {
    padding: 0 !important;
    display: block !important;
    width: 100% !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    /* NÃO remover margin e max-width para manter centralização */
}

/* ======= Hide WC Default Elements ======= */
.tuh-checkout-page .woocommerce-form-coupon-toggle,
.tuh-checkout-page .woocommerce-form-coupon,
.tuh-checkout-page .shop_table.woocommerce-checkout-review-order-table,
.tuh-checkout-page #order_review .shop_table,
.tuh-checkout-page .woocommerce-checkout-review-order-table,
.tuh-checkout-page table.shop_table,
.tuh-checkout-page .cart-subtotal,
.tuh-checkout-page .order-total:not(.tuh-total-final) {
    display: none !important;
}

/* Se WooCommerce injetar total via AJAX, esconder duplicatas */
.tuh-checkout-page #order_review > table,
.tuh-checkout-page .woocommerce-checkout-review-order > table {
    display: none !important;
}

/* Esconder TODAS as tabelas e tfoot dentro do order_review */
.tuh-checkout-page #order_review table,
.tuh-checkout-page #order_review tfoot,
.tuh-checkout-page #order_review thead,
.tuh-checkout-page #order_review tbody,
.tuh-checkout-page #order_review .cart-subtotal,
.tuh-checkout-page #order_review .order-total,
.tuh-checkout-page #order_review .fee,
.tuh-checkout-page #order_review .tax-rate,
.tuh-checkout-page #order_review .shipping,
.tuh-checkout-page .tuh-order-review table,
.tuh-checkout-page .tuh-order-review tfoot {
    display: none !important;
}

/* Manter apenas o payment methods visível */
.tuh-checkout-page #order_review #payment,
.tuh-checkout-page #order_review .woocommerce-checkout-payment,
.tuh-checkout-page .tuh-order-review #payment {
    display: block !important;
}

/* Garantir que qualquer total do WC que apareça tenha estilo correto */
.tuh-checkout-page .order-total td,
.tuh-checkout-page .order-total th,
.tuh-checkout-page .order-total .woocommerce-Price-amount {
    color: var(--tuh-summary-text) !important;
    background: transparent !important;
}

/* Forçar cores corretas nos totais customizados */
.tuh-summary-totals .tuh-total-final,
.tuh-summary-totals .tuh-total-final span {
    color: var(--tuh-summary-text) !important;
}

.tuh-summary-totals .tuh-total-final .woocommerce-Price-amount,
.tuh-summary-totals .tuh-total-final bdi {
    color: var(--tuh-summary-text) !important;
    font-weight: 700 !important;
}

/* Terms Checkbox */
/* ======= Checkboxes de Opt-in (Newsletter + Criar Conta) ======= */

/* Newsletter (TUH Account) */
.tuh-checkout-page #marketing_consent_field {
    margin: 16px 0 !important;
    padding: 0 !important;
}

.tuh-checkout-page #marketing_consent_field label {
    display: flex !important;
    align-items: center;
    gap: 8px;
}

/* Criar uma conta */
.tuh-checkout-page .woocommerce-account-fields {
    margin-top: 0;
}

/* Checkbox container (p.create-account) */
.tuh-checkout-page .woocommerce-account-fields p.create-account {
    margin: 0 0 var(--tuh-spacing-4) 0 !important;
    padding: 0 !important;
}

.tuh-checkout-page .woocommerce-account-fields p.create-account > label,
.tuh-checkout-page .woocommerce-account-fields p.create-account label.checkbox {
    display: flex !important;
    align-items: center !important;
    gap: var(--tuh-spacing-3) !important;
    cursor: pointer !important;
    flex-wrap: nowrap !important;
}

.tuh-checkout-page .woocommerce-account-fields p.create-account input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    accent-color: var(--tuh-primary);
    cursor: pointer;
    flex-shrink: 0 !important;
    position: relative !important;
}

.tuh-checkout-page .woocommerce-account-fields p.create-account span {
    font-size: var(--tuh-font-size-sm) !important;
    color: var(--tuh-gray-dark) !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}

/* Password field container (div.create-account) - escondido por padrão */
.tuh-checkout-page .woocommerce-account-fields div.create-account {
    display: none;
    margin: 0 0 var(--tuh-spacing-4) 0 !important;
    padding: var(--tuh-spacing-4) !important;
    background: rgba(var(--tuh-primary-rgb), 0.03);
    border: 1px solid var(--tuh-gray-light);
    border-radius: var(--tuh-radius-lg);
}

/* Mostrar quando checkbox está marcado */
.tuh-checkout-page .woocommerce-account-fields div.create-account.show {
    display: block;
}

/* Terms Checkbox */
.tuh-checkout-page .woocommerce-terms-and-conditions-wrapper {
    margin-bottom: var(--tuh-spacing-4);
}

.tuh-checkout-page .woocommerce-terms-and-conditions-wrapper label {
    display: flex !important;
    align-items: flex-start;
    gap: var(--tuh-spacing-3);
    font-size: var(--tuh-font-size-md);
    color: var(--tuh-gray-dark);
    margin: 0;
    line-height: 1.5;
    cursor: pointer;
}

.tuh-checkout-page .woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
    width: 22px;
    height: 22px;
    min-width: 22px;
    margin-top: 2px;
    flex-shrink: 0;
    cursor: pointer;
    accent-color: var(--tuh-primary);
}

/* ======= Campo Largura (Half/Full) ======= */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-billing-fields .woocommerce-billing-fields__field-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 12px !important;
    width: 100% !important;
}

/* Campo largura total */
.tuh-field-full,
p.tuh-field-full,
.form-row.tuh-field-full,
.woocommerce-billing-fields__field-wrapper .tuh-field-full,
.woocommerce-billing-fields__field-wrapper p.tuh-field-full,
.woocommerce-billing-fields__field-wrapper .form-row.tuh-field-full {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: none !important;
}

/* Campo meia largura (lado a lado) */
.tuh-field-half,
p.tuh-field-half,
.form-row.tuh-field-half,
.woocommerce-billing-fields__field-wrapper .tuh-field-half,
.woocommerce-billing-fields__field-wrapper p.tuh-field-half,
.woocommerce-billing-fields__field-wrapper .form-row.tuh-field-half {
    width: calc(50% - 6px) !important;
    flex: 0 0 calc(50% - 6px) !important;
    max-width: calc(50% - 6px) !important;
    float: none !important;
    clear: none !important;
}

/* WooCommerce default classes - compatibilidade com campos de outros plugins */
.woocommerce-billing-fields__field-wrapper .form-row-first,
.woocommerce-billing-fields__field-wrapper .form-row-last {
    width: calc(50% - 6px) !important;
    flex: 0 0 calc(50% - 6px) !important;
    max-width: calc(50% - 6px) !important;
    float: none !important;
    clear: none !important;
    padding: 0 !important;
}

.woocommerce-billing-fields__field-wrapper .form-row-wide {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: none !important;
}

/* Select e Select2 dentro dos campos - expandir para largura total */
.woocommerce-billing-fields__field-wrapper .form-row select,
.woocommerce-billing-fields__field-wrapper .form-row .select2-container {
    width: 100% !important;
}

/* Responsivo - Mobile: todos os campos 100% */
@media (max-width: 480px) {
    .tuh-field-half,
    p.tuh-field-half,
    .form-row.tuh-field-half,
    .woocommerce-billing-fields__field-wrapper .tuh-field-half,
    .woocommerce-billing-fields__field-wrapper p.tuh-field-half,
    .woocommerce-billing-fields__field-wrapper .form-row.tuh-field-half,
    .woocommerce-billing-fields__field-wrapper .form-row-first,
    .woocommerce-billing-fields__field-wrapper .form-row-last {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

/* ==========================================================================
   CRITICAL: Override para compatibilidade com temas escuros
   Esses estilos usam seletores ultra-específicos para garantir que o checkout
   funcione corretamente em qualquer tema, independente de suas cores.
   Usa variáveis CSS do template para respeitar a configuração do admin.
   ========================================================================== */

/* Override máximo para inputs - garante visibilidade em qualquer tema */
html body.tuh-checkout-page .tuh-checkout-wrapper input[type="text"],
html body.tuh-checkout-page .tuh-checkout-wrapper input[type="email"],
html body.tuh-checkout-page .tuh-checkout-wrapper input[type="tel"],
html body.tuh-checkout-page .tuh-checkout-wrapper input[type="number"],
html body.tuh-checkout-page .tuh-checkout-wrapper input[type="password"],
html body.tuh-checkout-page .tuh-checkout-wrapper input[type="search"],
html body.tuh-checkout-page .tuh-checkout-wrapper input[type="url"],
html body.tuh-checkout-page .tuh-checkout-wrapper select,
html body.tuh-checkout-page .tuh-checkout-wrapper textarea,
html body.tuh-checkout-page .tuh-checkout-wrapper .select2-selection,
html body.tuh-checkout-page .tuh-checkout-wrapper .select2-container .select2-selection,
html body.tuh-checkout-page .tuh-checkout-wrapper .woocommerce-input-wrapper input,
html body.tuh-checkout-page .tuh-checkout-wrapper .woocommerce-input-wrapper select,
html body.tuh-checkout-page .tuh-checkout-wrapper input.input-text {
    background-color: var(--tuh-input-bg, var(--tuh-white, #ffffff)) !important;
    color: var(--tuh-text, var(--tuh-gray-800, #1f2937)) !important;
    border-color: var(--tuh-input-border, var(--tuh-gray-300, #d1d5db)) !important;
    -webkit-text-fill-color: var(--tuh-text, var(--tuh-gray-800, #1f2937)) !important;
    caret-color: var(--tuh-primary, #8C52FF) !important;
}

/* Override para Select2 inline (não dropdown) */


/* ========== RESPONSIVE ========== */
/**
 * TUH Checkout - Responsive Styles
 * @package TUH_Checkout
 */

/* ======= Mobile Summary Toggle ======= */
.tuh-mobile-summary-toggle {
    display: none; /* Escondido no desktop */
}

/* ======= Mobile Coupon (fora do resumo) ======= */
.tuh-mobile-coupon-standalone {
    display: none; /* Escondido no desktop */
}

/* ======= Responsive ======= */
@media (max-width: 1024px) {
    /* Mostrar toggle mobile e esconder summary lateral */
    .tuh-mobile-summary-toggle {
        display: block;
        background: var(--tuh-summary-gradient, linear-gradient(135deg, #f5f3ff 0%, #ede9fe 100%));
        border-radius: var(--tuh-radius-lg);
        padding: 0;
        margin-bottom: var(--tuh-spacing-3);
        overflow: hidden;
    }

    /* Header simplificado - 1 linha única */
    .tuh-mobile-summary-header {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        padding: 14px 16px;
        cursor: pointer;
        gap: 10px;
    }

    .tuh-mobile-summary-icon {
        font-size: 16px;
        color: var(--tuh-primary);
        flex: 0 0 auto !important;
    }

    .tuh-mobile-summary-label {
        font-size: 13px;
        font-weight: 500;
        color: var(--tuh-summary-text);
        white-space: nowrap;
        flex: 0 0 auto !important;
    }

    .tuh-mobile-summary-count {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 22px;
        height: 22px;
        padding: 0 6px;
        font-size: 11px;
        font-weight: 700;
        color: #fff;
        background: var(--tuh-primary, #8C52FF);
        border-radius: 11px;
        line-height: 1;
        flex: 0 0 auto !important;
    }

    .tuh-mobile-summary-total {
        font-size: 15px;
        font-weight: 700;
        color: var(--tuh-summary-text);
        line-height: 1;
        white-space: nowrap;
        flex: 0 0 auto !important;
        margin-left: auto;
    }

    .tuh-mobile-summary-arrow {
        font-size: 12px;
        color: var(--tuh-summary-text-muted);
        transition: transform var(--tuh-transition-normal);
        flex: 0 0 auto !important;
    }

    /* Reset WooCommerce price styles dentro do toggle */
    .tuh-mobile-summary-total .woocommerce-Price-amount,
    .tuh-mobile-summary-total .amount {
        font-size: inherit;
        font-weight: inherit;
        color: inherit;
    }

    .tuh-mobile-summary-toggle.active .tuh-mobile-summary-arrow {
        transform: rotate(180deg);
    }

    .tuh-mobile-summary-content {
        display: none;
        padding: 0 16px 16px;
        border-top: 1px solid var(--tuh-summary-border);
        animation: tuhFadeIn var(--tuh-transition-normal);
    }

    .tuh-mobile-summary-toggle.active .tuh-mobile-summary-content {
        display: block;
    }

    .tuh-mobile-products {
        padding-top: var(--tuh-spacing-4);
    }

    /* Cards de produto com mais respiração */
    .tuh-mobile-product {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 12px;
        margin-bottom: 10px;
        background: var(--tuh-summary-overlay);
        border-radius: 10px;
        color: var(--tuh-summary-text);
    }

    .tuh-mobile-product:last-child {
        margin-bottom: 0;
    }

    /* Imagem maior: 48x48 */
    .tuh-mobile-product-img {
        width: 48px;
        height: 48px;
        min-width: 48px;
        border-radius: 8px;
        overflow: hidden;
        background: var(--tuh-summary-overlay-hover);
    }

    .tuh-mobile-product-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .tuh-mobile-product-info {
        flex: 1;
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 3px;
    }

    /* Hierarquia de fontes melhorada */
    .tuh-mobile-product-name {
        font-size: 13px;
        font-weight: 500;
        line-height: 1.35;
        color: var(--tuh-summary-text);
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .tuh-mobile-product-qty {
        font-size: 12px;
        color: var(--tuh-summary-text-muted);
    }

    .tuh-mobile-product-price {
        font-size: 14px;
        font-weight: 700;
        white-space: nowrap;
        color: var(--tuh-summary-text);
    }

    .tuh-mobile-totals {
        margin-top: var(--tuh-spacing-4);
        padding-top: var(--tuh-spacing-4);
        border-top: 1px solid var(--tuh-summary-border);
    }

    .tuh-mobile-total-line {
        display: flex;
        justify-content: space-between;
        color: var(--tuh-summary-text);
        font-size: 13px;
        margin-bottom: 8px;
    }

    .tuh-mobile-total-line.tuh-mobile-discount {
        color: var(--tuh-success);
    }

    .tuh-mobile-total-line.tuh-mobile-total-final {
        margin-top: 12px;
        padding-top: 12px;
        border-top: 1px solid var(--tuh-summary-border);
        font-size: 15px;
        font-weight: 700;
    }

    /* ======= Cupom Mobile Standalone (fora do resumo) ======= */
    .tuh-mobile-coupon-standalone {
        display: block;
        background: var(--tuh-white);
        border: 1px solid var(--tuh-border-color);
        border-radius: var(--tuh-radius-lg);
        margin-bottom: var(--tuh-spacing-4);
        overflow: hidden;
    }

    .tuh-mobile-coupon-header {
        display: flex;
        align-items: center;
        padding: 14px 16px;
        cursor: pointer;
        gap: 12px;
        min-height: 50px;
    }

    .tuh-mobile-coupon-header i:first-child {
        font-size: 16px;
        color: var(--tuh-primary);
    }

    .tuh-mobile-coupon-header span {
        flex: 1;
        font-size: 14px;
        font-weight: 500;
        color: var(--tuh-text);
    }

    .tuh-mobile-coupon-arrow {
        font-size: 12px;
        color: var(--tuh-text-muted);
        transition: transform 0.2s;
    }

    .tuh-mobile-coupon-standalone.active .tuh-mobile-coupon-arrow {
        transform: rotate(180deg);
    }

    .tuh-mobile-coupon-body {
        display: none;
        padding: 0 16px 16px;
        border-top: 1px solid var(--tuh-border-color);
    }

    .tuh-mobile-coupon-standalone.active .tuh-mobile-coupon-body {
        display: block;
    }

    .tuh-mobile-coupon-input-group {
        display: flex;
        gap: 0;
        border-radius: 8px;
        overflow: hidden;
        border: 1px solid var(--tuh-border-color);
        margin-top: 12px;
    }

    .tuh-mobile-coupon-input,
    #mobile_coupon_code {
        flex: 1;
        padding: 14px 16px !important;
        border: none !important;
        border-radius: 0 !important;
        background: var(--tuh-white) !important;
        color: var(--tuh-text) !important;
        font-size: 15px !important;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        box-shadow: none !important;
        outline: none !important;
        height: auto !important;
        min-height: 48px !important;
    }

    .tuh-mobile-coupon-input::placeholder,
    #mobile_coupon_code::placeholder {
        color: var(--tuh-text-muted) !important;
        text-transform: none;
        letter-spacing: normal;
    }

    .tuh-mobile-coupon-input:focus,
    #mobile_coupon_code:focus {
        background: var(--tuh-white) !important;
        box-shadow: none !important;
        border: none !important;
    }

    .tuh-mobile-coupon-btn,
    #tuh-mobile-apply-coupon {
        padding: 14px 20px !important;
        background: var(--tuh-primary) !important;
        border: none !important;
        border-radius: 0 !important;
        color: var(--tuh-white) !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        cursor: pointer;
        transition: background 0.2s;
        white-space: nowrap;
        min-height: 48px !important;
    }

    .tuh-mobile-coupon-btn:hover,
    #tuh-mobile-apply-coupon:hover {
        background: var(--tuh-secondary) !important;
    }

    /* Esconder summary lateral no mobile - fica redundante */
    .tuh-summary-container {
        display: none;
    }
    .tuh-checkout-wrapper {
        width: calc(100% - 30px);
        margin: 0 auto 15px auto;
        border-radius: 20px;
    }

    .tuh-checkout-content {
        flex-direction: column;
    }

    .tuh-form-container {
        flex: none;
        padding: 30px 25px;
    }

    .tuh-summary {
        max-width: 100%;
    }

}

@media (max-width: 768px) {
    .tuh-checkout-wrapper {
        width: calc(100% - 20px);
        margin: 0 auto 10px auto;
        border-radius: 16px;
    }

    .tuh-form-container {
        padding: 25px 20px;
    }

    .tuh-summary-container {
        padding: 25px 20px;
    }

    .tuh-checkout-title {
        font-size: 20px;
    }

    .tuh-checkout-subtitle {
        font-size: 12px;
        color: var(--tuh-text-muted);
    }

    .tuh-steps-container {
        margin-bottom: 20px;
    }

    .tuh-step-number {
        width: 28px;
        height: 28px;
        font-size: 12px;
    }

    .tuh-step-text {
        font-size: 12px;
    }

    /* Botões maiores e mais confortáveis no mobile */
    .tuh-btn {
        min-height: 50px;
        padding: 16px 24px;
        font-size: 15px;
    }

    .tuh-btn-primary {
        font-size: 15px;
        font-weight: 600;
    }

    /* Botão secundário (Voltar) mais discreto */
    .tuh-btn-secondary {
        min-height: 46px;
        font-size: 14px;
    }

    .tuh-form-actions-split {
        flex-direction: column;
        gap: 12px;
    }

    .tuh-form-actions-split .tuh-btn {
        width: 100%;
    }

    /* Compactar espaçamentos no Step 2 mobile */
    #tuh-step-2 .tuh-form-actions-split {
        margin-top: var(--tuh-spacing-4);
        padding-top: var(--tuh-spacing-3);
    }

    .woocommerce-privacy-policy-text {
        font-size: 12px !important;
        margin: var(--tuh-spacing-2) 0 var(--tuh-spacing-3) 0 !important;
    }

    .woocommerce-SavedPaymentMethods-saveNew {
        margin: var(--tuh-spacing-2) 0 !important;
        padding: var(--tuh-spacing-2) 0 !important;
    }

    .woocommerce-SavedPaymentMethods-saveNew label {
        font-size: 12px !important;
    }

    /* Esconder "— OR —" do Stripe no mobile */
    #wc-stripe-express-checkout-button-separator,
    .wc-stripe-express-checkout-button-separator,
    [id*="express-checkout-button-separator"] {
        display: none !important;
    }

    /* Nome e Sobrenome empilhados no mobile */
    .woocommerce-billing-fields__field-wrapper .form-row-first,
    .woocommerce-billing-fields__field-wrapper .form-row-last {
        width: 100% !important;
        float: none !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    /* Garantir que o form não quebre visualmente */
    .tuh-customer-details,
    .woocommerce-billing-fields,
    .woocommerce-billing-fields__field-wrapper {
        width: 100% !important;
    }

    /* Payment methods no mobile - área de toque maior */
    .wc_payment_methods > li > label {
        padding: 14px 16px;
        font-size: var(--tuh-font-size-sm);
        min-height: 52px;
    }

    .wc_payment_methods .payment_box {
        padding: 14px 16px;
    }

    /* Inputs mais confortáveis no mobile */
    .tuh-checkout-wrapper input[type="text"],
    .tuh-checkout-wrapper input[type="email"],
    .tuh-checkout-wrapper input[type="tel"],
    .tuh-checkout-wrapper input[type="number"],
    .tuh-checkout-wrapper input[type="password"],
    .tuh-checkout-wrapper select,
    .tuh-checkout-wrapper textarea {
        padding: 14px 16px !important;
        font-size: 16px !important; /* Previne zoom no iOS */
    }
}

@media (max-width: 480px) {
    .tuh-checkout-wrapper {
        width: calc(100% - 16px);
        margin: 0 auto 8px auto;
        border-radius: 12px;
    }

    .tuh-form-container {
        padding: 20px 16px;
    }

    .tuh-summary-container {
        padding: 20px 16px;
    }

    .tuh-checkout-title {
        font-size: 18px;
    }

    .tuh-logo-container {
        margin-bottom: 12px;
    }

    .tuh-checkout-header {
        margin-bottom: 12px;
    }

    .tuh-steps-container {
        margin-bottom: 16px;
    }

    .tuh-steps-container::before {
        /* Manter a linha visível mas adaptar posição para números menores */
        top: 14px;
        left: 20%;
        right: 20%;
    }

    .tuh-step-text {
        display: none;
    }

    .tuh-step-number {
        margin-bottom: 0;
    }

    .tuh-secure-badges {
        flex-direction: row;
        justify-content: center;
        gap: 16px;
    }

    .tuh-secure-badge {
        font-size: 12px;
    }
}

/* Shortcode de depoimentos externo */
.tuh-testimonials-shortcode {
    margin-top: 15px;
    max-width: 100%;
    overflow: hidden;
}

.tuh-testimonials-shortcode iframe {
    max-width: 100%;
}

/* Order Bump styles moved to src/Features/OrderBump/assets/css/ */



/* ========== OVERRIDES ========== */
/**
 * TUH Checkout - Overrides Styles
 * Reset inteligente e cirurgico para neutralizar CSS do tema
 * SEM quebrar plugins, gateways, Select2, etc.
 *
 * @package TUH_Checkout
 * @since 2.2.3
 */

/* =======================================================
   RESET INTELIGENTE - Neutraliza conflitos do tema
   Segue principio: reset CIRURGICO, nao agressivo
   ======================================================= */

/* 1. Box-sizing global dentro do wrapper (seguro) */
html body.tuh-checkout-page .tuh-checkout-wrapper,
html body.tuh-checkout-page .tuh-checkout-wrapper *,
html body.tuh-checkout-page .tuh-checkout-wrapper *::before,
html body.tuh-checkout-page .tuh-checkout-wrapper *::after {
    box-sizing: border-box;
}

/* 2. Tipografia base - define padrao previsivel */
html body.tuh-checkout-page .tuh-checkout-wrapper {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    color: var(--tuh-text, #374151) !important;
    background-color: var(--tuh-background, #f3f4f6) !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* 3. PARAGRAFOS - O principal vilao (temas adoram p { margin-bottom: 25px }) */
html body.tuh-checkout-page .tuh-checkout-wrapper p {
    margin: 0 0 0.5em 0 !important;
    padding: 0 !important;
    line-height: 1.5 !important;
}

/* Form rows do WooCommerce - sao <p> tambem */
html body.tuh-checkout-page .tuh-checkout-wrapper p.form-row,
html body.tuh-checkout-page .tuh-checkout-wrapper .form-row {
    margin: 0 0 16px 0 !important;
    padding: 0;
}

/* Paragrafos dentro de form-row (descricoes, etc) */
html body.tuh-checkout-page .tuh-checkout-wrapper .form-row p {
    margin: 4px 0 0 0;
}

/* 4. HEADINGS - Padroniza titulos */
html body.tuh-checkout-page .tuh-checkout-wrapper h1,
html body.tuh-checkout-page .tuh-checkout-wrapper h2,
html body.tuh-checkout-page .tuh-checkout-wrapper h3,
html body.tuh-checkout-page .tuh-checkout-wrapper h4,
html body.tuh-checkout-page .tuh-checkout-wrapper h5,
html body.tuh-checkout-page .tuh-checkout-wrapper h6 {
    margin: 0 0 0.5em 0 !important;
    padding: 0 !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    color: var(--tuh-heading, var(--tuh-text, #1f2937)) !important;
}

/* 5. LISTAS - Neutraliza ul/ol/li */
html body.tuh-checkout-page .tuh-checkout-wrapper ul,
html body.tuh-checkout-page .tuh-checkout-wrapper ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

html body.tuh-checkout-page .tuh-checkout-wrapper li {
    margin: 0;
    padding: 0;
}

/* Listas que PRECISAM de estilo (beneficios, steps, etc) - adiciona de volta */
html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-benefits-list li,
html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-next-steps ol li {
    margin-bottom: 8px;
}

/* 6. LABELS - Padroniza (labels de campos de formulário) */
html body.tuh-checkout-page .tuh-checkout-wrapper .form-row > label,
html body.tuh-checkout-page .tuh-checkout-wrapper .woocommerce-billing-fields label,
html body.tuh-checkout-page .tuh-checkout-wrapper .woocommerce-shipping-fields label,
html body.tuh-checkout-page .tuh-checkout-wrapper .woocommerce-additional-fields label {
    display: block !important;
    margin: 0 0 4px 0 !important;
    padding: 0 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    color: var(--tuh-label, var(--tuh-text, #374151)) !important;
}

/* Labels inline (checkboxes, radios) */
html body.tuh-checkout-page .tuh-checkout-wrapper .woocommerce-form__label-for-checkbox,
html body.tuh-checkout-page .tuh-checkout-wrapper label.checkbox {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* 7. INPUTS/SELECT/TEXTAREA - Neutraliza e padroniza */
html body.tuh-checkout-page .tuh-checkout-wrapper input[type="text"],
html body.tuh-checkout-page .tuh-checkout-wrapper input[type="email"],
html body.tuh-checkout-page .tuh-checkout-wrapper input[type="tel"],
html body.tuh-checkout-page .tuh-checkout-wrapper input[type="password"],
html body.tuh-checkout-page .tuh-checkout-wrapper input[type="number"],
html body.tuh-checkout-page .tuh-checkout-wrapper input[type="search"],
html body.tuh-checkout-page .tuh-checkout-wrapper input[type="url"],
html body.tuh-checkout-page .tuh-checkout-wrapper select,
html body.tuh-checkout-page .tuh-checkout-wrapper textarea {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    font-family: inherit !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    min-height: auto !important;
    height: auto !important;
    color: var(--tuh-text, #1f2937) !important;
    background-color: var(--tuh-input-bg, #ffffff) !important;
    background-image: none !important;
    border: 1px solid var(--tuh-border-color, #d1d5db) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

/* Focus state */
html body.tuh-checkout-page .tuh-checkout-wrapper input:focus,
html body.tuh-checkout-page .tuh-checkout-wrapper select:focus,
html body.tuh-checkout-page .tuh-checkout-wrapper textarea:focus {
    outline: none !important;
    border-color: var(--tuh-primary, #8C52FF) !important;
    box-shadow: 0 0 0 3px rgba(140, 82, 255, 0.15) !important;
}

/* Checkbox e Radio - NAO aplicar width:100% */
html body.tuh-checkout-page .tuh-checkout-wrapper input[type="checkbox"],
html body.tuh-checkout-page .tuh-checkout-wrapper input[type="radio"] {
    display: inline-block !important;
    width: auto !important;
    min-width: auto !important;
    min-height: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 8. BUTTONS - Reset SEGURO (NAO remove border/background) */
html body.tuh-checkout-page .tuh-checkout-wrapper button {
    margin: 0;
    padding: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    cursor: pointer;
    /* NAO usar border:none ou background:none aqui!
       Isso quebra botoes especificos como .tuh-summary-qty-btn e .tuh-summary-remove */
}

/* Botoes estilizados do TUH (submit, place_order) */
html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-btn,
html body.tuh-checkout-page .tuh-checkout-wrapper button[type="submit"],
html body.tuh-checkout-page .tuh-checkout-wrapper #place_order {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--tuh-spacing-2, 0.5rem);
    padding: var(--tuh-spacing-4, 1rem) var(--tuh-spacing-8, 2rem);
    font-size: var(--tuh-font-size-md, 1rem);
    font-weight: 600;
    font-family: var(--tuh-font-family, 'Poppins', sans-serif);
    line-height: 1.5;
    color: var(--tuh-button-text, #ffffff);
    background-color: var(--tuh-primary, #8C52FF);
    border: none;
    border-radius: var(--tuh-btn-radius, var(--tuh-radius-lg, 0.75rem));
    cursor: pointer;
    transition: all var(--tuh-transition-normal, 300ms ease);
    text-decoration: none;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-btn:hover,
html body.tuh-checkout-page .tuh-checkout-wrapper button[type="submit"]:hover,
html body.tuh-checkout-page .tuh-checkout-wrapper #place_order:hover {
    background-color: var(--tuh-secondary, #6930C3);
    box-shadow: var(--tuh-shadow-lg, 0 10px 30px rgba(0, 0, 0, 0.1));
}

/* =======================================================
   BOTOES ESPECIFICOS DO TUH - Proteger estilos
   Garante que botoes de quantidade, remover, cupom, etc
   mantenham seus estilos mesmo com reset do tema
   ======================================================= */

/* Botoes de quantidade (+/-) no resumo */
html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-summary-qty-btn {
    box-sizing: border-box !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    min-height: 22px !important;
    max-width: 22px !important;
    max-height: 22px !important;
    padding: 0 !important;
    margin: 0;
    border-radius: 50% !important;
    border: 1px solid var(--tuh-summary-border, rgba(0, 0, 0, 0.12)) !important;
    background: var(--tuh-summary-bg, #ffffff) !important;
    color: var(--tuh-summary-text, #1f2937) !important;
    font-size: 14px !important;
    font-weight: 500;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
    cursor: pointer;
    transition: all var(--tuh-transition-fast, 150ms ease);
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-summary-qty-btn:hover {
    background: var(--tuh-summary-overlay, rgba(0, 0, 0, 0.08)) !important;
}

/* Botao de remover (X) no resumo */
html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-summary-remove {
    box-sizing: border-box !important;
    position: absolute;
    top: 8px;
    right: 8px;
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    min-height: 26px !important;
    max-width: 26px !important;
    max-height: 26px !important;
    padding: 0 !important;
    margin: 0;
    border-radius: 50% !important;
    border: 1px solid var(--tuh-summary-border, rgba(0, 0, 0, 0.12)) !important;
    background: var(--tuh-summary-overlay-hover, rgba(0, 0, 0, 0.08)) !important;
    color: var(--tuh-summary-text, #1f2937) !important;
    font-size: 16px !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
    cursor: pointer;
    transition: all var(--tuh-transition-fast, 150ms ease);
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-summary-remove:hover {
    background: var(--tuh-summary-overlay, rgba(0, 0, 0, 0.12)) !important;
    border-color: rgba(0, 0, 0, 0.25) !important;
    color: var(--tuh-error, #ef4444) !important;
    transform: scale(1.05);
}

/* Botao de cupom */
html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-coupon-btn {
    padding: var(--tuh-spacing-3, 0.75rem) var(--tuh-spacing-5, 1.25rem);
    background: var(--tuh-primary, #8C52FF);
    border: none;
    border-radius: 0 var(--tuh-radius-md, 0.5rem) var(--tuh-radius-md, 0.5rem) 0;
    color: var(--tuh-white, #ffffff);
    font-size: var(--tuh-font-size-sm, 0.875rem);
    font-weight: 600;
    font-family: var(--tuh-font-family, 'Poppins', sans-serif);
    line-height: 1;
    cursor: pointer;
    transition: all var(--tuh-transition-normal, 300ms ease);
    white-space: nowrap;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-coupon-btn:hover {
    background: var(--tuh-secondary, #6930C3);
    color: var(--tuh-white, #ffffff);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Botao mobile do resumo */
html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-mobile-summary-btn {
    padding: 12px 16px;
    border-radius: 8px;
    border: 1px solid var(--tuh-border-color, #e5e7eb);
    background: var(--tuh-card-bg, #ffffff);
    color: var(--tuh-text, #374151);
    font-size: 14px;
    font-weight: 500;
    font-family: var(--tuh-font-family, 'Poppins', sans-serif);
    line-height: 1;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    transition: all var(--tuh-transition-fast, 150ms ease);
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-mobile-summary-btn:hover {
    background: rgba(0, 0, 0, 0.02);
    border-color: var(--tuh-primary, #8C52FF);
}

/* Botao mobile de cupom */
html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-mobile-coupon-btn {
    padding: 8px 12px;
    border-radius: 6px;
    border: 1px solid var(--tuh-border-color, #e5e7eb);
    background: var(--tuh-card-bg, #ffffff);
    color: var(--tuh-text, #374151);
    font-size: 13px;
    font-weight: 500;
    font-family: var(--tuh-font-family, 'Poppins', sans-serif);
    line-height: 1;
    cursor: pointer;
    transition: all var(--tuh-transition-fast, 150ms ease);
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-mobile-coupon-btn:hover {
    background: rgba(0, 0, 0, 0.02);
    border-color: var(--tuh-primary, #8C52FF);
}

/* =======================================================
   9. LINKS - Padroniza sem quebrar navegacao
   ======================================================= */

html body.tuh-checkout-page .tuh-checkout-wrapper a {
    color: var(--tuh-link, var(--tuh-primary, #8C52FF));
    text-decoration: none;
    transition: color 0.2s ease;
}

html body.tuh-checkout-page .tuh-checkout-wrapper a:hover {
    color: var(--tuh-secondary, #7c3aed);
    text-decoration: underline;
}

/* Links dentro de botoes - herda cor do botao */
html body.tuh-checkout-page .tuh-checkout-wrapper button a,
html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-btn a {
    color: inherit;
    text-decoration: none;
}

/* =======================================================
   10. TABELAS - Protege tabelas do WooCommerce (cart, order review)
   ======================================================= */

html body.tuh-checkout-page .tuh-checkout-wrapper table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    margin: 0;
}

html body.tuh-checkout-page .tuh-checkout-wrapper th,
html body.tuh-checkout-page .tuh-checkout-wrapper td {
    padding: 12px 8px;
    text-align: left;
    vertical-align: middle;
    border: none;
}

html body.tuh-checkout-page .tuh-checkout-wrapper thead th {
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--tuh-text-muted, #6b7280);
    border-bottom: 1px solid var(--tuh-border-color, #e5e7eb);
}

html body.tuh-checkout-page .tuh-checkout-wrapper tbody td {
    border-bottom: 1px solid var(--tuh-border-color, #e5e7eb);
}

html body.tuh-checkout-page .tuh-checkout-wrapper tfoot td,
html body.tuh-checkout-page .tuh-checkout-wrapper tfoot th {
    font-weight: 600;
}

/* =======================================================
   11. IMAGENS - Previne overflow e estilos estranhos do tema
   ======================================================= */

html body.tuh-checkout-page .tuh-checkout-wrapper img {
    max-width: 100%;
    height: auto;
    display: block;
    border: none;
    box-shadow: none;
}

/* Imagens inline (icons, logos pequenos) */
html body.tuh-checkout-page .tuh-checkout-wrapper span img,
html body.tuh-checkout-page .tuh-checkout-wrapper a img,
html body.tuh-checkout-page .tuh-checkout-wrapper button img {
    display: inline-block;
    vertical-align: middle;
}

/* =======================================================
   12. TEXTO INLINE - strong, em, small, span
   ======================================================= */

html body.tuh-checkout-page .tuh-checkout-wrapper strong,
html body.tuh-checkout-page .tuh-checkout-wrapper b {
    font-weight: 600;
}

html body.tuh-checkout-page .tuh-checkout-wrapper em,
html body.tuh-checkout-page .tuh-checkout-wrapper i:not(.fas):not(.fa):not(.far):not(.fab) {
    font-style: italic;
}

html body.tuh-checkout-page .tuh-checkout-wrapper small {
    font-size: 0.85em;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-price,
html body.tuh-checkout-page .tuh-checkout-wrapper .woocommerce-Price-amount {
    font-weight: 600;
    white-space: nowrap;
}

/* =======================================================
   13. HR (separadores) - Padroniza
   ======================================================= */

html body.tuh-checkout-page .tuh-checkout-wrapper hr {
    border: none;
    border-top: 1px solid var(--tuh-border-color, #e5e7eb);
    margin: 16px 0;
    height: 0;
}

/* =======================================================
   COMPONENTES ESPECIFICOS - Protege plugins/gateways
   ======================================================= */

/* =====================================================
   SELECT2 CENTRALIZADO - ÚNICA FONTE DE VERDADE
   Usar apenas flexbox para centralização vertical
   ===================================================== */
html body.tuh-checkout-page .tuh-checkout-wrapper .select2-container {
    width: 100% !important;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .select2-selection__placeholder {
    color: var(--tuh-text-muted, #6b7280) !important;
}
html body.tuh-checkout-page .select2-container .select2-selection--single,
html body.tuh-checkout-page .select2-container--default .select2-selection--single,
html body .tuh-checkout-wrapper .select2-container .select2-selection--single,
html body .tuh-checkout-wrapper .select2-container--default .select2-selection--single,
.tuh-checkout-page .select2-container--default .select2-selection--single {
    height: 48px !important;
    min-height: 48px !important;
    box-shadow: none !important;
    border: 2px solid var(--tuh-border-color, #e5e7eb) !important;
    border-radius: var(--tuh-radius-lg, 0.75rem) !important;
    background-color: var(--tuh-light, #f8f9fa) !important;
    display: flex !important;
    align-items: center !important;
}

html body.tuh-checkout-page .select2-container .select2-selection--single .select2-selection__rendered,
html body.tuh-checkout-page .select2-container--default .select2-selection--single .select2-selection__rendered,
html body .tuh-checkout-wrapper .select2-container .select2-selection--single .select2-selection__rendered,
html body .tuh-checkout-wrapper .select2-container--default .select2-selection--single .select2-selection__rendered,
.tuh-checkout-page .select2-container--default .select2-selection--single .select2-selection__rendered {
    height: 100% !important;
    line-height: normal !important;
    padding: 0 16px !important;
    color: var(--tuh-text, #1f2937) !important;
    display: flex !important;
    align-items: center !important;
}

html body.tuh-checkout-page .select2-container .select2-selection--single .select2-selection__arrow,
html body.tuh-checkout-page .select2-container--default .select2-selection--single .select2-selection__arrow,
html body .tuh-checkout-wrapper .select2-container .select2-selection--single .select2-selection__arrow,
html body .tuh-checkout-wrapper .select2-container--default .select2-selection--single .select2-selection__arrow,
.tuh-checkout-page .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100% !important;
    top: 0 !important;
    right: 12px !important;
    display: flex !important;
    align-items: center !important;
}

html body.tuh-checkout-page .select2-container--focus .select2-selection--single,
html body.tuh-checkout-page .select2-container--open .select2-selection--single,
html body .tuh-checkout-wrapper .select2-container--focus .select2-selection--single,
html body .tuh-checkout-wrapper .select2-container--open .select2-selection--single {
    border-color: var(--tuh-primary, #8C52FF) !important;
    box-shadow: 0 0 0 3px rgba(140, 82, 255, 0.2) !important;
}

/* WooCommerce notices - manter espacamento */
html body.tuh-checkout-page .tuh-checkout-wrapper .woocommerce-error,
html body.tuh-checkout-page .tuh-checkout-wrapper .woocommerce-message,
html body.tuh-checkout-page .tuh-checkout-wrapper .woocommerce-info {
    margin: 0 0 20px 0 !important;
    padding: 16px !important;
    list-style: none !important;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .woocommerce-error li,
html body.tuh-checkout-page .tuh-checkout-wrapper .woocommerce-message li,
html body.tuh-checkout-page .tuh-checkout-wrapper .woocommerce-info li {
    margin: 0;
}

/* Payment methods - NAO quebrar gateways */
html body.tuh-checkout-page .tuh-checkout-wrapper #payment {
    background: transparent;
}

html body.tuh-checkout-page .tuh-checkout-wrapper #payment .payment_methods {
    margin: 0;
    padding: 0;
    list-style: none;
}

html body.tuh-checkout-page .tuh-checkout-wrapper #payment .payment_methods li {
    margin: 0 0 12px 0;
    padding: 0;
}

html body.tuh-checkout-page .tuh-checkout-wrapper #payment .payment_box {
    margin: 12px 0 0 0;
    padding: 16px;
    background-color: var(--tuh-card-bg, #f9fafb);
    border-radius: 8px;
}

html body.tuh-checkout-page .tuh-checkout-wrapper #payment .payment_box p {
    margin: 0 0 8px 0;
}

html body.tuh-checkout-page .tuh-checkout-wrapper #payment .payment_box p:last-child {
    margin-bottom: 0;
}

/* =======================================================
   AUTOFILL DO BROWSER - Fix visual
   ======================================================= */

html body.tuh-checkout-page .tuh-checkout-wrapper input:-webkit-autofill,
html body.tuh-checkout-page .tuh-checkout-wrapper input:-webkit-autofill:hover,
html body.tuh-checkout-page .tuh-checkout-wrapper input:-webkit-autofill:focus,
html body.tuh-checkout-page .tuh-checkout-wrapper input:-webkit-autofill:active,
html body.tuh-checkout-page .tuh-checkout-wrapper select:-webkit-autofill,
html body.tuh-checkout-page .tuh-checkout-wrapper textarea:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px var(--tuh-input-bg, #ffffff) inset !important;
    -webkit-text-fill-color: var(--tuh-text, #1f2937) !important;
    box-shadow: 0 0 0 1000px var(--tuh-input-bg, #ffffff) inset !important;
    transition: background-color 5000s ease-in-out 0s !important;
}

/* =======================================================
   BACKGROUND DO BODY - Isola visualmente
   ======================================================= */

html body.tuh-checkout-page {
    background-color: var(--tuh-background, #f3f4f6) !important;
}

/* Esconde containers do tema que possam vazar (faixa branca) */
html body.tuh-checkout-page #content,
html body.tuh-checkout-page .site-content,
html body.tuh-checkout-page .content-area,
html body.tuh-checkout-page .hw-single-content,
html body.tuh-checkout-page .hw-page-content,
html body.tuh-checkout-page .entry-content > *:not(.tuh-checkout-wrapper):not(.tuh-checkout-page):not(.tuh-hero-banner),
html body.tuh-checkout-page main > *:not(.tuh-checkout-wrapper):not(.woocommerce):not(.tuh-checkout-page):not(.tuh-hero-banner) {
    background: transparent !important;
}

/* Garante que o wrapper do tema nao adiciona espaco extra */
html body.tuh-checkout-page .hw-wrapper,
html body.tuh-checkout-page .site-main,
html body.tuh-checkout-page #primary {
    padding-top: 0 !important;
    margin-top: 0 !important;
    background: transparent !important;
}

/* =======================================================
   FIX: Zerar margin-top do TEMA - Faixa branca acima do header
   O tema ou WooCommerce adiciona margin-top:20px via inline style
   ======================================================= */

/* Body - caso o inline style esteja no body */
html body.tuh-checkout-page,
html body.woocommerce-checkout.tuh-checkout-page,
html body.tuh-checkout-page.woocommerce-checkout {
    margin-top: 0 !important;
}

/* Container principal do checkout - apenas o primeiro nivel */
html body.tuh-checkout-page > .woocommerce,
html body.tuh-checkout-page > #page > .woocommerce,
html body.tuh-checkout-page > .hw-wrapper > .woocommerce,
html body.tuh-checkout-page .hw-single-content > .woocommerce {
    margin-top: 0 !important;
}

/* Form do checkout - apenas filho direto do container woocommerce */
html body.tuh-checkout-page .woocommerce > .woocommerce-checkout {
    margin-top: 0 !important;
}

/* =======================================================
   SEGURANCA - Esconde conteudo do tema que vaza
   ======================================================= */

/* Breadcrumbs e titulos do tema (se a opcao estiver ativa) */
body.tuh-checkout-page.tuh-hide-breadcrumbs .woocommerce-breadcrumb,
body.tuh-checkout-page.tuh-hide-breadcrumbs .page-title,
body.tuh-checkout-page.tuh-hide-breadcrumbs .entry-title,
body.tuh-checkout-page.tuh-hide-breadcrumbs .woocommerce-products-header__title {
    display: none !important;
}

/* =======================================================
   FLEX LAYOUTS - Protege componentes com display: flex
   ======================================================= */

/* Coupon toggle */
html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-coupon-toggle {
    display: flex !important;
    align-items: center !important;
    gap: var(--tuh-spacing-3, 0.75rem) !important;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-coupon-toggle i:first-child {
    width: 32px !important;
    height: 32px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

/* Payment methods labels - herda do _payment.css */

/* Coupon notice */
html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-coupon-notice {
    display: flex !important;
    align-items: center !important;
    gap: var(--tuh-spacing-3, 0.75rem) !important;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-coupon-notice i:first-child {
    font-size: var(--tuh-font-size-lg, 1.125rem) !important;
    flex-shrink: 0 !important;
}

/* Section subtitle */
html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-section-subtitle {
    display: flex !important;
    align-items: center !important;
    gap: var(--tuh-spacing-2, 0.5rem) !important;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-section-subtitle i {
    color: var(--tuh-primary, #8C52FF) !important;
    font-size: var(--tuh-font-size-xl, 1.25rem) !important;
    flex-shrink: 0 !important;
}

/* Contact methods */
html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-contact-methods {
    display: flex !important;
    justify-content: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-contact-method {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-contact-method i {
    font-size: var(--tuh-font-size-lg, 1.125rem) !important;
    flex-shrink: 0 !important;
}

/* Summary qty inline-flex */
html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-summary-qty {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

/* =======================================================
   CAROUSEL & ANIMATIONS - Protege transicoes
   ======================================================= */

/* Testimonials carousel */
html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-testimonials-carousel {
    position: relative !important;
    overflow: hidden !important;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-testimonials-track {
    display: flex !important;
    transition: transform 0.4s ease-in-out !important;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-testimonial-card {
    flex: 0 0 100% !important;
}

/* Coupon section animations */
html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-coupon-section.active .tuh-coupon-arrow {
    transform: rotate(180deg) !important;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-coupon-section.active .tuh-coupon-form {
    display: block !important;
}

/* =======================================================
   PSEUDO-ELEMENTOS - Radio/checkbox customizados
   ======================================================= */

/* Radio customizado em payment methods */
html body.tuh-checkout-page .tuh-checkout-wrapper .wc_payment_methods > li > label::before {
    content: '' !important;
    display: inline-block !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    border: 2px solid var(--tuh-gray-light, #d1d5db) !important;
    border-radius: 50% !important;
    transition: all var(--tuh-transition-normal, 300ms ease) !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .wc_payment_methods > li.payment_method_selected > label::before,
html body.tuh-checkout-page .tuh-checkout-wrapper .wc_payment_methods > li > input[type="radio"]:checked + label::before {
    border-color: var(--tuh-primary, #8C52FF) !important;
    background: var(--tuh-primary, #8C52FF) !important;
    box-shadow: inset 0 0 0 4px var(--tuh-white, #ffffff) !important;
}

/* Step number check icon */
html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-step.completed .tuh-step-number::after {
    content: '\f00c' !important;
    font-family: 'Font Awesome 6 Free' !important;
    font-weight: 900 !important;
    font-size: 12px !important;
    color: var(--tuh-white, #ffffff) !important;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-step.completed .tuh-step-number span {
    display: none !important;
}

/* =======================================================
   BOTOES CIRCULARES - Testimonials, Steps, Dots
   ======================================================= */

/* Testimonial navigation buttons */
html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-testimonial-prev,
html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-testimonial-next {
    box-sizing: border-box !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    max-width: 32px !important;
    max-height: 32px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    border: 1px solid rgba(0, 0, 0, 0.15) !important;
    background: var(--tuh-white, #ffffff) !important;
    color: var(--tuh-text, #1f2937) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    flex-shrink: 0 !important;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-testimonial-prev:hover,
html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-testimonial-next:hover {
    border-color: var(--tuh-primary, #8C52FF) !important;
    color: var(--tuh-primary, #8C52FF) !important;
    background: var(--tuh-white, #ffffff) !important;
}

/* Carousel dots */
html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-testimonials-dots {
    display: flex !important;
    gap: 8px !important;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-dot {
    box-sizing: border-box !important;
    width: 8px !important;
    height: 8px !important;
    min-width: 8px !important;
    min-height: 8px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    background: rgba(0, 0, 0, 0.2) !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-dot.active {
    background: var(--tuh-primary, #8C52FF) !important;
    transform: scale(1.2) !important;
}

/* Step number circle */
html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-step-number {
    box-sizing: border-box !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    max-width: 32px !important;
    max-height: 32px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    border: 2px solid var(--tuh-border-color, #e5e7eb) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-step.active .tuh-step-number,
html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-step.completed .tuh-step-number {
    background: var(--tuh-primary-gradient, linear-gradient(135deg, #8C52FF 0%, #6930C3 100%)) !important;
    border-color: var(--tuh-primary, #8C52FF) !important;
    color: var(--tuh-white, #ffffff) !important;
}

/* =======================================================
   HEADER & LOGO - Protege estilos de texto e imagem
   ======================================================= */

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-checkout-header {
    text-align: center !important;
    margin-bottom: 12px !important;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-checkout-title {
    font-size: 20px !important;
    font-weight: 600 !important;
    margin: 0 0 4px 0 !important;
    background: var(--tuh-primary-gradient, linear-gradient(135deg, #8C52FF 0%, #6930C3 100%)) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    display: inline-block !important;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-logo img {
    max-height: 60px !important;
    width: auto !important;
    display: block !important;
    height: auto !important;
}

/* =======================================================
   MOBILE RESPONSIVE - Protege layouts mobile
   NAO forcar display aqui - deixar CSS original controlar visibilidade
   ======================================================= */

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-mobile-summary-toggle {
    /* display controlado pelo CSS original via media queries */
    background: var(--tuh-summary-gradient, linear-gradient(135deg, #f5f3ff 0%, #ede9fe 100%)) !important;
    border-radius: var(--tuh-radius-lg, 0.75rem) !important;
    padding: 0 !important;
    margin-bottom: var(--tuh-spacing-5, 1.25rem) !important;
    overflow: hidden !important;
}

/* Mobile summary header - flexbox para 1 linha única */
html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-mobile-summary-header {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 14px 16px !important;
    cursor: pointer !important;
    gap: 10px !important;
}

/* Elementos do header - flex properties */
html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-mobile-summary-icon {
    flex: 0 0 auto !important;
    font-size: 16px !important;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-mobile-summary-label {
    flex: 0 0 auto !important;
    font-size: 13px !important;
    white-space: nowrap !important;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-mobile-summary-count {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 22px !important;
    height: 22px !important;
    padding: 0 6px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #fff !important;
    background: var(--tuh-primary, #8C52FF) !important;
    border-radius: 11px !important;
    line-height: 1 !important;
    flex: 0 0 auto !important;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-mobile-summary-total {
    flex: 0 0 auto !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    margin-left: auto !important;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-mobile-summary-arrow {
    flex: 0 0 auto !important;
    font-size: 12px !important;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-mobile-product {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

/* =======================================================
   MAIN LAYOUT FLEXBOX - Estrutura das duas colunas
   NAO usar !important aqui - deixar CSS original controlar layout
   ======================================================= */

/* Removido - deixar o CSS original do checkout controlar o layout principal */

/* =======================================================
   ORDER BUMP - Protege estilos do bump item
   ======================================================= */

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-product-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

/* Order Bump Item - MOVIDO para /Features/OrderBump/assets/css/summary-item.css */

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-product-image {
    width: 50px !important;
    height: 70px !important;
    min-width: 50px !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-product-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* =======================================================
   SECURE BADGES - Badges de seguranca
   ======================================================= */

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-secure-badges {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 24px !important;
    flex-wrap: wrap !important;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-secure-badge {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    white-space: nowrap !important;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-secure-badge i {
    font-size: 16px !important;
}

/* =======================================================
   BENEFITS LIST - Lista de beneficios
   ======================================================= */

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-benefits-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-benefits-list li {
    display: flex !important;
    align-items: center !important;
    margin-bottom: 8px !important;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-benefits-list i {
    width: 18px !important;
    height: 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-right: 10px !important;
    flex-shrink: 0 !important;
}

/* =======================================================
   NOTICE CLOSE BUTTON - Botao fechar notificacao
   ======================================================= */

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-notice-close {
    background: none !important;
    border: none !important;
    padding: 4px !important;
    cursor: pointer !important;
    opacity: 0.6 !important;
    transition: opacity 0.2s !important;
    color: inherit !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}

html body.tuh-checkout-page .tuh-checkout-wrapper .tuh-notice-close:hover {
    opacity: 1 !important;
}

/* Hero Layout agora usa hero/base.css - hero-banner está FORA do wrapper */

