/* ============================================================
   AM DIGITALZ — GET A FREE QUOTE
   Gravity Forms 3.0.2 frontend
   Exact clean-start stylesheet. Do not mix with older AMZ CSS.
   ============================================================ */

form.amz-quote-form{
  --amz-navy:#0a2349;
  --amz-teal:#079e99;
  --amz-teal-2:#0bb0aa;
  --amz-text:#1f2937;
  --amz-muted:#5e6673;
  --amz-border:#dfe5ea;
  --amz-soft:#eef9f8;
  --amz-white:#fff;
  --amz-shadow:0 12px 32px rgba(15,35,65,.10);
  font-family:inherit;
  color:var(--amz-text);
}

form.amz-quote-form .gform_fields{
  column-gap:18px!important;
  row-gap:20px!important;
}

/* -------- Section headings -------- */
form.amz-quote-form .amz-section-heading{
  grid-column:1/-1!important;
  border:0!important;
  padding:0!important;
  margin:8px 0 0!important;
}
form.amz-quote-form .amz-section-heading .gsection_title{
  margin:0!important;
  padding:0!important;
  font-size:20px!important;
  line-height:1.25!important;
  font-weight:800!important;
  letter-spacing:-.015em!important;
  color:var(--amz-navy)!important;
}
form.amz-quote-form .amz-section-heading .gsection_description{
  margin:6px 0 0!important;
  padding:0!important;
  color:#68707d!important;
  font-size:11.5px!important;
  line-height:1.45!important;
}

/* -------- Services left + summary right -------- */
form.amz-quote-form .amz-services-field{grid-column:span 8!important}
form.amz-quote-form .amz-quote-summary{grid-column:span 4!important;align-self:start!important;position:static!important;top:auto!important;height:auto!important;z-index:auto!important}
form.amz-quote-form .amz-services-field>.gfield_label{display:none!important}
form.amz-quote-form .amz-services-field .ginput_container_checkbox{margin:0!important}

