:root {
  --Light-gray: #dcdcdc;
}

.color-primary {
  color: var(--Primary);
}

.color-secondary {
  color: var(--Secondary);
}

html,
body {
  width: auto !important;
  overflow-x: hidden !important;
}

.header .header-logo {
  padding: 10px 0px;
}
.header .header-logo img {
  width: 182px;
  height: 42px;
}

.mobile-nav-wrap .offcanvas-title img {
  max-width: 182px;
  height: 42px;
}

#footer .footer-logo img {
  width: 182px;
  height: 42px;
}

#footer .download-app img {
  height: 50px;
  margin-bottom: 10px;
}

.section-faq {
  margin-bottom: 0px;
}

.tf-sidebar .sidebar-ads::after {
  position: absolute;
  content: "";
  background: linear-gradient(
    180deg,
    rgba(88, 41, 0, 0) 0%,
    var(--Secondary) 100%
  );
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.sidebar-ads.claims {
  max-height: 320px !important;
}

.page-title.career {
  background-image: url(../images/section/why-homesafe.jpg) !important;
}

.page-title.how-it-works {
  background-image: url(../images/section/how-it-works.jpg) !important;
}

.disclaimer {
  margin-bottom: 0px;
}

.lh-18 {
  line-height: 18px !important;
}

.lh-22 {
  line-height: 22px !important;
}

.lh-65 {
  line-height: 65px !important;
}

.content-pages {
  color: var(--Text-2) !important;
}

.content-pages a {
  color: var(--Primary);
  text-decoration: underline;
}
.content-pages a:hover {
  color: var(--Heading);
}

.content-pages ul {
  padding-left: 15px;
  list-style: disc;
  margin-bottom: 20px;
}
.content-pages ul li {
  list-style: disc;
}
.content-pages ul li::marker {
  color: var(--Primary);
}
.content-pages ul li:not(:last-child) {
  margin-bottom: 11px;
}
.content-pages .feature-item {
  gap: 8px;
}

.section-categories {
  background-color: var(--Sub-primary-1);
}

.categories-item.style-2 .icon-box {
  -webkit-transition: all 0.4s ease;
  -moz-transition: all 0.4s ease;
  -ms-transition: all 0.4s ease;
  -o-transition: all 0.4s ease;
  transition: all 0.4s ease;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  height: 175px;
  width: 175px;
  border-radius: 16px;
  border: 1px solid rgb(236, 236, 236);
}

.inner-mobile-nav .mb-body .support .mb-info li {
  color: rgb(134, 134, 134);
  font-size: 18px;
  line-height: 24px;
}

.inner-mobile-nav .mb-body .support .text-need {
  font-weight: 500;
  border-bottom: 1px solid var(--Line);
  margin-bottom: 11px;
  font-size: 16px;
}

.inner-mobile-nav .wrap-social {
  gap: 5px;
  font-size: 18px;
}
.inner-mobile-nav .wrap-social .tf-social {
  gap: 10px;
  font-size: 18px;
}

.header .cta-row {
  display: none;
  color: var(--Primary);
  justify-content: center;
  align-items: center;
  gap: 4px; /* Adjust to 2px or 3px for tighter spacing */
  margin: 0;
  padding: 0;
}

.header .cta-btn {
  flex: 1 1 0;
  min-width: 0;
  width: 50%;
  text-align: center;
  margin: 0;
  border-radius: 8px; /* or your preferred radius */
  /* Adjust padding if buttons are too big */
  /* padding-left: 0.5rem; padding-right: 0.5rem; */
}

/* Optional: Make sure there's no extra padding on .cta-row */
.header .cta-row > * {
  margin: 0 !important;
  padding: 0 !important;
}

.cta-btn-form {
  width: 50% !important;
}

.navigation li.has-child.style-2 > a::after {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: absolute;
  right: 0;
  font-family: "icomoon";
  content: "\e940";
  font-size: 14px;
  cursor: pointer;
}

.phone-call {
  color: var(--Heading) !important;
}

.tf-btn.style-border-blue {
  border: 1px solid var(--Secondary);
  color: var(--Secondary);
  background-color: var(--White);
}
.tf-btn.style-border-blue::after {
  background-color: var(--Secondary);
}
.tf-btn.style-border-blue:hover {
  color: var(--Text-white) !important;
}
.tf-btn.style-border-blue:hover svg path {
  stroke: var(--Text-white);
}

.tf-btn.style-border-dark {
  border: 1px solid var(--White);
  color: var(--White);
  background-color: transparent;
}
.tf-btn.style-border-dark::after {
  background-color: var(--White);
}
.tf-btn.style-border-dark:hover {
  color: var(--Secondary) !important;
}
.tf-btn.style-border-dark:hover svg path {
  stroke: var(--Text-white);
}

.tf-btn.style-primary-dark {
  border: 1px solid var(--Primary);
  color: var(--White);
  background-color: var(--Primary);
}
.tf-btn.style-primary-dark::after {
  background-color: var(--White);
}
.tf-btn.style-primary-dark:hover {
  color: var(--Primary) !important;
}
.tf-btn.style-primary-dark:hover svg path {
  stroke: var(--Text-white);
}

.tf-btn.bg-color-primary:disabled,
.tf-btn.bg-color-primary:disabled:hover {
  background-color: #ffdcb6 !important;
  color: #fff !important;
  cursor: default;
  transition: none !important;
}

.tf-btn.bg-color-primary:disabled::after {
  background-color: transparent !important;
  transform: none !important;
  transition: none !important;
}

.page-title.home01,
.page-title.home05,
.page-title.how-it-works,
.page-title.career {
  position: relative;
  background-image: url(../images/section/page-title-1.jpg);
  background-attachment: fixed;
  padding: 105px 0 100px;
  margin-left: 16px;
  margin-right: 16px;
  background-size: cover;
  border-radius: 24px;
  overflow: hidden; /* ensures pseudo stays inside the border radius */
}

.page-title.home01::before,
.page-title.home05::before,
.page-title.how-it-works::before,
.page-title.career::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #243249;
  opacity: 0.5; /* adjust darkness level */
  border-radius: 24px;
  z-index: 1;
}

