/**
 * Bridge Gravity Form 19 into the legacy quoteform / estimate-form-wrapper design.
 * Core look comes from theme style.css (.page-template-quoteform, .estimate-form-wrapper.online-stores).
 */

/* Full-bleed lifestyle background — same as SiteOrigin stretch row on quote-online-stores */
body.page-template-quoteform .wrap.container {
  max-width: 100%;
  width: 100%;
  padding-left: 0;
  padding-right: 0;
}

body.page-template-quoteform .content.row {
  margin-left: 0;
  margin-right: 0;
}

body.page-template-quoteform .main {
  width: 100%;
  float: none;
  padding-left: 0;
  padding-right: 0;
}

/* Never show the default page title ("QUOTE") on quote pages */
body.page-template-quoteform .page-header,
body.page-id-2428 .page-header,
body.page-slug-quote .page-header {
  display: none !important;
}

/* Prevent ShiftNav overflow:hidden from clipping the tall Calendly confirmation */
body.page-template-quoteform .shiftnav-wrap,
body.page-id-2428 .shiftnav-wrap,
body.page-slug-quote .shiftnav-wrap {
  overflow: visible !important;
}

body.page-template-quoteform,
body.page-id-2428 {
  overflow-x: hidden;
  overflow-y: auto;
}

/* Ensure banner + phone form stay hidden like quoteform pages */
body.page-template-quoteform .banner-wrapper,
body.page-template-quoteform .header-form {
  display: none !important;
}

/*
 * Match SiteOrigin stretch:
 * full-bleed sky background, card width = 90% of Bootstrap .container
 */
.sns-legacy-quote .estimate-form-wrapper.online-stores {
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  box-sizing: border-box;
  padding-top: 40px !important;
  padding-bottom: 60px !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  /* AU sky/clouds — same file as sitesnstores.com.au/wp-content/uploads/examplequotebackground.jpg */
  background-image: url(../img/quote-us/examplequotebackground.jpg) !important;
  background-size: cover !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
  min-height: 70vh;
}

@media (min-width: 768px) {
  .sns-legacy-quote .estimate-form-wrapper.online-stores {
    padding-left: max(15px, calc((100vw - 750px) / 2)) !important;
    padding-right: max(15px, calc((100vw - 750px) / 2)) !important;
  }
}

@media (min-width: 992px) {
  .sns-legacy-quote .estimate-form-wrapper.online-stores {
    padding-left: max(15px, calc((100vw - 970px) / 2)) !important;
    padding-right: max(15px, calc((100vw - 970px) / 2)) !important;
  }
}

@media (min-width: 1200px) {
  .sns-legacy-quote .estimate-form-wrapper.online-stores {
    padding-left: max(15px, calc((100vw - 1170px) / 2)) !important;
    padding-right: max(15px, calc((100vw - 1170px) / 2)) !important;
  }
}

/* White form card like AU — no red border, soft shadow */
.sns-legacy-quote .estimate-form-wrapper.online-stores > .panel-grid-cell,
.content .sns-legacy-quote .estimate-form-wrapper.online-stores > .panel-grid-cell {
  border: 0 !important;
  border-color: transparent !important;
  padding: 40px !important;
  background-color: #fff !important;
  width: 90% !important;
  max-width: 1053px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
  position: relative;
  border-radius: 8px;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12);
}

/* AU-style Ready to Chat / BOOK IN NOW badge */
.sns-legacy-quote .book-button {
  position: absolute;
  right: -30px;
  top: -10px;
  z-index: 5;
}

.sns-legacy-quote .book-button > a {
  color: #fff;
  background: #d91c22;
  padding: 10px 20px;
  text-align: center;
  display: block;
  border-radius: 5px;
  transform: rotate(7deg);
  -webkit-transform: rotate(7deg);
  font-size: 1.3em;
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
  box-shadow: 2px 3px 8px rgba(0, 0, 0, 0.25);
}

