
/* Página de agendamento: extensão isolada; não altera o layout da home. */
.bookingPage {
  min-height: 100vh;
  background: var(--ivory, #fbfaf7);
  color: var(--navy, #061a30);
  padding-top: 92px;
}
.bookingIntro {
  padding: clamp(72px, 8vw, 118px) 7.5vw clamp(58px, 7vw, 90px);
  border-bottom: 1px solid var(--stone, #ded7cb);
  background:
    linear-gradient(90deg, rgba(6,26,48,.97), rgba(6,26,48,.91) 49%, rgba(6,26,48,.56)),
    url("/images/arquitetura-hero-moderna-v3.webp") center 42% / cover no-repeat;
  color: #fff;
}
.bookingIntro .sectionLabel { color: #d7c394; }
.bookingIntro h1 {
  max-width: 760px;
  margin: 22px 0 20px;
  color: #fff;
  font: 400 clamp(46px, 6vw, 76px)/1.02 var(--font-display, Georgia, serif);
  letter-spacing: -.025em;
}
.bookingIntro > p {
  max-width: 690px;
  margin: 0;
  color: rgba(255,255,255,.75);
  font-size: 15px;
  line-height: 1.75;
}
.bookingFlow {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  margin: 0;
  border-bottom: 1px solid var(--stone, #ded7cb);
  background: #fff;
}
.bookingFlow article {
  min-height: 150px;
  padding: 27px clamp(20px,2.3vw,34px);
  border-right: 1px solid var(--stone, #ded7cb);
}
.bookingFlow article:last-child { border-right: 0; }
.bookingFlow span {
  color: var(--conversion-gold, #c3a061);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .14em;
}
.bookingFlow h2 {
  margin: 12px 0 7px;
  color: var(--navy, #061a30);
  font: 400 24px/1.15 var(--font-display, Georgia, serif);
}
.bookingFlow p { margin: 0; color: var(--muted, #625e57); font-size: 12px; line-height: 1.6; }
.bookingRequest {
  display: grid;
  grid-template-columns: minmax(280px,.82fr) minmax(420px,1.18fr);
  gap: clamp(54px,8vw,120px);
  padding: clamp(72px,9vw,120px) 7.5vw;
}
.bookingRequestCopy h2 {
  max-width: 520px;
  margin: 18px 0;
  font: 400 clamp(38px,4.4vw,58px)/1.05 var(--font-display, Georgia, serif);
}
.bookingRequestCopy > p { max-width: 550px; color: var(--muted); line-height: 1.75; }
.bookingRequest .bookingSecurity {
  margin-top: 30px;
  padding-top: 22px;
  border-top: 1px solid var(--stone);
  color: var(--muted);
  font-size: 12px;
  line-height: 1.65;
}
.bookingRequest form {
  padding: clamp(28px,4vw,48px);
  border: 1px solid #d8d0c4;
  background: rgba(255,255,255,.55);
}
.bookingRequest form label { display:block; margin-bottom: 18px; }
.bookingRequest form label > span:first-child {
  display:block;
  margin-bottom:8px;
  color: var(--navy);
  font-size:10px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.bookingRequest input,
.bookingRequest select,
.bookingRequest textarea {
  width:100%;
  border:1px solid #d8d0c4;
  border-radius:0;
  background:#fff;
  color:var(--navy);
  padding:13px 14px;
  font-size:14px;
}
.bookingRequest textarea { min-height: 125px; resize: vertical; }
.bookingRequest .bookingTwo { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.bookingRequest .consent {
  display:grid;
  grid-template-columns:18px 1fr;
  gap:10px;
  align-items:start;
  color:var(--muted);
  font-size:11px;
  line-height:1.55;
}
.bookingRequest .consent input { width:auto; margin-top:3px; }
.bookingRequest .consent a { text-decoration:underline; }
.bookingRequest .bookingNote {
  margin: 0 0 20px;
  padding: 14px 16px;
  border-left: 2px solid var(--conversion-gold, #c3a061);
  background: rgba(195,160,97,.07);
  color: var(--muted);
  font-size: 11px;
  line-height: 1.6;
}
.bookingRequest .primaryButton { width:100%; }
.bookingPage footer { margin-top:0; }
@media (max-width: 900px) {
  .bookingFlow { grid-template-columns:1fr 1fr; }
  .bookingFlow article:nth-child(2) { border-right:0; }
  .bookingFlow article:nth-child(-n+2) { border-bottom:1px solid var(--stone); }
  .bookingRequest { grid-template-columns:1fr; gap:42px; }
}
@media (max-width: 680px) {
  .bookingPage { padding-top:78px; }
  .bookingIntro { padding-left:6vw; padding-right:6vw; }
  .bookingFlow { grid-template-columns:1fr; }
  .bookingFlow article { border-right:0; border-bottom:1px solid var(--stone); min-height:auto; }
  .bookingFlow article:last-child { border-bottom:0; }
  .bookingRequest { padding-left:6vw; padding-right:6vw; }
  .bookingRequest .bookingTwo { grid-template-columns:1fr; gap:0; }
}
