/* ===================================
   Patricia Gámez Estilista
   Responsive Design
   Media Queries for all breakpoints
   =================================== */

/* === Desktop Large (>= 1240px) === */
/* Default styles are for this breakpoint */

/* === Desktop Medium (768px - 1239px) === */

@media (max-width: 1239px) and (min-width: 768px) {
  .container {
    padding-left: var(--spacing-md);
    padding-right: var(--spacing-md);
  }
  
  /* Grid adjustments */
  .grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
  
  /* Typography adjustments */
  h1 {
    font-size: var(--font-size-4xl);
  }
  
  h2 {
    font-size: var(--font-size-2xl);
  }
  
  /* Section padding */
  .section {
    padding: var(--spacing-xl) 0;
  }
}

/* === Tablet (max-width: 767px) === */

@media (max-width: 767px) {
  /* Container */
  .container {
    padding-left: var(--spacing-sm);
    padding-right: var(--spacing-sm);
  }
  
  /* Grids */
  .grid-2,
  .grid-3,
  .grid-4 {
    grid-template-columns: 1fr;
    gap: var(--spacing-md);
  }
  
  /* Section padding */
  .section {
    padding: var(--spacing-xl) 0;
  }
  
  .section-sm {
    padding: var(--spacing-md) 0;
  }
  
  /* Typography */
  h1 {
    font-size: var(--font-size-3xl);
  }
  
  h2 {
    font-size: var(--font-size-2xl);
  }
  
  h3 {
    font-size: var(--font-size-xl);
  }
  
  h4 {
    font-size: var(--font-size-lg);
  }
  
  .lead,
  .big {
    font-size: var(--font-size-base);
  }
  
  /* Buttons */
  .btn {
    width: 100%;
    max-width: 300px;
  }
  
  .hero-cta,
  .cta-buttons {
    flex-direction: column;
    align-items: center;
  }
  
  /* Service Cards */
  .service-icon {
    font-size: 2.5rem;
  }
  
  /* Stats */
  .stat-number {
    font-size: var(--font-size-4xl);
  }
  
  .hero-stats {
    flex-direction: column;
    gap: var(--spacing-sm);
  }
  
  /* WhatsApp Float */
  .whatsapp-float {
    bottom: 20px;
    right: 20px;
    width: 55px;
    height: 55px;
    font-size: 1.75rem;
  }
  
  /* Back to Top */
  #back-to-top {
    bottom: 80px;
    left: 15px;
    width: 45px;
    height: 45px;
  }
  
  /* Footer */
  .footer-widgets {
    grid-template-columns: 1fr;
    gap: var(--spacing-lg);
    text-align: center;
  }
  
  .footer-social {
    justify-content: center;
  }
  
  .footer-bottom {
    flex-direction: column;
    text-align: center;
  }
  
  /* Hero */
  .hero-slider,
  .hero-collage {
    height: 100vh;
  }
  
  .slider-control {
    width: 50px;
    height: 50px;
    font-size: var(--font-size-xl);
  }
  
  .slider-control.prev {
    left: 15px;
  }
  
  .slider-control.next {
    right: 15px;
  }
  
  .slider-indicators {
    bottom: 20px;
  }
}

/* === Mobile (max-width: 479px) === */

@media (max-width: 479px) {
  /* Base font size */
  html {
    font-size: 14px;
  }
  
  body {
    font-size: 14px;
  }
  
  /* Container */
  .container {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  
  /* Typography */
  h1 {
    font-size: var(--font-size-2xl);
  }
  
  h2 {
    font-size: var(--font-size-xl);
  }
  
  h3 {
    font-size: var(--font-size-lg);
  }
  
  h4 {
    font-size: var(--font-size-base);
  }
  
  /* Section padding */
  .section {
    padding: var(--spacing-lg) 0;
  }
  
  .section-sm {
    padding: var(--spacing-md) 0;
  }
  
  /* Service Cards */
  .service-card {
    padding: var(--spacing-md);
  }
  
  .service-icon {
    font-size: 2rem;
  }
  
  /* Stats */
  .stat-number {
    font-size: var(--font-size-3xl);
  }
  
  /* Spacing */
  .mb-lg,
  .mt-lg {
    margin-top: var(--spacing-md);
    margin-bottom: var(--spacing-md);
  }
  
  /* Hero */
  .slide-content h1,
  .hero-title {
    font-size: var(--font-size-2xl);
  }
  
  .slide-content .accent-text {
    font-size: var(--font-size-lg);
  }
  
  .slide-content .hero-subtitle {
    font-size: var(--font-size-sm);
  }
  
  /* Buttons */
  .btn {
    font-size: var(--font-size-sm);
    padding: 0.625rem 1.25rem;
  }
  
  .btn-lg {
    padding: 0.875rem 1.75rem;
  }
  
  /* Grid gaps */
  .grid {
    gap: var(--spacing-sm);
  }
}

/* === Landscape Mobile === */

@media (max-height: 500px) and (orientation: landscape) {
  .hero-slider,
  .hero-collage {
    height: auto;
    min-height: 100vh;
  }
  
  .slide-content h1,
  .hero-title {
    font-size: var(--font-size-2xl);
    margin-bottom: var(--spacing-sm);
  }
  
  .slide-content .hero-subtitle {
    margin-bottom: var(--spacing-sm);
  }
  
  .hero-cta,
  .cta-buttons {
    margin-bottom: var(--spacing-sm);
  }
  
  .hero-stats {
    margin-top: var(--spacing-md);
  }
}

/* === Print Styles === */

@media print {
  /* Hide navigation, buttons, and interactive elements */
  #header,
  .nav-toggle,
  .whatsapp-float,
  #back-to-top,
  .slider-control,
  .slider-indicators,
  .btn,
  #footer {
    display: none !important;
  }
  
  /* Remove backgrounds and adjust colors */
  * {
    background: white !important;
    color: black !important;
  }
  
  a {
    text-decoration: underline;
  }
  
  /* Show URL for links */
  a[href]:after {
    content: " (" attr(href) ")";
  }
  
  /* Page breaks */
  h1, h2, h3, h4, h5, h6 {
    page-break-after: avoid;
  }
  
  img {
    max-width: 100%;
    page-break-inside: avoid;
  }
  
  /* Remove shadows and transitions */
  * {
    box-shadow: none !important;
    text-shadow: none !important;
    transition: none !important;
  }
}

/* === Touch Devices === */

@media (hover: none) and (pointer: coarse) {
  /* Increase touch targets */
  .btn,
  .nav-link,
  .social-link,
  a {
    min-height: 44px;
    min-width: 44px;
  }
  
  /* Remove hover effects on touch */
  .card:hover,
  .service-card:hover,
  .image-wrapper:hover img {
    transform: none;
  }
}

/* === Reduced Motion === */

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  
  html {
    scroll-behavior: auto !important;
  }
  
  /* Disable Ken Burns effect */
  .slide.active .slide-bg {
    transform: scale(1) !important;
  }
  
  /* Disable animations */
  .fade-in,
  .slide-in-left,
  .slide-in-right {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

/* === High Contrast Mode === */

@media (prefers-contrast: high) {
  :root {
    --color-gray: #000000;
    --color-gray-light: #000000;
  }
  
  .btn-secondary {
    border-width: 3px;
  }
  
  .nav-link::after {
    height: 3px;
  }
}

/* === Dark Mode (Optional - Future Enhancement) === */

@media (prefers-color-scheme: dark) {
  /* Dark mode styles can be added here if needed */
  /* Currently Patricia's design is already dark */
}
