/* =====================================================================
   TRIDEV MAHASHAKTI  —  Custom Frontend Styles
   (template ke upar additions : footer, EMI calculator, forms, reviews)
   ===================================================================== */

:root {
  --tm-dark: #241844;
  --tm-dark-2: #322259;
  --tm-lime: #F5A524;
  --tm-light: #EFE9F8;
  --tm-muted: #8a82a3;
  --tm-radius: 18px;
}

/* ------------------------------------------------------------------ */
/* NAVBAR — services dropdown                                          */
/* ------------------------------------------------------------------ */
.main_menu_list .dropdown-menu {
  min-width: 260px;
  padding: 12px 0;
  border: 1px solid rgba(36, 24, 68, .08);
  border-radius: 14px;
  box-shadow: 0 20px 50px rgba(36, 24, 68, .14);
}

.main_menu_list .dropdown-menu li a {
  display: block;
  padding: 10px 22px;
  font-size: 15px;
  color: var(--tm-dark);
  transition: all .25s ease;
  border-left: 3px solid transparent;
}

.main_menu_list .dropdown-menu li a:hover {
  background: rgba(245, 165, 36, .18);
  border-left-color: var(--tm-lime);
  padding-left: 28px;
}

.main_menu_list .dropdown-menu .menu_divider {
  height: 1px;
  margin: 8px 18px;
  background: rgba(36, 24, 68, .08);
}

/* ------------------------------------------------------------------ */
/* EMI CALCULATOR                                                      */
/* ------------------------------------------------------------------ */
.tm_emi_section {
  position: relative;
  overflow: hidden;
}

.tm_emi_wrap {
  background: var(--tm-dark);
  border-radius: 28px;
  padding: 46px;
  color: #fff;
  position: relative;
  overflow: hidden;
  box-shadow: 0 30px 80px rgba(36, 24, 68, .22);
}

.tm_emi_wrap::before {
  content: "";
  position: absolute;
  top: -140px;
  right: -120px;
  width: 380px;
  height: 380px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245, 165, 36, .18) 0%, transparent 70%);
}

.tm_emi_wrap h2,
.tm_emi_wrap h3 {
  color: #fff;
}

/* --- Slider rows --- */
.tm_slider_row {
  margin-bottom: 30px;
}

.tm_slider_head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
  gap: 12px;
  flex-wrap: wrap;
}

.tm_slider_head label {
  font-size: 15px;
  color: #d5cde6;
  margin: 0;
  font-weight: 500;
}

.tm_value_pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(245, 165, 36, .12);
  border: 1px solid rgba(245, 165, 36, .35);
  color: var(--tm-lime);
  border-radius: 10px;
  padding: 6px 10px;
  font-weight: 700;
  font-size: 16px;
}

.tm_value_pill input {
  background: transparent;
  border: 0;
  outline: none;
  color: var(--tm-lime);
  font-weight: 700;
  font-size: 16px;
  width: 92px;
  text-align: right;
  padding: 0;
  -moz-appearance: textfield;
}

.tm_value_pill input::-webkit-outer-spin-button,
.tm_value_pill input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.tm_value_pill .tm_unit {
  font-size: 13px;
  opacity: .8;
}

/* --- Range input --- */
.tm_range {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 6px;
  border-radius: 6px;
  background: rgba(255, 255, 255, .16);
  outline: none;
  cursor: pointer;
}

.tm_range::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--tm-lime);
  border: 4px solid var(--tm-dark);
  box-shadow: 0 0 0 2px var(--tm-lime);
  cursor: pointer;
  transition: transform .2s ease;
}

.tm_range::-webkit-slider-thumb:hover {
  transform: scale(1.15);
}

.tm_range::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--tm-lime);
  border: 3px solid var(--tm-dark);
  box-shadow: 0 0 0 2px var(--tm-lime);
  cursor: pointer;
}

.tm_range_scale {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  color: var(--tm-muted);
  margin-top: 8px;
}

/* --- Result card --- */
.tm_emi_result {
  background: linear-gradient(160deg, rgba(245, 165, 36, .10), rgba(255, 255, 255, .04));
  border: 1px solid rgba(245, 165, 36, .22);
  border-radius: 22px;
  padding: 32px 28px;
  text-align: center;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.tm_emi_result_label {
  font-size: 13px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--tm-muted);
  margin-bottom: 8px;
}

.tm_emi_amount {
  font-size: 42px;
  line-height: 1.1;
  font-weight: 700;
  color: var(--tm-lime);
  margin-bottom: 4px;
  word-break: break-word;
}

.tm_emi_permonth {
  font-size: 13px;
  color: var(--tm-muted);
  margin-bottom: 26px;
}

.tm_emi_breakdown {
  border-top: 1px solid rgba(255, 255, 255, .12);
  padding-top: 20px;
  text-align: left;
}

.tm_emi_breakdown_row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 9px 0;
  font-size: 14px;
  color: #d5cde6;
}

.tm_emi_breakdown_row strong {
  color: #fff;
  font-size: 15px;
}

.tm_emi_donut {
  width: 130px;
  height: 130px;
  margin: 0 auto 22px;
  border-radius: 50%;
  position: relative;
  transition: background .4s ease;
}

.tm_emi_donut::after {
  content: "";
  position: absolute;
  inset: 16px;
  border-radius: 50%;
  background: #2c1e52;
}

.tm_emi_legend {
  display: flex;
  justify-content: center;
  gap: 18px;
  font-size: 12px;
  color: var(--tm-muted);
  margin-bottom: 22px;
}

.tm_emi_legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.tm_dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
}

.tm_dot_principal { background: var(--tm-lime); }
.tm_dot_interest  { background: #6e6394; }

.tm_emi_note {
  font-size: 12px;
  color: var(--tm-muted);
  margin-top: 18px;
  line-height: 1.7;
}

@media (max-width: 991px) {
  .tm_emi_wrap { padding: 30px 22px; border-radius: 20px; }
  .tm_emi_amount { font-size: 34px; }
}

/* ------------------------------------------------------------------ */
/* FOOTER CTA                                                          */
/* ------------------------------------------------------------------ */
.tm_footer_cta {
  padding-top: 40px;
  margin-bottom: -70px;
  position: relative;
  z-index: 3;
}

.tm_cta_card {
  background: linear-gradient(120deg, var(--tm-lime) 0%, #c3f02b 100%);
  border-radius: 26px;
  padding: 42px 46px;
  box-shadow: 0 24px 60px rgba(36, 24, 68, .18);
}

.tm_cta_badge {
  display: inline-block;
  background: rgba(36, 24, 68, .10);
  color: var(--tm-dark);
  border-radius: 40px;
  padding: 6px 16px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 14px;
}

.tm_cta_title {
  color: var(--tm-dark);
  font-size: 34px;
  line-height: 1.25;
  margin-bottom: 10px;
}

.tm_cta_text {
  color: rgba(36, 24, 68, .75);
  font-size: 15px;
}

.tm_cta_actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: stretch;
}

.tm_btn_lime,
.tm_btn_ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 15px 26px;
  border-radius: 12px;
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  transition: all .3s ease;
}

.tm_btn_lime {
  background: var(--tm-dark);
  color: var(--tm-lime);
}

.tm_btn_lime:hover {
  background: #150e2e;
  color: var(--tm-lime);
  transform: translateY(-3px);
}

.tm_btn_ghost {
  background: transparent;
  border: 1.5px solid rgba(36, 24, 68, .35);
  color: var(--tm-dark);
}

.tm_btn_ghost:hover {
  background: rgba(36, 24, 68, .08);
  color: var(--tm-dark);
  transform: translateY(-3px);
}

@media (max-width: 991px) {
  .tm_cta_card { padding: 30px 24px; }
  .tm_cta_title { font-size: 26px; }
  .tm_footer_cta { margin-bottom: -60px; }
}

/* ------------------------------------------------------------------ */
/* FOOTER                                                              */
/* ------------------------------------------------------------------ */
.tm_footer {
  background: var(--tm-dark);
  color: #bdb4d4;
  padding: 130px 0 0;
  position: relative;
  overflow: hidden;
  border-radius: 34px 34px 0 0;
  margin-top: 60px;
}

