/* V18 • Formulário simples, elegante e responsivo, sem etapas */
.booking-simple-dialog:not([open]){display:none}
.booking-simple-dialog[open]{
  position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);
  display:block;width:min(665px,calc(100vw - 32px));max-width:none;
  max-height:calc(100dvh - 32px);margin:0;padding:0;
  overflow-y:auto;overscroll-behavior:contain;
  border:1px solid #d7c6ad;border-radius:15px;
  background:#fcfaf6;color:#392618;
  box-shadow:0 35px 100px rgba(19,9,5,.36);z-index:9999
}
.booking-simple-dialog::backdrop{background:rgba(19,11,8,.73);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.booking-simple-top{position:sticky;top:0;z-index:4;min-height:60px;
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:10px 27px;border-bottom:1px solid #e9dfd3;background:#fcfaf6}
.booking-simple-top>span{font-family:var(--sans);font-size:10px;letter-spacing:.13em;font-weight:700;color:#6e4930}
.booking-simple-close{width:38px;height:38px;display:grid;place-items:center;
  border-radius:50%;border:1px solid #d9c8b3;background:transparent;
  color:#583824;cursor:pointer;font-size:26px;line-height:1}
.booking-simple-close:hover{background:#f0e6d9}
.booking-simple-content{padding:29px 42px 36px;text-align:center}
.booking-simple-eyebrow{display:block;font:700 10px/1.4 var(--sans);
  color:#926d41;letter-spacing:.17em;margin-bottom:13px}
.booking-simple-content h2,.booking-simple-standalone-heading h2{
  font-family:var(--serif);font-size:clamp(39px,4vw,53px);
  line-height:1.08;color:#442b1c;font-weight:400;letter-spacing:-.035em;margin:0 0 10px}
.booking-simple-content h2 em,.booking-simple-standalone-heading h2 em{font-style:normal;color:#a67d4d}
.booking-simple-description,.booking-simple-standalone-heading p{
  font-size:13px;line-height:1.65;color:#786a5b;margin:0 auto 25px;max-width:460px}
.booking-simple-dialog .booking-fields,.booking-standalone-form .booking-fields{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 16px;text-align:left}
.booking-simple-dialog .booking-field,.booking-standalone-form .booking-field{gap:7px}
.booking-simple-dialog .booking-field>span,.booking-standalone-form .booking-field>span{
  font-size:11px;font-weight:600;color:#513827;text-align:left}
.booking-simple-dialog .booking-field input,.booking-simple-dialog .booking-field select,
.booking-standalone-form .booking-field input,.booking-standalone-form .booking-field select{
  min-height:49px;height:49px;width:100%;border-radius:7px;padding:0 13px;
  font-size:14px;text-align:left;text-align-last:left;background:#fffefa;border-color:#dbcdbc}
.booking-simple-dialog .booking-field-wide,.booking-standalone-form .booking-field-wide{grid-column:1/-1}
.booking-simple-dialog .booking-consent,.booking-standalone-form .booking-consent{
  margin-top:20px;text-align:left;align-items:flex-start;justify-content:flex-start}
.booking-simple-dialog .booking-consent span,.booking-standalone-form .booking-consent span{
  font-size:11px;line-height:1.6;text-align:left;color:#6d6054}
.booking-simple-dialog .booking-submit,.booking-standalone-form .booking-submit{margin-top:20px}
.booking-simple-dialog .booking-submit-button,.booking-standalone-form .booking-submit-button{
  border-radius:7px;background:#56331f;color:#fff9f0;justify-content:center;gap:16px;
  min-height:55px;font-size:11px;letter-spacing:.06em}
.booking-simple-dialog .booking-submit-button:hover,.booking-standalone-form .booking-submit-button:hover{background:#70462a}
.booking-simple-dialog .booking-submit p,.booking-standalone-form .booking-submit p{
  color:#84766a;font-size:10px;line-height:1.55;text-align:center}
.booking-simple-dialog :focus-visible{outline:2px solid #ac854e;outline-offset:3px}
.booking-simple-standalone-heading{text-align:center;padding:0;margin-bottom:25px}
.booking-standalone-form .booking-simple-standalone-heading h2{font-size:clamp(38px,3.8vw,51px)}
.booking-standalone-form .booking-simple-standalone-heading p{max-width:450px;margin-bottom:0}
.booking-standalone-form .booking-form{width:100%}
@media (max-width:650px){
  .booking-simple-dialog[open]{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:12px}
  .booking-simple-top{min-height:51px;padding:7px 17px}
  .booking-simple-top>span{font-size:9px;letter-spacing:.09em}
  .booking-simple-close{width:35px;height:35px;font-size:23px}
  .booking-simple-content{padding:22px 20px 25px}
  .booking-simple-content h2{font-size:clamp(35px,9vw,44px)}
  .booking-simple-eyebrow{font-size:9px;letter-spacing:.11em;margin-bottom:9px}
  .booking-simple-description{font-size:12px;margin-bottom:18px}
  .booking-simple-dialog .booking-fields,.booking-standalone-form .booking-fields{
    grid-template-columns:1fr;gap:12px}
  .booking-simple-dialog .booking-field-wide,.booking-standalone-form .booking-field-wide{grid-column:auto}
  .booking-simple-dialog .booking-field input,.booking-simple-dialog .booking-field select,
  .booking-standalone-form .booking-field input,.booking-standalone-form .booking-field select{
    height:47px;min-height:47px;font-size:16px}
  .booking-simple-dialog .booking-consent,.booking-standalone-form .booking-consent{margin-top:16px}
  .booking-simple-dialog .booking-submit,.booking-standalone-form .booking-submit{margin-top:16px}
}
@media(max-width:360px){
  .booking-simple-content{padding:19px 15px 22px}
  .booking-simple-description{margin-bottom:14px}
  .booking-simple-content h2{font-size:34px}
}


/* V19 • Pop-up simples com escolha inicial */
.booking-choice-dialog{width:min(760px,calc(100vw - 32px));border-radius:26px}
.booking-choice-dialog .booking-simple-top{padding:16px 22px;border-bottom:0;background:transparent}
.booking-choice-dialog .booking-simple-top>span{opacity:0}
.booking-choice-dialog .booking-simple-content{padding:0 42px 38px;text-align:left}
.booking-choice-dialog .booking-simple-eyebrow{margin:4px 0 16px;color:#b28d67}
.booking-choice-dialog .booking-simple-content h2{font-size:clamp(42px,5vw,60px);line-height:1.02;letter-spacing:-.045em;max-width:610px;margin-bottom:18px}
.booking-choice-dialog .booking-simple-description{max-width:600px;color:#817468;margin:0 0 26px;font-size:16px;line-height:1.55}
.booking-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:8px}
.booking-choice-card{appearance:none;border:1px solid #dfd3c6;background:#fffdf9;border-radius:24px;padding:26px 24px;min-height:130px;text-align:left;cursor:pointer;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;color:#4e382b}
.booking-choice-card strong{display:block;font:800 15px/1.2 var(--sans);letter-spacing:.02em;margin-bottom:12px}
.booking-choice-card span{display:block;font:500 14px/1.55 var(--sans);color:#7b6e64;max-width:240px}
.booking-choice-card:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(47,24,13,.08);border-color:#d6c2a6}
.booking-choice-card.is-primary{background:#cfb06c;border-color:#cfb06c;color:#fff}
.booking-choice-card.is-primary span{color:#fff}
.booking-choice-note{margin:18px 4px 0;color:#b3a69a;font-size:13px;line-height:1.5;text-align:center}
.booking-form-view[hidden], .booking-choice-view[hidden]{display:none}
.booking-selected-topic-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:4px 0 22px}
.booking-selected-topic{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;background:#f1e8db;border:1px solid #ddcdb7;color:#6a4930;font-size:12px;font-weight:700;letter-spacing:.08em}
.booking-back-link{appearance:none;background:transparent;border:0;padding:0;color:#7c5a3d;font-size:13px;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.booking-choice-dialog .booking-fields{gap:16px 18px}
.booking-choice-dialog .booking-field input,
.booking-choice-dialog .booking-field select{background:#fffdf9}
.booking-choice-dialog .booking-submit{margin-top:18px}
.booking-choice-dialog .booking-submit-button{width:100%;min-height:54px;border-radius:16px;background:#542a10}
.booking-choice-dialog .booking-submit p{text-align:left}

@media(max-width:767px){
  .booking-choice-dialog{width:min(680px,calc(100vw - 22px));border-radius:22px}
  .booking-choice-dialog .booking-simple-top{padding:12px 14px 0}
  .booking-choice-dialog .booking-simple-content{padding:0 20px 26px}
  .booking-choice-dialog .booking-simple-content h2{font-size:42px;max-width:none}
  .booking-choice-dialog .booking-simple-description{font-size:15px;margin-bottom:18px}
  .booking-choice-grid{grid-template-columns:1fr;gap:12px}
  .booking-choice-card{min-height:0;padding:22px 20px;border-radius:22px}
  .booking-selected-topic-row{align-items:flex-start;flex-direction:column;margin-bottom:18px}
  .booking-choice-note{text-align:left;font-size:12px;margin-top:14px}
  .booking-choice-dialog .booking-submit p{text-align:center}
}

@media(max-width:390px){
  .booking-choice-dialog .booking-simple-content h2{font-size:36px}
  .booking-choice-dialog .booking-simple-description{font-size:14px}
}
