/* ============================================================
   Preserve A Spot — Gravity Forms skin (Night at the Lodge).
   Targets GF 2.5+ (.gform_wrapper.gravity-theme). Styles colors,
   type, multi-step progress, validation & confirmation — it does
   NOT fight GF's field grid (set field widths in the form editor
   via layoutGridColumnSpan, not legacy half/third classes).
   Scoped under .aspot-reg-cta (the event registration card) plus
   .aspot-gform for use anywhere else.
   ============================================================ */
.aspot-reg-cta .gform_wrapper,
.aspot-gform .gform_wrapper{
  --gold:#c9a159; --ink:#15120e; --line:rgba(201,161,89,.24);
  font-family:"Montserrat",sans-serif; margin:0; color:#e9e1d2;
}

/* required legend / heading */
.aspot-reg-cta .gform_required_legend,
.aspot-gform .gform_required_legend{color:#8c8474;font-size:12px;}

/* ---- multi-step progress (steps + bar) ---- */
.aspot-reg-cta .gf_progressbar_wrapper,
.aspot-gform .gf_progressbar_wrapper{margin-bottom:22px;}
.aspot-reg-cta .gf_progressbar_title,
.aspot-gform .gf_progressbar_title{
  font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--gold);margin-bottom:8px;
}
.aspot-reg-cta .gf_progressbar,
.aspot-gform .gf_progressbar{background:rgba(255,255,255,.08);border-radius:0;height:6px;overflow:hidden;}
.aspot-reg-cta .gf_progressbar_percentage,
.aspot-gform .gf_progressbar_percentage{
  background:var(--gold);height:6px;border-radius:0;transition:width .35s ease;
}
.aspot-reg-cta .gf_progressbar_percentage span,
.aspot-gform .gf_progressbar_percentage span{display:none;}
/* step circles, if "Steps" style is chosen */
.aspot-reg-cta .gf_step,
.aspot-gform .gf_step{color:#8c8474;font-family:"Montserrat",sans-serif;font-size:11px;letter-spacing:.06em;opacity:1;}
.aspot-reg-cta .gf_step_number,
.aspot-gform .gf_step_number{border:1px solid var(--line);color:#bcb2a0;background:transparent;}
.aspot-reg-cta .gf_step_active .gf_step_number,
.aspot-gform .gf_step_active .gf_step_number{background:var(--gold);color:#1c150a;border-color:var(--gold);}
.aspot-reg-cta .gf_step_completed .gf_step_number,
.aspot-gform .gf_step_completed .gf_step_number{border-color:var(--gold);color:var(--gold);}

/* ---- labels & fields ---- */
.aspot-reg-cta .gform_wrapper .gfield_label,
.aspot-gform .gform_wrapper .gfield_label{
  font-weight:600;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#a59c8c;margin-bottom:7px;
}
.aspot-reg-cta .gfield_required,
.aspot-gform .gfield_required{color:var(--gold);}
.aspot-reg-cta .gform_wrapper input:not([type=submit]):not([type=button]),
.aspot-reg-cta .gform_wrapper select,
.aspot-reg-cta .gform_wrapper textarea,
.aspot-gform .gform_wrapper input:not([type=submit]):not([type=button]),
.aspot-gform .gform_wrapper select,
.aspot-gform .gform_wrapper textarea{
  font-family:"Cormorant Garamond",Georgia,serif;font-size:18px;background:var(--ink);
  border:1px solid var(--line);color:#e9e1d2;padding:12px 14px;border-radius:2px;width:100%;
  transition:border-color .18s,box-shadow .18s;
}
.aspot-reg-cta .gform_wrapper input::placeholder,
.aspot-gform .gform_wrapper input::placeholder{color:#7a7264;}
.aspot-reg-cta .gform_wrapper input:focus,
.aspot-reg-cta .gform_wrapper select:focus,
.aspot-reg-cta .gform_wrapper textarea:focus,
.aspot-gform .gform_wrapper input:focus,
.aspot-gform .gform_wrapper select:focus,
.aspot-gform .gform_wrapper textarea:focus{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold);outline:none;}

/* choices */
.aspot-reg-cta .gform_wrapper .gchoice label,
.aspot-gform .gform_wrapper .gchoice label{font-family:"Cormorant Garamond",serif;font-size:17px;color:#d8d1c4;}
.aspot-reg-cta .gform_wrapper input[type=checkbox]:checked,
.aspot-reg-cta .gform_wrapper input[type=radio]:checked,
.aspot-gform .gform_wrapper input[type=checkbox]:checked,
.aspot-gform .gform_wrapper input[type=radio]:checked{accent-color:var(--gold);}

/* ---- buttons (next / previous / submit) ---- */
.aspot-reg-cta .gform_wrapper .gform_footer input,
.aspot-reg-cta .gform_wrapper .gform_page_footer input,
.aspot-reg-cta .gform_wrapper .gform_button,
.aspot-gform .gform_wrapper .gform_footer input,
.aspot-gform .gform_wrapper .gform_page_footer input{
  font-family:"Montserrat",sans-serif;font-weight:600;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;
  padding:15px 26px;cursor:pointer;border:1px solid var(--gold);background:#b8862f;color:#1c150a;border-radius:0;
  transition:background .22s;
}
.aspot-reg-cta .gform_wrapper .gform_footer input:hover,
.aspot-gform .gform_wrapper .gform_footer input:hover{background:var(--gold);}
.aspot-reg-cta .gform_wrapper .gform_page_footer .gform_previous_button,
.aspot-gform .gform_wrapper .gform_page_footer .gform_previous_button{
  background:transparent;color:var(--gold);border-color:var(--line);
}
.aspot-reg-cta .gform_wrapper .gform_footer input[type=submit],
.aspot-reg-cta .gform_wrapper .gform_page_footer .gform_next_button{width:100%;}

/* ---- validation ---- */
.aspot-reg-cta .gform_wrapper .gfield_error input,
.aspot-reg-cta .gform_wrapper .gfield_error textarea,
.aspot-gform .gform_wrapper .gfield_error input,
.aspot-gform .gform_wrapper .gfield_error textarea{border-color:#c0594a;}
.aspot-reg-cta .gform_wrapper .gfield_validation_message,
.aspot-reg-cta .gform_wrapper .validation_message,
.aspot-gform .gform_wrapper .gfield_validation_message,
.aspot-gform .gform_wrapper .validation_message{
  color:#e0a99e;font-family:"Montserrat",sans-serif;font-size:12px;background:transparent;border:0;padding:6px 0 0;
}
.aspot-reg-cta .gform_wrapper .gform_validation_errors,
.aspot-gform .gform_wrapper .gform_validation_errors{
  background:#241612;border:1px solid rgba(143,36,24,.5);border-radius:0;box-shadow:none;
}
.aspot-reg-cta .gform_wrapper .gform_validation_errors .gform_submission_error,
.aspot-gform .gform_wrapper .gform_validation_errors .gform_submission_error{color:#e0a99e;}

/* ---- confirmation ---- */
.aspot-reg-cta .gform_confirmation_message,
.aspot-gform .gform_confirmation_message{
  font-family:"Cormorant Garamond",serif;font-size:21px;line-height:1.5;color:#e6ddca;
  border-left:2px solid var(--gold);padding:8px 0 8px 18px;
}


/* ============================================================
   STANDALONE FORM PAGES (0.39.0)
   Everything above is scoped to .aspot-reg-cta / .aspot-gform — the event
   registration card. A form dropped on its own PAGE (Private Instruction with
   Gebben and Karen Miles, with Grace Callahan, the event-registration page)
   got none of it: Divi's grey slab, a gradient gold pill for the section
   header, and browser-default Next / Submit buttons.
   These rules apply to any GF form NOT already inside one of those two
   wrappers, and they follow the site's light/dark toggle.
   ============================================================ */
:root{--af-ink:#15120e;--af-ink-2:#1b1712;--af-paper:#e9e1d2;--af-mut:#a59c8c;
  --af-line:rgba(201,161,89,.22);--af-acc:#c9a159;--af-acc-ink:#1c150a}
html.lodge-light{--af-ink:#fff;--af-ink-2:#faf6ed;--af-paper:#1c1a17;--af-mut:#6f675a;
  --af-line:rgba(28,26,23,.14);--af-acc:#8f2418;--af-acc-ink:#faf6ed}

/* the page ground, so the form is not a grey island on white */
#main-content:has(.gform_wrapper),
.et_pb_section:has(.gform_wrapper),
.entry-content:has(.gform_wrapper){background:var(--af-ink-2)!important}
#main-content:has(.gform_wrapper) .entry-title,
.et_pb_section:has(.gform_wrapper) h1{color:var(--af-paper)}

.gform_wrapper.gravity-theme:not(.aspot-reg-cta *):not(.aspot-gform *){
  --gf-ctrl-desc-color:var(--af-mut);
  width:min(880px,100%);margin-inline:auto;padding:34px clamp(18px,3vw,40px) 30px;
  background:var(--af-ink);border:1px solid var(--af-line);
  font-family:"Montserrat",sans-serif;color:var(--af-paper)}
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *):not(.aspot-gform *) .gform_required_legend{
  color:var(--af-mut);font-size:12px;margin-bottom:20px}

/* GF's section header arrived as a gradient gold lozenge from the parent theme.
   A flat rule with a display serif reads as an editorial heading instead. */
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gsection{
  background:none!important;background-image:none!important;border:0!important;
  border-bottom:1px solid var(--af-acc)!important;border-radius:0!important;box-shadow:none!important;
  padding:0 0 10px!important;margin:4px 0 26px!important}
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gsection_title{
  font-family:"Playfair Display",Georgia,serif!important;font-weight:500!important;
  font-size:clamp(21px,2.2vw,27px)!important;line-height:1.18;letter-spacing:.01em;
  color:var(--af-paper)!important;text-transform:none!important;text-shadow:none!important;
  padding:0!important;margin:0!important}

/* progress: a 4px rule, and GF's "0%" label out of the way */
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gf_progressbar_title{
  font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--af-acc);margin-bottom:9px}
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gf_progressbar{
  background:var(--af-line);height:4px;border-radius:0;box-shadow:none;overflow:hidden}
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gf_progressbar_percentage{
  background:var(--af-acc)!important;height:4px;border-radius:0}
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gf_progressbar_percentage span{display:none}

/* labels, sub-labels, descriptions */
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gfield_label{
  font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--af-paper);margin-bottom:9px}
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gform_fields{row-gap:24px}
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gfield_required{color:var(--af-acc)}
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gform_wrapper .ginput_complex label,
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gfield_description,
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .ginput_complex label{
  font-family:"Montserrat",sans-serif;font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--af-mut)}

/* fields */
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) input:not([type=submit]):not([type=button]):not([type=radio]):not([type=checkbox]),
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) select,
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) textarea{
  font-family:"Cormorant Garamond",Georgia,serif;font-size:17px;
  background:var(--af-ink-2)!important;border:1px solid var(--af-line)!important;
  border-radius:0!important;box-shadow:none!important;color:var(--af-paper)!important;
  padding:13px 14px!important;min-height:50px;width:100%;transition:border-color .18s,box-shadow .18s}
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) input::placeholder,
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) textarea::placeholder{color:var(--af-mut);opacity:1}
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) input:focus,
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) select:focus,
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) textarea:focus{
  border-color:var(--af-acc)!important;box-shadow:0 0 0 1px var(--af-acc)!important;outline:none}

