﻿@font-face {
  font-family: 'Sen';
  src: url('../fonts/Sen.woff2') format('woff2');
}

@font-face {
  font-display: block;
  font-family: 'bootstrap-icons';
  src: url("../fonts/bootstrap-icons.woff2") format("woff2"), url("../fonts/bootstrap-icons.woff") format("woff")
}

* {
  box-sizing: border-box;
}

:root {
  --Primary-Color: #E44290;
  --Secondary-Color: #064272;
  --Highlight-Color: #EBD91E;
  --Accent-Color: #EBA81E;
  --Primary-Text-Color: #000000;
  --Secondary-Text-Color: #ffffff;
  --Anchor-Hover: #2d39d4;
  --Anchor-Visited: #1721b3;
}

li:has(> ul) {
  color: var(--Primary-Color);
  /* or any style you want */
  padding-bottom: 10px;
}

li:has(> ul)>ul {
  color: #000;
  /* reset nested ul text */
}

h1 {
  font-size: clamp(2.5rem, 6vw, 4.5rem);
}

h2 {
  font-size: clamp(2rem, 5.5vw, 4rem);
}

.bg-light {
  background-color: #f3f3f3;
}

body,
button {
  margin: 0;
  font-family: "Sen", sans-serif;
}

form label span {
  color: crimson;
}

.banners span,
.banners h1,
.banners h2,
.banners h3 {
  user-select: none;
}

div,
body {
  box-sizing: border-box;
}

body,
p,
span,
a {
  color: var(--Primary-Text-Color);
  font-size: 1.2rem;
  font-weight: 500;
}

input {
  box-sizing: border-box;
  font-size: 1.2rem;
}

/* =========================
   NAVIGATION WRAPPER
   ========================= */

.navigation {
  margin-top: 20px;
  margin-bottom: 20px;
  position: relative;
  z-index: 1000;
}

/* Logo */
.navigation .logo-main {
  max-width: 180px;
  height: auto;
  display: block;
}

/* DESKTOP NAV LAYOUT */
#main-navigation.ds-nav {
  display: flex;
  align-items: center;
  gap: 24px;
}

/* Ensure spans don’t inherit weird margins */
#main-navigation span {
  margin: 0;
}

/* top-level nav items */
.ds-nav-item {
  position: relative;
  display: inline-flex;
  align-items: center;
}

/* top-level nav links */
.ds-nav-item>a,
.ds-nav-item>a:link,
.ds-nav-item>a:visited {
  font-size: 1.0rem;
  font-weight: 600;
  color: var(--Secondary-Color);
  text-decoration: none;
  padding: 6px 2px;
  position: relative;
}

/* underline hover effect */
.ds-nav-item>a::after,
.dropdown-label::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 0;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--ds-accent), var(--ds-primary));
  transition: width 0.2s ease;
}

.ds-nav-item>a:hover::after,
.dropdown-parent:hover .dropdown-label::after {
  width: 100%;
}

/* dropdown label (Courses) */
.dropdown-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 1rem;
  font-weight: 600;
  color: var(--Primary-Text-Color) !important;
  cursor: pointer;
  position: relative;
}

/* arrow animation */
.dropdown-arrow {
  transition: transform 0.2s ease;
}

.dropdown-parent:hover .dropdown-arrow {
  transform: rotate(180deg);
}

/* reset any old generic navigation styles */
.navigation p,
.navigation span {
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 0;
}

/* =========================
   MEGA MENU TYPOGRAPHY
   ========================= */

/* category heading */
.submenu-heading {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: #9ca3af;
  margin-bottom: 14px;

  /* KEY PART: reserve space for about 2 lines of heading */
  line-height: 1.2;
  min-height: 2.6em;
  /* tweak 2.4–3em until alignment looks perfect */
}

.submenu-heading::after {
  content: "";
  display: block;
  width: 32px;
  height: 2px;
  border-radius: 999px;
  margin-top: 6px;
  background: linear-gradient(90deg, var(--ds-accent), var(--ds-primary));
}

/* Category heading link */
.submenu-heading-link {
  color: #a91a6a !important;
  text-decoration: none;
  font-weight: 600;
}

.submenu-heading-link:hover {
  color: #a91a6a !important;
  text-decoration: underline;
}

/* Course item links */
.submenu-link {
  color: #a91a6a !important;
}

.submenu-link:hover {
  color: #a91a6a !important;
  text-decoration: underline;
}

