/* ===== VARIABLES BASE ===== */
:root{
  --bg:#ffffff;
  --bg-alt:#f7f7f7;
  --text:#222;
  --muted:#666;
  --brand:#1f7a8c;
  --brand-dark:#166072;
  --border:#e5e5e5;
  --nav-h:72px;
  --maxw:1100px;
  --shadow:0 10px 30px rgba(0,0,0,.12);
}

/* ===== RESET & TIPOGRAFIA ===== */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Inter, Ubuntu, Arial, sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.65;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; height:auto; display:block}
a{color:var(--brand); text-decoration:none}
a:hover{text-decoration:underline}
h1,h2{line-height:1.2; margin:0 0 12px}
h1,h2{
  font-family:'Bricolage Grotesque', 'Montserrat', Arial, sans-serif;
  font-weight:800;
  letter-spacing:.2px;
}
h1{font-size:clamp(28px, 4.5vw, 48px)}
h2{font-size:clamp(22px, 3vw, 32px)}
p{margin:0 0 14px}
.lead{font-size:clamp(16px, 2.1vw, 19px)}
.muted{color:var(--muted)}
.center{text-align:center}

/* ===== NAV ===== */
.nav{
  position:sticky; top:0; z-index:1000;
  background:#fffccf;
  border-bottom:1px solid var(--border);
  height:var(--nav-h);
}
.nav-inner{
  max-width:var(--maxw); margin:0 auto; height:100%;
  display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 16px;
}
.brand{display:flex; align-items:center; gap:12px}
.brand img{height:46px; width:auto}
.brand-title{font-weight:800; color:#2a2a2a; white-space:nowrap}
.menu{display:flex; gap:18px; align-items:center; flex-wrap:wrap}
.menu a{color:#2a2a2a; font-weight:700; padding:8px 10px; border-radius:8px}
.menu a:hover{background:rgba(0,0,0,.05); text-decoration:none}

/* ===== HOME: HERO amb text a sobre ===== */
.home{margin-top:0}
.hero-visual{
  position:relative;
  width:100%;
  height:calc(100vh - var(--nav-h));
  background-image:url('hero.jpg');   /* <-- posa aquí la teva foto */
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
/* .hero-visual::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.25) 100%);
} */
.hero-overlay{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  padding:0 16px;
}
.overlay-inner{
  max-width:900px;
  margin-top:-45vh; /* ajusta 10–18vh al teu gust */
}
.on-hero{
  color:#fff;
  text-shadow: 0 2px 6px rgba(0,0,0,.6), 0 12px 30px rgba(0,0,0,.35);
}
.quote{font-style:italic}

/* ===== SECCIONS ===== */
.section{padding:64px 16px}
.alt{background:#fff}
.container{max-width:var(--maxw); margin:0 auto}
.panel{
  background:#fff;
  border:1px solid var(--border);
  border-radius:14px;
  padding:28px 22px;
  box-shadow:var(--shadow);
}

/* ===== LOGO ENTRE SECCIONS ===== */
.logo-break{
  padding:36px 16px;
  background:#fff;
  text-align:center;
}
.logo-break img{
  width:350px; max-width:90vw; height:auto;
  margin:0 auto;
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.15));
}


/* ===== LOGO ECAS TAULA TERCER SECTOR ENTRE SECCIONS ===== */
.logo-break-ecas{
  padding:36px 16px;
  background:#fff;
  text-align:center;
}
.logo-break-ecas img{
  width:520px;           /* fes-la més ampla en desktop */
  max-width:90vw;        /* segueix adaptant-se en mòbil */
  height:auto;
  margin:0 auto;
  filter:drop-shadow(0 0px 0px rgba(0,0,0,15));
}

/* ===== IFRAME CASA ===== */
.iframe-wrap{
  aspect-ratio:16/9;
  background:#000;
  border-radius:12px;
  overflow:hidden;
  border:1px solid var(--border);
  box-shadow:var(--shadow);
}
.iframe-wrap iframe{width:100%; height:100%; border:0}

/* ===== GALERIA ===== */
.grid{display:grid; gap:12px; grid-template-columns:repeat(3,1fr)}
.card{border:1px solid var(--border); border-radius:12px; overflow:hidden; background:#fff; box-shadow:var(--shadow)}
.card img{display:block; width:100%; height:230px; object-fit:cover; transition:transform .25s ease}
.card:hover img{transform:scale(1.03)}
.sr-only{position:absolute; left:-9999px}

/* ===== LIGHTBOX ===== */
.lightbox{position:fixed; inset:0; background:rgba(0,0,0,.9); display:none; align-items:center; justify-content:center; z-index:1200}
.lightbox.open{display:flex}
.lb-inner{max-width:min(95vw,1100px); max-height:90vh; position:relative; display:flex; align-items:center; gap:16px; padding:10px}
.lb-media{flex:1 1 auto; display:flex; align-items:center; justify-content:center}
.lb-img{max-width:100%; max-height:85vh; border-radius:10px; box-shadow:var(--shadow)}
.lb-caption{position:absolute; left:0; right:0; bottom:0; color:#fff; background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.65) 80%); padding:18px 60px 14px 60px; font-size:.95rem}
.lb-close, .lb-prev, .lb-next{
  position:absolute; top:50%; transform:translateY(-50%);
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25); color:#fff;
  padding:10px 12px; border-radius:10px; cursor:pointer; user-select:none;
  backdrop-filter:saturate(120%) blur(4px);
}
.lb-close{top:16px; right:16px; transform:none; font-size:20px}
.lb-prev{left:16px}
.lb-next{right:16px}
.lb-close:hover, .lb-prev:hover, .lb-next:hover{background:rgba(255,255,255,.22)}
.lb-count{position:absolute; top:16px; left:16px; color:#fff; font-size:.9rem; opacity:.85}

/* ===== CTA / CONTACTE / BOTÓ AMUNT / FOOTER ===== */
.cta{display:inline-block; background:var(--brand); color:#fff; padding:12px 18px; border-radius:10px; font-weight:800}
.cta:hover{background:var(--brand-dark); text-decoration:none}
.contact-list{list-style:none; padding:0; margin:12px 0 0}
.contact-list li{margin:6px 0}
.to-top{
  position:fixed; right:18px; bottom:18px; z-index:1100;
  display:none; align-items:center; gap:8px;
  background:#fff; color:#222; border:1px solid var(--border);
  border-radius:999px; padding:10px 14px; box-shadow:var(--shadow);
  text-decoration:none; font-weight:800;
}
.to-top.show{display:inline-flex}
.to-top:hover{text-decoration:none}
footer{padding:28px 16px; border-top:1px solid var(--border); background:#fff}
.footer-inner{max-width:var(--maxw); margin:0 auto; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px}
.small{font-size:.95rem; color:var(--muted)}

/* ===== RESPONSIVE ===== */
@media (max-width:900px){ .grid{grid-template-columns:repeat(2,1fr)} }
/* @media (max-width:620px){
  :root{--nav-h:64px}
  .brand-title{display:none}
  .menu{gap:8px}
  .menu a{padding:8px}
  .grid{grid-template-columns:1fr}
  .lb-caption{padding:14px 50px 12px 50px}
} */
/* Amaga el menú en pantalles petites i mostra el títol */

/* Per defecte: mostra el llarg, amaga el curt */
.brand-title-short{ display:none; }

/* Quan sigui mòbil (pots ajustar 860px) */
@media (max-width:1050px){
  .menu{ display:none; }                 /* ja amagàvem el menú en petit */
  .brand-title-full{ display:none; }     /* amaga el llarg */
  .brand-title-short{ display:inline; }  /* mostra només "Ca l’Anita" */
}

/* Evita que el nav tapi títols en ancoratges */
:target::before{
  content:"";
  display:block;
  height:calc(var(--nav-h) + 12px);
  margin-top:calc(var(--nav-h) * -1 - 12px);
  visibility:hidden;
}


/* ===== QUI SOM: logo a l'esquerra + text a la dreta ===== */
.who{
  display:grid;
  grid-template-columns: 360px 1fr;   /* ample del bloc del logo */
  gap: 24px;
  align-items:start;
}

.who-media{
  align-self:start;
}
.who-media img{
  width:100%;
  max-width:360px;
  height:auto;
  border-radius:12px;                 /* tret opcional: arrodonit suau */
  filter: drop-shadow(0 10px 24px rgba(0,0,0,.12));
}

.who-text p:first-child{ margin-top:0; }

/* Responsive: en pantalles petites, logo a sobre i centrat */
@media (max-width: 900px){
  .who{
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .who-media{ justify-self:center; }
  .who-media img{ max-width: 280px; }
}


/* ===== GALERIA: reduir espai a dalt (escriptori) ===== */
.gallery-head{ padding-top:40px; padding-bottom:12px; }  /* abans era més alt */
.gallery-head h1{ margin-bottom:6px; }
.gallery-body{ padding-top:24px; }                        /* menys espai abans de la grid */

/* ===== Vista mòbil / estreta ≤1050px: feed vertical sense lightbox ===== */
@media (max-width:1050px){
  /* feed: una imatge sota l’altra, sense “targetes” */
  .grid{ display:block; }
  .card{
    border:none; box-shadow:none; border-radius:0;
    margin:0 0 18px 0;
  }
  .card img{
    width:100%; height:auto; border-radius:12px;   /* conserva cantonades maques */
  }

  /* desactiva cues visuals del lightbox */
  .gallery-item{ cursor:default !important; }
  .lightbox{ display:none !important; }  /* per si algú obre el diàleg via hash o similar */
}


/* targeta amb overlay de play per als vídeos */
.card.video{ position:relative; }
.play-badge{
  position:absolute; inset:auto auto 12px 12px;
  background:rgba(0,0,0,.65); color:#fff;
  border-radius:999px; width:44px; height:44px;
  display:grid; place-items:center; font-size:18px;
  box-shadow:0 6px 18px rgba(0,0,0,.25);
}
.card.video:hover .play-badge{ background:rgba(0,0,0,.8); }

/* lightbox: suport vídeo */
.lb-video{ max-width:100%; max-height:85vh; border-radius:10px; box-shadow:var(--shadow); outline:none }


/* ===== ENTITATS QUE DONEN SUPORT ===== */
.partners{
  display:grid;
  grid-template-columns:repeat(4,minmax(140px,1fr));
  gap:28px;
  align-items:center;
  justify-items:center;
  list-style:none;
  padding:0;
  margin:16px 0 0;
}
.partners img{
  width:100%;
  max-width:200px;       /* mida màxima del logo */
  height:auto;
  object-fit:contain;
  filter:grayscale(0%);
  opacity:.85;
  transition:filter .2s ease, opacity .2s ease, transform .2s ease;
}
.partners a:hover img,
.partners a:focus img{
  filter:none;
  opacity:1;
  transform:scale(1.03);
}

/* Responsive */
@media (max-width:900px){
  .partners{ grid-template-columns:repeat(3,minmax(120px,1fr)); gap:20px; }
}
@media (max-width:600px){
  .partners{ grid-template-columns:repeat(2,minmax(120px,1fr)); gap:16px; }
}



/* ===== GALERIA DE VÍDEOS (YouTube thumbs) ===== */
.video-grid .card{ position:relative; overflow:hidden; }
.yt-card{ display:block; position:relative; border-radius:12px; overflow:hidden; }
.yt-thumb{
  width:100%; height:230px; object-fit:cover; display:block;
  transition:transform .25s ease, filter .25s ease;
}
.video-grid .card:hover .yt-thumb{ transform:scale(1.03); filter:brightness(1.05); }
/* play badge reutilitza el que ja tens per a vídeos */
.play-badge{
  position:absolute; inset:auto auto 12px 12px;
  background:rgba(0,0,0,.65); color:#fff;
  border-radius:999px; width:44px; height:44px;
  display:grid; place-items:center; font-size:18px;
  box-shadow:0 6px 18px rgba(0,0,0,.25);
}
.video-grid .card:hover .play-badge{ background:rgba(0,0,0,.8); }

/* Responsive: en mòbil els vídeos ocupen tot l’ample como les fotos */
@media (max-width:1050px){
  .yt-thumb{ height:auto; }
}




/* GALERIA AMB DUES IMATGES ACCES A DUES GALERIES DIFERENTS */

/* ===== Galeria (promos en 2 columnes) ===== */
.gallery-promo{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;                 /* “columna blanca” entre targetes */
  align-items:start;
}
.gallery-card{
  display:flex;
  flex-direction:column;
  text-decoration:none;
}
.gallery-cover{
  width:100%;
  aspect-ratio: 4/3;         /* manté proporció bonica */
  object-fit:cover;
  border-radius:12px;
  box-shadow: 0 12px 30px rgba(0,0,0,.10);
  transition: transform .25s ease, box-shadow .25s ease;
}
.gallery-card:hover .gallery-cover,
.gallery-card:focus .gallery-cover{
  transform:translateY(-2px);
  box-shadow: 0 16px 40px rgba(0,0,0,.14);
}
.gallery-linkline{
  margin-top:10px;
  font-weight:700;
  text-align:center;
}

/* Responsive: en mòbil es mostren en 1 columna */
@media (max-width: 900px){
  .gallery-promo{ grid-template-columns:1fr; gap:20px; }
}
