/* Responsive styles for Team Freyer website */

/* Mobile optimization for shapes */
@media screen and (max-width: 768px) {
  .shape {
    opacity: 0.05; /* Reduce opacity on mobile for better performance */
  }
  
  /* Hide some shapes on mobile for better performance */
  .shape-3, .shape-4 {
    display: none;
  }
  
  /* Adjust sizes of remaining shapes */
  .shape-1 {
    width: 300px;
    height: 300px;
  }
  
  .shape-2 {
    width: 250px;
    height: 250px;
  }
  
  .shape-5 {
    width: 200px;
    height: 400px;
  }
  
  /* Reduce animation complexity on mobile */
  .shape-1, .shape-2, .shape-5 {
    animation-duration: 40s; /* Slower animations for better performance */
  }
  
  /* Typography adjustments */
  .tagline {
    font-size: 1.3rem;
  }
  
  /* Spacing adjustments */
  section {
    margin: 2rem 0;
  }
  
  /* Logo adjustments already made in main CSS with max-width: 90vw */
}

/* Tablet optimization */
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .shape {
    opacity: 0.06;
  }
  
  /* Adjust shape positions for tablets */
  .shape-1 {
    left: 5%;
  }
  
  .shape-5 {
    right: 2%;
  }
}

/* Touch device optimizations */
@media (hover: none) {
  /* Hide custom cursor on touch devices */
  .cursor, .cursor-border {
    display: none;
  }
  
  /* Reset cursor style */
  * {
    cursor: auto;
  }
  
  /* Add tap highlight for interactive elements */
  a, button {
    -webkit-tap-highlight-color: rgba(109, 110, 49, 0.2);
  }
}

/* Print styles */
@media print {
  .bg-shapes, .vignette, .cursor, .cursor-border {
    display: none;
  }
  
  body {
    color: #000;
    background: #fff;
  }
  
  .container {
    width: 100%;
    padding: 0;
  }
  
  .logo {
    width: 300px;
    margin: 0 auto;
  }
  
  a {
    text-decoration: underline;
    color: #000;
  }
}

/* High contrast mode support */
@media (forced-colors: active) {
  .shape {
    forced-color-adjust: none;
  }
  
  a {
    forced-color-adjust: auto;
  }
}

/* Reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.001s !important;
    animation-delay: 0s !important;
    transition-duration: 0.001s !important;
  }
  
  .logo::after {
    display: none;
  }
}
