/* ==========================================================================
   RESPONSIVE FONT SYSTEM - OTTIMIZZATO PER TUTTI I DISPOSITIVI
   ========================================================================== */

/* Desktop ultra-wide e 4K - 1920px and above */
@media (min-width: 1920px) {
  :root {
    /* Font base ottimizzati per schermi ultra-wide */
    --font-size-xs: clamp(0.8rem, 0.75rem + 0.25vw, 0.9rem);
    --font-size-sm: clamp(0.9rem, 0.85rem + 0.375vw, 1.1rem);
    --font-size-base: clamp(1.1rem, 1rem + 0.5vw, 1.35rem);
    --font-size-md: clamp(1.2rem, 1.1rem + 0.625vw, 1.4rem);
    --font-size-lg: clamp(1.35rem, 1.2rem + 0.75vw, 1.65rem);
    --font-size-xl: clamp(1.65rem, 1.4rem + 1vw, 2.2rem);
    --font-size-2xl: clamp(2.2rem, 1.8rem + 2vw, 3.3rem);
    --font-size-3xl: clamp(2.7rem, 2.2rem + 2.5vw, 4.8rem);
    --font-size-4xl: clamp(3.3rem, 2.7rem + 2.5vw, 5.5rem);
    
    /* Statistics/Numbers per schermi ultra-wide */
    --font-size-stats-sm: clamp(3.3rem, 2.7rem + 2vw, 5.5rem);
    --font-size-stats-md: clamp(4.4rem, 3.8rem + 2.5vw, 6.6rem);
    --font-size-stats-lg: clamp(5.5rem, 4.4rem + 5vw, 8.25rem);
  }
}

/* Laptop grandi e desktop - 1601px-1919px */
@media (min-width: 1601px) and (max-width: 1919px) {
  :root {
    /* Font base ottimizzati per schermi grandi */
    --font-size-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.85rem);
    --font-size-sm: clamp(0.875rem, 0.8rem + 0.375vw, 1rem);
    --font-size-base: clamp(1rem, 0.9rem + 0.5vw, 1.25rem);
    --font-size-md: clamp(1.125rem, 1rem + 0.625vw, 1.25rem);
    --font-size-lg: clamp(1.25rem, 1.1rem + 0.75vw, 1.5rem);
    --font-size-xl: clamp(1.5rem, 1.3rem + 1vw, 1.5rem);
    --font-size-2xl: clamp(2rem, 1.6rem + 2vw, 3rem);
    --font-size-3xl: clamp(2.5rem, 2rem + 2.5vw, 4.375rem);
    --font-size-4xl: clamp(3rem, 2.5rem + 2.5vw, 5rem);
    
    /* Statistics/Numbers per schermi grandi */
    --font-size-stats-sm: clamp(3rem, 2.5rem + 2vw, 5rem);
    --font-size-stats-md: clamp(4rem, 3.5rem + 2.5vw, 6rem);
    --font-size-stats-lg: clamp(5rem, 4rem + 5vw, 7.5rem);
  }
}

/* Laptop standard (1366px - 1600px) */
@media (min-width: 1367px) and (max-width: 1600px) {
  :root {
    /* Font base ottimizzati per laptop standard */
    --font-size-xs: clamp(0.72rem, 0.67rem + 0.25vw, 0.82rem);
    --font-size-sm: clamp(0.82rem, 0.77rem + 0.35vw, 0.95rem);
    --font-size-base: clamp(0.95rem, 0.87rem + 0.45vw, 1.15rem);
    --font-size-md: clamp(1.05rem, 0.97rem + 0.55vw, 1.2rem);
    --font-size-lg: clamp(1.15rem, 1.05rem + 0.65vw, 1.4rem);
    --font-size-xl: clamp(1.4rem, 1.25rem + 0.9vw, 1.85rem);
    --font-size-2xl: clamp(1.85rem, 1.5rem + 1.8vw, 2.7rem);
    --font-size-3xl: clamp(2.3rem, 1.85rem + 2.2vw, 3.8rem);
    --font-size-4xl: clamp(2.7rem, 2.2rem + 2.3vw, 4.5rem);
    
    /* Statistics/Numbers per laptop standard */
    --font-size-stats-sm: clamp(2.7rem, 2.2rem + 1.8vw, 4.2rem);
    --font-size-stats-md: clamp(3.5rem, 2.8rem + 2.2vw, 5.2rem);
    --font-size-stats-lg: clamp(4.2rem, 3.5rem + 3.8vw, 6.5rem);
  }
}