/* course list items */
.navigation .submenu ul li {
  margin-bottom: 4px;
}

.navigation .submenu {
  display: none;
}

@media (min-width: 992px) {
  .navigation .dropdown-parent:hover>.submenu {
    display: block;
  }
}

/* ================================
   TABLET MEGA MENU (768px–991.98px)
   Center-anchored submenu + left-stuck logo
   ================================ */
@media (min-width: 768px) and (max-width: 991.98px) {

  /* ---------------------------
     1) Disable hover (tablet click only)
     --------------------------- */
  .navigation .dropdown-parent:hover>.submenu {
    display: none !important;
  }

  /* Courses item should NOT be the anchor for submenu */
  .ds-nav-item.dropdown-parent {
    position: static !important;
  }

  /* ---------------------------
     2) Make header full-bleed so logo touches left edge
     --------------------------- */
  .navigation {
    position: relative !important;
    overflow: visible !important;
  }

  .navigation .container {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .navigation .container .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .navigation .container .row>.col-6.col-md-12 {
    padding-left: 0 !important;
    padding-right: 0 !important;

    display: flex !important;
    flex-wrap: nowrap !important;
    /* ✅ same line */
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;
  }

  /* Logo hard left */
  .ds-logo-link {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 886 !important;
  }

  .navigation .logo-main {
    max-width: 160px !important;
    height: auto !important;
    display: block !important;
  }

  /* Nav to right */
  #main-navigation {
    flex: 1 1 auto !important;
    margin-left: auto !important;
    justify-content: flex-end !important;
  }

  /* ---------------------------
     3) Mega menu panel (center anchored to header)
     --------------------------- */
  .navigation .submenu {
    display: none;
    position: absolute !important;

    top: 100% !important;
    margin-top: 12px !important;

    left: 50% !important;
    transform: translateX(-50%) !important;

    width: min(980px, 96vw) !important;
    max-width: 96vw !important;

    background: #ffffff;
    border-radius: 20px;
    border: 1px solid rgba(148, 163, 184, .35);
    box-shadow: 0 28px 70px rgba(15, 23, 42, .22);
    z-index: 99999;
  }

  /* click-open class */
  .navigation .dropdown-parent.is-open>.submenu {
    display: block !important;
  }

  .navigation .submenu .submenu-inner {
    padding: 20px 22px 22px !important;
  }

  /* row safe */
  .navigation .submenu .submenu-inner .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* ---------------------------
     4) Remove default UL bullets + fix custom dots
     --------------------------- */
  .navigation .submenu ul {
    list-style: none !important;
    padding-left: 0 !important;
    margin: 0 !important;
  }

  .navigation .submenu ul li {
    list-style: none !important;
  }

  .navigation .submenu ul li::marker {
    content: "" !important;
  }

  /* keep only your custom dot */
  .navigation .submenu .submenu-link {
    padding-left: 12px !important;
    line-height: 1.25 !important;
  }

  .navigation .submenu .submenu-link::before {
    left: 0 !important;
    top: 0.95em !important;
    transform: none !important;
  }
}

/* course link style */
.submenu-link {
  display: block;
  font-size: 0.95rem;
  font-weight: 500;
  color: #111827;
  padding: 4px 0;
  text-decoration: none;
  border-radius: 8px;
  position: relative;
  padding-left: 10px;
  transition:
    background-color 0.16s ease,
    color 0.16s ease,
    transform 0.16s ease,
    box-shadow 0.16s ease;
}

/* small decorative dot */
/* .submenu-link::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: #cbd5f5;
  transform: translateY(-50%);
  transition: background-color 0.16s ease, transform 0.16s ease;
} */

.submenu-link:hover {
  background-color: #f3f4ff;
  color: #000000;
  transform: translateX(2px);
  box-shadow: 0 6px 18px rgba(148, 163, 184, 0.35);
}

.submenu-link:hover::before {
  background: var(--ds-accent);
  transform: translate(1px, -50%);
}

/* =========================
   MOBILE ICONS + HAMBURGER
   ========================= */

.icon {
  margin-left: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#nav-icon1 {
  width: 26px;
  height: 18px;
  position: relative;
  cursor: pointer;
  margin-left: 12px;
}

#nav-icon1 span {
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  left: 0;
  background: #1D0A5B;
  border-radius: 3px;
  transition: all 0.25s ease;
}

#nav-icon1 span:nth-child(1) {
  top: 0;
}

#nav-icon1 span:nth-child(2) {
  top: 8px;
}