.sns-legacy-quote .book-button > a:hover {
  background: #ad0501;
  color: #fff;
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  .sns-legacy-quote .book-button {
    right: auto;
    left: 0;
    top: -72px;
    width: 100%;
    padding: 15px;
  }

  .sns-legacy-quote .book-button > a {
    transform: none;
    -webkit-transform: none;
    font-size: 1.1em;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .sns-legacy-quote .estimate-form-wrapper.online-stores > .panel-grid-cell {
    max-width: 873px !important; /* 90% of 970 container — matches measured old page */
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .sns-legacy-quote .estimate-form-wrapper.online-stores > .panel-grid-cell {
    max-width: 675px !important; /* 90% of 750 container */
  }
}

.sns-legacy-quote .form-heading {
  margin-bottom: 30px;
  color: #333;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}

.sns-legacy-quote .form-heading p {
  margin: 0;
}

/* Two columns like SiteOrigin 0.45 / 0.55 */
.sns-legacy-quote .sns-quote-two-col {
  display: table;
  width: 100%;
  table-layout: fixed;
}

.sns-legacy-quote .sns-quote-col-left,
.sns-legacy-quote .sns-quote-col-right {
  display: table-cell;
  vertical-align: top;
  padding: 0 15px;
}

.sns-legacy-quote .sns-quote-col-left {
  width: 45%;
}

.sns-legacy-quote .sns-quote-col-right {
  width: 55%;
}

.sns-legacy-quote .sns-quote-col-right ol {
  counter-reset: item;
  list-style: none;
  padding-left: 5px;
  margin-top: 15px;
}

.sns-legacy-quote .sns-quote-col-right ol li:before {
  content: counter(item) ". ";
  counter-increment: item;
  color: #ee0101;
}

.sns-legacy-quote .sns-quote-col-right ol li {
  font-weight: 700;
  color: #333;
  margin-bottom: 6px;
}

.sns-legacy-quote .script {
  font-family: 'Covered By Your Grace', cursive;
  font-size: 1.6em;
  margin-top: 18px;
}

/* AU handwritten instruction images (not font text) */
.sns-legacy-quote .sns-quote-clicknext {
  margin-top: 12px;
}

.sns-legacy-quote .sns-quote-clicknext img {
  display: block;
  max-width: 100%;
  height: auto;
}

.sns-legacy-quote .sns-quote-clicknext--2.hidden-xs img {
  margin-top: 40px;
  margin-left: 40px;
}

.sns-legacy-quote.is-confirmation .sns-quote-clicknext {
  display: none !important;
}

/* Gravity Form field chrome → match .quote-input inputs */
.sns-legacy-quote #gform_wrapper_19 {
  margin: 0 !important;
  padding: 0 !important;
  max-width: 100% !important;
  border: 0 !important;
  background: transparent !important;
}

.sns-legacy-quote #gform_wrapper_19 .gf_progressbar_wrapper,
.sns-legacy-quote #gform_wrapper_19 .gform_required_legend,
.sns-legacy-quote #gform_wrapper_19 .partial_entry_warning {
  display: none !important;
}

.sns-legacy-quote #gform_wrapper_19 .gfield_label {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  width: 1px;
  overflow: hidden;
}

/* Step-2 section labels visible (AU: Choose Your Needs / Budget / Hear about us) */
.sns-legacy-quote #gform_wrapper_19 #field_19_4 .gfield_label,
.sns-legacy-quote #gform_wrapper_19 #field_19_4 legend.gfield_label,
.sns-legacy-quote #gform_wrapper_19 #field_19_10 .gfield_label,
.sns-legacy-quote #gform_wrapper_19 #field_19_10 legend.gfield_label,
.sns-legacy-quote #gform_wrapper_19 #field_19_11 .gfield_label {
  position: static !important;
  clip: auto !important;
  height: auto !important;
  width: auto !important;
  overflow: visible !important;
  display: block !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #333 !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  line-height: 1.3 !important;
}

.sns-legacy-quote #gform_wrapper_19 .gfield {
  margin-bottom: 0 !important;
  padding-right: 0 !important;
}

.sns-legacy-quote #gform_wrapper_19 input[type="text"],
.sns-legacy-quote #gform_wrapper_19 input[type="email"],
.sns-legacy-quote #gform_wrapper_19 input[type="tel"],
.sns-legacy-quote #gform_wrapper_19 input[type="url"],
.sns-legacy-quote #gform_wrapper_19 input[type="number"],
.sns-legacy-quote #gform_wrapper_19 textarea,
.sns-legacy-quote #gform_wrapper_19 select {
  width: 100% !important;
  margin-bottom: 15px !important;
  padding: 5px 10px !important;
  border: 1px solid #ccc !important;
  border-radius: 0 !important;
  background: #fff !important;
  font-size: 16px !important;
  color: #333 !important;
  box-shadow: none !important;
  min-height: auto !important;
}

/*
 * Step 2 — Needs + Budget side-by-side (AU half-width fields)
 * Labels above; native-looking radios; AU check sprites for Needs
 */
