html {
  scroll-behavior: smooth;
}


/*

 div {
  border:1px blue solid;
}

*/

/* general elements attributes */
/* Colors */
:root {
--color-bg: #F6F4EF;
--color-highlight: #F5B642;
--color-text: #1C2238;
--color-neutral:#B8B9B5;
}


body {
color: var(--color-text);
font-family: "fairplex-narrow", serif;
margin: 0;
padding: 0;
position: relative; /* IMPORTANT: permet que absolute funcioni bé */
min-height: 100%; 
}

#main-landing {
  transition: background-color 0.5s ease; /* suau transició */
  background-color: var(--main-bg, #F6F4EF); /* valor inicial Off White */
}



#topbar {
  height: 10vh;
  min-height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin-bottom: 4rem;
}

.logo {
  font-family: "bely-display", serif;
  font-size: 2.5rem;
  letter-spacing: 0.3em;
}


/* ========================= */
/* HERO SECTIONS */
/* ========================= */

#landing-sections {
  height: 60vh;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  padding: 2rem;
  margin-left: 4rem;
  margin-right: 4rem;
  grid-gap: 4rem;
  transition: grid-template-columns 0.8s cubic-bezier(.22,1,.36,1);
}

.landing-block {
  position: relative;
  display: flex;
  align-items: center;      /* centra verticalment */
  justify-content: center;
  overflow: hidden;
  text-decoration: none;
  color: var(--color-bg);
  border-radius: 32px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);

  transition: transform 0.4s ease, box-shadow 0.4s ease;

  /* Lleu flotació inicial */
  transform: translateY(0px);

}


.landing-block img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.landing-block::before {
  content: "";
  position: absolute;
  inset: 0;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  mask-image: linear-gradient(
    to bottom,
    rgba(0,0,0,1) 0%,
    rgba(0,0,0,0) 20%,
    rgba(0,0,0,0) 80%,
    rgba(0,0,0,1) 100%
  );
  pointer-events: none;
}

.landing-block::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.35);
  transition: background 0.4s ease;
}

.landing-block::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.6) 0%,
    rgba(0,0,0,0.0) 25%,
    rgba(0,0,0,0.0) 75%,
    rgba(0,0,0,0.6) 100%
  );
  pointer-events: none;
}



/* Hover elegant */
.landing-block:hover img {
  transform: scale(1.05);
}

.landing-block:hover::after {
  background: rgba(0,0,0,0.5);
}

@media (min-width: 1281px) {

#landing-sections:has(.music-block:hover) {
  grid-template-columns: 4fr 1fr 1fr;
}

#landing-sections:has(.writing-block:hover) {
  grid-template-columns: 1fr 4fr 1fr;
}

#landing-sections:has(.ux-block:hover) {
  grid-template-columns: 1fr 1fr 4fr;
}
}

.landing-title {
  position: absolute;
  text-align: center;
  bottom: 1.5rem;
  font-size: 2rem;
  z-index: 2;
  font-family: 'bely-display';
  color: var(--color-highlight);
}

.landing-hover-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--color-bg);
  text-align: center;
  opacity: 0;
  transition: opacity 0.4s ease;
  font-size: 1.5rem;
  font-style: italic;
  line-height: 1.5;
  padding: 0 1rem;
  z-index: 3;
}

.landing-block:hover {
  transform: translateY(-10px) scale(1.03); /* puja 10px i lleu zoom */
  box-shadow: 0 20px 30px rgba(0, 0, 0, 0.25), /* ombra general */
              0 0 20px var(--color-highlight, #F5B642); /* glow accent */
}

.landing-block:hover .landing-hover-text {
  opacity: 1;
}

.landing-overlay {
  position: absolute;
  inset: 0;                 /* cobreix tota la targeta */
  z-index: 1;               /* entre imatge i text */
  pointer-events: none;     /* no interfereix amb hover */
  background-color: transparent; /* valor per defecte */
  transition: background-color 0.4s ease;
}

.music-block .landing-overlay {
  background-color: rgba(245,182,66,0.1); /* Golden Amber suau */
}

.ux-block .landing-overlay {
  background-color: rgba(242,166,166,0.1); /* Soft Sunset Pink suau */
}

.writing-block .landing-overlay {
  background-color: rgba(233,107,58,0.1); /* Sunset Orange suau */
}

.landing-block:hover .landing-overlay {
  background-color: rgba(245,182,66,0.4); /* Música */
}

.music-block:hover .landing-overlay {
  background-color: rgba(245,182,66,0.4);
}

.ux-block:hover .landing-overlay {
  background-color: rgba(242,166,166,0.4); /* UX/UI */
}

.writing-block:hover .landing-overlay {
  background-color: rgba(233,107,58,0.4); /* Escriptura */
}

.landing-block:hover .landing-title,
.landing-block:hover .landing-hover-text {
  text-shadow: 0 0 10px rgba(255,255,255,0.8); /* lleu glow */
}

.landing-overlay,
.landing-title,
.landing-hover-text {
  transition: all 0.4s ease;
}

.spark {
  position: absolute;
  width: 3px;
  height: 3px;
  background-color: white;       /* totes blanques */
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  animation: spark-twinkle 1s linear forwards;
}

@keyframes spark-twinkle {
  0% {
    opacity: 0;
    transform: scale(0.5);
  }
  50% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(0.5);
  }
}