.page-title.home01 > *,
.page-title.home05 > *,
.page-title.how-it-works > *,
.page-title.career > * {
  position: relative;
  z-index: 2;
}
.page-title.home01 .heading-title,
.page-title.home05 .heading-title,
.page-title.how-it-works .heading-title,
.page-title.career .heading-title {
  margin-bottom: 45px;
}
.page-title.home01 .tf-dropdown-sort,
.page-title.home05 .tf-dropdown-sort,
.page-title.how-it-works .tf-dropdown-sort,
.page-title.career .tf-dropdown-sort {
  padding-right: 30px;
  border-right: 1px solid var(--Line);
}
.page-title.home01 form,
.page-title.home05 form,
.page-title.how-it-works form,
.page-title.career form {
  flex: 1;
}
.page-title.home01 form fieldset input,
.page-title.home05 form fieldset input,
.page-title.how-it-works form fieldset input,
.page-title.career form fieldset input {
  border: none;
}
.page-title.home01 .form-title,
.page-title.home05 .form-title,
.page-title.how-it-works .form-title,
.page-title.career .form-title {
  padding: 8px 8px 8px 24px;
}
.page-title.home01 .btn-filter,
.page-title.home05 .btn-filter,
.page-title.how-it-works .btn-filter,
.page-title.career .btn-filter {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 54px;
  width: 54px;
  border-radius: 16px;
  cursor: pointer;
}

.page-title.home01 .heading-title h1 {
  font-size: 56px;
  line-height: 80px;
}

.free-quote-title {
  padding: 80px 0 60px;
  background-color: var(--Sub-primary-1);
  overflow: hidden; /* ensures pseudo stays inside the border radius */
}

.free-quote-title .heading-title h1 {
  font-size: 54px;
  line-height: 68px;
  margin-bottom: 20px;
}

.secure-message {
  padding: 15px;
  font-size: 18px;
  color: var(--Light-gray);
}

.secure-message-dark {
  padding: 15px;
  font-size: 18px;
  color: var(--Note-2);
}

.stat-value {
  font-weight: 700;
  color: var(--Secondary); /* Deep navy */
}

.stat-label {
  font-weight: 600;
  margin-top: 0.5rem;
  margin-bottom: 1rem;
}

.stat-desc {
  font-size: 1.03 rem;
  color: #333;
  max-width: 280px;
  margin: 0 auto;
}

.stats-row .stat-block {
  padding: 1rem;
}

.section-CTA:not(.style-2) .content-inner img {
  max-width: 230px;
  position: absolute;
  bottom: 0;
}

.section-CTA:not(.style-2) .content-inner .content {
  padding-left: 250px;
}

.bg-secondary {
  background-color: #243249 !important;
}

.agents-row {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  gap: 8px;
}

.cta-row {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
}

.mt-26 {
  margin-top: 26px;
}

.mt-28 {
  margin-top: 28px;
}

.mt-44 {
  margin-top: 44px;
}

.mb-8 {
  margin-bottom: 8px;
}

.claim-card {
  margin: 6px 12px;
  border: 1px solid var(--Primary) !important;
  border-radius: 12px;
  background-color: var(--Sub-primary-2);
  font-size: 24px;
  line-height: 30px;
  font-weight: 700;
  color: var(--Secondary) !important;
}

.claim-card span {
  font-size: 20px;
}

.total-bill {
  font-size: 18px;
  color: var(--Text-2);
  font-weight: 300;
}

