/* ==========================================================================
   PROST AKTIV VITAL (prostaktivvital.info) - RESPONSIVE BREAKPOINTS & MOBILE UX
   Tested against 320px, 360px, 375px, 390px, 414px, 430px, 768px, 1024px, 1280px, 1440px
   No overflow-x: hidden layout cheats. Clean natural sizing.
   ========================================================================== */

/* Touch Target Minimum & General Mobile Rules */
@media (max-width: 767px) {
  .btn,
  .nav-link,
  .mobile-nav-link,
  .cart-trigger,
  .lang-btn,
  .menu-toggle,
  .qty-btn,
  .filter-btn {
    min-height: 44px;
    min-width: 44px;
  }

  .top-bar {
    flex-direction: column;
    gap: 0.25rem;
    text-align: center;
    padding: 0.5rem var(--container-padding);
  }

  .top-bar-notice {
    font-size: 0.76rem;
  }

  .brand-logo {
    font-size: 1.25rem;
  }

  .header-container {
    height: 64px;
  }

  .hero-trust-row {
    flex-direction: column;
    gap: 0.85rem;
  }

  .cart-item {
    grid-template-columns: 60px 1fr;
    gap: 0.75rem;
  }

  .cart-item-img {
    width: 60px;
    height: 60px;
  }

  .cart-item-actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px dashed var(--color-border-sand);
  }

  .cookie-banner {
    left: 0.75rem;
    right: 0.75rem;
    bottom: 0.75rem;
    padding: 1.15rem;
  }

  .cookie-banner-actions {
    flex-direction: column;
  }

  .cookie-banner-actions .btn {
    width: 100%;
  }

  .table-responsive {
    border-radius: var(--ui-radius-sm);
  }

  .article-header {
    padding-top: 2rem;
  }

  .article-meta-row {
    flex-direction: column;
    gap: 0.5rem;
  }
}

/* 320px - 375px Ultra-compact Mobile Viewports */
@media (max-width: 375px) {
  h1 {
    font-size: 2.1rem;
  }
  
  h2 {
    font-size: 1.65rem;
  }

  .hero-actions {
    flex-direction: column;
  }

  .hero-actions .btn {
    width: 100%;
  }

  .card-apothecary {
    padding: 1.25rem;
  }

  .tool-container {
    padding: 1.25rem;
  }
}

/* Tablet (768px - 1023px) */
@media (min-width: 768px) and (max-width: 1023px) {
  .hero-visual {
    max-width: 440px;
    margin: 0 auto;
  }
}

/* Print Styles */
@media print {
  .top-bar,
  .site-header,
  .cart-drawer,
  .cookie-banner,
  .toast-container,
  .hero-actions,
  .journal-controls,
  .site-footer {
    display: none !important;
  }

  body {
    background: #FFFFFF !important;
    color: #000000 !important;
  }
}
