/*
 Theme Name: Careenage GreenLight Child
 Template: greenlight
 Description: Careenage Media Network child theme for GreenLight — navy-dominant maritime B2B brand. Page CSS is carried in the preserved per-page <style> block; this file holds block-theme fixes + Gravity Forms styling mapped to the cg- brand tokens.
 Version: 1.0.0
*/

:root {
  --cg-navy: #0A2E4D;
  --cg-navy-deep: #06203A;
  --cg-teal: #0E7C86;
  --cg-coral: #E2603D;
  --cg-coral-deep: #C24A2A;
  --cg-sand: #F4EFE6;
  --cg-ink: #0E1B24;
  --cg-muted: #5A6B75;
  --cg-rule: #DCE3E5;
  --cg-display: 'Space Grotesk', 'Helvetica Neue', Arial, sans-serif;
  --cg-body: 'Inter', system-ui, sans-serif;
  --cg-mono: 'Spline Sans Mono', ui-monospace, monospace;
}

/* === Base typography === */
body {
  font-family: var(--cg-body);
  color: var(--cg-ink);
}
h1, h2, h3, h4, h5, h6 { font-family: var(--cg-display); }
::selection { background-color: var(--cg-coral); color: #fff; }

/* === Nav fix: Greenshift inline <style> pushes fixed/sticky nav down === */
.cg-nav { margin-top: 0 !important; margin-block-start: 0 !important; }
body.admin-bar .cg-nav { top: var(--wp-admin--admin-bar--height, 0px) !important; }

/* === Root block-gap reset: kill the recurring "Greenlight gap" between
   top-level sections. WP emits the gap via a zero-specificity :where() rule,
   so these plain selectors win without !important where possible. === */
.wp-site-blocks > * { margin-block-start: 0; }
.entry-content.is-layout-constrained > * + * { margin-block-start: 0 !important; }
.wp-block-post-content > * + * { margin-block-start: 0 !important; }
.wp-site-blocks > * + * { margin-block-start: 0 !important; }

/* === Smooth scroll for in-page anchor nav === */
html { scroll-behavior: smooth; }

/* === Gravity Forms — Careenage styling (dual-intent inquiry form) === */
.cg-form-slot .gform_wrapper { font-family: var(--cg-body); }
.cg-form-slot .gform_wrapper .gform_fields { gap: 1rem !important; }
.cg-form-slot .gform_wrapper .gfield_label {
  font-family: var(--cg-mono) !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--cg-muted) !important;
  margin-bottom: 0.4rem !important;
}
.cg-form-slot .gform_wrapper input[type="text"],
.cg-form-slot .gform_wrapper input[type="email"],
.cg-form-slot .gform_wrapper input[type="tel"],
.cg-form-slot .gform_wrapper select,
.cg-form-slot .gform_wrapper textarea {
  border: 1px solid var(--cg-rule) !important;
  border-radius: 0.65rem !important;
  padding: 0.8rem 1rem !important;
  font-size: 0.95rem !important;
  font-family: var(--cg-body) !important;
  background-color: var(--cg-sand) !important;
  color: var(--cg-ink) !important;
  width: 100% !important;
  transition: border-color 0.2s, box-shadow 0.2s, background 0.2s !important;
}
.cg-form-slot .gform_wrapper input:focus,
.cg-form-slot .gform_wrapper select:focus,
.cg-form-slot .gform_wrapper textarea:focus {
  border-color: var(--cg-teal) !important;
  background-color: #fff !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(14,124,134,0.15) !important;
}
.cg-form-slot .gform_wrapper textarea { min-height: 6rem !important; resize: vertical !important; }
.cg-form-slot .gform_wrapper .gform_footer { margin-top: 1.25rem !important; padding: 0 !important; }
.cg-form-slot .gform_wrapper .gform_button,
.cg-form-slot .gform_wrapper input[type="submit"] {
  background-color: var(--cg-coral) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0.65rem !important;
  padding: 0.95rem 1.5rem !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  font-family: var(--cg-display) !important;
  cursor: pointer !important;
  width: 100% !important;
  transition: background-color 0.25s, transform 0.2s, box-shadow 0.3s !important;
  box-shadow: 0 10px 30px -10px rgba(226,96,61,0.5) !important;
}
.cg-form-slot .gform_wrapper .gform_button:hover,
.cg-form-slot .gform_wrapper input[type="submit"]:hover {
  background-color: var(--cg-coral-deep) !important;
  transform: translateY(-2px) !important;
}
.cg-form-slot .gform_wrapper .gfield_required { color: var(--cg-coral) !important; }
.cg-form-slot .gform_wrapper .gfield_description,
.cg-form-slot .gform_wrapper .gform_validation_errors { font-family: var(--cg-body); }
.cg-form-slot .gform_confirmation_message {
  font-family: var(--cg-body); color: var(--cg-ink);
  background: var(--cg-sand); border: 1px solid var(--cg-rule);
  border-radius: 0.75rem; padding: 1.25rem 1.5rem;
}
