/* Garage Door Repair Rx — Jobs
   Palette matches the site: navy #062F65, red #C8102E, mid navy #0E4488 */

.gdrrx-jobs-wrap{
  --navy:#062F65; --navy-mid:#0E4488; --red:#C8102E;
  --ink:#14181F; --muted:#5E6A78; --line:#E1EAF4; --surface:#F1F4F9;
  max-width:1140px; margin:0 auto; padding:56px 26px 80px;
  font-family:Roboto,system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--ink);
}

.gdrrx-jobs-head{ text-align:center; margin-bottom:38px; }
.gdrrx-jobs-head--left{ text-align:left; }
.gdrrx-eyebrow{
  color:var(--red); font-size:12px; font-weight:800;
  letter-spacing:1.6px; margin-bottom:10px;
}
.gdrrx-jobs-wrap h1{
  color:var(--navy); font-size:38px; font-weight:800;
  line-height:1.15; margin:0 0 12px;
}
.gdrrx-lede{ color:var(--muted); font-size:16px; line-height:1.72; max-width:66ch; margin:0 auto; }
.gdrrx-jobs-head--left .gdrrx-lede{ margin-left:0; }
.gdrrx-meta{ color:var(--muted); font-size:15px; margin:0; }

/* Gallery grid */
.gdrrx-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media (max-width:900px){ .gdrrx-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .gdrrx-grid{ grid-template-columns:1fr; } }

.gdrrx-card{
  background:#fff; border:1px solid var(--line); border-radius:10px;
  overflow:hidden; display:flex; flex-direction:column;
  transition:box-shadow .18s ease, transform .18s ease;
}
.gdrrx-card:hover{ box-shadow:0 8px 24px rgba(6,47,101,.13); transform:translateY(-2px); }

.gdrrx-card__media{ position:relative; display:block; aspect-ratio:4/3; overflow:hidden; background:var(--surface); }
.gdrrx-card__media img{ position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; object-position:center; display:block; margin:0; max-width:none; }
.gdrrx-card__placeholder{ position:absolute; top:0; left:0; width:100%; height:100%; background:var(--surface); }

.gdrrx-chip{
  position:absolute; left:12px; bottom:12px;
  background:var(--red); color:#fff; font-size:11px; font-weight:800;
  letter-spacing:.6px; text-transform:uppercase;
  padding:5px 10px; border-radius:4px;
}

.gdrrx-card__body{ padding:20px; display:flex; flex-direction:column; gap:8px; flex:1; }
.gdrrx-card__title{ font-size:18px; font-weight:800; line-height:1.28; margin:0; }
.gdrrx-card__title a{ color:var(--navy); text-decoration:none; }
.gdrrx-card__title a:hover{ color:var(--navy-mid); }
.gdrrx-card__where{ color:var(--navy-mid); font-size:13px; font-weight:700; margin:0; }
.gdrrx-card__excerpt{ color:var(--muted); font-size:15px; line-height:1.66; margin:0; flex:1; }
.gdrrx-card__foot{
  display:flex; justify-content:space-between; align-items:center;
  gap:12px; margin:6px 0 0; padding-top:12px; border-top:1px solid var(--line);
  color:var(--muted); font-size:13px;
}
.gdrrx-more{ color:var(--red); font-weight:700; text-decoration:none; white-space:nowrap; }
.gdrrx-more:hover{ text-decoration:underline; }

/* Single job */
.gdrrx-crumbs{ font-size:13px; color:var(--muted); margin:0 0 18px; }
.gdrrx-crumbs a{ color:var(--navy-mid); text-decoration:none; font-weight:700; }
.gdrrx-crumbs span{ margin:0 4px; }

.gdrrx-shots{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin:30px 0; }
@media (max-width:600px){ .gdrrx-shots{ grid-template-columns:1fr; } }
.gdrrx-shots figure{ margin:0; border-radius:10px; overflow:hidden; border:1px solid var(--line); }
.gdrrx-shots img{ width:100%; height:auto; max-height:560px; object-fit:contain; background:var(--surface); display:block; }

