/* Contact page only; shared navigation, footer and other pages keep their own styles. */
.gw-contact-page {
  --surface: #ffffff;
  --surface2: #f8faf5;
  --border: #d5dfce;
  --border2: #bdcbb6;
  --text: #172c20;
  --text2: #465b49;
  --text3: #566a58;
  --green: #365c25;
  --green-light: #365c25;
  --green-dim: #edf5e4;
  --green-glow: rgba(73, 110, 43, .14);
  --red: #a92b28;
  --radius-lg: 14px;
  color: var(--text);
  background: #f1f5eb;
  font-family: 'DM Sans', Arial, sans-serif;
  overflow-wrap: anywhere;
}
.gw-contact-page *, .gw-contact-page *::before, .gw-contact-page *::after { box-sizing: border-box; }
.gw-contact-page .container { width: min(1280px, 100%); max-width: none; padding-inline: 40px; }
.gw-contact-page .page-hero {
  --text: #f5f7f0;
  --text2: #c5d3c2;
  --text3: #b2c5af;
  --green-dim: rgba(184, 241, 107, .09);
  --green-light: #b8f16b;
  margin-top: 0;
  padding: 44px 0 56px;
  background: linear-gradient(115deg, #10271f 0%, #183b2a 100%);
  border-bottom: 1px solid rgba(184, 241, 107, .22);
  color: #f5f7f0;
}
.gw-contact-page .breadcrumb { margin-bottom: 18px; }
.gw-contact-page .breadcrumb-inner { display: flex; align-items: center; gap: 10px; }
.gw-contact-page .breadcrumb a, .gw-contact-page .breadcrumb span { color: #c5d3c2; }
.gw-contact-page .breadcrumb a:hover { color: #b8f16b; }
.gw-contact-page .section-label {
  padding: 0;
  border: 0;
  background: transparent;
  border-radius: 0;
  color: #b8f16b;
  font-size: 11px;
  letter-spacing: .14em;
}
.gw-contact-page .page-hero h1 {
  max-width: 900px;
  margin-bottom: 18px;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(32px, 4.4vw, 58px);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: 1.08;
  color: #f5f7f0;
}
.gw-contact-page .page-hero .section-sub { max-width: 790px; font-size: 16px; line-height: 1.8; color: #c5d3c2; }
.gw-contact-page > section { padding: 46px 0 64px; }
.gw-contact-page .contact-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(290px, .9fr); gap: 32px; align-items: start; }
.gw-contact-page .contact-grid > div { min-width: 0; }
.gw-contact-page .contact-form-wrap {
  padding: 30px;
  border: 1px solid #d5dfce;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 7px 28px rgba(19, 49, 25, .035);
}
.gw-contact-page .gw-quote-form { border-top: 4px solid #365c25; }
.gw-contact-page .form-title { margin: 0 0 10px; color: #172c20; font-family: 'DM Sans', Arial, sans-serif; font-size: 25px; font-weight: 600; letter-spacing: -.035em; }
.gw-contact-page .form-sub { margin: 0 0 26px; color: #465b49; font-size: 14px; line-height: 1.7; }
.gw-contact-page .form-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.gw-contact-page .form-row > div, .gw-contact-page .form-field { min-width: 0; }
.gw-contact-page .form-field { margin-bottom: 19px; gap: 7px; }
.gw-contact-page .form-label, .gw-contact-page .form-field label { color: #263e2b; font-size: 12px; font-weight: 700; line-height: 1.5; }
.gw-contact-page .form-field input,
.gw-contact-page .form-field textarea,
.gw-contact-page .form-field select {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 46px;
  padding: 11px 12px;
  border: 1px solid #bdcbb6;
  border-radius: 6px;
  background: #f8faf5;
  color: #172c20;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color-scheme: light;
}
.gw-contact-page .form-field select { padding-right: 28px; }
.gw-contact-page .form-field select option, .gw-contact-page .form-field select optgroup { color: #172c20; background: #fff; }
.gw-contact-page .form-field input::placeholder, .gw-contact-page .form-field textarea::placeholder { color: #667762; opacity: 1; }
.gw-contact-page .form-field input[readonly] { color: #42573c; background: #edf3e7; }
.gw-contact-page .form-field textarea { min-height: 120px; resize: vertical; }
.gw-contact-page .form-field input:focus,
.gw-contact-page .form-field textarea:focus,
.gw-contact-page .form-field select:focus { outline: 2px solid #578130; outline-offset: 2px; border-color: #3f6b29; box-shadow: none; }
.gw-contact-page .form-field input:user-invalid { border-color: #a92b28; }
.gw-contact-page .gw-phone-row { grid-template-columns: minmax(130px, 1fr) 70px minmax(0, 1.2fr); }
.gw-contact-page .gw-phone-row > div { min-width: 0; }
.gw-contact-page .gw-quote-phone-row { display: grid !important; grid-template-columns: 145px minmax(0, 1fr); gap: 8px; }
.gw-contact-page .gw-quote-phone-row #q-country { width: 100% !important; }
.gw-contact-page .btn {
  min-height: 46px;
  justify-content: center;
  padding: 12px 19px;
  border-radius: 5px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  white-space: normal;
  text-align: center;
}
.gw-contact-page .btn-primary { border: 1px solid #b8f16b; background: #b8f16b; color: #172c20; }
.gw-contact-page .btn-primary:hover { border-color: #a8e25b; background: #a8e25b; color: #172c20; box-shadow: 0 5px 15px rgba(38, 73, 26, .12); }
.gw-contact-page .page-hero .btn-outline { border: 1px solid #6d8a67; background: transparent; color: #f5f7f0; }
.gw-contact-page .page-hero .btn-outline:hover { border-color: #b8f16b; color: #b8f16b; background: rgba(184, 241, 107, .06); }
.gw-contact-page .btn:disabled { cursor: wait; opacity: .65; transform: none; }
.gw-contact-page a:focus-visible, .gw-contact-page button:focus-visible { outline: 3px solid #58852d; outline-offset: 4px; }
.gw-contact-page .page-hero a:focus-visible { outline-color: #b8f16b; }
.gw-contact-page .form-msg-err { border-color: #d39388; color: #7f2119; background: #fff0ec; }
.gw-contact-page .form-msg-ok { border-color: #adc695; color: #254c19; background: #f0f7e8; }
.gw-contact-page #quote, .gw-contact-page #contact { scroll-margin-top: 138px; }
.gw-contact-page iframe { max-width: 100%; }
@media (max-width: 1100px) {
  .gw-contact-page .container { padding-inline: 28px; }
  .gw-contact-page .contact-grid { grid-template-columns: minmax(0, 1.5fr) minmax(260px, 1fr); gap: 24px; }
  .gw-contact-page .contact-form-wrap { padding: 24px; }
  .gw-contact-page .form-row { grid-template-columns: 1fr; gap: 0; }
  .gw-contact-page .gw-phone-row { grid-template-columns: 70px minmax(0, 1fr); gap: 8px; }
  .gw-contact-page .gw-phone-row > div { grid-column: 1 / -1; }
}
@media (max-width: 800px) {
  .gw-contact-page .contact-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .gw-contact-page .form-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
  .gw-contact-page .gw-phone-row { grid-template-columns: minmax(130px, 1fr) 70px minmax(0, 1.2fr); gap: 8px; }
  .gw-contact-page .gw-phone-row > div { grid-column: auto; }
}
@media (max-width: 600px) {
  .gw-contact-page .container { padding-inline: 20px; }
  .gw-contact-page .page-hero { padding: 26px 0 36px; }
  .gw-contact-page .page-hero .section-sub { font-size: 14px; }
  .gw-contact-page > section { padding: 28px 0 40px; }
  .gw-contact-page .contact-form-wrap { padding: 22px 18px; }
  .gw-contact-page .form-title { font-size: 22px; }
  .gw-contact-page .form-row { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .gw-contact-page .gw-phone-row { grid-template-columns: 70px minmax(0, 1fr) !important; gap: 8px; }
  .gw-contact-page .gw-phone-row > div { grid-column: 1 / -1; }
  .gw-contact-page .gw-quote-phone-row { grid-template-columns: minmax(0, 1fr); }
  .gw-contact-page .form-field input, .gw-contact-page .form-field textarea, .gw-contact-page .form-field select { font-size: 16px; }
  .gw-contact-page .page-hero .btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .gw-contact-page .btn { transition: none; }
  .gw-contact-page .btn:hover { transform: none; }
}
