/* =========================================================
   ADECTE — Associació per a la Divulgació Espacial i
   Científica de les Terres de l'Ebre
   Sistema de disseny: "Cel de l'Ebre"
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');

:root{
  /* --- Color --- */
  --nit:        #0b1320;
  --nit-clara:  #131f35;
  --nit-vora:   #233355;
  --accent:     #1D4ED8;
  --accent-clar: #3B82F6;
  --accent-fosc: #1E40AF;
  --estel:      #1D4ED8;
  --estel-fosc: #1E40AF;
  --delta:      #60A5FA;
  --boira:      #92a0c6;
  --blanc:      #f5f2ea;
  --capcalera-fons: #ffffff;
  --capcalera-text: #0f172a;
  --capcalera-text-secundari: #475569;

  /* --- Tipografia --- */
  --font-display: 'Space Grotesk', sans-serif;
  --font-body: 'Inter', sans-serif;
  --font-mono: 'JetBrains Mono', monospace;

  /* --- Espaiat --- */
  --space-1: 0.5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2.5rem;
  --space-5: 4rem;
  --space-6: 7rem;

  --radius: 14px;
  --max-w: 1180px;
}

/* --- Reset --- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--nit);
  color:var(--blanc);
  font-family:var(--font-body);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }
h1,h2,h3,h4{ font-family:var(--font-display); margin:0 0 var(--space-2); line-height:1.15; font-weight:600; }
p{ margin:0 0 var(--space-2); }

:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
  border-radius:4px;
}

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
}

.contenidor{
  max-width:var(--max-w);
  margin:0 auto;
  padding:0 var(--space-3);
}

.eyebrow{
  font-family:var(--font-mono);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.74rem;
  color:var(--accent-clar);
  display:inline-flex;
  align-items:center;
  gap:.6em;
  margin-bottom:var(--space-2);
}
.eyebrow::before{
  content:"";
  width:6px;height:6px;border-radius:50%;
  background:var(--accent-clar);
  box-shadow:0 0 8px 2px rgba(59,130,246,.5);
}

/* =========================================================
   Capçalera / Navegació — motiu "carta estel·lar"
   ========================================================= */
.capcalera{
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:var(--capcalera-fons);
  border-bottom:1px solid #e2e8f0;
  box-shadow:0 1px 3px rgba(15,23,42,.06);
}
.capcalera .contenidor{
  display:flex; align-items:center; justify-content:space-between;
  height:74px;
}
.marca{ display:flex; align-items:center; gap:.7rem; font-family:var(--font-display); font-weight:700; font-size:1.15rem; color:var(--capcalera-text); }
.marca img{ height:38px; width:auto; }
.marca .marca-fallback{
  height:38px; width:38px; border-radius:50%;
  background:linear-gradient(135deg, var(--accent), var(--accent-fosc));
  display:flex; align-items:center; justify-content:center;
  font-size:.8rem; color:#fff; font-weight:700;
}

.nav-principal > ul{ display:flex; align-items:center; gap:var(--space-3); }
.nav-principal a{
  font-size:.95rem; color:var(--capcalera-text-secundari); position:relative; padding:.3rem 0;
  transition:color .2s;
}
.nav-principal a::after{
  content:""; position:absolute; left:0; bottom:-6px; width:0; height:2px;
  background:var(--accent); transition:width .25s;
}
.nav-principal a:hover,
.nav-principal a.actiu{ color:var(--capcalera-text); }
.nav-principal a.actiu::after{ width:100%; }
.nav-principal a.actiu::before{
  content:"✦"; color:var(--accent); font-size:.6rem; margin-right:.4em;
}

.btn-soci-nav{
  background:var(--accent) !important; color:#fff !important; font-weight:600;
  padding:.55rem 1.1rem; border-radius:999px; font-size:.88rem !important;
}
.btn-soci-nav::after{ display:none; }
.btn-soci-nav:hover{ background:var(--accent-fosc) !important; }

.menu-toggle{
  display:none; background:none; border:none; color:var(--capcalera-text);
  font-size:1.6rem; cursor:pointer; line-height:1;
}

