/* Modern polish layer (loaded last)
   - Keep this file override-focused
   - Avoid global !important where possible
*/

:root {
  --clt-orange: #F37320;
  --radius-sm: 6px;
  --radius-md: 8px;
}

/* ------------------------------------------
   GLOBAL: Buttons / inputs (light polish)
------------------------------------------ */

.button,
button,
input[type="submit"],
input.gform_button {
  border-radius: var(--radius-sm);
  font-weight: 600;
  transition: background-color 150ms ease, transform 150ms ease, box-shadow 150ms ease;
}

.button:hover,
button:hover,
input[type="submit"]:hover,
input.gform_button:hover {
  transform: translateY(-1px);
}

/* Inputs: radius + focus ring (global) */
input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select {
  border-radius: var(--radius-sm);
}

/* IMPORTANT:
   Do NOT use !important here, otherwise page-specific focus styles can never win.
*/
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
textarea:focus,
select:focus {
  border-color: var(--clt-orange);
  background: #fff;
  outline: none;
  box-shadow: 0 0 0 3px rgba(243,115,32,0.18);
}

/* Sidebar form wrapper gets slightly nicer radius */
#sidebar .gform_wrapper {
  border-radius: var(--radius-md);
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .button,
  button,
  input[type="submit"],
  input.gform_button {
    transition: none;
  }
  .button:hover,
  button:hover,
  input[type="submit"]:hover,
  input.gform_button:hover {
    transform: none;
  }
}


/* ==========================================
   CONTACT PAGE (page-template-page-contact)
   ========================================== */

/* ---- Hero / title layering ---- */
.page-template-page-contact .contact-container {
  position: relative;
  z-index: 5; /* ensures panel sits above hero overlay */
  margin-top: 2rem;
}

/* Pull the form up into the hero at larger breakpoints */
@media (min-width: 640px) {
  .page-template-page-contact .contact-container { margin-top: -3rem; }
}
@media (min-width: 1024px) {
  .page-template-page-contact .contact-container { margin-top: -6rem; } /* single source of truth */
}

/* ---- Orange panel (form container) ---- */
.page-template-page-contact .contact-container .panel.primary {
  background: var(--clt-orange);
  border: none;
  border-radius: 10px;
  padding: 2rem;
}

@media (min-width: 640px) {
  .page-template-page-contact .contact-container .panel.primary { padding: 4rem; }
}

/* Form wrapper spacing parity */
.page-template-page-contact .gform_wrapper { margin-top: 0; }

/* Labels + helper text in the orange panel */
.page-template-page-contact .contact-container .panel.primary .gform_wrapper label,
.page-template-page-contact .contact-container .panel.primary .gform_wrapper .gfield_description,
.page-template-page-contact .contact-container .panel.primary .gform_wrapper .gfield_description,
.page-template-page-contact .contact-container .panel.primary .gform_wrapper .gfield_description small {
  color: #fff;
  font-weight: 500;
}

/* Inputs inside the contact form */
.page-template-page-contact .contact-container .gform_wrapper input[type="text"],
.page-template-page-contact .contact-container .gform_wrapper input[type="email"],
.page-template-page-contact .contact-container .gform_wrapper input[type="tel"],
.page-template-page-contact .contact-container .gform_wrapper textarea,
.page-template-page-contact .contact-container .gform_wrapper select {
  border-radius: 7px;
  border: none;
  padding: 1rem;
  margin-bottom: 1rem;
  box-shadow: none;
}

/* Contact page focus ring (WHITE) — now works because global removed !important */
.page-template-page-contact .contact-container .gform_wrapper input:focus,
.page-template-page-contact .contact-container .gform_wrapper textarea:focus,
.page-template-page-contact .contact-container .gform_wrapper select:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(255,255,255,.6);
}

/* Radio group box */
.page-template-page-contact .contact-container .gform_wrapper .gfield--type-radio {
  border: 1px solid rgba(255,255,255,.4);
  padding: 1rem;
  border-radius: 6px;
  margin-bottom: 1.5rem;
}

.page-template-page-contact .contact-container .gform_wrapper .gfield--type-radio .gfield_radio {
  margin-top: .5rem;
}

.page-template-page-contact .contact-container .gform_wrapper .gfield_radio label {
  color: #fff;
  font-weight: 500;
}

.page-template-page-contact .contact-container .gform_wrapper .gfield_radio li {
  margin-bottom: .25rem;
}

/* Select: match input height */
.page-template-page-contact .contact-container .panel.primary select {
  height: 4rem;
}

/* Submit button */
.page-template-page-contact .contact-container .gform_wrapper .gform_button.button {
  background: #fff;
  color: #333;
  border-radius: 6px;
  margin-top: 2rem;
  padding: .9rem 2rem;
  width: auto;
  min-width: 200px;
}

.page-template-page-contact .contact-container .gform_wrapper .gform_button.button:hover {
  background: #e5e5e5;
}

/* Center submit */
.page-template-page-contact .contact-container .gform_footer {
  text-align: center;
}

/* Make Job Title + Company full width like production */
@media (min-width: 641px) {
  .page-template-page-contact #field_1_6,
  .page-template-page-contact #field_1_7 {
    width: 100% !important;
    float: none !important;
    clear: both !important;
    padding-right: 0 !important;
  }
}

/* Privacy policy link style */
.page-template-page-contact .contact-container .panel.primary .gfield_description a {
  color: #fff;
  text-decoration: underline;
}

/* SAFETY OVERRIDE:
   Prevent field 9 being hidden by older base.css language rule.
   (If you *really* need it hidden for non-English, remove this.)
*/
.page-template-page-contact #field_1_9 {
  display: block !important;
}

/* Optional: tighten spacing before office locations section */
.page-template-page-contact .office-locations {
  margin-top: 1.5rem;
}

/* ==========================================
   HEADER + BREADCRUMBS (prod parity)
   ========================================== */

/* Orange header band */
.page-header {
  margin-bottom: 0;
  background: var(--clt-orange);
  color: #fff;
}

.page-header h1,
.page-header .page-title,
.page-header .entry-title {
  color: #fff;
}

/* Full-width breadcrumb band */
.block-breadcrumbs {
  background: #fff;
  margin: 0 0 1.25rem;
}

/* Keep inner list clean; let the nav be the band */
.block-breadcrumbs .breadcrumbs {
  background: transparent;
  padding: 1rem 0;
  margin: 0;
}

@media (min-width: 1024px){
  .menu-languages > .site-nav__submenu{
    column-count: 3;
    column-gap: 32px;
    min-width: 720px;
  }
  .menu-languages > .site-nav__submenu > li{
    break-inside: avoid;
  }
}

.page-header.page-header--has-hero {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.page-header.page-header--has-hero .row {
  position: relative;
  z-index: 2;
}

/* optional: gives the image room to actually show */
.page-header.page-header--has-hero {
  min-height: 280px;
}
