/* Shared geometry. Keep the same content edges across every page and breakpoint. */
:root { --done-gutter: clamp(20px, 4.8vw, 64px); --done-plan-height: 0px; }
.container { width: 100%; max-width: 1470px !important; margin-inline: auto; padding-inline: var(--done-gutter); }
.done-form-container { max-width: 880px !important; }
.container > *, .done-cta > *, .done-case-story > *, .done-form-grid > * { min-width: 0; }
.done-solution { grid-template-rows: auto 1fr auto; align-items: start; }
@media (min-width: 1024px) {
  .done-project-featured .done-project-caption p { min-height: 3.2em; }
}

/* Center the content of each link, not only the outer link boxes. */
nav [data-loc="client/src/components/Navbar.tsx:101"] > a,
nav [data-loc="client/src/components/Navbar.tsx:118"] > a {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px; line-height: 1.2;
}
nav [data-loc="client/src/components/Navbar.tsx:101"] { gap: 32px; }
nav [data-loc="client/src/components/Navbar.tsx:118"] { align-items: center; }
#mobile-navigation { max-height: calc(100dvh - 80px); overflow-y: auto; overscroll-behavior: contain; }
#mobile-navigation > div { gap: 8px; padding-block: 20px; }
#mobile-navigation a { display: flex; align-items: center; min-height: 48px; line-height: 1.3; }
#mobile-navigation a[href="/formulario"] { justify-content: center; }

/* A bounded hero avoids excessive blank space on large, tall screens. */
#home { min-height: min(100svh, 960px); padding-block: 152px 112px; }
#home h1 { font-size: clamp(58px, 6.1vw, 88px); line-height: .98; margin-bottom: 28px; }
.done-hero-line { display: block; }
#home [data-loc="client/src/components/HeroSection.tsx:77"] { margin-bottom: 28px; }
#home [data-loc="client/src/components/HeroSection.tsx:70"] { min-width: 0; }
#home h1 + p { margin-bottom: 32px; }
#home .btn-cta { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; text-align: center; }

/* Bring legacy pages onto the same spacing rhythm as the revised sections. */
#sobre,
[data-loc="client/src/pages/Services.tsx:125"],
[data-loc="client/src/pages/Services.tsx:201"],
[data-loc="client/src/pages/Services.tsx:255"],
[data-loc="client/src/pages/Services.tsx:344"],
[data-loc="client/src/pages/Media.tsx:479"] { padding-block: clamp(64px, 7vw, 112px); }
[data-loc="client/src/components/AboutSection.tsx:67"],
[data-loc="client/src/components/AboutSection.tsx:148"] { padding-top: 0; }
[data-loc="client/src/pages/Services.tsx:102"],
[data-loc="client/src/pages/Media.tsx:60"] { padding-block: clamp(128px, 12vw, 180px) clamp(56px, 6vw, 88px); }
[data-loc="client/src/pages/Services.tsx:114"] { font-size: clamp(36px, 5.7vw, 80px); line-height: 1.06; }
[data-loc="client/src/pages/Media.tsx:86"] { font-size: clamp(30px, 4vw, 56px) !important; line-height: 1.12; font-weight: 700; }
[data-loc="client/src/pages/Media.tsx:76"] > * { min-width: 0; }
[data-loc="client/src/pages/Media.tsx:131"] { overflow-wrap: anywhere; }
[data-loc="client/src/pages/Services.tsx:271"] { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 24px; }
[data-loc="client/src/pages/Services.tsx:273"],
[data-loc="client/src/pages/Services.tsx:238"] { min-width: 0; padding: clamp(20px, 2.2vw, 32px); }
[data-loc="client/src/pages/Services.tsx:313"] { flex-wrap: wrap; }
[data-loc="client/src/pages/Services.tsx:282"] { white-space: nowrap; }
[data-loc="client/src/pages/Services.tsx:322"] { min-height: 48px; line-height: 1.4; }
[data-loc="client/src/pages/MediaPoint.tsx:83"] > * { min-width: 0; }
[data-loc="client/src/pages/MediaPoint.tsx:146"] { flex-wrap: wrap; }
[data-loc="client/src/pages/MediaPoint.tsx:146"] > * { flex: 1 1 210px; min-height: 48px; display: flex; align-items: center; justify-content: center; }
[data-loc="client/src/pages/MediaPoint.tsx:75"] { flex-wrap: wrap; }
[data-loc="client/src/pages/MediaPoint.tsx:75"] a { display: inline-flex; align-items: center; min-height: 44px; }
[data-loc="client/src/pages/MediaPoint.tsx:136"],
[data-loc="client/src/pages/MediaPoint.tsx:139"] { overflow-wrap: anywhere; }

