/* Táxi Criciúma Executivo: arquétipo "painel de viagem" (LEITURA.md). N4.
   Grafite e amarelo do site atual (#303030 / #FFCF23) como sinalização de aeroporto; Overpass (letra de placa de estrada),
   Overpass Mono nos códigos e horários, Manrope (fonte do site atual) no texto. */
:root {
  --fundo: #f4f3ef;
  --tinta: #1b1b1a;
  --suave: #5b5a55;
  --marca: #ffcf23;
  --marca-2: #2b2b2b;
  --linha: #dddbd3;
  --cartao: #ffffff;
  --painel: #1c1c1c;
  --painel-2: #2b2b2b;
  --painel-linha: #3a3a3a;
  --verde: #4ade80;
  --ambar: #ffcf23;
  --wa: var(--marca); /* crítica 2: sem o verde do WhatsApp; botões e barra herdam a marca */
  --fonte-titulo: "Overpass", "Manrope", system-ui, sans-serif;
  --fonte-texto: "Manrope", system-ui, sans-serif;
  --mono: "Overpass Mono", ui-monospace, Menlo, Consolas, monospace;
  --raio: 10px;
  --oferta-botao: #ffcf23;
  --oferta-tinta: #1b1b1a;
}
.mono { font-family: var(--mono); letter-spacing: .04em; }
h1, h2, h3 { font-weight: 900; letter-spacing: -.015em; }
h2 { font-size: clamp(2rem, 4.2vw, 3.4rem); line-height: 1.02; }

