:root{
  --bg:#f6f8fc;
  --bg2:#ffffff;
  --card:#ffffff;
  --card2:#f4f7fb;
  --text:#17233b;
  --muted:#65718a;
  --brand:#ff664f;
  --brand2:#ff8b2e;
  --green:#20b866;
  --yellow:#e4a51e;
  --line:#dce3ee;
  --shadow:0 16px 42px rgba(39,58,92,.10)
}
html{background:#f6f8fc}
body{background:linear-gradient(180deg,#fff 0,#f7f9fd 340px,#f6f8fc 100%);color:var(--text)}
.topbar{background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);box-shadow:0 4px 18px rgba(36,54,86,.05)}
.navlinks{color:#536079}.navlinks a:hover{color:#17233b}
.logoWord{height:44px;max-width:min(315px,40vw);object-fit:contain}
.btnGhost{background:#fff;color:#26354f;border-color:#cfd8e7}.btnGhost:hover{background:#f4f7fb;border-color:#b8c4d8}
.btnPrimary{background:linear-gradient(135deg,#ff6a4f,#ff8c2e);box-shadow:0 10px 25px rgba(255,106,79,.18)}
.hero{background:radial-gradient(600px 340px at 82% 18%,rgba(255,139,46,.10),transparent 68%),radial-gradient(600px 360px at 9% 10%,rgba(32,184,102,.07),transparent 70%)}
.hero p{color:#536079}.eyebrow{border-color:#ffd3c9;background:#fff4f0;color:#b9412e}
.searchBox{background:#fff;border-color:#d9e1ed;box-shadow:0 18px 45px rgba(39,58,92,.10)}
.field{background:#fff;border-color:#d5deeb;color:#1b2943}.field::placeholder{color:#929db1}.field:focus{border-color:#ff8a68;box-shadow:0 0 0 3px rgba(255,106,79,.12)}
.heroMeta{color:#64718a}.heroMeta b{color:#1f2d47}
.phoneCard{background:#fff;border-color:#dce3ee;box-shadow:0 28px 65px rgba(39,58,92,.12)}
.miniSearch{background:#f6f8fc;border-color:#dce3ee;color:#68758e}.profMini{background:#fff;border-color:#e0e6ef;box-shadow:0 7px 20px rgba(37,55,87,.05)}
.avatar{background:linear-gradient(135deg,#edf3fb,#ffe9e1)}.profMini p{color:#65718a}.badge{background:#e9f9f0;color:#167944}.rating{color:#d79513}
.sectionTitle p{color:#68758a}.cat{background:#fff;border-color:#dce3ee;box-shadow:0 8px 20px rgba(37,55,87,.04)}.cat:hover{border-color:#ffb29f;box-shadow:0 10px 26px rgba(255,106,79,.08)}
.card{background:#fff;border-color:#dce3ee;box-shadow:0 12px 30px rgba(39,58,92,.07)}.cover:after{background:linear-gradient(0deg,rgba(23,35,59,.28),transparent 62%)}
.card small{color:#758198}.tag{background:#f0f4f9;color:#526078}.adSlot{background:#fff;border-color:#ccd6e5;color:#78849a}
#como-funciona{background:#f0f5fa;border-top:1px solid #e5ebf3;border-bottom:1px solid #e5ebf3}.step{background:#fff;border-color:#dce3ee;box-shadow:0 8px 24px rgba(39,58,92,.05)}.stepN{background:#fff0eb;color:#c64c37}.step p{color:#65718a}
.profileHero{background:#fff;border-color:#dce3ee;box-shadow:0 16px 40px rgba(39,58,92,.07)}.profileActions{background:#f6f8fc;border-color:#dce3ee}.metrics{color:#56637b}.metric b{color:#17233b}
.project,.review{background:#fff;border-color:#dce3ee}.projectText p,.review p{color:#5f6c84}
.footer{background:#fff;border-top-color:#dce3ee;color:#6b778e}
.modalBg{background:rgba(26,37,58,.38)}.modal{background:#fff;border-color:#dce3ee;box-shadow:0 30px 90px rgba(39,58,92,.20)}.close{background:#eef2f7;color:#26344d}
.workerDash .side,.side{background:#fff;border-color:#dce3ee}.side button{color:#526078}.side button:hover{background:#f3f6fa;color:#17233b}
.profileHero .muted,.help{color:#68758a}
.localBar{background:#edf4fb;color:#43516a;border-bottom:1px solid #d9e3ef}.localBar button,.footer button{color:#b64431}
.modal form label{color:#43516a}.empty{background:#fff;border-color:#cdd7e5}.authLinks button{color:#b64331}.errorText,.formError{color:#a42e2e}.localMail{background:#f3f6fa;border:1px solid #dce3ee}.tag.demo{background:#fff0eb;color:#a84231}.contactRow{background:#fff;border:1px solid #dce3ee}.previewLabel{color:#b64331}.reply{border-left-color:#ff826a}
#resultsStatus{color:#68758a}
@media(max-width:620px){.logoWord{height:38px;max-width:220px}.hero{padding-top:44px}.hero h1{letter-spacing:-1.8px}}


/* Imagens ambientais sem pessoas: distribuídas pela home para dar vida sem poluir. */
.visualMoment{
  position:relative;
  overflow:hidden;
  border:1px solid #dce3ee;
  border-radius:22px;
  background:#eef3f8;
  box-shadow:0 14px 34px rgba(39,58,92,.08);
}
.visualMoment img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.visualMoment--wide{
  height:210px;
  margin-top:28px;
}
.visualMoment--wide img{object-position:center 56%}
.visualMoment--compact{
  width:min(760px,100%);
  height:190px;
  margin:28px auto 0;
}
.visualMoment--compact img{object-position:center 58%}
.visualSection{padding:14px 0 4px}
.visualMoment--shower{
  height:200px;
  width:min(900px,100%);
  margin:0 auto;
}
.visualMoment--shower img{object-position:center 48%}
.visualLabel{
  position:absolute;
  left:16px;
  bottom:14px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#24324a;
  font-size:12px;
  font-weight:800;
  box-shadow:0 6px 18px rgba(27,42,67,.10);
  backdrop-filter:blur(6px);
}
@media(max-width:620px){
  .visualMoment--wide,.visualMoment--compact,.visualMoment--shower{height:150px}
  .visualMoment{border-radius:17px}
  .visualLabel{left:10px;bottom:10px;font-size:11px;padding:7px 10px}
  .visualSection{padding-top:6px}
}

/* Result sorting */
.resultControls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sortLabel{font-size:14px;color:#66758d;font-weight:700}
.sortField{min-width:180px;width:auto;margin:0}
@media(max-width:720px){.resultControls{width:100%}.sortField{flex:1;min-width:150px}}

/* Suporte guiado e ranking dinâmico */
.popularCount{display:block;margin-top:6px;font-size:12px;color:var(--muted,#718096);font-weight:600}.cat{min-width:0}.catName{overflow-wrap:anywhere}
.supportQuick{margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid #dfe6f0}
.supportQuick h3{margin:0 0 6px}
.faqAnswer{margin:14px 0 2px;padding:14px;border:1px solid #d8e1ec;border-radius:14px;background:#f8fafc}
.faqAnswer h4{margin:0 0 6px;color:#14233e}
.faqAnswer p{margin:0 0 10px;color:#52627a;line-height:1.55}
.faqGuide{display:block;width:100%;max-width:620px;border:1px solid #d8e1ec;border-radius:12px;margin-top:10px}

/* ===== SGGP VISUAL FINAL V4 — revisão visual sem alterar lógica ===== */
:root{
  --bg:#ffffff;
  --bg2:#ffffff;
  --card:#ffffff;
  --card2:#f7f9fc;
  --text:#102b63;
  --muted:#697a96;
  --brand:#ff6900;
  --brand2:#ff8619;
  --green:#20bd69;
  --yellow:#ff8500;
  --line:#dce5f0;
  --shadow:0 12px 32px rgba(30,57,96,.08);
  --sggp-blue:#103b7d;
  --sggp-blue-2:#1557b4;
  --sggp-orange:#ff6900;
}
html{background:#fff}
body{
  margin:0;
  background:#fff;
  color:#17305d;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
.wrap{width:min(1190px,calc(100% - 40px));margin-inline:auto}
.topbar{
  position:sticky;top:0;z-index:40;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid #eef2f6;
  box-shadow:none;
  backdrop-filter:blur(12px);
}
.nav{
  min-height:76px;
  height:auto;
  padding:9px 0;
  display:flex;
  align-items:center;
  gap:24px;
  flex-wrap:nowrap;
}
.logo{display:flex;align-items:center;gap:9px;min-width:200px}
.brandIcon{width:48px;height:48px;display:block;flex:none}
.brandMark{
  display:flex;flex-direction:column;
  color:#123b7a;
  font-size:31px;
  line-height:.92;
  font-weight:950;
  letter-spacing:-1.3px;
}
.brandMark small{
  margin-top:6px;
  max-width:none;
  color:#34557f;
  font-size:8.5px;
  line-height:1.1;
  letter-spacing:0;
  font-weight:800;
}
.brandMark::after{display:none}
.navlinks{display:flex;align-items:center;gap:25px;color:#526685;font-size:12px;font-weight:650}
.navlinks a,.navContact{position:relative;padding:12px 0}
.navlinks a:hover,.navContact:hover{color:#123b7a}
.navlinks a:first-child{color:#123b7a;font-weight:800}
.navlinks a:first-child::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;border-radius:8px;background:#ff6900}
.navContact{border:0;background:none;color:#526685;cursor:pointer;font:inherit;font-size:12px;font-weight:650}
.navspacer{flex:1}
.nav .btn{min-height:43px;border-radius:8px;padding:0 18px;font-size:13px}
.nav .btnGhost{background:#fff;color:#123b7a;border:1px solid #9eb8dc}
.nav .btnPrimary{padding-inline:22px}
.btnPrimary{
  background:linear-gradient(135deg,#ff6500,#ff7b12);
  color:#fff;
  box-shadow:0 9px 20px rgba(255,105,0,.16);
}
.btnGhost{background:#fff;color:#173a70;border-color:#cbd8e8}
.btnGreen{background:#22c56d;color:#fff}

/* Hero */
.hero{
  min-height:334px;
  padding:42px 0 26px;
  border-bottom:1px solid #edf1f5;
  overflow:hidden;
  background:
    linear-gradient(90deg,
      #fff 0%,
      #fff 38%,
      rgba(255,255,255,.98) 45%,
      rgba(255,255,255,.86) 53%,
      rgba(255,255,255,.45) 63%,
      rgba(255,255,255,.08) 75%,
      rgba(255,255,255,0) 100%),
    linear-gradient(180deg,rgba(255,196,126,.10),rgba(17,60,120,.04)),
    url("https://images.pexels.com/photos/32635586/pexels-photo-32635586.jpeg?auto=compress&cs=tinysrgb&w=1800") right 47%/60% 100% no-repeat;
}
.hero::after{display:none}
.heroGrid{
  min-height:262px;
  display:grid;
  grid-template-columns:minmax(0,710px) 1fr;
  gap:24px;
  align-items:center;
}
.heroCopy{position:relative;z-index:2}
.hero .eyebrow{display:none}
.hero h1{
  max-width:650px;
  margin:0 0 6px;
  color:#102f70;
  font-size:clamp(42px,4.2vw,58px);
  line-height:1.02;
  letter-spacing:-2.2px;
}
.hero h1 em{font-style:normal;color:#ff6900}
.heroSlogan{
  margin:0 0 18px!important;
  color:#466083!important;
  font-size:19px!important;
  font-weight:650;
  line-height:1.35;
}
.heroIntro{display:none!important}
.heroPanel,.cityArt,.phoneCard{display:none!important}
.searchBox{
  width:min(760px,100%);
  margin-top:0;
  padding:6px;
  display:grid;
  grid-template-columns:minmax(0,1.36fr) minmax(235px,.95fr) 144px;
  gap:7px;
  border:1px solid #dce5ef;
  border-radius:10px;
  background:#fff;
  box-shadow:0 10px 26px rgba(25,59,104,.10);
}
.searchBox .field{
  min-height:47px;
  margin:0;
  padding:0 14px;
  border:1px solid #d7e1ed;
  border-radius:7px;
  background:#fff;
  color:#29466f;
  font-size:13px;
}
.searchBox .field::placeholder{color:#8694aa}
.searchBox>.btn{
  grid-column:auto!important;
  min-height:47px;
  margin:0;
  padding-inline:17px;
  border-radius:7px;
  font-size:13px;
}
.searchBox #zoneInput:not([hidden]),.searchBox #neighborhoodInput:not([hidden]){grid-column:auto}
#filterHint{grid-column:1/-1!important;margin:0!important;padding:1px 5px 0!important;font-size:10px!important;line-height:1.35;color:#8190a6}
.trustStrip{
  width:min(760px,100%);
  margin-top:16px;
  padding-top:14px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  border-top:1px solid #e3e9f1;
}
.trustItem{min-width:0;display:flex;align-items:center;gap:8px;padding:0 13px;border-right:1px solid #e2e8ef}
.trustItem:first-child{padding-left:0}.trustItem:last-child{border-right:0}
.trustIcon{width:32px;height:32px;display:grid;place-items:center;flex:none;color:#1150a5;font-size:21px;font-weight:900}
.trustItem span:last-child{display:flex;flex-direction:column;min-width:0}
.trustItem b{color:#17386f;font-size:10.5px;line-height:1.15}
.trustItem small{margin-top:3px;color:#7787a0;font-size:8.7px;line-height:1.2}

/* Sections */
.section{padding:36px 0}
.sectionTitle{margin-bottom:15px;display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap}
.sectionTitle h2{margin:0;color:#11366f;font-size:27px;line-height:1.12;letter-spacing:-.7px}
.sectionTitle p{margin:4px 0 0;color:#71809a;font-size:12px;line-height:1.45;max-width:660px}
.sectionLink{color:#0c59bd;font-size:11px;font-weight:800;white-space:nowrap}
.servicesSection{padding-top:27px;padding-bottom:24px}
.categories{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px}
.cat{
  min-width:0;
  min-height:96px;
  padding:12px 7px 10px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:#fff;
  border:1px solid #dfe6ef;
  border-radius:8px;
  box-shadow:none;
  color:#173a72;
  cursor:pointer;
}
.cat:hover{transform:translateY(-2px);border-color:#adc1de;box-shadow:0 7px 18px rgba(28,60,104,.06)}
.catIcon{width:31px;height:31px;margin-bottom:7px;display:grid;place-items:center;color:#0c56b7}
.catIcon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.catName{font-size:10.5px;line-height:1.18;font-weight:800;color:#15366e}
.popularCount{display:block;margin-top:4px;color:#7c8ba2;font-size:8.5px;font-weight:600}
.visualMoment,.visualSection{display:none!important}

/* Professionals */
.professionalsSection{padding-top:18px;padding-bottom:34px}
.resultControls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sortLabel{font-size:11px;color:#6f7e95;font-weight:700}
.sortField{min-width:160px;width:auto;margin:0;min-height:38px!important;font-size:11px!important}
.resultControls .btn{min-height:38px;padding:7px 12px;font-size:11px}
#resultsStatus{margin:0 0 11px;color:#70809a;font-size:11px}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start}
.card{
  min-width:0;
  overflow:hidden;
  background:#fff;
  border:1px solid #dfe6ef;
  border-radius:9px;
  box-shadow:none;
  transition:.17s transform,.17s box-shadow,.17s border-color;
}
.card:hover{transform:translateY(-2px);border-color:#b8c9df;box-shadow:0 10px 24px rgba(24,56,98,.07)}
.cover{height:145px;position:relative;background:linear-gradient(135deg,#eef4fa,#e3ebf5);background-size:cover;background-position:center}
.cover img{width:100%;height:100%;object-fit:cover}
.cover:after{display:none}
.cardBadges{position:absolute;left:7px;top:7px;z-index:3;display:flex;gap:5px;flex-wrap:wrap;max-width:calc(100% - 14px)}
.cardBadges .sponsor{position:static;padding:4px 6px;border-radius:999px;background:rgba(255,255,255,.94);border:1px solid #e7eaf0;color:#b94e00;font-size:7.5px;font-weight:900}
.cardBody{padding:11px 11px 10px}
.cardHead{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.cardHead>div{min-width:0}
.card h3{margin:0 0 4px;color:#13366f;font-size:13.5px;line-height:1.25;overflow-wrap:anywhere}
.card small{display:block;color:#77869e;font-size:9px;line-height:1.35}
.rating{flex:none;color:#ff7800;font-size:10px;font-weight:900}
.cardMeta{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 8px}
.cardMeta span{padding:4px 6px;border-radius:5px;background:#f4f7fb;color:#667894;font-size:8px;line-height:1.2}
.cardFoot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:5px}
.cardFoot .btn{min-height:auto;margin:0;padding:4px 0;border:0;background:none;box-shadow:none;border-radius:0;font-size:10px;font-weight:800}
.cardFoot .cardProfileLink{color:#0d58ba}
.cardFoot .cardContactLink{color:#16864b}
.cardFoot .btn:hover{transform:none;text-decoration:underline}
.adSlot{margin:16px 0 0;padding:8px 11px;border:1px solid #e4eaf1;border-radius:8px;background:#fbfcfe;color:#7b8aa0;font-size:9px;text-align:center}

/* How it works */
.howSection,#como-funciona{
  padding:30px 0 31px;
  background:#fff;
  border-top:1px solid #eef2f6;
  border-bottom:1px solid #eef2f6;
}
.compactTitle{margin-bottom:7px}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:6px}
.step{
  position:relative;
  min-height:125px;
  padding:13px 28px 10px 8px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.step:not(:last-child)::after{content:"›";position:absolute;right:7px;top:45px;color:#a7b3c4;font-size:27px;font-weight:300}
.stepTop{height:38px;display:flex;align-items:center;gap:11px;margin-bottom:8px}
.stepN{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#ff6900;color:#fff;font-size:11px;font-weight:900;flex:none}
.stepIcon{width:29px;height:29px;color:#0e4da0;display:grid;place-items:center}
.stepIcon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.step h3{margin:0 0 5px;color:#14366e;font-size:12px}
.step p{margin:0;max-width:190px;color:#738199;font-size:9.5px;line-height:1.45}

/* Professional CTA */
.proCtaSection{padding:28px 0}
#para-profissionais .profileHero{
  display:grid;
  grid-template-columns:minmax(0,1fr) 470px;
  gap:24px;
  align-items:center;
  padding:20px 24px;
  border:1px solid #d8e5f2;
  border-radius:11px;
  background:linear-gradient(105deg,#edf6ff,#f8fbff 56%,#eaf4ff);
  box-shadow:none;
}
#para-profissionais .eyebrow{padding:0;border:0;background:transparent;color:#ff6900;text-transform:uppercase;letter-spacing:.35px;font-size:9px;font-weight:900}
#para-profissionais h2{margin:6px 0 5px!important;color:#12346e;font-size:25px!important;line-height:1.1;letter-spacing:-.6px}
#para-profissionais .profileHero>div>p{margin:0;color:#667a98;font-size:10.5px;line-height:1.45}
#para-profissionais .profileActions{
  display:grid;
  grid-template-columns:minmax(205px,1fr) minmax(180px,.85fr);
  gap:7px 15px;
  align-items:center;
  padding:0;
  border:0;
  background:transparent;
}
#para-profissionais .profileActions>.btnPrimary{grid-row:1/3;min-height:46px;margin:0;border-radius:8px;font-size:11px}
.proBenefits{display:grid;gap:5px;margin:0;color:#476485;font-size:9.5px}
.proBenefits span{display:flex;align-items:center;gap:7px}.proBenefits b{width:14px;color:#0e54ae}
.proPanelLink{min-height:auto!important;margin:0!important;padding:2px 0!important;border:0!important;background:none!important;color:#315d97!important;font-size:9px!important;justify-self:start}

/* About + footer */
.aboutSection{padding:15px 0;background:#fbfcfe;border-top:1px solid #eef2f6}
.aboutCompact{display:flex;align-items:center;gap:18px}
.aboutCompact strong{flex:none;color:#12356e;font-size:13px}
.aboutCompact p{margin:0;color:#76869d;font-size:9.5px;line-height:1.45}
.footer{padding:0;background:#fff;border-top:1px solid #e3e9f1;color:#6c7c93}
.footerMain{min-height:92px;display:grid;grid-template-columns:260px 1fr 360px;gap:24px;align-items:center;padding-block:17px}
.footerLogo{display:flex;align-items:center;gap:8px;color:#12386f;text-decoration:none}
.footerLogo img{width:37px;height:37px}.footerLogo span{display:flex;flex-direction:column}.footerLogo b{font-size:22px;line-height:1}.footerLogo small{margin-top:4px;font-size:7px;font-weight:700}
.footerBrand p{margin:6px 0 0;color:#75849a;font-size:8.5px}
.footerNav{display:flex;justify-content:center;gap:17px;flex-wrap:wrap}
.footerNav a,.footerNav button{padding:0;border:0;background:none;color:#536a8c;text-decoration:none;font:inherit;font-size:8.5px;cursor:pointer}
.footerNav a:hover,.footerNav button:hover{text-decoration:underline}
.footerCities{display:flex;flex-direction:column;gap:4px;color:#728199;font-size:8.5px;line-height:1.4}.footerCities b{color:#173a70;font-size:9px}
.footerBottom{padding:10px 0 17px;display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid #edf1f5}
.footerBottom>div{display:flex;gap:11px;flex-wrap:wrap}.footerBottom button{padding:0;border:0;background:none;color:#5f7392;text-decoration:none;font:inherit;font-size:7.5px;cursor:pointer}.footerBottom small{color:#8995a7;font-size:7.5px;text-align:right}

/* Existing internal views keep light professional treatment */
.modalBg{background:rgba(13,35,67,.42)}
.modal{background:#fff;border:1px solid #dce4ef;border-radius:18px;box-shadow:0 30px 90px rgba(39,58,92,.20)}
.close{background:#edf3f9;color:#21416d}
.modal form label{color:#385271}
.field{background:#fff;border-color:#d5dfeb;color:#203b65}
.field:focus{border-color:#7ea6d8;box-shadow:0 0 0 3px rgba(25,89,168,.10)}
.workerDash .side,.side,.stat,.profileHero,.project,.review{background:#fff;border-color:#dce4ee}
.help{color:#6c7c95}.empty{background:#f9fbfd;border-color:#d6e0ec}
.boostPanel{background:linear-gradient(135deg,#fff8f1,#fff);border-color:#f2d3ba}
.availabilityPanel{background:#f2f9f6;border-color:#cfe4da}

@media(max-width:1080px){
  .wrap{width:min(100% - 30px,1190px)}
  .navlinks{gap:16px}
  .categories{grid-template-columns:repeat(5,minmax(0,1fr))}
  .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .heroGrid{grid-template-columns:minmax(0,650px) 1fr}
  .hero{background-size:68% 100%}
  .footerMain{grid-template-columns:220px 1fr 300px}
}
@media(max-width:820px){
  .nav{flex-wrap:wrap;gap:10px}
  .logo{min-width:0}.brandIcon{width:43px;height:43px}.brandMark{font-size:27px}
  .navlinks{display:none}.navspacer{display:block}
  .hero{
    min-height:0;
    padding:32px 0 28px;
    background:
      linear-gradient(180deg,rgba(255,255,255,.98) 0 61%,rgba(255,255,255,.72) 77%,rgba(255,255,255,.22)),
      url("https://images.pexels.com/photos/32635586/pexels-photo-32635586.jpeg?auto=compress&cs=tinysrgb&w=1200") center bottom/cover no-repeat;
  }
  .heroGrid{display:block;min-height:0}
  .hero h1{max-width:620px;font-size:44px}
  .searchBox{grid-template-columns:1fr 1fr 130px}
  .trustStrip{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 0}.trustItem{border:0;padding:0}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #para-profissionais .profileHero{grid-template-columns:1fr}
  #para-profissionais .profileActions{grid-template-columns:1fr 1fr}
  #para-profissionais .profileActions>.btnPrimary{grid-row:auto}
  .footerMain{grid-template-columns:1fr 1fr}.footerCities{grid-column:1/-1}
}
@media(max-width:620px){
  .wrap{width:min(100% - 20px,1190px)}
  .nav{min-height:66px}.brandIcon{width:38px;height:38px}.brandMark{font-size:24px}.brandMark small{font-size:7px}
  .nav .btn{min-height:40px;padding-inline:11px;font-size:11px}.nav .btnPrimary{display:none}
  .hero h1{font-size:38px;letter-spacing:-1.5px}.heroSlogan{font-size:16px!important;margin-bottom:14px!important}
  .searchBox{display:flex;flex-direction:column;align-items:stretch;padding:7px}.searchBox .field,.searchBox .btn{width:100%}
  .trustStrip{grid-template-columns:1fr 1fr}
  .section{padding:29px 0}.sectionTitle h2{font-size:24px}
  .categories{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid{grid-template-columns:1fr}
  .cover{height:170px}
  .steps{grid-template-columns:1fr 1fr;gap:8px}.step{padding-right:10px}.step::after{display:none!important}
  #para-profissionais .profileHero{padding:18px}
  #para-profissionais h2{font-size:23px!important}
  #para-profissionais .profileActions{grid-template-columns:1fr}
  .aboutCompact{display:block}.aboutCompact p{margin-top:6px}
  .footerMain{grid-template-columns:1fr;gap:15px}.footerNav{justify-content:flex-start}.footerCities{grid-column:auto}
  .footerBottom{align-items:flex-start;flex-direction:column}.footerBottom small{text-align:left}
}
@media(max-width:390px){
  .trustStrip{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
}


/* ===== SGGP PROPORTION BALANCE V5 ===== */
/* Reequilibra a escala da página para desktop largo sem alterar a lógica */
.wrap{
  width:min(1460px,calc(100% - 72px));
  margin-inline:auto;
}

/* Header mais presente e proporcional à largura da página */
.nav{
  min-height:82px;
  padding:10px 0;
  gap:30px;
}
.logo{min-width:225px;gap:10px}
.brandIcon{width:54px;height:54px}
.brandMark{font-size:34px}
.brandMark small{font-size:9px}
.navlinks{gap:29px;font-size:13px}
.navContact{font-size:13px}
.nav .btn{min-height:45px;padding-inline:20px;font-size:13px}

/* Hero acompanha a mesma largura visual do restante */
.hero{
  min-height:365px;
  padding:42px 0 28px;
  background:
    linear-gradient(90deg,
      #fff 0%,
      #fff 34%,
      rgba(255,255,255,.98) 42%,
      rgba(255,255,255,.86) 50%,
      rgba(255,255,255,.42) 61%,
      rgba(255,255,255,.08) 72%,
      rgba(255,255,255,0) 100%),
    linear-gradient(180deg,rgba(255,196,126,.08),rgba(17,60,120,.03)),
    url("https://images.pexels.com/photos/32635586/pexels-photo-32635586.jpeg?auto=compress&cs=tinysrgb&w=2000") right 48%/63% 100% no-repeat;
}
.heroGrid{
  min-height:290px;
  grid-template-columns:minmax(0,760px) 1fr;
  gap:34px;
}
.hero h1{
  max-width:690px;
  font-size:clamp(46px,4.35vw,64px);
  letter-spacing:-2.35px;
}
.heroSlogan{font-size:20px!important}
.searchBox{
  width:min(870px,100%);
  grid-template-columns:minmax(0,1.4fr) minmax(250px,.95fr) 155px;
}
.trustStrip{width:min(870px,100%)}
.trustItem b{font-size:11px}
.trustItem small{font-size:9px}

/* Títulos e seções deixam de parecer miniaturizados */
.section{padding:40px 0}
.servicesSection{padding-top:32px;padding-bottom:30px}
.sectionTitle h2{font-size:30px}
.sectionTitle p{font-size:13px}
.sectionLink{font-size:12px}

/* Categorias mais largas e confortáveis */
.categories{
  grid-template-columns:repeat(10,minmax(0,1fr));
  gap:10px;
}
.cat{
  min-height:108px;
  padding:14px 9px 12px;
}
.catIcon{width:35px;height:35px;margin-bottom:8px}
.catIcon svg{width:31px;height:31px}
.catName{font-size:11px}
.popularCount{font-size:9px}

/* Cards com escala coerente e alturas alinhadas */
.professionalsSection{padding-top:22px;padding-bottom:40px}
.grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}
.card{
  display:flex;
  flex-direction:column;
  height:100%;
}
.cover{height:180px}
.cardBody{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:14px 14px 13px;
}
.card h3{font-size:15px}
.card small{font-size:10px}
.rating{font-size:11px}
.cardMeta{margin:12px 0 10px}
.cardMeta span{font-size:9px;padding:5px 7px}
.cardFoot{margin-top:auto;padding-top:4px}
.cardFoot .btn{font-size:11px}

/* Como funciona ganha escala, mas continua baixo e leve */
.howSection,#como-funciona{padding:36px 0 38px}
.steps{margin-top:10px}
.step{
  min-height:138px;
  padding:16px 34px 12px 10px;
}
.stepTop{height:42px;margin-bottom:10px}
.stepN{width:30px;height:30px;font-size:12px}
.stepIcon{width:32px;height:32px}
.stepIcon svg{width:30px;height:30px}
.step h3{font-size:13px}
.step p{font-size:10.5px;max-width:220px}
.step:not(:last-child)::after{right:10px;top:50px;font-size:30px}

/* CTA volta a ocupar a largura com presença semelhante à referência */
.proCtaSection{padding:32px 0}
#para-profissionais .profileHero{
  grid-template-columns:minmax(0,1fr) 540px;
  padding:24px 30px;
}
#para-profissionais h2{font-size:28px!important}
#para-profissionais .profileHero>div>p{font-size:11.5px}
#para-profissionais .profileActions{
  grid-template-columns:minmax(230px,1fr) minmax(200px,.85fr);
  gap:8px 18px;
}
#para-profissionais .profileActions>.btnPrimary{min-height:50px;font-size:12px}
.proBenefits{font-size:10.5px}

/* Rodapé acompanha a nova largura */
.footerMain{
  grid-template-columns:290px 1fr 390px;
  min-height:104px;
}
.footerLogo img{width:42px;height:42px}
.footerLogo b{font-size:24px}
.footerNav a,.footerNav button{font-size:9.5px}
.footerCities{font-size:9.5px}
.footerCities b{font-size:10px}

/* Desktop intermediário */
@media(max-width:1280px){
  .wrap{width:min(100% - 44px,1460px)}
  .navlinks{gap:18px}
  .categories{grid-template-columns:repeat(5,minmax(0,1fr))}
  .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .heroGrid{grid-template-columns:minmax(0,680px) 1fr}
}

/* Tablet/mobile preservado */
@media(max-width:820px){
  .wrap{width:min(100% - 28px,1460px)}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .categories{grid-template-columns:repeat(4,minmax(0,1fr))}
  .footerMain{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .wrap{width:min(100% - 20px,1460px)}
  .categories{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid{grid-template-columns:1fr}
  .cover{height:180px}
  .sectionTitle h2{font-size:25px}
}


/* ===== SGGP CENTERED AD RAILS V6 ===== */
/* Reserva faixas laterais brancas para futura publicidade, mantendo o site centralizado */
body{
  background:#fff;
}

/* Toda a área pública principal passa a formar uma coluna central única */
#homeView{
  width:min(1320px,calc(100% - 40px));
  margin-inline:auto;
  background:#fff;
}

/* Hero deixa de sangrar até as bordas da tela */
#homeView .hero{
  width:100%;
  margin-inline:auto;
}

/* Dentro da coluna central, os conteúdos usam praticamente toda a largura disponível */
#homeView .wrap{
  width:calc(100% - 48px);
  max-width:none;
  margin-inline:auto;
}

/* Cabeçalho alinhado ao mesmo eixo visual do conteúdo */
.topbar .wrap{
  width:min(1320px,calc(100% - 40px));
  max-width:none;
  margin-inline:auto;
}

/* Rodapé centralizado na mesma largura do site */
.footer .wrap{
  width:min(1320px,calc(100% - 40px));
  max-width:none;
  margin-inline:auto;
}

/* Evita que blocos internos criem sensação de desalinhamento */
.servicesSection,
.professionalsSection,
.howSection,
.proCtaSection,
.aboutSection{
  width:100%;
  margin-inline:auto;
}

/* Em telas muito largas, as laterais ficam livres para futura publicidade */
@media(min-width:1500px){
  #homeView{
    width:1320px;
  }
  .topbar .wrap,
  .footer .wrap{
    width:1320px;
  }
}

/* Em desktop comum, preserva margens discretas sem desperdiçar espaço */
@media(max-width:1499px){
  #homeView{
    width:min(1280px,calc(100% - 32px));
  }
  .topbar .wrap,
  .footer .wrap{
    width:min(1280px,calc(100% - 32px));
  }
  #homeView .wrap{
    width:calc(100% - 36px);
  }
}

/* Tablet e celular continuam ocupando a tela normalmente */
@media(max-width:820px){
  #homeView,
  .topbar .wrap,
  .footer .wrap{
    width:100%;
  }
  #homeView .wrap,
  .topbar .wrap,
  .footer .wrap{
    padding-left:14px;
    padding-right:14px;
    box-sizing:border-box;
  }
}


/* ===== SGGP FINAL POLISH V7 ===== */
/* Lapidação final: mais legibilidade, menos peso visual, sem alteração funcional */

/* Header */
.nav{
  min-height:76px;
  padding:8px 0;
  gap:28px;
}
.logo{gap:9px}
.brandIcon{width:50px;height:50px}
.brandMark{font-size:32px}
.brandMark small{font-size:8.8px}
.navlinks{gap:26px;font-size:12.5px}
.navContact{font-size:12.5px}
.nav .btn{
  min-height:42px;
  padding-inline:18px;
  font-size:12.5px;
}
.nav .btnPrimary{
  box-shadow:0 7px 16px rgba(255,105,0,.14);
}

/* Hero */
.hero{
  min-height:346px;
  padding:38px 0 25px;
}
.heroGrid{min-height:278px}
.hero h1{
  max-width:680px;
  font-size:clamp(44px,4.1vw,60px);
  line-height:1.025;
  letter-spacing:-2.15px;
}
.heroSlogan{
  margin-bottom:16px!important;
  font-size:19px!important;
}
.searchBox{
  padding:5px;
  border-color:#dfe7f0;
  box-shadow:0 8px 20px rgba(25,59,104,.08);
}
.searchBox .field{
  min-height:46px;
  padding-inline:14px;
  font-size:13.5px;
}
.searchBox>.btn{
  min-height:46px;
  font-size:13px;
}
#filterHint{
  font-size:10.5px!important;
  color:#73849d;
}

/* Benefícios — legíveis sem virar cards */
.trustStrip{
  margin-top:15px;
  padding-top:13px;
}
.trustItem{
  gap:10px;
  padding-inline:18px;
}
.trustItem:first-child{padding-left:4px}
.trustIcon{
  width:34px;
  height:34px;
  font-size:22px;
}
.trustItem b{
  font-size:12.5px;
  line-height:1.2;
}
.trustItem small{
  margin-top:3px;
  font-size:10.5px;
  line-height:1.25;
  color:#71829c;
}

/* Seções */
.section{padding:35px 0}
.sectionTitle{margin-bottom:14px}
.sectionTitle h2{font-size:28px}
.sectionTitle p{
  font-size:12.5px;
  line-height:1.45;
}
.sectionLink{font-size:11.5px}

/* Categorias */
.servicesSection{
  padding-top:28px;
  padding-bottom:27px;
}
.categories{gap:9px}
.cat{
  min-height:100px;
  padding:12px 8px 11px;
  border-color:#e2e8f0;
}
.cat:hover{
  box-shadow:0 5px 14px rgba(28,60,104,.05);
}
.catIcon{
  width:33px;
  height:33px;
  margin-bottom:7px;
}
.catIcon svg{width:29px;height:29px}
.catName{font-size:11.5px}
.popularCount{
  margin-top:4px;
  font-size:9.5px;
}

/* Profissionais */
.professionalsSection{
  padding-top:18px;
  padding-bottom:34px;
}
#resultsStatus{
  font-size:11.5px;
}
.cover{height:165px}
.cardBody{padding:13px 13px 12px}
.card h3{font-size:14.5px}
.card small{
  font-size:10.5px;
  line-height:1.4;
}
.rating{font-size:10.5px}
.cardMeta{
  margin:10px 0 8px;
  gap:6px;
}
.cardMeta span{
  padding:4px 6px;
  font-size:9.5px;
}
.cardFoot .btn{font-size:10.5px}
.cardBadges .sponsor{
  font-size:7.5px;
}
.adSlot{
  margin-top:13px;
  padding:7px 10px;
  border-color:#edf1f5;
  background:#fff;
  color:#8794a7;
  font-size:8.5px;
}

/* Como funciona */
.howSection,#como-funciona{
  padding:31px 0 32px;
}
.steps{margin-top:7px}
.step{
  min-height:126px;
  padding:13px 31px 10px 9px;
}
.stepTop{
  height:39px;
  margin-bottom:8px;
}
.stepN{
  width:28px;
  height:28px;
  font-size:11px;
}
.stepIcon{width:30px;height:30px}
.stepIcon svg{width:27px;height:27px}
.step h3{font-size:12.5px}
.step p{
  max-width:210px;
  font-size:10.5px;
  line-height:1.5;
}
.step:not(:last-child)::after{
  top:46px;
  color:#b4bfce;
  font-size:27px;
}

/* CTA profissionais */
.proCtaSection{padding:27px 0}
#para-profissionais .profileHero{
  padding:21px 26px;
  border-color:#e0e8f1;
  background:linear-gradient(105deg,#f3f8fe,#fbfdff 58%,#eef6ff);
}
#para-profissionais .eyebrow{font-size:9px}
#para-profissionais h2{
  margin:5px 0 4px!important;
  font-size:26px!important;
}
#para-profissionais .profileHero>div>p{
  font-size:11px;
}
#para-profissionais .profileActions>.btnPrimary{
  min-height:47px;
  font-size:11.5px;
  box-shadow:0 7px 15px rgba(255,105,0,.14);
}
.proBenefits{
  gap:5px;
  font-size:10px;
}

/* Sobre — curto e discreto na home */
.aboutSection{
  padding:14px 0;
}
.aboutCompact{
  gap:16px;
}
.aboutCompact strong{
  font-size:13.5px;
}
.aboutCompact p{
  font-size:10.5px;
}

/* Rodapé */
.footerMain{
  min-height:88px;
  padding-block:14px;
}
.footerLogo img{width:38px;height:38px}
.footerLogo b{font-size:22px}
.footerLogo small{font-size:7.5px}
.footerBrand p{font-size:9px}
.footerNav{gap:15px}
.footerNav a,.footerNav button{font-size:9px}
.footerCities,.footerCities b{font-size:9px}
.footerBottom{
  padding:9px 0 13px;
}
.footerBottom button,
.footerBottom small{
  font-size:8px;
}

/* Campos e textos auxiliares globais: legibilidade mínima mais confortável */
.help{
  line-height:1.45;
}
.sortLabel{font-size:11px}
.sortField{font-size:11px!important}

/* Desktop intermediário */
@media(max-width:1280px){
  .trustItem{
    padding-inline:13px;
  }
  .trustItem b{font-size:11.5px}
  .trustItem small{font-size:10px}
}

/* Mobile */
@media(max-width:820px){
  .nav{
    min-height:70px;
    padding:7px 0;
  }
  .hero{
    padding-top:30px;
  }
  .trustItem b{font-size:12px}
  .trustItem small{font-size:10.5px}
  .cover{height:170px}
}
@media(max-width:620px){
  .section{padding:28px 0}
  .sectionTitle h2{font-size:24px}
  .sectionTitle p{font-size:12px}
  .trustStrip{gap:12px 8px}
  .trustItem{padding:0}
  .catName{font-size:11.5px}
  .popularCount{font-size:9.5px}
  .step p{font-size:10.5px}
  .aboutCompact p{font-size:10.5px}
}


/* ===== SGGP CATEGORY STRIP V8 ===== */
/* Somente apresentação da seção de categorias */
.servicesSection{
  padding-top:30px;
  padding-bottom:28px;
}
.servicesSection .sectionTitle{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  margin-bottom:16px;
}
.servicesSection .sectionTitle>div{
  min-width:0;
}
.servicesSection .sectionTitle h2{
  margin:0;
  color:#12366f;
  font-size:29px;
  line-height:1.08;
  letter-spacing:-.65px;
}
.servicesSection .sectionTitle p{
  margin:5px 0 0;
  color:#71819a;
  font-size:12.5px;
  line-height:1.4;
}
.servicesSection .sectionLink{
  margin-top:5px;
  color:#0c59bd;
  font-size:11.5px;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
}
.servicesSection .sectionLink:hover{
  text-decoration:underline;
}

/* Uma faixa horizontal de até 10 cards no desktop */
.categories{
  display:grid;
  grid-template-columns:repeat(10,minmax(0,1fr));
  gap:12px;
  align-items:stretch;
}
.cat{
  width:100%;
  min-width:0;
  height:112px;
  min-height:112px;
  padding:13px 8px 11px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:#fff;
  border:1px solid #dfe6ef;
  border-radius:8px;
  box-shadow:none;
  color:#14396f;
  cursor:pointer;
  transition:border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.cat:hover{
  transform:translateY(-1px);
  border-color:#b9c9df;
  box-shadow:0 4px 12px rgba(32,65,108,.04);
}
.catIcon{
  width:38px;
  height:38px;
  margin:0 0 7px;
  display:grid;
  place-items:center;
  color:#0b56bd;
}
.catIcon svg{
  width:34px;
  height:34px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.catName{
  min-height:26px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#17386f;
  font-size:11.5px;
  line-height:1.12;
  font-weight:750;
}
.popularCount{
  margin-top:5px;
  display:block;
  color:#7b8aa0;
  font-size:9.5px;
  line-height:1.15;
  font-weight:600;
}

/* Variações sutis de cor, mantendo o mesmo estilo de ícone */
.cat[data-id="Jardineiro"] .catIcon{
  color:#5bad3b;
}
.cat[data-id="Pedreiro"] .catIcon,
.cat[data-id="Pequenos reparos"] .catIcon,
.cat[data-id="Obras e reformas"] .catIcon{
  color:#ff6a00;
}

/* Mantém a faixa organizada em telas menores sem afetar cliques/dados */
@media(max-width:1280px){
  .categories{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
}
@media(max-width:820px){
  .servicesSection .sectionTitle{
    align-items:flex-start;
  }
  .categories{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
  }
}
@media(max-width:620px){
  .servicesSection .sectionTitle h2{
    font-size:25px;
  }
  .servicesSection .sectionTitle p{
    font-size:12px;
  }
  .servicesSection .sectionLink{
    display:none;
  }
  .categories{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .cat{
    height:108px;
    min-height:108px;
  }
}


/* ===== SGGP MOBILE CTA FIX V9 ===== */
/* Corrige somente o bloco "Divulgue seus serviços" no celular */
@media(max-width:620px){
  .proCtaSection{
    padding:24px 0 26px;
  }

  #para-profissionais .profileHero{
    display:block!important;
    width:100%;
    padding:20px!important;
    box-sizing:border-box;
    border-radius:12px;
  }

  #para-profissionais .profileHero>div:first-child{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }

  #para-profissionais .eyebrow{
    display:block;
    margin:0 0 6px;
    font-size:10px;
  }

  #para-profissionais h2{
    width:100%!important;
    max-width:none!important;
    margin:0 0 8px!important;
    font-size:28px!important;
    line-height:1.08!important;
    letter-spacing:-.5px!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  #para-profissionais .profileHero>div:first-child>p{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    font-size:13px!important;
    line-height:1.55!important;
    color:#667a98;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  #para-profissionais .profileActions{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:none!important;
    margin-top:18px;
    padding:0!important;
    gap:12px!important;
    align-items:stretch!important;
  }

  #para-profissionais .profileActions>.btnPrimary{
    width:100%!important;
    min-height:48px!important;
    margin:0!important;
    padding:0 14px!important;
    box-sizing:border-box;
    font-size:13px!important;
    line-height:1.2!important;
    white-space:normal!important;
    text-align:center;
  }

  #para-profissionais .proBenefits{
    width:100%!important;
    margin:0!important;
    gap:7px!important;
    font-size:11px!important;
  }

  #para-profissionais .proBenefits span{
    width:100%;
  }

  #para-profissionais .proPanelLink{
    width:auto!important;
    align-self:flex-start!important;
    margin:0!important;
    padding:2px 0!important;
    font-size:11px!important;
  }
}


/* ===== SGGP TOP9 + OUTROS V10 ===== */
.sectionLinkButton{
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
  font:inherit;
}
.catOther .catIcon{
  color:#0b56bd;
}
.catOther{
  border-style:dashed;
}
.otherServiceGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.otherServiceItem{
  width:100%;
  display:flex;
  align-items:center;
  gap:11px;
  padding:11px 12px;
  border:1px solid #dfe6ef;
  border-radius:9px;
  background:#fff;
  color:#17386f;
  text-align:left;
  cursor:pointer;
}
.otherServiceItem:hover{
  border-color:#b9c9df;
  background:#f8fbff;
}
.otherServiceIcon{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  color:#0b56bd;
  flex:none;
}
.otherServiceIcon svg{
  width:27px;
  height:27px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.otherServiceItem span:last-child{
  min-width:0;
  display:flex;
  flex-direction:column;
}
.otherServiceItem b{
  font-size:11.5px;
  line-height:1.25;
}
.otherServiceItem small{
  margin-top:3px;
  color:#7b8aa0;
  font-size:9.5px;
}
@media(max-width:620px){
  .otherServiceGrid{
    grid-template-columns:1fr;
  }
}


/* ===== SGGP CATEGORY CAROUSEL V11 ===== */
.categories{
  position:relative;
  grid-template-columns:repeat(9,minmax(0,1fr));
  padding-inline:34px;
}
.categoryArrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:30px;
  height:54px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid #dfe6ef;
  border-radius:8px;
  background:#fff;
  color:#0b56bd;
  font-size:27px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 4px 12px rgba(32,65,108,.05);
  z-index:2;
}
.categoryArrow:hover{
  border-color:#aebfd8;
  background:#f8fbff;
}
.categoryArrowPrev{left:0}
.categoryArrowNext{right:0}

/* botão superior usa a mesma navegação do carrossel */
.sectionLinkButton{
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
  font:inherit;
  color:#0c59bd;
}

/* remove estilos temporários do antigo seletor "Outros" */
.catOther{border-style:solid}
.otherServiceGrid,.otherServiceItem{display:none!important}

@media(max-width:1280px){
  .categories{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
}
@media(max-width:820px){
  .categories{
    grid-template-columns:repeat(4,minmax(0,1fr));
    padding-inline:30px;
  }
  .categoryArrow{
    width:26px;
    height:48px;
    font-size:24px;
  }
}
@media(max-width:620px){
  .categories{
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding-inline:27px;
  }
  .categoryArrow{
    width:24px;
    height:44px;
    font-size:22px;
  }
}


/* ===== SGGP SERVICE CLEAR V12 ===== */
.serviceFieldWrap{
  position:relative;
  min-width:0;
}
.serviceFieldWrap .field{
  width:100%;
  padding-right:42px!important;
  box-sizing:border-box;
}
/* Esconde o indicador nativo do datalist no Chrome/Edge para usar o X quando preenchido */
#serviceInput::-webkit-calendar-picker-indicator{
  opacity:0;
  display:none!important;
}
.serviceClear{
  position:absolute;
  right:9px;
  top:50%;
  transform:translateY(-50%);
  width:28px;
  height:28px;
  padding:0;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#5f7392;
  font-size:22px;
  line-height:1;
  cursor:pointer;
  z-index:3;
}
.serviceClear:hover{
  background:#eef3f9;
  color:#153d78;
}
.serviceClear.hidden{
  display:none!important;
}
@media(max-width:620px){
  .serviceClear{
    width:32px;
    height:32px;
    right:8px;
    font-size:24px;
  }
}


/* ===== SGGP COLOR SERVICE ICONS V13 ===== */
.catIcon{
  width:42px;
  height:42px;
  margin-bottom:8px;
  display:grid;
  place-items:center;
  color:inherit;
}
.serviceEmoji{
  display:block;
  font-size:30px;
  line-height:1;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
  transform:translateZ(0);
}
.cat:hover .serviceEmoji{
  transform:translateY(-1px) scale(1.03);
}
.otherServiceIcon .serviceEmoji{
  font-size:26px;
}
@media(max-width:620px){
  .serviceEmoji{
    font-size:28px;
  }
}


/* ===== SGGP HOW IT WORKS APPROVED V14 ===== */
/* Somente a seção "Como funciona?" — visual aprovado */
#como-funciona{
  padding:42px 0 40px;
  background:#fff;
  border-top:1px solid #eef2f6;
  border-bottom:1px solid #eef2f6;
}
#como-funciona .compactTitle{
  margin-bottom:28px;
}
#como-funciona .compactTitle h2{
  margin:0;
  color:#102f70;
  font-size:36px;
  line-height:1.05;
  letter-spacing:-1px;
  font-weight:850;
}
#como-funciona .compactTitle p{
  margin:7px 0 0;
  color:#6f809b;
  font-size:14px;
  line-height:1.4;
}
#como-funciona .steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:56px;
  margin:0;
  align-items:start;
}
#como-funciona .step{
  position:relative;
  min-height:188px;
  padding:0 8px;
  text-align:center;
  background:transparent;
  border:0;
  box-shadow:none;
}
#como-funciona .stepTop{
  position:relative;
  width:112px;
  height:112px;
  margin:0 auto 16px;
  display:grid;
  place-items:center;
}
#como-funciona .stepIcon{
  width:112px;
  height:112px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#eef6ff;
  color:#0b4b9f;
}
#como-funciona .stepIcon svg{
  width:52px;
  height:52px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}
#como-funciona .stepN{
  position:absolute;
  left:-10px;
  top:-6px;
  z-index:2;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#ff6900;
  color:#fff;
  font-size:16px;
  font-weight:900;
  box-shadow:0 4px 10px rgba(255,105,0,.12);
}
#como-funciona .step h3{
  margin:0 0 8px;
  color:#102f70;
  font-size:17px;
  line-height:1.2;
  font-weight:850;
}
#como-funciona .step p{
  max-width:235px;
  margin:0 auto;
  color:#6f809b;
  font-size:13px;
  line-height:1.5;
}
#como-funciona .step:not(:last-child)::after{
  content:"→";
  position:absolute;
  top:43px;
  right:-40px;
  color:#98a8bd;
  font-size:38px;
  line-height:1;
  font-weight:300;
}

/* Mantém a leitura boa em telas intermediárias */
@media(max-width:1100px){
  #como-funciona .steps{
    gap:34px;
  }
  #como-funciona .step:not(:last-child)::after{
    right:-28px;
  }
  #como-funciona .stepIcon,
  #como-funciona .stepTop{
    width:96px;
    height:96px;
  }
  #como-funciona .stepIcon svg{
    width:46px;
    height:46px;
  }
  #como-funciona .stepN{
    width:38px;
    height:38px;
    font-size:14px;
  }
}

/* Mobile: mantém os 4 passos legíveis sem comprimir texto */
@media(max-width:820px){
  #como-funciona{
    padding:32px 0;
  }
  #como-funciona .compactTitle{
    margin-bottom:22px;
  }
  #como-funciona .compactTitle h2{
    font-size:30px;
  }
  #como-funciona .compactTitle p{
    font-size:13px;
  }
  #como-funciona .steps{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px 18px;
  }
  #como-funciona .step{
    min-height:174px;
  }
  #como-funciona .step:not(:last-child)::after{
    display:none;
  }
}
@media(max-width:520px){
  #como-funciona .steps{
    grid-template-columns:1fr;
    gap:26px;
  }
  #como-funciona .step{
    min-height:0;
  }
  #como-funciona .step p{
    max-width:270px;
    font-size:13px;
  }
}


/* ===== SGGP APPROVED LOWER BLOCK V15 ===== */
/* Bloco aprovado completo: Como funciona + CTA profissionais + faixa institucional */

/* CTA em três zonas, igual ao mockup aprovado */
.proCtaSection{
  padding:26px 0 28px;
  background:#fff;
}
#para-profissionais .proCtaApproved{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.95fr) minmax(280px,.78fr);
  gap:0;
  align-items:center;
  min-height:210px;
  padding:28px 34px;
  border:1px solid #dbe8f4;
  border-radius:14px;
  background:linear-gradient(105deg,#f4f9ff 0%,#eef7ff 54%,#f7fbff 100%);
  box-shadow:none;
}
#para-profissionais .proCtaCopy{
  min-width:0;
  padding-right:28px;
}
#para-profissionais .proCtaCopy .eyebrow{
  display:block;
  margin:0 0 10px;
  padding:0;
  border:0;
  background:transparent;
  color:#ff6900;
  font-size:10px;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.3px;
}
#para-profissionais .proCtaCopy h2{
  margin:0 0 9px!important;
  color:#102f70;
  font-size:34px!important;
  line-height:1.08;
  letter-spacing:-1px;
  font-weight:850;
}
#para-profissionais .proCtaCopy p{
  max-width:520px;
  margin:0!important;
  color:#6c7e9a;
  font-size:13px!important;
  line-height:1.5;
}

/* centro: CTA + painel */
#para-profissionais .proCtaCenter{
  min-height:150px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:0 30px;
  border-left:1px solid #d3dfec;
  border-right:1px solid #d3dfec;
}
#para-profissionais .proCtaCenter .btnPrimary{
  width:100%;
  min-height:58px;
  margin:0;
  padding:0 22px;
  border-radius:9px;
  font-size:14px;
  font-weight:850;
  box-shadow:0 10px 22px rgba(255,105,0,.18);
}
#para-profissionais .proCtaCenter .proPanelLink{
  width:auto!important;
  min-height:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#0b59bd!important;
  font-size:12px!important;
  font-weight:800!important;
  text-decoration:underline;
  box-shadow:none!important;
}

/* direita: benefícios legíveis */
#para-profissionais .proBenefitsApproved{
  display:grid;
  gap:15px;
  margin:0;
  padding-left:30px;
  color:#173a70;
}
#para-profissionais .proBenefitItem{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:12px;
  align-items:center;
}
#para-profissionais .proBenefitIcon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e8f3ff;
  color:#0b55b4;
}
#para-profissionais .proBenefitIcon svg{
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.85;
  stroke-linecap:round;
  stroke-linejoin:round;
}
#para-profissionais .proBenefitItem>span:last-child{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}
#para-profissionais .proBenefitItem b{
  color:#12356f;
  font-size:13px;
  line-height:1.2;
}
#para-profissionais .proBenefitItem small{
  color:#72829a;
  font-size:10.5px;
  line-height:1.35;
}

/* faixa institucional aprovada */
.aboutSection{
  padding:18px 0;
  background:#fff;
  border-top:1px solid #edf1f5;
  border-bottom:1px solid #edf1f5;
}
.aboutApproved{
  display:grid!important;
  grid-template-columns:auto 1px minmax(0,1fr) auto;
  gap:24px!important;
  align-items:center!important;
}
.aboutBrand{
  display:flex;
  align-items:center;
  gap:10px;
  color:#12356f;
  text-decoration:none;
}
.aboutBrand img{
  width:58px;
  height:58px;
  flex:none;
}
.aboutBrand span{
  display:flex;
  flex-direction:column;
}
.aboutBrand b{
  font-size:30px;
  line-height:.95;
  letter-spacing:-1px;
}
.aboutBrand small{
  margin-top:5px;
  color:#34567f;
  font-size:8px;
  font-weight:800;
}
.aboutDivider{
  width:1px;
  height:54px;
  background:#dbe3ed;
}
.aboutCopy{
  min-width:0;
}
.aboutCopy strong{
  display:block;
  color:#12356f;
  font-size:17px;
  line-height:1.2;
}
.aboutCopy p{
  margin:6px 0 0!important;
  color:#74849b;
  font-size:11px!important;
  line-height:1.4;
}
.aboutMore{
  color:#0c59bd;
  font-size:12px;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
}
.aboutMore:hover{
  text-decoration:underline;
}

/* Desktop intermediário */
@media(max-width:1180px){
  #para-profissionais .proCtaApproved{
    grid-template-columns:minmax(0,1fr) minmax(300px,.9fr) minmax(250px,.72fr);
    padding:24px 26px;
  }
  #para-profissionais .proCtaCopy h2{
    font-size:30px!important;
  }
  #para-profissionais .proCtaCenter{
    padding:0 22px;
  }
  #para-profissionais .proBenefitsApproved{
    padding-left:22px;
  }
  .aboutBrand b{
    font-size:27px;
  }
}

/* Tablet */
@media(max-width:900px){
  #para-profissionais .proCtaApproved{
    grid-template-columns:1fr 1fr;
    gap:22px 0;
  }
  #para-profissionais .proCtaCopy{
    grid-column:1/-1;
    padding:0;
  }
  #para-profissionais .proCtaCenter{
    min-height:135px;
    padding:0 22px 0 0;
    border-left:0;
    border-right:1px solid #d3dfec;
  }
  #para-profissionais .proBenefitsApproved{
    padding-left:22px;
  }
  .aboutApproved{
    grid-template-columns:auto 1px minmax(0,1fr);
  }
  .aboutMore{
    grid-column:3;
    justify-self:start;
  }
}

/* Mobile */
@media(max-width:620px){
  .proCtaSection{
    padding:22px 0 24px;
  }
  #para-profissionais .proCtaApproved{
    display:block!important;
    min-height:0;
    padding:20px!important;
    border-radius:12px;
  }
  #para-profissionais .proCtaCopy{
    width:100%!important;
    padding:0!important;
  }
  #para-profissionais .proCtaCopy .eyebrow{
    font-size:9.5px;
  }
  #para-profissionais .proCtaCopy h2{
    width:100%!important;
    margin-bottom:8px!important;
    font-size:27px!important;
    line-height:1.08!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  #para-profissionais .proCtaCopy p{
    width:100%!important;
    max-width:none!important;
    font-size:13px!important;
    line-height:1.5!important;
  }
  #para-profissionais .proCtaCenter{
    width:100%;
    min-height:0;
    margin-top:18px;
    padding:0;
    border:0;
    gap:11px;
  }
  #para-profissionais .proCtaCenter .btnPrimary{
    width:100%;
    min-height:48px;
    font-size:12.5px;
  }
  #para-profissionais .proBenefitsApproved{
    width:100%;
    margin-top:18px;
    padding:16px 0 0;
    border-top:1px solid #dbe5ef;
    gap:12px;
  }
  #para-profissionais .proBenefitItem{
    grid-template-columns:36px minmax(0,1fr);
    gap:10px;
  }
  #para-profissionais .proBenefitIcon{
    width:36px;
    height:36px;
  }
  #para-profissionais .proBenefitIcon svg{
    width:22px;
    height:22px;
  }
  #para-profissionais .proBenefitItem b{
    font-size:12px;
  }
  #para-profissionais .proBenefitItem small{
    font-size:10.5px;
  }

  .aboutSection{
    padding:15px 0;
  }
  .aboutApproved{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    gap:12px!important;
  }
  .aboutBrand{
    align-self:start;
  }
  .aboutBrand img{
    width:46px;
    height:46px;
  }
  .aboutBrand b{
    font-size:24px;
  }
  .aboutBrand small{
    font-size:7px;
  }
  .aboutDivider{
    display:none;
  }
  .aboutCopy strong{
    font-size:13px;
  }
  .aboutCopy p{
    margin-top:4px!important;
    font-size:10px!important;
  }
  .aboutMore{
    grid-column:2;
    justify-self:start;
    font-size:10.5px;
  }
}


/* ===== SGGP HOW TYPOGRAPHY TUNING V16 ===== */
/* Ajuste pedido: somente fonte da seção "Como funciona?" */
#como-funciona .compactTitle h2{
  font-size:33px;
}
#como-funciona .compactTitle p{
  font-size:13px;
}
#como-funciona .step h3{
  font-size:15.5px;
}
#como-funciona .step p{
  font-size:12px;
  line-height:1.45;
}

/* Tablet/mobile mantém boa legibilidade */
@media(max-width:820px){
  #como-funciona .compactTitle h2{
    font-size:28px;
  }
  #como-funciona .compactTitle p{
    font-size:12.5px;
  }
  #como-funciona .step h3{
    font-size:15px;
  }
  #como-funciona .step p{
    font-size:11.5px;
  }
}
@media(max-width:520px){
  #como-funciona .step p{
    font-size:12px;
  }
}


/* ===== SGGP SEARCH COUNTS + COMPACT HOW V17 ===== */
/* "Como funciona?" um pouco menor, mantendo legibilidade */
#como-funciona{
  padding-top:34px;
  padding-bottom:32px;
}
#como-funciona .compactTitle{
  margin-bottom:22px;
}
#como-funciona .compactTitle h2{
  font-size:29px;
  letter-spacing:-.75px;
}
#como-funciona .compactTitle p{
  margin-top:5px;
  font-size:12px;
}
#como-funciona .steps{
  gap:46px;
}
#como-funciona .step{
  min-height:162px;
}
#como-funciona .stepTop,
#como-funciona .stepIcon{
  width:94px;
  height:94px;
}
#como-funciona .stepTop{
  margin-bottom:12px;
}
#como-funciona .stepIcon svg{
  width:43px;
  height:43px;
}
#como-funciona .stepN{
  left:-8px;
  top:-5px;
  width:36px;
  height:36px;
  font-size:13px;
}
#como-funciona .step h3{
  margin-bottom:6px;
  font-size:14px;
}
#como-funciona .step p{
  max-width:220px;
  font-size:10.8px;
  line-height:1.42;
}
#como-funciona .step:not(:last-child)::after{
  top:35px;
  right:-33px;
  font-size:30px;
}

