/*
  QueroSites - style.css organizado
  Observação de qualidade:
  - O arquivo foi apenas formatado e separado visualmente.
  - A ordem das regras foi preservada para não alterar o layout.
  - Próxima melhoria recomendada: separar em arquivos por módulo:
    base.css, header.css, hero.css, portfolio.css, admin.css.
*/

:root {
  --navy:#001B5E;
  --blue:#0A66FF;
  --sky:#25A4FF;
  --orange:#FF6600;
  --green:#25D366;
  --white:#fff;
  --ink:#07142f;
  --muted:#64708a;
  --bg:#f5f8ff;
  --line:#dfe7f4;
  --radius:24px;
  --shadow:0 20px 60px rgba(0,27,94,
.12)
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth
}

body {
  margin:0;
  font-family:Inter,Arial,sans-serif;
  color:var(--ink);
  background:var(--bg)
}

a {
  text-decoration:none;
  color:inherit
}

.container {
  width:min(1180px,92%);
  margin:auto
}

.topbar {
  position:sticky;
  top:0;
  z-index:9;
  background:rgba(255,255,255,
.94);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line)
}

.nav {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 0
}

.logo {
  height:74px;
  max-width:300px;
  object-fit:contain
}

.menu {
  display:flex;
  gap:14px;
  align-items:center;
  color:var(--navy);
  font-weight:900
}

.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:999px;
  padding:14px 22px;
  font-weight:950;
  letter-spacing:.02em;
  transition:.2s;
  border:0;
  cursor:pointer;
  text-transform:uppercase
}

.btn-primary {
  background:var(--orange);
  color:white;
  box-shadow:0 16px 34px rgba(255,102,0,
.32)
}

.btn-secondary {
  background:white;
  color:var(--navy);
  border:1px solid var(--line)
}

.btn-whatsapp {
  background:var(--green);
  color:white;
  box-shadow:0 12px 28px rgba(37,211,102,
.26)
}

.btn.full {
  width:100%;
  margin-top:12px
}

.btn:hover {
  transform:translateY(-2px)
}

.hero {
  padding:62px 0 40px;
  background:radial-gradient(circle at 18% 8%,rgba(37,164,255,
.22),transparent 32%),linear-gradient(180deg,
#fff,
#f5f8ff)
}

.hero-grid {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:44px;
  align-items:center
}

.badge {
  display:inline-flex;
  background:#eaf3ff;
  color:var(--blue);
  padding:9px 14px;
  border-radius:999px;
  font-weight:900;
  margin-bottom:16px
}

.badge.orange {
  background:#fff0e7;
  color:var(--orange)
}

.hero h1 {
  font-size:clamp(38px,5vw,70px);
  line-height:1.02;
  margin:0 0 18px;
  color:var(--navy);
  letter-spacing:-2.4px
}

.hero p {
  font-size:20px;
  line-height:1.62;
  color:var(--muted);
  margin:0 0 24px
}

.hero-actions {
  display:flex;
  gap:14px;
  flex-wrap:wrap
}

.seal-row {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 26px
}

.seal-row span {
  background:white;
  border:1px solid var(--line);
  border-radius:999px;
  padding:10px 14px;
  font-weight:850;
  color:var(--navy);
  box-shadow:0 8px 22px rgba(0,27,94,
.05)
}

.hero-card {
  background:white;
  border-radius:34px;
  padding:30px;
  box-shadow:var(--shadow);
  border:1px solid var(--line)
}

.sales-card {
  position:relative
}

.sales-card h2 {
  font-size:34px;
  line-height:1.08;
  color:var(--navy);
  margin:18px 0 8px
}

.sales-card ul,
.offer ul {
  list-style:none;
  padding:0;
  margin:20px 0
}

.sales-card li,
.offer li {
  padding:8px 0;
  color:var(--muted);
  font-weight:750
}

.section {
  padding:72px 0
}

.section.white {
  background:white
}

.section-title {
  text-align:center;
  margin-bottom:34px
}

.section-title h2 {
  font-size:clamp(30px,4vw,48px);
  color:var(--navy);
  margin:0 0 10px;
  letter-spacing:-1px
}

.section-title p {
  color:var(--muted);
  font-size:18px;
  margin:0
}

.proof-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:35px
}

.proof {
  background:white;
  border:1px solid var(--line);
  border-radius:22px;
  padding:22px;
  box-shadow:0 10px 30px rgba(0,27,94,
.06)
}

.proof strong {
  display:block;
  color:var(--navy);
  font-size:20px;
  margin-bottom:6px
}

.proof span {
  color:var(--muted);
  line-height:1.5
}

.grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px
}

.models {
  grid-template-columns:repeat(4,1fr)
}

.card {
  background:white;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:26px;
  box-shadow:0 12px 36px rgba(0,27,94,
.07)
}

.icon {
  font-size:38px;
  margin-bottom:12px
}

.card h3 {
  margin:0 0 10px;
  color:var(--navy);
  font-size:22px
}

.card p,
.card li {
  color:var(--muted);
  line-height:1.6
}

.category {
  display:inline-flex;
  color:var(--blue);
  font-weight:900;
  margin-bottom:8px
}

.portfolio-img {
  height:190px;
  border-radius:20px;
  background:linear-gradient(135deg,var(--navy),var(--blue) 55%,var(--sky));
  margin-bottom:16px;
  position:relative;
  overflow:hidden
}

.portfolio-img:before {
  content:"";
  position:absolute;
  left:22px;
  right:22px;
  top:25px;
  height:20px;
  background:rgba(255,255,255,
.55);
  border-radius:999px
}

.portfolio-img:after {
  content:"";
  position:absolute;
  left:22px;
  right:22px;
  bottom:24px;
  height:95px;
  border-radius:16px;
  background:rgba(255,255,255,
.18);
  border:1px solid rgba(255,255,255,
.3)
}

.steps {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px
}

.step {
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:24px;
  padding:26px;
  text-align:center
}

.step b {
  display:inline-grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:50%;
  background:var(--orange);
  color:white;
  font-size:22px;
  box-shadow:0 14px 28px rgba(255,102,0,
.25)
}

.step h3 {
  color:var(--navy);
  margin:16px 0 8px
}

.step p {
  color:var(--muted);
  line-height:1.55;
  margin:0
}