.total-bill span {
  font-weight: 500;
}

.avatar-stack img {
  border: 3px solid #fff;
  border-radius: 50%;
}
.avatar-stack .position-relative:not(:first-child) {
  margin-left: -15px;
}

.steps.active {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  /*      border: 3px solid #efefef;
  border-radius: 18px;
        */
  padding: 14px;
  border-radius: 18px;
  background-color: var(--White);
  box-shadow: 0px 4px 10px var(--Light-gray);
}

.carousel-indicators {
  justify-content: center;
  align-items: center;
  display: flex;
  gap: 10px;
  margin-top: 1rem;
}

.carousel-indicators [data-bs-target] {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: #ddd; /* inactive gray */
  border: none;
  position: relative;
  transition: all 0.3s ease;
}

/* ACTIVE dot: white circle with orange border and centered orange dot */
.carousel-indicators .active {
  background-color: white;
  border: 1px solid var(--Primary);
  display: flex;
  justify-content: center;
  align-items: center;
}

.carousel-indicators .active::before {
  content: "";
  width: 8px;
  height: 8px;
  background-color: var(--Primary);
  border-radius: 50%;
}

.px-24 {
  padding-left: 24px;
  padding-right: 24px;
}
.pt-12 {
  padding-top: 12px;
}

.mt-6 {
  margin-top: 6px;
}
.mt-8 {
  margin-top: 8px;
}
.mt-10 {
  margin-top: 10px;
}
.mt-12 {
  margin-top: 12px;
}
.mt-14 {
  margin-top: 14px;
}
.mt-16 {
  margin-top: 16px;
}
.mt-18 {
  margin-top: 18px;
}
.mt-20 {
  margin-top: 20px;
}