.tm_footer_glow {
  position: absolute;
  top: -180px;
  left: 50%;
  transform: translateX(-50%);
  width: 700px;
  height: 420px;
  background: radial-gradient(ellipse, rgba(245, 165, 36, .09) 0%, transparent 70%);
  pointer-events: none;
}

.tm_footer_main {
  position: relative;
  z-index: 2;
  padding-bottom: 55px;
}

.tm_footer_brand img {
  max-width: 175px;
  margin-bottom: 22px;
}

.tm_footer_about {
  font-size: 14.5px;
  line-height: 1.9;
  color: #a79fc0;
  margin-bottom: 24px;
}

.tm_footer_rating {
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 12px;
  padding: 12px 16px;
  margin-bottom: 26px;
}

.tm_stars i {
  color: var(--tm-lime);
  font-size: 13px;
}

.tm_rating_meta strong {
  color: #fff;
  font-size: 17px;
}

.tm_rating_meta span {
  font-size: 12.5px;
  color: var(--tm-muted);
  margin-left: 3px;
}

.tm_social {
  display: flex;
  gap: 10px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.tm_social a {
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .18);
  color: #d5cde6;
  font-size: 15px;
  transition: all .3s ease;
}

.tm_social a:hover {
  background: var(--tm-lime);
  border-color: var(--tm-lime);
  color: var(--tm-dark);
  transform: translateY(-4px);
}

.tm_footer_title {
  color: #fff;
  font-size: 18px;
  margin-bottom: 24px;
  position: relative;
  padding-bottom: 12px;
}

.tm_footer_title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 34px;
  height: 3px;
  border-radius: 3px;
  background: var(--tm-lime);
}

.tm_footer_links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.tm_footer_links li { margin-bottom: 12px; }

.tm_footer_links a {
  color: #a79fc0;
  font-size: 14.5px;
  text-decoration: none;
  position: relative;
  padding-left: 0;
  transition: all .3s ease;
  display: inline-block;
}

.tm_footer_links a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 0;
  height: 1.5px;
  background: var(--tm-lime);
  transition: width .3s ease;
}

.tm_footer_links a:hover {
  color: var(--tm-lime);
  padding-left: 16px;
}

.tm_footer_links a:hover::before { width: 10px; }

.tm_footer_contact {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
}

.tm_footer_contact li {
  display: flex;
  gap: 12px;
  margin-bottom: 16px;
  font-size: 14.5px;
  line-height: 1.7;
  color: #a79fc0;
}

.tm_footer_contact a {
  color: #a79fc0;
  text-decoration: none;
  transition: color .25s ease;
}

.tm_footer_contact a:hover { color: var(--tm-lime); }

.tm_ct_icon {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border-radius: 9px;
  background: rgba(245, 165, 36, .12);
  color: var(--tm-lime);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
}

.tm_footer_review_btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(245, 165, 36, .4);
  color: var(--tm-lime);
  padding: 11px 20px;
  border-radius: 10px;
  font-size: 14px;
  text-decoration: none;
  transition: all .3s ease;
}

.tm_footer_review_btn:hover {
  background: var(--tm-lime);
  color: var(--tm-dark);
}

.tm_footer_bottom {
  border-top: 1px solid rgba(255, 255, 255, .09);
  padding: 24px 0 26px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  font-size: 13.5px;
  color: var(--tm-muted);
  position: relative;
  z-index: 2;
}

.tm_footer_policy {
  display: flex;
  gap: 22px;
  list-style: none;
  padding: 0;
  margin: 0;
  flex-wrap: wrap;
}

.tm_footer_policy a {
  color: var(--tm-muted);
  text-decoration: none;
  transition: color .25s ease;
}

.tm_footer_policy a:hover { color: var(--tm-lime); }

@media (max-width: 767px) {
  .tm_footer { padding-top: 110px; border-radius: 26px 26px 0 0; }
  .tm_footer_bottom { flex-direction: column; text-align: center; }
  .tm_footer_policy { justify-content: center; gap: 16px; }
}

/* ------------------------------------------------------------------ */
/* WHATSAPP FLOATING BUTTON                                            */
/* ------------------------------------------------------------------ */
.tm_whatsapp_float {
  position: fixed;
  left: 22px;
  bottom: 24px;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #25D366;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  z-index: 999;
  box-shadow: 0 8px 26px rgba(37, 211, 102, .45);
  transition: transform .3s ease;
}

.tm_whatsapp_float:hover {
  transform: scale(1.1);
  color: #fff;
}

@media (max-width: 575px) {
  .tm_whatsapp_float { width: 48px; height: 48px; font-size: 22px; left: 16px; bottom: 18px; }
}

/* ------------------------------------------------------------------ */
/* FORMS  (enquiry + feedback)                                         */
/* ------------------------------------------------------------------ */
.tm_form_card {
  background: #fff;
  border-radius: var(--tm-radius);
  padding: 36px;
  box-shadow: 0 14px 44px rgba(36, 24, 68, .08);
  border: 1px solid var(--tm-light);
}

.tm_form_card .form-label {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--tm-dark);
  margin-bottom: 7px;
}

.tm_form_card .form-label .req { color: #dc3545; }

.tm_form_card .form-control,
.tm_form_card .form-select {
  height: 52px;
  border-radius: 11px;
  border: 1px solid var(--tm-light);
  background: #f9fbfb;
  font-size: 14.5px;
  padding: 0 16px;
  transition: all .25s ease;
}

.tm_form_card textarea.form-control {
  height: auto;
  padding: 14px 16px;
  min-height: 120px;
}

.tm_form_card .form-control:focus,
.tm_form_card .form-select:focus {
  border-color: var(--tm-dark);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(245, 165, 36, .35);
}

.tm_submit_btn {
  background: var(--tm-dark);
  color: var(--tm-lime);
  border: 0;
  border-radius: 11px;
  padding: 15px 34px;
  font-weight: 600;
  font-size: 15px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: all .3s ease;
}

.tm_submit_btn:hover {
  background: #150e2e;
  color: var(--tm-lime);
  transform: translateY(-2px);
}

.tm_submit_btn:disabled { opacity: .6; transform: none; cursor: not-allowed; }

.tm_alert {
  border-radius: 12px;
  padding: 14px 18px;
  font-size: 14.5px;
  margin-bottom: 22px;
  border: 1px solid transparent;
}

.tm_alert_success { background: #ecf7f1; border-color: #b6dfcb; color: #1c6b3a; }
.tm_alert_error   { background: #fdecef; border-color: #f3bcc4; color: #a02020; }

/* Star rating picker */
.tm_rating_input {
  display: inline-flex;
  flex-direction: row-reverse;
  gap: 6px;
}

.tm_rating_input input { display: none; }

.tm_rating_input label {
  font-size: 30px;
  color: #ded5ee;
  cursor: pointer;
  transition: color .2s ease, transform .2s ease;
  margin: 0;
}

.tm_rating_input input:checked ~ label,
.tm_rating_input label:hover,
.tm_rating_input label:hover ~ label {
  color: #f5a524;
}

.tm_rating_input label:hover { transform: scale(1.12); }

/* ------------------------------------------------------------------ */
/* SERVICE CARDS / DETAIL PAGE                                         */
/* ------------------------------------------------------------------ */
.tm_service_card {
  background: #fff;
  border: 1px solid var(--tm-light);
  border-radius: 20px;
  padding: 32px 28px;
  height: 100%;
  transition: all .35s ease;
  position: relative;
  overflow: hidden;
}

.tm_service_card::after {
  content: "";
  position: absolute;
  inset: auto -40px -60px auto;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: rgba(245, 165, 36, .16);
  transition: transform .45s ease;
  transform: scale(0);
}

.tm_service_card:hover {
  transform: translateY(-8px);
  box-shadow: 0 24px 55px rgba(36, 24, 68, .12);
  border-color: transparent;
}

.tm_service_card:hover::after { transform: scale(1); }

.tm_service_card > * { position: relative; z-index: 2; }

.tm_service_icon {
  width: 66px;
  height: 66px;
  border-radius: 16px;
  background: var(--tm-light);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
  transition: background .35s ease;
}

.tm_service_card:hover .tm_service_icon { background: var(--tm-lime); }

.tm_service_icon img { width: 32px; height: 32px; object-fit: contain; }

.tm_service_card h3 {
  font-size: 20px;
  margin-bottom: 10px;
}

.tm_service_card h3 a {
  color: var(--tm-dark);
  text-decoration: none;
}

.tm_service_card p {
  font-size: 14.5px;
  line-height: 1.8;
  margin-bottom: 18px;
}

.tm_service_meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.tm_chip {
  background: rgba(36, 24, 68, .06);
  color: var(--tm-dark);
  border-radius: 30px;
  padding: 5px 13px;
  font-size: 12.5px;
  font-weight: 500;
}

.tm_service_link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--tm-dark);
  font-weight: 600;
  font-size: 14.5px;
  text-decoration: none;
}

.tm_service_link i { transition: transform .3s ease; }
.tm_service_link:hover { color: var(--tm-dark); }
.tm_service_link:hover i { transform: translateX(5px); }

/* Detail page */
.tm_detail_hero_meta {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 22px;
}

.tm_detail_stat {
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 12px;
  padding: 12px 18px;
  min-width: 145px;
}

.tm_detail_stat small {
  display: block;
  font-size: 11.5px;
  text-transform: uppercase;
  letter-spacing: .8px;
  color: rgba(255, 255, 255, .6);
  margin-bottom: 3px;
}

.tm_detail_stat strong {
  color: var(--tm-lime);
  font-size: 16px;
}

.tm_detail_body { font-size: 15.5px; line-height: 1.95; }
.tm_detail_body h3 { margin: 32px 0 14px; font-size: 22px; }
.tm_detail_body p { margin-bottom: 18px; }

.tm_check_list { list-style: none; padding: 0; margin: 0; }

.tm_check_list li {
  position: relative;
  padding-left: 34px;
  margin-bottom: 13px;
  font-size: 15px;
  line-height: 1.7;
}

.tm_check_list li::before {
  content: "\f00c";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 2px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--tm-lime);
  color: var(--tm-dark);
  font-size: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tm_info_table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--tm-light);
  border-radius: 14px;
  overflow: hidden;
  font-size: 14.5px;
}

