/* ==========================================================================
   HERO.CSS — Component .hero
   Variants: --home (portada), --landing (psicologia / fisioterapia)
   ========================================================================== */

.hero {
   position: relative;
   min-height: 100vh;
   width: 100%;
   padding-top: var(--header-height-desktop);
   background-image: url('/assets/img/hero-bg.png');
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
   display: flex;
   align-items: center;
   justify-content: center;
   text-align: center;
   color: var(--color-text-main);
}

/* Overlay fosc sobre la imatge */
.hero::before {
   content: '';
   position: absolute;
   inset: 0;
   background: linear-gradient(to bottom,
         rgba(0, 0, 0, 0.4) 0%,
         rgba(0, 0, 0, 0.6) 100%);
   z-index: 1;
}

/* Variant landing — mateix hero però pot tenir altra imatge */
.hero--landing {
   background-image: url('/assets/img/hero-bg.png');
}

/* Contingut interior */
.hero__content {
   position: relative;
   z-index: 2;
   padding: 2rem;
   max-width: 860px;
   animation: fadeInUp 1.2s ease-out;
}

.hero__overline {
   font-size: 0.9rem;
   font-weight: 600;
   letter-spacing: 0.15em;
   text-transform: uppercase;
   color: var(--color-accent-light);
   margin-bottom: 1.5rem;
   opacity: 0.9;
}

.hero__title {
   font-family: var(--font-heading);
   font-size: 4rem;
   font-weight: 700;
   letter-spacing: -1.5px;
   line-height: 1.1;
   margin-bottom: 1.5rem;
   text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.hero__subtitle {
   font-size: 1.1rem;
   font-weight: 300;
   line-height: 1.7;
   margin-bottom: 3rem;
   opacity: 0.92;
   text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

/* Bloc de CTA estàndard */
.hero__cta {
   display: flex;
   gap: 1.5rem;
   justify-content: center;
   flex-wrap: wrap;
   margin-bottom: 2rem;
}

/* Bloc dual de CTA (botó + hint) */
.hero__cta--dual {
   align-items: flex-start;
}

.hero__cta-block {
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 0.5rem;
}

.hero__cta-hint {
   font-size: 0.75rem;
   font-weight: 400;
   color: var(--color-text-main);
   opacity: 0.75;
   letter-spacing: 0.5px;
}

/* Text de confiança sota els botons */
.hero__trust-text {
   font-size: 0.75rem;
   font-weight: 300;
   letter-spacing: 0.5px;
   opacity: 0.8;
   margin-top: 1rem;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 768px) {
   .hero {
      padding-top: var(--header-height-mobile);
   }

   .hero__title {
      font-size: 2.6rem;
      letter-spacing: -0.5px;
   }

   .hero__subtitle {
      font-size: 1rem;
      margin-bottom: 2rem;
   }

   .hero__cta {
      gap: 1rem;
   }

   .hero__overline {
      display: none;
      /* Net al mòbil */
   }
}

@media (max-width: 480px) {
   .hero__title {
      font-size: 2rem;
   }

   .hero__cta--dual {
      flex-direction: column;
      width: 100%;
   }

   .hero__cta-block {
      width: 100%;
   }

   .hero__cta-block .btn {
      width: 100%;
      text-align: center;
   }
}