/* =============================================================
   hugo-custom.css — Hugo structural overrides for Paheli theme
   Spacing / sizing / font values sourced from Paheli's
   existing style.css and responsive.css only.
   ============================================================= */

/* ---------------------------------------------------------------
   1. GLOBAL DARK-BLUE BACKGROUND
   Dark navy matching Paheli's footer (#1B2336).
   --------------------------------------------------------------- */
body {
  background-color: #1B2336;
  color: #d1d3d7;
}

.navbar-area,
.navbar-area.style-2 {
  background-color: #1B2336;
}
.navbar-area.is-sticky,
.navbar-area.style-2.is-sticky {
  background-color: #1B2336;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.4);
}

.page-title-area {
  background-color: #141c2b;
}

.services-details-area {
  background-color: #1B2336;
}

.modal-content {
  background-color: #242C3E;
  color: #d1d3d7;
}
.modal-content .modal-body .form-group .form-control {
  background-color: #2e3748;
  color: #d1d3d7;
  border-color: #3a4560;
}
.modal-content .modal-body .form-group .form-control::placeholder {
  color: #8892a4;
}
.modal-content .modal-body .form-group button {
  background-color: var(--primaryColor);
  color: var(--whiteColor);
}

/* ---------------------------------------------------------------
   2. CONTENT VISIBILITY ON DARK BACKGROUND
   --------------------------------------------------------------- */
.hp-content {
  color: #d1d3d7;
}

.hp-content h1,
.hp-content h2,
.hp-content h3,
.hp-content h4,
.hp-content h5,
.hp-content h6 {
  color: #ffffff;
}

.hp-content p {
  color: #d1d3d7;
}

.hp-content a {
  color: var(--secondaryColor);
}

.hp-content a:hover {
  color: var(--primaryColor);
}

.hp-content strong,
.hp-content b {
  color: #ffffff;
  font-weight: 600;
}

.hp-content ul,
.hp-content ol {
  color: #d1d3d7;
}

.hp-content li {
  color: #d1d3d7;
}

.hp-content blockquote {
  border-left: 3px solid var(--primaryColor);
  padding-left: 1rem;
  color: #aab2c0;
}

.hp-content img {
  max-width: 100%;
  height: auto;
}

.hp-content .hp-content-img {
  max-width: 100%;
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 1.5rem;
  border-radius: 8px;
}

.page-title-content h1 {
  color: #ffffff;
}

.page-title-content ul li {
  color: var(--secondaryColor);
}

.page-title-content ul li a {
  color: #d1d3d7;
}

.page-title-content ul li a:hover {
  color: var(--secondaryColor);
}

.page-title-content ul li::before {
  color: #d1d3d7;
}

/* ---------------------------------------------------------------
   3. TABLE STYLING — dark theme with purple gradient header
   --------------------------------------------------------------- */
.hp-table-scroll {
  overflow: hidden;
  border-radius: 8px;
  margin-bottom: 1.5rem;
  border: 1px solid #2e3a52;
}

