/* =========================================
   POZCUKOOP - RESPONSIVE CSS
   Breakpoints: 320 → 480 → 768 → 1024 → 1280 → 1440 → 1920 → 2560 → 3840
   ========================================= */

/* === EXTRA SMALL: 320px - 479px === */
@media (max-width: 479px) {
  :root {
    --nav-height: 64px;
  }

  .nav-container {
    padding: 0 var(--spacing-md);
  }

  .nav-links {
    display: none;
  }

  .btn-order-nav {
    display: none;
  }

  .hamburger {
    display: flex;
  }

  .hero-title {
    font-size: clamp(28px, 8vw, 38px);
    letter-spacing: -0.5px;
  }

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

  .hero-cta .btn-primary,
  .hero-cta .btn-outline-white {
    width: 100%;
    justify-content: center;
  }

  .hero-stats {
    gap: var(--spacing-lg);
  }

  .hero-stat-number {
    font-size: var(--font-size-lg);
  }

  .trust-bar-inner {
    gap: var(--spacing-md);
  }

  .trust-item {
    font-size: 12px;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: var(--spacing-xl);
  }

  .footer-brand {
    max-width: 100%;
  }

  .footer-bottom {
    flex-direction: column;
    text-align: center;
  }

  .footer-legal-links {
    justify-content: center;
  }

  .newsletter-form {
    flex-direction: column;
  }

  .newsletter-form .btn-submit {
    width: 100%;
  }

  .pizza-card {
    flex: 0 0 clamp(220px, 70vw, 280px);
  }

  .section {
    padding: var(--spacing-3xl) 0;
  }

  .account-grid {
    grid-template-columns: 1fr;
  }

  .account-sidebar {
    position: static;
  }

  .account-nav {
    flex-direction: row;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    flex-wrap: nowrap;
    gap: 6px;
  }

  .account-nav-item {
    flex-shrink: 0;
    white-space: nowrap;
  }

  .order-tracking {
    flex-direction: column;
    gap: var(--spacing-lg);
  }

  .tracking-step:not(:last-child)::after {
    left: 20px;
    right: auto;
    top: 50%;
    width: 2px;
    height: 100%;
    bottom: -50%;
  }

  .deals-grid {
    grid-template-columns: 1fr;
  }

  .reviews-grid {
    grid-template-columns: 1fr;
  }
}

/* === SMALL MOBILE: 480px - 767px === */
@media (min-width: 480px) and (max-width: 767px) {
  .nav-links {
    display: none;
  }

  .btn-order-nav {
    display: none;
  }

  .hamburger {
    display: flex;
  }

  .hero-title {
    font-size: clamp(34px, 7vw, 44px);
  }

  .hero-cta {
    flex-wrap: wrap;
  }

  .pizza-card {
    flex: 0 0 clamp(240px, 45vw, 300px);
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-xl);
  }

  .footer-brand {
    grid-column: 1 / -1;
    max-width: 100%;
  }

  .footer-bottom {
    flex-direction: column;
    text-align: center;
  }

  .account-grid {
    grid-template-columns: 1fr;
  }

  .account-sidebar {
    position: static;
  }
}

/* === TABLET: 768px - 1023px === */
@media (min-width: 768px) and (max-width: 1023px) {
  :root {
    --nav-height: 70px;
  }

  .nav-links {
    display: none;
  }

  .btn-order-nav {
    display: inline-flex;
  }

  .hamburger {
    display: flex;
  }

  .hero-title {
    font-size: clamp(38px, 6vw, 52px);
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-xl);
  }

  .footer-brand {
    grid-column: 1 / -1;
    max-width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-xl);
  }

  .footer-logo {
    grid-column: 1;
  }

  .footer-description {
    grid-column: 1;
  }

  .pizza-card {
    flex: 0 0 280px;
  }

  .account-grid {
    grid-template-columns: 220px 1fr;
  }

  .menu-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .team-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* === SMALL DESKTOP: 1024px - 1279px === */
@media (min-width: 1024px) {
  .nav-links {
    display: flex;
  }

  .hamburger {
    display: none;
  }

  .mobile-menu {
    display: none !important;
  }

  .footer-grid {
    grid-template-columns: 2fr repeat(3, 1fr);
  }

  .menu-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 1024px) and (max-width: 1279px) {
  .nav-links {
    gap: var(--spacing-lg);
  }

  .nav-link {
    font-size: 13px;
  }

  .pizza-card {
    flex: 0 0 280px;
  }

  .footer-grid {
    grid-template-columns: 1.5fr repeat(3, 1fr);
    gap: var(--spacing-xl);
  }
}

/* === STANDARD LAPTOP: 1280px - 1439px === */
@media (min-width: 1280px) {
  .pizza-card {
    flex: 0 0 300px;
  }

  .menu-grid {
    grid-template-columns: repeat(4, 1fr);
  }

  .hero-content {
    max-width: 720px;
  }
}

