/* Base Styles */
.identity-st-logo {
  background-image: url(../assets/st-logo.svg);
  background-size: contain;
  background-repeat: no-repeat;
  height: 1.522rem;
  width: 4.375rem;
}

/* .tnc-logo {
  background-image: url(../assets/terms-conditions-logo.svg);
  background-size: contain;
  background-repeat: no-repeat;
  height: 7.313rem;
  width: 13.75rem;
  margin-top: 5.75rem;
} */

.ct-container-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 100vh;
  background-color: #F5F6F7;
  /* padding: 0 1rem;
  box-sizing: border-box; */
}

.ct-container {
  /* width: 100%;
  max-width: 52.5rem; */
  min-height: calc(100vh - 55px);
}

.ct-content-wrapper {
  margin-top: 7rem;
  /* width: 100%; */
}

/* Responsive Header */
.header-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 4.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #000;
  background-color: #004EA8;
  box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.3);
  padding: 0 2.5rem;
  z-index: 10000;
  /* box-sizing: border-box; */
}

/* .header-menu {
  margin-right: 1.5rem;
  cursor: pointer;
  display: none;
} */

/* .header-logo {
  height: 1.75rem;
} */

.header-wrapper .header-left-content {
  display: flex;
  /* align-items: center; */
}

/* Modal Responsive Styles */
#bb-merged-modal .modal {
  z-index: 10001;
  padding: 0 1rem;
  box-sizing: border-box;
}

#bb-merged-modal .modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 10000;
}

#bb-merged-modal .tnc-modal {
  max-width: 90vw;
  width: 100%;
  margin: 1rem auto;
  box-sizing: border-box;
}

#bb-merged-modal .modal-content {
  width: 100%;
  height: 95vh;
  max-height: 95vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-sizing: border-box;
}

#bb-merged-modal .modal-header {
  flex-shrink: 0;
  padding: 1.5rem 2rem 1rem;
  justify-content: space-between;
}

#bb-merged-modal .modal-body {
  flex: 1;
  overflow: hidden;
  padding: 0 2rem 1.5rem;
  display: flex;
  flex-direction: column;
}

#bb-merged-modal #bb-terms-modal-body {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}

/* PDF Container - Only for terms modal */
#bb-merged-modal .bb-block--lg {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 1rem;
  overflow: hidden;
}

#bb-merged-modal .terms-pdf {
  background: white;
  flex: 1;
  max-height: 60vh; /* Increased from 40rem for better mobile experience */
  overflow-y: auto;
  overflow-x: hidden;
  border: 1px solid #e9ecef;
  border-radius: 0.5rem;
  box-sizing: border-box;
  padding: 0.5rem; /* Added padding for better content spacing */
}

#bb-merged-modal .canvas-wrapper {
  margin-bottom: 1rem; /* Reduced from 2rem for mobile */
  padding-bottom: 1rem; /* Reduced from 1.5rem */
  position: relative;
  width: 100%;
  box-sizing: border-box;
}

#bb-merged-modal .canvas-wrapper::after {
  content: '';
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 6px;
  background-color: gray;
}

#bb-merged-modal .canvas-wrapper:last-child::after {
  display: none;
}

#bb-merged-modal canvas {
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  display: block;
  box-sizing: border-box;
  /* Ensure canvas scales properly on all devices */
  object-fit: contain;
}

#bb-merged-modal .textLayer {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  opacity: 0.2;
  line-height: 1;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  text-size-adjust: none;
  pointer-events: none; /* Prevent text selection interference */
}

/* Form Responsive */
#bb-merged-modal .merged-tnc-form {
  flex-shrink: 0;
}

#bb-merged-modal .tnc-acceptance-footer {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

#bb-merged-modal .merged-form-check-label {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding-left: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.4;
  cursor: pointer;
}

#bb-merged-modal .merged-form-check-label p {
  margin: 0;
  flex: 1;
}

/* Custom Checkbox Styles */
#bb-merged-modal input[type="checkbox"] {
  display: none;
}

#bb-merged-modal input[type="checkbox"] + .box {
  position: relative;
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
  margin-top: 0.125rem;
}

