/* OM Gravity Forms styling — GLOBAL modern look for ALL Gravity Forms (current and future). v1.6.0
   Aligned to design-system form tokens (brand.html / design-system.css Forms section).
   Enqueued on every form via gform_enqueue_scripts. Generic rules target .gform_wrapper; where GF's
   gravity-theme uses !important (e.g. descriptions) we bump specificity with .gravity-theme.gravity-theme.
   Rentals-only layout rules stay scoped to #gform_wrapper_8 / #field_8_*. */
.gform_wrapper{
  --om-wine:#7A1F25;
  --om-wine-deep:#5e171c;
  --om-ink:#14110F;
  --om-muted:#6E645B;
  --om-hair:rgba(20,17,15,.22);
  --om-hair-soft:rgba(20,17,15,.10);
  --om-field:#F4F3F0;
  --om-field-hover:#ECEBE7;
  --om-field-focus:#FAFAF8;
  --om-radius:6px;
}

/* Labels */
.gform_wrapper .gfield_label,
.gform_wrapper legend.gfield_label{
  font-family:"proxima-nova","Proxima Nova",Inter,system-ui,sans-serif !important;
  font-size:14px !important; font-weight:600 !important; line-height:1.35 !important;
  letter-spacing:.005em !important; color:var(--om-ink) !important; margin-bottom:6px !important; text-transform:none !important;
}
.gform_wrapper .gfield_required{ color:var(--om-wine) !important; }
.gform_wrapper .gform_required_legend{ font-size:12px !important; color:var(--om-muted) !important; font-weight:400 !important; }
.gform_wrapper .gform-field-label--type-sub{ font-size:11.5px !important; font-weight:500 !important; color:var(--om-muted) !important; letter-spacing:.04em !important; text-transform:uppercase !important; margin-top:6px !important; }

/* Spacing */
.gform_wrapper .gform_fields{ grid-row-gap:24px !important; grid-column-gap:30px !important; }
.gform_wrapper .gfield{ margin:0 !important; }

