/* ============================================================
   STYLE.CSS — Constru-Silva
   Visual Magalu rebrandado para azul (#0071E4)
   Extraído do HTML original e organizado em seções.
   ============================================================ */

:root {
    --gold:        #0071E4;
    --gold-light:  #BFE0FF;
    --gold-deep:   #005FC4;
    --gold-soft:   #E3F2FD;
    --noir:        #0071E4;
    --noir-soft:   #0071E4;
    --white: #FFFFFF;
    --black: #000000;
    --cream: #F0F8FF;
    --paper: #F6F9FC;
    --ink: #121212;
    --ink80: rgba(18,18,18,.80);
    --ink50: rgba(18,18,18,.50);
    --ink20: rgba(18,18,18,.14);
    --gradient-noir: linear-gradient(135deg, #0071E4 0%, #0071E4 100%);
    --shadow-xs: 0 1px 2px rgba(0,0,0,.05);
    --shadow-sm: 0 1px 4px rgba(0,0,0,.06), 0 2px 10px rgba(0,0,0,.05);
    --shadow-md: 0 4px 12px rgba(0,0,0,.10);
    --shadow-lg: 0 8px 20px rgba(0,0,0,.12);
    --shadow-xl: 0 12px 32px rgba(0,0,0,.15);
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-full: 9999px;
    --transition-base: all 0.25s cubic-bezier(0.4,0,0.2,1);
    --transition-smooth: all 0.35s cubic-bezier(0.4,0,0.1,1);
    --font-primary: 'Manrope', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-display: 'Cormorant Garamond', Georgia, serif;
    --font-secondary: 'Manrope', -apple-system, BlinkMacSystemFont, sans-serif;
}

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    font-family: var(--font-secondary);
    color: var(--ink);
    background: var(--white);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}
a { text-decoration: none; color: inherit; }
img { display: block; max-width: 100%; }
button { cursor: pointer; font-family: inherit; border: none; background: none; }
svg { display: block; flex-shrink: 0; }
.container { max-width: 1440px; margin: 0 auto; padding: 0 24px; }
@media(max-width:640px){ .container { padding: 0 16px; } }

/* TOP BAR (oculta) */
.top-bar { display:none; }