.tm_info_table th,
.tm_info_table td {
  padding: 14px 18px;
  border-bottom: 1px solid var(--tm-light);
}

.tm_info_table th {
  background: #f8f5fd;
  color: var(--tm-dark);
  font-weight: 600;
  width: 45%;
}

.tm_info_table tr:last-child th,
.tm_info_table tr:last-child td { border-bottom: 0; }

.tm_sticky_form { position: sticky; top: 110px; }

@media (max-width: 991px) {
  .tm_sticky_form { position: static; }
  .tm_form_card { padding: 26px 20px; }
}

/* ------------------------------------------------------------------ */
/* REVIEW CARDS                                                        */
/* ------------------------------------------------------------------ */
.tm_review_card {
  background: #fff;
  border: 1px solid var(--tm-light);
  border-radius: 18px;
  padding: 28px;
  height: 100%;
  transition: all .3s ease;
}

.tm_review_card:hover {
  box-shadow: 0 18px 44px rgba(36, 24, 68, .10);
  transform: translateY(-5px);
}

.tm_review_stars { margin-bottom: 14px; }
.tm_review_stars i { color: #f5a524; font-size: 14px; }

.tm_review_text {
  font-size: 14.5px;
  line-height: 1.9;
  color: #544d6c;
  margin-bottom: 22px;
}

.tm_review_author {
  display: flex;
  align-items: center;
  gap: 13px;
  border-top: 1px solid var(--tm-light);
  padding-top: 18px;
}

.tm_review_avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  background: var(--tm-light);
}

.tm_avatar_letter {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--tm-dark);
  color: var(--tm-lime);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 18px;
  flex: 0 0 48px;
}

.tm_review_author h4 {
  font-size: 15.5px;
  margin: 0 0 2px;
  color: var(--tm-dark);
}

.tm_review_author span {
  font-size: 12.5px;
  color: var(--tm-muted);
}

/* QR / Google review box */
.tm_qr_box {
  background: var(--tm-dark);
  border-radius: 20px;
  padding: 32px;
  color: #fff;
  text-align: center;
}

.tm_qr_box img {
  width: 190px;
  height: 190px;
  background: #fff;
  border-radius: 14px;
  padding: 10px;
  margin-bottom: 20px;
}

.tm_qr_box h3 { color: #fff; font-size: 20px; margin-bottom: 10px; }
.tm_qr_box p { color: #a79fc0; font-size: 14px; line-height: 1.8; }

/* ------------------------------------------------------------------ */
/* COUNTERS / WHY CHOOSE                                               */
/* ------------------------------------------------------------------ */
.tm_counter_box {
  text-align: center;
  padding: 26px 16px;
  border-right: 1px solid rgba(255, 255, 255, .12);
}

.tm_counter_box:last-child { border-right: 0; }

.tm_counter_num {
  font-size: 44px;
  font-weight: 700;
  color: var(--tm-lime);
  line-height: 1;
  margin-bottom: 8px;
}

.tm_counter_label {
  font-size: 14px;
  color: #a8bcbd;
}

@media (max-width: 767px) {
  .tm_counter_box { border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, .12); }
  .tm_counter_num { font-size: 34px; }
}

.tm_why_card {
  background: #fff;
  border: 1px solid var(--tm-light);
  border-radius: 18px;
  padding: 30px 26px;
  height: 100%;
  transition: all .3s ease;
}

.tm_why_card:hover {
  border-color: var(--tm-lime);
  transform: translateY(-6px);
  box-shadow: 0 18px 44px rgba(36, 24, 68, .09);
}

.tm_why_icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: var(--tm-light);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
}

.tm_why_icon img { width: 28px; height: 28px; }

.tm_why_card h3 { font-size: 18px; margin-bottom: 9px; }
.tm_why_card p { font-size: 14.5px; line-height: 1.8; margin: 0; }

/* ------------------------------------------------------------------ */
/* SMALL UTILITIES                                                     */
/* ------------------------------------------------------------------ */
.tm_page_content { font-size: 15.5px; line-height: 1.95; }
.tm_page_content h3 { margin: 30px 0 12px; font-size: 21px; }
.tm_page_content ul { padding-left: 20px; }
.tm_page_content li { margin-bottom: 9px; }

.tm_empty_state {
  text-align: center;
  padding: 60px 20px;
  color: var(--tm-muted);
}

.tm_empty_state i { font-size: 46px; margin-bottom: 16px; opacity: .35; }

/* =====================================================================
   REVIEW BLOCK ADDITIONS (marquee + grid)
   ===================================================================== */
.tm_author_letter {
  width: 100%;
  height: 100%;
  min-width: 50px;
  min-height: 50px;
  border-radius: 50%;
  background: var(--tm-dark);
  color: var(--tm-lime);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 19px;
}

.review_block_4 .authorbox_block {
  position: relative;
  align-items: center;
}

.review_block_4 .author_image {
  overflow: hidden;
  border-radius: 50%;
}

.tm_slide_stars {
  margin-left: auto;
  white-space: nowrap;
  padding-left: 8px;
}

.tm_slide_stars i {
  color: #f5a524;
  font-size: 11px;
}

.review_block_4 .review_comment {
  margin-bottom: 0;
}

.review_updown_style .swiper {
  height: 520px;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 12%, #000 88%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, #000 12%, #000 88%, transparent 100%);
}

@media (max-width: 767px) {
  .review_updown_style .swiper { height: 400px; }
}

/* =====================================================================
   NEED HELP / CONTACT STRIP  —  premium redesign
   ===================================================================== */
.tm_help_section {
  position: relative;
  padding: 100px 0;
  overflow: hidden;
}

.tm_help_panel {
  background: linear-gradient(135deg, #241844 0%, #023f41 55%, #241844 100%);
  border-radius: 30px;
  padding: 56px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 34px 90px rgba(36, 24, 68, .28);
}

.tm_help_panel::before {
  content: "";
  position: absolute;
  top: -180px;
  left: -120px;
  width: 460px;
  height: 460px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245, 165, 36, .18) 0%, transparent 68%);
  pointer-events: none;
}

.tm_help_panel::after {
  content: "";
  position: absolute;
  bottom: -220px;
  right: -140px;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  border: 1px solid rgba(245, 165, 36, .12);
  pointer-events: none;
}

.tm_help_panel > * { position: relative; z-index: 2; }

.tm_help_badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(245, 165, 36, .12);
  border: 1px solid rgba(245, 165, 36, .3);
  color: var(--tm-lime);
  border-radius: 40px;
  padding: 7px 17px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  margin-bottom: 18px;
}

