/**
 * ABHO Theme - WooCommerce My Account
 * 
 * Redesign completo da área "Minha Conta" do WooCommerce.
 * Navegação com ícones SVG, dashboard com cards informativos,
 * layout responsivo que funciona em todos os endpoints.
 *
 * @package ABHO
 * @since 1.0.0
 */

/* ========================================
   MY ACCOUNT — LAYOUT PRINCIPAL
   Override do float-based layout do WooCommerce
   e compatibilidade com containers Elementor.
   ======================================== */

/* 1. Forçar reset dos floats/widths do woocommerce-layout.css */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
    float: none !important;
    width: auto !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

/* 2. Clearfix — evitar colapso de float residual */
.woocommerce-account .woocommerce::after {
    content: '';
    display: table;
    clear: both;
}

/* 3. Grid layout no container .woocommerce (filho direto do Elementor widget) */
body.woocommerce-account .woocommerce {
    display: grid !important;
    grid-template-columns: 280px 1fr !important;
    grid-template-rows: auto !important;
    gap: var(--abho-spacing-xl) !important;
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--abho-spacing-xl) var(--abho-spacing-md);
    align-items: start;
}

/* 4. Notices: ocupar toda a largura e nunca empurrar nav/content */
body.woocommerce-account .woocommerce > .woocommerce-notices-wrapper {
    grid-column: 1 / -1 !important;
}

/* 5. Posicionamento EXPLÍCITO de nav e content (evita auto-placement errado) */
body.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation {
    grid-column: 1 !important;
    min-width: 0;
}
body.woocommerce-account .woocommerce > .woocommerce-MyAccount-content {
    grid-column: 2 !important;
    min-width: 0;
}

/* 6. Elementor: expandir o widget-container para não comprimir o grid */
body.woocommerce-account .elementor-widget-wc-elements .elementor-widget-container,
body.woocommerce-account .elementor-widget-shortcode .elementor-widget-container {
    max-width: 100%;
    overflow: visible;
}

/* 7. Elementor boxed container: garantir largura suficiente */
body.woocommerce-account .e-con-boxed > .e-con-inner {
    max-width: 1200px;
    width: 100%;
}

/* 8. Responsivo: coluna única em mobile */
@media (max-width: 768px) {
    body.woocommerce-account .woocommerce {
        grid-template-columns: 1fr !important;
        gap: var(--abho-spacing-sm);
        padding: var(--abho-spacing-sm) var(--abho-spacing-sm) var(--abho-spacing-lg);
    }
    body.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation,
    body.woocommerce-account .woocommerce > .woocommerce-MyAccount-content {
        grid-column: 1 !important;
    }
}


/* ========================================
   NAVEGAÇÃO LATERAL
   ======================================== */

.woocommerce-MyAccount-navigation {
    background: var(--abho-white);
    border: 1px solid var(--abho-gray-200);
    border-radius: var(--abho-radius-lg);
    box-shadow: var(--abho-shadow-sm);
    overflow: hidden;
    position: sticky;
    top: calc(68px + var(--abho-spacing-md)); /* abaixo do header sticky */
    align-self: start;
}

/* Cabeçalho da navegação — info do usuário */
.abho-account-nav__header {
    display: flex;
    align-items: center;
    gap: var(--abho-spacing-md);
    padding: var(--abho-spacing-lg);
    background: linear-gradient(135deg, var(--abho-primary) 0%, var(--abho-primary-dark) 100%);
    color: var(--abho-white);
}

.abho-account-nav__avatar {
    flex-shrink: 0;
    position: relative;
}

.abho-account-nav__avatar img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.3);
    object-fit: cover;
}

/* Avatar with photo — edit overlay */
.abho-avatar-wrap--has-photo {
    position: relative;
    display: inline-block;
}

.abho-avatar-edit {
    position: absolute;
    bottom: -2px;
    right: -2px;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--abho-white, #fff);
    border: 2px solid rgba(255, 255, 255, 0.6);
    border-radius: 50%;
    cursor: pointer;
    padding: 0;
    box-shadow: 0 1px 4px rgba(0,0,0,0.15);
    transition: background 0.2s, transform 0.15s;
    color: var(--abho-primary, #00476B);
}

.abho-avatar-edit:hover {
    background: var(--abho-primary-light, #0098D9);
    color: #fff;
    transform: scale(1.1);
}

/* Avatar empty — placeholder + add badge */
.abho-avatar-wrap--empty {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.15);
    border: 2px dashed rgba(255, 255, 255, 0.35);
    cursor: pointer;
    padding: 0;
    transition: background 0.2s, border-color 0.2s;
}

.abho-avatar-wrap--empty:hover {
    background: rgba(255, 255, 255, 0.25);
    border-color: rgba(255, 255, 255, 0.6);
}

.abho-avatar-placeholder {
    color: rgba(255, 255, 255, 0.8);
}

.abho-avatar-add-badge {
    position: absolute;
    bottom: -2px;
    right: -2px;
    color: #fff;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,0.3));
}

.abho-account-nav__user-info {
    min-width: 0;
}

.abho-account-nav__name {
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
}

.abho-account-nav__role {
    font-size: 0.75rem;
    opacity: 0.85;
    margin-top: 2px;
}

/* Lista de navegação */
.woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: var(--abho-spacing-sm) 0;
}

.woocommerce-MyAccount-navigation ul li {
    margin: 0;
    padding: 0;
}

.woocommerce-MyAccount-navigation ul li a {
    display: flex;
    align-items: center;
    gap: var(--abho-spacing-sm);
    padding: var(--abho-spacing-sm) var(--abho-spacing-lg);
    color: var(--abho-gray-700);
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 400;
    transition: all var(--abho-transition);
    border-left: 3px solid transparent;
    position: relative;
}

.woocommerce-MyAccount-navigation ul li a:hover {
    background-color: var(--abho-gray-100);
    color: var(--abho-primary);
    border-left-color: var(--abho-primary-light);
}

.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:focus {
    background-color: var(--abho-primary-light);
    color: var(--abho-primary-dark);
    font-weight: 600;
    border-left-color: var(--abho-primary);
}

/* Ícones SVG na navegação */
.woocommerce-MyAccount-navigation ul li a .abho-nav-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.woocommerce-MyAccount-navigation ul li a .abho-nav-icon svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Separador visual antes do "Sair" */
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout {
    margin-top: var(--abho-spacing-sm);
    border-top: 1px solid var(--abho-gray-200);
    padding-top: var(--abho-spacing-sm);
}

.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a {
    color: var(--abho-error);
}

.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
    background-color: #fef2f2;
    border-left-color: var(--abho-error);
}

/* ========================================
   TOGGLE MODO ADMIN / USUÁRIO
   ======================================== */

.abho-admin-toggle {
    padding: var(--abho-spacing-sm) var(--abho-spacing-lg);
    border-bottom: 1px solid var(--abho-gray-200);
}

.abho-admin-toggle__btn {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 10px 14px;
    border: 2px solid var(--abho-gray-200);
    border-radius: var(--abho-radius-md);
    background: var(--abho-gray-50, #fafafa);
    cursor: pointer;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--abho-gray-600);
    transition: all 0.2s ease;
    text-align: left;
}

.abho-admin-toggle__btn:hover {
    border-color: var(--abho-primary);
    background: rgba(0, 115, 170, 0.04);
    color: var(--abho-primary);
}

/* Icons inside toggle */
.abho-admin-toggle__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    flex-shrink: 0;
    transition: all 0.2s;
}

.abho-admin-toggle__icon--user {
    background: var(--abho-primary-light, #e6f3fa);
    color: var(--abho-primary);
}

.abho-admin-toggle__icon--admin {
    background: #fef3c7;
    color: #d97706;
    display: none;
}

/* Labels */
.abho-admin-toggle__label--admin {
    display: none;
}

/* ── Estado: Modo Admin ATIVADO ── */

.woocommerce-MyAccount-navigation.abho-admin-mode .abho-admin-toggle__btn {
    border-color: #d97706;
    background: #fffbeb;
    color: #92400e;
}

.woocommerce-MyAccount-navigation.abho-admin-mode .abho-admin-toggle__btn:hover {
    border-color: #b45309;
    background: #fef3c7;
}

.woocommerce-MyAccount-navigation.abho-admin-mode .abho-admin-toggle__icon--user {
    display: none;
}

.woocommerce-MyAccount-navigation.abho-admin-mode .abho-admin-toggle__icon--admin {
    display: inline-flex;
}

.woocommerce-MyAccount-navigation.abho-admin-mode .abho-admin-toggle__label--user {
    display: none;
}

.woocommerce-MyAccount-navigation.abho-admin-mode .abho-admin-toggle__label--admin {
    display: inline;
}

/* ── Esconder/mostrar itens conforme o modo ── */

/* Modo Admin: esconde itens de usuário */
.woocommerce-MyAccount-navigation.abho-admin-mode li[data-abho-nav="user"] {
    display: none !important;
}

/* Modo Usuário (padrão): esconde itens admin */
.woocommerce-MyAccount-navigation.abho-user-mode li[data-abho-nav="admin"],
.woocommerce-MyAccount-navigation:not(.abho-admin-mode):not(.abho-user-mode) li[data-abho-nav="admin"] {
    display: none !important;
}

/* Separador visual antes do primeiro item admin visível */
.woocommerce-MyAccount-navigation.abho-admin-mode li[data-abho-nav="admin"]:first-of-type {
    margin-top: var(--abho-spacing-xs);
    padding-top: var(--abho-spacing-xs);
}

/* Itens "always" (ex: logout) sempre visíveis */
.woocommerce-MyAccount-navigation li[data-abho-nav="always"] {
    display: list-item !important;
}

/* Mobile: Navegação horizontal scrollável */
@media (max-width: 768px) {
    .woocommerce-MyAccount-navigation {
        position: static;
        border-radius: var(--abho-radius-md);
    }

    .abho-account-nav__header {
        padding: var(--abho-spacing-md);
    }

    .woocommerce-MyAccount-navigation ul {
        display: flex;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding: var(--abho-spacing-sm);
        gap: var(--abho-spacing-xs);
    }

    .woocommerce-MyAccount-navigation ul::-webkit-scrollbar {
        display: none;
    }

    .woocommerce-MyAccount-navigation ul li a {
        white-space: nowrap;
        padding: var(--abho-spacing-sm) var(--abho-spacing-md);
        border-left: none;
        border-radius: var(--abho-radius-full);
        font-size: 0.8125rem;
    }

    .woocommerce-MyAccount-navigation ul li a:hover,
    .woocommerce-MyAccount-navigation ul li.is-active a {
        border-left: none;
        background-color: var(--abho-primary-light);
    }

    .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout {
        margin-top: 0;
        border-top: none;
        padding-top: 0;
    }

    /* Mobile admin toggle */
    .abho-admin-toggle {
        padding: var(--abho-spacing-xs) var(--abho-spacing-sm);
        border-bottom: none;
    }

    .abho-admin-toggle__btn {
        padding: 8px 12px;
        font-size: 0.75rem;
        border-radius: var(--abho-radius-full);
        width: auto;
        display: inline-flex;
    }

    .abho-admin-toggle__icon {
        width: 22px;
        height: 22px;
        border-radius: 6px;
    }

    /* Mobile: in admin mode, admin items must show as flex */
    .woocommerce-MyAccount-navigation.abho-admin-mode li[data-abho-nav="admin"] {
        display: flex !important;
    }

    /* Mobile: in user mode, user items as flex */
    .woocommerce-MyAccount-navigation.abho-user-mode li[data-abho-nav="user"],
    .woocommerce-MyAccount-navigation:not(.abho-admin-mode):not(.abho-user-mode) li[data-abho-nav="user"] {
        display: flex !important;
    }

    /* Mobile: always items as flex */
    .woocommerce-MyAccount-navigation li[data-abho-nav="always"] {
        display: flex !important;
    }
}


/* ========================================
   CONTEÚDO PRINCIPAL
   ======================================== */

.woocommerce-MyAccount-content {
    min-width: 0;
    overflow: hidden; /* Evitar que tabelas largas quebrem o grid */
}

/* Esconde a mensagem padrão "Olá, fulano..." do WooCommerce dashboard 
   quando nosso template customizado (abho-dashboard) está presente */
.woocommerce-MyAccount-content > .abho-dashboard ~ p,
.woocommerce-MyAccount-content > p:first-child:not(.abho-dashboard) {
    display: none;
}

/* Garantir que o conteúdo WC não receba float residual do woocommerce-smallscreen.css */
@media only screen and (max-width: 768px) {
    .woocommerce-account .woocommerce-MyAccount-content {
        float: none !important;
        width: 100% !important;
    }
}


/* ========================================
   DASHBOARD — CARDS DE BOAS-VINDAS
   ======================================== */

.abho-dashboard {
    display: flex;
    flex-direction: column;
    gap: var(--abho-spacing-lg);
}

/* Cabeçalho de boas-vindas */
.abho-dashboard__welcome {
    background: linear-gradient(135deg, var(--abho-primary) 0%, #0091d4 100%);
    color: var(--abho-white);
    padding: var(--abho-spacing-xl);
    border-radius: var(--abho-radius-lg);
    position: relative;
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--abho-spacing-md);
}

.abho-dashboard__welcome::after {
    content: '';
    position: absolute;
    top: -30%;
    right: -10%;
    width: 250px;
    height: 250px;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 50%;
    pointer-events: none;
}

.abho-dashboard__welcome-content {
    flex: 1 1 300px;
    min-width: 0;
}

.abho-dashboard__welcome-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 var(--abho-spacing-xs);
    color: #fff !important;
}