/* Inputs — design-system paper/linen fields */
.gform_wrapper input[type=text],
.gform_wrapper input[type=email],
.gform_wrapper input[type=tel],
.gform_wrapper input[type=number],
.gform_wrapper textarea,
.gform_wrapper select{
  font-family:"proxima-nova",Inter,sans-serif !important; font-size:15px !important; color:var(--om-ink) !important;
  background:var(--om-field) !important; border:1px solid var(--om-hair) !important; border-radius:var(--om-radius) !important;
  line-height:1.4 !important; box-shadow:none !important;
  transition:border-color .15s, box-shadow .15s, background .15s !important;
}
/* single-line: pad-driven height (DS 10px 14px); overrides GF gravity-theme min-height:50px */
.gform_wrapper input[type=text],
.gform_wrapper input[type=email],
.gform_wrapper input[type=tel],
.gform_wrapper input[type=number],
.gform_wrapper .ginput_complex input,
.gform_wrapper select{
  box-sizing:border-box !important; height:auto !important; min-height:0 !important;
  padding:10px 14px !important;
}
.gform_wrapper select{
  appearance:none !important; -webkit-appearance:none !important; cursor:pointer !important;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'><path fill='none' stroke='%237A1F25' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5l5 5 5-5'/></svg>") !important;
  background-repeat:no-repeat !important; background-position:right 18px center !important; background-size:12px !important;
  padding-right:44px !important;
}
.gform_wrapper textarea{ padding:10px 14px !important; min-height:110px !important; line-height:1.55 !important; resize:vertical !important; }
.gform_wrapper ::placeholder{ color:#9a9089 !important; opacity:.65 !important; }
.gform_wrapper input[type=text]:hover,
.gform_wrapper input[type=email]:hover,
.gform_wrapper input[type=tel]:hover,
.gform_wrapper input[type=number]:hover,
.gform_wrapper textarea:hover,
.gform_wrapper select:hover{
  background:var(--om-field-hover) !important; border-color:rgba(20,17,15,.32) !important;
}
.gform_wrapper input[type=text]:focus,
.gform_wrapper input[type=email]:focus,
.gform_wrapper input[type=tel]:focus,
.gform_wrapper input[type=number]:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus{
  background:var(--om-field-focus) !important; border-color:var(--om-wine) !important;
  box-shadow:0 0 0 3px rgba(122,31,37,.12) !important; outline:none !important;
}

/* Date field — clean calendar icon (GF wraps it in a rounded border otherwise) */
.gform_wrapper .ginput_container_date input[type=text]{ max-width:230px !important; display:inline-block !important; }
.gform_wrapper .ginput_container_date input.ui-datepicker-trigger,
.gform_wrapper .ginput_container_date .ui-datepicker-trigger{
  width:21px !important; height:21px !important; padding:0 !important; border:0 !important; border-radius:0 !important;
  background:none !important; box-shadow:none !important; margin:0 0 0 10px !important; vertical-align:middle !important;
  cursor:pointer !important; opacity:.6 !important; transition:opacity .15s !important; max-width:none !important;
}
.gform_wrapper .ginput_container_date .ui-datepicker-trigger:hover{ opacity:1 !important; }

/* Descriptions — sit between the label and the input (above placement). The .gravity-theme.gravity-theme
   variant (0,4,0) beats GF gravity-theme's own .gform_wrapper.gravity-theme .gfield_description (0,3,0) !important. */
.gform_wrapper .gfield_description,
.gform_wrapper.gravity-theme.gravity-theme .gfield_description,
.gform_wrapper.gravity-theme.gravity-theme .gsection_description{ font-size:13px !important; color:var(--om-muted) !important; line-height:1.45 !important; margin:0 0 9px !important; padding:0 !important; }

/* File upload — DS dropzone look (no field/markup changes) */
.gform_wrapper .ginput_container_fileupload,
.gform_wrapper .gform_drop_area{
  background:var(--om-field) !important;
  border:1px dashed var(--om-hair) !important;
  border-radius:var(--om-radius) !important;
  padding:22px 18px !important;
  transition:border-color .15s, background .15s, box-shadow .15s !important;
}
.gform_wrapper .ginput_container_fileupload:hover,
.gform_wrapper .gform_drop_area:hover{
  border-color:rgba(122,31,37,.45) !important;
  background:var(--om-field-focus) !important;
}
.gform_wrapper .ginput_container_fileupload:focus-within,
.gform_wrapper .gform_drop_area:focus-within{
  border-color:var(--om-wine) !important;
  border-style:solid !important;
  background:var(--om-field-focus) !important;
  box-shadow:0 0 0 3px rgba(122,31,37,.12) !important;
}
.gform_wrapper .gform_fileupload_rules,
.gform_wrapper .gfield--type-fileupload .gfield_description{
  font-size:12px !important; color:var(--om-muted) !important; letter-spacing:.02em !important;
}

/* Checkbox / radio text + wine accent + TOP-ALIGNED choices */
.gform_wrapper .gfield_checkbox label,
.gform_wrapper .gfield_radio label,
.gform_wrapper .gchoice label{
  font-family:"proxima-nova",Inter,sans-serif !important; font-size:14px !important; font-weight:400 !important;
  line-height:1.4 !important; color:var(--om-ink) !important; letter-spacing:0 !important; margin:0 !important; padding:0 !important;
}
.gform_wrapper .gfield_checkbox .gchoice,
.gform_wrapper .gfield_radio .gchoice{ display:flex !important; align-items:flex-start !important; gap:10px !important; margin:0 0 2px !important; }
.gform_wrapper .gchoice input[type=checkbox],
.gform_wrapper .gchoice input[type=radio]{ flex:0 0 auto !important; margin-top:3px !important; }
.gform_wrapper input[type=checkbox],
.gform_wrapper input[type=radio]{ accent-color:var(--om-wine) !important; width:17px !important; height:17px !important; }

/* Consent / privacy row — DS .check--consent paper plate (Contact #field_1_6 + GF consent type) */
.gform_wrapper .gfield--type-consent,
#field_1_6{
  border-top:0 !important; padding-top:0 !important; margin-top:2px !important;
}
.gform_wrapper .gfield--type-consent .ginput_container_consent,
#field_1_6 .gchoice,
#field_1_16 .gchoice{
  display:flex !important; align-items:flex-start !important; gap:10px !important;
  margin:0 !important;
  padding:12px 14px !important;
  border-radius:var(--om-radius) !important;
  background:var(--om-field) !important;
  border:1px solid var(--om-hair-soft) !important;
  line-height:1.45 !important;
  cursor:pointer !important;
}
.gform_wrapper .gfield_consent_label,
.gform_wrapper .gfield--type-consent label,
#field_1_6 .gchoice label{
  font-size:13.5px !important; line-height:1.45 !important; color:var(--om-muted) !important; font-weight:400 !important;
}
.gform_wrapper a{ color:var(--om-wine) !important; text-decoration:underline !important; text-underline-offset:2px !important; }
.gform_wrapper a:hover{ text-decoration-thickness:2px !important; }