.steps {
  padding: 18px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.steps .title {
  margin-bottom: 8px;
}
.steps.active .title {
  color: var(--Primary);
}
.steps .sub-title {
  margin-bottom: 12px;
}

.step.active .sub-title {
  color: var(--Secondary);
}
.steps p {
  margin-bottom: 10px;
  line-height: 24px;
}

.steps.active p {
  color: var(--Heading);
}

.text-with-img.style-2 .sub {
  border: 16px solid var(--White);
  background-color: var(--White);
  position: absolute;
  border-radius: 38px;
  width: 52%;
  right: -3%;
  bottom: -12%;
}

.tf-spacing-15 {
  padding-top: 18px;
  padding-bottom: 104px;
}

.modal-content {
  padding: 40px 20px;
  background-color: #f3f4f6;
}

.lead-form {
  background: #fff;
  border-radius: 28px;
  box-shadow: 0 4px 16px 0 rgba(32, 41, 54, 0.08),
    0 1.5px 8px 0 rgba(32, 41, 54, 0.04);
  border: none; /* or: border: 1px solid #f0f2f4; if you want a subtle line */
  padding: 24px; /* Adjust as needed */
}

.form-container {
  max-width: 500px;
  margin: 50px auto;
  background: white;
  padding: 30px;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.header-section {
  text-align: center;
  margin-bottom: 30px;
}

.header-section h2 {
  color: #4f46e5;
  font-weight: 700;
  margin-bottom: 15px;
}

.coverage-info {
  background: #f0f9ff;
  border: 1px solid #0ea5e9;
  border-radius: 8px;
  padding: 15px;
  margin-bottom: 25px;
}

.coverage-item {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
  color: #4f46e5;
  font-weight: 500;
}

.coverage-item:last-child {
  margin-bottom: 0;
}

.coverage-item .check-mark {
  margin-right: 10px;
  color: #4f46e5;
  font-size: 16px;
}

select {
  outline: 0;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  width: 100%;
  padding: 13px 15px !important;
  font-size: 16px !important;
  font-weight: 400;
  line-height: 22.4px;
  background-color: var(--White);
  border: 1px solid var(--Line);
  border-radius: 16px !important;
  color: var(--Text-2);
  overflow: hidden;
  height: 54px;
  margin-bottom: 0;
}

select::placeholder {
  font-size: 16px;
  font-weight: 400;
  line-height: 22.4px;
  color: #777;
}

form {
  position: relative;
  z-index: 30;
}
form .input.input-nl,
form textarea,
form input[type="text"],
form input[type="password"],
form input[type="datetime"],
form input[type="datetime-local"],
form input[type="date"],
form input[type="month"],
form input[type="time"],
form input[type="week"],
form input[type="number"],
form input[type="email"],
form input[type="url"],
form input[type="search"],
form input[type="tel"],
form input[type="color"] {
  outline: 0;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  width: 100%;
  padding: 10px 12px;
  font-size: 16px;
  font-weight: 400;
  line-height: 22.4px;
  background-color: var(--White);
  border: 1px solid var(--Line);
  border-radius: 16px;
  color: var(--Text2);
  overflow: hidden;
  height: 54px;
  margin-bottom: 0;
}
form .input.input-nl::placeholder,
form textarea::placeholder,
form input[type="text"]::placeholder,
form input[type="password"]::placeholder,
form input[type="datetime"]::placeholder,
form input[type="datetime-local"]::placeholder,
form input[type="date"]::placeholder,
form input[type="month"]::placeholder,
form input[type="time"]::placeholder,
form input[type="week"]::placeholder,
form input[type="number"]::placeholder,
form input[type="email"]::placeholder,
form input[type="url"]::placeholder,
form input[type="search"]::placeholder,
form input[type="tel"]::placeholder,
form input[type="color"]::placeholder {
  font-size: 16px;
  font-weight: 400;
  line-height: 22.4px;
  color: #777;
}

input,
select,
textarea {
  font-family: "Lexend", sans-serif;
  font-size: 14px;
  line-height: 19.6px;
  font-weight: 400;
  color: var(--Text2);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
  overflow-y: auto;
}

input[type="active"]:focus {
  color: var(--Text2) !important;
}

.input-icon {
  position: absolute;
  left: 15px;
  top: calc(50% + 16px);
  transform: translateY(-50%);
  color: #9ca3af;
  z-index: 3;
  font-size: 18px;
  pointer-events: none;
}

.validation-icon {
  position: absolute;
  right: 15px;
  top: calc(50% + 16px);
  transform: translateY(-50%);
  z-index: 3;
  font-size: 18px;
  opacity: 0;
  transition: opacity 0.3s ease;
  color: #10b981;
  font-weight: bold;
}

/* Special positioning for select dropdown validation icon */
select.form-control + .validation-icon {
  right: 35px; /* Move left to avoid overlapping with dropdown arrow */
}

.form-control.valid,
select.form-control.valid,
input.select.form-control.valid {
  border-color: #10b981;
  background-color: #f0fdf4;
  color: #000000 !important;
}

.form-control.valid + .validation-icon,
select.form-control.valid + .validation-icon {
  opacity: 1;
}

.form-control.error,
select.form-control.error {
  border-color: #ef4444;
  background-color: #fef2f2;
}

.error {
  color: #ef4444;
  font-size: 14px;
  font-weight: 400;
  margin-top: 0px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.btn-get-started {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border: none;
  height: 50px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 16px;
  transition: all 0.3s ease;
}

.btn-get-started:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(102, 126, 234, 0.3);
}

.form-label {
  font-weight: 600;
  color: #374151;
  margin-bottom: 8px;
}

.required-asterisk {
  color: #ef4444;
  margin-left: 3px;
}

.cta-phone-link {
  font-size: 22px;
  font-weight: 600;
  color: var(
    --Secondary
  ); /* Use your CSS variable or replace with hex if needed */
  text-decoration: none;
  transition: color 0.2s;
}

.cta-phone-link:hover {
  color: var(--Primary); /* Use your secondary color variable or hex */
  text-decoration: none; /* Optional: add underline on hover */
}

.progress-bar-container {
  background: #e5e7eb;
  height: 4px;
  border-radius: 2px;
  margin-bottom: 30px;
  overflow: hidden;
}

.progress-bar {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  height: 100%;
  border-radius: 2px;
  transition: width 0.3s ease;
  width: 50%;
}

.progress-bar.step-2 {
  width: 100%;
}

.step-indicator {
  text-align: center;
  margin-bottom: 20px;
  color: #6b7280;
  font-size: 14px;
}

.tf-btn:disabled {
  background-color: #ffdcb6;
  color: #fff;
}

.tf-btn:disabled,
.tf-btn:disabled:hover,
.tf-btn:disabled:focus {
  background-color: #ffdcb6 !important;
  color: #fff !important;
  transition: none !important;
}

.feature-list {
  font-size: 22px;
}

.feature-item {
  margin-bottom: 24px; /* Adjust spacing between list items */
}

.icon-primary {
  color: var(--Primary);
}

.icon-primary i {
  font-size: 3rem; /* Increase this value to make it larger */
  line-height: 0.7;
}

.has-child.style-2 > .submenu {
  right: 0;
  left: 0;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  min-width: 800px;
}
.has-child.style-2 > .submenu::before {
  left: 105px !important;
}
.has-child.style-2 > .submenu > li > a {
  font-size: 20px;
  font-weight: 400;
  padding-left: 0 !important;
  color: var(--Heading) !important;
}
.has-child.style-2 > .submenu > li > .submenu2 > li {
  width: 250px;
}
.has-child.style-2 > .submenu > li > .submenu2 > li > a {
  color: var(--Heading);
  font-weight: 300;
}
.has-child.style-2 > .submenu > li > .submenu2 > li > a:hover {
  color: var(--Primary);
}

.zip-form {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  padding: 10px;
  border-radius: 14px;
  margin: 0 auto;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  gap: 16px;
}

.zip-form fieldset {
  border: none;
  padding: 0;
  margin: 0;
  flex: 1;
}

.zip-form input[type="text"] {
  width: 100%;
  padding: 14px 16px;
  font-size: 16px;
  border: none;
  border-radius: 8px;
  background: transparent;
  outline: none;
  color: #333;
}

.wrap-btn {
  flex-shrink: 0;
}

.zip-form {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  padding: 10px;
  border-radius: 14px;
  max-width: 640px;
  margin: 0 auto;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  gap: 16px;
}

.zip-form fieldset {
  border: none;
  padding: 0;
  margin: 0;
  flex: 1;
}

.zip-form input[type="text"] {
  width: 100%;
  padding: 14px 16px;
  font-size: 16px;
  border: none;
  border-radius: 8px;
  background: transparent;
  outline: none;
  color: #333;
}

.zip-form input::placeholder {
  color: #777 !important; /* or something visible against your white background */
  font-size: 16px;
  font-weight: 400;
  line-height: 22.4px;
  opacity: 1 !important; /* some browsers default to < 1 */
}

.wrap-btn {
  flex-shrink: 0;
}

#zipForm input.is-invalid {
  border-color: #b33a2b !important;
}

#zipForm input.is-invalid:focus {
  outline: none;
  box-shadow: 0 0 0 2px #b33a2b33;
}

