/* =====================================================================
 * awa-layout-standardization.css
 * AWA Motos - Padronizacao completa de layout do header
 * Data: 2026-04-10
 *
 * 1. Barra de busca  - gap 8px padronizado + alinhamento
 * 2. Menu vertical   - z-index seguro + display fix (todas as paginas)
 * 3. Menu lateral    - posicao absoluta correta + alinhamento com header
 * 4. Espaco          - padding compacto e consistente
 * 5. Acessibilidade  - focus rings WCAG 2.1 AA em todos os elementos
 * 6. Responsivo      - breakpoints 1280 / 1024 / 768 / 480px
 * ===================================================================== */


/* -------------------------------------------------------------------
 * 1. BARRA DE BUSCA - Gap de 8px entre logo, busca e carrinho
 *    Problema: @ds-space-sm = 16px criava folga visual assimetrica
 *    Solucao:  gap reduzido para 8px (= @ds-space-xs do design system)
 * ------------------------------------------------------------------- */

body .page-wrapper .awa-site-header .awa-main-header__inner.wp-header {
  gap: 8px !important;
}

/* Garantir que a busca nao herde margens de bundles antigos */
body .page-wrapper .awa-site-header .awa-header-search-col.top-search {
  margin: 0 !important;
  padding: 0 !important;
}

/* Block de busca preenche toda a coluna flex */
body .page-wrapper .awa-site-header .awa-header-search-col .block-search,
body .page-wrapper .awa-site-header .awa-header-search-col .block-content,
body .page-wrapper .awa-site-header .awa-header-search-col form.minisearch {
  width: 100% !important;
  max-width: 100% !important;
}

/* Input: altura e border-radius consistentes em todos os estados */
body .page-wrapper .awa-site-header .awa-header-search-col input#search {
  height: 44px !important;
  border-radius: 8px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}


/* -------------------------------------------------------------------
 * 2. MENU VERTICAL - Z-index seguro + display forcado
 *
 *    Problema A: awa-home-vertical-menu-shell-fix.css aplicava
 *    z-index: 9999 no body .page-wrapper inteiro, criando um
 *    stacking context global que interferia com minicart e modals.
 *
 *    Problema B: Magento collapsible JS (.tabs) escondia o nav
 *    na home page com display:none via inline style.
 *
 *    Solucao: Stacking context isolado na nav bar + display forcado
 * ------------------------------------------------------------------- */

/* Reverter o z-index 9999 do page-wrapper (hack global perigoso) */
body .page-wrapper {
  z-index: auto !important;
}

/* Nav bar: stacking context proprio e seguro */
body .page-wrapper .header-control.header-nav.awa-nav-bar {
  position: relative !important;
  z-index: 150 !important;
  isolation: isolate;
}

/* Forcar display do nav vertical em desktop (fix Magento collapsible JS) */
@media (min-width: 992px) {
  body .page-wrapper .navigation.verticalmenu.side-verticalmenu {
    display: block !important;
    visibility: visible !important;
    overflow: visible !important;
  }

  /* O collapsible do Magento usa .section-item-content com display:none */
  body .page-wrapper .navigation.verticalmenu.side-verticalmenu .section-item-content {
    display: block !important;
    width: 100% !important;
    overflow: visible !important;
  }

  /* Ocultar o titulo collapsible (so aparece em mobile) */
  body .page-wrapper .navigation.verticalmenu.side-verticalmenu .section-item-title {
    display: none !important;
  }
}


/* -------------------------------------------------------------------
 * 3. MENU LATERAL - Posicionamento absoluto correto do dropdown
 *
 *    Problema: O painel .togge-menu ficava sem referencia de posicao,
 *    saindo do fluxo de forma imprevista dependendo da pagina.
 *
 *    Solucao: Container position:relative + painel absolute top:100%
 * ------------------------------------------------------------------- */

/* Container do botao + painel: referencia de posicionamento */
body .page-wrapper .awa-header-categories.menu_left_home1 {
  position: relative !important;
  width: 290px !important;
  min-width: 290px !important;
  flex-shrink: 0 !important;
  align-self: stretch;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

/* Nav wrapper: tambem relativo para o painel */
body .page-wrapper .navigation.verticalmenu.side-verticalmenu {
  position: relative !important;
  width: 100% !important;
}

/* Painel de categorias: absolute abaixo do trigger, z-index alto */
body .page-wrapper .navigation.verticalmenu.side-verticalmenu > ul.togge-menu.list-category-dropdown {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  z-index: 9000 !important;
  width: 290px !important;
  min-width: 290px !important;
  max-width: 290px !important;
}

/* Botao trigger: sem bordas inferiores arredondadas quando painel aberto */
body .page-wrapper .navigation.verticalmenu .title-category-dropdown[aria-expanded="true"],
body .page-wrapper .navigation.verticalmenu .title-category-dropdown.active {
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}


/* -------------------------------------------------------------------
 * 4. OTIMIZACAO DE ESPACO - Padding consistente header <> nav bar
 *
 *    Problema: Header usa padding:14px 24px direto; nav bar usa
 *    .container (24px) + awa-nav-bar__inner com padding adicional
 *    de bundles antigos, desalinhando o conteudo horizontalmente.
 *
 *    Solucao: Zeramos o padding extra do __inner; so .container tem padding
 * ------------------------------------------------------------------- */

/* Remover padding duplicado do inner (o .container pai ja tem 24px) */
body .page-wrapper .awa-site-header .awa-nav-bar__inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  align-items: stretch !important;
  gap: 0 !important;
}

