/* =====================================================================
 * 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: var(--awa-radius-sm, 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 var(--awa-white, #ffffff) !important;
  outline-offset: -3px !important;
  box-shadow: 0 0 0 3px var(--awa-red, #b73337) !important;
}

/* Botao do carrinho: mesmo padrao do botao de busca */
body .page-wrapper .awa-site-header .action.showcart:focus-visible {
  outline: 2px solid var(--awa-white, #ffffff) !important;
  outline-offset: -3px !important;
  box-shadow: 0 0 0 3px var(--awa-red, #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: var(--awa-red, #b73337) !important;
  color: var(--awa-white, #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: var(--awa-white, #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: var(--awa-white, #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 — IMAGENS DE PRODUTO QUEBRADAS
 * Oculta o alt-text de imagens 404 em carrosséis de produto e
 * mostra um placeholder neutro. O JS em theme.js já tenta _1.jpg
 * como fallback; este CSS é o backstop visual.
 * ===================================================================== */

/* Imagem que falhou: mantém dimensões mas sem alt-text visível */
.awa-pdp-mostviewed img[src*="/media/catalog/product/"],
.awa-pdp-related img[src*="/media/catalog/product/"],
.rokan-mostviewed img[src*="/media/catalog/product/"],
.item-product img[src*="/media/catalog/product/"],
.product-item img[src*="/media/catalog/product/"] {
    /* Quando a imagem falha o browser mostra fundo com alt-text.
       color:transparent esconde o texto do alt sem remover acessibilidade. */
    color: transparent !important;
}

/* Placeholder cinza quando imagem não carrega */
.awa-pdp-mostviewed .product-image-wrapper,
.awa-pdp-related .product-image-wrapper,
.rokan-mostviewed .product-image-wrapper {
    background: var(--awa-gray-100, #f5f5f5);
    border-radius: var(--awa-radius-sm, 8px);
}

/* =====================================================================
 * SECAO: FIX — PDP B2B LOGIN-TO-SEE-PRICE
 * CTA forte em vermelho sólido — mesmo peso visual que "Adicionar ao Carrinho".
 * Substitui o card sutil (fundo rosa-pálido + link vermelho) por botão proeminente.
 * ===================================================================== */

/* Container: botão sólido vermelho */
body.catalog-product-view .product-info-main .b2b-login-to-see-price {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 4px 8px !important;
    background: var(--awa-primary, #b73337) !important;
    border: none !important;
    border-radius: var(--awa-radius-lg, 16px) !important;
    padding: 14px 24px !important;
    min-height: 52px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    transition: background 0.18s ease, transform 0.12s ease, box-shadow 0.18s ease !important;
    box-shadow: 0 2px 8px rgba(183, 51, 55, 0.25) !important;
}

body.catalog-product-view .product-info-main .b2b-login-to-see-price:hover {
    background: var(--awa-primary-hover, #8e2629) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 16px rgba(183, 51, 55, 0.40) !important;
}

/* Price-label: texto auxiliar branco */
body.catalog-product-view .product-info-main .b2b-login-to-see-price .price-label {
    display: inline !important;
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
}

/* Link "Faça login": branco, sublinhado, sem aparência de botão separado */
body.catalog-product-view .product-info-main .b2b-login-to-see-price a {
    color: var(--awa-white, #fff) !important;
    background: transparent !important;
    background-image: none !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    text-decoration-color: rgba(255, 255, 255, 0.6) !important;
    text-underline-offset: 2px !important;
    display: inline !important;
    min-height: auto !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    box-shadow: none !important;
}

body.catalog-product-view .product-info-main .b2b-login-to-see-price a:hover {
    color: var(--awa-white, #fff) !important;
    text-decoration-color: rgba(255, 255, 255, 0.95) !important;
    background: transparent !important;
}

body.catalog-product-view .product-info-main .b2b-login-to-see-price a:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.8) !important;
    outline-offset: 3px !important;
    border-radius: 2px !important;
}

/* Mobile: centraliza */
@media (max-width: 767px) {
    body.catalog-product-view .product-info-main .b2b-login-to-see-price {
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        padding: 14px 16px !important;
        gap: 4px !important;
    }
}

/* =====================================================================
 * 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
 * A aparência final do carousel da homepage vive em
 * awa-bundle-home-custom.css, carregado por último no head.
 * Mantemos aqui apenas as regras de heading acima para evitar
 * competição entre bundles e reduzir overrides duplicados.
 * ===================================================================== */

/* "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: var(--awa-white, #fff) !important;
}

.awa-header-auth-prompt__text a.awa-header-auth-prompt__link:first-of-type:hover {
    background: var(--awa-red-dark, #8e2629) !important;
    color: var(--awa-white, #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: var(--awa-white, #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: var(--awa-black, #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: var(--awa-red, #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: var(--awa-radius-sm, 8px) !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: var(--awa-black, #1a1a1a) !important;
    border-top: 3px solid var(--awa-red, #b73337) !important;
}

/* Container interno: branco puro */
/* Seletores com #footer superam 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: var(--awa-white, #fff) !important;
    background-image: none !important;
    background-color: var(--awa-white, #fff) !important;
    color: var(--awa-black, #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: var(--awa-white, #fff) !important;
    background-color: var(--awa-white, #fff) !important;
    border-top: none !important;
    border-bottom: 1px solid var(--awa-color-border-light, #f0f0f0) !important;
    padding: 22px 0 !important;
    color: var(--awa-black, #1a1a1a) !important;
}

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

.awa-footer-trust-bar {
    background: var(--awa-white, #fff) !important;
    border-top: none !important;
    border-bottom: 1px solid var(--awa-color-border-light, #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: var(--awa-red, #b73337) !important;
    flex-shrink: 0 !important;
}

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

.awa-footer-trust-copy strong {
    font-size: 12.5px !important;
    font-weight: 700 !important;
    color: var(--awa-black, #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: var(--awa-gray-50, #fafafa) !important;
    border-bottom: 1px solid var(--awa-color-border-light, #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: var(--awa-gray-500, #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: var(--awa-white, #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: var(--awa-red, #b73337) !important;
    color: var(--awa-red, #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: var(--awa-black, #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: var(--awa-gray-700, #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: var(--awa-red, #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: var(--awa-gray-500, #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: var(--awa-black, #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: var(--awa-red, #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: var(--awa-red-dark, #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: var(--awa-gray-700, #374151) !important;
    text-decoration: none !important;
    transition: color 0.15s !important;
}

.awa-footer-atendimento__actions li a:hover {
    color: var(--awa-red, #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: var(--awa-red, #b73337) !important;
    color: var(--awa-white, #fff) !important;
    border-color: var(--awa-red, #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: var(--awa-gray-50, #fafafa) !important;
    border-top: 1px solid var(--awa-color-border-light, #f0f0f0) !important;
    border-bottom: 1px solid var(--awa-color-border-light, #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: var(--awa-red, #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: var(--awa-red, #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: var(--awa-gray-500, #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: var(--awa-gray-500, #6b7280) !important;
    margin-bottom: 8px !important;
    display: block !important;
    background: transparent !important;
}

.awa-pay-logo {
    background: var(--awa-white, #fff) !important;
    border: 1px solid var(--awa-gray-200, #e5e7eb) !important;
    border-radius: var(--awa-radius-sm, 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: var(--awa-red, #b73337) !important;
}

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

.footer-bottom a:hover {
    color: var(--awa-red, #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 var(--awa-color-border-light, #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
   ───────────────────────────────────────────────────────────────────── */

/* ─────────────────────────────────────────────────────────────────────
   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 var(--awa-color-border-light, #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: var(--awa-red, #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: var(--awa-black, #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: var(--awa-red, #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: var(--awa-red, #b73337) !important;
    border-color: var(--awa-red, #b73337) !important;
    color: var(--awa-white, #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: var(--awa-white, #fff) !important;
    border-top: 1px solid var(--awa-color-border-light, #f0f0f0) !important;
    border-bottom: 1px solid var(--awa-color-border-light, #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 var(--awa-color-border-light, #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: var(--awa-red, #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: var(--awa-black, #1a1a1a) !important;
    line-height: 1.3 !important;
}

.awa-benefit-desc {
    font-size: 11.5px !important;
    color: var(--awa-gray-500, #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: var(--awa-white, #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: var(--awa-radius-md, 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: var(--awa-gray-500, #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: var(--awa-radius-md, 10px) !important;
}

.title_countdown {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--awa-red, #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: var(--awa-red, #b73337) !important;
    color: var(--awa-white, #fff) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    border: none !important;
    border-radius: var(--awa-radius-sm, 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: var(--awa-red-dark, #8e2629) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(183, 51, 55, 0.35) !important;
    color: var(--awa-white, #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: var(--awa-white, #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: var(--awa-gray-700, #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: var(--awa-gray-700, #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: var(--awa-red, #b73337) !important;
    border-color: var(--awa-red, #b73337) !important;
    box-shadow: 0 4px 12px rgba(183, 51, 55, 0.30) !important;
    color: var(--awa-white, #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: var(--awa-white, #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: var(--awa-black, #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: var(--awa-gray-500, #6b7280) !important;
    font-size: 11px !important;
    line-height: 1.6 !important;
}

/* Devby bar — refinements sets background: var(--awa-black, #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: var(--awa-gray-400, #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: var(--awa-white, #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: var(--awa-red, #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: var(--awa-gray-700, #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: var(--awa-white, #fff) !important;
    border: 1px solid #dde1e7 !important;
    color: var(--awa-black, #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: var(--awa-gray-400, #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;
}

/* ─────────────────────────────────────────────────────────────────────
   PDP — INFO PANEL VISUAL BUGFIX (2026-04-14)
   Compacta o estado guest B2B e remove duplicações herdadas do Ayo.
   ───────────────────────────────────────────────────────────────────── */
body.catalog-product-view .product-info-main {
    display: block !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

@media (min-width: 768px) {
    body.catalog-product-view .product-info-main {
        padding-left: 32px !important;
    }
}

@media (max-width: 767px) {
    body.catalog-product-view .product-info-main {
        padding: 16px 0 0 !important;
    }
}

body.catalog-product-view .product-info-main .product-info-price {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    min-height: 0 !important;
    margin: 12px 0 16px !important;
    padding: 16px !important;
    background: var(--awa-white, #fff) !important;
    border: 1px solid var(--awa-border, #dbe4ee) !important;
    border-radius: var(--awa-radius-md, 12px) !important;
    box-shadow: none !important;
}

body.catalog-product-view .product-info-main .product-reviews-summary.empty {
    display: none !important;
}

body.catalog-product-view .product-info-main .b2b-login-to-see-price,
body.catalog-product-view .product-info-main .b2b-login-to-see-price.price-box {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 12px 18px !important;
    background: var(--awa-primary, #b73337) !important;
    border: 0 !important;
    border-radius: var(--awa-radius-sm, 8px) !important;
    box-shadow: none !important;
    color: var(--awa-white, #fff) !important;
    cursor: default !important;
    transform: none !important;
}

body.catalog-product-view .product-info-main .b2b-login-to-see-price:hover,
body.catalog-product-view .product-info-main .b2b-login-to-see-price.price-box:hover {
    background: var(--awa-primary, #b73337) !important;
    box-shadow: none !important;
    transform: none !important;
}

body.catalog-product-view .product-info-main .b2b-login-to-see-price::before,
body.catalog-product-view .product-info-main .b2b-login-to-see-price::after {
    content: none !important;
    display: none !important;
}

body.catalog-product-view .product-info-main .b2b-login-to-see-price .price-label {
    display: inline !important;
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.92) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
}

body.catalog-product-view .product-info-main .b2b-login-to-see-price a {
    display: inline !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--awa-white, #fff) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-decoration: underline !important;
    text-decoration-color: rgba(255, 255, 255, 0.7) !important;
    text-underline-offset: 2px !important;
}

body.catalog-product-view .product-info-main .product-info-stock-sku {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    color: var(--awa-text-muted, #666) !important;
}

body.catalog-product-view .product-info-main .product-info-stock-sku .stock.available,
body.catalog-product-view .product-info-main .product-info-stock-sku .stock.unavailable {
    margin: 0 !important;
    min-height: 0 !important;
    padding: 6px 12px !important;
    border-radius: var(--awa-radius-full, 999px) !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
}

body.catalog-product-view .product-info-main .product-info-stock-sku .product.attribute.sku {
    display: flex !important;
    align-items: baseline !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

body.catalog-product-view .product-info-main .product-info-stock-sku .product.attribute.sku .type,
body.catalog-product-view .product-info-main .product-info-stock-sku .product.attribute.sku .value {
    margin: 0 !important;
    color: var(--awa-text-muted, #666) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
}

body.catalog-product-view .product-info-main:has(.awa-b2b-pdp-sku) .product-info-price .product-info-stock-sku {
    display: none !important;
}

body.catalog-product-view .product-info-main .awa-b2b-pdp-sku {
    display: inline-flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    width: auto !important;
    min-height: 0 !important;
    margin: 0 0 12px !important;
    padding: 6px 8px !important;
    border-radius: var(--awa-radius-sm, 8px) !important;
}

body.catalog-product-view .product-info-main .awa-sku-copy-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 32px !important;
    margin-left: 4px !important;
    padding: 0 10px !important;
    border-radius: var(--awa-radius-sm, 6px) !important;
}

body.catalog-product-view .product-info-main .awa-stock-level {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: auto !important;
    margin: 0 0 12px !important;
    padding: 6px 12px !important;
    border-radius: var(--awa-radius-full, 999px) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

body.catalog-product-view .product-info-main .awa-pdp-trust-bar {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 12px 0 0 !important;
    padding: 12px !important;
    background: var(--awa-white, #fff) !important;
    border: 1px solid var(--awa-border, #e5e7eb) !important;
    border-radius: var(--awa-radius-sm, 8px) !important;
}

body.catalog-product-view .product-info-main .awa-pdp-trust-bar__item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    min-width: 0 !important;
    color: var(--awa-text-muted, #666) !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
    text-align: center !important;
}

@media (max-width: 480px) {
    body.catalog-product-view .product-info-main .awa-pdp-trust-bar {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.catalog-product-view .product-info-main .awa-pdp-trust-bar__item {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        text-align: left !important;
    }
}

body.catalog-product-view .product-info-main:has(.b2b-login-to-see-price) .product-add-form .awa-b2b-pdp-sku,
body.catalog-product-view .product-info-main:has(.b2b-login-to-see-price) .product-add-form .awa-stock-level,
body.catalog-product-view .product-info-main:has(.b2b-login-to-see-price) .product-add-form .awa-pdp-trust-bar,
body.catalog-product-view .product-info-main:has(.b2b-login-to-see-price) .product-social-extra,
body.catalog-product-view .product-info-main:has(.b2b-login-to-see-price) .product-social-links {
    display: none !important;
}

/* -------------------------------------------------------------------
 * 7. PRODUTO - 4 colunas desktop, gap enxuto e imagem maior
 * ------------------------------------------------------------------- */

:root {
    --awa-product-card-gap-mobile: 10px;
    --awa-product-card-gap-tablet: 14px;
    --awa-product-card-gap-desktop: 16px;
    --awa-product-card-media-min-mobile: 168px;
    --awa-product-card-media-min-tablet: 196px;
    --awa-product-card-media-min-desktop: clamp(216px, 20vw, 312px);
    --awa-product-card-media-pad-mobile: 10px;
    --awa-product-card-media-pad-desktop: 12px;
}

@media (min-width: 1200px) {
    :is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
    .page-wrapper .products-grid .product-items {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: var(--awa-product-card-gap-desktop) !important;
    }

    :is(body.cms-index-index, body.cms-home, body.cms-homepage_ayo_home5)
    .page-wrapper :is(
        .productTabContent,
        .category_tab_slider,
        .cat_home1,
        .cat_home2,
        .rokan-bestseller,
        .rokan-newproduct,
        .rokan-mostviewed,
        .rokan-featuredproduct,
        .home-new-product,
        .home-bestseller
    ):not(.owl-loaded, .swiper-initialized) {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: var(--awa-product-card-gap-desktop) !important;
    }

    :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(4, minmax(0, 1fr)) !important;
        gap: var(--awa-product-card-gap-desktop) !important;
    }

    :is(body.catalog-category-view, body.catalogsearch-result-index)
    .page-wrapper :is(
        .product-grid[data-view-mode="4"],
        .product-grid[data-view-mode="5"],
        .category_page_grid_4,
        .category_page_grid_5
    ) {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    :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) !important;
    }

    :is(body.catalog-category-view, body.catalogsearch-result-index)
    .page-wrapper :is(
        .product-grid[data-view-mode="4"],
        .product-grid[data-view-mode="5"],
        .category_page_grid_4,
        .category_page_grid_5
    ) {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (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(2, minmax(0, 1fr)) !important;
        gap: var(--awa-product-card-gap-mobile) !important;
    }

    :is(body.catalog-category-view, body.catalogsearch-result-index)
    .page-wrapper :is(
        .product-grid[data-view-mode="4"],
        .product-grid[data-view-mode="5"],
        .category_page_grid_4,
        .category_page_grid_5
    ) {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

:is(
    body.cms-index-index,
    body.cms-home,
    body.cms-homepage_ayo_home5,
    body.catalog-category-view,
    body.catalogsearch-result-index,
    body.catalog-product-view
) .page-wrapper :is(
    .wrapper.grid.products-grid,
    .products-swiper,
    .productTabContent,
    .category_tab_slider,
    .cat_home1,
    .cat_home2,
    .rokan-bestseller,
    .rokan-newproduct,
    .rokan-mostviewed,
    .rokan-featuredproduct,
    .awa-featured-swiper,
    .awa-onsale-swiper,
    .awa-toprate-swiper,
    .awa-pdp-mostviewed,
    .awa-pdp-related,
    .list-tab-product,
    .tab_product,
    .hot-deal,
    .categorytab-container
) :is(.item-product, .product-item) {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    height: 100% !important;
    border-radius: 14px !important;
    overflow: hidden !important;
}

:is(
    body.cms-index-index,
    body.cms-home,
    body.cms-homepage_ayo_home5,
    body.catalog-category-view,
    body.catalogsearch-result-index,
    body.catalog-product-view
) .page-wrapper :is(
    .wrapper.grid.products-grid,
    .products-swiper,
    .productTabContent,
    .category_tab_slider,
    .cat_home1,
    .cat_home2,
    .rokan-bestseller,
    .rokan-newproduct,
    .rokan-mostviewed,
    .rokan-featuredproduct,
    .awa-featured-swiper,
    .awa-onsale-swiper,
    .awa-toprate-swiper,
    .awa-pdp-mostviewed,
    .awa-pdp-related,
    .list-tab-product,
    .tab_product,
    .hot-deal,
    .categorytab-container
) :is(.item-product, .product-item) .product-thumb {
    position: relative !important;
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%) !important;
}

:is(
    body.cms-index-index,
    body.cms-home,
    body.cms-homepage_ayo_home5,
    body.catalog-category-view,
    body.catalogsearch-result-index,
    body.catalog-product-view
) .page-wrapper :is(
    .wrapper.grid.products-grid,
    .products-swiper,
    .productTabContent,
    .category_tab_slider,
    .cat_home1,
    .cat_home2,
    .rokan-bestseller,
    .rokan-newproduct,
    .rokan-mostviewed,
    .rokan-featuredproduct,
    .awa-featured-swiper,
    .awa-onsale-swiper,
    .awa-toprate-swiper,
    .awa-pdp-mostviewed,
    .awa-pdp-related,
    .list-tab-product,
    .tab_product,
    .hot-deal,
    .categorytab-container
) :is(.item-product, .product-item) :is(
    .product-thumb > a,
    .product-thumb > a.product-thumb-link,
    .product-item-photo
) {
    display: grid !important;
    place-items: center !important;
    aspect-ratio: 1 / 1 !important;
    min-height: var(--awa-product-card-media-min-mobile) !important;
    padding: var(--awa-product-card-media-pad-mobile) !important;
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%) !important;
}

:is(
    body.cms-index-index,
    body.cms-home,
    body.cms-homepage_ayo_home5,
    body.catalog-category-view,
    body.catalogsearch-result-index,
    body.catalog-product-view
) .page-wrapper :is(
    .wrapper.grid.products-grid,
    .products-swiper,
    .productTabContent,
    .category_tab_slider,
    .cat_home1,
    .cat_home2,
    .rokan-bestseller,
    .rokan-newproduct,
    .rokan-mostviewed,
    .rokan-featuredproduct,
    .awa-featured-swiper,
    .awa-onsale-swiper,
    .awa-toprate-swiper,
    .awa-pdp-mostviewed,
    .awa-pdp-related,
    .list-tab-product,
    .tab_product,
    .hot-deal,
    .categorytab-container
) :is(.item-product, .product-item) :is(.product-image-container, .product-image-wrapper) {
    width: 100% !important;
    max-width: 100% !important;
    background: transparent !important;
}

:is(
    body.cms-index-index,
    body.cms-home,
    body.cms-homepage_ayo_home5,
    body.catalog-category-view,
    body.catalogsearch-result-index,
    body.catalog-product-view
) .page-wrapper :is(
    .wrapper.grid.products-grid,
    .products-swiper,
    .productTabContent,
    .category_tab_slider,
    .cat_home1,
    .cat_home2,
    .rokan-bestseller,
    .rokan-newproduct,
    .rokan-mostviewed,
    .rokan-featuredproduct,
    .awa-featured-swiper,
    .awa-onsale-swiper,
    .awa-toprate-swiper,
    .awa-pdp-mostviewed,
    .awa-pdp-related,
    .list-tab-product,
    .tab_product,
    .hot-deal,
    .categorytab-container
) :is(.item-product, .product-item) :is(.product-thumb img, .product-image-photo) {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    box-sizing: border-box !important;
    object-fit: contain !important;
    object-position: center !important;
}

:is(body.catalog-category-view, body.catalogsearch-result-index)
.page-wrapper .wrapper.grid.products-grid .item-product .product-image-wrapper {
    min-height: var(--awa-product-card-media-min-mobile) !important;
}

:is(body.catalog-category-view, body.catalogsearch-result-index)
.page-wrapper .wrapper.grid.products-grid .item-product .product-image-photo {
    inset: 0 !important;
    padding: var(--awa-product-card-media-pad-mobile) !important;
}

:is(
    body.cms-index-index,
    body.cms-home,
    body.cms-homepage_ayo_home5,
    body.catalog-category-view,
    body.catalogsearch-result-index,
    body.catalog-product-view
) .page-wrapper :is(
    .wrapper.grid.products-grid,
    .products-swiper,
    .productTabContent,
    .category_tab_slider,
    .cat_home1,
    .cat_home2,
    .rokan-bestseller,
    .rokan-newproduct,
    .rokan-mostviewed,
    .rokan-featuredproduct,
    .awa-featured-swiper,
    .awa-onsale-swiper,
    .awa-toprate-swiper,
    .awa-pdp-mostviewed,
    .awa-pdp-related,
    .list-tab-product,
    .tab_product,
    .hot-deal,
    .categorytab-container
) :is(.item-product, .product-item) :is(.product-info, .product-item-details) {
    padding: 12px 12px 14px !important;
}

@media (min-width: 768px) {
    :is(
        body.cms-index-index,
        body.cms-home,
        body.cms-homepage_ayo_home5,
        body.catalog-category-view,
        body.catalogsearch-result-index,
        body.catalog-product-view
    ) .page-wrapper :is(
        .wrapper.grid.products-grid,
        .products-swiper,
        .productTabContent,
        .category_tab_slider,
        .cat_home1,
        .cat_home2,
        .rokan-bestseller,
        .rokan-newproduct,
        .rokan-mostviewed,
        .rokan-featuredproduct,
        .awa-featured-swiper,
        .awa-onsale-swiper,
        .awa-toprate-swiper,
        .awa-pdp-mostviewed,
        .awa-pdp-related,
        .list-tab-product,
        .tab_product,
        .hot-deal,
        .categorytab-container
    ) :is(.item-product, .product-item) :is(
        .product-thumb > a,
        .product-thumb > a.product-thumb-link,
        .product-item-photo
    ) {
        min-height: var(--awa-product-card-media-min-tablet) !important;
        padding: var(--awa-product-card-media-pad-desktop) !important;
    }

    :is(body.catalog-category-view, body.catalogsearch-result-index)
    .page-wrapper .wrapper.grid.products-grid .item-product .product-image-wrapper {
        min-height: var(--awa-product-card-media-min-tablet) !important;
    }
}

@media (min-width: 1200px) {
    :is(
        body.cms-index-index,
        body.cms-home,
        body.cms-homepage_ayo_home5,
        body.catalog-category-view,
        body.catalogsearch-result-index,
        body.catalog-product-view
    ) .page-wrapper :is(
        .wrapper.grid.products-grid,
        .products-swiper,
        .productTabContent,
        .category_tab_slider,
        .cat_home1,
        .cat_home2,
        .rokan-bestseller,
        .rokan-newproduct,
        .rokan-mostviewed,
        .rokan-featuredproduct,
        .awa-featured-swiper,
        .awa-onsale-swiper,
        .awa-toprate-swiper,
        .awa-pdp-mostviewed,
        .awa-pdp-related,
        .list-tab-product,
        .tab_product,
        .hot-deal,
        .categorytab-container
    ) :is(.item-product, .product-item) :is(
        .product-thumb > a,
        .product-thumb > a.product-thumb-link,
        .product-item-photo
    ) {
        min-height: var(--awa-product-card-media-min-desktop) !important;
    }

    :is(body.catalog-category-view, body.catalogsearch-result-index)
    .page-wrapper .wrapper.grid.products-grid .item-product .product-image-wrapper {
        min-height: var(--awa-product-card-media-min-desktop) !important;
    }

    :is(
        body.cms-index-index,
        body.cms-home,
        body.cms-homepage_ayo_home5,
        body.catalog-category-view,
        body.catalogsearch-result-index,
        body.catalog-product-view
    ) .page-wrapper :is(
        .wrapper.grid.products-grid,
        .products-swiper,
        .productTabContent,
        .category_tab_slider,
        .cat_home1,
        .cat_home2,
        .rokan-bestseller,
        .rokan-newproduct,
        .rokan-mostviewed,
        .rokan-featuredproduct,
        .awa-featured-swiper,
        .awa-onsale-swiper,
        .awa-toprate-swiper,
        .awa-pdp-mostviewed,
        .awa-pdp-related,
        .list-tab-product,
        .tab_product,
        .hot-deal,
        .categorytab-container
    ) :is(.item-product, .product-item) :is(.product-info, .product-item-details) {
        padding: 14px 14px 16px !important;
    }
}

