*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:#f5f8ff;color:#18253d}a{text-decoration:none;color:inherit}.container{width:min(1180px,92%);margin:auto}
header{background:linear-gradient(135deg,#073db8,#0b68e8);color:#fff;position:sticky;top:0;z-index:50;box-shadow:0 4px 20px #001c5530}.nav{min-height:78px;display:flex;align-items:center;gap:18px}.logo{height:64px}.menu{display:flex;gap:4px;justify-content:flex-end;flex:1;flex-wrap:wrap}.menu a{font-size:12px;font-weight:bold;padding:10px;border-radius:9px}.menu a:hover{background:#ffffff22}.hamb{display:none;background:none;border:0;color:#fff;font-size:30px;margin-left:auto}
.hero{background:linear-gradient(135deg,#062e91,#0d6fe8);color:#fff;padding:42px 0}.heroGrid{display:grid;grid-template-columns:1.15fr .85fr;gap:30px;align-items:center}.hero h1{font-size:clamp(30px,5vw,52px);margin:10px 0}.hero p{font-size:18px;line-height:1.6}.heroImg{background:#fff;border-radius:24px;padding:10px}.search{display:flex;background:#fff;padding:7px;border-radius:17px;margin-top:20px}.search input{flex:1;border:0;outline:0;padding:14px;font-size:16px}.search button{border:0;background:#ffc400;border-radius:11px;padding:0 20px;font-weight:bold}
.section{padding:34px 0}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;border:1px solid #e6ebf3;border-radius:19px;box-shadow:0 6px 20px #102d6412;overflow:hidden}.cat img{width:100%;aspect-ratio:1;object-fit:cover}.cat h3{padding:0 14px 14px}.company{padding:17px}.companyTop{display:flex;gap:12px;align-items:center}.avatar{width:70px;height:70px;object-fit:cover;border-radius:14px;background:#edf2ff}.badge{display:inline-block;background:#eaf0ff;color:#1747bb;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:bold}.meta{color:#667085;font-size:14px;line-height:1.5}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 14px;border-radius:11px;border:0;font-weight:bold;cursor:pointer}.blue{background:#073db8;color:#fff}.yellow{background:#ffc400;color:#18253d}.green{background:#18b957;color:#fff}.outline{background:#fff;border:1px solid #d6deea}.announce{background:linear-gradient(135deg,#102c70,#0758d6);color:#fff;padding:28px;border-radius:22px;margin:10px 0 35px}.content{background:#fff;border-radius:20px;padding:25px;box-shadow:0 6px 20px #102d6412;line-height:1.7}.content img{max-height:460px;max-width:100%;border-radius:15px}.map{height:380px;border-radius:18px;overflow:hidden}.empty{padding:35px;background:#fff;border:1px dashed #cbd5e1;border-radius:18px;text-align:center;color:#667085}.news img{width:100%;height:190px;object-fit:cover}.newsIn{padding:17px}.date{font-size:12px;color:#667085;font-weight:bold}footer{background:#0c1b3d;color:#dce6ff;margin-top:30px;padding:28px 0}.foot{display:flex;gap:20px;align-items:center;justify-content:space-between}
.adminNav{background:#091a3d;color:#fff}.adminNav .in{width:94%;max-width:1250px;margin:auto;min-height:65px;display:flex;align-items:center;justify-content:space-between;gap:10px}.adminNav nav{display:flex;flex-wrap:wrap;gap:5px}.adminNav a{color:#fff;padding:7px 9px;font-size:12px}.adminMain{width:94%;max-width:1250px;margin:25px auto}.panel{background:#fff;border-radius:18px;padding:22px;box-shadow:0 6px 20px #102d6410;margin-bottom:20px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat{background:#fff;padding:18px;border-radius:16px;box-shadow:0 6px 20px #102d6410}.stat b{display:block;font-size:28px;margin-top:6px}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field label{display:block;font-weight:bold;margin-bottom:5px}.field input,.field textarea,.field select{width:100%;padding:10px;border:1px solid #d5dce9;border-radius:9px}.field textarea{min-height:130px}.full{grid-column:1/-1}.tableWrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:10px;border-bottom:1px solid #edf0f5;text-align:left;white-space:nowrap}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#063db7,#0d6ee8)}.loginBox{background:#fff;padding:28px;border-radius:22px;width:min(430px,92%)}.loginBox img{height:120px;display:block;margin:auto}.alert{padding:12px;background:#fff0f0;color:#a00000;border-radius:9px}
@media(max-width:1000px){.grid4{grid-template-columns:repeat(3,1fr)}.heroGrid{grid-template-columns:1fr}.heroImg{max-width:430px;margin:auto}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.hamb{display:block}.menu{display:none;position:absolute;top:70px;left:4%;right:4%;background:#073a9e;border-radius:14px;padding:8px;flex-direction:column}.menu.open{display:flex}.grid4,.grid3,.formGrid{grid-template-columns:1fr 1fr}.foot{flex-direction:column;align-items:flex-start}}@media(max-width:500px){.grid4,.grid3,.formGrid,.stats{grid-template-columns:1fr}.search{display:block;background:none;padding:0}.search input{width:100%;margin-bottom:7px;border-radius:10px}.search button{width:100%;height:46px}.adminNav .in{flex-direction:column;align-items:flex-start;padding:12px 0}}

.carousel-wrap{position:relative}.carousel{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:8px 2px 18px;scrollbar-width:none}.carousel::-webkit-scrollbar{display:none}.carousel .company{flex:0 0 calc(33.333% - 12px);scroll-snap-align:start}.carousel-btn{position:absolute;top:42%;transform:translateY(-50%);z-index:5;width:42px;height:42px;border:0;border-radius:50%;background:#fff;box-shadow:0 5px 18px #102d6430;font-size:22px;cursor:pointer}.carousel-prev{left:-14px}.carousel-next{right:-14px}.carousel-dots{display:flex;justify-content:center;gap:7px}.carousel-dot{width:8px;height:8px;border:0;border-radius:50%;background:#c9d3e5;padding:0}.carousel-dot.active{background:var(--primary,#073db8);width:22px;border-radius:8px}
@media(max-width:900px){.carousel .company{flex-basis:calc(50% - 9px)}.grid4{grid-template-columns:repeat(2,1fr)}.grid3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.container{width:94%}.hero{padding:25px 0}.hero h1{font-size:30px}.heroImg{display:none}.grid4,.grid3{grid-template-columns:1fr}.carousel{gap:12px}.carousel .company{flex-basis:86%}.carousel-btn{width:36px;height:36px}.carousel-prev{left:-7px}.carousel-next{right:-7px}.adminNav nav{display:grid;grid-template-columns:repeat(2,1fr);width:100%}.adminNav a{text-align:center;background:#102957;border-radius:8px}}

/* Busca instantânea */
.searchInputWrap{position:relative;flex:1;min-width:0}.searchInputWrap>input{width:100%;padding-right:48px}.searchVoice{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:transparent;font-size:19px;cursor:pointer;border-radius:8px;padding:7px}.searchVoice:hover,.searchVoice.recording{background:rgba(255,193,7,.18)}.searchVoice.recording{animation:pulseMic 1s infinite}.searchSuggestions{display:none;position:absolute;z-index:1000;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid #ddd;border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.15);overflow:hidden;max-height:420px;overflow-y:auto}.searchSuggestions.show{display:block}.searchSuggestion{display:flex;gap:12px;align-items:center;padding:11px 13px;color:#222;text-decoration:none;border-bottom:1px solid #eee}.searchSuggestion:last-child{border-bottom:0}.searchSuggestion:hover{background:#f7f7f7}.searchSuggestion img{width:44px;height:44px;object-fit:cover;border-radius:9px;flex:0 0 44px}.searchSuggestion span{display:flex;flex-direction:column;gap:3px;min-width:0}.searchSuggestion strong{font-size:15px}.searchSuggestion small{color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.searchNoResult{padding:16px;text-align:center;color:#666;font-size:14px}@keyframes pulseMic{50%{transform:translateY(-50%) scale(1.08)}}

/* Galeria da empresa */
.companyGallery{margin:18px 0 24px}.galleryMain{border-radius:16px;overflow:hidden;background:#f2f2f2;aspect-ratio:16/8;display:flex;align-items:center;justify-content:center}.galleryMain img{width:100%;height:100%;object-fit:cover}.galleryThumbs{display:flex;gap:9px;margin-top:10px;overflow-x:auto;padding-bottom:3px}.galleryThumb{border:2px solid transparent;background:none;padding:0;border-radius:9px;overflow:hidden;cursor:pointer;flex:0 0 78px}.galleryThumb.active{border-color:var(--primary,#198754)}.galleryThumb img{display:block;width:78px;height:58px;object-fit:cover}.adminPhotoGrid{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.adminPhotoGrid img{width:90px;height:70px;object-fit:cover;border-radius:8px;border:1px solid #ddd}
@media(max-width:620px){.search{display:flex;flex-direction:column;gap:8px}.searchInputWrap{width:100%}.searchSuggestions{max-height:55vh}.galleryMain{aspect-ratio:4/3}.galleryThumb{flex-basis:68px}.galleryThumb img{width:68px;height:52px}}


/* =========================================================
   CORREÇÃO RESPONSIVA DA PÁGINA PÚBLICA
   Evita overflow horizontal e dimensiona corretamente a arte do hero.
   ========================================================= */
html, body { max-width:100%; overflow-x:hidden; }
img { max-width:100%; }
.heroGrid { min-width:0; }
.heroGrid > * { min-width:0; }
.heroImg { width:100%; max-width:100%; overflow:hidden; }
.heroImg img { display:block; width:100%; max-width:100%; height:auto; max-height:520px; object-fit:contain; margin:0 auto; }
.search { min-width:0; }
.searchInputWrap { min-width:0; }
.carousel-wrap { min-width:0; padding-left:2px; padding-right:2px; }
.carousel { min-width:0; max-width:100%; }

@media (min-width:1001px) {
  .heroImg { max-width:620px; justify-self:end; }
  .heroImg img { max-height:560px; }
}

@media (max-width:1000px) {
  .heroGrid { grid-template-columns:1fr; }
  .heroImg { max-width:min(620px,100%); margin:8px auto 0; }
  .heroImg img { max-height:430px; }
}

@media (max-width:620px) {
  .hero { padding:24px 0 30px; }
  .heroGrid { gap:18px; }
  .heroImg { display:block; max-width:100%; border-radius:18px; padding:6px; }
  .heroImg img { max-height:340px; object-fit:contain; }
  .hero h1 { font-size:clamp(29px,9vw,38px); line-height:1.08; }
  .hero p { font-size:16px; }
  .search { width:100%; }
  .searchInputWrap, .searchInputWrap > input { width:100%; max-width:100%; }
  .carousel-btn { box-shadow:0 4px 14px rgba(16,45,100,.22); }
  .carousel-prev { left:0; }
  .carousel-next { right:0; }
}

@media (max-width:420px) {
  .container { width:92%; }
  .heroImg img { max-height:290px; }
  .carousel .company { flex-basis:92%; }
  .carousel { padding-left:1px; padding-right:1px; }
}

/* Pesquisa integrada: resultados logo abaixo da barra e controles dentro dela */
.search { position:relative; display:block; background:#fff; padding:6px; border-radius:17px; overflow:visible; }
.searchInputWrap { position:relative; display:flex; align-items:center; width:100%; min-height:52px; }
.searchInputWrap>input { flex:1; width:100%; min-width:0; padding:14px 92px 14px 14px; margin:0; border:0; outline:0; background:transparent; }
.searchVoice, .searchSubmit { position:absolute; top:50%; transform:translateY(-50%); width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center; border:0; cursor:pointer; border-radius:10px; z-index:3; }
.searchVoice { right:48px; background:transparent; padding:6px; }
.searchSubmit { right:5px; background:#ffc400; padding:0; font-size:18px; }
.searchVoice:hover { background:rgba(7,61,184,.08); }
.searchSubmit:hover { filter:brightness(.97); }
.searchSuggestions { top:calc(100% + 8px); }
.searchResultsSection { padding-top:24px; }
.searchResultsHeader h2 { margin:8px 0 0; }
.searchResultsGrid { margin-top:16px; }
@media (max-width:620px) {
  .search { width:100%; padding:5px; }
  .searchInputWrap { min-height:50px; }
  .searchInputWrap>input { padding:13px 88px 13px 12px; font-size:15px; }
  .searchVoice, .searchSubmit { width:38px; height:38px; }
  .searchVoice { right:45px; }
  .searchSubmit { right:4px; }
  .searchSuggestions { left:0; right:0; width:100%; }
  .searchResultsSection { padding-top:18px; }
  .searchResultsGrid { grid-template-columns:1fr; }
}
