/* ===== Monte Lar — design tokens ===== */
@font-face{font-family:"Barlow";font-weight:400;font-display:swap;src:url(../fonts/barlow-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:500;font-display:swap;src:url(../fonts/barlow-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:600;font-display:swap;src:url(../fonts/barlow-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:600;font-display:swap;src:url(../fonts/barlow-condensed-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:700;font-display:swap;src:url(../fonts/barlow-condensed-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:800;font-display:swap;src:url(../fonts/barlow-condensed-latin-800-normal.woff2) format("woff2")}

:root{
  --navy-950:#010d1f;--navy-900:#02142c;--navy-800:#052653;--navy-700:#0a3470;--navy-100:#e6ecf6;
  --red:#e8102a;--red-700:#c20c22;--red-50:#fdecee;
  --ink:#0b1730;--muted:#5b6679;--line:#e3e8f0;--bg:#f4f6fa;--white:#fff;--ok:#12805c;
  --font:"Barlow",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --display:"Barlow Condensed","Barlow",system-ui,sans-serif;
  --r:12px;--r-sm:8px;--shadow:0 1px 2px rgba(2,20,44,.06),0 6px 18px rgba(2,20,44,.07);
  --shadow-lg:0 10px 30px rgba(2,20,44,.16);
  --gutter:clamp(16px,4vw,32px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font:400 16px/1.5 var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{font-family:var(--display);font-weight:800;line-height:1.05;margin:0;letter-spacing:.2px;text-transform:uppercase}
p{margin:0 0 1em}
.ic{width:1.25em;height:1.25em;flex:none}
.container{width:100%;max-width:1240px;margin:0 auto;padding:0 var(--gutter)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:3px solid #7aa7ff;outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 14px;border-radius:8px;z-index:100}
.skip:focus{left:8px}

/* ===== buttons ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;border:2px solid transparent;border-radius:999px;padding:.7em 1.4em;font-weight:600;font-size:.95rem;text-transform:uppercase;letter-spacing:.4px;cursor:pointer;transition:background .15s,color .15s,border-color .15s,transform .1s;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:var(--red-700)}
.btn-outline{border-color:var(--red);color:var(--red);background:transparent}.btn-outline:hover{background:var(--red);color:#fff}
.btn-light{border-color:rgba(255,255,255,.5);color:#fff}.btn-light:hover{background:#fff;color:var(--navy-900)}
.btn-navy{background:var(--navy-800);color:#fff}.btn-navy:hover{background:var(--navy-700)}
.btn-sm{padding:.5em 1em;font-size:.8rem}
.btn-block{width:100%}
.btn[disabled]{opacity:.55;cursor:not-allowed}

/* ===== topbar + header ===== */
.topbar{background:var(--navy-950);color:#dfe7f5;font-size:.82rem;font-weight:500}
.topbar .container{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:38px;flex-wrap:wrap}
.topbar a,.topbar span{display:inline-flex;align-items:center;gap:8px}
.topbar .ic{color:var(--red);width:1.1em;height:1.1em}
.topbar .wa .ic{color:#25d366}
.topbar-right{display:flex;align-items:center;gap:18px}
.social{display:flex;gap:10px}.social a{color:#fff}.social a:hover{color:var(--red)}.social .ic{color:currentColor;width:1.3em;height:1.3em}
.header{background:var(--navy-900);color:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 12px rgba(0,0,0,.25)}
.header .container{display:flex;align-items:center;gap:clamp(12px,2.5vw,36px);min-height:76px}
.logo{display:block;flex:none;line-height:0}.logo svg,.logo img{height:52px;width:auto;max-width:100%}
.nav{display:flex;gap:clamp(12px,2vw,30px);margin-left:6px}
.nav a{position:relative;padding:8px 2px;font-weight:600;font-size:.98rem;color:#e8eefa}
.nav a:hover{color:#fff}
.nav a[aria-current=page]{color:#fff}
.nav a[aria-current=page]::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:3px;background:var(--red);border-radius:3px}
.search{flex:1;max-width:420px;margin-left:auto;position:relative}
.search form{display:flex;background:#fff;border-radius:999px;overflow:hidden;height:44px}
.search input{flex:1;min-width:0;border:0;padding:0 18px;color:var(--ink);background:transparent;outline:0;font-size:.95rem}
.search button{border:0;background:var(--red);color:#fff;width:56px;cursor:pointer;display:grid;place-items:center}.search button:hover{background:var(--red-700)}
.suggest{position:absolute;left:0;right:0;top:calc(100% + 8px);background:#fff;color:var(--ink);border-radius:var(--r);box-shadow:var(--shadow-lg);overflow:hidden;display:none;z-index:60}
.suggest.open{display:block}
.suggest a{display:flex;gap:12px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line);font-size:.92rem}
.suggest a:hover,.suggest a[aria-selected=true]{background:var(--navy-100)}
.suggest .p{margin-left:auto;font-weight:600;color:var(--red);white-space:nowrap}
.suggest .all{justify-content:center;font-weight:600;color:var(--navy-800);border:0}
.hdr-actions{display:flex;align-items:center;gap:10px}
.quote-btn{position:relative;display:inline-flex;align-items:center;gap:8px;color:#fff;padding:8px 12px;border-radius:999px;font-weight:600;font-size:.92rem}
.quote-btn:hover{background:rgba(255,255,255,.1)}
.quote-btn .ic{width:1.6em;height:1.6em}
.badge{position:absolute;top:-2px;left:26px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--red);color:#fff;font-size:.72rem;font-weight:700;display:grid;place-items:center}
.badge[data-n="0"]{display:none}
.m-search{display:none;background:var(--navy-900);padding:0 0 12px}.m-search .search{display:block;max-width:none;margin:0}
.menu-btn{display:none;background:none;border:0;color:#fff;padding:8px;cursor:pointer}
.menu-btn .ic{width:1.8em;height:1.8em}

/* ===== hero ===== */
.hero{position:relative;background:var(--navy-950);color:#fff;overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--hero-img,url(../img/fachada.jpg)) right center/cover no-repeat;opacity:.95}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--navy-950) 0%,rgba(1,13,31,.96) 34%,rgba(1,13,31,.55) 62%,rgba(1,13,31,.15) 100%)}
.hero .container{padding-top:clamp(36px,6vw,72px);padding-bottom:clamp(36px,5vw,56px)}
.hero h1{font-size:clamp(2.2rem,5.4vw,4.2rem)}
.hero .kicker{font-family:var(--display);font-weight:600;font-size:clamp(1.1rem,2.2vw,1.6rem);letter-spacing:1px;text-transform:uppercase;margin-bottom:6px;color:#dbe5f7}
.hero p.lead{max-width:44ch;font-size:clamp(1rem,1.5vw,1.15rem);color:#dbe5f7;margin:16px 0 22px}
.hero-feats{display:flex;flex-wrap:wrap;gap:12px 26px;margin:0 0 26px;padding:0;list-style:none}
.hero-feats li{display:flex;align-items:center;gap:10px;font-size:.82rem;line-height:1.15;font-weight:500;max-width:150px}
.hero-feats .ic{width:34px;height:34px;padding:6px;border:1.5px solid rgba(255,255,255,.6);border-radius:50%}
.hero-feats b{display:block;font-weight:600;font-size:.88rem}

/* ===== sections ===== */
.section{padding:clamp(32px,5vw,56px) 0}
.section.white{background:#fff}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.sec-title{display:flex;gap:12px;align-items:stretch}
.sec-title::before{content:"";width:4px;border-radius:4px;background:var(--red);flex:none}
.sec-title h2{font-size:clamp(1.5rem,3vw,2rem);color:var(--navy-800)}
.sec-title p{margin:4px 0 0;color:var(--muted);font-size:.95rem}
.page-head{background:linear-gradient(135deg,var(--navy-900),var(--navy-800));color:#fff;padding:clamp(28px,4vw,48px) 0}
.page-head h1{font-size:clamp(1.9rem,4vw,3rem)}
.page-head p{color:#cfdaf0;max-width:62ch;margin:10px 0 0}
.crumbs{display:flex;flex-wrap:wrap;gap:6px;font-size:.85rem;color:#b8c7e4;margin-bottom:12px}
.crumbs a:hover{color:#fff;text-decoration:underline}
.crumbs span[aria-hidden]{opacity:.6}

/* ===== departments ===== */
.depts{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.dept{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;min-height:140px;padding:14px;border-radius:var(--r);color:#fff;overflow:hidden;background:linear-gradient(160deg,var(--navy-700),var(--navy-900));box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s}
.dept::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 100% 0%,rgba(232,16,42,.35),transparent 55%)}
.dept:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.dept .ic{position:relative;margin-bottom:auto;width:42px;height:42px;padding:9px;border-radius:10px;background:rgba(255,255,255,.14)}
.dept b{position:relative;font-weight:600;font-size:1rem;line-height:1.15}
.dept small{position:relative;color:#b9c9e8;font-size:.78rem}

/* ===== product cards ===== */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:box-shadow .15s,border-color .15s}
.card:hover{box-shadow:var(--shadow);border-color:#cfd8e8}
.card .img{position:relative;display:block;aspect-ratio:1/1;background:#fff;padding:14px}
.card .img img{width:100%;height:100%;object-fit:contain}
.ph{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(145deg,#eef2f9,#e1e8f4);border-radius:8px;color:#9fb0cf}
.ph .ic{width:42%;height:42%;stroke-width:1.4}
.card .body{display:flex;flex-direction:column;gap:2px;padding:4px 14px 14px;flex:1}
.card h3{font-family:var(--font);text-transform:none;font-weight:500;font-size:.95rem;line-height:1.3;letter-spacing:0;min-height:2.6em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card h3 a:hover{color:var(--red)}
.card .brand{color:var(--muted);font-size:.82rem;min-height:1.2em}
.card .price{margin-top:auto;padding-top:8px;font-family:var(--display);font-weight:800;font-size:1.55rem;color:var(--red);line-height:1}
.card .price small{font:500 .8rem var(--font);color:var(--muted)}
.card .btn{margin-top:10px;font-size:.74rem;padding:.6em .7em;white-space:normal;line-height:1.1;letter-spacing:.2px;text-align:center}
.tag{position:absolute;top:10px;left:10px;z-index:1;background:var(--red);color:#fff;font:700 .72rem var(--display);letter-spacing:.8px;text-transform:uppercase;padding:3px 9px;border-radius:999px}
.tag.out{background:#6b7588}
.carousel{position:relative}
.track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 5*16px)/6);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px}
.track::-webkit-scrollbar{display:none}
.track>*{scroll-snap-align:start}
.car-btn{position:absolute;top:42%;z-index:2;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow);display:grid;place-items:center;cursor:pointer;color:var(--navy-800)}
.car-btn:hover{background:var(--navy-800);color:#fff}
.car-btn.prev{left:-14px}.car-btn.next{right:-14px}

/* ===== brands strip / about / cta ===== */
.brands{background:linear-gradient(120deg,var(--navy-950),var(--navy-800));color:#fff;padding:clamp(28px,4vw,44px) 0}
.brands .container{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:28px;align-items:center}
.brands h2{font-size:clamp(1.6rem,3vw,2.2rem)}
.brands h2::before{content:"";display:block;width:44px;height:4px;background:var(--red);border-radius:4px;margin-bottom:10px}
.brands p{color:#cfdaf0;margin:10px 0 18px}
.brand-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-around;gap:14px 26px;background:rgba(1,13,31,.55);border:1px solid rgba(255,255,255,.18);border-radius:var(--r);padding:20px 24px}
.brand-row a{font-family:var(--display);font-weight:800;font-size:clamp(1.2rem,2.2vw,1.7rem);letter-spacing:.5px;color:#fff;opacity:.92;text-transform:none}
.brand-row a:hover{opacity:1;color:#ff8d9a}
.brand-row img{height:34px;width:auto;filter:brightness(0) invert(1)}
.about{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.35fr);gap:28px;align-items:center}
.about .tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.about .tile{border-radius:var(--r);min-height:210px;background:linear-gradient(160deg,#e8eef9,#d4dff2);display:grid;place-items:center;color:#7d93bd;overflow:hidden;position:relative}
.about .tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.about .tile .ic{width:44px;height:44px}
.about .why{background:var(--navy-800);color:#fff;border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:14px;justify-content:center}
.about .why div{display:flex;gap:12px;align-items:center;font-size:.9rem;line-height:1.2}
.about .why .ic{width:34px;height:34px;color:#fff;padding:4px}
.about h2{color:var(--navy-800);font-size:clamp(1.5rem,3vw,2.1rem)}
.about h2 small{display:block;font-size:.8rem;letter-spacing:1.5px;color:var(--muted);font-family:var(--font);font-weight:600;margin-bottom:6px}
.reviews{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.review{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:8px}
.review .stars{color:#f5a623;display:flex;gap:2px}.review .stars .ic{fill:currentColor;width:1em;height:1em}
.review p{margin:0;color:var(--muted);font-size:.92rem}
.review b{font-size:.9rem}
.cta-band{background:var(--navy-800);color:#fff;padding:20px 0}
.cta-band .container{display:flex;align-items:center;gap:18px;justify-content:space-between;flex-wrap:wrap}
.cta-band h2{font-size:clamp(1.5rem,3vw,2rem)}
.cta-band p{margin:2px 0 0;color:#cfdaf0}
.cta-band .ic.big{width:56px;height:56px;color:var(--red);flex:none}
.cta-band .left{display:flex;align-items:center;gap:14px}

/* ===== footer ===== */
.footer{background:var(--navy-950);color:#c3d0e8;padding:38px 0 22px;font-size:.92rem}
.footer .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.3fr;gap:28px}
.footer h4{color:#fff;font-size:1.1rem;margin-bottom:12px;letter-spacing:.8px}
.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.footer a:hover{color:#fff;text-decoration:underline}
.footer .ct{display:flex;gap:10px;align-items:flex-start;margin-bottom:9px}.footer .ct .ic{color:var(--red);margin-top:2px}
.footer .slogan{font-family:"Brush Script MT","Segoe Script",cursive;font-style:italic;color:#fff;font-size:1.5rem;margin:12px 0 0}
.footer .slogan::after{content:"";display:block;width:90px;height:3px;background:var(--red);margin-top:4px;border-radius:3px;transform:skewX(-20deg)}
.footer .legal{margin-top:28px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.82rem;color:#8ea0c2}
.wa-float{position:fixed;right:16px;bottom:16px;z-index:40;width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:var(--shadow-lg)}
.wa-float .ic{width:30px;height:30px}

/* ===== catalog ===== */
.catalog{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:start}
.filters{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px;position:sticky;top:96px}
.filters h3{font-size:1.05rem;color:var(--navy-800);margin:0 0 8px}
.filters ul{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:2px}
.filters li a{display:flex;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:6px;font-size:.92rem}
.filters li a:hover{background:var(--navy-100)}
.filters li a[aria-current=true]{background:var(--red-50);color:var(--red-700);font-weight:600}
.filters li small{color:var(--muted)}
.filters-toggle{display:none}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.toolbar .count{color:var(--muted);font-size:.95rem}
.toolbar select{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.chip{display:inline-flex;gap:6px;align-items:center;background:var(--navy-100);color:var(--navy-800);padding:5px 12px;border-radius:999px;font-size:.85rem;font-weight:500}
.chip:hover{background:var(--red-50);color:var(--red-700)}
.pager{display:flex;gap:6px;justify-content:center;margin:28px 0 4px;flex-wrap:wrap}
.pager a,.pager span{min-width:40px;height:40px;padding:0 12px;display:grid;place-items:center;border-radius:10px;background:#fff;border:1px solid var(--line);font-weight:600}
.pager a:hover{border-color:var(--navy-800)}
.pager .cur{background:var(--navy-800);color:#fff;border-color:var(--navy-800)}
.empty{background:#fff;border:1px dashed #c8d3e6;border-radius:var(--r);padding:42px 20px;text-align:center;color:var(--muted)}
.empty .ic{width:44px;height:44px;margin:0 auto 10px;color:#9fb0cf}

/* ===== product page ===== */
.pdp{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:32px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(16px,3vw,32px)}
.pdp .gallery{aspect-ratio:1/1;border-radius:var(--r);border:1px solid var(--line);padding:18px;position:relative;max-height:520px}
.pdp .gallery img{width:100%;height:100%;object-fit:contain}
.pdp h1{font-family:var(--font);text-transform:none;font-weight:600;font-size:clamp(1.4rem,2.6vw,2rem);line-height:1.2;letter-spacing:0}
.pdp .meta{display:flex;flex-wrap:wrap;gap:6px 18px;color:var(--muted);font-size:.9rem;margin:10px 0 16px}
.pdp .meta b{color:var(--ink);font-weight:600}
.pdp .price{font-family:var(--display);font-weight:800;font-size:clamp(2rem,4vw,2.8rem);color:var(--red);line-height:1}
.pdp .price small{font:500 .95rem var(--font);color:var(--muted)}
.pdp .note{background:var(--navy-100);border-radius:var(--r-sm);padding:10px 14px;font-size:.88rem;color:var(--navy-800);margin:16px 0}
.buy{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch;margin-top:18px}
.stepper{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:999px;overflow:hidden;background:#fff}
.stepper button{width:42px;border:0;background:none;cursor:pointer;display:grid;place-items:center;color:var(--navy-800)}
.stepper button:hover{background:var(--navy-100)}
.stepper input{width:64px;text-align:center;border:0;outline:0;font-weight:600;background:transparent;-moz-appearance:textfield}
.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none}
.pdp .badges{display:flex;gap:16px;flex-wrap:wrap;margin-top:22px;color:var(--muted);font-size:.88rem}
.pdp .badges span{display:flex;gap:8px;align-items:center}.pdp .badges .ic{color:var(--red)}

/* ===== quote ===== */
.quote{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px;align-items:start}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(16px,2.6vw,26px)}
.panel h2{font-size:1.4rem;color:var(--navy-800);margin-bottom:14px}
.q-item{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);align-items:center}
.q-item:first-of-type{padding-top:0}
.q-item .th{width:72px;height:72px;border-radius:10px;overflow:hidden}
.q-item .th img{width:100%;height:100%;object-fit:contain}
.q-item h3{font-family:var(--font);text-transform:none;font-size:.98rem;font-weight:500;line-height:1.25;letter-spacing:0}
.q-item small{color:var(--muted)}
.q-item .right{text-align:right;display:grid;gap:6px;justify-items:end}
.q-item .sub{font-weight:700;color:var(--navy-800)}
.q-item .rm{border:0;background:none;color:var(--muted);cursor:pointer;display:inline-flex;gap:4px;align-items:center;font-size:.82rem}.q-item .rm:hover{color:var(--red)}
.q-item .stepper input{width:52px}.q-item .stepper button{width:34px;height:34px}
.totals{display:flex;justify-content:space-between;align-items:baseline;font-size:1.05rem;padding-top:14px}
.totals b{font-family:var(--display);font-size:2rem;color:var(--red)}
.disclaimer{font-size:.84rem;color:var(--muted);margin-top:10px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-grid .full{grid-column:1/-1}
label{display:block;font-weight:600;font-size:.88rem;margin-bottom:5px}
label small{font-weight:400;color:var(--muted)}
input[type=text],input[type=tel],input[type=email],select,textarea{width:100%;border:1.5px solid #cfd8e8;background:#fff;border-radius:10px;padding:11px 13px;outline:0;transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{border-color:var(--navy-700);box-shadow:0 0 0 3px rgba(10,52,112,.15)}
textarea{min-height:110px;resize:vertical}
.radio-row{display:flex;gap:10px;flex-wrap:wrap}
.radio-row label{display:flex;align-items:center;gap:8px;border:1.5px solid #cfd8e8;border-radius:10px;padding:10px 14px;cursor:pointer;margin:0;font-weight:500}
.radio-row input{accent-color:var(--red)}
.radio-row label:has(input:checked){border-color:var(--red);background:var(--red-50)}
.hp{position:absolute;left:-9999px;opacity:0}
.alert{border-radius:10px;padding:12px 14px;margin-bottom:14px;font-size:.92rem}
.alert.err{background:#fff0f1;color:#8a0f1e;border:1px solid #f5c2c8}
.alert.ok{background:#e9f8f1;color:#0d5c42;border:1px solid #b6e6d2}
.field-err{color:#b0122a;font-size:.82rem;margin-top:4px}
.done{max-width:720px;margin:0 auto;text-align:center}
.done .check{width:72px;height:72px;border-radius:50%;background:#e9f8f1;color:var(--ok);display:grid;place-items:center;margin:0 auto 14px}
.done .check .ic{width:38px;height:38px}
.proto{display:inline-block;font-family:var(--display);font-weight:800;font-size:2rem;letter-spacing:1px;background:var(--navy-100);color:var(--navy-800);padding:6px 18px;border-radius:12px;margin:8px 0 18px}
.table{width:100%;border-collapse:collapse;font-size:.92rem}
.table th,.table td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}
.table .num{text-align:right;white-space:nowrap}

/* ===== institutional ===== */
.prose{max-width:74ch}.prose h2{font-size:1.7rem;color:var(--navy-800);margin:1.4em 0 .5em}.prose h3{font-size:1.25rem;color:var(--navy-800);margin:1.2em 0 .4em}
.prose ul{padding-left:1.2em}.prose li{margin:.3em 0}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.info{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px}
.info .ic{width:40px;height:40px;padding:8px;border-radius:10px;background:var(--red-50);color:var(--red);margin-bottom:12px}
.info h3{font-size:1.25rem;color:var(--navy-800);margin-bottom:6px}
.info p{margin:0;color:var(--muted);font-size:.95rem}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.stat{background:var(--navy-800);color:#fff;border-radius:var(--r);padding:20px;text-align:center}
.stat b{display:block;font-family:var(--display);font-weight:800;font-size:2.4rem;line-height:1}
.stat span{font-size:.88rem;color:#cfdaf0}
.two{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.faq details{background:#fff;border:1px solid var(--line);border-radius:var(--r);margin-bottom:10px;padding:0 18px}
.faq summary{cursor:pointer;font-weight:600;padding:16px 0;list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.5rem;color:var(--red);line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--muted);padding-bottom:6px}
.map{width:100%;height:340px;border:0;border-radius:var(--r)}
.az{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
.az a{width:36px;height:36px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;font-weight:600}.az a:hover{background:var(--navy-800);color:#fff}
.marca-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.marca-grid a{display:flex;justify-content:space-between;gap:8px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-weight:500}.marca-grid a:hover{border-color:var(--red);color:var(--red-700)}
.marca-grid small{color:var(--muted)}

/* ===== toast ===== */
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,30px);opacity:0;pointer-events:none;background:var(--navy-900);color:#fff;border-radius:12px;padding:12px 18px;box-shadow:var(--shadow-lg);z-index:200;transition:.25s;display:flex;gap:12px;align-items:center;max-width:calc(100% - 32px)}
.toast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.toast a{color:#ff8d9a;font-weight:600;text-decoration:underline}

/* ===== responsive ===== */
@media (max-width:1100px){
  .depts{grid-template-columns:repeat(4,1fr)}
  .track{grid-auto-columns:calc((100% - 3*16px)/4)}
  .grid{grid-template-columns:repeat(3,1fr)}
  .footer .cols{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .nav,.header .search{display:none}
  .menu-btn{display:block;margin-left:auto}
  .header .container{min-height:64px}
  .logo svg,.logo img{height:44px}
  .hdr-actions{margin-left:0}
  .header.open .nav{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:100%;background:var(--navy-900);padding:12px var(--gutter) 18px;gap:2px;margin:0;border-top:1px solid rgba(255,255,255,.1)}
  .header.open .nav a{padding:12px 4px;border-bottom:1px solid rgba(255,255,255,.08)}
  .header.open .nav a[aria-current=page]::after{display:none}
  .m-search{display:block}
  .topbar .hide-m{display:none}
  .catalog{grid-template-columns:1fr}
  .filters{position:static;display:none}
  .filters.open{display:block}
  .filters-toggle{display:inline-flex}
  .brands .container,.about,.two,.quote,.pdp{grid-template-columns:1fr}
  .about .tiles{grid-template-columns:repeat(2,1fr)}
  .about .tile{min-height:150px}
  .reviews{grid-template-columns:repeat(2,1fr)}
  .cards3{grid-template-columns:1fr 1fr}
  .marca-grid{grid-template-columns:repeat(2,1fr)}
  .hero::after{background:linear-gradient(180deg,rgba(1,13,31,.92),rgba(1,13,31,.78))}
}
@media (max-width:640px){
  body{font-size:15.5px}
  .depts{grid-template-columns:repeat(2,1fr);gap:10px}
  .dept{min-height:112px}
  .grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .track{grid-auto-columns:calc((100% - 10px)/2);gap:10px}
  .car-btn{display:none}
  .card .body{padding:2px 10px 12px}.card .img{padding:8px}
  .card h3{font-size:.88rem}.card .price{font-size:1.3rem}
  .card .btn{font-size:.68rem}
  .footer .cols{grid-template-columns:1fr}
  .reviews,.cards3,.stats{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr}
  .form-grid{grid-template-columns:1fr}
  .q-item{grid-template-columns:56px minmax(0,1fr)}
  .q-item .th{width:56px;height:56px}
  .q-item .right{grid-column:1/-1;grid-auto-flow:column;justify-content:space-between;align-items:center;justify-items:stretch;text-align:left}
  .topbar-right .hide-s{display:none}
  .quote-btn span.t{display:none}
  .hero-feats li{max-width:none;flex:1 1 40%}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{
  .topbar,.header,.footer,.cta-band,.wa-float,.no-print{display:none!important}
  body{background:#fff}.panel{border:0;padding:0}
}
[hidden]{display:none!important}

.price .old{display:block;font:500 .85rem var(--font);color:var(--muted);text-decoration:line-through;margin-bottom:2px}
.promo-ate{margin:6px 0 0;font-size:.85rem;color:var(--red);font-weight:600}

/* banner com várias imagens (troca a cada 10 s) */
.hero--slides::before{display:none}
.hero-slides{position:absolute;inset:0;z-index:-2}
.hero-slides .hs{position:absolute;inset:0;background:center right/cover no-repeat;opacity:0;transition:opacity 1.2s ease}
.hero-slides .hs.on{opacity:.95}
.hero-dots{position:absolute;right:18px;bottom:14px;z-index:1;display:flex;gap:8px}
.hero-dots button{width:10px;height:10px;padding:0;border-radius:50%;border:1.5px solid rgba(255,255,255,.85);background:transparent;cursor:pointer}
.hero-dots button.on{background:#fff}
@media (prefers-reduced-motion:reduce){.hero-slides .hs{transition:none}}
