/* Remove default browser styles */
h1, h2, h3, h4, h5, h6 { margin: 0; padding: 0; font-weight: normal; font-size: 16px; }
a { text-decoration: none; color: inherit; }
ul { padding: 0; margin: 0; list-style: none; }
button { background: none; border: none; padding: 0; margin: 0; font: inherit; color: inherit; cursor: pointer; outline: none; }
body { font-family: "Poppins", sans-serif; width: 100%; overflow-x: hidden; }
.custom-background { background: url("/img/assets/Asset9.png"); background-blend-mode: overlay; background-repeat: no-repeat; background-size: 100% 100%; min-height: auto; height: auto; clip-path: inset(0 0 0 0 round 0px 0px 100px 100px); z-index: 1; }
.main-img { position: absolute; top: -360px; right: -300px; z-index: -1; width: 60%; overflow: hidden; }
.logo-img { width: 140px; height: auto; }
.main-grid { display: grid; grid-template-columns: 1fr 1fr; }
.left-section { display: grid; grid-template-columns: 1fr 1fr; gap: 1.8rem; }
.right-section { display: grid; grid-template-columns: 2fr 1fr; }
.card-item { min-height: 3rem; }
.card-max-h { max-height: 15.41rem; }
.custom-link:hover { text-decoration: underline; }
.section-border-bottom { border: none; border-bottom-left-radius: 4rem; border-bottom-right-radius: 4rem; }
.custom-header { text-align: center; width: auto; margin: 0 auto; font-weight: bold; }
.text-muted { color: white !important; }
.custom-button { font-size: 12px; padding: 0.8rem 2.2rem; background-color: #27adae; width: fit-content; color: white; font-weight: 700; }
.custom-bg-primary { background-color: #00339e; }
.font-base { font-size: 16px; }
.font-small { font-size: 14px; }
.font-xsmall { font-size: 10px; }
.custom-p { color: white; }
.custom-footer { background-color: #001a50; border-top-left-radius: 4rem; border-top-right-radius: 4rem; padding: 3.5rem 0; }
.large-font { font-size: clamp(1.8rem, 2.5vw, 2.5rem); }
.min-h { min-height: 400px; }
.assets-style { max-height: 60px; max-width: 100px; width: 100%; object-fit: contain; }
.custom-style { padding: 3rem 1.5rem 1.5rem 1.5rem; }
.new-service { position: absolute; top: -38px; left: -35px; padding: 0.8rem 1.8rem; }
.font-large { font-size: 18px; }
.mid-font { font-size: 2rem; }
.custom-main-width { width: 100%; }
.footer-image { width: 11rem; }
.footer-payments-images { width: 80px; height: 40px; }

@media (max-width: 768px) {
  .large-font { font-size: 1.5rem; }
  .font-large { font-size: 14px; }
  .mid-font { font-size: 1.2rem; }
  .font-base { font-size: 12px; }
  .font-small { font-size: 12px; }
  .footer-border-top { border-top-left-radius: 2rem; border-top-right-radius: 2rem; padding: 2.5rem 0; }
  .main-img { visibility: hidden; }
  .assets-style { width: 70px; }
  .new-service { position: absolute; top: -38px; left: -10px; padding: 0.8rem 1.8rem; }
  .main-grid { grid-template-columns: 1fr; gap: 3rem; }
  .left-section { grid-template-columns: 1fr; }
  .right-section { grid-template-columns: 1fr; }
  .logo-img { width: 120px; }
  .footer-image { width: 7rem; }
  .footer-payments-images { width: 4rem; height: auto; }
}

@media (min-width: 320px) and (max-width: 374px) {
  .font-base { font-size: 11px; }
  .font-small { font-size: 11px; }
  .mid-font { font-size: 1rem; }
  .large-font { font-size: 1.2rem; }
  .font-large { font-size: 12px; }
  .logo-style { padding: 3rem 1rem; }
  .font-xsmall { font-size: 10px; }
  .logo-img { width: 100px; }
}

@media (min-width: 375px) and (max-width: 424px) {
  .font-base { font-size: 12px; }
  .font-small { font-size: 12px; }
  .mid-font { font-size: 1rem; }
  .large-font { font-size: 1.3rem; }
  .font-large { font-size: 14px; }
  .logo-style { padding: 5rem 2rem; }
  .logo-img { width: 110px; }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .large-font { font-size: 2rem; }
  .font-large { font-size: 16px; }
  .mid-font { font-size: 1.5rem; }
  .font-base { font-size: 14px; }
  .custom-header { width: 100%; }
  .main-img { visibility: hidden; }
  .logo-img { width: 130px; }
}

@media (min-width: 1024px) and (max-width: 1199px) {
  .large-font { font-size: 2.2rem; }
  .mid-font { font-size: 1.8rem; }
}

@media (min-width: 768px) and (max-width: 1400px) {
  .main-grid { grid-template-columns: 1fr; gap: 4rem; }
  .left-section { grid-template-columns: 1fr 1fr; border-bottom: 2px solid white; padding-bottom: 2rem; }
  .right-section { display: block; width: 60%; margin: auto; }
}

@media (min-width: 1400px) {
  .main-grid { grid-template-columns: 1fr 1fr; }
  .left-section { grid-template-columns: 1fr 1fr; border-right: 3px solid white; border-bottom: none; padding-top: 4rem; padding-right: 3rem; }
  .right-section { display: grid; grid-template-columns: 3fr 1fr; margin-left: 3rem; }
}

/* ==========================================================================
   GLOBAL / SMOOTH SCROLL
   ========================================================================== */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 110px; /* clear 100px sticky TOC + buffer */
  overflow-x: hidden;
}
body {
  position: relative;
  overflow-x: hidden;       /* prevent unwanted horizontal scroll */
}

/* ==========================================================================
   PRIVACY POLICY CONTAINER
   ========================================================================== */
#privacy-policy {
  font-family: 'Poppins', sans-serif;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

/* ==========================================================================
   POLICY SECTIONS — DIMMING & ACTIVE HEADING
   ========================================================================== */
.policy-section {
  opacity: 0.4;
  transition: opacity .3s ease;
  margin-bottom: 2rem;
}
.policy-section:first-of-type {
  opacity: 1;
}

.policy-section h2 {
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  color: #212529;
  transition: color .3s ease, font-size .3s ease;
}
.policy-section h2.active-section-heading {
  font-size: clamp(1.5rem, 2.5vw, 1.75rem);
  color: #082790 !important;
}

.policy-section h5 {
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  color: #212529;
  margin-left: 1.5rem;
  transition: color .3s ease;
}
.policy-section h5.active-section-heading {
  color: #082790 !important;
}

/* Indent content under h5 */
.policy-section h5 + p,
.policy-section h5 + ul {
  margin-left: 1.5rem;
}

/* ==========================================================================
   VERTICAL DIVIDER
   ========================================================================== */
.divider {
  width: 1px;
  background-color: #e9ecef;
}

/* ==========================================================================
   TABLE OF CONTENTS (SIDEBAR)
   ========================================================================== */
#privacy-nav {
  position: sticky;
  top: 15px;
  max-height: calc(100vh - 120px);
  overflow-y: auto;
  padding-right: 1rem;
  -ms-overflow-style: none;  /* IE scrollbar hide */
  scrollbar-width: thin;     /* Firefox */
}

#privacy-nav h5 {
  font-size: clamp(0.875rem, 1.25vw, 1rem);
  letter-spacing: .05em;
  color: #495057;
  margin-bottom: 1rem;
}

