/*
Theme Name: Win-Divi
Description: Windermere brand + component styles (Divi + Gravity Forms)
Author: Tristan
Version: 1.0
Template: Divi
*/

/* =========================================================
   BRAND TOKENS
   ========================================================= */
:root {
  --brand-navy: #002a4e;   /* primary navy */
  --brand-blue: #159bd7;   /* accent light blue */
  --brand-gray: #707373;
  --brand-lightgray: #bbbcbc;
  --font-sans: "Proxima Nova", Arial, Helvetica, sans-serif;
}

/* =========================================================
   BASE TYPOGRAPHY
   (scoped to content to avoid menus/headers)
   ========================================================= */
.entry-content p,
.entry-content ul,
.entry-content li,
.et_pb_text p,
.et_pb_text ul,
.et_pb_text li {
  font-family: var(--font-sans);
  font-weight: 500;
}

h2 {
  font-family: var(--font-sans);
  font-weight: 300;
  font-size: 26px;
  line-height: 1.1;
  letter-spacing: -0.65px;
  color: var(--brand-gray);
}

h2.entry-title {
  color: var(--brand-gray);
  text-transform: uppercase;
}

h4 {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 20px;
  line-height: 1.1;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--brand-gray);
}

/* Links */
a {
  color: var(--brand-navy);
  text-decoration: none;
}
a:hover,
a:focus {
  color: var(--brand-blue);
  text-decoration: underline;
  outline: none;
}

/* =========================================================
   HEADINGS & META (Adobe Fonts)
   ========================================================= */
h1.entry-title {
  font-family: "baskerville-urw", serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: -1px;
}

.post-meta {
  font-family: "Proxima Nova", sans-serif;
  font-weight: 200;
  text-transform: uppercase;
}

/* =========================================================
   NOTE CLASS (Brand Callout)
   (updated to brand colors)
   ========================================================= */
.note-highlight {
  max-width: 650px;
  width: 100%;
  padding: 20px;
  margin-top: 2em;
  text-align: left;
  font-family: var(--font-sans);
  font-weight: 500;
  font-size: 18px;
  line-height: 1.4;
  color: #fff;
  background: var(--brand-blue);
  border-left: 5px solid var(--brand-navy);
  border-radius: 10px;
}
.note-highlight h3 {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 24px;
  line-height: 1;
  color: #fff;
  text-transform: capitalize;
  margin: 0 0 .25em 0;
}
.note-highlight h5 {
  font-family: var(--font-sans);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 2px;
  line-height: 1.8;
  color: var(--brand-navy);
  margin: .4em 0 0 0;
}
/* Links inside note-highlight boxes */
.note-highlight a {
  color: #ffffff;                    /* default: white link text */
  font-weight: 600;                  /* slight emphasis */
  text-decoration: underline;        /* visible link cue */
  transition: color 0.25s ease, background-color 0.25s ease;
}

.note-highlight a:hover,
.note-highlight a:focus {
  color: #002a4e;                    /* navy text on hover */
  text-decoration: none;             /* cleaner look on hover */
  border-radius: 3px;
}

.note-highlight a:active {
  color: #001933;                    /* darker navy on click */
}

/* =========================================================
   TABLE HEADERS IN CONTENT (brand blue header row)
   ========================================================= */
.entry-content table thead th,
body.et-pb-preview #main-content .container thead th {
  color: #fff;
  font-weight: 700;
  padding: 9px 24px;
  background-color: var(--brand-blue);
}

/* =========================================================
   GRAVITY FORMS (Gravity Theme)
   ========================================================= */
.gform_wrapper .gform_body .gfield_description {
  padding: 0 !important;
  line-height: 1.5 !important;
}

.gform_wrapper .gform_body .gfield_label {
  padding-top: 1em;
  font-family: var(--font-sans);
  color: var(--brand-navy);
}

/* Section title (merged your size rule + spacing/color) */
.gform_wrapper h2.gsection_title {
  font-size: 1.6em;            /* from your snippet */
  margin: 1.5em 0 0.25em;      /* refined spacing */
  padding: 0;
  color: var(--brand-navy);
  letter-spacing: normal;
}

/* Section description */
.gform_wrapper .gform_body .gsection_description {
  padding-top: 3em !important;
  font-size: 16px !important;
  color: var(--brand-gray);
}

/* List field table headers */
.gform_wrapper.gravity-theme .gfield_list thead th {
  color: #fff;
  background: var(--brand-navy);
}

/* Gravity Survey Likert headers */
table.gsurvey-likert tr th {
  color: #000;
}