/* === FULL HD: 1440px - 1599px === */
@media (min-width: 1440px) {
  .pizza-card {
    flex: 0 0 310px;
  }

  .hero-stats {
    gap: var(--spacing-3xl);
  }
}

/* === FULL HD WIDE: 1600px - 1919px === */
@media (min-width: 1600px) {
  .container {
    padding: 0 clamp(24px, 3vw, 60px);
  }

  .section {
    padding: var(--spacing-4xl) 0;
  }
}

/* === 1920px === */
@media (min-width: 1920px) {
  :root {
    --content-width: 1400px;
  }

  .pizza-card {
    flex: 0 0 340px;
  }

  .menu-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* === 2K / QHD: 2560px === */
@media (min-width: 2560px) {
  :root {
    --content-width: 1600px;
    --max-width: 2000px;
    --nav-height: 80px;
    --font-size-base: clamp(16px, 1vw, 20px);
  }

  .menu-grid {
    grid-template-columns: repeat(5, 1fr);
  }

  .pizza-card {
    flex: 0 0 360px;
  }

  .hero-title {
    font-size: clamp(52px, 4.5vw, 80px);
  }
}

/* === 4K / UHD: 3840px === */
@media (min-width: 3840px) {
  :root {
    --content-width: 2400px;
    --max-width: 3200px;
    --nav-height: 96px;
    --font-size-base: clamp(18px, 0.8vw, 24px);
  }

  .menu-grid {
    grid-template-columns: repeat(6, 1fr);
  }

  .pizza-card {
    flex: 0 0 480px;
  }

  #scroll-to-top {
    width: 64px;
    height: 64px;
  }

  #scroll-to-top svg {
    width: 28px;
    height: 28px;
  }
}

/* === ULTRA-WIDE: 2560x1080 / 3440x1440 === */
@media (min-aspect-ratio: 21/9) {
  .hero-bg {
    background-position: center center;
    background-size: cover;
  }

  .pizza-carousel {
    padding-left: max(clamp(16px, 4vw, 48px), calc((100vw - var(--max-width)) / 2));
    padding-right: max(clamp(16px, 4vw, 48px), calc((100vw - var(--max-width)) / 2));
  }
}

/* === LANDSCAPE PHONES === */
@media (max-width: 896px) and (orientation: landscape) {
  .hero {
    min-height: 100vw;
    padding-top: calc(var(--nav-height) + env(safe-area-inset-top));
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
  }

  .hero-title {
    font-size: clamp(24px, 5vw, 40px);
  }

  :root {
    --nav-height: 56px;
  }
}

/* === TABLET LANDSCAPE === */
@media (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .hero {
    min-height: 600px;
  }

  .footer-grid {
    grid-template-columns: repeat(4, 1fr);
  }

  .footer-brand {
    grid-column: 1 / 3;
    display: block;
  }
}

/* === FOLDABLE DEVICES === */
@media (max-width: 344px) {
  :root {
    --nav-height: 60px;
  }

  .nav-logo-text {
    font-size: 18px;
  }

  .hero-title {
    font-size: clamp(24px, 7vw, 32px);
  }

  .btn-primary,
  .btn-outline,
  .btn-outline-white {
    padding: 12px 24px;
    font-size: 14px;
  }
}

/* === SHARED MOBILE RULES (up to 1023px) === */
@media (max-width: 1023px) {
  .hamburger {
    display: flex;
  }

  .hero-content {
    max-width: 100%;
  }

  .section-title {
    font-size: clamp(26px, 5vw, 40px);
  }

  .newsletter-section::before {
    display: none;
  }

  .cart-sidebar {
    max-width: 100%;
  }

  .filter-bar {
    top: var(--nav-height);
  }
}

/* === PRINT === */
@media print {
  .navbar,
  #scroll-progress,
  #scroll-to-top,
  #cookie-banner,
  #live-chat-btn,
  .cart-overlay,
  .cart-sidebar,
  .mobile-menu,
  .hamburger {
    display: none !important;
  }

  body {
    font-size: 12pt;
    color: black;
    background: white;
  }

  .container {
    max-width: 100%;
    padding: 0;
  }
}

/* === HIGH CONTRAST MODE === */
@media (prefers-contrast: high) {
  :root {
    --color-primary: #B00000;
    --color-text: #000000;
    --color-text-light: #333333;
    --color-gray-300: #AAAAAA;
  }

  .btn-primary {
    border: 2px solid white;
  }
}

/* === REDUCED MOTION === */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  .pizza-card:hover,
  .menu-card:hover,
  .deal-card:hover,
  .review-card:hover {
    transform: none;
  }
}
