/* Scope to the redesign wrapper; never replace Ninja Forms' own behavior. */.site-root .tor-form{ max-width:850px; margin:0 auto 70px; padding:clamp(20px,4vw,44px); background:linear-gradient(145deg,#2b1a22,#1b1318); border:1px solid #da6c8540; border-radius:20px; color:#f8eee9; }.site-root .tor-form,.site-root .tor-form *{ box-sizing:border-box; }.site-root .tor-form .nf-form-content{ padding:0; max-width:none; }.site-root .tor-form .nf-field-container{ margin-bottom:25px; min-width:0; }.site-root .tor-form .nf-field-label label{ color:#f8e8ee; font-size:16px; line-height:1.65; font-weight:600; }.site-root .tor-form .nf-field-element input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),.site-root .tor-form .nf-field-element select,.site-root .tor-form .nf-field-element textarea{
 width:100%; max-width:100%; min-height:50px; border:1px solid #9b6474; border-radius:8px; background:#140e12; color:#fff4f8; font:inherit; font-size:17px; padding:13px 15px; box-shadow:inset 0 2px 5px #0002;
}.site-root .tor-form .nf-field-element textarea{ min-height:150px; resize:vertical; }.site-root .tor-form .nf-field-element input::placeholder,.site-root .tor-form textarea::placeholder{ color:#c0a8b2; opacity:1; }.site-root .tor-form .nf-field-element input:focus-visible,.site-root .tor-form select:focus-visible,.site-root .tor-form textarea:focus-visible,.site-root .tor-form button:focus-visible{ outline:2px solid #ffb0c3; outline-offset:3px; border-color:#ffb0c3; }.site-root .tor-form .nf-field-element input[type="checkbox"],.site-root .tor-form .nf-field-element input[type="radio"]{ accent-color:#bd3555; width:20px; height:20px; }.site-root .tor-form .nf-field-element input[type="submit"],.site-root .tor-form .nf-field-element input[type="button"],.site-root .tor-form .nf-field-element button{ min-height:50px; max-width:100%; white-space:normal; border:1px solid #eb7a955c; border-radius:8px; padding:15px 25px; background:linear-gradient(120deg,#c53554,#8e203b); color:#fff; font-size:16px; font-weight:700; cursor:pointer; }.site-root .tor-form .nf-field-element input:disabled,.site-root .tor-form .nf-field-element button:disabled{ cursor:not-allowed; opacity:.65; }.site-root .tor-form .nf-field-description,.site-root .tor-form .nf-help,.site-root .tor-form .nf-form-fields-required{ color:#d2bdc6; font-size:15px; line-height:1.8; }.site-root .tor-form .ninja-forms-req-symbol,.site-root .tor-form .nf-error-msg,.site-root .tor-form .nf-error .nf-error-msg{ color:#ffb1c3; }.site-root .tor-form .nf-error .ninja-forms-field{ border-color:#ff879f; }.site-root .tor-form .nf-response-msg{ color:#f6e8ee; font-size:17px; line-height:1.8; }.site-root .tor-form .nf-error-msg:empty,.site-root .tor-form .nf-response-msg:empty{ padding:0; }.site-root .tor-form .nf-error-msg:not(:empty),.site-root .tor-form .nf-response-msg:not(:empty){ padding:14px; border-left:3px solid #ec7e98; background:#541f3240; }.site-root .tor-form .nf-field-label,.site-root .tor-form .nf-field-element,.site-root .tor-form .nf-field-description{ overflow-wrap:anywhere; }.site-root .tor-form .nf-form-content a{ color:#ffc2d2; text-decoration:underline; }.site-root .tor-form fieldset{ padding:0; margin:0; border:0; min-width:0; }/* First/Last name share a row on wide screens, mirroring Ninja Forms' one-half layout. */

@media(min-width:761px) {.site-root .tor-form .nf-field-container.one-half{ width:calc(50% - 10px); float:left; }.site-root .tor-form .nf-field-container.one-half + .nf-field-container.one-half{ margin-left:18px; }.site-root .tor-form .nf-field-container.one-half + .nf-field-container:not(.one-half){ clear:both; }
}.site-root .tor-form .preview-form-note{ padding:17px; background:#481e2c; border-radius:10px; line-height:1.8; margin-bottom:28px; }.site-root .tor-form .preview-captcha{ padding:18px; border:1px dashed #ab7282; border-radius:8px; color:#ddc7d0; line-height:1.7; }
@media(max-width:760px) {.site-root .tor-form .nf-field-container.one-half,.site-root .tor-form .nf-field-container.one-third,.site-root .tor-form .nf-field-container.two-thirds{ width:100%; margin-left:0; float:none; clear:both; }.site-root .tor-form .nf-field-label,.site-root .tor-form .nf-field-element{ max-width:100%; }.site-root .tor-form .nf-field-element input[type="button"],.site-root .tor-form .nf-field-element input[type="submit"]{ width:100%; }
}
@media(max-width:380px) {.site-root .tor-form{ padding:12px; } }
@media(prefers-reduced-motion:reduce) {.site-root .tor-form *{ transition:none!important; animation:none!important; } }/* Wine-and-gold preview; form behavior remains unchanged. */.site-root .tor-form{ background:linear-gradient(145deg,var(--panel),#240e15); border-color:var(--line); color:var(--ink); }.site-root .tor-form .nf-field-label label,.site-root .tor-form .nf-response-msg{ color:var(--ink); }.site-root .tor-form .nf-field-element input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),.site-root .tor-form .nf-field-element select,.site-root .tor-form .nf-field-element textarea{ background:var(--bg); color:var(--ink); border-color:#9e854f; }.site-root .tor-form .nf-field-element input::placeholder,.site-root .tor-form textarea::placeholder,.site-root .tor-form .nf-field-description,.site-root .tor-form .nf-help,.site-root .tor-form .nf-form-fields-required{ color:var(--muted); }.site-root .tor-form .nf-field-element input:focus-visible,.site-root .tor-form select:focus-visible,.site-root .tor-form textarea:focus-visible,.site-root .tor-form button:focus-visible{ outline-color:var(--gold); border-color:var(--gold); }.site-root .tor-form .nf-field-element input[type="checkbox"],.site-root .tor-form .nf-field-element input[type="radio"]{ accent-color:var(--gold); }.site-root .tor-form .nf-field-element input[type="submit"],.site-root .tor-form .nf-field-element input[type="button"],.site-root .tor-form .nf-field-element button{ background:linear-gradient(120deg,#b92337,#871729); border-color:#db654550; }.site-root .tor-form .ninja-forms-req-symbol,.site-root .tor-form .nf-error-msg,.site-root .tor-form .nf-error .nf-error-msg{ color:#ffb46c; }.site-root .tor-form .nf-error .ninja-forms-field{ border-color:#ffb46c; }.site-root .tor-form .nf-error-msg:not(:empty),.site-root .tor-form .nf-response-msg:not(:empty){ border-left-color:var(--gold); background:#dfb45c0c; }.site-root .tor-form .nf-form-content a{ color:var(--gold); }.site-root .tor-form .preview-form-note{ background:#dfb45c10; }.site-root .tor-form .preview-captcha{ border-color:#9e854f; color:var(--muted); }

/* 3.0.2 desktop form layout. Ninja Forms wraps every field in an `nf-field`
   element, so floating only the inner containers left empty right columns.
   Grid the actual wrappers and reserve full rows for structural/long fields. */
@media(min-width:761px) {
  .site-root .tor-form .nf-form-content nf-fields-wrap {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:22px;
    row-gap:25px;
    align-items:stretch;
  }
  .site-root .tor-form .nf-form-content nf-field {
    display:flex;
    min-width:0;
    align-self:stretch;
  }
  .site-root .tor-form .nf-form-content nf-field > * { width:100%; }
  .site-root .tor-form .nf-form-content nf-field .nf-field-label,
  .site-root .tor-form .nf-form-content nf-field .nf-field-description,
  .site-root .tor-form .nf-form-content nf-field .nf-field-element {
    width:100%!important;
    max-width:none!important;
  }
  .site-root .tor-form .nf-form-content nf-field:has(.html-container),
  .site-root .tor-form .nf-form-content nf-field:has(.hr-container),
  .site-root .tor-form .nf-form-content nf-field:has(.textarea-container),
  .site-root .tor-form .nf-form-content nf-field:has(.listcheckbox-container),
  .site-root .tor-form .nf-form-content nf-field:has(.listradio-container),
  .site-root .tor-form .nf-form-content nf-field:has(.recaptcha-container),
  .site-root .tor-form .nf-form-content nf-field:has(.submit-container) {
    grid-column:1 / -1;
  }
  .site-root .tor-form .nf-form-content nf-field:has(input[type="hidden"]) { display:none; }
  .site-root .tor-form .nf-field-container,
  .site-root .tor-form .nf-field-container.one-half,
  .site-root .tor-form .nf-field-container.one-third,
  .site-root .tor-form .nf-field-container.two-thirds {
    display:flex;
    flex:1 1 auto;
    height:auto!important;
    flex-direction:column;
    width:100%!important;
    margin-bottom:0!important;
    margin-left:0!important;
    float:none!important;
    clear:none!important;
  }
  /* Ninja Forms adds `.nf-field` and `.field-wrap` inside every grid item.
     Stretch both layers so short questions fill the height of their paired
     row, then pin the actual control to the bottom. This keeps Company level
     with Guest Count and Invitation level with the longer BBQ question. */
  .site-root .tor-form .nf-form-content nf-field > .nf-field-container > .nf-field {
    display:flex;
    flex:1 1 auto;
    min-height:0;
    width:100%;
  }
  .site-root .tor-form .nf-form-content nf-field .field-wrap {
    display:flex;
    flex:1 1 auto;
    flex-direction:column;
    min-width:0;
    width:100%;
  }
  .site-root .tor-form .nf-form-content nf-field .field-wrap > .nf-field-element { margin-top:auto; }

  /* Do not leave the last long question stranded in the left column before
     a full-width captcha or submit row. */
  .site-root .tor-form .nf-form-content nf-field:has(+ nf-field .recaptcha-container),
  .site-root .tor-form .nf-form-content nf-field:has(+ nf-field .submit-container) {
    grid-column:1 / -1;
  }
  .site-root .tor-form .nf-form-content nf-field.tor-field-full {
    grid-column:1 / -1!important;
  }
  .site-root .tor-form .nf-form-content nf-field.tor-field-bbq {
    grid-column:auto!important;
  }
  .site-root .tor-form .submit-container input[type="button"],
  .site-root .tor-form .submit-container input[type="submit"],
  .site-root .tor-form .submit-container button {
    width:100%;
  }

  /* Matching grid for the bundled static preview markup. */
  .site-root .tor-form fieldset {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:22px;
  }
  .site-root .tor-form fieldset > .prose,
  .site-root .tor-form fieldset > hr,
  .site-root .tor-form fieldset > .preview-captcha,
  .site-root .tor-form fieldset > .nf-field-container:last-child {
    grid-column:1 / -1;
    width:100%;
  }
  .site-root .tor-form fieldset > .nf-field-container:has(+ .preview-captcha) {
    grid-column:1 / -1;
  }
}
