/* ============================================
   MEMORA · Additional Responsive Rules
   Fine-tuning for specific breakpoints
   ============================================ */

/* Tablet landscape */
@media (min-width: 769px) and (max-width: 1024px) {
  :root {
    --container-padding-x: var(--space-6);
    --section-pad-y: var(--space-16);
  }
  
  .hero-title {
    font-size: var(--fs-3xl);
  }
  
  .grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Tablet portrait */
@media (max-width: 768px) {
  :root {
    --container-padding-x: var(--space-4);
    --section-pad-y: var(--space-12);
  }
  
  h1 { font-size: var(--fs-2xl); }
  h2 { font-size: var(--fs-xl); }
  h3 { font-size: var(--fs-lg); }
  
  .hero-section {
    padding-block: var(--space-16) var(--space-10);
  }
  
  .hero-grid {
    gap: var(--space-8);
  }
  
  .feature-preview {
    height: 180px;
  }
  
  .process-step:not(:last-child)::after {
    display: none;
  }
  
  .contact-item {
    margin-bottom: var(--space-4);
  }
}

/* Mobile large */
@media (max-width: 576px) {
  :root {
    --section-pad-y: var(--space-10);
  }
  
  .btn {
    width: 100%;
    justify-content: center;
  }
  
  .hero-actions {
    flex-direction: column;
  }
  
  .hero-actions .btn {
    width: 100%;
  }
  
  .feature-preview {
    height: 160px;
    font-size: 2.5rem;
  }
  
  .pricing-card {
    padding: var(--space-6);
  }
  
  .form {
    padding: var(--space-5);
  }
  
  .chat-panel {
    width: calc(100vw - var(--space-4));
    right: var(--space-2);
    bottom: var(--space-20);
    max-height: calc(100vh - 160px);
  }
  
  .chat-launcher {
    bottom: var(--space-4);
    right: var(--space-4);
    width: 52px;
    height: 52px;
  }
}

/* Small mobile */
@media (max-width: 380px) {
  .logo-mark {
    width: 32px;
  }
  
  .logo-text {
    font-size: var(--fs-lg);
  }
  
  .header-inner {
    padding-inline: var(--space-3);
  }
  
  .container {
    padding-inline: var(--space-3);
  }
  
  .hero-title {
    font-size: var(--fs-xl);
  }
  
  .section-title {
    font-size: var(--fs-lg);
  }
}

/* High DPI screens optimization */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .logo-mark {
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
  }
}

/* Print styles */
@media print {
  .site-header,
  .site-footer,
  .chat-launcher,
  .chat-panel,
  .mobile-nav-overlay,
  .mobile-nav-panel {
    display: none !important;
  }
  
  body {
    background-color: white;
    color: black;
  }
  
  .container {
    max-width: 100%;
    padding: 0;
  }
  
  a[href^="http"]::after {
    content: " (" attr(href) ")";
    font-size: 0.8em;
    color: #666;
  }
}