/* choice rows — GF's bare radios gave no indication of what was selected */
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gfield_radio,
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gfield_checkbox{display:grid;gap:8px}
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gchoice{margin:0}
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gchoice label{
  display:flex;align-items:center;gap:12px;width:100%;margin:0;cursor:pointer;
  font-family:"Cormorant Garamond",Georgia,serif;font-size:17px;color:var(--af-paper);
  background:var(--af-ink-2);border:1px solid var(--af-line);padding:13px 15px;min-height:52px;
  transition:border-color .16s,background .16s}
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gchoice label:hover{border-color:var(--af-acc)}
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gchoice input[type=radio],
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gchoice input[type=checkbox]{
  width:18px;height:18px;margin:0;flex:none;accent-color:var(--af-acc)}
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gchoice input:checked + label{
  border-color:var(--af-acc);border-left-width:3px;background:transparent}

/* buttons — these were browser default grey */
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gform_footer,
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gform_page_footer{
  display:flex;gap:12px;align-items:center;flex-wrap:wrap;
  border-top:1px solid var(--af-line);margin-top:30px;padding-top:24px}
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gform_button,
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gform_next_button,
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gform_previous_button{
  -webkit-appearance:none;appearance:none;font-family:"Montserrat",sans-serif;font-weight:600;
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;border-radius:0;box-shadow:none;
  padding:16px 32px;min-height:52px;width:auto;cursor:pointer;
  transition:background .2s,color .2s,border-color .2s}
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gform_button,
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gform_next_button{
  background:var(--af-acc);border:1px solid var(--af-acc);color:var(--af-acc-ink)}
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gform_button:hover,
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gform_next_button:hover{
  background:transparent;color:var(--af-acc)}
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gform_previous_button{
  background:transparent;border:1px solid var(--af-line);color:var(--af-mut)}
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gform_previous_button:hover{
  border-color:var(--af-acc);color:var(--af-acc)}

