/* ===================================================
   DoctorFit — Design System
   =================================================== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Plus+Jakarta+Sans:ital,wght@0,700;0,800;0,900;1,700;1,800;1,900&display=swap');

:root {
  --bg:        #ffffff;
  --bg-alt:    #f7f8fa;
  --bg-card:   #ffffff;
  --bg-card2:  #f3f4f6;

  --lime:      #cee119;
  --lime-dim:  rgba(206,225,25,.12);
  --lime-glow: rgba(206,225,25,.25);

  --white:     #1f2937;
  --muted:     #6b7280;

  --line:      rgba(0,0,0,.08);

  --r:         16px;
  --r-lg:      24px;
  --max:       1200px;
}


  .c-white{color: #fff!important;}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body {
  background: var(--bg);
  color: var(--white);
  font-family: 'Inter', sans-serif;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img { max-width:100%; display:block; }
a  { color:inherit; text-decoration:none; }

/* ── Container ── */
.wrap { max-width:var(--max); margin:0 auto; padding:0 40px; }

/* ── Typography ── */
h1,h2,h3,h4 {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:900;
  letter-spacing:-.025em;
  line-height:1.05;
}
h1 { font-size: clamp(2.8rem, 6.5vw, 5rem); }
h2 { font-size: clamp(2rem,   4.5vw, 3.4rem); }
h3 { font-size: 1.2rem; font-weight:800; }

.eyebrow {
  display: inline-block;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--lime);
  margin-bottom: 20px;
}
em, .hl { color:var(--lime); font-style:italic; }
.muted  { color:var(--muted); }
.lede {
  font-size: 1.08rem;
  color: #fff;
  max-width: 580px;
  line-height: 1.75;
}
.lede strong { color: #fff; }

/* ── Buttons ── */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight: 800;
  font-size: .8rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  border-radius: 999px;
  padding: 15px 30px;
  border: none;
  cursor: pointer;
  transition: transform .2s, box-shadow .2s, background .2s, color .2s, border-color .2s;
}
.btn-primary {
  background: var(--lime);
  color: #0e1012;
  box-shadow: 0 0 0 0 var(--lime-glow);
}
.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 36px var(--lime-glow);
}
.btn-outline {
  background: transparent;
  color: var(--white);
  border: 1.5px solid rgba(255,255,255,.22);
}
.btn-outline:hover {
  border-color: var(--lime);
  color: var(--lime);
}
.btn-sm { padding:11px 22px; font-size:.74rem; }

/* ── Header ── */
.site-header {
  position: sticky; top:0; z-index:200;
  background: rgba(24,27,31,.88);
  backdrop-filter: blur(16px) saturate(1.4);
  border-bottom: 1px solid var(--line);
}
.nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 0;
}
.logo {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:900;
  font-size:1.55rem;
  letter-spacing:-.03em;
}
.logo img{width: 150px}
.logo .accent { color:var(--lime); font-style:italic; font-weight:900; }
.nav-links { display:flex; align-items:center; gap:36px; }
.nav-links a {
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--muted);
  transition:color .2s;
}
.nav-links a:hover, .nav-links a.active { color:var(--white); }
.nav-links a.active { color:var(--lime); }

/* ── Image overlays helpers ── */
.img-overlay {
  position:absolute; inset:0;
  background: linear-gradient(to right, rgba(24,27,31,.92) 40%, rgba(24,27,31,.45) 100%);
}
.img-overlay-top {
  position:absolute; inset:0;
  background: linear-gradient(to bottom, rgba(24,27,31,.55) 0%, rgba(24,27,31,.85) 100%);
}

/* ── Section spacing ── */
.section { padding: 100px 0; }
.section-sm { padding: 64px 0; }
.section-alt { background: var(--bg-alt); }
.section-dark { background: var(--bg); }

.section-heading { text-align:center; margin-bottom:56px; }
.section-heading h2 { margin-bottom:0; }

/* ── Cards ── */
.card {
  background: var(--bg-card);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  padding: 36px;
  transition: border-color .25s, transform .25s;
}
.card:hover {
  border-color: rgba(178,240,0,.25);
  transform: translateY(-4px);
}

/* grid layouts */
.grid { display:grid; gap:24px; }
.g3  { grid-template-columns:repeat(3,1fr); }
.g2  { grid-template-columns:repeat(2,1fr); }
.g4  { grid-template-columns:repeat(4,1fr); }