#nav-icon1 span:nth-child(3) {
  top: 16px;
}

/* optional "open" state if you toggle with JS */
#nav-icon1.open span:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}

#nav-icon1.open span:nth-child(2) {
  opacity: 0;
}

#nav-icon1.open span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}

/* =========================
   RESPONSIVE TWEAKS
   ========================= */

@media (max-width: 767.98px) {
  .navigation {
    margin-top: 12px;
    margin-bottom: 12px;
  }

  .navigation .logo-main {
    max-width: 150px;
  }
}

a,
a:link {
  color: var(--Secondary-Color);
}

a:visited {
  color: var(--Anchor-Visited);
}

a:hover {
  color: var(--Anchor-Hover);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--Primary-Color);
  font-weight: 500;
}

h3,
.h3 {
  font-size: 1.8rem;
}

.top-bar {
  background-color: #073b63;
  color: var(--Secondary-Text-Color);
  padding-top: 8px;
  font-size: 1rem;
  padding-bottom: 8px;
  text-align: center;
}

.logo-main {
  width: 100%;
  max-width: 130px;
  height: auto;
}

.top-bar a:link,
.top-bar a:visited,
.top-bar a {
  color: var(--Secondary-Text-Color);
}

.icon {
  margin-left: 4px;
  margin-right: 4px;
}

span.h1,
span.h2,
span.h3 {
  display: block;
  text-transform: uppercase;
}

span.h1 {
  font-size: 2.3rem;
  font-weight: 500;
}

span.h2 {
  font-size: 1.8rem;
  font-weight: 500;
}

span.h3 {
  font-size: 1.5rem;
  font-weight: 600;
}

.btn {
  display: block;
  padding: 12px 18px;
}

.btn.btn-rounded {
  border-radius: 2rem;
}

a.btn,
a:visited.btn,
a:link.btn {
  text-decoration: none;
}

nav a,
nav a:link,
nav a:visited {
  text-decoration: none;
  cursor: pointer;
  color: var(--Primary-Text-Color) !important;
  font-size: 0.8rem;
  display: inline-block;
  margin-left: 5px;
  margin-right: 5px;
}

.btn.btn-primary {
  background-color: var(--Primary-Color);
  transition: 0.3s ease;
  color: #fff;
  border: var(--Primary-Color);
}

.btn.btn-primary:hover {
  background-color: #b3256a;
  color: #fff;
}

.btn.btn-more {
  padding: 10px 14px;
  background-color: #cf4286;
  color: #fff;
  width: fit-content;
  border-radius: 25px;
  font-size: 0.8rem;
  transition: all 0.3s linear;
}

.btn.btn-more:hover {
  background-color: #be3276;
  color: #fff;
}

.text-center {
  text-align: center;
}

/* =========================
   Global footer shell
   ========================= */
