/* =========================================================
   Lamp Transportes — folha de estilo do site
   Paleta extraída do logo: #1A75BB letras · #639FD0 seta
   · #6A6B6F "TRANSPORTES LTDA."
   As cores podem ser trocadas no painel (Identidade visual).
   ========================================================= */

:root{
  --brand:#1A75BB; --brand-soft:#639FD0; --ink:#26282C; --ink-soft:#6A6B6F;

  --ground:#FFFFFF; --tint:#F2F7FC; --tint-2:#E3EEF8; --surface:#FFFFFF;
  --brand-deep:#125A91; --brand-pale:#A9CBE8; --brand-wash:#EAF3FA;
  --ink-faint:#93989E;
  --line:#DCE6EF; --line-strong:#C2D3E2;
  --band:#125A91; --band-ink:#FFFFFF; --band-soft:#CFE4F4;
  --band-line:rgba(255,255,255,.26); --band-veil:rgba(15,79,128,.90);
  --ok:#1B7F4B; --warn:#9A6212; --danger:#B3261E;
  --shadow:0 1px 2px rgba(38,40,44,.03), 0 14px 34px -22px rgba(18,90,145,.45);
  --shadow-lg:0 4px 10px rgba(38,40,44,.06), 0 26px 60px -30px rgba(18,90,145,.55);
  --radius:4px;
  --photo:1;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:86px;}
body{margin:0;background:var(--ground);color:var(--ink);
  font-family:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;}
h1,h2,h3,h4{font-family:"Archivo",system-ui,sans-serif;margin:0;text-wrap:balance;
  letter-spacing:-.02em;line-height:1.08;font-weight:700;}
p{margin:0;}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px;}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

.wrap{width:min(1180px,calc(100% - 44px));margin-inline:auto;}
.sec{padding:100px 0;}
.sec-sm{padding:72px 0;}
.sec-line{border-top:1px solid var(--line);}
.tinted{background:var(--tint);}

/* revelação ao rolar */
.rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease;}
.rv.in{opacity:1;transform:none;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .rv{opacity:1;transform:none;transition:none;}
}

.eyebrow{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:11.5px;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;color:var(--brand);
  display:flex;align-items:center;gap:10px;margin-bottom:18px;}
.eyebrow::before{content:"";width:18px;height:2px;background:var(--brand-soft);flex:none;}
.eyebrow-on-band{color:var(--band-soft);}
.eyebrow-on-band::before{background:var(--band-soft);}

.h2{font-size:clamp(30px,4.1vw,48px);}
.lede{color:var(--ink-soft);font-size:17.5px;max-width:62ch;margin-top:18px;}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;font-size:14.5px;font-weight:600;
  padding:13px 22px;border-radius:var(--radius);border:1px solid transparent;
  text-decoration:none;cursor:pointer;font-family:inherit;
  transition:transform .16s ease,background .16s ease,border-color .16s ease,color .16s ease;}