.fs-12 {
  font-size: 12px !important;
}
.fs-13 {
  font-size: 13px !important;
}
.fs-14 {
  font-size: 14px !important;
}
.fs-15 {
  font-size: 15px !important;
}
.fs-16 {
  font-size: 16px !important;
}
.fs-17 {
  font-size: 17px !important;
}
.fs-18 {
  font-size: 18px !important;
}
.fs-19 {
  font-size: 19px !important;
}
.fs-20 {
  font-size: 20px !important;
}
.fs-21 {
  font-size: 21px !important;
}
.fs-22 {
  font-size: 22px !important;
}
.fs-23 {
  font-size: 23px !important;
}
.fs-24 {
  font-size: 24px !important;
}
.fs-25 {
  font-size: 25px !important;
}
.fs-26 {
  font-size: 26px !important;
}
.fs-27 {
  font-size: 27px !important;
}
.fs-28 {
  font-size: 28px !important;
}
.fs-29 {
  font-size: 29px !important;
}
.fs-30 {
  font-size: 30px !important;
}
.fs-31 {
  font-size: 31px !important;
}
.fs-32 {
  font-size: 32px !important;
}
.fs-33 {
  font-size: 33px !important;
}
.fs-34 {
  font-size: 34px !important;
}
.fs-35 {
  font-size: 35px !important;
}
.fs-36 {
  font-size: 36px !important;
}
.fs-37 {
  font-size: 37px !important;
}
.fs-38 {
  font-size: 38px !important;
}
.fs-39 {
  font-size: 39px !important;
}
.fs-40 {
  font-size: 40px !important;
}
.fs-41 {
  font-size: 41px !important;
}
.fs-42 {
  font-size: 42px !important;
}
.fs-43 {
  font-size: 43px !important;
}
.fs-44 {
  font-size: 44px !important;
}
.fs-45 {
  font-size: 45px !important;
}
.fs-46 {
  font-size: 46px !important;
}
.fs-47 {
  font-size: 47px !important;
}
.fs-48 {
  font-size: 48px !important;
}
.fs-49 {
  font-size: 49px !important;
}
.fs-50 {
  font-size: 50px !important;
}

.fw-3 {
  font-weight: 300 !important;
}
.fw-4 {
  font-weight: 400 !important;
}
.fw-5 {
  font-weight: 500 !important;
}
.fw-6 {
  font-weight: 600 !important;
}
.fw-7 {
  font-weight: 700 !important;
}
.fw-8 {
  font-weight: 800 !important;
}
.fw-9 {
  font-weight: 900 !important;
}

.zip-form-side {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  padding: 10px;
  border-radius: 14px;
  margin-bottom: 0 auto;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  gap: 16px;
}

.zip-form-side fieldset {
  border: none;
  padding: 0;
  margin: 0;
  flex: 1;
}

.zip-form-side input[type="text"] {
  width: 100%;
  padding: 14px 16px;
  font-size: 16px;
  border: none;
  border-radius: 8px;
  background: transparent;
  outline: none;
  color: #333;
}

.wrap-btn {
  flex-shrink: 0;
}

.zip-form-side {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  padding: 10px;
  border-radius: 14px;
  max-width: 640px;
  margin: 0 auto;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  gap: 16px;
}

.zip-form-side fieldset {
  border: none;
  padding: 0;
  margin: 0;
  flex: 1;
}