/* Laptop medi (1200px - 1366px) */
@media (min-width: 1201px) and (max-width: 1366px) {
  :root {
    /* Font base ottimizzati per laptop medi */
    --font-size-xs: clamp(0.68rem, 0.63rem + 0.25vw, 0.78rem);
    --font-size-sm: clamp(0.78rem, 0.73rem + 0.32vw, 0.88rem);
    --font-size-base: clamp(0.88rem, 0.83rem + 0.42vw, 1.08rem);
    --font-size-md: clamp(0.98rem, 0.93rem + 0.52vw, 1.13rem);
    --font-size-lg: clamp(1.08rem, 0.98rem + 0.62vw, 1.28rem);
    --font-size-xl: clamp(1.28rem, 1.18rem + 0.82vw, 1.63rem);
    --font-size-2xl: clamp(1.63rem, 1.38rem + 1.42vw, 2.18rem);
    --font-size-3xl: clamp(1.98rem, 1.68rem + 1.72vw, 2.68rem);
    --font-size-4xl: clamp(2.18rem, 1.88rem + 1.82vw, 3.08rem);
    
    /* Statistics/Numbers per laptop medi */
    --font-size-stats-sm: clamp(2.18rem, 1.78rem + 1.42vw, 3.18rem);
    --font-size-stats-md: clamp(2.68rem, 2.23rem + 1.82vw, 3.88rem);
    --font-size-stats-lg: clamp(3.18rem, 2.68rem + 2.82vw, 4.88rem);
  }
}

/* Large tablets and small laptops - 1366px and below */
@media (max-width: 1440px) {
  :root {
    /* Ridimensionamento font per laptop piccoli */
    --font-size-xs: clamp(0.7rem, 0.65rem + 0.25vw, 0.8rem);
    --font-size-sm: clamp(0.8rem, 0.75rem + 0.3vw, 0.9rem);
    --font-size-base: clamp(0.9rem, 0.85rem + 0.4vw, 1rem);
    --font-size-md: clamp(1rem, 0.95rem + 0.5vw, 1.1rem);
    --font-size-lg: clamp(1.1rem, 1rem + 0.6vw, 1.3rem);
    --font-size-xl: clamp(1.3rem, 1.2rem + 0.8vw, 1.7rem);
    --font-size-2xl: clamp(1.7rem, 1.4rem + 1.5vw, 2.3rem);
    --font-size-3xl: clamp(2rem, 1.7rem + 1.8vw, 2.8rem);
    --font-size-4xl: clamp(2.3rem, 2rem + 2vw, 3.2rem);

    /* Statistics/Numbers - Ridimensionate per laptop piccoli */
    --font-size-stats-sm: clamp(2.2rem, 1.8rem + 1.5vw, 3.5rem);   /* 35px - 56px */
    --font-size-stats-md: clamp(2.8rem, 2.3rem + 2vw, 4.2rem);     /* 45px - 67px */
    --font-size-stats-lg: clamp(3.5rem, 2.8rem + 3.5vw, 5.5rem);   /* 56px - 88px */
  }
}

/* Tablet grandi (1024px - 1200px) */
@media (min-width: 1025px) and (max-width: 1200px) {
  :root {
    /* Font base ottimizzati per tablet grandi */
    --font-size-xs: clamp(0.63rem, 0.58rem + 0.23vw, 0.73rem);
    --font-size-sm: clamp(0.73rem, 0.68rem + 0.28vw, 0.83rem);
    --font-size-base: clamp(0.83rem, 0.78rem + 0.33vw, 0.93rem);
    --font-size-md: clamp(0.93rem, 0.88rem + 0.38vw, 0.8rem);
    --font-size-lg: clamp(0.98rem, 0.93rem + 0.48vw, 1.18rem);
    --font-size-xl: clamp(1.18rem, 1.08rem + 0.68vw, 1.48rem);
    --font-size-2xl: clamp(1.48rem, 1.28rem + 1.18vw, 1.98rem);
    --font-size-3xl: clamp(1.78rem, 1.48rem + 1.48vw, 2.48rem);
    --font-size-4xl: clamp(1.98rem, 1.68rem + 1.78vw, 2.78rem);
    
    /* Statistics/Numbers per tablet grandi */
    --font-size-stats-sm: clamp(1.98rem, 1.68rem + 1.18vw, 2.98rem);
    --font-size-stats-md: clamp(2.38rem, 1.98rem + 1.48vw, 3.48rem);
    --font-size-stats-lg: clamp(2.98rem, 2.38rem + 2.18vw, 4.18rem);
  }
}

