/* ============================================
   GARAANA - Responsive Styles
   ============================================ */

/* --- Small Desktop (< 1200px) --- */
@media (max-width: 1200px) {
  :root {
    --fs-4xl: 2.5rem;
    --fs-3xl: 2rem;
    --fs-5xl: 3rem;
  }

  .footer__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* --- Tablet (< 992px) --- */
@media (max-width: 991px) {
  :root {
    --fs-4xl: 2.2rem;
    --fs-3xl: 1.8rem;
    --sp-section: 3.5rem;
  }

  /* Header & Nav */
  .hamburger {
    display: flex;
  }

  .nav__list {
    position: fixed;
    top: 0;
    right: -100%;
    width: 300px;
    height: 100vh;
    background: var(--clr-white);
    flex-direction: column;
    align-items: flex-start;
    padding: 100px var(--sp-xl) var(--sp-xl);
    gap: 0;
    box-shadow: var(--shadow-xl);
    transition: right var(--tr-base);
    z-index: calc(var(--z-header) - 1);
  }

  .nav__list--open {
    right: 0;
  }

  .nav-overlay {
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    transition: all var(--tr-base);
    z-index: calc(var(--z-header) - 2);
  }

  .nav-overlay--visible {
    opacity: 1;
    visibility: visible;
  }

  .nav__item {
    width: 100%;
    border-bottom: 1px solid var(--clr-gray-border);
  }

  .nav__link {
    display: block;
    padding: var(--sp-md) 0;
    color: var(--clr-dark);
    font-size: var(--fs-base);
  }

  .nav__link::after {
    display: none;
  }

  .nav__link--active,
  .nav__link:hover {
    color: var(--clr-primary);
  }

  .lang-switch {
    margin-top: var(--sp-lg);
    background: rgba(46, 125, 50, 0.1);
  }

  .lang-switch__btn {
    color: var(--clr-dark);
  }

  .lang-switch--desktop {
    display: none;
  }

  .nav__item--lang-mobile {
    border-bottom: none;
  }

  /* Grids */
  .grid--4 {
    grid-template-columns: repeat(2, 1fr);
  }

  .grid--3 {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Process Steps */
  .process-steps {
    flex-direction: column;
    align-items: center;
  }

  .process-step {
    width: 80%;
    margin-bottom: var(--sp-xl);
  }

  .process-step:not(:last-child)::after {
    content: '\2193';
    position: static;
    display: block;
    margin-top: var(--sp-md);
  }

  /* Timeline */
  .timeline::before {
    left: 20px;
  }

  .timeline__item,
  .timeline__item:nth-child(odd) {
    flex-direction: row;
    padding-left: 60px;
  }

  .timeline__content {
    width: 100%;
  }

  .timeline__dot {
    left: 20px;
  }

  /* Page Hero */
  .page-hero {
    height: 250px;
  }

  .page-hero__title {
    font-size: var(--fs-3xl);
  }

  /* Stats */
  .stat-card__number {
    font-size: var(--fs-3xl);
  }
}

/* --- Large Phone (< 768px) --- */
@media (max-width: 767px) {
  :root {
    --fs-4xl: 2rem;
    --fs-3xl: 1.6rem;
    --fs-2xl: 1.4rem;
    --sp-section: 3rem;
    --header-height: 70px;
  }

  .grid--4,
  .grid--3,
  .grid--2 {
    grid-template-columns: 1fr;
  }

  .footer__grid {
    grid-template-columns: 1fr;
    gap: var(--sp-2xl);
    text-align: center;
  }

  .footer__title::after {
    left: 50%;
    transform: translateX(-50%);
  }

  .footer__social {
    justify-content: center;
  }

  .footer__link {
    justify-content: center;
  }

  .footer__contact-item {
    justify-content: center;
  }

  /* Hero */
  .hero {
    min-height: 500px;
  }

  .hero__title {
    font-size: var(--fs-3xl);
  }

  .hero__subtitle {
    font-size: var(--fs-base);
  }

  /* Page Hero */
  .page-hero {
    height: 200px;
    background-attachment: scroll;
  }

  /* Comparison Table */
  .comparison-table {
    font-size: var(--fs-sm);
  }

  .comparison-table th,
  .comparison-table td {
    padding: var(--sp-sm);
  }

  /* Buttons */
  .btn {
    padding: 12px 24px;
  }

  .btn--lg {
    padding: 14px 30px;
    font-size: var(--fs-sm);
  }

  /* WhatsApp */
  .whatsapp-float {
    width: 50px;
    height: 50px;
    font-size: 24px;
    bottom: 20px;
    right: 20px;
  }

  .back-to-top {
    width: 40px;
    height: 40px;
    bottom: 80px;
    right: 20px;
  }

  /* Blog - single column */
  .blog-grid {
    grid-template-columns: 1fr;
  }

  /* Gallery */
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* --- Small Phone (< 576px) --- */
@media (max-width: 575px) {
  :root {
    --fs-4xl: 1.75rem;
    --fs-3xl: 1.4rem;
    --fs-2xl: 1.25rem;
    --sp-section: 2.5rem;
  }

  .container {
    padding: 0 var(--sp-md);
  }

  .section__header {
    margin-bottom: var(--sp-2xl);
  }

  .section__title {
    font-size: var(--fs-2xl);
  }

  .hero__buttons {
    flex-direction: column;
    gap: var(--sp-sm);
  }

  .hero__buttons .btn {
    width: 100%;
  }

  .filter-tabs {
    gap: var(--sp-xs);
  }

  .filter-tab {
    padding: 8px 16px;
    font-size: var(--fs-xs);
  }

  .testimonial-card {
    padding: var(--sp-lg);
  }

  .feature-card {
    padding: var(--sp-lg);
  }

  .gallery-grid {
    grid-template-columns: 1fr;
  }

  .nav__list {
    width: 260px;
  }

  .product-card__body {
    padding: var(--sp-md);
  }

  .comparison-table {
    font-size: var(--fs-xs);
  }
}