#bb-merged-modal input[type="checkbox"] + .box:after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: '';
  width: 1.5rem;
  height: 1.5rem;
  border: 0.063rem solid #99C1E7;
  border-radius: 0.25rem;
  background-color: #fff;
  transition: all 0.3s;
  box-sizing: border-box;
}

#bb-merged-modal input[type="checkbox"]:checked + .box:after {
  background-color: #0072D8;
  border-color: #0072D8;
}

#bb-merged-modal input[type="checkbox"]:checked + .box:before {
  position: absolute;
  left: 0.5rem;
  top: 0.25rem;
  width: 0.5rem;
  height: 0.938rem;
  border-width: 0.125rem;
  border-style: solid;
  border-top: 0;
  border-left: 0;
  border-color: #fff;
  content: '';
  transform: rotate(45deg);
  z-index: 2;
}

#bb-merged-modal input[type="checkbox"]:disabled + .box:after {
  background-color: #f8f9fa;
  border-color: #dee2e6;
  cursor: not-allowed;
}

/* Button Responsive */
#bb-merged-modal .btn-align-right {
  display: flex;
  justify-content: flex-end;
}

#bb-merged-modal .bb-button-bar__button-size {
  padding: 0.75rem 2rem;
  min-width: 140px;
  font-size: 1rem;
}

/* #bb-merged-modal .bb-button-modal__button-size {
  padding: 0.5rem 1.5rem;
} */

/* Close Button */
#bb-merged-modal .btn-clear {
  margin: 0;
  padding: 0.5rem;
  background: none;
  border: none;
  cursor: pointer;
}

#bb-merged-modal .bb-icon-clear::before {
  content: url(../assets/clear.svg) !important;
}

/* Container Responsive */
#bb-merged-modal .scroll-instruction {
  font-weight: bold;
}

/* .tnc-container {
  align-items: flex-start;
  padding: 1rem 1rem 1rem 3rem;
} */

/* .tnc-title {
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1.4;
  margin-bottom: 1rem;
} */

/* .tnc-intro {
  color: #919191;
  margin-bottom: 1rem;
} */

#bb-merged-modal .tnc-text {
  font-weight: bold;
}

#bb-merged-modal .form-check{
  position: relative;
  display: block;
  padding: 0;
}
/* Responsive Breakpoints */

/* Large screens (1200px and up) */
@media (min-width: 1200px) {
  #bb-merged-modal .tnc-modal {
    max-width: 1140px;
  }
}

/* Medium screens (768px to 1199px) */
@media (min-width: 768px) and (max-width: 1199px) {
  /* .left-item__space {
    margin-right: 0.25rem;
    margin-left: 2.5rem;
    padding-right: 3.125rem;
  } */

  /* .tnc-container > .bb-stack__item--push-right {
    margin-left: 1.5rem;
  } */
  
  #bb-merged-modal .tnc-modal {
    max-width: 95vw;
  }
}

/* Small screens (576px to 767px) */
@media (min-width: 576px) and (max-width: 767px) {
  #bb-merged-modal .terms-pdf {
    max-height: 55vh;
    padding: 0.375rem;
  }

  #bb-merged-modal .tnc-modal {
    margin: 2rem auto;
    max-width: 95vw;
  }
  
  #bb-merged-modal .modal-header,
  #bb-merged-modal .modal-body {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  
  #bb-merged-modal .bb-button-bar__button-size {
    padding: 0.75rem 1.5rem;
  }
}