/* iPad Pro and similar tablets - 1024px and below */
@media (max-width: 1024px) {
  :root {
    /* Ridimensionamento font per tablet */
    --font-size-xs: clamp(0.65rem, 0.6rem + 0.25vw, 0.75rem);
    --font-size-sm: clamp(0.75rem, 0.7rem + 0.3vw, 0.85rem);
    --font-size-base: clamp(0.85rem, 0.8rem + 0.35vw, 0.95rem);
    --font-size-md: clamp(0.95rem, 0.9rem + 0.4vw, 1rem);
    --font-size-lg: clamp(1rem, 0.95rem + 0.5vw, 1.2rem);
    --font-size-xl: clamp(1.2rem, 1.1rem + 0.7vw, 1.5rem);
    --font-size-2xl: clamp(1.5rem, 1.3rem + 1.2vw, 2rem);
    --font-size-3xl: clamp(1.8rem, 1.5rem + 1.5vw, 2.5rem);
    --font-size-4xl: clamp(2rem, 1.7rem + 1.8vw, 2.8rem);
    
    /* Statistics/Numbers - Ridimensionate per tablet */
    --font-size-stats-sm: clamp(1.8rem, 1.5rem + 1.2vw, 2.8rem);   /* 29px - 45px */
    --font-size-stats-md: clamp(2.2rem, 1.8rem + 1.5vw, 3.2rem);   /* 35px - 51px */
    --font-size-stats-lg: clamp(2.8rem, 2.2rem + 2.5vw, 4rem);     /* 45px - 64px */
  }
}

/* Standard tablets - 768px and below */
@media (max-width: 768px) {
  :root {
    /* Ridimensionamento font per tablet standard - AUMENTATI */
    --font-size-xs: clamp(0.9rem, 0.8rem + 0.2vw, 1rem);           /* 14px - 16px */
    --font-size-sm: clamp(1rem, 0.9rem + 0.25vw, 1.1rem);          /* 16px - 18px */
    --font-size-base: clamp(1.1rem, 1rem + 0.3vw, 1.3rem);         /* 18px - 21px */
    --font-size-md: clamp(1.3rem, 1.2rem + 0.35vw, 1.4rem);        /* 21px - 22px */
    --font-size-lg: clamp(1.4rem, 1.3rem + 0.4vw, 1.6rem);         /* 22px - 26px */
    --font-size-xl: clamp(1.6rem, 1.4rem + 0.6vw, 2rem);           /* 26px - 32px */
    --font-size-2xl: clamp(2rem, 1.6rem + 1vw, 2.4rem);            /* 32px - 38px */
    --font-size-3xl: clamp(2.2rem, 1.8rem + 1.2vw, 2.8rem);        /* 35px - 45px */
    --font-size-4xl: clamp(2.4rem, 2rem + 1.5vw, 3.2rem);          /* 38px - 51px */
    
    /* Statistics/Numbers - Ridimensionate per tablet standard */
    --font-size-stats-sm: clamp(2.2rem, 1.8rem + 1vw, 2.8rem);     /* 35px - 45px */
    --font-size-stats-md: clamp(2.6rem, 2.2rem + 1.3vw, 3.4rem);   /* 42px - 54px */
    --font-size-stats-lg: clamp(3.2rem, 2.6rem + 2vw, 4rem);       /* 51px - 64px */
  }
}

/* Large phones - 576px and below */
@media (max-width: 576px) {
  :root {
    /* Ridimensionamento font per telefoni grandi - LEGGERO AUMENTO */
    --font-size-xs: clamp(0.65rem, 0.6rem + 0.2vw, 0.75rem);       /* 10px - 12px */
    --font-size-sm: clamp(0.75rem, 0.7rem + 0.25vw, 0.85rem);      /* 12px - 14px */
    --font-size-base: clamp(0.9rem, 0.85rem + 0.25vw, 1rem);       /* 14px - 16px */
    --font-size-md: clamp(1rem, 0.95rem + 0.3vw, 1.1rem);          /* 16px - 18px */
    --font-size-lg: clamp(1.1rem, 1rem + 0.35vw, 1.3rem);          /* 18px - 21px */
    --font-size-xl: clamp(1.4rem, 1.2rem + 0.5vw, 1.7rem);         /* 22px - 27px */
    --font-size-2xl: clamp(1.8rem, 1.5rem + 0.8vw, 2.2rem);        /* 29px - 35px */
    --font-size-3xl: clamp(2.2rem, 1.8rem + 1vw, 2.6rem);          /* 35px - 42px */
    --font-size-4xl: clamp(2.6rem, 2.2rem + 1.2vw, 3rem);          /* 42px - 48px */
    
    /* Statistics/Numbers - Ridimensionate per telefoni grandi */
    --font-size-stats-sm: clamp(2.2rem, 1.8rem + 0.8vw, 2.6rem);   /* 35px - 42px */
    --font-size-stats-md: clamp(2.6rem, 2.2rem + 1vw, 3rem);       /* 42px - 48px */
    --font-size-stats-lg: clamp(3rem, 2.6rem + 1.5vw, 3.6rem);     /* 48px - 58px */
  }
}

