/* ==========================================================================
   Ridtechs global fixes - added 19 Aug 2026
   1. Kill horizontal page scroll caused by Elementor entrance animations
   2. Demote the header "Customer Portal" button to a quiet text link
   3. Two-step styling for the quote form on /contact-us/
   ========================================================================== */

/* --- 1. horizontal scroll ------------------------------------------------ */
html, body { max-width: 100%; overflow-x: hidden; }

/* --- 2. header Customer Portal -> quiet text link ----------------------- */
.elementor-element-d45edd3 .elementor-button,
.elementor-element-d45edd3 .elementor-button:visited {
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #E35F21 !important;
  fill: #E35F21 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
  padding: 2px 4px !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}
.elementor-element-d45edd3 .elementor-button:hover,
.elementor-element-d45edd3 .elementor-button:focus {
  background-color: transparent !important;
  color: #1B254D !important;
  text-decoration: underline !important;
}

/* --- 3. two-step quote form -------------------------------------------- */
.rt-step-bar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px}
.rt-step-bar__label{color:#1B254D;font-size:13px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}
.rt-step-bar__track{background:#E4E8F0;border-radius:999px;flex:1 1 120px;height:6px;min-width:100px;overflow:hidden}
.rt-step-bar__fill{background:#E35F21;border-radius:999px;height:100%;transition:width .3s ease;width:50%}
.rt-step-bar__hint{color:#7B8199;flex:1 1 100%;font-size:13.5px;line-height:1.5;margin:0}

.rt-hidden{display:none !important}

.rt-nav{align-items:center;display:flex;flex-wrap:wrap;gap:14px;margin-top:6px}
.rt-continue{background:#E35F21;border:0;border-radius:6px;color:#fff;cursor:pointer;
  font-family:inherit;font-size:16px;font-weight:700;padding:14px 30px;transition:background .2s}
.rt-continue:hover{background:#c94e18}
.rt-back{background:none;border:0;color:#5A6178;cursor:pointer;font-family:inherit;
  font-size:14px;font-weight:600;padding:6px 2px;text-decoration:underline}
.rt-back:hover{color:#1B254D}

.rt-err{color:#B3261E;display:block;font-size:13px;font-weight:600;margin-top:6px}
.rt-invalid input,.rt-invalid textarea{border-color:#B3261E !important}

/* group heading injected above the split checkbox groups */
.rt-grp-h{border-top:1px solid #E7EAF2;color:#1B254D;font-size:14px;font-weight:700;
  letter-spacing:.02em;margin:20px 0 10px;padding-top:16px}
.rt-grp-h:first-child{border-top:0;margin-top:0;padding-top:0}
.rt-grp-h span{color:#7B8199;display:block;font-size:12.5px;font-weight:500;margin-top:3px}

/* reorder the mixed checkbox group without moving nodes (MetForm re-renders) */
.rt-optlist{display:grid;grid-template-columns:1fr;gap:1px}
@media (min-width:600px){.rt-optlist{grid-template-columns:repeat(3,minmax(0,1fr))}}
.rt-optlist .rt-grp-h{grid-column:1/-1}
.rt-optlist .mf-checkbox-option{order:10}
.rt-optlist .rt-grp-h--pests{order:1}
.rt-optlist .rt-grp-h--treat{order:20}
.rt-optlist .mf-checkbox-option.rt-treat{order:30}

/* --- 4. Customer Portal inside the mobile off-canvas menu --------------- */
.rt-portal-mobile{display:none;list-style:none}
.rt-portal-mobile > a{color:#E35F21 !important;display:block;font-size:15px !important;
  font-weight:700 !important;padding:16px 20px !important;text-decoration:underline !important;
  text-underline-offset:2px !important}
.rt-portal-mobile > a:hover,.rt-portal-mobile > a:focus{color:#1B254D !important;text-decoration:underline !important}