/* check badge */
.check {
  width:44px; height:44px; border-radius:12px;
  background:var(--lime-dim);
  color:var(--lime);
  display:flex; align-items:center; justify-content:center;
  font-size:1.1rem; font-weight:900;
  margin-bottom:22px;
  flex-shrink:0;
}
.num-big {
  display:block;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:900;
  font-size:3rem;
  color:var(--lime);
  margin-bottom:14px;
}

/* ── Stats strip ── */
.stats-strip {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1px;
  background: var(--line);
  border-radius:var(--r-lg);
  overflow:hidden;
}
.stat-cell {
  background:var(--bg-card2);
  text-align:center;
  padding:52px 32px;
}
.stat-num {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:900;
  font-size:clamp(2.8rem,5vw,4rem);
  color:var(--lime);
  line-height:1;
  margin-bottom:10px;
}
.stat-label {
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
  color: #000;
}

/* ── Hero (página home) ── */
.hero-home {
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.hero-home .bg-img {
  position:absolute; inset:0;
  background: url('images/f2.jpg') center/cover no-repeat;
}
.hero-home .bg-img::after {
  content:'';
  position:absolute; inset:0;
  background: linear-gradient(105deg, rgba(24,27,31,.96) 42%, rgba(24,27,31,.5) 100%);
}
.hero-home .content { position:relative; z-index:2; padding:100px 0 80px; }

/* ── CTA band with bg ── */
.cta-band {
  position:relative; overflow:hidden;
  text-align:center;
}
.cta-band .bg-img {
  position:absolute; inset:0;
  background: url('images/estudio.jpg') center/cover no-repeat;
}
.cta-band .bg-img::after {
  content:'';
  position:absolute; inset:0;
  background: rgba(14,16,18,.88);
}
.cta-band .content { position:relative; z-index:2; padding:100px 0; }
.cta-band h2 { margin-bottom:36px; }

/* ── Footer ── */
.site-footer {
  border-top: 1px solid var(--line);
  padding: 60px 0;
}
.footer-row {
  display:flex; justify-content:space-between; align-items:flex-end;
  flex-wrap:wrap; gap:24px;
}
.footer-brand .logo { margin-bottom:12px; }
.footer-brand p { color:var(--muted); font-size:.9rem; max-width:380px; }
.footer-copy { color:var(--muted); font-size:.84rem; }

/* ── Pill row ── */
.pill-row {
  display:flex; flex-wrap:wrap; gap:12px;
  margin-top:40px;
}
.pill {
  display:flex; align-items:center; gap:10px;
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:999px;
  padding:12px 22px;
  font-size:.88rem;
  font-weight:600;
}
.pill .dot { width:8px;height:8px;border-radius:50%;background:var(--lime); flex-shrink:0; }

/* ── Inline hero image card ── */
.hero-img-card {
  position:relative;
  border-radius:var(--r-lg);
  overflow:hidden;
  min-height:520px;
}
.hero-img-card img {
  width:100%; height:100%;
  object-fit:cover;
}

/* ── Number list items ── */
.check-item {
  display:flex; align-items:flex-start; gap:16px;
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:var(--r);
  padding:22px 26px;
  transition:border-color .2s, transform .2s;
}
.check-item:hover { border-color:rgba(178,240,0,.2); transform:translateY(-2px); }
.check-item p { color:var(--white); font-size:.96rem; }

/* ── Separator ── */
.sep { border:none; border-top:1px solid var(--line); margin:0; }

/* ── Unidades ── */
.city-block { margin-bottom:52px; }
.city-title {
  font-size:1.3rem;
  font-weight:800;
  margin-bottom:18px;
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
  display:flex; align-items:center; gap:12px;
}
.city-title span { color:var(--muted); font-size:.85rem; font-weight:500; }
.units-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.unit-card {
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:24px 28px;
  transition:border-color .2s, transform .2s;
}
.unit-card:hover { border-color:rgba(178,240,0,.2); transform:translateY(-2px); }
.unit-card h4 {
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--lime);
  margin-bottom:8px;
}
.unit-card .addr { font-size:.88rem; color:var(--muted); margin-bottom:14px; line-height:1.6; }
.unit-actions { display:flex; gap:10px; flex-wrap:wrap; }

.unit-photo {
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:23px 23px 0 0;
  margin:-24px -28px 18px;
  background:linear-gradient(135deg, rgba(178,240,0,.10), rgba(0,0,0,.03));
  display:flex;
  align-items:center;
  justify-content:center;
}
.unit-photo::before {
  content:'📷';
  font-size:1.76rem;
  font-weight:600;
  color:var(--muted);
  letter-spacing:.02em;
}
.unit-photo img {
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
}
.unit-card.is-coming-soon { border-color:rgba(178,240,0,.35); }
.soon-badge {
  position:absolute;
  top:14px; left:14px;
  z-index:2;
  background:var(--lime);
  color:#0e1012;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:6px 12px;
  border-radius:999px;
}

