/* ── Header painel azul Gemini ───────────────────────────────────────────── */
.page-header .panel.wrapper {
    border-bottom: 1px solid #e8e8e8;
    background-color: #0460a9 !important;
}
.page-header .panel.wrapper a,
.page-header .panel.wrapper span {
    color: #fff;
}
/* Top bar: SAC à esquerda, links à direita (estrutura Magento .header.panel) */
.header.panel {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    max-width: 1280px;
    margin: 0 auto;
    padding: 6px 20px;
}
.header.panel .welcome-msg {
    font-size: 0.8rem;
    color: #fff;
}
.header.panel .welcome-msg a {
    color: #fff;
    text-decoration: underline;
}
/* Sobrescrever display:none do magento-m.css para .panel.header .links */
.header.panel .header.links {
    display: flex !important;
    list-style: none;
    padding: 0; margin: 0;
    gap: 16px;
    float: none !important;
    margin-left: auto !important;
}
.header.panel .header.links li a,
.header.panel .header.links > li > a {
    color: #fff !important;
    font-size: 0.8rem;
    text-decoration: none;
}
.header.panel .header.links li a:hover { text-decoration: underline !important; }

/* ── Logo ────────────────────────────────────────────────────────────── */
.logo img { max-height: 60px; width: auto; }