.footer {
  background: #073b63;
  color: #fff;
  font-family: 'Sen', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

/* =========================
   Top CTA band
   ========================= */
.footer-cta {
  background: linear-gradient(90deg, #052743, #0b5ca5);
  padding: 20px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.footer-cta-text h2 {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 600;
}

.footer-cta-label {
  display: block;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  opacity: 0.8;
  margin-bottom: 4px;
}

.footer-cta-btn {
  width: 100%;
  border: none;
  border-radius: 999px;
  padding: 12px 20px;
  font-size: 0.98rem;
  font-weight: 600;
  color: #ffffff;
  /* background-image: linear-gradient(135deg, #ff2f92, #ff6a5b); */
  background: #a91a6a;
  box-shadow: 0 10px 24px rgba(255, 47, 146, 0.4);
  cursor: pointer;
  transition: 0.18s ease;
}

.footer-cta-btn:hover {
  transform: translateY(-5px);
  box-shadow: 0 14px 30px rgba(255, 47, 146, 0.5);
}

.footer-cta-btn:active {
  transform: translateY(0);
}

/* =========================
   Main footer
   ========================= */
.footer-main {
  padding: 50px 0 30px;
}

.footer-logo {
  max-width: 190px;
}

.footer-tagline {
  font-size: 0.9rem;
  opacity: 0.9;
  margin-bottom: 1.25rem;
}

.footer-block {
  margin-bottom: 1.6rem;
}

.footer-title {
  font-size: 0.98rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
  padding-bottom: 0.55rem;
  position: relative;
  text-transform: none;
  letter-spacing: 0.08em;
}

.footer-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 120px;
  height: 1px;
  background: rgba(255, 255, 255, 0.9);
}

/* Lists & links */
.footer-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-list li+li {
  margin-top: 0.35rem;
}

.footer-list li span {
  font-weight: 500;
  margin-right: 4px;
}

.footer a,
.footer a:link,
.footer a:visited,
.footer p,
.footer span {
  color: #ffffff;
  text-decoration: none;
  transition: 0.2s ease;
}

.footer a:hover {
  color: #ffffff;
}

/* Bullet style for highlights */
.footer-bullets li {
  position: relative;
  padding-left: 14px;
  font-size: 1rem;
}

.footer-bullets li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  color: #ffce33;
}

.footer-list li,
.footer-list li a {
  font-size: 1rem;
  line-height: 1.5;
}

.footer-text {
  font-size: 1rem;
  line-height: 1.6;
}

/* Contact list text + links */
.footer-block .footer-list li,
.footer-block .footer-list li a,
.footer-block .footer-list li span {
  font-size: 1rem;
  line-height: 1.6;
}

/* Tagline (optional, thora subtle) */
.footer-tagline {
  font-size: 0.9rem;
}

/* Social icons */
.footer-social {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 0.4rem;
}

.footer-icon {
  width: 22px;
  height: 22px;
  filter: invert(1);
  opacity: 0.9;
  transition: 0.2s ease;
}

.footer-icon:hover {
  opacity: 1;
  transform: scale(1.08);
}

/* =========================
   Bottom bar
   ========================= */
.footer-bottom {
  background: #000000;
  padding-bottom: 12px;
  font-size: 0.85rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.footer-bottom a {
  font-weight: 500;
}

.footer-sep {
  margin: 0 8px;
  opacity: 0.65;
}

/* =========================
   Responsive tweaks
   ========================= */
@media (max-width: 767.98px) {
  .footer-cta {
    text-align: center;
  }

  .footer-cta-text h2 {
    font-size: 1.1rem;
    margin-bottom: 10px;
  }

  .footer-main {
    padding-top: 35px;
  }

  .footer-brand {
    margin-bottom: 2rem;
  }

  .footer-title::after {
    width: 90px;
  }
}

/* .bottom-bar{
    background-color: #000;
    display: flex;
    justify-content: center;
}
.bottom-bar a,.bottom-bar a:link,.bottom-bar a:visited{
    color: #fff;
}
.bottom-bar a:hover{
    color: var(--Highlight-Color);
}
.bottom-bar p{
    color: #fff;
} */
#overlay {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.95);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  z-index: 10;
  display: none;
}

#scroll-to-top {
  position: fixed;
  bottom: 0px;
  left: 15px;
  z-index: 1;
}

.contact-icons a,
.contact-icons a:link,
.contact-icons a:visited {
  display: inline-block;
}

.whatsapp,
.phone,
.email {
  text-decoration: none;
  display: inline-block;
  font-size: 1.6rem;
}

.whatsapp::before {
  content: '\F618';
  font-family: 'bootstrap-icons';
  color: #fff;
}

.phone::before {
  content: '\F5B4';
  font-family: 'bootstrap-icons';
  color: #fff;
}

.email::before {
  content: '\F32C';
  font-family: 'bootstrap-icons';
  color: #fff;
}

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

ul.nostyle a,
ul.nostyle a:link,
ul.nostyle a:visited {
  text-decoration: none;
}

form.default .row {
  margin-top: 25px;
}

form.default fieldset .row {
  margin-top: 10px;
}

form.default fieldset {
  border-bottom: none;
  border-left: none;
  border-right: none;
}

form.default fieldset legend {
  padding-inline-start: 7px;
  padding-inline-end: 7px;
}

form.default fieldset legend.required {
  color: crimson;
}

form.default fieldset legend.required::after {
  content: "*";
  padding-left: 6px;
}

form.default input,
form.default select {
  width: 100%;
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: 3px solid var(--Secondary-Color);
  transition: border 0.2s ease;
  padding: 12px 8px;
  font-size: 0.9rem;
}

form.default input[type=radio],
form.default input[type=checkbox] {
  width: fit-content;
}

form.default input:focus {
  outline: none;
  border-bottom: 3px solid var(--Accent-Color);
}

.w-100 {
  width: 100%;
  ;
}

/* =========================
   PAY NOW NAV BUTTON (RESPONSIVE)
   ========================= */

.ds-paynow-item {
  margin-left: 14px;
}