.abho-dashboard__welcome-subtitle {
    font-size: 0.9375rem;
    opacity: 0.85;
    margin: 0;
    max-width: 600px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.9);
}

.abho-dashboard__welcome-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    position: relative;
    z-index: 1;
}

.abho-dashboard__welcome-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: var(--abho-radius-full);
    font-size: 0.8125rem;
    font-weight: 500;
    color: #fff;
    white-space: nowrap;
}

.abho-dashboard__welcome-tag svg {
    flex-shrink: 0;
    stroke: currentColor;
    fill: none;
    opacity: 0.85;
}

/* Grid de cards informativos */
.abho-dashboard__cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--abho-spacing-md);
}

.abho-dashboard__card {
    background: var(--abho-white);
    border: 1px solid var(--abho-gray-200);
    border-radius: var(--abho-radius-md);
    padding: var(--abho-spacing-lg);
    display: flex;
    flex-direction: column;
    gap: var(--abho-spacing-sm);
    transition: all var(--abho-transition);
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}

.abho-dashboard__card:hover {
    border-color: var(--abho-primary);
    box-shadow: var(--abho-shadow-md);
    transform: translateY(-2px);
}

.abho-dashboard__card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: var(--abho-radius-md);
    background-color: var(--abho-primary-light);
    color: var(--abho-primary);
}

.abho-dashboard__card-icon svg {
    width: 22px;
    height: 22px;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.abho-dashboard__card-icon--success { 
    background-color: #d4edda; 
    color: var(--abho-success); 
}

.abho-dashboard__card-icon--warning { 
    background-color: #fff3cd; 
    color: #b8860b; 
}

.abho-dashboard__card-icon--error { 
    background-color: #f8d7da; 
    color: var(--abho-error); 
}

.abho-dashboard__card-icon--info { 
    background-color: #d1ecf1; 
    color: var(--abho-info); 
}

.abho-dashboard__card-title {
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--abho-gray-500);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0;
}

.abho-dashboard__card-value {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--abho-gray-800);
    line-height: 1.2;
    margin: 0;
}

.abho-dashboard__card-link {
    font-size: 0.8125rem;
    color: var(--abho-primary);
    text-decoration: none;
    font-weight: 500;
    margin-top: auto;
}

.abho-dashboard__card-link:hover {
    text-decoration: underline;
}


/* Atalhos rápidos */
.abho-dashboard__shortcuts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--abho-spacing-md);
}

.abho-dashboard__shortcut {
    display: flex;
    align-items: center;
    gap: var(--abho-spacing-md);
    padding: var(--abho-spacing-md) var(--abho-spacing-lg);
    background: var(--abho-white);
    border: 1px solid var(--abho-gray-200);
    border-radius: var(--abho-radius-md);
    text-decoration: none;
    transition: all var(--abho-transition);
    color: var(--abho-gray-700);
}

.abho-dashboard__shortcut:hover {
    border-color: var(--abho-primary);
    color: var(--abho-primary);
    background: var(--abho-primary-light);
}

.abho-dashboard__shortcut-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    flex-shrink: 0;
}

.abho-dashboard__shortcut-icon svg {
    width: 20px;
    height: 20px;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.abho-dashboard__shortcut-text {
    font-size: 0.875rem;
    font-weight: 500;
}

.abho-dashboard__shortcut-desc {
    font-size: 0.75rem;
    color: var(--abho-gray-500);
    margin-top: 2px;
}


/* ========================================
   SEÇÃO: TÍTULO DAS PÁGINAS INTERNAS
   ======================================== */

.abho-account-page-title {
    display: flex;
    align-items: center;
    gap: var(--abho-spacing-sm);
    margin: 0 0 var(--abho-spacing-lg);
    padding-bottom: var(--abho-spacing-md);
    border-bottom: 1px solid var(--abho-gray-200);
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--abho-gray-800);
}


/* ========================================
   TABELAS DO WOOCOMMERCE (Pedidos, etc.)
   ======================================== */

.woocommerce-MyAccount-content table.shop_table {
    border-collapse: collapse;
    width: 100%;
    background: var(--abho-white);
    border: 1px solid var(--abho-gray-200);
    border-radius: var(--abho-radius-md);
    overflow: hidden;
    font-size: 0.875rem;
}

.woocommerce-MyAccount-content table.shop_table thead th {
    background-color: var(--abho-gray-100);
    color: var(--abho-gray-700);
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: var(--abho-spacing-sm) var(--abho-spacing-md);
    text-align: left;
    border-bottom: 2px solid var(--abho-gray-200);
}

.woocommerce-MyAccount-content table.shop_table tbody td {
    padding: var(--abho-spacing-sm) var(--abho-spacing-md);
    border-bottom: 1px solid var(--abho-gray-200);
    vertical-align: middle;
}

.woocommerce-MyAccount-content table.shop_table tbody tr:last-child td {
    border-bottom: none;
}

.woocommerce-MyAccount-content table.shop_table tbody tr:hover {
    background-color: var(--abho-gray-100);
}

/* Responsivo: tabelas */
@media (max-width: 600px) {
    .woocommerce-MyAccount-content table.shop_table,
    .woocommerce-MyAccount-content table.shop_table thead,
    .woocommerce-MyAccount-content table.shop_table tbody,
    .woocommerce-MyAccount-content table.shop_table tbody tr,
    .woocommerce-MyAccount-content table.shop_table tbody td {
        display: block;
    }

    .woocommerce-MyAccount-content table.shop_table thead {
        display: none;
    }

    .woocommerce-MyAccount-content table.shop_table tbody tr {
        border: 1px solid var(--abho-gray-200);
        border-radius: var(--abho-radius-md);
        margin-bottom: var(--abho-spacing-md);
        padding: var(--abho-spacing-md);
    }

    .woocommerce-MyAccount-content table.shop_table tbody td {
        padding: var(--abho-spacing-xs) 0;
        border-bottom: none;
    }

    .woocommerce-MyAccount-content table.shop_table tbody td::before {
        content: attr(data-title) ": ";
        font-weight: 600;
        color: var(--abho-gray-600);
    }
}


/* ========================================
   FORMULÁRIOS DO WOOCOMMERCE
   ======================================== */

.woocommerce-MyAccount-content .woocommerce-EditAccountForm,
.woocommerce-MyAccount-content .woocommerce-address-fields {
    background: var(--abho-white);
    border: 1px solid var(--abho-gray-200);
    border-radius: var(--abho-radius-md);
    padding: var(--abho-spacing-lg);
}

.woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row,
.woocommerce-MyAccount-content .woocommerce-address-fields .form-row {
    margin-bottom: var(--abho-spacing-md);
}

.woocommerce-MyAccount-content .woocommerce-EditAccountForm label,
.woocommerce-MyAccount-content .woocommerce-address-fields label {
    display: block;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--abho-gray-700);
    margin-bottom: var(--abho-spacing-xs);
}

.woocommerce-MyAccount-content .woocommerce-EditAccountForm input[type="text"],
.woocommerce-MyAccount-content .woocommerce-EditAccountForm input[type="email"],
.woocommerce-MyAccount-content .woocommerce-EditAccountForm input[type="password"],
.woocommerce-MyAccount-content .woocommerce-address-fields input[type="text"],
.woocommerce-MyAccount-content .woocommerce-address-fields select {
    width: 100%;
    padding: 10px 14px;
    font-size: 0.875rem;
    border: 1px solid var(--abho-gray-300);
    border-radius: var(--abho-radius-sm);
    transition: border-color var(--abho-transition), box-shadow var(--abho-transition);
    color: var(--abho-gray-800);
    background: var(--abho-white);
}

.woocommerce-MyAccount-content input:focus,
.woocommerce-MyAccount-content select:focus {
    outline: none;
    border-color: var(--abho-primary);
    box-shadow: 0 0 0 3px rgba(0, 115, 170, 0.15);
}

.woocommerce-MyAccount-content button[type="submit"],
.woocommerce-MyAccount-content .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--abho-spacing-sm);
    padding: 10px 24px;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--abho-white);
    background: var(--abho-primary);
    border: 1px solid var(--abho-primary);
    border-radius: var(--abho-radius-sm);
    cursor: pointer;
    transition: all var(--abho-transition);
    text-decoration: none;
}

.woocommerce-MyAccount-content button[type="submit"]:hover,
.woocommerce-MyAccount-content .button:hover {
    background: var(--abho-primary-dark);
    border-color: var(--abho-primary-dark);
}


/* ========================================
   ASSINATURA — STATUS INLINE
   ======================================== */

.woocommerce-MyAccount-content .subscription-status {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: var(--abho-radius-full);
    font-size: 0.8125rem;
    font-weight: 500;
}


/* ========================================
   NOTICES DO WOOCOMMERCE
   ======================================== */

.woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-MyAccount-content .woocommerce-error,
.woocommerce-MyAccount-content .woocommerce-info {
    padding: var(--abho-spacing-md) var(--abho-spacing-lg);
    border-radius: var(--abho-radius-md);
    margin-bottom: var(--abho-spacing-lg);
    font-size: 0.875rem;
    border: 1px solid;
}

.woocommerce-MyAccount-content .woocommerce-message {
    background-color: #d4edda;
    border-color: var(--abho-success);
    color: #155724;
}

.woocommerce-MyAccount-content .woocommerce-error {
    background-color: #f8d7da;
    border-color: var(--abho-error);
    color: #721c24;
}

.woocommerce-MyAccount-content .woocommerce-info {
    background-color: #d1ecf1;
    border-color: var(--abho-info);
    color: #0c5460;
}


/* ========================================
   EMPTY STATES
   ======================================== */

.woocommerce-MyAccount-content .woocommerce-Message--info {
    text-align: center;
    padding: var(--abho-spacing-xxl) var(--abho-spacing-lg);
    background: var(--abho-gray-100);
    border-radius: var(--abho-radius-md);
    color: var(--abho-gray-600);
}