/* Small phones - 480px and below */
@media (max-width: 480px) {
  :root {
    /* Ridimensionamento font per telefoni piccoli - LEGGERO AUMENTO */
    --font-size-xs: clamp(0.6rem, 0.55rem + 0.2vw, 0.7rem);        /* 10px - 11px */
    --font-size-sm: clamp(0.9rem, 0.65rem + 0.2vw, 0.8rem);        /* 11px - 13px */
    --font-size-base: clamp(1rem, 0.8rem + 0.25vw, 0.95rem);    /* 14px - 15px */
    --font-size-md: clamp(1rem, 0.9rem + 0.25vw, 1rem);         /* 15px - 16px */
    --font-size-lg: clamp(1.1rem, 0.95rem + 0.3vw, 1.15rem);         /* 16px - 18px */
    --font-size-xl: clamp(1.2rem, 1.1rem + 0.4vw, 1.5rem);         /* 19px - 24px */
    --font-size-2xl: clamp(1.6rem, 1.3rem + 0.7vw, 2rem);          /* 26px - 32px */
    --font-size-3xl: clamp(2rem, 1.6rem + 0.8vw, 2.4rem);          /* 32px - 38px */
    --font-size-4xl: clamp(2.2rem, 1.8rem + 1vw, 2.6rem);          /* 35px - 42px */
    
    /* Statistics/Numbers - Ridimensionate per telefoni piccoli */
    --font-size-stats-sm: clamp(2rem, 1.6rem + 0.6vw, 2.4rem);     /* 32px - 38px */
    --font-size-stats-md: clamp(2.4rem, 2rem + 0.8vw, 2.8rem);     /* 38px - 45px */
    --font-size-stats-lg: clamp(2.8rem, 2.4rem + 1.2vw, 3.4rem);   /* 45px - 54px */
  }
}

/* ==========================================================================
   RESPONSIVE FONT SPECIFICI PER COMPONENTI
   ========================================================================== */

/* Laptop grandi e desktop - Componenti specifici */
@media (min-width: 1601px) {
  .articles-container .article-title { 
    font-size: clamp(2.2rem, 2.5vw, 3.5rem);
    line-height: 1.2;
  }
  .article-content { 
    font-size: clamp(1rem, 1.2vw, 1.3rem);
    line-height: 1.5;
  }
}

/* Laptop standard - Componenti specifici */
@media (min-width: 1367px) and (max-width: 1600px) {
  .articles-container .article-title { 
    font-size: clamp(1.8rem, 2.2vw, 2.8rem);
    line-height: 1.2;
  }
  .article-content { 
    font-size: clamp(0.95rem, 1.1vw, 1.2rem);
    line-height: 1.4;
  }
}

/* iPad Pro and similar tablets - Componenti specifici */
@media (max-width: 1024px) {
  /* Font sizing ottimizzato per tablet */
  .articles-container[data-cards="2"] .article-title { font-size: clamp(1.75rem, 3.5vw, 2.8rem); }
  .articles-container[data-cards="3"] .article-title { font-size: clamp(1.5rem, 3vw, 2.4rem); }
  .articles-container[data-cards="4"] .article-title,
  .articles-container[data-cards="5"] .article-title,
  .articles-container[data-cards="6"] .article-title { font-size: clamp(1.3rem, 2.5vw, 2rem); }
  
  /* Migliore leggibilità per contenuti */
  .article-content { 
    width: 85%; 
    font-size: clamp(0.9rem, 1.5vw, 1.1rem);
    line-height: 1.5;
  }
}

/* Standard tablets - Componenti specifici */
@media (max-width: 768px) {
  /* Font sizing ottimizzato per tablet standard */
  .articles-container[data-cards="2"] .article-title { font-size: clamp(1.5rem, 3.5vw, 2.2rem); }
  .articles-container[data-cards="3"] .article-title { font-size: clamp(1.3rem, 3vw, 1.9rem); }
  .articles-container[data-cards="4"] .article-title,
  .articles-container[data-cards="5"] .article-title,
  .articles-container[data-cards="6"] .article-title { font-size: clamp(1.1rem, 2.5vw, 1.6rem); }
  
  .article-content { 
    width: 85%; 
    font-size: clamp(0.85rem, 1.4vw, 1rem);
    line-height: 1.5;
  }
  
  .single-post-hero h1 { font-size: clamp(1.75rem, 5vw, 2.8rem); margin-bottom: 0rem; }
  .single-post-hero .breadcrumbs { margin-bottom: 2rem; font-size: clamp(0.8rem, 1.2vw, 0.95rem); }
}