/* Botões: amarelo de letreiro com tinta escura; WhatsApp também na marca */
.botao { --b-tinta: #1b1b1a; font-family: var(--fonte-titulo); font-weight: 800; letter-spacing: .01em; border-radius: 8px; }
.botao--wa { --b-fundo: var(--wa); --b-tinta: #1b1b1a; }
.botao--grande { padding: 1.1em 1.7em; font-size: 1.05rem; }
.botao--linha { --b-fundo: transparent; --b-tinta: var(--tinta); border: 2px solid var(--tinta); }
.botao--linha:hover { background: var(--tinta); color: var(--marca); box-shadow: none; }
.botao--claro { --b-tinta: #f4f3ef; border-color: #f4f3ef; }
.botao--claro:hover { background: #f4f3ef; color: var(--painel); }
.link-seta { display: inline-flex; gap: .5em; align-items: center; font-weight: 700; border-bottom: 2px solid var(--marca); padding-bottom: 2px; }
.link-seta svg { width: 1.1em; height: 1.1em; transition: transform .25s; }
.link-seta:hover svg { transform: translateX(4px); }

/* Pictograma do próprio site em máscara (pinta na cor do texto) */
.picto { display: inline-block; width: 1.6em; height: 1.6em; background: currentColor; -webkit-mask: var(--p) center / contain no-repeat; mask: var(--p) center / contain no-repeat; flex: none; }

/* Rótulo de seção como letreiro pequeno */
.rotulo { display: inline-flex; align-items: center; gap: .6em; margin-bottom: 14px; padding: 6px 10px; background: var(--painel); color: var(--marca); font-size: .8rem; font-weight: 700; text-transform: uppercase; border-radius: 4px; }
.rotulo span { color: #cfcfcf; font-weight: 500; }
.rotulo svg { width: 1.1em; height: 1.1em; }
.cabeca { max-width: 760px; margin-bottom: clamp(28px, 4vw, 48px); }
.cabeca > p:not(.rotulo) { margin-top: 14px; color: var(--suave); font-size: 1.08rem; max-width: 60ch; }

/* ===== Cabeçalho escuro ===== */
.topo { position: sticky; top: 0; z-index: 50; background: var(--painel); color: #f4f3ef; border-bottom: 3px solid var(--marca); }
.topo__linha { display: flex; align-items: center; gap: 24px; min-height: 68px; }
.topo__logo img { height: 38px; width: auto; }
.topo__menu { display: flex; gap: 4px; margin-left: auto; }
.topo__menu a { padding: 10px 12px; font-family: var(--fonte-titulo); font-weight: 600; font-size: .95rem; border-radius: 6px; }
.topo__menu a:hover { background: var(--painel-2); color: var(--marca); }
.topo__cta { padding: .7em 1.1em; }

/* ===== Hero: título + pedido de corrida ===== */
.hero { background: var(--painel); color: #f4f3ef; padding-top: clamp(36px, 6vw, 80px); }
.hero__grade { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(28px, 5vw, 72px); align-items: start; padding-bottom: clamp(36px, 5vw, 64px); }
.letreiro { display: inline-flex; flex-wrap: wrap; gap: 0; margin-bottom: 22px; font-size: .82rem; font-weight: 700; text-transform: uppercase; border: 1.5px solid var(--marca); border-radius: 4px; overflow: hidden; }
.letreiro span { padding: 6px 12px; color: var(--marca); }
.letreiro span + span { border-left: 1.5px solid var(--marca); }
.letreiro span:first-child { background: var(--marca); color: var(--painel); }
.hero h1 { font-size: clamp(2.6rem, 6.4vw, 5.6rem); line-height: .98; letter-spacing: -.025em; }
.hero__sub { margin-top: 22px; font-size: clamp(1.05rem, 1.3vw, 1.2rem); color: #d6d5d0; max-width: 52ch; }
.hero__provas { display: flex; flex-wrap: wrap; gap: 10px 26px; margin: 26px 0 22px; padding: 0; list-style: none; font-size: .98rem; }
.hero__provas li { display: flex; align-items: center; }
.hero__provas a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; }
.hero__provas b { font-family: var(--fonte-titulo); font-size: 1.5rem; color: var(--marca); }
.hero__provas li + li { padding-left: 26px; border-left: 1px solid var(--painel-linha); color: #d6d5d0; }
.hero .link-seta { color: #f4f3ef; }
.estrelas { display: inline-flex; gap: 2px; color: var(--marca); }
.estrelas svg { width: 16px; height: 16px; }

/* Pedido de corrida (cartão de app) */
.pedido { background: var(--cartao); color: var(--tinta); border-radius: 16px; padding: 20px; box-shadow: 0 30px 80px -30px rgb(0 0 0 / .7); }
.pedido__topo { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; font-size: .82rem; text-transform: uppercase; font-weight: 700; }
.pedido__online, .app__online { display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: .78rem; color: #1a7f45; }
.pedido__online i, .app__online i { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; }
.rota { position: relative; display: grid; gap: 8px; }
.rota::before { content: ""; position: absolute; left: 21px; top: 26px; bottom: 26px; border-left: 2px dashed #b9b7ae; }
.rota__ponto { position: relative; display: grid; grid-template-columns: 44px 1fr; align-items: center; min-height: 52px; background: #f1f0eb; border-radius: 10px; }
.rota__ponto::before { content: ""; justify-self: center; grid-row: 1 / 3; width: 12px; height: 12px; border-radius: 50%; background: var(--painel); position: relative; z-index: 1; }
.rota__ponto--para::before { border-radius: 2px; background: var(--marca); box-shadow: 0 0 0 2px var(--painel); }
.rota__rotulo { grid-column: 2; font-family: var(--mono); font-size: .7rem; text-transform: uppercase; color: var(--suave); padding-top: 7px; }
.rota__ponto input { grid-column: 2; width: 100%; border: 0; background: transparent; padding: 0 12px 8px 0; font-weight: 700; font-size: 1.02rem; outline: none; }
.rota__ponto:focus-within { box-shadow: inset 0 0 0 2px var(--tinta); }
.chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 4px; }
.chip { min-height: 40px; padding: 0 12px; border: 1.5px solid var(--linha); border-radius: 8px; background: #fff; font-family: var(--mono); font-weight: 700; font-size: .85rem; cursor: pointer; transition: background-color .2s, border-color .2s; }
.chip:hover { border-color: var(--tinta); }
.chip[aria-pressed="true"] { background: var(--painel); color: var(--marca); border-color: var(--painel); }
.opcoes { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; margin: 14px 0 0; padding: 0; border: 0; }
.opcoes--3 { grid-template-columns: repeat(3, 1fr); }
.opcoes legend { grid-column: 1 / -1; margin-bottom: 6px; font-family: var(--mono); font-size: .72rem; text-transform: uppercase; color: var(--suave); }
.opcao { position: relative; cursor: pointer; }
.opcao input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.opcao span { display: flex; flex-direction: column; justify-content: center; align-items: center; min-height: 48px; padding: 6px; border: 1.5px solid var(--linha); border-radius: 8px; font-weight: 700; line-height: 1.15; text-align: center; }
.opcao small { font-weight: 500; font-size: .75rem; color: var(--suave); }
.opcao input:checked + span { border-color: var(--painel); background: var(--painel); color: #fff; }
.opcao input:checked + span small { color: var(--marca); }
.opcao input:focus-visible + span { outline: 2px solid var(--tinta); outline-offset: 2px; }
.pedido__agenda { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: 8px; }
.pedido__agenda label { display: grid; gap: 2px; font-family: var(--mono); font-size: .72rem; text-transform: uppercase; color: var(--suave); }
.pedido__agenda input { min-height: 46px; padding: 0 10px; border: 1.5px solid var(--linha); border-radius: 8px; font-family: var(--fonte-texto); font-size: 1rem; color: var(--tinta); text-transform: none; background: #fff; }
.pedido .botao--wa { width: 100%; margin-top: 16px; min-height: 54px; font-size: 1.05rem; }
.pedido__nota { margin-top: 10px; font-size: .82rem; color: var(--suave); text-align: center; }
.pedido.falta-destino .rota__ponto--para { box-shadow: inset 0 0 0 2px #d33; }

/* Faixa de foto sob o hero */
.hero__faixa { position: relative; margin: 0; }
.hero__moldura { height: clamp(260px, 42vw, 560px); overflow: hidden; }
.hero__moldura img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 68%; }
.hero__faixa figcaption { position: absolute; left: clamp(16px, 4vw, 48px); bottom: 18px; padding: 8px 12px; background: var(--painel); color: var(--marca); font-size: .8rem; font-weight: 700; text-transform: uppercase; border-radius: 4px; }
.hero__faixa figcaption span { color: #9a9a9a; }

/* ===== Painel de partidas ===== */
.destinos { padding: clamp(64px, 9vw, 120px) 0; }
.painel { background: var(--painel); color: #ecebe6; border-radius: 14px; padding: 10px clamp(10px, 2vw, 22px) 18px; box-shadow: 0 30px 70px -40px rgb(0 0 0 / .6); }
.painel__cab, .partida { display: grid; grid-template-columns: 112px minmax(0, 2.2fr) 92px minmax(0, 1.2fr) 150px 120px; align-items: center; gap: 14px; }
.painel__cab { padding: 14px 10px; font-size: .72rem; text-transform: uppercase; color: #9c9b95; border-bottom: 2px solid var(--marca); }
.painel__linhas { margin: 0; padding: 0; list-style: none; }
.partida { padding: 14px 10px; border-bottom: 1px solid var(--painel-linha); }
.partida:last-child { border-bottom: 0; }
.partida__saida { justify-self: start; padding: 5px 8px; border-radius: 4px; font-size: .78rem; font-weight: 700; text-transform: uppercase; color: var(--verde); background: rgb(74 222 128 / .1); white-space: nowrap; }
.partida[data-tipo="agendar"] .partida__saida { color: var(--ambar); background: rgb(255 207 35 / .1); }
.partida__destino { display: grid; min-width: 0; }
.partida__destino b { font-family: var(--fonte-titulo); font-weight: 800; font-size: 1.15rem; color: #fff; }
.partida__destino small { font-size: .85rem; color: #a9a8a2; }
.partida__cod { font-size: 1.35rem; font-weight: 700; color: var(--marca); letter-spacing: .12em; }
.partida__cod .picto { width: 30px; height: 30px; color: var(--marca); }
.partida__serv { font-size: .92rem; color: #d6d5d0; }
.partida__tempo a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-size: .88rem; color: #f4f3ef; text-decoration: underline; text-decoration-color: #6b6a65; text-underline-offset: 4px; }
.partida__tempo a:hover { color: var(--marca); }
.partida__tempo svg { width: 16px; height: 16px; flex: none; }
.partida__tempo-nd { font-size: .85rem; color: #8f8e88; }
.partida__chamar { justify-self: end; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 14px; border-radius: 8px; background: var(--marca); color: var(--painel); font-family: var(--fonte-titulo); font-weight: 800; font-size: .95rem; transition: transform .2s; }
.partida__chamar:hover { transform: translateY(-2px); }
.partida__chamar svg { width: 18px; height: 18px; }
.painel__rodape { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 24px; margin-top: 12px; padding: 0 10px; font-size: .74rem; color: #8f8e88; }
[data-palheta] { display: inline-block; }
[data-palheta] .ch { display: inline-block; min-width: .6em; text-align: center; }

/* ===== Portões de serviço ===== */
.servicos { padding: clamp(64px, 9vw, 120px) 0; background: #eae8e1; }
.portoes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(18px, 2.4vw, 30px); }
.portao { display: flex; flex-direction: column; background: var(--cartao); border-radius: 14px; overflow: hidden; border: 1px solid var(--linha); }
.placa { display: flex; align-items: center; gap: 14px; padding: 14px 16px; background: var(--painel); color: #fff; }
.placa__letra { display: grid; place-items: center; width: 46px; height: 46px; flex: none; border-radius: 6px; background: var(--marca); color: var(--painel); font-family: var(--fonte-titulo); font-weight: 900; font-size: 1.7rem; }
.placa .picto { width: 30px; height: 30px; color: var(--marca); }
.placa h3 { font-size: clamp(1.2rem, 1.8vw, 1.5rem); font-weight: 800; }
.placa__seta { margin-left: auto; width: 30px; height: 30px; color: var(--marca); }
.portao__foto { position: relative; margin: 0; }
.portao__moldura { aspect-ratio: 16 / 9; overflow: hidden; }
.portao__moldura img { width: 100%; height: 100%; object-fit: cover; }
.portao:nth-child(1) .portao__moldura img { object-position: 50% 70%; }
.portao:nth-child(4) .portao__moldura img { object-position: 50% 35%; }
.portao__foto figcaption { position: absolute; right: 10px; bottom: 10px; padding: 4px 8px; background: rgb(28 28 28 / .85); color: #f4f3ef; font-size: .72rem; border-radius: 4px; }
.portao__itens { margin: 0; padding: 8px 20px 0; list-style: none; flex: 1; }
.portao__itens li { display: grid; gap: 2px; padding: 14px 0; border-bottom: 1px solid var(--linha); }
.portao__itens li:last-child { border-bottom: 0; }
.portao__itens b { font-family: var(--fonte-titulo); font-weight: 800; font-size: 1.05rem; }
.portao__itens span { color: var(--suave); font-size: .96rem; }
.portao .botao { margin: 6px 20px 20px; align-self: flex-start; }

/* ===== Seu motorista ===== */
.motorista { padding: clamp(64px, 9vw, 120px) 0; }
.motorista__grade { display: grid; grid-template-columns: minmax(0, 420px) minmax(0, 1fr); gap: clamp(28px, 5vw, 80px); align-items: start; }
.app { background: var(--cartao); border-radius: 20px; padding: 20px; border: 1px solid var(--linha); box-shadow: 0 30px 60px -40px rgb(0 0 0 / .45); }
.app__topo { display: flex; justify-content: space-between; align-items: center; padding-bottom: 14px; border-bottom: 1px solid var(--linha); font-size: .78rem; text-transform: uppercase; font-weight: 700; }
.app__perfil { display: flex; gap: 16px; align-items: center; padding: 18px 0; }
.app__avatar { width: 92px; height: 92px; flex: none; border-radius: 50%; object-fit: cover; object-position: 48% 42%; box-shadow: 0 0 0 4px var(--marca); }
.app__nome { font-family: var(--fonte-titulo); font-weight: 900; font-size: 1.45rem; line-height: 1.1; }
.app__cargo { color: var(--suave); font-size: .92rem; }
.app__nota { display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; min-height: 36px; font-size: .9rem; }
.app__nota b { font-family: var(--fonte-titulo); font-size: 1.15rem; }
.app__nota .estrelas { color: #e0a800; }
.app__nota span { color: var(--suave); text-decoration: underline; text-underline-offset: 3px; }
.app__carro { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 0; background: #f1f0eb; border-radius: 10px; }
.app__carro div { padding: 10px 12px; }
.app__carro div + div { border-left: 1px solid var(--linha); }
.app__carro dt { font-family: var(--mono); font-size: .68rem; text-transform: uppercase; color: var(--suave); }
.app__carro dd { margin: 0; font-weight: 700; font-size: .92rem; line-height: 1.25; }
.app__selos { display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0 0; padding: 0; list-style: none; }
.app__selos li { display: inline-flex; align-items: center; gap: 5px; padding: 6px 10px; border-radius: 999px; background: var(--painel); color: #fff; font-size: .8rem; font-weight: 700; }
.app__selos svg { width: 14px; height: 14px; color: var(--marca); }
.app__botao { width: 100%; margin-top: 18px; }
.motorista__lead { margin: 18px 0 22px; font-size: 1.12rem; max-width: 58ch; }
.lista-ok { margin: 0 0 30px; padding: 0; list-style: none; display: grid; gap: 10px; }
.lista-ok li { display: flex; gap: 10px; align-items: flex-start; }
.lista-ok svg { width: 22px; height: 22px; flex: none; padding: 3px; border-radius: 4px; background: var(--marca); color: var(--painel); }
.motorista__fotos { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 10px; }
.motorista__fotos a { position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; border-radius: 10px; min-height: 0; }
.motorista__fotos img { position: absolute; inset: 0; width: 100%; height: 112%; object-fit: cover; }
.motorista__fotos span { position: absolute; left: 8px; bottom: 8px; right: 8px; padding: 4px 7px; background: rgb(28 28 28 / .85); color: #f4f3ef; font-size: .68rem; border-radius: 4px; line-height: 1.3; }

/* ===== Viagens concluídas ===== */
.viagens { padding: clamp(64px, 9vw, 120px) 0; background: var(--painel); color: #ecebe6; }
.viagens .rotulo { background: var(--marca); color: var(--painel); }
.viagens .cabeca > p:not(.rotulo) { color: #b9b8b2; }
.viagens__cab { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; flex-wrap: wrap; }
.resumo-nota { display: inline-flex; align-items: center; gap: 14px; margin-bottom: clamp(28px, 4vw, 48px); padding: 14px 18px; border: 1.5px solid var(--painel-linha); border-radius: 12px; }
.resumo-nota__n { font-family: var(--fonte-titulo); font-weight: 900; font-size: 2.6rem; line-height: 1; color: var(--marca); }
.resumo-nota__txt { display: grid; gap: 2px; font-size: .9rem; }
.resumo-nota__txt u { color: #b9b8b2; text-underline-offset: 3px; }
.historico { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.viagem { display: flex; flex-direction: column; gap: 10px; padding: 18px; background: var(--painel-2); border-radius: 12px; border-top: 3px solid var(--marca); }
.viagem--ig { border-top-color: #9a9a9a; }
.viagem__rota { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-size: .92rem; font-weight: 700; color: #fff; text-transform: uppercase; }
.viagem__seta { display: inline-flex; width: 16px; height: 16px; color: var(--marca); }
.viagem__status { display: flex; justify-content: space-between; align-items: center; gap: 10px; font-size: .8rem; }
.viagem__ok { display: inline-flex; align-items: center; gap: 4px; color: var(--verde); font-weight: 700; }
.viagem__ok svg { width: 14px; height: 14px; }
.viagem__data { color: #9c9b95; }
.viagem blockquote { margin: 0; flex: 1; font-size: .98rem; line-height: 1.55; color: #e2e1dc; }
.viagem__quem { display: flex; flex-direction: column; gap: 2px; padding-top: 10px; border-top: 1px solid var(--painel-linha); font-size: .85rem; }
.viagem__quem a { display: grid; gap: 2px; min-height: 44px; align-content: center; }
.viagem__quem b { color: #fff; }
.viagem__quem span { display: inline-flex; align-items: center; gap: 6px; color: #9c9b95; }
.viagem__quem svg { width: 14px; height: 14px; }

/* ===== Perguntas ===== */
.perguntas { padding: clamp(64px, 9vw, 120px) 0; }
.perguntas__grade { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.faq { border-top: 2px solid var(--tinta); }
.faq details { border-bottom: 1px solid var(--linha); }
.faq summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 64px; padding: 14px 0; cursor: pointer; list-style: none; font-family: var(--fonte-titulo); font-weight: 800; font-size: 1.12rem; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary i { position: relative; width: 28px; height: 28px; flex: none; border-radius: 6px; background: var(--marca); }
.faq summary i::before, .faq summary i::after { content: ""; position: absolute; left: 8px; right: 8px; top: 13px; height: 2px; background: var(--painel); transition: transform .25s; }
.faq summary i::after { transform: rotate(90deg); }
.faq details[open] summary i::after { transform: rotate(0); }
.faq details p { padding: 0 44px 20px 0; color: var(--suave); }
.faq details:not([open]) > p { display: none; }

/* ===== Contato ===== */
.contato { padding: clamp(64px, 9vw, 110px) 0; background: var(--marca); }
.contato__grade { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
.contato .letreiro { border-color: var(--painel); }
.contato .letreiro span { color: var(--painel); }
.contato .letreiro span + span { border-color: var(--painel); }
.contato .letreiro span:first-child { background: var(--painel); color: var(--marca); }
.contato h2 { font-size: clamp(2.2rem, 5vw, 4rem); }
.contato__chamada > p:not(.letreiro) { margin-top: 14px; font-size: 1.1rem; }
.contato__acoes { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.contato .botao--claro { --b-tinta: var(--painel); border-color: var(--painel); }
.contato .botao--claro:hover { background: var(--painel); color: var(--marca); }
.contato__dados { margin: 0; padding: 22px; list-style: none; display: grid; gap: 16px; background: var(--painel); color: #f4f3ef; border-radius: 14px; }
.contato__dados li { display: flex; gap: 12px; align-items: flex-start; }
.contato__dados svg { width: 22px; height: 22px; flex: none; color: var(--marca); margin-top: 2px; }
.contato__dados span { display: grid; }
.contato__dados small { font-family: var(--mono); font-size: .7rem; text-transform: uppercase; color: #9c9b95; }
.contato__dados a { min-height: 32px; display: inline-flex; align-items: center; text-decoration: underline; text-decoration-color: #6b6a65; text-underline-offset: 4px; }

/* ===== Rodapé ===== */
.rodape { background: var(--painel); color: #cfcfca; padding: 36px 0; }
.rodape__grade { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 32px; }
.rodape__grade img { height: 40px; width: auto; }
.rodape__miudo { font-size: .85rem; color: #9c9b95; }
.rodape__miudo a { text-decoration: underline; text-underline-offset: 3px; }
.redes { display: flex; gap: 8px; margin-left: auto; }
.redes a { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 8px; background: var(--painel-2); color: #f4f3ef; }
.redes a:hover { background: var(--marca); color: var(--painel); }
.redes svg { width: 20px; height: 20px; }

/* ===== Responsivo ===== */
@media (max-width: 1100px) {
  .painel__cab, .partida { grid-template-columns: 96px minmax(0, 2fr) 70px minmax(0, 1fr) 120px 110px; gap: 10px; }
  .historico { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .topo__menu { display: none; }
  .topo__cta { margin-left: auto; }
  .hero__grade, .motorista__grade, .perguntas__grade, .contato__grade { grid-template-columns: 1fr; }
  .app { position: static; max-width: 520px; }
  .portoes { grid-template-columns: 1fr; }
  /* painel: cada linha vira cartão de partida */
  .painel { padding: 6px 12px 14px; }
  .painel__cab { display: none; }
  .partida { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "saida cod" "destino destino" "serv serv" "tempo chamar"; gap: 6px 12px; padding: 16px 4px; }
  .partida__saida { grid-area: saida; }
  .partida__cod { grid-area: cod; justify-self: end; }
  .partida__destino { grid-area: destino; }
  .partida__serv { grid-area: serv; font-size: .85rem; color: #a9a8a2; }
  .partida__tempo { grid-area: tempo; align-self: center; }
  .partida__chamar { grid-area: chamar; }
}
@media (max-width: 640px) {
  .topo__linha { min-height: 60px; gap: 12px; }
  .topo__logo img { height: 32px; }
  .hero h1 { font-size: clamp(2.3rem, 11vw, 3rem); }
  .hero__provas li + li { padding-left: 0; border-left: 0; }
  .pedido { padding: 16px; margin-inline: -4px; }
  .opcoes--3 .opcao span { font-size: .92rem; }
  .historico { grid-template-columns: 1fr; }
  .motorista__fotos { grid-template-columns: 1fr 1fr; }
  .motorista__fotos a:first-child { grid-column: 1 / -1; aspect-ratio: 4 / 3; }
  .app__carro { grid-template-columns: 1fr; }
  .app__carro div + div { border-left: 0; border-top: 1px solid var(--linha); }
  .app__carro div { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; }
  .placa { gap: 10px; padding: 12px; }
  .placa__letra { width: 40px; height: 40px; font-size: 1.4rem; }
  .portao .botao { align-self: stretch; }
  .faq details p { padding-right: 0; }
  .contato__acoes .botao { flex: 1 1 100%; }
  .redes { margin-left: 0; }
  .painel__rodape { padding: 0 4px; font-size: .78rem; }
  /* legibilidade e toque no celular (auditoria de 14/10) */
  .rota__rotulo, .opcoes legend, .pedido__agenda label, .app__carro dt, .contato__dados small { font-size: 12px; }
  .portao__foto figcaption, .motorista__fotos span, .hero__faixa figcaption { font-size: 12px; }
  .topo__logo { display: flex; align-items: center; min-height: 48px; }
  .rota__ponto input { min-height: 44px; padding-bottom: 4px; }
}