.btn:hover{transform:translateY(-1px);}
.btn-solid{background:var(--brand);color:#FFF;}
.btn-solid:hover{background:var(--brand-deep);}
.btn-ghost{border-color:var(--line-strong);color:var(--ink);background:transparent;}
.btn-ghost:hover{border-color:var(--brand);color:var(--brand);}
.btn-on-band{background:#FFF;color:#125A91;}
.btn-on-band:hover{background:var(--band-soft);}
.btn-wa{background:#25D366;color:#06301A;}
.btn-wa:hover{background:#1EB558;}
.btn .arw{transition:transform .16s ease;}
.btn:hover .arw{transform:translateX(3px);}

/* ---------- barra superior ---------- */
.topbar{background:var(--tint-2);color:var(--ink-soft);
  font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:11.5px;
  letter-spacing:.09em;text-transform:uppercase;border-bottom:1px solid var(--line);}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:38px;}
.topbar b{color:var(--brand-deep);font-weight:600;}
.topbar a{text-decoration:none;}
.topbar a:hover{color:var(--brand);}
.topbar-r{display:flex;gap:24px;align-items:center;}
@media(max-width:820px){.topbar-l,.topbar-r span.hide-sm{display:none;}}

/* ---------- cabeçalho ---------- */
header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.93);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px;}
.logo{display:inline-flex;align-items:center;flex:0 0 auto;line-height:0;}
.logo img{height:34px;width:auto;max-width:none;object-fit:contain;flex:none;}
nav.main{display:flex;gap:28px;}
nav.main a{text-decoration:none;font-size:14.5px;font-weight:500;color:var(--ink-soft);
  padding:4px 0;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;}
nav.main a:hover,nav.main a.on{color:var(--brand);border-color:var(--brand-soft);}
.burger{display:none;background:none;border:1px solid var(--line-strong);border-radius:var(--radius);
  width:42px;height:38px;cursor:pointer;align-items:center;justify-content:center;color:var(--ink);}
@media(max-width:1040px){
  nav.main{position:fixed;inset:0 0 auto 0;top:0;background:var(--surface);flex-direction:column;
    gap:0;padding:80px 24px 28px;box-shadow:var(--shadow-lg);transform:translateY(-102%);
    transition:transform .3s ease;z-index:70;}
  nav.main.open{transform:none;}
  nav.main a{padding:14px 0;border-bottom:1px solid var(--line);font-size:16px;}
  .burger{display:inline-flex;position:relative;z-index:80;}
  header .btn-solid{display:none;}
}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;background:var(--tint);border-bottom:1px solid var(--line);}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    repeating-linear-gradient(107deg, rgba(26,117,187,.05) 0 1px, transparent 1px 84px),
    radial-gradient(70% 70% at 78% 34%, rgba(99,159,208,.34), transparent 62%);}
.hero .wrap{position:relative;z-index:2;padding:78px 0 0;}
.hero-top{display:grid;grid-template-columns:1.02fr .98fr;gap:40px;align-items:center;}
.hero h1{font-size:clamp(38px,5.2vw,64px);font-stretch:108%;max-width:14ch;margin-top:20px;}
.hero h1 em{font-style:normal;color:var(--brand);}
.hero-lede{color:var(--ink-soft);font-size:17.5px;max-width:50ch;margin-top:22px;}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;}
.hero-truck{position:relative;}
/* Foto real da frota emoldurada. Se um dia entrar um PNG recortado com fundo
   transparente, troque object-fit por contain e remova a sombra/borda. */
.hero-truck img{width:114%;max-width:none;margin-left:-3%;
  aspect-ratio:3/2;object-fit:cover;border-radius:6px;
  box-shadow:0 24px 54px -24px rgba(12,55,90,.50), 0 2px 8px rgba(12,55,90,.12);}
.hero-truck::after{content:"";position:absolute;right:-13px;bottom:-13px;
  width:104px;height:104px;pointer-events:none;
  border-bottom:3px solid var(--brand-soft);border-right:3px solid var(--brand-soft);}
@media(max-width:900px){
  .hero-top{grid-template-columns:1fr;gap:8px;}
  .hero-truck{order:-1;}
  .hero-truck img{width:100%;margin-left:0;}
  .hero-truck::after{display:none;}
  .hero h1{max-width:none;}
}
.hero-foot{margin-top:52px;border-top:1px solid var(--line-strong);
  display:grid;grid-template-columns:repeat(4,1fr);}
.hero-foot > div{padding:24px 24px 30px;border-right:1px solid var(--line);}
.hero-foot > div:first-child{padding-left:0;}
.hero-foot > div:last-child{border-right:0;}
.hf-n{font-family:"Archivo",sans-serif;font-weight:700;font-size:36px;font-stretch:110%;
  color:var(--brand);line-height:1;font-variant-numeric:tabular-nums;}
.hf-l{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-soft);margin-top:9px;}
@media(max-width:820px){
  .hero .wrap{padding-top:46px;}
  .hero-foot{grid-template-columns:1fr 1fr;}
  .hero-foot > div{border-bottom:1px solid var(--line);padding-left:0;padding-right:16px;}
  .hero-foot > div:nth-child(2n){border-right:0;}
}

/* cabeçalho de página interna */
.pagehead{background:var(--tint);border-bottom:1px solid var(--line);padding:66px 0 58px;position:relative;}
.pagehead::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(107deg, rgba(26,117,187,.05) 0 1px, transparent 1px 84px);}
.pagehead .wrap{position:relative;z-index:2;}
.crumb{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-faint);margin-bottom:14px;}
.crumb a{text-decoration:none;color:var(--brand);}