/* validation + confirmation */
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gform_validation_errors{
  background:transparent!important;border:1px solid #8f2418!important;border-radius:0!important;
  box-shadow:none!important}
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gform_validation_errors h2{
  color:#c9705f!important;font-size:15px!important}
html.lodge-light .gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gform_validation_errors h2{color:#8f2418!important}
.gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gfield_validation_message{
  background:none!important;border:0!important;border-left:2px solid #8f2418!important;
  border-radius:0!important;color:#c9705f!important;padding:6px 0 6px 12px!important;font-size:12.5px}
html.lodge-light .gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gfield_validation_message{color:#8f2418!important}
.gform_confirmation_wrapper .gform_confirmation_message{
  width:min(760px,100%);margin:clamp(30px,5vw,60px) auto;
  font-family:"Cormorant Garamond",Georgia,serif;font-size:20px;line-height:1.55;
  color:var(--af-paper);border-left:2px solid var(--af-acc);padding:10px 0 10px 20px}

@media(max-width:782px){
  .gform_wrapper.gravity-theme:not(.aspot-reg-cta *){padding:24px 16px 22px}
  .gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gform_footer .gform_button,
  .gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gform_page_footer .gform_button,
  .gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gform_page_footer .gform_next_button,
  .gform_wrapper.gravity-theme:not(.aspot-reg-cta *) .gform_page_footer .gform_previous_button{
    flex:1 1 100%;justify-content:center;text-align:center}
}


/* ============================================================
   0.39.2 — kill the inherited gradient header + the grey Divi slab
   0.39.0 restyled the section header but lost: the gradient lozenge is
   painted by the OLD design's CSS with !important (Divi Theme Options →
   Custom CSS), so it needs !important on every property that draws it, not
   just `background`. And the grey slab is not the form at all — it is the
   Divi ROW the form module sits in, outside .gform_wrapper entirely.
   ============================================================ */
body .gform_wrapper .gsection,
body .gform_wrapper h2.gsection_title,
body .gform_wrapper .gsection_title{
  background:none!important;background-image:none!important;background-color:transparent!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;text-shadow:none!important;
  filter:none!important;color:var(--af-paper)!important;
  width:auto!important;min-height:0!important;line-height:1.18!important}
body .gform_wrapper .gsection{border-bottom:1px solid var(--af-acc)!important;
  padding:0 0 10px!important;margin:4px 0 26px!important;display:block!important}
body .gform_wrapper .gsection_title{
  font-family:"Playfair Display",Georgia,serif!important;font-weight:500!important;
  font-size:clamp(21px,2.2vw,27px)!important;letter-spacing:.01em!important;
  text-align:left!important;text-transform:none!important;padding:0!important;margin:0!important}

/* the grey ground behind the form is the Divi row/module wrapper */
.et_pb_row:has(.gform_wrapper),
.et_pb_column:has(.gform_wrapper),
.et_pb_module:has(.gform_wrapper),
.et_pb_text:has(.gform_wrapper),
.et_pb_code:has(.gform_wrapper),
.et_pb_gravityform:has(.gform_wrapper){background:transparent!important;background-image:none!important;
  box-shadow:none!important;padding-block:0!important}

/* GF prints the step count above the bar; it was picking up an old accent */
body .gform_wrapper .gf_progressbar_title{color:var(--af-acc)!important}
body .gform_wrapper .gf_progressbar_title span{color:inherit!important}


/* ============================================================
   0.40.0 — FORM PAGES REDESIGNED
   The page had three grounds stacked inside each other: the cream page, a
   white sheet, and a grey slab holding the fields — and the form was a box
   in a box in a box. One ground now, one column, and the fields are ruled
   lines rather than filled boxes, which is how the rest of the site treats
   its type. (The grey slab was the <form> element itself, not the Divi row
   0.39.2 cleared — hence it survived.)
   ============================================================ */
body .gform_wrapper.gravity-theme,
body .gform_wrapper .gform,
body .gform_wrapper form,
body .gform_wrapper .gform_body,
body .gform_wrapper .gform_page,
body .gform_wrapper .gform_page_fields{
  background:transparent!important;background-image:none!important;
  border:0!important;box-shadow:none!important}
body .gform_wrapper.gravity-theme{width:min(720px,100%)!important;margin-inline:auto!important;
  padding:0!important;color:var(--af-paper)}

/* the "* indicates required fields" line is housekeeping, not a heading */
body .gform_wrapper .gform_required_legend{
  font-family:"JetBrains Mono",monospace!important;font-size:9.5px!important;letter-spacing:.16em;
  text-transform:uppercase;color:var(--af-mut)!important;opacity:.8;margin:0 0 30px!important}

/* step line + rule, tightened into one unit above the heading */
body .gform_wrapper .gf_progressbar_wrapper{margin:0 0 26px!important;padding:0!important}
body .gform_wrapper .gf_progressbar_title{font-size:9.5px!important;letter-spacing:.24em;margin-bottom:10px!important}
body .gform_wrapper .gf_progressbar{height:2px!important;background:var(--af-line)!important}
body .gform_wrapper .gf_progressbar_percentage{height:2px!important}

/* section header: a gold eyebrow rule above, generous space below */
body .gform_wrapper .gsection{border-bottom:0!important;border-top:1px solid var(--af-acc)!important;
  padding:18px 0 0!important;margin:0 0 34px!important}
body .gform_wrapper .gsection_title{font-size:clamp(26px,3vw,34px)!important}

/* fields as ruled lines — no filled boxes on a coloured ground */
body .gform_wrapper .gform_fields{row-gap:30px!important}
body .gform_wrapper .gfield_label{font-family:"JetBrains Mono",monospace!important;
  font-size:9.5px!important;font-weight:400!important;letter-spacing:.22em!important;
  color:var(--af-mut)!important;margin-bottom:4px!important}
body .gform_wrapper .ginput_complex label{font-size:9.5px!important;letter-spacing:.18em!important;
  color:var(--af-mut)!important;margin-top:6px!important;order:2}
body .gform_wrapper .ginput_complex > span{display:flex;flex-direction:column}
body .gform_wrapper input:not([type=submit]):not([type=button]):not([type=radio]):not([type=checkbox]),
body .gform_wrapper select,
body .gform_wrapper textarea{
  background:transparent!important;border:0!important;border-bottom:1px solid var(--af-line)!important;
  border-radius:0!important;box-shadow:none!important;padding:8px 2px!important;min-height:44px!important;
  font-family:"Cormorant Garamond",Georgia,serif!important;font-size:20px!important;
  color:var(--af-paper)!important;transition:border-color .18s}
body .gform_wrapper input:focus,
body .gform_wrapper select:focus,
body .gform_wrapper textarea:focus{
  border-bottom-color:var(--af-acc)!important;box-shadow:0 1px 0 0 var(--af-acc)!important;outline:none}
body .gform_wrapper input::placeholder{color:var(--af-mut)!important;opacity:.6}

/* footer: no top rule needed once the fields are ruled */
body .gform_wrapper .gform_footer,
body .gform_wrapper .gform_page_footer{border-top:0!important;margin-top:38px!important;padding-top:0!important}

html.lodge-light body .gform_wrapper .gfield_label,
html.lodge-light body .gform_wrapper .ginput_complex label{color:#8a8172!important}


/* ============================================================
   0.40.1 — the page needs air at both ends
   The title sat hard under the header bar and the form ran straight into the
   footer, so the page had no top or bottom margin of its own. Divi's section
   padding is a per-page setting the theme should not depend on, so the room
   is claimed here, on any page carrying a form.
   ============================================================ */
/* 0.50.3 — :not(:has(.aspot-contact)): the contact page carries a GF form but owns
   its own layout (full-bleed hero flush under the header); these paddings are for the
   bare registration pages only. */
#main-content:has(.gform_wrapper):not(:has(.aspot-contact)) .et_pb_section:first-of-type,
.entry-content:has(.gform_wrapper):not(:has(.aspot-contact)) > .et_pb_section:first-of-type{padding-top:clamp(46px,6vw,86px)!important}
#main-content:has(.gform_wrapper):not(:has(.aspot-contact)) .et_pb_section:last-of-type,
.entry-content:has(.gform_wrapper):not(:has(.aspot-contact)) > .et_pb_section:last-of-type{padding-bottom:clamp(64px,8vw,120px)!important}
#main-content:has(.gform_wrapper) .entry-title,
#main-content:has(.gform_wrapper) h1.entry-title{margin:0 0 clamp(30px,4vw,52px)!important;
  padding-top:clamp(30px,4vw,60px)}
body .gform_wrapper.gravity-theme{padding-bottom:clamp(40px,6vw,80px)!important}
/* a form that is the only thing on the page still needs a floor under it */
#main-content:has(.gform_wrapper),
.entry-content:has(.gform_wrapper){padding-bottom:clamp(30px,4vw,60px)}


/* ============================================================
   0.41.0 — FORM PAGES: A DESIGNED CARD, NOT A LOOSE STACK
   What was wrong with 0.40.x: the ruled-line treatment left the fields as
   naked outlines floating in a very wide dark void, the sub-labels fell
   BELOW their inputs, the title still touched the header bar, and a third of
   the page under the form was dead space. This band supersedes it.

   The design: one 620px column, centred, with the form on a raised panel
   carrying a gold top edge — the same card language as the event
   reservation panel — a mono step line, a Playfair section heading, filled
   wells with hairline borders, and the primary action full-width at the
   bottom. Everything reads in one column, top to bottom, with no dead air.
   ============================================================ */

/* --- page frame: give the title room, and stop the void under the form --- */
#main-content:has(.gform_wrapper) .et_pb_section,
.entry-content:has(.gform_wrapper) .et_pb_section{min-height:0!important}
body:has(.gform_wrapper) h1.entry-title,
body:has(.gform_wrapper) .et_pb_title_container h1,
body:has(.gform_wrapper) .et_pb_post_title h1,
body:has(.gform_wrapper) .et_pb_text h1:first-child{
  padding-top:clamp(38px,5vw,72px)!important;margin-bottom:clamp(8px,1.4vw,18px)!important;
  font-size:clamp(28px,3.4vw,44px)!important;line-height:1.14;text-wrap:balance}
body .gform_wrapper.gravity-theme{padding:0 0 clamp(48px,6vw,90px)!important}

/* --- the panel --- */
body .gform_wrapper.gravity-theme{width:min(620px,100%)!important}
body .gform_wrapper form{background:var(--af-ink)!important;
  border:1px solid var(--af-line)!important;border-top:2px solid var(--af-acc)!important;
  padding:clamp(26px,3.4vw,42px) clamp(20px,3vw,40px) clamp(28px,3.4vw,40px)!important;
  box-shadow:0 30px 60px -46px rgba(0,0,0,.7)!important}
html.lodge-light body .gform_wrapper form{box-shadow:0 24px 50px -40px rgba(28,26,23,.35)!important}

/* required legend: above the panel, right aligned, nearly silent */
body .gform_wrapper .gform_required_legend{text-align:right;margin:0 0 12px!important;font-size:9px!important}

/* --- step line + heading, as one masthead inside the panel --- */
body .gform_wrapper .gf_progressbar_wrapper{margin:0 0 20px!important}
body .gform_wrapper .gsection{border-top:0!important;border-bottom:1px solid var(--af-line)!important;
  padding:0 0 14px!important;margin:0 0 28px!important}
body .gform_wrapper .gsection_title{font-size:clamp(23px,2.6vw,30px)!important}

/* --- fields: wells with a hairline, sub-labels ABOVE where they belong --- */
body .gform_wrapper .gform_fields{row-gap:22px!important}
body .gform_wrapper .ginput_complex > span{display:flex;flex-direction:column-reverse}
body .gform_wrapper .ginput_complex label{order:0!important;margin:0 0 5px!important}
body .gform_wrapper input:not([type=submit]):not([type=button]):not([type=radio]):not([type=checkbox]),
body .gform_wrapper select,
body .gform_wrapper textarea{
  background:var(--af-ink-2)!important;border:1px solid var(--af-line)!important;
  border-bottom-width:1px!important;border-radius:2px!important;
  padding:12px 14px!important;min-height:50px!important;font-size:18px!important}
body .gform_wrapper input:focus,
body .gform_wrapper select:focus,
body .gform_wrapper textarea:focus{
  border-color:var(--af-acc)!important;box-shadow:0 0 0 1px var(--af-acc)!important}
body .gform_wrapper .gfield_label{font-size:9.5px!important;letter-spacing:.2em!important;
  color:var(--af-mut)!important;margin-bottom:7px!important}

/* --- action: full width, so the panel closes cleanly --- */
body .gform_wrapper .gform_footer,
body .gform_wrapper .gform_page_footer{margin-top:30px!important;padding-top:22px!important;
  border-top:1px solid var(--af-line)!important;gap:10px}
body .gform_wrapper .gform_button,
body .gform_wrapper .gform_next_button{flex:1 1 auto;justify-content:center;text-align:center}
body .gform_wrapper .gform_previous_button{flex:0 0 auto}


/* ============================================================
   0.49.0 — multi-column rows no longer break on a wrapping label
   "Child (5-12 years of age)" wraps to two lines while its neighbours do not,
   so its select sat a line lower and the three-up row came apart. Rather than
   force a fixed label height (which would add dead space to every single-line
   field on the form), each field stacks and pushes its control to the BOTTOM
   of the grid row — so controls line up whatever the labels do.
   ============================================================ */
body .gform_wrapper .gform_fields > .gfield{display:flex;flex-direction:column;justify-content:flex-end}
body .gform_wrapper .gfield_label{margin-top:0}
/* the label is the only thing that should absorb the extra height */
body .gform_wrapper .gform_fields > .gfield > .gfield_label{margin-bottom:auto;padding-bottom:7px}
body .gform_wrapper .gfield--type-section,
body .gform_wrapper .gfield--type-html{justify-content:flex-start}

/* a little more room so three columns are not fighting for it */
body .gform_wrapper.gravity-theme{width:min(760px,100%)!important}
body .gform_wrapper .gfield_label{letter-spacing:.16em!important;line-height:1.5}
body .gform_wrapper .gform_fields{column-gap:22px!important}

/* selects were sized by their own text; make every control fill its column so a
   short "Please select…" does not render a visibly narrower box than its neighbour */
body .gform_wrapper select{width:100%!important;max-width:100%!important}
body .gform_wrapper .ginput_container{width:100%}

@media(max-width:900px){
  /* three narrow columns of dropdowns is worse than two comfortable ones */
  body .gform_wrapper .gform_fields > .gfield{grid-column:1/-1!important}
}
