/* ------------------------ RESET GLOBAL ------------------------ */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Poppins', sans-serif;
background: #fff;
color: #0026a3;
display: flex;
flex-direction: column;
min-height: 100vh;
padding-top: 80px;
text-align: center;
}
img {
display: block;
max-width: 100%;
height: auto;
}
/* ------------------------ MENÚ SUPERIOR ------------------------ */
#cap-nou {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-width: 320px;
  flex-wrap: nowrap; 
  padding: 20px 40px;
  background-color: #fff;
  border-bottom: 2px solid #e0e0e0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

#cap-nou .logo img {
  max-height: 120px;
  max-width: 300px; /* 🔧 afegit */
  height: auto;
  width: auto;
}


.menu-wrapper {
  display: flex;
  flex-wrap: nowrap;
  white-space: nowrap;
}

.menu-nou {
  display: inline-flex;
  flex-wrap: nowrap;
  white-space: nowrap;
  justify-content: flex-end;
  list-style: none;
  gap: 40px; /* abans 90px */
  padding-left: 40px;
  padding-right: 40px;
  margin: 0;
}

.menu-nou li {
  white-space: nowrap;
}

.menu-nou li a {
font-weight: 500;
color: #2e51c4;
font-size: 1.1rem;
text-decoration: none;
transition: 0.2s ease;
white-space: nowrap;
}
.menu-nou li a:hover {
text-decoration: underline;
}
/* ------------------------ CONTINGUT BÀSIC ------------------------ */
#main-content {
flex: 1;
}
#contenidor {
max-width: 1600px;
margin: 0 auto;
padding: 60px 20px;
}
h1 {
font-size: 5.5em;
color: #0026a3;
font-weight: 600;
text-align: left;
margin-bottom: 130px;
}
h2 {
font-size: 1.8em;
color: #0026a3;
font-weight: 600;
text-align: left;
margin-bottom: 15px;
}
p {
font-size: 1em;
line-height: 1.6em;
text-align: left;
margin-bottom: 20px;
}

.boton-wrapper{
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 84px;   /* abans 450px */
}


.boton-principal {
  background-color: #0026a3;
  color: white;
  font-size: 1.5em;
  font-weight: 600;
  padding: 16px 40px;
  border-radius: 60px;
  text-decoration: none;
  transition: background-color 0.3s ease;
  margin-bottom: 40px;
}

.boton-principal:hover {
  background-color: #2f4db1; /* lleugerament més clar al passar el ratolí */
}

/* ------------------------ FOOTER ------------------------ */
#peu {
background-color: #1e3a8a;
color: white;
padding: 40px;
width: 100%;
margin-top: auto;
}
.peu-grid {
display: grid;
grid-template-columns: 1fr auto 1fr;
align-items: flex-start;
width: 100%;
padding: 0 40px;
}
.peu-grid > div:first-child {
justify-self: start;
text-align: left;
}
.peu-grid > .footer-links {
justify-self: center;
text-align: left;
}
.peu-grid > div:last-child {
justify-self: end;
text-align: right;
}
.peu-grid ul {
list-style: none;
padding: 0;
margin: 0;
}
.peu-grid ul li {
margin-bottom: 8px;
}
.peu-grid a {
color: white;
text-decoration: none;
font-size: 1em;
transition: color 0.2s ease;
}
.peu-grid a:hover {
color: #60a5fa;
text-decoration: underline;
}
.footer-links {
display: flex;
gap: 40px;
justify-content: center;
}
.footer-links ul {
list-style: none;
padding: 0;
margin: 0;
}
.footer-links ul li {
margin-bottom: 8px;
}

/* ------------------------ RESPONSIVE ------------------------ */

/* Tablets i pantalles mitjanes (1400px - 1201px) */
@media (max-width: 1400px) {
#cap-nou .logo img {
max-height: 150px;
}
.menu-nou {
gap: 60px;
margin-right: 80px;
}
.menu-nou li a {
font-size: 1.1rem;
}
#contenidor {
padding: 50px 20px;
}
body {
padding-top: 170px;
}
}

/* Tablets grans (1200px - 1001px) */
@media (max-width: 1200px) {
#cap-nou .logo img {
max-height: 120px;
}
.menu-nou {
gap: 40px;
margin-right: 40px;
}
.menu-nou li a {  
font-size: 1rem;
}
h1 {
font-size: 4em;
margin-bottom: 80px;
}
body {
padding-top: 160px;
}
}