/* ── Modal de lead (WhatsApp) ── */
.lead-overlay {
  display:none;
  position:fixed; inset:0; z-index:1000;
  background:rgba(0,0,0,.55);
  align-items:center; justify-content:center;
  padding:20px;
}
.lead-overlay.open { display:flex; }
.lead-modal {
  position:relative;
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:20px;
  padding:36px;
  width:100%; max-width:420px;
  box-shadow:0 30px 80px rgba(0,0,0,.4);
}
.lead-modal h3 { font-size:1.3rem; margin-bottom:10px; }
.lead-sub { font-size:.88rem; color:var(--muted); line-height:1.6; margin-bottom:24px; }
.lead-modal .field { margin-bottom:16px; display:flex; flex-direction:column; gap:6px; }
.lead-modal .field label { font-size:.8rem; font-weight:700; }
.lead-modal .field input {
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:10px;
  padding:12px 16px;
  color:var(--white);
  font-family:'Inter',sans-serif;
  font-size:.92rem;
}
.lead-modal .field input:focus { outline:none; border-color:var(--lime); }
.lead-actions { display:flex; flex-direction:column; align-items:center; gap:14px; margin-top:8px; }
.lead-skip {
  background:none; border:none; cursor:pointer;
  font-size:.82rem; color:var(--muted); text-decoration:underline;
  transition:color .2s;
}
.lead-skip:hover { color:var(--lime); }
.lead-close {
  position:absolute; top:18px; right:18px;
  background:none; border:none; cursor:pointer;
  font-size:1.1rem; color:var(--muted);
  width:32px; height:32px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  transition:background .2s, color .2s;
}
.lead-close:hover { background:var(--bg); color:var(--white); }
.unit-links { display:flex; gap:18px; margin-bottom:16px; }
.unit-links a {
  display:inline-flex; align-items:center; gap:6px;
  font-size:.78rem; font-weight:700;
  color:var(--muted);
  text-decoration:none;
  transition:color .2s;
}
.unit-links a:hover { color:var(--lime); }
.unit-links svg { width:15px; height:15px; flex-shrink:0; }

/* search */
.search-wrap { display:flex; gap:12px; margin-top:36px; flex-wrap:wrap; }
.search-input {
  flex:1; min-width:260px;
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:999px;
  padding:15px 26px;
  color:var(--white);
  font-family:'Inter',sans-serif;
  font-size:.95rem;
  transition:border-color .2s;
}
.search-input::placeholder { color:var(--muted); }
.search-input:focus { outline:none; border-color:var(--lime); }
.mobile-menu-btn {
    display:none;
}

/* ── Responsive ── */
@media(max-width:1024px){
  .g4 { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:860px){
  .g3,.g2,.g4 { grid-template-columns:1fr; }
  .stats-strip { grid-template-columns:1fr; }
  .mobile-menu-btn{
        display:flex;
        align-items:center;
        justify-content:center;
        width:42px;
        height:42px;
        border:1px solid var(--line);
        border-radius:12px;
        background:var(--bg-card);
    }

    .nav-links{
        position:fixed;
        top:81px;
        left:0;
        width:100%;
        background:var(--bg);
        flex-direction:column;
        padding:30px;
        gap:24px;
    }
  .wrap { padding:0 24px; }
  .section,.hero-home { padding:72px 0; }
  .hero-home { min-height:unset; }
  .footer-row { flex-direction:column; align-items:flex-start; }
  .units-grid { grid-template-columns:1fr; }
  h1 { font-size:2.5rem; }
  h2 { font-size:1.9rem; }
}
@media(max-width:560px){
  .btn { padding:13px 22px; }
}


/* ===================================
   HEADER MOBILE
   =================================== */

.menu-toggle {
    display: none;
    width: 44px;
    height: 44px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--bg-card);
    color: var(--white);
    font-size: 1.4rem;
    cursor: pointer;
}

.mobile-cta {
    display: none;
}

@media (max-width: 860px) {

    .desktop-cta {
        display: none;
    }

    .menu-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .logo img {
        width: 120px !important;
    }

    .nav-links {
        position: fixed;
        top: 56px;
        left: 0;
        width: 100%;
        background: var(--bg);
        border-top: 1px solid var(--line);

        display: flex;
        flex-direction: column;

        padding: 24px;

        gap: 22px;

        transform: translateY(-120%);
        opacity: 0;
        visibility: hidden;

        transition: .3s ease;
    }

    .nav-links.open {
        transform: translateY(0);
        opacity: 1;
        visibility: visible;
    }

    .nav-links a {
        font-size: .95rem;
        padding: 10px 0;
    }

    .mobile-cta {
        display: flex;
        margin-top: 10px;
        width: 100%;
        justify-content: center;
    }
}