/* Base: responsive sizing using clamp */
.ds-paynow-btn,
.ds-paynow-btn:link,
.ds-paynow-btn:visited {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;

  /* responsive padding + font */
  padding: clamp(8px, 1.2vw, 12px) clamp(14px, 2.2vw, 26px) !important;
  border-radius: 999px;

  font-size: clamp(.85rem, 1.2vw, 1.05rem) !important;
  font-weight: 700 !important;
  line-height: 1;
  white-space: nowrap;
  /* keep Pay Now in 2 lines na jaye */

  /* background-image: linear-gradient(135deg, #ff2f92 0%, #ff4f8b 45%, #ff6a5b 100%); */
  background: #a91a6a;
  /* box-shadow: 0 10px 24px rgba(255, 47, 146, 0.4); */

  text-decoration: none !important;
  border: none;
  cursor: pointer;

  transition: transform .18s ease, box-shadow .18s ease;
  color: #ffffff !important;
}

.ds-paynow-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(255, 47, 146, 0.5);
  color: #ffffff !important;
}

.ds-paynow-btn:active,
.ds-paynow-btn:focus {
  color: #ffffff !important;
}

.ds-paynow-btn::after,
.ds-paynow-btn::before {
  display: none !important;
}

/* Keep nav styling for other links only */
nav a:not(.ds-paynow-btn),
nav a:link:not(.ds-paynow-btn),
nav a:visited:not(.ds-paynow-btn) {
  color: var(--Primary-Text-Color) !important;
}

/* =========================
   Breakpoints (tighten further)
   ========================= */

/* iPad / tablets */
@media (max-width: 1024px) {
  .ds-paynow-item {
    margin-left: 10px;
  }

  .ds-paynow-btn {
    padding: 10px 18px !important;
    font-size: .85rem !important;
  }
}

/* small tablets / landscape phones */
@media (max-width: 768px) {
  .ds-paynow-item {
    margin-left: 8px;
  }

  .ds-paynow-btn {
    padding: 9px 16px !important;
    font-size: .9rem !important;
  }
}

/* phones */
@media (max-width: 576px) {

  /* Navbar collapse panel: full width + proper padding */
  .navbar-collapse,
  nav .collapse,
  .nav-collapse {
    width: 100% !important;
  }

  /* Dropdown should NOT be floating on mobile */
  .navbar-nav .dropdown-menu {
    position: static !important;
    /* important */
    float: none !important;
    transform: none !important;
    left: auto !important;
    right: auto !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 10px 0 0 !important;
    padding: 10px 12px !important;

    border-radius: 14px !important;
    box-shadow: 0 12px 26px rgba(0, 0, 0, .12) !important;

    /* make it usable */
    max-height: 42vh;
    /* scroll area */
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* Dropdown items: readable, not cramped */
  .navbar-nav .dropdown-menu .dropdown-item,
  .navbar-nav .dropdown-menu a {
    white-space: normal !important;
    /* allow wrapping */
    line-height: 1.25 !important;
    padding: 10px 10px !important;
    border-radius: 10px;
  }

  /* Hover/focus clean (optional) */
  .navbar-nav .dropdown-menu .dropdown-item:hover,
  .navbar-nav .dropdown-menu .dropdown-item:focus {
    background: rgba(0, 0, 0, .06) !important;
  }

  /* Pay Now inside mobile menu: full width & centered */
  .ds-paynow-item {
    margin: 14px 0 6px !important;
    width: 100%;
  }

  .ds-paynow-btn {
    width: 100% !important;
    justify-content: center !important;
    padding: 10px 16px !important;
    font-size: .95rem !important;
  }

  /* If any menu link has huge spacing on mobile, normalize */
  .navbar-nav .nav-link {
    padding: 12px 8px !important;
  }
}

/* =========================
   ENROL NOW (SEPARATE STYLES - NO CLASH)
   ========================= */

/* wrapper spacing like pay now */
.ds-enrol-item {
  margin-left: 14px;
  position: relative;
  display: inline-flex;
  align-items: center;
}

/* button same as pay now */
.ds-enrol-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;

  padding: clamp(8px, 1.2vw, 12px) clamp(14px, 2.2vw, 26px) !important;
  border-radius: 999px;

  font-size: clamp(.85rem, 1.2vw, 1.05rem) !important;
  font-weight: 700 !important;
  line-height: 1;
  white-space: nowrap;

  background: #a91a6a;
  color: #ffffff !important;

  border: none !important;
  cursor: pointer;

  transition: transform .18s ease, box-shadow .18s ease;
}