/* ========================================
   ALERTAS DO DASHBOARD (duplicatas, CPF, etc.)
   ======================================== */

.abho-dashboard__alerts {
    display: flex;
    flex-direction: column;
    gap: var(--abho-spacing-sm);
}

.abho-dashboard__alert {
    display: flex;
    align-items: flex-start;
    gap: var(--abho-spacing-md);
    padding: var(--abho-spacing-md) var(--abho-spacing-lg);
    border-radius: var(--abho-radius-md);
    border: 1px solid;
    font-size: 0.875rem;
    line-height: 1.5;
}

.abho-dashboard__alert--warning {
    background-color: #fff8e1;
    border-color: #ffb300;
    color: #664d03;
}

.abho-dashboard__alert--error {
    background-color: #fef2f2;
    border-color: var(--abho-error);
    color: #721c24;
}

.abho-dashboard__alert--info {
    background-color: #e8f4fd;
    border-color: var(--abho-info);
    color: #0c5460;
}

.abho-dashboard__alert-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    margin-top: 2px;
}

.abho-dashboard__alert-icon svg {
    width: 20px;
    height: 20px;
    stroke: currentColor;
    fill: none;
}

.abho-dashboard__alert--warning .abho-dashboard__alert-icon {
    color: #e65100;
}

.abho-dashboard__alert--error .abho-dashboard__alert-icon {
    color: var(--abho-error);
}

.abho-dashboard__alert--info .abho-dashboard__alert-icon {
    color: var(--abho-info);
}

.abho-dashboard__alert-body {
    flex: 1;
    min-width: 0;
}

.abho-dashboard__alert-title {
    display: block;
    font-weight: 600;
    margin-bottom: 2px;
}

.abho-dashboard__alert-message {
    margin: 0;
}

.abho-dashboard__alert-message strong {
    font-weight: 600;
}

.abho-dashboard__alert-action {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 8px;
    padding: 6px 16px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid currentColor;
    border-radius: 6px;
    font-size: 0.8rem;
    font-weight: 600;
    font-family: inherit;
    color: inherit;
    cursor: pointer;
    transition: background 0.2s, transform 0.1s;
}

.abho-dashboard__alert-action:hover {
    background: #fff;
    transform: translateY(-1px);
}

.abho-dashboard__alert-action:active {
    transform: translateY(0);
}

/* ========================================
   MERGE MODAL — Resolução de duplicatas
   ======================================== */

.abho-merge-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 10000;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.abho-merge-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.abho-merge-modal__content {
    position: relative;
    width: 100%;
    max-width: 520px;
    max-height: 90vh;
    overflow-y: auto;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    z-index: 1;
}

.abho-merge-modal__close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 32px;
    height: 32px;
    background: none;
    border: none;
    border-radius: 50%;
    font-size: 1.3rem;
    color: #999;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s;
    z-index: 2;
}

.abho-merge-modal__close:hover {
    background: #f0f2f5;
    color: #333;
}

.abho-merge-modal__body {
    padding: 28px 24px;
}

/* Loading / Error */
.abho-merge-modal__loading,
.abho-merge-modal__error {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 40px 20px;
    text-align: center;
}

.abho-merge-modal__loading p,
.abho-merge-modal__error p {
    font-size: 0.9rem;
    color: #666;
    margin: 0;
}

.abho-merge-modal__spinner {
    width: 36px;
    height: 36px;
    border: 3px solid #e2e6ea;
    border-top-color: #0098D9;
    border-radius: 50%;
    animation: abho-spin 0.7s linear infinite;
}

.abho-merge-modal__spinner--small {
    width: 16px;
    height: 16px;
    border-width: 2px;
    display: inline-block;
    vertical-align: middle;
}

/* Step Header */
.abho-merge-modal__header {
    text-align: center;
    margin-bottom: 20px;
}

.abho-merge-modal__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #E8F4FD;
    color: #0098D9;
    margin-bottom: 12px;
}

.abho-merge-modal__title {
    font-size: 1.15rem;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0 0 6px;
}

.abho-merge-modal__subtitle {
    font-size: 0.85rem;
    color: #666;
    margin: 0;
    line-height: 1.5;
}

/* Account Cards */
.abho-merge-modal__cards {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 16px;
}

.abho-merge-modal__card {
    position: relative;
    border: 2px solid #e2e6ea;
    border-radius: 12px;
    padding: 16px;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.abho-merge-modal__card:hover {
    border-color: #0098D9;
    box-shadow: 0 2px 12px rgba(0, 152, 217, 0.1);
}

.abho-merge-modal__card--current {
    border-color: #0098D9;
    background: #f8fcff;
}

.abho-merge-modal__card-badge {
    position: absolute;
    top: -9px;
    right: 12px;
    padding: 2px 10px;
    background: #0098D9;
    color: #fff;
    font-size: 0.7rem;
    font-weight: 600;
    border-radius: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.abho-merge-modal__card-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.abho-merge-modal__card-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #f0f2f5;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    flex-shrink: 0;
}

.abho-merge-modal__card-name {
    display: block;
    font-size: 0.9rem;
    font-weight: 600;
    color: #1a1a2e;
}

.abho-merge-modal__card-email {
    display: block;
    font-size: 0.75rem;
    color: #888;
    font-family: monospace;
}

.abho-merge-modal__card-details {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-bottom: 12px;
}

.abho-merge-modal__card-detail {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.abho-merge-modal__card-label {
    font-size: 0.7rem;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.abho-merge-modal__card-value {
    font-size: 0.82rem;
    font-weight: 500;
    color: #333;
}

/* Subscription status badges */
.abho-merge-modal__card-sub {
    display: inline-block;
    padding: 1px 8px;
    border-radius: 10px;
    font-size: 0.75rem;
    font-weight: 600;
    width: fit-content;
}

.abho-merge-modal__card-sub--active {
    background: #E6F9F0;
    color: #0B7A3E;
}

.abho-merge-modal__card-sub--pending {
    background: #FFF4E5;
    color: #B25E09;
}

.abho-merge-modal__card-sub--inactive {
    background: #FEE;
    color: #C53030;
}

.abho-merge-modal__card-sub--none {
    background: #f0f2f5;
    color: #888;
}

/* Card select button */
.abho-merge-modal__card-select {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px;
    background: #f0f2f5;
    border: 1px solid #e2e6ea;
    border-radius: 8px;
    font-size: 0.82rem;
    font-weight: 600;
    font-family: inherit;
    color: #333;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.abho-merge-modal__card-select:hover {
    background: #0098D9;
    border-color: #0098D9;
    color: #fff;
}

/* Buttons */
.abho-merge-modal__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 20px;
    border: none;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.15s, transform 0.1s;
}

.abho-merge-modal__btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.abho-merge-modal__btn--secondary {
    flex: 1;
    background: #f0f2f5;
    color: #666;
}

.abho-merge-modal__btn--secondary:hover {
    background: #e0e3e8;
    color: #333;
}

.abho-merge-modal__btn--danger {
    flex: 2;
    background: #C53030;
    color: #fff;
}

.abho-merge-modal__btn--danger:hover {
    background: #9B2C2C;
}

.abho-merge-modal__btn--ghost {
    width: 100%;
    background: none;
    color: #888;
    font-size: 0.82rem;
}

.abho-merge-modal__btn--ghost:hover {
    color: #333;
    background: #f0f2f5;
}

/* Confirmation step */
.abho-merge-modal__confirm-primary {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: #E6F9F0;
    border: 1px solid #B2F0D1;
    border-radius: 10px;
    margin-bottom: 16px;
}

.abho-merge-modal__confirm-primary strong {
    font-weight: 600;
    color: #0B7A3E;
}

.abho-merge-modal__confirm-primary small {
    color: #666;
}

.abho-merge-modal__confirm-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #0B7A3E;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.abho-merge-modal__confirm-summary {
    margin-bottom: 16px;
}

.abho-merge-modal__confirm-summary h4 {
    font-size: 0.85rem;
    font-weight: 600;
    color: #333;
    margin: 0 0 8px;
}

.abho-merge-modal__confirm-summary ul {
    margin: 0 0 12px;
    padding-left: 20px;
}

.abho-merge-modal__confirm-summary li {
    font-size: 0.82rem;
    color: #555;
    line-height: 1.7;
}

.abho-merge-modal__confirm-warning {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    background: #FFF4E5;
    border: 1px solid #FFE0B2;
    border-radius: 8px;
    font-size: 0.8rem;
    font-weight: 500;
    color: #B25E09;
}

/* Password field */
.abho-merge-modal__confirm-password {
    margin-bottom: 16px;
}

.abho-merge-modal__confirm-password label {
    display: block;
    font-size: 0.82rem;
    color: #555;
    margin-bottom: 8px;
    line-height: 1.5;
}

.abho-merge-modal__input {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 0.9rem;
    font-family: inherit;
    color: #333;
    background: #fff;
    transition: border-color 0.15s;
    box-sizing: border-box;
}

.abho-merge-modal__input:focus {
    outline: none;
    border-color: #0098D9;
    box-shadow: 0 0 0 3px rgba(0, 152, 217, 0.15);
}

.abho-merge-modal__error-msg {
    margin-top: 8px;
    padding: 8px 12px;
    background: #FEE;
    border: 1px solid #FCC;
    border-radius: 6px;
    font-size: 0.8rem;
    color: #C53030;
}

.abho-merge-modal__confirm-actions {
    display: flex;
    gap: 10px;
}

/* Success step */
.abho-merge-modal__success {
    text-align: center;
    padding: 20px 0;
}

.abho-merge-modal__success-icon {
    color: #0B7A3E;
    margin-bottom: 16px;
}

.abho-merge-modal__success .abho-merge-modal__btn {
    margin-top: 20px;
    min-width: 160px;
    background: #0098D9;
    color: #fff;
}

.abho-merge-modal__success .abho-merge-modal__btn:hover {
    background: #0077AB;
}

.abho-merge-modal__detail {
    font-size: 0.85rem;
    color: #666;
    margin: 8px 0 0;
}

.abho-merge-modal__detail--warn {
    color: #B25E09;
}

/* Responsive */
@media (max-width: 480px) {
    .abho-merge-modal__content {
        max-width: 100%;
        border-radius: 12px;
    }

    .abho-merge-modal__body {
        padding: 20px 16px;
    }

    .abho-merge-modal__card-details {
        grid-template-columns: 1fr;
    }
}


/* ========================================
   PÁGINAS INTERNAS — MELHORIAS GERAIS
   Pedidos, Assinatura, Downloads, Endereços, etc.
   ======================================== */

/* Títulos h2/h3 dentro de conteúdo WC */
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--abho-gray-800);
    margin: 0 0 var(--abho-spacing-lg);
    padding-bottom: var(--abho-spacing-sm);
    border-bottom: 2px solid var(--abho-gray-200);
}

.woocommerce-MyAccount-content h3 {
    font-size: 1.1rem;
    border-bottom-width: 1px;
}

/* Parágrafos de conteúdo */
.woocommerce-MyAccount-content > p,
.woocommerce-MyAccount-content .woocommerce-MyAccount-content-wrapper > p {
    font-size: 0.9375rem;
    color: var(--abho-gray-600);
    line-height: 1.6;
}

/* Links dentro do conteúdo */
.woocommerce-MyAccount-content a:not(.button):not(.abho-dashboard__card-link):not(.abho-dashboard__shortcut) {
    color: var(--abho-primary);
    text-decoration: none;
    font-weight: 500;
    transition: color var(--abho-transition);
}

.woocommerce-MyAccount-content a:not(.button):not(.abho-dashboard__card-link):not(.abho-dashboard__shortcut):hover {
    color: var(--abho-primary-dark);
    text-decoration: underline;
}