/* Large phones - Componenti specifici */
@media (max-width: 576px) {
  /* Font sizing ottimizzato per telefoni grandi */
  .articles-container[data-cards="2"] .article-title { font-size: clamp(1.3rem, 4vw, 1.8rem); }
  .articles-container[data-cards="3"] .article-title { font-size: clamp(1.1rem, 3.5vw, 1.6rem); }
  .articles-container[data-cards="4"] .article-title,
  .articles-container[data-cards="5"] .article-title,
  .articles-container[data-cards="6"] .article-title { font-size: clamp(1rem, 3vw, 1.4rem); }
  
  .article-content { 
    width: 90%; 
    font-size: clamp(0.8rem, 1.2vw, 0.95rem);
    line-height: 1.6;
  }
}

/* Small phones - Componenti specifici */
@media (max-width: 480px) {
  /* Font sizing ottimizzato per telefoni piccoli */
  .articles-container[data-cards="2"] .article-title { font-size: clamp(1.1rem, 4vw, 1.5rem); }
  .articles-container[data-cards="3"] .article-title { font-size: clamp(1rem, 3.5vw, 1.3rem); }
  .articles-container[data-cards="4"] .article-title,
  .articles-container[data-cards="5"] .article-title,
  .articles-container[data-cards="6"] .article-title { font-size: clamp(0.9rem, 3vw, 1.2rem); }
  
  .article-content { 
    width: 95%; 
    font-size: clamp(0.75rem, 1vw, 0.9rem);
    line-height: 1.6;
  }
  
  .single-post-hero h1 { font-size: clamp(1.4rem, 10vw, 2.2rem); }
  .single-post-hero-content { max-width: 95%; }
  .single-post-hero .breadcrumbs { font-size: clamp(0.75rem, 1vw, 0.85rem); }
}

/* ==========================================================================
   RESPONSIVE FONT PER DISPOSITIVI TOUCH
   ========================================================================== */

/* Disable hover effects on touch devices */
@media (hover: none) and (pointer: coarse) {
  /* Miglior leggibilità per dispositivi touch */
  .article-title {
    font-size: clamp(1.5rem, 3vw, 1.8rem) !important;
    line-height: 1.3 !important;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7) !important;
  }

  .category-impianti .article-title {
    font-size: clamp(2rem, 3vw, 1.8rem) !important;
    line-height: 1.3 !important;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7) !important;
  }
  
  .article-content {
    font-size: clamp(0.85rem, 1.5vw, 1rem) !important;
    line-height: 1.6 !important;
  }
}

/* ==========================================================================
   LANDSCAPE ORIENTATION FONT ADJUSTMENTS
   ========================================================================== */

@media (max-width: 1024px) and (orientation: landscape) {
  /* Font ottimizzati per landscape su tablet e mobile */
  .article-title {
    font-size: clamp(1rem, 2.5vw, 1.6rem) !important;
    line-height: 1.2 !important;
  }
  
  .article-content {
    font-size: clamp(0.8rem, 1.2vw, 0.95rem) !important;
    line-height: 1.4 !important;
  }
}

/* Landscape mobile specifico (smartphone in orizzontale) */
@media (max-width: 767px) and (orientation: landscape) and (max-height: 500px) {
  .article-title {
    font-size: clamp(0.9rem, 2vw, 1.3rem) !important;
    line-height: 1.1 !important;
  }
  
  .article-content {
    font-size: clamp(0.75rem, 1vw, 0.85rem) !important;
    line-height: 1.3 !important;
  }
  
  .single-post-hero h1 {
    font-size: clamp(1.2rem, 4vw, 1.8rem) !important;
  }
}

/* ==========================================================================
   PRINT FONT STYLES
   ========================================================================== */

@media print {
  .article-title {
    color: #000 !important;
    text-shadow: none !important;
    font-size: 18pt !important;
    line-height: 1.2 !important;
    margin-bottom: 8pt !important;
  }
  
  .article-content {
    color: #333 !important;
    font-size: 11pt !important;
    line-height: 1.4 !important;
  }
  
  .single-post-hero h1 {
    color: #000 !important;
    font-size: 24pt !important;
    text-shadow: none !important;
  }
}