.zip-form-side input[type="text"] {
  width: 100%;
  padding: 14px 16px;
  font-size: 16px;
  border: none;
  border-radius: 8px;
  background: transparent;
  outline: none;
  color: #333;
}

.zip-form-side input::placeholder {
  color: #777 !important; /* or something visible against your white background */
  font-size: 16px;
  font-weight: 400;
  line-height: 22.4px;
  opacity: 1 !important; /* some browsers default to < 1 */
}
.zip-form-side {
  flex-direction: column;
  align-items: stretch;
}

.zip-form-side input {
  border: 1px solid #ddd !important;
}

.zip-form-side .wrap-btn button {
  width: 100%;
}

@media (max-width: 767.98px) {
  .stats-row .stat-block {
    border: none !important;
    margin-bottom: 2rem;
  }
}

@media (max-width: 1093px) {
  .header .cta-row {
    display: flex;
    justify-content: space-between;
    padding: 0.5rem 1rem 1rem;
    border-top: 1px solid #f1f1f1;
    font-size: 16px;
    font-weight: 600;
  }
}

@media (max-width: 600px) {
  .zip-form {
    flex-direction: column;
    align-items: stretch;
  }

  .zip-form input {
    border: 1px solid #ddd !important;
  }

  .zip-form .wrap-btn button {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .cta-btn-form {
    width: 100% !important;
    display: block;
  }

  .section-categories .tf-container {
    max-width: 100% !important;
    width: 100% !important;
  }
  .swiper.style-pagination {
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
  }
  .swiper .swiper-slide {
    padding-left: 16px;
    padding-right: 16px;
    box-sizing: border-box;
  }

  .section-categories-swiper .swiper-slide {
    padding-left: 16px;
    padding-right: 16px;
  }

  .page-title .heading-title .title {
    font-size: 32px !important; /* Adjust to whatever "smaller" means to you */
    line-height: 46px !important;
  }

  .page-title.home01,
  .page-title.home05,
  .page-title.how-it-works,
  .page-title.career {
    padding: 30px 0 50px;
    margin-left: 0px;
    margin-right: 0px;
    border-radius: 0px !important;
  }

  .page-title.home01::before,
  .page-title.home05::before,
  .page-title.how-it-works::before,
  .page-title.career::before {
    border-radius: 0px;
  }

  .page-title.home01 .heading-title,
  .page-title.home05 .heading-title,
  .page-title.how-it-works .heading-title,
  .page-title.career .heading-title {
    margin-bottom: 25px;
  }

  .page-title .heading-title p {
    font-size: 16px !important; /* Adjust to whatever "smaller" means to you */
    line-height: 25.2px;
  }

  #stepsContent .steps {
    display: none !important;
  }
  #stepsContent .steps.active {
    display: block !important;
    box-shadow: none;
  }

  #stepsContent .steps.active .title {
    color: var(--Heading);
  }

  #stepsContent .steps.title.active {
    display: block !important;
  }
  .agents-row {
    flex-direction: column;
    gap: 6px;
  }
  .agent-btn {
    width: 100%;
  }
  .ready-talk-heading .subline {
    font-weight: 400; /* Or 500 if you want a little bolder */
    font-size: 24px; /* Optional: softer white */
  }

  .copyright-line .footer-links {
    display: block;
    margin-top: 0.5rem;
  }

  .free-quote-title {
    padding: 30px 0 50px;
    background-color: var(--Sub-primary-1);
    overflow: hidden; /* ensures pseudo stays inside the border radius */
  }

  .free-quote-title .heading-title h1 {
    font-size: 38px;
    line-height: 48px;
    margin-bottom: 20px;
  }

  .free-quote-title .heading-title p {
    font-size: 16px !important; /* Adjust to whatever "smaller" means to you */
    line-height: 20px;
  }
}

/*section-pre-approved
===============================================================================*/
.section-pre-approved {
}
.section-pre-approved .content {
  margin: 0px 0;
}

.section-pre-approved .icons-box {
  padding: 16px 22px;
}
.section-pre-approved .icons-box:hover {
  box-shadow: 0px 30px 60px var(--Sub-primary-2);
}
.section-pre-approved .claim-image {
  padding-top: 140px;
}
.section-pre-approved .heading-section {
  margin-bottom: 47px;
}
.section-pre-approved .image-wrap {
  border-radius: 24px;
  overflow: hidden;
}
.section-pre-approved .image-wrap img {
  width: 100%;
}
.section-pre-approved.style-2 .content {
  margin: 555px 0;
}
.section-pre-approved.style-2 .image-wrap {
  max-width: 550px;
  margin-left: auto;
}
.section-pre-approved.style-2 .form-pre-approved p {
  margin-top: 34px;
}

