/* ---------------------------------------------------------------------------
   Solar PV / heat pump quote form — both EPC register pages.

   Deliberately the loudest block on the page: full-bleed brand green against
   the white cards around it, with the two photos carrying the subject so the
   form is read before it is scrolled past.

   The theme styles headings and paragraphs inside .enm-home aggressively, so
   type here is pinned with !important the same way .enm-findbox does it.
   ------------------------------------------------------------------------ */
.enm-green {
  background: linear-gradient(135deg, #043D24 0%, #0a5233 100%);
  border-radius: 20px;
  margin: 26px 0;
  overflow: hidden;
  box-shadow: 0 18px 44px rgba(4, 61, 36, .22);
}

/* photos */
.enm-green-media {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  background: rgba(255, 255, 255, .12);
}
.enm-green-media figure { margin: 0; position: relative; }
.enm-green-media figure + figure img { object-position: 38% 55%; }
.enm-green-media img {
  display: block;
  width: 100%;
  height: 230px;
  object-fit: cover;
}
.enm-green-media figcaption {
  position: absolute;
  left: 12px;
  bottom: 12px;
  background: rgba(4, 61, 36, .82);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .4px;
  text-transform: uppercase;
  border-radius: 999px;
  padding: 6px 14px;
}

.enm-green-body { padding: 28px 30px 30px; }
.enm-green-flag {
  display: inline-block;
  background: #25C146;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.1px;
  text-transform: uppercase;
  border-radius: 999px;
  padding: 5px 14px;
  margin-bottom: 12px;
}
.enm-home .enm-green-body h2 {
  color: #fff !important;
  font-size: 26px !important;
  font-weight: 800 !important;
  margin: 0 0 8px !important;
  padding-bottom: 0 !important;
}
.enm-home .enm-green-body h2::after { display: none !important; }
.enm-home .enm-green-body > p {
  color: rgba(255, 255, 255, .88) !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
  margin: 0 0 18px !important;
  max-width: 70ch;
}

/* form */
.enm-green-form { display: grid; gap: 12px; }
.enm-green-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.enm-green-form input[type="text"],
.enm-green-form input[type="tel"],
.enm-green-form input[type="email"],
.enm-green-form textarea {
  width: 100%;
  box-sizing: border-box;
  border: 2px solid transparent;
  border-radius: 10px;
  background: #fff;
  padding: 14px 16px;
  font: inherit;
  font-size: 15.5px;
  color: #16241d;
}
.enm-green-form textarea { min-height: 80px; resize: vertical; }
.enm-green-form input:focus,
.enm-green-form textarea:focus { outline: none; border-color: #4ade80; }
.enm-green-form input::placeholder,
.enm-green-form textarea::placeholder { color: #7d8f86; }

/* the honeypot: off-screen, never shown, never focusable by tabbing */
.enm-green-hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.enm-green-picks { margin: 4px 0 2px; }
.enm-green-legend {
  display: block;
  color: #fff;
  font-size: 14.5px;
  font-weight: 800;
  margin-bottom: 9px;
}
.enm-green-opts { display: flex; flex-wrap: wrap; gap: 10px; }
.enm-green-opt {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  background: rgba(255, 255, 255, .1);
  border: 1.5px solid rgba(255, 255, 255, .28);
  border-radius: 999px;
  padding: 10px 18px 10px 14px;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: background .15s, border-color .15s;
}
.enm-green-opt:hover { background: rgba(255, 255, 255, .16); }
.enm-green-opt input { accent-color: #25C146; width: 18px; height: 18px; margin: 0; cursor: pointer; }
.enm-green-opt:has(input:checked) { background: #25C146; border-color: #25C146; }

.enm-green-btn {
  justify-self: start;
  background: #25C146;
  color: #fff;
  border: none;
  border-radius: 10px;
  padding: 15px 30px;
  font: inherit;
  font-size: 16px;
  font-weight: 800;
  cursor: pointer;
  transition: background .15s;
}
.enm-green-btn:hover { background: #1da93b; }
.enm-green-btn[disabled] { opacity: .6; cursor: default; }

.enm-green-msg {
  margin: 4px 0 0;
  font-size: 15px;
  font-weight: 700;
  color: #4ade80;
}
.enm-green-msg.bad { color: #ffd0d0; }
.enm-home .enm-green-note {
  color: rgba(255, 255, 255, .6) !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  margin: 14px 0 0 !important;
}

@media (max-width: 720px) {
  .enm-green-body { padding: 24px 20px 26px; }
  .enm-home .enm-green-body h2 { font-size: 22px !important; }
  .enm-green-row { grid-template-columns: 1fr; }
  .enm-green-media img { height: 150px; }
  .enm-green-btn { justify-self: stretch; text-align: center; }
}
