/* Huoltovarauslomake (design: ServiceBookingForm + vm-contact-card) */
.vm-srv-form-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 32px; align-items: flex-start; }
.vm-srv-form-card { background: var(--vm-bg, #fff); border: 1px solid var(--vm-border-subtle, #dedede); padding: clamp(24px, 3vw, 36px); }
.vm-srv-form-title {
  font-family: "parabolica", "Big Shoulders Display", "Saira Condensed", Impact, sans-serif;
  font-weight: 900; font-style: italic; text-transform: uppercase;
  color: var(--vm-brand-deep, #0d2b3c);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  margin: 0 0 8px;
}
.vm-srv-form-card .lead { color: var(--vm-fg-muted, #555); font-size: var(--vm-fs-14, 0.875rem); line-height: 1.6; margin: 0 0 20px; }
.vm-srv-form { display: flex; flex-direction: column; gap: 14px; }
.vm-srv-form label { display: flex; flex-direction: column; gap: 6px; font-weight: 600; font-size: var(--vm-fs-13, 0.8125rem); }
.vm-srv-form input[type="text"],
.vm-srv-form input[type="tel"],
.vm-srv-form input[type="email"],
.vm-srv-form textarea {
  border: 1px solid var(--vm-border, #d1d1d1);
  padding: 12px 14px;
  font-family: inherit;
  font-size: var(--vm-fs-14, 0.875rem);
  font-weight: 400;
}
.vm-srv-form input:focus, .vm-srv-form textarea:focus { outline: 2px solid var(--vm-brand, #2D5C87); outline-offset: -1px; }
.vm-srv-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.vm-srv-check { flex-direction: row !important; align-items: center; gap: 8px !important; font-weight: 400 !important; font-size: var(--vm-fs-14, 0.875rem) !important; }
.vm-srv-hp { position: absolute !important; left: -9999px !important; }
.vm-srv-form .vm-btn--primary {
  align-self: flex-start;
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--vm-brand, #2D5C87); color: #fff; border: 0;
  padding: 14px 28px; font-weight: 700; font-size: var(--vm-fs-14, 0.875rem); cursor: pointer;
}
.vm-srv-form .vm-btn--primary:hover { background: var(--vm-brand-deep, #0d2b3c); }
.vm-srv-form-sent { text-align: center; padding: 40px 0; }
.vm-srv-sent-check {
  width: 64px; height: 64px; border-radius: 50%;
  background: var(--vm-stock-in, #1c7a3a); color: #fff;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 20px;
}
.vm-srv-contact { display: flex; flex-direction: column; gap: 16px; }
.vm-srv-contact-card { background: var(--vm-bg, #fff); border: 1px solid var(--vm-border-subtle, #dedede); padding: 22px; }
.vm-srv-contact-title { font-weight: 700; font-size: var(--vm-fs-15, 0.9375rem); margin-bottom: 14px; }
.vm-srv-contact-card p { font-size: var(--vm-fs-13, 0.8125rem); color: var(--vm-fg-muted, #555); margin: 0 0 12px; line-height: 1.55; }
.vm-srv-contact-rows { display: flex; flex-direction: column; gap: 14px; }
.vm-srv-contact-row { display: grid; grid-template-columns: 26px 1fr; gap: 10px; align-items: flex-start; }
.vm-srv-contact-row svg { color: var(--vm-brand, #2D5C87); margin-top: 2px; }
.vm-srv-contact-row strong { display: block; font-size: var(--vm-fs-14, 0.875rem); }
.vm-srv-contact-row a, .vm-srv-contact-row span { font-size: var(--vm-fs-13, 0.8125rem); color: var(--vm-fg-muted, #555); }
.vm-srv-contact-row a { text-decoration: underline; }
.vm-srv-stores { display: flex; gap: 8px; }
.vm-srv-stores .vm-btn--secondary {
  flex: 1; justify-content: center;
  display: inline-flex; align-items: center;
  border: 1px solid var(--vm-border, #d1d1d1);
  background: transparent; color: var(--vm-brand-deep, #0d2b3c);
  padding: 11px 14px; font-weight: 700; font-size: var(--vm-fs-13, 0.8125rem); text-decoration: none;
}
.vm-srv-stores .vm-btn--secondary:hover { border-color: var(--vm-brand, #2D5C87); color: var(--vm-brand, #2D5C87); }
@media (max-width: 880px) {
  .vm-srv-form-grid { grid-template-columns: 1fr; }
  .vm-srv-form-row { grid-template-columns: 1fr; }
}

/* GravityForms-lomake kortissa — perii brändityylit */
.vm-srv-gf .gform_wrapper input[type="text"],
.vm-srv-gf .gform_wrapper input[type="tel"],
.vm-srv-gf .gform_wrapper input[type="email"],
.vm-srv-gf .gform_wrapper textarea {
  width: 100%;
  border: 1px solid var(--vm-border, #d1d1d1);
  padding: 12px 14px;
  font-family: inherit;
  font-size: var(--vm-fs-14, 0.875rem);
}
.vm-srv-gf .gform_wrapper input:focus,
.vm-srv-gf .gform_wrapper textarea:focus { outline: 2px solid var(--vm-brand, #2D5C87); outline-offset: -1px; }
.vm-srv-gf .gform_wrapper .gfield_label { font-weight: 600; font-size: var(--vm-fs-13, 0.8125rem); }
.vm-srv-gf .gform_wrapper .gform_button {
  background: var(--vm-brand, #2D5C87);
  color: #fff;
  border: 0;
  padding: 14px 28px;
  font-weight: 700;
  font-size: var(--vm-fs-14, 0.875rem);
  cursor: pointer;
}
.vm-srv-gf .gform_wrapper .gform_button:hover { background: var(--vm-brand-deep, #0d2b3c); }