.hp-table-inner {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.hp-table-inner table,
.hp-content table {
  min-width: 540px;
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  color: #d1d3d7;
  background-color: #242C3E;
}

.hp-content table thead,
.hp-table-inner table thead {
  background: linear-gradient(96deg, #6600FC 0%, #796eff 100%);
}

.hp-content table thead th,
.hp-table-inner table thead th {
  color: #ffffff;
  font-weight: 600;
  padding: 12px 16px;
  text-align: left;
  white-space: nowrap;
  border: none;
  font-size: 13px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.hp-content table tbody tr,
.hp-table-inner table tbody tr {
  border-bottom: 1px solid #2e3a52;
  transition: background-color 0.15s ease;
}

.hp-content table tbody tr:last-child,
.hp-table-inner table tbody tr:last-child {
  border-bottom: none;
}

.hp-content table tbody tr:hover,
.hp-table-inner table tbody tr:hover {
  background-color: #2a3450;
}

.hp-content table tbody td,
.hp-table-inner table tbody td {
  padding: 12px 16px;
  color: #d1d3d7;
  border: none;
  vertical-align: middle;
}

.hp-content table tbody td strong,
.hp-table-inner table tbody td strong {
  color: #ffffff;
  font-weight: 600;
}

/* ---------------------------------------------------------------
   4. MOBILE NAV — dark theme + always-visible play button
   --------------------------------------------------------------- */

/* Mobile bar background matches body */
.mobile-responsive-nav {
  background-color: #1B2336;
}

/* Container needs relative positioning to anchor the absolute CTA */
.hp-mobile-nav-container {
  position: relative;
}

/* Play button: always visible, sits between logo and hamburger.
   meanmenu-reveal is 35px wide at right:0. We sit at right:45px. */
.hp-mobile-cta {
  position: absolute;
  right: 45px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
}

.hp-mobile-cta .default-btn {
  font-size: 12px;
  padding: 10px 25px;
  white-space: nowrap;
  /* shrink the icon circle that desktop style adds */
  line-height: 1.4;
  right: 12px;
}

.hp-mobile-cta .default-btn i {
  display: none; /* hide icon on tiny screens to save space */
}

/* Meanmenu dropdown — dark themed */
.mobile-responsive-nav .mobile-responsive-menu.mean-container .mean-nav {
  background-color: #1B2336;
  margin-top: 52px;
}

.mobile-responsive-nav .mobile-responsive-menu.mean-container .mean-nav ul {
  background-color: #1B2336;
  border: none !important;
}

.mobile-responsive-nav .mobile-responsive-menu.mean-container .mean-nav ul li a {
  color: #d1d3d7 !important;
  border-top-color: #2e3a52;
}

.mobile-responsive-nav .mobile-responsive-menu.mean-container .mean-nav ul li a:hover {
  color: #ffffff !important;
  background-color: rgba(102, 0, 252, 0.15);
}

.mobile-responsive-nav .mobile-responsive-menu.mean-container .mean-nav ul li a.active {
  color: #ffffff !important;
  font-weight: 600;
}

/* Hamburger lines visible on dark bg */
.mobile-responsive-nav .mobile-responsive-menu.mean-container a.meanmenu-reveal {
  color: var(--secondaryColor);
}

.mobile-responsive-nav .mobile-responsive-menu.mean-container a.meanmenu-reveal span {
  background-color: var(--secondaryColor);
}

/* Tablet dot-menu popup — dark themed */
.others-option-for-responsive .others-options {
  background-color: #1B2336;
  border: 1px solid #2e3a52;
  border-radius: 6px;
  padding: 12px;
}

.others-option-for-responsive .dot-menu .inner .circle {
  background-color: var(--secondaryColor);
}

/* ---------------------------------------------------------------
   FOOTER LAYOUT FIX
   Paheli's style.css applies margin-left: 148px / 110px to
   nth-child(2/3) .single-footer-info. The inner sub-cols are
   children of .col-lg-8 > .row, so we scope the reset tightly.
   --------------------------------------------------------------- */
.footer-area .col-lg-8 .col-lg-4:nth-child(2) .single-footer-info,
.footer-area .col-lg-8 .col-lg-4:nth-child(3) .single-footer-info {
  margin-left: 0;
  float: none;
}

/* ---------------------------------------------------------------
   5. CONTENT BODY PLAY BUTTON (#PlayButton shortcode)
   --------------------------------------------------------------- */
.hp-content #PlayButton,
.hp-content a.default-btn,
.hp-content a.theme-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: linear-gradient(96deg, #6600FC 0%, #FA3988 51.56%, #FF8408 100%);
  color: #ffffff !important;
  padding: 14px 30px;
  border-radius: 4px;
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  margin-bottom: 1.5rem;
  transition: opacity 0.2s ease;
  border: none;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.hp-content #PlayButton:hover,
.hp-content a.default-btn:hover,
.hp-content a.theme-btn:hover {
  opacity: 0.9;
  color: #ffffff !important;
}

.hp-content #PlayButton i,
.hp-content a.default-btn i,
.hp-content a.theme-btn i {
  font-size: 16px;
  line-height: 1;
}

/* ---------------------------------------------------------------
   6. BREADCRUMB SECTION — SMALLER
   Reduce from 105px top/bottom to compact sizes.
   h1 from 40px to 26px.
   --------------------------------------------------------------- */
.page-title-area {
  padding-top: 30px;
  padding-bottom: 30px;
}

.page-title-content h1 {
  font-size: 26px;
  margin-bottom: 8px;
}

.page-title-content ul li {
  font-size: 13px;
}

/* ---------------------------------------------------------------
   7. RESPONSIVE IFRAMES — used by {{< demo >}} shortcode
   --------------------------------------------------------------- */
.demo-iframe-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
  margin-bottom: 1.5rem;
  border-radius: 8px;
}

.demo-iframe-container iframe,
.hp-demo-iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 8px;
}

/* ---------------------------------------------------------------
   8. CASINO LOGOS — footer copyright strip
   --------------------------------------------------------------- */
.hp-casino-logos {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}

.hp-casino-logos li {
  display: inline-flex;
  align-items: center;
}

.hp-casino-logos img {
  height: 28px;
  width: auto;
  opacity: 0.6;
  filter: brightness(0) invert(1);
  transition: opacity 0.2s ease;
}

.hp-casino-logos img:hover {
  opacity: 1;
  filter: brightness(1);
}

.copyright-area .lower-wrap .copyright-content p {
  margin-bottom: 0;
}

@media (max-width: 991px) {
  .hp-casino-logos {
    justify-content: center;
    margin-top: 12px;
  }

  .copyright-area .lower-wrap .copyright-content {
    text-align: center;
  }
}

/* ---------------------------------------------------------------
   FOOTER LINKS ROW — single horizontal row at the top of col-2
   --------------------------------------------------------------- */
.hp-footer-links-row {
  margin-bottom: 1.25rem;
}

.hp-footer-links-row ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
  margin-bottom: 0;
}

/* ---------------------------------------------------------------
   FOOTER DISCLAIMERS — stacked one above the other
   --------------------------------------------------------------- */
.hp-footer-disclaimers {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.hp-footer-disclaimer-item {
  margin-left: 0 !important;
  float: none !important;
}

/* ---------------------------------------------------------------
   DISCLAIMER & CASINO LOGOS — centered on mobile and tablet
   --------------------------------------------------------------- */
@media (max-width: 991px) {
  .copyright-content {
    text-align: center;
  }

  .hp-footer-links-row ul {
    justify-content: center;
  }

  .hp-footer-logos-wrap {
    display: flex;
    justify-content: center;
    margin-top: 12px;
  }

  .hp-casino-logos {
    justify-content: center;
  }

  .copyright-area .lower-wrap .copyright-content {
    text-align: center;
  }
}

/* ---------------------------------------------------------------
   CONTACT CARDS — equal height regardless of content
   --------------------------------------------------------------- */
.contact-area .row.justify-content-center {
  display: flex;
  flex-wrap: wrap;
}

.contact-area .row.justify-content-center > [class*="col-"] {
  display: flex;
}

.contact-area .single-contact-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.contact-area .single-contact-card p,
.contact-area .single-contact-card ul {
  flex: 1;
}

/* ---------------------------------------------------------------
   9. FAQ — dark themed
   --------------------------------------------------------------- */
.hp-faq-section {
  margin-top: 2rem;
}

.hp-faq-title h2 {
  color: #ffffff;
  margin-bottom: 1.25rem;
}

.hp-faq-item {
  border-bottom: 1px solid #2e3a52;
  padding: 1rem 0;
}

.hp-faq-item-first {
  border-top: 1px solid #2e3a52;
}

.hp-faq-question {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: 600;
  user-select: none;
  color: #ffffff;
}

.hp-faq-question-text {
  flex: 1;
  padding-right: 1rem;
}

.hp-faq-icon {
  flex-shrink: 0;
  font-size: 1.25rem;
  line-height: 1;
  color: var(--secondaryColor);
}

.hp-faq-answer {
  padding-top: 0.75rem;
  color: #d1d3d7;
}

.hp-faq-answer-inner p:last-child {
  margin-bottom: 0;
}

/* ---------------------------------------------------------------
   10. TOC — dark themed
   --------------------------------------------------------------- */
.toc-container {
  border: 1px solid #2e3a52;
  border-radius: 8px;
  padding: 1.25rem 1.5rem;
  margin-bottom: 1.5rem;
  background-color: #242C3E;
}

.toc-title {
  cursor: pointer;
  user-select: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: 600;
  color: #ffffff;
}

.toc-header-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.toc-header-content p {
  margin-bottom: 0;
  color: #ffffff;
}

.toc-toggle-icon {
  display: inline-flex;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  transition: transform 0.2s ease;
  color: var(--secondaryColor);
}

.toc-toggle-icon svg {
  width: 20px;
  height: 20px;
}

.toc-content {
  padding-top: 0.75rem;
}

.toc-content ul {
  padding-left: 1.25rem;
  margin-bottom: 0;
}

.toc-content li {
  margin-bottom: 0.25rem;
  color: #d1d3d7;
}

.toc-content a {
  color: #d1d3d7;
}

.toc-content a:hover {
  color: var(--secondaryColor);
}

/* ---------------------------------------------------------------
   11. CONTACT PAGE — dark themed
   --------------------------------------------------------------- */
.contact-area.pages-style {
  background-color: #1B2336;
}

.single-contact-card {
  background-color: #242C3E;
  border-radius: 8px;
  padding: 2rem 1.5rem;
  margin-bottom: 1.5rem;
}

.single-contact-card h3 {
  color: #ffffff;
}

.single-contact-card p,
.single-contact-card ul li,
.single-contact-card a {
  color: #d1d3d7;
}

.single-contact-card .icon i {
  color: var(--primaryColor);
  font-size: 2rem;
}

.contact-form-area {
  background-color: #1B2336;
}

.section-title h2 {
  color: #ffffff;
}

.contact-form-info .form-group .form-control,
.contact-form-info .form-control {
  background-color: #242C3E;
  color: #d1d3d7;
  border-color: #3a4560;
}

.contact-form-info .form-group .form-control::placeholder,
.contact-form-info .form-control::placeholder {
  color: #8892a4;
}

.contact-form-info button[type="submit"] {
  background: linear-gradient(96deg, #6600FC 0%, #FA3988 51.56%, #FF8408 100%);
  color: var(--whiteColor);
  border: none;
  padding: 14px 40px;
  border-radius: 4px;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.2s ease;
  margin-top: 0.5rem;
  display: block;
}

.contact-form-info button[type="submit"]:hover {
  opacity: 0.9;
}

/* ---------------------------------------------------------------
   12. 404 ERROR PAGE — dark themed
   --------------------------------------------------------------- */
.error-area {
  background-color: #1B2336;
}

.error-content h1 {
  color: #ffffff;
}

.error-content h1 span {
  color: var(--primaryColor);
}

.error-content h3 {
  color: #d1d3d7;
}

.error-content p {
  color: #8892a4;
}

/* ---------------------------------------------------------------
   13. GO-TO-TOP BUTTON
   --------------------------------------------------------------- */
.go-top {
  background-color: var(--primaryColor);
  color: #ffffff;
}

/* ---------------------------------------------------------------
   14. RESPONSIVE
   --------------------------------------------------------------- */
@media (max-width: 767px) {
  .page-title-content h1 {
    font-size: 22px;
  }

  .page-title-area {
    padding-bottom: 24px;
  }

  .hp-content #PlayButton,
  .hp-content a.default-btn,
  .hp-content a.theme-btn {
    font-size: 14px;
    padding: 12px 24px;
  }
}

/* -----------------------------------------------------------
   HARD FIX: eliminate header geometry change on sticky
   ----------------------------------------------------------- */

/* Lock header height and padding in BOTH states */
.navbar-area,
.navbar-area.is-sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;

  /* 🔒 freeze geometry */
  height: 80px;              /* adjust if needed */
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-bottom-width: 0;

  /* smooth visuals only */
  transition: box-shadow 0.25s ease, background-color 0.25s ease;
}

/* vertically center inner content */
.navbar-area .container,
.navbar-area .navbar,
.navbar-area .navbar-nav {
  height: 100%;
  display: flex;
  align-items: center;
}

/* -----------------------------------------------------------
   Disable header reappear animation + fix layout offset
   ----------------------------------------------------------- */

/* 1. Kill ALL show/hide animations and transforms */
.navbar-area,
.navbar-area.is-sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;

  transform: none !important;
  animation: none !important;
  transition: box-shadow 0.25s ease, background-color 0.25s ease;
}

/* 2. Ensure no "hidden" or slide-in states exist */
.navbar-area.hide,
.navbar-area.hidden,
.navbar-area.nav-up,
.navbar-area.nav-down {
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* 3. Lock header geometry (prevents jump forever) */
.navbar-area {
  height: 80px; /* ← replace with actual computed height if different */
}

/* 4. Offset page content for fixed header */
body {
  padding-top: 80px;
}