@media (max-width: 980px){
  .menu-toggle{ display:block; }
  .nav-principal{
    position:fixed; inset:74px 0 0 0; background:var(--capcalera-fons);
    transform:translateX(100%); transition:transform .3s ease;
    overflow-y:auto;
    border-top:1px solid #e2e8f0;
  }
  .nav-principal.oberta{ transform:translateX(0); }
  .nav-principal > ul{ flex-direction:column; align-items:flex-start; gap:0; padding:var(--space-3); }
  .nav-principal li{ width:100%; border-bottom:1px solid #e2e8f0; }
  .nav-principal a{ display:block; padding:var(--space-2) 0; }
  .btn-soci-nav{ display:inline-block; margin-top:var(--space-2); }
}

/* Submenú Landerer */
.nav-item-dropdown{
  position:relative;
}
.nav-item-dropdown > a{ display:inline-block; padding-right:.15rem; vertical-align:middle; }
.nav-dropdown-btn{
  background:none; border:none; cursor:pointer; color:var(--capcalera-text-secundari);
  font-size:.75rem; padding:.3rem .35rem; line-height:1; vertical-align:middle;
}
.nav-item-dropdown.actiu > a,
.nav-item-dropdown.actiu .nav-dropdown-btn{ color:var(--capcalera-text); }
.nav-submenu{
  display:none; list-style:none; margin:0; padding:.4rem 0;
  position:absolute; top:calc(100% + 4px); left:0; min-width:190px;
  background:var(--capcalera-fons); border:1px solid #e2e8f0; border-radius:10px;
  box-shadow:0 8px 24px rgba(15,23,42,.12); z-index:110;
}
.nav-submenu li{ border:none; width:100%; }
.nav-submenu a{
  display:block; padding:.55rem 1rem; font-size:.9rem; color:var(--capcalera-text-secundari);
}
.nav-submenu a:hover,
.nav-submenu a.actiu{ color:var(--capcalera-text); background:#f1f5f9; }
.nav-submenu a.actiu::before{ content:none; }
.nav-submenu a::after{ display:none; }

@media (min-width: 981px){
  .nav-item-dropdown:hover .nav-submenu,
  .nav-item-dropdown:focus-within .nav-submenu{ display:block; }
  .nav-item-dropdown.obert:not(:hover):not(:focus-within) .nav-submenu{ display:none; }
}

@media (max-width: 980px){
  .nav-item-dropdown{ width:100%; }
  .nav-item-dropdown > a{ display:block; padding:var(--space-2) 0; width:100%; }
  .nav-dropdown-btn{ position:absolute; right:0; top:.65rem; z-index:1; }
  .nav-submenu{
    display:none !important;
    position:static; box-shadow:none; border:none; border-left:2px solid #e2e8f0;
    margin:.25rem 0 0 .75rem; padding:0; min-width:0; width:calc(100% - .75rem);
  }
  .nav-item-dropdown.obert .nav-submenu{ display:block !important; }
  .nav-submenu a{ padding:.45rem 0; }
}

/* =========================================================
   Heroi amb cel estrellat (canvas)
   ========================================================= */
.heroi{
  position:relative;
  min-height:92vh;
  display:flex; align-items:center;
  overflow:hidden;
  padding-top:74px;
}
.heroi canvas{ position:absolute; inset:0; width:100%; height:100%; }
.heroi::after{
  content:"";
  position:absolute; left:0; right:0; bottom:0; height:40%;
  background:linear-gradient(to top, var(--nit), transparent);
  pointer-events:none;
}
.heroi-contingut{ position:relative; z-index:2; max-width:820px; margin:0 auto; text-align:center; }
.heroi h1{
  font-size:clamp(1.6rem, 4vw, 2.6rem);
  letter-spacing:-.01em;
  line-height:1.2;
}
.heroi h1 em{ color:var(--accent-clar); font-style:normal; }
.heroi p.lead{ font-size:1.1rem; color:var(--boira); max-width:560px; margin-left:auto; margin-right:auto; }
.heroi-cta{ display:flex; gap:var(--space-2); margin-top:var(--space-3); flex-wrap:wrap; justify-content:center; }

.btn{
  display:inline-flex; align-items:center; gap:.5em;
  padding:.85rem 1.5rem; border-radius:999px;
  font-family:var(--font-body); font-weight:600; font-size:.97rem;
  border:1px solid transparent; cursor:pointer; transition:all .2s;
}
.btn-primari{ background:var(--accent); color:#fff; }
.btn-primari:hover{ background:var(--accent-clar); transform:translateY(-1px); }
.btn-secundari{ border-color:var(--nit-vora); color:var(--blanc); }
.btn-secundari:hover{ border-color:var(--accent-clar); color:var(--accent-clar); }

/* =========================================================
   Seccions generals
   ========================================================= */
.seccio{ padding:var(--space-6) 0; }
.seccio-titol{ display:flex; justify-content:space-between; align-items:flex-end; gap:var(--space-3); flex-wrap:wrap; margin-bottom:var(--space-4); }
.seccio-titol h2{ font-size:clamp(1.6rem,3vw,2.2rem); margin:0; }
.seccio-titol .veure-totes{ font-family:var(--font-mono); font-size:.85rem; color:var(--accent-clar); white-space:nowrap; }
.seccio-titol .veure-totes:hover{ text-decoration:underline; }

.seccio.ratlla-superior{ border-top:1px solid var(--nit-vora); }
.fons-panell{ background:var(--nit-clara); }

.agenda-buida{ color:var(--boira); font-size:.95rem; grid-column:1/-1; }

/* =========================================================
   Targetes d'activitats — la data és la marca estructural
   ========================================================= */
.graella-activitats{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(270px,1fr));
  gap:var(--space-3);
}
.targeta-activitat{
  background:var(--nit-clara); border:1px solid var(--nit-vora);
  border-radius:var(--radius); padding:var(--space-3);
  display:flex; gap:var(--space-3);
  transition:border-color .2s, transform .2s;
}
.targeta-activitat:hover{ border-color:var(--accent-fosc); transform:translateY(-3px); }
.data-bloc{
  font-family:var(--font-mono); text-align:center; flex-shrink:0;
  width:64px; padding-top:.2rem;
}
.data-bloc .dia{ display:block; font-size:1.9rem; font-weight:700; color:var(--accent-clar); line-height:1; }
.data-bloc .mes{ display:block; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--boira); margin-top:.3rem; }
.activitat-cos h3{ font-size:1.08rem; margin-bottom:.3rem; }
.activitat-meta{ font-family:var(--font-mono); font-size:.78rem; color:var(--delta); margin-bottom:.4rem; display:block; }
.activitat-cos p{ color:var(--boira); font-size:.92rem; margin-bottom:0; }
.etiqueta{
  display:inline-block; font-family:var(--font-mono); font-size:.68rem;
  letter-spacing:.06em; text-transform:uppercase; color:#fff;
  background:var(--accent); padding:.15rem .5rem; border-radius:4px; margin-bottom:.5rem;
}
.etiqueta.passada{ background:var(--nit-vora); color:var(--boira); }

/* =========================================================
   Widget "El cel aquesta nit" — element distintiu
   ========================================================= */
.widget-cel{
  display:grid; grid-template-columns:160px 1fr; gap:var(--space-4);
  align-items:center;
  background:radial-gradient(120% 160% at 0% 0%, rgba(29,78,216,.1), transparent 60%), var(--nit-clara);
  border:1px solid var(--nit-vora); border-radius:20px;
  padding:var(--space-4);
}
.lluna-svg-wrap{ display:flex; justify-content:center; }
.dades-lluna dt{ font-family:var(--font-mono); font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--boira); margin-top:var(--space-2); }
.dades-lluna dt:first-child{ margin-top:0; }
.dades-lluna dd{ margin:.15rem 0 0; font-size:1.15rem; font-family:var(--font-display); font-weight:600; }
.dades-lluna dd.accent{ color:var(--accent-clar); }
@media (max-width:620px){
  .widget-cel{ grid-template-columns:1fr; text-align:center; }
}