.testimonial .stars {
  color:var(--orange);
  font-size:18px;
  margin-bottom:10px
}

.testimonial span {
  color:var(--muted);
  font-weight:750
}

.guarantee {
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:center;
  background:linear-gradient(135deg,
#fff7f0,
#ffffff);
  border:1px solid #ffd5bd;
  border-radius:34px;
  padding:38px;
  box-shadow:var(--shadow)
}

.guarantee h2 {
  color:var(--navy);
  font-size:42px;
  margin:10px 0
}

.guarantee p {
  color:var(--muted);
  font-size:18px;
  line-height:1.6;
  max-width:730px
}

.offer {
  position:relative;
  background:white;
  border:2px solid var(--orange);
  border-radius:34px;
  padding:42px;
  text-align:center;
  box-shadow:var(--shadow);
  max-width:720px;
  margin:auto
}

.tag {
  display:inline-flex;
  background:var(--orange);
  color:#fff;
  border-radius:999px;
  padding:8px 14px;
  font-weight:950
}

.price {
  font-size:58px;
  color:var(--navy);
  font-weight:950;
  letter-spacing:-2px
}

.price small {
  font-size:20px;
  color:var(--muted)
}

.installment {
  font-weight:900;
  color:var(--blue)!important;
  margin-top:-8px!important
}

.faq {
  max-width:860px;
  margin:auto;
  display:grid;
  gap:12px
}

.faq details {
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px 20px
}

.faq summary {
  font-weight:950;
  color:var(--navy);
  cursor:pointer
}

.faq p {
  color:var(--muted);
  line-height:1.6
}

.cta {
  background:linear-gradient(135deg,var(--navy),var(--blue));
  color:white;
  border-radius:34px;
  padding:48px;
  text-align:center;
  box-shadow:var(--shadow)
}

.cta h2 {
  font-size:42px;
  margin:0 0 12px
}

.cta p {
  font-size:18px;
  opacity:.88
}

.footer {
  padding:38px 0;
  background:#06122f;
  color:white;
  text-align:center
}

.footer a {
  opacity:.85
}

.admin-wrap {
  width:min(1100px,94%);
  margin:30px auto
}

.admin-grid {
  display:grid;
  grid-template-columns:260px 1fr;
  gap:22px
}

.sidebar {
  background:var(--navy);
  color:white;
  border-radius:24px;
  padding:22px;
  position:sticky;
  top:96px;
  height:max-content
}

.sidebar a {
  display:block;
  padding:12px 14px;
  border-radius:14px;
  margin:4px 0
}

.sidebar a:hover {
  background:rgba(255,255,255,
.12)
}

.form-card {
  background:white;
  border:1px solid var(--line);
  border-radius:24px;
  padding:24px;
  margin-bottom:18px;
  box-shadow:0 10px 30px rgba(0,27,94,
.06)
}

label {
  font-weight:900;
  color:var(--navy);
  display:block;
  margin:12px 0 6px
}

input,textarea {
  width:100%;
  padding:13px;
  border:1px solid var(--line);
  border-radius:14px;
  font:inherit
}

textarea {
  min-height:90px
}

.save {
  margin-top:16px
}

.login {
  min-height:100vh;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--navy),var(--blue))
}

.login-box {
  width:min(430px,92%);
  background:white;
  border-radius:28px;
  padding:30px;
  box-shadow:var(--shadow)
}

@media(max-width:980px) {
  .hero-grid,
.admin-grid {
    grid-template-columns:1fr
  }
  .proof-grid,
.grid,
.models,
.steps {
    grid-template-columns:1fr 1fr
  }
  .guarantee {
    flex-direction:column;
    align-items:flex-start
  }
  .logo {
    height:60px
  }
  .price {
    font-size:46px
  }
}

@media(max-width:650px) {
  .menu .btn {
    padding:11px 14px;
    font-size:12px
  }
  .hero {
    padding-top:34px
  }
  .hero h1 {
    letter-spacing:-1.4px
  }
  .proof-grid,
.grid,
.models,
.steps {
    grid-template-columns:1fr
  }
  .hero-card {
    padding:24px
  }
  .guarantee h2,
.cta h2 {
    font-size:30px
  }
  .cta,
.guarantee,
.offer {
    padding:28px
  }
  .btn {
    width:100%
  }
  .nav .btn {
    width:auto
  }
  .logo {
    height:54px;
    max-width:210px
  }
}

/* V3 refinamentos */
.logo {
  height:58px;
  max-width:310px
}

.footer-logo {
  height:58px;
  max-width:310px;
  object-fit:contain
}

.menu a:not(.btn) {
  font-weight:950;
  color:var(--navy)
}

.availability {
  display:inline-block;
  background:#fff7f0;
  border:1px solid #ffd5bd;
  color:#a94600;
  border-radius:999px;
  padding:10px 16px;
  font-weight:950;
  margin:0 0 18px
}

.availability strong {
  color:var(--orange)
}

.old-price {
  font-weight:950;
  color:#8a94aa;
  text-decoration:line-through;
  margin:8px 0 -4px
}

.old-price.center {
  text-align:center;
  margin-top:20px
}

.portfolio-img {
  display:grid;
  place-items:end start;
  padding:18px
}

.portfolio-img span {
  position:relative;
  z-index:2;
  background:rgba(255,255,255,
.9);
  color:var(--navy);
  font-weight:950;
  border-radius:999px;
  padding:8px 12px
}

.avatar {
  width:52px;
  height:52px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--navy),var(--blue));
  color:white;
  font-size:24px;
  font-weight:950;
  margin-bottom:12px
}

.float-wa {
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:20;
  background:var(--green);
  color:white;
  font-weight:950;
  border-radius:999px;
  padding:14px 18px;
  box-shadow:0 18px 38px rgba(37,211,102,
.35)
}

@media(max-width:650px) {
  .logo {
    height:42px;
    max-width:220px
  }
  .menu a:not(.btn) {
    display:none
  }
  .float-wa {
    left:18px;
    right:18px;
    text-align:center
  }
  .footer-logo {
    height:42px
  }
  .availability {
    border-radius:18px
  }
}

/* V3.1 Portfólio gerenciado pelo admin */
.filters {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:center;
  margin:0 0 28px
}

