/**
 * Theme Name: SL Record
 * Description: Cystin Theme for SLrecord.com
 * Author: GO Marketing
 * Template: blocksy
 * Text Domain: blocksy
 */

/*
 * ============================================================
 *  Gravity Forms — Intermountain Commercial Record Theme
 *  Matches the ICR navy/gold design system
 *  Add to: Appearance > Customize > Additional CSS
 *  or enqueue via child theme / plugin
 * ============================================================
 */

/* ── DESIGN TOKENS ── */
:root {
  --icr-navy:       #1a2740;
  --icr-navy-deep:  #0f1a2e;
  --icr-gold:       #b8972a;
  --icr-gold-light: #d4af50;
  --icr-cream:      #f7f4ee;
  --icr-warm-white: #fdfcf9;
  --icr-text-dark:  #1c1c1c;
  --icr-text-mid:   #4a4a4a;
  --icr-text-light: #7a7a7a;
  --icr-rule:       #d6cfc0;
  --icr-success:    #2a6040;
  --icr-error:      #8b1a1a;
}

/* ============================================================
   FORM WRAPPER
   ============================================================ */
.gform_wrapper.gravity-theme,
.gform_wrapper {
  font-family: 'DM Sans', sans-serif !important;
  color: var(--icr-text-dark) !important;
}

/* ============================================================
   FIELD LABELS
   ============================================================ */
.gform_wrapper .gfield_label,
.gform_wrapper .gform-field-label,
.gform_wrapper legend.gfield_label {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--icr-text-mid) !important;
  margin-bottom: 6px !important;
}

/* Required asterisk / text */
.gform_wrapper .gfield_required,
.gform_wrapper .gfield_required_text {
  color: var(--icr-gold) !important;
  font-size: 0.68rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
}

/* Sub-labels (name field first/last) */
.gform_wrapper .gfield--type-name .gform-field-label--type-sub {
  font-size: 0.65rem !important;
  letter-spacing: 0.08em !important;
  color: var(--icr-text-light) !important;
  text-transform: uppercase !important;
}

/* ============================================================
   INPUTS, SELECTS, TEXTAREAS
   ============================================================ */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="password"],
.gform_wrapper select,
.gform_wrapper textarea {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 0.92rem !important;
  color: var(--icr-text-dark) !important;
  background: var(--icr-warm-white) !important;
  border: 1px solid var(--icr-rule) !important;
  border-radius: 0 !important;
  padding: 12px 15px !important;
  box-shadow: none !important;
  outline: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  width: 100% !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

/* Placeholder text */
.gform_wrapper input::placeholder,
.gform_wrapper textarea::placeholder {
  color: #b0a898 !important;
  font-style: normal !important;
}

/* Focus state */
.gform_wrapper input[type="text"]:focus,
.gform_wrapper input[type="email"]:focus,
.gform_wrapper input[type="tel"]:focus,
.gform_wrapper input[type="url"]:focus,
.gform_wrapper input[type="number"]:focus,
.gform_wrapper input[type="password"]:focus,
.gform_wrapper select:focus,
.gform_wrapper textarea:focus {
  border-color: var(--icr-gold) !important;
  box-shadow: 0 0 0 3px rgba(184, 151, 42, 0.1) !important;
  outline: none !important;
}

/* Select arrow */
.gform_wrapper .ginput_container_select select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath fill='none' stroke='%237a7a7a' stroke-width='1.5' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  padding-right: 40px !important;
  cursor: pointer !important;
}

/* Textarea */
.gform_wrapper textarea {
  resize: vertical !important;
  min-height: 130px !important;
  line-height: 1.65 !important;
}

/* ============================================================
   FIELD DESCRIPTIONS
   ============================================================ */
.gform_wrapper .gfield_description,
.gform_wrapper .ginput_counter {
  font-size: 0.78rem !important;
  color: var(--icr-text-light) !important;
  line-height: 1.55 !important;
  margin-top: 6px !important;
  font-style: italic !important;
}

.gform_wrapper .ginput_counter {
  font-style: normal !important;
  text-align: right !important;
  color: var(--icr-text-light) !important;
}

/* ============================================================
   FIELD ROWS / SPACING
   ============================================================ */
.gform_wrapper .gfield {
  margin-bottom: 20px !important;
  padding: 0 !important;
}

.gform_wrapper .gform_fields {
  row-gap: 0 !important;
}

/* Name field — two columns */
.gform_wrapper .ginput_container--name.gform-grid-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 18px !important;
}

/* ============================================================
   CHECKBOXES & RADIO BUTTONS
   ============================================================ */