#privacy-nav .nav {
  list-style: none;
  padding-left: 0;
}

#privacy-nav .nav-link {
  display: block;
  font-size: clamp(0.75rem, 1vw, 0.9rem);
  color: #212529;
  text-decoration: none;
  padding: .25rem 0;
  white-space: nowrap;
  transition: color .2s, padding-left .2s;
}
#privacy-nav .nav-link:hover,
#privacy-nav .nav-link:focus {
  color: #0d6efd;
  padding-left: .5rem;
}
#privacy-nav .nav-link.active {
  font-weight: 600;
  color: #082790 !important;
  padding-left: .5rem;
}

#privacy-nav .nav .nav {
  padding-left: 1rem;
}
#privacy-nav .nav .nav .nav-link {
  font-size: clamp(0.7rem, 0.9vw, 0.85rem);
  transition: color .2s, padding-left .2s;
}
#privacy-nav .nav .nav .nav-link.active {
  color: #082790 !important;
}

/* Collapse/expand subsections */
#privacy-nav .nav-item > .nav {
  display: none;
}
#privacy-nav .nav-link.active + .nav {
  display: block;
}

/* Special spacing for section 5.1 list */
#how-we-share ul.ps-3.mb-4 > li {
  margin-bottom: 1rem;
}

/* Scrollbar styling (WebKit) */
#privacy-nav::-webkit-scrollbar {
  width: 6px;
}
#privacy-nav::-webkit-scrollbar-thumb {
  background-color: rgba(0,0,0,.1);
  border-radius: 3px;
}

/* ==========================================================================
   RESPONSIVE — TABLETS
   ========================================================================== */
