/* Responsive Styles */

/* Large devices (desktops, less than 1200px) */
@media (max-width: 1199px) {
  :root {
    --container-max-width: 960px;
  }

  h1 { font-size: var(--font-size-3xl); }
  h2 { font-size: var(--font-size-2xl); }
}

/* Medium devices (tablets, less than 992px) */
@media (max-width: 991px) {
  :root {
    --container-max-width: 720px;
    --spacing-xl: 2.5rem;
    --spacing-xxl: 3rem;
  }

  h1 { font-size: var(--font-size-2xl); }
  h2 { font-size: var(--font-size-xl); }

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

  .section-lg {
    padding: var(--spacing-xxl) 0;
  }
}

/* Small devices (landscape phones, less than 768px) */
@media (max-width: 767px) {
  :root {
    --container-max-width: 540px;
    --spacing-lg: 1.5rem;
    --spacing-xl: 2rem;
    --spacing-xxl: 2.5rem;
  }

  h1 { font-size: var(--font-size-xl); }
  h2 { font-size: var(--font-size-lg); }
  h3 { font-size: var(--font-size-base); }

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

  .section-sm {
    padding: var(--spacing-md) 0;
  }

  .btn {
    padding: 0.625rem 1.25rem;
    font-size: var(--font-size-sm);
  }

  .btn-lg {
    padding: 0.875rem 1.75rem;
    font-size: var(--font-size-base);
  }
}

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575px) {
  :root {
    --container-padding: 0.75rem;
    --spacing-md: 1rem;
    --spacing-lg: 1.25rem;
    --spacing-xl: 1.5rem;
    --spacing-xxl: 2rem;
  }

  .section-title {
    margin-bottom: var(--spacing-lg);
  }

  .card {
    padding: var(--spacing-md);
  }
}

/* Utility classes for responsive display */
.hide-mobile {
  display: block;
}

.show-mobile {
  display: none;
}

@media (max-width: 767px) {
  .hide-mobile {
    display: none;
  }

  .show-mobile {
    display: block;
  }
}

/* Responsive text alignment */
@media (max-width: 767px) {
  .text-center-mobile {
    text-align: center;
  }

  .text-left-mobile {
    text-align: left;
  }
}

/* Responsive flex direction */
@media (max-width: 767px) {
  .flex-column-mobile {
    flex-direction: column;
  }
}

/* Print styles */
@media print {
  .header,
  .footer,
  .nav-toggle,
  .btn {
    display: none;
  }

  body {
    font-size: 12pt;
    color: #000;
    background: #fff;
  }

  a {
    text-decoration: underline;
    color: #000;
  }
}