/* Botões view-all / botões de tabela */
.woocommerce-MyAccount-content .button.view,
.woocommerce-MyAccount-content .button.pay,
.woocommerce-MyAccount-content .button.cancel,
.woocommerce-MyAccount-content .shop_table .button {
    font-size: 0.8125rem;
    padding: 6px 14px;
    border-radius: var(--abho-radius-sm);
}

/* View subscription page: header info */
.woocommerce-MyAccount-content .subscription_details {
    background: var(--abho-white);
    border: 1px solid var(--abho-gray-200);
    border-radius: var(--abho-radius-md);
    overflow: hidden;
}

.woocommerce-MyAccount-content .subscription_details th {
    background-color: var(--abho-gray-100);
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.5px;
    color: var(--abho-gray-600);
}

/* Endereços lado a lado — veja bloco completo na seção ENDEREÇOS abaixo */

/* Downloads: empty state amigável */
.woocommerce-MyAccount-content .woocommerce-info.woocommerce-Message--info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--abho-spacing-md);
}

/* Paginação interna */
.woocommerce-MyAccount-content .woocommerce-pagination {
    display: flex;
    align-items: center;
    gap: var(--abho-spacing-sm);
    justify-content: center;
    padding: var(--abho-spacing-lg) 0;
    margin-top: var(--abho-spacing-md);
    border-top: 1px solid var(--abho-gray-200);
}

.woocommerce-MyAccount-content .woocommerce-pagination .button {
    font-size: 0.8125rem;
    padding: 6px 14px;
}


/* ========================================
   PRINT STYLES
   ======================================== */

/* =========================================================
   Carteirinha Preview
   ========================================================= */

/* =========================================================
   CARTEIRINHA PREVIEW — Layout idêntico ao PDF (85.6 × 54 mm)
   Proporção: 1.585:1 — usando 428px × 270px como base
   ========================================================= */

.abho-card-preview {
    max-width: 560px;
}

.abho-card-preview h3 {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--abho-text, #333);
    margin-bottom: 0.5rem;
}

.abho-card-preview__desc {
    color: #666;
    font-size: 0.9rem;
    margin-bottom: 1.5rem;
    line-height: 1.5;
}

/* ---- Cartão (shared) ---- */
.abho-card-preview__card {
    width: 428px;
    min-height: 270px;
    background: #fff;
    border: 1px solid #bec3cd;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 3px 16px rgba(0, 0, 0, 0.10);
    margin-bottom: 1.25rem;
    position: relative;
    font-family: Helvetica, Arial, sans-serif;
}

.abho-card-preview__card--front {
    display: flex;
    flex-direction: column;
}

/* =========================================================
   FRENTE DO CARTÃO
   ========================================================= */

/* Header degradê */
.abho-card-front__header {
    background: linear-gradient(180deg, #00476B 0%, #0095C7 100%);
    padding: 6px 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Logo com fundo branco arredondado */
.abho-card-front__logo-wrap {
    flex-shrink: 0;
}

.abho-card-front__logo-bg {
    background: rgba(255, 255, 255, 0.85);
    border-radius: 3px;
    padding: 2px 3px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
}

.abho-card-front__logo {
    height: 22px !important;
    width: auto !important;
    display: block;
    max-width: 50px !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.abho-card-front__logo-text {
    font-size: 1.1rem;
    font-weight: 800;
    color: #fff;
    letter-spacing: 0.1em;
}

/* Título + matrícula (direita) */
.abho-card-front__header-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    padding-top: 2px;
}

.abho-card-front__title {
    font-size: 0.72rem;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.06em;
}

.abho-card-front__matricula {
    font-size: 0.65rem;
    color: rgba(200, 220, 240, 0.9);
}

/* Corpo: foto + nome + badges */
.abho-card-front__body {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 10px 16px 8px;
    flex: 1;
}

/* Foto circular com borda cinza */
.abho-card-front__photo {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    border: 3px solid #c8cdd7;
    background: #e5eaf0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.abho-card-front__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.abho-card-front__initials {
    font-size: 1.3rem;
    font-weight: 700;
    color: #fff;
}

/* Info ao lado da foto */
.abho-card-front__info {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding-top: 2px;
    min-width: 0;
}

.abho-card-front__name {
    font-size: 0.88rem;
    font-weight: 700;
    color: #333;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Badges (honorário / certificado) */
.abho-card-front__badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1;
}

.abho-card-front__badge--honorary {
    color: #a06e00;
}

.abho-card-front__badge--certified {
    color: #0095F6;
}

.abho-badge-circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    font-size: 0.58rem;
    font-weight: 700;
    color: #fff;
    flex-shrink: 0;
}

.abho-badge-circle svg {
    width: 10px;
    height: 10px;
}

.abho-badge-circle--gold {
    background: #FFB300;
}

.abho-badge-circle--blue {
    background: #0095F6;
}

.abho-card-front__cert-number {
    font-size: 0.6rem;
    color: #787878;
}

/* Faixa inferior com dados (3 colunas) */
.abho-card-front__footer {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    padding: 8px 16px;
    background: #F5F7FA;
    border-top: 1px solid #d7dae1;
}

.abho-card-front__col {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.abho-card-front__col small {
    font-size: 0.58rem;
    color: #787878;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.abho-card-front__col strong {
    font-size: 0.82rem;
    color: #333;
    font-weight: 700;
}

.abho-card-front__col--center {
    text-align: center;
}

.abho-card-front__col--right {
    text-align: right;
}

/* Localização */
.abho-card-front__location {
    padding: 5px 16px 8px;
    font-size: 0.68rem;
    color: #787878;
    background: #F5F7FA;
}

/* =========================================================
   VERSO DO CARTÃO
   ========================================================= */

/* Header branco com logo e nome (verso) */
.abho-card-back__header {
    background: #fff;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    border-bottom: 2px solid #e0e3e8;
}

.abho-card-back__logo {
    height: 22px !important;
    width: auto !important;
    flex-shrink: 0;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    max-width: 60px !important;
}

.abho-card-back__assoc {
    font-size: 0.62rem;
    font-weight: 700;
    color: #00476B;
    letter-spacing: 0.02em;
    text-align: center;
    flex: 1;
}

/* Corpo do verso: dados à esquerda, QR à direita */
.abho-card-back__body {
    display: flex;
    padding: 12px 14px;
    gap: 12px;
    min-height: 150px;
}

.abho-card-back__data {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.abho-card-back__row {
    display: flex;
    gap: 6px;
    align-items: baseline;
}

.abho-card-back__label {
    font-size: 0.65rem;
    color: #787878;
    flex-shrink: 0;
    min-width: 70px;
}

.abho-card-back__value {
    font-size: 0.72rem;
    font-weight: 700;
    color: #333;
}

/* QR code */
.abho-card-back__qr {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    align-self: flex-end;
}

.abho-card-back__qr img {
    width: 72px;
    height: 72px;
    display: block;
}

.abho-card-back__qr small {
    font-size: 0.5rem;
    color: #787878;
    text-align: center;
}

/* Rodapé do verso */
.abho-card-back__footer {
    border-top: 1px solid #dcdee4;
    padding: 6px 14px 8px;
}

.abho-card-back__disclaimer {
    font-size: 0.55rem;
    color: #787878;
    line-height: 1.4;
    margin-bottom: 3px;
}

.abho-card-back__url {
    font-size: 0.62rem;
    font-weight: 700;
    color: #00476B;
}

/* =========================================================
   AÇÕES E NOTA
   ========================================================= */

.abho-card-preview__actions {
    margin-bottom: 1rem;
}

.abho-btn-download {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #00476B;
    color: #ffffff !important;
    padding: 14px 28px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 0.95rem;
    text-decoration: none !important;
    transition: all 0.2s ease;
    box-shadow: 0 2px 8px rgba(0, 71, 107, 0.25);
    border: none;
    cursor: pointer;
}

.abho-btn-download:hover {
    background: #0095C7;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(0, 71, 107, 0.35);
    text-decoration: none !important;
}

.abho-btn-download svg {
    flex-shrink: 0;
    stroke: #fff;
}

/* =========================================================
   RESPONSIVO — Cartão escala em telas menores
   ========================================================= */
@media (max-width: 500px) {
    .abho-card-preview__card {
        width: 100%;
        min-height: auto;
    }

    .abho-card-front__header {
        height: auto;
        padding: 10px 12px;
    }

    .abho-card-front__logo {
        height: 18px !important;
    }

    .abho-card-front__body {
        padding: 8px 12px;
        gap: 10px;
    }

    .abho-card-front__photo {
        width: 52px;
        height: 52px;
    }

    .abho-card-front__footer,
    .abho-card-front__location {
        padding-left: 12px;
        padding-right: 12px;
    }
}

/* =========================================================
   PRINT
   ========================================================= */
/* =========================================================================
   Photo Upload Modal
   ========================================================================= */
.abho-photo-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 99999;
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
}

.abho-photo-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.abho-photo-modal__content {
    position: relative;
    width: 100%;
    max-width: 420px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
    overflow: hidden;
    animation: abho-modal-in 0.25s ease-out;
    padding: 24px 20px;
}

@keyframes abho-modal-in {
    from { opacity: 0; transform: translateY(20px) scale(0.96); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

.abho-photo-modal__close {
    position: absolute;
    top: 12px;
    right: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: none;
    background: #f0f2f5;
    border-radius: 50%;
    cursor: pointer;
    color: #666;
    font-size: 1.3rem;
    line-height: 1;
    transition: background 0.2s, color 0.2s;
    padding: 0;
    z-index: 2;
}

.abho-photo-modal__close:hover {
    background: #e0e3e8;
    color: #333;
}

.abho-photo-modal__title {
    font-size: 1.05rem;
    font-weight: 600;
    color: #1a1a2e;
    margin: 0 0 4px;
}

.abho-photo-modal__subtitle {
    font-size: 0.85rem;
    color: #666;
    margin: 0 0 20px;
}

/* Choose step */
.abho-photo-modal__options {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.abho-photo-modal__option-btn,
.abho-photo-modal__option {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    padding: 16px;
    background: #f8f9fb;
    border: 2px solid #e2e6ea;
    border-radius: 12px;
    cursor: pointer;
    font-family: inherit;
    font-size: 0.92rem;
    font-weight: 500;
    color: #1a1a2e;
    text-align: left;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.abho-photo-modal__option-btn:hover,
.abho-photo-modal__option:hover {
    border-color: #0098D9;
    box-shadow: 0 2px 12px rgba(0, 152, 217, 0.1);
}

.abho-photo-modal__option-btn svg,
.abho-photo-modal__option svg {
    flex-shrink: 0;
    color: #0098D9;
}

/* Camera step */
.abho-photo-modal__camera-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 1;
    border-radius: 12px;
    overflow: hidden;
    background: #000;
    margin-bottom: 16px;
}

.abho-photo-modal__camera-wrap video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scaleX(-1);
}

.abho-photo-modal__camera-actions,
.abho-photo-modal__crop-actions {
    display: flex;
    gap: 10px;
}

/* Generic modal buttons */
.abho-photo-modal__btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 12px;
    background: #00476B;
    border: none;
    border-radius: 10px;
    color: #fff;
    font-size: 0.9rem;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.2s;
}

.abho-photo-modal__btn:hover {
    background: #003854;
}

.abho-photo-modal__btn:disabled {
    background: #93b3c5;
    cursor: not-allowed;
}

.abho-photo-modal__btn--secondary {
    background: #f0f2f5;
    color: #666;
}

.abho-photo-modal__btn--secondary:hover {
    background: #e0e3e8;
    color: #333;
}

.abho-photo-modal__capture {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 14px;
    background: #00476B;
    color: #fff;
    border: none;
    border-radius: 10px;
    font-size: 0.95rem;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.2s;
}

.abho-photo-modal__capture:hover {
    background: #003854;
}

/* Crop step */
.abho-photo-modal__crop-area {
    margin-bottom: 16px;
}
.abho-photo-modal__crop-container {
    position: relative;
    width: 100%;
    aspect-ratio: 1;
    border-radius: 50%;
    overflow: hidden;
    background: #f0f2f5;
    margin: 0 auto 16px;
    cursor: grab;
    touch-action: none;
}

.abho-photo-modal__crop-container:active {
    cursor: grabbing;
}

.abho-photo-modal__crop-img,
#photo-crop-image {
    position: absolute;
    top: 0;
    left: 0;
    max-width: none;
    max-height: none;
    transform-origin: 0 0;
    user-select: none;
    -webkit-user-select: none;
    pointer-events: none;
}

.abho-photo-modal__crop-overlay {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.4);
    pointer-events: none;
    z-index: 1;
}

.abho-photo-modal__zoom {
    display: block;
    width: 100%;
    margin: 12px 0 4px;
    -webkit-appearance: none;
    height: 4px;
    background: #e2e6ea;
    border-radius: 2px;
    outline: none;
}

.abho-photo-modal__zoom::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #0098D9;
    cursor: pointer;
    border: 2px solid #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,0.15);
}