/* =========================================================
   Targetes generals (qui som, valors, junta...)
   ========================================================= */
.graella{ display:grid; gap:var(--space-3); }
.graella.cols-3{ grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); }
.targeta{
  background:var(--nit-clara); border:1px solid var(--nit-vora);
  border-radius:var(--radius); padding:var(--space-3);
}
.targeta h3{ font-size:1.05rem; }
.targeta p{ color:var(--boira); font-size:.93rem; margin-bottom:0; }
.icona-targeta{ font-size:1.6rem; margin-bottom:var(--space-1); display:block; }

/* =========================================================
   Persones (junta)
   ========================================================= */
.graella-persones{ display:grid; grid-template-columns:repeat(auto-fit, minmax(180px,1fr)); gap:var(--space-3); }
.persona{ text-align:center; }
.foto-persona{
  width:120px; height:120px; border-radius:50%; margin:0 auto var(--space-2);
  overflow:hidden; border:2px solid var(--nit-vora);
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, var(--nit-vora), var(--nit-clara));
  font-family:var(--font-mono); font-size:.65rem; color:var(--boira); text-align:center; padding:.4rem;
}
.foto-persona img{ width:100%; height:100%; object-fit:cover; }
.persona h4{ font-size:.98rem; margin-bottom:.1rem; }
.persona span{ font-family:var(--font-mono); font-size:.76rem; color:var(--delta); }