/* Submit button = site wine button (30px breathing room above) */
.gform_wrapper .gform_footer{ margin-top:30px !important; padding-top:6px !important; }
.gform_wrapper .gform_button,
.gform_wrapper input[type=submit]{
  font-family:"proxima-nova",Inter,sans-serif !important; background:var(--om-wine) !important; color:#fff !important; border:0 !important;
  border-radius:var(--om-radius) !important; font-size:15px !important; font-weight:600 !important; letter-spacing:.02em !important; padding:14px 40px !important;
  cursor:pointer !important; transition:background .15s !important; width:auto !important;
}
.gform_wrapper .gform_button:hover, .gform_wrapper input[type=submit]:hover{ background:var(--om-wine-deep) !important; }
.gform_wrapper .gform_button:focus-visible{ outline:3px solid rgba(122,31,37,.4) !important; outline-offset:2px !important; }

/* Validation */
.gform_wrapper .gfield_error input, .gform_wrapper .gfield_error textarea, .gform_wrapper .gfield_error select{ border-color:#b3261e !important; }
.gform_wrapper .gfield_validation_message, .gform_wrapper .validation_message{ font-size:12.5px !important; background:none !important; border:0 !important; padding:4px 0 0 !important; }

/* ============ RENTALS FORM (8) ONLY — inventory layout + orchestra heading ============ */
#field_8_6 .gfield_label{ font-size:15px !important; }
#field_8_6 .gfield_checkbox{ display:flex !important; flex-direction:column !important; gap:10px !important; }
#field_8_8 .gfield_checkbox{ display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px 40px !important; }
@media (max-width:680px){ #field_8_8 .gfield_checkbox{ grid-template-columns:1fr !important; } }
#field_8_7 .gfield_checkbox,
#field_8_10 .gfield_checkbox,
#field_8_11 .gfield_checkbox{ display:flex !important; flex-direction:column !important; gap:12px !important; }
#field_8_9{ margin-top:4px !important; border-top:1px solid var(--om-hair) !important; padding-top:22px !important; }
#field_8_9 .om-orch-head{ font-family:"proxima-nova",Inter,sans-serif !important; font-size:16px !important; font-weight:700 !important; letter-spacing:.02em !important; color:var(--om-ink) !important; margin:0 0 4px !important; line-height:1.3 !important; }
#field_8_9 .om-orch-sub{ font-size:13px !important; color:var(--om-muted) !important; line-height:1.45 !important; margin:0 !important; }
#field_8_16 textarea{ min-height:74px !important; }

/* (v1.6.0: field tokens synced to design-system Forms — #F4F3F0 fill, .22 border, 10px 14px pad,
   6px radius, hover/focus paper states, textarea 110px. No GF field structure changes.) */

/* Contact form privacy and mailing-list labels share a middle size. */
#gform_wrapper_1 #field_1_6 .gchoice label,
#gform_wrapper_1 #field_1_16 .gchoice label{font-size:15.25px!important;line-height:1.45!important;color:var(--om-muted)!important;font-weight:400!important;}