.abho-photo-modal__actions {
    display: flex;
    gap: 10px;
}

/* Saving step */
.abho-photo-modal__saving {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 40px 20px;
}

.abho-photo-modal__saving-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid #e2e6ea;
    border-top-color: #0098D9;
    border-radius: 50%;
    animation: abho-spin 0.7s linear infinite;
}

.abho-photo-modal__saving p {
    font-size: 0.9rem;
    color: #666;
    margin: 0;
}

/* Hidden helper elements */
.abho-photo-modal__canvas,
.abho-photo-modal__file-input {
    display: none;
}

/* Photo modal responsive */
@media (max-width: 480px) {
    .abho-photo-modal__content {
        max-width: 100%;
        border-radius: 12px;
    }

    .abho-photo-modal__body {
        padding: 16px;
    }
}

@media print {
    .woocommerce-MyAccount-navigation {
        display: none;
    }

    .woocommerce-account .woocommerce {
        display: block;
    }

    .abho-card-preview__actions,
    .abho-card-preview__desc,
    .abho-card-preview h3 {
        display: none;
    }

    .abho-card-preview__card {
        box-shadow: none;
        border: 1px solid #ccc;
        break-inside: avoid;
    }
}


/* =========================================================================
   UI/UX REDESIGN — PÁGINAS INTERNAS (My Account)
   Visual Apple/Stripe: minimalista, clean, generous whitespace
   ========================================================================= */

/* ---- Animação global de entrada do conteúdo ---- */
.woocommerce-MyAccount-content {
    animation: abho-fadeInUp 0.3s ease-out;
}

@keyframes abho-fadeInUp {
    from { opacity: 0; transform: translateY(12px); }
    to   { opacity: 1; transform: translateY(0); }
}


/* =========================================================================
   SEÇÃO GENÉRICA — Usado por tabs customizadas (Certificados, Documentos)
   ========================================================================= */

.abho-myaccount-section {
    animation: abho-fadeInUp 0.3s ease-out;
}

.abho-myaccount-section__header {
    display: flex;
    align-items: flex-start;
    gap: var(--abho-spacing-md);
    margin-bottom: var(--abho-spacing-xl);
    padding-bottom: var(--abho-spacing-lg);
    border-bottom: 1px solid var(--abho-gray-200);
}

.abho-myaccount-section__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: var(--abho-radius-lg);
    flex-shrink: 0;
}

.abho-myaccount-section__icon--blue {
    background: #E8F4FD;
    color: #0098D9;
}

.abho-myaccount-section__icon--green {
    background: #E6F9F0;
    color: #0B7A3E;
}

.abho-myaccount-section__icon--orange {
    background: #FFF4E5;
    color: #B25E09;
}

.abho-myaccount-section__icon--purple {
    background: #F3E8FF;
    color: #7C3AED;
}

.abho-myaccount-section__title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--abho-gray-800);
    margin: 0 0 4px;
    padding: 0;
    border: none;
}

.abho-myaccount-section__desc {
    font-size: 0.875rem;
    color: var(--abho-gray-500);
    margin: 0;
    line-height: 1.4;
}


/* =========================================================================
   EMPTY STATE — Reutilizável em todas as tabs
   ========================================================================= */

.abho-myaccount-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: var(--abho-spacing-xxl) var(--abho-spacing-lg);
    background: var(--abho-gray-100);
    border-radius: var(--abho-radius-lg);
    border: 1px dashed var(--abho-gray-300);
}

.abho-myaccount-empty__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: var(--abho-white);
    box-shadow: var(--abho-shadow-sm);
    color: var(--abho-gray-400);
    margin-bottom: var(--abho-spacing-lg);
}

.abho-myaccount-empty__title {
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--abho-gray-700);
    margin: 0 0 var(--abho-spacing-sm);
    padding: 0;
    border: none;
}

.abho-myaccount-empty__text {
    font-size: 0.875rem;
    color: var(--abho-gray-500);
    margin: 0;
    max-width: 360px;
    line-height: 1.5;
}


/* =========================================================================
   CERTIFICADOS — Grid de cards
   ========================================================================= */

.abho-cert-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--abho-spacing-lg);
}

.abho-cert-card {
    position: relative;
    background: var(--abho-white);
    border: 1px solid var(--abho-gray-200);
    border-radius: var(--abho-radius-lg);
    padding: var(--abho-spacing-lg);
    transition: box-shadow var(--abho-transition), border-color var(--abho-transition);
    display: flex;
    flex-direction: column;
    gap: var(--abho-spacing-sm);
}

.abho-cert-card:hover {
    border-color: var(--abho-gray-300);
    box-shadow: var(--abho-shadow-md);
}

.abho-cert-card__badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    background: #E8F4FD;
    color: #0098D9;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    border-radius: var(--abho-radius-full);
    align-self: flex-start;
}

.abho-cert-card__title {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--abho-gray-800);
    margin: 0;
    line-height: 1.4;
    padding: 0;
    border: none;
}

.abho-cert-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--abho-spacing-md);
    margin-top: auto;
    padding-top: var(--abho-spacing-sm);
}

.abho-cert-card__date,
.abho-cert-card__hours,
.abho-cert-card__issued {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.8125rem;
    color: var(--abho-gray-500);
}

.abho-cert-card__date svg,
.abho-cert-card__hours svg,
.abho-cert-card__issued svg {
    flex-shrink: 0;
    stroke: currentColor;
    fill: none;
}

.abho-cert-card__download {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: var(--abho-spacing-sm);
    padding: 8px 16px;
    background: #00476B;
    color: #fff !important;
    border-radius: var(--abho-radius-sm);
    font-size: 0.8125rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: background var(--abho-transition);
    align-self: flex-start;
}

.abho-cert-card__download:hover {
    background: #0095C7;
    color: #fff !important;
}

.abho-cert-card__download svg {
    stroke: currentColor;
    fill: none;
    flex-shrink: 0;
}


/* =========================================================================
   DOCUMENTOS — Lista de itens
   ========================================================================= */

.abho-docs-list {
    display: flex;
    flex-direction: column;
    gap: var(--abho-spacing-sm);
}

.abho-doc-item {
    display: flex;
    align-items: center;
    gap: var(--abho-spacing-md);
    padding: var(--abho-spacing-md) var(--abho-spacing-lg);
    background: var(--abho-white);
    border: 1px solid var(--abho-gray-200);
    border-radius: var(--abho-radius-md);
    transition: border-color var(--abho-transition), box-shadow var(--abho-transition);
}

.abho-doc-item:hover {
    border-color: var(--abho-gray-300);
    box-shadow: var(--abho-shadow-sm);
}

.abho-doc-item__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: var(--abho-radius-md);
    background: var(--abho-gray-100);
    color: var(--abho-gray-500);
    flex-shrink: 0;
}

.abho-doc-item__icon svg {
    stroke: currentColor;
    fill: none;
}

.abho-doc-item__info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.abho-doc-item__type {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--abho-gray-800);
}

.abho-doc-item__filename {
    font-size: 0.75rem;
    color: var(--abho-gray-500);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.abho-doc-item__date {
    font-size: 0.75rem;
    color: var(--abho-gray-400);
}

.abho-doc-item__status {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: var(--abho-radius-full);
    font-size: 0.75rem;
    font-weight: 600;
    white-space: nowrap;
    flex-shrink: 0;
}

.abho-doc-item__status--success {
    background: #E6F9F0;
    color: #0B7A3E;
}

.abho-doc-item__status--warning {
    background: #FFF4E5;
    color: #B25E09;
}

.abho-doc-item__status--error {
    background: #FEE;
    color: #C53030;
}

.abho-doc-item__link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: var(--abho-radius-sm);
    color: var(--abho-gray-500);
    transition: background var(--abho-transition), color var(--abho-transition);
    flex-shrink: 0;
}

.abho-doc-item__link:hover {
    background: var(--abho-gray-100);
    color: var(--abho-primary);
}

.abho-doc-item__link svg {
    stroke: currentColor;
    fill: none;
}


/* =========================================================================
   MEU PERFIL — Redesign visual
   ========================================================================= */

.abho-meu-perfil {
    display: flex;
    flex-direction: column;
    gap: var(--abho-spacing-lg);
}

/* Header do perfil */
.abho-meu-perfil__header {
    display: flex;
    align-items: center;
    gap: var(--abho-spacing-lg);
    padding: var(--abho-spacing-xl);
    background: linear-gradient(135deg, #00476B 0%, #0095C7 100%);
    border-radius: var(--abho-radius-lg);
    color: #fff;
    position: relative;
    overflow: hidden;
}

.abho-meu-perfil__header::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.05);
    pointer-events: none;
}

.abho-meu-perfil__avatar {
    flex-shrink: 0;
    position: relative;
    z-index: 1;
}

.abho-meu-perfil__avatar img {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    border: 3px solid rgba(255, 255, 255, 0.4);
    object-fit: cover;
    background: rgba(255,255,255,0.1);
}

.abho-meu-perfil__info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    position: relative;
    z-index: 1;
}

.abho-meu-perfil__nome {
    font-size: 1.375rem;
    font-weight: 700;
    color: #fff;
    margin: 0;
    padding: 0;
    border: none;
    line-height: 1.2;
}

.abho-meu-perfil__categoria {
    font-size: 0.875rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.85);
}

.abho-meu-perfil__matricula {
    font-size: 0.8125rem;
    color: rgba(255, 255, 255, 0.65);
}

/* Status badge */
.abho-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: var(--abho-radius-full);
    font-size: 0.75rem;
    font-weight: 600;
    width: fit-content;
}

.abho-badge--active,
.abho-badge--ativo {
    background: rgba(11, 122, 62, 0.15);
    color: #6AE09C;
}

.abho-badge--pending,
.abho-badge--pendente {
    background: rgba(178, 94, 9, 0.15);
    color: #FFD07B;
}

.abho-badge--inactive,
.abho-badge--inativo,
.abho-badge--cancelled {
    background: rgba(197, 48, 48, 0.15);
    color: #FC9B9B;
}

.abho-badge--on-hold {
    background: rgba(178, 94, 9, 0.15);
    color: #FFD07B;
}

/* Seções do perfil */
.abho-meu-perfil__section {
    background: var(--abho-white);
    border: 1px solid var(--abho-gray-200);
    border-radius: var(--abho-radius-lg);
    padding: var(--abho-spacing-lg);
    transition: box-shadow var(--abho-transition);
}

.abho-meu-perfil__section:hover {
    box-shadow: var(--abho-shadow-sm);
}