/* Busca de serviços com quantidade de profissionais */
.serviceFieldWrap{
  position:relative;
  z-index:20;
}
.serviceSuggestionMenu{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 7px);
  max-height:340px;
  overflow:auto;
  padding:6px;
  border:1px solid #dbe4ee;
  border-radius:10px;
  background:#fff;
  box-shadow:0 14px 34px rgba(24,55,96,.16);
  z-index:100;
}
.serviceSuggestionMenu.hidden{
  display:none!important;
}
.serviceSuggestionItem{
  width:100%;
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:8px 10px 8px 12px;
  border:0;
  border-radius:7px;
  background:#fff;
  color:#17386f;
  font:inherit;
  cursor:pointer;
  text-align:left;
}
.serviceSuggestionItem:hover,
.serviceSuggestionItem:focus-visible{
  outline:none;
  background:#f3f7fc;
}
.serviceSuggestionName{
  min-width:0;
  font-size:13px;
  font-weight:700;
  line-height:1.25;
}
.serviceSuggestionCount{
  flex:none;
  min-width:46px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:0 8px;
  border-radius:999px;
  background:#eef5fd;
  color:#1754a2;
}
.serviceSuggestionCount svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.serviceSuggestionCount b{
  font-size:11px;
  line-height:1;
}
.serviceSuggestionEmpty{
  padding:12px;
  color:#74849a;
  font-size:12px;
}

