/* ═══ site2.css — 03/10/2026 — melhorias pedidas pelo Jean sobre os prints (carregado depois de style.css) ═══ */

/* 1) Barra de marcas do topo: branca por padrão; cor original ao passar o mouse */
.brands-topbar-logos a, .brands-topbar-logos span { display:inline-flex; align-items:center; }
.brands-topbar-logos img { filter:brightness(0) invert(1); opacity:.85; transition:filter .3s ease, opacity .3s ease, background .3s ease, transform .3s ease; border-radius:8px; padding:3px 8px; box-sizing:content-box; }
.brands-topbar-logos img:hover, .brands-topbar-logos a:hover img { filter:none; opacity:1; background:#fff; transform:translateY(-1px); box-shadow:0 4px 12px rgba(0,0,0,.18); }

/* 2) Revelação ao rolar: nunca deixa a seção invisível */
@media (prefers-reduced-motion:reduce) { [data-animate] { opacity:1 !important; transform:none !important; transition:none !important; } }

/* 3) Marcas representadas (home): logo real em destaque */
.brands-grid { gap:28px; }
.brand-card { position:relative; overflow:hidden; padding:0 0 26px; text-align:center; border-radius:22px; }
.brand-card::before { content:''; position:absolute; left:0; right:0; top:0; height:6px; background:var(--g,#0F7A6B); }
.brand-card--red::before { background:#D7263D; } .brand-card--guara::before { background:#F26A21; } .brand-card--soter::before { background:#0AA3A8; }
.brand-card__logo.brand-card__logo--img { width:100%; height:150px; margin:6px 0 14px; border-radius:0; background:linear-gradient(180deg,#f4f8f7,#fff); display:flex; align-items:center; justify-content:center; padding:22px 30px; font-size:0; }
.brand-card__logo--img img { max-width:78%; max-height:96px; width:auto; height:auto; object-fit:contain; transition:transform .35s ease; }
.brand-card:hover .brand-card__logo--img img { transform:scale(1.06); }
.brand-card h3, .brand-card__cat, .brand-card p { padding-left:24px; padding-right:24px; }

/* 4) Diferenciais: três cartões, com ícone */
.diferenciais-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; max-width:1160px; margin:0 auto; }
.diferencial-card { text-align:center; border-radius:22px; padding:34px 26px 30px; transition:transform .3s ease, box-shadow .3s ease; }
.diferencial-card:hover { transform:translateY(-5px); box-shadow:0 18px 34px rgba(13,122,99,.16); }
.diferencial-card .dif-ico { display:block; width:112px; height:112px; margin:-6px auto 6px; object-fit:contain; filter:drop-shadow(0 10px 12px rgba(13,60,48,.25)); }
@media (max-width:900px) { .diferenciais-grid { grid-template-columns:1fr; } }

/* 5) Ícones em imagem (Codex) nos cartões */
.feature-icon.feature-icon--img { width:84px; height:84px; background:none; border-radius:0; box-shadow:none; display:flex; align-items:center; justify-content:center; }
.feature-icon--img img { width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 8px 10px rgba(13,60,48,.25)); transition:transform .3s ease; }
.feature-card:hover .feature-icon--img img, .feature:hover .feature-icon--img img { transform:scale(1.07) rotate(-2deg); }
.service-card__icon.service-card__icon--img { position:static !important; width:112px !important; height:112px !important; background:none !important; border-radius:0 !important; box-shadow:none !important; margin:0 auto 12px !important; display:flex; align-items:center; justify-content:center; }
.service-card__icon--img img { width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 10px 12px rgba(13,60,48,.28)); transition:transform .35s ease; }
.service-card-full:hover .service-card__icon--img img { transform:translateY(-4px) scale(1.06); }
.contact-card__icon.contact-card__icon--img { width:96px; height:96px; background:none !important; border-radius:0; box-shadow:none; margin:0 auto 10px; display:flex; align-items:center; justify-content:center; }
.contact-card__icon--img img { width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 8px 10px rgba(13,60,48,.25)); }

/* 6) CTA premium (páginas internas): contato com cara de produto, não de texto solto */
.cta-premium { position:relative; overflow:hidden; background:linear-gradient(135deg,#0b5f4d 0%,#0F7A6B 55%,#14A889 100%); color:#fff; padding:86px 0; }
.cta-premium::before, .cta-premium::after { content:''; position:absolute; border-radius:50%; background:rgba(255,255,255,.07); pointer-events:none; }
.cta-premium::before { width:520px; height:520px; right:-140px; top:-200px; } .cta-premium::after { width:340px; height:340px; left:-110px; bottom:-170px; }
.cta-premium .container { position:relative; z-index:1; display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center; }
.cta-premium__kicker { display:inline-block; font-size:.78rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; background:rgba(255,255,255,.16); padding:7px 16px; border-radius:999px; margin-bottom:18px; }
.cta-premium h2 { font-family:'Oswald','Inter',sans-serif; font-weight:700; text-transform:uppercase; font-size:clamp(2rem,4vw,3.2rem); line-height:1.05; margin:0 0 16px; color:#fff; }
.cta-premium h2 em { font-style:normal; color:#FFC83D; }
.cta-premium p.lead { font-size:1.08rem; line-height:1.6; color:rgba(255,255,255,.92); max-width:520px; margin:0 0 24px; }
.cta-premium__chips { display:flex; flex-wrap:wrap; gap:10px; }
.cta-premium__chips span { display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:999px; background:rgba(255,255,255,.14); font-weight:700; font-size:.9rem; border:1px solid rgba(255,255,255,.22); }
.cta-premium__chips svg { width:16px; height:16px; stroke:#FFC83D; flex:none; }
.cta-premium__card { background:#fff; color:#12312b; border-radius:28px; padding:34px 32px 30px; box-shadow:0 26px 56px rgba(0,0,0,.28); text-align:left; }
.cta-premium__label { font-size:.78rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:#0F7A6B; margin:0 0 6px; }
.cta-premium__phone { font-family:'Oswald','Inter',sans-serif; font-weight:700; font-size:clamp(2rem,3.6vw,2.8rem); line-height:1; color:#0F7A6B; margin:0 0 10px; }
.cta-premium__hours { display:flex; align-items:center; gap:8px; font-size:.92rem; color:#4a5f5a; margin:0 0 22px; }
.cta-premium__hours svg { width:18px; height:18px; stroke:#0F7A6B; flex:none; }
.cta-premium__btn { display:flex; align-items:center; justify-content:center; gap:12px; width:100%; min-height:60px; border-radius:999px; background:#1FAF5A; color:#fff; font-weight:800; font-size:1.08rem; text-decoration:none; box-shadow:0 10px 22px rgba(31,175,90,.38); transition:transform .25s ease, box-shadow .25s ease, background .25s ease; }
.cta-premium__btn:hover { background:#18964c; transform:translateY(-2px); box-shadow:0 16px 28px rgba(31,175,90,.46); }
.cta-premium__btn svg { width:26px; height:26px; flex:none; }
.cta-premium__links { display:flex; gap:12px; margin-top:12px; }
.cta-premium__links a { flex:1; display:inline-flex; align-items:center; justify-content:center; min-height:48px; border-radius:999px; border:2px solid #0F7A6B; color:#0F7A6B; font-weight:800; font-size:.92rem; text-decoration:none; transition:background .25s ease, color .25s ease; }
.cta-premium__links a:hover { background:#0F7A6B; color:#fff; }
@media (max-width:900px) { .cta-premium { padding:60px 0; } .cta-premium .container { grid-template-columns:1fr; gap:34px; } }

/* 7) Contato: formulário de orçamento completo */
.orc-section { background:linear-gradient(180deg,#f2f8f6 0%,#fff 100%); }
.orc-wrap { display:grid; grid-template-columns:.85fr 1.15fr; gap:34px; align-items:start; max-width:1180px; margin:0 auto; }
.orc-side { background:linear-gradient(160deg,#0F7A6B,#0b5f4d); color:#fff; border-radius:26px; padding:34px 30px; position:sticky; top:130px; box-shadow:0 20px 40px rgba(13,122,99,.25); }
.orc-side h3 { font-family:'Oswald','Inter',sans-serif; font-size:1.9rem; text-transform:uppercase; line-height:1.1; margin:0 0 12px; color:#fff; }
.orc-side p { color:rgba(255,255,255,.92); line-height:1.6; margin:0 0 18px; }
.orc-side ul { list-style:none; margin:0 0 20px; padding:0; display:grid; gap:12px; }
.orc-side li { display:flex; gap:12px; align-items:flex-start; font-weight:600; }
.orc-side li svg { width:22px; height:22px; flex:none; stroke:#FFC83D; margin-top:1px; }
.orc-side .orc-side__tel { font-family:'Oswald','Inter',sans-serif; font-size:2rem; font-weight:700; color:#FFC83D; text-decoration:none; display:block; }
.orc-form { background:#fff; border-radius:26px; padding:34px 32px; box-shadow:0 16px 38px rgba(18,49,43,.12); border:1px solid #e1eeea; }
.orc-form h3 { font-size:1.35rem; margin:0 0 4px; color:#12312b; }
.orc-form .orc-sub { color:#5b6f6a; margin:0 0 22px; font-size:.95rem; }
.orc-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px 18px; }
.orc-field { display:flex; flex-direction:column; gap:6px; min-width:0; }
.orc-field.full { grid-column:1/-1; }
.orc-field label { font-size:.8rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:#12312b; }
.orc-field label small { text-transform:none; font-weight:600; color:#6b7f7a; letter-spacing:0; }
.orc-field input, .orc-field select, .orc-field textarea { width:100%; font:inherit; font-size:1rem; color:#12312b; background:#f7fbfa; border:1.5px solid #cfe3de; border-radius:14px; padding:13px 14px; min-height:50px; transition:border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.orc-field textarea { min-height:120px; resize:vertical; }
.orc-field input:focus, .orc-field select:focus, .orc-field textarea:focus { outline:none; border-color:#0F7A6B; background:#fff; box-shadow:0 0 0 4px rgba(15,122,107,.15); }
.orc-field .orc-err { display:none; font-size:.8rem; color:#b42318; font-weight:700; }
.orc-field.invalid input, .orc-field.invalid select, .orc-field.invalid textarea { border-color:#b42318; background:#fff6f5; } .orc-field.invalid .orc-err { display:block; }
.orc-consent { display:flex; gap:12px; align-items:flex-start; font-size:.88rem; color:#4a5f5a; line-height:1.5; margin-top:6px; }
.orc-consent input { width:20px; height:20px; margin-top:2px; flex:none; accent-color:#0F7A6B; }
.orc-actions { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:22px; }
.orc-btn { display:flex; align-items:center; justify-content:center; gap:10px; min-height:58px; border:0; border-radius:999px; font:inherit; font-weight:800; font-size:1.02rem; cursor:pointer; transition:transform .25s ease, box-shadow .25s ease, background .25s ease; }
.orc-btn svg { width:22px; height:22px; flex:none; }
.orc-btn--wa { background:#1FAF5A; color:#fff; box-shadow:0 10px 22px rgba(31,175,90,.36); } .orc-btn--wa:hover { background:#18964c; transform:translateY(-2px); }
.orc-btn--mail { background:#fff; color:#0F7A6B; border:2px solid #0F7A6B; } .orc-btn--mail:hover { background:#0F7A6B; color:#fff; transform:translateY(-2px); }
.orc-note { margin:14px 0 0; font-size:.82rem; color:#6b7f7a; text-align:center; }
.orc-status { margin-top:12px; font-weight:700; text-align:center; color:#0F7A6B; min-height:1.2em; }
@media (max-width:900px) { .orc-wrap { grid-template-columns:1fr; } .orc-side { position:static; } .orc-grid, .orc-actions { grid-template-columns:1fr; } .orc-form { padding:26px 18px; } }

/* Contato: blocos extras para não deixar áreas vazias */
.info-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; max-width:1160px; margin:0 auto; }
.info-tile { background:#fff; border:1px solid #dcebe7; border-radius:20px; padding:26px 24px; display:flex; gap:16px; align-items:flex-start; box-shadow:0 8px 20px rgba(18,49,43,.06); }
.info-tile svg { width:34px; height:34px; stroke:#0F7A6B; flex:none; }
.info-tile h4 { margin:0 0 4px; font-size:1.02rem; color:#12312b; } .info-tile p { margin:0; color:#5b6f6a; font-size:.93rem; line-height:1.5; }
@media (max-width:900px) { .info-strip { grid-template-columns:1fr; } }
.contact-grid { max-width:1160px; margin-left:auto; margin-right:auto; }

/* botão do cartão WhatsApp (contato): texto sempre legível */
.contact-card .btn.btn-primary { color:#fff !important; background:#1FAF5A; border-color:#1FAF5A; }
.contact-card .btn.btn-primary:hover { background:#18964c; }

/* Serviços: linhas incompletas ficam centralizadas (15 cartões em 4 colunas) */
.services-full-grid { display:flex !important; flex-wrap:wrap; justify-content:center; gap:24px; }
.services-full-grid .service-card-full { flex:0 0 calc((100% - 72px) / 4); max-width:calc((100% - 72px) / 4); }
@media (max-width:1024px) { .services-full-grid .service-card-full { flex-basis:calc((100% - 48px) / 3); max-width:calc((100% - 48px) / 3); } }
@media (max-width:760px)  { .services-full-grid .service-card-full { flex-basis:calc((100% - 24px) / 2); max-width:calc((100% - 24px) / 2); } }
@media (max-width:520px)  { .services-full-grid .service-card-full { flex-basis:100%; max-width:100%; } }

/* rodapé: textos de horário legíveis */
.footer-hours p, .site-footer .footer-hours span { color:rgba(255,255,255,.9) !important; }

/* produto: segundo botão para o orçamento completo */
.btn-orc-produto { display:flex; align-items:center; justify-content:center; min-height:54px; margin-top:12px; border-radius:999px; border:2px solid #0F7A6B; color:#0F7A6B; background:#fff; font-weight:800; text-decoration:none; transition:background .25s ease, color .25s ease, transform .25s ease; }
.btn-orc-produto:hover { background:#0F7A6B; color:#fff; transform:translateY(-2px); }
.contact-card .contact-card__icon--img { margin:0 0 10px 0; justify-content:flex-start; }
.contact-card .contact-card__icon--img img { width:88px; height:88px; }