/* ---------- ticker ---------- */
.ticker{background:var(--brand-wash);border-bottom:1px solid var(--line);overflow:hidden;padding:11px 0;}
.ticker-in{display:flex;gap:44px;width:max-content;animation:slide 46s linear infinite;
  font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:11.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--brand-deep);}
.ticker-in i{font-style:normal;color:var(--brand-soft);padding:0 4px;}
@keyframes slide{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){.ticker-in{animation:none;}}

/* ---------- quem somos ---------- */
.about{display:grid;grid-template-columns:.92fr 1.08fr;gap:60px;align-items:center;}
@media(max-width:900px){.about{grid-template-columns:1fr;gap:36px;}}
.about-photo{position:relative;}
.about-photo img{border-radius:var(--radius);opacity:var(--photo);aspect-ratio:4/3;
  object-fit:cover;width:100%;}
.about-photo::before{content:"";position:absolute;inset:-14px -14px auto auto;width:120px;height:120px;
  border-top:3px solid var(--brand-soft);border-right:3px solid var(--brand-soft);}
.about-badge{position:absolute;left:-18px;bottom:-22px;background:var(--brand);color:#FFF;
  padding:18px 22px;border-radius:var(--radius);box-shadow:var(--shadow);}
.about-badge b{font-family:"Archivo",sans-serif;font-size:30px;font-stretch:110%;display:block;line-height:1;}
.about-badge span{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:10.5px;
  letter-spacing:.14em;text-transform:uppercase;opacity:.88;}
@media(max-width:560px){.about-badge{left:0;bottom:-18px;padding:14px 18px;}}

/* ---------- faixa de foto ---------- */
.strip{position:relative;overflow:hidden;border-block:1px solid var(--line);}
.strip img{width:100%;height:340px;object-fit:cover;object-position:center 58%;opacity:var(--photo);}
.strip-veil{position:absolute;inset:0;
  background:linear-gradient(92deg, var(--band-veil) 0%, rgba(15,79,128,.66) 46%, transparent 78%);}
.strip-txt{position:absolute;inset:0;display:flex;align-items:center;}
.strip-txt h3{color:#FFF;font-size:clamp(22px,3vw,36px);max-width:19ch;font-stretch:106%;}
.strip-txt p{color:var(--band-soft);margin-top:12px;max-width:44ch;font-size:15.6px;}
@media(max-width:700px){
  .strip img{height:300px;}
  .strip-veil{background:linear-gradient(180deg, var(--band-veil) 0%, rgba(15,79,128,.86) 100%);}
}

/* ---------- cards de serviço ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:50px;}
@media(max-width:900px){.cards{grid-template-columns:1fr;}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:0 28px 32px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px;
  border-top:3px solid var(--brand-soft);text-decoration:none;color:inherit;
  transition:border-top-color .18s ease,transform .18s ease;}
.card:hover{border-top-color:var(--brand);transform:translateY(-3px);}
.card-tag{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--brand);margin-top:28px;}
.card h3{font-size:21px;}
.card p{color:var(--ink-soft);font-size:15.3px;}
.card ul{margin:6px 0 0;padding-left:0;list-style:none;display:grid;gap:7px;}
.card li{font-size:14.4px;color:var(--ink-soft);padding-left:18px;position:relative;}
.card li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:2px;background:var(--brand-soft);}
.card .more{margin-top:auto;padding-top:14px;font-size:13.5px;font-weight:600;color:var(--brand);}

/* ---------- equipamentos ---------- */
.rig{display:grid;grid-template-columns:repeat(4,1fr);margin-top:46px;
  border:1px solid var(--line);background:var(--surface);}
.rig > div{padding:30px 26px 34px;border-right:1px solid var(--line);}
.rig > div:last-child{border-right:0;}
.rig h3{font-size:18.5px;margin-bottom:8px;}
.rig p{font-size:14.6px;color:var(--ink-soft);}
.rig svg{margin-bottom:18px;color:var(--brand);}
.rig img{margin-bottom:18px;border-radius:var(--radius);aspect-ratio:16/10;object-fit:cover;}
@media(max-width:900px){
  .rig{grid-template-columns:1fr 1fr;}
  .rig > div:nth-child(2n){border-right:0;}
  .rig > div:nth-child(-n+2){border-bottom:1px solid var(--line);}
}
@media(max-width:520px){
  .rig{grid-template-columns:1fr;}
  .rig > div{border-right:0;border-bottom:1px solid var(--line);}
  .rig > div:last-child{border-bottom:0;}
}

/* ---------- rotas ---------- */
.routes-wrap{display:grid;grid-template-columns:1.35fr .65fr;gap:52px;align-items:start;margin-top:42px;}
@media(max-width:900px){.routes-wrap{grid-template-columns:1fr;gap:34px;}}
.routes{border-top:1px solid var(--line-strong);}
.route{display:grid;grid-template-columns:104px 1fr;gap:20px;align-items:baseline;
  padding:22px 0;border-bottom:1px solid var(--line);transition:background .18s ease;}
.route:hover{background:var(--brand-wash);}
.route-code{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:13px;font-weight:600;
  letter-spacing:.08em;color:var(--brand);}
.route-name{font-family:"Archivo",sans-serif;font-weight:600;font-size:19px;font-stretch:105%;}
.route-desc{font-size:14.4px;color:var(--ink-soft);margin-top:3px;}
.route-meta{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-faint);margin-top:7px;}
.routes-photo{margin:0;}
.routes-photo img{border-radius:var(--radius);width:100%;aspect-ratio:3/4;object-fit:cover;opacity:var(--photo);}
.routes-photo figcaption{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:11px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-top:12px;}
@media(max-width:560px){.route{grid-template-columns:1fr;gap:4px;}}