.sns-legacy-quote #gform_wrapper_19 #field_19_4,
.sns-legacy-quote #gform_wrapper_19 #field_19_10 {
  margin-bottom: 12px !important;
  vertical-align: top;
}

.sns-legacy-quote #gform_wrapper_19 #field_19_4 .gchoice,
.sns-legacy-quote #gform_wrapper_19 #field_19_10 .gchoice {
  display: block !important;
  width: 100% !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  float: none !important;
}

.sns-legacy-quote #gform_wrapper_19 #field_19_4 .gchoice label,
.sns-legacy-quote #gform_wrapper_19 #field_19_10 .gchoice label,
.sns-legacy-quote #gform_wrapper_19 #input_19_4 label,
.sns-legacy-quote #gform_wrapper_19 #input_19_10 label {
  position: static !important;
  clip: auto !important;
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #333 !important;
  margin: 0 !important;
  padding: 0 !important;
  vertical-align: middle;
}

/* AU Needs checkboxes — custom sprites */
.sns-legacy-quote #gform_wrapper_19 #input_19_4 input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url(../img/quote-au/form_check_uncheck_new.png) !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-color: transparent !important;
  width: 30px !important;
  height: 30px !important;
  min-height: 0 !important;
  margin: 0 8px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  cursor: pointer;
  vertical-align: middle;
  position: static !important;
  float: none !important;
}

.sns-legacy-quote #gform_wrapper_19 #input_19_4 input[type="checkbox"]:checked {
  background-image: url(../img/quote-au/form_check_check_new.png) !important;
}

/* AU Budget radios — native circles */
.sns-legacy-quote #gform_wrapper_19 #input_19_10 input[type="radio"] {
  appearance: auto !important;
  -webkit-appearance: radio !important;
  width: 13px !important;
  height: 13px !important;
  min-height: 0 !important;
  margin: 0 8px 0 0 !important;
  padding: 0 !important;
  border: initial !important;
  background: none !important;
  background-image: none !important;
  box-shadow: none !important;
  vertical-align: middle;
  position: static !important;
  float: none !important;
  cursor: pointer;
}

/* AU select — How did you hear about us? */
.sns-legacy-quote #gform_wrapper_19 #field_19_11 {
  margin: 8px 0 20px !important;
  clear: both;
  width: 100% !important;
}

.sns-legacy-quote #gform_wrapper_19 #input_19_11 {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 33px !important;
  padding: 5px 3px !important;
  background-color: #f5f5f5 !important;
  border: 1px solid #ececec !important;
  border-radius: 0 !important;
  font-size: 15px !important;
  color: #4d4d4d !important;
  box-shadow: none !important;
  appearance: auto !important;
  -webkit-appearance: menulist !important;
  -moz-appearance: menulist !important;
  margin-bottom: 0 !important;
}

/*
 * AU newsletter / extras — horizontal row under the form,
 * spills into right column (same as #field_28_12)
 */
.sns-legacy-quote .sns-quote-col-left,
.sns-legacy-quote .quote_1Box,
.sns-legacy-quote .quote,
.sns-legacy-quote #quote_box,
.sns-legacy-quote .quote_box_main,
.sns-legacy-quote .quote_1_input_new,
.sns-legacy-quote .sns-quote-gf-fields,
.sns-legacy-quote #gform_wrapper_19,
.sns-legacy-quote #gform_wrapper_19 .gform_body,
.sns-legacy-quote #gform_wrapper_19 .gform_page,
.sns-legacy-quote #gform_wrapper_19 .gform_page_fields {
  overflow: visible !important;
}

.sns-legacy-quote #gform_wrapper_19 #gform_page_19_2 {
  position: relative !important;
  padding-bottom: 48px !important;
}

.sns-legacy-quote #gform_wrapper_19 #field_19_12 {
  position: absolute !important;
  left: 0 !important;
  bottom: 8px !important;
  width: 170% !important;
  max-width: 720px !important;
  margin: 0 !important;
  padding: 0 !important;
  clear: both;
  z-index: 2;
}

.sns-legacy-quote #gform_wrapper_19 #field_19_12 .gfield_label,
.sns-legacy-quote #gform_wrapper_19 #field_19_12 legend {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  width: 1px;
  overflow: hidden;
}

.sns-legacy-quote #gform_wrapper_19 #field_19_12 .ginput_container,
.sns-legacy-quote #gform_wrapper_19 #field_19_12 .gfield_checkbox,
.sns-legacy-quote #gform_wrapper_19 #input_19_12 {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap;
}