.tm_help_title {
  color: #fff;
  font-size: 38px;
  line-height: 1.22;
  margin-bottom: 14px;
}

.tm_help_title span { color: var(--tm-lime); }

.tm_help_text {
  color: #ada4c6;
  font-size: 15.5px;
  line-height: 1.9;
  margin-bottom: 34px;
  max-width: 520px;
}

.tm_help_tiles { display: grid; gap: 14px; }

.tm_help_tile {
  display: flex;
  align-items: center;
  gap: 16px;
  background: rgba(255, 255, 255, .05);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 16px;
  padding: 17px 20px;
  text-decoration: none;
  transition: all .3s ease;
}

.tm_help_tile:hover {
  background: rgba(245, 165, 36, .1);
  border-color: rgba(245, 165, 36, .45);
  transform: translateX(6px);
}

.tm_help_tile_icon {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  border-radius: 14px;
  background: var(--tm-lime);
  color: var(--tm-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  transition: transform .3s ease;
}

.tm_help_tile:hover .tm_help_tile_icon { transform: scale(1.08) rotate(-6deg); }

.tm_help_tile_body { min-width: 0; }

.tm_help_tile_body small {
  display: block;
  font-size: 11.5px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #8a82a3;
  margin-bottom: 3px;
}

.tm_help_tile_body strong {
  display: block;
  color: #fff;
  font-size: 15.5px;
  font-weight: 600;
  word-break: break-word;
}

.tm_help_tile_arrow {
  margin-left: auto;
  color: var(--tm-lime);
  font-size: 13px;
  opacity: 0;
  transform: translateX(-6px);
  transition: all .3s ease;
}

.tm_help_tile:hover .tm_help_tile_arrow { opacity: 1; transform: translateX(0); }

.tm_help_trust {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 32px;
  padding-top: 26px;
  border-top: 1px solid rgba(255, 255, 255, .1);
}

.tm_help_trust_item {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 13.5px;
  color: #ada4c6;
}

.tm_help_trust_item i { color: var(--tm-lime); font-size: 14px; }

@media (max-width: 991px) {
  .tm_help_section { padding: 60px 0; }
  .tm_help_panel { padding: 32px 22px; border-radius: 22px; }
  .tm_help_title { font-size: 27px; }
}

/* =====================================================================
   FORM CARD  —  upgraded (accent bar, icon inputs)
   ===================================================================== */
.tm_form_card {
  position: relative;
  overflow: hidden;
}

.tm_form_card.tm_form_accent { padding-top: 0; border-top: 0; }

.tm_form_head {
  margin: 0 -36px 26px;
  padding: 26px 36px 22px;
  background: linear-gradient(135deg, #241844 0%, #033c3e 100%);
  position: relative;
  overflow: hidden;
}

.tm_form_head::after {
  content: "";
  position: absolute;
  top: -60px;
  right: -50px;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245, 165, 36, .18) 0%, transparent 70%);
}

.tm_form_head_inner { position: relative; z-index: 2; }

.tm_form_head h2 {
  color: #fff;
  font-size: 22px;
  margin: 0 0 6px;
  line-height: 1.3;
}

.tm_form_head p {
  color: #a79fc0;
  font-size: 13.5px;
  margin: 0;
  line-height: 1.7;
}

.tm_form_head_tag {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: var(--tm-lime);
  color: var(--tm-dark);
  border-radius: 30px;
  padding: 5px 14px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .8px;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.tm_input_wrap { position: relative; }

.tm_input_wrap .tm_input_icon {
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  color: #a79fc0;
  font-size: 14px;
  pointer-events: none;
  transition: color .25s ease;
}

.tm_input_wrap .form-control { padding-left: 42px; }

.tm_input_wrap:focus-within .tm_input_icon { color: var(--tm-dark); }

.tm_form_card .form-control::placeholder { color: #a79fc0; }

.tm_service_locked {
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(245, 165, 36, .16);
  border: 1px dashed rgba(36, 24, 68, .25);
  border-radius: 12px;
  padding: 13px 16px;
}

.tm_service_locked i { color: var(--tm-dark); font-size: 15px; }

.tm_service_locked span {
  font-size: 14.5px;
  font-weight: 700;
  color: var(--tm-dark);
}

.tm_form_trust {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--tm-light);
}

.tm_form_trust span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #7f9496;
}

.tm_form_trust i { color: #2e9e6b; font-size: 12px; }

@media (max-width: 991px) {
  .tm_form_head { margin: 0 -26px 22px; padding: 22px 26px 20px; }
  .tm_form_head h2 { font-size: 19px; }
}

/* =====================================================================
   SERVICE DETAIL PAGE  —  upgraded
   ===================================================================== */
.tm_svc_hero {
  position: relative;
  padding: 110px 0 90px;
  background: linear-gradient(135deg, #241844 0%, #023f41 60%, #241844 100%);
  overflow: hidden;
}

.tm_svc_hero::before {
  content: "";
  position: absolute;
  top: -160px;
  right: -100px;
  width: 480px;
  height: 480px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245, 165, 36, .15) 0%, transparent 68%);
}

.tm_svc_hero > .container { position: relative; z-index: 2; }

.tm_svc_crumbs {
  display: flex;
  gap: 8px;
  align-items: center;
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
  font-size: 13.5px;
  flex-wrap: wrap;
}