.gform_wrapper .gfield--type-checkbox .gfield_checkbox,
.gform_wrapper .gfield--type-radio .gfield_radio {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.gform_wrapper .gfield_checkbox .gchoice,
.gform_wrapper .gfield_radio .gchoice {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.gform_wrapper .gfield_checkbox input[type="checkbox"],
.gform_wrapper .gfield_radio input[type="radio"] {
  width: 18px !important;
  height: 18px !important;
  padding: 0 !important;
  border: 1px solid var(--icr-rule) !important;
  accent-color: var(--icr-navy) !important;
  flex-shrink: 0 !important;
  cursor: pointer !important;
}

.gform_wrapper .gfield_checkbox label,
.gform_wrapper .gfield_radio label {
  font-size: 0.88rem !important;
  color: var(--icr-text-mid) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
  cursor: pointer !important;
}

/* ============================================================
   SUBMIT BUTTON
   ============================================================ */
.gform_wrapper .gform_footer .gform_button,
.gform_wrapper .gform_page_footer .gform_button,
.gform_wrapper input[type="submit"],
.gform_wrapper .gform-button--width-full {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  background: var(--icr-navy) !important;
  color: var(--icr-cream) !important;
  border: 2px solid var(--icr-navy) !important;
  border-radius: 0 !important;
  padding: 14px 40px !important;
  cursor: pointer !important;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
  box-shadow: none !important;
  width: 100% !important;
  display: block !important;
  text-align: center !important;
  margin-top: 8px !important;
}

.gform_wrapper .gform_footer .gform_button:hover,
.gform_wrapper input[type="submit"]:hover,
.gform_wrapper .gform-button--width-full:hover {
  background: var(--icr-gold) !important;
  border-color: var(--icr-gold) !important;
  color: var(--icr-navy-deep) !important;
}

/* ============================================================
   FORM FOOTER / SUBMIT ROW
   ============================================================ */
.gform_wrapper .gform_footer,
.gform_wrapper .gform_page_footer {
  padding: 8px 0 0 !important;
  margin: 0 !important;
  border: none !important;
}

/* ============================================================
   VALIDATION — ERROR STATES
   ============================================================ */
.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error select,
.gform_wrapper .gfield_error textarea {
  border-color: var(--icr-error) !important;
  box-shadow: 0 0 0 3px rgba(139, 26, 26, 0.08) !important;
}

.gform_wrapper .gfield_error .gfield_label,
.gform_wrapper .gfield_error .gform-field-label {
  color: var(--icr-error) !important;
}

.gform_wrapper .validation_message,
.gform_wrapper .gfield_validation_message {
  font-size: 0.78rem !important;
  color: var(--icr-error) !important;
  margin-top: 5px !important;
  font-style: normal !important;
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
}

/* Top-of-form validation error box */
.gform_wrapper .gform_validation_errors,
.gform_wrapper .validation_error {
  background: #fdf5f5 !important;
  border: 1px solid #d6b0b0 !important;
  border-left: 4px solid var(--icr-error) !important;
  border-radius: 0 !important;
  padding: 18px 22px !important;
  margin-bottom: 28px !important;
  font-size: 0.88rem !important;
  color: var(--icr-error) !important;
  box-shadow: none !important;
}

.gform_wrapper .gform_validation_errors h2,
.gform_wrapper .validation_error h2 {
  font-family: 'Playfair Display', serif !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--icr-error) !important;
  margin-bottom: 4px !important;
}

/* ============================================================
   CONFIRMATION MESSAGE (success)
   ============================================================ */
.gform_confirmation_wrapper,
.gform_confirmation_message {
  background: var(--icr-cream) !important;
  border: 1px solid var(--icr-rule) !important;
  border-top: 3px solid var(--icr-success) !important;
  padding: 40px 36px !important;
  text-align: center !important;
  font-family: 'Source Serif 4', 'Georgia', serif !important;
  font-size: 1rem !important;
  color: var(--icr-text-mid) !important;
  line-height: 1.75 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.gform_confirmation_message strong {
  display: block !important;
  font-family: 'Playfair Display', serif !important;
  font-size: 1.4rem !important;
  font-weight: 600 !important;
  color: var(--icr-navy) !important;
  margin-bottom: 12px !important;
}

/* ============================================================
   HONEYPOT (hide completely)
   ============================================================ */
.gform_wrapper .gform_validation_container,
.gform_wrapper li.gform_validation_container,
.gform_wrapper div.gform_validation_container {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* ============================================================
   MULTI-PAGE PROGRESS BAR (if used)
   ============================================================ */
.gform_wrapper .gf_progressbar_wrapper {
  margin-bottom: 32px !important;
}

.gform_wrapper .gf_progressbar {
  background: var(--icr-rule) !important;
  border-radius: 0 !important;
  height: 4px !important;
  overflow: hidden !important;
}

.gform_wrapper .gf_progressbar_percentage {
  background: var(--icr-gold) !important;
  height: 100% !important;
  border-radius: 0 !important;
  transition: width 0.4s ease !important;
}

.gform_wrapper .gf_progressbar_title {
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--icr-text-light) !important;
  margin-bottom: 8px !important;
}

/* ============================================================
   FILE UPLOAD FIELD (if used)
   ============================================================ */
.gform_wrapper .ginput_container_fileupload input[type="file"] {
  padding: 10px 14px !important;
  border: 1px dashed var(--icr-rule) !important;
  background: var(--icr-cream) !important;
  font-size: 0.85rem !important;
  color: var(--icr-text-mid) !important;
  width: 100% !important;
  cursor: pointer !important;
}

.gform_wrapper .ginput_container_fileupload input[type="file"]:hover {
  border-color: var(--icr-gold) !important;
}

/* ============================================================
   DATE FIELD (if used)
   ============================================================ */
.gform_wrapper .ginput_container_date input {
  max-width: 180px !important;
}

/* ============================================================
   SECTION BREAK / DIVIDER FIELDS
   ============================================================ */
.gform_wrapper .gsection {
  border-top: 1px solid var(--icr-rule) !important;
  border-bottom: none !important;
  padding: 28px 0 16px !important;
  margin-top: 16px !important;
  margin-bottom: 8px !important;
}

.gform_wrapper .gsection_title {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  color: var(--icr-navy) !important;
  margin-bottom: 4px !important;
}

.gform_wrapper .gsection_description {
  font-size: 0.88rem !important;
  color: var(--icr-text-light) !important;
  line-height: 1.6 !important;
}

/* ============================================================
   HTML CONTENT FIELDS
   ============================================================ */
.gform_wrapper .gfield--type-html {
  font-family: 'Source Serif 4', 'Georgia', serif !important;
  font-size: 0.92rem !important;
  color: var(--icr-text-mid) !important;
  line-height: 1.72 !important;
}

/* ============================================================
   ORBITAL THEME OVERRIDES
   (neutralise blue accent from theme data-js settings)
   ============================================================ */
.gform_wrapper.gravity-theme .gform_button:not([disabled]):hover,
.gform_wrapper.gravity-theme .gform_next_button:not([disabled]):hover,
.gform_wrapper.gravity-theme .gform_previous_button:not([disabled]):hover {
  background-color: var(--icr-gold) !important;
  border-color: var(--icr-gold) !important;
  color: var(--icr-navy-deep) !important;
}

.gform_wrapper.gravity-theme input:focus,
.gform_wrapper.gravity-theme select:focus,
.gform_wrapper.gravity-theme textarea:focus {
  border-color: var(--icr-gold) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(184, 151, 42, 0.1) !important;
}

/* Override orbital's blue primary color variable */
.gform_wrapper.gravity-theme {
  --gf-color-primary: var(--icr-gold) !important;
  --gf-color-primary-rgb: 184, 151, 42 !important;
  --gf-ctrl-border-color: var(--icr-rule) !important;
  --gf-ctrl-border-color-focus: var(--icr-gold) !important;
  --gf-ctrl-bg: var(--icr-warm-white) !important;
  --gf-ctrl-label-color-primary: var(--icr-text-mid) !important;
  --gf-ctrl-label-color-sub: var(--icr-text-light) !important;
  --gf-color-primary-contrast: var(--icr-navy-deep) !important;
  --gf-btn-bg: var(--icr-navy) !important;
  --gf-btn-color: var(--icr-cream) !important;
  --gf-btn-border-color: var(--icr-navy) !important;
  --gf-ctrl-border-radius: 0px !important;
  --gf-btn-border-radius: 0px !important;
}

/* ============================================================
   RESPONSIVE ADJUSTMENTS
   ============================================================ */
@media (max-width: 640px) {
  .gform_wrapper .ginput_container--name.gform-grid-row {
    grid-template-columns: 1fr !important;
  }

  .gform_wrapper .gform_footer .gform_button {
    padding: 13px 24px !important;
  }
}

/* Disable PDF Download Dear Flip Book */

a.df-ui-btn.df-icon-download {
    display: none !important;
}

/* Dear Flipbook CSS Modifications */
.df-icon-share {
display:none!important;	
}