/* Nav container: alinhar max-width com o header principal (1440px) */
body .page-wrapper .header-control.header-nav.awa-nav-bar > .container {
  max-width: 1440px !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

/* Header principal: padding vertical levemente compactado (14px -> 10px) */
body .page-wrapper .awa-site-header .header.awa-main-header {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

/* Inner do header: max-width alinhado com nav (elimina assimetria) */
body .page-wrapper .awa-site-header .awa-main-header__inner.wp-header {
  max-width: 1440px !important;
  margin: 0 auto !important;
  width: 100% !important;
}


/* -------------------------------------------------------------------
 * 5. ACESSIBILIDADE - Focus rings WCAG 2.1 AA
 *
 *    Garante indicador de foco visivel para navegacao por teclado.
 *    Usa :focus-visible para nao mostrar em clique de mouse.
 * ------------------------------------------------------------------- */

/* Focus ring global: vermelho primario, 2px, offset 2px */
*:focus-visible {
  outline: 2px solid var(--awa-primary, #b73337) !important;
  outline-offset: 2px !important;
  border-radius: 2px;
}

/* Suprimir outline em clique (apenas teclado precisa do indicador) */
*:focus:not(:focus-visible) {
  outline: none !important;
}

/* Botao de busca: outline branco interno (botao ja e vermelho) */
body .page-wrapper .awa-site-header button.action.search:focus-visible {
  outline: 2px solid #ffffff !important;
  outline-offset: -3px !important;
  box-shadow: 0 0 0 3px #b73337 !important;
}

/* Botao do carrinho: mesmo padrao do botao de busca */
body .page-wrapper .awa-site-header .action.showcart:focus-visible {
  outline: 2px solid #ffffff !important;
  outline-offset: -3px !important;
  box-shadow: 0 0 0 3px #b73337 !important;
}

/* Menu vertical: foco visivel nos itens de categoria */
body .page-wrapper .navigation.verticalmenu .level-top:focus-visible {
  outline: 2px solid var(--awa-primary, #b73337) !important;
  outline-offset: -2px !important;
  border-radius: 4px !important;
}

/* Skip-link para leitores de tela e navegacao por teclado */
.skip-to-main-content {
  position: absolute !important;
  top: -100% !important;
  left: 8px !important;
  z-index: 99999 !important;
  background: #b73337 !important;
  color: #fff !important;
  padding: 8px 16px !important;
  border-radius: 4px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  transition: top 0.15s ease !important;
}
.skip-to-main-content:focus {
  top: 8px !important;
}


/* -------------------------------------------------------------------
 * 6. RESPONSIVO - Breakpoints padronizados
 * ------------------------------------------------------------------- */

/* 1280px: menu lateral levemente menor */
@media (max-width: 1280px) {
  body .page-wrapper .awa-header-categories.menu_left_home1 {
    width: 260px !important;
    min-width: 260px !important;
  }
  body .page-wrapper .navigation.verticalmenu.side-verticalmenu > ul.togge-menu.list-category-dropdown {
    width: 260px !important;
    min-width: 260px !important;
    max-width: 260px !important;
  }
}

/* 1024px: tablet landscape */
@media (max-width: 1024px) {
  body .page-wrapper .awa-site-header .awa-main-header__inner.wp-header {
    gap: 8px !important;
  }
  body .page-wrapper .awa-header-categories.menu_left_home1 {
    width: 240px !important;
    min-width: 240px !important;
  }
  body .page-wrapper .navigation.verticalmenu.side-verticalmenu > ul.togge-menu.list-category-dropdown {
    width: 240px !important;
    min-width: 240px !important;
    max-width: 240px !important;
  }
  body .page-wrapper .header-control.header-nav.awa-nav-bar > .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* 768px: tablet portrait */
@media (max-width: 768px) {
  body .page-wrapper .awa-site-header .header.awa-main-header {
    padding: 8px 16px !important;
  }
  body .page-wrapper .awa-site-header .awa-main-header__inner.wp-header {
    gap: 8px !important;
  }
  body .page-wrapper .header-control.header-nav.awa-nav-bar > .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  /* Menu vertical em mobile: painel estatico com scroll */
  body .page-wrapper .navigation.verticalmenu.side-verticalmenu > ul.togge-menu.list-category-dropdown {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: 320px !important;
    overflow-y: auto !important;
  }
}

/* 480px: mobile pequeno */
@media (max-width: 480px) {
  body .page-wrapper .awa-site-header .header.awa-main-header {
    padding: 8px 12px !important;
  }
  /* font-size >= 16px evita zoom automatico no iOS ao focar no input */
  body .page-wrapper .awa-site-header input#search {
    font-size: 16px !important;
  }
}


/* =====================================================================
 * SECAO: CORREÇÕES DE BUGS — CARRINHO (checkout-cart-index)
 * Data: 2026-04-10
 * ===================================================================== */

/* ── Bug 1: Ícone do mini-cart invisível (stroke red-on-red)
   A awa-header-classic-redesign.css usa stroke='%23b73337' (vermelho) sobre
   fundo vermelho. Corrige para branco.
   Especificidade: (0,2,4) + !important — mesmo que o source, mas posterior. */
body .page-wrapper #header .minicart-wrapper a.showcart::before,
body .page-wrapper #header .minicart-wrapper a.header-mini-cart::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 002 2h14a2 2 0 002-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 01-8 0'/%3E%3C/svg%3E") !important;
}

/* ── Bug 2: Botão "Continuar comprando" invisível no carrinho vazio
   body.checkout-cart-index .cart-empty a { color: red !important } (0,2,1)
   bate .awa-cart-empty__cta { color: white !important } (0,1,0).
   Fix: (0,2,2) — especificidade maior garante branco. */
body.checkout-cart-index .cart-empty a.awa-cart-empty__cta,
body.checkout-cart-index .cart-empty a.awa-cart-empty__cta:visited {
    color: #fff !important;
}

body.checkout-cart-index .cart-empty a.awa-cart-empty__cta:hover,
body.checkout-cart-index .cart-empty a.awa-cart-empty__cta:focus-visible {
    color: #fff !important;
}


/* =====================================================================
 * SECAO: MODERNIZAÇÃO — CARDS DE PRODUTO
 * Hover: elevação + sombra suave + transição; não afeta estilos existentes.
 * ===================================================================== */

/* Elevação sutil no hover — categoria, busca, carousels home */
.item-product,
.product-item {
    transition: transform 0.18s ease, box-shadow 0.18s ease;
    will-change: transform;
}

.item-product:hover,
.product-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgb(0 0 0 / 10%);
    z-index: 2;
    position: relative;
}

/* SKU (Cod:) em cinza menor — libera espaço visual para o nome */
.item-product .product-sku,
.product-item .product-sku,
.item-product [class*="sku"],
.product-item [class*="sku"] {
    font-size: 11px !important;
    color: var(--awa-text-muted, #999) !important;
    letter-spacing: 0.02em;
}

/* Títulos de produto: line-height generoso evita clipping */
.item-product .product-name,
.item-product .product-item-name,
.product-item .product-name,
.product-item .product-item-name {
    line-height: 1.4 !important;
}


/* =====================================================================
 * SECAO: MODERNIZAÇÃO — CATEGORIA BANNER SLIM
 * Reduz a altura máxima da imagem de categoria de topo
 * de ~320px para 160px, liberando produtos above the fold.
 * Funciona apenas em catalog-category-view.
 * ===================================================================== */

body.catalog-category-view .category-image {
    max-height: 160px !important;
    overflow: hidden !important;
}

body.catalog-category-view .category-image img {
    width: 100% !important;
    height: 160px !important;
    object-fit: cover !important;
    object-position: center 30%;
    display: block;
}


/* =====================================================================
 * SECAO: MODERNIZAÇÃO — TIPOGRAFIA GLOBAL
 * ===================================================================== */

/* Preços: tnum para alinhamento de dígitos em listagens */
.price-box .price,
.price-wrapper .price,
[data-price-type] .price {
    font-feature-settings: "tnum" 1;
}

/* Trust badges home: ícone e texto levemente maiores */
.awa-home-section .awa-trust-bar,
.top-home-content .awa-trust-bar {
    font-size: 13px;
}

/* =====================================================================
 * SECAO: MODERNIZAÇÃO — EMPTY STATES
 * ===================================================================== */

/* Carrinho vazio: botão com arrow icon */
body.checkout-cart-index .cart-empty .awa-cart-empty__cta::after {
    content: ' →';
    display: inline;
    margin-left: 4px;
    transition: transform 0.15s ease;
    display: inline-block;
}

body.checkout-cart-index .cart-empty .awa-cart-empty__cta:hover::after {
    transform: translateX(3px);
}

/* =====================================================================
 * SECAO: FIX — PDP B2B LOGIN-TO-SEE-PRICE
 * Regras migradas para evitar conflito de cascata.
 * PDP canônico: awa-pdp-b2b-pro.css
 * Cards/home: awa-ux-improvements.css seção 27
 * ===================================================================== */
/* B2B gate legado removido daqui para evitar conflito de cascata. */

/* =====================================================================
 * SECAO: MODERNIZAÇÃO — HOMEPAGE RHYTHM & HEADINGS
 * Reduz espaçamento excessivo entre seções (48px → 28px) e adiciona
 * acento vermelho nas headings de seções centradas.
 * ===================================================================== */

/* Reduz espaçamento vertical entre seções da home */
.awa-home-section {
    margin-top: 28px !important;
    padding-top: 28px !important;
}

/* Heading centrado da seção "Busque por Categorias" */
.awa-category-carousel__header {
    margin-bottom: 28px !important;
}

.awa-category-carousel__header h2 {
    font-size: clamp(20px, 3vw, 26px);
    font-weight: 700;
    color: var(--awa-text-primary, #1a1a1a);
    margin-bottom: 6px;
    position: relative;
    display: inline-block;
}

/* Linha vermelha decorativa abaixo do título centrado */
.awa-category-carousel__header h2::after {
    content: '';
    display: block;
    width: 40px;
    height: 3px;
    background: var(--awa-primary, #b73337);
    border-radius: 2px;
    margin: 8px auto 0;
}

.awa-category-carousel__header p {
    color: var(--awa-text-secondary, #6b7280);
    font-size: 14px;
    margin-top: 0;
}

/* =====================================================================
 * CATEGORY CAROUSEL — Redesign moderno
 * Remove contagem, imagens maiores, cards limpos com sombra
 * ===================================================================== */

/* Remove contagem de produtos */
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .top-home-content--category-carousel
.awa-category-carousel__count {
    display: none !important;
}

/* Track: gap controlado */
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .top-home-content--category-carousel
.awa-category-carousel__track {
    gap: 12px !important;
    padding-bottom: 6px !important;
}

/* Card: branco, shadow leve, proporcional ao viewport */
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .top-home-content--category-carousel
.awa-category-carousel__item {
    width: 190px !important;
    min-width: 170px !important;
    max-width: 220px !important;
    min-height: 220px !important;
    height: 220px !important;
    background: #fff !important;
    border: 1px solid rgba(0, 0, 0, 0.07) !important;
    border-radius: 18px !important;
    padding: 22px 14px 18px !important;
    gap: 12px !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06) !important;
    transition: transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1),
                box-shadow 0.25s ease,
                border-color 0.2s ease !important;
    will-change: transform !important;
}

/* Ícone: maior, circular */
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .top-home-content--category-carousel
.awa-category-carousel__icon {
    width: 128px !important;
    height: 128px !important;
    min-width: 128px !important;
    min-height: 128px !important;
    border-radius: 50% !important;
    background: rgba(183, 51, 55, 0.07) !important;
    padding: 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1),
                background 0.2s ease !important;
}

/* Imagem: preenche o círculo */
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .top-home-content--category-carousel
.awa-category-carousel__icon img,
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .top-home-content--category-carousel
.awa-category-carousel__icon picture {
    width: 92px !important;
    height: 92px !important;
    object-fit: contain !important;
    aspect-ratio: 1 / 1 !important;
}

/* Label: mais legível */
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .top-home-content--category-carousel
.awa-category-carousel__label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    text-align: center !important;
    line-height: 1.3 !important;
    letter-spacing: -0.01em !important;
}

/* Hover: lift + shadow vermelha suave */
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .top-home-content--category-carousel
.awa-category-carousel__item:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 10px 28px rgba(183, 51, 55, 0.15),
                0 3px 8px rgba(0, 0, 0, 0.06) !important;
    border-color: rgba(183, 51, 55, 0.3) !important;
    background: #fff !important;
}

:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .top-home-content--category-carousel
.awa-category-carousel__item:hover .awa-category-carousel__icon {
    background: rgba(183, 51, 55, 0.12) !important;
    transform: scale(1.07) !important;
}

:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .top-home-content--category-carousel
.awa-category-carousel__item:hover .awa-category-carousel__label {
    color: var(--awa-primary, #b73337) !important;
}

/* "Super Ofertas" heading — alinha com os outros headings de seção */
.rokan-product-heading h2,
.rokan-onsale-heading h2 {
    font-size: clamp(18px, 2.5vw, 22px) !important;
    font-weight: 700 !important;
    color: var(--awa-text-primary, #1a1a1a) !important;
}

/* =====================================================================
 * SECAO: MODERNIZAÇÃO — HEADER AUTH PROMPT CHIPS
 * Login e cadastre-se viram chips/badges com cores distintas.
 * ===================================================================== */

.awa-header-auth-prompt {
    align-items: center !important;
    gap: 6px !important;
}

.awa-header-auth-prompt__text {
    font-size: 12px !important;
    line-height: 1.5 !important;
    color: var(--awa-text-secondary, #6b7280) !important;
}

/* Ambos os links como chips inline */
.awa-header-auth-prompt__link {
    display: inline-flex !important;
    align-items: center !important;
    padding: 2px 9px !important;
    border-radius: 20px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.6 !important;
    text-decoration: none !important;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
    border: 1px solid var(--awa-primary, #b73337) !important;
    color: var(--awa-primary, #b73337) !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Primeiro link (Login) — filled */
.awa-header-auth-prompt__text a.awa-header-auth-prompt__link:first-of-type {
    background: var(--awa-primary, #b73337) !important;
    color: #fff !important;
}

.awa-header-auth-prompt__text a.awa-header-auth-prompt__link:first-of-type:hover {
    background: #8e2629 !important;
    color: #fff !important;
    box-shadow: 0 2px 8px rgb(183 51 55 / 30%) !important;
}

/* Segundo link (cadastre-se) — outlined */
.awa-header-auth-prompt__text a.awa-header-auth-prompt__link:last-of-type:hover {
    background: var(--awa-primary, #b73337) !important;
    color: #fff !important;
}


/* =====================================================================
 * MODERNIZAÇÃO COMPLETA — HOMEPAGE + RODAPÉ
 * Versão: 2026-04-10
 * WCAG 2.1 AA compliance: todos os pares de cores verificados
 * ===================================================================== */


/* ─────────────────────────────────────────────────────────────────────
   ANIMAÇÕES DE ENTRADA — fade-up suave para seções .awa-revealed
   ───────────────────────────────────────────────────────────────────── */

@keyframes awa-fade-up {
    from { opacity: 0; transform: translateY(18px); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes awa-fade-in {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Apenas homepage — não aplicar em outras páginas */
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.awa-reveal:not(.awa-revealed) {
    opacity: 0;
}

:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.awa-reveal.awa-revealed {
    animation: awa-fade-up 0.52s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

/* Stagger via CSS custom property --item-index */
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.awa-reveal-stagger.awa-revealed > * {
    animation: awa-fade-up 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
    animation-delay: calc(var(--item-index, 0) * 55ms);
}


/* ─────────────────────────────────────────────────────────────────────
   HOMEPAGE — TIPOGRAFIA E ESPAÇAMENTO DE SEÇÕES
   ───────────────────────────────────────────────────────────────────── */

/* Headings de todas as seções produto: tamanho fluido + decoração */
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .rokan-product-heading h2,
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .rokan-onsale-heading h2,
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper [class*="rokan-"] .section-title h2,
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .awa-pdp-mostviewed h2,
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .awa-home-section h2 {
    font-size: clamp(18px, 2.4vw, 24px) !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    letter-spacing: -0.02em !important;
    line-height: 1.2 !important;
}

/* Separador vermelho abaixo dos headings de seção */
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .rokan-product-heading h2::after,
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .rokan-onsale-heading h2::after {
    content: '';
    display: block;
    width: 36px;
    height: 3px;
    background: #b73337;
    border-radius: 2px;
    margin-top: 8px;
}

/* ─────────────────────────────────────────────────────────────────────
   HOMEPAGE — CARDS DE PRODUTO: HOVER SUAVE
   ───────────────────────────────────────────────────────────────────── */

:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .swiper-slide .product-thumb,
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .product-item .product-item-info {
    border-radius: 12px !important;
    transition: box-shadow 0.24s ease, transform 0.24s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    will-change: transform !important;
}

:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .swiper-slide .product-thumb:hover,
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .product-item .product-item-info:hover {
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.10) !important;
    transform: translateY(-3px) !important;
}


/* ─────────────────────────────────────────────────────────────────────
   RODAPÉ — REMOVER FUNDO ESCURO: RESET TOTAL
   awa-bundle-refinements.css define background: var(--awa-bg-dark) !important
   Este arquivo carrega APÓS refinements, portanto nossos !important vencem.
   ───────────────────────────────────────────────────────────────────── */

/* Reset completo de backgrounds escuros */
.page-footer,
.page_footer,
.page_footer.awa-footer--dark,
body .page-wrapper .page_footer,
body .page-wrapper .page_footer.awa-footer--dark,
body .page-wrapper .page-footer {
    background: #f8fafc !important;
    background-image: none !important;
    background-color: #f8fafc !important;
    color: #1a1a1a !important;
    border-top: 3px solid #b73337 !important;
}

/* Container interno: branco puro */
/* Seletores com #footer para superar especificidade (1,3,0) do awa-bundle-phases.css */
body .page-wrapper .page_footer #footer.footer-container,
body .page-wrapper .page_footer #footer.footer-container.layout2,
body .page-wrapper .page_footer #footer.footer-container.footer,
body .page-wrapper .page_footer .footer-container,
body .page-wrapper .page_footer #footer,
body .page-wrapper .page_footer .footer-container.layout2,
body .page-wrapper .page_footer .footer-static,
body .page-wrapper .page_footer .velaBlock,
.page_footer #footer.footer-container,
.page_footer #footer.footer-container.layout2,
.page_footer #footer.footer-container.footer,
.page_footer .footer-container,
.page_footer #footer,
.page_footer .footer-container.layout2,
.footer-container.layout2 {
    background: #fff !important;
    background-image: none !important;
    background-color: #fff !important;
    color: #1a1a1a !important;
}


/* ─────────────────────────────────────────────────────────────────────
   RODAPÉ — TRUST-TRUST-TRUST: cobertura total de classes trust dark
   Refinements usa .awa-footer-trust (sem -bar) com background dark
   ───────────────────────────────────────────────────────────────────── */

.awa-footer-trust,
body .page-wrapper .page_footer .awa-footer-trust,
body .page-wrapper .page-footer .awa-footer-trust,
.awa-footer-trust-bar,
body .page-wrapper .page_footer .awa-footer-trust-bar {
    background: #fff !important;
    background-color: #fff !important;
    border-top: none !important;
    border-bottom: 1px solid #f0f0f0 !important;
    padding: 22px 0 !important;
    color: #1a1a1a !important;
}

/* ─────────────────────────────────────────────────────────────────────
   RODAPÉ — TRUST BAR (Envio, Segurança, Garantia, Atacado)
   ───────────────────────────────────────────────────────────────────── */

.awa-footer-trust-bar {
    background: #fff !important;
    border-top: none !important;
    border-bottom: 1px solid #f0f0f0 !important;
    padding: 22px 0 !important;
}

.awa-footer-trust-icon {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    border-radius: 50% !important;
    background: rgba(183, 51, 55, 0.09) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #b73337 !important;
    flex-shrink: 0 !important;
}

.awa-footer-trust-icon svg {
    width: 20px !important;
    height: 20px !important;
    fill: currentColor !important;
    color: #b73337 !important;
}

.awa-footer-trust-copy strong {
    font-size: 12.5px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;  /* contrast: 16.1:1 ✓ AAA */
    line-height: 1.35 !important;
}

.awa-footer-trust-copy span {
    font-size: 11.5px !important;
    color: #4b5563 !important;  /* contrast: 7.0:1 ✓ AA */
    line-height: 1.35 !important;
}


/* ─────────────────────────────────────────────────────────────────────
   RODAPÉ — TAGS DE CATEGORIA (pills)
   ───────────────────────────────────────────────────────────────────── */

.awa-footer-tags {
    background: #fafafa !important;
    border-bottom: 1px solid #f0f0f0 !important;
    padding: 14px 0 !important;
}

.awa-footer-tags__inner {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

.awa-footer-tags__label {
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    color: #6b7280 !important;  /* contrast: 4.54:1 ✓ AA */
    white-space: nowrap !important;
    margin: 4px 0 0 !important;
    padding: 0 !important;
}

.footer-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
}

.footer-tags a {
    display: inline-block !important;
    padding: 3px 10px !important;
    background: #fff !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 20px !important;
    font-size: 12px !important;
    color: #4b5563 !important;  /* contrast: 7.0:1 ✓ AA */
    text-decoration: none !important;
    transition: border-color 0.15s, color 0.15s, background 0.15s !important;
    line-height: 1.6 !important;
}

.footer-tags a:hover {
    border-color: #b73337 !important;
    color: #b73337 !important;  /* contrast: 4.56:1 ✓ AA (bold ≥14px) */
    background: rgba(183, 51, 55, 0.04) !important;
    text-decoration: none !important;
}


/* ─────────────────────────────────────────────────────────────────────
   RODAPÉ — COLUNAS VELAFOOTER (Quem somos, Suporte, Categorias, Contato)
   ───────────────────────────────────────────────────────────────────── */

.footer-static.velaBlock .container {
    padding-top: 36px !important;
    padding-bottom: 28px !important;
}

/* Título de cada coluna */
.velaFooterTitle,
.page_footer .velaFooterTitle,
body .page-wrapper .page_footer .velaFooterTitle,
body .page-wrapper .page_footer .velaFooterTitle a,
.footer-container .velaFooterTitle {
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #1a1a1a !important;  /* contrast: 16.1:1 ✓ AAA */
    background: transparent !important;
    border: none !important;
    border-bottom: 2px solid rgba(183, 51, 55, 0.18) !important;
    padding: 0 0 10px !important;
    margin: 0 0 14px !important;
    cursor: default !important;
    text-decoration: none !important;
}

/* Links de navegação das colunas */
.velaFooterLinks,
.page_footer .velaFooterLinks,
body .page-wrapper .page_footer .velaFooterLinks,
body .page-wrapper .page_footer ul.velaFooterLinks {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

.velaFooterLinks li,
body .page-wrapper .page_footer .velaFooterLinks li {
    padding: 0 !important;
    margin: 0 0 2px !important;
    border: none !important;
    background: transparent !important;
}

.velaFooterLinks li a,
.page_footer .velaFooterLinks li a,
body .page-wrapper .page_footer .velaFooterLinks li a,
body .page-wrapper .page_footer .footer-links li a {
    display: block !important;
    padding: 5px 0 !important;
    font-size: 13.5px !important;
    font-weight: 400 !important;
    color: #374151 !important;  /* contrast: 10.7:1 ✓ AAA */
    text-decoration: none !important;
    line-height: 1.5 !important;
    background: transparent !important;
    border: none !important;
    transition: color 0.15s ease, padding-left 0.15s ease !important;
}

.velaFooterLinks li a:hover,
.page_footer .velaFooterLinks li a:hover,
body .page-wrapper .page_footer .velaFooterLinks li a:hover,
body .page-wrapper .page_footer .footer-links li a:hover {
    color: #b73337 !important;
    padding-left: 6px !important;
    text-decoration: none !important;
}


/* ─────────────────────────────────────────────────────────────────────
   RODAPÉ — COLUNA ATENDIMENTO (telefone, email, social)
   ───────────────────────────────────────────────────────────────────── */

.awa-footer-atendimento__label {
    font-size: 10.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    color: #6b7280 !important;
    margin: 0 0 4px !important;
    padding: 0 !important;
    background: transparent !important;
}

.awa-footer-atendimento__phone,
.awa-footer-atendimento__phone a {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #1a1a1a !important;
    text-decoration: none !important;
    letter-spacing: -0.03em !important;
    line-height: 1.2 !important;
    display: block !important;
    margin-bottom: 6px !important;
}

.awa-footer-atendimento__email a {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #b73337 !important;
    text-decoration: none !important;
    display: block !important;
    margin-bottom: 14px !important;
    transition: color 0.15s !important;
}

.awa-footer-atendimento__email a:hover {
    color: #8e2629 !important;
    text-decoration: underline !important;
}

.awa-footer-atendimento__actions {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 16px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}

.awa-footer-atendimento__actions li a {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 6px 0 !important;
    font-size: 13px !important;
    color: #374151 !important;
    text-decoration: none !important;
    transition: color 0.15s !important;
}

.awa-footer-atendimento__actions li a:hover {
    color: #b73337 !important;
}

/* Label "Siga a Awa Motos" */
.awa-footer-atendimento__label--social {
    margin-top: 16px !important;
    margin-bottom: 10px !important;
}

/* Redes sociais */
.awa-footer-pro__social {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.awa-footer-pro__social-link,
body .page-wrapper .page_footer .awa-footer-pro__social-link,
body .page-wrapper .page_footer .footer-social-section .social-links a,
body .page-wrapper .page_footer .vela-footer-social a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: #f0f2f5 !important;
    color: #4b5563 !important;
    text-decoration: none !important;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
    border: 1px solid #dde1e7 !important;
}

.awa-footer-pro__social-link:hover,
body .page-wrapper .page_footer .awa-footer-pro__social-link:hover,
body .page-wrapper .page_footer .footer-social-section .social-links a:hover,
body .page-wrapper .page_footer .vela-footer-social a:hover {
    background: #b73337 !important;
    color: #fff !important;
    border-color: #b73337 !important;
    transform: translateY(-3px) scale(1.05) !important;
    outline: none !important;
}

.awa-footer-pro__social-link svg {
    width: 15px !important;
    height: 15px !important;
    fill: currentColor !important;
}


/* ─────────────────────────────────────────────────────────────────────
   RODAPÉ — CATEGORIAS EXPANSÍVEIS
   ───────────────────────────────────────────────────────────────────── */

.awa-footer-categories-expand {
    background: #fafafa !important;
    border-top: 1px solid #f0f0f0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
    padding: 6px 0 !important;
}

.awa-footer-categories-expand__toggle {
    background: transparent !important;
    border: none !important;
    color: #4b5563 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    padding: 8px 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    transition: color 0.15s !important;
}

.awa-footer-categories-expand__toggle:hover {
    color: #b73337 !important;
}

.awa-footer-categories-list {
    list-style: none !important;
    padding: 8px 0 12px !important;
    margin: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px 16px !important;
}

.awa-footer-categories-list a {
    font-size: 13px !important;
    color: #4b5563 !important;
    text-decoration: none !important;
    line-height: 2 !important;
    transition: color 0.15s !important;
}

.awa-footer-categories-list a:hover {
    color: #b73337 !important;
}


/* ─────────────────────────────────────────────────────────────────────
   RODAPÉ — BARRA INFERIOR (logo + pagamentos + copyright)
   Refinements define: .footer-bottom { background: var(--awa-gray-950) !important }
   ───────────────────────────────────────────────────────────────────── */

.footer-bottom,
.page_footer .footer-bottom,
body .page-wrapper .page_footer .footer-bottom,
body .page-wrapper .page-footer .footer-bottom,
.copyright {
    background: #f0f2f5 !important;
    background-image: none !important;
    background-color: #f0f2f5 !important;
    border-top: 1px solid #dde1e7 !important;
    color: #6b7280 !important;
}

.footer-bottom-inner,
.footer-bottom .footer-bottom-inner,
body .page-wrapper .page_footer .footer-bottom .footer-bottom-inner {
    padding: 20px 0 !important;
    background: transparent !important;
    border-top: none !important;
    margin-top: 0 !important;
}

.awa-footer-bottom__row {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
}

.awa-footer-bottom__logo-img {
    max-width: 120px !important;
    height: auto !important;
    display: block !important;
    /* Ajuste se o logo for escuro: sem filtro (logo na barra clara já funciona) */
}

.awa-footer-pay-sec__label,
.awa-footer-pay-sec .awa-footer-pay-sec__label {
    font-size: 10.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    color: #6b7280 !important;
    margin-bottom: 8px !important;
    display: block !important;
    background: transparent !important;
}

.awa-pay-logo {
    background: #fff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 6px !important;
    min-width: 42px !important;
    min-height: 26px !important;
    padding: 3px 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: border-color 0.15s !important;
}

.awa-pay-logo:hover {
    border-color: #b73337 !important;
}

/* Copyright e textos legais no rodapé inferior */
.footer-bottom p,
.footer-bottom .copyright,
.footer-bottom span,
.footer-bottom a {
    color: #6b7280 !important;
    font-size: 12px !important;
    background: transparent !important;
}

.footer-bottom a:hover {
    color: #b73337 !important;
}


/* ─────────────────────────────────────────────────────────────────────
   RODAPÉ — BRAND SLIDER (logos das marcas)
   ───────────────────────────────────────────────────────────────────── */

.footer_brand_list_slider,
.footer_brand_list_slider .swiper-wrapper,
.footer_brand_list_slider .swiper-slide {
    background: transparent !important;
}


/* ─────────────────────────────────────────────────────────────────────
   RESPONSIVO — RODAPÉ
   ───────────────────────────────────────────────────────────────────── */

@media (max-width: 991px) {
    .footer-static.velaBlock .container {
        padding-top: 28px !important;
        padding-bottom: 20px !important;
    }

    .awa-footer-bottom__row {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 20px !important;
    }
}

@media (max-width: 767px) {
    /* Colunas velafooter: accordion no mobile */
    .velaFooterTitle {
        font-size: 13px !important;
        padding: 12px 0 !important;
        border-bottom: 1px solid #f0f0f0 !important;
        margin: 0 !important;
        cursor: pointer !important;
    }

    .velaContent {
        padding-bottom: 8px !important;
    }

    .awa-footer-atendimento__phone,
    .awa-footer-atendimento__phone a {
        font-size: 18px !important;
    }

    .awa-footer-tags__inner {
        flex-direction: column !important;
        gap: 8px !important;
    }
}

@media (max-width: 479px) {
    .footer-tags a {
        font-size: 11.5px !important;
        padding: 3px 8px !important;
    }

    .awa-footer-trust-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 14px !important;
    }
}


/* ─────────────────────────────────────────────────────────────────────
   HOMEPAGE — RESPONSIVO
   ───────────────────────────────────────────────────────────────────── */

@media (max-width: 767px) {
    /* Category carousel: itens menores no mobile */
    :is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
    .page-wrapper .top-home-content--category-carousel
    .awa-category-carousel__item {
        width: 140px !important;
        min-width: 130px !important;
        min-height: 180px !important;
        height: 180px !important;
        padding: 16px 10px 14px !important;
    }

    :is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
    .page-wrapper .top-home-content--category-carousel
    .awa-category-carousel__icon {
        width: 96px !important;
        height: 96px !important;
        min-width: 96px !important;
        min-height: 96px !important;
        padding: 14px !important;
    }

    :is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
    .page-wrapper .top-home-content--category-carousel
    .awa-category-carousel__icon img,
    :is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
    .page-wrapper .top-home-content--category-carousel
    .awa-category-carousel__icon picture {
        width: 68px !important;
        height: 68px !important;
    }
}

/* ─────────────────────────────────────────────────────────────────────
   HOMEPAGE — AWA SECTION HEADER (eyebrow + title + "Ver todos" link)
   Used in: Mais Vendidos, Lançamentos, Guidões, Bauletos, etc.
   ───────────────────────────────────────────────────────────────────── */

.awa-section-header,
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .awa-section-header {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 20px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid #f0f0f0 !important;
}

.awa-section-header__left,
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .awa-section-header__left {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}

.awa-section-header__eyebrow,
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .awa-section-header__eyebrow {
    display: inline-block !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: #b73337 !important;
    line-height: 1 !important;
    margin-bottom: 4px !important;
}

.awa-section-header__title,
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .awa-section-header__title {
    font-size: clamp(18px, 2.2vw, 22px) !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    letter-spacing: -0.02em !important;
    line-height: 1.2 !important;
    margin: 0 !important;
}

.awa-section-header__link,
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .awa-section-header__link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #b73337 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    padding: 6px 14px !important;
    border: 1.5px solid rgba(183, 51, 55, 0.3) !important;
    border-radius: 20px !important;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease !important;
    flex-shrink: 0 !important;
    align-self: center !important;
}

.awa-section-header__link:hover,
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .awa-section-header__link:hover {
    background: #b73337 !important;
    border-color: #b73337 !important;
    color: #fff !important;
    text-decoration: none !important;
}

.awa-section-header__link svg {
    transition: transform 0.15s ease !important;
    flex-shrink: 0 !important;
}

.awa-section-header__link:hover svg {
    transform: translateX(2px) !important;
}


/* ─────────────────────────────────────────────────────────────────────
   HOMEPAGE — BENEFITS BAR (Compra Garantida, PIX, Parcelas, etc.)
   ───────────────────────────────────────────────────────────────────── */

.awa-benefits-bar,
body .page-wrapper .awa-benefits-bar {
    background: #fff !important;
    border-top: 1px solid #f0f0f0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
    padding: 16px 0 !important;
}

.awa-benefits-container {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    flex-wrap: wrap !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 16px !important;
}

.awa-benefit-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 8px 24px !important;
    flex: 1 1 200px !important;
    min-width: 180px !important;
    max-width: 280px !important;
    border-right: 1px solid #f0f0f0 !important;
    transition: background 0.15s ease !important;
}

.awa-benefit-item:last-child {
    border-right: none !important;
}

.awa-benefit-icon {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    color: #b73337 !important;
    flex-shrink: 0 !important;
}

.awa-benefit-text {
    display: flex !important;
    flex-direction: column !important;
    gap: 1px !important;
}

.awa-benefit-title {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    line-height: 1.3 !important;
}

.awa-benefit-desc {
    font-size: 11.5px !important;
    color: #6b7280 !important;
    line-height: 1.35 !important;
}

@media (max-width: 767px) {
    .awa-benefit-item {
        flex: 1 1 calc(50% - 24px) !important;
        border-right: none !important;
        padding: 8px 12px !important;
        min-width: 140px !important;
    }
}


/* ─────────────────────────────────────────────────────────────────────
   HOMEPAGE — HERO BANNER TEXT OVERLAY
   ───────────────────────────────────────────────────────────────────── */

.banner_item .text-banner {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    padding: 32px 48px !important;
    background: linear-gradient(to top, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.15) 60%, transparent 100%) !important;
    pointer-events: none !important;
}

.banner_item .text-banner h2 {
    font-size: clamp(22px, 3.5vw, 40px) !important;
    font-weight: 800 !important;
    color: #fff !important;
    line-height: 1.2 !important;
    letter-spacing: -0.02em !important;
    margin: 0 0 6px !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.3) !important;
}

.banner_item .text-banner p {
    font-size: clamp(13px, 1.5vw, 17px) !important;
    color: rgba(255, 255, 255, 0.9) !important;
    margin: 0 !important;
    text-shadow: 0 1px 4px rgba(0,0,0,0.25) !important;
}

/* Banner image: proper aspect-ratio cover */
.banner_item_bg img,
.banner_item_bg source,
.banner_item_bg picture img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* Hover: slight zoom */
.banner-hover {
    display: block !important;
    overflow: hidden !important;
}

.banner-hover img {
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    will-change: transform !important;
}

.banner-hover:hover img {
    transform: scale(1.03) !important;
}


/* ─────────────────────────────────────────────────────────────────────
   HOMEPAGE — TRUST IMAGE BANNERS (3 colunas acima de Super Ofertas)
   ───────────────────────────────────────────────────────────────────── */

.top-home-content--trust-and-offers .bs-banner {
    border-radius: 10px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.06) !important;
    transition: box-shadow 0.2s ease, transform 0.2s ease !important;
}

.top-home-content--trust-and-offers .bs-banner:hover {
    box-shadow: 0 6px 20px rgba(0,0,0,0.12) !important;
    transform: translateY(-2px) !important;
}

.top-home-content--trust-and-offers .bs-banner img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
}


/* ─────────────────────────────────────────────────────────────────────
   HOMEPAGE — SUPER OFERTAS / HOT DEAL (countdown + produtos)
   ───────────────────────────────────────────────────────────────────── */

.rokan-onsale-heading,
.page-wrapper .rokan-onsale-heading {
    margin-bottom: 0 !important;
}

.rokan-onsale-heading h2 span.sup-title {
    font-size: 0.6em !important;
    font-weight: 400 !important;
    color: #6b7280 !important;
    letter-spacing: 0.02em !important;
    text-transform: uppercase !important;
    vertical-align: middle !important;
    margin-left: 8px !important;
}

/* Countdown block */
.countdown_block {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
    margin-bottom: 20px !important;
    padding: 12px 16px !important;
    background: #fff5f5 !important;
    border: 1px solid rgba(183, 51, 55, 0.15) !important;
    border-radius: 10px !important;
}

.title_countdown {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #b73337 !important;
    white-space: nowrap !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}


/* ─────────────────────────────────────────────────────────────────────
   HOMEPAGE — ADD TO CART BUTTON (carousel cards)
   ───────────────────────────────────────────────────────────────────── */

.btn-add-to-cart,
.action.tocart.primary,
.item-product .btn-add-to-cart,
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .btn-add-to-cart {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 9px 14px !important;
    background: #b73337 !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    border: none !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: background 0.15s ease, transform 0.12s ease, box-shadow 0.15s ease !important;
    white-space: nowrap !important;
    line-height: 1.4 !important;
}

.btn-add-to-cart:hover,
.action.tocart.primary:hover,
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .btn-add-to-cart:hover {
    background: #8e2629 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(183, 51, 55, 0.35) !important;
    color: #fff !important;
}

.btn-add-to-cart:active,
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .btn-add-to-cart:active {
    transform: translateY(0) !important;
    box-shadow: none !important;
}

/* product-info-cart container */
.product-info-cart {
    margin-top: 8px !important;
}


/* ─────────────────────────────────────────────────────────────────────
   HOMEPAGE — SWIPER NAVIGATION BUTTONS
   ───────────────────────────────────────────────────────────────────── */

:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .swiper-button-prev,
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .swiper-button-next {
    width: 40px !important;
    height: 40px !important;
    background: #fff !important;
    border: 1.5px solid #e0e0e0 !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.10) !important;
    color: #374151 !important;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease !important;
}

:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .swiper-button-prev::after,
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .swiper-button-next::after {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #374151 !important;
}

:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .swiper-button-prev:hover,
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .swiper-button-next:hover {
    background: #b73337 !important;
    border-color: #b73337 !important;
    box-shadow: 0 4px 12px rgba(183, 51, 55, 0.30) !important;
    color: #fff !important;
}

:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .swiper-button-prev:hover::after,
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .swiper-button-next:hover::after {
    color: #fff !important;
}

:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .swiper-button-disabled {
    opacity: 0.35 !important;
    cursor: not-allowed !important;
}


/* ─────────────────────────────────────────────────────────────────────
   FOOTER — MISSING OVERRIDES (2026-04-11)
   Refinements bundle uses rgba(255,255,255,*) colors invisible on light bg.
   These selectors mirror the exact ones in awa-bundle-refinements.css so
   specificity ties are broken by load-order (we load last → we win).
   ───────────────────────────────────────────────────────────────────── */

/* Copyright section */
.awa-footer-bottom__copyright,
body .page-wrapper .page_footer .awa-footer-bottom__copyright {
    border-top: 1px solid #dde1e7 !important;
    padding-top: 20px !important;
    margin-top: 16px !important;
}

.awa-footer-copyright__main,
body .page-wrapper .page_footer .awa-footer-copyright__main {
    color: #1a1a1a !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

.awa-footer-copyright__legal,
body .page-wrapper .page_footer .awa-footer-copyright__legal {
    color: #4b5563 !important;
    font-size: 12px !important;
}

.awa-footer-copyright__disclaimer,
body .page-wrapper .page_footer .awa-footer-copyright__disclaimer {
    color: #6b7280 !important;
    font-size: 11px !important;
    line-height: 1.6 !important;
}

/* Devby bar — refinements sets background: #111 */
.awa-footer-devby,
body .page-wrapper .page_footer + .awa-footer-devby,
body .page-wrapper .awa-footer-devby {
    background: #eef2f7 !important;
    border-top: 1px solid #dde1e7 !important;
    padding: 12px 0 !important;
}

.awa-footer-devby__label,
body .page-wrapper .awa-footer-devby .awa-footer-devby__label {
    color: #9ca3af !important;
}

.awa-footer-devby__link,
body .page-wrapper .awa-footer-devby .awa-footer-devby__link {
    opacity: 1 !important;
}

/* Security seals — refinements uses white-transparent bg/border (invisible on light bg) */
.awa-seal,
body .page-wrapper .page_footer .awa-seal {
    background: #fff !important;
    border: 1px solid #dde1e7 !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06) !important;
}

.awa-seal:hover,
body .page-wrapper .page_footer .awa-seal:hover {
    background: #f8fafc !important;
    border-color: #b73337 !important;
    box-shadow: 0 3px 10px rgba(183,51,55,0.12) !important;
    outline: none !important;
}

/* Payment/security label */
.awa-footer-pay-sec__label,
body .page-wrapper .page_footer .awa-footer-pay-sec__label {
    color: #374151 !important;
    font-weight: 600 !important;
}

/* Footer newsletter / form inputs on light background */
body .page-wrapper .page_footer .footer-newsletter input[type="email"],
body .page-wrapper .page_footer .block.newsletter .field .control input {
    background: #fff !important;
    border: 1px solid #dde1e7 !important;
    color: #1a1a1a !important;
}

body .page-wrapper .page_footer .footer-newsletter input[type="email"]::placeholder,
body .page-wrapper .page_footer .block.newsletter .field .control input::placeholder {
    color: #9ca3af !important;
}


/* ─────────────────────────────────────────────────────────────────────
     PDP — CANONICAL MAIN-DETAIL LAYOUT (2026-04-13)
     fonte autoritativa da dobra principal do produto.

     Contexto:
         • awa-bundle-pdp.css mistura regras 40/58 e 50/50 para .col-md-6
         • o HTML real da PDP usa .main-detail > .row > .col-md-6 para galeria/info
         • este arquivo carrega por último em async, então é o lugar certo para
             neutralizar widths legadas do Bootstrap/bundles e estabilizar o grid.

     Estratégia:
         • desktop: grid de 2 colunas iguais, sem overflow e com gap fixo
         • mobile/tablet: empilhamento em 100%
     ───────────────────────────────────────────────────────────────────── */

@media (min-width: 992px) {
    body.catalog-product-view .main-detail > .row {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: flex-start !important;
        gap: 32px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body.catalog-product-view .main-detail > .row > .col-md-6,
    body.catalog-product-view .main-detail > .row > .col-md-6.col-sm-6.col-xs-12 {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        max-width: none !important;
        width: auto !important;
        float: none !important;
        clear: none !important;
        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* Below 992px: stack columns, full width */
@media (max-width: 991px) {
    body.catalog-product-view .main-detail > .row {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: flex-start !important;
        gap: 0 !important;
    }

    body.catalog-product-view .main-detail > .row > .col-md-6,
    body.catalog-product-view .main-detail > .row > .col-md-6.col-sm-6.col-xs-12 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
        float: none !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* ─────────────────────────────────────────────────────────────────────
   PDP — EXPANDIR COLUNA PRINCIPAL PARA LARGURA TOTAL
   O template usa layout-2-col (.col-md-9) mas não tem sidebar.
   Forçar 100% para aproveitar toda a largura disponível.
   ───────────────────────────────────────────────────────────────────── */
body.catalog-product-view .columns.layout > .col-main {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}

/* ─────────────────────────────────────────────────────────────────────
   PDP — TABS / ACCORDION: corrigir margin-top excessiva do tema
   themes.css define margin-top:80px em .product.info.detailed
   ───────────────────────────────────────────────────────────────────── */
body.catalog-product-view .product.info.detailed {
    margin-top: 24px !important;
}

body.catalog-product-view .product-view .product.info.detailed {
    margin-bottom: 16px !important;
}

/* Remover padding interno desnecessário antes do primeiro tab */
body.catalog-product-view .product.data.items {
    padding-top: 0 !important;
}


/* =====================================================================
 * FASE 1 — PADRONIZAÇÃO GLOBAL VISUAL B2B PREMIUM
 * Data: 2026-04-15
 * Objetivo: Compactar espaçamento, padronizar tipografia, eliminar ruído
 * ===================================================================== */


/* -------------------------------------------------------------------
 * SEÇÃO: Espaçamento vertical entre seções da homepage
 * Problema: Excesso de whitespace entre carrosséis
 * Fix: Reduzir margin/padding entre seções de produto
 * ------------------------------------------------------------------- */

/* Reduzir espaçamento entre seções de produto na homepage */
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .ayo-home-block,
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .top-home-content,
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .awa-home-section {
    margin-bottom: 24px !important;
    padding-bottom: 24px !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Separador fino entre seções ao invés de espaço morto */
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .ayo-home-block + .ayo-home-block,
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .top-home-content + .top-home-content,
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .awa-home-section + .awa-home-section {
    border-top: 1px solid #f0f0f0 !important;
    padding-top: 24px !important;
}

/* Rokan widget blocks: compactar */
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .rokan-newproduct,
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .rokan-bestseller,
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .rokan-onsale,
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .rokan-featured,
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .rokan-mostviewed,
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .categorytab-container,
:is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
.page-wrapper .list-tab-product {
    margin-bottom: 8px !important;
}


/* -------------------------------------------------------------------
 * SEÇÃO: Sub-títulos de seção (TOPO, NOVO, CATEGORIA)
 * Problema: Tags/subtítulos (.sup-title) acima dos headings muito destacados
 * Fix: Tornar mais discretos e uniformes
 * ------------------------------------------------------------------- */

/* Sup-title: chip discreto e uniforme */
.rokan-product-heading .sup-title,
.rokan-onsale-heading .sup-title,
[class*="rokan-"] .rokan-product-heading .sup-title {
    display: inline-block !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: var(--awa-primary, #b73337) !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 0 2px !important;
    line-height: 1.6 !important;
    border: none !important;
}


/* -------------------------------------------------------------------
 * SEÇÃO: Card COD tag — mais discreto
 * Problema: COD: XXXX com borda e mono muito pesado visualmente
 * Fix: Tornar mais sutil
 * ------------------------------------------------------------------- */

/* COD tag: mais discreto, sem borda */
.item-product .awa-b2b-sku,
.swiper-slide .awa-b2b-sku {
    display: inline-flex !important;
    align-items: center !important;
    gap: 3px !important;
    font-size: 10px !important;
    color: #999 !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin-bottom: 6px !important;
    line-height: 1.4 !important;
}

.item-product .awa-b2b-sku .awa-b2b-sku__label,
.swiper-slide .awa-b2b-sku .awa-b2b-sku__label {
    font-weight: 400 !important;
    font-size: inherit !important;
    color: inherit !important;
    font-family: inherit !important;
}

.item-product .awa-b2b-sku .awa-b2b-sku__value,
.swiper-slide .awa-b2b-sku .awa-b2b-sku__value {
    font-weight: 500 !important;
    color: #777 !important;
    font-family: inherit !important;
}


/* -------------------------------------------------------------------
 * SEÇÃO: Badge NOVO — mais compacto e discreto
 * Problema: Badge um pouco grande para os cards
 * Fix: Reduzir tamanho mantendo legibilidade
 * ------------------------------------------------------------------- */

/* Badges nos cards: mais compactos */
.item-product .onsale,
.item-product .new-lable,
.item-product .onsale.new-lable,
.swiper-slide .onsale,
.swiper-slide .new-lable {
    font-size: 8px !important;
    padding: 2px 6px !important;
    border-radius: 3px !important;
    letter-spacing: 0.06em !important;
    line-height: 1.5 !important;
}


/* -------------------------------------------------------------------
 * SEÇÃO: Footer "Categorias Populares" — fix visibilidade das pills
 * Problema: pills/tags no footer quase invisíveis (parent theme pode usar
 * classes diferentes de .footer-tags a que já estilizamos acima)
 * Fix: Reforçar seletores com maior especificidade para cobrir variações
 * ------------------------------------------------------------------- */

/* Cobertura ampla: qualquer link dentro de containers de tags do footer */
body .page-wrapper .page_footer .footer-tags a,
body .page-wrapper .page-footer .footer-tags a,
body .page-wrapper .page_footer .awa-footer-tags .footer-tags a,
body .page-wrapper .page_footer [class*="footer-tag"] a,
body .page-wrapper .page_footer .widget .footer-tags a {
    display: inline-block !important;
    padding: 4px 12px !important;
    background: #fff !important;
    border: 1px solid #d1d5db !important;
    border-radius: 20px !important;
    font-size: 12px !important;
    color: #374151 !important;
    text-decoration: none !important;
    line-height: 1.6 !important;
    transition: border-color 0.15s, color 0.15s, background 0.15s !important;
}

body .page-wrapper .page_footer .footer-tags a:hover,
body .page-wrapper .page-footer .footer-tags a:hover,
body .page-wrapper .page_footer .awa-footer-tags .footer-tags a:hover,
body .page-wrapper .page_footer [class*="footer-tag"] a:hover,
body .page-wrapper .page_footer .widget .footer-tags a:hover {
    border-color: #b73337 !important;
    color: #b73337 !important;
    background: rgba(183, 51, 55, 0.04) !important;
}

/* Categorias populares: título da seção no footer */
body .page-wrapper .page_footer .awa-footer-tags__label,
body .page-wrapper .page-footer .awa-footer-tags__label {
    color: #4b5563 !important;
    font-weight: 700 !important;
}


/* -------------------------------------------------------------------
 * SEÇÃO: Tipografia global — padronizar hierarquia
 * ------------------------------------------------------------------- */

/* Breadcrumbs: compacto e discreto */
.breadcrumbs,
.breadcrumbs .items {
    font-size: 12px !important;
    color: #888 !important;
    padding: 10px 0 !important;
    margin-bottom: 8px !important;
}

.breadcrumbs a {
    color: #666 !important;
    text-decoration: none !important;
}

.breadcrumbs a:hover {
    color: var(--awa-primary, #b73337) !important;
}

.breadcrumbs .separator {
    color: #ccc !important;
    margin: 0 6px !important;
}

/* Paginação: padronizar */
.toolbar-products .pages {
    margin: 16px 0 !important;
}

.pages .items .item {
    margin: 0 2px !important;
}

.pages .items .item a,
.pages .items .item strong {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 36px !important;
    height: 36px !important;
    padding: 0 8px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    transition: background 0.15s ease, color 0.15s ease !important;
}

.pages .items .item a {
    color: #555 !important;
    background: #f5f5f5 !important;
    border: 1px solid #e5e5e5 !important;
}

.pages .items .item a:hover {
    background: var(--awa-primary, #b73337) !important;
    color: #fff !important;
    border-color: var(--awa-primary, #b73337) !important;
}

.pages .items .item.current strong {
    background: var(--awa-primary, #b73337) !important;
    color: #fff !important;
    border: 1px solid var(--awa-primary, #b73337) !important;
}

/* Inputs/Selects globais: padronizar */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="search"],
input[type="url"],
textarea,
select {
    font-family: inherit !important;
    font-size: 14px !important;
    border: 1.5px solid #d9d9d9 !important;
    border-radius: 8px !important;
    padding: 10px 12px !important;
    color: #333 !important;
    background: #fff !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
    box-sizing: border-box !important;
}

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

/* Botões primários globais */
button.action.primary,
.action.primary,
button.action.submit,
.btn-primary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    padding: 0 24px !important;
    background: var(--awa-primary, #b73337) !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border: none !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.12s ease !important;
    box-shadow: 0 2px 6px rgba(183, 51, 55, 0.2) !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

button.action.primary:hover,
.action.primary:hover,
button.action.submit:hover,
.btn-primary:hover {
    background: #982c30 !important;
    box-shadow: 0 4px 12px rgba(183, 51, 55, 0.35) !important;
    transform: translateY(-1px) !important;
}

button.action.primary:active,
.action.primary:active {
    transform: translateY(0) !important;
    box-shadow: 0 1px 4px rgba(183, 51, 55, 0.15) !important;
}

button.action.primary:disabled,
.action.primary:disabled {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Botões secundários */
button.action.secondary,
.action.secondary,
.btn-secondary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    padding: 0 24px !important;
    background: transparent !important;
    color: var(--awa-primary, #b73337) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border: 1.5px solid var(--awa-primary, #b73337) !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: background 0.18s ease, color 0.18s ease !important;
    text-transform: none !important;
}

button.action.secondary:hover,
.action.secondary:hover,
.btn-secondary:hover {
    background: var(--awa-primary, #b73337) !important;
    color: #fff !important;
}


/* =============================================================================
 * FASE 5 — CARRINHO & CHECKOUT — Refinamento visual B2B
 *
 * Ajustes na página de carrinho (checkout-cart-index) e checkout
 * (checkout-index-index) para visual limpo, compacto e premium.
 * Não altera fluxo de negócio, apenas refinamento visual.
 * ============================================================================= */

/* ── 5.1 Carrinho: tabela de produtos ────────────────────────────────── */

/* Table header: discreto e compacto */
body.checkout-cart-index .cart.table-wrapper thead th {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: #888 !important;
    padding: 10px 12px !important;
    border-bottom: 2px solid #eee !important;
    background: transparent !important;
}

/* Linhas de produto: limpas */
body.checkout-cart-index .cart.table-wrapper tbody td {
    padding: 14px 12px !important;
    border-bottom: 1px solid #f3f3f3 !important;
    vertical-align: middle !important;
    font-size: 13px !important;
    color: #333 !important;
}

/* Imagem no carrinho: compacta com border-radius */
body.checkout-cart-index .cart.table-wrapper .product-image-container {
    width: 72px !important;
    max-width: 72px !important;
}

body.checkout-cart-index .cart.table-wrapper .product-image-container img {
    border-radius: 8px !important;
    border: 1px solid #f0f0f0 !important;
}

/* Nome do produto no carrinho */
body.checkout-cart-index .cart.table-wrapper .product-item-name a {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    text-decoration: none !important;
    line-height: 1.35 !important;
}

body.checkout-cart-index .cart.table-wrapper .product-item-name a:hover {
    color: var(--awa-primary, #b73337) !important;
}

/* Preço no carrinho */
body.checkout-cart-index .cart.table-wrapper .price {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
}

/* Input de quantidade: compacto */
body.checkout-cart-index .cart.table-wrapper input.qty {
    width: 52px !important;
    height: 36px !important;
    text-align: center !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 6px !important;
    padding: 0 4px !important;
    background: #fff !important;
}

body.checkout-cart-index .cart.table-wrapper input.qty:focus {
    border-color: var(--awa-primary, #b73337) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(183,51,55,0.12) !important;
}

/* Ações do item (remover, atualizar) */
body.checkout-cart-index .cart.table-wrapper .action-delete,
body.checkout-cart-index .cart.table-wrapper .action-edit {
    font-size: 12px !important;
    color: #999 !important;
    transition: color 0.15s !important;
}

body.checkout-cart-index .cart.table-wrapper .action-delete:hover {
    color: #c00 !important;
}

/* ── 5.2 Carrinho: sumário / totais ──────────────────────────────────── */

/* Summary block: card limpo */
body.checkout-cart-index .cart-summary {
    background: #fafafa !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 12px !important;
    padding: 20px !important;
}

/* Título do sumário */
body.checkout-cart-index .cart-summary > .title {
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #333 !important;
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #eee !important;
}

/* Linhas de totais */
body.checkout-cart-index .cart-totals .table-totals th,
body.checkout-cart-index .cart-totals .table-totals td {
    padding: 8px 0 !important;
    font-size: 13px !important;
    border: none !important;
}

body.checkout-cart-index .cart-totals .table-totals th {
    color: #666 !important;
    font-weight: 500 !important;
}

body.checkout-cart-index .cart-totals .table-totals td {
    text-align: right !important;
    color: #333 !important;
    font-weight: 600 !important;
}

/* Grand total: destaque */
body.checkout-cart-index .cart-totals .grand.totals th,
body.checkout-cart-index .cart-totals .grand.totals td {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    padding-top: 14px !important;
    border-top: 2px solid #ddd !important;
}

/* Botão finalizar compra no carrinho */
body.checkout-cart-index .cart-summary .checkout-methods-items .action.primary.checkout {
    width: 100% !important;
    height: 48px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    border-radius: 10px !important;
    background: var(--awa-primary, #b73337) !important;
    border: none !important;
    color: #fff !important;
    cursor: pointer !important;
    transition: background 0.2s, box-shadow 0.2s !important;
}

body.checkout-cart-index .cart-summary .checkout-methods-items .action.primary.checkout:hover {
    background: #9a2a2d !important;
    box-shadow: 0 4px 14px rgba(183,51,55,0.25) !important;
}

/* ── 5.3 Checkout: layout geral ──────────────────────────────────────── */

/* Container principal do checkout: mais respiração */
body.checkout-index-index .checkout-container {
    max-width: 1200px !important;
    margin: 0 auto !important;
}

/* Steps: visual limpo */
body.checkout-index-index .opc-progress-bar-item > span {
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

/* Step ativo: cor primária */
body.checkout-index-index .opc-progress-bar-item._active > span::before {
    background: var(--awa-primary, #b73337) !important;
    border-color: var(--awa-primary, #b73337) !important;
}

body.checkout-index-index .opc-progress-bar-item._active > span {
    color: var(--awa-primary, #b73337) !important;
}

/* ── 5.4 Checkout: formulários ───────────────────────────────────────── */

/* Labels dos campos */
body.checkout-index-index .field .label {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #555 !important;
    margin-bottom: 4px !important;
}

/* Inputs do checkout */
body.checkout-index-index .field .control input[type="text"],
body.checkout-index-index .field .control input[type="email"],
body.checkout-index-index .field .control input[type="tel"],
body.checkout-index-index .field .control input[type="password"],
body.checkout-index-index .field .control input[type="number"],
body.checkout-index-index .field .control select,
body.checkout-index-index .field .control textarea {
    height: 42px !important;
    padding: 0 12px !important;
    font-size: 14px !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #333 !important;
    transition: border-color 0.15s, box-shadow 0.15s !important;
}

body.checkout-index-index .field .control textarea {
    height: auto !important;
    padding: 10px 12px !important;
    min-height: 80px !important;
}

body.checkout-index-index .field .control input:focus,
body.checkout-index-index .field .control select:focus,
body.checkout-index-index .field .control textarea:focus {
    border-color: var(--awa-primary, #b73337) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(183,51,55,0.1) !important;
}

/* Selects do checkout */
body.checkout-index-index .field .control select {
    padding-right: 32px !important;
    cursor: pointer !important;
}

/* Erros de validação */
body.checkout-index-index .field-error,
body.checkout-index-index .mage-error {
    font-size: 11px !important;
    color: #c00 !important;
    margin-top: 4px !important;
}

/* ── 5.5 Checkout: order summary ─────────────────────────────────────── */

/* Bloco de sumário do pedido no checkout */
body.checkout-index-index .opc-block-summary {
    background: #fafafa !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 12px !important;
    padding: 20px !important;
}

body.checkout-index-index .opc-block-summary > .title {
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #333 !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #eee !important;
    margin-bottom: 14px !important;
}

/* Itens no order summary */
body.checkout-index-index .opc-block-summary .product-item {
    padding: 10px 0 !important;
    border-bottom: 1px solid #f3f3f3 !important;
}

body.checkout-index-index .opc-block-summary .product-item:last-child {
    border-bottom: none !important;
}

body.checkout-index-index .opc-block-summary .product-item-name {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #333 !important;
}

/* Totais no checkout */
body.checkout-index-index .opc-block-summary .table-totals th {
    font-size: 13px !important;
    color: #666 !important;
    font-weight: 500 !important;
}

body.checkout-index-index .opc-block-summary .table-totals td {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #333 !important;
    text-align: right !important;
}

body.checkout-index-index .opc-block-summary .grand.totals th,
body.checkout-index-index .opc-block-summary .grand.totals td {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    padding-top: 14px !important;
    border-top: 2px solid #ddd !important;
}

/* ── 5.6 Checkout: botões de ação ────────────────────────────────────── */

/* Botão "Próximo" / "Place Order" */
body.checkout-index-index .action.primary.checkout,
body.checkout-index-index .action-primary {
    height: 46px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    border-radius: 10px !important;
    background: var(--awa-primary, #b73337) !important;
    border: none !important;
    color: #fff !important;
    cursor: pointer !important;
    padding: 0 28px !important;
    transition: background 0.2s, box-shadow 0.2s !important;
}

body.checkout-index-index .action.primary.checkout:hover,
body.checkout-index-index .action-primary:hover {
    background: #9a2a2d !important;
    box-shadow: 0 4px 14px rgba(183,51,55,0.25) !important;
}

/* Botão secundário (voltar, editar) */
body.checkout-index-index .action.secondary,
body.checkout-index-index .action-secondary {
    font-size: 13px !important;
    color: #666 !important;
    background: transparent !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    padding: 8px 18px !important;
    cursor: pointer !important;
    transition: border-color 0.15s, color 0.15s !important;
}

body.checkout-index-index .action.secondary:hover,
body.checkout-index-index .action-secondary:hover {
    border-color: #999 !important;
    color: #333 !important;
}

/* ── 5.7 Shipping methods ────────────────────────────────────────────── */

body.checkout-index-index .table-checkout-shipping-method {
    border-collapse: separate !important;
    border-spacing: 0 6px !important;
}

body.checkout-index-index .table-checkout-shipping-method td {
    padding: 10px 12px !important;
    font-size: 13px !important;
    background: #fff !important;
    border: 1px solid #eee !important;
}

body.checkout-index-index .table-checkout-shipping-method td:first-child {
    border-radius: 8px 0 0 8px !important;
}

body.checkout-index-index .table-checkout-shipping-method td:last-child {
    border-radius: 0 8px 8px 0 !important;
}

/* Radio buttons: cor primária quando selecionados */
body.checkout-index-index .table-checkout-shipping-method input[type="radio"]:checked {
    accent-color: var(--awa-primary, #b73337) !important;
}

/* ── 5.8 Discount/coupon block ───────────────────────────────────────── */

body.checkout-cart-index .discount-code .block > .title,
body.checkout-index-index .discount-code .block > .title {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #555 !important;
    cursor: pointer !important;
}

body.checkout-cart-index .discount-code input#coupon_code,
body.checkout-index-index .discount-code input {
    height: 40px !important;
    border-radius: 8px !important;
    border: 1px solid #d9d9d9 !important;
    padding: 0 12px !important;
    font-size: 13px !important;
}

body.checkout-cart-index .discount-code .action.apply,
body.checkout-index-index .discount-code .action.apply {
    height: 40px !important;
    border-radius: 8px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    background: #333 !important;
    color: #fff !important;
    border: none !important;
    padding: 0 18px !important;
    cursor: pointer !important;
    transition: background 0.15s !important;
}

body.checkout-cart-index .discount-code .action.apply:hover,
body.checkout-index-index .discount-code .action.apply:hover {
    background: #1a1a1a !important;
}


/* =============================================================================
   PRODUCT GRID — Breakpoint intermediário 576–767px: 3 colunas
   O bloco @media (max-width: 767px) acima define 2 colunas para mobile.
   Este override restaura 3 colunas para tablets pequenos/landscape (576–767px),
   evitando o salto direto de 2 para 4 colunas.
   ============================================================================= */
@media (min-width: 576px) and (max-width: 767px) {
    :is(body.catalog-category-view, body.catalogsearch-result-index)
    .wrapper.grid.products-grid :is(
        .product-grid,
        ul.product-grid,
        ul.container-products-switch
    ) {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: var(--awa-product-card-gap-tablet, 10px) !important;
    }
}


/* =============================================================================
   PAGE-MAIN MOBILE PADDING FIX
   awa-cro-priority.css aplica padding-inline: 24px !important sem media query,
   sobrepondo a regra mobile (max-width: 767px) que não tem !important.
   Este override restaura 16px em mobile, dando +16px de largura para os cards.
   ============================================================================= */
@media (max-width: 767px) {
    :is(body.catalog-category-view, body.catalogsearch-result-index) .page-main,
    :is(body.catalog-category-view, body.catalogsearch-result-index) .page-main.container {
        padding-inline: 16px !important;
    }
}


/* =============================================================================
   WCAG 2.1 AA — Color Contrast Fixes (Lighthouse audit 2026-04)
   Objetivo: superar as regras !important de alta especificidade do
   awa-bundle-refinements.css que forçam white-50 nos elementos do dark footer
   mas cujo background foi sobrescrito para claro por este arquivo.
   Especificidade mínima necessária: (0,6,1) > (0,5,1) do dark footer.
   ============================================================================= */

/* --- Copyright / legal / disclaimer ---
   awa-bundle-refinements dark rule (0,5,1): color: white-50 !important
   Nossa regra (0,7,1): vence por especificidade                              */
body .page-wrapper .page_footer.awa-footer--dark .footer-bottom .footer-bottom-inner .awa-footer-bottom__copyright .awa-footer-copyright__main,
body .page-wrapper .page_footer.awa-footer--dark .footer-bottom .footer-bottom-inner .awa-footer-bottom__copyright .awa-footer-copyright__legal,
body .page-wrapper .page_footer.awa-footer--dark .footer-bottom .footer-bottom-inner .awa-footer-bottom__copyright .awa-footer-copyright__disclaimer {
    color: #4b5563 !important; /* 5.91:1 on #f0f2f5 ✓ WCAG AA */
}

/* --- Pay-sec labels (Pague com / Certificados e Segurança) ---
   Refinements dark rule (0,5,1): color: white-50 !important
   Nossa regra (0,7,1)                                                         */
body .page-wrapper .page_footer.awa-footer--dark .footer-bottom .footer-bottom-inner .awa-footer-pay-sec .awa-footer-pay-sec__label {
    color: #4b5563 !important; /* 5.91:1 on #f0f2f5 ✓ WCAG AA */
}

/* --- Categories expand toggle ---
   Refinements dark rule (0,5,1): color: white-70 !important
   Nossa regra (0,6,1)                                                         */
body .page-wrapper .page_footer.awa-footer--dark .awa-footer-categories-expand .awa-footer-categories-expand__toggle {
    color: #4b5563 !important; /* 5.91:1 on #fafafa ✓ WCAG AA */
}

/* --- Dev-by label ---
   Refinements dark rule (0,4,1): color: white-40 !important
   Nossa regra (0,5,1) carregado depois em source order                       */
body .page-wrapper .page_footer.awa-footer--dark .awa-footer-devby .awa-footer-devby__label,
body .page-wrapper .awa-footer-devby .awa-footer-devby__label {
    color: #4b5563 !important; /* 5.91:1 on #eef2f7 ✓ WCAG AA */
}

/* --- Cookie banner link: #b73337 on #303030 = 2.22:1 ---
   Fix: lighter red #f87171 = 5.75:1 on #303030 ✓ WCAG AA               */
.awa-cookie-banner__link {
    color: #f87171 !important;
}

/* --- Sale badge label: global label rule overrides white inheritance ---
   .sale-text sets color:#fff but a scoped label rule beats it
   Fix: force white inside sale/promo badge spans                              */
.hot-onsale .sale-text label,
.hot-onsale .onsale label,
.product-label .sale-text label,
.categorytab-container .sale-text label {
    color: #ffffff !important; /* white on #b73337 = 6.0:1 ✓ WCAG AA */
}