/* Tablets (1000px - 769px) */
@media (max-width: 1000px) {
   #cap-nou {
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 15px 20px;
    flex-wrap: wrap;
  }

  .menu-nou {
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    margin: 0;
    padding: 0;
  }

  #cap-nou .logo img {
    max-height: 90px;
    max-width: 250px;
  }
.menu-nou li a {
font-size: 0.95rem;
}
body {
padding-top: 200px;
}
h1 {
font-size: 3.5em;
text-align: center;
margin-bottom: 60px;
}
.peu-grid {
grid-template-columns: 1fr;
gap: 30px;
text-align: center;
padding: 0 20px;
}
.peu-grid > div:first-child,
.peu-grid > .footer-links,
.peu-grid > div:last-child {
justify-self: center;
text-align: center;
}
.footer-links {
gap: 60px;
}
}

@media (max-width: 800px) {
  #cap-nou {
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 15px 20px;
    flex-wrap: wrap;
  }
}


/* Mòbils grans (768px - 481px) */
@media (max-width: 768px) {
#cap-nou {
padding: 10px 15px;
}
#cap-nou .logo img {
max-height: 80px;
max-width: 220px;
}
.menu-nou {
gap: 20px;
}
.menu-nou li a {
font-size: 0.9rem;
}
body {
padding-top: 180px;
}
#contenidor {
padding: 40px 15px;
}
h1 {
font-size: 2.8em;
margin-bottom: 40px;
}
h2 {
font-size: 1.5em;
text-align: center;
}
p {
font-size: 0.95em;
}
.footer-links {
flex-direction: column;
gap: 20px;
}
}

/* Mòbils petits (480px i menys) */
@media (max-width: 480px) {
#cap-nou {
padding: 8px 10px;
}
#cap-nou .logo img {
max-height: 70px;
max-width: 180px;
}
.menu-nou {
gap: 15px;
}
.menu-nou li a {
font-size: 0.8rem;
}
body {
padding-top: 160px;
}
#contenidor {
padding: 30px 10px;
}
h1 {
font-size: 2.2em;
margin-bottom: 30px;
}
h2 {
font-size: 1.3em;
}
p {
font-size: 0.9em;
}
#peu {
padding: 30px 15px;
}
.peu-grid {
padding: 0 10px;
}
}

/* ------------------------ MILLORA: contenidor centrat per al menú ------------------------ */
.contenidor-cap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

/* Ja no cal que .menu-nou tingui padding lateral, això ho gestiona .contenidor-cap */
.menu-nou {
  padding-left: 0;
  padding-right: 0;
}

/* Evitem que "Contacto" toqui la vora dreta */
@media (min-width: 1201px) {
  .menu-nou {
    margin-right: 0;
  }
}
/* ---------- MARQUEE INFINIT (suau i responsiu) ---------- */
/* ---------- MARQUEE INFINIT (FULL-WIDTH) ---------- */
/* Evita qualsevol desbordament horitzontal */
html, body { overflow-x: hidden; }

/* Full-bleed robust per Safari (sense franja a l’esquerra) */
.marquee{
  --gap: 24px;

  position: relative;
  left: 50%;
  right: 50%;
  width: 100vw;              /* ample real del viewport */
  margin-left: -50vw;        /* estira fins la vora esquerda */
  margin-right: -50vw;       /* i fins la vora dreta */

  /* respecta les “safe areas” dels MacBook/iPhone amb notch */
  padding-left: env(safe-area-inset-left, 0);
  padding-right: env(safe-area-inset-right, 0);

  margin-top: 80px;
  margin-bottom: 20px;
  overflow: hidden;
  border-radius: 0;
}

/* important: sense padding lateral aquí (el gap ja separa) */
.marquee-track{
  display: inline-flex;
  gap: var(--gap);
  align-items: center;
  will-change: transform;
  padding: 0;
}

.marquee img{
  height: 380px;     /* ajusta l’alçada */
  width: auto;
  display: block;
  object-fit: cover;
  border-radius: 14px;  /* si vols sense arrodonit, posa 0 */
}

/* Pausa en hover (desktop) */
.marquee:hover { cursor: pointer; }