.abho-meu-perfil__section-title {
    font-size: 1rem;
    font-weight: 600;
    color: var(--abho-gray-800);
    margin: 0 0 var(--abho-spacing-md);
    padding: 0 0 var(--abho-spacing-sm);
    border: none;
    border-bottom: 1px solid var(--abho-gray-200);
}

/* Data list (key/value pairs) */
.abho-meu-perfil__data-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: var(--abho-spacing-md);
    margin: 0;
}

.abho-meu-perfil__data-item {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.abho-meu-perfil__data-item dt {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--abho-gray-500);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.abho-meu-perfil__data-item dd {
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--abho-gray-800);
    margin: 0;
}

/* Endereço */
.abho-meu-perfil__endereco {
    font-style: normal;
    font-size: 0.9375rem;
    color: var(--abho-gray-600);
    line-height: 1.6;
}

/* Empty text */
.abho-meu-perfil__empty {
    font-size: 0.875rem;
    color: var(--abho-gray-500);
    font-style: italic;
    margin: 0;
}

/* Doc count */
.abho-meu-perfil__doc-count {
    font-size: 0.875rem;
    color: var(--abho-gray-600);
    margin: 0 0 var(--abho-spacing-sm);
}

/* Actions */
.abho-meu-perfil__actions {
    display: flex;
    gap: var(--abho-spacing-md);
    padding-top: var(--abho-spacing-sm);
}

/* Buttons do Perfil */
.abho-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--abho-spacing-sm);
    padding: 10px 24px;
    font-size: 0.875rem;
    font-weight: 600;
    border-radius: var(--abho-radius-sm);
    text-decoration: none;
    cursor: pointer;
    transition: all var(--abho-transition);
    border: 1px solid transparent;
}

.abho-btn--primary {
    background: var(--abho-primary);
    color: #fff;
    border-color: var(--abho-primary);
}

.abho-btn--primary:hover {
    background: var(--abho-primary-dark);
    border-color: var(--abho-primary-dark);
    color: #fff;
}

.abho-btn--secondary {
    background: var(--abho-white);
    color: var(--abho-gray-700);
    border-color: var(--abho-gray-300);
}

.abho-btn--secondary:hover {
    background: var(--abho-gray-100);
    border-color: var(--abho-gray-400);
    color: var(--abho-gray-800);
}


/* =========================================================================
   TABELAS — Pedidos, Assinaturas (melhorias visuais)
   ========================================================================= */

/* Status badges em tabelas */
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-status,
.woocommerce-MyAccount-content .subscription-status {
    font-weight: 600;
}

/* Badge wrapper inline  */
.woocommerce-MyAccount-content mark.order-status {
    display: inline-flex;
    align-items: center;
    padding: 3px 12px;
    border-radius: var(--abho-radius-full);
    font-size: 0.75rem;
    font-weight: 600;
    background: var(--abho-gray-100);
    color: var(--abho-gray-700);
}

.woocommerce-MyAccount-content mark.order-status.status-processing {
    background: #E8F4FD;
    color: #0073aa;
}

.woocommerce-MyAccount-content mark.order-status.status-completed {
    background: #E6F9F0;
    color: #0B7A3E;
}

.woocommerce-MyAccount-content mark.order-status.status-on-hold {
    background: #FFF4E5;
    color: #B25E09;
}

.woocommerce-MyAccount-content mark.order-status.status-cancelled,
.woocommerce-MyAccount-content mark.order-status.status-failed,
.woocommerce-MyAccount-content mark.order-status.status-refunded {
    background: #FEF2F2;
    color: #C53030;
}

.woocommerce-MyAccount-content mark.order-status.status-pending {
    background: #FFF4E5;
    color: #B25E09;
}

/* Subscription status badges */
.woocommerce-MyAccount-content .subscription-status.status-active {
    background: #E6F9F0;
    color: #0B7A3E;
}

.woocommerce-MyAccount-content .subscription-status.status-on-hold {
    background: #FFF4E5;
    color: #B25E09;
}

.woocommerce-MyAccount-content .subscription-status.status-cancelled,
.woocommerce-MyAccount-content .subscription-status.status-expired {
    background: #FEF2F2;
    color: #C53030;
}

.woocommerce-MyAccount-content .subscription-status.status-pending-cancel {
    background: #FFF4E5;
    color: #B25E09;
}

/* Table action buttons */
.woocommerce-MyAccount-content table.shop_table .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8125rem;
    padding: 6px 14px;
    border-radius: var(--abho-radius-sm);
    font-weight: 500;
    transition: all var(--abho-transition);
    text-decoration: none;
    white-space: nowrap;
}

.woocommerce-MyAccount-content table.shop_table .button.view {
    background: var(--abho-gray-100);
    color: var(--abho-gray-700);
    border: 1px solid var(--abho-gray-300);
}

.woocommerce-MyAccount-content table.shop_table .button.view:hover {
    background: var(--abho-primary-light);
    color: var(--abho-primary);
    border-color: var(--abho-primary);
}

.woocommerce-MyAccount-content table.shop_table .button.pay {
    background: var(--abho-primary);
    color: #fff;
    border: 1px solid var(--abho-primary);
}

.woocommerce-MyAccount-content table.shop_table .button.pay:hover {
    background: var(--abho-primary-dark);
    border-color: var(--abho-primary-dark);
}

.woocommerce-MyAccount-content table.shop_table .button.cancel {
    background: transparent;
    color: var(--abho-error);
    border: 1px solid var(--abho-error);
}

.woocommerce-MyAccount-content table.shop_table .button.cancel:hover {
    background: #FEF2F2;
}

/* Assinatura: detail page melhorias */
.woocommerce-MyAccount-content .subscription_details {
    margin-bottom: var(--abho-spacing-lg);
}

.woocommerce-MyAccount-content .subscription_details td,
.woocommerce-MyAccount-content .subscription_details th {
    padding: var(--abho-spacing-sm) var(--abho-spacing-md);
}

/* Assinatura: actions */
.woocommerce-MyAccount-content .subscription_details + .order_details,
.woocommerce-MyAccount-content .woocommerce-table--order-details {
    background: var(--abho-white);
    border: 1px solid var(--abho-gray-200);
    border-radius: var(--abho-radius-md);
    overflow: hidden;
}

/* Assinatura: totals */
.woocommerce-MyAccount-content .woocommerce-table--order-details tfoot th {
    background: var(--abho-gray-100);
}


/* ENDEREÇOS — Cards refinados: movido para seção ENDEREÇOS no redesign */


/* =========================================================================
   FORMULÁRIOS — Detalhes da Conta, Editar Endereço (refinados)
   ========================================================================= */

/* Fieldset reset */
.woocommerce-MyAccount-content fieldset {
    border: 1px solid var(--abho-gray-200);
    border-radius: var(--abho-radius-md);
    padding: var(--abho-spacing-lg);
    margin: var(--abho-spacing-lg) 0;
}

.woocommerce-MyAccount-content fieldset legend {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--abho-gray-800);
    padding: 0 var(--abho-spacing-sm);
}

/* Input focus glow softer */
.woocommerce-MyAccount-content input:focus,
.woocommerce-MyAccount-content select:focus,
.woocommerce-MyAccount-content textarea:focus {
    outline: none;
    border-color: var(--abho-primary);
    box-shadow: 0 0 0 3px rgba(0, 115, 170, 0.12);
}

/* Required asterisk */
.woocommerce-MyAccount-content .required {
    color: var(--abho-error);
    font-weight: 700;
}

/* Textarea */
.woocommerce-MyAccount-content textarea {
    width: 100%;
    padding: 10px 14px;
    font-size: 0.875rem;
    border: 1px solid var(--abho-gray-300);
    border-radius: var(--abho-radius-sm);
    color: var(--abho-gray-800);
    background: var(--abho-white);
    resize: vertical;
    min-height: 80px;
}

/* Select2 override */
.woocommerce-MyAccount-content .select2-container .select2-selection--single {
    height: 40px;
    border: 1px solid var(--abho-gray-300);
    border-radius: var(--abho-radius-sm);
}

.woocommerce-MyAccount-content .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 40px;
    padding-left: 14px;
    font-size: 0.875rem;
    color: var(--abho-gray-800);
}

.woocommerce-MyAccount-content .select2-container .select2-selection--single .select2-selection__arrow {
    height: 40px;
}

/* Form row grid (two-column where possible) */
.woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row-first,
.woocommerce-MyAccount-content .woocommerce-address-fields .form-row-first,
.woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row-last,
.woocommerce-MyAccount-content .woocommerce-address-fields .form-row-last {
    width: 48%;
    display: inline-block;
    vertical-align: top;
}

.woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row-first,
.woocommerce-MyAccount-content .woocommerce-address-fields .form-row-first {
    margin-right: 2%;
}

.woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row-wide,
.woocommerce-MyAccount-content .woocommerce-address-fields .form-row-wide {
    width: 100%;
}

/* Submit button - primary prominence */
.woocommerce-MyAccount-content button[type="submit"] {
    margin-top: var(--abho-spacing-md);
    min-width: 180px;
    padding: 12px 28px;
    font-size: 0.9375rem;
    border-radius: var(--abho-radius-md);
    transition: all var(--abho-transition);
}

.woocommerce-MyAccount-content button[type="submit"]:hover {
    transform: translateY(-1px);
    box-shadow: var(--abho-shadow-md);
}

.woocommerce-MyAccount-content button[type="submit"]:active {
    transform: translateY(0);
}


/* =========================================================================
   MÉTODOS DE PAGAMENTO — Refinado
   ========================================================================= */

.woocommerce-MyAccount-content .woocommerce-PaymentMethods {
    display: flex;
    flex-direction: column;
    gap: var(--abho-spacing-md);
}

/* WC default payment method list */
.woocommerce-MyAccount-content table.shop_table.my_account_payment_methods {
    border-collapse: separate;
    border-spacing: 0;
}

.woocommerce-MyAccount-content table.shop_table.my_account_payment_methods td {
    vertical-align: middle;
}

.woocommerce-MyAccount-content .payment-method-actions .button {
    font-size: 0.8125rem;
    padding: 5px 12px;
}

/* "Add payment method" link */
.woocommerce-MyAccount-content a.add-payment-method-link,
.woocommerce-MyAccount-content .woocommerce-MyAccount-paymentMethods a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}


/* =========================================================================
   NOTICES — Refinados para melhor legibilidade
   ========================================================================= */

/* Global notice — top-level (inside grid) */
body.woocommerce-account .woocommerce > .woocommerce-notices-wrapper .woocommerce-message,
body.woocommerce-account .woocommerce > .woocommerce-notices-wrapper .woocommerce-error,
body.woocommerce-account .woocommerce > .woocommerce-notices-wrapper .woocommerce-info {
    border-radius: var(--abho-radius-md);
    font-size: 0.875rem;
    padding: var(--abho-spacing-md) var(--abho-spacing-lg);
    margin-bottom: 0;
}

/* Success notice (message) */
body.woocommerce-account .woocommerce .woocommerce-message::before {
    color: var(--abho-success);
}

/* Error notice */
body.woocommerce-account .woocommerce .woocommerce-error::before {
    color: var(--abho-error);
}


/* =========================================================================
   PAGE HEADERS — Injetados via MyAccountUI PHP (todas as páginas internas)
   Mesma linguagem visual dos section headers, mas com BEM independente.
   ========================================================================= */

.abho-page-header {
    display: flex;
    align-items: flex-start;
    gap: var(--abho-spacing-md);
    margin-bottom: var(--abho-spacing-xl);
    padding-bottom: var(--abho-spacing-lg);
    border-bottom: 1px solid var(--abho-gray-200);
}

