/*
Theme Name: Tema Loja Azul Pro v1.0.8
Theme URI: https://example.com/
Author: OpenAI
Description: Tema WordPress/WooCommerce moderno para loja online. Estrutura com header personalizado, carrinho lateral, checkout, produto estilizado, menus, categorias e rodapé profissional.
Version: 1.0.8
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: loja-azul-pro
*/

/* Fonte comercial limpa */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');

:root {
    --mf-azul: #0075E2;
    --mf-azul-escuro: #0F2B5B;
    --mf-azul-menu: #123B7A;
    --mf-verde: #30C048;
    --mf-verde-hover: #28AA3F;
    --mf-branco: #ffffff;
    --mf-texto: #111827;
    --mf-texto-suave: #64748b;
    --mf-borda: #e5e7eb;
    --mf-fonte: 'Montserrat', Arial, Helvetica, sans-serif;
}

/* Base geral */
html,
body {
    font-family: var(--mf-fonte) !important;
}

body,
button,
input,
select,
textarea,
a,
p,
span,
strong,
small,
div,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--mf-fonte) !important;
}

/* Evita scroll lateral */
html,
body {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

/* ===============================
   TOPO / HEADER
================================ */

.ma-header-ultragym,
.ma-main-header,
.ma-mobile-search-area,
.ma-category-nav {
    background: var(--mf-azul) !important;
}

/* Logo */
.ma-logo-area,
.ma-logo-area:hover,
.ma-logo-area:focus {
    text-decoration: none !important;
    color: #ffffff !important;
}

.ma-text-logo,
.ma-side-text-logo {
    color: #ffffff !important;
    font-family: var(--mf-fonte) !important;
    font-weight: 700 !important;
    letter-spacing: -0.7px !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

.ma-text-logo {
    font-size: 28px !important;
    line-height: 1 !important;
}

.ma-side-text-logo {
    font-size: 21px !important;
}

/* Esconde qualquer logo antiga/imagem duplicada */
.ma-logo-area img,
.ma-header-ultragym img.custom-logo,
.ma-header-ultragym .custom-logo,
.site-branding,
.site-title,
.site-description {
    display: none !important;
}

/* Busca */
.ma-search-inner {
    border-radius: 20px !important;
    box-shadow: none !important;
}

.ma-search-inner input {
    font-weight: 400 !important;
    color: var(--mf-texto) !important;
}

.ma-search-inner input::placeholder {
    color: #94a3b8 !important;
    font-weight: 400 !important;
}

.ma-search-inner button {
    background: var(--mf-verde) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 16px !important;
    box-shadow: none !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

.ma-search-inner button:hover,
.ma-search-inner button:focus {
    background: var(--mf-verde-hover) !important;
    color: #ffffff !important;
}

/* ===============================
   ÍCONES DO TOPO SEM BORDA
================================ */

.ma-account-icon,
.ma-cart-box,
.ma-order-link,
.ma-order-icon,
.ma-cart-icon {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Ícone minha conta */
.ma-account-icon {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
}

.ma-account-icon svg {
    width: 31px !important;
    height: 31px !important;
    color: #ffffff !important;
    stroke: #ffffff !important;
    fill: none !important;
}

/* Carrinho */
.ma-cart-box {
    padding: 0 !important;
    border-radius: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

.ma-cart-icon {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
}

.ma-cart-icon svg {
    width: 34px !important;
    height: 34px !important;
    color: #ffffff !important;
    stroke: #ffffff !important;
    fill: none !important;
}

.ma-cart-text {
    color: #ffffff !important;
    line-height: 1.05 !important;
}

.ma-cart-text small {
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.2px !important;
}

.ma-cart-text strong {
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: -0.2px !important;
}

.ma-cart-count-badge {
    background: var(--mf-verde) !important;
    color: #ffffff !important;
    border: 2px solid var(--mf-azul) !important;
    font-weight: 800 !important;
    box-shadow: none !important;
}

/* Acompanhar pedido */
.ma-order-link {
    color: #ffffff !important;
    text-decoration: none !important;
    padding: 0 !important;
}

.ma-order-icon svg {
    color: #ffffff !important;
    stroke: #ffffff !important;
    fill: none !important;
}

.ma-order-link small {
    color: #ffffff !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}

.ma-order-link strong {
    color: #ffffff !important;
    font-weight: 700 !important;
    letter-spacing: -0.2px !important;
}

/* Botão menu mobile */
.ma-mobile-menu-btn {
    background: #ffffff !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 16px !important;
}

.ma-mobile-menu-btn span {
    background: var(--mf-azul-escuro) !important;
    height: 3px !important;
    border-radius: 999px !important;
}

/* ===============================
   CATEGORIAS
================================ */

.ma-category-nav {
    border-top: 1px solid rgba(255,255,255,0.12) !important;
    border-bottom: 1px solid rgba(255,255,255,0.10) !important;
}

.ma-category-inner,
.ma-category-menu-list {
    font-family: var(--mf-fonte) !important;
}

.ma-category-inner a,
.ma-category-menu-list > li > a {
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.1px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    background: transparent !important;
    transition: color .18s ease, border-color .18s ease, opacity .18s ease !important;
}

/* Hover/ativo em azul escuro, não verde */
.ma-category-inner a:hover,
.ma-category-menu-list > li > a:hover,
.ma-category-menu-list > li.current-menu-item > a,
.ma-category-menu-list > li.current-menu-ancestor > a,
.ma-category-menu-list > li.current-product_cat-ancestor > a,
.ma-category-menu-list > li.current-product_cat-parent > a,
.ma-category-inner a.active,
.ma-category-inner a.current {
    color: var(--mf-azul-escuro) !important;
    background: transparent !important;
    border-color: var(--mf-azul-escuro) !important;
}

/* Linha ativa em azul escuro */
.ma-category-inner a::after,
.ma-category-menu-list > li > a::after {
    background: var(--mf-azul-escuro) !important;
    border-color: var(--mf-azul-escuro) !important;
}

/* Seta mais elegante */
.ma-category-menu-list .menu-item-has-children > a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
}

.ma-category-menu-list .menu-item-has-children > a::before {
    content: "" !important;
    width: 7px !important;
    height: 7px !important;
    border-right: 2px solid currentColor !important;
    border-bottom: 2px solid currentColor !important;
    transform: rotate(45deg) translateY(-2px) !important;
    display: inline-block !important;
    order: 2 !important;
    margin-left: 3px !important;
    opacity: .9 !important;
}

/* Esconde possíveis setas antigas */
.ma-category-menu-list .menu-item-has-children > a .sub-arrow,
.ma-category-menu-list .menu-item-has-children > a .dropdown-toggle,
.ma-category-menu-list .menu-item-has-children > a i,
.ma-category-menu-list .menu-item-has-children > a svg {
    display: none !important;
}

/* ===============================
   PRODUTOS MAIS LEVES
================================ */

.woocommerce ul.products {
    align-items: stretch !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

/* Imagens alinhadas */
.woocommerce ul.products li.product img {
    width: 100% !important;
    height: 300px !important;
    object-fit: contain !important;
    padding: 24px !important;
    background: #f7f9fb !important;
}

/* Título mais fino */
.woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.ma-product-title,
.ma14-product-title {
    color: var(--mf-texto) !important;
    font-size: 17px !important;
    line-height: 1.28 !important;
    font-weight: 500 !important;
    letter-spacing: -0.1px !important;
    min-height: 48px !important;
}

/* Remove negrito exagerado nos cards */
.woocommerce ul.products li.product,
.woocommerce ul.products li.product span,
.woocommerce ul.products li.product p,
.woocommerce ul.products li.product div {
    font-weight: 400 !important;
}

/* Preço principal */
.woocommerce ul.products li.product .price,
.ma-price,
.ma14-price,
.ma-product-price {
    color: var(--mf-azul) !important;
    font-size: 26px !important;
    line-height: 1.1 !important;
    font-weight: 600 !important;
}

/* Preço antigo */
.woocommerce ul.products li.product del,
.woocommerce ul.products li.product del span {
    color: var(--mf-texto-suave) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}

/* Parcelamento e Pix */
.ma-installments,
.ma14-installments,
.ma-pix,
.ma14-pix,
.ma-product-pix,
.ma-archive-pix {
    font-weight: 500 !important;
    line-height: 1.35 !important;
}

/* Botões */
.woocommerce ul.products li.product .button,
.ma-buy-button,
.ma-archive-buy,
.ma14-buy-button,
.single_add_to_cart_button,
.checkout-button,
#place_order {
    background: var(--mf-verde) !important;
    border-color: var(--mf-verde) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    border-radius: 16px !important;
    box-shadow: none !important;
}

.woocommerce ul.products li.product .button:hover,
.ma-buy-button:hover,
.ma-archive-buy:hover,
.ma14-buy-button:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover,
#place_order:hover {
    background: var(--mf-verde-hover) !important;
    border-color: var(--mf-verde-hover) !important;
    color: #ffffff !important;
}

/* ===============================
   MENU LATERAL
================================ */

.ma-side-menu {
    font-family: var(--mf-fonte) !important;
}

.ma-side-section span {
    color: var(--mf-azul-escuro) !important;
    font-weight: 700 !important;
    letter-spacing: .2px !important;
}

.ma-side-section a {
    color: var(--mf-texto) !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

.ma-side-section a:hover,
.ma-side-section a:focus {
    color: var(--mf-azul-escuro) !important;
}

.ma-side-info strong {
    color: var(--mf-azul-escuro) !important;
    font-weight: 700 !important;
}

.ma-side-info p {
    font-weight: 400 !important;
}

/* ===============================
   CARRINHO LATERAL
================================ */

.ma-cart-drawer {
    font-family: var(--mf-fonte) !important;
}

.ma-drawer-btn-primary {
    background: var(--mf-verde) !important;
    border-color: var(--mf-verde) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
}

.ma-drawer-btn-secondary {
    color: var(--mf-azul-escuro) !important;
    font-weight: 600 !important;
}

/* ===============================
   RODAPÉ
================================ */

.ma-footer,
footer {
    background: var(--mf-azul) !important;
}

.ma-footer p,
.ma-footer a,
.ma-footer span,
.ma-footer li,
footer p,
footer a,
footer span,
footer li {
    font-weight: 400 !important;
}

.ma-footer h3,
footer h3 {
    font-weight: 700 !important;
    letter-spacing: 0.3px !important;
}

/* Remove dados duplicados, caso venham de plugin/snippet */
.cliente-ferreira-dados-footer,
.mf-dados-footer-extra,
.ma-footer-extra-store-data,
.footer-extra-store-data {
    display: none !important;
}

/* ===============================
   RESPONSIVO
================================ */

@media (max-width: 991px) {
    .ma-main-inner {
        align-items: center !important;
    }

    .ma-text-logo {
        font-size: 23px !important;
        letter-spacing: -0.5px !important;
        font-weight: 700 !important;
    }

    .ma-account-icon svg {
        width: 29px !important;
        height: 29px !important;
    }

    .ma-cart-icon svg {
        width: 31px !important;
        height: 31px !important;
    }

    .ma-cart-text {
        display: none !important;
    }

    .ma-category-inner a,
    .ma-category-menu-list > li > a {
        font-size: 12px !important;
        font-weight: 600 !important;
        letter-spacing: 0 !important;
    }
}

@media (max-width: 600px) {
    .ma-main-inner {
        gap: 14px !important;
    }

    .ma-text-logo {
        font-size: 22px !important;
        max-width: 240px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .ma-mobile-menu-btn {
        width: 68px !important;
        height: 68px !important;
        min-width: 68px !important;
    }

    .ma-account-icon svg {
        width: 29px !important;
        height: 29px !important;
    }

    .ma-cart-icon svg {
        width: 32px !important;
        height: 32px !important;
    }

    .ma-category-inner {
        gap: 24px !important;
    }

    .ma-category-inner a,
    .ma-category-menu-list > li > a {
        font-size: 11px !important;
        font-weight: 600 !important;
        letter-spacing: 0 !important;
    }

    .woocommerce ul.products li.product img {
        height: 210px !important;
        padding: 16px !important;
    }

    .woocommerce-loop-product__title,
    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        font-size: 14px !important;
        min-height: 42px !important;
    }

    .woocommerce ul.products li.product .price,
    .ma-price,
    .ma14-price,
    .ma-product-price {
        font-size: 21px !important;
    }
}

@media (max-width: 420px) {
    .ma-text-logo {
        font-size: 20px !important;
        max-width: 220px !important;
    }

    .ma-mobile-menu-btn {
        width: 64px !important;
        height: 64px !important;
        min-width: 64px !important;
    }
}