/* Mobile */
@media(max-width:820px){
  #como-funciona .compactTitle h2{font-size:27px}
  #como-funciona .compactTitle p{font-size:11.5px}
  #como-funciona .step h3{font-size:13.5px}
  #como-funciona .step p{font-size:10.8px}
}
@media(max-width:620px){
  .serviceSuggestionMenu{
    max-height:300px;
  }
  .serviceSuggestionItem{
    min-height:48px;
  }
  .serviceSuggestionName{
    font-size:13.5px;
  }
}


/* ===== SGGP FOOTER FINAL V18 ===== */
/* Rodapé final único, um pouco maior e mais legível */
.footer{
  background:#fff;
  border-top:1px solid #e8edf3;
}
.footerMain{
  min-height:116px;
  padding:20px 0 18px;
  display:grid;
  grid-template-columns:minmax(260px,.9fr) minmax(360px,1.15fr) minmax(280px,.9fr);
  gap:34px;
  align-items:center;
}
.footerBrand{
  min-width:0;
}
.footerLogo{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
}
.footerLogo img{
  width:52px;
  height:52px;
  flex:none;
}
.footerLogo span{
  display:flex;
  flex-direction:column;
}
.footerLogo b{
  color:#12356f;
  font-size:27px;
  line-height:.95;
  letter-spacing:-.7px;
}
.footerLogo small{
  margin-top:5px;
  color:#34567f;
  font-size:8px;
  font-weight:800;
}
.footerBrand p{
  margin:8px 0 0;
  color:#667a96;
  font-size:10.5px;
  line-height:1.35;
}
.footerNav{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:20px;
}
.footerNav a,
.footerNav button{
  padding:0;
  border:0;
  background:transparent;
  color:#294a76;
  font-size:10.5px;
  line-height:1.2;
  text-decoration:none;
  cursor:pointer;
}
.footerNav a:hover,
.footerNav button:hover{
  color:#0b59bd;
  text-decoration:underline;
}
.footerCities{
  justify-self:end;
  max-width:360px;
}
.footerCities b{
  display:block;
  margin-bottom:5px;
  color:#12356f;
  font-size:11px;
}
.footerCities span{
  display:block;
  color:#667a96;
  font-size:9.5px;
  line-height:1.45;
}
.footerBottom{
  min-height:42px;
  padding:10px 0 14px;
  border-top:1px solid #edf1f5;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.footerBottom>div{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.footerBottom button{
  padding:0;
  border:0;
  background:transparent;
  color:#657893;
  font-size:8.5px;
  cursor:pointer;
}
.footerBottom small{
  color:#8996a8;
  font-size:8px;
  text-align:right;
}