.abho-page-header__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: var(--abho-radius-lg);
    flex-shrink: 0;
}

.abho-page-header__icon svg {
    width: 24px;
    height: 24px;
}

.abho-page-header__icon--blue   { background: #dbeafe; color: #2563eb; }
.abho-page-header__icon--green  { background: #dcfce7; color: #16a34a; }
.abho-page-header__icon--orange { background: #ffedd5; color: #ea580c; }
.abho-page-header__icon--purple { background: #f3e8ff; color: #7c3aed; }

.abho-page-header__text {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.abho-page-header__title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--abho-gray-800);
    margin: 0;
    padding: 0;
    border: none;
    line-height: 1.3;
}

.abho-page-header__desc {
    font-size: 0.875rem;
    color: var(--abho-gray-500);
    margin: 0;
    line-height: 1.4;
}


/* =========================================================================
   HEADINGS (h2, h3) — Apenas headings diretos do conteúdo
   NÃO afeta h2 dentro de .woocommerce-Address (header de cards)
   ========================================================================= */

/* Heading diretos do content (ex: "Totais da Assinatura", "Pedidos Relacionados") */
.woocommerce-MyAccount-content > h2,
.woocommerce-MyAccount-content > h3 {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--abho-gray-800);
    margin: var(--abho-spacing-xl) 0 var(--abho-spacing-md);
    padding: 0 0 var(--abho-spacing-sm);
    border-bottom: 1px solid var(--abho-gray-200);
    line-height: 1.3;
}

/* Primeiro h2 direto não precisa margin-top extra */
.woocommerce-MyAccount-content > h2:first-child,
.woocommerce-MyAccount-content > .abho-page-header + h2 {
    margin-top: 0;
}


/* =========================================================================
   SHOP TABLES — Melhorias globais (Pedidos, Assinaturas, Pagamentos)
   ========================================================================= */

.woocommerce-MyAccount-content table.shop_table {
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid var(--abho-gray-200);
    border-radius: var(--abho-radius-md);
    overflow: hidden;
    width: 100%;
    font-size: 0.875rem;
    background: var(--abho-white);
}

.woocommerce-MyAccount-content table.shop_table thead th {
    background: var(--abho-gray-100);
    color: var(--abho-gray-600);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: var(--abho-spacing-sm) var(--abho-spacing-md);
    border-bottom: 1px solid var(--abho-gray-200);
    white-space: nowrap;
}

.woocommerce-MyAccount-content table.shop_table tbody td {
    padding: var(--abho-spacing-sm) var(--abho-spacing-md);
    border-bottom: 1px solid var(--abho-gray-100);
    vertical-align: middle;
    color: var(--abho-gray-700);
}

.woocommerce-MyAccount-content table.shop_table tbody tr:last-child td {
    border-bottom: none;
}

.woocommerce-MyAccount-content table.shop_table tbody tr {
    transition: background var(--abho-transition);
}

.woocommerce-MyAccount-content table.shop_table tbody tr:hover {
    background: #fafbfc;
}

/* Primeira coluna (geralmente ID ou rótulo) — destaque */
.woocommerce-MyAccount-content table.shop_table tbody td:first-child {
    font-weight: 600;
    color: var(--abho-gray-800);
}

/* Links dentro de tabelas */
.woocommerce-MyAccount-content table.shop_table a:not(.button) {
    color: var(--abho-primary);
    text-decoration: none;
    font-weight: 500;
}

.woocommerce-MyAccount-content table.shop_table a:not(.button):hover {
    color: var(--abho-primary-dark);
    text-decoration: underline;
}

/* Coluna de actions — alinhar botões */
.woocommerce-MyAccount-content table.shop_table .woocommerce-orders-table__cell-order-actions,
.woocommerce-MyAccount-content table.shop_table td.order-actions,
.woocommerce-MyAccount-content table.shop_table td.subscription-actions {
    text-align: right;
    white-space: nowrap;
}

.woocommerce-MyAccount-content table.shop_table .woocommerce-orders-table__cell-order-actions .button,
.woocommerce-MyAccount-content table.shop_table td.order-actions .button,
.woocommerce-MyAccount-content table.shop_table td.subscription-actions .button {
    margin-left: 6px;
}


/* =========================================================================
   SUBSCRIPTION DETAIL CARD — View-Subscription page
   Transforma a tabela subscription_details em um layout card elegante.
   ========================================================================= */

.abho-subscription-card {
    background: var(--abho-white);
    border: 1px solid var(--abho-gray-200);
    border-radius: var(--abho-radius-lg);
    overflow: hidden;
    margin-bottom: var(--abho-spacing-xl);
    box-shadow: var(--abho-shadow-sm);
}

/* Remove aparência padrão da tabela dentro do card */
.abho-subscription-card table.subscription_details {
    border: none;
    border-radius: 0;
    margin: 0;
    box-shadow: none;
    overflow: visible;
}

/* Cada linha é um par chave:valor elegante */
.abho-subscription-card table.subscription_details tbody tr {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 0;
    border-bottom: 1px solid var(--abho-gray-100);
    transition: background var(--abho-transition);
}

.abho-subscription-card table.subscription_details tbody tr:last-child {
    border-bottom: none;
}

.abho-subscription-card table.subscription_details tbody tr:hover {
    background: #fafbfc;
}

.abho-subscription-card table.subscription_details tbody td {
    padding: var(--abho-spacing-md) var(--abho-spacing-lg);
    border: none;
    vertical-align: middle;
    line-height: 1.5;
}

/* Label (primeira coluna) */
.abho-subscription-card table.subscription_details tbody td:first-child {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--abho-gray-500);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    flex: 0 0 180px;
    min-width: 0;
}

/* Value (segunda coluna) */
.abho-subscription-card table.subscription_details tbody td:last-child {
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--abho-gray-800);
    flex: 1 1 0%;
    min-width: 0;
}

/* Fallback sem .abho-subscription-card (caso o wrapper não exista) */
.woocommerce-MyAccount-content table.subscription_details {
    border-radius: var(--abho-radius-lg);
    overflow: hidden;
    margin-bottom: var(--abho-spacing-xl);
}


/* =========================================================================
   SUBSCRIPTION ACTION BUTTONS — Cancel, Renew, Add Payment
   Botões categorizados por ação (perigo, primário, secundário).
   ========================================================================= */

/* Container de ações na subscription detail */
.abho-subscription-card table.subscription_details .button,
.woocommerce-MyAccount-content table.subscription_details .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 18px;
    font-size: 0.8125rem;
    font-weight: 600;
    border-radius: var(--abho-radius-sm);
    text-decoration: none !important;
    cursor: pointer;
    transition: all var(--abho-transition);
    white-space: nowrap;
    margin: 2px 4px 2px 0;
    border: 1px solid transparent;
}

/* Cancel — perigo */
.abho-subscription-card .button.cancel,
.woocommerce-MyAccount-content table.subscription_details .button.cancel {
    background: transparent;
    color: var(--abho-error);
    border-color: var(--abho-error);
}

.abho-subscription-card .button.cancel:hover,
.woocommerce-MyAccount-content table.subscription_details .button.cancel:hover {
    background: #fef2f2;
    color: #b91c1c;
    border-color: #b91c1c;
}

/* Renew / Resubscribe / Pay — primário */
.abho-subscription-card .button.subscription_renewal_early,
.abho-subscription-card .button.resubscribe,
.woocommerce-MyAccount-content table.subscription_details .button.subscription_renewal_early,
.woocommerce-MyAccount-content table.subscription_details .button.resubscribe {
    background: var(--abho-primary);
    color: #fff;
    border-color: var(--abho-primary);
}

.abho-subscription-card .button.subscription_renewal_early:hover,
.abho-subscription-card .button.resubscribe:hover,
.woocommerce-MyAccount-content table.subscription_details .button.subscription_renewal_early:hover,
.woocommerce-MyAccount-content table.subscription_details .button.resubscribe:hover {
    background: var(--abho-primary-dark);
    border-color: var(--abho-primary-dark);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: var(--abho-shadow-sm);
}

/* Change Payment — secundário */
.abho-subscription-card .button.change_payment_method,
.woocommerce-MyAccount-content table.subscription_details .button.change_payment_method {
    background: var(--abho-white);
    color: var(--abho-gray-700);
    border-color: var(--abho-gray-300);
}

.abho-subscription-card .button.change_payment_method:hover,
.woocommerce-MyAccount-content table.subscription_details .button.change_payment_method:hover {
    background: var(--abho-gray-100);
    border-color: var(--abho-gray-400);
    color: var(--abho-gray-800);
}


/* =========================================================================
   AUTO-RENEW TOGGLE — Estilização visual do toggle switch
   ========================================================================= */

.wcs-auto-renew-toggle {
    display: inline-flex;
    align-items: center;
}

.wcs-auto-renew-toggle .subscription-auto-renew-toggle {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    background: var(--abho-gray-100);
    border: 1px solid var(--abho-gray-300);
    border-radius: var(--abho-radius-full);
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--abho-gray-600);
    text-decoration: none !important;
    transition: all var(--abho-transition);
    cursor: pointer;
}

.wcs-auto-renew-toggle .subscription-auto-renew-toggle:hover {
    border-color: var(--abho-primary);
    color: var(--abho-primary);
    background: var(--abho-primary-light);
}

/* Toggle ON state */
.wcs-auto-renew-toggle .subscription-auto-renew-toggle--turn-off {
    background: #dcfce7;
    border-color: #16a34a;
    color: #16a34a;
}

.wcs-auto-renew-toggle .subscription-auto-renew-toggle--turn-off:hover {
    background: #bbf7d0;
    color: #15803d;
    border-color: #15803d;
}

/* Toggle OFF state */
.wcs-auto-renew-toggle .subscription-auto-renew-toggle--turn-on {
    background: var(--abho-gray-100);
    border-color: var(--abho-gray-300);
    color: var(--abho-gray-600);
}


/* =========================================================================
   SUBSCRIPTION TOTALS + RELATED ORDERS — Seções abaixo do card
   ========================================================================= */

.woocommerce-MyAccount-content .order_details,
.woocommerce-MyAccount-content .woocommerce-table--order-details {
    background: var(--abho-white);
    border: 1px solid var(--abho-gray-200);
    border-radius: var(--abho-radius-md);
    overflow: hidden;
    margin-bottom: var(--abho-spacing-lg);
}

.woocommerce-MyAccount-content .order_details tfoot th,
.woocommerce-MyAccount-content .woocommerce-table--order-details tfoot th {
    background: var(--abho-gray-100);
    font-weight: 600;
    font-size: 0.8125rem;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}


/* =========================================================================
   SUBSCRIPTION LIST — Tabela my_account_subscriptions
   Status badges inline (texto plano do WCS)
   ========================================================================= */

.woocommerce-MyAccount-content table.my_account_subscriptions .subscription-status {
    display: inline-flex;
    align-items: center;
    padding: 3px 12px;
    border-radius: var(--abho-radius-full);
    font-size: 0.75rem;
    font-weight: 600;
    white-space: nowrap;
}


/* =========================================================================
   ORDERS TABLE — Melhorias na tabela de pedidos
   ========================================================================= */

/* Order number link — destaque */
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-number a {
    font-weight: 700;
    color: var(--abho-primary);
}

/* Order date — subtle */
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-date {
    color: var(--abho-gray-500);
    font-size: 0.8125rem;
}

/* Order total — destaque */
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-total {
    font-weight: 600;
    color: var(--abho-gray-800);
}


/* =========================================================================
   ENDEREÇOS — Layout completo, cards e headers
   WC usa .col2-set com floats em .u-column1/.u-column2. Precisamos
   resetar tudo e usar grid. Template usa <h2> no header, não <h3>.
   ========================================================================= */

