/* -------- HERO -------- */
.top-hero{position:relative;height:60vh;min-height:350px;max-height:650px;overflow:hidden}
.top-hero .hero-img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
@media (max-width:1024px){
  .top-hero{height:45vh;min-height:280px}
  .top-hero .hero-img{object-position:center top}
}
@media (max-width:480px){
  .top-hero{height:auto;min-height:0;padding:0}
  .top-hero .hero-img{width:100%;height:auto;object-fit:contain}
}

/* === Intro header (H1 + icono) === */
.intro-header{padding:.5rem 0;background:#fff}
.intro-header-container{display:flex;justify-content:center;align-items:center;gap:4rem;max-width:1200px;margin:0 auto;flex-wrap:wrap}
.intro-header-text h1{font-size:2.1rem;color:var(--color5);margin:0;text-align:center}
.intro-header-icon img{width:100px;height:100px;object-fit:contain}
@media(max-width:768px){
  .intro-header-container{flex-direction:column;gap:1rem}
  .intro-header-text h1{font-size:1.8rem}
}
@media(max-width:480px){
  .intro-header-text h1{font-size:1.5rem}
}

/* ========== Intro content (CLON de intro-cataloghi) ========== */
.intro-content{
  width:80%;
  max-width:980px;
  margin:5rem auto;
  padding:2.5rem 0;
  background:none;
  border-radius:0;
  border-top:1px solid rgba(0,0,0,.12);
  border-bottom:1px solid rgba(0,0,0,.12);
  text-align:center
}
.intro-content h2{margin:0 auto 1rem;padding:0 1rem;text-align:center;color:#80B9C8;font-size:1.7rem}
.intro-content p{margin:1.5rem auto 0;padding:0 1rem;text-align:justify;line-height:1.7;color:#666666;font-size:1.1rem;font-weight:510}
.intro-content a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(80,76,72,.35);transition:border-color .2s ease;font-weight:bold}
.intro-content a:hover{border-bottom-color:rgba(80,76,72,.8)}

@media (max-width:768px){
  .intro-content{width:90%;margin:5rem auto;padding:2rem 0}
  .intro-content h2{font-size:1.3rem;line-height:1.3}
  .intro-content p{font-size:1rem}
}

/* ? MOBILE: menos separación con el hero + sin borde superior */
@media (max-width:480px){
  .intro-content{
    width:92%;
    margin:2rem auto 3rem;     /* antes: 4rem auto (menos distancia arriba) */
    padding:1.5rem 0;
  }
  .intro-content h2{line-height:1.3;text-align:center}
  .intro-content p{text-align:justify;text-align-last:left}
}

/* === Títulos generales y bloque #catalogo === */
h2{font-size:2rem;color:var(--color5);margin:2rem auto 1rem;text-align:center;width:80%;padding:0 1rem}
@media(max-width:768px){
  h2{font-size:1.3rem}
}

/* === H2 #catalogo con estilo intro-content === */
#catalogo{margin:0 auto 1rem;padding:0 1rem;text-align:center;font-size:1.7rem;color:#80B9C8;background:none;border-radius:0;width:80%}
@media (max-width:768px){
  #catalogo{font-size:1.3rem;line-height:1.3;width:90%}
}
@media (max-width:480px){
  #catalogo{line-height:1.3;text-align:center;width:92%}
}

/* === Catálogo de visitas (.visite-galizia) === */
.visite-galizia{position:relative;padding:2rem;background:#fff;text-align:center;overflow:hidden}
.visite-galizia h2{font-size:2rem;margin-bottom:3rem;color:var(--color5)}
.visite-grid{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}
.visite-col{width:440px;display:flex;flex-direction:column;margin-bottom:2rem}
.visite-img{width:100%;height:440px;overflow:hidden;border-radius:10px 10px 0 0}
.visite-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.visite-img:hover img{transform:scale(1.1)}
.visite-text{height:280px;color:#fff;border-radius:0 0 10px 10px;padding:1.5rem;display:flex;flex-direction:column;justify-content:center;align-items:center}
.visite-text h3{margin-bottom:.6rem}
.visite-text p{font-size:1.1rem}
.visite-col:nth-child(1) .visite-text{background:#80B9C8}
.visite-col:nth-child(2) .visite-text{background:#7FB79A}
.visite-col:nth-child(3) .visite-text{background:#247D7F}
.cta-btn{display:inline-block;margin-top:1rem;padding:.6rem 1.2rem;background:#fff;color:#247D7F;font-weight:bold;text-decoration:none;border-radius:6px;transition:all .3s ease}
.cta-btn:hover{transform:scale(1.05)}
.visite-col:nth-child(1) .cta-btn{color:#80B9C8}
.visite-col:nth-child(1) .cta-btn:hover{background:#80B9C8;color:#fff}
.visite-col:nth-child(2) .cta-btn{color:#7FB79A}
.visite-col:nth-child(2) .cta-btn:hover{background:#7FB79A;color:#fff}
.visite-col:nth-child(3) .cta-btn{color:#247D7F}
.visite-col:nth-child(3) .cta-btn:hover{background:#247D7F;color:#fff}
@media(max-width:1400px){
  .visite-col{width:100%;max-width:440px}
  .visite-text{height:auto;min-height:180px;padding:1rem}
}

/* === Footer común === */
footer{background:rgba(36,125,127,.8);color:#fff;padding:1rem 2rem}
.footer-content{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:1.5rem;text-align:center}
.footer-content p{margin:0;font-size:.9rem}
.footer-content a{color:#fff;text-decoration:none}
.footer-content a:hover{text-decoration:underline}
.social-icons{display:flex;justify-content:center}
.social-icons a{margin-left:.5rem;display:inline-flex;align-items:center;transition:opacity .3s}
.social-icons a:hover{opacity:.7}
.mobile-break{display:none}
@media(max-width:768px){
  .mobile-break{display:block}
  .footer-content{flex-direction:column;gap:.8rem}
  .footer-content p{font-size:.8rem}
  .social-icons svg{width:20px;height:20px}
}

/* === Banner de cookies === */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;background:rgba(7,115,137,.9);color:#fff;padding:1rem 1.5rem;font-size:.9rem;z-index:9999}
.cookie-banner__content{max-width:1100px;margin:0 auto}
.cookie-banner a{color:var(--color5);text-decoration:underline}
.cookie-banner__buttons{margin-top:.8rem;display:flex;flex-wrap:wrap;gap:.5rem}
.cookie-banner__buttons button{border:none;padding:.45rem .8rem;cursor:pointer;border-radius:4px;font-size:.9rem;font-weight:500}
#cookie-reject-all,#cookie-accept-all{background:#f0f0f0;color:#077389}
@media(max-width:600px){
  .cookie-banner{font-size:.8rem}
}
