body {
    margin: 0;
    font-family: Arial, sans-serif;
    background: #fff;
    color: #333;
}
header {
    background-color: #c00;
    color: white;
    text-align: center;
    padding: 1em;
}
header .logo {
    max-width: 300px;
    margin: 0 auto;
}
nav {
    margin-top: 1em;
}
nav a {
    color: white;
    margin: 0 15px;
    text-decoration: none;
    font-weight: bold;
}
main {
    padding: 2em;
}
h2 {
    color: #c00;
}
.lojas {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5em;
    justify-content: center;
}
.loja {
    border: 1px solid #ccc;
    border-radius: 8px;
    padding: 1em;
    max-width: 300px;
    text-align: center;
}
.loja img {
    max-width: 100%;
    height: auto;
    border-radius: 5px;
}
footer {
    background-color: #c00;
    color: white;
    text-align: center;
    padding: 1.5em 1em;
    margin-top: 3em;
}
footer a {
    color: #fff;
    text-decoration: underline;
}

.whatsapp-float {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 60px;
    z-index: 1000;
}
.whatsapp-float img {
    width: 100%;
}


/* Dropdown */
.dropdown {
    position: relative;
    display: inline-block;
}
.dropdown-content {
    display: none;
    position: absolute;
    background-color: #fff;
    min-width: 220px;
    box-shadow: 0px 8px 16px rgba(0,0,0,0.2);
    z-index: 1;
}
.dropdown-content a {
    color: #c00;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
}
.dropdown-content a:hover {
    background-color: #f5f5f5;
}
.dropdown:hover .dropdown-content {
    display: block;
}


/* === Fix: uniform store card image sizing === */
.lojas .loja img {
    width: 100%;
    height: 260px;           /* keep all three images same height */
    object-fit: cover;       /* crop to fill without distortion */
    display: block;
    border-radius: 8px;
}


/* === Base: imagens uniformes === */
.lojas .loja img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
    border-radius: 8px;
}


/* === Centro: ajustar enquadramento à direita === */
.lojas .loja img[src$="fachada-centro.jpeg"],
.lojas .loja img[src*="fachada-centro"] {
    object-position: 55% 20% !important;
}



/* === Mega menu for Produtos === */
nav .dropdown { position: relative; }
nav .dropdown > a { position: relative; z-index: 2; }
nav .mega-menu {
    display: none;
    position: absolute;
    left: 0; right: 0; top: 100%;
    background: #fff;
    border: 1px solid #eee;
    box-shadow: 0 8px 24px rgba(0,0,0,.08);
    padding: 24px 32px;
    border-radius: 12px;
    min-width: 720px;
}
nav .dropdown:hover .mega-menu { display: block; }

.mega-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(120px, 1fr));
    gap: 16px 24px;
    align-items: start;
}

.mega-item {
    text-decoration: none;
    color: #444;
    text-align: center;
    padding: 8px;
    border-radius: 12px;
    transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
}

.mega-item:hover {
    background: #fafafa;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,.06);
}

.mega-icon {
    width: 92px;
    height: 64px;
    margin: 0 auto 8px;
    border-radius: 12px;
    background: linear-gradient(180deg, #f2f2f2, #e9e9e9);
    box-shadow: inset 0 1px 0 #fff, inset 0 -1px 0 rgba(0,0,0,.04);
}

/* Optional: stronger brand color on hover text */
.mega-item span { display:block; font-size: 14px; font-weight: 600; letter-spacing: .2px; }

/* Responsive tweak */
@media (max-width: 900px){
    nav .mega-menu { left: 0; right: 0; min-width: auto; }
    .mega-grid { grid-template-columns: repeat(3, 1fr); }
}



/* Panel centered under the nav, with safe viewport width */
nav .mega-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: min(1200px, calc(100vw - 48px));
    background: #fff;
    border: 1px solid #eee;
    box-shadow: 0 12px 30px rgba(0,0,0,.12);
    padding: 20px 24px;
    border-radius: 14px;
    z-index: 999;
}