/* 1. Reset dos floats padrão do WC (.col2-set, .u-columns)
      WC usa: .woocommerce .col2-set .col-1 { float:left; width:48% }
      Precisamos de especificidade MAIOR + !important para vencer. */
body.woocommerce-account .woocommerce .col2-set,
body.woocommerce-account .woocommerce .woocommerce-Addresses {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: var(--abho-spacing-lg) !important;
    margin-top: var(--abho-spacing-md);
    float: none !important;
    width: 100% !important;
}

body.woocommerce-account .woocommerce .col2-set::after,
body.woocommerce-account .woocommerce .col2-set::before {
    display: none !important; /* Remove clearfix do WC */
    content: none !important;
}

/* Reset float/width dos filhos .u-column1, .u-column2 */
body.woocommerce-account .woocommerce .col2-set .u-column1,
body.woocommerce-account .woocommerce .col2-set .u-column2,
body.woocommerce-account .woocommerce .col2-set .col-1,
body.woocommerce-account .woocommerce .col2-set .col-2 {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* 2. Card individual */
.woocommerce-MyAccount-content .woocommerce-Address {
    background: var(--abho-white);
    border: 1px solid var(--abho-gray-200);
    border-radius: var(--abho-radius-lg);
    padding: var(--abho-spacing-lg);
    transition: box-shadow var(--abho-transition), border-color var(--abho-transition);
}

.woocommerce-MyAccount-content .woocommerce-Address:hover {
    box-shadow: var(--abho-shadow-md);
    border-color: var(--abho-gray-300);
}

/* 3. Address header — flex row com título e botão editar */
.woocommerce-MyAccount-content .woocommerce-Address-title,
.woocommerce-MyAccount-content .woocommerce-Address header.title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--abho-spacing-sm);
    margin-bottom: var(--abho-spacing-md);
    padding-bottom: var(--abho-spacing-sm);
    border-bottom: 1px solid var(--abho-gray-100);
}

/* Título h2/h3 — WC usa <h2>, não <h3> */
.woocommerce-MyAccount-content .woocommerce-Address-title h2,
.woocommerce-MyAccount-content .woocommerce-Address-title h3,
.woocommerce-MyAccount-content .woocommerce-Address header.title h2,
.woocommerce-MyAccount-content .woocommerce-Address header.title h3 {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--abho-gray-800);
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    flex: 1 1 auto;
    min-width: 0;
    line-height: 1.3;
}

/* Botão editar — compacto e alinhado à direita */
.woocommerce-MyAccount-content .woocommerce-Address .edit,
.woocommerce-MyAccount-content .woocommerce-Address-title .edit {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--abho-primary);
    background: var(--abho-primary-light);
    border-radius: var(--abho-radius-sm);
    text-decoration: none !important;
    transition: all var(--abho-transition);
    white-space: nowrap;
    flex-shrink: 0;
}

.woocommerce-MyAccount-content .woocommerce-Address .edit:hover,
.woocommerce-MyAccount-content .woocommerce-Address-title .edit:hover {
    background: #a7d5ec;
    color: var(--abho-primary-dark);
}

/* 4. Texto do endereço */
.woocommerce-MyAccount-content .woocommerce-Address address {
    font-style: normal;
    font-size: 0.875rem;
    color: var(--abho-gray-600);
    line-height: 1.7;
}

/* 5. Esconder a descrição padrão ("Os endereços a seguir...") quando o header existe */
.woocommerce-MyAccount-content > p:first-child {
    /* Mantida para acessibilidade, apenas melhora visual */
    font-size: 0.875rem;
    color: var(--abho-gray-500);
    margin-bottom: var(--abho-spacing-md);
}


/* =========================================================================
   EDIT ACCOUNT FORM — Aparência de card
   ========================================================================= */

.woocommerce-MyAccount-content .woocommerce-EditAccountForm {
    max-width: 640px;
}

.woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row label {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--abho-gray-600);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: 4px;
    display: block;
}

.woocommerce-MyAccount-content .woocommerce-EditAccountForm input[type="text"],
.woocommerce-MyAccount-content .woocommerce-EditAccountForm input[type="email"],
.woocommerce-MyAccount-content .woocommerce-EditAccountForm input[type="password"],
.woocommerce-MyAccount-content .woocommerce-address-fields input[type="text"],
.woocommerce-MyAccount-content .woocommerce-address-fields input[type="email"],
.woocommerce-MyAccount-content .woocommerce-address-fields input[type="tel"],
.woocommerce-MyAccount-content .woocommerce-address-fields select {
    width: 100%;
    padding: 10px 14px;
    font-size: 0.875rem;
    border: 1px solid var(--abho-gray-300);
    border-radius: var(--abho-radius-sm);
    color: var(--abho-gray-800);
    background: var(--abho-white);
    transition: border-color var(--abho-transition), box-shadow var(--abho-transition);
    -webkit-appearance: none;
    appearance: none;
}

/* Password change fieldset — card appearance */
.woocommerce-MyAccount-content .woocommerce-EditAccountForm fieldset {
    background: var(--abho-gray-100);
    border: 1px solid var(--abho-gray-200);
    border-radius: var(--abho-radius-md);
    padding: var(--abho-spacing-lg);
    margin: var(--abho-spacing-xl) 0;
}

.woocommerce-MyAccount-content .woocommerce-EditAccountForm fieldset legend {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--abho-gray-800);
    padding: 0 var(--abho-spacing-sm);
    background: var(--abho-gray-100);
}


/* =========================================================================
   MÉTODOS DE PAGAMENTO — Tabela melhorada
   ========================================================================= */

.woocommerce-MyAccount-content table.my_account_payment_methods {
    border-radius: var(--abho-radius-md);
}

.woocommerce-MyAccount-content table.my_account_payment_methods .payment-method-method {
    font-weight: 600;
    color: var(--abho-gray-800);
}

.woocommerce-MyAccount-content table.my_account_payment_methods .payment-method-expires {
    color: var(--abho-gray-500);
    font-size: 0.8125rem;
}

/* Default badge */
.woocommerce-MyAccount-content table.my_account_payment_methods .payment-method-method mark {
    background: #dcfce7;
    color: #16a34a;
    font-size: 0.6875rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: var(--abho-radius-full);
    margin-left: 8px;
}

/* Delete / Set default buttons */
.woocommerce-MyAccount-content table.my_account_payment_methods .button.delete {
    color: var(--abho-error);
    border-color: var(--abho-error);
    background: transparent;
}

.woocommerce-MyAccount-content table.my_account_payment_methods .button.delete:hover {
    background: #fef2f2;
}


/* =========================================================================
   EMPTY STATES — Para páginas padrão WC (pedidos, pagamentos)
   ========================================================================= */

.woocommerce-MyAccount-content .woocommerce-message--info,
.woocommerce-MyAccount-content .woocommerce-info {
    display: flex;
    align-items: center;
    gap: var(--abho-spacing-md);
    padding: var(--abho-spacing-lg);
    background: var(--abho-gray-100);
    border: 1px dashed var(--abho-gray-300);
    border-radius: var(--abho-radius-md);
    font-size: 0.875rem;
    color: var(--abho-gray-600);
    border-left: none;
}

.woocommerce-MyAccount-content .woocommerce-info::before {
    color: var(--abho-info);
    font-size: 1.2em;
}

/* "Nenhum pedido feito" empty state */
.woocommerce-MyAccount-content .woocommerce-info .button,
.woocommerce-MyAccount-content .woocommerce-message .button {
    display: inline-flex;
    align-items: center;
    padding: 8px 20px;
    font-size: 0.8125rem;
    font-weight: 600;
    background: var(--abho-primary);
    color: #fff;
    border-radius: var(--abho-radius-sm);
    text-decoration: none;
    margin-left: auto;
    transition: all var(--abho-transition);
    white-space: nowrap;
}

.woocommerce-MyAccount-content .woocommerce-info .button:hover,
.woocommerce-MyAccount-content .woocommerce-message .button:hover {
    background: var(--abho-primary-dark);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: var(--abho-shadow-sm);
}


/* =========================================================================
   PAGINATION — Paginação de pedidos/assinaturas
   ========================================================================= */

.woocommerce-MyAccount-content .woocommerce-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--abho-spacing-sm);
    margin-top: var(--abho-spacing-xl);
    padding-top: var(--abho-spacing-md);
    border-top: 1px solid var(--abho-gray-200);
}

.woocommerce-MyAccount-content .woocommerce-pagination a,
.woocommerce-MyAccount-content .woocommerce-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 var(--abho-spacing-sm);
    border-radius: var(--abho-radius-sm);
    font-size: 0.875rem;
    font-weight: 500;
    border: 1px solid var(--abho-gray-300);
    color: var(--abho-gray-700);
    text-decoration: none;
    transition: all var(--abho-transition);
}

.woocommerce-MyAccount-content .woocommerce-pagination a:hover {
    background: var(--abho-primary-light);
    border-color: var(--abho-primary);
    color: var(--abho-primary);
}

.woocommerce-MyAccount-content .woocommerce-pagination span.current {
    background: var(--abho-primary);
    border-color: var(--abho-primary);
    color: #fff;
    font-weight: 700;
}


/* =========================================================================
   RESPONSIVO — PÁGINAS INTERNAS (complementar ao grid principal)
   ========================================================================= */

@media (max-width: 768px) {
    /* Perfil header empilhado */
    .abho-meu-perfil__header {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: var(--abho-spacing-lg);
    }

    .abho-meu-perfil__avatar img {
        width: 80px;
        height: 80px;
    }

    .abho-meu-perfil__data-list {
        grid-template-columns: 1fr;
    }

    /* Certificados 1 coluna */
    .abho-cert-grid {
        grid-template-columns: 1fr;
    }

    /* Endereços empilhados */
    body.woocommerce-account .woocommerce .col2-set,
    .woocommerce-MyAccount-content .woocommerce-Addresses {
        grid-template-columns: 1fr !important;
    }

    /* Form rows full width */
    .woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row-first,
    .woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row-last,
    .woocommerce-MyAccount-content .woocommerce-address-fields .form-row-first,
    .woocommerce-MyAccount-content .woocommerce-address-fields .form-row-last {
        width: 100%;
        display: block;
        margin-right: 0;
    }

    /* Section header empilhado */
    .abho-myaccount-section__header {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    /* Page header empilhado */
    .abho-page-header {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .abho-page-header__text {
        align-items: center;
    }

    /* Subscription card label column — full width stacking */
    .abho-subscription-card table.subscription_details tbody tr {
        flex-direction: column;
        align-items: flex-start;
    }

    .abho-subscription-card table.subscription_details tbody td:first-child {
        flex: none;
        width: 100%;
        padding-bottom: 0;
    }

    .abho-subscription-card table.subscription_details tbody td:last-child {
        padding-top: 4px;
    }

    /* Tables horizontal scroll */
    .woocommerce-MyAccount-content table.shop_table:not(.subscription_details) {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* Doc items empilhados */
    .abho-doc-item {
        flex-wrap: wrap;
    }

    .abho-doc-item__info {
        flex-basis: calc(100% - 56px);
    }

    .abho-doc-item__status {
        margin-left: 56px;
    }
}

@media (max-width: 480px) {
    .abho-meu-perfil__section {
        padding: var(--abho-spacing-md);
    }

    .abho-cert-card {
        padding: var(--abho-spacing-md);
    }

    .abho-myaccount-empty {
        padding: var(--abho-spacing-xl) var(--abho-spacing-md);
    }

    .woocommerce-MyAccount-content button[type="submit"] {
        width: 100%;
    }

    .abho-subscription-card {
        border-radius: var(--abho-radius-md);
    }

    .abho-subscription-card table.subscription_details tbody td {
        padding: var(--abho-spacing-sm) var(--abho-spacing-md);
    }
}
