/* AWA Round2 (dual-write hotfix)
   Bridge tokens for brand consistency in round scope (header/minicart/owl tabs). */
:root {
    --primary-color: var(--awa-red, #b73337);
    --primary-hover: var(--awa-red-dark, #8e2629);
    --primary-light: var(--awa-red-light, rgb(183 51 55 / 16%)); /* R2026-E: token faltante (usado em focus states) */
    --text-color: var(--awa-dark, #333);
    --bg-white: var(--awa-bg-surface, #fff);
    --awa-focus-ring: color-mix(in srgb, var(--awa-red, #b73337) 25%, transparent); /* R2026-E: token faltante (fallback sempre usado) */
    --awa-space-0-75: 3px;
    --awa-space-1-25: 5px;
    --awa-space-1-75: 7px;
    --awa-space-2-25: 9px;
    --awa-size-18: 18px;
    --awa-size-28: 28px;
    --awa-size-30: 30px;
    --awa-size-32: 32px;
    --awa-size-34: 34px;
    --awa-size-36: 36px;
    --awa-round2-focus-ring: 0 0 0 3px color-mix(in srgb, var(--primary-color) 22%, transparent);
    --awa-round2-transition: 0.3s ease;
    --awa-space-0-5: 2px; /* R2026-I: menor unidade de espaço (gap interno de stacks de texto) */
    --awa-footer-trust-border: rgba(255 255 255 / 18%);
    --awa-footer-trust-bg: rgba(0 0 0 / 10%);
    --awa-footer-trust-muted: rgba(255 255 255 / 70%);
}

@media (prefers-reduced-motion: reduce) {
    :root {
        --awa-round2-transition: 0s;
    }
}

/* AWA UI Modernization — Header / Search / Minicart
   Premium visual layer with consistent design tokens. */

/* ================================================================
   TOP BAR — Utility strip
   ================================================================ */
body .page-wrapper .top-header {
    background: var(--awa-bg-surface, #fff);
    border-bottom: 1px solid var(--color-border, #e5e5e5);
}

body .page-wrapper .top-bar-left {
    display: flex;
    align-items: center;
    min-height: var(--awa-size-34, 34px);
}

body .page-wrapper .top-bar-left .top-left-static {
    display: flex;
    align-items: center;
    gap: var(--awa-gap-2-5, 10px);
    flex-wrap: nowrap;
    min-height: var(--awa-size-34, 34px);
    color: var(--awa-gray-500, #666666);
    font-size: var(--awa-text-xs, 12px);
    line-height: var(--awa-leading-cozy, 1.35);
}

body .page-wrapper .top-bar-left .top-left-static .topbar-info {
    display: inline-flex;
    align-items: center;
    gap: var(--awa-gap-1-5, 6px);
    white-space: nowrap;
}

body .page-wrapper .top-bar-left .top-left-static .topbar-info > i {
    color: var(--primary-color, #b73337);
    font-size: var(--awa-text-xs, 12px);
    line-height: var(--awa-leading-none, 1);
}

body .page-wrapper .top-bar-left .top-left-static .separator {
    display: none;
}

body .page-wrapper .top-bar-left .top-left-static .info-text,
body .page-wrapper .top-bar-left .top-left-static .info-text[href] {
    color: inherit;
    text-decoration: none;
}

body .page-wrapper .top-bar-left .top-left-static .topbar-info--phone .info-text[href] {
    font-weight: var(--awa-weight-semibold);
}

body .page-wrapper .top-bar-left .top-left-static .info-text[href]:hover,
body .page-wrapper .top-bar-left .top-left-static .info-text[href]:focus-visible {
    color: var(--primary-color, #b73337);
    text-decoration: underline;
    text-underline-offset: 0.14em;
    outline: none;
}

body .page-wrapper .top-bar-right .top-info {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--awa-gap-md);
    flex-wrap: wrap;
    /* R2026-F: removido border-radius: var(--awa-radius-full) — container não é pill */
    background: var(--awa-bg-surface, #fff);
    color: var(--color-text, #333);
    font-size: var(--awa-text-xs, 12px);
    font-weight: var(--awa-weight-semibold);
}

body .page-wrapper .top-account ul.header.links > li .counter.qty {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--awa-size-18);
    height: var(--awa-size-18);
    padding-inline: var(--awa-space-1-25);
    margin-inline-start: var(--awa-gap-1-5, 6px);
    border-radius: var(--awa-radius-full);
    background: var(--primary-color);
    color: var(--bg-white);
    font-size: var(--awa-text-2xs);
    font-weight: var(--awa-weight-bold);
    line-height: var(--awa-leading-none);
    vertical-align: middle;
}

body .page-wrapper .top-account ul.header.links > li.awa-top-link-counter-zero .counter.qty {
    display: none !important;
}

body .page-wrapper .awa-b2b-mode-badge {
    --awa-b2b-accent-current: var(--awa-b2b-mode-accent, var(--primary-color));

    display: inline-flex;
    align-items: center;
    gap: var(--awa-gap-sm);
    min-height: var(--awa-size-34, 34px);
    padding: var(--awa-space-1-5) var(--awa-space-2-5);
    border-radius: var(--awa-radius-full);
    border: 1px solid color-mix(in srgb, var(--awa-b2b-accent-current) 22%, white);
    background: color-mix(in srgb, var(--awa-b2b-accent-current) 8%, white);
    color: var(--color-text, #333);
    text-decoration: none;
    font-size: var(--awa-text-xs);
    line-height: var(--awa-leading-compact);
    max-width: 100%;
    transition: background-color var(--awa-round2-transition), border-color var(--awa-round2-transition), box-shadow var(--awa-round2-transition);
}

body .page-wrapper .awa-b2b-mode-badge:hover {
    background: color-mix(in srgb, var(--awa-b2b-accent-current) 14%, white);
    border-color: color-mix(in srgb, var(--awa-b2b-accent-current) 35%, white);
    box-shadow: var(--awa-round2-focus-ring);
    color: var(--color-text, #333);
    text-decoration: none;
}

body .page-wrapper .awa-b2b-mode-badge:focus-visible {
    outline: none;
    box-shadow: var(--awa-round2-focus-ring);
}

/* R2026-J: pulso B2B — feedback visual premium que indica "modo ativo" */
@keyframes awa-b2b-dot-pulse {
    0%, 100% { box-shadow: 0 0 0 3px color-mix(in srgb, var(--awa-b2b-accent-current) 18%, transparent); }
    50%       { box-shadow: 0 0 0 5px color-mix(in srgb, var(--awa-b2b-accent-current) 6%, transparent); }
}

body .page-wrapper .awa-b2b-mode-badge__dot {
    width: 8px;
    height: 8px;
    border-radius: var(--awa-radius-full, 9999px);
    flex: 0 0 auto;
    background: var(--awa-b2b-accent-current);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--awa-b2b-accent-current) 18%, transparent);
    animation: awa-b2b-dot-pulse 2.4s ease-in-out infinite;
}

body .page-wrapper .awa-b2b-mode-badge__label {
    font-weight: var(--awa-weight-bold);
    color: var(--primary-color);
    white-space: nowrap;
}

body .page-wrapper .top-account ul.header.links > li > a {
    display: inline-flex;
    align-items: center;
    gap: var(--awa-gap-xs);
    min-height: 32px;
    padding: var(--awa-space-1) var(--awa-space-3);
    border-radius: 0;
    border: 0;
    background: transparent;
    color: var(--color-text, #333);
    font-size: var(--awa-text-xs); /* R2026-G: 12.5px hardcoded → token canônico (12px) */
    font-weight: var(--awa-weight-medium, 500);
    line-height: var(--awa-leading-compact);
    white-space: nowrap;
    transition: border-color var(--awa-transition, 250ms cubic-bezier(0.4, 0, 0.2, 1)), background-color var(--awa-transition, 250ms cubic-bezier(0.4, 0, 0.2, 1)), box-shadow var(--awa-transition, 250ms cubic-bezier(0.4, 0, 0.2, 1));
}

body .page-wrapper .top-account ul.header.links > li > a:hover {
    border-color: transparent;
    background: transparent;
}

body .page-wrapper .top-account ul.header.links > li > a:hover,
body .page-wrapper .top-account ul.header.links > li > a:focus-visible {
    color: var(--primary-color, #b73337);
    border-color: transparent;
    background: transparent;
    box-shadow: none;
    text-decoration: underline;
    text-underline-offset: 0.14em;
    outline: none;
}

/* ================================================================
   SEARCH BAR — Full-width, prominent, modern
   ================================================================ */
body .page-wrapper .header .top-search {
    overflow: visible;
}

body .page-wrapper .header .top-search .mini-cart-wrapper,
body .page-wrapper .header .top-search .mini-carts {
    overflow: visible;
}

body .page-wrapper .header .top-search .block-search {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
}

body .page-wrapper .header .top-search .block-search .block-content,
body .page-wrapper .header .top-search .block-search #search_mini_form,
body .page-wrapper .header .top-search .block-search .field.search,
body .page-wrapper .header .top-search .block-search .field.search .control {
    width: 100%;
    min-width: 0;
}

body .page-wrapper .header .top-search .block-search #search_mini_form {
    display: flex;
    align-items: stretch;
    flex-wrap: nowrap;
    gap: 0;
}

body .page-wrapper .header .top-search > .block-search .block-content,
body .page-wrapper .header .top-search > .block-search form#search_mini_form,
body .page-wrapper .header .top-search > .block-search form.minisearch {
    display: flex !important;
    align-items: stretch;
    width: 100% !important;
    min-width: 0 !important;
    gap: 0;
}

body .page-wrapper .header .top-search .block-search #search_mini_form .field.search {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
}

body .page-wrapper .header .top-search > .block-search form#search_mini_form .field.search,
body .page-wrapper .header .top-search > .block-search form#search_mini_form .field.search .control {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
}

body .page-wrapper .header .top-search .block-search #search_mini_form .actions {
    flex: 0 0 auto;
    display: flex;
    align-items: stretch;
    height: var(--awa-input-height);
    align-self: stretch;
}

body .page-wrapper .header .top-search > .block-search .actions {
    position: static;
    display: flex !important;
    align-items: stretch;
    float: none;
    margin: 0 !important;
    inset: auto;
    /* opt: 44px alinhado ao JS — elimina CLS do render inicial */
    width: 44px !important;
    min-width: 44px !important;
    flex: 0 0 44px !important;
    height: 44px !important;
    max-height: 44px !important;
}

body .page-wrapper .header .top-search > .block-search .action.search,
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5) .page-wrapper .header .top-search > .block-search .action.search {
    position: static;
    inset: auto;
    float: none;
    margin: 0 !important;
    padding-inline: 0 !important;
    /* opt: 44px alinhado ao JS */
    width: 44px !important;
    min-width: 44px !important;
    flex: 0 0 44px !important;
}

body .page-wrapper .header .top-search .block-search .action.search {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    /* opt: 44px alinhado ao JS */
    width: 44px !important;
    min-width: 44px !important;
    min-height: 44px;
    height: 44px !important;
    max-height: 44px !important;
    border-radius: 0 var(--awa-radius-lg, 16px) var(--awa-radius-lg, 16px) 0;
    border: 2px solid var(--primary-color);
    border-left: 0;
    background: var(--primary-color);
    color: var(--bg-white);
    transition: background-color var(--awa-transition, 250ms cubic-bezier(0.4, 0, 0.2, 1)), border-color var(--awa-transition, 250ms cubic-bezier(0.4, 0, 0.2, 1)), box-shadow var(--awa-transition, 250ms cubic-bezier(0.4, 0, 0.2, 1));
}

body .page-wrapper .header .top-search .block-search .action.search:hover {
    background: var(--primary-hover);
    border-color: var(--primary-hover);
    color: var(--bg-white);
}

body .page-wrapper .header .top-search .block-search .action.search:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px var(--awa-focus-ring, rgb(183 51 55 / 25%));
}

body .page-wrapper .header .top-search .block-search .action.search > span {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

body .page-wrapper .header .top-search .block-search .action.search[data-awa-search-submit='true'] {
    position: relative;
    font-size: 0;
}

body .page-wrapper .header .top-search .block-search .action.search[data-awa-search-submit='true']::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    display: block;
    width: 14px;
    height: 14px;
    border: 2px solid currentcolor;
    border-radius: var(--awa-radius-full, 9999px);
    transform: translate(-58%, -58%);
    pointer-events: none;
}

body .page-wrapper .header .top-search .block-search .action.search[data-awa-search-submit='true']::after {
    content: '';
    position: absolute;
    width: 7px;
    height: 2px;
    border-radius: var(--awa-radius-2xs);
    background: currentcolor;
    inset: 50% auto auto 50%;
    transform: translate(35%, 185%) rotate(45deg);
    pointer-events: none;
}

body .page-wrapper .header .top-search .block-search input#search {
    min-height: var(--awa-input-height);
    height: var(--awa-input-height) !important;
    border-radius: var(--awa-radius-lg, 16px) 0 0 var(--awa-radius-lg, 16px); /* R2026-H: fallback 12px→16px (--awa-radius-lg=16px) */
    border: 2px solid var(--color-border, #e5e5e5);
    border-right: 0;
    padding: var(--awa-space-3) var(--awa-space-4);
    font-size: var(--awa-text-base-plus);
    background: var(--bg-white, #fff);
    transition: border-color var(--awa-transition-fast, 150ms cubic-bezier(0.4, 0, 0.2, 1)), box-shadow var(--awa-transition-fast, 150ms cubic-bezier(0.4, 0, 0.2, 1));
}

body .page-wrapper .header .top-search .block-search input#search:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px var(--primary-light, rgb(183 51 55 / 10%));
    outline: 0;
}

body .page-wrapper .header .top-search .block-search[data-awa-component='search-autocomplete'] #search_mini_form.is-open .control,
body .page-wrapper .header .top-search .block-search[data-awa-component='search-autocomplete'] #search_mini_form.is-open {
    z-index: 40;
}

body .page-wrapper .header .top-search .block-search[data-awa-component='search-autocomplete'] #search_mini_form.is-open input#search {
    border-bottom-left-radius: var(--awa-radius, 12px);
    border-bottom-right-radius: var(--awa-radius, 12px);
}

body .page-wrapper .header .top-search .block-search[data-awa-component='search-autocomplete'] #search_mini_form.is-open #search_autocomplete {
    margin-top: var(--awa-space-1-5);
}

/* ================================================================
   MINICART — Trigger + Premium Dropdown
   ================================================================ */
body .page-wrapper .header .top-search .minicart-wrapper {
    position: relative;
    z-index: 30;
}

body .page-wrapper .header .top-search .minicart-wrapper .action.showcart {
    min-height: var(--awa-btn-height);
    border-radius: var(--awa-radius-md, 10px);
    padding: var(--awa-space-2-5) var(--awa-space-3);
    transition: color var(--awa-transition, 250ms cubic-bezier(0.4, 0, 0.2, 1)), box-shadow var(--awa-transition, 250ms cubic-bezier(0.4, 0, 0.2, 1)), background-color var(--awa-transition, 250ms cubic-bezier(0.4, 0, 0.2, 1));
}

body .page-wrapper .header .top-search .minicart-wrapper .action.showcart:hover {
    background: var(--primary-light, rgb(183 51 55 / 8%));
    color: var(--primary-hover);
}

body .page-wrapper .header .top-search .minicart-wrapper .action.showcart:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px var(--awa-focus-ring, rgb(183 51 55 / 25%));
}

body .page-wrapper .header .top-search .minicart-wrapper .counter.qty {
    top: 0;
    right: 0;
    min-width: 22px;
    height: 22px;
    padding-inline: var(--awa-space-1-5);
    background: var(--primary-color);
    color: var(--bg-white);
    font-size: var(--awa-text-2xs);
    font-weight: var(--awa-weight-bold, 700);
    border-radius: var(--awa-radius-full, 9999px);
    box-shadow: 0 2px 6px rgb(183 51 55 / 30%);
    line-height: 22px;
    text-align: center;
}

body .page-wrapper .header .top-search .minicart-wrapper .block-minicart {
    right: 0;
    left: auto;
    margin-top: var(--awa-space-2-5) ;
    max-width: min(400px, calc(100vw - 20px));
    width: min(400px, calc(100vw - 20px));
    z-index: var(--awa-z-above-overlay);
    border: 1px solid var(--color-border, #e5e5e5);
    border-radius: var(--awa-radius-xl, 16px);
    box-shadow: var(--awa-shadow-lg, 0 8px 30px rgb(0 0 0 / 10%));
    backdrop-filter: blur(8px);
    background: rgb(255 255 255 / 98%);
}

body .page-wrapper .header .top-search .minicart-wrapper .block-minicart .action.viewcart,
body .page-wrapper .header .top-search .minicart-wrapper .block-minicart .action.checkout {
    border-radius: var(--awa-radius-md, 10px);
    min-height: var(--awa-btn-height);
    font-weight: var(--awa-weight-semibold, 600);
    transition: background-color var(--awa-transition, 250ms cubic-bezier(0.4, 0, 0.2, 1)), border-color var(--awa-transition, 250ms cubic-bezier(0.4, 0, 0.2, 1)), box-shadow var(--awa-transition, 250ms cubic-bezier(0.4, 0, 0.2, 1));
}

body .page-wrapper .header .top-search .minicart-wrapper .block-minicart .action.viewcart:focus-visible,
body .page-wrapper .header .top-search .minicart-wrapper .block-minicart .action.checkout:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px var(--awa-focus-ring, rgb(183 51 55 / 25%));
}

/* Runtime hardening for pages internas: neutraliza offsets legados do logo e evita colapso do form */
body:not(.cms-index-index, .cms-home, .cms-homepage_ayo_home5) .page-wrapper .header .wp-header .logo,
body:not(.cms-index-index, .cms-home, .cms-homepage_ayo_home5) .page-wrapper .header .wp-header .logo a {
    position: relative;
    left: 0 !important;
    right: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    float: none;
    transform: none;
}

body:not(.cms-index-index, .cms-home, .cms-homepage_ayo_home5) .page-wrapper .header .wp-header .logo img {
    transform: none;
    margin: 0 !important;
}

body:not(.cms-index-index, .cms-home, .cms-homepage_ayo_home5) .page-wrapper .header .top-search > .block-search .block-content,
body:not(.cms-index-index, .cms-home, .cms-homepage_ayo_home5) .page-wrapper .header .top-search > .block-search #search_mini_form {
    min-height: 44px !important;
}

/* Keep internal pages focused on main nav/content by hiding expanded vertical category rail */
body:not(.cms-index-index, .cms-home, .cms-homepage_ayo_home5) .page-wrapper .header-control .menu_left_home1,
body:not(.cms-index-index, .cms-home, .cms-homepage_ayo_home5) .page-wrapper .header-control .sections.nav-sections.category-dropdown,
body:not(.cms-index-index, .cms-home, .cms-homepage_ayo_home5) .page-wrapper .header-control .navigation.verticalmenu.side-verticalmenu {
    display: none !important;
}

body:not(.cms-index-index, .cms-home, .cms-homepage_ayo_home5) .page-wrapper .header-control .action.nav-toggle,
body:not(.cms-index-index, .cms-home, .cms-homepage_ayo_home5) .page-wrapper .header-control .nav-toggle {
    display: none !important;
    visibility: hidden;
    pointer-events: none;
}

@media (min-width: 768px) {
    body:not(.cms-index-index, .cms-home, .cms-homepage_ayo_home5) .page-wrapper .header-control .menu_primary {
        flex: 0 0 83.3333% !important;
        width: 83.3333% !important;
        max-width: 83.3333% !important;
    }
}

/* Sticky header condensed state (desktop sticky menu area only) */
@media (min-width: 992px) {
    body .page-wrapper .header-wrapper-sticky .container-header-sticky,
    body .page-wrapper .header-wrapper-sticky .logo-sticky img {
        transition: transform var(--awa-round2-transition); /* perf: removed padding/height transitions (layout thrashing) */
    }

    body.awa-header-condensed .page-wrapper .header-wrapper-sticky.awa-header-condensed .container-header-sticky {
        padding-top: var(--awa-space-1) ;
        padding-bottom: var(--awa-space-1) ;
        min-height: 0;
    }

    body.awa-header-condensed .page-wrapper .header-wrapper-sticky.awa-header-condensed .logo-sticky img {
        max-height: 34px;
        width: auto;
    }

    body.awa-header-condensed .page-wrapper .header-wrapper-sticky.awa-header-condensed .top-menu.top-menu-sticky > ul > li > a,
    body.awa-header-condensed .page-wrapper .header-wrapper-sticky.awa-header-condensed .top-menu.top-menu-sticky .navigation.custommenu.main-nav > ul > li > a {
        padding-top: var(--awa-space-2-5) ;
        padding-bottom: var(--awa-space-2-5) ;
        line-height: var(--awa-leading-dense);
    }

    body.awa-header-condensed .page-wrapper .header .top-search .minicart-wrapper .block-minicart {
        margin-top: var(--awa-space-1-5);
    }
}

@media (max-width: 991px) {
    body .page-wrapper .top-bar-right .top-info {
        justify-content: center;
        gap: var(--awa-gap-sm);
    }

    body .page-wrapper .top-account ul.header.links {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: var(--awa-gap-xs) var(--awa-gap-sm);
        margin: 0;
        padding: 0;
    }

    body .page-wrapper .top-account ul.header.links > li {
        float: none;
        display: inline-flex;
        align-items: center;
        margin: 0 !important;
        padding: 0 !important;
    }

    body .page-wrapper .top-account ul.header.links > li::before,
    body .page-wrapper .top-account ul.header.links > li::after {
        display: none !important;
    }

    body .page-wrapper .top-account ul.header.links > li > a {
        display: inline-flex;
        align-items: center;
        gap: var(--awa-gap-xs);
        min-height: var(--awa-size-30);
        padding: var(--awa-space-1) var(--awa-space-2);
        border-radius: 0;
        border: 0;
        background: transparent;
        color: var(--color-text, #333);
        font-size: var(--awa-text-xs);
        line-height: var(--awa-leading-tight);
        white-space: nowrap;
    }

    body .page-wrapper .awa-b2b-mode-badge {
        min-height: var(--awa-size-32);
        padding: var(--awa-space-1-25) var(--awa-space-2-25);
        font-size: var(--awa-text-2xs);
    }

    body .page-wrapper .awa-b2b-mode-badge__tier {
        max-width: 12ch;
    }
}

@media (max-width: 767px) {
    body .page-wrapper .top-header .top-bar-right {
        padding-top: 2px;
        width: 100%;
    }

    body .page-wrapper .top-header .top-info {
        width: 100%;
        align-items: stretch;
        justify-content: center;
        gap: var(--awa-gap-xs);
    }

    body .page-wrapper .top-header .top-info .top-account {
        width: 100%;
    }

    body .page-wrapper .top-account ul.header.links {
        width: 100%;
        justify-content: center;
        flex-wrap: wrap;
        overflow: visible;
        gap: var(--awa-gap-xs);
        row-gap: var(--awa-gap-xs);
        padding-inline: 0;
    }

    body .page-wrapper .top-account ul.header.links::-webkit-scrollbar {
        display: none;
    }

    body .page-wrapper .awa-b2b-mode-badge {
        order: -1;
        width: 100%;
        justify-content: center;
        min-height: 38px;
        padding-inline: var(--awa-space-3);
    }

    body .page-wrapper .awa-b2b-mode-badge__tier {
        max-width: min(42vw, 16ch);
        overflow: hidden;
        text-overflow: ellipsis;
    }

    body .page-wrapper .top-account ul.header.links > li.awa-top-link-item--compare,
    body .page-wrapper .top-account ul.header.links > li.compare,
    body .page-wrapper .top-account ul.header.links > li.awa-top-link-item--account,
    body .page-wrapper .top-account ul.header.links > li.link.wishlist,
    body .page-wrapper .top-account ul.header.links > li[data-bind*='wishlist'] {
        display: none !important;
    }

    body .page-wrapper .top-account ul.header.links > li > a[href*='/wishlist/'],
    body .page-wrapper .top-account ul.header.links > li > a[href*='/customer/account/'] {
        display: none !important;
    }

    body .page-wrapper .top-account ul.header.links > li > a {
        min-height: var(--awa-size-28);
        padding: var(--awa-space-0-75) var(--awa-space-1-75);
        font-size: var(--awa-text-2xs);
        justify-content: center;
        min-width: 96px;
    }

    body .page-wrapper .header .wp-header {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }

    body .page-wrapper .header .wp-header > [class*='col-']:first-child {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
        padding-inline: 0 !important;
        margin: 0 0 var(--awa-space-2-5)!important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        position: static;
    }

    body .page-wrapper .header .wp-header > [class*='col-']:first-child .logo,
    body .page-wrapper .header .wp-header > [class*='col-']:first-child .logo a {
        position: static;
        float: none;
        inset: auto;
        margin: 0 auto !important;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
    }

    body .page-wrapper .header .wp-header > [class*='col-']:first-child .logo img {
        width: auto !important;
        height: auto !important;
        max-height: 56px;
    }

    body .page-wrapper .header .wp-header > .top-search {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
        margin: 0 !important;
        padding-inline: 0 !important;
    }

    body .page-wrapper .header .top-search {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: var(--awa-gap-sm);
        margin-top: 0 !important;
    }

    body .page-wrapper .header-wrapper-sticky .logo-sticky {
        display: none !important;
    }

    body .page-wrapper .header .top-search > .mini-cart-wrapper {
        position: static;
        inset: auto;
        transform: none;
        order: 2;
        margin: 0;
        flex: 0 0 44px;
        width: 44px;
        min-width: 44px;
        align-self: stretch;
        z-index: 1;
    }

    body .page-wrapper .header .top-search > .mini-cart-wrapper .mini-carts,
    body .page-wrapper .header .top-search > .mini-cart-wrapper .minicart-wrapper {
        position: static;
        inset: auto;
        width: 44px;
        min-width: 44px;
        height: 100%;
    }

    body .page-wrapper .header .top-search > .mini-cart-wrapper .minicart-wrapper .showcart {
        position: static;
        inset: auto;
        width: 44px !important;
        min-width: 44px !important;
        height: 100%;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
    }

    body .page-wrapper .header .top-search > .block-search {
        order: 1;
        flex: 1 1 calc(100% - 52px);
        width: calc(100% - 52px);
        min-width: 0;
    }

    body .page-wrapper .header .top-search > .block-search > .block-content {
        display: flex;
        flex-direction: column;
        gap: var(--awa-gap-sm);
    }

    body .page-wrapper .header .top-search > .hoteline_header {
        order: 3;
        flex: 1 1 100%;
        width: 100%;
    }

    body .page-wrapper .header .top-search > .block-search .block-content,
    body .page-wrapper .header .top-search > .block-search form#search_mini_form,
    body .page-wrapper .header .top-search > .block-search form.minisearch {
        display: flex !important;
        align-items: stretch;
    }

    body .page-wrapper .header .top-search .block-search .action.search,
    body .page-wrapper .header .top-search .block-search input#search,
    body .page-wrapper .header .top-search .minicart-wrapper .action.showcart {
        min-height: var(--awa-control-height);
    }

    @media (max-width: 480px) {
        body .page-wrapper .header .top-search {
            gap: var(--awa-gap-xs);
        }

        body .page-wrapper .header .top-search > .block-search {
            flex: 1 1 calc(100% - 48px);
            width: calc(100% - 48px);
        }

        body .page-wrapper .header .top-search > .block-search .actions,
        body .page-wrapper .header .top-search > .block-search .action.search,
        :is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5) .page-wrapper .header .top-search > .block-search .actions,
        :is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5) .page-wrapper .header .top-search > .block-search .action.search {
            width: 44px !important;
            min-width: 44px !important;
            flex: 0 0 44px !important;
        }

        body .page-wrapper .header .top-search > .block-search .field.search input#search,
        body .page-wrapper .header .top-search > .block-search .action.search,
        body .page-wrapper .header .top-search > .mini-cart-wrapper .minicart-wrapper .showcart {
            min-height: var(--awa-control-height-sm);
        }

        body .page-wrapper .header .top-search > .block-search > .block-content {
            gap: var(--awa-gap-1-5);
        }
    }

    @media (max-width: 360px) {
        body .page-wrapper .header .top-search > .block-search {
            flex: 1 1 calc(100% - 46px);
            width: calc(100% - 46px);
        }

        body .page-wrapper .header .top-search > .hoteline_header .whatsapp-hotline {
            min-height: 38px;
            padding: var(--awa-space-1-5) var(--awa-space-2);
        }

        body .page-wrapper .header .top-search > .hoteline_header .hotline-wrap {
            row-gap: var(--awa-gap-2xs);
        }

        body .page-wrapper .header .top-search > .hoteline_header .hotline-number {
            font-size: var(--awa-text-2xs);
        }
    }

    body .page-wrapper .header .top-search > .block-search .action.search {
        border-radius: 0 var(--awa-radius-lg, 16px) var(--awa-radius-lg, 16px) 0; /* R2026-N: var(--awa-radius,12px) → lg(16px) — consistência com desktop */
    }

    body .page-wrapper .header .top-search > .block-search .field.search input#search {
        border-top-right-radius: 0 !important;
        border-bottom-right-radius: 0 !important;
    }

    body .page-wrapper .header .top-search > .hoteline_header .whatsapp-hotline {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 40px;
        padding: var(--awa-space-2) var(--awa-space-2-5);
        border-radius: var(--awa-radius-md);
        background: var(--awa-bg-surface, #fff);
        border: 1px solid var(--awa-gray-200, #e5e5e5);
    }

    body .page-wrapper .header .top-search > .hoteline_header .hotline-wrap {
        display: inline-flex;
        align-items: baseline;
        gap: var(--awa-gap-xs);
        flex-wrap: wrap;
        justify-content: center;
    }

    body .page-wrapper .header .top-search > .hoteline_header .hotline-label {
        font-size: var(--awa-text-2xs);
    }

    body .page-wrapper .header .top-search > .hoteline_header .hotline-number {
        font-size: var(--awa-text-xs);
        font-weight: var(--awa-weight-bold);
    }

    body .page-wrapper .header .top-search .awa-search-helper-copy {
        display: block;
        margin: 0;
        color: var(--awa-gray-500, #666666);
        font-size: var(--awa-text-xs); /* R2026-K: 11.5px → token (12px) */
        line-height: var(--awa-leading-cozy, 1.35);
        letter-spacing: 0.01em;
    }

    body .page-wrapper .header .top-search .awa-search-helper-copy::before {
        content: 'Busca rápida:';
        margin-inline-end: 6px;
        color: var(--color-text, #333);
        font-weight: var(--awa-weight-semibold, 600);
    }

    body .page-wrapper .header .top-search > .block-search .field.search input#search {
        font-weight: var(--awa-weight-medium, 500);
    }

    body .page-wrapper .header .top-search > .block-search .field.search input#search::placeholder {
        color: var(--awa-gray-500, #666666);
    }

    body .page-wrapper .header .top-search > .hoteline_header {
        display: flex;
        justify-content: flex-start;
    }

    body .page-wrapper .header .top-search > .hoteline_header .whatsapp-hotline {
        width: auto;
        max-width: 100%;
        min-height: 38px;
        justify-content: flex-start;
        gap: var(--awa-gap-sm);
        padding: var(--awa-space-1-5) var(--awa-space-3);
        box-shadow: 0 6px 16px rgb(15 23 42 / 6%);
    }

    body .page-wrapper .header .top-search > .hoteline_header .whatsapp-hotline:hover,
    body .page-wrapper .header .top-search > .hoteline_header .whatsapp-hotline:focus-visible {
        border-color: color-mix(in srgb, var(--primary-color, #b73337) 24%, var(--awa-white, #fff));
        background: color-mix(in srgb, var(--primary-color, #b73337) 5%, var(--awa-white, #fff));
        box-shadow: 0 8px 18px rgb(15 23 42 / 10%);
        outline: none;
    }

    body .page-wrapper .header .top-search > .hoteline_header .whatsapp-hotline > i {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 28px;
        height: 28px;
        border-radius: var(--awa-radius-full);
        background: rgb(37 211 102 / 10%);
        color: #1f9d57;
        flex: 0 0 auto;
    }

    body .page-wrapper .header .top-search > .hoteline_header .hotline-wrap {
        align-items: flex-start;
        gap: var(--awa-space-0-5, 2px); /* R2026-I: 2px hardcoded → token */
    }

    body .page-wrapper .header .top-search > .hoteline_header .hotline-label {
        color: var(--awa-gray-500, #666666);
        font-size: var(--awa-text-2xs); /* R2026-K: 10.5px → token (11px) */
        font-weight: var(--awa-weight-semibold, 600);
        letter-spacing: 0.05em;
        text-transform: uppercase;
    }

    body .page-wrapper .header .top-search > .hoteline_header .hotline-number {
        color: var(--color-text, #333);
        font-size: var(--awa-text-sm, 13px);
        line-height: var(--awa-leading-compact, 1.2);
    }

    body .page-wrapper .header-control .action.nav-toggle {
        transition: border-color var(--awa-transition, 250ms cubic-bezier(0.4, 0, 0.2, 1)), background-color var(--awa-transition, 250ms cubic-bezier(0.4, 0, 0.2, 1)), box-shadow var(--awa-transition, 250ms cubic-bezier(0.4, 0, 0.2, 1)), transform var(--awa-transition, 250ms cubic-bezier(0.4, 0, 0.2, 1));
    }

    body .page-wrapper .header-control .action.nav-toggle:hover,
    body .page-wrapper .header-control .action.nav-toggle:focus-visible {
        border-color: color-mix(in srgb, var(--primary-color, #b73337) 28%, var(--awa-white, #fff)) !important;
        background: color-mix(in srgb, var(--primary-color, #b73337) 6%, var(--awa-white, #fff)) !important;
        box-shadow: 0 8px 18px rgb(15 23 42 / 10%);
        transform: translateY(-1px);
        outline: none;
    }

    @media (width >= 992px) and (width <= 1199px) {
        body .page-wrapper .header .top-search > .hoteline_header .hotline-label {
            display: none;
        }
    }

    body .page-wrapper .header-control .action.nav-toggle {
        position: relative;
        z-index: 6 !important;
        pointer-events: auto;
    }

    :is(body.catalog-category-view, body.catalogsearch-result-index) .page-wrapper .header-control .menu_left_home1 {
        display: none !important;
    }

    :is(body.catalog-category-view, body.catalogsearch-result-index) .page-wrapper .sections.nav-sections.category-dropdown,
    :is(body.catalog-category-view, body.catalogsearch-result-index) .page-wrapper .navigation.verticalmenu.side-verticalmenu {
        display: none !important;
    }

    :is(body.catalog-category-view, body.catalogsearch-result-index) .page-wrapper .header-control .row {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--awa-gap-sm);
    }

    :is(body.catalog-category-view, body.catalogsearch-result-index) .page-wrapper .action.nav-toggle {
        position: static;
        inset: auto;
        float: none;
        clear: both !important;
        transform: none;
    }

    :is(body.catalog-category-view, body.catalogsearch-result-index) .page-wrapper .header .top-search .logo,
    :is(body.catalog-category-view, body.catalogsearch-result-index) .page-wrapper .header .top-search .logo img {
        display: none !important;
    }

    body:not(.cms-index-index, .cms-home, .cms-homepage_ayo_home5) .page-wrapper .header .top-search .logo,
    body:not(.cms-index-index, .cms-home, .cms-homepage_ayo_home5) .page-wrapper .header .top-search .logo img {
        display: none !important;
    }

    :is(body.catalog-category-view, body.catalogsearch-result-index) .page-wrapper .header-control .action.nav-toggle {
        display: inline-flex !important;
        visibility: visible;
        pointer-events: auto;
        align-items: center;
        justify-content: center;
        width: var(--awa-icon-button-size) !important;
        min-width: var(--awa-icon-button-size) !important;
        height: var(--awa-icon-button-size) !important;
        margin: var(--awa-space-2) 0 0!important;
        position: static;
        float: none;
        clear: both !important;
        border-radius: var(--awa-radius) !important;
        border: 1px solid var(--awa-gray-200, #e5e5e5) !important;
        background: var(--awa-bg-surface, #fff) !important;
        color: var(--primary-color, #b73337) !important;
        box-shadow: 0 4px 12px rgb(15 23 42 / 6%);
    }

    body:not(.cms-index-index, .cms-home, .cms-homepage_ayo_home5) .page-wrapper .action.nav-toggle {
        display: none !important;
    }

    body:not(.cms-index-index, .cms-home, .cms-homepage_ayo_home5) .page-wrapper .menu_left_home1,
    body:not(.cms-index-index, .cms-home, .cms-homepage_ayo_home5) .page-wrapper .header-control .menu_left_home1,
    body:not(.cms-index-index, .cms-home, .cms-homepage_ayo_home5) .page-wrapper .sections.nav-sections.category-dropdown,
    body:not(.cms-index-index, .cms-home, .cms-homepage_ayo_home5) .page-wrapper .navigation.verticalmenu.side-verticalmenu,
    body:not(.cms-index-index, .cms-home, .cms-homepage_ayo_home5) .page-wrapper .title-category-dropdown {
        display: none !important;
    }

    :is(body.catalog-category-view, body.catalogsearch-result-index) .page-wrapper .header-control .action.nav-toggle::before {
        line-height: var(--awa-leading-none);
    }

    body .page-wrapper .header .top-search .minicart-wrapper .block-minicart {
        width: min(360px, calc(100vw - 12px));
        max-width: calc(100vw - 12px);
        right: -4px;
    }
}

/* Round20 stabilization: prevent non-home mobile nav overlap + cap home menu column */

@media (min-width: 768px) {
    :is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5) .page-wrapper .header-control.header-nav-global.cms_home_1,
    :is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5) .page-wrapper .header-control.header-nav-global.cms_home_1 > .container,
    :is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5) .page-wrapper .header-control.header-nav-global.cms_home_1 > .container > .row {
        height: auto !important;
        min-height: 0 !important;
    }

    :is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5) .page-wrapper .header-control.header-nav-global.cms_home_1 .menu_left_home1 {
        max-height: none !important;
        overflow: visible;
    }

    :is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5) .page-wrapper .header-control.header-nav-global.cms_home_1 .menu_left_home1 .sections.nav-sections.category-dropdown,
    :is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5) .page-wrapper .header-control.header-nav-global.cms_home_1 .menu_left_home1 .navigation.verticalmenu.side-verticalmenu {
        max-height: inherit !important;
        overflow: visible;
    }

    :is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5) .page-wrapper .header-control.header-nav-global.cms_home_1 .menu_left_home1 .navigation.verticalmenu.side-verticalmenu > .list-category-dropdown {
        max-height: none !important;
        overflow: visible;
        overscroll-behavior: auto;
        scrollbar-width: auto;
    }

    :is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5) .page-wrapper .header-control.header-nav-global.cms_home_1 .menu_left_home1 .navigation.verticalmenu.side-verticalmenu > .list-category-dropdown > .vertical-bg-img {
        display: none !important;
    }

    :is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5) .page-wrapper .header-control.header-nav-global.cms_home_1 .menu_left_home1 .navigation.verticalmenu.side-verticalmenu > .list-category-dropdown > .expand-category-link {
        position: static;
        inset-block-end: auto;
        z-index: auto;
        background: transparent;
    }
}

/* Round21: mobile utility links priority + strict 44px search control height */
@media (max-width: 767px) {
    body .page-wrapper .top-account ul.header.links {
        justify-content: center;
        flex-wrap: wrap;
        overflow: visible;
        gap: var(--awa-gap-sm);
        row-gap: var(--awa-gap-sm);
    }

    body .page-wrapper .top-account ul.header.links > li {
        display: none !important;
    }

    body .page-wrapper .top-account ul.header.links > li.awa-top-link-item--b2b-register,
    body .page-wrapper .top-account ul.header.links > li.awa-top-link-item--login,
    body .page-wrapper .top-account ul.header.links > li.awa-top-link-item--logout {
        display: inline-flex !important;
    }

    body .page-wrapper .top-account ul.header.links > li.awa-top-link-item--b2b-register > a,
    body .page-wrapper .top-account ul.header.links > li.awa-top-link-item--login > a,
    body .page-wrapper .top-account ul.header.links > li.awa-top-link-item--logout > a {
        min-height: 30px !important;
        padding: var(--awa-space-1) var(--awa-space-2-5)!important;
        border-radius: var(--awa-radius-full) !important;
        font-size: var(--awa-text-xs) !important; /* R2026-K: 11.5px → token (12px) */
        font-weight: var(--awa-weight-semibold) !important;
    }

    body .page-wrapper .header .top-search > .block-search .actions,
    body .page-wrapper .header .top-search > .block-search .action.search,
    body .page-wrapper .header .top-search > .block-search .field.search input#search {
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        box-sizing: border-box !important;
    }

    body .page-wrapper .header .top-search > .block-search .action.search {
        padding: 0 !important;
        line-height: var(--awa-leading-none);
    }

    body .page-wrapper .header .top-search .awa-search-helper-copy {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    body .page-wrapper .awa-b2b-mode-badge__dot {
        animation: none; /* R2026-J: respeita preferência do utilizador */
    }

    body .page-wrapper .awa-b2b-mode-badge,
    body .page-wrapper .header .top-search .block-search .action.search,
    body .page-wrapper .header .top-search .minicart-wrapper .action.showcart,
    body .page-wrapper .top-account ul.header.links > li > a,
    body .page-wrapper .header-wrapper-sticky .container-header-sticky,
    body .page-wrapper .header-wrapper-sticky .logo-sticky img {
        transition: none;
    }
}

.awa-footer-sprite {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
    pointer-events: none;
}

.page_footer .awa-footer-trust-bar {
    border-top: 1px solid var(--awa-footer-trust-border);
    border-bottom: 1px solid var(--awa-footer-trust-border);
    background: var(--awa-footer-trust-bg);
    margin: 0 0 var(--awa-space-3-5);
}

.page_footer .awa-footer-trust-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--awa-gap-lg);
    padding: var(--awa-space-3) 0 var(--awa-space-4);
}

.page_footer .awa-footer-trust-item {
    display: flex;
    align-items: center;
    gap: var(--awa-gap-md);
    padding: var(--awa-space-2-5) var(--awa-space-3);
    border: 1px solid rgba(255 255 255 / 18%);
    border-radius: var(--awa-radius-md);
    background: rgba(0 0 0 / 12%);
    min-height: 64px;
}

.page_footer .awa-footer-trust-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--awa-icon-button-size);
    height: var(--awa-icon-button-size);
    border-radius: var(--awa-radius-full);
    flex-shrink: 0;
    background: rgba(255 255 255 / 20%);
    color: var(--awa-white, #fff);
}

.page_footer .awa-footer-trust-icon svg {
    width: 22px;
    height: 22px;
    display: block;
}

.page_footer .awa-footer-trust-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--awa-space-0-5, 2px); /* R2026-I: 2px → token */
}

.page_footer .awa-footer-trust-copy strong {
    color: var(--awa-white, #fff);
    font-size: var(--awa-text-base);
    line-height: var(--awa-leading-snug);
    font-weight: var(--awa-weight-bold);
}

.page_footer .awa-footer-trust-copy span {
    color: var(--awa-footer-trust-muted);
    font-size: var(--awa-text-xs);
    line-height: var(--awa-leading-cozy);
}

.page_footer .awa-footer-payments-security {
    margin-top: var(--awa-space-1-5);
}

.page_footer .awa-footer-payments-security__grid {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: var(--awa-gap-md);
}

.page_footer .awa-footer-payments-security__panel {
    border: 1px solid rgba(255 255 255 / 18%);
    border-radius: var(--awa-radius-md);
    background: rgba(0 0 0 / 10%);
    padding: var(--awa-space-3) ;
    min-height: 100%;
}

.page_footer .awa-footer-panel-title {
    margin: 0 0 var(--awa-space-2-5);
    color: var(--awa-white, #fff);
    font-size: var(--awa-text-base);
    line-height: var(--awa-leading-compact);
    font-weight: var(--awa-weight-bold);
}

.page_footer .awa-footer-panel-section + .awa-footer-panel-section {
    margin-top: var(--awa-space-2-5) ;
    padding-top: var(--awa-space-2-5) ;
    border-top: 1px dashed rgba(255 255 255 / 18%);
}

.page_footer .awa-footer-panel-label {
    margin: 0 0 var(--awa-space-2);
    color: rgba(255 255 255 / 70%);
    font-size: var(--awa-text-2xs);
    line-height: var(--awa-leading-base);
    font-weight: var(--awa-weight-bold);
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.page_footer .awa-payment-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--awa-gap-sm);
}

.page_footer .awa-payment-chip {
    display: inline-flex;
    align-items: center;
    gap: var(--awa-gap-sm);
    border: 1px solid rgba(255 255 255 / 18%);
    background: rgba(0 0 0 / 10%);
    color: rgba(255 255 255 / 80%);
    border-radius: var(--awa-radius-full);
    padding: var(--awa-space-1-5) var(--awa-space-2-5);
    font-size: var(--awa-text-xs);
    font-weight: var(--awa-weight-semibold);
    line-height: var(--awa-leading-none);
}

.page_footer .awa-payment-chip svg {
    width: 16px;
    height: 16px;
    color: rgba(255 255 255 / 80%);
    flex-shrink: 0;
}

.page_footer .awa-payment-chip--priority {
    background: rgba(255 255 255 / 20%);
    border-color: rgba(255 255 255 / 35%);
    color: var(--awa-white, #fff);
}

.page_footer .awa-payment-chip--priority svg {
    color: var(--awa-white, #fff);
}

.page_footer .awa-security-badge-list {
    display: grid;
    gap: var(--awa-gap-md);
}

.page_footer .awa-security-badge {
    display: flex;
    align-items: center;
    gap: var(--awa-gap-md);
    border: 1px solid rgba(255 255 255 / 18%);
    border-radius: var(--awa-radius-sm);
    background: rgba(0 0 0 / 10%);
    padding: var(--awa-space-2-5) ;
    color: var(--awa-white, #fff);
    text-decoration: none;
    transition: border-color var(--awa-round2-transition), box-shadow var(--awa-round2-transition), transform var(--awa-round2-transition); /* R2026-L: 0.3s ease → token */
}

.page_footer .awa-security-badge:hover,
.page_footer .awa-security-badge:focus-visible {
    border-color: rgba(255 255 255 / 35%);
    box-shadow: 0 4px 14px rgba(255 255 255 / 15%);
    transform: translateY(-1px);
    text-decoration: none;
    outline: none;
}

.page_footer .awa-security-badge__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--awa-size-36);
    height: var(--awa-size-36);
    border-radius: var(--awa-radius-full);
    background: rgba(255 255 255 / 20%);
    color: var(--awa-white, #fff);
    flex-shrink: 0;
}

.page_footer .awa-security-badge__icon svg {
    width: var(--awa-size-18);
    height: var(--awa-size-18);
    display: block;
}

.page_footer .awa-security-badge__copy {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.page_footer .awa-security-badge__copy strong {
    font-size: var(--awa-text-sm);
    line-height: var(--awa-leading-dense);
    font-weight: var(--awa-weight-bold);
    color: var(--awa-white, #fff);
}

.page_footer .awa-security-badge__copy small {
    font-size: var(--awa-text-2xs);
    line-height: var(--awa-leading-snug);
    color: rgba(255 255 255 / 70%);
}

/* ================================================================
   FOOTER FINE-TUNING (2026-03-30)
   ================================================================
   Five micro-improvements to enhance footer visual polish without
   restructuring HTML: animations, spacing, hover states, color,
   and typography refinement.
 */

/* 1. ANIMATIONS — Slideup entrance effect with stagger */
@keyframes awa-footer-slideup {
    from {
        opacity: 0;
        transform: translateY(16px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: no-preference) {
    .page_footer .footer-container {
        animation: awa-footer-slideup 0.6s ease-out forwards;
    }

    .page_footer .awa-footer-trust-item {
        animation: awa-footer-slideup 0.6s ease-out forwards;
    }

    .page_footer .awa-footer-trust-item:nth-child(1) { animation-delay: 0.08s; }
    .page_footer .awa-footer-trust-item:nth-child(2) { animation-delay: 0.16s; }
    .page_footer .awa-footer-trust-item:nth-child(3) { animation-delay: 0.24s; }
    .page_footer .awa-footer-trust-item:nth-child(4) { animation-delay: 0.32s; }

    .page_footer .awa-payment-chip {
        animation: awa-footer-slideup 0.6s ease-out forwards;
    }

    .page_footer .awa-payment-chip:nth-child(1) { animation-delay: 0.40s; }
    .page_footer .awa-payment-chip:nth-child(2) { animation-delay: 0.44s; }
    .page_footer .awa-payment-chip:nth-child(3) { animation-delay: 0.48s; }
    .page_footer .awa-payment-chip:nth-child(4) { animation-delay: 0.52s; }
    .page_footer .awa-payment-chip:nth-child(n+5) { animation-delay: 0.56s; }

    .page_footer .awa-security-badge {
        animation: awa-footer-slideup 0.6s ease-out forwards;
    }

    .page_footer .awa-security-badge:nth-child(1) { animation-delay: 0.60s; }
    .page_footer .awa-security-badge:nth-child(2) { animation-delay: 0.68s; }
    .page_footer .awa-security-badge:nth-child(3) { animation-delay: 0.76s; }
}

/* 2. SPACING REFINEMENT — Responsive gaps via clamp() */
.page_footer .awa-footer-trust-bar {
    margin-bottom: clamp(24px, 3vw, 32px);
}

.page_footer .awa-footer-trust-grid {
    gap: clamp(12px, 2vw, 20px);
    padding: clamp(16px, 2vw, 24px) 0 clamp(20px, 2.5vw, 28px);
}

.page_footer .awa-footer-payments-security {
    margin-top: clamp(16px, 2vw, 24px);
}

.page_footer .footer-container {
    margin-top: clamp(16px, 2.5vw, 24px);
    margin-bottom: clamp(16px, 2vw, 24px);
}

.page_footer .footer-bottom {
    margin-top: clamp(14px, 2vw, 20px);
}

/* 3. HOVER STATES & FOCUS-VISIBLE RINGS */
.page_footer .awa-footer-trust-item:hover,
.page_footer .awa-footer-trust-item:focus-within {
    background: linear-gradient(135deg,
        rgba(0 0 0 / 18%) 0%,
        rgba(0 0 0 / 14%) 100%);
    box-shadow: 0 0 0 3px rgb(183 51 55 / 12%),
                0 4px 12px rgb(0 0 0 / 8%);
    transform: translateY(-2px);
    border-color: rgba(255 255 255 / 24%);
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.page_footer .awa-footer-trust-item {
    transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.page_footer .awa-payment-chip:hover,
.page_footer .awa-payment-chip:focus-within {
    border-color: rgba(183 51 55 / 28%);
    box-shadow: 0 4px 12px rgb(183 51 55 / 10%);
    background: linear-gradient(180deg,
        rgba(0 0 0 / 14%) 0%,
        rgba(0 0 0 / 10%) 100%);
    transform: translateY(-1px);
    transition: all 0.2s ease;
}

.page_footer .awa-payment-chip {
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.page_footer .awa-payment-chip--priority:hover,
.page_footer .awa-payment-chip--priority:focus-within {
    background: rgba(255 255 255 / 28%);
    border-color: rgba(255 255 255 / 45%);
    box-shadow: 0 6px 14px rgb(255 255 255 / 12%);
}

.page_footer .awa-security-badge:hover,
.page_footer .awa-security-badge:focus-visible {
    border-color: rgba(255 255 255 / 45%);
    background: linear-gradient(135deg,
        rgba(0 0 0 / 14%) 0%,
        rgba(0 0 0 / 10%) 100%);
    box-shadow: 0 6px 16px rgb(255 255 255 / 20%);
    transform: translateY(-2px);
    text-decoration: none;
    outline: none;
    transition: all 0.2s ease;
}

/* 4. COLOR REFINEMENT — Subtle gradients + improved opacities */
.page_footer .awa-footer-trust-bar {
    background: linear-gradient(180deg,
        rgba(0 0 0 / 14%) 0%,
        rgba(0 0 0 / 12%) 100%);
    border-color: rgba(255 255 255 / 24%);
}

.page_footer .awa-footer-trust-item {
    background: linear-gradient(135deg,
        rgba(0 0 0 / 14%) 0%,
        rgba(0 0 0 / 10%) 100%);
    border-color: rgba(255 255 255 / 22%);
}

.page_footer .awa-footer-trust-icon {
    background: linear-gradient(135deg,
        rgba(255 255 255 / 24%) 0%,
        rgba(255 255 255 / 16%) 100%);
}

.page_footer .awa-footer-payments-security__panel {
    background: linear-gradient(180deg,
        rgba(0 0 0 / 12%) 0%,
        rgba(0 0 0 / 8%) 100%);
    border-color: rgba(255 255 255 / 22%);
}

.page_footer .awa-payment-chip {
    background: linear-gradient(180deg,
        rgba(0 0 0 / 12%) 0%,
        rgba(0 0 0 / 8%) 100%);
    border-color: rgba(255 255 255 / 20%);
}

.page_footer .awa-payment-chip--priority {
    background: linear-gradient(180deg,
        rgba(255 255 255 / 26%) 0%,
        rgba(255 255 255 / 18%) 100%);
    border-color: rgba(255 255 255 / 40%);
}

.page_footer .awa-security-badge {
    background: linear-gradient(135deg,
        rgba(0 0 0 / 12%) 0%,
        rgba(0 0 0 / 8%) 100%);
    border-color: rgba(255 255 255 / 22%);
}

.page_footer .awa-security-badge__icon {
    background: linear-gradient(135deg,
        rgba(255 255 255 / 26%) 0%,
        rgba(255 255 255 / 16%) 100%);
}

/* 5. TYPOGRAPHY REFINEMENT */
.page_footer .awa-footer-trust-copy strong {
    font-weight: var(--awa-weight-bold);
    font-size: clamp(13px, 1.1vw, 15px);
    line-height: 1.3;
    letter-spacing: -0.01em;
}

.page_footer .awa-footer-trust-copy span {
    font-size: clamp(11px, 0.95vw, 13px);
    line-height: 1.5;
    color: rgba(255 255 255 / 80%);
    letter-spacing: 0.01em;
}

.page_footer .awa-footer-panel-title {
    font-size: clamp(13px, 1.1vw, 15px);
    font-weight: var(--awa-weight-bold);
    line-height: 1.3;
}

.page_footer .awa-footer-panel-label {
    font-size: clamp(10px, 0.9vw, 11px);
    line-height: 1.3;
    font-weight: var(--awa-weight-bold);
    letter-spacing: 0.06em;
}

.page_footer .awa-payment-chip {
    font-size: clamp(11px, 0.95vw, 12px);
    font-weight: var(--awa-weight-semibold);
    line-height: 1.2;
}

.page_footer .awa-security-badge__copy strong {
    font-size: clamp(12px, 1vw, 14px);
    line-height: 1.3;
    font-weight: var(--awa-weight-bold);
}

.page_footer .awa-security-badge__copy small {
    font-size: clamp(10px, 0.9vw, 11px);
    line-height: 1.4;
    color: rgba(255 255 255 / 78%);
}

/* Responsive stagger adjustments for smaller screens */
@media (max-width: 767px) {
    @media (prefers-reduced-motion: no-preference) {
        .page_footer .awa-footer-trust-item:nth-child(3) { animation-delay: 0.20s; }
        .page_footer .awa-footer-trust-item:nth-child(4) { animation-delay: 0.24s; }
    }

    .page_footer .awa-footer-trust-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: clamp(10px, 1.5vw, 16px);
    }

    .page_footer .awa-footer-trust-item {
        min-height: 56px;
        padding: clamp(12px, 1.5vw, 16px) clamp(12px, 1.5vw, 16px);
    }

    .page_footer .awa-footer-trust-copy strong {
        font-size: clamp(11px, 1vw, 13px);
    }

    .page_footer .awa-footer-trust-copy span {
        font-size: clamp(10px, 0.9vw, 11px);
    }
}

.page_footer .awa-footer-payment-legacy[hidden] {
    display: none !important;
}

.page_footer .velaFooterTitle {
    min-height: var(--awa-control-height);
    min-width: var(--awa-control-height);
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: var(--awa-gap-sm);
    line-height: var(--awa-leading-compact);
    padding-top: var(--awa-space-2-5) ;
    padding-bottom: var(--awa-space-2-5) ;
    width: 100%;
}

.page_footer .velaFooterTitle:focus-visible {
    outline: 2px solid var(--awa-white, #fff);
    outline-offset: 2px;
    border-radius: var(--awa-radius-sm);
}

.page_footer .velaFooterMenu .velaFooterLinks a,
.page_footer .aw-footer-legal a,
.page_footer .aw-footer-social a,
.page_footer .aw-footer-b2b-contact a {
    transition: color 0.3s ease;
}

.page_footer .velaFooterMenu .velaFooterLinks a:hover,
.page_footer .velaFooterMenu .velaFooterLinks a:focus-visible,
.page_footer .aw-footer-legal a:hover,
.page_footer .aw-footer-legal a:focus-visible,
.page_footer .aw-footer-b2b-contact a:hover,
.page_footer .aw-footer-b2b-contact a:focus-visible {
    color: var(--awa-white, #fff);
}

.page_footer.awa-footer-exp--treatment .awa-footer-quick-actions {
    margin: 0 0 var(--awa-space-3-5);
}

.page_footer.awa-footer-exp--treatment .awa-footer-quick-actions__inner {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--awa-gap-md);
}

.page_footer.awa-footer-exp--treatment .awa-footer-quick-actions__link {
    display: grid;
    gap: 4px;
    padding: var(--awa-space-2-5) var(--awa-space-3);
    border: 1px solid rgba(255 255 255 / 18%);
    border-radius: var(--awa-radius-md-lg);
    background: rgba(0 0 0 / 12%);
    color: var(--awa-white, #fff);
    text-decoration: none;
    min-height: 84px;
    align-content: center;
    transition: border-color 0.28s ease, box-shadow 0.28s ease, transform 0.28s ease, background 0.28s ease;
}

.page_footer.awa-footer-exp--treatment .awa-footer-quick-actions__link strong {
    font-size: var(--awa-text-sm);
    line-height: var(--awa-leading-snug);
    font-weight: var(--awa-weight-bold);
    color: var(--awa-white, #fff);
}

.page_footer.awa-footer-exp--treatment .awa-footer-quick-actions__link span {
    font-size: var(--awa-text-2xs);
    line-height: var(--awa-leading-cozy);
    color: rgba(255 255 255 / 74%);
}

.page_footer.awa-footer-exp--treatment .awa-footer-quick-actions__link:hover,
.page_footer.awa-footer-exp--treatment .awa-footer-quick-actions__link:focus-visible {
    border-color: rgba(255 255 255 / 38%);
    background: rgba(0 0 0 / 18%);
    box-shadow: 0 8px 22px rgba(0 0 0 / 18%);
    transform: translateY(-1px);
    color: var(--awa-white, #fff);
    text-decoration: none;
    outline: none;
}

@supports (content-visibility: auto) {
    .page_footer.awa-footer-exp--treatment .awa-footer-brands,
    .page_footer.awa-footer-exp--treatment .awa-footer-tags,
    .page_footer.awa-footer-exp--treatment .footer-bottom {
        content-visibility: auto;
        contain-intrinsic-size: 1px 280px;
    }
}

@media (max-width: 991px) {
    .page_footer.awa-footer-exp--treatment .awa-footer-quick-actions__inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .page_footer .awa-footer-payments-security__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .page_footer.awa-footer-exp--treatment .awa-footer-quick-actions__inner {
        grid-template-columns: 1fr;
    }

    .page_footer.awa-footer-exp--treatment .awa-footer-quick-actions__link {
        min-height: 72px;
    }

    .page_footer .awa-footer-trust-bar {
        margin-bottom: var(--awa-space-3-5) ;
    }

    .page_footer .awa-footer-trust-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--awa-gap-md);
        padding: var(--awa-space-2-5) 0;
    }

    .page_footer .awa-footer-trust-item {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        gap: var(--awa-gap-sm);
        padding: var(--awa-space-2-5) ;
        min-height: 110px;
    }

    .page_footer .awa-footer-trust-copy strong {
        font-size: var(--awa-text-sm);
    }

    .page_footer .awa-footer-trust-copy span {
        font-size: var(--awa-text-2xs);
    }

    .page_footer .awa-footer-payments-security {
        margin-top: var(--awa-space-2-5) ;
    }

    .page_footer .awa-footer-payments-security__panel {
        padding: var(--awa-space-2-5) ;
    }

    .page_footer .velaFooterTitle {
        min-height: var(--awa-control-height-lg);
        padding-top: var(--awa-space-3) ;
        padding-bottom: var(--awa-space-3) ;
    }
}

@media (max-width: 480px) {
    .page_footer .awa-footer-trust-grid {
        grid-template-columns: 1fr;
        gap: var(--awa-gap-sm);
    }

    .page_footer .awa-footer-trust-item {
        min-height: 96px;
    }
}

/* ==========================================================================
   AWA Motos — Footer Red Brand Gradient Theme
   Inspired by Motorola Empresas B2B footer.
   Replaces awa-custom-footer-light-perfect.css
   ========================================================================== */

/* ---------- 1. Design Tokens ---------- */
body .page-wrapper .page_footer.awa-footer--dark,
body .page-wrapper .page-footer {
    --awa-ft-grad-from: var(--awa-red-dark);
    --awa-ft-grad-to: var(--awa-red);
    --awa-ft-surface-1: var(--awa-red);
    --awa-ft-surface-2: rgba(0 0 0 / 12%);
    --awa-ft-surface-3: rgba(0 0 0 / 8%);
    --awa-ft-border: rgba(255 255 255 / 18%);
    --awa-ft-border-accent: rgba(255 255 255 / 35%);
    --awa-ft-text-1: var(--awa-white, #fff);
    --awa-ft-text-2: rgba(255 255 255 / 80%);
    --awa-ft-text-3: rgba(255 255 255 / 55%);
    --awa-ft-accent: var(--awa-white, #fff);
    --awa-ft-accent-glow: rgba(255 255 255 / 18%);
    --awa-ft-transition: 280ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* ---------- 2. Main Wrapper ---------- */
body .page-wrapper .page_footer.awa-footer--dark,
body .page-wrapper .page_footer {
    margin-top: 0;
    background: linear-gradient(180deg, var(--awa-ft-grad-from) 0%, var(--awa-ft-grad-to) 100%) !important;
    border-top: 3px solid var(--awa-white, #fff);
    color: var(--awa-ft-text-1) !important;
}

body .page-wrapper .page_footer {
    background: var(--awa-ft-grad-to) !important;
    border-top: 3px solid var(--awa-white, #fff);
    color: var(--awa-ft-text-1);
}

body .page-wrapper .page_footer.awa-footer--dark::before,
body .page-wrapper .page_footer.awa-footer--dark::after,
body .page-wrapper .page_footer::before,
body .page-wrapper .page_footer::after {
    background: transparent !important;
}

body .page-wrapper .page_footer.awa-footer--dark .container,
body .page-wrapper .page_footer.awa-footer--dark .container-fluid {
    background: transparent;
}

body .page-wrapper .page_footer.awa-footer--dark .border-top-container {
    border-color: var(--awa-ft-border) !important;
    background: transparent !important;
}

body .page-wrapper .page_footer.awa-footer--dark #footer.footer-container,
body .page-wrapper .page_footer.awa-footer--dark #footer.footer-container.layout2,
body .page-wrapper .page_footer.awa-footer--dark #footer.footer-container.footer {
    /* bg gerenciado na seção de fix abaixo (garante cobertura fora do box de gradient) */
    background: transparent;
}

/* ---------- 3. Trust Bar ---------- */
body .page-wrapper .page_footer.awa-footer--dark .awa-footer-trust-bar {
    position: relative;
    background: rgba(0 0 0 / 10%) !important;
    border-top: 1px solid var(--awa-ft-border) !important;
    border-bottom: 1px solid var(--awa-ft-border) !important;
    padding-top: var(--awa-space-5) ;
    padding-bottom: var(--awa-space-3) ;
}

body .page-wrapper .page_footer.awa-footer--dark .awa-footer-trust-item {
    background: var(--awa-ft-surface-2) !important;
    border: 1px solid var(--awa-ft-border) !important;
    border-radius: var(--awa-radius-md-lg);
    box-shadow: 0 4px 16px rgba(0 0 0 / 20%);
    transition: box-shadow var(--awa-ft-transition), transform var(--awa-ft-transition), border-color var(--awa-ft-transition);
}

body .page-wrapper .page_footer.awa-footer--dark .awa-footer-trust-item:hover {
    box-shadow: 0 8px 24px rgba(0 0 0 / 30%), 0 0 0 1px var(--awa-ft-border-accent);
    border-color: var(--awa-ft-border-accent) !important;
    transform: translateY(-2px);
}

body .page-wrapper .page_footer.awa-footer--dark .awa-footer-trust-icon {
    background: rgba(255 255 255 / 20%) !important;
    color: var(--awa-white, #fff) !important;
}

body .page-wrapper .page_footer.awa-footer--dark .awa-footer-trust-copy strong {
    color: var(--awa-ft-text-1) !important;
}

body .page-wrapper .page_footer.awa-footer--dark .awa-footer-trust-copy span {
    color: var(--awa-ft-text-2) !important;
}

/* ---------- 4. Newsletter ---------- */
body .page-wrapper .page_footer.awa-footer--dark .velaNewsletterFooter {
    background: var(--awa-ft-surface-2) !important;
    border: 1px solid var(--awa-ft-border) !important;
    border-radius: var(--awa-radius-lg);
    box-shadow: 0 12px 28px rgba(0 0 0 / 25%);
    color: var(--awa-ft-text-1) !important;
}

body .page-wrapper .page_footer.awa-footer--dark .velaNewsletterFooter .velaContentTitle,
body .page-wrapper .page_footer.awa-footer--dark .velaNewsletterFooter .velaContentForm {
    color: var(--awa-ft-text-1) !important;
}

body .page-wrapper .page_footer.awa-footer--dark .velaNewsletterFooter .sub-title,
body .page-wrapper .page_footer.awa-footer--dark .velaNewsletterFooter p {
    color: var(--awa-ft-text-2) !important;
}

body .page-wrapper .page_footer.awa-footer--dark .velaNewsletterFooter input[type="email"],
body .page-wrapper .page_footer.awa-footer--dark .velaNewsletterFooter input[type="text"] {
    background: rgba(255 255 255 / 15%) !important;
    border: 1px solid var(--awa-ft-border) !important;
    color: var(--awa-ft-text-1) !important;
    min-height: 44px;
    border-radius: var(--awa-radius);
    transition: border-color var(--awa-ft-transition), box-shadow var(--awa-ft-transition);
}

body .page-wrapper .page_footer.awa-footer--dark .velaNewsletterFooter input[type="email"]::placeholder,
body .page-wrapper .page_footer.awa-footer--dark .velaNewsletterFooter input[type="text"]::placeholder {
    color: var(--awa-ft-text-3) !important;
}

body .page-wrapper .page_footer.awa-footer--dark .velaNewsletterFooter input:focus-visible {
    border-color: var(--awa-white, #fff) !important;
    box-shadow: 0 0 0 3px rgba(255 255 255 / 25%);
    outline: none;
}

body .page-wrapper .page_footer.awa-footer--dark .velaNewsletterFooter .btn,
body .page-wrapper .page_footer.awa-footer--dark .velaNewsletterFooter button[type="submit"],
body .page-wrapper .page_footer.awa-footer--dark .velaNewsletterFooter .action.subscribe {
    background: var(--awa-bg-surface, #fff) !important;
    border-color: var(--awa-white, #fff) !important;
    color: var(--awa-red) !important;
    border-radius: var(--awa-radius);
    font-weight: var(--awa-weight-bold);
    transition: background var(--awa-ft-transition), box-shadow var(--awa-ft-transition);
}

body .page-wrapper .page_footer.awa-footer--dark .velaNewsletterFooter .btn:hover,
body .page-wrapper .page_footer.awa-footer--dark .velaNewsletterFooter button[type="submit"]:hover,
body .page-wrapper .page_footer.awa-footer--dark .velaNewsletterFooter .action.subscribe:hover {
    background: var(--awa-gray-50) !important;
    color: var(--awa-red-dark) !important;
    box-shadow: 0 6px 20px rgba(255 255 255 / 25%);
}

/* ---------- 5. Highlights (hidden by default) ---------- */
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-highlights {
    display: none;
}

body .page-wrapper .page_footer.awa-footer--dark .aw-footer-highlight {
    background: var(--awa-ft-surface-2) !important;
    border: 1px solid var(--awa-ft-border) !important;
    border-radius: var(--awa-radius-md-lg);
    box-shadow: 0 8px 24px rgba(0 0 0 / 20%);
    color: var(--awa-ft-text-1) !important;
    transition: box-shadow var(--awa-ft-transition), transform var(--awa-ft-transition);
}

body .page-wrapper .page_footer.awa-footer--dark .aw-footer-highlight:hover {
    box-shadow: 0 12px 28px rgba(0 0 0 / 30%);
    transform: translateY(-1px);
}

body .page-wrapper .page_footer.awa-footer--dark .aw-footer-highlight .icon,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-highlight i,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-highlight svg {
    color: var(--awa-white, #fff) !important;
    fill: currentcolor;
}

body .page-wrapper .page_footer.awa-footer--dark .aw-footer-highlight h3,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-highlight h4,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-highlight strong {
    color: var(--awa-ft-text-1) !important;
}

body .page-wrapper .page_footer.awa-footer--dark .aw-footer-highlight p,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-highlight small,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-highlight span {
    color: var(--awa-ft-text-2) !important;
}

/* ---------- 6. Contact Info ---------- */
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-contact,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-info {
    color: var(--awa-ft-text-2) !important;
}

body .page-wrapper .page_footer.awa-footer--dark .aw-footer-contact strong,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-contact h3,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-contact h4,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-info strong,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-info h3,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-info h4 {
    color: var(--awa-ft-text-1) !important;
}

body .page-wrapper .page_footer.awa-footer--dark .aw-footer-contact a,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-info a {
    color: var(--awa-ft-text-2) !important;
    text-decoration: none;
    transition: color var(--awa-ft-transition);
}

body .page-wrapper .page_footer.awa-footer--dark .aw-footer-contact a:hover,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-contact a:focus-visible,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-info a:hover,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-info a:focus-visible {
    color: var(--awa-white, #fff) !important;
}

/* ---------- 7. Social Links ---------- */
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-social a {
    background: transparent !important;
    border: 1px solid var(--awa-ft-border) !important;
    color: var(--awa-ft-text-2) !important;
    box-shadow: none;
    border-radius: var(--awa-radius);
    transition: background var(--awa-ft-transition), border-color var(--awa-ft-transition), color var(--awa-ft-transition), box-shadow var(--awa-ft-transition);
}

body .page-wrapper .page_footer.awa-footer--dark .aw-footer-social a:hover,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-social a:focus-visible {
    background: rgba(255 255 255 / 15%) !important;
    border-color: rgba(255 255 255 / 40%) !important;
    color: var(--awa-white, #fff) !important;
    box-shadow: 0 0 0 3px rgba(255 255 255 / 15%);
    outline: none;
}

body .page-wrapper .page_footer.awa-footer--dark .aw-footer-social svg {
    color: currentcolor !important;
    fill: currentcolor;
}

/* ---------- 8. Footer Menu Columns / Links ---------- */
body .page-wrapper .page_footer.awa-footer--dark .velaFooterTitle {
    color: var(--awa-ft-text-1) !important;
    min-height: 44px;
    display: flex;
    align-items: center;
    padding-top: var(--awa-space-2) ;
    padding-bottom: var(--awa-space-2) ;
    border-bottom: 1px solid var(--awa-ft-border);
}

body .page-wrapper .page_footer.awa-footer--dark .velaFooterTitle:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(255 255 255 / 20%);
    border-radius: var(--awa-radius-md);
}

body .page-wrapper .page_footer.awa-footer--dark .velaFooterMenu .velaFooterLinks a {
    color: var(--awa-ft-text-2) !important;
    text-decoration: none;
    transition: color var(--awa-ft-transition);
}

body .page-wrapper .page_footer.awa-footer--dark .velaFooterMenu .velaFooterLinks a:hover,
body .page-wrapper .page_footer.awa-footer--dark .velaFooterMenu .velaFooterLinks a:focus-visible {
    color: var(--awa-white, #fff) !important;
    outline: none;
}

/* ---------- 9. B2B Contact Box ---------- */
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-b2b-contact {
    background: var(--awa-ft-surface-2) !important;
    border: 1px solid var(--awa-ft-border) !important;
    border-radius: var(--awa-radius-lg);
    box-shadow: 0 10px 28px rgba(0 0 0 / 20%);
    color: var(--awa-ft-text-1) !important;
}

body .page-wrapper .page_footer.awa-footer--dark .aw-footer-b2b-contact > *,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-b2b-contact .item,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-b2b-contact .col,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-b2b-contact .contact-item {
    border-color: var(--awa-ft-border) !important;
}

body .page-wrapper .page_footer.awa-footer--dark .aw-footer-b2b-contact h3,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-b2b-contact h4,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-b2b-contact strong {
    color: var(--awa-ft-text-1) !important;
}

body .page-wrapper .page_footer.awa-footer--dark .aw-footer-b2b-contact p,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-b2b-contact span,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-b2b-contact small {
    color: var(--awa-ft-text-2) !important;
}

body .page-wrapper .page_footer.awa-footer--dark .aw-footer-b2b-contact a {
    color: var(--awa-ft-text-2) !important;
    text-decoration: none;
    transition: color var(--awa-ft-transition);
}

body .page-wrapper .page_footer.awa-footer--dark .aw-footer-b2b-contact a:hover,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-b2b-contact a:focus-visible {
    color: var(--awa-white, #fff) !important;
    outline: none;
}

/* ---------- 10. B2B Trust Numbers ---------- */
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-trust-b2b {
    background: var(--awa-ft-surface-2) !important;
    border: 1px solid var(--awa-ft-border);
    border-radius: var(--awa-radius-md-lg);
    margin-top: var(--awa-space-3-5) ;
    padding: var(--awa-space-3) ;
    color: var(--awa-ft-text-1) !important;
}

body .page-wrapper .page_footer.awa-footer--dark .aw-footer-trust-b2b .trust-item {
    background: var(--awa-ft-surface-2) !important;
    border: 1px solid var(--awa-ft-border) !important;
    border-radius: var(--awa-radius-md-lg);
    box-shadow: 0 6px 20px rgba(0 0 0 / 20%);
    transition: box-shadow var(--awa-ft-transition), transform var(--awa-ft-transition);
}

body .page-wrapper .page_footer.awa-footer--dark .aw-footer-trust-b2b .trust-item:hover {
    box-shadow: 0 10px 24px rgba(0 0 0 / 30%);
    transform: translateY(-1px);
}

body .page-wrapper .page_footer.awa-footer--dark .aw-footer-trust-b2b .trust-item .number,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-trust-b2b .trust-item .value,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-trust-b2b .trust-item strong {
    color: var(--awa-white, #fff) !important;
}

body .page-wrapper .page_footer.awa-footer--dark .aw-footer-trust-b2b .trust-item p,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-trust-b2b .trust-item span,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-trust-b2b .trust-item small {
    color: var(--awa-ft-text-2) !important;
}

/* ---------- 11. Legal / LGPD ---------- */
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-legal {
    background: var(--awa-ft-surface-2) !important;
    border: 1px solid var(--awa-ft-border);
    border-radius: var(--awa-radius-md-lg);
    margin-top: var(--awa-space-3) ;
    padding: var(--awa-space-2-5) var(--awa-space-3);
    color: var(--awa-ft-text-3) !important;
}

body .page-wrapper .page_footer.awa-footer--dark .aw-footer-legal *,
body .page-wrapper .page_footer.awa-footer--dark .footer-bottom .copyright,
body .page-wrapper .page_footer.awa-footer--dark .footer-bottom .copyright * {
    color: var(--awa-ft-text-3) !important;
}

body .page-wrapper .page_footer.awa-footer--dark .aw-footer-legal a {
    color: var(--awa-ft-text-2) !important;
    text-decoration: none;
    transition: color var(--awa-ft-transition);
}

body .page-wrapper .page_footer.awa-footer--dark .aw-footer-legal a:hover,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-legal a:focus-visible {
    color: var(--awa-white, #fff) !important;
    outline: none;
}

/* ---------- 12. Footer Bottom (copyright + payments/security) ---------- */
body .page-wrapper .page_footer.awa-footer--dark .footer-bottom,
body .page-wrapper .page_footer .footer-bottom {
    background: rgba(0 0 0 / 25%) !important;
    margin-top: 0;
    padding-top: var(--awa-space-4) ;
    padding-bottom: var(--awa-space-4) ;
    border-top: 1px solid var(--awa-ft-border) !important;
}

body .page-wrapper .page_footer.awa-footer--dark .footer-bottom .footer-bottom-inner,
body .page-wrapper .page_footer .footer-bottom .footer-bottom-inner {
    background: transparent !important;
}

body .page-wrapper .page_footer.awa-footer--dark .footer-bottom .row,
body .page-wrapper .page_footer .footer-bottom .row {
    background: transparent !important;
}

/* ---------- 13. Payments & Security Panels ---------- */
body .page-wrapper .page_footer.awa-footer--dark .awa-footer-payments-security {
    border: 1px solid var(--awa-ft-border);
    border-radius: var(--awa-radius-md-lg);
    background: var(--awa-ft-surface-2) !important;
}

body .page-wrapper .page_footer.awa-footer--dark .awa-footer-payments-security__grid {
    background: transparent !important;
}

body .page-wrapper .page_footer.awa-footer--dark .awa-footer-payments-security__panel {
    background: rgba(0 0 0 / 10%) !important;
    border: 1px solid var(--awa-ft-border) !important;
    border-radius: var(--awa-radius-lg);
    box-shadow: 0 8px 24px rgba(0 0 0 / 20%);
}

body .page-wrapper .page_footer.awa-footer--dark .awa-footer-panel-title {
    color: var(--awa-ft-text-1) !important;
}

body .page-wrapper .page_footer.awa-footer--dark .awa-footer-panel-label {
    color: var(--awa-ft-text-3) !important;
}

body .page-wrapper .page_footer.awa-footer--dark .awa-payment-chip {
    background: rgba(0 0 0 / 10%) !important;
    border: 1px solid var(--awa-ft-border) !important;
    color: var(--awa-ft-text-2) !important;
}

body .page-wrapper .page_footer.awa-footer--dark .awa-payment-chip--priority {
    background: rgba(255 255 255 / 20%) !important;
    border-color: rgba(255 255 255 / 35%) !important;
    color: var(--awa-white, #fff) !important;
}

body .page-wrapper .page_footer.awa-footer--dark .awa-payment-chip svg,
body .page-wrapper .page_footer.awa-footer--dark .awa-security-badge__icon svg {
    color: currentcolor !important;
    fill: currentcolor;
}

body .page-wrapper .page_footer.awa-footer--dark .awa-security-badge {
    background: rgba(0 0 0 / 10%) !important;
    border: 1px solid var(--awa-ft-border) !important;
    color: var(--awa-ft-text-1) !important;
    border-radius: var(--awa-radius-md-lg);
    box-shadow: 0 6px 18px rgba(0 0 0 / 15%);
    transition: border-color var(--awa-ft-transition), box-shadow var(--awa-ft-transition), transform var(--awa-ft-transition);
}

body .page-wrapper .page_footer.awa-footer--dark .awa-security-badge__icon {
    background: rgba(255 255 255 / 20%) !important;
    color: var(--awa-white, #fff) !important;
}

body .page-wrapper .page_footer.awa-footer--dark .awa-security-badge__copy strong {
    color: var(--awa-ft-text-1) !important;
}

body .page-wrapper .page_footer.awa-footer--dark .awa-security-badge__copy small {
    color: var(--awa-ft-text-3) !important;
}

body .page-wrapper .page_footer.awa-footer--dark .awa-security-badge:hover,
body .page-wrapper .page_footer.awa-footer--dark .awa-security-badge:focus-visible {
    border-color: rgba(255 255 255 / 40%) !important;
    box-shadow: 0 0 0 3px rgba(255 255 255 / 15%), 0 8px 22px rgba(0 0 0 / 20%);
    transform: translateY(-1px);
    outline: none;
}

/* ---------- 14. CMS Block Inline Style Overrides ---------- */
body .page-wrapper .page_footer.awa-footer--dark [style*="background:var(--awa-gray-950, #111)"],
body .page-wrapper .page_footer.awa-footer--dark [style*="background: var(--awa-gray-950, #111)"],
body .page-wrapper .page_footer.awa-footer--dark [style*="background:var(--awa-gray-700)"],
body .page-wrapper .page_footer.awa-footer--dark [style*="background: var(--awa-gray-700)"],
body .page-wrapper .page_footer.awa-footer--dark [style*="background:var(--awa-gray-920, #222)"],
body .page-wrapper .page_footer.awa-footer--dark [style*="background: var(--awa-gray-920, #222)"],
body .page-wrapper .page_footer.awa-footer--dark [style*="background-color:var(--awa-gray-950, #111)"],
body .page-wrapper .page_footer.awa-footer--dark [style*="background-color: var(--awa-gray-950, #111)"],
body .page-wrapper .page_footer.awa-footer--dark [style*="background:var(--awa-gray-700, #333)"],
body .page-wrapper .page_footer.awa-footer--dark [style*="background: var(--awa-dark)"] {
    background: transparent !important;
}

body .page-wrapper .page_footer.awa-footer--dark [style*="color:var(--awa-white, #fff)"],
body .page-wrapper .page_footer.awa-footer--dark [style*="color: var(--awa-white, #fff)"],
body .page-wrapper .page_footer.awa-footer--dark [style*="color:white"],
body .page-wrapper .page_footer.awa-footer--dark [style*="color: white"] {
    color: var(--awa-ft-text-1) !important;
}

body .page-wrapper .page_footer.awa-footer--dark [style*="color:var(--awa-gray-250, #ccc)"],
body .page-wrapper .page_footer.awa-footer--dark [style*="color: var(--awa-gray-250, #ccc)"],
body .page-wrapper .page_footer.awa-footer--dark [style*="color:var(--awa-gray-450, #999)"],
body .page-wrapper .page_footer.awa-footer--dark [style*="color: var(--awa-gray-450, #999)"],
body .page-wrapper .page_footer.awa-footer--dark [style*="color:var(--awa-gray-430, #aaa)"],
body .page-wrapper .page_footer.awa-footer--dark [style*="color: var(--awa-gray-430, #aaa)"] {
    color: var(--awa-ft-text-2) !important;
}

body .page-wrapper .page_footer.awa-footer--dark [style*="color:var(--awa-gray-700, #333)"],
body .page-wrapper .page_footer.awa-footer--dark [style*="color: var(--awa-dark)"],
body .page-wrapper .page_footer.awa-footer--dark [style*="color:var(--awa-black, #000)"],
body .page-wrapper .page_footer.awa-footer--dark [style*="color: var(--awa-black, #000)"],
body .page-wrapper .page_footer.awa-footer--dark [style*="color:black"],
body .page-wrapper .page_footer.awa-footer--dark [style*="color: black"] {
    color: var(--awa-ft-text-1) !important;
}

body .page-wrapper .page_footer.awa-footer--dark [style*="border-color:#"],
body .page-wrapper .page_footer.awa-footer--dark [style*="border: 1px solid #"] {
    border-color: var(--awa-ft-border) !important;
}

/* ---------- 15. Accent Gradient Stripe (decorative) ---------- */
body .page-wrapper .page_footer.awa-footer--dark .awa-footer-trust-bar::before {
    content: "";
    display: block;
    position: absolute;
    top: -1px;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(255 255 255 / 50%) 20%,
        rgba(255 255 255 / 50%) 80%,
        transparent 100%
    );
    opacity: 0.5;
    pointer-events: none;
}

/* ---------- 16. Focus Visible (a11y) ---------- */
body .page-wrapper .page_footer.awa-footer--dark .velaFooterMenu .velaFooterLinks a:focus-visible,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-legal a:focus-visible,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-b2b-contact a:focus-visible,
body .page-wrapper .page_footer.awa-footer--dark .aw-footer-social a:focus-visible,
body .page-wrapper .page_footer.awa-footer--dark .awa-security-badge:focus-visible,
body .page-wrapper .page_footer.awa-footer--dark .awa-payment-chip:focus-visible {
    box-shadow: 0 0 0 3px rgba(255 255 255 / 20%);
    border-radius: var(--awa-radius-md);
}

/* ---------- 17. Generic CMS Content inside footer_static5 ---------- */
body .page-wrapper .page_footer.awa-footer--dark #footer h2,
body .page-wrapper .page_footer.awa-footer--dark #footer h3,
body .page-wrapper .page_footer.awa-footer--dark #footer h4,
body .page-wrapper .page_footer.awa-footer--dark #footer h5,
body .page-wrapper .page_footer.awa-footer--dark #footer h6 {
    color: var(--awa-ft-text-1) !important;
}

body .page-wrapper .page_footer.awa-footer--dark #footer p,
body .page-wrapper .page_footer.awa-footer--dark #footer li,
body .page-wrapper .page_footer.awa-footer--dark #footer span,
body .page-wrapper .page_footer.awa-footer--dark #footer small,
body .page-wrapper .page_footer.awa-footer--dark #footer address {
    color: var(--awa-ft-text-2) !important;
}

body .page-wrapper .page_footer.awa-footer--dark #footer a {
    color: var(--awa-ft-text-2) !important;
    transition: color var(--awa-ft-transition);
}

body .page-wrapper .page_footer.awa-footer--dark #footer a:hover,
body .page-wrapper .page_footer.awa-footer--dark #footer a:focus-visible {
    color: var(--awa-white, #fff) !important;
}

body .page-wrapper .page_footer.awa-footer--dark #footer strong,
body .page-wrapper .page_footer.awa-footer--dark #footer b {
    color: var(--awa-ft-text-1) !important;
}

body .page-wrapper .page_footer.awa-footer--dark #footer hr {
    border-color: var(--awa-ft-border) !important;
}

body .page-wrapper .page_footer.awa-footer--dark #footer .widget {
    color: var(--awa-ft-text-2) !important;
}

/* ---------- 18. Responsive ---------- */
@media (max-width: 991px) {
    body .page-wrapper .page_footer.awa-footer--dark .aw-footer-trust-b2b {
        padding-top: var(--awa-space-2) ;
        padding-bottom: var(--awa-space-2) ;
    }

    body .page-wrapper .page_footer.awa-footer--dark .aw-footer-trust-b2b,
    body .page-wrapper .page_footer.awa-footer--dark .aw-footer-legal,
    body .page-wrapper .page_footer.awa-footer--dark .awa-footer-payments-security {
        border-radius: var(--awa-radius);
    }

    body .page-wrapper .page_footer.awa-footer--dark .aw-footer-b2b-contact,
    body .page-wrapper .page_footer.awa-footer--dark .awa-footer-payments-security__panel {
        border-radius: var(--awa-radius-md-lg);
    }

    body .page-wrapper .page_footer.awa-footer--dark .footer-bottom {
        padding-top: var(--awa-space-3) ;
    }
}

@media (max-width: 767px) {
    body .page-wrapper .page_footer.awa-footer--dark {
        margin-top: 0;
    }

    body .page-wrapper .page_footer.awa-footer--dark .aw-footer-trust-b2b,
    body .page-wrapper .page_footer.awa-footer--dark .aw-footer-legal,
    body .page-wrapper .page_footer.awa-footer--dark .awa-footer-payments-security {
        border-radius: var(--awa-radius-md);
    }

    body .page-wrapper .page_footer.awa-footer--dark .awa-footer-trust-bar {
        padding-top: var(--awa-space-3-5) ;
        padding-bottom: var(--awa-space-2) ;
    }

    body .page-wrapper .page_footer.awa-footer--dark .awa-footer-trust-grid {
        gap: var(--awa-gap-md);
    }

    body .page-wrapper .page_footer.awa-footer--dark .awa-footer-trust-item {
        min-height: 92px;
        padding: var(--awa-space-3-5) var(--awa-space-3);
    }

    body .page-wrapper .page_footer.awa-footer--dark .velaNewsletterFooter {
        border-radius: var(--awa-radius-md-lg);
        box-shadow: 0 10px 24px rgba(0 0 0 / 20%);
        overflow: visible;
    }

    body .page-wrapper .page_footer.awa-footer--dark .velaFooterTitle {
        min-height: 44px;
        padding-top: var(--awa-space-2-5) ;
        padding-bottom: var(--awa-space-2-5) ;
    }

    body .page-wrapper .page_footer.awa-footer--dark .aw-footer-legal {
        padding-top: var(--awa-space-3) ;
        padding-bottom: var(--awa-space-3) ;
    }

    body .page-wrapper .page_footer.awa-footer--dark .aw-footer-social a {
        min-width: 44px;
        min-height: 44px;
    }

    body .page-wrapper .page_footer.awa-footer--dark .footer-bottom .row {
        row-gap: var(--awa-gap-md);
    }
}

/* ---------- 19. Reduced Motion ---------- */
@media (prefers-reduced-motion: reduce) {
    body .page-wrapper .page_footer.awa-footer--dark .awa-footer-trust-item,
    body .page-wrapper .page_footer.awa-footer--dark .aw-footer-highlight,
    body .page-wrapper .page_footer.awa-footer--dark .aw-footer-trust-b2b .trust-item,
    body .page-wrapper .page_footer.awa-footer--dark .awa-security-badge,
    body .page-wrapper .page_footer.awa-footer--dark .aw-footer-social a {
        transition: none;
    }
}

:where(:root) {
    --awa-color-primary: var(--awa-red);
    --awa-color-primary-dark: var(--awa-red-dark);
    --awa-color-text-primary: var(--awa-gray-700, #333);
    --awa-color-button-text: var(--awa-white, #fff);
    --awa-color-link: var(--awa-red);
    --awa-color-link-hover: var(--awa-red-dark);
    --awa-color-bg: var(--awa-white, #fff);
    --awa-color-bg-soft: var(--awa-gray-50);
    --awa-color-border: var(--awa-gray-200);
    --awa-color-text-secondary: #666;
    --awa-color-disabled: #bdbdbd;
    --awa-color-success: var(--awa-red);
    --awa-color-warning: var(--awa-red);
    --awa-color-error: var(--awa-red);
    --primary-color: var(--awa-color-primary);
    --primary-hover: var(--awa-color-primary-dark);
    --primary-light: rgb(183 51 55 / 10%);
    --text-color: var(--awa-color-text-primary);
    --text-muted: var(--awa-color-text-secondary);
    --bg-white: var(--awa-color-bg);
    --bg-surface: var(--awa-color-bg-soft);
    --border-color: var(--awa-color-border);
    --border-hover: var(--awa-gray-300);
    --awa-focus-ring: rgb(183 51 55 / 25%);
    --awa-red: var(--awa-color-primary);
    --awa-red-dark: var(--awa-color-primary-dark);
    --awa-dark: var(--awa-color-text-primary);
    --awa-border: var(--awa-color-border);
    --awa-gray-100: var(--awa-color-bg-soft);
    --awa-font-family: inherit;
    --awa-radius-xs: 4px;
    --awa-radius-sm: 6px;
    --awa-radius-md: 10px;
    --awa-radius-lg: 10px;
    --awa-radius-xl: 12px;
    --awa-radius-pill: 999px;
    --awa-shadow-xs: 0 2px 4px rgb(15 23 42 / 4%);
    --awa-shadow-sm: 0 4px 10px rgb(15 23 42 / 6%);
    --awa-shadow-md: 0 8px 20px rgb(15 23 42 / 8%);
    --awa-shadow-lg: 0 12px 30px rgb(15 23 42 / 12%);
    --awa-shadow-hover: 0 16px 36px rgb(15 23 42 / 14%);
    --awa-shadow-card: 0 8px 24px rgb(15 23 42 / 6%);
    --awa-shadow-card-hover: 0 12px 32px rgb(15 23 42 / 10%);
    --awa-ease: cubic-bezier(0.4, 0, 0.2, 1);
    --awa-duration-fast: 150ms;
    --awa-duration: 250ms;
    --awa-duration-slow: 350ms;
    --awa-transition: var(--awa-duration) var(--awa-ease);
    --awa-transition-fast: var(--awa-duration-fast) var(--awa-ease);
    --awa-font-weight-normal: 400;
    --awa-font-weight-medium: 500;
    --awa-font-weight-semibold: 600;
    --awa-font-weight-bold: 700;
    --awa-font-weight-extrabold: 800;
}

/* ============================================================
   B2B DESBLOATING (Limpeza de Módulos B2C)
   Ocultando agressivamente elementos promocionais / B2C
   ============================================================ */
.rokan-instagram,
.super-deals,
#super_deal_list,
.slider-super-deal,
.block-new-products,
.widget-new-products,
.newsletterpopup,
#newsletter_pop_up,
.block_superdeals_img,
.popup-newsletter,
.block.newsletter,
.footer-newsletter,
.box-newsletter {
    display: none !important;
}

:where(a, button, input, select, textarea, [role='button'], .action):focus-visible {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

/* ============================================================
   B2B VERTICAL MENU (Tree View / Clean)
   Transformando o Mega-Menu horizontal em árvore vertical limpa
   ============================================================ */

/* Botão principal do Departamento */
.navigation.verticalmenu .block-title {
    background: var(--awa-dark) !important;
    border-radius: var(--awa-radius-sm);
    text-transform: uppercase;
    font-weight: var(--awa-font-weight-bold);
    letter-spacing: 0.5px;
}

/* Ocultando blocos estáticos dentro dos dropdowns (imagens promo B2C) */
.navigation.verticalmenu .menu-custom-block,
.navigation.verticalmenu .vertical-menu-custom-block {
    display: none !important;
}

/* Forçando o list-style limpo e dropdown contínuo */
.navigation.verticalmenu .ui-menu {
    border: 1px solid var(--color-border, #e5e5e5);
    box-shadow: var(--awa-shadow-md);
    border-radius: 0 0 var(--awa-radius-sm) var(--awa-radius-sm);
}

.navigation.verticalmenu .ui-menu-item > a {
    font-family: var(--awa-font-family);
    font-size: var(--awa-text-base) !important;
    color: var(--color-text, #333) !important;
    padding: var(--awa-space-3) var(--awa-space-4)!important;
    border-bottom: 1px solid var(--awa-gray-100);
}

/* ============================================================
   B2B HORIZONTAL MENU (Institucional / Limpo)
   ============================================================ */
.navigation.custommenu.main-nav .menu-custom-block {
    display: none !important;
}

.navigation.custommenu.main-nav .ui-menu {
    box-shadow: var(--awa-shadow-md);
    border-radius: var(--awa-radius-sm);
    border: 1px solid var(--color-border, #e5e5e5);
}

.navigation.custommenu.main-nav .ui-menu-item > a {
    font-weight: var(--awa-weight-medium, 500);
}

/* ============================================================
   B2B LIST VIEW FORCED & FILTERS OTIMIZADOS
   ============================================================ */
.modes,
.toolbar .modes-mode,
.sidebar .block.filter .filter-title {
    display: none !important;
}

.product-list .item-product {
    margin-bottom: var(--awa-space-2) ;
    border-bottom: 1px solid var(--color-border, #e5e5e5);
    padding-bottom: var(--awa-space-2) ;
}

/* ============================================================
   B2B CATALOG MODE (Hide Price/Cart for Guests)
   ============================================================ */
body.not-logged-in .price-box {
    display: none !important;
}

body.not-logged-in .product-info-price::after {
    content: "Preços exclusivos para empresas cadastradas.";
    display: block;
    margin-top: var(--awa-space-2-5) ;
    padding: var(--awa-space-2-5) ;
    background: var(--awa-bg-surface, #fff);
    border-left: 3px solid var(--primary-color);
    font-size: var(--awa-text-sm);
    font-weight: var(--awa-font-weight-bold);
    color: var(--awa-dark);
}

/* ============================================================
   B2B PDP & ACCOREDIONS (Ficha Técnica & Cross-Sell)
   ============================================================ */

/* ============================================================
   B2B MY ACCOUNT DASHBOARD (SaaS Style)
   ============================================================ */

/* Ocultando ícones lúdicos gigantes do dashboard padrão */
.block-dashboard-info .box-title::before,
.block-dashboard-addresses .box-title::before,
.block-dashboard-orders .box-title::before {
    display: none !important;
}

/* Estrutura SaaS Dashboard */
.account .column.main {
    background: var(--bg-white);
    padding: var(--awa-space-7-5);
    border-radius: var(--awa-radius-lg);
    box-shadow: var(--awa-shadow-md);
    border: 1px solid var(--color-border, #e5e5e5);
}

.account .page-title-wrapper .page-title {
    font-size: var(--awa-text-2xl);
    font-weight: var(--awa-font-weight-extrabold);
    color: var(--awa-dark);
    margin-bottom: var(--awa-space-6) ;
    padding-bottom: var(--awa-space-4) ;
    border-bottom: 1px solid var(--color-border, #e5e5e5);
}

.block-dashboard-info .box,
.block-dashboard-addresses .box {
    background: var(--awa-bg-surface, #fff);
    border: 1px solid var(--color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm);
    padding: var(--awa-space-5) ;
    margin-bottom: var(--awa-space-5) ;
}

.block-dashboard-info .box-title span,
.block-dashboard-addresses .box-title span {
    font-size: var(--awa-text-md);
    font-weight: var(--awa-font-weight-bold);
    color: var(--color-text, #333);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.product.data.items > .item.title > .switch {
    font-size: var(--awa-text-base);
    font-weight: var(--awa-font-weight-semibold);
    text-transform: uppercase;
    background: var(--awa-bg-surface, #fff);
    border: 1px solid var(--color-border, #e5e5e5);
    border-bottom: none;
    border-radius: var(--awa-radius-sm) var(--awa-radius-sm) 0 0;
    padding: var(--awa-space-3) var(--awa-space-5);
    color: var(--color-text, #333);
}

.product.data.items > .item.title.active > .switch,
.product.data.items > .item.title > .switch:focus-visible,
.product.data.items > .item.title > .switch:hover {
    background: var(--bg-white);
    color: var(--primary-color);
    border-color: var(--color-border, #e5e5e5);
}

.product.data.items > .item.content {
    background: var(--bg-white);
    border: 1px solid var(--color-border, #e5e5e5);
    padding: var(--awa-space-6) ;
    border-radius: 0 var(--awa-radius-sm) var(--awa-radius-sm) var(--awa-radius-sm);
    margin-top: -1px;
    box-shadow: var(--awa-shadow-xs);
}

/* Fallback accordion layout when tab JS doesn't initialize */
.product.data.items.mage-tabs-disabled > .item.title {
    float: none;
    width: 100%;
    margin: 0 0 -1px;
}

.product.data.items.mage-tabs-disabled > .item.content {
    float: none;
    width: 100%;
    margin-left: 0;
    margin-top: 0;
}

.product.data.items.mage-tabs-disabled > .item.content:not([style*="display: none"]) {
    display: block;
}

/* Carrossel Up-sell / Related Products (B2B Table-like) */
.block.related .product-item-info,
.block.upsell .product-item-info {
    border: 1px solid var(--color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm);
    box-shadow: none;
    transition: box-shadow var(--awa-transition-fast), border-color var(--awa-transition-fast);
}

.block.related .product-item-info:hover,
.block.upsell .product-item-info:hover {
    box-shadow: var(--awa-shadow-sm);
    border-color: var(--border-hover);
}

/* Tabela de Informações Adicionais (Atributos) */
.table-wrapper.additional-attributes {
    margin-bottom: 0;
}

.table-wrapper.additional-attributes table.data.table.additional-attributes {
    border: 1px solid var(--color-border, #e5e5e5);
}

.table-wrapper.additional-attributes table.data.table.additional-attributes th,
.table-wrapper.additional-attributes table.data.table.additional-attributes td {
    padding: var(--awa-space-3) var(--awa-space-4);
    border-bottom: 1px solid var(--color-border, #e5e5e5);
}

.table-wrapper.additional-attributes table.data.table.additional-attributes th {
    background: var(--awa-bg-surface, #fff);
    font-weight: var(--awa-font-weight-semibold);
    width: 30%;
    color: var(--text-muted);
}


/* Modern base typography */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizelegibility;
    color: var(--color-text, #333);
    font-family: var(--awa-font-family);
}

:where(button, .action, .action.primary, a.action) {
    transition: background-color var(--awa-transition), border-color var(--awa-transition), color var(--awa-transition), box-shadow var(--awa-transition), transform var(--awa-transition-fast);
}

/* Interactive micro-feedback */
:where(button, .action, .action.primary, a.action):active:not([disabled]) {
    transform: scale(0.97);
}

/* Modern link styles */
:where(.product-item-link, .category-link, .breadcrumbs a) {
    text-decoration: none;
    background-image: linear-gradient(currentcolor, currentcolor);
    background-size: 0% 1px;
    background-position: 0 100%;
    background-repeat: no-repeat;
    transition: background-size var(--awa-transition), color var(--awa-transition);
}

:where(.product-item-link, .category-link, .breadcrumbs a):hover {
    background-size: 100% 1px;
}

:where(
    button.action.primary,
    a.action.primary,
    .action.primary,
    .actions-primary .action,
    .action.tocart,
    .action.checkout,
    .checkout-methods-items .action.primary,
    .checkout-methods-items .action.checkout,
    .minicart-wrapper .action.viewcart,
    .minicart-wrapper .action.checkout,
    #discount-coupon-form .action.apply.primary,
    .cart-summary .action.primary,
    .checkout-cart-index .action.primary,
    .checkout-index-index .action.primary,
    .ajaxsuite-popup-wrapper .action.primary,
    .popup-authentication .action.primary
) {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--bg-white);
}

:where(
    button.action.primary,
    a.action.primary,
    .action.primary,
    .actions-primary .action,
    .action.tocart,
    .action.checkout,
    .checkout-methods-items .action.primary,
    .checkout-methods-items .action.checkout,
    .minicart-wrapper .action.viewcart,
    .minicart-wrapper .action.checkout,
    #discount-coupon-form .action.apply.primary,
    .cart-summary .action.primary,
    .checkout-cart-index .action.primary,
    .checkout-index-index .action.primary,
    .ajaxsuite-popup-wrapper .action.primary,
    .popup-authentication .action.primary
):hover,
:where(
    button.action.primary,
    a.action.primary,
    .action.primary,
    .actions-primary .action,
    .action.tocart,
    .action.checkout,
    .checkout-methods-items .action.primary,
    .checkout-methods-items .action.checkout,
    .minicart-wrapper .action.viewcart,
    .minicart-wrapper .action.checkout,
    #discount-coupon-form .action.apply.primary,
    .cart-summary .action.primary,
    .checkout-cart-index .action.primary,
    .checkout-index-index .action.primary,
    .ajaxsuite-popup-wrapper .action.primary,
    .popup-authentication .action.primary
):focus-visible {
    background: var(--primary-hover);
    border-color: var(--primary-hover);
    color: var(--bg-white);
    box-shadow: 0 0 0 3px var(--awa-focus-ring);
    text-decoration: none;
}

:where(
    button.action.primary,
    a.action.primary,
    .action.primary,
    .actions-primary .action,
    .action.tocart,
    .action.checkout,
    .checkout-methods-items .action.primary,
    .checkout-methods-items .action.checkout
)[disabled],
:where(
    button.action.primary,
    a.action.primary,
    .action.primary,
    .actions-primary .action,
    .action.tocart,
    .action.checkout,
    .checkout-methods-items .action.primary,
    .checkout-methods-items .action.checkout
).disabled {
    background: rgb(183 51 55 / 45%);
    border-color: rgb(183 51 55 / 45%);
    color: var(--bg-white);
}

:where(
    .price-box .price-wrapper .price,
    .special-price .price,
    .product-item .price-box .price-final_price .price,
    .product-info-main .price-box .price,
    .cart-summary .amount .price,
    .opc-block-summary .price,
    .minicart-items .price,
    .total-mini-cart-price .price
) {
    color: var(--primary-color);
}

:where(
    .old-price .price,
    .price-box .old-price .price,
    .cart .old-price .price
) {
    color: var(--awa-gray-470, #777);
}

:where(
    .nav-sections .navigation .level0.active > a,
    .nav-sections .navigation .level0.has-active > a,
    .navigation .level0.active > a,
    .navigation .level0.has-active > a,
    .breadcrumbs a:hover,
    .breadcrumbs a:focus-visible,
    .pages .item.current strong,
    .toolbar .modes-mode.active,
    .toolbar .modes-mode:hover,
    .sorter-action:hover,
    .sorter-action:focus-visible,
    .filter-options-title:hover,
    .filter-options-title:focus-visible,
    .product-item .product-item-link:hover,
    .product-item .product-item-link:focus-visible
) {
    color: var(--primary-color);
}

:where(
    .pages .item.current strong,
    .toolbar .modes-mode.active
) {
    border-color: var(--primary-color);
}

:where(
    .field .control input,
    .field .control select,
    .field .control textarea,
    .cart-summary input[type='text'],
    .cart-summary input[type='email'],
    .checkout-index-index input,
    .checkout-index-index select,
    .checkout-index-index textarea,
    .popup-authentication input,
    .ajaxsuite-popup-wrapper input,
    .form.contact input,
    .form.contact textarea,
    .aw-aw-careers-form input,
    .aw-aw-careers-form textarea
) {
    border-radius: var(--awa-radius-sm);
    border: 1px solid var(--color-border, #e5e5e5);
    min-height: 44px;
    padding: var(--awa-space-2-5) var(--awa-space-3-5);
    font-size: 0.9375rem;
    transition: border-color var(--awa-transition-fast), box-shadow var(--awa-transition-fast);
    background-color: var(--bg-white);
}

:where(
    .field .control input:focus,
    .field .control select:focus,
    .field .control textarea:focus,
    .cart-summary input[type='text']:focus,
    .cart-summary input[type='email']:focus,
    .checkout-index-index input:focus,
    .checkout-index-index select:focus,
    .checkout-index-index textarea:focus,
    .popup-authentication input:focus,
    .ajaxsuite-popup-wrapper input:focus,
    .form.contact input:focus,
    .form.contact textarea:focus,
    .aw-aw-careers-form input:focus,
    .aw-aw-careers-form textarea:focus
) {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px var(--primary-light);
    outline: 0;
}

/* ============================================================
   B2B CAREERS / CORPORATE FORMS
   ============================================================ */
.form.contact, .aw-aw-careers-form {
    max-width: 800px;
    margin: 0 auto;
    background: var(--awa-bg-surface, #fff);
    padding: var(--awa-space-8) ;
    border-radius: var(--awa-radius-md);
    border: 1px solid var(--color-border, #e5e5e5);
    box-shadow: var(--awa-shadow-sm);
}

.form.contact .fieldset > .field,
.aw-aw-careers-form .fieldset > .field {
    margin-bottom: var(--awa-space-5) ;
}

.form.contact .fieldset > .field > .label,
.aw-aw-careers-form .fieldset > .field > .label {
    font-weight: var(--awa-font-weight-semibold);
    color: var(--color-text, #333);
    margin-bottom: var(--awa-space-2) ;
    display: inline-block;
}

/* ============================================================
   B2B FOOTER (Corporate / Monochromatic)
   ============================================================ */
.footer-container {
    background-color: var(--awa-dark) !important;
    background-image: none !important;
    color: var(--awa-gray-100) !important;
    padding-top: var(--awa-space-8) ;
    border-top: 4px solid var(--primary-color);
}

.footer-container .footer-title {
    color: var(--bg-white) !important;
    font-size: var(--awa-text-md);
    font-weight: var(--awa-font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: var(--awa-space-5) ;
}

.footer-container a {
    color: var(--awa-gray-200) !important; /* Slate-200: contraste 11:1 */
    font-size: var(--awa-text-base);
    transition: color var(--awa-transition-fast);
}

.footer-container a:hover {
    color: var(--primary-color) !important;
}

/* Redes Sociais e Pagamentos Monocromáticos */
.footer-container .social-icons a,
.footer-bottom .payment-icons img {
    filter: grayscale(100%) opacity(0.8);
    transition: filter var(--awa-transition-fast);
}

.footer-container .social-icons a:hover,
.footer-bottom .payment-icons img:hover {
    filter: grayscale(0%) opacity(1);
}

.footer-bottom {
    background-color: var(--awa-red) !important; /* Mais escuro que o footer-container */
    border-top: 1px solid rgb(255 255 255 / 10%);
    padding: var(--awa-space-5) 0;
    font-size: var(--awa-text-xs);
}

body.checkout-cart-index .cart-summary,
body.checkout-index-index .opc-block-summary,
body.checkout-index-index #opc-sidebar {
    border-radius: var(--awa-radius-lg);
    border: 1px solid var(--color-border, #e5e5e5);
    box-shadow: var(--awa-shadow-card);
}

body.checkout-cart-index .cart-summary .checkout-methods-items,
body.checkout-index-index .checkout-methods-items {
    margin-bottom: var(--awa-space-3) ;
}

body.checkout-cart-index .cart-summary .action.checkout,
body.checkout-index-index .checkout-methods-items .action.checkout,
body.checkout-index-index .payment-method-content .action.primary.checkout {
    min-height: 48px;
    font-size: 1rem;
    font-weight: var(--awa-font-weight-bold);
    letter-spacing: var(--awa-tracking-tight);
    border-radius: var(--awa-radius-lg);
    box-shadow: 0 6px 14px rgb(183 51 55 / 14%);
}

body.checkout-cart-index #discount-coupon-form .action.apply.primary,
body.checkout-cart-index .cart-summary .action.primary,
body.checkout-index-index .action-select-shipping-item,
body.checkout-index-index .action-remind,
body.checkout-index-index .authentication-wrapper .action-auth-toggle {
    min-height: 40px;
}

body.checkout-index-index .opc-progress-bar-item._active::before,
body.checkout-index-index .opc-progress-bar-item._complete::before,
body.checkout-index-index .opc-progress-bar-item._active > span::before,
body.checkout-index-index .opc-progress-bar-item._complete > span::before {
    background: var(--primary-color);
    border-color: var(--primary-color);
}

body.checkout-index-index .opc-progress-bar-item._active > span,
body.checkout-index-index .opc-progress-bar-item._complete > span,
body.checkout-index-index .step-title,
body.checkout-index-index .opc-block-summary > .title,
body.checkout-cart-index .cart-summary > .title {
    color: var(--color-text, #333);
}

body.checkout-index-index .opc-progress-bar-item._active > span,
body.checkout-index-index .opc-progress-bar-item._complete > span,
body.checkout-index-index .step-title[aria-expanded='true'] {
    border-bottom-color: rgb(183 51 55 / 18%);
}

/* Modern card base utility */
:where(.product-item, .cart-item, .opc-block-summary, .checkout-shipping-method, .checkout-payment-method) {
    border-radius: var(--awa-radius-lg);
}

/* Selection highlight */
::selection {
    background: rgb(183 51 55 / 14%);
    color: var(--color-text, #333);
}

body.checkout-index-index .checkout-agreement input[type='checkbox']:focus-visible,
body.checkout-cart-index input[type='checkbox']:focus-visible {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

body.checkout-cart-index .cart.table-wrapper .actions-toolbar .action,
body.checkout-cart-index .cart.table-wrapper .action-edit,
body.checkout-cart-index .cart.table-wrapper .action-delete {
    color: var(--color-text, #333);
}

body.checkout-cart-index .cart.table-wrapper .actions-toolbar .action:hover,
body.checkout-cart-index .cart.table-wrapper .actions-toolbar .action:focus-visible,
body.checkout-cart-index .cart.table-wrapper .action-edit:hover,
body.checkout-cart-index .cart.table-wrapper .action-edit:focus-visible,
body.checkout-cart-index .cart.table-wrapper .action-delete:hover,
body.checkout-cart-index .cart.table-wrapper .action-delete:focus-visible {
    color: var(--primary-color);
}

body.checkout-cart-index .authentication-wrapper .action-auth-toggle,
body.checkout-cart-index .popup-authentication .action-secondary,
body.checkout-index-index .popup-authentication .action-secondary,
body.checkout-cart-index .ajaxsuite-popup-wrapper .action-secondary,
body.checkout-index-index .ajaxsuite-popup-wrapper .action-secondary {
    border-color: rgb(183 51 55 / 18%);
    color: var(--color-text, #333);
}

body.checkout-cart-index .authentication-wrapper .action-auth-toggle:hover,
body.checkout-cart-index .authentication-wrapper .action-auth-toggle:focus-visible,
body.checkout-cart-index .popup-authentication .action-secondary:hover,
body.checkout-cart-index .popup-authentication .action-secondary:focus-visible,
body.checkout-index-index .popup-authentication .action-secondary:hover,
body.checkout-index-index .popup-authentication .action-secondary:focus-visible,
body.checkout-cart-index .ajaxsuite-popup-wrapper .action-secondary:hover,
body.checkout-cart-index .ajaxsuite-popup-wrapper .action-secondary:focus-visible,
body.checkout-index-index .ajaxsuite-popup-wrapper .action-secondary:hover,
body.checkout-index-index .ajaxsuite-popup-wrapper .action-secondary:focus-visible {
    border-color: var(--primary-color);
    color: var(--primary-color);
}

@media (max-width: 767px) {
    :where(
        button.action.primary,
        a.action.primary,
        .action.primary,
        .actions-primary .action,
        .action.tocart,
        .action.checkout,
        .checkout-methods-items .action.primary,
        .checkout-methods-items .action.checkout
    ) {
        min-height: 48px;
        font-size: 1rem;
        border-radius: var(--awa-radius-lg);
    }

    body.checkout-index-index .opc-progress-bar {
        overflow-x: auto;
    }
}

/* Reduced motion: disable all custom animations */
@media (prefers-reduced-motion: reduce) {
    :where(button, .action, .action.primary, a.action) {
        transition: none;
    }

    :where(button, .action, .action.primary, a.action):active:not([disabled]) {
        transform: none;
    }

    :where(.product-item-link, .category-link, .breadcrumbs a) {
        transition: none;
        background-image: none !important;
    }
}

/* ============================================================
   B2B ACESSIBILIDADE (WCAG AA)
   ============================================================ */

/* Footer: garantir contraste mínimo 4.5:1 em textos sobre fundo escuro */
.footer-container,
.footer-container p,
.footer-container span,
.footer-container li {
    color: var(--awa-gray-200) !important; /* Slate-300: contraste 7.3:1 contra var(--awa-gray-700) */
}

.footer-container .footer-title,
.footer-container h3,
.footer-container h4 {
    color: var(--awa-gray-50) !important; /* Slate-100: contraste 14:1 */
}

.footer-container a:hover,
.footer-container a:focus-visible {
    color: var(--primary-color) !important;
    text-decoration: underline;
}

/* Focus ring para links e botões do footer */
.footer-container a:focus-visible,
.footer-container button:focus-visible {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

/* Skip-to-content (acessibilidade teclado) */
.skip-to-content {
    position: absolute;
    top: -100%;
    left: 50%;
    transform: translateX(-50%);
    z-index: var(--awa-z-float);
    background: var(--primary-color);
    color: var(--awa-white, #fff);
    padding: var(--awa-space-3) var(--awa-space-6);
    font-weight: var(--awa-font-weight-bold);
    border-radius: var(--awa-radius-sm);
    text-decoration: none;
}

.skip-to-content:focus {
    top: 8px;
}

/* ============================================================
   B2B PERFORMANCE (content-visibility)
   ============================================================ */

/* Lazy-render off-screen sections for faster initial paint */
.footer-container,
.block.related,
.block.upsell,
.product.data.items {
    content-visibility: auto;
    contain-intrinsic-size: auto 500px;
}

/* Otimização de imagens de produto: object-fit com aspect-ratio */
.product-image-container .product-image-photo {
    aspect-ratio: 1 / 1;
    object-fit: contain;
    background: var(--awa-bg-surface, #fff);
}

/* Round5: UX refinements for floating controls, popups and mobile navigation */

#back-top,
.fixed-right .fixed-right-ul li,
.fixed-right .fixed-right-ul li > a {
    border-radius: var(--awa-radius-full);
}

#back-top {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgb(183 51 55 / 10%) !important;
    color: var(--primary-color, #b73337) !important;
    border: 1px solid rgb(183 51 55 / 18%) !important;
    transition: background-color 280ms cubic-bezier(0.4, 0, 0.2, 1), border-color 280ms cubic-bezier(0.4, 0, 0.2, 1), color 280ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
}

a#back-top,
#back-top i {
    color: var(--primary-color, #b73337) !important;
}

body .page-wrapper #back-top.awa-backtotop-legacy,
body .page-wrapper #back-top.awa-backtotop-legacy i {
    color: var(--primary-color, #b73337) !important;
}

#back-top:hover,
#back-top:focus-visible {
    background: var(--primary-color, #b73337) !important;
    border-color: var(--primary-color, #b73337) !important;
    color: var(--awa-white, #fff) !important;
    box-shadow: 0 6px 16px rgb(183 51 55 / 18%);
}

a#back-top:hover,
a#back-top:focus-visible,
#back-top:hover i,
#back-top:focus-visible i {
    color: var(--awa-white, #fff) !important;
}

body .page-wrapper #back-top.awa-backtotop-legacy:hover,
body .page-wrapper #back-top.awa-backtotop-legacy:focus-visible,
body .page-wrapper #back-top.awa-backtotop-legacy:hover i,
body .page-wrapper #back-top.awa-backtotop-legacy:focus-visible i {
    color: var(--awa-white, #fff) !important;
}

.fixed-right .fixed-right-ul {
    display: grid;
    gap: var(--awa-gap-md);
}

.fixed-right .fixed-right-ul li {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--awa-bg-surface, #fff);
    border: 1px solid rgb(183 51 55 / 14%);
    color: var(--color-text, #333);
    cursor: pointer;
    transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), border-color 280ms cubic-bezier(0.4, 0, 0.2, 1), color 280ms cubic-bezier(0.4, 0, 0.2, 1);
}

.fixed-right .fixed-right-ul li > a {
    width: 100%;
    height: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: inherit;
    text-decoration: none;
}

.fixed-right .fixed-right-ul li:hover,
.fixed-right .fixed-right-ul li:focus-visible,
.fixed-right .fixed-right-ul li:focus-within {
    color: var(--primary-color, #b73337);
    border-color: rgb(183 51 55 / 28%);
    box-shadow: 0 8px 18px rgb(0 0 0 / 8%);
    transform: translateY(-1px);
}

.fixed-right .fixed-right-ul li > a:focus-visible {
    outline: none;
}

.fixed-right .fixed-right-ul li em {
    font-size: var(--awa-text-lg);
}

.fixed-bottom .mobile-bottom-link > li > a {
    min-height: 44px;
    border-radius: var(--awa-radius-md);
    transition: color 0.3s ease, background-color 0.3s ease;
}

.fixed-bottom .mobile-bottom-link > li > a:hover,
.fixed-bottom .mobile-bottom-link > li > a:focus-visible,
.fixed-bottom .mobile-bottom-link > li > a[aria-expanded='true'] {
    color: var(--primary-color, #b73337);
    background: rgb(183 51 55 / 8%);
    outline: none;
}

.fixed-bottom .mobile-bottom-link > li > a .icon {
    transition: color 0.3s ease;
}

.newsletterpopup .newletter_popup_close,
.newsletterpopup .newletter_popup_close_text,
.b2b-login-modal-close {
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.newsletterpopup .newletter_popup_close {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--awa-radius-full);
    background: rgb(255 255 255 / 92%);
    color: var(--color-text, #333);
    border: 1px solid rgb(0 0 0 / 8%);
}

.newsletterpopup .newletter_popup_close:hover,
.newsletterpopup .newletter_popup_close:focus-visible {
    background: var(--primary-color, #b73337);
    border-color: var(--primary-color, #b73337);
    color: var(--awa-white, #fff);
    box-shadow: 0 6px 16px rgb(183 51 55 / 16%);
    outline: none;
}

.newsletterpopup .newletter_popup_close_text {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    color: var(--awa-gray-500);
    text-decoration: none;
}

.newsletterpopup .newletter_popup_close_text:hover,
.newsletterpopup .newletter_popup_close_text:focus-visible {
    color: var(--primary-color, #b73337);
    text-decoration: underline;
    outline: none;
}

.newsletterpopup .nl-popup-form .field.newsletter .control input {
    min-height: 44px;
    border-radius: var(--awa-radius);
}

.newsletterpopup .nl-popup-form .field.newsletter .control input:focus {
    border-color: rgb(183 51 55 / 40%);
    box-shadow: 0 0 0 3px rgb(183 51 55 / 10%);
}

.newsletterpopup .nl-popup-form .action.subscribe.primary {
    min-height: 44px;
    border-radius: var(--awa-radius);
    box-shadow: 0 8px 20px rgb(183 51 55 / 14%);
    transition: background-color 280ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 280ms cubic-bezier(0.4, 0, 0.2, 1);
}

.newsletterpopup .nl-popup-form .action.subscribe.primary:hover {
    box-shadow: 0 10px 26px rgb(183 51 55 / 20%);
    transform: translateY(-1px);
}

.newsletterpopup .nl-popup-trust-item,
.newsletterpopup .nl-popup-urgency,
.newsletterpopup .nl-popup-badge {
    color: var(--awa-gray-500);
}

.b2b-login-modal-close {
    width: 44px;
    height: 44px;
    border-radius: var(--awa-radius-full);
    border: 1px solid rgb(183 51 55 / 18%);
    background: var(--awa-bg-surface, #fff);
    color: var(--color-text, #333);
}

.b2b-login-modal-close:hover,
.b2b-login-modal-close:focus-visible {
    color: var(--awa-white, #fff);
    background: var(--primary-color, #b73337);
    border-color: var(--primary-color, #b73337);
    outline: none;
    box-shadow: 0 6px 16px rgb(183 51 55 / 14%);
}

.ajaxsuite-popup-wrapper .modal-inner-wrap,
.popup-authentication .modal-inner-wrap {
    border-radius: var(--awa-radius-lg);
    overflow: hidden;
}

.ajaxsuite-popup-wrapper .action.action-login,
.ajaxsuite-popup-wrapper .action.action-register,
.popup-authentication .action.action-login,
.popup-authentication .action.action-register {
    min-height: 44px;
}

.ajaxsuite-popup-wrapper .field .input-text,
.popup-authentication .field .input-text {
    min-height: 44px;
    border-radius: var(--awa-radius);
}

.ajaxsuite-popup-wrapper .field .input-text:focus,
.popup-authentication .field .input-text:focus {
    border-color: rgb(183 51 55 / 40%);
    box-shadow: 0 0 0 3px rgb(183 51 55 / 10%);
}

body.checkout-cart-index .cart-summary,
body.checkout-cart-index .cart-empty,
body.checkout-index-index .checkout-container,
body.checkout-index-index .opc-wrapper,
body.checkout-index-index #opc-sidebar {
    scroll-margin-top: 80px;
}

body.checkout-cart-index .cart-empty .action.continue,
body.checkout-cart-index .cart-empty .action.primary {
    min-height: 44px;
}

@media (max-width: 767px) {
    .fixed-right {
        right: 10px;
        bottom: calc(68px + env(safe-area-inset-bottom, 0));
    }

    body .page-wrapper #awa-back-to-top {
        bottom: calc(84px + env(safe-area-inset-bottom, 0));
    }

    .fixed-right .fixed-right-ul {
        gap: var(--awa-gap-sm);
    }

    .newsletterpopup .nl-popup-footer {
        gap: var(--awa-gap-md);
    }

    .newsletterpopup .newletter_popup_close_text {
        min-height: 44px;
    }

    .b2b-login-modal-close {
        width: 40px;
        height: 40px;
    }
}

/* Round6: B2B login gate and AjaxSuite popup refinement */

.b2b-login-modal-overlay {
    backdrop-filter: blur(2px);
    background: rgb(0 0 0 / 62%);
}

.b2b-login-modal {
    border: 1px solid rgb(183 51 55 / 14%);
    box-shadow: 0 24px 60px rgb(0 0 0 / 24%);
}

.b2b-login-modal-header {
    background: linear-gradient(135deg, var(--primary-color, #b73337) 0%, var(--primary-hover, #8e2629) 100%);
}

.b2b-login-modal-header h3 {
    line-height: var(--awa-leading-compact);
    padding-right: 46px;
}

.b2b-login-modal-header p {
    line-height: var(--awa-leading-cozy);
    max-width: 34ch;
}

.b2b-login-modal-body {
    gap: var(--awa-gap-lg);
}

.b2b-login-options {
    gap: var(--awa-gap-lg);
}

.b2b-login-option {
    min-height: 76px;
    display: grid;
    align-content: center;
    gap: var(--awa-gap-xs);
    border-radius: var(--awa-radius-md);
    border-color: rgb(0 0 0 / 10%);
    box-shadow: 0 0 0 0 rgb(183 51 55 / 0%);
    transition: border-color 0.25s ease, background-color 0.25s ease, box-shadow 0.25s ease, transform 0.2s ease;
}

.b2b-login-option:hover,
.b2b-login-option:focus-visible {
    border-color: rgb(183 51 55 / 35%);
    background: rgb(183 51 55 / 3%);
    box-shadow: 0 10px 22px rgb(0 0 0 / 7%);
    transform: translateY(-1px);
}

.b2b-login-option-title {
    line-height: var(--awa-leading-snug);
}

.b2b-login-option-desc {
    line-height: var(--awa-leading-cozy);
}

.b2b-login-option.b2b-primary {
    background: linear-gradient(180deg, rgb(183 51 55 / 96%) 0%, rgb(142 38 41 / 100%) 100%);
    border-color: rgb(183 51 55 / 95%);
    box-shadow: 0 8px 18px rgb(183 51 55 / 18%);
}

.b2b-login-option.b2b-primary:hover,
.b2b-login-option.b2b-primary:focus-visible {
    background: linear-gradient(180deg, rgb(142 38 41 / 100%) 0%, rgb(109 29 31 / 100%) 100%);
    border-color: rgb(142 38 41 / 100%);
    box-shadow: 0 12px 24px rgb(183 51 55 / 22%);
}

.b2b-login-already {
    margin-top: var(--awa-space-1) ;
    padding-top: var(--awa-space-3-5) ;
    border-top-color: rgb(0 0 0 / 6%);
}

.b2b-login-already a {
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.12em;
}

.b2b-login-already a:focus-visible {
    outline: 2px solid var(--primary-color, #b73337);
    outline-offset: 2px;
    border-radius: var(--awa-radius-xs);
}

#ajaxsuite-popup-wrapper {
    z-index: var(--awa-z-submenu);
}

#ajaxsuite-popup-wrapper #ajaxsuite-close.ajaxsuite-close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--awa-radius-full);
    border: 1px solid rgb(183 51 55 / 18%);
    background: rgb(255 255 255 / 96%);
    color: var(--primary-color, #b73337);
    box-shadow: 0 6px 18px rgb(0 0 0 / 10%);
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease, transform 0.2s ease;
}

#ajaxsuite-popup-wrapper #ajaxsuite-close.ajaxsuite-close::before {
    content: "×";
    display: block;
    font-size: var(--awa-text-xl-plus);
    line-height: var(--awa-leading-none);
    font-weight: var(--awa-weight-medium);
}

#ajaxsuite-popup-wrapper #ajaxsuite-close.ajaxsuite-close:hover,
#ajaxsuite-popup-wrapper #ajaxsuite-close.ajaxsuite-close:focus-visible {
    background: var(--primary-color, #b73337);
    border-color: var(--primary-color, #b73337);
    color: var(--awa-white, #fff);
    transform: translateY(-1px);
    outline: none;
}

#ajaxsuite-popup-wrapper #ajaxsuite-popup-content {
    border-radius: var(--awa-radius);
    overflow: hidden;
}

@media (max-width: 767px) {
    .b2b-login-modal-overlay {
        padding: var(--awa-space-3) ;
    }

    .b2b-login-modal {
        width: 100%;
        max-height: calc(100vh - 24px);
    }

    .b2b-login-modal-header {
        padding: var(--awa-space-4-5) var(--awa-space-4-5) var(--awa-space-4);
    }

    .b2b-login-modal-body {
        padding: var(--awa-space-4-5);
        gap: var(--awa-gap-lg);
    }

    .b2b-login-option {
        min-height: 72px;
        padding: var(--awa-space-3-5) var(--awa-space-3-75);
    }

    #ajaxsuite-popup-wrapper #ajaxsuite-close.ajaxsuite-close {
        top: 8px;
        right: 8px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .b2b-login-modal,
    .b2b-login-option,
    #ajaxsuite-popup-wrapper #ajaxsuite-close.ajaxsuite-close {
        transition: none;
        animation: none;
    }

    .b2b-login-option:hover,
    .b2b-login-option:focus-visible,
    #ajaxsuite-popup-wrapper #ajaxsuite-close.ajaxsuite-close:hover,
    #ajaxsuite-popup-wrapper #ajaxsuite-close.ajaxsuite-close:focus-visible {
        transform: none;
    }
}

/* AWA Global Polish — remaining UI gaps
   Scope: breadcrumbs, customer account, messages, CMS content, data tables.
   B2B-safe: no overrides to restricted/auth modes. */

/* ================================================
   1. BREADCRUMBS
   ================================================ */
.nav-breadcrumbs {
    margin-bottom: var(--awa-space-1-5);
}

.breadcrumbs {
    padding: var(--awa-space-2-5) 0;
}

.breadcrumbs .items {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    color: var(--awa-gray-500);
    font-size: var(--awa-text-sm);
    line-height: var(--awa-leading-normal);
}

.breadcrumbs .item {
    display: inline-flex;
    align-items: center;
    gap: 0;
}

.breadcrumbs .item:not(:last-child)::after {
    content: '/';
    display: inline-block;
    margin: 0 var(--awa-space-2);
    color: var(--awa-gray-500);
    font-weight: var(--awa-weight-normal);
}

.breadcrumbs .item a {
    color: var(--awa-gray-500);
    font-weight: var(--awa-weight-medium);
}

.breadcrumbs .item strong {
    color: var(--awa-dark);
    font-weight: var(--awa-weight-semibold);
}

/* ================================================
   2. GLOBAL MESSAGES
   ================================================ */
body .page-wrapper .page.messages {
    margin-bottom: var(--awa-space-3) ;
}

body .page-wrapper .message {
    display: flex;
    align-items: flex-start;
    gap: var(--awa-gap-md);
    padding: var(--awa-space-3) var(--awa-space-4);
    border-radius: var(--awa-radius);
    font-size: var(--awa-text-base);
    line-height: var(--awa-leading-comfortable);
}

body .page-wrapper .message.success {
    background: rgb(34 197 94 / 6%);
    border: 1px solid rgb(34 197 94 / 18%);
    color: var(--awa-success-dark, #166534); /* WCAG AA 4.6:1 — verde escuro sobre fundo verde claro */
}

body .page-wrapper .message.error {
    background: rgb(239 68 68 / 6%);
    border: 1px solid rgb(239 68 68 / 18%);
    color: var(--awa-danger-dark, #991b1b); /* WCAG AA 4.8:1 — vermelho escuro sobre fundo vermelho claro */
}

body .page-wrapper .message.warning {
    background: rgb(245 158 11 / 6%);
    border: 1px solid rgb(245 158 11 / 18%);
    color: var(--awa-warning-dark, #92400e); /* WCAG AA 5.1:1 — âmbar escuro sobre fundo âmbar claro */
}

body .page-wrapper .message.notice,
body .page-wrapper .message.info {
    background: rgb(59 130 246 / 6%);
    border: 1px solid rgb(59 130 246 / 14%);
    color: var(--awa-info-dark, #1e40af); /* WCAG AA 4.7:1 — azul escuro sobre fundo azul claro */
}

body .page-wrapper .message > :first-child::before {
    flex-shrink: 0;
}

body .page-wrapper .message a {
    font-weight: var(--awa-weight-semibold);
    text-decoration: underline;
    text-underline-offset: 0.12em;
}

/* ================================================
   3. CUSTOMER ACCOUNT PAGES
   ================================================ */

/* Account sidebar navigation */
body.account .sidebar-main .block-collapsible-nav {
    border: 1px solid var(--awa-gray-200);
    border-radius: var(--awa-radius-md-lg);
    background: var(--awa-bg-surface, #fff);
    box-shadow: 0 4px 14px rgb(15 23 42 / 4%);
    overflow: clip;
}

body.account .sidebar-main .block-collapsible-nav .title {
    display: none;
}

body.account .sidebar-main .block-collapsible-nav .content {
    padding: 0;
}

body.account .sidebar-main .block-collapsible-nav .nav.items {
    padding: var(--awa-space-2) 0;
}

body.account .sidebar-main .block-collapsible-nav .nav.item {
    margin: 0;
}

body.account .sidebar-main .block-collapsible-nav .nav.item a,
body.account .sidebar-main .block-collapsible-nav .nav.item > strong {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: var(--awa-space-2) var(--awa-space-4);
    color: var(--awa-gray-500);
    font-size: var(--awa-text-base);
    line-height: var(--awa-leading-cozy);
    text-decoration: none;
    border-left: 3px solid transparent;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

body.account .sidebar-main .block-collapsible-nav .nav.item a:hover,
body.account .sidebar-main .block-collapsible-nav .nav.item a:focus-visible {
    background: rgb(183 51 55 / 4%);
    color: var(--primary-color, #b73337);
    border-left-color: rgb(183 51 55 / 20%);
    outline: 0;
}

body.account .sidebar-main .block-collapsible-nav .nav.item.current a,
body.account .sidebar-main .block-collapsible-nav .nav.item.current > strong {
    background: rgb(183 51 55 / 6%);
    color: var(--primary-color, #b73337);
    font-weight: var(--awa-weight-bold);
    border-left-color: var(--primary-color, #b73337);
}

/* Account page content containers */
body.account .column.main .block {
    margin-bottom: var(--awa-space-5) ;
}

body.account .column.main .block-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--awa-gap-md);
    padding-bottom: var(--awa-space-3) ;
    margin-bottom: var(--awa-space-3-5) ;
    border-bottom: 1px solid var(--awa-gray-200);
}

body.account .column.main .block-title strong {
    color: var(--awa-dark);
    font-size: var(--awa-text-lg);
    font-weight: var(--awa-weight-bold);
    line-height: var(--awa-leading-snug);
}

body.account .column.main .block-title .action {
    color: var(--primary-color, #b73337);
    font-weight: var(--awa-weight-semibold);
    font-size: var(--awa-text-sm);
    text-decoration: none;
    white-space: nowrap;
}

body.account .column.main .block-title .action:hover,
body.account .column.main .block-title .action:focus-visible {
    color: var(--primary-hover, #8e2629);
    text-decoration: underline;
    outline: 0;
}

/* Account info boxes (dashboard) */
body.account .column.main .box {
    border: 1px solid var(--awa-gray-200);
    border-radius: var(--awa-radius);
    background: var(--awa-bg-surface, #fff);
    padding: var(--awa-space-3-5) var(--awa-space-4);
    margin-bottom: var(--awa-space-3) ;
}

body.account .column.main .box-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--awa-gap-md);
    margin-bottom: var(--awa-space-2-5) ;
}

body.account .column.main .box-title > span {
    color: var(--awa-gray-500);
    font-weight: var(--awa-weight-bold);
    font-size: var(--awa-text-base);
}

body.account .column.main .box-title .action {
    color: var(--primary-color, #b73337);
    font-size: var(--awa-text-xs);
    font-weight: var(--awa-weight-semibold);
    text-decoration: none;
}

body.account .column.main .box-title .action:hover,
body.account .column.main .box-title .action:focus-visible {
    text-decoration: underline;
    outline: 0;
}

body.account .column.main .box-content {
    color: var(--awa-gray-500);
    font-size: var(--awa-text-base);
    line-height: var(--awa-leading-loose, 1.55);
}

body.account .column.main .box-content address {
    font-style: normal;
}

body.account .column.main .box-actions a {
    color: var(--primary-color, #b73337);
    font-weight: var(--awa-weight-semibold);
    font-size: var(--awa-text-sm);
    text-decoration: none;
}

body.account .column.main .box-actions a:hover,
body.account .column.main .box-actions a:focus-visible {
    text-decoration: underline;
    outline: 0;
}

/* ================================================
   4. DATA TABLES (orders, address book, etc.)
   ================================================ */
body.account .table-wrapper {
    border: 1px solid var(--awa-gray-200);
    border-radius: var(--awa-radius);
    overflow: clip;
    background: var(--awa-bg-surface, #fff);
    box-shadow: 0 2px 8px rgb(15 23 42 / 3%);
}

body.account .table-wrapper .data.table {
    margin: 0;
}

body.account .table-wrapper .data.table thead th {
    background: var(--awa-gray-50);
    border-bottom: 1px solid var(--awa-gray-200);
    color: var(--awa-gray-500);
    font-size: var(--awa-text-xs);
    font-weight: var(--awa-weight-bold);
    letter-spacing: 0.03em;
    text-transform: uppercase;
    padding: var(--awa-space-2-5) var(--awa-space-3-5);
    white-space: nowrap;
}

body.account .table-wrapper .data.table tbody td {
    padding: var(--awa-space-3) var(--awa-space-3-5);
    color: var(--awa-gray-500);
    font-size: var(--awa-text-base);
    line-height: var(--awa-leading-normal);
    border-bottom: 1px solid var(--awa-gray-50);
    vertical-align: middle;
}

body.account .table-wrapper .data.table tbody tr:last-child td {
    border-bottom: 0;
}

body.account .table-wrapper .data.table tbody tr:hover td {
    background: rgb(183 51 55 / 2%);
}

body.account .table-wrapper .data.table .col.actions a {
    color: var(--primary-color, #b73337);
    font-weight: var(--awa-weight-semibold);
    text-decoration: none;
    white-space: nowrap;
}

body.account .table-wrapper .data.table .col.actions a:hover,
body.account .table-wrapper .data.table .col.actions a:focus-visible {
    text-decoration: underline;
    outline: 0;
}

/* Empty table state */
body.account .message.info.empty {
    text-align: center;
    padding: var(--awa-space-6) var(--awa-space-4);
    border-radius: var(--awa-radius);
    border: 1px solid var(--awa-gray-200);
    background: var(--awa-gray-50);
    color: var(--awa-gray-500);
    font-size: var(--awa-text-base);
}

/* Account page actions toolbar */
body.account .actions-toolbar {
    margin-top: var(--awa-space-4) ;
}

body.account .actions-toolbar .action.back {
    color: var(--awa-gray-500);
    font-weight: var(--awa-weight-semibold);
    text-decoration: none;
}

body.account .actions-toolbar .action.back:hover,
body.account .actions-toolbar .action.back:focus-visible {
    color: var(--primary-color, #b73337);
    outline: 0;
}

/* ================================================
   5. CMS CONTENT PAGES
   ================================================ */
body.cms-page-view .column.main {
    color: var(--awa-gray-500);
    line-height: var(--awa-leading-spacious, 1.65);
}

body.cms-page-view .column.main h1,
body.cms-page-view .column.main h2,
body.cms-page-view .column.main h3,
body.cms-page-view .column.main h4 {
    color: var(--awa-dark);
    line-height: var(--awa-leading-snug);
    margin-top: 1.4em;
    margin-bottom: 0.6em;
}

body.cms-page-view .column.main h1 {
    font-size: clamp(24px, 3.5vw, 32px);
    font-weight: var(--awa-weight-extrabold);
    letter-spacing: -0.02em;
}

body.cms-page-view .column.main h2 {
    font-size: clamp(20px, 2.8vw, 26px);
    font-weight: var(--awa-weight-bold);
    letter-spacing: var(--awa-tracking-tighter);
}

body.cms-page-view .column.main h3 {
    font-size: clamp(17px, 2.2vw, 21px);
    font-weight: var(--awa-weight-bold);
}

body.cms-page-view .column.main p {
    margin-bottom: 1em;
}

body.cms-page-view .column.main ul,
body.cms-page-view .column.main ol {
    padding-left: 1.5em;
    margin-bottom: 1em;
}

body.cms-page-view .column.main li {
    margin-bottom: 0.35em;
}

body.cms-page-view .column.main a {
    color: var(--primary-color, #b73337);
    text-decoration: underline;
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.14em;
}

body.cms-page-view .column.main a:hover {
    color: var(--primary-hover, #8e2629);
}

body.cms-page-view .column.main img {
    max-width: 100%;
    height: auto;
    border-radius: var(--awa-radius-md);
}

body.cms-page-view .column.main table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1em;
    border: 1px solid var(--awa-gray-200);
    border-radius: var(--awa-radius-md);
    overflow: clip;
}

body.cms-page-view .column.main table th {
    background: var(--awa-gray-50);
    border-bottom: 1px solid var(--awa-gray-200);
    padding: var(--awa-space-2-5) var(--awa-space-3);
    font-weight: var(--awa-weight-bold);
    color: var(--awa-gray-500);
    text-align: left;
}

body.cms-page-view .column.main table td {
    padding: var(--awa-space-2-5) var(--awa-space-3);
    border-bottom: 1px solid var(--awa-gray-50);
    color: var(--awa-gray-500);
}

body.cms-page-view .column.main table tr:last-child td {
    border-bottom: 0;
}

body.cms-page-view .column.main blockquote {
    border-left: 4px solid rgb(183 51 55 / 30%);
    padding: var(--awa-space-3) var(--awa-space-4);
    margin: 1em 0;
    background: rgb(183 51 55 / 3%);
    border-radius: 0 var(--awa-radius-md, 10px) var(--awa-radius-md, 10px) 0;
    color: var(--awa-gray-500);
    font-style: italic;
}

/* ================================================
   6. RESPONSIVE
   ================================================ */
@media (max-width: 991px) {
    body.account .sidebar-main .block-collapsible-nav {
        border-radius: var(--awa-radius);
    }

    body.account .column.main .box {
        border-radius: var(--awa-radius-md);
    }

    body.account .table-wrapper {
        border-radius: var(--awa-radius-md);
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

@media (max-width: 767px) {
    .breadcrumbs {
        padding: var(--awa-space-2) 0;
    }

    .breadcrumbs .items {
        font-size: var(--awa-text-xs);
        overflow-x: auto;
        flex-wrap: nowrap;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 2px;
    }

    .breadcrumbs .items::-webkit-scrollbar {
        display: none;
    }

    .breadcrumbs .item {
        white-space: nowrap;
        flex-shrink: 0;
    }

    .breadcrumbs .item:not(:last-child)::after {
        margin: 0 var(--awa-space-1-5);
    }

    body.account .sidebar-main .block-collapsible-nav .nav.item a,
    body.account .sidebar-main .block-collapsible-nav .nav.item > strong {
        padding: var(--awa-space-2) var(--awa-space-3-5);
        font-size: var(--awa-text-sm);
    }

    body.account .column.main .block-title strong {
        font-size: var(--awa-text-md);
    }

    body.account .column.main .box {
        padding: var(--awa-space-3) var(--awa-space-3-5);
    }

    body.account .table-wrapper .data.table thead th {
        padding: var(--awa-space-2) var(--awa-space-2-5);
        font-size: var(--awa-text-2xs);
    }

    body.account .table-wrapper .data.table tbody td {
        padding: var(--awa-space-2-5) ;
        font-size: var(--awa-text-sm);
    }

    body.cms-page-view .column.main {
        font-size: var(--awa-text-base-plus);
    }
}

/* ================================================
   7. REDUCED MOTION
   ================================================ */
@media (prefers-reduced-motion: reduce) {
    body.account .sidebar-main .block-collapsible-nav .nav.item a {
        transition: none;
    }
}

/* ================================================
   B2B DASHBOARD — ERP STATUS & SHORTCUTS
   Move inline styles from b2b-shortcuts.phtml to CSS.
   Eliminates style="" CSP violations (Prioridade 1 QA).
   ================================================ */

.awa-b2b-erp-status-card { margin-bottom: var(--awa-space-6) ; }

.awa-b2b-progress-bg {
    width: 100%;
    height: 16px;
    background: var(--awa-gray-50, #f1f5f9);
    border-radius: var(--awa-radius-full);
    overflow: hidden;
}

/* Dynamic values via CSS custom properties (set via style="--progress-width:30%;...") */
.awa-b2b-progress-fill {
    width: var(--progress-width, 0%);
    height: 100%;
    background: var(--progress-color, #10b981);
    transition: transform 1s ease-in-out; /* perf: use scaleX instead of width */
}

@media (prefers-reduced-motion: reduce) {
    .awa-b2b-progress-fill { transition: none; }
}

.awa-b2b-credit-info {
    margin-top: var(--awa-space-3) ;
    font-size: var(--awa-text-xs);
    color: var(--awa-slate, #64748b);
    text-align: right;
}

/* FontAwesome rendering fix — removes font-family inline style hack */
.b2b-shortcut-icon {
    font-family: FontAwesome, 'Font Awesome 5 Free', serif;
    font-style: normal;
}

/* Description text under B2B shortcut cards */
.b2b-shortcut-desc {
    display: block;
    font-size: var(--awa-text-xs);
    color: var(--awa-slate, #64748b);
}

/* Onboarding progress bar (dashboard.phtml) — reads CSS var to avoid inline style CSP violation */
.b2b-dashboard .progress-fill {
    width: var(--b2b-progress-width, 0%);
}

/* ================================================
   B2B SKU DISPLAY — GLOBAL
   Replaces inline styles in list.phtml, b2b_sku.phtml,
   producttab.phtml, categorytab templates.
   Uses BEM classes: .awa-b2b-sku__label, .awa-b2b-sku__value
   ================================================ */

/* PLP / Carousel SKU chip */
.awa-b2b-sku {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 2px;
    margin-bottom: var(--awa-space-2) ;
    color: var(--awa-slate, #64748b);
    font-size: var(--awa-text-2xs);
    font-weight: var(--awa-weight-medium);
}

.awa-b2b-sku__label {
    color: var(--awa-slate-light, #9ca3af);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    margin-right: 2px;
}

.awa-b2b-sku__value {
    color: var(--awa-slate, #475569);
    font-family: var(--awa-font-mono, 'SFMono-Regular', Consolas, monospace);
    letter-spacing: 0.04em;
}

/* PDP SKU chip (b2b_sku.phtml) */
body.catalog-product-view .awa-b2b-pdp-sku {
    display: inline-block;
    font-size: var(--awa-text-sm);
    color: var(--awa-slate, #64748b);
    font-weight: var(--awa-weight-medium);
    margin-top: -5px;
    margin-bottom: var(--awa-space-3-75) ;
    padding: var(--awa-space-1) var(--awa-space-2);
    background: var(--awa-gray-50, #f8fafc);
    border: 1px solid var(--awa-gray-200, #e2e8f0);
    border-radius: var(--awa-radius-xs);
}

body.catalog-product-view .awa-b2b-pdp-sku .awa-b2b-sku__label {
    margin-right: var(--awa-space-1) ;
    font-size: inherit;
}

body.catalog-product-view .awa-b2b-pdp-sku .awa-b2b-sku__value {
    font-size: var(--awa-text-base);
    color: var(--awa-gray-950, #0f172a);
    letter-spacing: 0.5px;
}

/* Autocomplete SKU (autocomplete.html) */
.awa-ac-product-sku {
    font-weight: var(--awa-weight-bold);
    font-size: var(--awa-text-sm);
    color: var(--awa-dark, #333);
}

/* Static inline-style replacements used in theme templates */
.icon-play--hidden {
    display: none;
}

.filter-options-content--open {
    display: block;
}

.awa-tier-price-amount {
    display: inline-block;
}

.awa-tier-save-placeholder {
    color: var(--awa-slate-light, #94a3b8);
}

/* ================================================
   8. FOOTER PAYMENT ICONS
   ================================================ */

/* Dead code — seletores (.footer-payments-list, .payment-methods, .footer-col-pay)
   nao existem no footer.phtml atual (usa .awa-pay-logo). Removido 2026-03-23. */

/* ============================================================ */

/* FIX: FOOTER PREMIUM B2B BACKGROUND & PADDING (v2.0)          */

/* ============================================================ */
.page_footer,
.page_footer #footer.footer-container,
.page_footer #footer.footer-container.layout2,
.page_footer #footer.footer-container.footer,
.page_footer .footer-bottom {
    background: var(--awa-dark, #333) !important;
}

.page_footer .footer-bottom-inner {
    padding-top: var(--awa-space-5) !important;
    padding-bottom: var(--awa-space-6) !important;
}

.page_footer .footer-bottom-inner .row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.page_footer .awa-footer-payments-security {
    margin-top: 0 !important;
}

/* ── FOOTER DARK: corrige clipping e background das colunas de navegação ────
   1. overflow:visible garante que os filhos que excedem o box de 401px sejam
      renderizados (evita clipping do Rokanthemes _footer.less).
   2. flex-shrink:0 impede que o flex-item seja comprimido pelo page-wrapper.
   3. O elemento .page_footer.awa-footer--dark tem height calculado pelo flex
      como ~401px (espaço restante da viewport). O gradient só cobre esse box.
      Para garantir background em .awa-footer-brands, #footer.footer-container
      e .footer-bottom (que ficam fora do box), damos bg explícito a cada um.
   ─────────────────────────────────────────────────────────────────────────── */
body .page-wrapper .page_footer.awa-footer--dark {
    overflow: visible !important;
    height: auto !important;
    flex-shrink: 0 !important;
}

/* Garantir bg escuro nos elementos que ficam fora do box de gradient */
body .page-wrapper .page_footer.awa-footer--dark .awa-footer-brands,
body .page-wrapper .page_footer.awa-footer--dark .awa-footer-tags {
    background: var(--awa-dark, #333) !important;
}

body .page-wrapper .page_footer.awa-footer--dark #footer.footer-container,
body .page-wrapper .page_footer.awa-footer--dark #footer.footer-container.layout2,
body .page-wrapper .page_footer.awa-footer--dark #footer.footer-container.footer {
    background: var(--awa-dark, #333) !important;
}

body .page-wrapper .page_footer.awa-footer--dark .footer-bottom {
    background: rgba(0, 0, 0, .2) !important;
}

/* ==========================================================================
   Footer Visual System Refinement — 2026-03-29
   Final low-risk pass for consistency, hierarchy, and interaction only.
   ========================================================================== */
body .page-wrapper .page_footer.awa-footer--dark {
    --awa-footer-surface-soft: rgba(255 255 255 / 8%);
    --awa-footer-surface-medium: rgba(255 255 255 / 12%);
    --awa-footer-border-soft: rgba(255 255 255 / 12%);
    --awa-footer-border-medium: rgba(255 255 255 / 18%);
    --awa-footer-border-strong: rgba(255 255 255 / 28%);
    --awa-footer-text-high: rgba(255 255 255 / 96%);
    --awa-footer-text-body: rgba(255 255 255 / 84%);
    --awa-footer-text-muted: rgba(255 255 255 / 68%);
    --awa-footer-shadow-soft: 0 8px 20px rgba(0 0 0 / 16%);
    --awa-footer-shadow-hover: 0 14px 30px rgba(0 0 0 / 22%);
    --awa-footer-focus-ring: 0 0 0 3px rgba(255 255 255 / 14%);
}

/* Colunas: ritmo visual mais uniforme e menos competição de bordas */
body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .vela-content {
    display: flex;
    flex-direction: column;
    gap: var(--awa-space-3);
}

body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .velaContent {
    display: grid;
    gap: var(--awa-space-2-5);
}

body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .velaContent > p {
    margin: 0;
    max-width: 34ch;
    color: var(--awa-footer-text-body) !important;
    font-size: clamp(13px, 0.95vw, 14px);
    line-height: 1.65;
}

body .page-wrapper .page_footer.awa-footer--dark .velaFooterTitle {
    border-bottom-color: var(--awa-footer-border-soft) !important;
    letter-spacing: 0.05em;
}

body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .footer-links {
    display: grid;
    gap: 2px;
}

body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .footer-links li {
    border-bottom-color: rgba(255 255 255 / 7%);
}

body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .footer-links li:last-child {
    border-bottom: 0;
}

body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .footer-links li a {
    min-height: 40px;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0 !important;
    color: var(--awa-footer-text-body) !important;
    font-size: clamp(13px, 0.95vw, 14px);
    font-weight: var(--awa-weight-medium);
    line-height: 1.45;
    transition: color 0.2s ease, transform 0.2s ease;
}

body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .footer-links li a:hover,
body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .footer-links li a:focus-visible {
    padding-left: 0 !important;
    transform: translateX(2px);
    color: var(--awa-footer-text-high) !important;
    text-decoration: underline;
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.16em;
}

body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .footer-contact-list {
    gap: var(--awa-space-2);
}

body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .footer-contact-list .contact-item {
    gap: var(--awa-space-2-5);
    color: var(--awa-footer-text-body) !important;
}

body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .footer-contact-list .contact-item i {
    width: 18px;
    color: var(--awa-footer-text-high) !important;
    opacity: 0.92;
}

body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .footer-contact-list .contact-item a,
body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .footer-contact-list .contact-item span,
body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .footer-hours {
    color: var(--awa-footer-text-body) !important;
    font-size: clamp(13px, 0.95vw, 14px);
    line-height: 1.6;
}

body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .footer-contact-list .contact-item a:hover,
body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .footer-contact-list .contact-item a:focus-visible {
    color: var(--awa-footer-text-high) !important;
    text-decoration: underline;
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.16em;
}

body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .footer-hours strong {
    color: var(--awa-footer-text-high) !important;
}

body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .footer-social-section {
    margin-top: var(--awa-space-1);
    padding-top: var(--awa-space-3);
    border-top: 1px dashed var(--awa-footer-border-soft);
}

body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .footer-social-label {
    color: var(--awa-footer-text-muted) !important;
    letter-spacing: 0.08em;
}

/* Chips e pills: tags, social e selos mais alinhados como sistema */
body .page-wrapper .page_footer.awa-footer--dark .awa-footer-tags {
    border-top-color: var(--awa-footer-border-soft) !important;
    border-bottom-color: var(--awa-footer-border-soft) !important;
    background: rgba(255 255 255 / 6%) !important;
}

body .page-wrapper .page_footer.awa-footer--dark .awa-footer-tags__inner {
    gap: var(--awa-space-2) var(--awa-space-3);
}

body .page-wrapper .page_footer.awa-footer--dark .awa-footer-tags__label {
    color: var(--awa-footer-text-muted) !important;
    letter-spacing: 0.06em;
}

body .page-wrapper .page_footer.awa-footer--dark .awa-footer-tags__cloud {
    gap: var(--awa-space-1-5);
}

body .page-wrapper .page_footer.awa-footer--dark .awa-footer-tags__cloud a,
body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .footer-social-section .social-links a {
    min-height: 38px;
    padding: 0 var(--awa-space-3);
    border: 1px solid var(--awa-footer-border-soft);
    border-radius: var(--awa-radius-full);
    background: rgba(255 255 255 / 10%) !important;
    color: var(--awa-footer-text-body) !important;
    box-shadow: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

body .page-wrapper .page_footer.awa-footer--dark .awa-footer-tags__cloud a:hover,
body .page-wrapper .page_footer.awa-footer--dark .awa-footer-tags__cloud a:focus-visible,
body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .footer-social-section .social-links a:hover,
body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .footer-social-section .social-links a:focus-visible {
    background: rgba(255 255 255 / 16%) !important;
    border-color: var(--awa-footer-border-strong);
    color: var(--awa-footer-text-high) !important;
    box-shadow: var(--awa-footer-focus-ring);
    transform: translateY(-1px);
    outline: none;
}

body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .footer-social-section .social-links a.whatsapp:hover,
body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .footer-social-section .social-links a.whatsapp:focus-visible {
    background: rgba(255 255 255 / 16%) !important;
    border-color: var(--awa-footer-border-strong);
    color: var(--awa-footer-text-high) !important;
}

/* Trust bar: menos efeito "caixa", mais leitura e profundidade consistente */
body .page-wrapper .page_footer.awa-footer--dark .awa-footer-trust-bar {
    background: linear-gradient(180deg, rgba(0 0 0 / 12%) 0%, rgba(0 0 0 / 18%) 100%) !important;
    border-top-color: var(--awa-footer-border-soft) !important;
    border-bottom-color: var(--awa-footer-border-soft) !important;
}

body .page-wrapper .page_footer.awa-footer--dark .awa-footer-trust-grid {
    gap: clamp(14px, 1.6vw, 20px);
}

body .page-wrapper .page_footer.awa-footer--dark .awa-footer-trust-item {
    background: linear-gradient(180deg, rgba(255 255 255 / 9%) 0%, rgba(255 255 255 / 5%) 100%) !important;
    border-color: var(--awa-footer-border-soft) !important;
    box-shadow: var(--awa-footer-shadow-soft);
}

body .page-wrapper .page_footer.awa-footer--dark .awa-footer-trust-item:hover,
body .page-wrapper .page_footer.awa-footer--dark .awa-footer-trust-item:focus-within {
    background: linear-gradient(180deg, rgba(255 255 255 / 14%) 0%, rgba(255 255 255 / 8%) 100%) !important;
    border-color: var(--awa-footer-border-strong) !important;
    box-shadow: var(--awa-footer-focus-ring), var(--awa-footer-shadow-hover);
    transform: translateY(-1px);
}

body .page-wrapper .page_footer.awa-footer--dark .awa-footer-trust-icon {
    background: linear-gradient(180deg, rgba(255 255 255 / 24%) 0%, rgba(255 255 255 / 16%) 100%) !important;
}

body .page-wrapper .page_footer.awa-footer--dark .awa-footer-trust-copy strong {
    color: var(--awa-footer-text-high) !important;
    font-size: clamp(14px, 1vw, 15px);
    letter-spacing: -0.01em;
}

body .page-wrapper .page_footer.awa-footer--dark .awa-footer-trust-copy span {
    color: rgba(255 255 255 / 76%) !important;
}

/* Footer bottom: alinhamento óptico e chips brancos padronizados */
body .page-wrapper .page_footer.awa-footer--dark .footer-bottom-inner {
    padding-top: clamp(20px, 2vw, 28px) !important;
    padding-bottom: clamp(24px, 2.4vw, 32px) !important;
}

body .page-wrapper .page_footer.awa-footer--dark .footer-bottom .row {
    align-items: flex-start !important;
    row-gap: var(--awa-space-3);
}

body .page-wrapper .page_footer.awa-footer--dark .awa-footer-pay-sec {
    gap: var(--awa-space-2);
}

body .page-wrapper .page_footer.awa-footer--dark .awa-footer-pay-sec__label {
    color: var(--awa-footer-text-muted) !important;
    letter-spacing: 0.08em;
}

body .page-wrapper .page_footer.awa-footer--dark .footer-bottom .awa-footer-pay-logos,
body .page-wrapper .page_footer.awa-footer--dark .footer-bottom .awa-footer-sec-seals {
    gap: var(--awa-space-2);
}

body .page-wrapper .page_footer.awa-footer--dark .footer-bottom .awa-pay-logo,
body .page-wrapper .page_footer.awa-footer--dark .footer-bottom .awa-seal {
    min-height: 44px;
    padding: var(--awa-space-1-5) var(--awa-space-2-5);
    border-radius: var(--awa-radius-md);
    border-color: rgba(255 255 255 / 18%) !important;
    background: linear-gradient(180deg, rgba(255 255 255 / 98%) 0%, rgba(255 255 255 / 92%) 100%) !important;
    box-shadow: 0 8px 18px rgba(0 0 0 / 12%);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

body .page-wrapper .page_footer.awa-footer--dark .footer-bottom .awa-pay-logo:hover,
body .page-wrapper .page_footer.awa-footer--dark .footer-bottom a.awa-seal:hover,
body .page-wrapper .page_footer.awa-footer--dark .footer-bottom a.awa-seal:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(255 255 255 / 28%) !important;
    box-shadow: 0 12px 22px rgba(0 0 0 / 16%), 0 0 0 3px rgba(255 255 255 / 10%);
    outline: none;
}

@media (max-width: 767px) {
    body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .vela-content {
        gap: var(--awa-space-2-5);
    }

    body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .footer-links li a,
    body .page-wrapper .page_footer.awa-footer--dark .awa-footer-tags__cloud a,
    body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .footer-social-section .social-links a {
        min-height: 44px;
    }

    body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .footer-social-section .social-links {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--awa-space-2);
    }

    body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .footer-social-section .social-links a {
        width: 100%;
        justify-content: center;
    }

    body .page-wrapper .page_footer.awa-footer--dark .footer-bottom .row {
        align-items: stretch !important;
    }
}

/* Mobile accordion: touch, hierarchy, and expanded-state cohesion */
@media (max-width: 767px) {
    body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .col-sm-12 + .col-sm-12 {
        margin-top: var(--awa-space-2);
    }

    body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .vela-content {
        border-top: 0;
        padding-top: 0;
        margin-top: 0;
    }

    body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .velaBlock button.velaFooterTitle,
    body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .velaFooterMenu button.velaFooterTitle {
        min-height: 52px;
        padding: 0 var(--awa-space-3-5);
        border: 1px solid var(--awa-footer-border-soft);
        border-radius: var(--awa-radius-md);
        background: rgba(255 255 255 / 8%) !important;
        box-shadow: none;
    }

    body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .velaBlock button.velaFooterTitle::after,
    body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .velaFooterMenu button.velaFooterTitle::after {
        width: 18px;
        height: 18px;
        opacity: 0.9;
    }

    body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .velaBlock button.velaFooterTitle[aria-expanded="true"],
    body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .velaFooterMenu button.velaFooterTitle[aria-expanded="true"] {
        background: rgba(255 255 255 / 12%) !important;
        border-color: var(--awa-footer-border-medium);
        border-bottom-left-radius: var(--awa-radius-sm);
        border-bottom-right-radius: var(--awa-radius-sm);
        box-shadow: var(--awa-footer-focus-ring);
    }

    body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .velaBlock button.velaFooterTitle + .velaContent,
    body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .velaFooterMenu button.velaFooterTitle + .velaContent {
        padding-left: var(--awa-space-3-5);
        padding-right: var(--awa-space-3-5);
    }

    body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .velaBlock button.velaFooterTitle[aria-expanded="true"] + .velaContent,
    body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .velaFooterMenu button.velaFooterTitle[aria-expanded="true"] + .velaContent {
        margin-top: var(--awa-space-1-5);
        padding-top: var(--awa-space-1);
        padding-bottom: var(--awa-space-3);
        border: 1px solid var(--awa-footer-border-soft);
        border-top: 0;
        border-radius: 0 0 var(--awa-radius-md) var(--awa-radius-md);
        background: rgba(0 0 0 / 10%);
    }

    body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .velaBlock button.velaFooterTitle[aria-expanded="true"] + .velaContent .footer-links,
    body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .velaFooterMenu button.velaFooterTitle[aria-expanded="true"] + .velaContent .footer-links {
        gap: 0;
    }

    body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .velaBlock button.velaFooterTitle[aria-expanded="true"] + .velaContent .footer-links li,
    body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .velaFooterMenu button.velaFooterTitle[aria-expanded="true"] + .velaContent .footer-links li {
        border-bottom-color: rgba(255 255 255 / 8%);
    }

    body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .footer-links li a:hover,
    body .page-wrapper .page_footer.awa-footer--dark #footer .footer-static .footer-links li a:focus-visible {
        transform: none;
    }

    body .page-wrapper .page_footer.awa-footer--dark .footer-bottom-inner {
        padding-top: var(--awa-space-4) !important;
        padding-bottom: calc(var(--awa-space-6) + env(safe-area-inset-bottom, 0px)) !important;
    }

    body .page-wrapper .page_footer.awa-footer--dark .footer-bottom .col-xs-12 + .col-xs-12 {
        margin-top: var(--awa-space-2-5);
    }

    body .page-wrapper .page_footer.awa-footer--dark .footer-bottom .awa-footer-pay-sec {
        align-items: center;
    }
}

/* ==========================================================================
   Header Improvements — Round22 (2026-03-28)
   1. Ocultar search helper-copy em viewports onde o placeholder já resolve
   2. Fix layout do bloco B2B contact: flex real, phone nowrap, pill hover
   ========================================================================== */

/* 1. Helper-copy: redundante quando o placeholder está visível */
@media (min-width: 992px) {
    body .page-wrapper .header .top-search .awa-search-helper-copy {
        display: none;
    }
}

@media (max-width: 991px) {
    body .page-wrapper .header .top-search .awa-search-helper-copy {
        display: none;
    }
}

/* 2. Header account prompt — ícone de usuário + login/cadastro
      Seletor .awa-header-contact-links.awa-header-account-prompt para superar
      a especificidade do LESS compilado (.awa-site-header.awa-header-professional
      .awa-main-header .awa-header-contact-slot .awa-header-contact-links = 0-5-0). */
body .page-wrapper .header .awa-header-contact-slot .awa-header-contact-links.awa-header-account-prompt {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--awa-gap-sm, 8px);
    width: auto;
    max-width: none;
    min-width: 0;
    justify-content: flex-end;
}

body .page-wrapper .header .awa-header-contact-slot .awa-header-contact-links.awa-header-account-prompt .awa-header-account-prompt__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--awa-gray-600, #475569);
    line-height: var(--awa-leading-none, 1);
}

body .page-wrapper .header .awa-header-contact-slot .awa-header-contact-links.awa-header-account-prompt .awa-header-account-prompt__icon svg {
    width: 28px;
    height: 28px;
}

body .page-wrapper .header .awa-header-contact-slot .awa-header-contact-links.awa-header-account-prompt .awa-header-account-prompt__text {
    display: flex;
    flex-direction: column;
    gap: 1px;
    line-height: var(--awa-leading-snug, 1.25);
}

body .page-wrapper .header .awa-header-contact-slot .awa-header-contact-links.awa-header-account-prompt .awa-header-account-prompt__line1 {
    font-size: var(--awa-text-xs, 12px);
    color: var(--awa-gray-500, #64748b);
    white-space: nowrap;
}

body .page-wrapper .header .awa-header-contact-slot .awa-header-contact-links.awa-header-account-prompt .awa-header-account-prompt__line2 {
    font-size: var(--awa-text-sm, 13px);
    font-weight: var(--awa-weight-semibold);
    white-space: nowrap;
}

body .page-wrapper .header .awa-header-contact-slot .awa-header-contact-links.awa-header-account-prompt .awa-header-account-prompt__link {
    color: var(--primary-color, #b73337);
    text-decoration: none;
    font-weight: var(--awa-weight-bold);
    transition: color var(--awa-transition-fast); /* R2026-L: 180ms ease → token; text-decoration não transiciona bem */
}

body .page-wrapper .header .awa-header-contact-slot .awa-header-contact-links.awa-header-account-prompt .awa-header-account-prompt__link:hover,
body .page-wrapper .header .awa-header-contact-slot .awa-header-contact-links.awa-header-account-prompt .awa-header-account-prompt__link:focus-visible {
    color: var(--primary-hover, #8e2629);
    text-decoration: underline;
    text-underline-offset: 0.14em;
    outline: none;
}

body .page-wrapper .header .awa-header-contact-slot .awa-header-contact-links.awa-header-account-prompt .awa-header-account-prompt__separator {
    color: var(--awa-gray-430); /* R2026-M: --awa-gray-400(#d9d9d9) incorreto para texto; #94a3b8 Tailwind leak → token canônico #aaa */
    font-size: var(--awa-text-xs, 12px);
    margin: 0 var(--awa-space-0-5);
}

@media (min-width: 992px) {
    body .page-wrapper .top-bar-right .top-info {
        gap: var(--awa-gap-md);
        border-radius: 0;
        background: transparent;
    }

    body .page-wrapper .top-account ul.header.links {
        gap: var(--awa-gap-2-5, 10px);
    }

    body .page-wrapper .top-account ul.header.links > li > a {
        min-height: auto;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        color: var(--awa-gray-500); /* R2026-M: --awa-gray-600(#475569 Tailwind) → token canônico #666 */
        font-size: var(--awa-text-xs); /* R2026-K: 12.5px → token (12px) */
    }

    body .page-wrapper .top-account ul.header.links > li > a:hover,
    body .page-wrapper .top-account ul.header.links > li > a:focus-visible {
        border-color: transparent;
        background: transparent;
        box-shadow: none;
        color: var(--primary-color, #b73337);
        text-decoration: underline;
        text-underline-offset: 0.14em;
    }

    body .page-wrapper .header .awa-header-contact-slot .awa-header-contact-links.awa-header-account-prompt .awa-header-account-prompt__icon {
        color: var(--awa-gray-500, #64748b);
    }

    body .page-wrapper .header .awa-header-contact-slot .awa-header-contact-links.awa-header-account-prompt .awa-header-account-prompt__icon svg {
        width: 30px;
        height: 30px;
    }
}

/* ==========================================================================
   Round23 — Super Ofertas: expande para largura total quando banner_mid_home5
   não está configurado (CMS block ausente → .top-home-content__trust-offers-banner
   nunca é renderizado → hot-deal ocupa apenas a coluna direita).

   A regra em awa-bundle-home-custom.css define `grid-area: deals` com seletor
   de alta especificidade (0-7-1). Este override usa o mesmo seletor base +
   :not(:has(...)) para superar a especificidade e remover o grid-area nomeado.
   ========================================================================== */
@media (min-width: 992px) {
    :is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
    .page-wrapper
    .top-home-content--trust-and-offers
    > .container.top-home-content__trust-offers-grid:not(:has(> .banner_mid_1.top-home-content__trust-offers-banner))
    > .hot-deal.top-home-content__trust-offers-deals {
        grid-area: auto;
        grid-column: 1 / -1;
    }
}

/* ==========================================================================
   Round23 — Breadcrumb PDP: remove truncamento com ellipsis no item de produto
   (vem do Rokanthemes base — overrideado aqui para o tema filho)
   ========================================================================== */
@media (min-width: 992px) {
    .breadcrumbs .items .item.product > strong,
    .breadcrumbs .items .item:last-child > strong,
    .breadcrumbs .items .item.product > a,
    .breadcrumbs .items .item:last-child > a {
        white-space: normal;
overflow: visible;
text-overflow: unset;
        max-width: none;
    }
}

/* =====================================================================
   AWA Brand Identity Fix — 2026-03-30
   Problema: custom_default.css força a{color:#b73337 !important} globalmente.
   No top bar escuro, links vermelhos têm contraste ruim (WCAG fail).
   Fix: override com branco para elementos no top bar e header escuro.
   ===================================================================== */

/* 1. Top bar esquerdo: telefone + info — fundo BRANCO, texto escuro legível */
/* custom_default.css força a{color:#b73337 !important} — normalizamos para tom neutro */
body .page-wrapper .top-bar-left a,
body .page-wrapper .top-bar-left a.info-text,
body .page-wrapper .top-left-static a,
body .page-wrapper .top-left-static a.info-text,
body .page-wrapper .panel.header a {
    color: var(--awa-gray-500, #666666) !important;
}
body .page-wrapper .top-bar-left a:hover,
body .page-wrapper .top-bar-left a:focus-visible,
body .page-wrapper .top-left-static a:hover {
    color: var(--awa-red, #b73337) !important;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* 2. Top bar direito: links da conta — fundo branco, texto escuro normal */
body .page-wrapper .top-header .top-account ul.header.links li > a {
    color: var(--awa-gray-500, #666666) !important;
}
body .page-wrapper .top-header .top-account ul.header.links li > a:hover,
body .page-wrapper .top-header .top-account ul.header.links li > a:focus-visible {
    color: var(--awa-red, #b73337) !important;
}

/* 3. Ícones do top bar esquerdo: cor da marca em fundo claro */
/* var(--awa-red) nos ícones .fa — acento visual correto */

/* 4. Separator entre items do top bar */
body .page-wrapper .top-bar-left .separator,
body .page-wrapper .top-left-static .separator {
    color: var(--awa-color-border, #e5e5e5) !important;
}

/* 5. Nav bar: "NOSSAS MARCAS" e outros links do menu principal */
body .page-wrapper .header-nav .menu_primary .navigation li.level0 > .level-top,
body .page-wrapper .header-nav .custommenu .navigation li.level0 > .level-top {
    color: #ffffff !important;
}

/* 6. Search bar — garantir borda padrão sem tint rosado residual */
body .page-wrapper .header .block-search .block-content input#search {
    border-color: var(--awa-gray-200, #e5e5e5) !important;
}
body .page-wrapper .header .block-search .block-content input#search:focus {
    border-color: var(--awa-red, #b73337) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--awa-red, #b73337) 12%, transparent) !important;
}

/* 7. Benefits bar: já estilizado em awa-bundle-refinements.css
   (background: var(--awa-red), ícones brancos) — sem override necessário aqui. */

/* ── Minicart label (i18n span — hides until selector refactor targets .header DOM) ── */
.awa-header-minicart .awa-minicart-label {
    display: none !important;
}

/* ── Quote CTA button in top bar ── */
.awa-site-header .top-bar-left .awa-header-quote-cta {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    background: var(--awa-red, #b73337);
    color: #fff !important;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border-radius: 20px;
    white-space: nowrap;
    text-decoration: none !important;
    transition: background 180ms ease;
    margin-left: 8px;
}

.awa-site-header .top-bar-left .awa-header-quote-cta:hover,
.awa-site-header .top-bar-left .awa-header-quote-cta:focus-visible {
    background: var(--awa-red-dark, #8e2629) !important;
    color: #fff !important;
    text-decoration: none !important;
}


/* ==========================================================================
   BUTTON SYSTEM — Fase 1 (variantes SECONDARY e GHOST)
   PRIMARY já implementado nas linhas 2823-2912.
   ========================================================================== */

/* --- SECONDARY — borda vermelha, fundo transparente --- */
body .page-wrapper .action.secondary,
body .page-wrapper a.action.secondary,
body .page-wrapper button.action.secondary,
body .page-wrapper .btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 var(--awa-space-6, 24px);
    background: transparent;
    color: var(--awa-red, #b73337);
    border: 1.5px solid var(--awa-red, #b73337);
    border-radius: var(--awa-radius-sm, 8px);
    font-size: var(--awa-text-sm, 14px);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    line-height: 1;
    cursor: pointer;
    text-decoration: none;
    transition: background 200ms ease, color 200ms ease, box-shadow 200ms ease, transform 150ms ease;
}

body .page-wrapper .action.secondary:hover,
body .page-wrapper a.action.secondary:hover,
body .page-wrapper button.action.secondary:hover,
body .page-wrapper .btn-secondary:hover {
    background: var(--awa-red, #b73337);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: var(--awa-shadow-sm, 0 1px 3px rgba(0,0,0,.10));
    text-decoration: none;
}

body .page-wrapper .action.secondary:focus-visible,
body .page-wrapper a.action.secondary:focus-visible,
body .page-wrapper button.action.secondary:focus-visible,
body .page-wrapper .btn-secondary:focus-visible {
    outline: 2px solid var(--awa-red-dark, #8e2629);
    outline-offset: 2px;
    background: var(--awa-red, #b73337);
    color: #fff;
}

body .page-wrapper .action.secondary[disabled],
body .page-wrapper .action.secondary.disabled,
body .page-wrapper .btn-secondary[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

/* --- GHOST — borda cinza, texto cinza, hover vira vermelho --- */
body .page-wrapper .action.ghost,
body .page-wrapper a.action.ghost,
body .page-wrapper button.action.ghost,
body .page-wrapper .btn-ghost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 var(--awa-space-6, 24px);
    background: transparent;
    color: var(--awa-gray-500, #666666);
    border: 1px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    font-size: var(--awa-text-sm, 14px);
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1;
    cursor: pointer;
    text-decoration: none;
    transition: border-color 200ms ease, color 200ms ease, transform 150ms ease;
}

body .page-wrapper .action.ghost:hover,
body .page-wrapper a.action.ghost:hover,
body .page-wrapper button.action.ghost:hover,
body .page-wrapper .btn-ghost:hover {
    border-color: var(--awa-red, #b73337);
    color: var(--awa-red, #b73337);
    transform: translateY(-1px);
    text-decoration: none;
}

body .page-wrapper .action.ghost:focus-visible,
body .page-wrapper a.action.ghost:focus-visible,
body .page-wrapper button.action.ghost:focus-visible,
body .page-wrapper .btn-ghost:focus-visible {
    outline: 2px solid var(--awa-red-dark, #8e2629);
    outline-offset: 2px;
    border-color: var(--awa-red, #b73337);
    color: var(--awa-red, #b73337);
}

/* --- Rokanthemes .btn-primary → alias para PRIMARY --- */
body .page-wrapper .btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 var(--awa-space-6, 24px);
    background: var(--awa-red, #b73337);
    color: #fff;
    border: none;
    border-radius: var(--awa-radius-sm, 8px);
    font-size: var(--awa-text-sm, 14px);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    cursor: pointer;
    text-decoration: none;
    transition: background 200ms ease, box-shadow 200ms ease, transform 150ms ease;
}

body .page-wrapper .btn-primary:hover {
    background: var(--awa-red-dark, #8e2629);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: var(--awa-shadow-sm, 0 1px 3px rgba(0,0,0,.10));
    text-decoration: none;
}

body .page-wrapper .btn-primary:focus-visible {
    outline: 2px solid var(--awa-red-dark, #8e2629);
    outline-offset: 2px;
}

/* --- .button.btn-cart (Rokanthemes add-to-cart alternativo) --- */
body .page-wrapper .button.btn-cart {
    background: var(--awa-red, #b73337);
    color: #fff;
    border: none;
    border-radius: var(--awa-radius-sm, 8px);
    min-height: 44px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    transition: background 200ms ease, transform 150ms ease;
}

body .page-wrapper .button.btn-cart:hover {
    background: var(--awa-red-dark, #8e2629);
    transform: translateY(-1px);
}

/* Exceção: botões dentro de .nav-sections mantêm cor branca */
body .page-wrapper .nav-sections .action,
body .page-wrapper .nav-sections button {
    background: transparent !important;
    border: none !important;
    color: inherit !important;
    box-shadow: none !important;
    transform: none !important;
    min-height: unset !important;
}

/* ==========================================================================
   FORM SYSTEM — Fase 2
   Inputs, textareas, selects, labels, error states
   ========================================================================== */

/* --- Inputs, Textarea, Select --- */
body .page-wrapper .field input[type="text"],
body .page-wrapper .field input[type="email"],
body .page-wrapper .field input[type="tel"],
body .page-wrapper .field input[type="password"],
body .page-wrapper .field input[type="number"],
body .page-wrapper .field input[type="search"],
body .page-wrapper .field input[type="url"] {
    height: 44px !important;
    border: 1.5px solid var(--awa-color-border, #e5e5e5) !important;
    border-radius: var(--awa-radius-sm, 8px) !important;
    padding: 0 var(--awa-space-4, 16px) !important;
    font-size: var(--awa-text-sm, 14px) !important;
    color: var(--awa-gray-700, #333) !important;
    background: #fff !important;
    box-shadow: none !important;
    transition: border-color 200ms ease, box-shadow 200ms ease !important;
    appearance: none;
    -webkit-appearance: none;
}

body .page-wrapper .field textarea {
    border: 1.5px solid var(--awa-color-border, #e5e5e5) !important;
    border-radius: var(--awa-radius-sm, 8px) !important;
    padding: var(--awa-space-3, 12px) var(--awa-space-4, 16px) !important;
    font-size: var(--awa-text-sm, 14px) !important;
    color: var(--awa-gray-700, #333) !important;
    background: #fff !important;
    box-shadow: none !important;
    transition: border-color 200ms ease, box-shadow 200ms ease !important;
    resize: vertical;
}

body .page-wrapper .field select {
    height: 44px !important;
    border: 1.5px solid var(--awa-color-border, #e5e5e5) !important;
    border-radius: var(--awa-radius-sm, 8px) !important;
    padding: 0 var(--awa-space-8, 40px) 0 var(--awa-space-4, 16px) !important;
    font-size: var(--awa-text-sm, 14px) !important;
    color: var(--awa-gray-700, #333) !important;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 14px center !important;
    box-shadow: none !important;
    cursor: pointer;
    transition: border-color 200ms ease, box-shadow 200ms ease !important;
    appearance: none;
    -webkit-appearance: none;
}

/* Focus states */
body .page-wrapper .field input[type="text"]:focus,
body .page-wrapper .field input[type="email"]:focus,
body .page-wrapper .field input[type="tel"]:focus,
body .page-wrapper .field input[type="password"]:focus,
body .page-wrapper .field input[type="number"]:focus,
body .page-wrapper .field input[type="search"]:focus,
body .page-wrapper .field input[type="url"]:focus,
body .page-wrapper .field textarea:focus,
body .page-wrapper .field select:focus {
    border-color: var(--awa-red, #b73337) !important;
    box-shadow: 0 0 0 3px rgba(183, 51, 55, 0.12) !important;
    outline: none !important;
}

/* Placeholder */
body .page-wrapper .field input::placeholder,
body .page-wrapper .field textarea::placeholder {
    color: var(--awa-gray-400, #aaa) !important;
    opacity: 1;
}

/* Error state */
body .page-wrapper .field input.mage-error,
body .page-wrapper .field input._error,
body .page-wrapper .field textarea.mage-error,
body .page-wrapper .field select.mage-error {
    border-color: #dc2626 !important;
    background: rgba(220, 38, 38, 0.04) !important;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1) !important;
}

/* Disabled */
body .page-wrapper .field input:disabled,
body .page-wrapper .field textarea:disabled,
body .page-wrapper .field select:disabled {
    background: var(--awa-bg-soft, #f7f7f7) !important;
    opacity: 0.65 !important;
    cursor: not-allowed !important;
}

/* --- Labels --- */
body .page-wrapper .field .label,
body .page-wrapper .field label {
    font-size: var(--awa-text-xs, 12px) !important;
    font-weight: 600 !important;
    color: var(--awa-gray-600, #475569) !important;
    margin-bottom: var(--awa-space-1, 4px) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    display: block;
}

/* Required asterisk */
body .page-wrapper .field.required .label::after,
body .page-wrapper .field._required .label::after {
    content: " *";
    color: var(--awa-red, #b73337);
}

/* --- Field groups gap --- */
body .page-wrapper .fieldset > .field + .field,
body .page-wrapper .fieldset > .fields > .field + .field {
    margin-top: var(--awa-space-5, 20px) !important;
}

/* --- Error messages --- */
body .page-wrapper .mage-error,
body .page-wrapper div.mage-error[generated],
body .page-wrapper .field-error {
    color: #dc2626 !important;
    font-size: var(--awa-text-xs, 12px) !important;
    margin-top: var(--awa-space-1, 4px) !important;
    display: flex;
    gap: 4px;
    align-items: flex-start;
    line-height: 1.4;
}

/* ==========================================================================
   TYPOGRAPHY SYSTEM — Fase 3
   Headings, links, breadcrumbs, prices
   ========================================================================== */

/* --- Headings --- */
body .page-wrapper h1 {
    font-size: var(--awa-text-2xl, 32px);
    font-weight: 700;
    color: var(--awa-dark, #333);
    line-height: 1.2;
}

body .page-wrapper h2 {
    font-size: var(--awa-text-xl, 24px);
    font-weight: 700;
    color: var(--awa-dark, #333);
    line-height: 1.3;
}

body .page-wrapper h3 {
    font-size: var(--awa-text-lg, 18px);
    font-weight: 600;
    color: var(--awa-dark, #333);
    line-height: 1.4;
}

body .page-wrapper h4 {
    font-size: var(--awa-text-base, 16px);
    font-weight: 600;
    color: var(--awa-dark, #333);
    line-height: 1.4;
}

body .page-wrapper h5,
body .page-wrapper h6 {
    font-size: var(--awa-text-sm, 14px);
    font-weight: 600;
    color: var(--awa-gray-600, #475569);
    line-height: 1.5;
}

/* --- Body text --- */
body .page-wrapper .column.main p,
body .page-wrapper .column.main li {
    font-size: var(--awa-text-sm, 14px);
    font-weight: 400;
    color: var(--awa-gray-600, #475569);
    line-height: 1.6;
}

body .page-wrapper small,
body .page-wrapper .caption {
    font-size: var(--awa-text-xs, 12px);
    color: var(--awa-gray-500, #666);
}

/* --- Links (fora de nav/header) --- */
body .page-wrapper .column.main a,
body .page-wrapper .columns .content a {
    color: var(--awa-red, #b73337);
    text-decoration: none;
}

body .page-wrapper .column.main a:hover,
body .page-wrapper .columns .content a:hover {
    color: var(--awa-red-dark, #8e2629);
    text-decoration: underline;
}

/* --- Breadcrumbs --- */
body .page-wrapper .breadcrumbs .items {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    align-items: center;
}

body .page-wrapper .breadcrumbs .item {
    font-size: var(--awa-text-xs, 12px);
    color: var(--awa-gray-500, #666);
}

body .page-wrapper .breadcrumbs .item a {
    color: var(--awa-gray-500, #666) !important;
    text-decoration: none;
}

body .page-wrapper .breadcrumbs .item a:hover {
    color: var(--awa-red, #b73337) !important;
}

body .page-wrapper .breadcrumbs .item:not(:last-child)::after {
    content: "/";
    margin-left: 4px;
    color: rgba(0, 0, 0, 0.3);
}

body .page-wrapper .breadcrumbs .item.current strong {
    color: var(--awa-dark, #333);
    font-weight: 500;
}

/* --- Prices --- */
body .page-wrapper .price-box .price {
    font-size: var(--awa-text-xl, 24px);
    font-weight: 700;
    color: var(--awa-red, #b73337);
}

body .page-wrapper .price-box .old-price .price {
    font-size: var(--awa-text-sm, 14px);
    color: var(--awa-gray-400, #94a3b8);
    text-decoration: line-through;
    font-weight: 400;
}

body .page-wrapper .price-box .special-price .price {
    font-size: var(--awa-text-xl, 24px);
    font-weight: 700;
    color: var(--awa-red, #b73337);
}

/* Discount badge */
body .page-wrapper .sale-label,
body .page-wrapper .discount-badge {
    display: inline-block;
    background: var(--awa-red, #b73337);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: var(--awa-radius-full, 9999px);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    vertical-align: middle;
}

/* ==========================================================================
   PRODUCT CARD — Fase 5
   Cards de produto na PLP (listagem de categoria)
   ========================================================================== */

/* --- Card container --- */
body .page-wrapper .products.list .item.product .product-item-info {
    position: relative;
    background: #fff;
    border: 1px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    overflow: hidden;
    transition: box-shadow 200ms ease, transform 200ms ease;
    display: flex;
    flex-direction: column;
    height: 100%;
}

body .page-wrapper .products.list .item.product .product-item-info:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    transform: translateY(-2px);
}

/* --- Imagem do produto --- */
body .page-wrapper .products.list .item.product .product-item-photo {
    display: block;
    aspect-ratio: 1 / 1;
    background: var(--awa-gray-100, #f5f5f5);
    padding: var(--awa-space-4, 16px);
    overflow: hidden;
}

body .page-wrapper .products.list .item.product .product-item-photo .product-image-container {
    width: 100% !important;
    height: 100%;
}

body .page-wrapper .products.list .item.product .product-item-photo .product-image-wrapper {
    height: 100%;
    padding-bottom: 0 !important;
}

body .page-wrapper .products.list .item.product .product-item-photo img.product-image-photo {
    width: 100%;
    height: 100%;
    object-fit: contain;
    position: static;
}

/* --- Informações do produto --- */
body .page-wrapper .products.list .item.product .product-item-details {
    padding: var(--awa-space-4, 16px);
    display: flex;
    flex-direction: column;
    flex: 1;
}

/* Nome do produto: 2 linhas máximo */
body .page-wrapper .products.list .item.product .product-item-name {
    margin: 0 0 var(--awa-space-1, 4px);
}

body .page-wrapper .products.list .item.product .product-item-name a.product-item-link {
    font-size: 14px;
    font-weight: var(--awa-weight-medium, 500);
    color: var(--awa-black, #1a1a1a);
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    text-decoration: none;
}

body .page-wrapper .products.list .item.product .product-item-name a.product-item-link:hover {
    color: var(--awa-red, #b73337);
}

/* SKU / Referência */
body .page-wrapper .products.list .item.product .product-item-sku {
    font-size: var(--awa-text-xs, 11px);
    color: var(--awa-gray-400, #d9d9d9);
    margin-bottom: var(--awa-space-1, 4px);
}

/* Preço na PLP */
body .page-wrapper .products.list .item.product .price-box .price {
    font-size: 18px;
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-red, #b73337);
}

body .page-wrapper .products.list .item.product .price-box .old-price .price {
    font-size: var(--awa-text-sm, 13px);
    color: var(--awa-gray-500, #6b7280);
    text-decoration: line-through;
    font-weight: var(--awa-weight-normal, 400);
}

/* Botão Adicionar ao Carrinho na PLP */
body .page-wrapper .products.list .item.product .action.tocart.primary {
    width: 100%;
    margin-top: var(--awa-space-3, 12px);
    background: var(--awa-red, #b73337);
    color: #fff;
    border: none;
    border-radius: var(--awa-radius-sm, 8px);
    font-size: 13px;
    font-weight: var(--awa-weight-semibold, 600);
    padding: var(--awa-space-2, 8px) var(--awa-space-4, 16px);
    text-transform: none;
    transition: background 200ms ease;
    cursor: pointer;
}

body .page-wrapper .products.list .item.product .action.tocart.primary:hover {
    background: var(--awa-red-dark, #8e2629);
}

/* Ações secundárias (wishlist, compare) */
body .page-wrapper .products.list .item.product .product-item-actions {
    margin-top: auto;
}

/* --- Badges (Novo / Promoção) --- */
body .page-wrapper .products.list .item.product .product-item-info .onsale,
body .page-wrapper .products.list .item.product .product-item-info .new-label {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 2;
    background: var(--awa-red, #b73337);
    color: #fff;
    font-size: 10px;
    font-weight: var(--awa-weight-bold, 700);
    text-transform: uppercase;
    padding: 2px 8px;
    border-radius: var(--awa-radius-full, 9999px);
    line-height: 1.4;
}

/* Badge "Novo" em verde */
body .page-wrapper .products.list .item.product .product-item-info .new-label {
    background: #16a34a;
}

/* ==========================================================================
   LAYOUT SYSTEM — Fase 4
   Container, grid PLP, espaçamentos, sidebar
   ========================================================================== */

/* --- Container padrão ---
   Normaliza todos os seletores de container com max-width, padding e margin.
   Resolve conflitos de max-width vindos de themes5.css e custom_default.css.
   NÃO altera background colors nem estrutura de header/nav. */

body .page-wrapper .container,
body .page-wrapper > .container,
body .page-wrapper .columns,
body .page-wrapper .column.main {
    max-width: var(--awa-container, 1280px);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--awa-space-4, 16px);
    padding-right: var(--awa-space-4, 16px);
    box-sizing: border-box;
}

@media (min-width: 768px) {
    body .page-wrapper .container,
    body .page-wrapper > .container,
    body .page-wrapper .columns,
    body .page-wrapper .column.main {
        padding-left: var(--awa-space-6, 24px);
        padding-right: var(--awa-space-6, 24px);
    }
}

/* .column.main dentro de .columns: reset para evitar padding/max-width duplo */
body .page-wrapper .columns .column.main {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}

/* Override max-width conflitantes vindos de themes5.css */
body .page-wrapper .page-main.container {
    max-width: var(--awa-container, 1280px) !important;
    margin-left: auto;
    margin-right: auto;
}

/* --- Grid de produtos PLP --- */

/* Mobile pequeno (<480px): 1 coluna */
body .page-wrapper .products.list.items.product-items {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: var(--awa-space-3, 12px);
}

/* Mobile (480–767px): 2 colunas */
@media (min-width: 480px) {
    body .page-wrapper .products.list.items.product-items {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--awa-space-3, 12px);
    }
}

/* Tablet (768–991px): 3 colunas */
@media (min-width: 768px) {
    body .page-wrapper .products.list.items.product-items {
        grid-template-columns: repeat(3, 1fr);
        gap: var(--awa-space-4, 16px);
    }
}

/* Desktop (≥992px): 4 colunas */
@media (min-width: 992px) {
    body .page-wrapper .products.list.items.product-items {
        grid-template-columns: repeat(4, 1fr);
        gap: var(--awa-space-5, 20px);
    }
}

/* Reset largura/margem herdada do Rokanthemes nos itens */
body .page-wrapper .products.list.items.product-items .item.product {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* --- Gap entre itens em listas genéricas --- */
body .page-wrapper .items:not(.product-items),
body .page-wrapper .product-items-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--awa-space-3, 12px);
}

/* --- Espaçamentos entre seções --- */
body .page-wrapper .block + .block,
body .page-wrapper .section + .section {
    margin-top: var(--awa-space-7, 32px);
}

@media (min-width: 768px) {
    body .page-wrapper .block + .block,
    body .page-wrapper .section + .section {
        margin-top: var(--awa-space-10, 64px);
    }
}

/* --- Sidebar PLP (filtros laterais) --- */
@media (min-width: 992px) {
    body .page-wrapper .page-layout-2columns-left .columns {
        display: flex;
        gap: var(--awa-space-7, 32px);
    }

    body .page-wrapper .page-layout-2columns-left .columns .column.main {
        flex: 1;
        min-width: 0;
    }

    body .page-wrapper .sidebar.sidebar-main {
        min-width: 240px;
        max-width: 240px;
        flex: 0 0 240px;
    }
}

/* ==========================================================================
   PDP PROFESSIONAL — Fase 6
   Página de produto: layout, galeria, info, botões, abas
   ========================================================================== */

/* --- Layout PDP 2 colunas (desktop) --- */
@media (min-width: 992px) {
    body.catalog-product-view .columns {
        display: flex;
        gap: var(--awa-space-7, 32px);
        align-items: flex-start;
    }

    body.catalog-product-view .product.media {
        flex: 0 0 50%;
        max-width: 50%;
    }

    body.catalog-product-view .product-info-main {
        flex: 0 0 calc(50% - var(--awa-space-7, 32px));
        max-width: calc(50% - var(--awa-space-7, 32px));
    }
}

/* --- Galeria de imagens --- */
body.catalog-product-view .product.media .gallery-placeholder .fotorama__stage {
    border: 1px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    overflow: hidden;
}

/* Thumbs da galeria */
body.catalog-product-view .fotorama__nav__shaft .fotorama__thumb {
    width: 60px;
    height: 60px;
    border: 1.5px solid transparent;
    border-radius: 4px;
    overflow: hidden;
    transition: border-color 200ms ease;
}

body.catalog-product-view .fotorama__nav__shaft .fotorama__thumb.fotorama__active,
body.catalog-product-view .fotorama__nav__shaft .fotorama__thumb--active {
    border-color: var(--awa-red, #b73337);
}

body.catalog-product-view .fotorama__nav__shaft .fotorama__thumb:hover {
    border-color: var(--awa-red-light, #e8474c);
}

/* --- Bloco de informações PDP --- */

/* Nome do produto (h1) — !important para vencer Rokanthemes */
body.catalog-product-view .page-title-wrapper .page-title,
body.catalog-product-view .page-title-wrapper .page-title span {
    font-size: 24px !important;
    font-weight: var(--awa-weight-bold, 700) !important;
    color: var(--awa-dark, #333) !important;
    line-height: 1.3;
    margin-bottom: var(--awa-space-2, 8px);
}

/* SKU sob o título */
body.catalog-product-view .product.attribute.sku .value {
    font-size: 12px;
    color: var(--awa-gray-400, #d9d9d9);
    margin-bottom: var(--awa-space-4, 16px);
}

/* Preço principal PDP */
body.catalog-product-view .product-info-main .price-box .price {
    font-size: 32px !important;
    font-weight: var(--awa-weight-bold, 700) !important;
    color: var(--awa-red, #b73337) !important;
}

/* Preço antigo PDP */
body.catalog-product-view .product-info-main .price-box .old-price .price {
    font-size: 18px !important;
    text-decoration: line-through !important;
    color: var(--awa-gray-400, #d9d9d9) !important;
    margin-left: 8px;
    font-weight: var(--awa-weight-normal, 400);
}

/* --- Badge de disponibilidade --- */
body.catalog-product-view .product-info-stock-sku .stock.available span {
    display: inline-block;
    background: #16a34a;
    color: #fff;
    font-size: var(--awa-text-xs, 11px);
    font-weight: var(--awa-weight-bold, 700);
    padding: 2px 10px;
    border-radius: var(--awa-radius-full, 9999px);
    text-transform: uppercase;
}

body.catalog-product-view .product-info-stock-sku .stock.unavailable span {
    display: inline-block;
    background: var(--awa-red, #b73337);
    color: #fff;
    font-size: var(--awa-text-xs, 11px);
    font-weight: var(--awa-weight-bold, 700);
    padding: 2px 10px;
    border-radius: var(--awa-radius-full, 9999px);
    text-transform: uppercase;
}

/* --- Botões PDP --- */

/* Botão Adicionar ao Carrinho (primary) */
body.catalog-product-view .product-info-main .box-tocart .action.tocart.primary {
    width: 100%;
    min-height: 52px;
    font-size: 16px;
    font-weight: var(--awa-weight-bold, 700);
    background: var(--awa-red, #b73337);
    color: #fff;
    border: none;
    border-radius: var(--awa-radius-sm, 8px);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: background 200ms ease;
    cursor: pointer;
}

body.catalog-product-view .product-info-main .box-tocart .action.tocart.primary:hover {
    background: var(--awa-red-dark, #8e2629);
}

/* Botão Solicitar Orçamento (secondary) */
body.catalog-product-view .product-info-main .awa-b2b-action-btn.awa-quote-btn {
    width: 100%;
    min-height: 44px;
    margin-top: var(--awa-space-2, 8px);
    font-size: 14px;
    font-weight: var(--awa-weight-semibold, 600);
    background: #fff;
    color: var(--awa-red, #b73337);
    border: 1.5px solid var(--awa-red, #b73337);
    border-radius: var(--awa-radius-sm, 8px);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    transition: background 200ms ease, color 200ms ease;
    cursor: pointer;
}

body.catalog-product-view .product-info-main .awa-b2b-action-btn.awa-quote-btn:hover {
    background: var(--awa-red, #b73337);
    color: #fff;
}

/* --- Abas do produto (Tabs) --- */
body.catalog-product-view .product.data.items > .item.title > .switch {
    font-size: var(--awa-text-base, 15px);
    font-weight: var(--awa-weight-semibold, 600);
    color: var(--awa-gray-500, #6b7280);
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    padding: var(--awa-space-3, 12px) var(--awa-space-5, 20px);
    transition: color 200ms ease, border-color 200ms ease;
    text-transform: none;
}

body.catalog-product-view .product.data.items > .item.title.active > .switch {
    color: var(--awa-red, #b73337);
    border-bottom-color: var(--awa-red, #b73337);
}

body.catalog-product-view .product.data.items > .item.title > .switch:hover {
    color: var(--awa-red, #b73337);
}

body.catalog-product-view .product.data.items > .item.content {
    padding: var(--awa-space-6, 24px);
    border: 1px solid var(--awa-color-border, #e5e5e5);
    border-top: none;
    border-radius: 0 0 var(--awa-radius-sm, 8px) var(--awa-radius-sm, 8px);
}

/* Quantidade input PDP */
body.catalog-product-view .product-info-main .box-tocart .field.qty input.qty {
    width: 60px;
    height: 44px;
    text-align: center;
    font-size: 16px;
    font-weight: var(--awa-weight-semibold, 600);
    border: 1px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
}

/* ==========================================================================
   CHECKOUT PROFESSIONAL — Fase 9
   Layout, steps, summary, payment methods
   ========================================================================== */

/* --- Layout 2 colunas --- */
@media (min-width: 992px) {
    .checkout-index-index .page-wrapper .opc-wrapper {
        width: 60% !important;
        float: left;
    }

    .checkout-index-index .page-wrapper .opc-sidebar {
        width: 37% !important;
        float: right;
    }

    .checkout-index-index .page-wrapper .opc-sidebar .opc-block-summary {
        position: sticky;
        top: 80px;
    }
}

/* --- Progress bar / Steps --- */
.checkout-index-index .page-wrapper .opc-progress-bar {
    display: flex;
    align-items: center;
    gap: 0;
    margin-bottom: var(--awa-space-6, 24px);
    padding: 0;
    list-style: none;
}

.checkout-index-index .page-wrapper .opc-progress-bar-item {
    flex: 1;
    position: relative;
    text-align: center;
}

.checkout-index-index .page-wrapper .opc-progress-bar-item > span {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    font-size: var(--awa-text-xs, 12px);
    color: var(--awa-gray-400, #aaa);
    font-weight: 400;
}

.checkout-index-index .page-wrapper .opc-progress-bar-item > span::before {
    content: attr(data-step);
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--awa-gray-200, #e5e5e5);
    color: var(--awa-gray-500, #666);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
}

.checkout-index-index .page-wrapper .opc-progress-bar-item._active > span {
    color: var(--awa-dark, #333);
    font-weight: 600;
}

.checkout-index-index .page-wrapper .opc-progress-bar-item._active > span::before {
    background: var(--awa-red, #b73337);
    color: #fff;
}

.checkout-index-index .page-wrapper .opc-progress-bar-item._complete > span::before {
    content: "✓";
    background: #16a34a;
    color: #fff;
}

/* --- Order summary card --- */
.checkout-index-index .page-wrapper .opc-block-summary {
    border: 1px solid var(--awa-color-border, #e5e5e5) !important;
    border-radius: var(--awa-radius-sm, 8px) !important;
    padding: var(--awa-space-6, 24px) !important;
    background: #fff;
}

.checkout-index-index .page-wrapper .opc-block-summary > .title {
    font-size: var(--awa-text-base, 16px) !important;
    font-weight: 700 !important;
    color: var(--awa-dark, #333) !important;
    border-bottom: 2px solid var(--awa-red, #b73337) !important;
    padding-bottom: var(--awa-space-3, 12px) !important;
    margin-bottom: var(--awa-space-4, 16px) !important;
    display: block;
}

/* Totals */
.checkout-index-index .page-wrapper .table-totals .totals.shipping,
.checkout-index-index .page-wrapper .table-totals .totals-tax,
.checkout-index-index .page-wrapper .table-totals tr td,
.checkout-index-index .page-wrapper .table-totals tr th {
    font-size: var(--awa-text-sm, 14px);
    padding: var(--awa-space-2, 8px) 0;
    border: none !important;
}

.checkout-index-index .page-wrapper .table-totals .grand.totals td,
.checkout-index-index .page-wrapper .table-totals .grand.totals th {
    font-size: var(--awa-text-base, 16px) !important;
    font-weight: 700 !important;
    color: var(--awa-dark, #333) !important;
    border-top: 1px solid var(--awa-color-border, #e5e5e5) !important;
    padding-top: var(--awa-space-3, 12px) !important;
}

/* --- Payment methods --- */
.checkout-index-index .page-wrapper .payment-method {
    border: 1.5px solid transparent;
    border-radius: var(--awa-radius-sm, 8px) !important;
    padding: var(--awa-space-4, 16px) !important;
    margin-bottom: var(--awa-space-3, 12px) !important;
    background: #fff;
    transition: border-color 200ms ease;
}

.checkout-index-index .page-wrapper .payment-method._active {
    border-color: var(--awa-red, #b73337) !important;
    background: rgba(183, 51, 55, 0.04) !important;
}

.checkout-index-index .page-wrapper .payment-method-billing-address {
    padding-top: var(--awa-space-4, 16px);
}

/* --- Botão finalizar pedido --- */
.checkout-index-index .page-wrapper .action.primary.checkout {
    width: 100% !important;
    min-height: 56px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border-radius: var(--awa-radius-sm, 8px) !important;
    background: var(--awa-red, #b73337) !important;
    color: #fff !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px;
}

.checkout-index-index .page-wrapper .action.primary.checkout::before {
    content: "🔒";
    font-size: 14px;
}

.checkout-index-index .page-wrapper .action.primary.checkout:hover {
    background: var(--awa-red-dark, #8e2629) !important;
}

/* ==========================================================================
   === FOOTER PROFESSIONAL ===
   Rodapé B2B corporativo — fundo cinza escuro, 4 colunas.
   Substitui o gradiente vermelho anterior por var(--awa-dark, #333).
   Seletores: body .page-wrapper .page_footer / .footer.content / .awa-footer-pro
   ========================================================================== */

/* ── 1. Background: cinza escuro corporativo (substitui gradiente vermelho) ── */
body .page-wrapper .page_footer.awa-footer--dark,
body .page-wrapper .page_footer {
    --awa-ft-grad-from: var(--awa-dark, #333);
    --awa-ft-grad-to: var(--awa-dark, #333);
    background: var(--awa-dark, #333) !important;
    border-top: none !important;
    color: rgba(255, 255, 255, .85);
}

body .page-wrapper .page_footer.awa-footer--dark #footer.footer-container,
body .page-wrapper .page_footer.awa-footer--dark #footer.footer-container.layout2,
body .page-wrapper .page_footer.awa-footer--dark #footer.footer-container.footer {
    background: var(--awa-dark, #333) !important;
}

body .page-wrapper .page_footer.awa-footer--dark .awa-footer-brands,
body .page-wrapper .page_footer.awa-footer--dark .awa-footer-tags {
    background: var(--awa-dark, #333) !important;
}

/* ── 2. #footer.footer-container: padding desktop/mobile ── */
body .page-wrapper .page_footer #footer.footer-container {
    padding-top: 64px !important;
    padding-bottom: 32px !important;
}

@media (max-width: 767px) {
    body .page-wrapper .page_footer #footer.footer-container {
        padding-top: 40px !important;
        padding-bottom: 24px !important;
    }
}

/* ── 3. Divisor antes do copyright ── */
body .page-wrapper .page_footer.awa-footer--dark .footer-bottom,
body .page-wrapper .page_footer .footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, .12) !important;
}

/* ── 4. Barra de copyright: fundo mais escuro, flex space-between ── */
body .page-wrapper .page_footer.awa-footer--dark .footer-bottom,
body .page-wrapper .page_footer .footer-bottom {
    background: rgba(0, 0, 0, .2) !important;
    padding-top: 16px !important;
    padding-bottom: 16px !important;
    margin-top: 0 !important;
}

body .page-wrapper .page_footer .footer-bottom .footer-bottom-inner {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body .page-wrapper .page_footer .footer-bottom .footer-bottom-inner .row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

/* Copyright texto */
body .page-wrapper .page_footer .footer-bottom .copyright,
body .page-wrapper .page_footer .footer-bottom .awa-footer-copyright-fallback {
    font-size: 12px !important;
    color: rgba(255, 255, 255, .5) !important;
    margin: 0;
}

body .page-wrapper .page_footer .footer-bottom .copyright *,
body .page-wrapper .page_footer .footer-bottom .awa-footer-copyright-fallback * {
    color: rgba(255, 255, 255, .5) !important;
    font-size: 12px !important;
}

/* ── 5. Badges de pagamento (Visa, Mastercard, Pix, Boleto) ── */
body .page-wrapper .page_footer .footer-bottom .awa-footer-pay-sec {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
}

body .page-wrapper .page_footer .footer-bottom .awa-footer-pay-sec__label {
    font-size: 11px;
    color: rgba(255, 255, 255, .4) !important;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin: 0;
}

body .page-wrapper .page_footer .footer-bottom .awa-footer-pay-logos {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

body .page-wrapper .page_footer .footer-bottom .awa-pay-logo {
    display: inline-flex;
    align-items: center;
    height: 24px;
    min-height: unset !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    opacity: .7;
    transition: opacity 200ms ease;
}

body .page-wrapper .page_footer .footer-bottom .awa-pay-logo:hover {
    opacity: 1;
    transform: none !important;
    box-shadow: none !important;
}

body .page-wrapper .page_footer .footer-bottom .awa-pay-logo img {
    height: 24px;
    width: auto;
    display: block;
}

/* Selos de segurança: manter estilo limpo sem halo branco */
body .page-wrapper .page_footer .footer-bottom .awa-seal,
body .page-wrapper .page_footer .footer-bottom .awa-footer-sec-seals {
    display: none; /* Selos movidos para fora da barra de copyright — simplificação */
}

/* ── 6. Estrutura .awa-footer-pro (4 colunas) ── */

/* Coluna: espaçamento entre título e conteúdo */
body .page-wrapper .page_footer .awa-footer-pro {
    color: rgba(255, 255, 255, .85);
}

body .page-wrapper .page_footer .awa-footer-pro__col {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding-bottom: 24px;
}

/* ── 7. Título de coluna ── */
body .page-wrapper .page_footer .awa-footer-pro__title,
body .page-wrapper .page_footer.awa-footer--dark .awa-footer-pro__title {
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    margin-bottom: 16px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: unset !important;
    border-bottom: none !important;
    display: block !important;
    width: 100%;
}

/* Botão accordion mobile: mantém a aparência do título */
body .page-wrapper .page_footer button.velaFooterTitle.awa-footer-pro__title {
    background: transparent !important;
    border: none !important;
    cursor: default;
    text-align: left;
}

/* ── 8. Links das colunas ── */
body .page-wrapper .page_footer .awa-footer-pro__links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

body .page-wrapper .page_footer .awa-footer-pro__links li {
    margin: 0;
    padding: 0;
    border: none !important;
}

body .page-wrapper .page_footer .awa-footer-pro__links a {
    color: rgba(255, 255, 255, .7) !important;
    text-decoration: none !important;
    font-size: 14px;
    line-height: 1.5;
    transition: color 180ms ease;
    display: inline-block;
}

body .page-wrapper .page_footer .awa-footer-pro__links a:hover,
body .page-wrapper .page_footer .awa-footer-pro__links a:focus-visible {
    color: #fff !important;
    text-decoration: none !important;
    outline: none;
}

/* ── 9. Coluna Marca: logo, descrição e redes sociais ── */
body .page-wrapper .page_footer .awa-footer-pro__logo-link {
    display: inline-flex;
    align-items: center;
    margin-bottom: 16px;
    text-decoration: none !important;
}

body .page-wrapper .page_footer .awa-footer-pro__logo-img {
    max-height: 42px;
    width: auto;
    /* Logotipos coloridos ficam bem visíveis sobre fundo escuro */
    filter: brightness(0) invert(1);
    opacity: .9;
    display: block;
}

body .page-wrapper .page_footer .awa-footer-pro__logo-text {
    color: #fff !important;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.02em;
}

body .page-wrapper .page_footer .awa-footer-pro__brand-desc {
    color: rgba(255, 255, 255, .65) !important;
    font-size: 13px;
    line-height: 1.65;
    margin: 0 0 20px;
    max-width: 28ch;
}

/* ── 10. Redes sociais (ícones circulares) ── */
body .page-wrapper .page_footer .awa-footer-pro__social {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: auto;
}

body .page-wrapper .page_footer .awa-footer-pro__social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .25) !important;
    background: transparent !important;
    color: rgba(255, 255, 255, .7) !important;
    text-decoration: none !important;
    transition: border-color 180ms ease, color 180ms ease, background 180ms ease;
    flex-shrink: 0;
}

body .page-wrapper .page_footer .awa-footer-pro__social-link svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
}

body .page-wrapper .page_footer .awa-footer-pro__social-link:hover,
body .page-wrapper .page_footer .awa-footer-pro__social-link:focus-visible {
    border-color: rgba(255, 255, 255, .6) !important;
    color: #fff !important;
    background: rgba(255, 255, 255, .1) !important;
    outline: none;
}

/* ── 11. Lista de contato (col 4) ── */
body .page-wrapper .page_footer .awa-footer-pro__contact-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

body .page-wrapper .page_footer .awa-footer-pro__contact-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: rgba(255, 255, 255, .7) !important;
    font-size: 14px;
    line-height: 1.5;
}

body .page-wrapper .page_footer .awa-footer-pro__contact-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 18px;
    height: 20px;
    color: rgba(255, 255, 255, .55);
    margin-top: 1px;
}

body .page-wrapper .page_footer .awa-footer-pro__contact-icon svg {
    width: 16px;
    height: 16px;
}

body .page-wrapper .page_footer .awa-footer-pro__contact-value {
    color: rgba(255, 255, 255, .7) !important;
    text-decoration: none !important;
    transition: color 180ms ease;
}

body .page-wrapper .page_footer a.awa-footer-pro__contact-value:hover,
body .page-wrapper .page_footer a.awa-footer-pro__contact-value:focus-visible {
    color: #fff !important;
    text-decoration: none !important;
    outline: none;
}

body .page-wrapper .page_footer .awa-footer-pro__contact-value--hours {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

/* ── 12. Mobile: 2 colunas (md), 1 coluna (sm) ── */
@media (max-width: 767px) {
    body .page-wrapper .page_footer .awa-footer-pro__col {
        padding-bottom: 0;
    }

    body .page-wrapper .page_footer .awa-footer-pro__brand-desc {
        max-width: none;
    }

    body .page-wrapper .page_footer .awa-footer-pro__col--brand {
        margin-bottom: 24px;
    }

    body .page-wrapper .page_footer .footer-bottom .footer-bottom-inner .row {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    body .page-wrapper .page_footer .footer-bottom .awa-footer-pay-sec {
        align-items: flex-start;
    }
}

/* ── 13. Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
    body .page-wrapper .page_footer .awa-footer-pro__social-link,
    body .page-wrapper .page_footer .awa-footer-pro__links a,
    body .page-wrapper .page_footer a.awa-footer-pro__contact-value,
    body .page-wrapper .page_footer .footer-bottom .awa-pay-logo {
        transition: none;
    }
}

/* ============================================================
   === CHECKOUT PROFESSIONAL — Fase 9 ===
   Escopo: .checkout-index-index — apenas CSS, sem tocar JS/phtml
   ============================================================ */

/* ── 1. Layout base: 2 colunas ── */
body.checkout-index-index .page-wrapper {
    background: var(--awa-gray-100, #f5f5f5);
}

body.checkout-index-index .columns,
body.checkout-index-index .column.main {
    padding: 0 !important;
}

body.checkout-index-index .opc-wrapper {
    width: 60% !important;
    padding-right: var(--awa-space-7, 32px) !important;
    float: left !important;
}

body.checkout-index-index .opc-estimated-wrapper,
body.checkout-index-index .opc-sidebar {
    width: 38% !important;
    float: right !important;
    position: sticky !important;
    top: 80px !important;
}

@media (max-width: 768px) {
    body.checkout-index-index .opc-wrapper,
    body.checkout-index-index .opc-sidebar {
        width: 100% !important;
        float: none !important;
        padding-right: 0 !important;
        position: static !important;
    }
}

/* ── 2. Progress bar (steps) ── */
body.checkout-index-index .opc-progress-bar {
    margin-bottom: var(--awa-space-7, 32px);
    display: flex;
    align-items: center;
    gap: 0;
    counter-reset: opc-step;
}

body.checkout-index-index .opc-progress-bar-item {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    position: relative;
}

body.checkout-index-index .opc-progress-bar-item::after {
    content: '';
    flex: 1;
    height: 2px;
    background: var(--awa-gray-200, #e5e7eb);
    margin: 0 8px;
}

body.checkout-index-index .opc-progress-bar-item:last-child::after {
    display: none;
}

/* Step: círculo numerado */
body.checkout-index-index .opc-progress-bar-item > span::before {
    counter-increment: opc-step;
    content: counter(opc-step);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    font-size: 13px;
    font-weight: 700;
    background: var(--awa-gray-200, #e5e7eb);
    color: var(--awa-gray-500, #6b7280);
    margin-right: 8px;
    flex-shrink: 0;
}

/* Step ativo */
body.checkout-index-index .opc-progress-bar-item._active > span::before {
    background: var(--awa-red, #b73337);
    color: #fff;
}

body.checkout-index-index .opc-progress-bar-item._active > span {
    font-weight: 700;
    color: var(--awa-black, #1a1a1a);
}

/* Step completo */
body.checkout-index-index .opc-progress-bar-item._complete > span::before {
    content: '✓';
    background: #16a34a;
    color: #fff;
}

body.checkout-index-index .opc-progress-bar-item._complete > span {
    color: #16a34a;
}

/* -- 3. Seções do formulário (shipping, payment) ── */
body.checkout-index-index .checkout-shipping-address,
body.checkout-index-index .checkout-shipping-method,
body.checkout-index-index .checkout-payment-method {
    background: #fff;
    border: 1px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    padding: var(--awa-space-7, 32px);
    margin-bottom: var(--awa-space-6, 24px);
    box-shadow: var(--awa-shadow-sm, 0 1px 3px rgba(0,0,0,.10));
}

body.checkout-index-index .step-title {
    font-size: var(--awa-text-lg, 17px);
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-black, #1a1a1a);
    border-bottom: 2px solid var(--awa-red, #b73337);
    padding-bottom: var(--awa-space-3, 12px);
    margin-bottom: var(--awa-space-6, 24px);
}

/* ── 4. Resumo do pedido ── */
body.checkout-index-index .opc-block-summary {
    background: #fff;
    border: 1px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    padding: var(--awa-space-7, 32px);
    box-shadow: var(--awa-shadow-sm, 0 1px 3px rgba(0,0,0,.10));
}

body.checkout-index-index .opc-block-summary > .title {
    font-size: var(--awa-text-lg, 17px);
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-black, #1a1a1a);
    border-bottom: 2px solid var(--awa-red, #b73337);
    padding-bottom: var(--awa-space-3, 12px);
    margin-bottom: var(--awa-space-5, 20px);
    display: block;
}

/* Item do resumo: imagem + nome + preço */
body.checkout-index-index .minicart-items .product-item {
    display: flex;
    align-items: flex-start;
    gap: var(--awa-space-3, 12px);
    padding: var(--awa-space-3, 12px) 0;
    border-bottom: 1px solid var(--awa-gray-200, #e5e7eb);
}

body.checkout-index-index .minicart-items .product-image-container {
    width: 56px;
    height: 56px;
    flex-shrink: 0;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid var(--awa-gray-200, #e5e7eb);
}

body.checkout-index-index .minicart-items .product-image-container img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

body.checkout-index-index .minicart-items .product-item-name {
    font-size: var(--awa-text-sm, 13px);
    font-weight: var(--awa-weight-medium, 500);
    color: var(--awa-black, #1a1a1a);
    line-height: 1.4;
}

/* Tabela de totais */
body.checkout-index-index .table-totals {
    border-collapse: collapse;
    width: 100%;
    margin-top: var(--awa-space-4, 16px);
}

body.checkout-index-index .table-totals .mark,
body.checkout-index-index .table-totals .amount {
    padding: var(--awa-space-2, 8px) 0;
    font-size: var(--awa-text-sm, 13px);
    color: var(--awa-gray-500, #6b7280);
    border-bottom: 1px solid var(--awa-gray-200, #e5e7eb);
}

body.checkout-index-index .table-totals .grand .mark,
body.checkout-index-index .table-totals .grand .amount {
    font-size: var(--awa-text-lg, 17px);
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-black, #1a1a1a);
    border-bottom: none;
    padding-top: var(--awa-space-4, 16px);
}

body.checkout-index-index .table-totals .amount .price {
    color: var(--awa-red, #b73337);
}

body.checkout-index-index .table-totals .grand .amount .price {
    font-size: var(--awa-text-xl, 20px);
    color: var(--awa-red, #b73337);
}

/* ── 5. Métodos de pagamento ── */
body.checkout-index-index .payment-method {
    border: 1.5px solid transparent;
    border-radius: var(--awa-radius-sm, 8px);
    padding: var(--awa-space-4, 16px);
    margin-bottom: var(--awa-space-3, 12px);
    transition: border-color 180ms ease, background 180ms ease;
    cursor: pointer;
}

body.checkout-index-index .payment-method._active {
    border-color: var(--awa-red, #b73337);
    background: rgba(183, 51, 55, .04);
}

body.checkout-index-index .payment-method-title {
    font-weight: var(--awa-weight-medium, 500);
    font-size: var(--awa-text-base, 15px);
    color: var(--awa-black, #1a1a1a);
    display: flex;
    align-items: center;
    gap: var(--awa-space-3, 12px);
}

body.checkout-index-index .payment-method-title img {
    height: 28px;
    width: auto;
    object-fit: contain;
}

/* ── 6. Botão Finalizar Pedido ── */
body.checkout-index-index .action.primary.checkout,
body.checkout-index-index button.action.continue.primary {
    width: 100% !important;
    height: 56px !important;
    font-size: var(--awa-text-base, 16px) !important;
    font-weight: var(--awa-weight-bold, 700) !important;
    background: var(--awa-red, #b73337) !important;
    border-color: var(--awa-red, #b73337) !important;
    border-radius: var(--awa-radius-sm, 8px) !important;
    letter-spacing: .02em;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--awa-space-2, 8px);
    transition: background 180ms ease, transform 80ms ease;
    margin-top: var(--awa-space-4, 16px);
}

body.checkout-index-index .action.primary.checkout::before {
    content: '🔒';
    font-size: 16px;
}

body.checkout-index-index .action.primary.checkout:hover,
body.checkout-index-index .action.primary.checkout:focus {
    background: var(--awa-red-dark, #8e2629) !important;
    border-color: var(--awa-red-dark, #8e2629) !important;
    transform: translateY(-1px);
}

/* ── 7. Campos de endereço ── */
body.checkout-index-index .fieldset > .field {
    margin-bottom: var(--awa-space-4, 16px);
}

body.checkout-index-index .fieldset > .field .label {
    font-size: var(--awa-text-sm, 13px);
    font-weight: var(--awa-weight-medium, 500);
    color: var(--awa-gray-700, #374151);
    margin-bottom: var(--awa-space-1, 4px);
    display: block;
}

body.checkout-index-index .fieldset > .field .control input,
body.checkout-index-index .fieldset > .field .control select {
    height: 44px;
    border: 1.5px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    padding: 0 var(--awa-space-4, 16px);
    font-size: var(--awa-text-base, 15px);
    color: var(--awa-black, #1a1a1a);
    width: 100%;
    transition: border-color 180ms ease, box-shadow 180ms ease;
}

body.checkout-index-index .fieldset > .field .control input:focus,
body.checkout-index-index .fieldset > .field .control select:focus {
    border-color: var(--awa-red, #b73337);
    box-shadow: 0 0 0 3px rgba(183, 51, 55, .12);
    outline: none;
}

/* ── 8. Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
    body.checkout-index-index .payment-method,
    body.checkout-index-index .action.primary.checkout {
        transition: none;
    }
}

/* ============================================================
   === CUSTOMER ACCOUNT — Fase 10 ===
   Escopo: login, cadastro, dashboard de conta e pedidos
   ============================================================ */

/* ── 1. Fundo geral das páginas de conta ── */
body.customer-account-login .page-wrapper,
body.customer-account-create .page-wrapper,
body.customer-account-forgotpassword .page-wrapper {
    background: var(--awa-gray-100, #f5f5f5);
}

/* ── 2. Card centralizado (login / cadastro) ── */
body.customer-account-login .column.main,
body.customer-account-create .column.main,
body.customer-account-forgotpassword .column.main {
    max-width: 560px;
    margin: var(--awa-space-10, 40px) auto !important;
    padding: 0 !important;
}

body.customer-account-login .block-customer-login,
body.customer-account-login .block-new-customer,
body.customer-account-create .form-create-account,
body.customer-account-forgotpassword .form.password.forget {
    background: #fff;
    border-radius: var(--awa-radius-md, 12px);
    box-shadow: 0 8px 32px rgba(0, 0, 0, .08);
    padding: 40px;
    margin-bottom: var(--awa-space-6, 24px);
}

/* Título do bloco */
body.customer-account-login .block-title,
body.customer-account-create .block-title {
    margin-bottom: var(--awa-space-6, 24px);
}

body.customer-account-login .block-title strong,
body.customer-account-create .block-title strong {
    font-size: var(--awa-text-xl, 20px);
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-black, #1a1a1a);
    display: block;
    border-bottom: 2px solid var(--awa-red, #b73337);
    padding-bottom: var(--awa-space-3, 12px);
}

/* ── 3. Campos de formulário ── */
body.customer-account-login .control input,
body.customer-account-create .control input,
body.customer-account-forgotpassword .control input {
    height: 44px;
    border: 1.5px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    padding: 0 var(--awa-space-4, 16px);
    font-size: var(--awa-text-base, 15px);
    color: var(--awa-black, #1a1a1a);
    width: 100%;
    transition: border-color 180ms ease, box-shadow 180ms ease;
}

body.customer-account-login .control input:focus,
body.customer-account-create .control input:focus,
body.customer-account-forgotpassword .control input:focus {
    border-color: var(--awa-red, #b73337);
    box-shadow: 0 0 0 3px rgba(183, 51, 55, .12);
    outline: none;
}

/* ── 4. Botões de ação ── */
body.customer-account-login .action.login,
body.customer-account-create .action.submit,
body.customer-account-forgotpassword .action.submit {
    width: 100%;
    height: 48px;
    background: var(--awa-red, #b73337) !important;
    border-color: var(--awa-red, #b73337) !important;
    border-radius: var(--awa-radius-sm, 8px) !important;
    font-size: var(--awa-text-base, 15px) !important;
    font-weight: var(--awa-weight-bold, 700) !important;
    transition: background 180ms ease, transform 80ms ease;
}

body.customer-account-login .action.login:hover,
body.customer-account-create .action.submit:hover,
body.customer-account-forgotpassword .action.submit:hover {
    background: var(--awa-red-dark, #8e2629) !important;
    border-color: var(--awa-red-dark, #8e2629) !important;
    transform: translateY(-1px);
}

/* ── 5. Links (esqueci a senha, criar conta) ── */
body.customer-account-login .action.remind,
body.customer-account-login .action.create,
body.customer-account-login .primary a,
body.customer-account-login .secondary a {
    color: var(--awa-red, #b73337) !important;
    text-decoration: none !important;
    font-size: var(--awa-text-sm, 13px);
    transition: text-decoration 150ms ease;
}

body.customer-account-login .action.remind:hover,
body.customer-account-login .action.create:hover,
body.customer-account-login .secondary a:hover {
    text-decoration: underline !important;
}

/* ── 6. Divisor "OU" entre login e cadastro ── */
body.customer-account-login .block-new-customer {
    position: relative;
}

body.customer-account-login .block-new-customer::before {
    content: 'ou';
    position: absolute;
    top: -16px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--awa-gray-100, #f5f5f5);
    padding: 0 12px;
    font-size: var(--awa-text-sm, 13px);
    color: var(--awa-gray-500, #6b7280);
    font-weight: var(--awa-weight-medium, 500);
    z-index: 1;
}

/* ── 7. Dashboard da conta ── */
body.customer-account-index .page-wrapper {
    background: var(--awa-gray-100, #f5f5f5);
}

body.customer-account-index .column.main,
body.sales-order-history .column.main,
body.customer-address-index .column.main {
    padding: var(--awa-space-7, 32px);
}

/* Sidebar de navegação da conta */
body.customer-account-index .sidebar-main .block-collapsible-nav .content,
body.sales-order-history .sidebar-main .block-collapsible-nav .content,
body.customer-address-index .sidebar-main .block-collapsible-nav .content {
    background: #fff;
    border-radius: var(--awa-radius-sm, 8px);
    border: 1px solid var(--awa-color-border, #e5e5e5);
    overflow: hidden;
    padding: var(--awa-space-3, 12px) 0;
}

body .account .sidebar-main .block-collapsible-nav .item a,
body .account .sidebar-main .block-collapsible-nav .item > strong {
    display: block;
    padding: var(--awa-space-3, 12px) var(--awa-space-5, 20px);
    font-size: var(--awa-text-sm, 13px);
    color: var(--awa-gray-700, #374151);
    text-decoration: none;
    border-left: 3px solid transparent;
    transition: color 150ms ease, border-color 150ms ease, background 150ms ease;
}

body .account .sidebar-main .block-collapsible-nav .item a:hover {
    color: var(--awa-red, #b73337);
    background: rgba(183, 51, 55, .04);
}

body .account .sidebar-main .block-collapsible-nav .item.current a,
body .account .sidebar-main .block-collapsible-nav .item.current > strong {
    color: var(--awa-red, #b73337) !important;
    border-left-color: var(--awa-red, #b73337) !important;
    font-weight: var(--awa-weight-semibold, 600) !important;
    background: rgba(183, 51, 55, .04);
}

/* ── 8. Cards do dashboard ── */
body.customer-account-index .dashboard .block-title,
body.customer-account-index .box-title {
    font-size: var(--awa-text-base, 15px);
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-black, #1a1a1a);
    border-bottom: 2px solid var(--awa-red, #b73337);
    padding-bottom: var(--awa-space-2, 8px);
    margin-bottom: var(--awa-space-4, 16px);
}

body.customer-account-index .block-dashboard-info,
body.customer-account-index .block-dashboard-addresses,
body.customer-account-index .block-dashboard-orders,
body.customer-account-index .block-reviews-dashboard {
    background: #fff;
    border: 1px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    padding: var(--awa-space-6, 24px);
    margin-bottom: var(--awa-space-5, 20px);
    box-shadow: var(--awa-shadow-sm, 0 1px 3px rgba(0,0,0,.10));
}

/* ── 9. Tabela de pedidos ── */
body.sales-order-history .table-wrapper {
    background: #fff;
    border-radius: var(--awa-radius-sm, 8px);
    border: 1px solid var(--awa-color-border, #e5e5e5);
    overflow: hidden;
    box-shadow: var(--awa-shadow-sm, 0 1px 3px rgba(0,0,0,.10));
}

body.sales-order-history .table-order-items th {
    background: var(--awa-gray-100, #f5f5f5);
    font-size: var(--awa-text-xs, 11px);
    font-weight: var(--awa-weight-semibold, 600);
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--awa-gray-500, #6b7280);
    padding: var(--awa-space-3, 12px) var(--awa-space-4, 16px);
    border-bottom: 1px solid var(--awa-gray-200, #e5e7eb);
}

body.sales-order-history .table-order-items tbody tr:nth-child(even) {
    background: var(--awa-gray-100, #f5f5f5);
}

body.sales-order-history .table-order-items tbody td {
    padding: var(--awa-space-3, 12px) var(--awa-space-4, 16px);
    font-size: var(--awa-text-sm, 13px);
    color: var(--awa-gray-700, #374151);
    border-bottom: 1px solid var(--awa-gray-200, #e5e7eb);
    vertical-align: middle;
}

/* ── 10. Status badges de pedidos ── */
body .account .order-status,
body .sales-order-history .order-status {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: var(--awa-radius-full, 9999px);
    font-size: var(--awa-text-xs, 11px);
    font-weight: var(--awa-weight-semibold, 600);
    text-transform: uppercase;
    letter-spacing: .05em;
    white-space: nowrap;
}

/* Processando */
body .account .order-status[class*="processing"],
body .sales-order-history td .order-status:not([class*="complete"]):not([class*="cancel"]):not([class*="pending"]):not([class*="holded"]) {
    background: #dbeafe;
    color: #1e40af;
}

/* Completo */
body .account .order-status[class*="complete"],
body .sales-order-history td .order-status.complete {
    background: #dcfce7;
    color: #166534;
}

/* Cancelado */
body .account .order-status[class*="cancel"],
body .sales-order-history td .order-status.canceled {
    background: #fee2e2;
    color: #991b1b;
}

/* Pendente */
body .account .order-status[class*="pending"],
body .sales-order-history td .order-status.pending {
    background: #fef3c7;
    color: #92400e;
}

/* Em espera */
body .account .order-status[class*="holded"],
body .sales-order-history td .order-status.holded {
    background: #f3e8ff;
    color: #6b21a8;
}

/* ── 11. Link "Ver pedido" na tabela ── */
body.sales-order-history .action.view {
    color: var(--awa-red, #b73337) !important;
    font-weight: var(--awa-weight-semibold, 600);
    text-decoration: none !important;
    font-size: var(--awa-text-sm, 13px);
    transition: color 150ms ease;
}

body.sales-order-history .action.view:hover {
    color: var(--awa-red-dark, #8e2629) !important;
    text-decoration: underline !important;
}

/* ── 12. Responsive: mobile conta ── */
@media (max-width: 767px) {
    body.customer-account-login .block-customer-login,
    body.customer-account-login .block-new-customer,
    body.customer-account-create .form-create-account {
        padding: var(--awa-space-7, 32px) var(--awa-space-5, 20px);
    }

    body.customer-account-index .column.main,
    body.sales-order-history .column.main {
        padding: var(--awa-space-4, 16px);
    }
}

/* ── 13. Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
    body.customer-account-login .action.login,
    body .account .sidebar-main .block-collapsible-nav .item a {
        transition: none;
    }
}

/* ============================================================
   === COMPARE PRODUCTS — Professional ===
   Escopo: catalog/product/compare
   ============================================================ */

/* ── 1. Page layout ── */
body.catalog-product-compare .page-wrapper {
    background: var(--awa-gray-100, #f5f5f5);
}

body.catalog-product-compare .comparison-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: #fff;
    border-radius: var(--awa-radius-sm, 8px);
    overflow: hidden;
    box-shadow: var(--awa-shadow-sm, 0 1px 3px rgba(0,0,0,.10));
    margin-bottom: var(--awa-space-7, 32px);
}

/* ── 2. Cabeçalho da tabela ── */
body.catalog-product-compare .comparison-table .cell.label {
    background: var(--awa-gray-100, #f5f5f5);
    font-size: var(--awa-text-xs, 11px);
    font-weight: var(--awa-weight-semibold, 600);
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--awa-gray-500, #6b7280);
    padding: var(--awa-space-3, 12px) var(--awa-space-5, 20px);
    border-right: 1px solid var(--awa-gray-200, #e5e7eb);
    border-bottom: 1px solid var(--awa-gray-200, #e5e7eb);
    vertical-align: middle;
    white-space: nowrap;
    min-width: 140px;
}

/* ── 3. Células de produto ── */
body.catalog-product-compare .comparison-table .cell.product {
    padding: var(--awa-space-5, 20px);
    border-right: 1px solid var(--awa-gray-200, #e5e7eb);
    border-bottom: 1px solid var(--awa-gray-200, #e5e7eb);
    text-align: center;
    vertical-align: top;
    min-width: 200px;
}

body.catalog-product-compare .comparison-table .cell.product:last-child {
    border-right: none;
}

/* Imagem do produto */
body.catalog-product-compare .comparison-table .product-item-photo .product-image-container {
    width: 160px !important;
    height: 160px !important;
    display: block;
    margin: 0 auto var(--awa-space-3, 12px);
    border: 1px solid var(--awa-gray-200, #e5e7eb);
    border-radius: var(--awa-radius-sm, 8px);
    overflow: hidden;
}

body.catalog-product-compare .comparison-table .product-item-photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
}

/* Nome do produto */
body.catalog-product-compare .comparison-table .product-item-name a {
    font-size: var(--awa-text-sm, 13px);
    font-weight: var(--awa-weight-semibold, 600);
    color: var(--awa-black, #1a1a1a);
    text-decoration: none;
    line-height: 1.4;
    display: block;
    margin-bottom: var(--awa-space-2, 8px);
    transition: color 150ms ease;
}

body.catalog-product-compare .comparison-table .product-item-name a:hover {
    color: var(--awa-red, #b73337);
}

/* ── 4. Preço na tabela ── */
body.catalog-product-compare .comparison-table .price-box .price {
    font-size: var(--awa-text-lg, 17px);
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-red, #b73337);
}

body.catalog-product-compare .comparison-table .old-price .price {
    font-size: var(--awa-text-sm, 13px);
    font-weight: var(--awa-weight-normal, 400);
    color: var(--awa-gray-500, #6b7280);
    text-decoration: line-through;
}

/* ── 5. Botão Add to Cart na tabela ── */
body.catalog-product-compare .comparison-table .action.tocart {
    background: var(--awa-red, #b73337) !important;
    border-color: var(--awa-red, #b73337) !important;
    border-radius: var(--awa-radius-sm, 8px) !important;
    font-size: var(--awa-text-sm, 13px) !important;
    font-weight: var(--awa-weight-bold, 700) !important;
    height: 40px;
    padding: 0 var(--awa-space-4, 16px);
    width: 100%;
    margin-top: var(--awa-space-3, 12px);
    transition: background 180ms ease;
}

body.catalog-product-compare .comparison-table .action.tocart:hover {
    background: var(--awa-red-dark, #8e2629) !important;
    border-color: var(--awa-red-dark, #8e2629) !important;
}

/* ── 6. Botão remover produto ── */
body.catalog-product-compare .action.delete {
    color: var(--awa-gray-500, #6b7280);
    font-size: var(--awa-text-xs, 11px);
    text-decoration: none;
    opacity: .7;
    transition: color 150ms ease, opacity 150ms ease;
}

body.catalog-product-compare .action.delete:hover {
    color: var(--awa-red, #b73337);
    opacity: 1;
}

/* ── 7. Linhas alternadas ── */
body.catalog-product-compare .comparison-table tr:nth-child(even) .cell.label,
body.catalog-product-compare .comparison-table tr:nth-child(even) .cell.product {
    background: var(--awa-gray-100, #f5f5f5);
}

/* ── 8. Botão "Limpar comparação" ── */
body.catalog-product-compare .actions-toolbar .action.clear {
    border: 1.5px solid var(--awa-gray-200, #e5e7eb);
    border-radius: var(--awa-radius-sm, 8px);
    padding: var(--awa-space-2, 8px) var(--awa-space-5, 20px);
    font-size: var(--awa-text-sm, 13px);
    color: var(--awa-gray-500, #6b7280);
    background: #fff;
    cursor: pointer;
    transition: border-color 150ms ease, color 150ms ease;
}

body.catalog-product-compare .actions-toolbar .action.clear:hover {
    border-color: var(--awa-red, #b73337);
    color: var(--awa-red, #b73337);
}

/* ── 9. Responsive: scroll horizontal ── */
@media (max-width: 1023px) {
    body.catalog-product-compare .comparison-table-wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    body.catalog-product-compare .comparison-table .cell.product {
        min-width: 160px;
    }

    body.catalog-product-compare .comparison-table .product-item-photo .product-image-container {
        width: 120px !important;
        height: 120px !important;
    }
}

/* ============================================================
   === WISHLIST PROFESSIONAL ===
   Escopo: wishlist/index/index
   ============================================================ */

/* ── 1. Layout da página ── */
body.wishlist-index-index .page-wrapper {
    background: var(--awa-gray-100, #f5f5f5);
}

body.wishlist-index-index .page-title-wrapper .page-title {
    font-size: var(--awa-text-2xl, 24px);
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-black, #1a1a1a);
    border-bottom: 2px solid var(--awa-red, #b73337);
    padding-bottom: var(--awa-space-3, 12px);
    margin-bottom: var(--awa-space-7, 32px);
}

/* ── 2. Grid de produtos ── */
body.wishlist-index-index .products-grid .product-items {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: var(--awa-space-5, 20px);
    list-style: none;
    padding: 0;
    margin: 0;
}

@media (max-width: 767px) {
    body.wishlist-index-index .products-grid .product-items {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--awa-space-3, 12px);
    }
}

/* ── 3. Card de produto na wishlist ── */
body.wishlist-index-index .products-grid .product-item {
    background: #fff;
    border: 1px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    overflow: hidden;
    box-shadow: var(--awa-shadow-sm, 0 1px 3px rgba(0,0,0,.10));
    transition: box-shadow 200ms ease, transform 200ms ease;
    display: flex;
    flex-direction: column;
}

body.wishlist-index-index .products-grid .product-item:hover {
    box-shadow: var(--awa-shadow-md, 0 4px 12px rgba(0,0,0,.12));
    transform: translateY(-2px);
}

/* ── 4. Imagem do produto ── */
body.wishlist-index-index .product-image-container {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    display: block;
}

body.wishlist-index-index .product-image-container img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 300ms ease;
}

body.wishlist-index-index .product-item:hover .product-image-container img {
    transform: scale(1.04);
}

/* ── 5. Info do produto ── */
body.wishlist-index-index .product-item-info {
    padding: var(--awa-space-4, 16px);
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--awa-space-2, 8px);
}

body.wishlist-index-index .product-item-name a {
    font-size: var(--awa-text-sm, 13px);
    font-weight: var(--awa-weight-semibold, 600);
    color: var(--awa-black, #1a1a1a);
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.4;
    transition: color 150ms ease;
}

body.wishlist-index-index .product-item-name a:hover {
    color: var(--awa-red, #b73337);
}

body.wishlist-index-index .price-box .price {
    font-size: var(--awa-text-base, 15px);
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-red, #b73337);
}

/* ── 6. Botões por produto ── */
body.wishlist-index-index .product-item-actions {
    padding: 0 var(--awa-space-4, 16px) var(--awa-space-4, 16px);
    display: flex;
    flex-direction: column;
    gap: var(--awa-space-2, 8px);
    margin-top: auto;
}

body.wishlist-index-index .product-item-actions .action.tocart {
    width: 100%;
    height: 40px;
    background: var(--awa-red, #b73337) !important;
    border-color: var(--awa-red, #b73337) !important;
    border-radius: var(--awa-radius-sm, 8px) !important;
    font-size: var(--awa-text-sm, 13px) !important;
    font-weight: var(--awa-weight-bold, 700) !important;
    transition: background 180ms ease;
}

body.wishlist-index-index .product-item-actions .action.tocart:hover {
    background: var(--awa-red-dark, #8e2629) !important;
    border-color: var(--awa-red-dark, #8e2629) !important;
}

body.wishlist-index-index .product-item-actions .action.delete {
    display: block;
    text-align: center;
    font-size: var(--awa-text-xs, 11px);
    color: var(--awa-gray-500, #6b7280);
    text-decoration: none;
    padding: 4px 0;
    transition: color 150ms ease;
}

body.wishlist-index-index .product-item-actions .action.delete:hover {
    color: var(--awa-red, #b73337);
}

/* ── 7. Toolbar (share / update) ── */
body.wishlist-index-index .wishlist-toolbar {
    background: #fff;
    border: 1px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    padding: var(--awa-space-4, 16px) var(--awa-space-5, 20px);
    margin-bottom: var(--awa-space-5, 20px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--awa-space-3, 12px);
}

body.wishlist-index-index .wishlist-toolbar .action.share {
    border: 1.5px solid var(--awa-red, #b73337);
    border-radius: var(--awa-radius-sm, 8px);
    padding: var(--awa-space-2, 8px) var(--awa-space-4, 16px);
    font-size: var(--awa-text-sm, 13px);
    font-weight: var(--awa-weight-semibold, 600);
    color: var(--awa-red, #b73337);
    background: transparent;
    cursor: pointer;
    transition: background 150ms ease, color 150ms ease;
}

body.wishlist-index-index .wishlist-toolbar .action.share:hover {
    background: var(--awa-red, #b73337);
    color: #fff;
}

/* ============================================================
   === EMPTY STATES PROFISSIONAIS ===
   Escopo: cart vazio, wishlist vazia, busca sem resultados
   ============================================================ */

/* ── 1. Carrinho vazio ── */
body.checkout-cart-index .cart-empty {
    text-align: center;
    padding: var(--awa-space-12, 48px) var(--awa-space-5, 20px);
    background: #fff;
    border-radius: var(--awa-radius-sm, 8px);
    border: 1px solid var(--awa-color-border, #e5e5e5);
    box-shadow: var(--awa-shadow-sm, 0 1px 3px rgba(0,0,0,.10));
}

body.checkout-cart-index .cart-empty p {
    font-size: var(--awa-text-lg, 17px);
    color: var(--awa-gray-500, #6b7280);
    margin-bottom: var(--awa-space-5, 20px);
    line-height: 1.6;
}

body.checkout-cart-index .cart-empty a {
    display: inline-flex;
    align-items: center;
    gap: var(--awa-space-2, 8px);
    background: var(--awa-red, #b73337);
    color: #fff !important;
    border-radius: var(--awa-radius-sm, 8px);
    padding: var(--awa-space-3, 12px) var(--awa-space-6, 24px);
    font-weight: var(--awa-weight-bold, 700);
    font-size: var(--awa-text-base, 15px);
    text-decoration: none !important;
    transition: background 180ms ease;
}

body.checkout-cart-index .cart-empty a:hover {
    background: var(--awa-red-dark, #8e2629);
}

/* ── 2. Wishlist vazia ── */
body.wishlist-index-index .wishlist-empty {
    text-align: center;
    padding: var(--awa-space-12, 48px) var(--awa-space-5, 20px);
    background: #fff;
    border-radius: var(--awa-radius-sm, 8px);
    border: 1px solid var(--awa-color-border, #e5e5e5);
}

body.wishlist-index-index .wishlist-empty p:first-child {
    font-size: var(--awa-text-xl, 20px);
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-black, #1a1a1a);
    margin-bottom: var(--awa-space-2, 8px);
}

/* ── 3. Busca sem resultados ── */
body.catalogsearch-result-index .message.empty {
    text-align: center;
    padding: var(--awa-space-12, 48px) var(--awa-space-5, 20px);
    background: #fff;
    border-radius: var(--awa-radius-sm, 8px);
    border: 1px solid var(--awa-color-border, #e5e5e5);
    color: var(--awa-gray-500, #6b7280);
    font-size: var(--awa-text-base, 15px);
}

/* ── 4. Sem pedidos ── */
body.sales-order-history .message.info.empty {
    background: #fff;
    border: 1px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    padding: var(--awa-space-8, 40px) var(--awa-space-5, 20px);
    text-align: center;
    color: var(--awa-gray-500, #6b7280);
    font-size: var(--awa-text-base, 15px);
}

/* ── 5. Carrinho no checkout: resumo vazio ── */
body.checkout-index-index .minicart-items:empty::after {
    content: 'Nenhum item no carrinho.';
    display: block;
    text-align: center;
    padding: var(--awa-space-5, 20px);
    color: var(--awa-gray-500, #6b7280);
    font-size: var(--awa-text-sm, 13px);
}

/* ============================================================
   === TOOLTIPS E POPOVERS ===
   Escopo: tooltips nativos Magento + atributos de produto
   ============================================================ */

/* ── 1. Tooltip base ── */
body .page-wrapper [data-tooltip],
body .page-wrapper .tooltip {
    position: relative;
    cursor: help;
}

body .page-wrapper [data-tooltip]::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: calc(100% + 6px);
    left: 50%;
    transform: translateX(-50%);
    background: var(--awa-black, #1a1a1a);
    color: #fff;
    padding: var(--awa-space-1, 4px) var(--awa-space-3, 12px);
    border-radius: 6px;
    font-size: var(--awa-text-xs, 11px);
    font-weight: var(--awa-weight-medium, 500);
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    transition: opacity 150ms ease;
    z-index: 1000;
    box-shadow: var(--awa-shadow-md, 0 4px 12px rgba(0,0,0,.12));
}

body .page-wrapper [data-tooltip]::before {
    content: '';
    position: absolute;
    bottom: calc(100% + 2px);
    left: 50%;
    transform: translateX(-50%);
    border: 4px solid transparent;
    border-top-color: var(--awa-black, #1a1a1a);
    pointer-events: none;
    opacity: 0;
    transition: opacity 150ms ease;
    z-index: 1001;
}

body .page-wrapper [data-tooltip]:hover::after,
body .page-wrapper [data-tooltip]:focus::after,
body .page-wrapper [data-tooltip]:hover::before,
body .page-wrapper [data-tooltip]:focus::before {
    opacity: 1;
}

/* ── 2. Tooltip do Magento nativo ── */
body .page-wrapper .field-tooltip .field-tooltip-action {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--awa-gray-500, #6b7280);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    cursor: help;
    transition: background 150ms ease;
}

body .page-wrapper .field-tooltip .field-tooltip-action:hover,
body .page-wrapper .field-tooltip .field-tooltip-action._active {
    background: var(--awa-red, #b73337);
}

body .page-wrapper .field-tooltip-content {
    background: var(--awa-black, #1a1a1a);
    color: #fff;
    border-radius: var(--awa-radius-sm, 8px);
    padding: var(--awa-space-3, 12px) var(--awa-space-4, 16px);
    font-size: var(--awa-text-xs, 11px);
    line-height: 1.5;
    max-width: 240px;
    box-shadow: var(--awa-shadow-md, 0 4px 12px rgba(0,0,0,.12));
    z-index: 100;
}

/* ── 3. Badge de estoque com tooltip ── */
body .page-wrapper .stock-badge[data-tooltip] {
    cursor: default;
}

/* ── 4. Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
    body .page-wrapper [data-tooltip]::after,
    body .page-wrapper [data-tooltip]::before {
        transition: none;
    }

    body.wishlist-index-index .products-grid .product-item,
    body.catalog-product-compare .comparison-table .product-item-name a {
        transition: none;
    }
}

/* ============================================================
   === ORDER SUCCESS — Fase 11 ===
   Escopo: checkout/onepage/success (body.checkout-onepage-success)
   ============================================================ */

/* ── 1. Page background ── */
body.checkout-onepage-success .page-wrapper {
    background: var(--awa-gray-100, #f5f5f5);
}

body.checkout-onepage-success .columns {
    max-width: 680px;
    margin: var(--awa-space-8, 32px) auto;
}

/* ── 2. Hero card de sucesso ── */
body.checkout-onepage-success .checkout-success {
    background: #fff;
    border: 1px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-md, 12px);
    box-shadow: var(--awa-shadow-md, 0 4px 12px rgba(0,0,0,.12));
    padding: var(--awa-space-10, 40px) var(--awa-space-8, 32px);
    text-align: center;
}

/* Ícone checkmark decorativo */
body.checkout-onepage-success .checkout-success::before {
    content: '';
    display: block;
    width: 72px;
    height: 72px;
    background: #dcfce7;
    border: 3px solid #16a34a;
    border-radius: 50%;
    margin: 0 auto var(--awa-space-5, 20px);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316a34a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 36px 36px;
}

/* ── 3. Título e número do pedido ── */
body.checkout-onepage-success .checkout-success .page-title-wrapper .page-title {
    font-size: var(--awa-text-2xl, 24px);
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-black, #1a1a1a);
    margin-bottom: var(--awa-space-3, 12px);
    line-height: 1.2;
}

body.checkout-onepage-success .checkout-success p {
    font-size: var(--awa-text-base, 15px);
    color: var(--awa-gray-500, #6b7280);
    margin-bottom: var(--awa-space-3, 12px);
    line-height: 1.6;
}

/* Número do pedido em destaque */
body.checkout-onepage-success .checkout-success .order-number strong,
body.checkout-onepage-success .checkout-success a[href*="order/view"] {
    display: inline-block;
    background: rgba(183, 51, 55, .06);
    color: var(--awa-red, #b73337);
    border: 1px solid rgba(183, 51, 55, .2);
    border-radius: var(--awa-radius-sm, 8px);
    padding: var(--awa-space-2, 8px) var(--awa-space-4, 16px);
    font-size: var(--awa-text-lg, 17px);
    font-weight: var(--awa-weight-bold, 700);
    text-decoration: none !important;
    margin: var(--awa-space-2, 8px) 0;
    transition: background 150ms ease;
}

body.checkout-onepage-success .checkout-success a[href*="order/view"]:hover {
    background: rgba(183, 51, 55, .12);
}

/* ── 4. Bloco de próximos passos ── */
body.checkout-onepage-success .checkout-success .actions-toolbar,
body.checkout-onepage-success .checkout-success .primary,
body.checkout-onepage-success .checkout-success .secondary {
    display: flex;
    flex-wrap: wrap;
    gap: var(--awa-space-3, 12px);
    justify-content: center;
    margin-top: var(--awa-space-6, 24px);
}

body.checkout-onepage-success .checkout-success .action.primary,
body.checkout-onepage-success .checkout-success .btn-primary {
    background: var(--awa-red, #b73337) !important;
    border-color: var(--awa-red, #b73337) !important;
    border-radius: var(--awa-radius-sm, 8px) !important;
    font-weight: var(--awa-weight-bold, 700) !important;
    padding: var(--awa-space-3, 12px) var(--awa-space-6, 24px) !important;
    min-width: 180px;
    transition: background 180ms ease !important;
}

body.checkout-onepage-success .checkout-success .action.primary:hover,
body.checkout-onepage-success .checkout-success .btn-primary:hover {
    background: var(--awa-red-dark, #8e2629) !important;
    border-color: var(--awa-red-dark, #8e2629) !important;
}

body.checkout-onepage-success .checkout-success .action.secondary,
body.checkout-onepage-success .checkout-success .continue {
    background: #fff !important;
    border: 1.5px solid var(--awa-color-border, #e5e5e5) !important;
    color: var(--awa-gray-700, #374151) !important;
    border-radius: var(--awa-radius-sm, 8px) !important;
    font-weight: var(--awa-weight-semibold, 600) !important;
    padding: var(--awa-space-3, 12px) var(--awa-space-6, 24px) !important;
    min-width: 160px;
    text-decoration: none !important;
    transition: border-color 150ms ease, color 150ms ease !important;
}

body.checkout-onepage-success .checkout-success .action.secondary:hover,
body.checkout-onepage-success .checkout-success .continue:hover {
    border-color: var(--awa-red, #b73337) !important;
    color: var(--awa-red, #b73337) !important;
}

/* ── 5. Informações de e-mail enviado ── */
body.checkout-onepage-success .checkout-success .email-info {
    background: var(--awa-gray-100, #f5f5f5);
    border-radius: var(--awa-radius-sm, 8px);
    padding: var(--awa-space-4, 16px);
    font-size: var(--awa-text-sm, 13px);
    color: var(--awa-gray-500, #6b7280);
    margin-top: var(--awa-space-5, 20px);
    text-align: left;
}

/* ── 6. Responsive ── */
@media (max-width: 767px) {
    body.checkout-onepage-success .checkout-success {
        padding: var(--awa-space-8, 32px) var(--awa-space-5, 20px);
    }
    body.checkout-onepage-success .columns {
        margin: var(--awa-space-4, 16px) auto;
    }
}

/* ── 7. Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
    body.checkout-onepage-success .checkout-success .action.primary,
    body.checkout-onepage-success .checkout-success .action.secondary {
        transition: none !important;
    }
}

/* ============================================================
   === SALES ORDER VIEW — Fase 11 ===
   Escopo: sales/order/view (body.sales-order-view)
   ============================================================ */

/* ── 1. Page layout ── */
body.sales-order-view .page-wrapper {
    background: var(--awa-gray-100, #f5f5f5);
}

body.sales-order-view .page-title-wrapper {
    display: flex;
    align-items: center;
    gap: var(--awa-space-4, 16px);
    flex-wrap: wrap;
    margin-bottom: var(--awa-space-5, 20px);
}

body.sales-order-view .page-title-wrapper .page-title {
    font-size: var(--awa-text-xl, 20px);
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-black, #1a1a1a);
    margin: 0;
}

/* ── 2. Barra de informações do pedido ── */
body.sales-order-view .order-details-items {
    background: #fff;
    border: 1px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    box-shadow: var(--awa-shadow-sm, 0 1px 3px rgba(0,0,0,.10));
    overflow: hidden;
    margin-bottom: var(--awa-space-5, 20px);
}

body.sales-order-view .order-details-items .order-title {
    background: var(--awa-gray-100, #f5f5f5);
    border-bottom: 1px solid var(--awa-color-border, #e5e5e5);
    padding: var(--awa-space-4, 16px) var(--awa-space-5, 20px);
    display: flex;
    align-items: center;
    gap: var(--awa-space-3, 12px);
    flex-wrap: wrap;
}

body.sales-order-view .order-details-items .order-title strong {
    font-size: var(--awa-text-base, 15px);
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-black, #1a1a1a);
}

/* ── 3. Tabela de itens ── */
body.sales-order-view .table-order-items {
    width: 100%;
    border-collapse: collapse;
}

body.sales-order-view .table-order-items thead th {
    background: var(--awa-gray-100, #f5f5f5);
    font-size: var(--awa-text-xs, 11px);
    font-weight: var(--awa-weight-semibold, 600);
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--awa-gray-500, #6b7280);
    padding: var(--awa-space-3, 12px) var(--awa-space-4, 16px);
    border-bottom: 1px solid var(--awa-gray-200, #e5e7eb);
    text-align: left;
}

body.sales-order-view .table-order-items tbody td {
    padding: var(--awa-space-4, 16px);
    border-bottom: 1px solid var(--awa-gray-200, #e5e7eb);
    font-size: var(--awa-text-sm, 13px);
    color: var(--awa-gray-700, #374151);
    vertical-align: middle;
}

body.sales-order-view .table-order-items .product-item-name {
    font-weight: var(--awa-weight-semibold, 600);
    color: var(--awa-black, #1a1a1a);
    font-size: var(--awa-text-sm, 13px);
}

body.sales-order-view .table-order-items .price {
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-red, #b73337);
}

body.sales-order-view .table-order-items tbody tr:last-child td {
    border-bottom: none;
}

/* ── 4. Totais do pedido ── */
body.sales-order-view .table-totals {
    width: 100%;
    border-top: 2px solid var(--awa-color-border, #e5e5e5);
    margin-top: 0;
}

body.sales-order-view .table-totals .totals td {
    padding: var(--awa-space-3, 12px) var(--awa-space-4, 16px);
    font-size: var(--awa-text-sm, 13px);
    color: var(--awa-gray-700, #374151);
    border-bottom: 1px solid var(--awa-gray-200, #e5e7eb);
}

body.sales-order-view .table-totals .grand.totals td {
    font-size: var(--awa-text-base, 15px);
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-black, #1a1a1a);
    border-bottom: none;
    padding-top: var(--awa-space-4, 16px);
    padding-bottom: var(--awa-space-4, 16px);
}

body.sales-order-view .table-totals .grand.totals .price {
    font-size: var(--awa-text-xl, 20px);
    color: var(--awa-red, #b73337);
    font-weight: var(--awa-weight-bold, 700);
}

/* ── 5. Blocos de endereço e pagamento ── */
body.sales-order-view .block-order-details-view .block-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--awa-space-5, 20px);
}

body.sales-order-view .block-order-details-view .box {
    background: #fff;
    border: 1px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    padding: var(--awa-space-5, 20px);
}

body.sales-order-view .block-order-details-view .box-title span {
    font-size: var(--awa-text-sm, 13px);
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-black, #1a1a1a);
    border-bottom: 2px solid var(--awa-red, #b73337);
    padding-bottom: var(--awa-space-1, 4px);
    display: block;
    margin-bottom: var(--awa-space-3, 12px);
}

body.sales-order-view .block-order-details-view .box-content {
    font-size: var(--awa-text-sm, 13px);
    color: var(--awa-gray-700, #374151);
    line-height: 1.6;
}

/* ── 6. Ações (imprimir, reordenar) ── */
body.sales-order-view .actions-toolbar .action.print {
    display: inline-flex;
    align-items: center;
    gap: var(--awa-space-2, 8px);
    border: 1.5px solid var(--awa-gray-200, #e5e7eb);
    border-radius: var(--awa-radius-sm, 8px);
    padding: var(--awa-space-2, 8px) var(--awa-space-4, 16px);
    font-size: var(--awa-text-sm, 13px);
    color: var(--awa-gray-500, #6b7280);
    background: #fff;
    cursor: pointer;
    text-decoration: none;
    transition: border-color 150ms ease, color 150ms ease;
}

body.sales-order-view .actions-toolbar .action.print:hover {
    border-color: var(--awa-red, #b73337);
    color: var(--awa-red, #b73337);
}

body.sales-order-view .actions-toolbar .action.order {
    background: var(--awa-red, #b73337) !important;
    border-color: var(--awa-red, #b73337) !important;
    border-radius: var(--awa-radius-sm, 8px) !important;
    padding: var(--awa-space-2, 8px) var(--awa-space-5, 20px) !important;
    font-size: var(--awa-text-sm, 13px) !important;
    font-weight: var(--awa-weight-bold, 700) !important;
    transition: background 180ms ease;
}

body.sales-order-view .actions-toolbar .action.order:hover {
    background: var(--awa-red-dark, #8e2629) !important;
    border-color: var(--awa-red-dark, #8e2629) !important;
}

/* ── 7. Status badge inline ── */
body.sales-order-view .order-status {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: var(--awa-radius-full, 9999px);
    font-size: var(--awa-text-xs, 11px);
    font-weight: var(--awa-weight-semibold, 600);
    text-transform: uppercase;
    letter-spacing: .05em;
}

/* ── 8. Responsive ── */
@media (max-width: 767px) {
    body.sales-order-view .table-order-items thead {
        display: none;
    }
    body.sales-order-view .table-order-items tbody td {
        display: block;
        padding: var(--awa-space-2, 8px) var(--awa-space-4, 16px);
    }
    body.sales-order-view .table-order-items tbody td::before {
        content: attr(data-th) ': ';
        font-weight: var(--awa-weight-semibold, 600);
        font-size: var(--awa-text-xs, 11px);
        color: var(--awa-gray-500, #6b7280);
        display: inline;
    }
    body.sales-order-view .block-order-details-view .block-content {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   === 404 / CMS NO ROUTE — Fase 11 ===
   Escopo: cms-noroute-index (body.cms-noroute-index)
   ============================================================ */

/* ── 1. Page background ── */
body.cms-noroute-index .page-wrapper {
    background: var(--awa-gray-100, #f5f5f5);
}

/* ── 2. Hero 404 ── */
body.cms-noroute-index .column.main {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: var(--awa-space-12, 48px) var(--awa-space-5, 20px);
    min-height: 60vh;
}

body.cms-noroute-index .column.main::before {
    content: '404';
    display: block;
    font-size: clamp(80px, 15vw, 140px);
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-red, #b73337);
    line-height: 1;
    opacity: .15;
    margin-bottom: var(--awa-space-4, 16px);
    letter-spacing: -.04em;
}

body.cms-noroute-index .page-title-wrapper .page-title {
    font-size: clamp(22px, 4vw, 32px);
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-black, #1a1a1a);
    margin-bottom: var(--awa-space-3, 12px);
    line-height: 1.2;
}

body.cms-noroute-index .column.main p {
    font-size: var(--awa-text-base, 15px);
    color: var(--awa-gray-500, #6b7280);
    max-width: 480px;
    line-height: 1.7;
    margin-bottom: var(--awa-space-6, 24px);
}

/* ── 3. CTAs ── */
body.cms-noroute-index .column.main .actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--awa-space-3, 12px);
    justify-content: center;
}

body.cms-noroute-index .column.main .action.primary,
body.cms-noroute-index .column.main a.primary {
    display: inline-flex;
    align-items: center;
    gap: var(--awa-space-2, 8px);
    background: var(--awa-red, #b73337);
    color: #fff !important;
    border-radius: var(--awa-radius-sm, 8px);
    padding: var(--awa-space-3, 12px) var(--awa-space-6, 24px);
    font-weight: var(--awa-weight-bold, 700);
    font-size: var(--awa-text-base, 15px);
    text-decoration: none !important;
    border: none;
    cursor: pointer;
    transition: background 180ms ease;
}

body.cms-noroute-index .column.main .action.primary:hover,
body.cms-noroute-index .column.main a.primary:hover {
    background: var(--awa-red-dark, #8e2629);
}

body.cms-noroute-index .column.main a:not(.primary) {
    color: var(--awa-red, #b73337);
    font-weight: var(--awa-weight-semibold, 600);
    text-decoration: underline;
    transition: color 150ms ease;
}

body.cms-noroute-index .column.main a:not(.primary):hover {
    color: var(--awa-red-dark, #8e2629);
}

/* ── 4. Links úteis abaixo ── */
body.cms-noroute-index .cms-content .useful-links,
body.cms-noroute-index .column.main .links-404 {
    display: flex;
    flex-wrap: wrap;
    gap: var(--awa-space-3, 12px);
    justify-content: center;
    margin-top: var(--awa-space-5, 20px);
    padding-top: var(--awa-space-5, 20px);
    border-top: 1px solid var(--awa-color-border, #e5e5e5);
}

/* ── 5. Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
    body.cms-noroute-index .column.main .action.primary {
        transition: none;
    }
}

/* ============================================================
   === PRINT STYLES — Fase 11 ===
   Escopo: @media print — pedidos, faturas, confirmações
   ============================================================ */

@media print {
    /* ── 1. Ocultar elementos desnecessários ── */
    body .page-wrapper .header,
    body .page-wrapper .header-nav,
    body .page-wrapper .footer,
    body .page-wrapper .sidebar-main,
    body .page-wrapper .sidebar-additional,
    body .page-wrapper .nav-breadcrumbs,
    body .page-wrapper .actions-toolbar,
    body .page-wrapper .block-minicart,
    body .page-wrapper .block-collapsible-nav,
    body .page-wrapper .page-title-wrapper .actions,
    body .page-wrapper .top-header,
    body .page-wrapper .awa-utility-bar,
    body .page-wrapper .awa-nav-bar,
    body .page-wrapper #awa-primary-navigation,
    body .page-wrapper .block-search,
    body .page-wrapper .cookie-status-message,
    body .page-wrapper .message.global,
    body .page-wrapper .awa-main-header__inner {
        display: none !important;
    }

    /* ── 2. Ajustar layout para papel ── */
    body,
    body .page-wrapper,
    body .page-main,
    body .columns {
        background: #fff !important;
        color: #000 !important;
        padding: 0 !important;
        margin: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    body .column.main {
        width: 100% !important;
        float: none !important;
        padding: 0 !important;
    }

    /* ── 3. Logo no topo da impressão ── */
    body.sales-order-view .page-wrapper::before,
    body.checkout-onepage-success .page-wrapper::before {
        content: 'AWA Motos — awamotos.com';
        display: block;
        font-size: 14px;
        font-weight: 700;
        color: #b73337;
        padding: 12px 0 16px;
        border-bottom: 2px solid #b73337;
        margin-bottom: 20px;
    }

    /* ── 4. Tabelas de pedido ── */
    body.sales-order-view .table-order-items,
    body.sales-order-view .table-totals {
        width: 100% !important;
        border-collapse: collapse !important;
        font-size: 12px;
    }

    body.sales-order-view .table-order-items th,
    body.sales-order-view .table-order-items td,
    body.sales-order-view .table-totals td {
        padding: 8px 10px;
        border: 1px solid #ccc !important;
        color: #000 !important;
    }

    body.sales-order-view .table-order-items th {
        background: #f5f5f5 !important;
        font-weight: 700;
    }

    body.sales-order-view .table-totals .grand.totals td {
        font-size: 14px !important;
        font-weight: 700 !important;
        background: #f5f5f5 !important;
    }

    /* ── 5. Endereços ── */
    body.sales-order-view .block-order-details-view .box {
        border: 1px solid #ccc !important;
        padding: 12px !important;
        page-break-inside: avoid;
        display: inline-block;
        width: 48%;
        margin: 4px 0;
    }

    /* ── 6. Links viram texto ── */
    body.sales-order-view a[href]::after {
        content: '';
    }

    /* ── 7. Page break nas tabelas longas ── */
    body.sales-order-view .table-order-items tbody tr {
        page-break-inside: avoid;
    }

    /* ── 8. Preço em preto na impressão ── */
    body.sales-order-view .price,
    body.checkout-onepage-success .price {
        color: #000 !important;
    }
}

/* ============================================================
   === LOADING STATES & SPINNERS ===
   Escopo: loaders Magento (ajax, page load, add-to-cart)
   ============================================================ */

/* ── 1. Loader nativo do Magento ── */
body .page-wrapper .loading-mask {
    background: rgba(255, 255, 255, .85) !important;
    z-index: 9999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body .page-wrapper .loading-mask .loader > img {
    display: none; /* Substitui imagem nativa por spinner CSS */
}

body .page-wrapper .loading-mask .loader::after {
    content: '';
    display: block;
    width: 40px;
    height: 40px;
    border: 3px solid var(--awa-gray-200, #e5e7eb);
    border-top-color: var(--awa-red, #b73337);
    border-radius: 50%;
    animation: awa-spin 0.7s linear infinite;
}

body .page-wrapper .loading-mask .loader > p {
    display: none; /* Oculta texto "Por favor, aguarde..." */
}

/* ── 2. Spinner em botões de ação ── */
body .page-wrapper .action.tocart.loading,
body .page-wrapper .action.primary.loading {
    position: relative;
    pointer-events: none;
    opacity: .8;
}

body .page-wrapper .action.tocart.loading::after,
body .page-wrapper .action.primary.loading::after {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, .4);
    border-top-color: #fff;
    border-radius: 50%;
    animation: awa-spin 0.6s linear infinite;
    margin-left: 8px;
    vertical-align: middle;
}

/* ── 3. Skeleton loader para cards de produto ── */
body .page-wrapper .product-item.is-loading .product-image-container {
    background: linear-gradient(90deg, var(--awa-gray-100, #f5f5f5) 25%, var(--awa-gray-200, #e5e7eb) 50%, var(--awa-gray-100, #f5f5f5) 75%);
    background-size: 200% 100%;
    animation: awa-shimmer 1.5s infinite;
    border-radius: var(--awa-radius-sm, 8px);
}

body .page-wrapper .product-item.is-loading .product-item-name,
body .page-wrapper .product-item.is-loading .price-box {
    background: linear-gradient(90deg, var(--awa-gray-100, #f5f5f5) 25%, var(--awa-gray-200, #e5e7eb) 50%, var(--awa-gray-100, #f5f5f5) 75%);
    background-size: 200% 100%;
    animation: awa-shimmer 1.5s infinite;
    border-radius: 4px;
    height: 14px;
    margin-bottom: 8px;
}

/* ── 4. Loader inline (ex: autocomplete) ── */
body .page-wrapper .awa-loader-inline {
    display: inline-flex;
    align-items: center;
    gap: var(--awa-space-2, 8px);
    font-size: var(--awa-text-sm, 13px);
    color: var(--awa-gray-500, #6b7280);
}

body .page-wrapper .awa-loader-inline::before {
    content: '';
    width: 14px;
    height: 14px;
    border: 2px solid var(--awa-gray-200, #e5e7eb);
    border-top-color: var(--awa-red, #b73337);
    border-radius: 50%;
    animation: awa-spin 0.6s linear infinite;
    flex-shrink: 0;
}

/* ── 5. Loader na busca/autocomplete ── */
body .page-wrapper .search-autocomplete .loading-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--awa-space-5, 20px);
    gap: var(--awa-space-3, 12px);
    color: var(--awa-gray-500, #6b7280);
    font-size: var(--awa-text-sm, 13px);
}

body .page-wrapper .search-autocomplete .loading-wrapper::before {
    content: '';
    width: 18px;
    height: 18px;
    border: 2px solid var(--awa-gray-200, #e5e7eb);
    border-top-color: var(--awa-red, #b73337);
    border-radius: 50%;
    animation: awa-spin 0.7s linear infinite;
    flex-shrink: 0;
}

/* ── 6. Keyframes centralizados ── */
@keyframes awa-spin {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes awa-shimmer {
    0%   { background-position: -200% 0; }
    100% { background-position:  200% 0; }
}

/* ── 7. Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
    body .page-wrapper .loading-mask .loader::after,
    body .page-wrapper .action.tocart.loading::after,
    body .page-wrapper .action.primary.loading::after,
    body .page-wrapper .product-item.is-loading .product-image-container,
    body .page-wrapper .product-item.is-loading .product-item-name,
    body .page-wrapper .awa-loader-inline::before,
    body .page-wrapper .search-autocomplete .loading-wrapper::before {
        animation: none;
    }
}

/* ============================================================
   === MODAIS PROFISSIONAIS ===
   Escopo: modal-popup, modal-slide (Magento UI)
   ============================================================ */

/* ── 1. Overlay ── */
body .modals-overlay {
    background: rgba(0, 0, 0, .6) !important;
    backdrop-filter: blur(2px);
    z-index: 899 !important;
}

/* ── 2. Modal popup (centralizado) ── */
body .modal-popup .modal-inner-wrap {
    border-radius: var(--awa-radius-md, 12px) !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .2) !important;
    overflow: hidden;
    max-width: 560px;
    margin: auto;
}

body .modal-popup .modal-header {
    background: #fff;
    padding: var(--awa-space-5, 20px) var(--awa-space-7, 32px) var(--awa-space-4, 16px);
    border-bottom: 1px solid var(--awa-gray-200, #e5e7eb);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

body .modal-popup .modal-title {
    font-size: var(--awa-text-lg, 17px) !important;
    font-weight: var(--awa-weight-bold, 700) !important;
    color: var(--awa-black, #1a1a1a) !important;
    border-bottom: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

body .modal-popup .modal-content {
    padding: var(--awa-space-7, 32px) !important;
    background: #fff;
    font-size: var(--awa-text-base, 15px);
    color: var(--awa-gray-700, #374151);
    line-height: 1.6;
}

body .modal-popup .modal-footer {
    background: var(--awa-gray-100, #f5f5f5);
    padding: var(--awa-space-4, 16px) var(--awa-space-7, 32px);
    border-top: 1px solid var(--awa-gray-200, #e5e7eb);
    display: flex;
    gap: var(--awa-space-3, 12px);
    justify-content: flex-end;
}

/* ── 3. Botão fechar ── */
body .modal-popup .action-close,
body .modal-slide .action-close {
    position: absolute;
    top: var(--awa-space-4, 16px);
    right: var(--awa-space-4, 16px);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--awa-gray-100, #f5f5f5);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 150ms ease;
    z-index: 1;
}

body .modal-popup .action-close:hover,
body .modal-slide .action-close:hover {
    background: var(--awa-gray-200, #e5e7eb);
}

body .modal-popup .action-close::before,
body .modal-slide .action-close::before {
    font-size: 18px;
    color: var(--awa-gray-500, #6b7280);
}

/* ── 4. Modal slide (direita) — ex: quickview, minicart ── */
body .modal-slide .modal-inner-wrap {
    box-shadow: -8px 0 32px rgba(0, 0, 0, .12) !important;
    border-radius: 0 !important;
}

body .modal-slide .modal-header {
    padding: var(--awa-space-5, 20px) var(--awa-space-6, 24px);
    border-bottom: 1px solid var(--awa-gray-200, #e5e7eb);
}

body .modal-slide .modal-title {
    font-size: var(--awa-text-lg, 17px) !important;
    font-weight: var(--awa-weight-bold, 700) !important;
    color: var(--awa-black, #1a1a1a) !important;
}

body .modal-slide .modal-content {
    padding: var(--awa-space-6, 24px) !important;
}

/* ── 5. Botões no footer do modal ── */
body .modal-footer .action.primary {
    background: var(--awa-red, #b73337) !important;
    border-color: var(--awa-red, #b73337) !important;
    border-radius: var(--awa-radius-sm, 8px) !important;
    font-weight: var(--awa-weight-bold, 700) !important;
    height: 40px;
    padding: 0 var(--awa-space-6, 24px);
}

body .modal-footer .action.primary:hover {
    background: var(--awa-red-dark, #8e2629) !important;
    border-color: var(--awa-red-dark, #8e2629) !important;
}

body .modal-footer .action.secondary {
    background: transparent;
    border: 1.5px solid var(--awa-gray-200, #e5e7eb);
    border-radius: var(--awa-radius-sm, 8px) !important;
    font-weight: var(--awa-weight-medium, 500) !important;
    color: var(--awa-gray-700, #374151);
    height: 40px;
    padding: 0 var(--awa-space-6, 24px);
    cursor: pointer;
    transition: border-color 150ms ease;
}

body .modal-footer .action.secondary:hover {
    border-color: var(--awa-gray-500, #6b7280);
}

/* ── 6. Responsive ── */
@media (max-width: 767px) {
    body .modal-popup .modal-inner-wrap {
        border-radius: var(--awa-radius-md, 12px) var(--awa-radius-md, 12px) 0 0 !important;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        max-width: 100%;
        margin: 0;
    }

    body .modal-popup .modal-content {
        padding: var(--awa-space-5, 20px) !important;
    }

    body .modal-footer {
        padding: var(--awa-space-4, 16px) var(--awa-space-5, 20px);
    }
}

/* ============================================================
   === PÁGINA DE CONTATO PROFESSIONAL ===
   Escopo: contact-index-index
   ============================================================ */

/* ── 1. Layout ── */
body.contact-index-index .page-wrapper {
    background: var(--awa-gray-100, #f5f5f5);
}

body.contact-index-index .column.main {
    max-width: 680px;
    margin: 0 auto var(--awa-space-10, 40px);
}

/* ── 2. Card do formulário ── */
body.contact-index-index .form.contact {
    background: #fff;
    border-radius: var(--awa-radius-md, 12px);
    box-shadow: 0 8px 32px rgba(0, 0, 0, .08);
    padding: 40px;
}

/* ── 3. Campos ── */
body.contact-index-index .field .label {
    font-size: var(--awa-text-sm, 13px);
    font-weight: var(--awa-weight-medium, 500);
    color: var(--awa-gray-700, #374151);
    margin-bottom: var(--awa-space-1, 4px);
    display: block;
}

body.contact-index-index .field .control input,
body.contact-index-index .field .control textarea {
    border: 1.5px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    padding: var(--awa-space-3, 12px) var(--awa-space-4, 16px);
    font-size: var(--awa-text-base, 15px);
    color: var(--awa-black, #1a1a1a);
    width: 100%;
    transition: border-color 180ms ease, box-shadow 180ms ease;
    font-family: inherit;
}

body.contact-index-index .field .control input {
    height: 44px;
}

body.contact-index-index .field .control textarea {
    min-height: 140px;
    resize: vertical;
}

body.contact-index-index .field .control input:focus,
body.contact-index-index .field .control textarea:focus {
    border-color: var(--awa-red, #b73337);
    box-shadow: 0 0 0 3px rgba(183, 51, 55, .12);
    outline: none;
}

/* ── 4. Botão enviar ── */
body.contact-index-index .action.submit {
    width: 100%;
    height: 48px;
    background: var(--awa-red, #b73337) !important;
    border-color: var(--awa-red, #b73337) !important;
    border-radius: var(--awa-radius-sm, 8px) !important;
    font-size: var(--awa-text-base, 15px) !important;
    font-weight: var(--awa-weight-bold, 700) !important;
    margin-top: var(--awa-space-4, 16px);
    transition: background 180ms ease, transform 80ms ease;
}

body.contact-index-index .action.submit:hover {
    background: var(--awa-red-dark, #8e2629) !important;
    border-color: var(--awa-red-dark, #8e2629) !important;
    transform: translateY(-1px);
}

/* ── 5. Bloco de informações de contato ── */
body.contact-index-index .block.info {
    background: #fff;
    border-radius: var(--awa-radius-sm, 8px);
    border: 1px solid var(--awa-color-border, #e5e5e5);
    padding: var(--awa-space-6, 24px);
    margin-top: var(--awa-space-5, 20px);
}

body.contact-index-index .block.info .block-title strong {
    font-size: var(--awa-text-base, 15px);
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-black, #1a1a1a);
    border-bottom: 2px solid var(--awa-red, #b73337);
    padding-bottom: var(--awa-space-2, 8px);
    display: block;
    margin-bottom: var(--awa-space-4, 16px);
}

/* ── 6. Mobile ── */
@media (max-width: 767px) {
    body.contact-index-index .form.contact {
        padding: var(--awa-space-6, 24px) var(--awa-space-5, 20px);
    }

    body.contact-index-index .column.main {
        padding: 0 var(--awa-space-4, 16px);
    }
}

/* ============================================================
   === QUICKVIEW MODAL (Rokanthemes) ===
   Escopo: .quickview-popup / .quick-view-popup / quickview modal
   ============================================================ */

/* ── 1. Container do quickview ── */
body .page-wrapper .quickview-popup .product-info-main,
body .page-wrapper .quick-view-popup .product-info-main,
body .page-wrapper .quickview-product .product-info-main {
    padding: var(--awa-space-6, 24px) !important;
}

body .page-wrapper .quickview-popup,
body .page-wrapper .quick-view-popup {
    border-radius: var(--awa-radius-md, 12px) !important;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .2) !important;
}

/* ── 2. Imagem no quickview ── */
body .page-wrapper .quickview-popup .product-media,
body .page-wrapper .quick-view-popup .product-media {
    padding: var(--awa-space-5, 20px);
}

body .page-wrapper .quickview-popup .product-media .fotorama__stage,
body .page-wrapper .quick-view-popup .product-media .fotorama__stage {
    border-radius: var(--awa-radius-sm, 8px);
    overflow: hidden;
    border: 1px solid var(--awa-gray-200, #e5e7eb);
}

/* ── 3. Título no quickview ── */
body .page-wrapper .quickview-popup .product-info-main .page-title,
body .page-wrapper .quick-view-popup .product-info-main .page-title {
    font-size: var(--awa-text-xl, 20px) !important;
    font-weight: var(--awa-weight-bold, 700) !important;
    color: var(--awa-black, #1a1a1a) !important;
    margin-bottom: var(--awa-space-3, 12px) !important;
}

/* ── 4. Preço no quickview ── */
body .page-wrapper .quickview-popup .price-wrapper .price,
body .page-wrapper .quick-view-popup .price-wrapper .price {
    font-size: var(--awa-text-2xl, 24px) !important;
    font-weight: var(--awa-weight-bold, 700) !important;
    color: var(--awa-red, #b73337) !important;
}

/* ── 5. Botão add-to-cart no quickview ── */
body .page-wrapper .quickview-popup .action.tocart,
body .page-wrapper .quick-view-popup .action.tocart {
    width: 100%;
    height: 48px !important;
    background: var(--awa-red, #b73337) !important;
    border-color: var(--awa-red, #b73337) !important;
    border-radius: var(--awa-radius-sm, 8px) !important;
    font-size: var(--awa-text-base, 15px) !important;
    font-weight: var(--awa-weight-bold, 700) !important;
    margin-top: var(--awa-space-4, 16px);
    transition: background 180ms ease;
}

body .page-wrapper .quickview-popup .action.tocart:hover,
body .page-wrapper .quick-view-popup .action.tocart:hover {
    background: var(--awa-red-dark, #8e2629) !important;
    border-color: var(--awa-red-dark, #8e2629) !important;
}

/* ── 6. Link "Ver produto completo" ── */
body .page-wrapper .quickview-popup .action.view-product,
body .page-wrapper .quickview-popup a.view-product,
body .page-wrapper .quick-view-popup .quickview-action-viewdetail {
    display: block;
    text-align: center;
    font-size: var(--awa-text-sm, 13px);
    color: var(--awa-red, #b73337) !important;
    text-decoration: none !important;
    margin-top: var(--awa-space-3, 12px);
    padding: var(--awa-space-2, 8px) 0;
    transition: color 150ms ease;
}

body .page-wrapper .quickview-popup a.view-product:hover,
body .page-wrapper .quick-view-popup .quickview-action-viewdetail:hover {
    color: var(--awa-red-dark, #8e2629) !important;
    text-decoration: underline !important;
}

/* ── 7. Quantidade no quickview ── */
body .page-wrapper .quickview-popup .input-text.qty,
body .page-wrapper .quick-view-popup .input-text.qty {
    border: 1.5px solid var(--awa-color-border, #e5e5e5) !important;
    border-radius: var(--awa-radius-sm, 8px) !important;
    height: 40px !important;
    text-align: center;
    font-size: var(--awa-text-base, 15px);
    font-weight: var(--awa-weight-semibold, 600);
    width: 56px !important;
}

/* ── 8. Fechar quickview ── */
body .page-wrapper .quickview-popup .action-close,
body .page-wrapper .quick-view-popup .action-close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(0, 0, 0, .08);
    border: none;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 150ms ease;
}

body .page-wrapper .quickview-popup .action-close:hover,
body .page-wrapper .quick-view-popup .action-close:hover {
    background: rgba(0, 0, 0, .15);
}

/* ── 9. Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
    body.contact-index-index .action.submit,
    body .page-wrapper .quickview-popup .action.tocart,
    body .modal-footer .action.primary,
    body .modal-popup .action-close {
        transition: none;
    }
}

/* ============================================================
   === SOCIAL PROOF BADGES ===
   Escopo: SocialProof module — PLP badges + PDP container
   ============================================================ */

/* ── 1. PLP: badge-stack (list-badge.phtml) ── */
body .page-wrapper .social-proof-badge-stack,
body .page-wrapper .product-badge-container {
    position: absolute;
    top: var(--awa-space-2, 8px);
    left: var(--awa-space-2, 8px);
    display: flex;
    flex-direction: column;
    gap: 4px;
    z-index: 2;
    pointer-events: none;
}

body .page-wrapper .social-proof-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 9px;
    border-radius: var(--awa-radius-full, 9999px);
    font-size: 11px;
    font-weight: var(--awa-weight-bold, 700);
    letter-spacing: .03em;
    white-space: nowrap;
    line-height: 1.4;
    text-transform: uppercase;
}

body .page-wrapper .social-proof-pill--bestseller {
    background: #fef3c7;
    color: #92400e;
    border: 1px solid #fcd34d;
}

body .page-wrapper .social-proof-pill--low-stock {
    background: #fee2e2;
    color: #991b1b;
    border: 1px solid #fca5a5;
}

/* ── 2. PLP legado (list/social-proof.phtml) ── */
body .page-wrapper .social-proof-list {
    position: absolute;
    top: var(--awa-space-2, 8px);
    left: var(--awa-space-2, 8px);
    display: flex;
    flex-direction: column;
    gap: 4px;
    z-index: 2;
}

body .page-wrapper .social-proof-list .badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 9px;
    border-radius: var(--awa-radius-full, 9999px);
    font-size: 11px;
    font-weight: var(--awa-weight-bold, 700);
    text-transform: uppercase;
    letter-spacing: .03em;
}

body .page-wrapper .social-proof-list .badge-bestseller {
    background: #fef3c7;
    color: #92400e;
    border: 1px solid #fcd34d;
}

body .page-wrapper .social-proof-list .badge-low-stock {
    background: #fee2e2;
    color: #991b1b;
    border: 1px solid #fca5a5;
}

body .page-wrapper .social-proof-list .badge-popular {
    background: #ede9fe;
    color: #5b21b6;
    border: 1px solid #c4b5fd;
}

/* ── 3. PDP container (social-proof.phtml) ── */
body .page-wrapper .social-proof-container.awa-sp-pdp {
    display: flex;
    flex-direction: column;
    gap: var(--awa-space-2, 8px);
    margin: var(--awa-space-4, 16px) 0;
}

body .page-wrapper .social-proof-badge {
    display: flex;
    align-items: center;
    gap: var(--awa-space-3, 12px);
    padding: var(--awa-space-3, 12px) var(--awa-space-4, 16px);
    border-radius: var(--awa-radius-sm, 8px);
    font-size: var(--awa-text-sm, 13px);
    line-height: 1.4;
}

body .page-wrapper .social-proof-badge i {
    font-size: 16px;
    flex-shrink: 0;
}

body .page-wrapper .social-proof-badge .badge-text strong {
    font-weight: var(--awa-weight-bold, 700);
    display: block;
}

/* Views badge: azul neutro */
body .page-wrapper .social-proof-badge.views-badge {
    background: #eff6ff;
    color: #1e40af;
    border: 1px solid #bfdbfe;
}

/* Low stock: vermelho urgência */
body .page-wrapper .social-proof-badge.low-stock-badge.urgency {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}

/* Bestseller: dourado */
body .page-wrapper .social-proof-badge.bestseller-badge {
    background: #fffbeb;
    color: #92400e;
    border: 1px solid #fde68a;
}

/* ── 4. Product image container: position relative para hospedar badge ── */
body .page-wrapper .product-item .product-image-wrapper {
    position: relative;
}

/* ============================================================
   === REVIEWS & AVALIAÇÕES ===
   Escopo: product-reviews-tab, review-form, rating-summary
   ============================================================ */

/* ── 1. Sumário de rating no PDP ── */
body .page-wrapper .product-reviews-summary {
    display: flex;
    align-items: center;
    gap: var(--awa-space-3, 12px);
    margin-bottom: var(--awa-space-4, 16px);
}

body .page-wrapper .product-reviews-summary .rating-summary {
    display: flex;
    align-items: center;
}

/* Estrelas (overlay com clip) */
body .page-wrapper .rating-summary .rating-result {
    display: inline-flex;
    align-items: center;
}

body .page-wrapper .rating-summary .rating-result > span::before,
body .page-wrapper .rating-summary .rating-result::before {
    color: #fbbf24 !important; /* Amarelo estrela */
    font-size: 18px;
}

body .page-wrapper .product-reviews-summary .reviews-actions a {
    color: var(--awa-red, #b73337);
    font-size: var(--awa-text-sm, 13px);
    text-decoration: none;
    transition: color 150ms ease;
}

body .page-wrapper .product-reviews-summary .reviews-actions a:hover {
    color: var(--awa-red-dark, #8e2629);
    text-decoration: underline;
}

/* ── 2. Lista de reviews ── */
body .page-wrapper .block.review-list {
    margin-top: var(--awa-space-5, 20px);
}

body .page-wrapper .review-items .review-item {
    background: #fff;
    border: 1px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    padding: var(--awa-space-5, 20px) var(--awa-space-6, 24px);
    margin-bottom: var(--awa-space-4, 16px);
    box-shadow: var(--awa-shadow-sm, 0 1px 3px rgba(0,0,0,.08));
}

body .page-wrapper .review-item .review-title {
    font-size: var(--awa-text-base, 15px);
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-black, #1a1a1a);
    margin-bottom: var(--awa-space-2, 8px);
    display: block;
}

body .page-wrapper .review-item .review-content {
    font-size: var(--awa-text-sm, 13px);
    color: var(--awa-gray-700, #374151);
    line-height: 1.6;
    margin-bottom: var(--awa-space-3, 12px);
}

body .page-wrapper .review-item .review-author {
    font-size: var(--awa-text-xs, 11px);
    color: var(--awa-gray-500, #6b7280);
}

body .page-wrapper .review-item .review-author .review-details-value {
    font-weight: var(--awa-weight-semibold, 600);
    color: var(--awa-gray-700, #374151);
}

body .page-wrapper .review-item .review-date {
    font-size: var(--awa-text-xs, 11px);
    color: var(--awa-gray-500, #6b7280);
    margin-left: var(--awa-space-3, 12px);
}

/* ── 3. Formulário de avaliação ── */
body .page-wrapper .block-add-review {
    background: #fff;
    border: 1px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    padding: var(--awa-space-7, 32px);
    box-shadow: var(--awa-shadow-sm, 0 1px 3px rgba(0,0,0,.08));
    margin-top: var(--awa-space-5, 20px);
}

body .page-wrapper .block-add-review .block-title strong {
    font-size: var(--awa-text-lg, 17px);
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-black, #1a1a1a);
    border-bottom: 2px solid var(--awa-red, #b73337);
    padding-bottom: var(--awa-space-2, 8px);
    display: block;
    margin-bottom: var(--awa-space-5, 20px);
}

/* Rating input no formulário */
body .page-wrapper .review-legend.legend {
    font-size: var(--awa-text-sm, 13px);
    font-weight: var(--awa-weight-medium, 500);
    color: var(--awa-gray-700, #374151);
    margin-bottom: var(--awa-space-2, 8px);
}

body .page-wrapper .review-field-ratings .control .rating-result span::before,
body .page-wrapper .review-field-ratings .review-control-vote label::before {
    color: #fbbf24 !important;
    font-size: 24px !important;
    cursor: pointer;
    transition: color 100ms ease;
}

body .page-wrapper .review-field-ratings .review-control-vote label:hover::before {
    color: #f59e0b !important;
}

/* Campos de texto da review */
body .page-wrapper .review-field-summary .control input,
body .page-wrapper .review-field-text .control textarea {
    border: 1.5px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    padding: var(--awa-space-3, 12px) var(--awa-space-4, 16px);
    font-size: var(--awa-text-base, 15px);
    width: 100%;
    transition: border-color 180ms ease, box-shadow 180ms ease;
    font-family: inherit;
}

body .page-wrapper .review-field-summary .control input {
    height: 44px;
}

body .page-wrapper .review-field-text .control textarea {
    min-height: 100px;
    resize: vertical;
}

body .page-wrapper .review-field-summary .control input:focus,
body .page-wrapper .review-field-text .control textarea:focus {
    border-color: var(--awa-red, #b73337);
    box-shadow: 0 0 0 3px rgba(183, 51, 55, .12);
    outline: none;
}

/* Botão enviar review */
body .page-wrapper .review-form .action.submit.primary {
    background: var(--awa-red, #b73337) !important;
    border-color: var(--awa-red, #b73337) !important;
    border-radius: var(--awa-radius-sm, 8px) !important;
    font-weight: var(--awa-weight-bold, 700) !important;
    height: 44px;
    padding: 0 var(--awa-space-7, 32px);
    transition: background 180ms ease;
}

body .page-wrapper .review-form .action.submit.primary:hover {
    background: var(--awa-red-dark, #8e2629) !important;
    border-color: var(--awa-red-dark, #8e2629) !important;
}

/* ── 4. Rating no PLP (estrelas na listagem) ── */
body .page-wrapper .product-item-info .product-reviews-summary {
    margin-bottom: var(--awa-space-1, 4px);
}

body .page-wrapper .product-item-info .rating-summary .rating-result > span::before,
body .page-wrapper .product-item-info .rating-summary .rating-result::before {
    font-size: 13px !important;
}

/* ── 5. Mobile ── */
@media (max-width: 767px) {
    body .page-wrapper .block-add-review {
        padding: var(--awa-space-5, 20px) var(--awa-space-4, 16px);
    }
}

/* ============================================================
   === CONTA DO CLIENTE — EDITAR DADOS ===
   Escopo: customer-account-edit, customer-account-changepassword
   ============================================================ */

/* ── 1. Layout ── */
body.customer-account-edit .page-wrapper,
body.customer-account-changepassword .page-wrapper {
    background: var(--awa-gray-100, #f5f5f5);
}

body.customer-account-edit .column.main,
body.customer-account-changepassword .column.main {
    max-width: 560px;
    margin: 0 auto;
}

/* ── 2. Formulário como card ── */
body.customer-account-edit .form-edit-account,
body.customer-account-changepassword .form.password.change {
    background: #fff;
    border-radius: var(--awa-radius-md, 12px);
    box-shadow: 0 8px 32px rgba(0, 0, 0, .08);
    padding: 40px;
    margin-bottom: var(--awa-space-6, 24px);
}

/* ── 3. Campos ── */
body.customer-account-edit .fieldset .field .label,
body.customer-account-changepassword .fieldset .field .label {
    font-size: var(--awa-text-sm, 13px);
    font-weight: var(--awa-weight-medium, 500);
    color: var(--awa-gray-700, #374151);
    margin-bottom: var(--awa-space-1, 4px);
    display: block;
}

body.customer-account-edit .fieldset .field .control input,
body.customer-account-changepassword .fieldset .field .control input {
    height: 44px;
    border: 1.5px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    padding: 0 var(--awa-space-4, 16px);
    font-size: var(--awa-text-base, 15px);
    color: var(--awa-black, #1a1a1a);
    width: 100%;
    transition: border-color 180ms ease, box-shadow 180ms ease;
}

body.customer-account-edit .fieldset .field .control input:focus,
body.customer-account-changepassword .fieldset .field .control input:focus {
    border-color: var(--awa-red, #b73337);
    box-shadow: 0 0 0 3px rgba(183, 51, 55, .12);
    outline: none;
}

/* ── 4. Seção expandível (change password checkbox) ── */
body.customer-account-edit .fieldset.additional_info {
    border-top: 1px solid var(--awa-gray-200, #e5e7eb);
    padding-top: var(--awa-space-5, 20px);
    margin-top: var(--awa-space-5, 20px);
}

/* ── 5. Força da senha (password strength) ── */
body.customer-account-edit .password-strength-meter,
body.customer-account-changepassword .password-strength-meter {
    font-size: var(--awa-text-xs, 11px);
    margin-top: var(--awa-space-1, 4px);
    padding: 4px 8px;
    border-radius: 4px;
    display: inline-block;
}

body.customer-account-edit .password-strength-meter[id$="password-strength-meter"].password-weak,
body.customer-account-changepassword .password-strength-meter.password-weak {
    background: #fee2e2;
    color: #991b1b;
}

body.customer-account-edit .password-strength-meter.password-medium,
body.customer-account-changepassword .password-strength-meter.password-medium {
    background: #fef3c7;
    color: #92400e;
}

body.customer-account-edit .password-strength-meter.password-strong,
body.customer-account-changepassword .password-strength-meter.password-strong {
    background: #dcfce7;
    color: #166534;
}

body.customer-account-edit .password-strength-meter.password-very-strong,
body.customer-account-changepassword .password-strength-meter.password-very-strong {
    background: #dcfce7;
    color: #14532d;
    font-weight: var(--awa-weight-semibold, 600);
}

/* ── 6. Botões ── */
body.customer-account-edit .action.save.primary,
body.customer-account-changepassword .action.save.primary {
    background: var(--awa-red, #b73337) !important;
    border-color: var(--awa-red, #b73337) !important;
    border-radius: var(--awa-radius-sm, 8px) !important;
    font-weight: var(--awa-weight-bold, 700) !important;
    height: 44px;
    padding: 0 var(--awa-space-7, 32px);
    transition: background 180ms ease, transform 80ms ease;
}

body.customer-account-edit .action.save.primary:hover,
body.customer-account-changepassword .action.save.primary:hover {
    background: var(--awa-red-dark, #8e2629) !important;
    border-color: var(--awa-red-dark, #8e2629) !important;
    transform: translateY(-1px);
}

body.customer-account-edit .action.back,
body.customer-account-changepassword .action.back {
    color: var(--awa-gray-500, #6b7280);
    font-size: var(--awa-text-sm, 13px);
    text-decoration: none;
    transition: color 150ms ease;
}

body.customer-account-edit .action.back:hover,
body.customer-account-changepassword .action.back:hover {
    color: var(--awa-red, #b73337);
}

/* ── 7. Mobile ── */
@media (max-width: 767px) {
    body.customer-account-edit .form-edit-account,
    body.customer-account-changepassword .form.password.change {
        padding: var(--awa-space-6, 24px) var(--awa-space-5, 20px);
    }

    body.customer-account-edit .column.main,
    body.customer-account-changepassword .column.main {
        padding: 0 var(--awa-space-4, 16px);
    }
}

/* ── 8. Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
    body.customer-account-edit .action.save.primary,
    body .page-wrapper .review-form .action.submit.primary {
        transition: none;
    }
}

/* ============================================================
   === PRODUCT LABELS / BADGES NATIVOS ===
   Escopo: .product-label, .label-new, .label-sale, .label-discount
   ============================================================ */

/* ── 1. Wrapper ── */
body .page-wrapper .product-label-wrapper,
body .page-wrapper .label-wrapper {
    position: absolute;
    top: var(--awa-space-2, 8px);
    right: var(--awa-space-2, 8px);
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    z-index: 3;
    pointer-events: none;
}

/* ── 2. Label base ── */
body .page-wrapper .product-label,
body .page-wrapper [class*="label-"].product-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    min-height: 40px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: 10px;
    font-weight: var(--awa-weight-bold, 700);
    text-transform: uppercase;
    letter-spacing: .04em;
    text-align: center;
    line-height: 1.2;
    padding: 4px;
    color: #fff;
    box-shadow: 0 2px 6px rgba(0,0,0,.18);
}

/* ── 3. Label NEW ── */
body .page-wrapper .product-label.label-new,
body .page-wrapper .label-new,
body .page-wrapper .aw-label--new {
    background: #10b981;
}

/* ── 4. Label SALE/PROMOÇÃO ── */
body .page-wrapper .product-label.label-sale,
body .page-wrapper .label-sale,
body .page-wrapper .aw-label--sale {
    background: var(--awa-red, #b73337);
}

/* ── 5. Label DESCONTO (percentual) ── */
body .page-wrapper .product-label.label-discount,
body .page-wrapper .label-discount,
body .page-wrapper .aw-label--discount {
    background: #f59e0b;
    color: #78350f;
}

/* ── 6. Label retangular (variação) ── */
body .page-wrapper .label-rectangle,
body .page-wrapper .product-label.label-rectangle {
    border-radius: var(--awa-radius-sm, 8px);
    min-width: unset;
    width: auto;
    height: auto;
    padding: 4px 8px;
    font-size: 11px;
}

/* ── 7. Prioridade de stacking com outras badges ── */
body .page-wrapper .product-image-container {
    position: relative;
    overflow: hidden;
}

/* ── 8. Pill de desconto no PLP (usado pelo tema Ayo) ── */
body .page-wrapper .product-item .flag-icon,
body .page-wrapper .product-item .product-item-discount,
body .page-wrapper .product-item .discount-tag {
    position: absolute;
    top: var(--awa-space-2, 8px);
    right: var(--awa-space-2, 8px);
    background: var(--awa-red, #b73337);
    color: #fff;
    border-radius: var(--awa-radius-sm, 8px);
    font-size: 12px;
    font-weight: var(--awa-weight-bold, 700);
    padding: 3px 8px;
    z-index: 3;
    pointer-events: none;
}

/* ── 9. Preço riscado + economia ── */
body .page-wrapper .product-item-info .price-box .old-price {
    opacity: .65;
}

body .page-wrapper .product-item-info .price-box .old-price .price {
    text-decoration: line-through;
    font-size: var(--awa-text-sm, 13px) !important;
}

body .page-wrapper .product-item-info .price-box .special-price .price {
    color: var(--awa-red, #b73337);
    font-weight: var(--awa-weight-bold, 700);
}

/* ── 10. Mobile ── */
@media (max-width: 767px) {
    body .page-wrapper .product-label {
        width: 34px;
        height: 34px;
        min-width: 34px;
        min-height: 34px;
        font-size: 9px;
    }
}

/* ============================================================
   === CURRICULO / TRABALHE CONOSCO ===
   Escopo: ayo-curriculo-index-index, ayo-curriculo-index-status
   ============================================================ */

/* -- 1. Layout principal -- */
body.ayo-curriculo-index-index .page-main,
body.ayo-curriculo-index-status .page-main {
    max-width: 860px;
}

.curriculo-wrapper {
    padding: var(--awa-space-6, 24px) 0;
}

/* -- 2. Page header -- */
.curriculo-page-header {
    background: linear-gradient(135deg, var(--awa-red, #b73337) 0%, var(--awa-red-dark, #8e2629) 100%);
    border-radius: var(--awa-radius-md, 12px);
    padding: var(--awa-space-8, 40px) var(--awa-space-7, 32px);
    margin-bottom: var(--awa-space-6, 24px);
    text-align: center;
    color: #fff;
}

.curriculo-page-header .header-icon {
    width: 56px;
    height: 56px;
    background: rgba(255, 255, 255, .2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto var(--awa-space-4, 16px);
    font-size: 24px;
}

.curriculo-page-header h1,
.curriculo-page-header .page-title {
    font-size: var(--awa-text-2xl, 28px);
    font-weight: var(--awa-weight-bold, 700);
    color: #fff !important;
    margin: 0 0 var(--awa-space-2, 8px);
}

.curriculo-page-header p {
    font-size: var(--awa-text-base, 15px);
    color: rgba(255, 255, 255, .85);
    margin: 0;
    line-height: 1.6;
}

/* -- 3. Intro -- */
.curriculo-intro {
    background: #fff;
    border: 1px solid var(--awa-color-border, #e5e5e5);
    border-left: 4px solid var(--awa-red, #b73337);
    border-radius: 0 var(--awa-radius-sm, 8px) var(--awa-radius-sm, 8px) 0;
    padding: var(--awa-space-5, 20px) var(--awa-space-6, 24px);
    margin-bottom: var(--awa-space-6, 24px);
    font-size: var(--awa-text-sm, 13px);
    color: var(--awa-gray-700, #374151);
    line-height: 1.7;
}

/* -- 4. Progress bar -- */
.curriculo-progress {
    background: #fff;
    border: 1px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    padding: var(--awa-space-5, 20px) var(--awa-space-6, 24px);
    margin-bottom: var(--awa-space-6, 24px);
}

.curriculo-progress .progress-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--awa-space-2, 8px);
    font-size: var(--awa-text-xs, 12px);
    color: var(--awa-gray-500, #6b7280);
    font-weight: var(--awa-weight-semibold, 600);
}

.curriculo-progress .progress-bar {
    height: 6px;
    background: var(--awa-gray-100, #f5f5f5);
    border-radius: var(--awa-radius-full, 9999px);
    overflow: hidden;
    margin-bottom: var(--awa-space-4, 16px);
}

.curriculo-progress .progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--awa-red, #b73337), var(--awa-red-dark, #8e2629));
    border-radius: var(--awa-radius-full, 9999px);
    transition: width 400ms ease;
}

.curriculo-progress .progress-steps {
    display: flex;
    gap: var(--awa-space-2, 8px);
    justify-content: space-between;
}

.curriculo-progress .step {
    flex: 1;
    text-align: center;
    font-size: 11px;
    color: var(--awa-gray-400, #9ca3af);
    font-weight: var(--awa-weight-semibold, 600);
    padding: 4px 6px;
    border-radius: var(--awa-radius-sm, 8px);
    transition: color 200ms ease, background 200ms ease;
}

.curriculo-progress .step.active {
    color: var(--awa-red, #b73337);
    background: rgba(183, 51, 55, .08);
}

.curriculo-progress .step.done {
    color: #16a34a;
    background: #f0fdf4;
}

/* -- 5. Formulario -- */
body.ayo-curriculo-index-index .form.curriculo {
    background: #fff;
    border: 1px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    padding: var(--awa-space-7, 32px);
    box-shadow: var(--awa-shadow-sm, 0 1px 3px rgba(0, 0, 0, .10));
}

body.ayo-curriculo-index-index .form.curriculo .fieldset .legend {
    font-size: var(--awa-text-base, 15px);
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-black, #1a1a1a);
    border-bottom: 2px solid var(--awa-red, #b73337);
    padding-bottom: var(--awa-space-2, 8px);
    margin-bottom: var(--awa-space-5, 20px);
    display: block;
    width: 100%;
}

/* -- 6. Grid 2 colunas -- */
.curriculo-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--awa-space-4, 16px);
}

.curriculo-grid .field.full-width {
    grid-column: 1 / -1;
}

/* -- 7. Campos -- */
body.ayo-curriculo-index-index .form.curriculo .field {
    margin-bottom: var(--awa-space-4, 16px);
}

body.ayo-curriculo-index-index .form.curriculo .field label {
    display: block;
    font-size: var(--awa-text-sm, 13px);
    font-weight: var(--awa-weight-semibold, 600);
    color: var(--awa-gray-700, #374151);
    margin-bottom: var(--awa-space-1, 4px);
}

body.ayo-curriculo-index-index .form.curriculo .field input[type="text"],
body.ayo-curriculo-index-index .form.curriculo .field input[type="email"],
body.ayo-curriculo-index-index .form.curriculo .field input[type="tel"],
body.ayo-curriculo-index-index .form.curriculo .field input[type="number"],
body.ayo-curriculo-index-index .form.curriculo .field input[type="url"],
body.ayo-curriculo-index-index .form.curriculo .field select,
body.ayo-curriculo-index-index .form.curriculo .field textarea {
    width: 100%;
    height: 44px;
    border: 1.5px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    padding: 0 var(--awa-space-4, 16px);
    font-size: var(--awa-text-sm, 13px);
    color: var(--awa-black, #1a1a1a);
    background: #fff;
    transition: border-color 180ms ease, box-shadow 180ms ease;
    box-sizing: border-box;
}

body.ayo-curriculo-index-index .form.curriculo .field textarea {
    height: 100px;
    padding: var(--awa-space-3, 12px) var(--awa-space-4, 16px);
    resize: vertical;
}

body.ayo-curriculo-index-index .form.curriculo .field input:focus,
body.ayo-curriculo-index-index .form.curriculo .field select:focus,
body.ayo-curriculo-index-index .form.curriculo .field textarea:focus {
    border-color: var(--awa-red, #b73337);
    box-shadow: 0 0 0 3px rgba(183, 51, 55, .12);
    outline: none;
}

/* -- 8. File input -- */
body.ayo-curriculo-index-index .form.curriculo .field.cv-file .control {
    border: 2px dashed var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    padding: var(--awa-space-5, 20px);
    text-align: center;
    transition: border-color 180ms ease, background 180ms ease;
    cursor: pointer;
}

body.ayo-curriculo-index-index .form.curriculo .field.cv-file .control:hover {
    border-color: var(--awa-red, #b73337);
    background: rgba(183, 51, 55, .03);
}

body.ayo-curriculo-index-index .form.curriculo .field input[type="file"] {
    height: auto;
    padding: var(--awa-space-2, 8px);
    border: none;
    font-size: var(--awa-text-xs, 12px);
}

/* -- 9. Especialidades grid -- */
.curriculo-specialties-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: var(--awa-space-2, 8px);
}

.curriculo-specialties-grid label {
    display: flex;
    align-items: center;
    gap: var(--awa-space-2, 8px);
    font-size: var(--awa-text-sm, 13px);
    padding: var(--awa-space-2, 8px) var(--awa-space-3, 12px);
    border: 1.5px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    cursor: pointer;
    transition: border-color 150ms ease, background 150ms ease;
}

.curriculo-specialties-grid label:hover {
    border-color: var(--awa-red, #b73337);
    background: rgba(183, 51, 55, .04);
}

/* -- 10. Error summary -- */
.form-error-summary {
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: var(--awa-radius-sm, 8px);
    padding: var(--awa-space-4, 16px) var(--awa-space-5, 20px);
    margin-bottom: var(--awa-space-5, 20px);
    font-size: var(--awa-text-sm, 13px);
    color: #991b1b;
}

/* -- 11. Submit button -- */
body.ayo-curriculo-index-index .form.curriculo .actions-toolbar {
    margin-top: var(--awa-space-7, 32px);
    padding-top: var(--awa-space-6, 24px);
    border-top: 1px solid var(--awa-color-border, #e5e5e5);
}

body.ayo-curriculo-index-index .form.curriculo .action.submit.primary {
    width: 100%;
    height: 52px;
    background: var(--awa-red, #b73337) !important;
    border: none;
    border-radius: var(--awa-radius-sm, 8px) !important;
    color: #fff;
    font-size: var(--awa-text-base, 15px) !important;
    font-weight: var(--awa-weight-bold, 700) !important;
    cursor: pointer;
    transition: background 180ms ease, transform 80ms ease;
    letter-spacing: .03em;
}

body.ayo-curriculo-index-index .form.curriculo .action.submit.primary:hover {
    background: var(--awa-red-dark, #8e2629) !important;
    transform: translateY(-1px);
}

/* -- 12. Painel de sucesso -- */
.curriculo-success-panel {
    text-align: center;
    padding: var(--awa-space-10, 56px) var(--awa-space-7, 32px);
    background: #fff;
    border: 1px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    box-shadow: var(--awa-shadow-sm, 0 1px 3px rgba(0, 0, 0, .10));
}

.curriculo-success-panel .success-icon {
    width: 72px;
    height: 72px;
    background: #dcfce7;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto var(--awa-space-5, 20px);
    font-size: 32px;
    color: #16a34a;
}

.curriculo-success-panel h2,
.curriculo-success-panel .success-title {
    font-size: var(--awa-text-xl, 22px);
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-black, #1a1a1a);
    margin-bottom: var(--awa-space-3, 12px);
}

.curriculo-success-panel p,
.curriculo-success-panel .success-message {
    font-size: var(--awa-text-sm, 13px);
    color: var(--awa-gray-500, #6b7280);
    line-height: 1.7;
    max-width: 500px;
    margin: 0 auto var(--awa-space-5, 20px);
}

.curriculo-success-panel .success-info-box {
    background: var(--awa-gray-100, #f5f5f5);
    border-radius: var(--awa-radius-sm, 8px);
    padding: var(--awa-space-5, 20px) var(--awa-space-6, 24px);
    margin: var(--awa-space-6, 24px) auto;
    max-width: 400px;
    text-align: left;
}

.curriculo-success-panel .success-info-steps {
    margin-top: var(--awa-space-3, 12px);
}

.curriculo-success-panel .success-info-step {
    display: flex;
    align-items: flex-start;
    gap: var(--awa-space-3, 12px);
    font-size: var(--awa-text-sm, 13px);
    color: var(--awa-gray-700, #374151);
    padding: var(--awa-space-2, 8px) 0;
    border-bottom: 1px solid var(--awa-color-border, #e5e5e5);
    line-height: 1.5;
}

.curriculo-success-panel .success-info-step:last-child {
    border-bottom: none;
}

.curriculo-success-actions {
    display: flex;
    justify-content: center;
    gap: var(--awa-space-4, 16px);
    flex-wrap: wrap;
    margin-top: var(--awa-space-6, 24px);
}

.curriculo-success-actions .action.primary {
    height: 48px;
    padding: 0 var(--awa-space-7, 32px);
    background: var(--awa-red, #b73337) !important;
    border: none;
    border-radius: var(--awa-radius-sm, 8px) !important;
    color: #fff;
    font-weight: var(--awa-weight-bold, 700) !important;
    transition: background 180ms ease;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.curriculo-success-actions .action.primary:hover {
    background: var(--awa-red-dark, #8e2629) !important;
}

/* -- 13. Pagina de Status -- */
body.ayo-curriculo-index-status .page-main {
    max-width: 640px;
}

.status-check-container {
    background: #fff;
    border: 1px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    padding: var(--awa-space-7, 32px);
    box-shadow: var(--awa-shadow-sm, 0 1px 3px rgba(0, 0, 0, .10));
}

.status-check-intro {
    text-align: center;
    margin-bottom: var(--awa-space-6, 24px);
}

.status-check-intro h2,
.status-check-intro .block-title {
    font-size: var(--awa-text-xl, 22px);
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-black, #1a1a1a);
    margin-bottom: var(--awa-space-2, 8px);
}

.status-check-intro p {
    font-size: var(--awa-text-sm, 13px);
    color: var(--awa-gray-500, #6b7280);
    line-height: 1.6;
}

.status-check-form .field {
    margin-bottom: var(--awa-space-4, 16px);
}

.status-check-form .field label {
    display: block;
    font-size: var(--awa-text-sm, 13px);
    font-weight: var(--awa-weight-semibold, 600);
    color: var(--awa-gray-700, #374151);
    margin-bottom: var(--awa-space-1, 4px);
}

.status-check-form .field input {
    width: 100%;
    height: 44px;
    border: 1.5px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    padding: 0 var(--awa-space-4, 16px);
    font-size: var(--awa-text-sm, 13px);
    font-family: monospace;
    letter-spacing: .05em;
    transition: border-color 180ms ease, box-shadow 180ms ease;
}

.status-check-form .field input:focus {
    border-color: var(--awa-red, #b73337);
    box-shadow: 0 0 0 3px rgba(183, 51, 55, .12);
    outline: none;
}

.status-field-note {
    font-size: 11px;
    color: var(--awa-gray-500, #6b7280);
    margin-top: 4px;
    line-height: 1.4;
}

.status-check-form #check-status-btn {
    width: 100%;
    height: 48px;
    background: var(--awa-red, #b73337) !important;
    border: none;
    border-radius: var(--awa-radius-sm, 8px) !important;
    color: #fff;
    font-size: var(--awa-text-base, 15px) !important;
    font-weight: var(--awa-weight-bold, 700) !important;
    cursor: pointer;
    transition: background 180ms ease, transform 80ms ease;
}

.status-check-form #check-status-btn:hover {
    background: var(--awa-red-dark, #8e2629) !important;
    transform: translateY(-1px);
}

.status-timeline {
    background: #fff;
    border: 1px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    padding: var(--awa-space-5, 20px);
    margin-top: var(--awa-space-4, 16px);
}

.status-timeline h4 {
    font-size: var(--awa-text-sm, 13px);
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-black, #1a1a1a);
    margin-bottom: var(--awa-space-4, 16px);
    border-bottom: 1px solid var(--awa-gray-200, #e5e7eb);
    padding-bottom: var(--awa-space-3, 12px);
}

.timeline-steps {
    display: flex;
    gap: var(--awa-space-2, 8px);
    align-items: flex-start;
    flex-wrap: wrap;
}

.timeline-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--awa-space-1, 4px);
    flex: 1;
    min-width: 60px;
    text-align: center;
}

.timeline-step .dot {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--awa-gray-100, #f5f5f5);
    border: 2px solid var(--awa-gray-200, #e5e7eb);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-gray-500, #6b7280);
}

.timeline-step.active .dot {
    background: #dcfce7;
    border-color: #16a34a;
    color: #16a34a;
}

.timeline-step.current .dot {
    background: var(--awa-red, #b73337);
    border-color: var(--awa-red, #b73337);
    color: #fff;
}

.timeline-step .label {
    font-size: 11px;
    color: var(--awa-gray-500, #6b7280);
    line-height: 1.3;
}

.timeline-step.current .label {
    color: var(--awa-red, #b73337);
    font-weight: var(--awa-weight-semibold, 600);
}

.status-check-container .back-link {
    text-align: center;
    margin-top: var(--awa-space-4, 16px);
}

.status-check-container .back-link a {
    font-size: var(--awa-text-sm, 13px);
    color: var(--awa-red, #b73337);
    text-decoration: none;
    transition: color 150ms ease;
}

.status-check-container .back-link a:hover {
    color: var(--awa-red-dark, #8e2629);
    text-decoration: underline;
}

/* -- 14. Mobile -- */
@media (max-width: 767px) {
    .curriculo-page-header {
        padding: var(--awa-space-6, 24px) var(--awa-space-5, 20px);
    }

    .curriculo-page-header h1,
    .curriculo-page-header .page-title {
        font-size: var(--awa-text-xl, 22px);
    }

    .curriculo-grid {
        grid-template-columns: 1fr;
    }

    body.ayo-curriculo-index-index .form.curriculo {
        padding: var(--awa-space-5, 20px);
    }

    .curriculo-success-panel {
        padding: var(--awa-space-7, 32px) var(--awa-space-5, 20px);
    }

    .curriculo-specialties-grid {
        grid-template-columns: 1fr 1fr;
    }

    .curriculo-success-actions {
        flex-direction: column;
    }

    .curriculo-success-actions .action.primary {
        width: 100%;
        justify-content: center;
    }
}

/* -- 15. Reduced motion -- */
@media (prefers-reduced-motion: reduce) {
    .curriculo-progress .progress-fill,
    .form.curriculo .action.submit,
    .status-check-form #check-status-btn,
    .curriculo-success-actions .action.primary {
        transition: none;
    }
}

/* ============================================================
   === LIVRO DE ENDERECOS ===
   Escopo: customer-address-index, customer-address-new, customer-address-edit
   ============================================================ */

/* -- 1. Titulos de bloco -- */
body.customer-address-index .block-addresses-list .block-title,
body.customer-address-index .block-addresses-default .block-title {
    font-size: var(--awa-text-base, 15px);
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-black, #1a1a1a);
    border-bottom: 2px solid var(--awa-red, #b73337);
    padding-bottom: var(--awa-space-2, 8px);
    margin-bottom: var(--awa-space-5, 20px);
}

/* -- 2. Grid de cards -- */
body.customer-address-index .block-addresses-list .items.addresses {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--awa-space-5, 20px);
    list-style: none;
    padding: 0;
    margin: 0 0 var(--awa-space-6, 24px);
}

body.customer-address-index .block-addresses-list .item.item-addresses-additional {
    background: #fff;
    border: 1px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    padding: var(--awa-space-5, 20px);
    box-shadow: var(--awa-shadow-sm, 0 1px 3px rgba(0, 0, 0, .10));
    transition: box-shadow 180ms ease;
    position: relative;
}

body.customer-address-index .block-addresses-list .item.item-addresses-additional:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, .12);
}

/* -- 3. Enderecos padrao -- */
body.customer-address-index .block-addresses-default .box-address-shipping,
body.customer-address-index .block-addresses-default .box-address-billing {
    background: #fff;
    border: 1.5px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    padding: var(--awa-space-5, 20px);
    box-shadow: var(--awa-shadow-sm, 0 1px 3px rgba(0, 0, 0, .10));
    margin-bottom: var(--awa-space-4, 16px);
}

body.customer-address-index .block-addresses-default .box:first-child {
    border-top: 3px solid var(--awa-red, #b73337);
}

body.customer-address-index .block-addresses-default .box-title {
    font-size: var(--awa-text-sm, 13px);
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-black, #1a1a1a);
    margin-bottom: var(--awa-space-3, 12px);
}

body.customer-address-index .block-addresses-default .box-content {
    font-size: var(--awa-text-sm, 13px);
    color: var(--awa-gray-700, #374151);
    line-height: 1.7;
}

/* -- 4. Acoes nos cards -- */
body.customer-address-index .item.item-addresses-additional .actions {
    display: flex;
    gap: var(--awa-space-2, 8px);
    margin-top: var(--awa-space-4, 16px);
    padding-top: var(--awa-space-3, 12px);
    border-top: 1px solid var(--awa-color-border, #e5e5e5);
    flex-wrap: wrap;
}

body.customer-address-index .item.item-addresses-additional .action.edit,
body.customer-address-index .item.item-addresses-additional .action.delete {
    font-size: var(--awa-text-xs, 12px);
    padding: 5px 14px;
    border-radius: var(--awa-radius-full, 9999px);
    border: 1.5px solid var(--awa-color-border, #e5e5e5);
    background: #fff;
    cursor: pointer;
    transition: border-color 150ms ease, color 150ms ease, background 150ms ease;
    font-weight: var(--awa-weight-semibold, 600);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}

body.customer-address-index .item.item-addresses-additional .action.edit:hover {
    border-color: var(--awa-red, #b73337);
    color: var(--awa-red, #b73337);
    background: rgba(183, 51, 55, .04);
}

body.customer-address-index .item.item-addresses-additional .action.delete:hover {
    border-color: #ef4444;
    color: #ef4444;
    background: #fef2f2;
}

/* -- 5. Acoes padrao -- */
body.customer-address-index .block-addresses-default .action.edit {
    display: inline-block;
    margin-top: var(--awa-space-3, 12px);
    font-size: var(--awa-text-sm, 13px);
    color: var(--awa-red, #b73337);
    text-decoration: none;
    font-weight: var(--awa-weight-semibold, 600);
}

body.customer-address-index .block-addresses-default .action.edit:hover {
    text-decoration: underline;
}

/* -- 6. Botao Adicionar novo -- */
body.customer-address-index .actions-toolbar .action.add,
body.customer-address-index .block-addresses-list .action.add {
    height: 44px;
    padding: 0 var(--awa-space-6, 24px);
    background: var(--awa-red, #b73337);
    color: #fff;
    border: none;
    border-radius: var(--awa-radius-sm, 8px);
    font-size: var(--awa-text-sm, 13px);
    font-weight: var(--awa-weight-bold, 700);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: var(--awa-space-2, 8px);
    transition: background 180ms ease;
}

body.customer-address-index .actions-toolbar .action.add:hover,
body.customer-address-index .block-addresses-list .action.add:hover {
    background: var(--awa-red-dark, #8e2629);
}

/* -- 7. Formulario de endereco -- */
body.customer-address-form .form-address-edit,
body.customer-address-new .form-address-edit {
    background: #fff;
    border: 1px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    padding: var(--awa-space-7, 32px);
    box-shadow: var(--awa-shadow-sm, 0 1px 3px rgba(0, 0, 0, .10));
    max-width: 640px;
}

body.customer-address-form .form-address-edit .fieldset,
body.customer-address-new .form-address-edit .fieldset {
    margin-bottom: var(--awa-space-6, 24px);
}

body.customer-address-form .form-address-edit .field,
body.customer-address-new .form-address-edit .field {
    margin-bottom: var(--awa-space-4, 16px);
}

body.customer-address-form .form-address-edit .field label,
body.customer-address-new .form-address-edit .field label {
    display: block;
    font-size: var(--awa-text-sm, 13px);
    font-weight: var(--awa-weight-semibold, 600);
    color: var(--awa-gray-700, #374151);
    margin-bottom: var(--awa-space-1, 4px);
}

body.customer-address-form .form-address-edit .field input[type="text"],
body.customer-address-form .form-address-edit .field input[type="tel"],
body.customer-address-form .form-address-edit .field select,
body.customer-address-new .form-address-edit .field input[type="text"],
body.customer-address-new .form-address-edit .field input[type="tel"],
body.customer-address-new .form-address-edit .field select {
    width: 100%;
    height: 44px;
    border: 1.5px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    padding: 0 var(--awa-space-4, 16px);
    font-size: var(--awa-text-sm, 13px);
    color: var(--awa-black, #1a1a1a);
    transition: border-color 180ms ease, box-shadow 180ms ease;
    box-sizing: border-box;
}

body.customer-address-form .form-address-edit .field input:focus,
body.customer-address-form .form-address-edit .field select:focus,
body.customer-address-new .form-address-edit .field input:focus,
body.customer-address-new .form-address-edit .field select:focus {
    border-color: var(--awa-red, #b73337);
    box-shadow: 0 0 0 3px rgba(183, 51, 55, .12);
    outline: none;
}

/* -- 8. Botoes de acao do formulario -- */
body.customer-address-form .form-address-edit .actions-toolbar,
body.customer-address-new .form-address-edit .actions-toolbar {
    margin-top: var(--awa-space-6, 24px);
    display: flex;
    gap: var(--awa-space-4, 16px);
    align-items: center;
    flex-wrap: wrap;
}

body.customer-address-form .form-address-edit .action.save,
body.customer-address-new .form-address-edit .action.save {
    height: 48px;
    padding: 0 var(--awa-space-7, 32px);
    background: var(--awa-red, #b73337) !important;
    border: none;
    border-radius: var(--awa-radius-sm, 8px) !important;
    color: #fff;
    font-size: var(--awa-text-sm, 13px) !important;
    font-weight: var(--awa-weight-bold, 700) !important;
    cursor: pointer;
    transition: background 180ms ease;
}

body.customer-address-form .form-address-edit .action.save:hover,
body.customer-address-new .form-address-edit .action.save:hover {
    background: var(--awa-red-dark, #8e2629) !important;
}

body.customer-address-form .form-address-edit .action.back,
body.customer-address-new .form-address-edit .action.back {
    font-size: var(--awa-text-sm, 13px);
    color: var(--awa-gray-500, #6b7280);
    text-decoration: none;
    padding: 0 var(--awa-space-4, 16px);
    font-weight: var(--awa-weight-semibold, 600);
    transition: color 150ms ease;
}

body.customer-address-form .form-address-edit .action.back:hover,
body.customer-address-new .form-address-edit .action.back:hover {
    color: var(--awa-red, #b73337);
}

/* -- 9. Mobile -- */
@media (max-width: 767px) {
    body.customer-address-index .block-addresses-list .items.addresses {
        grid-template-columns: 1fr;
    }

    body.customer-address-form .form-address-edit,
    body.customer-address-new .form-address-edit {
        padding: var(--awa-space-5, 20px);
    }

    body.customer-address-form .form-address-edit .actions-toolbar,
    body.customer-address-new .form-address-edit .actions-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    body.customer-address-form .form-address-edit .action.save,
    body.customer-address-new .form-address-edit .action.save {
        width: 100%;
        text-align: center;
        justify-content: center;
    }
}

/* ============================================================
   === BLOG (Rokanthemes) ===
   Escopo: blog-index-index, blog-post-view, blog-category-view, blog-archive-view
   ============================================================ */

/* -- 1. Layout geral -- */
body.blog-index-index .page-main,
body.blog-category-view .page-main,
body.blog-archive-view .page-main,
body.blog-post-view .page-main {
    max-width: 1200px;
}

/* -- 2. Post list wrapper -- */
body.blog-index-index .post-list-wrapper,
body.blog-category-view .post-list-wrapper,
body.blog-archive-view .post-list-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: var(--awa-space-6, 24px);
    padding: 0;
    list-style: none;
}

/* -- 3. Card de post -- */
body.blog-index-index .item-post-full,
body.blog-category-view .item-post-full,
body.blog-archive-view .item-post-full {
    background: #fff;
    border: 1px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-md, 12px);
    overflow: hidden;
    box-shadow: var(--awa-shadow-sm, 0 1px 3px rgba(0, 0, 0, .10));
    transition: box-shadow 200ms ease, transform 200ms ease;
    display: flex;
    flex-direction: column;
}

body.blog-index-index .item-post-full:hover,
body.blog-category-view .item-post-full:hover,
body.blog-archive-view .item-post-full:hover {
    box-shadow: 0 6px 20px rgba(0, 0, 0, .12);
    transform: translateY(-2px);
}

/* -- 4. Imagem de thumbnail -- */
body.blog-index-index .blog-post-thumb,
body.blog-category-view .blog-post-thumb,
body.blog-archive-view .blog-post-thumb {
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: var(--awa-gray-100, #f5f5f5);
}

body.blog-index-index .blog-post-thumb img,
body.blog-category-view .blog-post-thumb img,
body.blog-archive-view .blog-post-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 300ms ease;
    display: block;
}

body.blog-index-index .item-post-full:hover .blog-post-thumb img,
body.blog-category-view .item-post-full:hover .blog-post-thumb img,
body.blog-archive-view .item-post-full:hover .blog-post-thumb img {
    transform: scale(1.04);
}

/* -- 5. Info do post -- */
body.blog-index-index .blog-post-info,
body.blog-category-view .blog-post-info,
body.blog-archive-view .blog-post-info {
    padding: var(--awa-space-5, 20px);
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* -- 6. Titulo -- */
body.blog-index-index .blog-post-info .post-title,
body.blog-category-view .blog-post-info .post-title,
body.blog-archive-view .blog-post-info .post-title {
    font-size: var(--awa-text-base, 15px);
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-black, #1a1a1a);
    line-height: 1.4;
    margin-bottom: var(--awa-space-2, 8px);
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
}

body.blog-index-index .blog-post-info .post-title a,
body.blog-category-view .blog-post-info .post-title a,
body.blog-archive-view .blog-post-info .post-title a {
    color: inherit;
    text-decoration: none;
    transition: color 150ms ease;
}

body.blog-index-index .blog-post-info .post-title a:hover,
body.blog-category-view .blog-post-info .post-title a:hover,
body.blog-archive-view .blog-post-info .post-title a:hover {
    color: var(--awa-red, #b73337);
}

/* -- 7. Data -- */
body.blog-index-index .blog-post-info .post-date,
body.blog-category-view .blog-post-info .post-date,
body.blog-archive-view .blog-post-info .post-date {
    font-size: 11px;
    color: var(--awa-gray-400, #9ca3af);
    margin-bottom: var(--awa-space-3, 12px);
    display: flex;
    align-items: center;
    gap: var(--awa-space-1, 4px);
}

/* -- 8. Excerpt -- */
body.blog-index-index .blog-post-info .desc,
body.blog-category-view .blog-post-info .desc,
body.blog-archive-view .blog-post-info .desc {
    font-size: var(--awa-text-sm, 13px);
    color: var(--awa-gray-500, #6b7280);
    line-height: 1.7;
    flex: 1;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
}

/* -- 9. Rodape do card -- */
body.blog-index-index .post-info-bottom,
body.blog-category-view .post-info-bottom,
body.blog-archive-view .post-info-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: var(--awa-space-4, 16px);
    padding-top: var(--awa-space-3, 12px);
    border-top: 1px solid var(--awa-color-border, #e5e5e5);
    flex-wrap: wrap;
    gap: var(--awa-space-2, 8px);
}

body.blog-index-index .post-readmore a,
body.blog-category-view .post-readmore a,
body.blog-archive-view .post-readmore a {
    font-size: var(--awa-text-xs, 12px);
    color: var(--awa-red, #b73337);
    font-weight: var(--awa-weight-bold, 700);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: .04em;
    transition: color 150ms ease;
}

body.blog-index-index .post-readmore a:hover,
body.blog-category-view .post-readmore a:hover,
body.blog-archive-view .post-readmore a:hover {
    color: var(--awa-red-dark, #8e2629);
}

/* -- 10. Post View (single post) -- */
body.blog-post-view .post-view {
    background: #fff;
    border: 1px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-md, 12px);
    overflow: hidden;
    box-shadow: var(--awa-shadow-sm, 0 1px 3px rgba(0, 0, 0, .10));
}

body.blog-post-view .post-header {
    padding: var(--awa-space-7, 32px) var(--awa-space-7, 32px) 0;
}

body.blog-post-view .post-header .page-title,
body.blog-post-view .post-header h1 {
    font-size: var(--awa-text-2xl, 28px);
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-black, #1a1a1a);
    line-height: 1.3;
    margin-bottom: var(--awa-space-4, 16px);
}

body.blog-post-view .post-images {
    overflow: hidden;
    margin: var(--awa-space-5, 20px) var(--awa-space-7, 32px);
    border-radius: var(--awa-radius-sm, 8px);
}

body.blog-post-view .post-images img {
    width: 100%;
    height: auto;
    display: block;
}

body.blog-post-view .post-description {
    padding: 0 var(--awa-space-7, 32px) var(--awa-space-7, 32px);
    font-size: var(--awa-text-base, 15px);
    color: var(--awa-gray-700, #374151);
    line-height: 1.8;
}

body.blog-post-view .post-content {
    padding: var(--awa-space-5, 20px) var(--awa-space-7, 32px) var(--awa-space-7, 32px);
    font-size: var(--awa-text-base, 15px);
    color: var(--awa-gray-700, #374151);
    line-height: 1.8;
}

body.blog-post-view .post-content h2,
body.blog-post-view .post-content h3 {
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-black, #1a1a1a);
    margin: var(--awa-space-6, 24px) 0 var(--awa-space-3, 12px);
}

body.blog-post-view .post-content h2 {
    font-size: var(--awa-text-xl, 22px);
}

body.blog-post-view .post-content h3 {
    font-size: var(--awa-text-lg, 18px);
}

body.blog-post-view .post-content a {
    color: var(--awa-red, #b73337);
    transition: color 150ms ease;
}

body.blog-post-view .post-content a:hover {
    color: var(--awa-red-dark, #8e2629);
}

body.blog-post-view .post-content ul,
body.blog-post-view .post-content ol {
    padding-left: var(--awa-space-6, 24px);
    margin-bottom: var(--awa-space-4, 16px);
}

body.blog-post-view .post-content li {
    margin-bottom: var(--awa-space-2, 8px);
}

body.blog-post-view .post-content blockquote {
    border-left: 4px solid var(--awa-red, #b73337);
    background: var(--awa-gray-100, #f5f5f5);
    padding: var(--awa-space-4, 16px) var(--awa-space-5, 20px);
    border-radius: 0 var(--awa-radius-sm, 8px) var(--awa-radius-sm, 8px) 0;
    margin: var(--awa-space-5, 20px) 0;
    font-style: italic;
    color: var(--awa-gray-600, #4b5563);
}

/* -- 11. Rodape do post -- */
body.blog-post-view .post-bottom {
    padding: var(--awa-space-5, 20px) var(--awa-space-7, 32px);
    border-top: 1px solid var(--awa-color-border, #e5e5e5);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--awa-space-3, 12px);
    background: var(--awa-gray-100, #f5f5f5);
}

/* -- 12. Barra lateral do Blog -- */
body.blog-index-index .sidebar-main .block-categories,
body.blog-index-index .sidebar-main .block-recent-posts,
body.blog-index-index .sidebar-main .block-blog-search,
body.blog-post-view .sidebar-main .block-categories,
body.blog-post-view .sidebar-main .block-recent-posts {
    background: #fff;
    border: 1px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    padding: var(--awa-space-5, 20px);
    margin-bottom: var(--awa-space-5, 20px);
    box-shadow: var(--awa-shadow-sm, 0 1px 3px rgba(0, 0, 0, .10));
}

body.blog-index-index .sidebar-main .block-title,
body.blog-post-view .sidebar-main .block-title {
    font-size: var(--awa-text-sm, 13px);
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-black, #1a1a1a);
    border-bottom: 2px solid var(--awa-red, #b73337);
    padding-bottom: var(--awa-space-2, 8px);
    margin-bottom: var(--awa-space-4, 16px);
}

/* -- 13. Mobile -- */
@media (max-width: 767px) {
    body.blog-index-index .post-list-wrapper,
    body.blog-category-view .post-list-wrapper,
    body.blog-archive-view .post-list-wrapper {
        grid-template-columns: 1fr;
    }

    body.blog-post-view .post-header,
    body.blog-post-view .post-description,
    body.blog-post-view .post-content {
        padding-left: var(--awa-space-5, 20px);
        padding-right: var(--awa-space-5, 20px);
    }

    body.blog-post-view .post-images {
        margin-left: 0;
        margin-right: 0;
        border-radius: 0;
    }

    body.blog-post-view .post-header h1,
    body.blog-post-view .post-header .page-title {
        font-size: var(--awa-text-xl, 22px);
    }
}

/* -- 14. Reduced motion -- */
@media (prefers-reduced-motion: reduce) {
    body.blog-index-index .item-post-full,
    body.blog-category-view .item-post-full,
    body.blog-archive-view .item-post-full {
        transition: none;
    }

    body.blog-index-index .blog-post-thumb img,
    body.blog-category-view .blog-post-thumb img,
    body.blog-archive-view .blog-post-thumb img {
        transition: none;
    }
}

/* ============================================================
   === FORGOT PASSWORD / RESET PASSWORD ===
   Escopo: customer-account-forgotpassword, customer-account-createpassword
   ============================================================ */

body.customer-account-forgotpassword .page-wrapper,
body.customer-account-createpassword .page-wrapper {
    background: var(--awa-gray-100, #f5f5f5);
}

body.customer-account-forgotpassword .column.main,
body.customer-account-createpassword .column.main {
    max-width: 480px;
    margin: 0 auto;
}

body.customer-account-forgotpassword .form.password.forget,
body.customer-account-createpassword .form.password.reset {
    background: #fff;
    border-radius: var(--awa-radius-md, 12px);
    box-shadow: 0 8px 32px rgba(0, 0, 0, .08);
    padding: 40px;
    margin-bottom: var(--awa-space-6, 24px);
}

/* Título da página */
body.customer-account-forgotpassword .page-title-wrapper .page-title,
body.customer-account-createpassword .page-title-wrapper .page-title {
    font-size: var(--awa-text-xl, 22px);
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-black, #1a1a1a);
    margin-bottom: var(--awa-space-2, 8px);
}

/* Texto de instrução */
body.customer-account-forgotpassword .form.password.forget .fieldset .note,
body.customer-account-createpassword .form.password.reset .fieldset .note {
    color: var(--awa-gray-500, #6b7280);
    font-size: var(--awa-text-sm, 13px);
    margin-bottom: var(--awa-space-5, 20px);
    line-height: 1.6;
}

/* Campos */
body.customer-account-forgotpassword .field .label,
body.customer-account-createpassword .field .label {
    font-size: var(--awa-text-sm, 13px);
    font-weight: var(--awa-weight-medium, 500);
    color: var(--awa-gray-700, #374151);
    margin-bottom: var(--awa-space-1, 4px);
    display: block;
}

body.customer-account-forgotpassword .field .control input,
body.customer-account-createpassword .field .control input {
    height: 44px;
    border: 1.5px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    padding: 0 var(--awa-space-4, 16px);
    font-size: var(--awa-text-base, 15px);
    width: 100%;
    transition: border-color 180ms ease, box-shadow 180ms ease;
}

body.customer-account-forgotpassword .field .control input:focus,
body.customer-account-createpassword .field .control input:focus {
    border-color: var(--awa-red, #b73337);
    box-shadow: 0 0 0 3px rgba(183, 51, 55, .12);
    outline: none;
}

/* Botões */
body.customer-account-forgotpassword .action.submit.primary,
body.customer-account-createpassword .action.submit.primary {
    background: var(--awa-red, #b73337) !important;
    border-color: var(--awa-red, #b73337) !important;
    border-radius: var(--awa-radius-sm, 8px) !important;
    font-weight: var(--awa-weight-bold, 700) !important;
    height: 44px;
    width: 100%;
    transition: background 180ms ease;
}

body.customer-account-forgotpassword .action.submit.primary:hover,
body.customer-account-createpassword .action.submit.primary:hover {
    background: var(--awa-red-dark, #8e2629) !important;
    border-color: var(--awa-red-dark, #8e2629) !important;
}

body.customer-account-forgotpassword .action.back,
body.customer-account-createpassword .action.back {
    color: var(--awa-gray-500, #6b7280);
    font-size: var(--awa-text-sm, 13px);
    text-decoration: none;
}

body.customer-account-forgotpassword .action.back:hover,
body.customer-account-createpassword .action.back:hover {
    color: var(--awa-red, #b73337);
}

@media (max-width: 767px) {
    body.customer-account-forgotpassword .form.password.forget,
    body.customer-account-createpassword .form.password.reset {
        padding: var(--awa-space-6, 24px) var(--awa-space-5, 20px);
    }
}

/* ============================================================
   === B2B REGISTER — FORMULÁRIO EMPRESA ===
   Escopo: .b2b-register-page, .b2b-login-page, .b2b-register-form
   ============================================================ */

/* ── 1. Shell da página ── */
body .page-wrapper .b2b-register-page,
body .page-wrapper .b2b-login-page {
    max-width: 640px;
    margin: var(--awa-space-8, 40px) auto;
    padding: 0 var(--awa-space-4, 16px);
}

body .page-wrapper .b2b-register-shell {
    background: #fff;
    border-radius: var(--awa-radius-md, 12px);
    box-shadow: 0 8px 40px rgba(0, 0, 0, .10);
    overflow: hidden;
}

body .page-wrapper .b2b-register-shell-content {
    padding: 40px;
}

/* ── 2. Header do formulário ── */
body .page-wrapper .b2b-login-header,
body .page-wrapper .register-header {
    padding: 32px 40px 24px;
    border-bottom: 1px solid var(--awa-gray-200, #e5e7eb);
    background: linear-gradient(135deg, var(--awa-red, #b73337) 0%, var(--awa-red-dark, #8e2629) 100%);
    color: #fff;
}

body .page-wrapper .b2b-login-header .register-title,
body .page-wrapper .register-title {
    font-size: var(--awa-text-xl, 22px);
    font-weight: var(--awa-weight-bold, 700);
    margin-bottom: var(--awa-space-1, 4px);
    color: #fff;
}

body .page-wrapper .register-meta,
body .page-wrapper .register-meta__item {
    font-size: var(--awa-text-sm, 13px);
    opacity: .85;
    color: #fff;
}

/* ── 3. Progress steps ── */
body .page-wrapper .b2b-register-progress {
    display: flex;
    align-items: center;
    gap: var(--awa-space-2, 8px);
    padding: var(--awa-space-4, 16px) 40px;
    background: var(--awa-gray-100, #f5f5f5);
    border-bottom: 1px solid var(--awa-gray-200, #e5e7eb);
}

body .page-wrapper .progress-step {
    display: flex;
    align-items: center;
    gap: var(--awa-space-2, 8px);
    font-size: var(--awa-text-xs, 11px);
    font-weight: var(--awa-weight-medium, 500);
    color: var(--awa-gray-500, #6b7280);
}

body .page-wrapper .progress-step__num {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--awa-gray-200, #e5e7eb);
    color: var(--awa-gray-500, #6b7280);
    font-size: 11px;
    font-weight: var(--awa-weight-bold, 700);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 200ms ease, color 200ms ease;
}

body .page-wrapper .progress-step.is-active .progress-step__num {
    background: var(--awa-red, #b73337);
    color: #fff;
}

body .page-wrapper .progress-step.is-active {
    color: var(--awa-black, #1a1a1a);
    font-weight: var(--awa-weight-semibold, 600);
}

/* ── 4. Seções do formulário ── */
body .page-wrapper .b2b-register-form .form-section {
    margin-bottom: var(--awa-space-7, 32px);
}

body .page-wrapper .b2b-register-form .form-section .subtitle {
    font-size: var(--awa-text-base, 15px);
    font-weight: var(--awa-weight-bold, 700);
    color: var(--awa-black, #1a1a1a);
    border-bottom: 2px solid var(--awa-red, #b73337);
    padding-bottom: var(--awa-space-2, 8px);
    margin-bottom: var(--awa-space-5, 20px);
    display: block;
}

/* ── 5. Campos ── */
body .page-wrapper .b2b-register-form .field .label {
    font-size: var(--awa-text-sm, 13px);
    font-weight: var(--awa-weight-medium, 500);
    color: var(--awa-gray-700, #374151);
    margin-bottom: var(--awa-space-1, 4px);
    display: block;
}

body .page-wrapper .b2b-register-form .field .control input[type="text"],
body .page-wrapper .b2b-register-form .field .control input[type="email"],
body .page-wrapper .b2b-register-form .field .control input[type="tel"],
body .page-wrapper .b2b-register-form .field .control input[type="password"],
body .page-wrapper .b2b-register-form .field .control select {
    height: 44px;
    border: 1.5px solid var(--awa-color-border, #e5e5e5);
    border-radius: var(--awa-radius-sm, 8px);
    padding: 0 var(--awa-space-4, 16px);
    font-size: var(--awa-text-base, 15px);
    width: 100%;
    transition: border-color 180ms ease, box-shadow 180ms ease;
}

body .page-wrapper .b2b-register-form .field .control input:focus,
body .page-wrapper .b2b-register-form .field .control select:focus {
    border-color: var(--awa-red, #b73337);
    box-shadow: 0 0 0 3px rgba(183, 51, 55, .12);
    outline: none;
}

body .page-wrapper .b2b-register-form .field-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--awa-space-5, 20px);
}

body .page-wrapper .b2b-register-form .field-wide {
    grid-column: 1 / -1;
}

/* ── 6. CNPJ feedback ── */
body .page-wrapper .cnpj-feedback {
    font-size: var(--awa-text-xs, 11px);
    margin-top: var(--awa-space-1, 4px);
}

body .page-wrapper .cnpj-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: var(--awa-radius-full, 9999px);
    font-size: var(--awa-text-xs, 11px);
    font-weight: var(--awa-weight-semibold, 600);
}

body .page-wrapper .cnpj-situacao--ativa {
    background: #dcfce7;
    color: #166534;
}

body .page-wrapper .cnpj-situacao--irregular,
body .page-wrapper .cnpj-situacao--inativa {
    background: #fee2e2;
    color: #991b1b;
}

/* Card de dados da empresa (preenchimento automático) */
body .page-wrapper .company-info-card {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: var(--awa-radius-sm, 8px);
    padding: var(--awa-space-4, 16px);
    margin-top: var(--awa-space-3, 12px);
}

body .page-wrapper .company-info-header {
    display: flex;
    align-items: center;
    gap: var(--awa-space-2, 8px);
    margin-bottom: var(--awa-space-3, 12px);
    font-weight: var(--awa-weight-semibold, 600);
    font-size: var(--awa-text-sm, 13px);
    color: #1e40af;
}

body .page-wrapper .company-info-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--awa-space-3, 12px);
}

body .page-wrapper .company-info-item .info-label {
    font-size: var(--awa-text-xs, 11px);
    color: var(--awa-gray-500, #6b7280);
    display: block;
    margin-bottom: 2px;
}

body .page-wrapper .company-info-item .info-value {
    font-size: var(--awa-text-sm, 13px);
    font-weight: var(--awa-weight-semibold, 600);
    color: var(--awa-black, #1a1a1a);
}

/* ── 7. Benefícios B2B ── */
body .page-wrapper .b2b-benefits {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--awa-space-4, 16px);
    margin: var(--awa-space-5, 20px) 0;
}

body .page-wrapper .benefit-item {
    text-align: center;
    padding: var(--awa-space-4, 16px) var(--awa-space-3, 12px);
    background: var(--awa-gray-100, #f5f5f5);
    border-radius: var(--awa-radius-sm, 8px);
    border: 1px solid var(--awa-gray-200, #e5e7eb);
}

body .page-wrapper .benefit-item .benefit-icon {
    font-size: 24px;
    margin-bottom: var(--awa-space-2, 8px);
    display: block;
}

body .page-wrapper .benefit-item .benefit-text {
    font-size: var(--awa-text-xs, 11px);
    font-weight: var(--awa-weight-medium, 500);
    color: var(--awa-gray-700, #374151);
    line-height: 1.4;
}

/* ── 8. Botão submit ── */
body .page-wrapper .b2b-register-form .action.submit.primary,
body .page-wrapper .b2b-register-form .action.create-b2b-account {
    background: var(--awa-red, #b73337) !important;
    border-color: var(--awa-red, #b73337) !important;
    border-radius: var(--awa-radius-sm, 8px) !important;
    font-weight: var(--awa-weight-bold, 700) !important;
    height: 52px;
    width: 100%;
    font-size: var(--awa-text-base, 15px) !important;
    transition: background 180ms ease, transform 80ms ease;
}

body .page-wrapper .b2b-register-form .action.submit.primary:hover,
body .page-wrapper .b2b-register-form .action.create-b2b-account:hover {
    background: var(--awa-red-dark, #8e2629) !important;
    border-color: var(--awa-red-dark, #8e2629) !important;
    transform: translateY(-1px);
}

/* ── 9. Login bar (já é cliente) ── */
body .page-wrapper .b2b-login-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--awa-space-3, 12px);
    padding: var(--awa-space-4, 16px);
    background: var(--awa-gray-100, #f5f5f5);
    border-top: 1px solid var(--awa-gray-200, #e5e7eb);
    font-size: var(--awa-text-sm, 13px);
    color: var(--awa-gray-500, #6b7280);
}

body .page-wrapper .b2b-login-bar .b2b-login-link {
    color: var(--awa-red, #b73337);
    font-weight: var(--awa-weight-semibold, 600);
    text-decoration: none;
}

body .page-wrapper .b2b-login-bar .b2b-login-link:hover {
    color: var(--awa-red-dark, #8e2629);
    text-decoration: underline;
}

/* ── 10. Nota de confiança ── */
body .page-wrapper .register-trust-note {
    text-align: center;
    font-size: var(--awa-text-xs, 11px);
    color: var(--awa-gray-500, #6b7280);
    margin-top: var(--awa-space-4, 16px);
}

/* ── 11. Mobile ── */
@media (max-width: 767px) {
    body .page-wrapper .b2b-register-shell-content {
        padding: var(--awa-space-6, 24px) var(--awa-space-5, 20px);
    }

    body .page-wrapper .b2b-login-header,
    body .page-wrapper .register-header {
        padding: 24px var(--awa-space-5, 20px);
    }

    body .page-wrapper .b2b-register-progress {
        padding: var(--awa-space-3, 12px) var(--awa-space-5, 20px);
    }

    body .page-wrapper .b2b-register-form .field-row {
        grid-template-columns: 1fr;
    }

    body .page-wrapper .b2b-benefits {
        grid-template-columns: 1fr;
    }

    body .page-wrapper .company-info-grid {
        grid-template-columns: 1fr;
    }
}

/* ── 12. Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
    body .page-wrapper .b2b-register-form .action.submit.primary,
    body .page-wrapper .b2b-register-form .action.create-b2b-account {
        transition: none;
        transform: none !important;
    }
}

/* ============================================================
   === SCROLL TO TOP BUTTON ===
   Escopo: .awa-scroll-top, .scroll-to-top, .totop
   ============================================================ */

/* ── Variante AWA customizada ── */
body .page-wrapper .awa-scroll-top,
body .page-wrapper .scroll-to-top,
body .page-wrapper #totop,
body .page-wrapper .back-to-top {
    position: fixed;
    bottom: var(--awa-space-5, 20px);
    right: var(--awa-space-5, 20px);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--awa-red, #b73337);
    color: #fff;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 16px rgba(183, 51, 55, .32);
    z-index: var(--awa-z-sticky, 100);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity 250ms ease, visibility 250ms ease, transform 250ms ease, background 150ms ease, box-shadow 150ms ease;
}

body .page-wrapper .awa-scroll-top.visible,
body .page-wrapper .awa-scroll-top.is-visible,
body .page-wrapper .scroll-to-top.visible,
body .page-wrapper .scroll-to-top.is-visible,
body .page-wrapper #totop.show,
body .page-wrapper #totop.visible,
body .page-wrapper .back-to-top.show,
body .page-wrapper .back-to-top.visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

body .page-wrapper .awa-scroll-top:hover,
body .page-wrapper .scroll-to-top:hover,
body .page-wrapper #totop:hover,
body .page-wrapper .back-to-top:hover {
    background: var(--awa-red-dark, #8e2629);
    box-shadow: 0 6px 20px rgba(183, 51, 55, .42);
    transform: translateY(-2px);
}

body .page-wrapper .awa-scroll-top:focus-visible,
body .page-wrapper .scroll-to-top:focus-visible,
body .page-wrapper #totop:focus-visible,
body .page-wrapper .back-to-top:focus-visible {
    outline: 2px solid var(--awa-red, #b73337);
    outline-offset: 3px;
}

/* ── Tema Ayo: .totop (classe usada por Rokanthemes) ── */
body .page-wrapper #go-top,
body .page-wrapper .roka-go-top {
    background: var(--awa-red, #b73337) !important;
    border-color: var(--awa-red, #b73337) !important;
    border-radius: 50% !important;
    box-shadow: 0 4px 16px rgba(183, 51, 55, .32) !important;
    transition: background 150ms ease, box-shadow 150ms ease, transform 150ms ease !important;
}

body .page-wrapper #go-top:hover,
body .page-wrapper .roka-go-top:hover {
    background: var(--awa-red-dark, #8e2629) !important;
    box-shadow: 0 6px 20px rgba(183, 51, 55, .42) !important;
    transform: translateY(-2px) !important;
}

@media (max-width: 767px) {
    body .page-wrapper .awa-scroll-top,
    body .page-wrapper .scroll-to-top,
    body .page-wrapper #totop,
    body .page-wrapper .back-to-top {
        bottom: 72px; /* Acima da nav móvel */
        right: var(--awa-space-4, 16px);
        width: 40px;
        height: 40px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body .page-wrapper .awa-scroll-top,
    body .page-wrapper .scroll-to-top,
    body .page-wrapper #totop,
    body .page-wrapper .back-to-top,
    body .page-wrapper #go-top,
    body .page-wrapper .roka-go-top {
        transition: none !important;
    }
}

/* ==========================================================================
   === ADVANCED HEADER — Fase 8 ===
   Mega menu, search autocomplete, minicart flyout, sticky refinements
   ========================================================================== */

/* ------------------------------------------------------------------
   1. MEGA MENU DROPDOWN — animação + grid + títulos de coluna
   ------------------------------------------------------------------ */

@keyframes awa-megamenu-in {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

body .page-wrapper .custommenu .level0 > .submenu,
body .page-wrapper .custommenu .level0 > .groupmenu {
    background: #fff !important;
    border-radius: 0 0 var(--awa-radius-sm, 8px) var(--awa-radius-sm, 8px) !important;
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.12) !important;
    border-top: 2px solid var(--awa-red, #b73337) !important;
    padding: var(--awa-space-6, 24px) !important;
}

body .page-wrapper .custommenu .level0:hover > .submenu,
body .page-wrapper .custommenu .level0:focus-within > .submenu,
body .page-wrapper .custommenu .level0:hover > .groupmenu,
body .page-wrapper .custommenu .level0:focus-within > .groupmenu {
    animation: awa-megamenu-in 180ms ease forwards;
}

body .page-wrapper .custommenu .level0 > .submenu > ul,
body .page-wrapper .custommenu .level0 > .groupmenu > ul,
body .page-wrapper .custommenu .level0 > .groupmenu .groupmenu-content {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: var(--awa-space-5, 20px) var(--awa-space-6, 24px);
}

body .page-wrapper .custommenu .level0 .submenu .level1 > a,
body .page-wrapper .custommenu .level0 .groupmenu .groupmenu-title {
    color: var(--awa-red, #b73337) !important;
    font-size: var(--awa-text-xs, 12px) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    margin-bottom: var(--awa-space-2, 8px) !important;
    padding: 0 !important;
    pointer-events: none;
}

body .page-wrapper .custommenu .level1 > ul li a,
body .page-wrapper .custommenu .level0 .groupmenu-items li a {
    font-size: var(--awa-text-sm, 14px);
    color: var(--awa-gray-700, #374151);
    padding: var(--awa-space-1, 4px) 0;
    transition: color 150ms ease, padding-left 150ms ease;
    display: block;
}

body .page-wrapper .custommenu .level1 > ul li a:hover,
body .page-wrapper .custommenu .level0 .groupmenu-items li a:hover {
    color: var(--awa-red-dark, #8e2629);
    padding-left: var(--awa-space-2, 8px);
}

/* ------------------------------------------------------------------
   2. BUSCA AVANÇADA — imagens 48×48, badges de categoria, "ver todos"
   ------------------------------------------------------------------ */

body .page-wrapper .searchsuite-autocomplete,
#search_autocomplete.searchsuite-autocomplete {
    border-radius: var(--awa-radius-sm, 8px) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
    border: 1px solid var(--awa-color-border, #e5e5e5) !important;
    overflow: hidden;
}

body .page-wrapper .searchsuite-autocomplete .product-image-box,
body .page-wrapper .searchsuite-autocomplete .qs-option-image,
body .page-wrapper .searchsuite-autocomplete .product ul li .product-image-box {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    border-radius: var(--awa-radius-sm, 8px) !important;
    overflow: hidden;
    background: var(--awa-bg-soft, #f7f7f7);
    flex-shrink: 0;
}

body .page-wrapper .searchsuite-autocomplete .product-image-box img,
body .page-wrapper .searchsuite-autocomplete .qs-option-image img {
    width: 48px !important;
    height: 48px !important;
    object-fit: contain;
}

body .page-wrapper .searchsuite-autocomplete .qs-option-info .qs-option-category-name {
    display: inline-block;
    background: var(--awa-gray-100, #f5f5f5);
    color: var(--awa-gray-500, #6b7280);
    font-size: 10px;
    font-weight: 600;
    padding: 1px 6px;
    border-radius: 99px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-left: var(--awa-space-2, 8px);
    vertical-align: middle;
}

body .page-wrapper .searchsuite-autocomplete .title .see-all,
body .page-wrapper .searchsuite-autocomplete .view-all-category a,
body .page-wrapper .searchsuite-autocomplete .qs-option-link-all {
    color: var(--awa-red, #b73337) !important;
    font-weight: 600 !important;
    font-size: var(--awa-text-xs, 12px);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: var(--awa-space-1, 4px);
    transition: color 150ms ease;
}

body .page-wrapper .searchsuite-autocomplete .title .see-all:hover,
body .page-wrapper .searchsuite-autocomplete .view-all-category a:hover {
    color: var(--awa-red-dark, #8e2629) !important;
    text-decoration: underline;
}

body .page-wrapper .searchsuite-autocomplete .title .see-all::after {
    content: '\203A';
    font-size: 1.2em;
    line-height: 1;
}

/* ------------------------------------------------------------------
   3. MINICART FLYOUT — 380px, slide da direita, grid 64px imagem
   ------------------------------------------------------------------ */

@keyframes awa-minicart-slide-in {
    from {
        opacity: 0;
        transform: translateX(16px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

body .page-wrapper .minicart-wrapper .block-minicart {
    width: 380px !important;
    max-width: 96vw !important;
    right: 0 !important;
    left: auto !important;
    border-top: 2px solid var(--awa-red, #b73337) !important;
    border-radius: 0 0 var(--awa-radius-sm, 8px) var(--awa-radius-sm, 8px) !important;
    padding: var(--awa-space-5, 20px) !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.14) !important;
    animation: awa-minicart-slide-in 200ms ease forwards;
}

body .page-wrapper .minicart-wrapper .block-minicart .block-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: var(--awa-text-base, 16px);
    font-weight: 700;
    color: var(--awa-dark, #333);
    margin-bottom: var(--awa-space-4, 16px);
    padding-bottom: var(--awa-space-3, 12px);
    border-bottom: 1px solid var(--awa-color-border, #e5e5e5);
}

body .page-wrapper .minicart-wrapper .block-minicart .minicart-items .product-item {
    display: grid;
    grid-template-columns: 64px 1fr;
    gap: var(--awa-space-3, 12px);
    padding: var(--awa-space-3, 12px) 0;
    border-bottom: 1px solid var(--awa-color-border, #e5e5e5);
    align-items: start;
}

body .page-wrapper .minicart-wrapper .block-minicart .product-image-container {
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    border-radius: var(--awa-radius-sm, 8px) !important;
    background: var(--awa-bg-soft, #f7f7f7);
    overflow: hidden;
}

body .page-wrapper .minicart-wrapper .block-minicart .product-image-container img {
    width: 64px !important;
    height: 64px !important;
    object-fit: contain;
}

body .page-wrapper .minicart-wrapper .block-minicart .subtotal {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--awa-space-4, 16px) 0 var(--awa-space-3, 12px);
    font-weight: 700;
    border-top: 2px solid var(--awa-color-border, #e5e5e5);
    margin-top: var(--awa-space-2, 8px);
}

body .page-wrapper .minicart-wrapper .block-minicart .subtotal .price {
    font-size: var(--awa-text-xl, 24px) !important;
    color: var(--awa-red, #b73337) !important;
    font-weight: 700;
}

body .page-wrapper .minicart-wrapper .block-minicart .actions .action.checkout,
body .page-wrapper .minicart-wrapper .block-minicart .actions .action.primary {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    min-height: 52px !important;
    line-height: 52px !important;
    font-size: var(--awa-text-base, 16px) !important;
    font-weight: 700 !important;
    background: var(--awa-red, #b73337) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--awa-radius-sm, 8px) !important;
    margin-top: var(--awa-space-3, 12px) !important;
    transition: background 200ms ease, transform 150ms ease !important;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

body .page-wrapper .minicart-wrapper .block-minicart .actions .action.checkout:hover,
body .page-wrapper .minicart-wrapper .block-minicart .actions .action.primary:hover {
    background: var(--awa-red-dark, #8e2629) !important;
    transform: translateY(-1px) !important;
}

/* ------------------------------------------------------------------
   4. STICKY HEADER — transitions suaves garantidas
   ------------------------------------------------------------------ */

body .page-wrapper .header.awa-main-header,
body .page-wrapper .header-nav.awa-nav-bar {
    transition: box-shadow 220ms ease, padding 220ms ease, background 220ms ease;
}

body .page-wrapper .header.scroll-to-fixed-fixed .logo img,
body .page-wrapper .header.awa-main-header.scroll-to-fixed-fixed .logo img {
    transition: max-height 220ms ease !important;
}

body .page-wrapper .header-nav.scroll-to-fixed-fixed .menu_primary .navigation > ul > li > a {
    transition: padding 220ms ease, font-size 220ms ease;
}

/* ------------------------------------------------------------------
   5. REDUCED MOTION
   ------------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
    body .page-wrapper .custommenu .level0:hover > .submenu,
    body .page-wrapper .custommenu .level0:hover > .groupmenu,
    body .page-wrapper .minicart-wrapper .block-minicart {
        animation: none !important;
    }

    body .page-wrapper .header.awa-main-header,
    body .page-wrapper .header-nav.awa-nav-bar {
        transition: none !important;
    }
}