/* ==========================================
   MOBILE OTIMIZADO
   ========================================== */

@media (max-width: 768px) {

  html {
    font-size: 15px;
  }

  .wrap {
    padding: 0 20px;
  }

  /* HERO */

  .hero-home, .cta-band, .hero-sobre, .hero-metodo, .hero-units{
    min-height: auto;
    padding: 40px 20px;
  }
  .hero-metodo .content,
  .hero-sobre .content,
  .hero-home .content,
  .hero-units .content {
    padding: 40px 0!important;
  }



  h1 {
    font-size: clamp(2.1rem, 8vw, 3rem);
    line-height: 1.1;
  }

  h2 {
    font-size: clamp(1.8rem, 6vw, 2.4rem);
    line-height: 1.1;
  }

  .lede {
    font-size: 1rem;
    line-height: 1.7;
  }

  /* ESPAÇAMENTOS */

  .section {
    padding: 70px 0;
  }

  .section-sm {
    padding: 50px 0;
  }

  .section-heading {
    margin-bottom: 40px;
  }

  /* BOTÕES */

  .btn {
    width: 100%;
    justify-content: center;
  }

  .btn-sm {
    width: auto;
  }

  /* PILLS */

  .pill-row {
    gap: 10px;
  }

  .pill {
    width: 100%;
    justify-content: flex-start;
  }

  /* CARDS */

  .card {
    padding: 24px;
  }

  .check-item {
    padding: 18px;
  }

  /* STATS */

  .stat-cell {
    padding: 36px 20px;
  }

  .stat-num {
    font-size: 2.6rem;
  }

  /* IMAGENS */

  .hero-img-card {
    min-height: 300px;
  }

  /* UNIDADES */

  .unit-card {
    padding: 20px;
  }

  .unit-photo {
    margin: -20px -20px 16px;
    border-radius: 19px 19px 0 0;
  }

  .unit-actions {
    flex-direction: column;
  }

  .unit-actions .btn {
    width: 100%;
  }

  /* FORMULÁRIOS */

  .search-wrap {
    flex-direction: column;
  }

  .search-input {
    width: 100%;
  }

  /* FOOTER */

  .footer-brand p {
    max-width: 100%;
  }

}

/* ==========================================
   CELULARES PEQUENOS
   ========================================== */

@media (max-width: 480px) {

  .wrap {
    padding: 0 16px;
  }

  h1 {
    font-size: 2rem;
  }

  h2 {
    font-size: 1.7rem;
  }

  .eyebrow {
    font-size: 0.65rem;
    letter-spacing: 0.2em;
  }

  .card,
  .unit-card {
    border-radius: 18px;
  }

  .hero-img-card {
    min-height: 240px;
  }

  .stat-num {
    font-size: 2.2rem;
  }

  .logo {
    font-size: 1.25rem;
  }
  .site-header
  {
    padding: 6px 0px!important;
  }

}

/* ==========================================
   TOUCH DEVICES
   ========================================== */

@media (hover: none) {

  .card:hover,
  .unit-card:hover,
  .check-item:hover,
  .btn-primary:hover,
  .btn-outline:hover {
    transform: none;
  }

}

/* ==========================================
   LIGHT THEME OVERRIDE
   ========================================== */

body{
    background:#fff;
    color:#1f2937;
}

.site-header{
    background:rgba(255,255,255,.95);
    backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(0,0,0,.08);
    box-shadow:0 2px 20px rgba(0,0,0,.04);
}

.nav-links a:hover{
    color:#1f2937;
}

.btn-outline{
    color:#1f2937;
    border:1px solid rgba(0,0,0,.12);
}

.btn-outline:hover{
    border-color:var(--lime);
    color:var(--lime);
}

.card,
.unit-card,
.check-item,
.pill,
.search-input,
.stat-cell{
    background:#fff;
    box-shadow:0 8px 30px rgba(0,0,0,.04);
    color: #000;
}

.hero-home,
.cta-band{

    color: #fff;
}

.section-alt{
    background:#f7f8fa;
}

.section-dark{
    background:#ffffff;
}

.search-input{
    color:#1f2937;
}

.menu-toggle,
.mobile-menu-btn{
    background:#fff;
}

.nav-links{
    background:#fff;
}