.ds-enrol-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(255, 47, 146, 0.5);
}

.ds-enrol-btn:focus {
  outline: none;
}

/* dropdown (unique class names to avoid clash) */
.ds-enrol-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  width: 360px;

  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, .12);
  border-radius: 14px;
  box-shadow: 0 14px 34px rgba(2, 6, 23, .18);
  padding: 12px;

  z-index: 99999;
}

.ds-enrol-dropdown.is-open {
  display: block;
}

/* search input */
.ds-enrol-input {
  width: 100%;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid rgba(15, 23, 42, .18);
  font-size: 14px;
  outline: none;
}

.ds-enrol-input:focus {
  border-color: #a91a6a;
}

/* results list */
.ds-enrol-results {
  cursor: default;
  margin-top: 10px;
  max-height: 260px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.ds-enrol-item-row:hover {
  background-color: rgba(169, 26, 106, 0.12);
  transform: translateX(2px);
}

.ds-enrol-item-row:active {
  background-color: rgba(169, 26, 106, 0.22);
}

.ds-enrol-item-row::selection {
  background: transparent;
}

.ds-enrol-item-row::-moz-selection {
  background: transparent;
}

.enrol-submenu {
  display: none !important;
}

.enrol-submenu.open {
  display: block !important;
}

/* empty text */
.ds-enrol-empty {
  font-size: 13px;
  color: rgba(15, 23, 42, .65);
  padding: 8px 4px;
}

/* each result item */
.ds-enrol-item-row {
  cursor: pointer;
  user-select: none;
  padding: 10px 12px;
  border-radius: 10px;
  line-height: 1.35;
  font-size: 14px;
  font-weight: 500;
  transition: background .15s ease;
  user-select: none !important;
  -webkit-user-select: none !important;
  -moz-user-select: none !important;

  -webkit-tap-highlight-color: transparent;
}



.ds-enrol-item-row:hover {
  background: rgba(169, 26, 106, 0.08);
}

.ds-enrol-item-row:active {
  background: rgba(169, 26, 106, 0.14);
}

/* breakpoints (same as pay now) */
@media (max-width: 1024px) {
  .ds-enrol-item {
    margin-left: 10px;
  }

  .ds-enrol-btn {
    padding: 10px 18px !important;
    font-size: .85rem !important;
  }
}

@media (max-width: 768px) {
  .ds-enrol-item {
    margin-left: 8px;
  }

  .ds-enrol-btn {
    padding: 9px 16px !important;
    font-size: .9rem !important;
  }
}

/* mobile: dropdown full width under button */
@media (max-width: 576px) {
  .ds-enrol-item {
    width: 100%;
  }

  .ds-enrol-btn {
    width: 100% !important;
  }

  .ds-enrol-dropdown {
    position: static;
    width: 100%;
    margin-top: 10px;
  }
}

/* =========================
   CONTACT DRAWER (LEFT TAB)
   Brand: #a91a6a (pink) + #01345b (navy)
   FULL POLISHED VERSION
   ========================= */

:root {
  --ds-pink: #a91a6a;
  --ds-navy: #01345b;

  --ds-ink: #0f172a;
  --ds-muted: rgba(15, 23, 42, .62);
  --ds-line: rgba(15, 23, 42, .10);

  --ds-shadow: 0 16px 34px rgba(2, 6, 23, .22);
  --ds-shadow-2: 0 24px 70px rgba(2, 6, 23, .30);
}

/* =========================
   LEFT PILL TAB
   ========================= */
.ds-contactfab {
  position: fixed;
  left: 0;
  top: 220px;

  height: 58px;
  width: 190px;

  display: flex;
  align-items: center;
  gap: 10px;

  border: 0;
  outline: 0;
  padding: 8px 12px 8px 8px;

  border-radius: 0 999px 999px 0;
  background: linear-gradient(135deg, #9b1964, var(--ds-pink));
  color: #fff;

  box-shadow: var(--ds-shadow);
  cursor: pointer;
  z-index: 20050;

  -webkit-appearance: none;
  appearance: none;

  transform: translateX(-14px);
  /* cut kam */
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.ds-contactfab:hover {
  transform: translateX(0);
  filter: brightness(1.03);
  box-shadow: 0 20px 44px rgba(2, 6, 23, .28);
}

.ds-contactfab:active {
  transform: translateX(-6px) scale(.99);
}

/* white icon slab */
.ds-contactfab .ds-tab-icon {
  width: 56px;
  height: 58px;
  border-radius: 0 16px 16px 0;
  background: #fff;
  display: grid;
  place-items: center;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .08);
}

.ds-contactfab .ds-tab-svg {
  width: 34px;
  height: 34px;
  display: block;
}

.ds-contactfab .ds-tab-text {
  font-weight: 900;
  letter-spacing: .06em;
  font-size: 1rem;
  color: #fff;
  line-height: 1;
  white-space: nowrap;
  /* text-transform: uppercase; */
  text-shadow: 0 2px 10px rgba(0, 0, 0, .18);
}

body.ds-drawer-open #dsContactFab {
  display: none !important;
}

/* =========================
   DRAWER WRAPPER
   ========================= */
.ds-contactdrawer {
  position: fixed;
  inset: 0;
  z-index: 20000;
  pointer-events: none;
}

/* Backdrop */
.ds-contactdrawer__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 6, 23, .55);
  opacity: 0;
  transition: opacity .22s ease;
}