.sns-legacy-quote #gform_wrapper_19 #field_19_12 .gchoice {
  display: inline-block !important;
  align-items: center !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 18px 0 0 !important;
  padding: 0 !important;
  vertical-align: middle;
}

.sns-legacy-quote #gform_wrapper_19 #field_19_12 .gchoice input[type="checkbox"] {
  margin: 0 6px 0 0 !important;
  position: static !important;
  float: none !important;
  width: 13px !important;
  height: 13px !important;
  min-height: 0 !important;
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  background-image: none !important;
  background-color: transparent !important;
  border: initial !important;
  box-shadow: none !important;
  vertical-align: middle;
  cursor: pointer;
}

.sns-legacy-quote #gform_wrapper_19 #field_19_12 .gchoice label,
.sns-legacy-quote #gform_wrapper_19 #input_19_12 label {
  position: static !important;
  clip: auto !important;
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  color: #333 !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap;
  vertical-align: middle;
}

.sns-legacy-quote #gform_wrapper_19 #field_19_21 {
  display: none !important;
}

.sns-legacy-quote #gform_wrapper_19 .gfield_checkbox label,
.sns-legacy-quote #gform_wrapper_19 .gfield_radio label,
.sns-legacy-quote #gform_wrapper_19 legend.gfield_label {
  position: static !important;
  clip: auto !important;
  height: auto !important;
  width: auto !important;
  overflow: visible !important;
  font-weight: 400;
}

/* Never show step-2 Click Next image */
.sns-legacy-quote .sns-quote-clicknext--2 {
  display: none !important;
}

/* Keep GF footer/buttons inside the form (do not detach — that breaks Next) */
.sns-legacy-quote #gform_wrapper_19 .gform_page_footer,
.sns-legacy-quote #gform_wrapper_19 .gform_footer {
  display: block !important;
  border: 0 !important;
  padding: 16px 0 0 !important;
  margin: 10px 0 0 !important;
  text-align: right;
  clear: both;
}

/*
 * Red skewed Next / Submit — match .estimate-form-wrapper.online-stores .form-submit
 * (transparent bg + red-shape image only — no solid red fill)
 */
.sns-legacy-quote #gform_wrapper_19 .gform_next_button,
.sns-legacy-quote #gform_wrapper_19 .gform_button,
.sns-legacy-quote #gform_wrapper_19 input[type="submit"],
.sns-legacy-quote #gform_wrapper_19 button[type="submit"],
.sns-legacy-quote #gform_wrapper_19 .form-submit {
  width: 200px !important;
  height: 60px !important;
  border: none !important;
  outline: 0 !important;
  font-weight: 700 !important;
  font-size: 28px !important;
  color: #fff !important;
  background: transparent url(../img/red-shape-sml.png) center center no-repeat !important;
  background-size: contain !important;
  -moz-transform: rotate(-2deg) !important;
  -webkit-transform: rotate(-2deg) !important;
  -o-transform: rotate(-2deg) !important;
  -ms-transform: rotate(-2deg) !important;
  transform: rotate(-2deg) !important;
  padding: 0 0 8px !important;
  cursor: pointer;
  box-shadow: none !important;
  border-radius: 0 !important;
  text-indent: 0 !important;
  line-height: 1.05 !important;
  min-width: 0 !important;
}

.sns-legacy-quote #gform_wrapper_19 .gform_next_button:hover,
.sns-legacy-quote #gform_wrapper_19 .gform_button:hover,
.sns-legacy-quote #gform_wrapper_19 input[type="submit"]:hover,
.sns-legacy-quote #gform_wrapper_19 button[type="submit"]:hover,
.sns-legacy-quote #gform_wrapper_19 .form-submit:hover {
  background-color: transparent !important;
  color: #fff !important;
  opacity: 0.92;
}

/* Previous stays plain — old quote forms don't use the red shape for Previous */
.sns-legacy-quote #gform_wrapper_19 .gform_previous_button {
  float: left;
  background: #555 !important;
  color: #fff !important;
  border: 0 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  padding: 12px 22px !important;
  width: auto !important;
  height: auto !important;
  min-width: 120px !important;
  transform: none !important;
  -webkit-transform: none !important;
  margin-top: 8px;
  border-radius: 4px !important;
  cursor: pointer;
  background-image: none !important;
}

.sns-legacy-quote .sns-quote-gf-footer {
  display: none !important;
}