.filter-btn {
  border:1px solid var(--line);
  background:white;
  color:var(--navy);
  font-weight:950;
  border-radius:999px;
  padding:11px 16px;
  cursor:pointer
}

.filter-btn.active,
.filter-btn:hover {
  background:var(--navy);
  color:white
}

.portfolio-click {
  display:grid;
  place-items:end start;
  color:inherit;
  background-size:cover;
  background-position:center
}

.portfolio-click:before,
.portfolio-click:after {
  pointer-events:none
}

.portfolio-click[style*="background-image"]:before,
.portfolio-click[style*="background-image"]:after {
  display:none
}

.portfolio-card p {
  min-height:54px
}

.admin-msg {
  background:#e9fff3;
  border:1px solid #baf2d2;
  color:#08743d;
  font-weight:950;
  padding:14px 18px;
  border-radius:16px
}

.admin-help {
  color:var(--muted);
  line-height:1.5
}

.admin-row {
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center
}

.admin-line {
  padding:10px 0;
  border-bottom:1px solid var(--line)
}

select {
  width:100%;
  padding:13px;
  border:1px solid var(--line);
  border-radius:14px;
  font:inherit;
  background:white
}

.project-edit {
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px;
  margin:14px 0;
  background:#fbfdff
}

.inline-form {
  margin-bottom:18px
}

@media(max-width:650px) {
  .admin-row {
    grid-template-columns:1fr
  }
  .filters {
    justify-content:flex-start
  }
  .filter-btn {
    width:100%;
  }
  .portfolio-card p {
    min-height:auto
  }
}

/* QueroSites Admin V3.2 - Organização inspirada no PlayLives */
.qs-admin-body {
  background:#f4f7f6;
  color:#071333;
  min-height:100vh;
}

.qs-admin-body .topbar {
  display:none;
}

.qs-admin-shell {
  display:grid;
  grid-template-columns:250px 1fr;
  min-height:100vh;
}

.qs-admin-sidebar {
  background:#fff;
  border-right:1px solid #e1e7ef;
  padding:24px 18px;
  position:sticky;
  top:0;
  height:100vh;
  overflow:auto;
}

.qs-admin-brand {
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:22px;
}

.qs-admin-brand img {
  width:190px;
  max-width:100%;
  height:auto;
  display:block;
  object-fit:contain;
}

.qs-admin-brand span {
  font-size:13px;
  color:#5b6475;
}

.qs-admin-nav {
  display:grid;
  gap:7px;
}

.qs-admin-nav a {
  display:flex;
  align-items:center;
  gap:13px;
  padding:12px 14px;
  border-radius:12px;
  color:#071333;
  font-size:15px;
  font-weight:900;
  line-height:1.1;
}

.qs-admin-nav a span {
  width:20px;
  text-align:center;
  color:#263952;
  font-weight:900;
}

.qs-admin-nav a.active,
.qs-admin-nav a:hover {
  background:#eaf3ff;
  color:#004fd6;
}

.qs-admin-nav a.active span,
.qs-admin-nav a:hover span {
  color:#0a66ff;
}

.qs-admin-nav a.logout {
  color:#ff3b30;
  margin-top:12px;
}

.qs-admin-main {
  padding:36px;
  max-width:1280px;
  width:100%;
}

.qs-admin-top {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:26px;
}

.qs-admin-top h1 {
  margin:0 0 6px;
  color:#071333;
  font-size:34px;
  letter-spacing:-1px;
}

.qs-admin-top p {
  margin:0;
  color:#5b6475;
  font-size:16px;
}

.qs-admin-view {
  background:#fff;
  border:1px solid #dfe7f0;
  border-radius:10px;
  padding:14px 20px;
  font-weight:950;
  color:#071333;
  box-shadow:0 14px 30px rgba(10,102,255,
.12);
  white-space:nowrap;
}

.qs-admin-hero-card {
  background:#fff;
  border:1px solid #dfe7f0;
  border-left:5px solid #0a66ff;
  border-radius:18px;
  padding:24px;
  box-shadow:0 16px 34px rgba(0,27,94,
.06);
  display:flex;
  align-items:center;
  gap:18px;
  margin-bottom:24px;
}

.qs-admin-hero-icon {
  width:62px;
  height:62px;
  border-radius:16px;
  background:#eaf3ff;
  color:#0a66ff;
  display:grid;
  place-items:center;
  font-size:28px;
}

.qs-admin-hero-card h2 {
  margin:0 0 8px;
  color:#071333;
  font-size:23px;
}

.qs-admin-hero-card h2 strong {
  color:#0a66ff;
}

.qs-admin-hero-card p {
  margin:0;
  color:#5b6475;
  line-height:1.5;
}

.qs-admin-cards {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-bottom:24px;
}

.qs-stat-card {
  background:#fff;
  border:1px solid #dfe7f0;
  border-radius:18px;
  padding:26px 22px;
  box-shadow:0 14px 32px rgba(0,27,94,
.06);
  display:grid;
  grid-template-columns:54px 1fr;
  grid-template-areas:"icon text" "icon number";
  column-gap:14px;
  align-items:center;
}

.qs-stat-card span {
  grid-area:icon;
  width:52px;
  height:52px;
  border-radius:15px;
  background:#eaf3ff;
  color:#0a66ff;
  display:grid;
  place-items:center;
  font-size:23px;
}

.qs-stat-card p {
  grid-area:text;
  margin:0;
  color:#526077;
  font-size:14px;
}

.qs-stat-card strong {
  grid-area:number;
  color:#071333;
  font-size:30px;
  line-height:1;
}

.qs-admin-panel {
  background:#fff;
  border:1px solid #dfe7f0;
  border-radius:18px;
  padding:24px;
  margin-bottom:22px;
  box-shadow:0 16px 34px rgba(0,27,94,
.06);
  scroll-margin-top:20px;
}

.qs-panel-head {
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  margin-bottom:18px;
}

.qs-panel-head h2 {
  margin:0 0 6px;
  color:#071333;
  font-size:25px;
  letter-spacing:-.4px;
}

.qs-panel-head p {
  margin:0;
  color:#5b6475;
  line-height:1.5;
}