@media (max-width: 991.98px) {
  #privacy-nav {
    position: relative;
    top: auto;
    max-height: none;
    margin-bottom: 2rem;
    border-left: none;
  }
}

/* ==========================================================================
   RESPONSIVE — MOBILE HORIZONTAL TOC
   ========================================================================== */
@media (max-width: 575.98px) {
  /* Flush container so TOC can span true full width */
  #privacy-policy > .container {
    padding-left: 0;
    padding-right: 0;
  }

  /* Horizontal, full‑viewport TOC */
  #privacy-nav {
    display: block !important;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw !important;
    max-width: 100vw !important;
    overflow-x: auto;
    white-space: nowrap;
    background: #fff;
    border-bottom: 1px solid #e9ecef;
    padding: .5rem 1rem;
    margin: 0 0 1rem 0;
    z-index: 10;
  }
  .divider { display: none; }

  #privacy-nav .nav {
    display: flex;
    flex-wrap: nowrap;
  }
  #privacy-nav .nav-item {
    margin-right: .75rem;
  }
  /* Hide nested on mobile */
  #privacy-nav .nav .nav {
    display: none !important;
  }
  #privacy-nav .nav-link {
    padding: 0 1rem;
    font-size: .95rem;
  }

  /* Scale down base font for better fit */
  html {
    font-size: .85rem;
  }

  /* Content column full‑width */
  .col-md-7.col-lg-8,
  .col-lg-8.col-md-7 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }

  /* Add padding inside content areas */
  .col-lg-8 .px-lg-4,
  .col-md-7 .px-md-3 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  /* Responsive H3 under header */
  #privacy-policy h3.text-left.mb-5 {
    font-size: clamp(1rem, 2.5vw, 1.25rem);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 0 1rem;
  }

  /* NOTE: no .navbar-collapse override here—leave Bootstrap’s default intact */
}

/* ==========================================================================
   RESPONSIVE — VERY SMALL SCREENS
   ========================================================================== */
@media (max-width: 400px) {
  html {
    font-size: .8rem;
  }
  #privacy-nav .nav-link {
    font-size: .9rem;
    padding: 0 .75rem;
  }
  .policy-section h2 {
    font-size: 1.1rem;
  }
  .policy-section h2.active-section-heading {
    font-size: 1.3rem;
  }
  .policy-section h5 {
    font-size: .9rem;
  }
}

.d-flex.flex-column {
  overflow: visible !important;
}

/* ==========================================================================
   TREAT TABLET LIKE MOBILE — HORIZONTAL TOC @ ≤820px
   ========================================================================== */
@media (max-width: 820px) {
  /* 1) Make the container span full viewport */
  #privacy-policy > .container {
    max-width: 100% !important;
    padding-left: 0;
    padding-right: 0;
  }

  /* 2) Horizontal TOC bar, flush left */
  #privacy-nav {
    display: block !important;
    position: relative;
    left: 0 !important;
    transform: none !important;
    width: 100% !important;
    overflow-x: auto;
    white-space: nowrap;
    background: #fff;
    border-bottom: 1px solid #e9ecef;
    padding: .5rem 1rem;
    margin: 0 0 1rem 0;
    z-index: 10;
  }

  /* hide the vertical divider */
  .divider {
    display: none;
  }

  /* lay out the list items in a row, hide nested lists */
  #privacy-nav .nav {
    display: flex;
    flex-wrap: nowrap;
  }
  #privacy-nav .nav-item {
    margin-right: .75rem;
  }
  #privacy-nav .nav .nav {
    display: none !important;
  }

  /* 3) Full‑width content below the TOC */
  .col-md-7.col-lg-8,
  .col-lg-8.col-md-7 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }

  /* 4) Add padding inside main content */
  .col-lg-8 .px-lg-4,
  .col-md-7 .px-md-3 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  /* 5) Slightly larger TOC links for easier tapping */
  #privacy-nav .nav-link {
    font-size: 1rem;
    padding: 0 .75rem;
  }

@media (max-width: 767.98px) {
  /* Fix paragraph margin and alignment */
  #privacy-nav p {
    margin-left: 1rem;
    margin-right: 1rem;
    text-align: justify;
  }

  /* Center only the button */
  #privacy-nav .text-center {
    display: flex;
    justify-content: center;
  }

  #privacy-nav a.btn {
    display: inline-block;
    width: auto;
  }

  /* Remove excess top padding from .sticky-top on mobile */
  #privacy-nav .sticky-top {
    padding-top: 1rem !important;
  }
.privacy-description {
  word-wrap: break-word;
  overflow-wrap: break-word;
  max-width: 100%;
}



}