/* =========================================================
   Galeria
   ========================================================= */
.graella-galeria{ display:grid; grid-template-columns:repeat(auto-fill, minmax(220px,1fr)); gap:var(--space-2); }
.foto-galeria{
  position:relative; aspect-ratio:4/3; border-radius:10px; overflow:hidden;
  border:1px solid var(--nit-vora); cursor:pointer; background:var(--nit-clara);
}
.foto-galeria img{ width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.foto-galeria:hover img{ transform:scale(1.06); }
.foto-galeria .sense-imatge{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  text-align:center; padding:1rem; font-family:var(--font-mono); font-size:.72rem; color:var(--boira);
  background:linear-gradient(135deg, var(--nit-vora), var(--nit-clara));
}
.foto-galeria figcaption{
  position:absolute; left:0; right:0; bottom:0; padding:.6rem .8rem;
  background:linear-gradient(to top, rgba(11,19,32,.9), transparent);
  font-size:.78rem; color:var(--blanc); opacity:0; transition:opacity .25s;
}
.foto-galeria:hover figcaption{ opacity:1; }

.lightbox{
  position:fixed; inset:0; background:rgba(11,19,32,.92); z-index:200;
  display:none; align-items:center; justify-content:center; padding:var(--space-3);
}
.lightbox.oberta{ display:flex; }
.lightbox img{ max-width:90vw; max-height:85vh; border-radius:10px; }
.lightbox-tancar{
  position:absolute; top:var(--space-3); right:var(--space-3);
  background:none; border:1px solid var(--nit-vora); color:var(--blanc);
  width:42px; height:42px; border-radius:50%; font-size:1.3rem; cursor:pointer;
}

/* =========================================================
   Formularis (Fes-te'n soci / Contacte)
   ========================================================= */
.formulari{ display:grid; gap:var(--space-2); max-width:620px; }
.camp{ display:flex; flex-direction:column; gap:.4rem; }
.camp label{ font-family:var(--font-mono); font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; color:var(--boira); }
.camp input, .camp textarea, .camp select{
  background:var(--nit-clara); border:1px solid var(--nit-vora); border-radius:8px;
  padding:.75rem .9rem; color:var(--blanc); font-family:var(--font-body); font-size:.95rem;
}
.camp input:focus, .camp textarea:focus{ border-color:var(--estel); outline:none; }
.camp-checkbox{ flex-direction:row; align-items:flex-start; gap:.6rem; }
.camp-checkbox input{ width:auto; margin-top:.2rem; }
.camp-checkbox label{ text-transform:none; font-family:var(--font-body); font-size:.85rem; color:var(--boira); letter-spacing:0; }
.nota-formulari{ font-size:.82rem; color:var(--boira); }
.missatge-estat{ font-family:var(--font-mono); font-size:.85rem; padding:.8rem 1rem; border-radius:8px; display:none; }
.missatge-estat.visible{ display:block; }
.missatge-estat.ok{ background:rgba(242,197,114,.12); border:1px solid var(--estel); color:var(--estel); }

/* =========================================================
   Peu de pàgina
   ========================================================= */
.peu{ border-top:1px solid var(--nit-vora); padding:var(--space-4) 0 var(--space-3); }
.peu-graella{ display:grid; grid-template-columns:2fr 1fr 1fr; gap:var(--space-4); margin-bottom:var(--space-3); }
.peu h4{ font-family:var(--font-mono); font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:var(--boira); margin-bottom:var(--space-2); }
.peu-graella a{ display:block; color:var(--boira); font-size:.92rem; padding:.25rem 0; }
.peu-graella a:hover{ color:var(--accent-clar); }
.peu-baix{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:var(--space-2); padding-top:var(--space-3); border-top:1px solid var(--nit-vora); font-size:.82rem; color:var(--boira); }
.peu-instagram{ display:inline-flex; align-items:center; gap:.5em; }
.peu-instagram svg{ width:18px; height:18px; }
@media (max-width:760px){ .peu-graella{ grid-template-columns:1fr; gap:var(--space-3); } }

/* =========================================================
   Pàgina interior (capçalera de secció no-home)
   ========================================================= */
.capcalera-pagina{ padding:160px 0 var(--space-4); border-bottom:1px solid var(--nit-vora); position:relative; overflow:hidden; }
.capcalera-pagina canvas{ position:absolute; inset:0; opacity:.5; }
.capcalera-pagina .contenidor{ position:relative; z-index:2; }
.capcalera-pagina h1{ font-size:clamp(2rem,4vw,2.8rem); }
.capcalera-pagina p{ color:var(--boira); max-width:560px; font-size:1.05rem; }

.bloc-text{ max-width:680px; }
.bloc-text h2{ font-size:1.5rem; }
.bloc-text p{ color:var(--boira); }

.cita{
  border-left:3px solid var(--accent-clar); padding-left:var(--space-3);
  font-family:var(--font-display); font-size:1.3rem; color:var(--blanc); margin:var(--space-4) 0;
}

@media (max-width:760px){
  .grid-dues-col{ grid-template-columns:1fr !important; }
}

/* =========================================================
   Formulari Google (Fes-te'n soci)
   ========================================================= */
.contenidor-formulari{
  max-width:720px; margin:0 auto;
  background:#fff; border-radius:var(--radius); overflow:hidden;
  box-shadow:0 4px 24px rgba(0,0,0,.15);
}
.contenidor-formulari iframe{
  display:block; width:100%; min-height:1819px; border:0;
}

/* =========================================================
   Projecte Landerer — paleta pròpia
   ========================================================= */
body[data-pagina="landerer"],
body[data-pagina="landerer-edicio-1"],
body[data-pagina="landerer-edicio-2"]{
  --landerer-cel: #4FC8DC;
  --landerer-mar: #317A8B;
  --landerer-blanc: #FFFFFF;
  --landerer-groc: #FCDD09;
  --landerer-vermell: #DA121A;
}

.landerer-senyera{
  display:block; width:80px; height:6px; margin-bottom:var(--space-2);
  border-radius:1px; overflow:hidden;
  background:linear-gradient(to right,
    #FCDD09 0%, #FCDD09 11.111%,
    #DA121A 11.111%, #DA121A 22.222%,
    #FCDD09 22.222%, #FCDD09 33.333%,
    #DA121A 33.333%, #DA121A 44.444%,
    #FCDD09 44.444%, #FCDD09 55.555%,
    #DA121A 55.555%, #DA121A 66.666%,
    #FCDD09 66.666%, #FCDD09 77.777%,
    #DA121A 77.777%, #DA121A 88.888%,
    #FCDD09 88.888%, #FCDD09 100%
  );
}

.landerer-portada{
  position:relative; min-height:420px; padding-top:74px;
  display:flex; align-items:flex-end; overflow:hidden;
  background:var(--nit-clara);
}
.landerer-portada-foto{
  position:absolute; inset:0;
}
.landerer-portada-foto img{
  width:100%; height:100%; object-fit:cover;
}
.landerer-portada-foto::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(to top, var(--nit) 8%, rgba(11,19,32,.75) 45%, rgba(11,19,32,.35) 100%);
}
.landerer-portada-foto .sense-imatge{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-family:var(--font-mono); font-size:.8rem; color:var(--boira);
  background:var(--nit-clara);
}
.landerer-portada-contingut{
  position:relative; z-index:2; width:100%;
  padding:var(--space-5) 0 var(--space-4);
}
.landerer-portada-contingut .contenidor{
  display:flex; flex-wrap:wrap; align-items:flex-end; gap:var(--space-4);
}
.landerer-logo-projecte{
  height:clamp(80px, 14vw, 120px); width:auto; object-fit:contain;
  filter:drop-shadow(0 4px 12px rgba(0,0,0,.4));
}
.landerer-portada-text h1{
  font-size:clamp(1.8rem,4vw,2.6rem); margin-bottom:.5rem;
}
.landerer-portada-text h1 span{ color:var(--landerer-cel); }
.landerer-portada-text p{ color:var(--boira); max-width:520px; margin:0; }