.qs-offer-mini {
  display:flex;
  align-items:baseline;
  gap:16px;
  flex-wrap:wrap;
  background:#f8fbff;
  border:1px solid #e2ebf6;
  border-radius:16px;
  padding:18px;
}

.qs-offer-mini span {
  font-weight:900;
  color:#5b6475;
}

.qs-offer-mini strong {
  font-size:34px;
  color:#001b5e;
}

.qs-offer-mini em {
  color:#0a66ff;
  font-style:normal;
  font-weight:900;
}

.qs-form-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px 18px;
}

.qs-form-grid .wide {
  grid-column:1/-1;
}

.qs-admin-body label {
  font-size:14px;
  color:#071333;
  margin:0 0 7px;
  font-weight:950;
}

.qs-admin-body input,
.qs-admin-body textarea,
.qs-admin-body select {
  border:1px solid #dbe4ef;
  background:#fff;
  border-radius:12px;
  padding:13px 14px;
  color:#071333;
  box-shadow:none;
}

.qs-admin-body input:focus,
.qs-admin-body textarea:focus,
.qs-admin-body select:focus {
  outline:2px solid rgba(10,102,255,
.14);
  border-color:#0a66ff;
}

.qs-admin-body textarea {
  min-height:96px;
  resize:vertical;
}

.qs-inline-form {
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  margin-bottom:18px;
}

.qs-admin-line {
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  padding:12px 0;
  border-bottom:1px solid #edf1f6;
  align-items:center;
}

.qs-project-edit {
  border:1px solid #dfe7f0;
  background:#fbfdff;
  border-radius:16px;
  padding:18px;
  margin:14px 0;
}

.qs-project-head {
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  margin-bottom:12px;
}

.qs-project-head strong {
  color:#071333;
  font-size:18px;
}

.qs-admin-body .btn {
  border-radius:10px;
  text-transform:none;
  padding:12px 18px;
  letter-spacing:0;
}

.qs-admin-body .btn-primary {
  background:#ff7a00;
  color:#fff;
  box-shadow:0 12px 28px rgba(255,122,0,
.22);
}

.qs-admin-body .btn-secondary {
  background:#fff;
  color:#071333;
  border:1px solid #dfe7f0;
  box-shadow:none;
}

.qs-admin-body .save {
  margin-top:18px;
}

.qs-admin-body .admin-msg {
  position:sticky;
  top:12px;
  z-index:2;
  background:#ecfff5;
  border:1px solid #bdeed3;
  color:#0b7d40;
  font-weight:950;
  padding:14px 18px;
  border-radius:14px;
  box-shadow:0 12px 24px rgba(0,0,0,
.04);
}

@media(max-width:1050px) {
  .qs-admin-shell {
    grid-template-columns:1fr;
  }
  .qs-admin-sidebar {
    position:relative;
    height:auto;
    border-right:0;
    border-bottom:1px solid #e1e7ef;
  }
  .qs-admin-nav {
    grid-template-columns:repeat(2,1fr);
  }
  .qs-admin-main {
    padding:24px;
  }
  .qs-admin-cards {
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:650px) {
  .qs-admin-main {
    padding:18px;
  }
  .qs-admin-top {
    flex-direction:column;
  }
  .qs-admin-view {
    width:100%;
    text-align:center;
  }
  .qs-admin-nav {
    grid-template-columns:1fr;
  }
  .qs-admin-cards {
    grid-template-columns:1fr;
  }
  .qs-form-grid,
.qs-inline-form,
.qs-admin-line {
    grid-template-columns:1fr;
  }
  .qs-panel-head,
.qs-project-head {
    flex-direction:column;
    align-items:flex-start;
  }
  .qs-admin-brand img {
    width:170px;
  }
}

/* V3.3 - edição real do portfólio */
.qs-actions {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end
}

.qs-admin-body .btn.danger {
  color:#d93025;
  border-color:#ffd1cc;
  background:#fff7f6
}

.qs-admin-thumb {
  width:160px;
  height:95px;
  object-fit:cover;
  border-radius:12px;
  border:1px solid #dfe7f0;
  background:#eef3f8;
  display:block
}

.qs-thumb-link {
  display:inline-block
}

.qs-no-thumb {
  width:160px;
  height:95px;
  border-radius:12px;
  border:1px dashed #c8d3e1;
  background:#f3f7fb;
  color:#6a7485;
  display:grid;
  place-items:center;
  font-weight:900
}

.qs-project-edit small {
  display:block;
  color:#6a7485;
  margin-top:6px;
  line-height:1.35
}

@media(max-width:650px) {
  .qs-actions {
    width:100%;
    justify-content:flex-start
  }
  .qs-actions .btn {
    width:100%
  }
  .qs-admin-thumb,
.qs-no-thumb {
    width:100%;
    height:160px
  }
}

/* V3.4 - conteúdo totalmente editável */
.qs-admin-repeat {
  border:1px solid #e2e9f2;
  background:#fbfdff;
  border-radius:16px;
  padding:16px;
  margin:14px 0
}

.qs-admin-repeat .qs-form-grid {
  margin:0
}

.avatar-img {
  width:58px;
  height:58px;
  border-radius:50%;
  object-fit:cover;
  border:2px solid #e5edf8;
  margin-bottom:12px;
  display:block
}

.testimonial-proof {
  margin-top:14px;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  border-top:1px solid var(--line);
  padding-top:12px
}

.testimonial-proof img {
  max-width:86px;
  max-height:42px;
  object-fit:contain;
  border-radius:8px;
  background:#fff;
  border:1px solid var(--line)
}

.testimonial-proof a {
  font-size:13px;
  font-weight:950;
  color:var(--blue)
}

.qs-project-edit input + input {
  margin-top:8px
}

/* Ajustes V3.1: portfólio sem categoria duplicada dentro da imagem + SEO/admin */
.portfolio-img {
  padding:0;
  display:block;
  background-size:cover;
  background-position:center;
}

.portfolio-img span {
  display:none!important;
}

.portfolio-img.has-image:before,
.portfolio-img.has-image:after {
  display:none;
}

.portfolio-img img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.portfolio-card .btn-secondary {
  padding:11px 18px;
  font-size:14px;
}

.qs-admin-nav a[href="#seo"] span {
  color:var(--blue);
}

/* V3.6 - Portfólio organizado por categorias */
.page-hero {
  padding:140px 0 70px;
  background:linear-gradient(135deg,
#f7fbff,
#eef6ff);
  border-bottom:1px solid var(--line)
}

.page-hero h1 {
  max-width:820px;
  margin:14px 0 12px;
  color:var(--navy);
  font-size:clamp(34px,5vw,62px);
  line-height:1.02;
  letter-spacing:-1.8px
}

.page-hero p {
  max-width:760px;
  color:var(--muted);
  font-size:19px;
  line-height:1.55;
  margin:0
}

.back-link {
  display:inline-block;
  margin-bottom:18px;
  font-weight:950;
  color:var(--blue)
}

.category-grid {
  grid-template-columns:repeat(3,1fr)
}

.category-card {
  display:block;
  background:white;
  border:1px solid var(--line);
  border-radius:26px;
  overflow:hidden;
  box-shadow:0 22px 45px rgba(0,27,94,
.08);
  transition:.22s ease;
  color:inherit
}

.category-card:hover {
  transform:translateY(-5px);
  box-shadow:0 28px 60px rgba(0,27,94,
.14)
}

.category-cover {
  height:210px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--navy),var(--blue));
  position:relative;
  overflow:hidden
}