/* ── Nav desktop: nível 0 horizontal ────────────────────────────────── */
.nav-sections {
    background-color: #fff;
    border-top: 1px solid #e0e0e0;
    border-bottom: 1px solid #e0e0e0;
}
.nav-sections .navigation > ul {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 20px;
}
.nav-sections .navigation li.level-top > a.level-top {
    display: block;
    padding: 10px 14px;
    color: #333;
    font-weight: 600;
    text-decoration: none;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.nav-sections .navigation li.level-top:hover > a.level-top,
.nav-sections .navigation li.level-top.active > a.level-top {
    color: #0460a9;
}
/* Seta dropdown nos itens com filhos */
.nav-sections .navigation li.level-top.parent > a.level-top::after {
    content: '';
    display: inline-block;
    width: 0; height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid #666;
    margin-left: 5px;
    vertical-align: middle;
    transition: transform 0.2s;
}
.nav-sections .navigation li.level-top.parent:hover > a.level-top::after {
    border-top-color: #0460a9;
    transform: rotate(180deg);
}

/* Submenu dropdown */
.nav-sections .navigation li.level-top {
    position: relative;
}
.nav-sections .navigation li.level-top .submenu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    border: 1px solid #e0e0e0;
    min-width: 220px;
    z-index: 100;
    list-style: none;
    padding: 6px 0;
    margin: 0;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.nav-sections .navigation li.level-top:hover .submenu {
    display: block;
}
.nav-sections .navigation li.level1 > a {
    display: block;
    padding: 8px 16px;
    color: #444;
    text-decoration: none;
    font-size: 0.875rem;
    white-space: nowrap;
}
.nav-sections .navigation li.level1 > a:hover {
    background: #f5f5f5;
    color: #0460a9;
}

/* ── Botões ──────────────────────────────────────────────────────────── */
button.action.search,
.action.primary,
.action.tocart.primary {
    background: #000000;
    color: #fff;
    border: none;
    border-radius: 3px;
    padding: 8px 16px;
    cursor: pointer;
    font-size: 0.875rem;
}
button.action.search:hover,
.action.primary:hover,
.action.tocart.primary:hover { background: #333; }

/* ── Container page-main ─────────────────────────────────────────────── */
.page-main {
    max-width: 1280px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
    padding-top: 20px;
}

/* ── Layout 2 colunas (categoria) via float Magento ─────────────────── */
/* Remove flex que sobrescreve o sistema float do Magento */
.catalog-category-view .page-main > .columns {
    display: block;
    overflow: hidden; /* clearfix */
}
.catalog-category-view .sidebar.sidebar-main {
    float: left;
    width: 20.83333333%;
    padding-right: 2%;
    box-sizing: border-box;
}
.catalog-category-view .column.main {
    float: right;
    width: 79.16666667%;
    box-sizing: border-box;
    min-height: 300px;
}
/* Clearfix */
.columns::after {
    content: '';
    display: table;
    clear: both;
}

/* ── Slider de banners hero ──────────────────────────────────────────── */
.homepage-hero { width: 100%; }
.banner-slider { position: relative; overflow: hidden; line-height: 0; }
.banner-slide { display: none; }
.banner-slide.active { display: block; }
.banner-slide img { width: 100%; display: block; }
.homepage-banner--frete { margin-top: 6px; }
.homepage-banner--frete img { width: 100%; display: block; }

/* ── Seções de categorias na homepage ────────────────────────────────── */
.homepage-category-section { margin-bottom: 40px; }
.homepage-category-section .block-title { margin-bottom: 15px; border-bottom: 2px solid #e0e0e0; padding-bottom: 8px; }
.homepage-category-section .block-title strong { font-size: 1.2rem; font-weight: 700; }
.homepage-category-section .block-title strong a { color: #333; text-decoration: none; }
.homepage-category-section .block-title strong a:hover { color: #0460a9; }

/* Grid de produtos na homepage — 5 por linha */
.homepage-category-section .widget-product-grid {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0; margin: 0 -8px;
}
.homepage-category-section .widget-product-grid .product-item {
    width: 20%;
    padding: 8px;
    box-sizing: border-box;
}
@media (max-width: 1024px) { .homepage-category-section .widget-product-grid .product-item { width: 25%; } }
@media (max-width: 768px)  { .homepage-category-section .widget-product-grid .product-item { width: 33.333%; } }
@media (max-width: 480px)  { .homepage-category-section .widget-product-grid .product-item { width: 50%; } }

/* Botão Visualizar no card */
.product-item-actions { margin-top: 8px; }
.action.consult.primary {
    display: inline-block;
    background: #0460a9;
    color: #fff;
    border: none;
    padding: 7px 14px;
    border-radius: 3px;
    font-size: 0.8rem;
    cursor: pointer;
    text-decoration: none;
}
.action.consult.primary:hover { background: #034f8a; }

/* ── Produtos na homepage ────────────────────────────────────────────── */
.homepage-products { margin-top: 30px; }
.homepage-products .block-title { margin-bottom: 15px; }
.homepage-products .block-title strong { font-size: 1.4rem; }

/* ── Grid de produtos ────────────────────────────────────────────────── */
.products-grid.product-items {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0 -8px;
}
.products-grid .product-item {
    width: 25%;
    padding: 8px;
    box-sizing: border-box;
}
@media (max-width: 1024px) { .products-grid .product-item { width: 33.333%; } }
@media (max-width: 640px)  { .products-grid .product-item { width: 50%; } }

.product-item-info {
    border: 1px solid #e0e0e0;
    padding: 10px;
    height: 100%;
    box-sizing: border-box;
    transition: box-shadow 0.2s;
}
.product-item-info:hover {
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.product-item-photo { display: block; }
.product-image-container { display: block; width: 100%; }
.product-image-wrapper {
    display: block;
    height: 0 !important;
    padding-bottom: 100% !important;
    position: relative;
    overflow: hidden;
}
.product-image-wrapper .product-image-photo,
.product-image-wrapper img {
    position: absolute !important;
    top: 0; left: 0;
    width: 100%; height: 100%;
    object-fit: contain;
}
.product-item-details { margin-top: 8px; }
.product-item-name { font-size: 0.875rem; margin: 0 0 4px; }
.product-item-link { color: #333; text-decoration: none; }
.product-item-link:hover { color: #0460a9; }

/* ── Preço oculto (modo catálogo) ────────────────────────────────────── */
.product-item .price-box,
.woocommerce-Price-amount,
.price { display: none !important; }

/* ── SKU oculto nos cards (polui visual) ─────────────────────────────── */
.product-sku { display: none; }

/* ── Nome do produto truncado em 2 linhas ────────────────────────────── */
.product-item-name a,
.product-item-link {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.4;
    max-height: 2.8em;
}

/* ── Botão Visualizar: só aparece no hover ───────────────────────────── */
.product.actions.product-item-actions {
    margin-top: 10px;
    opacity: 0;
    transition: opacity 0.2s;
}
.product-item-info:hover .product.actions.product-item-actions {
    opacity: 1;
}

/* Hover nos cards — sombra aumenta */
.product-item-info {
    transition: box-shadow 0.2s, transform 0.15s;
}
.product-item-info:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.15);
    transform: translateY(-2px);
}

/* ── Toolbar ─────────────────────────────────────────────────────────── */
.toolbar-products { margin-bottom: 15px; color: #666; font-size: 0.9rem; }
.toolbar-bottom { margin-top: 20px; }

/* Paginação */
.page-numbers { display: inline-block; padding: 6px 12px; border: 1px solid #ddd; margin: 0 2px; color: #333; text-decoration: none; }
.page-numbers.current { background: #0460a9; color: #fff; border-color: #0460a9; }
.page-numbers:hover { background: #f5f5f5; }

/* ── Sidebar filtros ─────────────────────────────────────────────────── */
.block-layered-nav .block-title { font-weight: 700; font-size: 1rem; margin-bottom: 10px; }
.filter-options-item { margin-bottom: 15px; }
.filter-options-title { font-weight: 600; padding: 8px 0; border-bottom: 1px solid #e0e0e0; cursor: pointer; }
.filter-options-content { padding-top: 8px; }
.filter-options-content .items { list-style: none; padding: 0; margin: 0; }
.filter-options-content .item { margin-bottom: 5px; }
.filter-options-content .item a { color: #333; text-decoration: none; font-size: 0.9rem; }
.filter-options-content .item a:hover { color: #0460a9; }
.filter-options-content .count { color: #aaa; font-size: 0.8rem; }

/* ── Página de produto — anular sidebar Magento, layout próprio ──────── */
.catalog-product-view .page-main { padding-top: 10px; }

/* Garantir que o wrapper de produto ocupe 100% sem sidebar float */
.catalog-product-view .columns,
.catalog-product-view .column.main,
.product-page-wrapper {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Layout 2 colunas próprio do produto */
.product-layout-columns {
    display: flex;
    gap: 40px;
    align-items: flex-start;
    margin-bottom: 40px;
    width: 100%;
}
.product-media-column {
    flex: 0 0 55%;
    max-width: 55%;
    min-width: 0;
}
.product-info-column {
    flex: 1;
    min-width: 0;
}

/* Imagem principal grande */
.fotorama__stage { background: #f8f8f8; border: 1px solid #e0e0e0; }
.fotorama__stage img,
#product-main-image {
    width: 100%;
    max-height: 520px;
    object-fit: contain;
    display: block;
}

/* Thumbnails maiores, borda laranja na ativa */
.product-image-thumbs-wrapper { margin: 12px 0; }
.product-image-thumbs { display: flex; gap: 8px; flex-wrap: wrap; }
.product-image-thumbs .item.thumb {
    cursor: pointer;
    border: 2px solid #e0e0e0;
    border-radius: 2px;
    overflow: hidden;
    transition: border-color 0.15s;
}
.product-image-thumbs .item.thumb:hover { border-color: #aaa; }
.product-image-thumbs .item.thumb.active { border-color: #f57824 !important; border-width: 3px; }
.product-image-thumbs img { width: 85px; height: 85px; object-fit: contain; display: block; }

.product-info-main { padding: 0; }

/* Título grande e fino */
.page-title.product-name { font-size: 2rem; margin: 0 0 16px; line-height: 1.25; color: #222; font-weight: 300; }

/* SKU e Categoria ocultos */
.product.attribute.sku,
.product.attribute.category { display: none; }

/* Bullets de features */
.product-features { margin: 16px 0; }
.features-list { padding-left: 20px; margin: 0; }
.features-list li { margin-bottom: 8px; font-size: 0.95rem; color: #444; line-height: 1.5; }

/* Preço Sob Consulta — botão preto */
.product-info-price { margin: 20px 0 16px; }
.price-label-consult {
    display: inline-block;
    background: #000;
    color: #fff;
    font-size: 1rem;
    font-weight: 600;
    padding: 12px 28px;
    border-radius: 3px;
    letter-spacing: 0.02em;
}

.product-info-actions { margin: 12px 0 20px; }
.product-info-actions .btn-solicitar {
    display: inline-block;
    padding: 12px 28px;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    background: #0460a9;
    color: #fff;
    border-radius: 3px;
    transition: background 0.15s;
}
.product-info-actions .btn-solicitar:hover { background: #034f8a; }

/* Breadcrumb */
.breadcrumbs { margin-bottom: 16px; font-size: 0.85rem; color: #999; }
.breadcrumbs .items { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.breadcrumbs .item { display: flex; align-items: center; }
.breadcrumbs .item::after { content: '>'; margin-left: 4px; color: #ccc; font-size: 0.75rem; }
.breadcrumbs .item:last-child::after { display: none; }
.breadcrumbs a { color: #666; text-decoration: none; }
.breadcrumbs a:hover { color: #0460a9; }
.breadcrumbs strong { color: #333; }

/* Abas de produto — estilo tab clássico com borda/fundo */
.product-tabs-wrapper {
    margin-top: 10px;
    clear: both;
    overflow: hidden;
}
.product-tabs-wrapper .data.tabs {
    display: flex !important;
    border-bottom: 1px solid #c8c8c8;
    margin-bottom: 0;
    gap: 0;
    list-style: none;
    padding: 0;
}
.product-tabs-wrapper .data.item.title {
    margin: 0;
    position: relative;
    bottom: -1px;
    z-index: 1;
}
.product-tabs-wrapper .data.item.title .switch {
    display: block !important;
    padding: 10px 22px !important;
    color: #666 !important;
    text-decoration: none !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    background: #f0f0f0 !important;
    border: 1px solid #c8c8c8 !important;
    border-bottom: 1px solid #c8c8c8 !important;
    margin-right: 4px;
    border-radius: 3px 3px 0 0;
    transition: background 0.15s, color 0.15s;
}
.product-tabs-wrapper .data.item.title .switch:hover {
    background: #e5e5e5 !important;
    color: #333 !important;
}
.product-tabs-wrapper .data.item.title .switch.active {
    background: #fff !important;
    color: #1a1a1a !important;
    border-bottom-color: #fff !important;
    font-weight: 700 !important;
}
.product-tabs-wrapper .data.item.content {
    display: none !important;
    padding: 24px !important;
    font-size: 0.95rem !important;
    line-height: 1.75 !important;
    color: #444 !important;
    border: 1px solid #c8c8c8 !important;
    border-top: none !important;
    background: #fff;
}
.product-tabs-wrapper .data.item.content.active {
    display: block !important;
}
.product-tabs-wrapper .data.item.content img { max-width: 100%; height: auto; }
.product-tabs-wrapper .data.item.content table { width: 100%; border-collapse: collapse; margin: 12px 0; }
.product-tabs-wrapper .data.item.content table td,
.product-tabs-wrapper .data.item.content table th { padding: 8px 12px; border: 1px solid #e0e0e0; font-size: 0.875rem; }
.product-tabs-wrapper .data.item.content table tr:nth-child(even) { background: #f9f9f9; }

.product-info-description { margin: 15px 0; }

/* Video embed */
.product-video-wrapper { margin: 20px 0; }

/* Responsivo mobile — produto */
@media (max-width: 767px) {
    .product-layout-columns { flex-direction: column; gap: 20px; }
    .product-media-column { flex: none; max-width: 100%; width: 100%; }
    .page-title.product-name { font-size: 1.4rem; }
    .product-image-thumbs img { width: 60px; height: 60px; }
}

/* ── Galeria de produto ──────────────────────────────────────────────── */
.gallery-with-arrows { position: relative; max-width: 500px; }
.gallery-arrow {
    position: absolute; top: 0; bottom: 0;
    background: rgba(255,255,255,0.7); color: #888;
    border: none; cursor: pointer; font-size: 4rem;
    line-height: 1; width: 52px;
    display: flex; align-items: center; justify-content: center;
    padding: 0; z-index: 10; opacity: 0;
    transition: opacity 0.2s, background 0.15s, color 0.15s;
}
.gallery-with-arrows:hover .gallery-arrow { opacity: 1; }
.gallery-arrow:hover { background: rgba(255,255,255,0.95); color: #444; }
.gallery-arrow-prev { left: 0; transform: scaleX(-1); }
.gallery-arrow-next { right: 0; }
.product-image-thumbs-wrapper { display: flex; align-items: center; gap: 6px; margin: 10px 0; }
.product-image-thumbs { display: flex; gap: 6px; overflow: hidden; flex: 1; }
.product-image-thumbs .item.thumb { cursor: pointer; border: 2px solid transparent; }
.product-image-thumbs .item.thumb.active { border-color: #0460a9; }
.product-image-thumbs img { width: 70px; height: 70px; object-fit: cover; }

/* ── Footer escuro ───────────────────────────────────────────────────── */
.page-footer { background: #1a1a1a !important; border-top: none; padding: 35px 0 0; margin-top: 40px; }
.footer.content { max-width: 1280px; margin: 0 auto; padding: 0 20px; }
.footer-columns { display: flex; gap: 40px; flex-wrap: wrap; }
.footer-col { flex: 1; min-width: 200px; }
.footer-col h3.titulo { font-size: 0.9rem; font-weight: 700; margin-bottom: 12px; color: #fff; text-transform: uppercase; letter-spacing: 0.05em; }
.footer-col ul { list-style: none; padding: 0; margin: 0; }
.footer-col ul li { margin-bottom: 7px; }
.footer-col ul li a { color: #aaa; text-decoration: none; font-size: 0.875rem; }
.footer-col ul li a:hover { color: #fff; }
.footer-col p, .footer-contato p { font-size: 0.875rem; color: #aaa; margin: 4px 0; }
.footer-bottom { margin-top: 25px; padding: 15px 0; border-top: 1px solid #333; text-align: center; font-size: 0.82rem; color: #666; }

/* ── Responsivo mobile ───────────────────────────────────────────────── */
@media (max-width: 767px) {
    /* Nav mobile: submenu oculto por padrão, o .page-wrapper desliza */
    .nav-sections {
        position: fixed;
        top: 0; left: -80%;
        width: 80%;
        max-width: 320px;
        height: 100%;
        overflow-y: auto;
        z-index: 99;
        transition: left 0.3s;
        border: none;
        box-shadow: none;
    }
    .nav-open .nav-sections { left: 0; }
    .nav-sections .navigation > ul { flex-direction: column; padding: 0; max-width: none; }
    .nav-sections .navigation li.level-top { border-bottom: 1px solid #eee; }
    .nav-sections .navigation li.level-top > a.level-top { padding: 12px 16px; }
    .nav-sections .navigation li.level-top .submenu {
        display: block;
        position: static;
        box-shadow: none;
        border: none;
        border-top: 1px solid #eee;
        padding: 0;
        min-width: 0;
    }
    .nav-sections .navigation li.level1 > a { padding: 10px 28px; font-size: 0.85rem; }

    /* Layout 1 coluna no mobile */
    .catalog-category-view .sidebar.sidebar-main,
    .catalog-category-view .column.main {
        float: none;
        width: 100%;
    }
    .footer-columns { flex-direction: column; }
    .logo img { max-height: 45px; }
    .products-grid .product-item { width: 50%; }
}
