/* Scooter & Quad — folha de estilos partilhada */
:root{
  --orange:#FF6B1A; --orange-d:#E25200; --yellow:#FFC93C;
  --ink:#12161D; --slate:#5B6673; --bg:#F6F7F9;
  --glass:rgba(255,255,255,.62); --glass-strong:rgba(255,255,255,.8);
  --glass-border:rgba(255,255,255,.75); --glass-dark:rgba(18,22,29,.5);
  --radius:18px;
  --display:'Barlow Condensed',sans-serif; --body:'Inter',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--body);background:var(--bg);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
h1,h2,h3{font-family:var(--display);text-transform:uppercase;line-height:1.03;letter-spacing:.01em}
.container{max-width:1200px;margin:0 auto;padding:0 24px}
.narrow{max-width:900px}
/* etiqueta pequena: fica sempre numa linha própria, acima do título */
.kicker{display:block;font-family:var(--display);font-weight:700;letter-spacing:.22em;text-transform:uppercase;font-size:.8rem;color:var(--orange);margin-bottom:9px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:1.02rem;padding:14px 28px;border-radius:14px;border:0;cursor:pointer;transition:.2s}
.btn-orange{background:var(--orange);color:#fff;box-shadow:0 10px 26px rgba(255,107,26,.38)}
.btn-orange:hover{background:var(--orange-d);color:#fff;transform:translateY(-2px)}
.btn-line{background:transparent;border:1.5px solid rgba(18,22,29,.25);color:var(--ink)}
.btn-line:hover{border-color:var(--orange);color:var(--orange)}
.btn-glass{background:var(--glass);backdrop-filter:blur(12px);border:1px solid var(--glass-border);color:#fff}
.btn-wa{background:#25D366;color:#fff;box-shadow:0 10px 26px rgba(37,211,102,.32)}
.btn-wa:hover{background:#1DAF54;color:#fff;transform:translateY(-2px)}

/* ícone do WhatsApp */
.ic-wa{width:19px;height:19px;flex:none;display:block}
.btn-wa .ic-wa{width:20px;height:20px}
.lk-wa{display:inline-flex;align-items:center;gap:7px}
.lk-wa .ic-wa{width:16px;height:16px;color:#25D366}
.rc-ic{display:inline-flex;align-items:center;color:#25D366}
.rc-ic .ic-wa{width:17px;height:17px}

/* NAV */
.nav{position:fixed;top:14px;left:0;right:0;z-index:60}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid var(--glass-border);border-radius:20px;padding:10px 18px;box-shadow:0 8px 32px rgba(18,22,29,.10)}
.nav-logo img{height:36px;width:auto}
.nav ul{display:flex;gap:2px;list-style:none;align-items:center}
.nav ul a{display:block;font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.07em;font-size:.95rem;padding:8px 13px;border-radius:10px;white-space:nowrap}
.nav ul a:hover{background:rgba(255,107,26,.12);color:var(--orange)}
.nav ul a.on{background:rgba(255,107,26,.14);color:var(--orange)}
.nav .cta{background:var(--orange);color:#fff;box-shadow:0 6px 18px rgba(255,107,26,.35)}
.nav .cta:hover{background:var(--orange-d);color:#fff}
.nav-right{display:flex;align-items:center;gap:10px}
.lang{position:relative}
.lang-btn{font-size:.82rem;font-weight:600;background:rgba(255,255,255,.7);border:1px solid var(--glass-border);border-radius:10px;padding:8px 12px;color:var(--slate);cursor:pointer;font-family:var(--body)}
.lang-menu{position:absolute;right:0;top:calc(100% + 8px);background:#fff;border:1px solid rgba(18,22,29,.1);border-radius:12px;overflow:hidden;min-width:150px;box-shadow:0 12px 30px rgba(18,22,29,.18);display:none;z-index:70}
.lang.open .lang-menu{display:block}
.lang-menu button{width:100%;text-align:left;padding:10px 14px;background:none;border:0;cursor:pointer;font-size:.9rem;font-family:var(--body);color:var(--ink);display:flex;gap:8px}
.lang-menu button:hover,.lang-menu button.cur{background:rgba(255,107,26,.12);color:var(--orange-d)}
.burger{display:none;background:none;border:0;font-size:1.5rem;cursor:pointer;color:var(--ink);line-height:1}

/* HERO */
.hero{position:relative;min-height:92vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;border-radius:0 0 34px 34px}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.04)}
.hero::after{content:'';position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(18,22,29,.74) 0%,rgba(18,22,29,.36) 42%,rgba(18,22,29,.12) 70%),
             linear-gradient(180deg,rgba(18,22,29,.18) 0%,rgba(18,22,29,0) 35%,rgba(18,22,29,.58) 100%)}
.hero .container{position:relative;z-index:2;width:100%;padding-top:142px;padding-bottom:0}
.hero .hero-bg{animation:kenBurns 20s cubic-bezier(.22,.6,.3,1) forwards}
.hero .container > *{animation:heroIn .9s cubic-bezier(.22,.8,.3,1) both}
.hero .container > *:nth-child(2){animation-delay:.12s}
.hero .container > *:nth-child(3){animation-delay:.24s}
.hero .container > *:nth-child(4){animation-delay:.36s}
.search-wrap{animation:searchIn 1s cubic-bezier(.22,.8,.3,1) .45s both}
.page-hero .container > *{animation:heroIn .8s cubic-bezier(.22,.8,.3,1) both}
.page-hero .container > *:nth-child(2){animation-delay:.1s}
.page-hero .container > *:nth-child(3){animation-delay:.2s}
.page-hero .container > *:nth-child(4){animation-delay:.3s}
.hero h1{font-size:clamp(2.8rem,7vw,5.2rem);color:#fff;font-weight:800;text-shadow:0 2px 30px rgba(0,0,0,.35)}
.hero h1 em{font-style:normal;color:var(--yellow)}
.hero .sub{color:#EDF0F4;font-size:1.06rem;max-width:580px;margin-top:16px;text-shadow:0 1px 12px rgba(0,0,0,.4)}
.accent-bar{width:74px;height:6px;background:var(--yellow);border-radius:4px;margin-top:22px}

/* PAGE HERO */
.page-hero{position:relative;min-height:44vh;display:flex;align-items:flex-end;overflow:hidden;border-radius:0 0 34px 34px}
.page-hero .hero-bg{transform:none}
.page-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,22,29,.38) 0%,rgba(18,22,29,.7) 100%)}
.page-hero .container{position:relative;z-index:2;width:100%;padding-top:150px;padding-bottom:80px}
.page-hero h1{font-size:clamp(2.3rem,5.5vw,4rem);color:#fff;font-weight:800;text-shadow:0 2px 26px rgba(0,0,0,.35)}
.page-hero h1 em{font-style:normal;color:var(--yellow)}
.page-hero p{color:#EDF0F4;max-width:600px;margin-top:12px;font-size:1rem}
.crumb{font-size:.8rem;color:#D8DEE6;margin-bottom:10px}
.crumb a{color:var(--yellow)}

/* SEARCH — flui depois do texto do herói: lê-se primeiro, escolhe-se depois */
.search-wrap{position:relative;z-index:5;width:100%;margin-top:34px;padding-bottom:58px}
.search{display:grid;grid-template-columns:1.1fr 1fr 1fr 1.1fr auto;align-items:stretch;
  background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid var(--glass-border);border-radius:22px;padding:10px;box-shadow:0 18px 50px rgba(18,22,29,.28)}
.search .field{display:flex;flex-direction:column;gap:2px;padding:8px 18px;border-right:1px solid rgba(18,22,29,.10);justify-content:center}
.search .field:nth-child(4){border-right:0}
.search label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--slate)}
.search select,.search input{border:0;background:transparent;font-family:var(--body);font-size:.94rem;font-weight:600;color:var(--ink);outline:none;padding:2px 0;width:100%}
.search .go{align-self:center;margin-left:6px;width:56px;height:56px;border-radius:16px;background:var(--orange);border:0;color:#fff;font-size:1.4rem;cursor:pointer;box-shadow:0 10px 24px rgba(255,107,26,.45);transition:.2s}
.search .go:hover{background:var(--orange-d);transform:translateY(-2px)}

/* SECTIONS */
.section{padding:76px 0}
.section-tight{padding:44px 0}
.sec-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px;flex-wrap:wrap}
.sec-head h2{font-size:clamp(1.9rem,4vw,2.8rem);font-weight:800}
.sec-head p{color:var(--slate);max-width:520px;font-size:.98rem}
.lead{font-size:1.06rem;color:var(--slate);max-width:760px}
.muted{color:var(--slate)}

/* ISLAND PICKER */
.islands{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.island{position:relative;border-radius:22px;overflow:hidden;min-height:270px;display:flex;align-items:flex-end;cursor:pointer;
  border:3px solid transparent;box-shadow:0 14px 40px rgba(18,22,29,.14);transition:.25s}
.island:hover{transform:translateY(-5px)}
.island.on{border-color:var(--orange);box-shadow:0 18px 46px rgba(255,107,26,.3)}
.island .bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .4s}
.island:hover .bg{transform:scale(1.05)}
.island .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,22,29,.05) 30%,rgba(18,22,29,.8) 100%)}
.island .in{position:relative;z-index:2;padding:22px 24px;width:100%}
.island h3{color:#fff;font-size:1.9rem;font-weight:800}
.island .city{color:var(--yellow);font-family:var(--display);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem}
.island .svc{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.island .svc span{font-size:.72rem;font-weight:600;color:#fff;background:rgba(255,255,255,.18);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.3);border-radius:20px;padding:3px 11px}
.island .pick{position:absolute;top:16px;right:16px;z-index:3;font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;
  background:var(--glass);backdrop-filter:blur(8px);border:1px solid var(--glass-border);border-radius:20px;padding:5px 14px;color:var(--ink)}
.island.on .pick{background:var(--orange);border-color:var(--orange);color:#fff}

/* SERVICE CARDS */
/* cartões de serviço: fotografia inteira em cima, informação em baixo */
.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:20px}
.svc-card{position:relative;border-radius:var(--radius);overflow:hidden;background:#fff;
  border:1px solid rgba(18,22,29,.07);display:flex;flex-direction:column;
  box-shadow:0 14px 40px rgba(18,22,29,.11);transition:transform .28s cubic-bezier(.22,.8,.3,1),box-shadow .28s}
.svc-card:hover{transform:translateY(-6px);box-shadow:0 20px 46px rgba(18,22,29,.16)}
.svc-media{position:relative;aspect-ratio:4/5;background:#EDF0F3;overflow:hidden;flex:none}
.svc-media img{width:100%;height:100%;object-fit:cover;object-position:center 55%;
  transition:transform .55s cubic-bezier(.22,.8,.3,1)}
.svc-card:hover .svc-media img{transform:scale(1.06)}
.svc-media .tag{position:absolute;top:12px;left:12px;margin:0;z-index:2;
  background:var(--glass);backdrop-filter:blur(8px);border:1px solid var(--glass-border)}
.svc-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.tag{display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-d);background:rgba(255,107,26,.14);padding:4px 12px;border-radius:20px;margin-bottom:8px}
.svc-card h3{font-size:1.3rem;font-weight:800;line-height:1.12}
.svc-card .meta{font-size:.83rem;color:var(--slate);margin-top:5px;flex:1}
.svc-card .row{display:flex;align-items:end;justify-content:space-between;margin-top:14px;gap:10px;
  padding-top:12px;border-top:1px solid rgba(18,22,29,.08)}
.svc-card .from{font-size:.7rem;color:var(--slate);text-transform:uppercase;letter-spacing:.08em}
.svc-card .val{font-family:var(--display);font-weight:800;font-size:1.55rem;color:var(--orange-d);line-height:1}
.svc-card .go2{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.86rem;white-space:nowrap}
.svc-card .go2 span{color:var(--orange)}

/* FLEET */
.fleet-band{background:linear-gradient(180deg,#fff 0%,var(--bg) 100%);border-radius:34px;margin:0 14px}
.fleet-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:274px;gap:18px;overflow-x:auto;padding:6px 4px 22px;scroll-snap-type:x mandatory}
.fleet-scroll::-webkit-scrollbar{height:8px}
.fleet-scroll::-webkit-scrollbar-thumb{background:rgba(18,22,29,.15);border-radius:8px}
.moto-card{scroll-snap-align:start;background:var(--glass-strong);backdrop-filter:blur(12px);border:1px solid #fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 12px 32px rgba(18,22,29,.10);transition:transform .2s}
.moto-card:hover{transform:translateY(-5px)}
/* o veículo aparece inteiro: sem recorte, sobre fundo neutro */
.moto-card img{width:100%;aspect-ratio:4/3;height:auto;object-fit:contain;background:#fff;padding:8px}
.moto-card .body{padding:14px 16px 16px}
.pill{display:inline-block;font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:3px 10px;border-radius:20px}
.pill-sc{color:var(--orange-d);background:rgba(255,107,26,.13)}
.pill-qd{color:#7A5A00;background:rgba(255,201,60,.3)}
.moto-card h3{font-size:1.14rem;font-weight:800;margin-top:8px}
.moto-card .cc{font-size:.8rem;color:var(--slate)}
.moto-card .p{font-family:var(--display);font-weight:800;font-size:1.3rem;margin-top:8px}
.moto-card .p small{font-size:.68rem;color:var(--slate);font-family:var(--body);font-weight:500}

/* TABELAS DE PREÇOS */
.tbl-wrap{overflow-x:auto;border-radius:16px;border:1px solid rgba(18,22,29,.09);background:#fff;box-shadow:0 10px 28px rgba(18,22,29,.07)}
table.price{width:100%;border-collapse:collapse;font-size:.92rem;min-width:560px}
table.price th,table.price td{padding:11px 14px;text-align:left;border-bottom:1px solid rgba(18,22,29,.07)}
table.price thead th{background:var(--ink);color:#fff;font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;font-size:.9rem;font-weight:700}
table.price thead tr.sub th{background:rgba(255,201,60,.9);color:#3D3000;font-size:.76rem;letter-spacing:.08em}
table.price tbody tr:nth-child(even){background:#FAFBFC}
table.price tbody tr:hover{background:rgba(255,107,26,.06)}
table.price td.d{font-weight:600}
table.price td.eur{font-weight:700;color:var(--orange-d);white-space:nowrap}
table.price td.cve{color:var(--slate);white-space:nowrap;font-size:.86rem}
.tbl-note{font-size:.8rem;color:var(--slate);margin-top:10px}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.tab-btn{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.07em;font-size:.94rem;padding:10px 22px;border-radius:12px;border:1px solid rgba(18,22,29,.12);background:rgba(255,255,255,.7);color:var(--slate);cursor:pointer;transition:.15s}
.tab-btn:hover{color:var(--orange-d)}
.tab-btn.on{background:var(--orange);border-color:var(--orange);color:#fff;box-shadow:0 8px 20px rgba(255,107,26,.32)}

/* ---------- COMO FUNCIONA: grelha com divisórias finas ---------- */
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:rgba(18,22,29,.09);border:1px solid rgba(18,22,29,.09);
  border-radius:22px;overflow:hidden;box-shadow:0 16px 44px rgba(18,22,29,.07)}
.feature{position:relative;background:#fff;padding:32px 30px;display:flex;flex-direction:column;gap:11px;
  transition:background .3s ease}
.feature::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--orange);
  transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.22,.8,.3,1)}
.feature:hover{background:#FFFCF8}
.feature:hover::before{transform:scaleX(1)}
.feature-ic{width:48px;height:48px;border-radius:14px;background:rgba(255,107,26,.1);color:var(--orange-d);
  display:grid;place-items:center;transition:background .3s,color .3s,transform .3s}
.feature-ic svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.feature:hover .feature-ic{background:var(--orange);color:#fff;transform:translateY(-3px)}
.feature h4{font-family:var(--display);text-transform:uppercase;font-size:1.14rem;letter-spacing:.02em;line-height:1.15}
.feature p{font-size:.875rem;color:var(--slate);line-height:1.62;flex:1;margin:0}
.feature-key{align-self:flex-start;font-family:var(--display);font-weight:700;font-size:.78rem;
  letter-spacing:.09em;text-transform:uppercase;color:#7A4A00;background:rgba(255,201,60,.3);
  border-radius:8px;padding:5px 12px;white-space:nowrap}

/* horários */
.hours-panel{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(18,22,29,.09);
  border:1px solid rgba(18,22,29,.09);border-radius:22px;overflow:hidden;margin-top:20px;
  box-shadow:0 16px 44px rgba(18,22,29,.07)}
.hours-col{background:#fff;padding:28px 30px}
.hours-col .hh{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.hours-col .hh .ic{width:40px;height:40px;border-radius:12px;background:rgba(255,201,60,.28);color:#8A5A00;
  display:grid;place-items:center;flex:none}
.hours-col .hh .ic svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hours-col h4{font-family:var(--display);text-transform:uppercase;font-size:1.1rem;letter-spacing:.02em}
.hrow{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:10px 0;
  border-bottom:1px dashed rgba(18,22,29,.13);font-size:.88rem;color:var(--slate)}
.hrow:last-child{border-bottom:0;padding-bottom:0}
.hrow b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}

/* ---------- FAQ: bloco centrado, largura de leitura confortável ---------- */
#faq .sec-head{flex-direction:column;align-items:center;text-align:center;gap:10px;margin-bottom:34px}
#faq .sec-head h2::after{left:50%;transform:translateX(-50%)}
#faq .sec-head p{max-width:600px}
.faq-list{display:grid;gap:10px;max-width:920px;margin-inline:auto}
.faq-item{background:#fff;border:1px solid rgba(18,22,29,.08);border-radius:16px;overflow:hidden;
  box-shadow:0 6px 20px rgba(18,22,29,.05);transition:border-color .25s,box-shadow .25s,transform .25s}
.faq-item:hover{border-color:rgba(255,107,26,.4);box-shadow:0 10px 28px rgba(18,22,29,.09)}
.faq-item.open{border-color:rgba(255,107,26,.5);box-shadow:0 12px 32px rgba(255,107,26,.12)}
.faq-item button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;
  background:none;border:0;cursor:pointer;font-family:var(--display);font-weight:700;text-transform:uppercase;
  letter-spacing:.03em;font-size:1.02rem;color:var(--ink);text-align:left;padding:19px 24px;transition:color .2s}
.faq-item button:hover{color:var(--orange-d)}
.faq-item .chev{flex:none;width:28px;height:28px;border-radius:50%;background:rgba(255,107,26,.11);
  color:var(--orange-d);display:grid;place-items:center;font-size:1.05rem;line-height:1;
  transition:transform .35s cubic-bezier(.22,.8,.3,1),background .25s,color .25s}
.faq-item.open .chev{transform:rotate(90deg);background:var(--orange);color:#fff}
.faq-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .38s cubic-bezier(.22,.8,.3,1)}
.faq-item.open .faq-wrap{grid-template-rows:1fr}
.faq-inner{overflow:hidden}
.faq-item .ans{padding:0 24px 20px;font-size:.91rem;color:var(--slate);line-height:1.68;
  border-top:1px solid rgba(18,22,29,.06);margin-top:0;padding-top:16px}

/* CONTENT PANELS */
.panel{background:var(--glass-strong);backdrop-filter:blur(12px);border:1px solid #fff;border-radius:20px;padding:30px 32px;box-shadow:0 12px 32px rgba(18,22,29,.08)}
.two{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:start}
.two-prod{grid-template-columns:1.15fr .85fr;gap:26px;margin-top:16px}
.panel h2{font-size:1.6rem;font-weight:800;margin-bottom:14px}
.panel h3{font-size:1.2rem;font-weight:800;margin:18px 0 8px}
.panel p{font-size:.94rem;color:#2A3340;margin-bottom:10px}
.check{list-style:none;display:grid;gap:10px;font-size:.92rem}
.check li{padding-left:28px;position:relative;color:#2A3340}
.check li::before{content:'✓';position:absolute;left:0;color:var(--orange);font-weight:800}
.value-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.value-card{background:var(--glass-strong);backdrop-filter:blur(10px);border:1px solid #fff;border-left:4px solid var(--orange);border-radius:0 16px 16px 0;padding:22px 24px;box-shadow:0 8px 24px rgba(18,22,29,.07)}
.value-card h4{font-family:var(--display);text-transform:uppercase;color:var(--orange-d);font-size:1.15rem;margin-bottom:6px}
.value-card p{font-size:.88rem;color:var(--slate)}
.img-stack{display:grid;gap:16px}
.img-stack img{border-radius:var(--radius);box-shadow:0 12px 32px rgba(18,22,29,.12)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.stat{background:var(--glass-strong);backdrop-filter:blur(10px);border:1px solid #fff;border-radius:16px;padding:22px 24px;box-shadow:0 8px 24px rgba(18,22,29,.07)}
.stat .n{font-family:var(--display);font-weight:800;font-size:2.2rem;color:var(--orange);line-height:1}
.stat p{font-size:.84rem;color:var(--slate);margin-top:6px}

/* BANDS */
.band{position:relative;border-radius:26px;overflow:hidden;box-shadow:0 18px 50px rgba(18,22,29,.16)}
.band .bg{position:absolute;inset:0;background-size:cover;background-position:center}
.band::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,22,29,.74) 0%,rgba(18,22,29,.32) 75%)}
.band .in{position:relative;z-index:2;padding:46px}
.band.center .in{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.band h2{color:#fff;font-size:2rem;font-weight:800}
.band h2 span{color:var(--yellow)}
.band p{color:#D8DEE6;font-size:.94rem;margin:10px 0 18px;max-width:540px}

/* MAPA + CONTACTOS */
.contact-grid{display:grid;grid-template-columns:1fr .9fr;gap:20px;align-items:start}
.contact-card{background:var(--glass-strong);backdrop-filter:blur(14px);border:1px solid #fff;border-radius:20px;padding:26px 28px;box-shadow:0 12px 32px rgba(18,22,29,.10)}
.contact-card h3{font-size:1.5rem;font-weight:800}
.rowc{display:flex;gap:10px;align-items:center;font-size:.9rem;color:var(--slate);padding:8px 0;border-bottom:1px solid rgba(18,22,29,.07)}
.rowc:last-of-type{border:0}
.rowc b{color:var(--ink);font-weight:600}
.rowc .v{margin-left:auto;text-align:right}
.map-frame{width:100%;height:300px;border:1px solid #fff;border-radius:20px;box-shadow:0 12px 32px rgba(18,22,29,.10)}

/* PRODUTOS */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.prod{background:var(--glass-strong);backdrop-filter:blur(12px);border:1px solid #fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 12px 32px rgba(18,22,29,.10);display:flex;flex-direction:column;transition:transform .2s}
.prod:hover{transform:translateY(-5px)}
.prod .ph{position:relative;aspect-ratio:4/3;overflow:hidden;display:block;background:#fff;
  border-bottom:1px solid rgba(18,22,29,.07)}
.prod .ph img{height:100%;width:100%;object-fit:contain;padding:10px;transition:transform .35s}
.prod:hover .ph img{transform:scale(1.05)}
.badge{position:absolute;top:12px;left:12px;font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:4px 12px;border-radius:20px;background:var(--glass);backdrop-filter:blur(8px);border:1px solid var(--glass-border);color:var(--ink)}
.badge.rev{background:var(--yellow);border-color:var(--yellow);color:#5A4200}
.badge.sold{background:rgba(18,22,29,.72);border-color:transparent;color:#fff}
.prod .body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.prod .type{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-d)}
.prod h3{font-size:1.32rem;font-weight:800;margin-top:4px}
.specs{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.spec{font-size:.7rem;color:var(--slate);background:rgba(18,22,29,.05);border-radius:8px;padding:3px 9px}
.price-row{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-top:auto;padding-top:14px;border-top:1px solid rgba(18,22,29,.08)}
.prod .p{font-family:var(--display);font-weight:800;font-size:1.35rem;line-height:1}
.prod .p small{display:block;font-family:var(--body);font-weight:500;font-size:.68rem;color:var(--slate);margin-top:3px}
.buy{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.86rem;background:var(--orange);color:#fff;border:0;border-radius:11px;padding:10px 16px;cursor:pointer;box-shadow:0 8px 20px rgba(255,107,26,.3);transition:.2s}
.buy:hover{background:var(--orange-d)}
.buy.ghost{background:transparent;color:var(--ink);border:1.5px solid rgba(18,22,29,.25);box-shadow:none}
.buy.ghost:hover{border-color:var(--orange);color:var(--orange)}
.hidden{display:none!important}
.filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:var(--glass);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:20px;padding:12px 14px;box-shadow:0 18px 50px rgba(18,22,29,.2)}
.filters .sep{width:1px;height:26px;background:rgba(18,22,29,.12);margin:0 4px}
.filters select{border:1px solid rgba(18,22,29,.12);background:rgba(255,255,255,.65);border-radius:12px;padding:9px 14px;font-family:var(--body);font-weight:600;font-size:.85rem;color:var(--ink);outline:none}
.count{margin-left:auto;font-size:.82rem;color:var(--slate)}
.filter-wrap{margin-top:-44px;position:relative;z-index:5}

/* GALERIA PRODUTO */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:96px;gap:10px}
.gallery .main{grid-column:1/-1;grid-row:span 4;border-radius:var(--radius);overflow:hidden;position:relative;box-shadow:0 14px 40px rgba(18,22,29,.14);background:#fff;border:1px solid rgba(18,22,29,.07)}
.gallery .main img{width:100%;height:100%;object-fit:contain;padding:12px}
.gallery .badge2{position:absolute;top:14px;right:14px;left:auto;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 14px;border-radius:20px;background:var(--glass);backdrop-filter:blur(8px);border:1px solid var(--glass-border);z-index:2}
.thumb{border-radius:12px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:.15s;box-shadow:0 6px 18px rgba(18,22,29,.1);background:#e9edf1}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb.on{border-color:var(--orange)}
.buy-card{position:sticky;top:96px;background:var(--glass-strong);backdrop-filter:blur(18px);border:1px solid #fff;border-radius:20px;padding:26px;box-shadow:0 18px 50px rgba(18,22,29,.16)}
.buy-card h1{font-size:2.1rem;font-weight:800;margin-top:4px}
.price-box{background:rgba(255,201,60,.18);border:1px solid rgba(255,169,26,.4);border-radius:14px;padding:14px 18px;margin:16px 0}
.price-box .p{font-family:var(--display);font-weight:800;font-size:1.7rem;color:var(--orange-d);line-height:1.1}
.price-box small{font-size:.74rem;color:#6B5B2A;display:block;margin-top:4px}
.trust{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid rgba(18,22,29,.08)}
.trust div{font-size:.74rem;color:var(--slate);display:flex;gap:8px;align-items:center}
.trust span{color:var(--orange);font-weight:700}
.spec-table{width:100%;border-collapse:collapse;font-size:.88rem}
.spec-table td{padding:10px 6px;border-bottom:1px solid rgba(18,22,29,.07)}
.spec-table td:first-child{color:var(--slate);width:46%}
.spec-table td:last-child{font-weight:600}

/* FORMULÁRIO */
.form-card{background:var(--glass-strong);backdrop-filter:blur(18px);border:1px solid #fff;border-radius:20px;padding:28px;box-shadow:0 18px 50px rgba(18,22,29,.14)}
/* ---------- SELETOR DE TIPO DE PEDIDO: caixa própria, acima do formulário ---------- */
.seg-box{background:#fff;border:1px solid rgba(18,22,29,.09);border-radius:18px;padding:18px 20px 20px;
  margin-bottom:20px;box-shadow:0 10px 30px rgba(18,22,29,.07)}
.seg-box .seg-label{display:block;font-family:var(--display);font-weight:700;text-transform:uppercase;
  letter-spacing:.14em;font-size:.74rem;color:var(--slate);margin-bottom:13px}
.seg{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:9px}
.seg button{position:relative;display:flex;align-items:center;gap:9px;text-align:left;
  font-family:var(--body);font-weight:600;font-size:.87rem;line-height:1.25;
  padding:13px 15px;border-radius:12px;border:1.5px solid rgba(18,22,29,.12);
  background:#FBFBFC;color:var(--ink);cursor:pointer;
  transition:border-color .2s,background .2s,color .2s,box-shadow .2s,transform .2s}
.seg button::before{content:'';flex:none;width:16px;height:16px;border-radius:50%;
  border:1.5px solid rgba(18,22,29,.24);background:#fff;transition:border-color .2s,border-width .2s}
.seg button:hover{border-color:rgba(255,107,26,.55);background:#fff}
.seg button:hover::before{border-color:var(--orange)}
.seg button.on{border-color:var(--orange);background:rgba(255,107,26,.07);color:var(--orange-d);
  box-shadow:0 6px 18px rgba(255,107,26,.16)}
.seg button.on::before{border-color:var(--orange);border-width:5px}
@media(max-width:600px){
  .seg{grid-template-columns:1fr}
  .seg-box{padding:15px 16px 17px}
}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:1/-1}
.field label{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--slate)}
.field input,.field select,.field textarea{border:1px solid rgba(18,22,29,.14);background-color:rgba(255,255,255,.75);border-radius:12px;padding:12px 14px;font-family:var(--body);font-size:.92rem;font-weight:500;color:var(--ink);outline:none;transition:.15s}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,107,26,.15)}
.field input[type=date]{color-scheme:light}

/* seta do dropdown desenhada por nós, encostada ao texto e não à borda */
.field select,.search select{appearance:none;-webkit-appearance:none;-moz-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235B6673' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");
  background-repeat:no-repeat;background-position:right 15px center;background-size:15px;padding-right:42px}
.field select:hover,.search select:hover{cursor:pointer}
.search select{background-position:right 2px center;padding-right:22px}

/* caixa de seleção: sempre branca, com visto laranja */
.chk{display:flex;gap:12px;align-items:flex-start;font-size:.82rem;color:var(--slate)}
.chk input[type=checkbox]{appearance:none;-webkit-appearance:none;flex:none;position:relative;
  width:21px;height:21px;margin:1px 0 0;border:1.5px solid rgba(18,22,29,.26);border-radius:6px;
  background:#fff;cursor:pointer;transition:border-color .18s,box-shadow .18s}
.chk input[type=checkbox]:hover{border-color:var(--orange)}
.chk input[type=checkbox]:focus-visible{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,107,26,.2)}
.chk input[type=checkbox]::after{content:'';position:absolute;left:6px;top:3px;width:7px;height:11px;
  border:solid var(--orange);border-width:0 2.4px 2.4px 0;border-radius:1px;
  transform:rotate(45deg) scale(0);transform-origin:center;
  transition:transform .18s cubic-bezier(.22,.8,.3,1)}
.chk input[type=checkbox]:checked{border-color:var(--orange)}
.chk input[type=checkbox]:checked::after{transform:rotate(45deg) scale(1)}
.chk label{cursor:pointer;line-height:1.6}
.err{font-size:.78rem;color:#B3202C;display:none;margin-bottom:8px}
.sum-card{background:var(--glass);backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:20px;padding:22px 24px;box-shadow:0 12px 32px rgba(18,22,29,.1)}
.sum-card h3{font-size:1.18rem;font-weight:800;margin-bottom:12px}
.sum-row{display:flex;justify-content:space-between;gap:12px;font-size:.86rem;padding:8px 0;border-bottom:1px solid rgba(18,22,29,.07)}
.sum-row:last-child{border:0}
.sum-row span:first-child{color:var(--slate)}
.sum-row span:last-child{font-weight:600;text-align:right}
.timeline{list-style:none;display:grid}
.timeline li{position:relative;padding:0 0 18px 34px;font-size:.84rem;color:var(--slate)}
.timeline li b{display:block;color:var(--ink);font-size:.88rem}
.timeline li::before{content:'';position:absolute;left:10px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--orange)}
.timeline li::after{content:'';position:absolute;left:14px;top:20px;bottom:0;width:2px;background:rgba(255,107,26,.25)}
.timeline li:last-child::after{display:none}
.note-box{background:rgba(255,201,60,.16);border:1px solid rgba(255,169,26,.4);border-radius:12px;padding:12px 16px;font-size:.84rem;color:#4A4436}
.success{display:none;background:var(--glass-strong);backdrop-filter:blur(18px);border:1px solid #fff;border-radius:20px;padding:40px;box-shadow:0 18px 50px rgba(18,22,29,.14);text-align:center}
.success .ic{width:74px;height:74px;border-radius:50%;background:rgba(72,180,120,.16);border:2px solid #3B9E6B;color:#2E7D54;font-size:2rem;display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.success h2{font-size:2rem;font-weight:800}
.success .ref{display:inline-block;font-family:var(--display);font-weight:800;font-size:1.4rem;letter-spacing:.06em;color:var(--orange-d);background:rgba(255,201,60,.2);border:1px solid rgba(255,169,26,.4);border-radius:12px;padding:8px 22px;margin:14px 0}
.success p{color:var(--slate);font-size:.92rem;max-width:540px;margin:0 auto 8px}
.acts{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:20px}

/* TEXTO LEGAL */
.legal{padding:130px 0 60px}
.legal h1{font-size:2.4rem;margin-bottom:6px}
.legal h2{font-size:1.3rem;margin:26px 0 8px;color:var(--orange-d)}
.legal p,.legal li{font-size:.92rem;color:#2A3340;margin-bottom:8px}
.legal ul{padding-left:20px}

/* FOOTER */
footer{background:var(--ink);color:#C4CBD4;border-radius:34px 34px 0 0;margin-top:80px;padding:56px 0 26px}
footer .fgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px}
footer h4{font-family:var(--display);text-transform:uppercase;color:var(--yellow);font-size:1rem;margin-bottom:12px;letter-spacing:.06em}
footer ul{list-style:none;display:grid;gap:8px;font-size:.9rem}
footer a:hover{color:var(--orange)}
footer .logo{height:38px;width:auto;margin-bottom:12px;filter:brightness(1.15)}
footer p{font-size:.88rem}
footer .bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:36px;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:.8rem;color:#8A93A0}
footer .bottom a{color:#8A93A0;text-decoration:underline}

/* WHATSAPP FLUTUANTE */
.wa-float{position:fixed;right:18px;bottom:18px;z-index:80;display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.wa-float a{display:flex;align-items:center;gap:9px;background:#25D366;color:#fff;border-radius:30px;padding:12px 18px;font-weight:600;font-size:.86rem;box-shadow:0 10px 26px rgba(37,211,102,.4);transition:.2s}
.wa-float a:hover{background:#1DAF54;color:#fff;transform:translateY(-2px)}

/* ============================================================
   ANIMAÇÕES
   ============================================================ */

/* nav que encolhe ao rolar */
.nav-inner{transition:padding .32s cubic-bezier(.22,.8,.3,1),background .32s,box-shadow .32s,border-color .32s}
.nav-logo img{transition:height .32s cubic-bezier(.22,.8,.3,1)}
.nav.scrolled .nav-inner{padding:7px 18px;background:rgba(255,255,255,.88);box-shadow:0 10px 34px rgba(18,22,29,.14)}
.nav.scrolled .nav-logo img{height:30px}

/* entrada do herói */
@keyframes heroIn{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes kenBurns{from{transform:scale(1.14)}to{transform:scale(1.04)}}
@keyframes searchIn{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}

/* revelação ao rolar */
.reveal{opacity:0;transform:translateY(26px);
  transition:opacity .75s cubic-bezier(.22,.8,.3,1),transform .75s cubic-bezier(.22,.8,.3,1)}
.reveal.in{opacity:1;transform:none}
.reveal.from-left{transform:translateX(-28px)}
.reveal.from-left.in{transform:none}
.reveal.zoom{transform:scale(.96);opacity:0}
.reveal.zoom.in{transform:none;opacity:1}

/* entrada em cascata dos cartões */
.stagger > *{opacity:0;transform:translateY(24px);
  transition:opacity .6s cubic-bezier(.22,.8,.3,1),transform .6s cubic-bezier(.22,.8,.3,1)}
.stagger.in > *{opacity:1;transform:none}
.stagger.in > *:nth-child(1){transition-delay:.02s}
.stagger.in > *:nth-child(2){transition-delay:.08s}
.stagger.in > *:nth-child(3){transition-delay:.14s}
.stagger.in > *:nth-child(4){transition-delay:.20s}
.stagger.in > *:nth-child(5){transition-delay:.26s}
.stagger.in > *:nth-child(6){transition-delay:.32s}
.stagger.in > *:nth-child(7){transition-delay:.36s}
.stagger.in > *:nth-child(8){transition-delay:.40s}
.stagger.in > *:nth-child(9){transition-delay:.44s}
.stagger.in > *:nth-child(10){transition-delay:.48s}
.stagger.in > *:nth-child(n+11){transition-delay:.52s}

/* sublinhado animado nos títulos de secção */
.sec-head h2{position:relative;display:inline-block}
.sec-head h2::after{content:'';position:absolute;left:0;bottom:-10px;height:4px;width:0;border-radius:3px;
  background:linear-gradient(90deg,var(--orange),var(--yellow));transition:width .8s cubic-bezier(.22,.8,.3,1) .15s}
.reveal.in .sec-head h2::after,.sec-head.in h2::after{width:58px}

/* botões e cartões */
.btn{transition:background .22s,color .22s,transform .22s cubic-bezier(.22,.8,.3,1),box-shadow .22s}
.btn:active{transform:translateY(0) scale(.985)}
.moto-card,.prod,.svc-card,.island,.value-card,.stat{will-change:transform}
.value-card{transition:transform .28s cubic-bezier(.22,.8,.3,1),box-shadow .28s,border-left-color .28s}
.value-card:hover{transform:translateX(4px);box-shadow:0 14px 34px rgba(18,22,29,.11)}
.stat{transition:transform .28s cubic-bezier(.22,.8,.3,1),box-shadow .28s}
.stat:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(18,22,29,.11)}
.stat .n{font-variant-numeric:tabular-nums}

/* transição entre separadores de preços */
.pane{animation:paneIn .45s cubic-bezier(.22,.8,.3,1) both}
@keyframes paneIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
table.price tbody tr{transition:background .18s}

/* setas dos links */
.svc-card .go2 span,.sim a,.prod .body a{display:inline-block;transition:transform .25s cubic-bezier(.22,.8,.3,1)}
.svc-card:hover .go2 span{transform:translateX(5px)}

/* whatsapp flutuante entra depois de carregar */
.wa-float{opacity:0;transform:translateY(16px);transition:opacity .6s ease .8s,transform .6s cubic-bezier(.22,.8,.3,1) .8s}
.wa-float.in{opacity:1;transform:none}
.wa-float a{transition:background .22s,transform .25s cubic-bezier(.22,.8,.3,1),box-shadow .25s}

/* quem prefere menos movimento */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .reveal,.stagger > *,.wa-float{opacity:1!important;transform:none!important;transition:none!important}
  .hero .container > *,.search-wrap,.hero-bg,.pane{animation:none!important}
  .sec-head h2::after{transition:none;width:58px}
}

/* ================= ANIMAÇÃO EXTRA DE NAVEGAÇÃO ================= */
/* entrada suave da página */
@keyframes pageIn{from{opacity:0}to{opacity:1}}
body{animation:pageIn .4s ease both}

/* barra de progresso de leitura */
.progress{position:fixed;top:0;left:0;height:3px;width:100%;z-index:90;transform:scaleX(0);transform-origin:left;
  background:linear-gradient(90deg,var(--orange),var(--yellow));transition:transform .12s linear;pointer-events:none}

/* links do menu com sublinhado que cresce */
.nav ul a{position:relative}
.nav ul a::after{content:'';position:absolute;left:13px;right:13px;bottom:4px;height:2px;border-radius:2px;
  background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .28s cubic-bezier(.22,.8,.3,1)}
.nav ul a:hover::after{transform:scaleX(1)}
.nav ul a.cta::after,.nav .cta::after{display:none}

/* cartões de frota, produto e ilha */
.moto-card{transition:transform .3s cubic-bezier(.22,.8,.3,1),box-shadow .3s}
.moto-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(18,22,29,.14)}
.moto-card img{transition:transform .5s cubic-bezier(.22,.8,.3,1)}
.moto-card:hover img{transform:scale(1.07)}
.prod{transition:transform .3s cubic-bezier(.22,.8,.3,1),box-shadow .3s}
.island{transition:transform .3s cubic-bezier(.22,.8,.3,1),box-shadow .3s,border-color .3s}
.thumb{transition:transform .22s cubic-bezier(.22,.8,.3,1),border-color .22s}
.thumb:hover{transform:translateY(-3px)}
.feature-key{transition:background .3s,color .3s}
.feature:hover .feature-key{background:var(--orange);color:#fff}

/* separadores e chips */
.tab-btn,.chip{transition:background .22s,color .22s,border-color .22s,transform .2s,box-shadow .22s}
.tab-btn:hover,.chip:hover{transform:translateY(-1px)}

/* campos de formulário */
.field input,.field select,.field textarea{transition:border-color .2s,box-shadow .2s,background .2s}
.faq-item{transform:translateZ(0)}

/* ================= RESPONSIVIDADE ================= */

/* tablet grande */
@media(max-width:1080px){
  .features{grid-template-columns:1fr 1fr}
  .two-prod{grid-template-columns:1fr .9fr}
}

/* tablet / menu em hamburguer */
@media(max-width:960px){
  .nav-inner{position:relative}
  .nav ul{display:none;position:absolute;top:calc(100% + 10px);left:0;right:0;flex-direction:column;
    align-items:stretch;background:#fff;border:1px solid rgba(18,22,29,.1);border-radius:16px;padding:10px;gap:2px;
    box-shadow:0 16px 40px rgba(18,22,29,.2);max-height:70vh;overflow-y:auto}
  .nav ul.open{display:flex;animation:pageIn .22s ease both}
  .nav ul a{padding:12px 14px;font-size:1rem}
  .nav ul a::after{display:none}
  .nav .cta{text-align:center;margin-top:4px}
  .burger{display:block}

  /* herói: barra de pesquisa deixa de flutuar e passa a fluir */
  .hero{min-height:auto;align-items:flex-start}
  .hero .container{padding-top:120px;padding-bottom:26px}
  .search-wrap{position:static;margin-top:6px}
  .search-wrap .container{padding-bottom:34px}
  .search{grid-template-columns:1fr 1fr}
  .search .field{border-right:0;border-bottom:1px solid rgba(18,22,29,.1)}
  .search .field:nth-child(3),.search .field:nth-child(4){border-bottom:0}
  .search .go{width:100%;grid-column:1/-1;margin:8px 0 0;height:50px}

  .page-hero .container{padding-top:130px;padding-bottom:60px}
  .islands,.two,.two-prod,.contact-grid,.hours,.hours-panel,.fgrid{grid-template-columns:1fr}
  .grid3{grid-template-columns:1fr 1fr}
  footer .fgrid{grid-template-columns:1fr 1fr}
  .buy-card{position:static}
  .band.center .in{flex-direction:column;align-items:flex-start}
}

/* telemóvel grande */
@media(max-width:760px){
  .features{grid-template-columns:1fr}
  .feature{padding:26px 24px}
  .sec-head{flex-direction:column;align-items:flex-start;gap:10px}
  .sec-head p{max-width:none}
  .fleet-band{margin:0 8px;border-radius:26px}
  .band .in{padding:32px 26px}
  .band h2{font-size:1.7rem}
  .gallery{grid-auto-rows:76px}
  .gallery .main{grid-row:span 3}
  .panel{padding:24px 22px}
  .form-card{padding:22px 20px}
  .map-frame{height:260px}
}

/* telemóvel */
@media(max-width:600px){
  .container{padding:0 18px}
  .grid3{grid-template-columns:1fr}
  footer .fgrid{grid-template-columns:1fr}
  .section{padding:50px 0}
  .section-tight{padding:34px 0}
  .hero h1{font-size:clamp(2.3rem,10vw,3rem)}
  .hero .sub{font-size:1rem}
  .page-hero h1{font-size:clamp(2rem,9vw,2.6rem)}
  .search{grid-template-columns:1fr}
  .search .field{border-bottom:1px solid rgba(18,22,29,.1)!important;padding:9px 14px}
  .search .field:last-of-type{border-bottom:0!important}
  .filter-wrap{margin-top:-26px}
  .filters{padding:10px}
  .chip,.tab-btn{font-size:.86rem;padding:9px 16px}
  .count{margin-left:0;width:100%;text-align:center;padding-top:4px}
  .faq-item button{font-size:.94rem;padding:16px 18px;gap:12px}
  .faq-item .ans{padding:14px 18px 18px}
  .hours-col,.value-card{padding:22px 20px}
  .band .in{padding:26px 20px}
  .band h2{font-size:1.5rem}
  .stat .n{font-size:1.9rem}
  .trust{grid-template-columns:1fr}
  .wa-float{right:14px;bottom:14px;gap:10px}
  .wa-float a span{display:none}
  .wa-float a{padding:15px;border-radius:50%;font-size:1rem}
  .acts{flex-direction:column}
  .acts .btn{width:100%}
  .success{padding:28px 20px}
  .buy-card{padding:22px 20px}
  .gallery{grid-template-columns:repeat(4,1fr);grid-auto-rows:62px}
  .gallery .main{grid-row:span 3}
  footer{border-radius:26px 26px 0 0;padding:42px 0 22px}
  footer .bottom{flex-direction:column;gap:6px}
}

/* telemóvel pequeno */
@media(max-width:400px){
  .container{padding:0 15px}
  .hero .container{padding-top:106px}
  .hero h1{font-size:2.15rem}
  .nav-logo img{height:31px}
  .lang-btn{padding:7px 9px;font-size:.78rem}
  .btn{font-size:.94rem;padding:13px 20px}
  .feature{padding:22px 20px}
  .gallery{grid-auto-rows:54px}
}

/* ecrã baixo e largo (telemóvel deitado) */
@media(max-height:520px) and (orientation:landscape){
  .hero{min-height:auto}
  .hero .container{padding-top:104px;padding-bottom:20px}
}

/* ============================================================
   ALTERAÇÕES DA REUNIÃO DE SETEMBRO DE 2026
   Horário com pausa, textos por serviço, automóveis,
   avaliações, destaque do seguro e galeria dos usados.
   ============================================================ */

/* nota da pausa para almoço, por baixo do horário */
.hours-note{
  margin:10px 0 0; font-size:.82rem; color:var(--slate);
  padding-top:10px; border-top:1px solid var(--line);
}

/* texto explicativo dentro de cada cartão de serviço */
.svc-desc{
  margin:10px 0 0; font-size:.86rem; line-height:1.55; color:var(--slate);
}

/* preço por confirmar, na frota */
.moto-card .p .sob{ font-size:.92rem; font-weight:600; color:var(--slate) }

/* ---------- SEGURO EM DESTAQUE ---------- */
.insurance-band{
  display:flex; align-items:center; gap:20px; flex-wrap:wrap;
  margin-top:26px; padding:22px 26px;
  background:linear-gradient(100deg,#FFF6EC,#FFFDF8);
  border:1px solid rgba(255,107,26,.28); border-radius:var(--r);
}
.insurance-band .ic{
  flex:0 0 auto; width:46px; height:46px; display:grid; place-items:center;
  background:#fff; border-radius:14px; border:1px solid rgba(255,107,26,.25);
}
.insurance-band .ic svg{
  width:24px; height:24px; fill:none; stroke:var(--orange);
  stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;
}
.insurance-band .tx{ flex:1 1 320px; min-width:0 }
.insurance-band h3{ margin:0 0 4px; font-size:1.1rem }
.insurance-band p{ margin:0; font-size:.88rem; line-height:1.55; color:var(--slate) }

/* ---------- AVALIAÇÕES ---------- */
.rev-grid{ display:grid; gap:20px; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)) }
.rev-card{
  margin:0; padding:26px 26px 22px; background:#fff;
  border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--sh);
}
.stars{ display:flex; gap:3px; margin-bottom:12px; font-size:1.15rem; line-height:1 }
.stars span{ color:var(--line) }
.stars span.on{ color:#F5A623 }
.rev-card blockquote{
  margin:0 0 14px; font-family:var(--display); font-weight:600;
  font-size:1.18rem; line-height:1.4; color:var(--ink);
}
.rev-card blockquote::before{ content:'\201C' }
.rev-card blockquote::after{ content:'\201D' }
.rev-card figcaption{ font-size:.82rem; color:var(--slate) }
.rev-cta{ display:flex; gap:12px; flex-wrap:wrap; margin-top:22px; justify-content:center }
.btn-g{ background:#fff; color:var(--ink); border:1px solid var(--line) }
.btn-g:hover{ border-color:var(--orange); color:var(--orange-d) }



/* ---------- CABEÇALHO DE SECÇÃO ----------
   O traço do h2 está posicionado 10px abaixo do título. Quando um parágrafo
   vem logo a seguir dentro do mesmo bloco, o traço caía sobre as letras. */
.sec-head h2 + p{ margin-top:20px }
.sec-head > div > p{ margin-top:20px }

/* ============================================================
   GALERIA DE VEÍCULOS
   Mesmo componente na frota, nos usados e nos automóveis.
   ============================================================ */
.gal{ position:relative; background:#fff }
.gal-vazia{ display:none }
.gal-ph{
  display:block; width:100%; padding:0; border:0; background:#fff;
  cursor:zoom-in; position:relative; overflow:hidden;
}
.gal-ph img{
  display:block; width:100%; height:100%; object-fit:contain;
  background:#fff; transition:transform .45s cubic-bezier(.22,.8,.3,1);
}
.gal-ph:hover img{ transform:scale(1.04) }
.gal-zoom{
  position:absolute; right:10px; bottom:10px; z-index:2;
  width:32px; height:32px; display:grid; place-items:center;
  background:var(--glass-strong); backdrop-filter:blur(8px);
  border:1px solid var(--glass-border); border-radius:50%;
  opacity:0; transform:translateY(6px); transition:.22s; pointer-events:none;
}
.gal-ph:hover .gal-zoom,.gal-ph:focus-visible .gal-zoom{ opacity:1; transform:none }
.gal-zoom svg{ width:16px; height:16px; fill:none; stroke:var(--ink); stroke-width:1.8; stroke-linecap:round }

.gal-nav:not(:empty){
  display:flex; align-items:center; justify-content:center; gap:10px;
  padding:8px 10px; border-top:1px solid var(--line); background:#fff;
}
.gal-b{
  width:26px; height:26px; flex:none; border-radius:50%;
  border:1px solid var(--line); background:#fff; color:var(--ink);
  font-size:1rem; line-height:1; cursor:pointer; transition:.18s;
}
.gal-b:hover{ border-color:var(--orange); color:var(--orange-d) }
.gal-dots{ display:flex; gap:6px; align-items:center }
.gal-dots button{
  width:7px; height:7px; padding:0; border:0; border-radius:50%;
  background:var(--line); cursor:pointer; transition:.2s;
}
.gal-dots button.on{ background:var(--orange); transform:scale(1.35) }

/* proporções por contexto */
.gal-moto .gal-ph{ aspect-ratio:4/3; padding:8px }
.gal-prod .gal-ph{ aspect-ratio:4/3; padding:10px }
.gal-car  .gal-ph{ aspect-ratio:16/10 }
.gal-car  .gal-ph img{ object-fit:cover; padding:0 }

.prod .ph-wrap{ position:relative; border-bottom:1px solid var(--line) }
.prod .ph-wrap .badge{ position:absolute; top:10px; left:10px; z-index:3 }
.spec-mat{ font-variant-numeric:tabular-nums; letter-spacing:.04em }

/* ---------- ECRÃ INTEIRO ---------- */
body.lb-aberto{ overflow:hidden }
.lb{
  position:fixed; inset:0; z-index:9000; display:none;
  align-items:center; justify-content:center; gap:10px; padding:20px;
  background:rgba(10,13,18,.93); backdrop-filter:blur(6px);
}
.lb.on{ display:flex }
.lb-fig{ margin:0; max-width:min(1100px,92vw); max-height:86vh; display:flex; flex-direction:column; gap:12px }
.lb-fig img{
  max-width:100%; max-height:78vh; object-fit:contain;
  border-radius:12px; background:#fff;
}
.lb-fig figcaption{
  display:flex; align-items:center; justify-content:center; gap:12px;
  color:#fff; font-size:.86rem; opacity:.9;
}
.lb-fig figcaption b{ font-family:var(--display); letter-spacing:.06em; color:var(--yellow) }
.lb-x,.lb-b{
  border:1px solid rgba(255,255,255,.28); background:rgba(255,255,255,.1);
  color:#fff; cursor:pointer; border-radius:50%; transition:.18s; flex:none;
}
.lb-x:hover,.lb-b:hover{ background:rgba(255,255,255,.22); border-color:#fff }
.lb-x{ position:absolute; top:18px; right:18px; width:42px; height:42px; font-size:1.5rem; line-height:1 }
.lb-b{ width:46px; height:46px; font-size:1.7rem; line-height:1 }

/* ============================================================
   ALUGUER DE AUTOMÓVEIS
   Serviço à parte, com fotografia de fundo e informação por cima.
   ============================================================ */
.car-section{ position:relative; overflow:hidden; padding:0 }
#carrosBox{ position:relative; padding:78px 0 82px }
.car-bg{
  position:absolute; inset:0; background-size:cover; background-position:center;
  transform:scale(1.02);
}
.car-veil{
  position:absolute; inset:0;
  background:linear-gradient(105deg,rgba(10,13,18,.93) 0%,rgba(10,13,18,.78) 48%,rgba(10,13,18,.55) 100%);
}
.car-in{ position:relative; z-index:2 }
.car-head .kicker{ color:var(--yellow) }
.car-head h2{ color:#fff }
.car-head h2::after{ background:var(--yellow) }
.car-head p{ color:rgba(255,255,255,.82) }
.car-ilha{
  display:inline-block; margin-left:8px; font-size:.72rem; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; color:var(--yellow);
  border:1px solid rgba(255,201,60,.45); border-radius:20px; padding:3px 11px;
}
.car-grid{
  display:grid; gap:24px; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);
  align-items:start;
}
.car-card{
  background:#fff; border-radius:var(--radius); overflow:hidden;
  box-shadow:0 22px 54px rgba(0,0,0,.36);
}
.car-card .body{ padding:20px 22px 22px }
.car-card h3{ margin:0 0 4px; font-size:1.35rem; font-weight:800 }
.car-card .cc{ font-size:.84rem; color:var(--slate); margin-bottom:12px }
.car-card p{ font-size:.88rem; line-height:1.55; color:var(--slate); margin:0 0 16px }
.car-card .p{ font-family:var(--display); font-weight:800; font-size:1.6rem; color:var(--orange-d); margin-bottom:16px; line-height:1 }
.car-card .p small{ font-family:var(--body); font-size:.82rem; font-weight:500; color:var(--slate) }

/* painel de preços em vidro escuro, sobre a fotografia */
.car-info{
  min-width:0; padding:22px 24px; border-radius:var(--radius);
  background:rgba(255,255,255,.07); backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.16);
}
.car-info .tbl-wrap{ border-radius:14px; overflow:hidden }
.car-info .price{ background:#fff }
.car-info .tbl-note{ color:rgba(255,255,255,.72) }
.car-info .legal-note{
  color:rgba(255,255,255,.62); font-size:.76rem;
  border-left:3px solid rgba(255,201,60,.5); padding-left:12px; margin-top:12px;
}

@media (max-width:900px){
  .car-grid{ grid-template-columns:1fr }
  #carrosBox{ padding:56px 0 60px }
  .car-veil{ background:linear-gradient(180deg,rgba(10,13,18,.9),rgba(10,13,18,.82)) }
}
@media (max-width:620px){
  .insurance-band{ padding:18px 18px; gap:14px }
  .rev-card{ padding:22px 20px 18px }
  .rev-card blockquote{ font-size:1.06rem }
  .car-info{ padding:16px 14px }
  .lb{ padding:10px }
  .lb-b{ width:38px; height:38px; font-size:1.4rem }
  .lb-x{ top:10px; right:10px; width:36px; height:36px }
}

/* ---------- MARCADOR DE LUGAR, SEM FOTOGRAFIA ----------
   O cartão não pode desaparecer por falta de foto, senão abre um buraco
   no desenho. Mostra a silhueta do veículo e a nota. */
.gal-vazia{ display:block }
.gal-vazia .gal-ph{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
  background:repeating-linear-gradient(135deg,#F4F6F8 0 12px,#EEF1F4 12px 24px);
  cursor:default;
}
.gal-sil{ width:64px; height:64px; fill:none; stroke:#B6C0CB; stroke-width:1.3;
  stroke-linecap:round; stroke-linejoin:round }
.gal-sem{ font-size:.74rem; font-weight:600; letter-spacing:.1em;
  text-transform:uppercase; color:#93A0AE }

/* ---------- FICHA TÉCNICA DO AUTOMÓVEL ---------- */
.car-ficha{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(88px,1fr));
  gap:1px; margin:0 0 18px; background:var(--line);
  border:1px solid var(--line); border-radius:12px; overflow:hidden;
}
.car-ficha .fx{ background:#fff; padding:10px 12px }
.car-ficha dt{ font-size:.66rem; font-weight:700; letter-spacing:.09em;
  text-transform:uppercase; color:var(--slate); margin-bottom:3px }
.car-ficha dd{ margin:0; font-family:var(--display); font-weight:700;
  font-size:1.02rem; color:var(--ink); line-height:1.15 }

.car-equipa{ margin-bottom:16px }
.car-equipa h4{ font-size:.7rem; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:var(--slate); margin:0 0 8px }
.car-equipa ul{ list-style:none; margin:0; padding:0; display:grid; gap:6px }
.car-equipa li{ position:relative; padding-left:20px; font-size:.86rem; color:var(--ink) }
.car-equipa li::before{
  content:''; position:absolute; left:2px; top:.42em; width:9px; height:5px;
  border-left:2px solid var(--orange); border-bottom:2px solid var(--orange);
  transform:rotate(-45deg);
}
.car-nota{
  font-size:.82rem !important; line-height:1.5; color:var(--slate) !important;
  background:rgba(255,107,26,.07); border-left:3px solid var(--orange);
  border-radius:0 10px 10px 0; padding:10px 14px; margin:0 0 18px !important;
}
.car-foot{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  flex-wrap:wrap; padding-top:16px; border-top:1px solid var(--line);
}
.car-foot .p{ margin:0 }

/* preço do usado em escudos, por baixo do valor em euros */
.prod .p-cve{ display:block; font-family:var(--body); font-size:.78rem;
  font-weight:500; color:var(--slate); margin-top:2px }

/* origem da avaliação: Google ou GetYourGuide */
.rev-fonte{
  display:inline-block; margin-left:4px; font-size:.72rem; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase; color:var(--orange-d);
  border-bottom:1px solid rgba(255,107,26,.4);
}
a.rev-fonte:hover{ color:var(--ink); border-bottom-color:var(--ink) }