/* ---------- etapas ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;margin-top:56px;}
.step{position:relative;padding-top:26px;border-top:2px solid var(--line-strong);}
.step:first-child{border-color:var(--brand);}
.step-n{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:12px;font-weight:600;
  letter-spacing:.14em;color:var(--brand);position:absolute;top:-24px;left:0;}
.step h3{font-size:18px;margin-bottom:9px;}
.step p{font-size:14.6px;color:var(--ink-soft);}
@media(max-width:820px){.steps{grid-template-columns:1fr 1fr;gap:30px 24px;}}
@media(max-width:520px){.steps{grid-template-columns:1fr;}}

/* ---------- diferenciais ---------- */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);margin-top:48px;}
.why-grid > div{background:var(--surface);padding:32px 28px 36px;}
.why-grid h3{font-size:17.5px;margin-bottom:9px;}
.why-grid p{font-size:14.6px;color:var(--ink-soft);}
.why-ico{width:36px;height:36px;border-radius:var(--radius);background:var(--brand-wash);
  color:var(--brand);display:grid;place-items:center;margin-bottom:16px;}
@media(max-width:900px){.why-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.why-grid{grid-template-columns:1fr;}}

/* ---------- Instagram ---------- */
.ig-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;}
.ig-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:40px;}
@media(max-width:1000px){.ig-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:560px){.ig-grid{grid-template-columns:repeat(2,1fr);}}
.ig-item{position:relative;display:block;border-radius:var(--radius);overflow:hidden;
  background:var(--tint-2);aspect-ratio:1;text-decoration:none;}
.ig-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.ig-item:hover img{transform:scale(1.06);}
.ig-item .ig-cap{display:block;position:absolute;inset:auto 0 0 0;padding:26px 12px 10px;color:#FFF;
  font-size:12.5px;line-height:1.4;opacity:0;transition:opacity .25s ease;
  background:linear-gradient(180deg,transparent,rgba(10,30,48,.86));}
.ig-item:hover .ig-cap{opacity:1;}
.ig-empty{border:1px dashed var(--line-strong);border-radius:var(--radius);padding:34px;
  text-align:center;color:var(--ink-soft);font-size:15px;margin-top:32px;}

/* ---------- formulário / cotação ---------- */
.quote{position:relative;color:var(--band-ink);overflow:hidden;background:var(--band);}
.quote-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;}
.quote-veil{position:absolute;inset:0;background:var(--band-veil);}
.quote .wrap{position:relative;z-index:2;}
.quote .h2{color:var(--band-ink);}
.quote-lede{color:var(--band-soft);font-size:17px;max-width:44ch;margin-top:18px;}
.quote-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start;}
@media(max-width:900px){.quote-grid{grid-template-columns:1fr;gap:40px;}}
.qcontact{margin-top:34px;display:grid;gap:18px;}
.qc{display:flex;gap:14px;align-items:flex-start;}
.qc svg{color:var(--band-soft);flex:none;margin-top:3px;}
.qc-l{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:10.5px;letter-spacing:.15em;
  text-transform:uppercase;color:var(--band-soft);}