form.amz-quote-form .amz-services-field .gfield_checkbox{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  margin:0!important;
}
form.amz-quote-form .amz-services-field .gchoice{
  position:relative!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  min-width:0!important;
}
form.amz-quote-form .amz-services-field .gchoice input[type="checkbox"]{
  position:absolute!important;
  inset:0 auto auto 0!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
form.amz-quote-form .amz-services-field .gchoice label{
  position:relative!important;
  display:flex!important;
  align-items:flex-start!important;
  gap:14px!important;
  width:100%!important;
  max-width:none!important;
  min-height:132px!important;
  margin:0!important;
  padding:18px 18px!important;
  box-sizing:border-box!important;
  border:1px solid var(--amz-border)!important;
  border-radius:9px!important;
  background:#fff!important;
  color:var(--amz-text)!important;
  cursor:pointer!important;
  box-shadow:none!important;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
form.amz-quote-form .amz-services-field .gchoice label:hover{
  border-color:rgba(7,158,153,.75)!important;
  box-shadow:0 8px 22px rgba(10,40,70,.07)!important;
  transform:translateY(-1px)!important;
}
form.amz-quote-form .amz-services-field .gchoice.amz-selected label{
  border-color:var(--amz-teal)!important;
  box-shadow:inset 0 0 0 1px var(--amz-teal)!important;
}

form.amz-quote-form .amz-service-icon{
  flex:0 0 42px!important;
  width:42px!important;
  height:42px!important;
  display:grid!important;
  place-items:center!important;
  color:var(--amz-teal)!important;
}
form.amz-quote-form .amz-service-icon svg{
  width:39px!important;
  height:39px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
form.amz-quote-form .amz-service-copy{
  flex:1 1 auto!important;
  min-width:0!important;
  min-height:96px!important;
  display:flex!important;
  flex-direction:column!important;
}
form.amz-quote-form .amz-service-title{
  display:block!important;
  padding-right:21px!important;
  color:var(--amz-navy)!important;
  font-size:14px!important;
  line-height:1.3!important;
  font-weight:800!important;
}
form.amz-quote-form .amz-service-desc{
  display:block!important;
  margin-top:5px!important;
  color:#3f4653!important;
  font-size:12px!important;
  line-height:1.45!important;
  font-weight:400!important;
}
form.amz-quote-form .amz-service-price{
  display:block!important;
  margin-top:auto!important;
  padding-top:11px!important;
  color:var(--amz-navy)!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:800!important;
}
form.amz-quote-form .amz-service-price small{
  margin-left:3px!important;
  color:var(--amz-navy)!important;
  font-size:10px!important;
  font-weight:700!important;
}
form.amz-quote-form .amz-choice-check{
  position:absolute!important;
  top:9px!important;
  right:9px!important;
  width:21px!important;
  height:21px!important;
  display:none!important;
  place-items:center!important;
  border-radius:50%!important;
  background:var(--amz-teal)!important;
  color:#fff!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;
}
form.amz-quote-form .gchoice.amz-selected .amz-choice-check{display:grid!important}

form.amz-quote-form .amz-services-field .gfield_description{
  position:relative!important;
  margin-top:12px!important;
  padding:0 0 0 22px!important;
  color:#616a77!important;
  font-size:10.5px!important;
  line-height:1.5!important;
}
form.amz-quote-form .amz-services-field .gfield_description:before{
  content:"i";
  position:absolute;left:0;top:0;
  width:15px;height:15px;
  display:grid;place-items:center;
  border:1.5px solid #4a63a2;border-radius:50%;
  color:#4a63a2;font-size:9px;font-weight:800;
}

/* -------- Quote Summary -------- */
form.amz-quote-form .amz-summary-card{
  border:1px solid #e2e7eb!important;
  border-radius:10px!important;
  background:#fff!important;
  padding:22px 22px 20px!important;
  box-shadow:var(--amz-shadow)!important;
}
form.amz-quote-form .amz-summary-title{
  color:var(--amz-navy)!important;
  font-size:16px!important;
  line-height:1.25!important;
  font-weight:800!important;
}
form.amz-quote-form .amz-summary-rule{height:1px!important;margin:13px 0 15px!important;background:#d1d8de!important}
form.amz-quote-form .amz-summary-kicker{color:var(--amz-teal)!important;font-size:11px!important;font-weight:800!important}
form.amz-quote-form .amz-summary-lines{display:grid!important;gap:12px!important;margin-top:13px!important}
form.amz-quote-form .amz-summary-empty{color:#737c89!important;font-size:11.5px!important}
form.amz-quote-form .amz-summary-line{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:start!important;
  color:#273143!important;
  font-size:11.5px!important;
  line-height:1.35!important;
}
form.amz-quote-form .amz-summary-line strong{color:#303849!important;text-align:right!important;font-size:11.5px!important;font-weight:700!important}
form.amz-quote-form .amz-summary-line strong small{display:block!important;margin-top:2px!important;color:#6d7581!important;font-size:8.5px!important;font-weight:500!important}
form.amz-quote-form .amz-summary-totals{display:grid!important;gap:10px!important;margin-top:18px!important;padding-top:15px!important;border-top:1px solid #d8dee3!important}
form.amz-quote-form .amz-summary-total-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;align-items:center!important;font-size:11px!important}
form.amz-quote-form .amz-summary-total-row span{color:#353d49!important}
form.amz-quote-form .amz-summary-total-row span small{display:block!important;margin-top:2px!important;color:#69717d!important;font-size:9px!important}
form.amz-quote-form .amz-summary-total-row strong{color:#31394a!important;font-size:11.5px!important;font-weight:800!important}
form.amz-quote-form .amz-due-today{
  display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;
  margin-top:15px!important;padding:14px 13px!important;border-radius:6px!important;background:#eaf8f7!important;color:#078e89!important;
}
form.amz-quote-form .amz-due-today span{font-size:11px!important;font-weight:800!important}
form.amz-quote-form .amz-due-today strong{font-size:18px!important;font-weight:900!important}
form.amz-quote-form .amz-summary-note{display:flex!important;gap:8px!important;align-items:flex-start!important;margin-top:15px!important;color:#4f5866!important;font-size:10.5px!important;line-height:1.45!important}
form.amz-quote-form .amz-info-icon{flex:0 0 17px!important;width:17px!important;height:17px!important;display:grid!important;place-items:center!important;border:1.5px solid #415a9b!important;border-radius:50%!important;color:#415a9b!important;font-size:9px!important;font-weight:900!important}
form.amz-quote-form .amz-continue-payment{
  width:100%!important;min-height:46px!important;margin-top:17px!important;border:0!important;border-radius:6px!important;
  background:linear-gradient(90deg,var(--amz-teal),var(--amz-teal-2))!important;color:#fff!important;
  font:inherit!important;font-size:13px!important;font-weight:800!important;cursor:pointer!important;
}
form.amz-quote-form .amz-lock{margin-right:5px!important}
form.amz-quote-form .amz-secure-text{margin-top:12px!important;text-align:center!important;color:#4e5664!important;font-size:10px!important}
form.amz-quote-form .amz-payment-brands,form.amz-quote-form .amz-mini-brands{display:flex!important;justify-content:center!important;align-items:center!important;gap:15px!important;margin-top:11px!important;font-size:11px!important;font-weight:900!important}
form.amz-quote-form .stripe{color:#5b4ce6!important;text-transform:lowercase!important}
form.amz-quote-form .visa{color:#193c8c!important}
form.amz-quote-form .mc{color:#ef4b23!important;letter-spacing:-6px!important;padding-right:5px!important}
form.amz-quote-form .amex{color:#2088c8!important}

/* -------- Contact/project fields -------- */
form.amz-quote-form .amz-third{grid-column:span 4!important}
form.amz-quote-form .amz-project-details{grid-column:1/-1!important}
form.amz-quote-form .gfield_label{margin:0 0 6px!important;color:#202733!important;font-size:11px!important;line-height:1.25!important;font-weight:700!important}
form.amz-quote-form .gfield_required{color:#e43e36!important}
form.amz-quote-form input[type="text"],
form.amz-quote-form input[type="email"],
form.amz-quote-form input[type="tel"],
form.amz-quote-form input[type="url"],
form.amz-quote-form select,
form.amz-quote-form textarea{
  width:100%!important;border:1px solid #d7dde2!important;border-radius:4px!important;background:#fff!important;
  color:#27303c!important;box-shadow:none!important;font:inherit!important;font-size:12px!important;
}
form.amz-quote-form input[type="text"],form.amz-quote-form input[type="email"],form.amz-quote-form input[type="tel"],form.amz-quote-form input[type="url"],form.amz-quote-form select{min-height:42px!important;padding:9px 11px!important}
form.amz-quote-form textarea{min-height:96px!important;padding:11px!important;resize:vertical!important}
form.amz-quote-form input:focus,form.amz-quote-form select:focus,form.amz-quote-form textarea:focus{border-color:var(--amz-teal)!important;outline:0!important;box-shadow:0 0 0 3px rgba(7,158,153,.09)!important}
form.amz-quote-form ::placeholder{color:#9ba2ab!important;opacity:1!important}

/* -------- Payment section -------- */
form.amz-quote-form .amz-payment-left,form.amz-quote-form .amz-payment-summary{grid-column:span 6!important}
form.amz-quote-form .amz-payment-placeholder,form.amz-quote-form .amz-order-summary{
  height:100%!important;min-height:215px!important;box-sizing:border-box!important;
  border:1px solid #e0e5e9!important;border-radius:9px!important;background:#fff!important;padding:20px!important;
}
form.amz-quote-form .amz-payment-placeholder-head{display:flex!important;align-items:center!important;gap:11px!important;padding-bottom:13px!important;border-bottom:1px solid #edf0f2!important}
form.amz-quote-form .amz-payment-lock{width:37px!important;height:37px!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:#eff9f8!important;font-size:15px!important}
form.amz-quote-form .amz-payment-placeholder-head strong{display:block!important;color:var(--amz-navy)!important;font-size:13px!important;font-weight:800!important}
form.amz-quote-form .amz-payment-placeholder-head small{display:block!important;margin-top:2px!important;color:#747c88!important;font-size:9.5px!important}
form.amz-quote-form .amz-payment-placeholder-body{padding-top:15px!important}
form.amz-quote-form .amz-payment-placeholder-body p{margin:0!important;color:#343c4a!important;font-size:11.5px!important;line-height:1.45!important}
form.amz-quote-form .amz-payment-placeholder-body .amz-payment-explainer{margin-top:7px!important;color:#646d79!important;font-size:10.5px!important}
form.amz-quote-form .amz-order-summary{display:grid!important;align-content:start!important;gap:10px!important}
form.amz-quote-form .amz-order-title{color:var(--amz-teal)!important;font-size:11px!important;font-weight:800!important}
form.amz-quote-form .amz-order-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;align-items:center!important;font-size:10.5px!important}
form.amz-quote-form .amz-order-row span{color:#3a424f!important}
form.amz-quote-form .amz-order-row span small{display:block!important;color:#747c88!important;font-size:8.5px!important;margin-top:2px!important}
form.amz-quote-form .amz-order-row strong{color:#31394a!important;font-size:11px!important;font-weight:800!important}
form.amz-quote-form .amz-order-due{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;margin-top:4px!important;padding:13px 12px!important;border-radius:6px!important;background:#eaf8f7!important;color:#078e89!important}
form.amz-quote-form .amz-order-due span{font-size:10.5px!important;font-weight:800!important}
form.amz-quote-form .amz-order-due strong{font-size:17px!important;font-weight:900!important}
form.amz-quote-form .amz-order-note{margin-top:2px!important;color:#5e6673!important;font-size:9.5px!important;line-height:1.45!important}

/* If you later use the official on-page Stripe Field, give it this CSS class. */
form.amz-quote-form .amz-stripe-field{grid-column:span 6!important;padding:20px!important;border:1px solid #e0e5e9!important;border-radius:9px!important;background:#fff!important}

/* Native GF Total is used by Stripe but hidden from the visual design. */
form.amz-quote-form .amz-native-total{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}

/* -------- Submit -------- */
form.amz-quote-form .gform_footer{margin:0!important;padding:0!important}
form.amz-quote-form .gform_footer .gform_button,form.amz-quote-form .gform_footer input[type="submit"],form.amz-quote-form .gform_footer button[type="submit"]{
  width:100%!important;min-height:54px!important;margin:0!important;border:0!important;border-radius:6px!important;
  background:linear-gradient(90deg,var(--amz-teal),var(--amz-teal-2))!important;color:#fff!important;box-shadow:none!important;
  font:inherit!important;font-size:14px!important;font-weight:800!important;cursor:pointer!important;
}
form.amz-quote-form .gform_footer .gform_button:hover,form.amz-quote-form .gform_footer input[type="submit"]:hover,form.amz-quote-form .gform_footer button[type="submit"]:hover{box-shadow:0 8px 20px rgba(7,158,153,.22)!important}

/* -------- Validation -------- */
form.amz-quote-form .gfield_error{border:0!important;background:transparent!important}
form.amz-quote-form .validation_message{margin-top:5px!important;padding:0!important;border:0!important;background:transparent!important;color:#c83632!important;font-size:10px!important}
form.amz-quote-form .gform_validation_errors{border:1px solid #efd0ce!important;border-radius:7px!important;background:#fff6f5!important;box-shadow:none!important}

/* -------- Responsive -------- */
@media(max-width:1024px){
  form.amz-quote-form .amz-services-field,form.amz-quote-form .amz-quote-summary{grid-column:1/-1!important}
  form.amz-quote-form .amz-quote-summary{position:static!important;top:auto!important;max-width:620px!important}
}
@media(max-width:767px){
  form.amz-quote-form .gform_fields{row-gap:18px!important}
  form.amz-quote-form .amz-services-field .gfield_checkbox{grid-template-columns:1fr!important}
  form.amz-quote-form .amz-third,form.amz-quote-form .amz-payment-left,form.amz-quote-form .amz-payment-summary,form.amz-quote-form .amz-stripe-field{grid-column:1/-1!important}
  form.amz-quote-form .amz-services-field .gchoice label{min-height:125px!important;padding:17px 15px!important}
  form.amz-quote-form .amz-summary-card{padding:20px 18px!important}
}


/* Pricing anchor is required for Gravity Forms/Stripe but is not part of the visual design. */
form.amz-quote-form .amz-pricing-anchor{display:none!important}