/* MAIN HEADER */
.main-header { background:#0071E4; box-shadow:none; position:sticky; top:0; z-index:999; border-bottom:none; transition:box-shadow .3s cubic-bezier(.4,0,.2,1); }
.main-header.scrolled { box-shadow:0 6px 28px rgba(0,0,0,.25); }
.header-content { display:flex; align-items:center; gap:18px; padding:10px 0; }
.site-logo { display:flex; align-items:center; gap:10px; flex-shrink:0; text-decoration:none; transition:opacity .2s; }
.site-logo:hover { opacity:.9; }
.logo-image { height:48px; width:auto; max-width:210px; object-fit:contain; }
.cep-pill { display:flex; align-items:center; gap:8px; color:#fff; text-decoration:none; flex-shrink:0; padding:4px 2px; }
.cep-pill svg.cep-pin { width:22px; height:22px; fill:#fff; flex-shrink:0; }
.cep-pill .cep-text { font-size:14px; font-weight:700; white-space:nowrap; line-height:1.1; }
.cep-pill svg.cep-chev { width:18px; height:18px; fill:#fff; opacity:.95; }
.cep-pill:hover { opacity:.88; }
.search-container { flex:1; max-width:640px; position:relative; }
.search-form { display:flex; align-items:center; background:#fff; border:none; border-radius:9999px; box-shadow:0 2px 8px rgba(0,0,0,.08); transition:var(--transition-base); padding:0 6px 0 22px; gap:4px; }
.search-form:focus-within { box-shadow:0 0 0 3px rgba(255,255,255,.45); }
.search-input { flex:1; min-width:0; border:none; background:transparent; padding:13px 8px 13px 0; font-size:15px; color:#0C1828; font-family:var(--font-secondary); }
.search-input::placeholder { color:rgba(12,24,40,.42); }
.search-input:focus { outline:none; }
.search-button { display:flex; align-items:center; justify-content:center; width:40px; height:40px; min-width:40px; background:transparent; color:transparent; border:none; cursor:pointer; font-size:0!important; line-height:0; text-indent:-9999px; overflow:hidden; flex:0 0 auto; transition:transform .15s; }
.search-button svg { width:24px; height:24px; fill:#0071E4; text-indent:0; }
.search-button:hover { transform:scale(1.08); }
.header-actions { display:flex; align-items:center; gap:8px; margin-left:auto; }
.hdr-ico { position:relative; display:flex; align-items:center; justify-content:center; background:transparent; border:none; cursor:pointer; padding:8px; border-radius:12px; color:#fff; text-decoration:none; transition:background .2s; }
.hdr-ico:hover { background:rgba(255,255,255,.12); }
.hdr-ico svg { width:28px; height:28px; fill:#fff; display:block; }
.hdr-ico-label { display:none; }
.hdr-account { display:flex; align-items:center; gap:9px; padding:8px 10px; }
.hdr-account .acct-text { display:flex; flex-direction:column; line-height:1.2; text-align:left; }
.hdr-account .acct-text strong { font-size:12px; font-weight:700; color:#fff; }
.hdr-account .acct-text span { font-size:12px; font-weight:400; color:#fff; }
.cart-badge { position:absolute; top:2px; right:2px; min-width:17px; height:17px; background:#fff; color:var(--gold-deep); border-radius:var(--radius-full); font-size:9px; font-weight:800; display:flex; align-items:center; justify-content:center; border:2px solid #0071E4; font-family:var(--font-primary); animation:badgePulse 2.5s ease-in-out infinite; }
@keyframes badgePulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.12)} }

.mob-hamb { display:none; flex-direction:column; justify-content:center; gap:5px; width:40px; height:40px; padding:8px; background:transparent; border:none; cursor:pointer; flex-shrink:0; }
.mob-hamb span { display:block; width:24px; height:2.5px; background:#fff; border-radius:2px; }
.mob-cep { display:none; align-items:center; gap:8px; padding:10px 2px 2px; color:#fff; text-decoration:none; font-size:13px; font-weight:700; }
.mob-cep svg { width:18px; height:18px; fill:#fff; flex-shrink:0; }
.mob-cep .mob-cep-chev { margin-left:auto; width:20px; height:20px; opacity:.9; }

/* OVERLAYS / MOBILE MENU / CART */
.mobile-overlay { position:fixed; inset:0; background:rgba(0,0,0,.70); backdrop-filter:blur(6px); z-index:950; opacity:0; visibility:hidden; transition:var(--transition-smooth); }
.mobile-overlay.active { opacity:1; visibility:visible; }
.mobile-menu { position:fixed; top:0; left:0; bottom:0; width:340px; max-width:90vw; background:var(--noir); z-index:960; transform:translateX(-100%); transition:transform .35s cubic-bezier(.4,0,.2,1); display:flex; flex-direction:column; border-right:1px solid rgba(255,255,255,.16); }
.mobile-menu.active { transform:translateX(0); }
.mobile-header { display:flex; align-items:center; justify-content:space-between; padding:20px 22px; background:var(--noir-soft); border-bottom:1px solid rgba(255,255,255,.16); }
.mobile-title { font-family:var(--font-display); font-size:21px; font-weight:700; color:var(--white); }
.close-button { width:36px; height:36px; background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.25); border-radius:var(--radius-md); color:var(--gold-light); font-size:18px; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .2s; }
.close-button:hover { background:rgba(255,255,255,.22); }
.mobile-nav-list { list-style:none; flex:1; overflow-y:auto; padding:6px 0; }
.mobile-nav-link { display:flex; align-items:center; gap:10px; padding:13px 22px; font-size:13.5px; font-weight:600; color:rgba(255,255,255,.85); border-left:3px solid transparent; transition:var(--transition-base); text-decoration:none; font-family:var(--font-secondary); }
.mobile-nav-link:hover { background:rgba(255,255,255,.10); color:#fff; border-left-color:#fff; padding-left:28px; }
.mobile-footer { padding:18px; border-top:1px solid rgba(255,255,255,.12); }
.whatsapp-button { width:100%; padding:15px; background:#25D366; color:var(--white); border:none; border-radius:var(--radius-xl); font-family:var(--font-primary); font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:.5px; display:flex; align-items:center; justify-content:center; gap:8px; box-shadow:0 4px 16px rgba(37,211,102,.28); transition:var(--transition-smooth); text-decoration:none; cursor:pointer; }
.whatsapp-button:hover { transform:translateY(-2px); box-shadow:0 6px 22px rgba(37,211,102,.38); }

.cart-overlay { position:fixed; inset:0; background:rgba(0,0,0,.70); backdrop-filter:blur(6px); z-index:950; opacity:0; visibility:hidden; transition:var(--transition-smooth); }
.cart-overlay.active { opacity:1; visibility:visible; }
.cart-sidebar { position:fixed; top:0; right:0; bottom:0; width:460px; max-width:100%; background:var(--cream); z-index:960; transform:translateX(100%); transition:transform .35s cubic-bezier(.4,0,.2,1); display:flex; flex-direction:column; box-shadow:-6px 0 30px rgba(0,0,0,.18); }
.cart-sidebar.active { transform:translateX(0); }
.cart-header { padding:22px; background:var(--gradient-noir); border-bottom:1px solid rgba(255,255,255,.20); display:flex; align-items:center; justify-content:space-between; }
.cart-title { font-family:var(--font-display); font-size:21px; font-weight:700; color:var(--white); display:flex; align-items:center; gap:8px; }
.cart-items { flex:1; overflow-y:auto; padding:22px; background:var(--paper); }
.cart-empty { height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:36px; }
.empty-icon { font-size:60px; opacity:.22; margin-bottom:14px; }
.empty-title { font-size:16px; font-weight:700; color:var(--ink80); margin-bottom:5px; font-family:var(--font-primary); }
.empty-text { font-size:13px; color:var(--ink50); }
.cart-footer { padding:20px; border-top:1px solid var(--ink20); background:var(--white); box-shadow:0 -4px 20px rgba(0,0,0,.06); }
.cart-total { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; padding-bottom:14px; border-bottom:1.5px dashed var(--ink20); }
.total-label { font-size:14px; font-weight:600; color:var(--ink80); font-family:var(--font-secondary); }
.total-value { font-family:var(--font-display); font-size:30px; font-weight:700; color:var(--gold-deep); }
.checkout-button { width:100%; padding:16px; background:var(--gradient-noir); color:#fff; border:1px solid rgba(255,255,255,.40); border-radius:var(--radius-xl); font-family:var(--font-primary); font-weight:800; font-size:13px; text-transform:uppercase; letter-spacing:1.2px; margin-bottom:8px; display:flex; align-items:center; justify-content:center; gap:7px; box-shadow:var(--shadow-lg); transition:var(--transition-smooth); cursor:pointer; text-decoration:none; }
.checkout-button:hover { transform:translateY(-2px); box-shadow:var(--shadow-xl); }
.continue-shopping { width:100%; padding:11px; background:transparent; border:1.5px solid var(--ink20); border-radius:var(--radius-lg); font-size:12.5px; font-weight:600; color:var(--ink50); cursor:pointer; transition:var(--transition-base); font-family:var(--font-secondary); }
.continue-shopping:hover { border-color:var(--gold); color:var(--gold-deep); }

/* TOAST */
.toast-container { position:fixed; top:90px; right:22px; z-index:9990; display:flex; flex-direction:column; gap:8px; }
.toast { background:var(--noir); border-left:3px solid var(--gold-light); border-radius:var(--radius-xl); padding:12px 16px; box-shadow:var(--shadow-xl); min-width:280px; font-size:13px; font-weight:500; color:var(--white); animation:toastIn .3s cubic-bezier(.4,0,.2,1); font-family:var(--font-secondary); }
@keyframes toastIn { from{transform:translateX(80px);opacity:0} to{transform:translateX(0);opacity:1} }

/* RESPONSIVE */
@media(max-width:1024px) { .search-container { max-width:300px; } }
@media(max-width:768px) {
    .header-content { gap:14px; padding:10px 0; }
    .logo-image { height:40px; width:auto; }
    .search-container { max-width:220px; }
    .cep-pill .cep-text { font-size:13px; }
}
@media(max-width:640px) {
    .mob-hamb { display:flex; }
    .hdr-account .acct-text { display:none; }
    .header-actions { gap:2px; }
    .hdr-ico { padding:6px 7px; }
    .hdr-ico svg { width:26px; height:26px; }
    .cep-pill { display:none; }
    .mob-cep { display:flex; }
    .header-content { flex-wrap:wrap; align-items:center; }
    .site-logo { margin-right:auto; }
    .cart-sidebar { max-width:100%; }
    .mobile-menu  { max-width:320px; }
    .header-content { flex-wrap:wrap; gap:10px 14px; }
    .search-container { order:3; width:100%; max-width:100%; flex:0 0 100%; }
    .search-form { border-radius:9999px; }
    .site-logo { flex:1; min-width:0; }
    .header-actions { flex-shrink:0; }
}

/* ============================================================
   INDEX — BANNERS + PRODUTOS + DEPOIMENTOS + SERVIÇOS
   ============================================================ */

/* TRUST STRIP */
.idx-trust-strip { background:#F0F8FF; border-top:1px solid rgba(21,101,192,.20); border-bottom:1px solid rgba(21,101,192,.20); }
.idx-trust-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.idx-trust-item { display:flex; align-items:center; gap:16px; padding:28px 22px; border-right:1px solid rgba(21,101,192,.10); transition:background .2s; }
.idx-trust-item:last-child { border-right:none; }
.idx-trust-item:hover { background:rgba(21,101,192,.04); }
.idx-trust-icon { width:48px; height:48px; border-radius:50%; background:rgba(21,101,192,.12); border:1px solid rgba(21,101,192,.25); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.idx-trust-icon svg { width:22px; height:22px; fill:#1565C0; }
.idx-trust-txt h4 { font-size:14px; font-weight:700; color:#0C1828; margin-bottom:3px; }
.idx-trust-txt p { font-size:12px; color:rgba(12,24,40,.55); line-height:1.4; }

/* BANNER WRAP */
.idx-banner-wrap { background:#fff; padding:0 0 8px; }
.idx-bigbanner { position:relative; width:100%; border-radius:20px; overflow:hidden; aspect-ratio:1430/470; background:#0D2B5E; border:1px solid rgba(21,101,192,.20); box-shadow:0 10px 40px rgba(13,43,94,.18); }
.idx-bb-slide { position:absolute; inset:0; opacity:1; z-index:1; }
.idx-bb-slide.active { z-index:2; animation:idxFade .6s ease both; }
@keyframes idxFade { from { opacity:0; } to { opacity:1; } }
.idx-bb-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.idx-bb-ph { position:absolute; inset:0; background:linear-gradient(135deg,#0D2B5E 0%,#1565C0 55%,#0D2B5E 100%); display:flex; align-items:center; justify-content:center; }
.idx-bb-ph span { font-size:13px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; color:rgba(255,255,255,.65); padding:0 20px; text-align:center; }
.idx-bb-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:5; width:42px; height:42px; border-radius:50%; cursor:pointer; background:rgba(255,255,255,.85); border:1px solid rgba(21,101,192,.35); display:flex; align-items:center; justify-content:center; transition:all .2s; }
.idx-bb-arrow:hover { background:#1565C0; border-color:#1565C0; }
.idx-bb-arrow svg { width:20px; height:20px; fill:#1565C0; }
.idx-bb-arrow:hover svg { fill:#fff; }
.idx-bb-prev { left:16px; } .idx-bb-next { right:16px; }
.idx-bb-dots { position:absolute; bottom:16px; left:50%; transform:translateX(-50%); z-index:5; display:flex; gap:7px; }
.idx-bb-pg { width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,.65); cursor:pointer; transition:all .2s; box-shadow:0 1px 3px rgba(0,0,0,.3); }
.idx-bb-pg.active { background:#1565C0; width:22px; border-radius:5px; }
.idx-midbanners { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:18px; }
.idx-mid { position:relative; display:block; border-radius:16px; overflow:hidden; aspect-ratio:460/260; background:#0D2B5E; text-decoration:none; border:1px solid rgba(21,101,192,.18); transition:all .3s; }
.idx-mid:hover { transform:translateY(-4px); box-shadow:0 14px 32px rgba(21,101,192,.20); border-color:rgba(21,101,192,.40); }
.idx-mid-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.idx-mid:hover .idx-mid-img { transform:scale(1.05); }
.idx-secbanner { display:block; width:100%; border-radius:18px; overflow:hidden; margin-bottom:30px; aspect-ratio:1430/360; background:#0D2B5E; border:1px solid rgba(21,101,192,.18); box-shadow:0 8px 28px rgba(13,43,94,.14); }
.idx-secbanner img { width:100%; height:100%; object-fit:cover; display:block; }
.idx-secbanner.full { margin:0 auto; max-width:1180px; }

/* SECTIONS */
.idx-sec { padding:48px 0; }
.idx-sec-alt { background:#F7F7F7; }
.idx-sec-label { display:none; }
.idx-sec-title { font-family:'Manrope',-apple-system,sans-serif; font-size:clamp(20px,2.2vw,26px); font-weight:800; color:#1A1A1A; line-height:1.2; letter-spacing:-.4px; margin-bottom:4px; }
.idx-sec-title em { font-style:normal; color:#0071E4; }
.idx-sec-desc { font-size:14px; color:#777; line-height:1.5; }
.idx-sec-row { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:24px; flex-wrap:wrap; }
.idx-sec-center { text-align:left; max-width:none; margin:0 0 24px; }
.idx-btn-all { display:inline-flex; align-items:center; gap:6px; background:transparent; color:#0071E4; border:none; font-size:14px; font-weight:700; text-transform:none; letter-spacing:0; padding:6px 0; border-radius:0; transition:opacity .2s; white-space:nowrap; text-decoration:none; }
.idx-btn-all svg { width:16px; height:16px; fill:currentColor; }
.idx-btn-all:hover { background:transparent; color:#005FC4; opacity:.85; }

/* PRODUCT GRID + CARD */
.idx-products-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
.product-card { background:#fff; border:1px solid #E6E6E6; border-radius:8px; overflow:hidden; display:flex; flex-direction:column; transition:box-shadow .25s,border-color .2s; position:relative; }
.product-card:hover { border-color:#CFCFCF; box-shadow:0 4px 18px rgba(0,0,0,.10); }
.pc-img-wrap { position:relative; display:flex; align-items:center; justify-content:center; aspect-ratio:1/1; overflow:hidden; background:#fff; text-decoration:none; padding:18px; }
.pc-img { width:100%; height:100%; object-fit:contain; display:block; transition:transform .3s ease; }
.product-card:hover .pc-img { transform:scale(1.04); }
.pc-no-img { width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; color:rgba(18,18,18,.22); gap:8px; font-size:12px; font-family:'Manrope',sans-serif; }
.pc-no-img svg { width:44px; height:44px; }
.pc-badges { position:absolute; top:10px; left:10px; display:flex; flex-direction:column; gap:5px; z-index:2; }
.pc-badge { font-size:11px; font-weight:700; padding:3px 10px; border-radius:9999px; font-family:'Manrope',sans-serif; letter-spacing:.3px; }
.pc-badge-sale { background:#E60014; color:#fff; }
.pc-badge-dest { background:#0071E4; color:#fff; }
.pc-body { padding:6px 18px 20px; flex:1; display:flex; flex-direction:column; gap:10px; }
.pc-name { font-family:'Manrope',sans-serif; font-size:14px; font-weight:400; color:#333; line-height:1.4; margin:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:39px; }
.pc-name a { color:inherit; text-decoration:none; }
.pc-name a:hover { color:#0071E4; }
.pc-price { display:flex; flex-direction:column; gap:2px; margin-top:2px; }
.pc-price-old { font-size:13px; color:#888; text-decoration:line-through; font-family:'Manrope',sans-serif; }
.pc-price-now { font-family:'Manrope',sans-serif; font-size:22px; font-weight:800; color:#1A1A1A; line-height:1.1; letter-spacing:-.3px; }
.pc-rating { display:flex; align-items:center; gap:6px; font-family:'Manrope',sans-serif; }
.pc-rating-num { font-size:13px; font-weight:700; color:#1A1A1A; line-height:1; }
.pc-stars { display:inline-flex; gap:1px; }
.pc-stars svg { width:15px; height:15px; }
.pc-star-full { fill:#FFB300; }
.pc-star-empty { fill:#D9D9D9; }
.products-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:20px; }
@media(max-width:900px){.products-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}}
@media(max-width:480px){.products-grid{grid-template-columns:repeat(2,1fr);gap:12px}.pc-body{padding:6px 12px 16px;gap:8px}.pc-name{font-size:13px;min-height:35px}.pc-price-now{font-size:19px}}

/* DEPOIMENTOS */
.idx-depo-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.idx-depo-c { background:#fff; border:1px solid #E6E6E6; border-radius:12px; padding:24px; transition:all .25s; }
.idx-depo-c:hover { transform:translateY(-3px); box-shadow:0 10px 28px rgba(0,0,0,.10); border-color:#CFCFCF; }
.idx-depo-stars { display:flex; gap:2px; margin-bottom:14px; }
.idx-depo-stars svg { width:16px; height:16px; fill:#FFB300; }
.idx-depo-txt { font-family:'Manrope',sans-serif; font-size:14px; line-height:1.65; color:#333; margin:0 0 18px; font-weight:400; }
.idx-depo-foot { display:flex; align-items:center; gap:12px; padding-top:14px; border-top:1px solid #EEE; }
.idx-depo-avatar-foto { width:48px; height:48px; border-radius:50%; flex-shrink:0; object-fit:cover; border:2px solid #F0F8FF; background:#FAFAFA; }
.idx-depo-name { font-family:'Manrope',sans-serif; font-weight:700; font-size:13.5px; color:#121212; line-height:1.2; }
.idx-depo-loc { font-family:'Manrope',sans-serif; font-size:11.5px; color:rgba(18,18,18,.55); font-weight:500; margin-top:3px; }
.idx-depo-verify { display:inline-flex; align-items:center; gap:4px; font-family:'Manrope',sans-serif; font-size:9.5px; font-weight:800; color:#0071E4; background:rgba(0,113,228,.10); padding:2px 7px; border-radius:9999px; margin-top:5px; letter-spacing:.5px; text-transform:uppercase; }
.idx-depo-verify svg { width:9px; height:9px; fill:#0071E4; }

.idx-divider { width:100%; height:1px; background:#EEE; }

@media(max-width:1200px){ .idx-products-grid{grid-template-columns:repeat(4,1fr)} }
@media(max-width:1024px){ .idx-trust-grid{grid-template-columns:repeat(2,1fr)} .idx-products-grid{grid-template-columns:repeat(3,1fr)} }
@media(max-width:900px){ .idx-depo-grid{grid-template-columns:1fr;gap:12px;} }
@media(max-width:768px){
  .idx-bigbanner{ aspect-ratio:auto; background:#fff; border-radius:14px; }
  .idx-bb-slide{ position:absolute; inset:0; }
  .idx-bb-slide.active{ position:relative; }
  .idx-bb-img{ position:relative; width:100%; height:auto; object-fit:contain; }
  .idx-bb-arrow{ width:34px; height:34px; }
  .idx-bb-dots{ bottom:8px; }
  .idx-midbanners{ grid-template-columns:1fr; gap:14px; }
  .idx-mid{ aspect-ratio:auto; background:#fff; }
  .idx-mid-img{ position:relative; width:100%; height:auto; object-fit:contain; }
  .idx-secbanner{ aspect-ratio:auto; background:#fff; }
  .idx-secbanner img{ height:auto; }
  .idx-sec{padding:36px 0}
  .idx-sec-row{flex-direction:row;align-items:center;gap:12px}
}
@media(max-width:640px){ .idx-products-grid{grid-template-columns:repeat(2,1fr);gap:12px} .idx-trust-grid{grid-template-columns:1fr} .idx-trust-item{border-right:none;border-bottom:1px solid rgba(21,101,192,.10)} }
@media(max-width:400px){ .idx-products-grid{grid-template-columns:repeat(2,1fr)} }

/* SERVIÇOS — faixa estilo Magalu Empresas */
.idx-svc-wrap { background:#EFEFEF; }
.idx-svc-banner { background:linear-gradient(90deg,#0086FF 0%,#00A6FF 100%); position:relative; overflow:hidden; }
.idx-svc-banner-inner { display:flex; align-items:center; gap:28px; padding:16px 24px; flex-wrap:wrap; }
.idx-svc-logo { display:flex; flex-direction:column; line-height:.95; flex-shrink:0; }
.idx-svc-logo b { font-family:'Manrope',sans-serif; font-weight:800; font-size:26px; color:#fff; letter-spacing:.5px; }
.idx-svc-logo span { font-family:'Manrope',sans-serif; font-weight:700; font-size:18px; color:#FFE000; letter-spacing:.5px; }
.idx-svc-tag { font-family:'Manrope',sans-serif; font-weight:800; font-size:22px; line-height:1.05; color:#fff; flex-shrink:0; }
.idx-svc-tag em { font-style:normal; color:#FFE000; }
.idx-svc-banner-icons { display:flex; gap:12px; flex-shrink:0; }
.idx-svc-banner-icons div { width:46px; height:46px; border:1.5px solid rgba(255,255,255,.7); border-radius:10px; display:flex; align-items:center; justify-content:center; }
.idx-svc-banner-icons svg { width:24px; height:24px; fill:none; stroke:#fff; stroke-width:1.6; }
.idx-svc-banner-txt { font-family:'Manrope',sans-serif; font-size:14px; font-weight:500; color:#fff; line-height:1.3; max-width:200px; }
.idx-svc-banner-search { margin-left:auto; display:flex; align-items:center; gap:8px; background:#fff; border-radius:9999px; padding:9px 18px; flex-shrink:0; }
.idx-svc-banner-search svg { width:16px; height:16px; fill:#0086FF; }
.idx-svc-banner-search span { font-family:'Manrope',sans-serif; font-size:13px; font-weight:700; color:#0086FF; }

.idx-svc-grid { display:flex; justify-content:space-between; gap:8px; padding:38px 24px 30px; flex-wrap:wrap; }
.idx-svc-item { display:flex; flex-direction:column; align-items:center; gap:14px; text-decoration:none; flex:1; min-width:120px; }
.idx-svc-circle { width:90px; height:90px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 1px 4px rgba(0,0,0,.06); transition:transform .2s, box-shadow .2s; }
.idx-svc-item:hover .idx-svc-circle { transform:translateY(-3px); box-shadow:0 8px 20px rgba(0,0,0,.12); }
.idx-svc-circle svg { width:42px; height:42px; }
.idx-svc-label { font-family:'Manrope',sans-serif; font-size:14px; font-weight:500; color:#333; text-align:center; line-height:1.3; max-width:150px; }

.idx-svc-foot { display:flex; align-items:center; gap:14px; padding:0 24px 40px; flex-wrap:wrap; }
.idx-svc-lu { display:flex; align-items:center; gap:7px; font-family:'Manrope',sans-serif; font-weight:800; font-size:22px; color:#6B2FB3; }
.idx-svc-lu svg { width:26px; height:26px; fill:#9B30C9; }
.idx-svc-lu span { color:#1A1A1A; font-weight:700; }
.idx-svc-social { margin-left:auto; display:flex; gap:10px; }
.idx-svc-social a { width:34px; height:34px; border-radius:50%; background:#1565C0; display:flex; align-items:center; justify-content:center; transition:opacity .2s; }
.idx-svc-social a:hover { opacity:.85; }
.idx-svc-social svg { width:17px; height:17px; fill:#fff; }

@media(max-width:900px){ .idx-svc-banner-icons, .idx-svc-banner-txt, .idx-svc-banner-search { display:none; } .idx-svc-grid { gap:18px 8px; } .idx-svc-item { min-width:33%; flex:0 0 30%; } }
@media(max-width:560px){ .idx-svc-tag { font-size:18px; } .idx-svc-circle { width:74px; height:74px; } .idx-svc-circle svg { width:34px; height:34px; } .idx-svc-label { font-size:13px; } .idx-svc-foot { justify-content:center; } .idx-svc-social { margin-left:0; width:100%; justify-content:center; margin-top:8px; } }

/* NAV BAR */
.nav-bar { background:#0071E4; border-bottom:none; padding-bottom:8px; }
.nav-container { display:flex; align-items:center; gap:2px; padding:0 24px; overflow-x:auto; scrollbar-width:none; }
.nav-container::-webkit-scrollbar { display:none; }
.nav-tem { display:flex; align-items:center; gap:12px; color:#fff; font-family:var(--font-secondary); font-size:15px; font-weight:700; padding:8px 18px 8px 0; white-space:nowrap; flex-shrink:0; cursor:pointer; background:transparent; }
.nav-tem .nav-burger { display:flex; flex-direction:column; gap:4px; }
.nav-tem .nav-burger span { display:block; width:22px; height:2.5px; background:#fff; border-radius:2px; }
.nav-item { display:flex; align-items:center; gap:5px; padding:8px 14px; font-family:var(--font-secondary); font-size:15px; font-weight:400; color:#fff; white-space:nowrap; border-bottom:2px solid transparent; transition:var(--transition-base); text-decoration:none; text-transform:none; letter-spacing:0; }
.nav-item .nav-chev { width:16px; height:16px; fill:#fff; opacity:.9; }
.nav-item:hover  { color:#fff; opacity:.85; }
.nav-item.active { color:#fff; font-weight:700; }

/* HEADER FADE */
.header-fade { height:42px; background:linear-gradient(to bottom, #0071E4 0%, #4DA3F6 35%, #B2D8FC 68%, #F2F9FF 90%, #ffffff 100%); width:100%; }

/* ============================================================
   FOOTER
   ============================================================ */
.footer { background:#fff; color:#666; padding:56px 0 0; border-top:1px solid #E6E6E6; font-family:'Manrope',-apple-system,sans-serif; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:52px; padding-bottom:48px; border-bottom:1px solid #EEE; }
.footer-brand-logo { display:block; margin-bottom:14px; text-decoration:none; }
.footer-brand-logo img { height:48px; width:auto; max-width:200px; object-fit:contain; display:block; }
.footer-brand .footer-brand-sub { display:block; font-family:'Manrope',sans-serif; font-weight:800; font-size:10px; color:#0071E4; text-transform:uppercase; letter-spacing:1.5px; margin-bottom:16px; }
.footer-brand p { font-family:'Manrope',sans-serif; font-size:13px; font-weight:400; line-height:1.75; margin-bottom:16px; color:#666; }
.footer-cnpj { display:inline-block; font-family:'Manrope',sans-serif; font-size:10.5px; font-weight:600; color:#555; background:#F7F7F7; border:1px solid #E6E6E6; padding:6px 12px; border-radius:9999px; letter-spacing:.3px; }
.footer h4, .footer-accordion-toggle { font-family:'Manrope',sans-serif; font-weight:800; font-size:11px; color:#1A1A1A; margin-bottom:18px; text-transform:uppercase; letter-spacing:1.4px; }
.footer-links { list-style:none; padding:0; margin:0; }
.footer-links li { margin-bottom:11px; }
.footer-links a { font-family:'Manrope',sans-serif; font-size:13px; font-weight:500; color:#666; transition:color .2s; display:inline-flex; align-items:center; gap:5px; text-decoration:none; }
.footer-links a:hover { color:#0071E4; }
.footer-contact { list-style:none; padding:0; margin:0; }
.footer-contact li { margin-bottom:10px; font-family:'Manrope',sans-serif; font-size:13px; font-weight:400; color:#666; line-height:1.6; }
.footer-contact li strong { color:#1A1A1A; font-weight:700; }

.footer-badges { padding:28px 0; border-bottom:1px solid #EEE; display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.badge-label { font-family:'Manrope',sans-serif; font-weight:800; text-transform:uppercase; font-size:10px; letter-spacing:1.4px; color:#888; margin-right:6px; }
.badge-icons { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.badge-icons img { height:28px; width:auto; object-fit:contain; max-width:90px; transition:transform .2s; }
.badge-icons img:hover { transform:translateY(-2px); }

.pay-svg { height:30px; display:inline-flex; align-items:center; justify-content:center; border-radius:5px; padding:0 11px; transition:transform .2s; }
.pay-svg:hover { transform:translateY(-2px); }
.pay-svg.pix { background:#fff; border:1px solid #E6E6E6; gap:6px; }
.pay-svg.pix svg { width:15px; height:15px; }
.pay-svg.pix span { font-size:11.5px; font-weight:800; color:#32BCAD; letter-spacing:.4px; }
.pay-svg.visa { background:#1A1F71; padding:0 14px; }
.pay-svg.visa span { font-family:Georgia,serif; font-style:italic; font-weight:900; font-size:13px; color:#fff; letter-spacing:-.4px; }
.pay-svg.master { background:#fff; border:1px solid #E6E6E6; padding:0 11px; gap:5px; }
.pay-svg.master .mc-c1 { width:15px; height:15px; background:#EB001B; border-radius:50%; }
.pay-svg.master .mc-c2 { width:15px; height:15px; background:#F79E1B; border-radius:50%; margin-left:-5px; mix-blend-mode:multiply; }

.footer-bottom { padding:22px 0; }
.footer-bottom-links { display:flex; justify-content:center; gap:20px; margin-bottom:14px; flex-wrap:wrap; }
.footer-bottom-links a { font-family:'Manrope',sans-serif; font-size:11.5px; font-weight:600; color:#888; transition:color .2s; text-decoration:none; }
.footer-bottom-links a:hover { color:#0071E4; }
.footer-bottom p { font-family:'Manrope',sans-serif; font-size:11.5px; font-weight:500; color:#999; margin:0; text-align:center; }

.footer-accordion-toggle { cursor:pointer; -webkit-tap-highlight-color:transparent; user-select:none; display:flex; align-items:center; justify-content:space-between; }
.accordion-arrow { transition:transform .3s ease; display:inline-block; font-size:13px; color:#AAA; }
@media(min-width:769px){ .footer-accordion-content { display:block !important; max-height:none !important; opacity:1 !important; overflow:visible !important; } .accordion-arrow { display:none; } .footer-accordion-toggle { cursor:default; } }

#cookie-consent-banner { position:fixed; bottom:0; left:0; width:100%; background:#fff; border-top:3px solid #0071E4; color:#1A1A1A; padding:15px 20px; box-shadow:0 -6px 22px rgba(0,0,0,.10); z-index:9999; font-family:'Manrope',sans-serif; font-size:13px; line-height:1.6; display:flex; justify-content:center; align-items:center; }
#cookie-consent-banner .cookie-content { max-width:960px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:15px; width:100%; }
#cookie-consent-banner p { margin:0; flex-grow:1; color:#555; font-weight:500; }
#cookie-consent-banner a { color:#0071E4; text-decoration:underline; font-weight:700; }
#cookie-consent-banner .cookie-buttons { display:flex; gap:8px; flex-shrink:0; }
#cookie-consent-banner .btn-cookie-accept, #cookie-consent-banner .btn-cookie-decline { padding:9px 20px; border-radius:9999px; cursor:pointer; font-family:'Manrope',sans-serif; font-weight:800; font-size:11.5px; text-transform:uppercase; letter-spacing:.7px; transition:all .22s; border:none; }
#cookie-consent-banner .btn-cookie-accept { background:#0071E4; color:#fff; box-shadow:0 4px 12px rgba(0,113,228,.22); }
#cookie-consent-banner .btn-cookie-accept:hover { background:#005FC4; transform:translateY(-1px); }
#cookie-consent-banner .btn-cookie-decline { background:#fff; border:1.5px solid #E6E6E6; color:#666; }
#cookie-consent-banner .btn-cookie-decline:hover { background:#F7F7F7; color:#1A1A1A; }

@media(max-width:1024px){ .footer-grid { grid-template-columns:1fr 1fr; gap:36px; } }
@media(max-width:768px){
    .footer { padding:40px 0 0; }
    .footer-grid { grid-template-columns:1fr; gap:0; padding-bottom:28px; }
    .footer-brand { padding-bottom:24px; border-bottom:1px solid #EEE; }
    .footer-accordion { border-bottom:1px solid #EEE; }
    .footer h4, .footer-accordion-toggle { margin-bottom:0; padding:16px 0; }
    .footer-accordion-content { max-height:0; overflow:hidden; opacity:0; transition:all .3s ease; }
    .footer-accordion-content.open { max-height:500px; opacity:1; padding-bottom:16px; }
    .footer-accordion-toggle.active .accordion-arrow { transform:rotate(90deg); color:#0071E4; }
    .footer-bottom { padding:24px 0 22px; }
    .footer-bottom-links { flex-direction:column; gap:0; align-items:center; text-align:center; border-top:1px solid #EEE; padding-top:18px; margin-bottom:16px; }
    .footer-bottom-links a { padding:10px 0; font-size:12.5px; font-weight:600; color:#666; border-bottom:1px solid #F4F4F4; width:100%; text-align:center; display:block; }
    .footer-bottom-links a:last-child { border-bottom:none; }
    .footer-bottom-links a:active { background:#F7F7F7; color:#0071E4; }
    .footer-bottom p { font-size:10.5px; line-height:1.6; padding:0 12px; }
    #cookie-consent-banner { padding:12px 16px; }
    #cookie-consent-banner .cookie-content { flex-direction:column; text-align:center; }
    #cookie-consent-banner .cookie-buttons { width:100%; justify-content:center; }
    #cookie-consent-banner .btn-cookie-accept, #cookie-consent-banner .btn-cookie-decline { flex:1; max-width:180px; }
}
@media(max-width:640px){ .footer { padding:32px 0 0; } }