/* The fixed media tray must never cover the final page content or a floating CTA. */
aside[aria-label="Sua praça de mídia"] { max-height: calc(100dvh - 96px); overflow-y: auto; overscroll-behavior: contain; padding-bottom: env(safe-area-inset-bottom); }
[data-loc="client/src/pages/Media.tsx:519"],
[data-loc="client/src/pages/MediaPoint.tsx:229"] { height: var(--done-plan-height); }
body:has(aside[aria-label="Sua praça de mídia"]) a[title="Falar no WhatsApp"] { display: none; }
[data-loc="client/src/components/media/MediaPlanPanel.tsx:164"] { justify-content: center; }
[data-loc="client/src/components/media/MediaPlanPanel.tsx:170"] { min-height: 40px; flex: 1; }
[data-loc="client/src/components/media/MediaPlanPanel.tsx:185"] { display: flex; align-items: center; justify-content: center; min-height: 48px; }
.done-case-nav a { display: inline-flex; align-items: center; min-height: 44px; }
.done-case-nav a:last-child { justify-content: flex-end; }

@media (max-width: 1023px) {
  #home { padding-top: 136px; }
  #home h1 { max-width: 570px; }
  #home h1 + p { max-width: 500px; }
  [data-loc="client/src/pages/Services.tsx:271"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [data-loc="client/src/pages/Services.tsx:133"] { order: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  [data-loc="client/src/pages/Services.tsx:165"] { order: 2; }
  [data-loc="client/src/pages/Services.tsx:166"] { padding: clamp(24px, 4vw, 40px); }
}
@media (max-width: 767px) {
  #home { padding-top: 120px !important; }
  #home h1 { font-size: clamp(40px, 10.8vw, 64px) !important; line-height: 1 !important; max-width: none; }
  #home [data-loc="client/src/components/HeroSection.tsx:79"] { letter-spacing: .2em; line-height: 1.7; }
  #home [data-loc="client/src/components/HeroSection.tsx:77"] { margin-bottom: 24px; }
  #home h1 + p { margin-bottom: 28px; }
  #home .btn-cta { width: 100%; white-space: normal; }
  .done-heading { margin-bottom: 32px; }
  .done-solution { grid-template-columns: 26px minmax(0, 1fr); column-gap: 12px; }
  [data-loc="client/src/pages/Services.tsx:271"] { grid-template-columns: minmax(0, 1fr); }
  [data-loc="client/src/pages/Services.tsx:133"] { gap: 8px; }
  [data-loc="client/src/pages/Services.tsx:135"] { padding: 14px 12px; }
  [data-loc="client/src/pages/Services.tsx:148"] { gap: 8px; }
  [data-loc="client/src/pages/Services.tsx:154"] { font-size: 14px; line-height: 1.3; }
  [data-loc="client/src/pages/Media.tsx:97"] { align-items: stretch; }
  [data-loc="client/src/pages/Media.tsx:97"] a { flex: 1 1 100%; display: flex; align-items: center; justify-content: center; text-align: center; white-space: normal; min-height: 48px; }
  [data-loc="client/src/pages/MediaPoint.tsx:146"] > * { flex-basis: 100%; }
  [data-loc="client/src/pages/MediaPoint.tsx:197"] { flex-direction: column; align-items: flex-start; }
  [data-loc="client/src/pages/MediaPoint.tsx:206"] { display: inline-flex; min-height: 44px; align-items: center; }
  .done-method { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .done-cta a[href^="mailto:"] { overflow-wrap: anywhere; }
}
@media (max-width: 359px) {
  .done-method { grid-template-columns: minmax(0, 1fr); }
  [data-loc="client/src/pages/Services.tsx:133"] { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 768px) and (orientation: portrait) {
  #home::before, #home::after { top: auto; }
  #home::after { opacity: 1; }
}
@media (max-height: 500px) and (max-width: 1023px) {
  #home { min-height: 0; padding-block: 120px 64px; }
  #home > [aria-hidden="true"] { display: none; }
}