.qc-v{font-size:16px;font-weight:500;}
.qc-v a{text-decoration:none;}
.qc-v a:hover{text-decoration:underline;}

form.cotacao{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.f-full{grid-column:1/-1;}
form.cotacao label{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:10.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--band-soft);display:block;margin-bottom:7px;}
form.cotacao input,form.cotacao select,form.cotacao textarea{
  width:100%;background:rgba(255,255,255,.1);color:var(--band-ink);
  border:1px solid var(--band-line);border-radius:var(--radius);padding:12px 13px;
  font-family:inherit;font-size:15px;transition:border-color .15s ease,background .15s ease;}
form.cotacao input::placeholder,form.cotacao textarea::placeholder{color:var(--band-soft);opacity:.72;}
form.cotacao input:focus,form.cotacao select:focus,form.cotacao textarea:focus{
  border-color:#FFF;background:rgba(255,255,255,.18);outline:none;}
form.cotacao select option{background:#125A91;color:#FFF;}
form.cotacao textarea{resize:vertical;min-height:88px;}
.f-note{font-size:12.8px;color:var(--band-soft);grid-column:1/-1;}
.f-hp{position:absolute;left:-9999px;}
@media(max-width:560px){form.cotacao{grid-template-columns:1fr;}}
.alert{grid-column:1/-1;border-radius:var(--radius);padding:14px 16px;font-size:14.6px;}
.alert-ok{border:1px solid #FFF;color:var(--band-ink);background:rgba(255,255,255,.18);}
.alert-err{border:1px solid #FFC9C4;color:#FFE7E5;background:rgba(179,38,30,.32);}

/* ---------- conteúdo de texto (páginas) ---------- */
.prose{max-width:70ch;}
.prose p{margin-bottom:18px;color:var(--ink-soft);font-size:16.6px;}
.prose h3{font-size:21px;margin:34px 0 12px;color:var(--ink);}
.prose strong{color:var(--ink);}
.prose ul{padding-left:20px;color:var(--ink-soft);}

/* ---------- contato ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:36px;}}
.cbox{border:1px solid var(--line);border-radius:var(--radius);padding:26px;background:var(--surface);
  display:grid;gap:18px;}
.cbox .qc svg{color:var(--brand);}
.cbox .qc-l{color:var(--ink-faint);}
.map{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-top:22px;}
.map iframe{display:block;width:100%;height:320px;border:0;}

/* ---------- rodapé ---------- */
footer{background:var(--tint);color:var(--ink-soft);border-top:1px solid var(--line);padding:62px 0 0;}
.f-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:44px;padding-bottom:50px;}
@media(max-width:820px){.f-grid{grid-template-columns:1fr 1fr;gap:36px;}}
@media(max-width:520px){.f-grid{grid-template-columns:1fr;}}
footer h4{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink);font-weight:500;margin-bottom:16px;}
.f-links{display:grid;gap:9px;}
.f-links a,.f-links span{text-decoration:none;font-size:14.5px;color:var(--ink-soft);transition:color .15s;}
.f-links a:hover{color:var(--brand);}
.f-logo img{height:42px;}
.f-about{font-size:14.6px;max-width:34ch;margin-top:20px;}
.f-social{display:flex;gap:10px;margin-top:20px;}
.f-social a{width:38px;height:38px;border:1px solid var(--line-strong);border-radius:var(--radius);
  display:grid;place-items:center;color:var(--ink-soft);transition:all .16s ease;}
.f-social a:hover{border-color:var(--brand);color:var(--brand);transform:translateY(-2px);}
.f-bar{border-top:1px solid var(--line);padding:20px 0;display:flex;justify-content:space-between;
  gap:16px;flex-wrap:wrap;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:11px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);}
.f-bar a{text-decoration:none;}
.f-bar a:hover{color:var(--brand);}

/* ---------- botões flutuantes ---------- */
.floats{position:fixed;right:20px;bottom:20px;z-index:90;display:flex;flex-direction:column;
  gap:12px;align-items:flex-end;}
.fab{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;border:none;
  cursor:pointer;box-shadow:var(--shadow-lg);color:#FFF;text-decoration:none;
  transition:transform .18s ease,box-shadow .18s ease;}
.fab:hover{transform:scale(1.06);}
.fab-wa{background:#25D366;color:#0A2E1A;}
.fab-chat{background:var(--brand);}
.fab-badge{position:absolute;top:-3px;right:-3px;min-width:20px;height:20px;border-radius:10px;
  background:#E23D28;color:#FFF;font-size:11px;font-weight:700;display:none;
  place-items:center;padding:0 5px;font-family:"IBM Plex Sans",sans-serif;}
.fab-badge.on{display:grid;}
.fab-wrap{position:relative;}
.fab-tip{position:absolute;right:66px;top:50%;transform:translateY(-50%);white-space:nowrap;
  background:var(--ink);color:#FFF;font-size:13px;padding:8px 12px;border-radius:var(--radius);
  opacity:0;pointer-events:none;transition:opacity .2s ease;}
.fab-wrap:hover .fab-tip{opacity:1;}
@media(max-width:560px){.fab-tip{display:none;}.floats{right:14px;bottom:14px;}}

/* ---------- chat ---------- */
.chatbox{position:fixed;right:20px;bottom:20px;z-index:95;width:min(374px,calc(100vw - 28px));
  background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-lg);
  display:none;flex-direction:column;overflow:hidden;max-height:min(600px,calc(100vh - 40px));}
.chatbox.open{display:flex;}
.chat-head{background:var(--brand);color:#FFF;padding:14px 16px;display:flex;
  align-items:center;justify-content:space-between;gap:12px;}
.chat-head b{font-family:"Archivo",sans-serif;font-size:15.5px;display:block;}
.chat-head small{font-size:11.5px;opacity:.9;display:flex;align-items:center;gap:6px;}
.chat-dot{width:7px;height:7px;border-radius:50%;background:#4ADE80;display:inline-block;}
.chat-dot.off{background:#FBBF24;}
.chat-x{background:none;border:none;color:#FFF;cursor:pointer;font-size:22px;line-height:1;padding:0 2px;}
.chat-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;
  background:var(--tint);min-height:220px;}
.msg{max-width:82%;padding:10px 13px;border-radius:10px;font-size:14.5px;line-height:1.5;
  white-space:pre-wrap;word-break:break-word;}
.msg.bot,.msg.admin{background:var(--surface);border:1px solid var(--line);align-self:flex-start;
  border-bottom-left-radius:3px;}
.msg.user{background:var(--brand);color:#FFF;align-self:flex-end;border-bottom-right-radius:3px;}
.msg-time{font-size:10.5px;color:var(--ink-faint);margin-top:3px;}
.msg.user .msg-time{color:rgba(255,255,255,.75);}
.chat-form{border-top:1px solid var(--line);padding:12px;display:grid;gap:8px;background:var(--surface);}
.chat-form input,.chat-form textarea{width:100%;border:1px solid var(--line-strong);border-radius:var(--radius);
  padding:10px 12px;font-family:inherit;font-size:14.5px;color:var(--ink);background:var(--ground);}
.chat-form textarea{resize:none;min-height:44px;max-height:110px;}
.chat-form input:focus,.chat-form textarea:focus{outline:none;border-color:var(--brand);}
.chat-row{display:flex;gap:8px;}
.chat-send{background:var(--brand);color:#FFF;border:none;border-radius:var(--radius);
  width:44px;flex:none;cursor:pointer;display:grid;place-items:center;}
.chat-send:hover{background:var(--brand-deep);}
.chat-note{font-size:11.5px;color:var(--ink-faint);text-align:center;padding:0 12px 10px;background:var(--surface);}
@media(max-width:560px){.chatbox{right:0;bottom:0;width:100vw;max-height:100vh;height:100dvh;border-radius:0;}}

/* ---------- cookies / LGPD ---------- */
.cookie{position:fixed;left:20px;bottom:20px;z-index:88;max-width:390px;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);
  padding:18px 20px;display:none;}
.cookie.on{display:block;}
.cookie p{font-size:13.6px;color:var(--ink-soft);}
.cookie div{display:flex;gap:10px;margin-top:14px;}
@media(max-width:560px){.cookie{left:14px;right:14px;bottom:86px;max-width:none;}}
