/* ABCD Ar Condicionado — camada de marca sobre o template CoolAir
   Cores da arte da marca (Maps maps-01): marinho #072F6E, laranja #F28B0D, branco.
   Fontes: Barlow (aproximação da sem-serifa black itálica) + Permanent Marker (pincel). */
:root {
  --marinho: #072F6E;
  --marinho-2: #0A3D8C;
  --marinho-esc: #051F4A;
  --laranja: #F28B0D;
  --laranja-esc: #D97606;
  --primary-color: #072F6E;
  --primary-color-rgb: 7, 47, 110;
  --secondary-color: #F28B0D;
  --secondary-color-rgb: 242, 139, 13;
  --body-font: 'Barlow', system-ui, sans-serif;
  --heading-font: 'Barlow', system-ui, sans-serif;
  --title-font-color: #0B1B33;
}

html { scroll-behavior: smooth; }
html, body { overflow-x: hidden; max-width: 100%; }
body { font-family: var(--body-font); color: #334055; font-size: 17px; }
h1, h2, h3, h4, h5, h6 { font-family: var(--heading-font); color: var(--title-font-color); letter-spacing: -0.01em; }
h2 { font-weight: 800; font-style: italic; text-transform: none; }
img { max-width: 100%; }
section { scroll-margin-top: 80px; }
#de-loader { display: none !important; }

/* faixa da prévia */
.faixa-previa {
  background: #0B1B33; color: #C9D3E3; font-size: 12.5px; line-height: 1.4;
  text-align: center; padding: 6px 12px; position: relative; z-index: 1002;
}
.faixa-previa strong { color: #fff; }
.chip-conf {
  display: inline-block; font-style: normal; font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .04em; line-height: 1;
  padding: 4px 7px; border-radius: 99px; background: #FFF1DD; color: #8A4A00;
  border: 1px dashed #D97606; white-space: nowrap; vertical-align: middle;
}

/* logo recriada em tipografia */
.marca { display: inline-flex; flex-direction: column; line-height: .9; text-decoration: none; }
.marca-abcd { font-weight: 900; font-style: italic; font-size: 38px; letter-spacing: -0.02em; }
.marca-ab { color: #fff; }
.marca-cd { color: var(--laranja); }
.marca-sub { font-weight: 800; font-size: 11.5px; letter-spacing: .12em; color: #fff; margin-top: 3px; padding-left: 2px; }
header.smaller.scroll-light .marca-ab,
header.smaller.scroll-light .marca-sub { color: var(--marinho); }

/* header */
header.transparent { top: 0; }
header .btn-header { padding: 10px 20px; font-size: 15px; }
#mainmenu > li > a.menu-item { font-weight: 600; }
#topbar { background: rgba(5, 31, 74, .55); }
header.smaller { border-bottom: solid 1px #E3E8F0; }

/* botões */
.btn-laranja, .btn-contorno {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font-weight: 800; font-size: 16px; padding: 14px 26px; border-radius: 8px;
  text-decoration: none; transition: background .2s, transform .2s, color .2s; border: 0;
  text-transform: uppercase; letter-spacing: .02em; cursor: pointer;
}
.btn-laranja { background: var(--laranja); color: var(--marinho-esc); }
.btn-laranja:hover { background: #FFA02E; color: var(--marinho-esc); transform: translateY(-1px); }
.btn-contorno { border: 2px solid rgba(255,255,255,.85); color: #fff; background: transparent; padding: 12px 24px; }
.btn-contorno:hover { background: #fff; color: var(--marinho); }

.subtitle { font-weight: 700; color: var(--marinho); }
.subtitle.bg-color-2 { color: var(--marinho-esc) !important; }
.subtitle.s2 { color: var(--laranja) !important; }

/* hero */
.hero { position: relative; min-height: 640px; display: flex; align-items: center; overflow: hidden; background: var(--marinho); }
.hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 60% 50%; }
.hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(5,31,74,.94) 0%, rgba(7,47,110,.86) 50%, rgba(7,47,110,.45) 100%);
}
.hero-conteudo { position: relative; z-index: 2; padding-top: 150px; padding-bottom: 70px; }
.selo-google {
  display: inline-flex; align-items: center; gap: 10px; background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.25); border-radius: 99px; padding: 7px 14px;
  color: #fff; font-size: 14.5px; text-decoration: none; margin-bottom: 20px;
}
.selo-google:hover { color: #fff; background: rgba(255,255,255,.2); }
.estrelas { color: #FFB627; letter-spacing: 2px; }
.hero-titulo {
  color: #fff; font-weight: 900; font-style: italic; font-size: clamp(38px, 5.6vw, 66px);
  line-height: 1.02; text-transform: uppercase; margin-bottom: 18px; letter-spacing: -0.015em;
}
.pincel {
  display: inline-block; font-family: 'Permanent Marker', cursive; font-style: normal; font-weight: 400;
  text-transform: uppercase; color: var(--marinho-esc); background: var(--laranja);
  padding: 2px 14px 0; transform: rotate(-2deg); margin-top: 8px; font-size: .78em; line-height: 1.25;
}
.hero-texto { font-size: 19px; color: #DCE4F0; max-width: 560px; margin-bottom: 26px; }
.hero-texto strong { color: #fff; }
.hero-botoes { display: flex; flex-wrap: wrap; gap: 12px; }

/* selos */
.selos { padding: 0; position: relative; z-index: 5; margin-top: -40px; }
.selos-grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0;
  background: #fff; border-radius: 14px; box-shadow: 0 18px 40px rgba(7,47,110,.14); overflow: hidden;
}
.selo { display: flex; gap: 16px; align-items: flex-start; padding: 26px 26px; border-left: 1px solid #E8EDF4; }
.selo:first-child { border-left: 0; }
.selo i { font-size: 30px; color: var(--marinho-esc); background: var(--laranja); border-radius: 10px; padding: 11px; flex: 0 0 auto; }
.selo h3 { font-size: 19px; font-weight: 800; font-style: italic; margin: 0 0 4px; }
.selo p { margin: 0; font-size: 15px; line-height: 1.4; }

/* por que */
.duas-fotos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.duas-fotos figure { margin: 0; min-width: 0; }
.duas-fotos figure:nth-child(2) { margin-top: 48px; }
.duas-fotos img, .galeria img {
  width: 100%; aspect-ratio: 4 / 5; height: auto; min-height: 0; object-fit: cover; display: block; border-radius: 14px;
}
figcaption { font-size: 13.5px; color: #5B6777; margin-top: 8px; }
.riscos { list-style: none; padding: 0; margin: 0 0 22px; }
.riscos li { position: relative; padding-left: 30px; margin-bottom: 10px; line-height: 1.45; }
.riscos li::before {
  content: "!"; position: absolute; left: 0; top: 2px; width: 20px; height: 20px; border-radius: 50%;
  background: var(--laranja); color: var(--marinho-esc); font-weight: 900; font-size: 13px; text-align: center; line-height: 20px;
}
.riscos strong { color: var(--title-font-color); }
.numeros { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.numero { background: var(--marinho); color: #CFD9EA; border-radius: 12px; padding: 16px 18px; }
.numero strong { display: block; color: #fff; font-size: 30px; font-weight: 900; font-style: italic; line-height: 1; }
.numero span { display: block; font-size: 14.5px; margin: 4px 0 8px; }

/* serviços */
.servicos-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.servico { background: var(--tertiary-color); border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; min-width: 0; }
.servico img { width: 100%; aspect-ratio: 16 / 11; height: auto; min-height: 0; object-fit: cover; display: block; }
.servico-corpo { padding: 26px 26px 28px; display: flex; flex-direction: column; flex: 1; }
.servico h3 { font-size: 23px; font-weight: 800; font-style: italic; }
.servico p { flex: 1; }
.servico.destaque { background: var(--marinho); }
.servico.destaque h3 { color: #fff; }
.servico.destaque p { color: #CFD9EA; }
.servico.destaque .link-servico { color: var(--laranja); }
.link-servico { font-weight: 800; color: var(--marinho); text-decoration: none; display: inline-flex; gap: 6px; align-items: center; }
.link-servico:hover { color: var(--laranja-esc); }

/* galeria */
.galeria { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.galeria figure { margin: 0; min-width: 0; }

/* passos */
.passos { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; counter-reset: none; }
.passos li { background: var(--tertiary-color); border-radius: 14px; padding: 24px; min-width: 0; }
.passos span {
  display: inline-grid; place-items: center; width: 42px; height: 42px; border-radius: 10px;
  background: var(--marinho); color: #fff; font-weight: 900; font-style: italic; font-size: 20px; margin-bottom: 14px;
}
.passos h3 { font-size: 19px; font-weight: 800; margin-bottom: 6px; }
.passos p { margin: 0; font-size: 15.5px; }

/* marcas */
.secao-marinho { background: var(--marinho); }
.secao-marinho p { color: #CFD9EA; }
.marcas { list-style: none; padding: 0; margin: 0 0 14px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.marcas li {
  background: #fff; color: var(--marinho); border-radius: 12px; text-align: center;
  font-weight: 900; font-style: italic; font-size: 26px; padding: 22px 10px; letter-spacing: .01em;
}
.nota-marcas { font-size: 14px; margin: 0; }

/* reviews */
.reviews { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.review { margin: 0; background: #fff; border: 1px solid #E3E8F0; border-left: 5px solid var(--laranja); border-radius: 14px; padding: 26px 28px; min-width: 0; }
.review p { font-size: 18px; line-height: 1.55; color: #1E2B3E; margin: 12px 0 0; font-style: italic; }
.review-topo { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; }
.review-fonte { font-size: 13px; color: #5B6777; font-weight: 600; }
.small-nota { font-size: 13.5px; color: #5B6777; }

/* dúvidas */
.duvidas details { background: #fff; border-radius: 12px; margin-bottom: 12px; border: 1px solid #E3E8F0; }
.duvidas summary {
  cursor: pointer; padding: 18px 22px; font-weight: 700; font-size: 18px; color: var(--title-font-color);
  list-style: none; position: relative; padding-right: 50px;
}
.duvidas summary::-webkit-details-marker { display: none; }
.duvidas summary::after { content: "+"; position: absolute; right: 22px; top: 50%; transform: translateY(-50%); font-size: 26px; color: var(--laranja-esc); font-weight: 700; }
.duvidas details[open] summary::after { content: "–"; }
.duvidas details p { padding: 0 22px 18px; margin: 0; }

/* orçamento */
.contato-lista { list-style: none; padding: 0; margin: 22px 0 0; }
.contato-lista li { display: flex; gap: 12px; align-items: center; margin-bottom: 12px; }
.contato-lista i { width: 38px; height: 38px; display: inline-grid; place-items: center; border-radius: 10px; background: var(--tertiary-color); color: var(--marinho); font-size: 18px; flex: 0 0 auto; }
.contato-lista a { color: var(--marinho); font-weight: 700; }
.form-orcamento { background: var(--tertiary-color); border-radius: 16px; padding: 28px; }
.campos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 18px; }
.campo { display: flex; flex-direction: column; gap: 6px; margin: 0; min-width: 0; border: 0; padding: 0; }
.campo-full { grid-column: 1 / -1; }
.campo > span { font-weight: 700; font-size: 14.5px; color: var(--title-font-color); }
.campo input, .campo select, .campo textarea {
  width: 100%; border: 1px solid #CBD5E3; border-radius: 10px; padding: 12px 14px; font-size: 16px;
  background: #fff; color: #1E2B3E; font-family: inherit;
}
.campo input:focus, .campo select:focus, .campo textarea:focus { outline: 2px solid var(--laranja); border-color: var(--laranja); }
.opcoes { display: flex; flex-wrap: wrap; gap: 10px; }
.opcoes label {
  display: inline-flex; align-items: center; gap: 8px; background: #fff; border: 1px solid #CBD5E3;
  border-radius: 99px; padding: 9px 16px; cursor: pointer; font-weight: 600; margin: 0;
}
.opcoes input { accent-color: var(--marinho); }
.btn-enviar { width: 100%; font-size: 17px; padding: 16px; }
.form-erro { color: #B42318; font-weight: 700; margin: 0 0 12px; }

/* mapa */
.mapa { border-radius: 16px; overflow: hidden; border: 1px solid #E3E8F0; }
.mapa iframe { width: 100%; height: 360px; border: 0; display: block; }

/* rodapé */
.rodape { background: var(--marinho-esc) !important; }
.rodape p, .rodape li { color: #B9C6DA; }
.rodape h5 { color: #fff; font-weight: 800; }
.lista-rodape { list-style: none; padding: 0; margin: 0; }
.lista-rodape li { margin-bottom: 6px; }
.rodape-zap { color: #fff; font-size: 26px; font-weight: 900; font-style: italic; text-decoration: none; }
.rodape-zap i { color: var(--laranja); }
.lema { color: var(--laranja) !important; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; font-size: 13px; }
.marca-rodape .marca-abcd { font-size: 44px; }
.subfooter .de-flex { gap: 10px; flex-wrap: wrap; }

/* WhatsApp flutuante */
.zap-flutuante {
  position: fixed; right: 18px; bottom: 18px; z-index: 1500; width: 58px; height: 58px; border-radius: 50%;
  background: #25D366; color: #fff; display: grid; place-items: center; font-size: 30px;
  box-shadow: 0 8px 22px rgba(0,0,0,.25); text-decoration: none;
}
.zap-flutuante:hover { color: #fff; transform: scale(1.05); }

/* responsivo */
@media (max-width: 991px) {
  .servicos-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .galeria { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .passos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .selos-grid { grid-template-columns: minmax(0, 1fr); }
  .selo { border-left: 0; border-top: 1px solid #E8EDF4; padding: 18px 22px; }
  .selo:first-child { border-top: 0; }
  header .btn-header { display: none; }
  .marca-abcd { font-size: 32px; }
  .marca-ab, .marca-sub { color: #fff; }
  header.header-mobile .marca-ab, header.header-mobile .marca-sub { color: #fff; }
}
@media (max-width: 767px) {
  body { font-size: 16px; }
  .hero { min-height: 0; }
  .hero-conteudo { padding-top: 110px; padding-bottom: 76px; }
  .hero-overlay { background: linear-gradient(180deg, rgba(5,31,74,.80) 0%, rgba(7,47,110,.90) 55%, rgba(5,31,74,.96) 100%); }
  .hero-titulo { font-size: 38px; }
  .hero-texto { font-size: 17px; }
  .hero-botoes a { flex: 1 1 100%; }
  .servicos-grid, .reviews, .passos { grid-template-columns: minmax(0, 1fr); }
  .galeria { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .duas-fotos figure:nth-child(2) { margin-top: 28px; }
  .campos { grid-template-columns: minmax(0, 1fr); }
  .form-orcamento { padding: 20px; }
  .marcas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .marcas li { font-size: 22px; padding: 18px 8px; }
  .numero strong { font-size: 26px; }
  .review { padding: 22px; }
  .review p { font-size: 17px; }
  .mapa iframe { height: 300px; }
  section { padding-top: 64px; padding-bottom: 64px; }
}

/* ajustes pós-teste */
:root { --title-font: 'Barlow', system-ui, sans-serif; --main-font: 'Barlow', system-ui, sans-serif; --faixa-h: 30px; }
header:not(.smaller) { top: var(--faixa-h) !important; }
.marcas { display: flex; flex-wrap: wrap; }
.marcas li { flex: 1 1 calc(33.333% - 14px); }
@media (max-width: 767px) {
  .row.gx-5 { --bs-gutter-x: 1.5rem; }
  .hero-overlay { background: linear-gradient(180deg, rgba(5,31,74,.62) 0%, rgba(7,47,110,.78) 45%, rgba(5,31,74,.95) 100%); }
  .faixa-previa { font-size: 11.5px; padding: 5px 10px; }
  .faixa-previa .faixa-extra { display: none; }
  .marcas li { flex: 1 1 calc(50% - 14px); }
}
body, p, li, a, span:not([class*="icon"]), input, select, textarea, label, summary, blockquote, button, h1, h2, h3, h4, h5, h6 { font-family: 'Barlow', system-ui, sans-serif; }
.pincel { font-family: 'Permanent Marker', cursive !important; }