.category-cover:after {
  content:'QueroSites';
  position:absolute;
  right:18px;
  bottom:14px;
  color:rgba(255,255,255,
.9);
  font-weight:950;
  background:rgba(255,255,255,
.16);
  backdrop-filter:blur(8px);
  border-radius:999px;
  padding:8px 12px
}

.category-cover img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:.28s ease
}

.category-card:hover .category-cover img {
  transform:scale(1.04)
}

.category-body {
  display:grid;
  gap:8px;
  padding:22px
}

.category-body small {
  color:var(--blue);
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:12px
}

.category-body strong {
  font-size:24px;
  color:var(--navy);
  line-height:1.1
}

.category-body em {
  font-style:normal;
  color:var(--muted);
  line-height:1.5;
  min-height:48px
}

.category-body b {
  margin-top:6px;
  color:#fff;
  background:var(--orange);
  border-radius:12px;
  padding:12px 15px;
  text-align:center;
  box-shadow:0 12px 26px rgba(255,122,0,
.2)
}

.center-action {
  text-align:center;
  margin-top:28px
}

@media(max-width:900px) {
  .category-grid {
    grid-template-columns:repeat(2,1fr)
  }
}

@media(max-width:650px) {
  .page-hero {
    padding:105px 0 44px
  }
  .category-grid {
    grid-template-columns:1fr
  }
  .category-cover {
    height:190px
  }
  .category-body em {
    min-height:auto
  }
}

/* V4 - Tipografia conceitual QueroSites
   Mantém logo, layout e funcionalidades. Ajuste somente visual das fontes. */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap');
:root {
  --font-display:'Space Grotesk','Manrope',Arial,sans-serif;
  --font-body:'Manrope',Inter,Arial,sans-serif;
}

body, input, textarea, select, button {
  font-family:var(--font-body);
  letter-spacing:-0.01em;
}

h1,h2,h3,
.section-title h2,
.hero h1,
.sales-card h2,
.guarantee h2,
.cta h2,
.page-hero h1,
.demo-section h2,
.qs-admin-top h1,
.qs-panel-head h2,
.category-body strong,
.card h3,
.step h3,
.proof strong,
.price {
  font-family:var(--font-display);
  letter-spacing:-0.035em;
  font-weight:700;
}

.hero h1,
.page-hero h1 {
  font-weight:700;
  line-height:.98;
  letter-spacing:-0.045em;
}

.hero p,
.page-hero p,
.section-title p,
.card p,
.card li,
.step p,
.guarantee p,
.cta p,
.category-body em,
.qs-panel-head p,
.qs-admin-top p {
  font-family:var(--font-body);
  font-weight:500;
  letter-spacing:-0.012em;
}

.btn,
.filter-btn,
.badge,
.category,
.tag,
.seal-row span,
.menu,
.qs-admin-nav a,
.qs-admin-view,
.qs-admin-body label,
.qs-offer-mini span,
.category-body small,
.category-body b {
  font-family:var(--font-body);
  font-weight:800;
  letter-spacing:-0.005em;
}

.btn {
  letter-spacing:.015em;
}

.section-title h2 {
  line-height:1.02;
}

.qs-admin-nav a,
.qs-admin-body input,
.qs-admin-body textarea,
.qs-admin-body select {
  font-size:15px;
}

.qs-stat-card strong,
.qs-offer-mini strong {
  font-family:var(--font-display);
  letter-spacing:-0.035em;
}

@media(max-width:650px) {
  .hero h1,
.page-hero h1 {
    letter-spacing:-0.032em;
  }
}

/* V4.2 - Conversão e autoridade visual?
   Ajuste solicitado: manter a fonte forte anterior, escurecer a paleta e melhorar hierarquia.
   Não altera estrutura, JSON, Admin ou funcionalidades. */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Manrope:wght@400;500;600;700;800;900&display=swap');
:root {
  --navy:#0A192F;
  --blue:#0A66FF;
  --sky:#25A4FF;
  --orange:#FF6B35;
  --orange-hover:#F35A24;
  --ink:#0A192F;
  --muted:#475569;
  --bg:#F5F8FF;
  --shadow:0 24px 70px rgba(10,25,47,
.12);
  --font-display:'Manrope','Inter',Arial,sans-serif;
  --font-body:'Inter','Manrope',Arial,sans-serif;
}

body,input,textarea,select,button {
  font-family:var(--font-body);
  color:var(--ink);
}

h1,h2,h3,
.hero h1,
.page-hero h1,
.section-title h2,
.sales-card h2,
.guarantee h2,
.cta h2,
.demo-section h2,
.qs-admin-top h1,
.qs-panel-head h2,
.category-body strong,
.card h3,
.step h3,
.proof strong,
.price {
  font-family:var(--font-display)!important;
  font-weight:800!important;
  color:var(--navy);
}

.hero h1,
.page-hero h1 {
  letter-spacing:-0.045em!important;
  line-height:1.02!important;
}

