/**
 * FOOTER COMPONENT STYLES
 * 
 * Style dla stopki aplikacji
 */

/* ================================
   FOOTER MAIN STRUCTURE
   ================================ */

.app-footer {
  flex-shrink: 0;
  background: var(--color-bg-secondary);
  border-top: 1px solid var(--color-border);
  padding: var(--spacing-md);
  
  /* ZOOM SUPPORT: Relative units zamiast fixed heights */
  min-height: 4rem; /* ~64px przy 16px base */
  max-height: 20vh; /* Max 20% viewport height - nie zajmuje za dużo miejsca przy zoom */
  overflow: auto; /* Scroll jeśli treść się nie mieści */
}

/* ================================
   FOOTER AD
   ================================ */

.footer-ad {
  display: flex;
  justify-content: center;
  margin-bottom: var(--spacing-md);
  
  /* ZOOM SUPPORT: Flexible ad container */
  height: auto;
  max-height: 12vh; /* Max 12% viewport height dla reklamy */
  overflow: hidden;
}

/* Ad frame w footerze - responsive sizing */
.footer-ad .ad-frame {
  width: 100%;
  max-width: 728px;
  height: auto;
  min-height: 60px;
  max-height: 90px;
}

/* Przy wysokim zoomie zmniejsz maksymalną wysokość */
@media (min-resolution: 1.5dppx) {
  .footer-ad .ad-frame {
    max-height: 70px;
  }
}

@media (min-resolution: 2dppx) {
  .footer-ad .ad-frame {
    max-height: 60px;
  }
}

/* ================================
   FOOTER CONTENT
   ================================ */

.app-footer-content {
  text-align: center;
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
  line-height: 1.8;
}

.app-footer-content p {
  margin: 0 0 var(--spacing-xs) 0;
}

/* ================================
   FOOTER LEGAL LINKS
   ================================ */

.footer-legal-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-xs);
  flex-wrap: wrap;
  margin-top: var(--spacing-xs);
}

/* Style dla linków (nowe, zastępują .btn-link) */
.footer-legal-links .footer-link,
.footer-legal-links .btn-link {
  background: none;
  border: none;
  padding: 0;
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
  text-decoration: none;
  cursor: pointer;
  transition: color var(--transition-fast);
  font-family: inherit;
}

.footer-legal-links .footer-link:hover,
.footer-legal-links .btn-link:hover {
  color: var(--color-primary);
  text-decoration: underline;
}

.footer-legal-links .footer-link:focus-visible,
.footer-legal-links .btn-link:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  border-radius: var(--radius-sm);
}

/* Link jako <a> ma dodatkowe style */
.footer-legal-links a.footer-link {
  display: inline-block;
}

.footer-separator {
  color: var(--color-text-light);
  user-select: none;
}

/* ================================
   RESPONSIVE - MOBILE/TABLET
   ================================ */

/* Mobile/Tablet: padding dla bottom nav */
@media (max-width: 1023px) {
  .app-footer {
    padding-bottom: calc(var(--spacing-lg) + 70px);
  }
}

/* ================================
   RESPONSIVE - DESKTOP
   ================================ */

@media (min-width: 1024px) {
  .app-footer {
    padding: var(--spacing-lg) var(--spacing-md);
  }
}