.tm_svc_crumbs a { color: #a79fc0; text-decoration: none; transition: color .25s ease; }
.tm_svc_crumbs a:hover { color: var(--tm-lime); }
.tm_svc_crumbs li.sep { color: #4e6a6b; }
.tm_svc_crumbs li.current { color: var(--tm-lime); font-weight: 600; }

.tm_svc_hero_top {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 18px;
}

.tm_svc_hero_icon {
  width: 74px;
  height: 74px;
  flex: 0 0 74px;
  border-radius: 20px;
  background: var(--tm-lime);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 12px 34px rgba(245, 165, 36, .28);
}

.tm_svc_hero_icon img { width: 36px; height: 36px; object-fit: contain; }

.tm_svc_title {
  color: #fff;
  font-size: 42px;
  line-height: 1.15;
  margin: 0;
}

.tm_svc_lead {
  color: #ada4c6;
  font-size: 16.5px;
  line-height: 1.85;
  max-width: 660px;
  margin-bottom: 30px;
}

.tm_svc_stats {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.tm_svc_stat {
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 15px;
  padding: 15px 22px;
  min-width: 160px;
  transition: all .3s ease;
}

.tm_svc_stat:hover {
  background: rgba(245, 165, 36, .1);
  border-color: rgba(245, 165, 36, .4);
  transform: translateY(-4px);
}

.tm_svc_stat small {
  display: block;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1.1px;
  color: #8a82a3;
  margin-bottom: 5px;
}

.tm_svc_stat strong { color: var(--tm-lime); font-size: 17px; font-weight: 700; }

@media (max-width: 991px) {
  .tm_svc_hero { padding: 70px 0 56px; }
  .tm_svc_title { font-size: 28px; }
  .tm_svc_hero_icon { width: 56px; height: 56px; flex: 0 0 56px; border-radius: 16px; }
  .tm_svc_hero_icon img { width: 27px; height: 27px; }
  .tm_svc_stat { min-width: 140px; padding: 12px 16px; }
}

/* --- Content blocks --- */
.tm_svc_block {
  background: #fff;
  border: 1px solid var(--tm-light);
  border-radius: 22px;
  padding: 34px;
  margin-bottom: 24px;
  box-shadow: 0 4px 22px rgba(36, 24, 68, .05);
}

.tm_svc_block_head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 22px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--tm-light);
}

.tm_svc_block_icon {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  border-radius: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
}

.tm_svc_block_head h3 {
  margin: 0;
  font-size: 21px;
  color: var(--tm-dark);
}

.tm_ico_lime  { background: rgba(245, 165, 36, .35); color: #a2700f; }
.tm_ico_teal  { background: rgba(36, 24, 68, .09);    color: #241844; }
.tm_ico_blue  { background: rgba(81, 69, 196, .12); color: #5145c4; }
.tm_ico_amber { background: rgba(245, 165, 36, .16);  color: #b0761a; }

.tm_feature_grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
}

@media (max-width: 767px) { .tm_feature_grid { grid-template-columns: 1fr; } }

.tm_feature_item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: #F8F5FD;
  border: 1px solid var(--tm-light);
  border-radius: 13px;
  padding: 15px 17px;
  font-size: 14.5px;
  line-height: 1.65;
  color: #4e4766;
  transition: all .28s ease;
}

.tm_feature_item:hover {
  background: #fff;
  border-color: var(--tm-lime);
  transform: translateY(-3px);
  box-shadow: 0 10px 26px rgba(36, 24, 68, .07);
}

.tm_feature_item i {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--tm-lime);
  color: var(--tm-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  margin-top: 2px;
}

.tm_doc_item i { background: rgba(81, 69, 196, .16); color: #5145c4; }
.tm_elig_item i { background: rgba(245, 165, 36, .22); color: #b0761a; }

.tm_svc_image {
  border-radius: 20px;
  width: 100%;
  margin-bottom: 24px;
  box-shadow: 0 18px 46px rgba(36, 24, 68, .12);
}

.tm_other_svc_link {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 12px 15px;
  border: 1px solid var(--tm-light);
  border-radius: 13px;
  color: var(--tm-dark);
  text-decoration: none;
  font-size: 14.5px;
  font-weight: 500;
  transition: all .28s ease;
  margin-bottom: 10px;
}

.tm_other_svc_link img { width: 24px; height: 24px; object-fit: contain; }

.tm_other_svc_link i {
  margin-left: auto;
  font-size: 12px;
  color: #a79fc0;
  transition: all .28s ease;
}

.tm_other_svc_link:hover {
  background: #F8F5FD;
  border-color: var(--tm-lime);
  color: var(--tm-dark);
  transform: translateX(4px);
}

.tm_other_svc_link:hover i { color: var(--tm-dark); transform: translateX(3px); }

.tm_help_card {
  background: var(--tm-dark);
  border-radius: 20px;
  padding: 28px;
  color: #fff;
  text-align: center;
  margin-top: 24px;
}

.tm_help_card h3 { color: #fff; font-size: 18px; margin: 0 0 8px; }
.tm_help_card p { color: #a79fc0; font-size: 13.5px; line-height: 1.75; margin-bottom: 18px; }

/* =====================================================================
   FORMS  —  compact heights (kam scroll, better density)
   ===================================================================== */
.tm_form_card { padding: 28px; }

.tm_form_head { margin: -28px -28px 22px; padding: 22px 28px 20px; }
.tm_form_head h2 { font-size: 20px; }
.tm_form_head p  { font-size: 13px; }
.tm_form_head_tag { padding: 4px 12px; font-size: 11px; margin-bottom: 10px; }

.tm_form_row { --bs-gutter-x: 14px; }

.tm_field { margin-bottom: 14px; }
.tm_field:last-child { margin-bottom: 0; }

.tm_form_card .form-label {
  font-size: 12.5px;
  font-weight: 600;
  margin-bottom: 5px;
  letter-spacing: .1px;
}

.tm_form_card .form-control,
.tm_form_card .form-select {
  height: 46px;
  border-radius: 10px;
  font-size: 14px;
  padding: 0 14px;
}

.tm_input_wrap .form-control,
.tm_input_wrap .form-select { padding-left: 40px; }

.tm_input_wrap .tm_input_icon { left: 14px; font-size: 13px; }

.tm_form_card textarea.form-control {
  height: auto;
  min-height: 86px;
  padding: 11px 14px;
  line-height: 1.65;
}

.tm_form_card .form-control:focus,
.tm_form_card .form-select:focus { box-shadow: 0 0 0 3px rgba(245, 165, 36, .38); }

.tm_service_locked { padding: 11px 14px; border-radius: 10px; }
.tm_service_locked span { font-size: 14px; }

.tm_submit_btn {
  padding: 13px 28px;
  font-size: 14.5px;
  border-radius: 10px;
  margin-top: 4px;
}

.tm_form_trust {
  gap: 14px;
  margin-top: 14px;
  padding-top: 13px;
}

.tm_form_trust span { font-size: 11.5px; }

@media (max-width: 991px) {
  .tm_form_card { padding: 22px; }
  .tm_form_head { margin: -22px -22px 20px; padding: 20px 22px 18px; }
  .tm_form_head h2 { font-size: 18px; }
}

/* Feedback page ka form bhi compact */
.tm_form_card .tm_rating_input label { font-size: 26px; }

/* =====================================================================
   CLIENT FEEDBACK CARDS  —  proper gap + shadow
   ===================================================================== */
.review_updown_style .swiper-slide {
  height: auto !important;
  padding: 9px 9px;
  box-sizing: border-box;
}

.review_block_4 {
  padding: 26px 24px 24px;
  border-radius: 16px;
  border: 1px solid #ECE5F7;
  box-shadow: 0 6px 22px rgba(36, 24, 68, .07);
  transition: box-shadow .3s ease, transform .3s ease, border-color .3s ease;
  height: 100%;
}

.review_block_4:hover {
  box-shadow: 0 16px 40px rgba(36, 24, 68, .13);
  border-color: rgba(245, 165, 36, .8);
  transform: translateY(-4px);
}

.review_block_4 .authorbox_block {
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid #F1ECF9;
  gap: 12px;
}

.review_block_4 .author_image {
  width: 46px;
  height: 46px;
  min-width: 46px;
  flex: 0 0 46px;
}

.review_block_4 .author_image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.review_block_4 .author_name {
  font-size: 15.5px;
  margin-bottom: 2px;
  line-height: 1.3;
}

.review_block_4 .author_designation {
  font-size: 12px;
  color: #8a82a3;
  line-height: 1.4;
}

.review_block_4 .review_comment {
  font-size: 14.5px;
  font-weight: 400;
  line-height: 1.8;
  color: #544D6C;
  letter-spacing: 0;
}

/* marquee columns ke beech thoda gap */
.review_updown_style > div { padding: 0 4px !important; }

@media (max-width: 575px) {
  .review_block_4 { padding: 20px 18px; }
  .review_updown_style .swiper-slide { padding: 7px 5px; }
}

/* =====================================================================
   FORM  —  tighter still (service page sidebar was too tall)
   ===================================================================== */
.tm_form_card { padding: 22px; }
.tm_form_head { margin: -22px -22px 18px; padding: 18px 22px 16px; }
.tm_form_head h2 { font-size: 18.5px; line-height: 1.3; }
.tm_form_head p  { font-size: 12.5px; line-height: 1.6; }
.tm_form_head_tag { padding: 3px 11px; font-size: 10.5px; margin-bottom: 9px; }

.tm_form_row { --bs-gutter-x: 12px; }
.tm_field { margin-bottom: 11px; }

.tm_form_card .form-label { font-size: 12px; margin-bottom: 4px; }

.tm_form_card .form-control,
.tm_form_card .form-select { height: 42px; font-size: 13.5px; border-radius: 9px; padding: 0 13px; }

.tm_input_wrap .form-control,
.tm_input_wrap .form-select { padding-left: 37px; }
.tm_input_wrap .tm_input_icon { left: 13px; font-size: 12.5px; }

.tm_form_card textarea.form-control { min-height: 74px; padding: 9px 13px; font-size: 13.5px; }

.tm_service_locked { padding: 9px 13px; border-radius: 9px; margin-bottom: 11px !important; }
.tm_service_locked i { font-size: 13px; }
.tm_service_locked span { font-size: 13.5px; }

.tm_submit_btn { padding: 12px 24px; font-size: 14px; border-radius: 9px; margin-top: 3px; }

.tm_form_trust { gap: 12px; margin-top: 12px; padding-top: 11px; }
.tm_form_trust span { font-size: 11px; }
.tm_form_trust i { font-size: 11px; }

/* Homepage / contact page forms can breathe a little more */
.tm_help_panel .tm_form_card,
.contact_section .tm_form_card { padding: 26px; }
.tm_help_panel .tm_form_head,
.contact_section .tm_form_head { margin: -26px -26px 20px; padding: 20px 26px 18px; }
.tm_help_panel .tm_field,
.contact_section .tm_field { margin-bottom: 13px; }
.tm_help_panel .form-control,
.tm_help_panel .form-select,
.contact_section .form-control,
.contact_section .form-select { height: 45px; }

@media (max-width: 991px) {
  .tm_form_card,
  .tm_help_panel .tm_form_card,
  .contact_section .tm_form_card { padding: 20px; }
  .tm_form_head,
  .tm_help_panel .tm_form_head,
  .contact_section .tm_form_head { margin: -20px -20px 17px; padding: 17px 20px 15px; }
}

/* Sidebar cards on service page - tighter */
.tm_help_card { padding: 22px; border-radius: 16px; margin-top: 16px; }
.tm_help_card h3 { font-size: 16.5px; }
.tm_help_card p { font-size: 13px; margin-bottom: 14px; }
.tm_help_card .tm_btn_lime,
.tm_help_card .tm_btn_ghost { padding: 11px 18px; font-size: 13.5px; }

.tm_sticky_form .tm_svc_block { padding: 22px !important; border-radius: 16px; }
.tm_other_svc_link { padding: 10px 13px; font-size: 13.5px; margin-bottom: 8px; }

/* =====================================================================
   POLISH  —  small touches across the site
   ===================================================================== */

/* Section badges */
.badge.bg-ins-subtle,
.badge.bg-primary-subtle {
  letter-spacing: 1.1px;
  font-size: 11.5px;
  font-weight: 700;
  padding: 7px 16px;
  border: 1px solid rgba(36, 24, 68, .08);
}

/* Heading underline accent */
.heading_block.style_2.text-center .heading_text {
  position: relative;
  display: inline-block;
  padding-bottom: 14px;
}

.heading_block.style_2.text-center .heading_text::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 54px;
  height: 3px;
  border-radius: 3px;
  background: var(--tm-lime);
}

/* Buttons: subtle lift */
.btn.bg-dark,
.btn.bg-primary {
  transition: transform .28s ease, box-shadow .28s ease;
}

.btn.bg-dark:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(36, 24, 68, .22); }
.btn.bg-primary:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(245, 165, 36, .4); }

/* Service card: accent top line on hover */
.tm_service_card::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  height: 3px;
  width: 0;
  background: var(--tm-lime);
  transition: width .4s ease;
  z-index: 3;
}

.tm_service_card:hover::before { width: 100%; }

.tm_service_card:hover h3 a { color: var(--tm-dark); }

.tm_chip {
  border: 1px solid rgba(36, 24, 68, .07);
  transition: all .25s ease;
}

.tm_service_card:hover .tm_chip {
  background: rgba(245, 165, 36, .3);
  border-color: rgba(245, 165, 36, .6);
}

/* Why-choose cards: number-free, cleaner hover */
.tm_why_card { position: relative; overflow: hidden; }

.tm_why_card::after {
  content: "";
  position: absolute;
  inset: auto -30px -50px auto;
  width: 120px; height: 120px;
  border-radius: 50%;
  background: rgba(245, 165, 36, .13);
  transform: scale(0);
  transition: transform .45s ease;
}

.tm_why_card:hover::after { transform: scale(1); }
.tm_why_card > * { position: relative; z-index: 2; }
.tm_why_card:hover .tm_why_icon { background: var(--tm-lime); }
.tm_why_icon { transition: background .35s ease; }

/* Counters section: subtle divider glow */
.tm_counter_box { transition: transform .3s ease; }
.tm_counter_box:hover { transform: translateY(-5px); }

/* EMI section spacing on inner pages */
.tm_emi_section { padding-top: 90px; padding-bottom: 90px; }
@media (max-width: 991px) { .tm_emi_section { padding-top: 55px; padding-bottom: 55px; } }

/* Info table hover */
.tm_info_table tbody tr:hover td,
.tm_info_table tr:hover th { background: #FFFBF2; }

/* Accordion polish */
.accordion.style_2 .accordion-item {
  border-radius: 14px !important;
  overflow: hidden;
  margin-bottom: 12px;
  border: 1px solid var(--tm-light);
  transition: box-shadow .3s ease, border-color .3s ease;
}

.accordion.style_2 .accordion-item:hover { border-color: rgba(245, 165, 36, .8); }

.accordion.style_2 .accordion-button:not(.collapsed) {
  background: #FFFBF2;
  color: var(--tm-dark);
}

/* Page header title */
.page_header .page_title { letter-spacing: -.5px; }

/* Smooth image loading */
img { max-width: 100%; height: auto; }

/* Selection colour */
::selection { background: var(--tm-lime); color: var(--tm-dark); }

/* Nicer scrollbar on desktop */
@media (min-width: 992px) {
  ::-webkit-scrollbar { width: 10px; }
  ::-webkit-scrollbar-track { background: #F1ECF9; }
  ::-webkit-scrollbar-thumb { background: #BDB4D4; border-radius: 8px; border: 2px solid #F1ECF9; }
  ::-webkit-scrollbar-thumb:hover { background: var(--tm-dark); }
}

/* =====================================================================
   BRAND PALETTE  —  derived from the Tridev Mahashakti logo
   ---------------------------------------------------------------------
   The logo runs a saturated arc: yellow -> amber -> orange -> red ->
   rose -> plum -> violet -> blue. Those raw values are far too loud for
   large surfaces, so the system uses a deep indigo-plum base with a
   saffron accent, and keeps the full gradient for small details only.
   ===================================================================== */
:root {
  /* Dark family (from the violet / blue end of the logo) */
  --brand-ink:        #1B1236;
  --brand-dark:       #241844;
  --brand-dark-2:     #322259;
  --brand-dark-3:     #3A2866;

  /* Warm accents (from the yellow / orange arc) */
  --brand-amber:      #F5A524;
  --brand-amber-soft: #FFC15E;
  --brand-gold:       #FFD76A;
  --brand-orange:     #F2762E;

  /* Cool accents (from the red / rose / violet arc) */
  --brand-rose:       #E04E6B;
  --brand-violet:     #6D4AE0;

  /* Neutrals */
  --brand-light:      #F5F1FB;
  --brand-surface:    #FFFFFF;
  --brand-border:     #E7E0F2;
  --brand-body:       #544D6C;
  --brand-muted:      #8A82A3;

  /* The signature logo sweep — decorative use only */
  --brand-gradient: linear-gradient(135deg,
      #FFD76A 0%, #F5A524 18%, #F2762E 36%,
      #E8434A 54%, #D9457A 70%, #8B4BC9 86%, #5645C9 100%);
  --brand-gradient-soft: linear-gradient(135deg,
      rgba(245,165,36,.16) 0%, rgba(224,78,107,.14) 50%, rgba(109,74,224,.16) 100%);

  /* keep the older aliases working */
  --tm-dark:  var(--brand-dark);
  --tm-lime:  var(--brand-amber);
  --tm-light: #EFE9F8;
  --tm-muted: var(--brand-muted);
}

/* ------------------------------------------------------------------ */
/* Logo sizing — the mark is circular, so cap its height                */
/* ------------------------------------------------------------------ */
.site_logo .site_link { max-width: none; }

.site_logo .site_link img {
  max-height: 58px;
  width: auto;
  display: inline-block;
}

.tm_footer_brand img { max-height: 76px; width: auto; }

@media (max-width: 991px) {
  .site_logo .site_link img { max-height: 46px; }
}

/* ------------------------------------------------------------------ */
/* Gradient accents — used sparingly so the brand reads premium         */
/* ------------------------------------------------------------------ */

/* thin signature bar */
.brand_bar,
.tm_footer::before {
  content: "";
  display: block;
  height: 4px;
  width: 100%;
  background: var(--brand-gradient);
}

.tm_footer::before {
  position: absolute;
  top: 0; left: 0;
  border-radius: 34px 34px 0 0;
  z-index: 3;
}

/* section heading underline picks up the sweep */
.heading_block.style_2.text-center .heading_text::after {
  background: var(--brand-gradient);
  width: 62px;
  height: 4px;
}

/* badges */
.badge.bg-ins-subtle,
.badge.bg-primary-subtle {
  background: var(--brand-gradient-soft) !important;
  border: 1px solid rgba(109, 74, 224, .16);
  color: var(--brand-dark) !important;
}

/* primary buttons keep a warm, solid fill (accessible), gradient on hover */
.btn.bg-primary {
  background: var(--brand-amber) !important;
  color: var(--brand-dark) !important;
}

.btn.bg-primary:hover {
  background: var(--brand-amber-soft) !important;
  color: var(--brand-dark) !important;
  box-shadow: 0 12px 28px rgba(245, 165, 36, .38);
}

.btn.bg-dark:hover {
  box-shadow: 0 12px 28px rgba(36, 24, 68, .28);
}

/* ------------------------------------------------------------------ */
/* Dark surfaces get depth instead of a flat fill                       */
/* ------------------------------------------------------------------ */
.hero_section.bg-dark,
.tm_footer {
  background: linear-gradient(165deg, #241844 0%, #1B1236 55%, #2A1B4E 100%);
}

.tm_footer_glow {
  background: radial-gradient(ellipse, rgba(245, 165, 36, .10) 0%, transparent 70%);
}

.tm_emi_wrap {
  background: linear-gradient(150deg, #2A1B4E 0%, #241844 55%, #1B1236 100%);
}

.tm_emi_wrap::before {
  background: radial-gradient(circle, rgba(245, 165, 36, .16) 0%, transparent 70%);
}

.tm_help_panel {
  background: linear-gradient(135deg, #241844 0%, #3A2866 55%, #241844 100%);
}

.tm_help_panel::before {
  background: radial-gradient(circle, rgba(245, 165, 36, .18) 0%, transparent 68%);
}

.tm_svc_hero {
  background: linear-gradient(135deg, #241844 0%, #3A2866 60%, #241844 100%);
}

.tm_svc_hero::before {
  background: radial-gradient(circle, rgba(245, 165, 36, .15) 0%, transparent 68%);
}

.tm_form_head {
  background: linear-gradient(135deg, #241844 0%, #3A2866 100%);
}

.tm_form_head::after {
  background: radial-gradient(circle, rgba(245, 165, 36, .18) 0%, transparent 70%);
}

/* CTA strip: warm sweep, dark text stays readable */
.tm_cta_card {
  background: linear-gradient(120deg, #FFD76A 0%, #F5A524 55%, #F2762E 100%);
}

.tm_cta_card .tm_cta_title,
.tm_cta_card .tm_cta_badge { color: #2A1B0A; }
.tm_cta_card .tm_cta_text  { color: rgba(42, 27, 10, .78); }
.tm_cta_badge { background: rgba(42, 27, 10, .12); }

.tm_btn_ghost {
  border-color: rgba(42, 27, 10, .32);
  color: #2A1B0A;
}

.tm_btn_ghost:hover {
  background: rgba(42, 27, 10, .1);
  color: #2A1B0A;
}

/* ------------------------------------------------------------------ */
/* Service / why cards — rotate accent tints instead of one flat colour */
/* ------------------------------------------------------------------ */
.tm_service_card::before { background: var(--brand-gradient); }

.tm_service_card:hover .tm_service_icon { background: var(--brand-amber); }
.tm_why_card:hover .tm_why_icon         { background: var(--brand-amber); }

.tm_service_card::after { background: rgba(245, 165, 36, .12); }
.tm_why_card::after     { background: rgba(109, 74, 224, .10); }

.tm_service_card:hover .tm_chip {
  background: rgba(245, 165, 36, .18);
  border-color: rgba(245, 165, 36, .45);
}

.tm_service_card:hover {
  box-shadow: 0 24px 55px rgba(36, 24, 68, .14);
}

/* accent chips inside the service detail page */
.tm_ico_lime  { background: rgba(245, 165, 36, .18); color: #A2700F; }
.tm_ico_teal  { background: rgba(36, 24, 68, .09);   color: #241844; }
.tm_ico_blue  { background: rgba(109, 74, 224, .13); color: #5145C4; }
.tm_ico_amber { background: rgba(224, 78, 107, .13); color: #C93850; }

.tm_feature_item i      { background: var(--brand-amber); color: #2A1B0A; }
.tm_doc_item i          { background: rgba(109, 74, 224, .16); color: #5145C4; }
.tm_elig_item i         { background: rgba(224, 78, 107, .16); color: #C93850; }

.tm_feature_item:hover  { border-color: rgba(245, 165, 36, .55); }

/* ------------------------------------------------------------------ */
/* Reviews / stars                                                      */
/* ------------------------------------------------------------------ */
.tm_stars i,
.tm_slide_stars i,
.tm_review_stars i,
.rating_block .rating_icons { color: var(--brand-amber); }

.review_block_4:hover { border-color: rgba(245, 165, 36, .7); }

.tm_author_letter,
.tm_avatar_letter {
  background: var(--brand-gradient);
  color: #FFFFFF;
}

/* ------------------------------------------------------------------ */
/* Forms & misc                                                         */
/* ------------------------------------------------------------------ */
.tm_form_card .form-control:focus,
.tm_form_card .form-select:focus {
  border-color: var(--brand-violet);
  box-shadow: 0 0 0 3px rgba(109, 74, 224, .18);
}

.tm_service_locked {
  background: rgba(245, 165, 36, .14);
  border-color: rgba(245, 165, 36, .5);
}

.tm_rating_input input:checked ~ label,
.tm_rating_input label:hover,
.tm_rating_input label:hover ~ label { color: var(--brand-amber); }

.tm_footer_links a:hover,
.tm_footer_contact a:hover,
.tm_footer_policy a:hover { color: var(--brand-amber-soft); }

.tm_social a:hover {
  background: var(--brand-amber);
  border-color: var(--brand-amber);
  color: var(--brand-dark);
}

.tm_ct_icon {
  background: rgba(245, 165, 36, .14);
  color: var(--brand-amber-soft);
}

.tm_footer_review_btn {
  border-color: rgba(245, 165, 36, .45);
  color: var(--brand-amber-soft);
}

.tm_footer_review_btn:hover {
  background: var(--brand-amber);
  color: var(--brand-dark);
}

.tm_help_tile_icon { background: var(--brand-amber); color: #2A1B0A; }
.tm_help_tile:hover {
  background: rgba(245, 165, 36, .1);
  border-color: rgba(245, 165, 36, .42);
}
.tm_help_trust_item i,
.tm_help_tile_arrow,
.tm_help_badge { color: var(--brand-amber); }
.tm_help_badge {
  background: rgba(245, 165, 36, .12);
  border-color: rgba(245, 165, 36, .3);
}
.tm_help_title span { color: var(--brand-amber); }

.tm_svc_hero_icon {
  background: var(--brand-amber);
  box-shadow: 0 12px 34px rgba(245, 165, 36, .3);
}

.tm_svc_stat strong,
.tm_svc_crumbs li.current { color: var(--brand-amber); }

.tm_svc_stat:hover {
  background: rgba(245, 165, 36, .1);
  border-color: rgba(245, 165, 36, .4);
}

.tm_emi_result {
  background: linear-gradient(160deg, rgba(245, 165, 36, .12), rgba(255, 255, 255, .04));
  border-color: rgba(245, 165, 36, .22);
}

.tm_emi_amount,
.tm_value_pill,
.tm_value_pill input { color: var(--brand-amber); }

.tm_value_pill {
  background: rgba(245, 165, 36, .12);
  border-color: rgba(245, 165, 36, .34);
}

.tm_dot_principal { background: var(--brand-amber); }
.tm_dot_interest  { background: #6E6394; }

.tm_range::-webkit-slider-thumb {
  background: var(--brand-amber);
  border-color: var(--brand-dark);
  box-shadow: 0 0 0 2px var(--brand-amber);
}

.tm_range::-moz-range-thumb {
  background: var(--brand-amber);
  border-color: var(--brand-dark);
  box-shadow: 0 0 0 2px var(--brand-amber);
}

.main_menu_list .dropdown-menu li a:hover {
  background: rgba(245, 165, 36, .14);
  border-left-color: var(--brand-amber);
}

.accordion.style_2 .accordion-item:hover { border-color: rgba(245, 165, 36, .7); }
.accordion.style_2 .accordion-button:not(.collapsed) { background: #FFFBF2; }

.tm_info_table tbody tr:hover td,
.tm_info_table tr:hover th { background: #FFFBF2; }

.tm_qr_box { background: linear-gradient(150deg, #241844, #1B1236); }

::selection { background: var(--brand-amber); color: var(--brand-dark); }

@media (min-width: 992px) {
  ::-webkit-scrollbar-track { background: #EFE9F8; }
  ::-webkit-scrollbar-thumb { background: #BDB4D4; border-color: #EFE9F8; }
  ::-webkit-scrollbar-thumb:hover { background: var(--brand-dark); }
}

/* =====================================================================
   GOOGLE REVIEWS
   ===================================================================== */
.tm_google_rating {
  text-decoration: none;
  transition: transform .28s ease;
}

a.tm_google_rating:hover { transform: translateY(-3px); }

.tm_google_mark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #FFFFFF;
  border: 1px solid var(--brand-border);
  box-shadow: 0 4px 14px rgba(36, 24, 68, .08);
}

.tm_combined_rating {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 22px 0 0;
  padding: 11px 18px;
  border-radius: 40px;
  background: rgba(245, 165, 36, .12);
  border: 1px solid rgba(245, 165, 36, .3);
  font-size: 14px;
  color: var(--brand-dark);
  line-height: 1.5;
}

.tm_combined_rating i { color: var(--brand-amber); }
.tm_combined_rating strong { font-weight: 500; }

/* Google tag on a review card */
.review_block_4 { position: relative; }

.tm_google_tag {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #FFFFFF;
  border: 1px solid var(--brand-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: #4285F4;
  z-index: 2;
}

.review_block_4.is_google { border-color: rgba(66, 133, 244, .28); }
.review_block_4.is_google:hover { border-color: rgba(66, 133, 244, .6); }

/* Split rating card on the feedback page */
.tm_rating_split {
  display: flex;
  align-items: stretch;
  gap: 14px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--brand-border);
}

.tm_rating_split > div:not(.tm_rating_split_sep) { flex: 1; }

.tm_rating_split strong {
  display: block;
  font-size: 20px;
  color: var(--brand-dark);
  font-weight: 500;
  line-height: 1.2;
}

.tm_rating_split span {
  display: block;
  font-size: 12px;
  color: var(--brand-muted);
  line-height: 1.5;
  margin-top: 4px;
}

.tm_rating_split_sep {
  flex: 0 0 1px;
  background: var(--brand-border);
}

/* Google strip on the feedback page */
.tm_google_strip {
  background: #FFFFFF;
  border: 1px solid var(--brand-border);
  border-radius: 20px;
  padding: 28px;
  margin-bottom: 10px;
  box-shadow: 0 4px 22px rgba(36, 24, 68, .05);
}

.tm_google_strip_head {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--brand-border);
}

.tm_google_strip_mark {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  border-radius: 13px;
  background: #F5F1FB;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tm_google_strip_head h3 {
  margin: 0;
  font-size: 19px;
  color: var(--brand-dark);
}

.tm_google_strip_head p {
  margin: 3px 0 0;
  font-size: 13.5px;
  color: var(--brand-muted);
}

.tm_google_strip_btn {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border-radius: 10px;
  border: 1px solid var(--brand-border);
  color: var(--brand-dark);
  font-size: 13.5px;
  font-weight: 500;
  transition: all .28s ease;
}

.tm_google_strip_btn:hover {
  background: var(--brand-dark);
  border-color: var(--brand-dark);
  color: var(--brand-amber);
}

@media (max-width: 767px) {
  .tm_google_strip { padding: 20px; }
  .tm_google_strip_btn { margin-left: 0; width: 100%; justify-content: center; }
}

/* =====================================================================
   ABOUT PAGE TABS
   ===================================================================== */
.tm_about_tabs {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}

.tm_tab_nav {
  display: flex;
  flex-direction: column;
  gap: 8px;
  position: sticky;
  top: 110px;
}

.tm_tab_btn {
  display: flex;
  align-items: center;
  gap: 13px;
  width: 100%;
  text-align: left;
  padding: 15px 18px;
  border-radius: 14px;
  border: 1px solid var(--brand-border);
  background: #FFFFFF;
  color: var(--brand-body);
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
  transition: all .28s ease;
}

.tm_tab_btn i {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 10px;
  background: #F5F1FB;
  color: var(--brand-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  transition: all .28s ease;
}

.tm_tab_btn:hover {
  border-color: rgba(245, 165, 36, .55);
  transform: translateX(3px);
}

.tm_tab_btn.active {
  background: var(--brand-dark);
  border-color: var(--brand-dark);
  color: #FFFFFF;
  box-shadow: 0 12px 30px rgba(36, 24, 68, .18);
}

.tm_tab_btn.active i {
  background: var(--brand-amber);
  color: #2A1B0A;
}

.tm_tab_panels {
  background: #FFFFFF;
  border: 1px solid var(--brand-border);
  border-radius: 20px;
  padding: 34px;
  box-shadow: 0 4px 22px rgba(36, 24, 68, .05);
  min-height: 320px;
}

.tm_tab_panel { display: none; }

.tm_tab_panel.active {
  display: block;
  animation: tmTabIn .32s ease;
}

@keyframes tmTabIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: none; }
}

.tm_tab_panel_head {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--brand-border);
}

.tm_tab_panel_icon {
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  border-radius: 15px;
  background: var(--brand-amber);
  color: #2A1B0A;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 19px;
}

.tm_tab_panel_head h3 {
  margin: 0;
  font-size: 24px;
  color: var(--brand-dark);
  line-height: 1.3;
}

.tm_tab_panel_head p {
  margin: 4px 0 0;
  font-size: 14px;
  color: var(--brand-muted);
}

.tm_tab_panel_body {
  font-size: 15.5px;
  line-height: 1.95;
  color: var(--brand-body);
}

.tm_tab_panel_body > *:first-child { margin-top: 0; }
.tm_tab_panel_body > *:last-child  { margin-bottom: 0; }

.tm_tab_panel_body h3,
.tm_tab_panel_body h4 {
  font-size: 19px;
  color: var(--brand-dark);
  margin: 26px 0 12px;
}

.tm_tab_panel_body p { margin-bottom: 16px; }

.tm_tab_panel_body ul,
.tm_tab_panel_body ol {
  padding-left: 22px;
  margin-bottom: 16px;
}

.tm_tab_panel_body li { margin-bottom: 10px; }

.tm_tab_panel_body ul { list-style: none; padding-left: 0; }

.tm_tab_panel_body ul li {
  position: relative;
  padding-left: 30px;
}

.tm_tab_panel_body ul li::before {
  content: "\f00c";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 3px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(245, 165, 36, .18);
  color: #A2700F;
  font-size: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tm_tab_panel_body ol { counter-reset: tmstep; list-style: none; padding-left: 0; }

.tm_tab_panel_body ol li {
  position: relative;
  padding-left: 38px;
  counter-increment: tmstep;
}

.tm_tab_panel_body ol li::before {
  content: counter(tmstep);
  position: absolute;
  left: 0;
  top: 1px;
  width: 26px;
  height: 26px;
  border-radius: 8px;
  background: var(--brand-dark);
  color: var(--brand-amber);
  font-size: 12.5px;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tm_tab_panel_body strong { color: var(--brand-dark); font-weight: 500; }

.tm_tab_panel_body blockquote {
  margin: 20px 0;
  padding: 16px 20px;
  border-left: 3px solid var(--brand-amber);
  background: #FBF8F2;
  border-radius: 0 12px 12px 0;
  font-size: 15px;
}

/* Fallback prose card when no tabs exist */
.tm_about_prose {
  background: #FFFFFF;
  border: 1px solid var(--brand-border);
  border-radius: 20px;
  padding: 34px;
  box-shadow: 0 4px 22px rgba(36, 24, 68, .05);
}

@media (max-width: 991px) {
  .tm_about_tabs { grid-template-columns: 1fr; gap: 18px; }

  .tm_tab_nav {
    position: static;
    flex-direction: row;
    overflow-x: auto;
    gap: 8px;
    padding-bottom: 4px;
    -webkit-overflow-scrolling: touch;
  }

  .tm_tab_btn {
    width: auto;
    flex: 0 0 auto;
    padding: 11px 16px;
    font-size: 14px;
    white-space: nowrap;
  }

  .tm_tab_btn i { width: 28px; height: 28px; flex: 0 0 28px; font-size: 12.5px; }
  .tm_tab_btn:hover { transform: none; }
  .tm_tab_panels { padding: 24px 20px; }
  .tm_tab_panel_head { gap: 13px; margin-bottom: 20px; padding-bottom: 16px; }
  .tm_tab_panel_icon { width: 44px; height: 44px; flex: 0 0 44px; font-size: 16px; }
  .tm_tab_panel_head h3 { font-size: 20px; }
}
