/* === Global Responsive Adjustments === */

/* Sticky mobile CTA: hidden on desktop */
.sticky-mobile-cta {
  display: none;
}

/* Tablet portrait and below */
@media (max-width: 768px) {
  .sticky-mobile-cta {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 80;
    padding: var(--space-sm) var(--space-md);
    gap: var(--space-sm);
    background: var(--color-white);
    border-top: 1px solid var(--color-border);
    box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.08);
  }
  .sticky-mobile-cta__btn {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-sm);
    padding: 14px 16px;
    border-radius: var(--border-radius-pill);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-base);
    text-decoration: none;
    transition: opacity 0.2s;
  }
  .sticky-mobile-cta__btn--primary {
    background: var(--color-primary);
    color: var(--color-black);
    border: 2px solid var(--color-primary);
  }
  .sticky-mobile-cta__btn--secondary {
    background: var(--color-black);
    color: var(--color-white);
    border: 2px solid var(--color-black);
  }
  /* Evita che il contenuto finisca sotto la barra sticky */
  main {
    padding-bottom: 80px;
  }
}

/* Tablet landscape and below */
@media (max-width: 1024px) {
  .grid--4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Tablet portrait and below */
@media (max-width: 768px) {
  :root {
    --space-section: 3rem;
  }

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

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

  .section-title {
    font-size: var(--font-size-xl);
  }

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

  /* Tabs scroll on mobile */
  .tabs {
    gap: 0;
    padding-bottom: 2px;
  }

  .tab {
    padding: var(--space-sm) var(--space-md);
    font-size: var(--font-size-sm);
  }
}

/* Mobile */
@media (max-width: 576px) {
  .grid--2,
  .grid--3,
  .grid--4 {
    grid-template-columns: 1fr;
  }

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

  .btn--large {
    padding: 14px 24px;
    font-size: var(--font-size-base);
  }

  .btn-group {
    flex-direction: column;
  }

  .btn-group .btn {
    width: 100%;
    justify-content: center;
  }
}

/* Print */
@media print {
  .site-header,
  .site-footer,
  .whatsapp-widget,
  .sticky-mobile-cta,
  .nav__toggle,
  .btn,
  .hero__cta,
  .location-card__actions,
  .tabs,
  .iframe-wrapper {
    display: none !important;
  }

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

  .container {
    max-width: 100%;
    padding: 0;
  }

  .section {
    padding: 1rem 0;
    page-break-inside: avoid;
  }

  a[href]::after {
    content: " (" attr(href) ")";
    font-size: 0.8em;
    color: #666;
  }
}