/* Panel */
.ds-contactdrawer__panel {
  position: absolute;
  left: 0;
  top: 0;
  height: 100vh;

  width: 420px;
  max-width: 92vw;

  background: #ffffff;
  box-shadow: var(--ds-shadow-2);

  transform: translateX(-102%);
  transition: transform .26s ease;

  display: flex;
  flex-direction: column;

  border-top-right-radius: 22px;
  border-bottom-right-radius: 22px;
  overflow: hidden;
  z-index: 20001;
}

/* OPEN */
.ds-contactdrawer.is-open {
  pointer-events: auto;
}

.ds-contactdrawer.is-open .ds-contactdrawer__backdrop {
  opacity: 1;
}

.ds-contactdrawer.is-open .ds-contactdrawer__panel {
  transform: translateX(0);
}

/* =========================
   HEADER (About/Us style)
   ========================= */
.ds-contactdrawer__head {
  position: sticky;
  top: 0;
  z-index: 5;

  padding: 18px 16px 14px;
  background-color: var(--ds-navy);
  /* radial-gradient(900px 240px at -20% -40%, rgba(169,26,106,.16), transparent 55%),
    radial-gradient(900px 240px at 110% 0%, rgba(1,52,91,.16), transparent 58%),
    linear-gradient(90deg, rgba(1,52,91,.06), rgba(169,26,106,.05)); */
  border-bottom: 1px solid var(--ds-line);

  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.ds-contactdrawer__title {
  font-weight: 900;
  font-size: 1.2rem;
  color: var(--Secondary-Text-Color);
  margin: 0;
}

/* underline bar like section headings */
.ds-contactdrawer__title::after {
  content: "";
  display: block;
  width: 44px;
  height: 3px;
  border-radius: 999px;
  margin-top: 8px;
  /* background: linear-gradient(90deg, var(--ds-pink), var(--ds-navy)); */
}

.ds-contactdrawer__sub {
  margin-top: 10px;
  /* underline ke baad spacing */
  font-size: .88rem;
  color: var(--Secondary-Text-Color);
  line-height: 1.35;
}

/* =========================
   CLOSE BUTTON (X ALWAYS)
   ========================= */
.ds-contactdrawer__close {
  border: 0;
  width: 42px;
  height: 42px;
  border-radius: 14px;

  background: #ffffff;
  display: flex;
  align-items: center;
  /* vertical center */
  justify-content: center;
  /* horizontal center */

  cursor: pointer;
  box-shadow: 0 10px 24px rgba(2, 6, 23, .12);
  color: var(--ds-navy);

  padding: 0;
  /* extra offset remove */
}

.ds-contactdrawer__close:hover {
  transform: translateY(-1px);
  background: rgba(1, 52, 91, .06);
  box-shadow: 0 16px 30px rgba(2, 6, 23, .14);
}

/* If FA icon missing -> show × via CSS */
.ds-contactdrawer__close i {
  font-size: 18px;
  line-height: 1;
  display: block;
}

.ds-contactdrawer__close i:empty {
  display: none;
}

/* guaranteed fallback */
.ds-contactdrawer__close::before {
  content: "×";
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
  color: var(--ds-navy);
}

/* If FA icon exists, hide fallback */
.ds-contactdrawer__close:has(i) {
  /* when i is present, we prefer icon, but keep fallback safe */
}

.ds-contactdrawer__close:has(i)::before {
  content: "";
}

/* =========================
   BODY
   ========================= */
.ds-contactdrawer__body {
  padding: 16px;
  overflow: auto;
}

/* =========================
   ALERTS
   ========================= */
.ds-drawer-alert {
  border-radius: 14px;
  padding: 12px 12px;
  margin-bottom: 12px;
  font-size: .92rem;
  border: 1px solid var(--ds-line);
}

.ds-drawer-alert--success {
  background: rgba(34, 197, 94, .10);
  border-color: rgba(34, 197, 94, .22);
}

.ds-drawer-alert--error {
  background: rgba(239, 68, 68, .10);
  border-color: rgba(239, 68, 68, .22);
}

.ds-drawer-alert--error strong {
  display: block;
  margin-bottom: 6px;
}

.ds-drawer-alert--error ul {
  margin: 6px 0 0;
  padding-left: 18px;
}

/* =========================
   FORM LOOK (premium)
   ========================= */
.ds-drawer-form {
  margin-top: 6px;
}

/* section card feel inside drawer */
.ds-drawer-form {
  background: #ffffff;
}

.ds-drawer-form .ds-field {
  margin-bottom: 12px;
}

.ds-drawer-form label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: .84rem;
  font-weight: 900;
  color: var(--ds-ink);
  margin-bottom: 6px;
}