/* =========================================================
   GRAVITYVIEW (example heading)
   ========================================================= */
h2.gravity-view {
  font-size: 12px;
  color: var(--brand-blue);
}

/* =========================================================
   ADMIN-ONLY: GRAVITY FLOW STYLES
   (scoped to wp-admin so they never affect the front end)
   ========================================================= */
body.wp-admin .gravityflow_workflow_wrap h3,
body.wp-admin .gravityflow_workflow_wrap .postbox h3 {
  font-size: 1.5em;
  margin: 0;
  background-color: var(--brand-blue);
  padding: 10px;
  color: #fff;
}
body.wp-admin .gravityflow_workflow_wrap h4 {
  margin: 0;
  font-size: 1.2em;
  padding: 10px;
  background-color: #cccbcb;
}

/* =========================================================
   GRAVITY FORMS BUTTONS ONLY — Brand tokens
   ========================================================= */

/* Primary submit / navigation / file buttons */
.gform_wrapper input[type="submit"],
.gform_wrapper input[type="reset"],
.gform_wrapper button[type="submit"],
.gform_wrapper .gform_button,
.gform_wrapper .gform_next_button,
.gform_wrapper .gform_previous_button,
.gform_wrapper .gform_save_link,
.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_page_footer input[type="submit"],
.gform_wrapper .gform_page_footer input[type="button"].gform_next_button,
.gform_wrapper .gform_page_footer input[type="button"].gform_previous_button,
.gform_wrapper .gform_button_select_files {
  background-color: var(--brand-navy) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 4px;
  padding: 12px 28px !important;
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 16px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  text-decoration: none !important;
  cursor: pointer;
  display: inline-block;
  transition: background-color .25s ease, color .25s ease, box-shadow .25s ease, transform .15s ease;
}

/* Hover / Focus — includes multipage Next / Previous buttons */
.gform_wrapper input[type="submit"]:hover,
.gform_wrapper input[type="submit"]:focus,
.gform_wrapper input[type="reset"]:hover,
.gform_wrapper input[type="reset"]:focus,
.gform_wrapper button[type="submit"]:hover,
.gform_wrapper button[type="submit"]:focus,
.gform_wrapper .gform_button:hover,
.gform_wrapper .gform_button:focus,
.gform_wrapper .gform_next_button:hover,
.gform_wrapper .gform_next_button:focus,
.gform_wrapper .gform_previous_button:hover,
.gform_wrapper .gform_previous_button:focus,
.gform_wrapper input[type="button"].gform_next_button:hover,
.gform_wrapper input[type="button"].gform_next_button:focus,
.gform_wrapper input[type="button"].gform_previous_button:hover,
.gform_wrapper input[type="button"].gform_previous_button:focus,
.gform_wrapper .gform_save_link:hover,
.gform_wrapper .gform_save_link:focus,
.gform_wrapper .gform_button_select_files:hover,
.gform_wrapper .gform_button_select_files:focus,
.gform_wrapper .gform_footer input[type="submit"]:hover,
.gform_wrapper .gform_footer input[type="submit"]:focus,
.gform_wrapper .gform_page_footer input[type="submit"]:hover,
.gform_wrapper .gform_page_footer input[type="submit"]:focus,
.gform_wrapper .gform_page_footer input[type="button"].gform_next_button:hover,
.gform_wrapper .gform_page_footer input[type="button"].gform_next_button:focus,
.gform_wrapper .gform_page_footer input[type="button"].gform_previous_button:hover,
.gform_wrapper .gform_page_footer input[type="button"].gform_previous_button:focus {
  background-color: var(--brand-blue) !important;
  color: #ffffff !important;
  outline: none;
  transform: translateY(-1px);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
}

/* Active / Pressed — includes multipage Next / Previous buttons */
.gform_wrapper input[type="submit"]:active,
.gform_wrapper input[type="reset"]:active,
.gform_wrapper button[type="submit"]:active,
.gform_wrapper .gform_button:active,
.gform_wrapper .gform_next_button:active,
.gform_wrapper .gform_previous_button:active,
.gform_wrapper input[type="button"].gform_next_button:active,
.gform_wrapper input[type="button"].gform_previous_button:active,
.gform_wrapper .gform_save_link:active,
.gform_wrapper .gform_button_select_files:active,
.gform_wrapper .gform_footer input[type="submit"]:active,
.gform_wrapper .gform_page_footer input[type="submit"]:active,
.gform_wrapper .gform_page_footer input[type="button"].gform_next_button:active,
.gform_wrapper .gform_page_footer input[type="button"].gform_previous_button:active {
  background-color: #001933 !important; /* deeper navy */
  transform: translateY(0);
  box-shadow: none;
}

