@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;500;600;700;800;900&family=Quicksand:wght@400;500;600;700&display=swap');

:root {
  --white: #ffffff;
  --bg-white: #ffffff;
  --topbar-bg: #04709b;
  --topbar-txt-color: #000000;
  --header-bg: #ffffff;
  --header-txt-color: #000000;
  --tts-buttton-bg: #ff6700;
  --tts-buttton-bg1: #04709b;
  --tts-buttton-txt: #ffffff;
  --tts-buttton-txt1: #ffffff;
  --footer-Bg: #04709b;
}

.light-background {
  background-color:
    color-mix(in srgb, var(--tts-buttton-bg1), transparent 92%);
}

body {
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  font-weight: 400;
  overflow-x: hidden;
  background: rgba(255, 255, 255, .05);
}

a {
  color: var(--tts-buttton-bg);
  text-decoration: none;
  transition: 0.3s;
}

a:hover {
  color: color-mix(in srgb, #363435, transparent 25%);
  text-decoration: none;
}

section,
.section {
  padding: 60px 0;
  overflow: clip;
}

@media (max-width: 1199px) {

  section,
  .section {
    scroll-margin-top: 66px;
  }
}

.section-title {
  text-align: center;
  padding-bottom: 60px;
  position: relative;
  width: 700px;
  margin: auto;
}

.section-title h2 {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 20px;
  position: relative;
}

.section-title p {
  margin-bottom: 0;
}

.hide {
  display: none;
}

/*================================*/

/* input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  -webkit-text-fill-color: inherit;
  box-shadow: none;
  transition: background-color 5000s ease-in-out 0s;
} */

input[type="text"] {
  font-family: inherit;
}

/*header*/
.login-navbar {
  background-color: var(--tts-buttton-bg);
}

.login-navbar .navbar-brand img {
  width: 10rem;
  transition: transform 300ms ease;
  border-radius: 10px;
}

.login-navbar .navbar-toggler {
  border: none;
  background: none;
  outline: none;
}

.login-navbar .navbar-toggler i {
  font-size: 24px;
  color: #000000;
  transition: transform 300ms ease;
}

.login-navbar .navbar-toggler:hover i {
  transform: rotate(90deg);
}

.login-navbar .collapse {
  text-align: right;
}

.login-navbar .navbar-nav {
  gap: 16px;
}

z .login-navbar .navbar-nav .nav-item {
  position: relative;
}

.login-navbar .navbar-nav .nav-link {
  color: #ffffff;
  font-size: 1.35rem;
  font-weight: 500;
  transition: background-color 300ms ease, transform 300ms ease;
  padding: 9.6px 19.2px;
}

.login-navbar .navbar-nav .nav-link:focus,
.login-navbar .navbar-nav .nav-link.active {
  background-color: rgba(255, 255, 255, 0.3);
}

.login-navbar .navbar-nav .agent_btn .nav-link {
  background: var(--tts-buttton-bg1);
  color: var(--tts-buttton-txt1);
  padding: 9.6px 19.2px;
  border-radius: 5px;
}

.login-navbar .navbar-nav .agent_btn .nav-link:hover {
  background: var(--tts-buttton-bg);
  color: var(--tts-buttton-txt);
}

@media (max-width: 991px) {
  .login-navbar .navbar-brand img {
    height: 50px;
  }

  .login-navbar .collapse {
    background: linear-gradient(90deg, #ffffff, #ffffff);
    padding: 16px;
  }

  .login-navbar .navbar-nav {
    flex-direction: column;
    align-items: flex-start;
  }

  .login-navbar .navbar-nav .nav-link {
    padding: 8px;
    margin: 4.8px 0;
    text-align: left;
  }
}



/*New Login */
.login-page {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 70px 0px 70px 0px;
  /* background: linear-gradient(180deg, #f5fcff, #ffcfac); */
}

.login-wrap {
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(10px);
  /* main blur effect */
  -webkit-backdrop-filter: blur(10px);
  /* Safari support */
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  padding: 30px;
}

/* Banner Image & Carousel */
.login-page .banner_img {
  overflow: hidden;
  background-size: cover;
  background-position: center;
}

.login-page .carousel-inner img {
  height: 100%;
  border-radius: 20px;
  object-fit: cover;
}

.login-page .carousel-inner .carousel-content {
  margin-top: 20px;
  color: #000;
}

.login-page .carousel-inner .carousel-content h2 {
  margin-bottom: 15px;
}

.login-page .carousel-inner .carousel-content .agent-slider-btn {
  background: #ffffff;
  font-weight: 500;
  border: none;
  color: var(--tts-buttton-bg);
  padding: 10px 20px;
  border-radius: 5px;
  transition: background 0.3s ease;
  display: inline-block;
}

.login-page .carousel-inner .carousel-content .agent-slider-btn:hover {
  background-color: var(--tts-buttton-bg);
  color: var(--tts-buttton-txt);
}

/* Form Styling */
.login-page .login-top h3 {
  color: #000000;
  margin-bottom: 0px;
  font-weight: bold;
}

.login-page .login-top p {
  margin-bottom: 30px;
  color: #777;
}

.password-toggle-icon {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  cursor: pointer;
}

/* Buttons */
.login-page .btn-primary {
  background: var(--tts-buttton-bg);
  border: none;
  color: var(--tts-buttton-txt);
  padding: 10px 20px;
  border-radius: 5px;
  transition: background 0.3s ease;
}

.login-page .btn-primary:hover {
  background: var(--tts-buttton-bg1);
}

.login-btn-fill {
  font-weight: bold;
  text-transform: uppercase;
  cursor: pointer;
}

.forgot_passwd,
.forgotpasswd {
  color: var(--tts-buttton-bg);
  font-size: 14px;
  text-decoration: none;
}

.forgot_passwd:hover,
.forgotpasswd:hover {
  text-decoration: underline;
}

/* Error Message */
.error-message {
  color: #e74c3c;
  font-size: 12px;
  margin-top: 5px;
}

/* OTP Section */
.card-body {
  background: #fff;
  border-radius: 5px;
  padding: 20px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

/* Responsive Design */
@media screen and (max-width: 600px) {

  .login-wrapper,
  .login-wrap {
    padding: 20px;
  }

  .form-floating input {
    padding: 8px;
  }

  .login-page .btn-primary {
    padding: 8px 16px;
  }
}





/* =========================================================
   FOOTER CTA
========================================================= */

.footer-call-to {
  position: relative;
  z-index: 2;
  margin-bottom: -55px;
}

.footer-call-to .footer-cta {
  padding: 28px 30px;
  color: var(--tts-buttton-txt);
  background: var(--tts-buttton-bg);
  border-radius: 15px;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.10);
}

.footer-call-to .footer-cta h2,
.footer-call-to .footer-cta h3 {
  margin: 0 0 7px;
  color: inherit;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

.footer-call-to .footer-cta h2 {
  font-size: 20px;
}

.footer-call-to .footer-cta p {
  margin: 0;
  color: inherit;
  font-size: 14px;
  line-height: 1.5;
}

.footer-call-to .footer-cta a {
  color: inherit;
  text-decoration: none;
  overflow-wrap: anywhere;
  transition: opacity 0.25s ease;
}

.footer-call-to .footer-cta a:hover {
  opacity: 0.8;
}


/* =========================================================
   MAIN FOOTER
========================================================= */

.login-footer {
  position: relative;
  padding-top: 95px;
  color: #323232;
  background: #fcfcfc;
  border-top:1px solid #e5e7eb;
}

.login-footer .footer-content {
  padding-bottom: 30px;
}

.login-footer .footer-logo {
  display: inline-flex;
  align-items: center;
  max-width: 180px;
  margin-bottom: 15px;
  text-decoration: none;
}

.login-footer .footer-logo img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 70px;
  object-fit: contain;
}

.login-footer .footer-company p {
  /* max-width: 260px; */
  margin: 0;
  color: #000000;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.6;
}

.login-footer .footer-menu {
  height: 100%;
}

.login-footer .footer-menu>h2 {
  margin: 0 0 17px;
  color: #111827;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.4;
}

.login-footer .footer-links {
  margin: 0;
  padding: 0;
  list-style: none;
}

.login-footer .footer-links li {
  margin: 0 0 9px;
}

.login-footer .footer-links li:last-child {
  margin-bottom: 0;
}

.login-footer .footer-links a {
  display: inline-block;
  color: #4b5563;
  font-size: 14px;
  line-height: 1.5;
  text-decoration: none;
  transition:
    color 0.25s ease,
    transform 0.25s ease;
}

.login-footer .footer-links a:hover {
  color: var(--tts-buttton-bg);
  transform: translateX(3px);
}

.login-footer .footer-contact {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.login-footer .contact-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
}

.login-footer .contact-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  color: #14213d;
  background: #f1f5f9;
  border: 1px solid rgba(20, 33, 61, 0.08);
  border-radius: 8px;
  font-size: 14px;
  line-height: 1;
  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    border-color 0.25s ease,
    transform 0.25s ease;
}

.login-footer .contact-item:hover .contact-icon {
  color: var(--tts-buttton-txt);
  background: var(--tts-buttton-bg);
  border-color: var(--tts-buttton-bg);
  transform: translateY(-2px);
}

.login-footer .contact-content {
  min-width: 0;
  flex: 1;
}

.login-footer .contact-content>span {
  display: block;
  margin-bottom: 3px;
  color: #9ca3af;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.6px;
  line-height: 1.3;
  text-transform: uppercase;
}

.login-footer .contact-content a,
.login-footer .contact-content address {
  display: block;
  margin: 0;
  color: #4b5563;
  font-size: 14px;
  font-style: normal;
  line-height: 1.55;
  text-decoration: none;
  overflow-wrap: anywhere;
  word-break: break-word;
  transition: color 0.25s ease;
}

.login-footer .contact-content a:hover {
  color: var(--tts-buttton-bg);
}

.login-footer .copyright {
  margin-top: 25px !important;
  padding: 20px 0 0;
  border-top: 1px solid #e5e7eb;
}

.login-footer .copyright>* {
  margin: 0;
}

.login-footer .rights__content,
.login-footer .footer-powered {
  color: #9ca3af;
  font-size: 13px;
  line-height: 1.5;
}

.login-footer .footer-powered {
  color: #6b7280;
}

.login-footer .social-icons {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.login-footer .social-icons li {
  margin: 0;
  padding: 0;
}

.login-footer .social-icons a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  color: #111827;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 50%;
  font-size: 16px;
  line-height: 1;
  text-decoration: none;
  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    border-color 0.25s ease,
    transform 0.25s ease;
}

.login-footer .social-icons a:hover {
  color: var(--tts-buttton-txt);
  background: var(--tts-buttton-bg);
  border-color: var(--tts-buttton-bg);
  transform: translateY(-3px);
}

.login-footer a:focus-visible,
.footer-call-to a:focus-visible {
  outline: 2px solid var(--tts-buttton-bg);
  outline-offset: 3px;
}

@media (max-width: 1199.98px) {

  .login-footer .footer-company {
    width: 24%;
    max-width: 24%;
  }

  .footer-call-to .footer-cta {
    padding: 26px;
  }

  .login-footer .footer-menu>h2 {
    font-size: 16px;
  }

}

@media (max-width: 991.98px) {

  .footer-call-to {
    margin-bottom: -48px;
  }

  .footer-call-to .footer-cta {
    padding: 24px;
    border-radius: 13px;
  }

  .footer-call-to .footer-cta h2 {
    font-size: 19px;
  }

  .login-footer {
    padding-top: 85px;
  }

  .login-footer .footer-company {
    width: 50%;
    max-width: 50%;
  }

  .login-footer .footer-logo {
    max-width: 160px;
  }

  .login-footer .copyright {
    flex-wrap: wrap;
  }

}

@media (max-width: 767.98px) {

  .footer-call-to {
    margin-bottom: -42px;
  }

  .footer-call-to .footer-cta {
    padding: 22px;
    border-radius: 12px;
  }

  .footer-call-to .footer-cta h2 {
    font-size: 21px;
  }

  .footer-call-to .footer-cta h3 {
    font-size: 15px;
  }

  .footer-call-to .footer-cta p {
    font-size: 13px;
  }

  .login-footer {
    padding-top: 75px;
  }

  .login-footer .footer-company {
    width: 100%;
    max-width: 100%;
  }

  .login-footer .footer-company p {
    max-width: 100%;
  }

  .login-footer .footer-menu>h2 {
    margin-bottom: 12px;
    font-size: 16px;
  }

  .login-footer .footer-links li {
    margin-bottom: 7px;
  }

  .login-footer .footer-links a {
    font-size: 13px;
  }

  .login-footer .footer-contact {
    gap: 12px;
  }

  .login-footer .contact-item {
    gap: 10px;
  }

  .login-footer .contact-icon {
    flex-basis: 36px;
    width: 36px;
    height: 36px;
    font-size: 13px;
  }

  .login-footer .contact-content a,
  .login-footer .contact-content address {
    font-size: 13px;
  }

  .login-footer .copyright {
    justify-content: center;
    margin-top: 20px !important;
    padding-top: 18px;
    text-align: center;
  }

  .login-footer .social-icons {
    justify-content: center;
    width: 100%;
  }

  .login-footer .rights__content,
  .login-footer .footer-powered {
    width: 100%;
    font-size: 12px;
  }

}

@media (max-width: 480px) {

  .footer-call-to .footer-cta {
    padding: 19px;
  }

  .footer-call-to .footer-cta h2 {
    font-size: 19px;
  }

  .footer-call-to .footer-cta h3 {
    font-size: 14px;
  }

  .login-footer {
    padding-top: 68px;
  }

  .login-footer .footer-logo {
    max-width: 145px;
  }

  .login-footer .social-icons {
    gap: 7px;
  }

  .login-footer .social-icons a {
    width: 36px;
    height: 36px;
    font-size: 15px;
  }

  .login-footer .copyright {
    gap: 10px;
  }

}

@media (prefers-reduced-motion: reduce) {

  .login-footer *,
  .footer-call-to * {
    transition: none !important;
    animation: none !important;
  }

}

/*--------------------------------------------------------------
# Pricing Section
--------------------------------------------------------------*/

.pricing .nav-tabs {
  border: 0px;
  background-color: color-mix(in srgb, #212529, transparent 96%);
  border: 1px solid var(--tts-buttton-bg1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50px;
  width: auto;
}

.pricing .nav-item {
  margin: 0px;
  padding: 0px 5px 0px 0px;
}

.pricing .nav-item:last-child {
  padding-right: 0px;
}

.pricing .nav-link {
  color: #2d465e;
  padding: 10px 30px;
  transition: 0.3s;
  border-radius: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  height: 100%;
  border: 0px;
  margin: 0px;
  text-transform: uppercase;
}

@media (max-width: 468px) {
  .pricing .nav-link {
    padding: 8px 20px;
  }
}

.pricing .nav-link i {
  padding-right: 15px;
  font-size: 48px;
}

.pricing .nav-link h4 {
  font-size: 14px;
  font-weight: 500;
  margin: 0px;
}

.pricing .nav-link:hover {
  border-color: color-mix(in srgb, #212529, transparent 80%);
}

.pricing .nav-link:hover h4 {
  color: var(--tts-buttton-bg1);
}

.pricing .nav-link.active {
  background-color: var(--tts-buttton-bg1);
  border-color: var(--tts-buttton-bg1);
}

.pricing .nav-link.active h4 {
  color: #ffffff;
}

.pricing .tab-content {
  margin-top: 50px;
}

.pricing .pricing-card {
  height: 100%;
  padding: 3rem 2rem;
  background: #ffffff;
  border-radius: 15px;
  transition: all 0.3s ease;
  position: relative;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.pricing .pricing-card:hover {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.pricing .pricing-card.popular {
  background: var(--tts-buttton-bg);
  color: #ffffff;
}

.pricing .pricing-card.popular h3,
.pricing .pricing-card.popular h4 {
  color: #ffffff;
}

.pricing .pricing-card.popular .price .currency,
.pricing .pricing-card.popular .price .amount,
.pricing .pricing-card.popular .price .period {
  color: #ffffff;
}

.pricing .pricing-card.popular .features-list li {
  color: #ffffff;
}

.pricing .pricing-card.popular .features-list li i.fa-check,
.pricing .pricing-card.popular .features-list li i.fa-x {
  color: #ffffff;
}

.pricing .pricing-card.popular .btn-light {
  background: #ffffff;
  color: var(--tts-buttton-bg);
}

.pricing .pricing-card.popular .btn-light:hover {
  background: color-mix(in srgb, #ffffff, transparent 10%);
}

.pricing .pricing-card .popular-badge {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: #ffffff;
  color: var(--tts-buttton-bg);
  padding: 0.5rem 15px;
  border-radius: 2rem;
  font-size: 0.875rem;
  font-weight: 600;
  box-shadow: 0px -2px 10px rgba(0, 0, 0, 0.08);
}

.pricing .pricing-card h3 {
  font-size: 1.5rem;
  margin-bottom: 15px;
}

.pricing .pricing-card .price .currency {
  font-size: 1.5rem;
  font-weight: 600;
  vertical-align: top;
  line-height: 1;
}

.pricing .pricing-card .price .amount {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1;
}

.pricing .pricing-card .price .period {
  font-size: 15px;
  color: color-mix(in srgb, #212529, transparent 40%);
}

.pricing .pricing-card .description {
  margin-bottom: 0;
}

.pricing .pricing-card h4 {
  font-size: 1.125rem;
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid #dedede;
}

.pricing .pricing-card .features-list {
  list-style: none;
  padding: 0;
  margin: 0 0 0rem 0;
}

.pricing .pricing-card .features-list li {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
}

.pricing .pricing-card .features-list li:last-child {
  margin-bottom: 0;
}

.pricing .pricing-card .features-list li i {

  margin-right: 0.75rem;
  font-size: 14px;
}

.pricing .pricing-card .features-list li i.fa-check {
  color: green;
}

.pricing .pricing-card .features-list li i.fa-x {
  color: rgb(255, 0, 0);
}

.pricing .pricing-card .btn {
  width: 100%;
  margin: 20px 0;
  padding: 0.75rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-weight: 500;
}

.pricing .pricing-card .btn.btn-primary {
  background: var(--tts-buttton-bg);
  border: none;
  color: #ffffff;
}

.pricing .pricing-card .btn.btn-primary:hover {
  background: color-mix(in srgb, var(--tts-buttton-bg), transparent 15%);
}

/*about*/
.about .about-meta {
  color: var(--tts-buttton-bg);
  font-weight: 600;
  margin-bottom: 16px;
  display: inline-block;
}

.about .about-title {
  font-size: 32px;
  margin-bottom: 16px;
  line-height: 1.2;
  font-weight: 700;

}

@media (max-width: 992px) {
  .about .about-title {
    font-size: 32px;
  }
}

.about .about-description {
  margin-bottom: 32px;
  color: color-mix(in srgb, #212529, transparent 20%);
}

.about .feature-list-wrapper {
  margin-bottom: 32px;
}

.about .feature-list {
  list-style: none;
  padding: 0px;
  margin: 0px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}

.about .feature-list li {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 500;
}

.about .feature-list li i {
  color: var(--tts-buttton-bg);
  background-color:
    color-mix(in srgb, var(--tts-buttton-bg), transparent 92%);
  font-size: 16px;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50px;
  transition: 0.3s;
}

.about .image-wrapper {
  position: relative;
}

.about .image-wrapper .small-image {
  position: absolute;
  top: 20%;
  left: -10%;
  width: 45%;
  border: 8px solid #ffffff;
}

.info-wrapper a.btn {
  margin: 0px 0 20px 0;
  padding: 0.75rem 1.5rem;
  font-weight: 500;
  background: var(--tts-buttton-bg);
  border: none;
  color: var(--tts-buttton-txt);
  border-radius: 5px;
}

.info-wrapper a.btn:hover {
  background: var(--tts-buttton-bg1);
  color: var(--tts-buttton-txt1);
}

/*advantage*/

.advantage-section .container {
  padding: 3rem;
  border-radius: 15px;
  height: 100%;
  background-color:
    color-mix(in srgb, var(--tts-buttton-bg), transparent 92%);
}

.advantage-section .advantage-list {
  padding: 0;
  margin: 0;
}

.advantage-section .advantage-list li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 15px;
  padding: 15px;
  border-radius: 10px;
  height: 100%;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  background-color: #ffffff;
}

.advantage-section .advantage-list li:last-child {
  margin-bottom: 0;
}

.advantage-section .advantage-list i {
  color: var(--tts-buttton-bg);
  background-color:
    color-mix(in srgb, var(--tts-buttton-bg), transparent 92%);
  font-size: 16px;
  margin-right: 15px;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50px;
  transition: 0.3s;
}

.advantage-section .advantage-list p {
  margin: 0;
}

/* Image Section */
.advantage-section .image-section {
  height: 100%;
}

.advantage-section .image-section img {
  max-width: 100%;
  height: auto;
  border-radius: 0.5rem;
}

/* CTA Buttons */
.advantage-section .cta-btn {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  background: var(--tts-buttton-bg1);
  color: var(--tts-buttton-txt1);
  font-weight: 500;
  text-decoration: none;
  border-radius: 0.25rem;
  transition: background 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
  text-align: center;
}

.advantage-section .cta-btn:hover {
  background: var(--tts-buttton-bg);
  color: var(--tts-buttton-txt);
}

/* Join Network Section */
.advantage-section .join-network {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 20px;
}

.advantage-section .join-network p {
  margin-bottom: 0;
  font-weight: 500;
}


/*services slider*/
.services-slider .owl-carousel .owl-stage-outer {
  padding: 10px 0;
}

.services-slider .owl-carousel .card {
  position: relative;
  border: none;
  border-radius: 15px;
  overflow: hidden;
  transition: all 0.3s ease;
}

.services-slider .owl-carousel .card img {
  width: 100%;
  object-fit: cover;
  height: 220px;
}

.services-slider .owl-carousel .card-body {
  padding: 15px;
  text-align: center;
  background-color: #fff;
}

.services-slider .owl-carousel .card-title {
  font-size: 1rem;
  font-weight: 500;
  color: #333;
  margin-bottom: 0px;
}

.services-slider .owl-carousel .card:hover .card-body {
  transform: translateY(0);
}

@media (max-width: 768px) {
  .services-slider .owl-carousel .card {
    margin: 10px 0;
  }
}

@media (max-width: 480px) {
  .services-slider .owl-carousel .card img {
    height: 150px;
  }

  .services-slider .owl-carousel .card-title {
    font-size: 0.875rem;
  }
}

.services-slider .owl-nav {
  display: flex;
  justify-content: center;
  padding-top: 20px;
}

.services-slider .owl-carousel .owl-nav button.owl-prev,
.services-slider .owl-carousel .owl-nav button.owl-next {
  background: var(--tts-buttton-bg1);
  color: var(--tts-buttton-txt1);
  border: none;
  outline: none;
  cursor: pointer;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
  margin: 5px;
}

.services-slider .owl-carousel .owl-nav button.owl-prev:hover,
.services-slider .owl-carousel .owl-nav button.owl-next:hover {
  background-color: var(--tts-buttton-bg);
  color: var(--tts-buttton-txt);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
}

.services-slider .owl-carousel .owl-nav button.owl-prev i,
.services-slider .owl-carousel .owl-nav button.owl-next i {
  font-size: 18px;
  color: #ffffff;
}

/*--------------------------------------------------------------
# Faq Section
--------------------------------------------------------------*/
.faq .section-title {
  padding-bottom: 20px;
}

.faq .faq-container .faq-item {
  position: relative;
  padding: 20px;
  margin-bottom: 15px;
  border: 1px solid color-mix(in srgb, #3d4348, transparent 85%);
  border-radius: 15px;
  overflow: hidden;
}

.faq .faq-container .faq-item:last-child {
  margin-bottom: 0;
}

.faq .faq-container .faq-item h3 {
  font-weight: 500;
  font-size: 18px;
  line-height: 24px;
  margin: 0 30px 0 0;
  transition: 0.3s;
  cursor: pointer;
  display: flex;
  align-items: center;
}

.faq .faq-container .faq-item h3 .num {
  color: var(--tts-buttton-bg);
  padding-right: 5px;
}

.faq .faq-container .faq-item h3:hover {
  color: var(--tts-buttton-bg);
}

.faq .faq-container .faq-item .faq-content {
  display: grid;
  grid-template-rows: 0fr;
  transition: 0.3s ease-in-out;
  visibility: hidden;
  opacity: 0;
}

.faq .faq-container .faq-item .faq-content p {
  margin-bottom: 0;
  overflow: hidden;
}

.faq .faq-container .faq-item .faq-toggle {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 16px;
  transition: 0.3s;
  cursor: pointer;
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  text-align: center;
  color: var(--tts-buttton-bg);
  background-color:
    color-mix(in srgb, var(--tts-buttton-bg), transparent 92%);
  line-height: 30px;
}

.faq .faq-container .faq-item .faq-toggle:hover {
  color: var(--tts-buttton-bg);
}

.faq .faq-container .faq-active {
  background-color: color-mix(in srgb, #ffffff, transparent 0%);
  border-color: color-mix(in srgb, var(--tts-buttton-bg), transparent 80%);
}

.faq .faq-container .faq-active h3 {
  color: var(--tts-buttton-bg);
}

.faq .faq-container .faq-active .faq-content {
  grid-template-rows: 1fr;
  visibility: visible;
  opacity: 1;
  padding-top: 10px;
}

.faq .faq-container .faq-active .faq-toggle {
  transform: rotate(90deg);
  color: var(--tts-buttton-bg);
}


/*--------------------------------------------------------------
# Testimonials Section
--------------------------------------------------------------*/
.testimonials .testimonial-item {
  background-color:
    color-mix(in srgb, var(--tts-buttton-bg), transparent 92%);
  box-sizing: content-box;
  padding: 50px;
  display: flex;
  flex-direction: column;
  text-align: center;
  transition: 0.3s;
  border-radius: 15px;
}

.testimonials .testimonial-item .stars {
  margin-bottom: 15px;
}

.testimonials .testimonial-item .stars i {
  color: var(--tts-buttton-bg);
  margin: 0 1px;
  font-size: 35px;
}

.testimonials .testimonial-item .testimonial-img {
  width: 90px;
  border-radius: 50%;
  border: 4px solid #ffffff;
  margin: 0 auto;
}

.testimonials .testimonial-item h3 {
  font-size: 18px;
  font-weight: bold;
  margin: 10px 0 5px 0;
}

.testimonials .testimonial-item h4 {
  font-size: 14px;
  color: color-mix(in srgb, #3d4348, transparent 40%);
  margin: 0;
}

.testimonials .testimonial-item p {
  margin: 0 auto 15px auto;
}




/*register page*/
.registration-page {
  padding: 70px 0;
  background: #f7faff;
}
/* ===== EASYFLYS PREMIUM OTP SECTION (login) — added 2026-09-25 ===== */
.login-page #cardds {
  margin-top: 8px;
  padding: 22px 20px 20px;
  background: #ffffff;
  border: 1px solid #eef0f4;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(16, 24, 40, 0.08);
}
.login-page #cardds #otpId { position: relative; margin-bottom: 4px; }
.login-page #cardds #otpId > label[for="otp"] {
  display: block; position: static; transform: none; height: auto;
  margin: 0 0 8px 2px; padding: 0;
  font-size: 12px; font-weight: 700 !important; letter-spacing: .12em;
  text-transform: uppercase; color: #6b7280;
}
.login-page #cardds input.form-control[name="OTP"] {
  height: 58px; width: 100%;
  border: 1.5px solid #e3e7ee; border-radius: 12px; background: #f9fafb;
  font-size: 22px; font-weight: 600; letter-spacing: .5em; text-indent: .5em;
  text-align: center; color: #111827;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.login-page #cardds input.form-control[name="OTP"]::placeholder { letter-spacing: normal; }
.login-page #cardds input.form-control[name="OTP"]:focus {
  outline: none; background: #ffffff;
  border-color: var(--tts-buttton-bg, #ff6700);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--tts-buttton-bg, #ff6700), transparent 82%);
}
.login-page #cardds .trustable-device-checkbox {
  display: flex; align-items: center; gap: 10px;
  margin: 14px 0 4px; padding: 11px 13px;
  background: #f6f8fb; border: 1px solid #eef0f4; border-radius: 10px;
}
.login-page #cardds .trustable-device-checkbox input#trustable {
  width: 18px; height: 18px; margin: 0; flex: 0 0 auto; cursor: pointer;
  accent-color: var(--tts-buttton-bg, #ff6700);
}
.login-page #cardds .trustable-device-checkbox label {
  margin: 0; font-size: 13.5px; font-weight: 500; color: #374151;
  cursor: pointer; user-select: none;
}
.login-page #cardds .otp-box { margin: 12px 2px 4px; }
.login-page #cardds #otp-message { display: block; font-size: 13px; line-height: 1.5; color: #6b7280; }
.login-page #cardds .verify_otp { margin-top: 16px; display: flex; flex-direction: column; gap: 10px; }
.login-page #cardds .verify_otp .loginbtn {
  width: 100%; border: none; border-radius: 12px; padding: 14px 18px;
  font-size: 15px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
  color: var(--tts-buttton-txt, #ffffff); cursor: pointer;
  background: linear-gradient(135deg, var(--tts-buttton-bg, #ff6700), var(--tts-buttton-bg1, #04709b));
  box-shadow: 0 8px 20px color-mix(in srgb, var(--tts-buttton-bg, #ff6700), transparent 70%);
  transition: transform .15s ease, box-shadow .2s ease, opacity .2s ease;
}
.login-page #cardds .verify_otp .loginbtn:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 26px color-mix(in srgb, var(--tts-buttton-bg, #ff6700), transparent 62%);
}
.login-page #cardds .verify_otp .loginbtn:active { transform: translateY(0); }
.login-page #cardds .verify_otp .loginbtn:disabled {
  opacity: .55; cursor: not-allowed; box-shadow: none; filter: grayscale(15%);
}
.login-page #cardds #resendTimer { margin-top: 4px; font-size: 13px; color: #6b7280; text-align: center; }
.login-page #cardds #resendTimer #secondsLeft { font-weight: 700; color: var(--tts-buttton-bg, #ff6700) !important; }
.login-page #cardds #resend_otp {
  display: inline-block; margin-top: 2px; text-align: center; font-weight: 600;
  color: var(--tts-buttton-bg, #ff6700); text-decoration: none;
}
.login-page #cardds #resend_otp:hover { text-decoration: underline; }
.login-page #cardds .error-message { display: block; margin-top: 6px; font-size: 12.5px; color: #e74c3c; }
/* ===== END PREMIUM OTP SECTION ===== */


/* ===== easyFlys landing header + feature strip + footer (pink theme) ===== */
.ef-landing-header{ --ef-m1:#7c0f46; --ef-m2:#ad155e; --ef-m3:#d81b6a; }
.header.sticky-top{ box-shadow:0 4px 18px rgba(0,0,0,.08); }
.ef-navbar{ background:linear-gradient(90deg,var(--ef-m1) 0%,var(--ef-m2) 50%,var(--ef-m3) 100%); padding:.55rem 0; }
.ef-navbar .ef-brand img{ width:9rem; background:#fff; border-radius:12px; padding:6px 10px; }
.ef-navbar .ef-nav{ gap:.25rem; }
.ef-navbar .ef-nav .nav-link{ color:#fff; font-size:1.05rem; font-weight:600; padding:.5rem 1rem; border-radius:8px; transition:background .25s ease; }
.ef-navbar .ef-nav .nav-link:hover,.ef-navbar .ef-nav .nav-link:focus,.ef-navbar .ef-nav .nav-link.active{ background:rgba(255,255,255,.18); }
.ef-nav-actions{ display:flex; align-items:center; gap:1rem; }
.ef-lang{ color:#fff; font-weight:600; display:inline-flex; align-items:center; gap:.4rem; cursor:pointer; }
.ef-lang .ef-caret{ font-size:.7rem; }
.ef-nav-actions .ef-divider{ width:1px; height:26px; background:rgba(255,255,255,.4); }
.ef-supplier-btn{ display:inline-flex; align-items:center; gap:.5rem; color:#fff; font-weight:600; border:1.5px solid rgba(255,255,255,.75); border-radius:10px; padding:.55rem 1.1rem; transition:all .25s ease; white-space:nowrap; }
.ef-supplier-btn:hover{ background:#fff; color:var(--ef-m3); }
.ef-navbar .ef-toggler{ border:none; }
.ef-navbar .ef-toggler i{ color:#fff; font-size:24px; }
@media (max-width:991px){
  .ef-navbar .collapse{ background:var(--ef-m2); padding:1rem; border-radius:12px; margin-top:.5rem; }
  .ef-navbar .ef-nav{ flex-direction:column; align-items:flex-start; }
  .ef-nav-actions{ flex-direction:column; align-items:flex-start; gap:.75rem; margin-top:.75rem; }
  .ef-nav-actions .ef-divider{ display:none; }
}

.ef-feature-strip{ background:#fff; padding:2rem 0; border-top:1px solid #f0e6ec; }
.ef-feature{ display:flex; align-items:center; gap:1rem; padding:.5rem 1.5rem; }
.ef-feature + .ef-feature{ border-left:1px solid #eee; }
.ef-feature-icon{ flex:0 0 auto; width:52px; height:52px; border-radius:50%; background:#fde4ef; color:#d81b6a; display:flex; align-items:center; justify-content:center; font-size:1.25rem; }
.ef-feature-text h4{ font-size:1rem; font-weight:700; color:#1f2430; margin:0 0 .25rem; }
.ef-feature-text p{ font-size:.85rem; color:#7a8290; margin:0; line-height:1.45; }
@media (max-width:991px){ .ef-feature{ border-left:none !important; } }

.ef-landing-footer{ --ef-accent:#ff4fa3; background-color:#5c0d37; background-size:cover; background-position:center; color:rgba(255,255,255,.82); padding:3rem 0 1.2rem; }
.ef-landing-footer h3{ color:#fff; font-size:15px; font-weight:700; margin-bottom:1rem; }
.ef-foot-brand .ef-foot-logo img{ width:8.5rem; background:#fff; border-radius:12px; padding:6px 10px; margin-bottom:.9rem; display:inline-block; }
.ef-foot-brand p{ font-size:13.5px; line-height:1.6; margin-bottom:1rem; }
.ef-foot-social{ list-style:none; display:flex; gap:.55rem; padding:0; margin:0; flex-wrap:wrap; }
.ef-foot-social a{ width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; font-size:.9rem; transition:transform .2s ease, filter .2s ease; }
.ef-foot-social a:hover{ transform:translateY(-3px); filter:brightness(1.1); }
.ef-foot-social .s-fb{ background:#1877f2; }
.ef-foot-social .s-in{ background:#0a66c2; }
.ef-foot-social .s-ig{ background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fd5949 45%,#d6249f 60%,#285AEB 90%); }
.ef-foot-social .s-yt{ background:#ff0000; }
.ef-foot-social .s-x{ background:#000; }
.ef-foot-col ul{ list-style:none; padding:0; margin:0; }
.ef-foot-col ul li{ margin-bottom:.5rem; }
.ef-foot-col ul li a{ color:rgba(255,255,255,.8); font-size:14px; transition:all .2s ease; }
.ef-foot-col ul li a:hover{ color:var(--ef-accent); padding-left:3px; }
.ef-foot-contact ul li{ display:flex; gap:.6rem; align-items:flex-start; margin-bottom:.75rem; font-size:13.5px; }
.ef-foot-contact ul li i{ color:var(--ef-accent); margin-top:3px; min-width:15px; }
.ef-foot-contact ul li a,.ef-foot-contact ul li span{ color:rgba(255,255,255,.8); }
.ef-foot-contact ul li a:hover{ color:var(--ef-accent); }
.ef-foot-subscribe p{ font-size:13.5px; margin-bottom:.8rem; line-height:1.5; }
.ef-subscribe-input{ display:flex; align-items:stretch; background:#fff; border-radius:8px; overflow:hidden; }
.ef-subscribe-input input{ flex:1 1 auto; border:none; outline:none; padding:.6rem .8rem; font-size:13.5px; color:#333; min-width:0; }
.ef-subscribe-input button{ flex:0 0 auto; border:none; background:linear-gradient(135deg,#d81b6a,#ad155e); color:#fff; width:44px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:filter .2s ease; }
.ef-subscribe-input button:hover{ filter:brightness(1.08); }
.ef-subscribe-input button:disabled{ opacity:.6; cursor:default; }
.ef-subscribe-msg{ font-size:12.5px; margin-top:.5rem; min-height:1em; }
.ef-subscribe-msg.ok{ color:#8affc1; }
.ef-subscribe-msg.err{ color:#ffc1d4; }
.ef-foot-bottom{ border-top:1px solid rgba(255,255,255,.14); margin-top:2.2rem; padding-top:1.1rem; display:flex; flex-wrap:wrap; gap:.4rem; justify-content:space-between; align-items:center; font-size:13px; color:rgba(255,255,255,.72); }
@media (max-width:767px){
  .ef-landing-footer{ text-align:center; }
  .ef-foot-social{ justify-content:center; }
  .ef-foot-bottom{ justify-content:center; text-align:center; }
  .ef-subscribe-input{ max-width:360px; margin:0 auto; }
}

/* ===== easyFlys login hero + card (mockup match) ===== */
.login-page{ background:linear-gradient(135deg,#fdf1f7 0%,#f6f0fb 100%); }
.login-page .ef-hero-img{ border-radius:18px; box-shadow:0 18px 45px rgba(124,15,70,.12); object-fit:cover; }
.login-page #agent-login,.login-page .banner_img{ border-radius:18px; overflow:hidden; }
.login-wrap{ background:#fff !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; border-radius:18px; box-shadow:0 18px 45px rgba(124,15,70,.12); padding:2rem 1.9rem; }
.ef-login-top h2{ font-size:1.9rem; font-weight:800; color:#1f2430; margin-bottom:.35rem; }
.ef-login-top h2 span{ color:#d81b6a; }
.ef-login-top p{ color:#7a8290; font-size:.95rem; margin-bottom:1.4rem; }
.ef-login-row{ display:flex; align-items:center; justify-content:space-between; gap:.5rem; }
.ef-remember{ display:inline-flex; align-items:center; gap:.45rem; font-size:.9rem; color:#5a6270; margin:0; cursor:pointer; }
.ef-remember input{ accent-color:#d81b6a; width:16px; height:16px; }
.ef-login-row .forgot_passwd{ color:#d81b6a; font-weight:600; font-size:.9rem; }
.ef-login-btn.login-btn-fill{ background:linear-gradient(90deg,#d81b6a,#ad155e) !important; border:none !important; color:#fff !important; font-weight:700; letter-spacing:.3px; box-shadow:0 10px 22px rgba(216,27,106,.28); }
.ef-login-btn.login-btn-fill:hover{ filter:brightness(1.05); }
.ef-or{ display:flex; align-items:center; text-align:center; color:#9aa1ad; font-size:.8rem; margin:.4rem 0 1rem; }
.ef-or::before,.ef-or::after{ content:""; flex:1; height:1px; background:#e7e3ec; }
.ef-or span{ padding:0 .8rem; }
.ef-register-btn{ display:flex; align-items:center; justify-content:center; gap:.5rem; width:100%; border:1.5px solid #1f2430; border-radius:10px; padding:.7rem 1rem; color:#1f2430; font-weight:700; transition:all .2s ease; }
.ef-register-btn:hover{ background:#1f2430; color:#fff; }
.ef-create{ text-align:center; font-size:.92rem; color:#5a6270; }
.ef-create a{ color:#d81b6a; font-weight:700; }
@media (max-width:991px){ .login-wrap{ padding:1.6rem 1.2rem; } }

/* ===== full-bleed hero (image 15 layout) ===== */
.login-page{ padding:30px 0 55px !important; }
.ef-hero2-media{ padding-left:0; padding-right:0; }
.ef-hero2-media .ef-hero-img,.ef-hero2-media #agent-login,.ef-hero2-media .banner_img{ border-radius:16px; overflow:hidden; }
.ef-hero2-media .ef-hero-img{ width:100%; height:auto; display:block; }
@media (min-width:992px){
  .ef-hero2{ padding-bottom:140px; }
  .ef-hero2-card{ position:absolute; top:0; right:8px; width:420px; max-width:40%; z-index:3; padding:0; }
  .ef-hero2-card .login-wrap{ box-shadow:0 22px 55px rgba(31,36,48,.18); }
}
@media (max-width:991px){
  .ef-hero2-card{ margin-top:1.4rem; }
}

/* ===== AGENT LOGIN HERO v5 (spec full-bleed redesign) ===== */
.ef-hero{ position:relative; min-height:480px; display:flex; align-items:center; overflow:hidden; background:#fbeef5; }
.ef-hero-bg{ position:absolute; inset:0; z-index:0; }
.ef-hero-bgimg{ width:100%; height:100%; object-fit:cover; object-position:center; }
.ef-hero-overlay{ position:absolute; inset:0; background:linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,.99) 30%, rgba(255,255,255,.72) 43%, rgba(255,255,255,0) 56%); }
.ef-hero-inner{ position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:2rem; padding-top:36px; padding-bottom:36px; }
.ef-hero-left{ max-width:430px; }
.ef-hero-label{ color:#C2185B; text-transform:uppercase; letter-spacing:2px; font-size:14px; font-weight:700; }
.ef-hero-title{ color:#0F1B3D; font-size:52px; line-height:1.05; font-weight:800; margin:.5rem 0 1rem; }
.ef-hero-brand .e1{ color:#8E1457; }
.ef-hero-brand .e2{ background:linear-gradient(90deg,#C2185B,#FF7A3D); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.ef-hero-desc{ color:#555; font-size:16px; line-height:1.6; margin-bottom:1.5rem; max-width:360px; }
.ef-hero-feats{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.3rem 1rem; max-width:390px; }
.ef-feat{ text-align:center; }
.ef-feat-ic{ width:52px; height:52px; border-radius:50%; background:#FCE4EC; color:#C2185B; display:inline-flex; align-items:center; justify-content:center; font-size:1.15rem; margin-bottom:.45rem; }
.ef-feat p{ font-size:13px; font-weight:700; color:#0F1B3D; line-height:1.25; margin:0; }
.ef-hero-card{ width:400px; flex:0 0 400px; }
.ef-hero-card .login-wrap{ background:#fff !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; border-radius:14px; padding:32px; box-shadow:0 10px 40px rgba(0,0,0,.15); }
.ef-hero-card .ef-login-top h2{ font-size:30px; }

@media (max-width:1024px){
  .ef-hero{ min-height:auto; }
  .ef-hero-overlay{ background:linear-gradient(180deg, rgba(255,255,255,.95) 0%, rgba(255,255,255,.88) 50%, rgba(255,255,255,.96) 100%); }
  .ef-hero-inner{ flex-direction:column; align-items:stretch; }
  .ef-hero-left{ max-width:100%; }
  .ef-hero-card{ width:100%; flex:none; max-width:460px; margin:1.6rem auto 0; }
  .ef-hero-feats{ max-width:430px; }
}
@media (max-width:768px){
  .ef-hero-title{ font-size:40px; }
  .ef-feat-ic{ width:46px; height:46px; }
  .ef-hero-card{ max-width:none; margin:1.4rem 16px 0; }
  .ef-hero-card .login-wrap{ padding:22px; }
}
@media (max-width:480px){
  .ef-hero-title{ font-size:34px; }
  .ef-hero-feats{ gap:1rem .5rem; }
  .ef-feat p{ font-size:12px; }
}

/* footer Quick Links show more */
.ef-quicklinks .ef-ql-extra{ display:none; }
.ef-quicklinks.show-all .ef-ql-extra{ display:list-item; }
.ef-ql-toggle{ background:none; border:none; padding:0; margin-top:.45rem; color:#ff4fa3; font-size:13px; font-weight:600; cursor:pointer; display:inline-flex; align-items:center; gap:.35rem; }
.ef-ql-toggle:hover{ filter:brightness(1.12); }
.ef-ql-toggle i{ font-size:.7rem; }

/* ===== v6: input icons, button, remember ===== */
.ef-ic-field{ position:relative; }
.ef-infield-ic{ position:absolute; left:15px; top:50%; transform:translateY(-50%); color:#9aa1ad; font-size:15px; z-index:3; pointer-events:none; }
.ef-hero-card .form-floating.ef-ic-field > .form-control{ padding-left:42px; }
.ef-hero-card .form-floating.ef-ic-field > label{ padding-left:42px; }
.ef-login-btn.login-btn-fill{ text-transform:none !important; }
.ef-remember input{ accent-color:#C2185B; }
.ef-hero-card .form-floating > .form-control{ height:54px; min-height:54px; }

/* ===== v7: hero min-height + footer-peek (desktop) — NORMAL SCROLL, no clipping ===== */
:root{ --header-h:72px; --strip-h:100px; --footer-peek:90px; }
@media (min-width:1024px) and (min-height:650px){
  .header{ min-height:var(--header-h); }
  .ef-navbar{ padding:.35rem 0; }
  .ef-navbar .ef-brand img{ height:56px; width:auto; padding:6px 12px; }
  .ef-hero{ min-height:calc(100vh - var(--header-h) - var(--strip-h) - var(--footer-peek)); height:auto; overflow:visible; }
  .ef-hero-inner{ padding-top:28px; padding-bottom:28px; }
  .ef-feature-strip{ padding:clamp(10px,1.8vh,16px) 0; }
  .ef-landing-footer{ padding:clamp(12px,2vh,18px) 0 0; }
  .ef-foot-bottom{ margin-top:clamp(8px,1.4vh,12px); padding:clamp(7px,1.2vh,10px) 0; }

  .ef-hero-label{ font-size:13px; margin-bottom:6px; }
  .ef-hero-title{ font-size:clamp(30px,5vh,52px); margin:.2rem 0 .5rem; }
  .ef-hero-desc{ font-size:15px; line-height:1.45; margin:8px 0 14px; }
  .ef-hero-feats{ gap:clamp(8px,1.8vh,18px) 1rem; }
  .ef-feat-ic{ width:clamp(38px,5vh,52px); height:clamp(38px,5vh,52px); font-size:clamp(.9rem,2vh,1.15rem); margin-bottom:.3rem; }
  .ef-feat p{ font-size:12.5px; }

  .ef-hero-card .login-wrap{ padding:clamp(18px,2.8vh,30px) clamp(20px,2.8vh,30px); }
  .ef-hero-card .ef-login-top h2{ font-size:clamp(22px,3.2vh,30px); }
  .ef-hero-card .ef-login-top p{ font-size:14px; margin-bottom:clamp(.5rem,1.4vh,1.1rem); }
  .ef-hero-card .form-floating{ margin-bottom:clamp(8px,1.4vh,12px) !important; }
  .ef-hero-card .form-floating > .form-control{ height:clamp(44px,5.2vh,52px); min-height:clamp(44px,5.2vh,52px); }
  .ef-hero-card .ef-login-row{ margin-bottom:clamp(8px,1.4vh,12px) !important; }
  .ef-hero-card .login-btn-fill{ height:clamp(42px,5vh,48px); padding-top:0; padding-bottom:0; }
  .ef-hero-card .ef-or{ margin:clamp(6px,1.2vh,12px) 0; }
  .ef-hero-card .ef-register-btn{ padding:clamp(.45rem,1.2vh,.7rem) 1rem; }
  .ef-hero-card .ef-create{ margin-top:clamp(8px,1.4vh,12px) !important; font-size:.88rem; }

  .ef-landing-footer h3{ font-size:14px; margin-bottom:7px; }
  .ef-foot-col ul li{ margin-bottom:0; line-height:1.65; }
  .ef-foot-col ul li a{ font-size:13px; }
  .ef-ql-toggle{ margin-top:.25rem; font-size:12.5px; }
  .ef-foot-brand .ef-foot-logo img{ height:44px; width:auto; margin-bottom:.45rem; }
  .ef-foot-brand p{ font-size:12.5px; line-height:1.5; margin-bottom:.5rem; }
  .ef-foot-social{ gap:.45rem; }
  .ef-foot-social a{ width:30px; height:30px; font-size:.78rem; }
  .ef-foot-contact ul li{ margin-bottom:.35rem; font-size:12.5px; }
  .ef-foot-subscribe p{ font-size:12.5px; margin-bottom:.5rem; }
}

/* =====================================================================
   v9: unified fluid layout — one shared container + fluid scale
   Scope: .agent-login-page (body on Login controller only). CSS/UI only.
   ===================================================================== */
.agent-login-page{
  --gutter: clamp(16px, 7.3vw, 260px);
  --container-max: clamp(1140px, 86vw, 1880px);
  --fs-label: clamp(12px, .7vw, 15px);
  --fs-h1: clamp(34px, 2.9vw, 60px);
  --fs-body: clamp(14px, .9vw, 18px);
  --fs-small: clamp(12px, .75vw, 15px);
  --fs-card-h: clamp(24px, 1.7vw, 34px);
  --fs-nav: clamp(14px, .9vw, 18px);
  --icon-circle: clamp(40px, 2.8vw, 60px);
  --card-w: clamp(360px, 24vw, 480px);
  --input-h: clamp(42px, 2.6vw, 52px);
  --btn-h: clamp(44px, 2.7vw, 54px);
  --header-h: clamp(64px, 4.2vw, 84px);
  --strip-h: clamp(84px, 7vw, 120px);
  --footer-peek: 90px;
}

/* ---- one shared fluid container used by header, hero, strip, footer ---- */
.agent-login-page .elp-container{
  width:100%;
  max-width:none;
  margin-inline:auto;
  padding-inline:var(--gutter);
  box-sizing:border-box;
}

/* ---- HEADER ---- */
.agent-login-page .ef-navbar{ padding:0; min-height:var(--header-h); }
.agent-login-page .ef-navbar .elp-container{
  display:flex; flex-wrap:inherit; align-items:center; justify-content:space-between;
  min-height:var(--header-h);
}
.agent-login-page .ef-navbar .ef-brand img{ width:auto; height:clamp(42px,3.4vw,58px); }
.agent-login-page .ef-navbar .ef-nav .nav-link{ font-size:var(--fs-nav); }
.agent-login-page .ef-lang{ font-size:var(--fs-nav); }
.agent-login-page .ef-supplier-btn{ font-size:var(--fs-nav); }

/* ---- HERO: full-bleed image, content inside the container ---- */
.agent-login-page .ef-hero{ display:flex; align-items:center; overflow:hidden; }
.agent-login-page .ef-hero-bg{ position:absolute; inset:0; z-index:0; }
.agent-login-page .ef-hero-bgimg{ width:100%; height:100%; object-fit:cover; object-position:center; }
.agent-login-page .ef-hero-overlay{
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse 620px 520px at
      calc(max(0px, (100vw - 1600px) / 2) + 300px) 50%,
      rgba(255,255,255,0.96) 0%,
      rgba(255,255,255,0.88) 45%,
      rgba(255,255,255,0) 100%),
    linear-gradient(90deg, rgba(255,255,255,0.35) 0%, rgba(255,255,255,0) 60%);
}

.agent-login-page .ef-hero-inner{
  position:relative; z-index:2;
  display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center;
  gap:clamp(16px,3vw,48px);
  padding-top:clamp(20px,3vh,44px); padding-bottom:clamp(20px,3vh,44px);
}
.agent-login-page .ef-hero-left{ max-width:clamp(380px,30vw,560px); }
.agent-login-page .ef-hero-label{ font-size:var(--fs-label); }
.agent-login-page .ef-hero-title{ font-size:var(--fs-h1); margin:clamp(6px,1vw,14px) 0 clamp(10px,1.1vw,18px); }
.agent-login-page .ef-hero-desc{ font-size:var(--fs-body); margin-bottom:clamp(14px,1.6vw,26px); }
.agent-login-page .ef-hero-feats{ gap:clamp(10px,1vw,20px) clamp(10px,1vw,18px); max-width:none; }
.agent-login-page .ef-feat p{ font-size:var(--fs-small); }
.agent-login-page .ef-feat-ic{ width:var(--icon-circle); height:var(--icon-circle); font-size:calc(var(--icon-circle) * .42); }

/* ---- login card ---- */
.agent-login-page .ef-hero-card{ width:var(--card-w); flex:none; justify-self:end; }
.agent-login-page .ef-hero-card .login-wrap{ padding:clamp(20px,1.8vw,36px); }
.agent-login-page .ef-hero-card .ef-login-top h2{ font-size:var(--fs-card-h); }
.agent-login-page .ef-hero-card .ef-login-top p{ font-size:var(--fs-small); }
.agent-login-page .ef-hero-card .form-floating > .form-control{ height:var(--input-h); min-height:var(--input-h); }
.agent-login-page .ef-hero-card .ef-login-btn.login-btn-fill{ height:var(--btn-h); }
.agent-login-page .ef-hero-card .ef-register-btn{ font-size:var(--fs-small); }

/* ---- FEATURE STRIP ---- */
.agent-login-page .ef-feature-strip{ padding:clamp(1rem,1.6vw,2rem) 0; }
.agent-login-page .ef-feature-strip .ef-feature:first-child{ padding-left:0; }
.agent-login-page .ef-feature-strip .ef-feature:last-child{ padding-right:0; }
.agent-login-page .ef-feature-icon{ width:var(--icon-circle); height:var(--icon-circle); font-size:calc(var(--icon-circle) * .42); }
.agent-login-page .ef-feature-text h4{ font-size:var(--fs-small); }
.agent-login-page .ef-feature-text p{ font-size:var(--fs-small); }

/* ---- FOOTER ---- */
.agent-login-page .ef-foot-col h3,
.agent-login-page .ef-landing-footer h3{ font-size:var(--fs-small); }
.agent-login-page .ef-foot-col ul li a,
.agent-login-page .ef-foot-contact ul li,
.agent-login-page .ef-foot-brand p,
.agent-login-page .ef-foot-subscribe p{ font-size:var(--fs-small); }

/* ---- vertical rhythm: footer-peek on first load (desktop) ---- */
@media (min-width:1024px){
  .agent-login-page .ef-hero{
    min-height:calc(100vh - var(--header-h) - var(--strip-h) - var(--footer-peek));
    height:auto;
  }
}

/* ---- stacked layout below 1024px ---- */
@media (max-width:1023px){
  .agent-login-page .ef-hero{ min-height:auto; }
  .agent-login-page .ef-hero-inner{ grid-template-columns:1fr; }
  .agent-login-page .ef-hero-left{ max-width:100%; }
  .agent-login-page .ef-hero-card{ width:100%; max-width:440px; justify-self:center; margin-top:clamp(16px,3vw,28px); }
  .agent-login-page .ef-hero-overlay{
    background:linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.9) 50%, rgba(255,255,255,.96) 100%);
  }
  .agent-login-page .ef-hero-feats{ max-width:430px; }
}

/* ===================================================================
   v10: TABLET + PHONE redesign (<=1023.98px). Desktop (>=1024px)
   untouched. CSS-only, scoped to .agent-login-page. No logic changes.
   Blocks: A shared <1024 | B header drawer <992 | C tablet 768-1023 |
   D phone-only footer+polish <768.
   =================================================================== */

/* ---------- BLOCK A: shared redesign below 1024 ---------- */
@media (max-width:1023.98px){
  .agent-login-page{ overflow-x:hidden; }

  /* HERO as a photo banner */
  .agent-login-page .ef-hero{ min-height:auto; display:block; background:#fff; overflow:visible; }
  .agent-login-page .ef-hero-bg{ position:absolute; inset:0 0 auto 0; height:240px; z-index:0; }
  .agent-login-page .ef-hero-bgimg{ height:100%; object-fit:cover; object-position:center center; }
  .agent-login-page .ef-hero-overlay{
    position:absolute; inset:0 0 auto 0; height:240px;
    background:linear-gradient(180deg, rgba(60,10,45,.15) 0%, rgba(90,15,60,.55) 55%, rgba(90,15,60,.85) 100%);
  }
  .agent-login-page .ef-hero-inner{ display:flex; flex-direction:column; position:relative; z-index:2; padding:72px 20px 28px; gap:0; }
  .agent-login-page .ef-hero-left{ display:contents; }

  /* banner text */
  .agent-login-page .ef-hero-label{ order:1; color:#FFD1E3; font-size:11px; letter-spacing:2px; margin:0; }
  .agent-login-page .ef-hero-title{ order:2; color:#fff; font-size:28px; font-weight:800; line-height:1.1; margin:4px 0 0; max-width:100%; }
  .agent-login-page .ef-hero-brand .e1{ color:#fff; -webkit-text-fill-color:#fff; }
  .agent-login-page .ef-hero-brand .e2{ background:none; -webkit-background-clip:border-box; background-clip:border-box; color:#FF8FB8; -webkit-text-fill-color:#FF8FB8; }

  /* login card overlapping banner */
  .agent-login-page .ef-hero-card{ order:3; width:100%; max-width:none; justify-self:auto; align-self:stretch; margin:20px 0 0; position:relative; z-index:2; }
  .agent-login-page .ef-hero-card .login-wrap{ border-radius:20px; padding:24px 20px; box-shadow:0 20px 50px rgba(90,15,60,.18); }
  .agent-login-page .ef-hero-card .ef-login-top h2{ font-size:24px; }
  .agent-login-page .ef-hero-card .ef-login-top p{ font-size:14px; }
  .agent-login-page .ef-hero-card .form-floating > .form-control{ height:50px; min-height:50px; font-size:16px; border-radius:12px; }
  .agent-login-page .ef-hero-card .ef-login-row{ font-size:14px; }
  .agent-login-page .ef-hero-card .ef-login-btn.login-btn-fill{ height:52px; border-radius:12px; font-size:16px; }
  .agent-login-page .ef-hero-card .ef-register-btn{ height:50px; font-size:14px; }
  .agent-login-page .ef-hero-card .ef-create{ font-size:14px; }

  /* WHY EASYFLYS (paragraph + 6 mini cards) */
  .agent-login-page .ef-hero-desc{ order:4; font-size:15px; color:#555; text-align:center; line-height:1.55; margin:32px 0 0; max-width:none; }
  .agent-login-page .ef-hero-desc::before{ content:"WHY EASYFLYS"; display:block; color:#d81b6a; font-size:12px; font-weight:700; letter-spacing:1.5px; margin-bottom:8px; }
  .agent-login-page .ef-hero-feats{ order:5; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; max-width:none; margin:18px 0 4px; }
  .agent-login-page .ef-feat{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px; background:#fff; border:1px solid #F3D6E3; border-radius:14px; padding:14px 8px; }
  .agent-login-page .ef-feat-ic{ width:44px; height:44px; font-size:18px; margin:0; }
  .agent-login-page .ef-feat p{ font-size:12.5px; font-weight:700; }

  /* FEATURES STRIP: cards */
  .agent-login-page .ef-feature-strip{ padding:32px 20px; border-top:none; }
  .agent-login-page .ef-feature-strip .row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0; }
  .agent-login-page .ef-feature-strip .ef-feature{ width:auto; max-width:none; flex-direction:column; align-items:flex-start; text-align:left; gap:0; background:#FFF5F9; border-radius:14px; padding:16px !important; border-left:none !important; }
  .agent-login-page .ef-feature-icon{ width:44px; height:44px; margin-bottom:10px; }
  .agent-login-page .ef-feature-text h4{ font-size:15px; }
  .agent-login-page .ef-feature-text p{ font-size:13px; }
}

/* ---------- BLOCK B: header + right slide-in drawer (hamburger range <992) ---------- */
@media (max-width:991.98px){
  .agent-login-page .ef-landing-header{ position:sticky; top:0; z-index:1030; }
  .agent-login-page .ef-navbar{ min-height:64px; }
  .agent-login-page .ef-navbar .elp-container{ min-height:64px; padding-inline:16px; }
  .agent-login-page .ef-navbar .ef-brand img{ height:44px; }
  .agent-login-page .ef-navbar .ef-toggler{ width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center; padding:0; }
  .agent-login-page .ef-navbar .ef-toggler[aria-expanded="true"] i{ transform:rotate(90deg); }

  .agent-login-page .ef-navbar .navbar-collapse{
    position:fixed; top:0; right:0; height:100vh; height:100dvh; width:82%; max-width:320px;
    background:linear-gradient(160deg,var(--ef-m1),var(--ef-m2));
    box-shadow:-14px 0 44px rgba(0,0,0,.4);
    transform:translateX(100%); transition:transform .25s ease;
    padding:66px 22px 28px; overflow-y:auto; z-index:1031; display:block !important;
  }
  .agent-login-page .ef-navbar .navbar-collapse.show,
  .agent-login-page .ef-navbar .navbar-collapse.collapsing{ transform:translateX(0); }
  .agent-login-page .ef-navbar .navbar-collapse::before{
    content:""; position:fixed; inset:0; background:rgba(20,2,12,.5);
    opacity:0; visibility:hidden; transition:opacity .25s ease; z-index:-1;
  }
  .agent-login-page .ef-navbar .navbar-collapse.show::before{ opacity:1; visibility:visible; }
  .agent-login-page .ef-navbar .ef-nav{ flex-direction:column; align-items:stretch; gap:0; margin:0; }
  .agent-login-page .ef-navbar .ef-nav .nav-link{ font-size:16px; padding:14px 6px; border-bottom:1px solid rgba(255,255,255,.15); border-radius:0; min-height:44px; display:flex; align-items:center; }
  .agent-login-page .ef-nav-actions{ flex-direction:column; align-items:stretch; gap:14px; margin-top:18px; }
  .agent-login-page .ef-nav-actions .ef-divider{ display:none; }
  .agent-login-page .ef-lang{ font-size:16px; padding:6px 0; }
  .agent-login-page .ef-supplier-btn{ justify-content:center; width:100%; padding:13px; font-size:16px; transition:all .2s ease; }
}

/* ---------- BLOCK C: tablet sizing (768-1023) ---------- */
@media (min-width:768px) and (max-width:1023.98px){
  .agent-login-page .ef-hero-bg,
  .agent-login-page .ef-hero-overlay{ height:300px; }
  .agent-login-page .ef-hero-inner{ padding:120px 32px 36px; }
  .agent-login-page .ef-hero-label{ font-size:12px; }
  .agent-login-page .ef-hero-title{ font-size:36px; }
  .agent-login-page .ef-hero-card{ max-width:520px; align-self:center; margin-left:auto; margin-right:auto; }
  .agent-login-page .ef-hero-card .login-wrap{ padding:32px; }
  .agent-login-page .ef-hero-card .ef-login-top h2{ font-size:28px; }
  .agent-login-page .ef-hero-desc{ max-width:620px; margin-left:auto; margin-right:auto; }
  .agent-login-page .ef-hero-feats{ max-width:640px; margin-left:auto; margin-right:auto; }
  .agent-login-page .ef-feature-strip{ padding:36px 32px; }
  .agent-login-page .ef-feature-strip .ef-feature{ flex-direction:row; align-items:center; gap:14px; }
  .agent-login-page .ef-feature-icon{ margin-bottom:0; }
}

/* ---------- BLOCK D: phone-only footer + polish (<768) ---------- */
@media (max-width:767.98px){
  .agent-login-page .ef-landing-footer{ text-align:center; padding:0; }
  .agent-login-page .ef-landing-footer .elp-container{ padding-inline:20px; }
  .agent-login-page .ef-foot-main{ padding-top:32px; }
  .agent-login-page .ef-foot-brand{ text-align:center; }
  .agent-login-page .ef-foot-social{ justify-content:center; }
  .agent-login-page .ef-foot-social a{ width:36px; height:36px; }
  .agent-login-page .ef-foot-col h3{ margin-bottom:12px; }
  .agent-login-page .ef-foot-col ul{ display:inline-block; text-align:left; }
  .agent-login-page .ef-foot-contact ul{ display:inline-block; text-align:left; }
  .agent-login-page .ef-foot-contact ul li{ font-size:14px; }
  .agent-login-page .ef-foot-subscribe{ max-width:420px; margin:0 auto; }
  .agent-login-page .ef-subscribe-input{ height:48px; max-width:none; margin:0 auto; }
  .agent-login-page .ef-subscribe-input input{ font-size:16px; }
  .agent-login-page .ef-foot-bottom{ flex-direction:column; justify-content:center; text-align:center; gap:4px; padding:16px; padding-bottom:calc(16px + env(safe-area-inset-bottom)); font-size:13px; }
  .agent-login-page .ef-foot-social a{ min-height:44px; }
}

/* ===================================================================
   v11: phone polish — backdrop click-through + footer accordions.
   Accordion collapse is gated on .ef-js (added by JS) so links are
   never hidden if JS fails. Scoped, CSS-only behavior. No logic.
   =================================================================== */
@media (max-width:991.98px){
  .agent-login-page .ef-navbar .navbar-collapse::before{ pointer-events:none; }
}
@media (max-width:767.98px){
  .agent-login-page.ef-js .ef-foot-col.ef-acc > h3{ cursor:pointer; display:flex; align-items:center; justify-content:space-between; }
  .agent-login-page.ef-js .ef-foot-col.ef-acc > h3::after{
    content:""; width:9px; height:9px; margin-left:10px; flex:0 0 auto;
    border-right:2px solid rgba(255,255,255,.7); border-bottom:2px solid rgba(255,255,255,.7);
    transform:rotate(45deg); transition:transform .25s ease;
  }
  .agent-login-page.ef-js .ef-foot-col.ef-acc.ef-acc-open > h3::after{ transform:rotate(225deg); }
  .agent-login-page.ef-js .ef-foot-col.ef-acc > ul,
  .agent-login-page.ef-js .ef-foot-col.ef-acc > .ef-ql-toggle{
    max-height:0; overflow:hidden; opacity:0; transition:max-height .28s ease, opacity .2s ease;
  }
  .agent-login-page.ef-js .ef-foot-col.ef-acc.ef-acc-open > ul,
  .agent-login-page.ef-js .ef-foot-col.ef-acc.ef-acc-open > .ef-ql-toggle{ max-height:1000px; opacity:1; }
}