/* Extra small screens (up to 575px) */
@media (max-width: 575px) {
  /* .header-wrapper {
    padding: 0 1rem;
  } */
  #bb-merged-modal .terms-pdf {
    max-height: 50vh; /* Reduced height for small screens */
    padding: 0.25rem;
  }

  #bb-merged-modal .canvas-wrapper {
    margin-bottom: 0.5rem;
    padding-bottom: 0.5rem;
  }
  
  #bb-merged-modal .terms-pdf {
    -webkit-overflow-scrolling: touch;
  }

  .header-wrapper ul.header-right-content {
    display: none;
  }

  /* .header-menu {
    display: block;
  } */

  /* .header-logo {
    height: 1.5rem;
  } */

  .ct-content-wrapper {
    margin-top: 6rem;
  }

  /* .tnc-logo {
    height: 6rem;
    width: 11rem;
    margin-top: 3rem;
  } */

  /* .tnc-container {
    align-items: center;
    padding: 1rem;
  } */
  
  #bb-merged-modal {
    padding: 0 0.5rem;
  }
  
  #bb-merged-modal .tnc-modal {
    margin: 0.5rem auto;
    max-width: 100%;
  }
  
  #bb-merged-modal .modal-header {
    padding: 1rem;
  }
  
  #bb-merged-modal #bb-terms-modal-header h2 {
    font-size: 1.125rem;
    margin-bottom: 0.5rem;
  }

  #bb-merged-modal .modal-body {
    padding: 0 1rem 1rem;
  }
  
  #bb-merged-modal .merged-form-check-label{
    font-size: 0.875rem;
    gap: 0.5rem;
  }
  
  #bb-merged-modal .merged-form-check-label p {
    line-height: 1.3;
  }

  #bb-merged-modal .btn-align-right {
    justify-content: stretch;
  }

  #bb-merged-modal .bb-button-bar__button-size {
    width: 100%;
    padding: 0.875rem 1rem;
    font-size: 0.875rem;
  }

  .ct-container {
    padding: 0.5rem;
  }
}

/* Very small screens (up to 375px) */
@media (max-width: 375px) {
  /* .header-wrapper {
    height: 4rem;
    padding: 0 0.75rem;
  } */
  
  #bb-merged-modal .modal-header {
    padding: 0.75rem;
  }
  
  #bb-merged-modal #bb-terms-modal-header h2 {
    font-size: 1rem;
  }

  #bb-merged-modal .scroll-instruction {
    font-weight: bold;
    font-size: 0.8rem;
  }
  
  #bb-merged-modal .modal-body {
    padding: 0 0.75rem 0.75rem;
  }
  
  #bb-merged-modal .merged-form-check-label {
    font-size: 0.8rem;
  }
  
  #bb-merged-modal input[type="checkbox"] + .box {
    width: 1.25rem;
    height: 1.25rem;
  }
  
  #bb-merged-modal input[type="checkbox"] + .box:after {
    width: 1.25rem;
    height: 1.25rem;
  }
  
  #bb-merged-modal .bb-button-bar__button-size {
    padding: 0.75rem 0.75rem;
    font-size: 0.8rem;
  }
}

/* Landscape orientation on mobile */
@media (max-width: 767px) and (orientation: landscape) {
  #bb-merged-modal .modal-content {
    max-height: 98vh;
  }
  
  #bb-merged-modal .terms-pdf {
    max-height: 40vh;
  }
  
  #bb-merged-modal .modal-header {
    padding: 0.75rem 1rem;
  }
  
  #bb-merged-modal #bb-terms-modal-header h2 {
    font-size: 1rem;
    margin-bottom: 0.25rem;
  }

  #bb-merged-modal .canvas-wrapper {
    margin-bottom: 0.25rem;
    padding-bottom: 0.25rem;
  }
}

/* High DPI displays */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  #bb-merged-modal canvas {
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
    image-rendering: pixelated;
  }
}

/* Dark mode support (optional) */
@media (prefers-color-scheme: dark) {
  #bb-merged-modal .terms-pdf {
    background: #ffffff;
    color: #000000;
  }
}

/* Print styles */
@media print {
  #bb-merged-modal .modal-backdrop,
  #bb-merged-modal .btn-clear {
    display: none !important;
  }
  
  #bb-merged-modal .modal-content {
    box-shadow: none;
    border: 1px solid #000;
  }

  #bb-merged-modal .terms-pdf {
    max-height: none;
    overflow: visible;
    page-break-inside: avoid;
  }
  
  #bb-merged-modal .canvas-wrapper {
    page-break-inside: avoid;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  #bb-merged-modal .terms-pdf {
    max-height: 65vh;
    padding: 0.5rem;
  }
}

@media (min-width: 992px) {
  #bb-merged-modal .terms-pdf {
    max-height: 70vh;
    padding: 0.75rem;
  }
}
