/* KCR skin for WPForms. Generated by tools/build_wp_chrome.py. */
.kcr-wpform{display:block}
.kcr-wpform .qform-h{display:block;font-family:'Archivo',sans-serif;font-size:22px;
  font-weight:800;color:var(--hd,#06131F);margin:0 0 14px}

/* The live form (97593) was styled in the WPForms builder for the OLD site:
   white labels, a 33/33/33 layout and its own Modern-theme variables written
   inline on the container, with the plugin's stylesheets loading after this
   one. Everything below is therefore explicit and !important: the form must
   look like the approved card no matter what the builder settings say. */
.kcr-wpform .wpforms-container,.kcr-wpform .wpforms-container-full{
  margin:0!important;padding:0!important;
  --wpforms-label-color:#5B6B7B!important;--wpforms-label-sublabel-color:#5B6B7B!important;
  --wpforms-label-error-color:#C0392B!important;--wpforms-label-size-font-size:13px!important;
  --wpforms-field-text-color:#06131F!important;--wpforms-field-background-color:#fff!important;
  --wpforms-field-border-color:#DDE4EA!important;--wpforms-field-border-radius:12px!important;
  --wpforms-field-border-style:solid!important;--wpforms-field-border-size:1.5px!important;
  --wpforms-field-size-input-height:42px!important;--wpforms-field-size-font-size:15.5px!important;
  --wpforms-field-size-padding-h:14px!important;
  --wpforms-button-background-color:#5CB947!important;--wpforms-button-text-color:#fff!important;
  --wpforms-button-border-radius:14px!important;--wpforms-button-size-font-size:17px!important;
  --wpforms-button-size-height:48px!important;--wpforms-button-border-color:transparent!important;
  --wpforms-page-break-color:#5CB947!important;--wpforms-container-padding:0!important;
  --wpforms-container-border-style:none!important;--wpforms-container-background-color:transparent!important;
  --wpforms-background-color:transparent!important}
.kcr-wpform .wpforms-form{display:block!important}
/* Pro layout columns stack inside the quote card, or three 392px columns run
   straight out of it (the office TV, Sep 1). */
/* COMPACT (Sergei, Sep 1: "way too large"): two fields per row, the third field
   of each layout row spans full width. First/Last, Phone; Zip/Email, Services. */
.kcr-wpform .wpforms-field-layout-columns{display:grid!important;grid-template-columns:1fr 1fr;gap:0 10px;margin:0!important}
.kcr-wpform .wpforms-layout-column{width:auto!important;max-width:100%!important;flex:none!important;padding:0!important;margin:0!important;min-width:0}
.kcr-wpform .wpforms-layout-column:nth-child(3){grid-column:1/-1}
@media (max-width:480px){.kcr-wpform .wpforms-field-layout-columns{grid-template-columns:1fr}}
.kcr-wpform .wpforms-field-layout > .wpforms-field-label{display:none!important}
.kcr-wpform .wpforms-field{padding:0!important;margin:0 0 9px!important;width:100%!important;max-width:100%!important}
.kcr-wpform .wpforms-field-large,.kcr-wpform .wpforms-field-medium,.kcr-wpform .wpforms-field-small{width:100%!important;max-width:100%!important}
.kcr-wpform .wpforms-field-label{font-size:12.5px!important;font-weight:700!important;color:#5B6B7B!important;
  margin:0 0 4px!important;display:block!important;line-height:1.3!important}
.kcr-wpform .wpforms-field-sublabel{font-size:12.5px!important;color:#5B6B7B!important}
.kcr-wpform .wpforms-field-content,.kcr-wpform .wpforms-field-content *{color:#5B6B7B!important;font-size:13px!important}
.kcr-wpform .wpforms-required-label{color:var(--green,#5CB947)}
.kcr-wpform .wpforms-field-description{font-size:12.5px;color:var(--slate,#5B6B7B)}

/* the two-up rows the design uses */
.kcr-wpform .wpforms-field.kcr-half{width:calc(50% - 6px)}
@media (max-width:620px){.kcr-wpform .wpforms-field.kcr-half{width:100%}}

/* inputs: same shape, border and focus ring as the approved mockup */
.kcr-wpform input[type=text],
.kcr-wpform input[type=tel],
.kcr-wpform input[type=email],
.kcr-wpform input[type=number],
.kcr-wpform select,
.kcr-wpform textarea{
  width:100%!important;max-width:100%!important;box-sizing:border-box;font:inherit;font-size:15px!important;color:#06131F!important;
  background:#fff!important;border:1.5px solid #DDE4EA!important;border-radius:11px!important;padding:10px 13px!important;min-height:42px!important;height:42px!important;
  transition:border-color .2s,box-shadow .2s}
.kcr-wpform textarea{min-height:96px;resize:vertical}
.kcr-wpform input::placeholder,.kcr-wpform textarea::placeholder{color:#9AA7B4}
.kcr-wpform input:focus,.kcr-wpform select:focus,.kcr-wpform textarea:focus{
  outline:none!important;border-color:#5CB947!important;
  box-shadow:0 0 0 3px rgba(92,185,71,.18)!important}

/* service checkboxes as chips, doors first (order comes from the form) */
/* Sergei, Sep 5: chips sit two per row, centered and aligned (WPForms' own CSS makes the list a
   one-column grid, so every rule here has to win with !important). */
.kcr-wpform ul.wpforms-field-required,
.kcr-wpform .wpforms-field-checkbox ul{list-style:none!important;margin:0!important;padding:0!important;
  display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%}
.kcr-wpform .wpforms-field-checkbox li{margin:0!important;padding:0!important;display:block!important;min-width:0}
.kcr-wpform .wpforms-field-checkbox li label{
  display:flex!important;align-items:center;justify-content:center;text-align:center;width:100%;min-height:42px;
  box-sizing:border-box;cursor:pointer;font-size:14px!important;font-weight:600!important;line-height:1.2;
  color:#06131F!important;background:#F6F8FA!important;border:1.5px solid #DDE4EA!important;
  border-radius:999px!important;padding:9px 12px!important;margin:0!important;transition:all .18s}
.kcr-wpform .wpforms-field-checkbox li input{position:absolute;opacity:0;width:0;height:0}
.kcr-wpform .wpforms-field-checkbox li input:checked + label{
  background:rgba(92,185,71,.12)!important;border-color:#5CB947!important;color:#2F6B22!important}
.kcr-wpform .wpforms-field-checkbox li input:focus-visible + label{
  box-shadow:0 0 0 3px rgba(92,185,71,.28)}

/* submit: the site's green call-to-action button */
.kcr-wpform .wpforms-submit-container{width:100%;padding:0;margin:2px 0 0}
.kcr-wpform button.wpforms-submit{
  width:100%!important;cursor:pointer;font-family:'Archivo',sans-serif!important;font-size:17px!important;font-weight:800!important;
  color:#fff!important;background:linear-gradient(180deg,#5CB947,#3A8A2E)!important;
  border:0!important;border-radius:13px!important;padding:14px 20px!important;height:auto!important;
  box-shadow:0 10px 24px rgba(58,138,46,.28);transition:transform .18s,box-shadow .18s}
.kcr-wpform button.wpforms-submit:hover{transform:translateY(-2px);
  box-shadow:0 16px 30px rgba(58,138,46,.34)}
.kcr-wpform button.wpforms-submit[disabled]{opacity:.65;transform:none}

/* phone field: the country flag sat on top of the placeholder */
.kcr-wpform .iti{width:100%!important;display:block!important}
.kcr-wpform .iti input[type=tel]{padding-left:56px!important}

/* consent field: a real checkbox with readable links, not a service chip (one column, not the chip grid).
   Sep 8 2026: the consent field is NOT flagged required, so the required-based selector never matched and the
   label sat in a half-width grid cell, hyphenating "Priva-cy". A single-choice checkbox field is the consent line. */
.kcr-wpform .wpforms-field-checkbox ul:has(li:only-child),.kcr-wpform [id$="field_46-container"] ul{display:block!important;grid-template-columns:1fr!important}
.kcr-wpform .wpforms-field-checkbox ul li:only-child,.kcr-wpform [id$="field_46-container"] li{width:100%!important;grid-column:1/-1;display:flex!important;align-items:center;gap:10px}
.kcr-wpform .wpforms-field-checkbox ul li:only-child label,.kcr-wpform [id$="field_46-container"] li label{background:none!important;border:0!important;border-radius:0!important;padding:0!important;min-height:0!important;display:block!important;flex:1 1 auto;width:auto!important;text-align:left!important;font-size:13.5px!important;font-weight:500!important;color:#10222E!important;line-height:1.4;hyphens:manual;-webkit-hyphens:manual;word-break:normal;cursor:pointer}
.kcr-wpform .wpforms-field-checkbox ul li:only-child label a,.kcr-wpform [id$="field_46-container"] li label a{color:#3A8A2E!important;text-decoration:underline!important;font-weight:700;white-space:nowrap}
.kcr-wpform .wpforms-field-checkbox ul li:only-child input,.kcr-wpform [id$="field_46-container"] li input{position:static!important;opacity:1!important;width:18px!important;height:18px!important;margin:0!important;accent-color:#5CB947;flex-shrink:0}
.kcr-wpform .wpforms-field-checkbox ul li:only-child input:checked + label,.kcr-wpform [id$="field_46-container"] li input:checked + label{background:none!important;border:0!important;color:#10222E!important}
/* (the older field_46 rules below stay for the required-flag case) */
.kcr-wpform .wpforms-field-checkbox.wpforms-field-required ul{grid-template-columns:1fr!important}
.kcr-wpform .wpforms-field-checkbox li label[for$="field_46_1"],
.kcr-wpform .wpforms-field-checkbox.wpforms-field-required li label{background:none!important;border:0!important;border-radius:0!important;padding:0!important;display:block!important;font-size:13.5px!important;font-weight:500!important;color:#10222E!important;line-height:1.4;cursor:pointer}
.kcr-wpform .wpforms-field-checkbox li label[for$="field_46_1"] a,
.kcr-wpform .wpforms-field-checkbox.wpforms-field-required li label a{color:#3A8A2E!important;text-decoration:underline!important;font-weight:700}
.kcr-wpform .wpforms-field-checkbox li input[id$="field_46_1"]{position:static!important;opacity:1!important;width:17px!important;height:17px!important;margin:1px 0 0!important;accent-color:#5CB947;flex-shrink:0}
.kcr-wpform .wpforms-field-checkbox li input[id$="field_46_1"]:checked + label{background:none!important;border:0!important;color:#10222E!important}

/* the TCPA disclosure stays, at fine-print size */
.kcr-wpform .wpforms-field-content,.kcr-wpform .wpforms-field-content *{color:#6B7C89!important;font-size:11.5px!important;line-height:1.45!important}
.kcr-wpform .wpforms-field-content{margin-top:2px!important}

/* validation + confirmation in the site's voice, not the plugin's default red */
.kcr-wpform label.wpforms-error{color:#C0392B;font-size:13px;font-weight:600;margin-top:5px}
.kcr-wpform input.wpforms-error,.kcr-wpform textarea.wpforms-error,
.kcr-wpform select.wpforms-error{border-color:#C0392B}
.wpforms-confirmation-container-full{
  background:rgba(92,185,71,.10);border:1.5px solid rgba(92,185,71,.45);
  border-radius:16px;padding:20px 22px;color:var(--hd,#06131F);font-size:16px}
.wpforms-confirmation-container-full p{margin:0}

/* reCAPTCHA v3 badge: Google allows hiding it when the notice is shown in
   the form (functions.php prints it under the submit button). The floating
   badge sat over the trust stats on phones. */
.grecaptcha-badge{visibility:hidden!important}
.kcr-wpform .kcr-recaptcha-note{font-size:12px;line-height:1.5;color:var(--slate,#5B6B7B);margin:10px 0 0;text-align:center}
.kcr-wpform .kcr-recaptcha-note a{color:inherit;text-decoration:underline}

/* hidden attribution fields must never take up space */
.kcr-wpform .wpforms-field-hidden{display:none!important}