/* Show on hover */
nav .dropdown:hover .mega-menu { display: block; }

/* Single horizontal row of tiles */
.mega-grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    grid-template-rows: 1fr;
    gap: 20px;
    align-items: start;
    overflow-x: hidden;
}

/* Tile look */
.mega-item {
    text-decoration: none;
    color: #333;
    text-align: center;
    padding: 8px 10px;
    border-radius: 12px;
    transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
    min-width: 140px;
}

.mega-item:hover {
    background: #fafafa;
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(0,0,0,.08);
}

.mega-icon {
    width: 96px;
    height: 68px;
    margin: 0 auto 8px;
    border-radius: 12px;
    background: linear-gradient(180deg, #f1f1f1, #e6e6e6);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9), inset 0 -1px 0 rgba(0,0,0,.05);
}

/* Keep it neat on smaller screens */
@media (max-width: 980px){
    nav .mega-menu { width: calc(100vw - 24px); left: 50%; transform: translateX(-50%); }
    .mega-grid { grid-auto-columns: 140px; overflow-x: auto; padding-bottom: 6px; }
}


/* Icons inside mega-menu */
.mega-item .mega-icon {
    width: 96px;
    height: 68px;
    object-fit: contain;
    display: block;
    margin: 0 auto 8px;
    border-radius: 12px;
    background: linear-gradient(180deg, #f1f1f1, #e6e6e6);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9), inset 0 -1px 0 rgba(0,0,0,.05);
}


/* Uniform icon card and image fit */
.mega-item .mega-icon-box{
    width: 96px;
    height: 68px;
    margin: 0 auto 8px;
    border-radius: 12px;
    background: linear-gradient(180deg, #f1f1f1, #e6e6e6);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9), inset 0 -1px 0 rgba(0,0,0,.05);
    display: grid;
    place-items: center;
}
.mega-item .mega-icon-img{
    max-width: 88px;
    max-height: 60px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}


/* Slightly larger icons for better legibility on selected categories */
.mega-item .mega-icon-img[alt="Colchões de Molas"],
.mega-item .mega-icon-img[alt="Colchões de Berço"],
.mega-item .mega-icon-img[alt="Cama Box"]{
    max-width: 92px;
    max-height: 64px;
}


/* === Spacing fix: evenly distribute tiles, avoid big gaps at the end === */
.mega-grid{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 20px;
    align-items: start;
    justify-items: center;
}


/* === Spacing fix v2 === */
nav .mega-menu{
    width: min(1400px, calc(100vw - 24px));  /* allow a bit more width */
    padding: 16px 18px;                      /* slightly tighter padding */
}

.mega-grid{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); /* smaller min to fit all */
    gap: 16px 18px;                          /* reduce gaps a bit */
    align-items: start;
    justify-items: center;
}

/* keep labels on one line when possible */
.mega-item span{
    white-space: nowrap;
}


/* === Center mega-menu under nav === */
nav { position: relative; }
nav .mega-menu{
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin: 0 auto;                 /* center horizontally */
    width: min(1400px, calc(100vw - 24px));
    transform: none;                 /* neutralize previous translate */
}


/* === Mega-menu hard-centering override === */
nav { position: relative; }
nav .mega-menu{
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    width: min(1300px, calc(100vw - 48px)) !important;
}


/* === Products grid & cards === */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;padding:1rem}
.category-card .card-box, .product-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.08);text-align:center;padding:14px;display:block;text-decoration:none;color:#111}
.product-thumb img{max-width:100%;height:220px;object-fit:contain}
.product-name{margin-top:.5rem;font-weight:600}
.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:1rem}
.gallery #main-img{width:100%;max-height:520px;object-fit:contain;border-radius:12px}
.thumbs{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}
.thumbs .thumb{width:90px;height:90px;object-fit:cover;border:2px solid #eee;border-radius:8px;cursor:pointer}
.descricao{background:#fff;border-radius:12px;padding:1rem;white-space:pre-wrap}
@media (max-width:900px){.product-detail{grid-template-columns:1fr}}


/* === Fix: product gallery main image and thumbs === */
.product-detail{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;padding:1rem}
.gallery{display:flex;flex-direction:column;align-items:flex-start}
.gallery #main-img{width:100% !important;max-width:900px;max-height:560px;object-fit:contain;border-radius:12px;display:block}
.thumbs{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}
.thumbs .thumb{width:96px;height:96px;object-fit:cover;border:2px solid #eee;border-radius:10px;cursor:pointer;transition:transform .1s ease-in}
.thumbs .thumb:hover{transform:scale(1.03)}

/* === Fix: WhatsApp FAB sizing consistent === */
.whatsapp-fab{position:fixed;right:18px;bottom:18px;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#25d366;box-shadow:0 4px 14px rgba(0,0,0,.2)}
.whatsapp-fab img{width:28px;height:28px;}

/* === Category chips (visible on all product pages) === */
.chips{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;padding:1rem}
.chip{background:#fff;border:1px solid #eee;border-radius:999px;padding:.5rem .8rem;text-decoration:none;color:#c00;box-shadow:0 1px 4px rgba(0,0,0,.06);font-weight:600}
.chip:hover{background:#c00;color:#fff;border-color:#c00}


/* === Larger product gallery image & layout tuning (v5) === */
.product-detail{display:grid;grid-template-columns:1.6fr .9fr;gap:2rem;padding:1.25rem}
.gallery{display:flex;flex-direction:column;align-items:flex-start}
.gallery #main-img{width:min(100%,1100px)!important;max-height:640px;object-fit:contain;border-radius:16px;box-shadow:0 8px 28px rgba(0,0,0,.12);background:#fff}
.thumbs{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}
.thumbs .thumb{width:112px;height:112px;object-fit:cover;border:2px solid #eee;border-radius:12px;cursor:pointer;transition:transform .1s ease-in, box-shadow .1s ease-in}
.thumbs .thumb:hover{transform:scale(1.04);box-shadow:0 4px 10px rgba(0,0,0,.12)}
.product-info h2{margin-top:.25rem;font-size:2rem}


/* === v6: Big product image like ecommerce === */
.product-detail{display:grid;grid-template-columns:minmax(580px,1.8fr) minmax(360px,.9fr);gap:2rem;padding:1.25rem}
.gallery{display:flex;flex-direction:column;align-items:flex-start;width:100%}
.gallery #main-img{width:100% !important;max-width:1200px;height:auto;max-height:800px;object-fit:contain;border-radius:16px;box-shadow:0 8px 28px rgba(0,0,0,.12);background:#fff}
.thumbs{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}
.thumbs .thumb{width:120px;height:120px;object-fit:cover;border:2px solid #eee;border-radius:12px;cursor:pointer;transition:transform .1s ease-in, box-shadow .1s ease-in}
.thumbs .thumb:hover{transform:scale(1.04);box-shadow:0 4px 10px rgba(0,0,0,.12)}


/* === v6-fix2: product image size + description wrap === */
.product-detail{display:grid;grid-template-columns:minmax(480px,1.5fr) minmax(400px,1fr);gap:2rem;padding:1.25rem}
.gallery #main-img{width:100%;max-width:900px;max-height:600px;object-fit:contain;border-radius:12px}
.descricao pre{white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;line-height:1.55}
.descricao{font-size:1.05rem}


/* v9: fixed mega menu on home */
.mega-categories.fixed{padding:1rem 0}
.mega-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;align-items:stretch}
.mega-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;background:#fff;border-radius:16px;padding:14px;box-shadow:0 2px 10px rgba(0,0,0,.08);text-decoration:none;color:#b00000;font-weight:700}
.mega-item .mega-icon-img{width:64px;height:64px;object-fit:contain}
.mega-item span{text-align:center}


/* v9: parceiros page */
.partners-list{display:flex;flex-direction:column;gap:20px;padding:10px 0}
.partner-row{display:grid;grid-template-columns:160px 1fr;gap:16px;background:#fff;padding:16px;border-radius:16px;box-shadow:0 2px 10px rgba(0,0,0,.08)}
.partner-logo img{max-width:150px;max-height:100px;object-fit:contain}
.partner-text h3{margin:0 0 .25rem 0}


/* v9: brand badge below thumbs */
.brand-badge{margin-top:.75rem;background:#fff;border-radius:12px;padding:.5rem;box-shadow:0 1px 6px rgba(0,0,0,.08);display:inline-flex;align-items:center}
.brand-badge img{max-height:44px;max-width:180px;object-fit:contain}


/* v10: scope home fixed mega-menu styles to avoid conflicts */
.mega-categories.fixed{padding:1rem 0}
.mega-categories.fixed .mega-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px}
.mega-categories.fixed .mega-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;background:#fff;border-radius:16px;padding:14px;box-shadow:0 2px 10px rgba(0,0,0,.08);text-decoration:none;color:#b00000;font-weight:700}
.mega-categories.fixed .mega-item .mega-icon-img{width:70px;height:70px;object-fit:contain}
.mega-categories.fixed .mega-item span{text-align:center}


/* v10: partners page tweaks */
.partners-list{display:flex;flex-direction:column;gap:20px;padding:10px 0}
.partner-row{display:grid;grid-template-columns:180px 1fr;gap:16px;background:#fff;padding:16px;border-radius:16px;box-shadow:0 2px 10px rgba(0,0,0,.08)}
.partner-logo img{max-width:170px;max-height:110px;object-fit:contain}
.partner-text h3{margin:0 0 .25rem 0}
.partner-text p{margin:0}


/* v10: brand badge fix */
.brand-badge{margin-top:.75rem;background:#fff;border-radius:12px;padding:.5rem .75rem;box-shadow:0 1px 6px rgba(0,0,0,.08);display:inline-flex;align-items:center}
.brand-badge img{max-height:48px;max-width:220px;object-fit:contain}


/* v11: home catalog grid (scoped) */
.home-cat-catalog{padding:10px 0}
.home-cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px}
.home-cat-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;background:#fff;border-radius:16px;padding:14px;box-shadow:0 2px 10px rgba(0,0,0,.08);text-decoration:none;color:#b00000;font-weight:700}
.home-cat-icon{width:70px;height:70px;object-fit:contain}
.home-cat-item span{text-align:center}


/* v11: partners page ensure nav visible & layout */
.partners-list{display:flex;flex-direction:column;gap:20px;padding:10px 0}
.partner-row{display:grid;grid-template-columns:200px 1fr;gap:16px;background:#fff;padding:16px;border-radius:16px;box-shadow:0 2px 10px rgba(0,0,0,.08)}
.partner-logo img{max-width:190px;max-height:120px;object-fit:contain}
.partner-text h3{margin:0 0 .25rem 0}
.partner-text p{margin:0;line-height:1.5;white-space:pre-wrap}


/* v11: brand badge */
.brand-badge{margin-top:.75rem;background:#fff;border-radius:12px;padding:.5rem .75rem;box-shadow:0 1px 6px rgba(0,0,0,.08);display:inline-flex;align-items:center}
.brand-badge img{max-height:48px;max-width:220px;object-fit:contain}

/* === Mega menu for Produtos === */
nav .dropdown { position: relative; }
nav .dropdown > a { position: relative; z-index: 2; }
nav .mega-menu {
    display: none;
    position: absolute;
    left: 0; right: 0; top: 100%;
    background: #fff;
    border: 1px solid #eee;
    box-shadow: 0 8px 24px rgba(0,0,0,.08);
    padding: 24px 32px;
    border-radius: 12px;
    min-width: 720px;
}
nav .dropdown:hover .mega-menu { display: block; }

.mega-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(120px, 1fr));
    gap: 16px 24px;
    align-items: start;
}

.mega-item {
    text-decoration: none;
    color: #444;
    text-align: center;
    padding: 8px;
    border-radius: 12px;
    transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
}

.mega-item:hover {
    background: #fafafa;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,.06);
}

.mega-icon {
    width: 92px;
    height: 64px;
    margin: 0 auto 8px;
    border-radius: 12px;
    background: linear-gradient(180deg, #f2f2f2, #e9e9e9);
    box-shadow: inset 0 1px 0 #fff, inset 0 -1px 0 rgba(0,0,0,.04);
}

/* Optional: stronger brand color on hover text */
.mega-item span { display:block; font-size: 14px; font-weight: 600; letter-spacing: .2px; }

/* Responsive tweak */
@media (max-width: 900px){
    nav .mega-menu { left: 0; right: 0; min-width: auto; }
    .mega-grid { grid-template-columns: repeat(3, 1fr); }
}



/* === Mega-menu: full-width centered horizontal row === */
nav { position: relative; z-index: 2; }
nav .dropdown { position: relative; }

/* Panel centered under the nav, with safe viewport width */
nav .mega-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: min(1200px, calc(100vw - 48px));
    background: #fff;
    border: 1px solid #eee;
    box-shadow: 0 12px 30px rgba(0,0,0,.12);
    padding: 20px 24px;
    border-radius: 14px;
    z-index: 999;
}

/* Show on hover */
nav .dropdown:hover .mega-menu { display: block; }

/* Single horizontal row of tiles */
.mega-grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    grid-template-rows: 1fr;
    gap: 20px;
    align-items: start;
    overflow-x: hidden;
}

/* Tile look */
.mega-item {
    text-decoration: none;
    color: #333;
    text-align: center;
    padding: 8px 10px;
    border-radius: 12px;
    transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
    min-width: 140px;
}

.mega-item:hover {
    background: #fafafa;
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(0,0,0,.08);
}

.mega-icon {
    width: 96px;
    height: 68px;
    margin: 0 auto 8px;
    border-radius: 12px;
    background: linear-gradient(180deg, #f1f1f1, #e6e6e6);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9), inset 0 -1px 0 rgba(0,0,0,.05);
}

/* Keep it neat on smaller screens */
@media (max-width: 980px){
    nav .mega-menu { width: calc(100vw - 24px); left: 50%; transform: translateX(-50%); }
    .mega-grid { grid-auto-columns: 140px; overflow-x: auto; padding-bottom: 6px; }
}


/* Icons inside mega-menu */
.mega-item .mega-icon {
    width: 96px;
    height: 68px;
    object-fit: contain;
    display: block;
    margin: 0 auto 8px;
    border-radius: 12px;
    background: linear-gradient(180deg, #f1f1f1, #e6e6e6);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9), inset 0 -1px 0 rgba(0,0,0,.05);
}


/* Uniform icon card and image fit */
.mega-item .mega-icon-box{
    width: 96px;
    height: 68px;
    margin: 0 auto 8px;
    border-radius: 12px;
    background: linear-gradient(180deg, #f1f1f1, #e6e6e6);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9), inset 0 -1px 0 rgba(0,0,0,.05);
    display: grid;
    place-items: center;
}
.mega-item .mega-icon-img{
    max-width: 88px;
    max-height: 60px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}


/* Slightly larger icons for better legibility on selected categories */
.mega-item .mega-icon-img[alt="Colchões de Molas"],
.mega-item .mega-icon-img[alt="Colchões de Berço"],
.mega-item .mega-icon-img[alt="Cama Box"]{
    max-width: 92px;
    max-height: 64px;
}


/* === Spacing fix: evenly distribute tiles, avoid big gaps at the end === */
.mega-grid{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 20px;
    align-items: start;
    justify-items: center;
}


/* === Spacing fix v2 === */
nav .mega-menu{
    width: min(1400px, calc(100vw - 24px));  /* allow a bit more width */
    padding: 16px 18px;                      /* slightly tighter padding */
}

.mega-grid{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); /* smaller min to fit all */
    gap: 16px 18px;                          /* reduce gaps a bit */
    align-items: start;
    justify-items: center;
}

/* keep labels on one line when possible */
.mega-item span{
    white-space: nowrap;
}


/* === Center mega-menu under nav === */
nav { position: relative; }
nav .mega-menu{
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin: 0 auto;                 /* center horizontally */
    width: min(1400px, calc(100vw - 24px));
    transform: none;                 /* neutralize previous translate */
}








/* v14: hard copy of v8 mega-menu rules with precedence */
nav .dropdown{position:relative !important}
nav .dropdown > a{position:relative;z-index:2}
nav .mega-menu{display:none;position:absolute;left:50% !important;transform:translateX(-50%) !important;top:calc(100% + 10px);width:min(1200px,96vw) !important;background:#fff;border:1px solid #eee;border-radius:20px;box-shadow:0 16px 40px rgba(0,0,0,.16);padding:16px 18px;overflow:visible}
nav .dropdown:hover .mega-menu{display:block}
.mega-grid{display:grid;grid-template-columns:repeat(8,1fr) !important;gap:16px;align-items:stretch}
.mega-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-decoration:none;background:#fff;border-radius:16px;padding:12px;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.mega-item .mega-icon-img{width:64px;height:64px;object-fit:contain}
.mega-item span{display:block;font-size:15px;font-weight:700;color:#b00000;text-align:center}
@media (max-width: 1200px){ .mega-grid{grid-template-columns:repeat(6,1fr) !important} }
@media (max-width: 920px){ .mega-grid{grid-template-columns:repeat(4,1fr) !important} }
@media (max-width: 680px){ .mega-grid{grid-template-columns:repeat(3,1fr) !important} }


/* v15: viewport-anchored mega-menu, smaller cards, guaranteed 8 items fit */
nav{overflow:visible !important}
nav .mega-menu{
  position:absolute;
  z-index:9999;
  left:50vw !important;            /* anchor to viewport center */
  transform:translateX(-50%) !important;
  top:calc(100% + 12px);
  width:calc(100vw - 64px) !important; /* leave nice margins on both sides */
  max-width:1280px;
  min-width:820px;                 /* avoid squashing too much */
  box-sizing:border-box;
  padding:14px 16px !important;
  border-radius:18px !important;
  background:#fff;
  border:1px solid #eee;
  box-shadow:0 16px 38px rgba(0,0,0,.16);
}
.mega-grid{
  display:grid !important;
  grid-template-columns:repeat(8, minmax(100px, 1fr)) !important;
  gap:14px !important;
  align-items:start;
  justify-items:center;
}
.mega-item{
  padding:10px !important;
  border-radius:14px !important;
  box-shadow:0 1px 4px rgba(0,0,0,.06);
}
.mega-item .mega-icon-img{
  width:56px !important;
  height:56px !important;
  object-fit:contain;
}
.mega-item span{font-size:14px !important;font-weight:700;text-align:center}
@media (max-width: 980px){
  nav .mega-menu{width:calc(100vw - 40px) !important; min-width: 0;}
  .mega-grid{grid-template-columns:repeat(4, minmax(100px, 1fr)) !important;}
}
@media (max-width: 680px){
  .mega-grid{grid-template-columns:repeat(3, minmax(100px, 1fr)) !important;}
}


/* v15b: enforce fixed card width so 8 items always fit */
nav .mega-menu{
  left:50vw !important;
  transform:translateX(-50%) !important;
  width:min(1180px, calc(100vw - 48px)) !important;
  padding:14px 16px !important;
  border-radius:18px !important;
}
.mega-grid{
  display:grid !important;
  grid-template-columns:repeat(8, 128px) !important; /* 8 columns, fixed width */
  gap:12px !important;
  justify-content:center !important;
}
.mega-item{
  width:128px !important;
  padding:10px !important;
  border-radius:14px !important;
}
.mega-item .mega-icon-img{ width:56px !important; height:56px !important; }
.mega-item span{ font-size:14px !important; font-weight:700; text-align:center; }
@media (max-width: 980px){
  nav .mega-menu{ width:calc(100vw - 40px) !important; }
  .mega-grid{ grid-template-columns:repeat(4, 128px) !important; }
}
@media (max-width: 680px){
  .mega-grid{ grid-template-columns:repeat(3, 128px) !important; }
}/* v15c – Mega-menu: 8 itens sempre visíveis, centralizado e sem “corte” */
nav .mega-menu{
  position:absolute;
  left:50% !important;
  transform:translateX(-50%) !important;
  top:calc(100% + 12px);
  width:min(1160px, calc(100vw - 48px)) !important; /* painel um pouco mais contido */
  padding:12px 14px !important;
  border-radius:18px !important;
  background:#fff;
  border:1px solid #eee;
  box-shadow:0 16px 38px rgba(0,0,0,.16);
  z-index:9999;
}

.mega-grid{
  display:grid !important;
  grid-template-columns:repeat(8, 128px) !important; /* 8 colunas fixas */
  gap:12px !important;
  justify-content:center !important;  /* centraliza o conjunto */
  align-items:start;
}

.mega-item{
  width:100% !important;           /* ocupa exatamente a “faixa” de 128px */
  box-sizing:border-box !important; /* padding conta dentro dos 128px */
  padding:10px !important;
  border-radius:14px !important;
  box-shadow:0 1px 4px rgba(0,0,0,.06);
  text-decoration:none;
}

.mega-item .mega-icon-img{
  width:56px !important;
  height:56px !important;
  object-fit:contain;
}

.mega-item span{
  font-size:14px !important;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}

/* Quebra responsiva segura */
@media (max-width: 980px){
  nav .mega-menu{ width:calc(100vw - 40px) !important; }
  .mega-grid{ grid-template-columns:repeat(4, 128px) !important; }
}
@media (max-width: 680px){
  .mega-grid{ grid-template-columns:repeat(3, 128px) !important; }
}




/* v15b_fix2 – Mega-menu hover stability: no gap + hover bridge */
nav{ overflow: visible !important; }
nav .dropdown{ position: relative !important; }
/* "Bridge" invisível para manter :hover enquanto o mouse desce do item até o painel */
nav .dropdown::after{
  content:""; position:absolute; left:0; right:0; top:100%; height:16px; /* altura da área "ponte" */
}
/* encosta o painel no item do menu (remove gap) */
nav .mega-menu{
  top:100% !important;
  margin-top: 0 !important;
}
/* garante que, ao entrar no painel, ele permaneça aberto */
nav .dropdown:hover .mega-menu,
nav .mega-menu:hover{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
}


/* Force 4 columns for catalog on desktop */
@media (min-width: 992px){
  .home-cat-grid{
    grid-template-columns: repeat(4, minmax(0,1fr));
  }
}


/* ---- Home catalog size & layout tweak (v16.1) ---- */
.home-cat-catalog .home-cat-grid{
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  max-width: 1240px;
  margin-inline: auto;
}
.home-cat-catalog .home-cat-item{
  padding: 22px;
  border-radius: 20px;
}
.home-cat-catalog .home-cat-item img{
  width: 112px;
  height: auto;
  margin-bottom: 8px;
}
.home-cat-catalog .home-cat-title{
  font-size: 1.1rem;
}
@media (max-width: 1024px){
  .home-cat-catalog .home-cat-grid{ grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 768px){
  .home-cat-catalog .home-cat-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}



/* === Catalog grid alignment fix (v16-catalog-fix) === */
.home-cat-item{
  justify-content: center !important;
  gap: 12px !important;
  min-height: 200px;
}
.home-cat-icon{
  display:block;
  margin:0 auto;
}
.home-cat-item span{
  display:block;
  margin-top:6px;
}

/* MEGA-MENU — neutraliza o fundo branco do ícone "Sofás e Poltronas" */
nav .mega-menu .mega-item .mega-icon-img[alt="Sofás e Poltronas"],
nav .mega-menu .mega-item .mega-icon-img[alt="Sof\u00E1s e Poltronas"],
nav .mega-menu .mega-item .mega-icon-img[alt="Sofas e Poltronas"]{
  mix-blend-mode: multiply;        /* só dentro do mega-menu */
}

/* melhora a nitidez dos PNGs no mega-menu (opcional) */
nav .mega-menu .mega-item .mega-icon-img{
  image-rendering: -webkit-optimize-contrast;
}