@media(max-width:900px){
  .footerMain{
    grid-template-columns:1fr 1fr;
    gap:22px;
  }
  .footerNav{
    justify-content:flex-start;
  }
  .footerCities{
    justify-self:start;
  }
}
@media(max-width:620px){
  .footerMain{
    grid-template-columns:1fr;
    gap:18px;
    padding:18px 0;
  }
  .footerLogo img{
    width:48px;
    height:48px;
  }
  .footerLogo b{
    font-size:25px;
  }
  .footerBrand p{
    font-size:10.5px;
  }
  .footerNav{
    gap:14px;
  }
  .footerNav a,
  .footerNav button{
    font-size:10px;
  }
  .footerCities{
    max-width:none;
  }
  .footerBottom{
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
  }
  .footerBottom small{
    text-align:left;
  }
}


/* ===== SGGP MOBILE CATEGORIES V14 ===== */
/* Exclusivo para celular: 6 categorias visíveis em grade 3x2. Desktop/tablet permanecem inalterados. */
@media(max-width:620px){
  .servicesSection .categories{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    padding-inline:0!important;
  }
  .servicesSection .cat{
    height:118px!important;
    min-height:118px!important;
    padding:10px 5px 9px!important;
    border-radius:10px!important;
  }
  .servicesSection .catIcon{
    width:38px!important;
    height:38px!important;
    margin-bottom:7px!important;
  }
  .servicesSection .serviceEmoji{
    font-size:28px!important;
  }
  .servicesSection .catName{
    min-height:28px!important;
    font-size:11px!important;
    line-height:1.15!important;
  }
  .servicesSection .popularCount{
    margin-top:4px!important;
    font-size:9px!important;
    line-height:1.15!important;
  }
  .servicesSection .categoryArrow{
    width:26px!important;
    height:46px!important;
    top:50%!important;
  }
  .servicesSection .categoryArrowPrev{left:-5px!important}
  .servicesSection .categoryArrowNext{right:-5px!important}
}


/* ===== SGGP ACCESSIBILITY CONTRAST V19 ===== */
/* Reforça contraste sem alterar estrutura, espaçamento ou dimensões aprovadas. */
#filterHint{color:#64748b!important}
.sectionTitle p{color:#64748b!important}
.popularCount{color:#64748b!important}


/* ===== SGGP ACCESSIBILITY DETAILS V20 ===== */
/* Ajustes somente de contraste em textos pequenos; sem alterar layout. */
.sortLabel,#resultsStatus,.card small,.cardMeta span{color:#5f6f85!important}
.rating{color:#b45309!important}