.hero p,
.page-hero p,
.section-title p,
.card p,
.card li,
.step p,
.guarantee p,
.cta p,
.category-body em,
.qs-panel-head p,
.qs-admin-top p {
  color:var(--muted);
  font-family:var(--font-body)!important;
  font-weight:500;
}

.hero {
  padding:88px 0 58px;
  background:radial-gradient(circle at 18% 8%,rgba(37,164,255,
.18),transparent 34%),linear-gradient(180deg,
#fff,
#f5f8ff);
}

.section {
  padding:92px 0;
}

.btn,
.filter-btn,
.badge,
.category,
.tag,
.seal-row span,
.menu,
.qs-admin-nav a,
.qs-admin-view,
.qs-admin-body label,
.category-body small,
.category-body b {
  font-family:var(--font-display)!important;
  font-weight:800!important;
}

.btn-primary {
  background:var(--orange)!important;
  color:#fff!important;
  box-shadow:0 18px 38px rgba(255,107,53,
.30)!important;
}

.btn-primary:hover {
  background:var(--orange-hover)!important;
  box-shadow:0 22px 48px rgba(255,107,53,
.38)!important;
}

.btn-whatsapp {
  background:#fff!important;
  color:var(--navy)!important;
  border:1px solid var(--line)!important;
  box-shadow:0 10px 26px rgba(10,25,47,
.08)!important;
}

.btn-whatsapp:before {
  content:'●';
  color:#25D366;
  font-size:13px;
  line-height:1;
}

.hero-actions {
  align-items:center;
  gap:18px;
}

.hero-secondary-link {
  font-weight:900;
  color:var(--navy);
  border-bottom:2px solid rgba(10,25,47,
.22);
  padding:8px 0;
  transition:.2s;
}

.hero-secondary-link:hover {
  color:var(--orange);
  border-bottom-color:var(--orange);
}

.badge {
  margin-bottom:28px;
  background:#eaf3ff;
  color:var(--blue);
}

.availability {
  background:#fff4ee;
  border-color:#ffd3c1;
  color:#9a3c13;
  font-weight:900;
}

.availability strong {
  color:var(--orange);
}

.old-price {
  font-size:17px!important;
  color:#a4adbb!important;
  text-decoration:line-through;
  text-decoration-thickness:1px;
  font-weight:800!important;
  letter-spacing:-.01em;
}

.old-price.center {
  margin-top:22px;
  margin-bottom:4px;
}

.price {
  font-size:clamp(54px,7vw,82px)!important;
  line-height:.95;
  color:var(--orange)!important;
  font-weight:900!important;
  letter-spacing:-0.055em!important;
  margin:10px 0 8px;
}

.price small {
  font-size:.34em!important;
  color:var(--orange)!important;
  font-weight:900!important;
}

.installment {
  color:var(--navy)!important;
  font-size:18px;
  font-weight:900!important;
}

.offer {
  padding:54px 48px;
  border-color:rgba(255,107,53,
.7);
  box-shadow:0 28px 80px rgba(10,25,47,
.12);
}

.offer:after,
.sales-card:after {
  content:'Restam poucas vagas esta semana';
  display:inline-flex;
  margin-top:14px;
  background:#fff4ee;
  color:#9a3c13;
  border:1px solid #ffd3c1;
  border-radius:999px;
  padding:9px 14px;
  font-weight:900;
  font-size:14px;
}

.sales-card {
  padding:38px;
}

.sales-card .price {
  font-size:clamp(48px,5vw,70px)!important;
}

.steps {
  position:relative;
}

.steps:before {
  content:'';
  position:absolute;
  left:8%;
  right:8%;
  top:48px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(10,25,47,
.18),transparent);
}

.step {
  position:relative;
  background:#fff;
  text-align:left;
  padding:32px 28px;
  box-shadow:0 18px 44px rgba(10,25,47,
.07);
}

.step b {
  display:block;
  width:auto;
  height:auto;
  background:transparent;
  color:rgba(10,25,47,
.14);
  box-shadow:none;
  font-family:var(--font-display)!important;
  font-size:62px;
  line-height:.85;
  font-weight:900!important;
  letter-spacing:-0.08em;
  margin-bottom:20px;
}

.step h3 {
  margin:0 0 10px;
  font-size:22px;
}

.card,
.proof,
.category-card,
.form-card,
.qs-admin-panel,
.hero-card {
  box-shadow:0 18px 44px rgba(10,25,47,
.07);
}

.section-title h2 {
  letter-spacing:-0.035em!important;
}

.qs-admin-body .btn-primary {
  background:var(--orange)!important;
  box-shadow:0 14px 30px rgba(255,107,53,
.22)!important;
}

.qs-offer-mini strong {
  color:var(--orange)!important;
}

@media(max-width:980px) {
  .steps:before {
    display:none
  }
  .section {
    padding:74px 0
  }
  .hero {
    padding:62px 0 44px
  }
}

@media(max-width:650px) {
  .hero-actions {
    align-items:flex-start
  }
  .hero-secondary-link {
    display:inline-block
  }
  .price {
    font-size:54px!important
  }
  .offer,
.sales-card {
    padding:30px
  }
  .step b {
    font-size:54px
  }
  .section {
    padding:58px 0
  }
}

/* V4.4 - Ajuste premium realista
   Objetivo: manter a estrutura pronta, mas reduzir aparência de liquidação.
   Mais respiro, menos grito visual, preço elegante e vitrine mais forte. */
:root {
  --navy:#081A2F;
  --orange:#F26A3D;
  --orange-hover:#E85B2C;
  --muted:#43546F;
  --bg:#F4F7FC;
  --shadow:0 26px 70px rgba(8,26,47,
.11);
}