.ds-drawer-form label span {
  color: #ef4444;
  font-weight: 900;
}

/* input wrapper + icon */
.ds-input {
  position: relative;
  display: flex;
  align-items: center;
  background: #f8fafc;
  border: 1px solid rgba(15, 23, 42, .14);
  border-radius: 14px;
  transition: border .15s ease, box-shadow .15s ease, background .15s ease;
}

.ds-input .ds-ico {
  /* width: 44px; */
  height: 44px;
  display: grid;
  place-items: center;
  color: rgba(1, 52, 91, .75);
}

.ds-input .ds-ico i {
  font-size: 16px;
}

.ds-input input,
.ds-input textarea {
  width: 100%;
  border: 0;
  outline: none;
  background: transparent;
  padding: 12px 12px;
  font-size: .95rem;
  color: var(--ds-ink);
}

.ds-input input::placeholder,
.ds-input textarea::placeholder {
  color: rgba(15, 23, 42, .42);
  font-weight: 600;
}

.ds-input:focus-within {
  background: #fff;
  border-color: rgba(169, 26, 106, .55);
  box-shadow: 0 0 0 4px rgba(169, 26, 106, .12);
}

.ds-input:focus-within .ds-ico {
  color: var(--ds-pink);
}

/* textarea */
.ds-input.ds-textarea {
  align-items: flex-start;
}

.ds-input.ds-textarea .ds-ico {
  height: auto;
  padding-top: 12px;
}

.ds-input textarea {
  resize: vertical;
  min-height: 120px;
}

/* two columns */
.ds-drawer-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

/* submit */
.ds-drawer-btn {
  width: 100%;
  border: 0;
  border-radius: 999px;
  padding: 13px 16px;

  background: linear-gradient(135deg, var(--ds-pink), #c01f7b);
  color: #fff;

  font-weight: 900;
  font-size: .95rem;
  cursor: pointer;
  margin-top: 10px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  box-shadow: 0 16px 34px rgba(169, 26, 106, .24);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}

.ds-drawer-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 20px 44px rgba(169, 26, 106, .30);
  filter: brightness(1.02);
}

.ds-drawer-btn:active {
  transform: translateY(0);
}

/* Lock body scroll */
body.ds-drawer-open {
  overflow: hidden;
}

/* =========================
   MOBILE
   ========================= */
@media (max-width: 767.98px) {
  .ds-contactfab {
    left: 14px;
    /* top: auto; */
    bottom: 18px;

    width: 54px;
    height: 54px;
    padding: 0;
    border-radius: 999px;

    transform: none;
    justify-content: center;
  }

  .ds-contactfab:hover {
    transform: none;
  }

  .ds-contactfab .ds-tab-text {
    display: none;
  }

  .ds-contactfab .ds-tab-icon {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    box-shadow: 0 0 0 4px rgba(169, 26, 106, .18);
  }

  .ds-contactfab .ds-tab-svg {
    width: 24px;
    height: 24px;
  }

  .ds-contactdrawer__panel {
    width: 100%;
    max-width: 100%;
    border-radius: 0;
  }

  .ds-drawer-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .content {
    margin-bottom: 20px;
  }
}