/* Confirmation / calendar step — page scrolls; no nested scroll trap */
.sns-legacy-quote.is-confirmation .sns-quote-col-right,
.sns-legacy-quote.is-confirmation .sns-quote-steps,
.sns-legacy-quote.is-confirmation .book-button,
.sns-legacy-quote.is-confirmation .form-heading {
  display: none !important;
}

/* After JS lifts confirmation into the card, hide leftover 2-col shell */
.sns-legacy-quote.is-confirmation.is-confirmation-ready .sns-quote-two-col {
  display: none !important;
}

.sns-legacy-quote.is-confirmation .estimate-form-wrapper.online-stores {
  overflow: visible !important;
  height: auto !important;
  min-height: 0 !important;
}

.sns-legacy-quote.is-confirmation .estimate-form-wrapper.online-stores > .panel-grid-cell {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
  padding: 36px 28px 48px !important;
}

.sns-legacy-quote.is-confirmation #gform_confirmation_wrapper_19,
.sns-legacy-quote.is-confirmation .gform_confirmation_wrapper,
.sns-legacy-quote.is-confirmation .gform_confirmation_message {
  display: block !important;
  text-align: center !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
  position: relative !important;
  z-index: 2;
}

.sns-legacy-quote.is-confirmation .gform_confirmation_message {
  font-size: 18px;
  line-height: 1.45;
  color: #333;
}

.sns-legacy-quote.is-confirmation .calendly-inline-widget {
  display: block !important;
  width: 100% !important;
  max-width: 700px !important;
  min-width: 280px !important;
  height: 700px !important;
  min-height: 700px !important;
  margin: 28px auto 0 !important;
  overflow: visible !important;
  pointer-events: auto !important;
  position: relative !important;
  z-index: 3;
}

/* Only real Calendly embeds — never style placeholder/about:blank iframes */
.sns-legacy-quote.is-confirmation iframe[src*="calendly"] {
  display: block !important;
  width: 100% !important;
  max-width: 700px !important;
  height: 700px !important;
  min-height: 700px !important;
  margin: 0 auto !important;
  border: 0 !important;
  pointer-events: auto !important;
  position: relative !important;
  z-index: 3;
}

.sns-legacy-quote.is-confirmation iframe[src="about:blank"],
.sns-legacy-quote.is-confirmation iframe:not([src*="calendly"]):not([src*="recaptcha"]):not([src*="google"]) {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  left: -9999px !important;
}

@media (max-width: 767px) {
  .sns-legacy-quote .estimate-form-wrapper.online-stores > .panel-grid-cell {
    padding: 20px;
    max-width: 100%;
  }

  .sns-legacy-quote .form-heading {
    font-size: 25px;
  }

  .sns-legacy-quote .sns-quote-col-left,
  .sns-legacy-quote .sns-quote-col-right {
    display: block;
    width: 100%;
    padding: 0;
  }

  .sns-legacy-quote .sns-quote-col-right {
    margin-top: 20px;
  }

  .sns-legacy-quote #gform_wrapper_19 #gform_page_19_2 {
    padding-bottom: 0 !important;
  }

  .sns-legacy-quote #gform_wrapper_19 #field_19_12 {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    bottom: auto !important;
    margin: 12px 0 !important;
    white-space: normal;
  }

  .sns-legacy-quote #gform_wrapper_19 #field_19_12 .ginput_container,
  .sns-legacy-quote #gform_wrapper_19 #input_19_12 {
    white-space: normal !important;
  }

  .sns-legacy-quote #gform_wrapper_19 #field_19_12 .gchoice {
    display: block !important;
    margin: 0 0 8px !important;
  }

  .sns-legacy-quote #gform_wrapper_19 #field_19_12 .gchoice label,
  .sns-legacy-quote #gform_wrapper_19 #input_19_12 label {
    white-space: normal;
  }

  .sns-legacy-quote .sns-quote-clicknext--2.hidden-xs img,
  .sns-legacy-quote .sns-quote-clicknext--2 img {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .sns-legacy-quote #gform_wrapper_19 .gform_page_footer,
  .sns-legacy-quote #gform_wrapper_19 .gform_footer {
    text-align: center;
  }

  .sns-legacy-quote #gform_wrapper_19 .gform_previous_button {
    float: none;
    display: block;
    margin: 0 auto 12px;
  }
}


.sns-legacy-quote .sns-quote-step[hidden] {
  display: none !important;
}

.sns-legacy-quote #gform_wrapper_19 .gform_validation_errors,
.sns-legacy-quote #gform_wrapper_19 .validation_message,
.sns-legacy-quote .validation_message {
  color: #ff0000 !important;
}