/* rotate the SVG 360° forever */
@keyframes twirl {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/* fade between two background colors */
@keyframes bgShift {
  0% {
    background-color: #fff;
  }
  50% {
    background-color: #7695ff;
  }
  100% {
    background-color: #fff;
  }
}

.tf-spacing-content {
  padding-top: 42px;
  padding-bottom: 80px;
}

.page-title.content {
  background-image: url(../images/section/page-title-1.jpg);
  background-attachment: fixed;
  padding: 24px 0 24px;
  background-size: cover;
}

.page-title.content {
  position: relative;
  background-image: url(../images/section/page-title-1.jpg);
  background-attachment: fixed;
  margin-left: 16px;
  margin-right: 16px;
  background-size: cover;
  border-radius: 24px;
  overflow: hidden; /* ensures pseudo stays inside the border radius */
  text-align: left;
}

.page-title.content.faq {
  background-image: url(../images/section/page-title-faq.jpg);
}

.page-title.content.contact {
  background-image: url(../images/section/page-title-contact.jpg);
}

.page-title.content.legal {
  background-image: url(../images/section/page-title-legal.jpg);
}

.page-title.content.preferred {
  background-image: url(../images/section/page-title-preferred.jpg);
}

.page-title.home01.electrical {
  background-image: url(../images/section/page-title-electrical.jpg);
}

.page-title.home01.appliances {
  background-image: url(../images/section/page-title-appliances.jpg);
}

.page-title.home01.plumbing {
  background-image: url(../images/section/page-title-plumbing.jpg);
}

.page-title.home01.claims {
  background-image: url(../images/section/page-title-claims.jpg);
}

.page-title.content::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #243249;
  opacity: 0.5; /* adjust darkness level */
  border-radius: 24px;
  z-index: 1;
}

/* Lift the text above the overlay */
.page-title.content .heading-title {
  position: relative;
  z-index: 1;
}

.page-title.content .heading-title .title,
.page-title.content .heading-title p {
  color: #fff; /* or ensure --Text-white is #fff */
}
.page-title.content .heading-title .title {
  color: var(--Text-white);
  margin-bottom: 0px;
}
.page-title.content .heading-title p {
  color: var(--Text-white);
  line-height: 25.2px;
}
.page-title.content form fieldset input::placeholder {
  color: rgb(124, 127, 132);
  font-weight: 400;
}