/* ===== FILE INPUT BUTTONS ===== */
.gform_wrapper input[type="file"]::file-selector-button {
  background-color: var(--brand-navy);
  color: #ffffff;
  border: none;
  border-radius: 4px;
  padding: 10px 20px;
  font-family: var(--font-sans);
  font-weight: 600;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color .25s ease, box-shadow .25s ease, transform .15s ease;
  margin-right: 12px;
}

.gform_wrapper input[type="file"]:hover::file-selector-button,
.gform_wrapper input[type="file"]:focus::file-selector-button {
  background-color: var(--brand-blue);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
  transform: translateY(-1px);
}

.gform_wrapper input[type="file"]:active::file-selector-button {
  background-color: #001933;
  transform: translateY(0);
  box-shadow: none;
}

/* WebKit fallback for older browsers */
.gform_wrapper input[type="file"]::-webkit-file-upload-button {
  background-color: var(--brand-navy);
  color: #ffffff;
  border: none;
  border-radius: 4px;
  padding: 10px 20px;
  font-family: var(--font-sans);
  font-weight: 600;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color .25s ease, box-shadow .25s ease, transform .15s ease;
  margin-right: 12px;
}

.gform_wrapper input[type="file"]::-webkit-file-upload-button:hover,
.gform_wrapper input[type="file"]::-webkit-file-upload-button:focus {
  background-color: var(--brand-blue);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
  transform: translateY(-1px);
}

.gform_wrapper input[type="file"]::-webkit-file-upload-button:active {
  background-color: #001933;
  transform: translateY(0);
  box-shadow: none;
}

/* =========================================================
   FORM FIELD STYLING — Navy base / Light-blue focus
   (No rich-text overrides)
   ========================================================= */

/* Base */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="date"],
input[type="time"],
input[type="file"],
select,
textarea {
  border: 2px solid var(--brand-navy);
  border-radius: 4px;
  font-family: var(--font-sans);
  transition: border-color .25s ease, box-shadow .25s ease; /* no border-width jump */
  outline: none;
}

/* Focus */
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="date"]:focus,
input[type="time"]:focus,
input[type="file"]:focus,
select:focus,
textarea:focus {
  border-color: var(--brand-blue);             /* change color only */
  box-shadow: 0 0 6px rgba(21,155,215,.25);    /* subtle glow */
  outline: none;
}

/* Gravity Forms consistency (no width change on focus) */
.gform_wrapper input:not([type="submit"]),
.gform_wrapper select,
.gform_wrapper textarea {
  border: 2px solid var(--brand-navy);
  border-radius: 4px;
}

.gform_wrapper input:not([type="submit"]):focus,
.gform_wrapper select:focus,
.gform_wrapper textarea:focus {
  border-color: var(--brand-blue);
  box-shadow: 0 0 6px rgba(21,155,215,.25);
}

/* =========================================================
   GRAVITY FORMS SECTION HEADERS
   ========================================================= */

/* Preferred: lower the grid gap tokens (site-wide for GF Foundation) */
.gform_wrapper.gform-theme--foundation {
  --gf-form-gap-y: 0.25em;   /* default vertical gap between grid rows */
  --gf-field-gap-y: 0.25em;  /* vertical spacing inside field groups */
}

/* Fallbacks (in case the custom properties above are ignored by your linter/theme) */
.gform_wrapper.gform-theme--foundation .gform_fields {
  row-gap: 0.25em !important;        /* reduce vertical grid gap */
  grid-row-gap: 0.25em !important;   /* legacy alias */
}

/* Section header itself (you said your titles are h3) */
.gform_wrapper h3.gsection_title {
  color: var(--brand-navy) !important;
  font-family: var(--font-sans) !important;
  font-weight: 400;
  line-height: 1.2;
  margin: 2em 0 0.15em !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Make the divider sit close to the title and the next field */
.gform_wrapper .gsection .gsection_title {
  border-bottom: 2px solid var(--brand-navy);
  padding-bottom: 0.2em !important;  /* gap between text and line */
  margin-bottom: 0.15em !important;  /* gap after line */
}

/* Trim the block spacing for the section field itself */
.gform_wrapper.gform-theme--foundation .gfield--type-section,
.gform_wrapper .gsection {
  margin-bottom: 0.25em !important;  /* less space under section block */
  padding-bottom: 0 !important;
}