.landerer-intro{
  border-top:1px solid rgba(79,200,220,.2);
}
.landerer-intro p{ color:var(--boira); }

.targetes-edicions{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:var(--space-3);
}
.targeta-edicio{
  border:1px solid rgba(79,200,220,.25); border-radius:16px;
  padding:var(--space-3); background:var(--nit-clara);
  transition:border-color .2s, transform .2s;
}
.targeta-edicio:hover{
  border-color:var(--landerer-cel); transform:translateY(-3px);
}
.targeta-edicio h3{ color:var(--landerer-cel); margin-bottom:.3rem; }
.targeta-edicio p{ color:var(--boira); font-size:.92rem; margin-bottom:var(--space-2); }
.targeta-edicio .btn{ font-size:.88rem; padding:.65rem 1.2rem; }

/* Pàgines d'edició */
.edicio-capcalera{
  padding:140px 0 var(--space-4); border-bottom:1px solid rgba(79,200,220,.2);
  background:linear-gradient(180deg, rgba(49,122,139,.12), transparent);
}
.edicio-capcalera h1{ font-size:clamp(1.8rem,4vw,2.4rem); }
.edicio-capcalera h1 span{ color:var(--landerer-cel); }

.bloc-logos-edicio{ margin-bottom:var(--space-4); }
.bloc-logos-edicio h3{
  font-family:var(--font-mono); font-size:.75rem; text-transform:uppercase;
  letter-spacing:.1em; color:var(--landerer-cel); margin-bottom:var(--space-2);
}
.graella-logos{
  display:flex; flex-wrap:wrap; gap:var(--space-2); align-items:center;
}
.graella-logos .logo-slot{
  background:rgba(255,255,255,.04); border:1px solid rgba(79,200,220,.15);
  border-radius:10px; padding:.8rem 1rem; min-height:72px; min-width:120px;
  display:flex; align-items:center; justify-content:center;
}
.graella-logos .logo-slot img{
  max-height:52px; max-width:130px; object-fit:contain;
}
.graella-logos .logo-slot.centre img{ max-height:44px; max-width:100px; }
.graella-logos .sense-imatge{
  font-family:var(--font-mono); font-size:.62rem; color:var(--boira); text-align:center;
}

.mapa-vol{
  border-radius:14px; overflow:hidden; border:1px solid rgba(79,200,220,.25);
  aspect-ratio:16/10; background:var(--nit-clara);
}
.mapa-vol iframe{ width:100%; height:100%; border:0; display:block; min-height:360px; }

.graella-landerer-fotos{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(200px,1fr));
  gap:var(--space-2);
}
.foto-landerer{
  aspect-ratio:4/3; border-radius:10px; overflow:hidden;
  border:1px solid rgba(79,200,220,.2); background:var(--nit-clara);
  position:relative; cursor:pointer;
}
.foto-landerer img{ width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.foto-landerer:hover img{ transform:scale(1.04); }
.foto-landerer .sense-imatge{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-family:var(--font-mono); font-size:.65rem; color:var(--boira); text-align:center; padding:.5rem;
}

.btn-landerer{
  background:var(--landerer-cel); color:var(--nit);
}
.btn-landerer:hover{ background:var(--landerer-blanc); }