.lang-badge {
  position: fixed;
  top: 1rem;
  left: 1rem;
  font-family: "fairplex-narrow", serif;
  color: var(--color-text);
  cursor: pointer;
  z-index: 999;
}

.lang-badge .lang-selected {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.lang-badge img {
  width: 24px;
  height: auto;
  display: inline-block;
  border-radius: 4px;
}


/* Dropdown ocult per defecte */
.lang-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  margin: 0;
  padding: 0.5rem 0;
  list-style: none;
  background: var(--color-bg, #fff);
  border: 1px solid #ccc;
  border-radius: 6px;
  display: none;
  min-width: 80px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

.lang-dropdown li {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.8rem;
}

.lang-dropdown li:hover {
  background-color: rgba(245, 182, 66, 0.18); /* Golden Amber translúcid */
}

.lang-dropdown img {
  transition: filter 0.25s ease, transform 0.2s ease;
}

.lang-dropdown li:hover img {
  filter: saturate(0.85) brightness(0.95);
  transform: translateY(-1px);
}

/* Mostrar dropdown al hover del badge */
.lang-badge:hover .lang-dropdown {
  display: block;
}

.lang-dropdown::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.08;
  pointer-events: none;
  mix-blend-mode: multiply;
}

/* ========================= */
/* WELCOME & NEWS */
/* ========================= */

.content {
  max-width: 1100px;
  margin-inline: auto;
  padding-inline: clamp(1.5rem, 5vw, 4rem);
}

#welcome{
  height: 30vh;
}

/* Footer*/
footer {
  padding: 1rem;
  text-align: center;
}

footer p {
  color: var(--color-neutral);
  text-align: center;
}


/* ========================= */
/* RESPONSIVE */
/* ========================= */

@media (max-width: 1280px) {

body{
  overflow-y:scroll;
  }

  #landing-sections {
    grid-template-columns: 1fr;
    height: auto;
  }

  .landing-block {
    height: 45vh;
  }

  .landing-hover-text {
    font-size: 1rem;
    line-height: 1.5;
    width: 80%;   /* abans era automàtic */
    max-width: 90%;
  }

  .lang-badge {
    position: relative; /* dins del flux del main*/
    display: flex;
    justify-content: center; /* centrat horitzontalment*/
    align-items: center;
    gap: 0.4rem;
    padding: 1rem;
    margin-top: 2rem;
    z-index: 1000; /* per sobre del contingut*/
  }

  .lang-badge img {
    width: 44px; /* doble mida respecte desktop*/
    height: auto;
    display: inline-block;
  }

  /* Dropdown inicialment ocult*/
  .lang-badge .lang-dropdown {
    display: none; /* desapareix per defecte*/
    position: absolute;
    top:auto;
    bottom: 100%; /* surt cap a dalt del botó*/
    left: 50%;    /* centrat horitzontalment respecte la badge*/
    transform: translateX(-50%);
    flex-direction: column;
    gap: 0.8rem;
    background: var(--color-bg);
    padding: 0.5rem 1rem;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.25);
    z-index: 1001; /* per sobre de tot*/
  }

  .lang-badge .lang-dropdown li {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    cursor: pointer;
    padding: 0.3rem 0;
  }

  .lang-badge .lang-dropdown img {
    width: 44px;
    height: auto;
  }

  /* Toggle sense hover: mostrem al tocar*/
  .lang-badge:active .lang-dropdown,
  .lang-badge:focus-within .lang-dropdown {
    display: flex;
  }
}
