/* Camada editorial: fundos autorais e refinamentos de interface. */
::selection { background: var(--rose); color: var(--white); }
::-webkit-scrollbar { width: 11px; }
::-webkit-scrollbar-track { background: var(--paper); }
::-webkit-scrollbar-thumb { background: var(--deep); border: 3px solid var(--paper); border-radius: 999px; }

.button:focus-visible,
.text-link:focus-visible,
.slot:focus-visible,
.calendar-day:focus-visible,
.close-button:focus-visible,
.menu-toggle:focus-visible { outline: 3px solid rgba(181,31,114,.45); outline-offset: 3px; }

.hero { position: relative; isolation: isolate; overflow: hidden; }
.hero-copy, .hero-media { position: relative; z-index: 1; }
.hero-atmosphere { position: absolute; inset: -8% -10% -8% 42%; z-index: -2; background: url("assets/ambiente-consultorio-v1.png") center / cover no-repeat; opacity: .32; filter: saturate(.82); }
.hero-atmosphere::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--paper) 12%, rgba(248,251,250,.86) 35%, rgba(248,251,250,.12) 100%); }
.hero h1 { letter-spacing: -.04em; line-height: 1; text-wrap: balance; }
.hero-signature { margin: 2rem 0 0; color: var(--muted); font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.hero-note { border: 1px solid rgba(22,78,70,.08); }

.intro { position: relative; isolation: isolate; overflow: hidden; }
.intro > :not(.intro-atmosphere) { position: relative; z-index: 1; }
.intro-atmosphere { position: absolute; z-index: -1; inset: 0 0 0 48%; background: url("assets/ambiente-consultorio-v1.png") center right / cover no-repeat; opacity: .16; }
.intro h2, .section-heading h2, .about h2, .contact h2, .booking-band h2 { letter-spacing: -.04em; line-height: 1.04; text-wrap: balance; }

.booking-band { background-color: #0d3d37; background-image: linear-gradient(90deg, rgba(13,61,55,.93) 0%, rgba(13,61,55,.84) 43%, rgba(13,61,55,.35) 100%), url("assets/mesa-nutricao-editorial-v1.png"); background-position: center; background-size: cover; }
.booking-band-inner { min-height: 410px; }

.patient-toolkit { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; margin: 1.8rem; }
.patient-toolkit a { min-height: 120px; display: flex; flex-direction: column; justify-content: space-between; padding: 1rem; border: 1px solid var(--line); border-radius: 14px; background: var(--white); color: var(--deep); text-decoration: none; }
.patient-toolkit a:hover { transform: translateY(-3px); border-color: var(--deep); box-shadow: var(--shadow); }
.patient-toolkit span { color: var(--muted); font-size: .75rem; }
.patient-toolkit strong { font-size: .93rem; letter-spacing: -.02em; }

@media (max-width: 760px) {
  .hero-atmosphere { inset: 0 -65% 0 28%; opacity: .2; }
  .intro-atmosphere { inset: 0 -30% 0 10%; opacity: .1; }
  .booking-band-inner { min-height: 450px; }
  .patient-toolkit { grid-template-columns: 1fr; }
  .patient-toolkit a { min-height: 88px; }
}