.page-title.content {
  position: relative;
  z-index: 10;
  background-position: center;
  background-attachment: fixed;
}
.page-title.content::after {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media (max-width: 768px) {
  .page-title.content {
    margin: 0;
    border-radius: 0;
  }

  .page-title.content::before {
    border-radius: 0px;
  }
}

.tf-compare-row > div {
  background-color: var(--White) !important; /* Or any other desired color */
}

.tf-compare-col .icon-check {
  color: var(--Primary); /* Uses your defined primary color */
  font-size: 1.85rem; /* Slightly larger than default (16px → 20px) */
  font-weight: 500;
}

.tf-compare-col .icon-head {
  color: var(--Primary); /* Uses your defined primary color */
  font-size: 1.85rem; /* Slightly larger than default (16px → 20px) */
  font-weight: 500;
}

.tf-compare-row {
  border-bottom: 1px solid #e0e0e0; /* light gray or your border color */
}

.tf-compare-col {
  border: none !important; /* Remove any default column borders */
}

.tf-compare-row.no-bottom-border {
  border-bottom: none !important;
}

.box-service .box-item:hover .image {
  opacity: 1;
  visibility: visible;
  transform: rotate(-4deg) scale(1);
}

.box-service .box-item p {
  font-size: 18px !important;
  line-height: 30px !important;
  font-weight: 300 !important;
}

@media (min-width: 992px) {
  .box-service .box-item .title {
    width: 65%;
  }
}

.step-icon-box {
  background-color: var(
    --Primary
  ); /* Use #FF3500 if you want your standard orange */
  color: #ffffff;
  border-radius: 12px;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 14px;
}

.step-icon-box i {
  font-size: 28px; /* Increase this as needed */
  line-height: 1;
}

.box-benefits .image {
  border-radius: 16px;
  overflow: hidden !important;
  width: 62.4%;
}
.box-benefits .image {
  border-radius: 16px;
  overflow: hidden !;
  width: 62.4%;
}
.box-benefits .image.img-1 {
  margin-top: 50px;
  z-index: 1;
  box-shadow: none;
  overflow: hidden !important;
}

.how-3 .image-wrap {
  border-radius: 24px;
  overflow: hidden;
}
.how-3 .image-wrap img {
  width: 100%;
  margin-top: 20px;
}
.how-3 .image-wrap {
  max-width: 95%;
  margin-left: auto;
}

.svg-icon {
  width: 20px;
  height: auto;
  filter: brightness(0) saturate(100%) invert(52%) sepia(98%) saturate(749%)
    hue-rotate(360deg) brightness(104%) contrast(101%);
  margin-right: 9px;
}

.plan-svg-icon {
  width: 36px;
  height: auto;
  filter: brightness(0) saturate(100%) invert(52%) sepia(98%) saturate(749%)
    hue-rotate(360deg) brightness(104%) contrast(101%);
}

.plan-small-svg-icon {
  width: 28px;
  height: auto;
  filter: brightness(0) saturate(100%) invert(52%) sepia(98%) saturate(749%)
    hue-rotate(360deg) brightness(104%) contrast(101%);
}

.plan-big-svg-icon {
  width: 44px;
  height: auto;
  filter: brightness(0) saturate(100%) invert(52%) sepia(98%) saturate(749%)
    hue-rotate(360deg) brightness(104%) contrast(101%);
}

.tf-compare-row .tf-compare-col:first-child {
  min-width: 250px;
}

.tf-compare-col {
  min-width: 335px;
  border-right: 1px solid var(--Line);
  border-bottom: 1px solid var(--Line);
  flex-grow: 1;
  position: relative;
}

.plan-desc {
  border-bottom: 1px solid var(--Line);
  margin: 12px 0;
  padding-bottom: 10px;
  font-size: 16px;
}

.item-covered {
  font-size: 14px;
  margin-bottom: 6px;
  font-weight: 300;
}

.add-on-covered {
  font-size: 16px;
  margin-bottom: 12px;
  font-weight: 300;
}

.box-house.regular {
  position: relative;
  border: 1px solid var(--Line);
  padding-top: 25px; /* Add space for ribbon */
}
.box-house.featured {
  position: relative;
  border: 2px solid var(--Primary);
  margin-top: 15px; /* Add space for the ribbon */
  overflow: visible;
  padding-top: 13px;
}

.box-ribbon {
  position: absolute;
  top: -18px; /* Position it to overlap the border */
  left: 50%;
  transform: translateX(-50%);
  background: var(--Secondary);
  color: #fff;
  font-weight: 700;
  font-size: 12px;
  padding: 8px 24px; /* Increase padding for better proportions */
  border-radius: 20px; /* More rounded like the reference */
  z-index: 10;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
  letter-spacing: 0.6px;
  white-space: nowrap;
  text-transform: uppercase;
  border: 1px solid var(--Primary); /* Add white border like in reference */
}

li.mobile-cta {
  justify-content: center;
  display: flex;
  border-bottom: none !important;
}

.text-with-img.style-2 .sub {
  border: 16px solid var(--Sub-primary-1);
  background-color: var(--White);
  width: 45%;
}

.customer-id {
  display: flex;
  align-items: center;
  padding: 29px;
  border-radius: 16px;
  border: 1px solid var(--Line);
  background-color: var(--White);
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 16px;
}

.customer-id-text {
  display: flex;
  flex-direction: column;
  text-align: left;
  margin-left: 18px;
}

.customer-id-label {
  font-weight: 600;
  font-size: 18px;
  margin-bottom: 8px;
}

.customer-id-number {
  font-weight: normal;
  font-weight: 600;
  font-size: 24px;
}

.customer-id-note {
  font-size: 1.3rem;
  color: var(--DarkGray, #666);
  margin-top: 10px;
  width: 100%;
  text-align: left;
}

/* mobile-first: no margin-top by default */
.my-addon-col {
  margin-top: 0;
}

/* on large or xl screens, add the desired top margin */
@media (min-width: 1200px) {
  /* adjust this breakpoint if your xl starts elsewhere */
  .my-addon-col {
    margin-top: 44px; /* or whatever unit “44” refers to */
  }
}

/* Mobile: stack slides, no swipe, "Best Home" first */
@media (max-width: 575.98px) {
  .tf-sw-mobile-1 .swiper-wrapper {
    display: flex !important; /* vertical stack */
    flex-direction: column;
    transform: none !important; /* stop translateX */
  }

  .tf-sw-mobile-1 .swiper-slide {
    width: 100% !important;
    margin: 0 0 15px 0 !important; /* spacing between cards */
    order: 2; /* default order for all */
  }

  /* Prefer: target the featured card */
  .tf-sw-mobile-1 .swiper-slide:has(.featured) {
    order: 1; /* move "Best Home" to top */
  }

  /* Fallback if :has() isn't supported and the featured card is slide #2 */
  .tf-sw-mobile-1 .swiper-slide:nth-child(2) {
    order: 1;
  }

  .sw-pagination-mb-1 {
    display: none !important; /* hide bullets on mobile */
  }
}

@media (max-width: 576px) {
  h1.title.free-quote {
    font-size: 30px; /* adjust to the size you want */
    line-height: 1.3; /* optional, improves readability */
  }
}