.gdrrx-body{ font-size:17px; line-height:1.78; color:#2B3441; max-width:72ch; }
.gdrrx-body p{ margin:0 0 1.1em; }

/* Calls to action */
.gdrrx-cta{
  margin-top:52px; padding:36px 28px; text-align:center;
  background:var(--navy); border-radius:12px; color:#fff;
}
.gdrrx-cta h2{ color:#fff; font-size:26px; font-weight:800; margin:0 0 8px; }
.gdrrx-cta p{ color:#C9D6E8; margin:0 0 18px; font-size:16px; }

.gdrrx-btn{
  display:inline-block; background:#fff; color:var(--navy);
  font-weight:800; font-size:15px; text-decoration:none;
  padding:13px 22px; border-radius:6px; border:0; cursor:pointer;
  margin:0 5px;
}
.gdrrx-btn--go{ background:var(--red); color:#fff; }
/* Beat the Elementor kit's global `.elementor-kit-N a { color: red }` rule, which
   loads after this file and otherwise paints the button text red-on-red. */
a.gdrrx-btn, a.gdrrx-btn:link, a.gdrrx-btn:visited, a.gdrrx-btn:hover, a.gdrrx-btn:focus{ color:var(--navy); }
a.gdrrx-btn.gdrrx-btn--go, a.gdrrx-btn.gdrrx-btn--go:link, a.gdrrx-btn.gdrrx-btn--go:visited, a.gdrrx-btn.gdrrx-btn--go:hover, a.gdrrx-btn.gdrrx-btn--go:focus{ color:#fff; }
.gdrrx-btn:hover{ opacity:.92; }

.gdrrx-pager{ margin-top:38px; text-align:center; }
.gdrrx-pager .page-numbers{
  display:inline-block; padding:8px 13px; margin:0 3px;
  border:1px solid var(--line); border-radius:6px;
  color:var(--navy); text-decoration:none; font-weight:700;
}
.gdrrx-pager .page-numbers.current{ background:var(--navy); color:#fff; border-color:var(--navy); }
.gdrrx-empty{ text-align:center; color:var(--muted); padding:50px 0; }

/* Submission form */
.gdrrx-form{
  max-width:640px; margin:0 auto; background:#fff;
  border:1px solid var(--line); border-radius:12px; padding:28px;
  font-family:Roboto,system-ui,sans-serif;
}
.gdrrx-form label{
  display:block; font-weight:800; color:var(--navy);
  font-size:14px; margin:20px 0 6px;
}
.gdrrx-form label:first-of-type{ margin-top:0; }
.gdrrx-form input[type=text],
.gdrrx-form input[type=date],
.gdrrx-form input[type=file],
.gdrrx-form select,
.gdrrx-form textarea{
  width:100%; box-sizing:border-box;
  border:1px solid #CBD7E6; border-radius:6px;
  padding:11px 12px; font-size:16px; font-family:inherit; color:var(--ink);
  background:#fff;
}
.gdrrx-form textarea{ resize:vertical; line-height:1.6; }
.gdrrx-form input:focus, .gdrrx-form select:focus, .gdrrx-form textarea:focus{
  outline:2px solid var(--navy-mid); outline-offset:1px; border-color:var(--navy-mid);
}
.gdrrx-hint{ color:var(--muted); font-size:13px; margin:6px 0 0; line-height:1.5; }
.gdrrx-form .gdrrx-btn--go{ margin:24px 0 0; width:100%; padding:15px; font-size:16px; }

.gdrrx-note{
  max-width:640px; margin:0 auto 22px; padding:18px 20px;
  border-radius:10px; border:1px solid var(--line); background:var(--surface);
  font-family:Roboto,system-ui,sans-serif; color:var(--ink);
}
.gdrrx-note p{ margin:0 0 10px; }
.gdrrx-note p:last-child{ margin-bottom:0; }
.gdrrx-note--ok{ border-left:4px solid #1B8A4B; }
.gdrrx-note--error{ border-left:4px solid var(--red); }