.hero {
  padding:112px 0 76px!important;
  background: radial-gradient(circle at 18% 6%,rgba(37,164,255,
.16),transparent 32%), radial-gradient(circle at 88% 18%,rgba(242,106,61,
.07),transparent 28%), linear-gradient(180deg,
#fff,
#F4F7FC)!important;
}

.hero-grid {
  gap:58px!important;
  align-items:center;
}

.hero h1 {
  max-width:650px;
  font-size:clamp(42px,5.2vw,68px)!important;
  line-height:1.01!important;
  letter-spacing:-0.043em!important;
  margin-bottom:24px!important;
}

.hero p {
  max-width:680px;
  font-size:19px!important;
  line-height:1.72!important;
  color:#455875!important;
  margin-bottom:24px!important;
}

.badge {
  margin-bottom:26px!important;
  background:rgba(10,102,255,
.08)!important;
  color:#075CE5!important;
  box-shadow:none!important;
}

.availability {
  margin:0 0 22px!important;
  background:#FFF6F1!important;
  border-color:#F9CDBB!important;
  color:#8F3918!important;
  box-shadow:0 10px 24px rgba(242,106,61,
.07);
}

.seal-row {
  gap:12px!important;
  margin-bottom:30px!important;
}

.seal-row span {
  padding:9px 13px!important;
  color:#233A5A!important;
  font-size:13px!important;
  box-shadow:0 8px 20px rgba(8,26,47,
.045)!important;
}

.btn-primary {
  background:linear-gradient(180deg,
#FF7B4D,
#F26A3D)!important;
  box-shadow:0 18px 36px rgba(242,106,61,
.26), inset 0 1px 0 rgba(255,255,255,
.22)!important;
}

.btn-primary:hover {
  background:linear-gradient(180deg,
#F87547,
#E85B2C)!important;
  box-shadow:0 22px 48px rgba(242,106,61,
.32), inset 0 1px 0 rgba(255,255,255,
.20)!important;
}

.hero-actions .btn-primary {
  padding:16px 28px!important;
  font-size:14px!important;
}

.hero-secondary-link {
  font-size:14px!important;
  color:#223753!important;
  border-bottom-color:rgba(34,55,83,
.24)!important;
}

.hero-card.sales-card {
  border-radius:30px!important;
  padding:34px 34px 32px!important;
  border:1px solid rgba(223,231,244,
.95)!important;
  box-shadow:0 28px 70px rgba(8,26,47,
.12)!important;
}

.sales-card h2 {
  font-size:30px!important;
  line-height:1.1!important;
  margin:18px 0 10px!important;
}

.sales-card ul,
.offer ul {
  margin:18px 0!important;
}

.sales-card li,
.offer li {
  padding:7px 0!important;
  font-size:14px!important;
  color:#3F506B!important;
}

.old-price {
  font-size:15px!important;
  color:#A7B0BE!important;
  margin:10px 0 0!important;
}

.price {
  font-size:clamp(44px,5.6vw,58px)!important;
  line-height:.98!important;
  color:var(--orange)!important;
  letter-spacing:-0.045em!important;
  margin:12px 0 8px!important;
}

.sales-card .price {
  font-size:clamp(42px,4.4vw,54px)!important;
}

.price small {
  font-size:.34em!important;
  margin-right:3px!important;
}

.installment {
  font-size:15px!important;
  color:#172A44!important;
  margin-top:0!important;
}

.offer:after,
.sales-card:after {
  margin-top:16px!important;
  background:#FFF6F1!important;
  color:#8F3918!important;
  border-color:#F9CDBB!important;
  font-size:12px!important;
  padding:8px 13px!important;
}

.proof-grid {
  gap:20px!important;
  margin-top:42px!important;
}

.proof {
  padding:26px!important;
  border-radius:24px!important;
}

.proof strong {
  font-size:19px!important;
}

.proof span {
  font-size:14px!important;
  color:#50617C!important;
}

.section {
  padding:96px 0!important;
}

.section.white {
  background:#fff!important;
}

.section-title {
  margin-bottom:42px!important;
}

.section-title h2 {
  font-size:clamp(32px,4vw,50px)!important;
}

.section-title p {
  max-width:760px;
  margin-left:auto!important;
  margin-right:auto!important;
  line-height:1.6!important;
}

.category-grid {
  gap:28px!important;
}

.category-card {
  border-radius:28px!important;
  box-shadow:0 24px 58px rgba(8,26,47,
.09)!important;
}

.category-cover {
  height:250px!important;
}

.category-body {
  padding:24px!important;
}

.category-body strong {
  font-size:26px!important;
}

.category-body em {
  font-size:15px!important;
  color:#50617C!important;
}

.category-body b {
  margin-top:10px!important;
  background:linear-gradient(180deg,
#FF7B4D,
#F26A3D)!important;
  box-shadow:0 14px 28px rgba(242,106,61,
.22)!important;
}

.center-action {
  margin-top:34px!important;
}

.center-action .btn {
  padding:13px 22px!important;
  font-size:13px!important;
}

.steps {
  gap:24px!important;
}

.steps:before {
  top:56px!important;
  background:linear-gradient(90deg,transparent,rgba(8,26,47,
.16),transparent)!important;
}

.step {
  min-height:205px;
  border-radius:26px!important;
  padding:32px 28px!important;
  background:#fff!important;
}

.step b {
  color:rgba(8,26,47,
.20)!important;
  font-size:58px!important;
  margin-bottom:22px!important;
}

.step h3 {
  font-size:20px!important;
}

.step p {
  font-size:14px!important;
  color:#53637C!important;
}

.card {
  padding:28px!important;
  border-radius:24px!important;
}

.icon {
  font-size:28px!important;
  margin-bottom:16px!important;
  filter:saturate(.8);
}

.card h3 {
  font-size:20px!important;
}

.card p {
  font-size:14px!important;
  color:#53637C!important;
}

.testimonial .avatar,
.testimonial .avatar-img {
  width:64px!important;
  height:64px!important;
}

.testimonial p {
  font-size:15px!important;
}

.testimonial h3 {
  font-size:20px!important;
  margin-bottom:4px!important;
}

.guarantee {
  border-radius:34px!important;
  padding:46px!important;
  background:linear-gradient(135deg,
#FFF8F4,
#FFFFFF 70%)!important;
  border-color:#F9D5C5!important;
}

.guarantee h2 {
  font-size:clamp(32px,4vw,46px)!important;
}

.guarantee p {
  color:#455875!important;
}

.offer {
  max-width:620px!important;
  padding:48px 44px!important;
  border:1.5px solid rgba(242,106,61,
.72)!important;
  box-shadow:0 30px 80px rgba(8,26,47,
.11)!important;
}

.offer .price {
  font-size:clamp(48px,6vw,62px)!important;
}

.offer .btn-primary {
  padding:15px 28px!important;
  font-size:14px!important;
}

.tag {
  background:linear-gradient(180deg,
#FF7B4D,
#F26A3D)!important;
}

.cta {
  background:linear-gradient(135deg,
#081A2F,
#0B4DD9)!important;
  padding:56px 48px!important;
}

.cta h2 {
  font-size:clamp(30px,4vw,46px)!important;
  color:#fff!important;
}

.footer {
  background:#061226!important;
}

@media(max-width:980px) {
  .hero {
    padding:76px 0 56px!important;
  }
  .hero-grid {
    gap:36px!important;
  }
  .section {
    padding:76px 0!important;
  }
  .category-cover {
    height:220px!important;
  }
}

@media(max-width:650px) {
  .hero {
    padding:52px 0 42px!important;
  }
  .hero h1 {
    font-size:clamp(38px,12vw,52px)!important;
  }
  .hero p {
    font-size:17px!important;
  }
  .price,
.sales-card .price,
.offer .price {
    font-size:46px!important;
  }
  .hero-card.sales-card,
.offer,
.guarantee,
.cta {
    padding:28px!important;
  }
  .category-cover {
    height:205px!important;
  }
  .section {
    padding:60px 0!important;
  }
  .step {
    min-height:auto;
  }
  .step b {
    font-size:50px!important;
  }
}

/* V4.4.1 - Correção controlada de espaçamento
   Gestão da qualidade: apenas reduz o vazio entre header e hero.
   Não altera grid, container, menu, admin, JSON ou funcionalidades. */
@media (min-width: 981px) {
  .hero {
    padding-top:60px!important;
    padding-bottom:64px!important;
  }
}

@media (max-width:980px) {
  .hero {
    padding-top:54px!important;
    padding-bottom:48px!important;
  }
}

@media (max-width:650px) {
  .hero {
    padding-top:38px!important;
    padding-bottom:38px!important;
  }
}

/* V4.5 - Ícones premium dos benefícios
   Gestão da qualidade: apenas visual dos ícones, sem alterar grid ou lógica. */
.benefit-icon,
.benefit-card .icon,
.beneficio-icon,
.beneficio-card .icon {
  width:72px;
  height:72px;
  border-radius:50%;
  background:#EFF6FF;
  border:1px solid rgba(10,25,47,
.08);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:22px;
  box-shadow:0 14px 28px rgba(10,25,47,
.06);
}

.benefit-icon img,
.benefit-card .icon img,
.beneficio-icon img,
.beneficio-card .icon img {
  width:44px;
  height:44px;
  object-fit:contain;
  display:block;
}

.benefit-icon svg,
.benefit-card .icon svg,
.beneficio-icon svg,
.beneficio-card .icon svg {
  width:44px;
  height:44px;
  stroke:#0A192F;
}

.benefit-card .icon:not(:has(img)):not(:has(svg)),
.beneficio-card .icon:not(:has(img)):not(:has(svg)) {
  color:#0A192F;
  font-size:0;
}

.benefit-card .icon:not(:has(img)):not(:has(svg))::before,
.beneficio-card .icon:not(:has(img)):not(:has(svg))::before {
  content:"";
  width:44px;
  height:44px;
  background:url("../img/icons/badge-check.svg") center/contain no-repeat;
  display:block;
}

/* V4.6 - Correção real dos ícones dos benefícios/serviços
   Agora o front usa servicos.icone_img em vez dos emojis antigos. */
.card .icon.premium-icon {
  width:72px;
  height:72px;
  border-radius:50%;
  background:#EFF6FF;
  border:1px solid rgba(10,25,47,
.08);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:24px;
  box-shadow:0 14px 28px rgba(10,25,47,
.06);
  font-size:0;
}

.card .icon.premium-icon img {
  width:44px;
  height:44px;
  object-fit:contain;
  display:block;
}

/* V4.7 - Limpeza visual dos cards de categorias do portfólio
   Remove aparência de catálogo e deixa mais premium. *//
.portfolio-category-count,
.category-count,
.cat-count,
.projeto-count,
.project-count,
.card-count {
  display:none!important;
}

.portfolio-category-card h3,
.category-card h3,
.portfolio-categories .card h3,
.portfolio-grid .category-card h3 {
  font-size:26px!important;
  line-height:1.15!important;
  font-weight:600!important;
  letter-spacing:-0.015em!important;
}

.portfolio-category-card .thumb,
.category-card .thumb,
.portfolio-category-card img,
.category-card img,
.portfolio-categories .card img,
.portfolio-grid .category-card img {
  border-radius:0!important;
}

.portfolio-category-card,
.category-card,
.portfolio-categories .card {
  overflow:hidden;
}

.portfolio-category-card .btn,
.category-card .btn {
  margin-top:22px;
}

/* V4.8 - Correção real dos cards de categoria do portfólio
   Remove contador no PHP e ajusta visual das classes reais: category-card, category-cover e category-body. *//
.category-body small {
  display:none!important;
}

.category-body strong {
  font-size:24px!important;
  font-weight:600!important;
  line-height:1.15!important;
  letter-spacing:-0.015em!important;
}

.category-cover {
  border-radius:0!important;
}

.category-cover img {
  border-radius:0!important;
}

.category-card {
  border-radius:22px!important;
  overflow:hidden!important;
}

/* V4.8.1 remove arredondamento da capa do portfolio */
.category-cover,
.category-cover img,
.portfolio-card .cover,
.portfolio-card .cover img,
.portfolio-grid .card img,
.portfolio-grid .card .thumb,
.portfolio-grid .card .thumb img {
  border-radius:0 !important;
}

/* FORÇA TOTAL - remover arredondamento do topo dos cards de categorias */
.category-card,
.category-grid a,
.category-grid .category-card,
a.category-card{
    border-radius:0 0 22px 22px !important;
}

.category-cover,
.category-card .category-cover,
.category-cover img,
.category-card img{
    border-radius:0 !important;
}

.category-card{
    overflow:hidden !important;
}


/* CORREÇÃO FINAL - cards de categorias com topo reto */
.category-card,
.category-grid a,
.category-grid .category-card,
a.category-card{
  border-radius:0 0 22px 22px !important;
  overflow:hidden !important;
}

.category-cover,
.category-card .category-cover,
.category-cover img,
.category-card img{
  border-radius:0 !important;
}
