/**
 * Mobile footer layout — match desktop feel: content close to bottom nav,
 * no huge black void, nav fixed and always visible.
 * PC (>=1024) untouched.
 */

@media (max-width: 1023.98px) {
  :root {
    /* SPA nav is ~4.2rem / 67–72px + home-indicator */
    --cig-nav-h: 4.2rem;
    --cig-nav-safe: env(safe-area-inset-bottom, 0px);
    --cig-nav-total: calc(var(--cig-nav-h) + var(--cig-nav-safe));
    /* only a few px breathing room above the bar */
    --cig-nav-gap: 6px;
  }

  /* Fixed bottom bar — pin flush, full width, keep SPA colors/grid */
  .navBtn {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 40 !important;
    height: var(--cig-nav-total) !important;
    min-height: var(--cig-nav-total) !important;
    max-height: var(--cig-nav-total) !important;
    padding-bottom: var(--cig-nav-safe) !important;
    box-sizing: border-box !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    /* kill hide/show animation that makes Deposit blink */
    transition: none !important;
    will-change: auto !important;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }

  /* Do not slide bar away on scroll-down (unless deposit/confirmo open) */
  html:not(.cig-deposit-open):not(.cig-confirmo-open) .navBtn,
  html:not(.cig-deposit-open):not(.cig-confirmo-open) .navBtn.navBtn-hidden,
  html:not(.cig-deposit-open):not(.cig-confirmo-open) .navBtn[data-cig-deposit-hid='1'] {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    transform: none !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    visibility: visible !important;
    z-index: 40 !important;
    transition: none !important;
  }

  /*
   * Spacer: ONLY the real nav height — this kills the giant black hole
   * from oversized / stacked spacers.
   */
  .bottom-nav-spacer {
    display: block !important;
    width: 100% !important;
    height: calc(var(--cig-nav-total) + var(--cig-nav-gap)) !important;
    min-height: calc(var(--cig-nav-total) + var(--cig-nav-gap)) !important;
    max-height: calc(var(--cig-nav-total) + var(--cig-nav-gap)) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    pointer-events: none !important;
    flex-shrink: 0 !important;
    overflow: hidden !important;
  }

  /* Hide leftover spacers injected by older JS (if still in DOM) */
  .cig-bottom-nav-spacer,
  [data-cig-spacer='1'] {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  /* Compact page footer so copyright sits just above the nav spacer */
  .footer-wrapper,
  .footer-wrapper[class] {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  .footer-inner,
  .footer-inner[class] {
    padding-bottom: 4px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .footer-bottom,
  .footer-bottom[class] {
    margin-top: 10px !important;
    margin-bottom: 0 !important;
    padding-bottom: 4px !important;
    gap: 8px !important;
  }

  .footer-copy,
  .footer-copy[class],
  .footer-emails,
  .footer-emails[class] {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  /*
   * Texto legal (Loto Participacoes / quota fixa) — alinhado e legível no mobile
   * SPA: .footer-legal-row + .footer-legal-text
   */
  .footer-legal-row,
  .footer-legal-row[class] {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    text-align: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 12px 0 10px !important;
    padding: 0 4px 12px !important;
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
    box-sizing: border-box !important;
  }

  .footer-legal-text,
  .footer-legal-text[class] {
    display: block !important;
    flex: none !important;
    width: 100% !important;
    max-width: 36rem !important;
    margin: 0 auto !important;
    padding: 0 8px !important;
    box-sizing: border-box !important;
    text-align: center !important;
    font-size: 0.78rem !important;
    line-height: 1.55 !important;
    font-weight: 500 !important;
    letter-spacing: 0.01em !important;
    color: #c4c4c4 !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    hyphens: auto;
    white-space: normal !important;
  }

  .footer-legal-badge,
  .footer-legal-badge[class] {
    width: min(180px, 70vw) !important;
    height: auto !important;
    max-height: 64px !important;
    margin: 0 auto !important;
    justify-content: center !important;
  }

  .footer-legal-badge img,
  .footer-legal-badge[class] img {
    max-width: 100% !important;
    max-height: 56px !important;
    height: auto !important;
    object-fit: contain !important;
  }

  /* Copyright / e-mails alinhados ao mesmo eixo central */
  .footer-copy,
  .footer-copy[class] {
    display: block !important;
    width: 100% !important;
    max-width: 36rem !important;
    margin: 4px auto 0 !important;
    padding: 0 10px !important;
    text-align: center !important;
    font-size: 0.75rem !important;
    line-height: 1.45 !important;
    color: #9ca3af !important;
    word-break: break-word !important;
  }

  .footer-emails,
  .footer-emails[class] {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    width: 100% !important;
    max-width: 36rem !important;
    margin: 0 auto !important;
    padding: 0 10px !important;
    text-align: center !important;
    font-size: 0.78rem !important;
    line-height: 1.4 !important;
  }

  .footer-email-box,
  .footer-email-box[class] {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 4px 6px !important;
    text-align: center !important;
  }

  /* Tailwind pb-32 (8rem) is way too much on mobile when nav is fixed */
  .pb-32 {
    padding-bottom: calc(var(--cig-nav-total) + var(--cig-nav-gap)) !important;
  }

  /* Back-to-top just above nav */
  .btn-scroll-top {
    bottom: calc(var(--cig-nav-total) + 10px) !important;
    z-index: 45 !important;
  }

  html:not(.cig-deposit-open):not(.cig-confirmo-open) .btn-scroll-top.is-cig-show,
  html:not(.cig-deposit-open):not(.cig-confirmo-open) .btn-scroll-top[data-cig-force-show='1'] {
    display: inline-flex !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    visibility: visible !important;
  }
}

/* Tablet / desktop: legal text neatly aligned, readable wrap */
@media (min-width: 768px) {
  .footer-legal-row,
  .footer-legal-row[class] {
    align-items: center !important;
    gap: 16px !important;
  }

  .footer-legal-text,
  .footer-legal-text[class] {
    max-width: 42rem !important;
    font-size: 0.84rem !important;
    line-height: 1.55 !important;
    text-align: center !important;
  }
}

@media (min-width: 1024px) {
  .cig-bottom-nav-spacer,
  [data-cig-spacer='1'] {
    display: none !important;
  }

  .footer-legal-row,
  .footer-legal-row[class] {
    flex-direction: row !important;
    text-align: left !important;
    align-items: center !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .footer-legal-text,
  .footer-legal-text[class] {
    text-align: left !important;
    max-width: none !important;
    flex: 1 1 auto !important;
    padding: 0 !important;
  }
}

/* cig-page-end-spacer-black: never show navy body through the nav spacer */
@media (max-width: 1023.98px) {
  .bottom-nav-spacer,
  .bottom-nav-spacer[class] {
    background: #000 !important;
    background-color: #000 !important;
  }
}
