/* =========================================================
   GALICIA HERO · DESKTOP / TABLET GRANDE
   igual de limpio que Madrid
   ========================================================= */

body.page--galicia .hero.hero-galicia{
  position: relative;
  max-width: 1440px;
  margin: 22px auto 0;
  padding: 0 44px;
  overflow: visible;
  background: transparent;
}

body.page--galicia .hero.hero-galicia .hero-image{
  position: relative;
  width: 100%;
  max-width: 1360px;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 0;
  background: transparent;
}

body.page--galicia .hero.hero-galicia .hero-image img{

  display:block;
  width:100%;
  height:auto;

  min-height:760px;
  max-height:820px;

  object-fit:cover;
  object-position:center 75%;

  border-radius:0;
}

/* tarjeta editorial bien colocada */
body.page--galicia .hero.hero-galicia .hero-card{

  position:absolute;

  top:150px;

  left:8%;
  transform:none;

  width:360px;
  max-width:360px;

  background:#f4efe8;
  border:1px solid rgba(0,0,0,.08);
  border-radius:34px;

  padding:28px 30px 26px;

  box-shadow:0 22px 60px rgba(0,0,0,.08);

  z-index:5;
}
body.page--galicia .hero-card h1{
font-size:54px;
line-height:1.02;
}
body.page--galicia .hero.hero-galicia .hero-tag{
  display: block;
  margin: 0 0 18px;
  font-size: .82rem;
  letter-spacing: .18em;
  color: rgba(0,0,0,.48);
}

body.page--galicia .hero.hero-galicia h1{
  margin: 0 0 18px;
  font-size: 46px;
  line-height: 1.05;
  letter-spacing: -.03em;
}

body.page--galicia .hero.hero-galicia .hero-subline{
  margin: 0 0 20px;
  max-width: 24ch;
 font-size: .98rem;
  line-height: 1.42;
  color: rgba(0,0,0,.72);
}

body.page--galicia .hero.hero-galicia .hero-intro{
  margin: 0 0 20px;
  max-width: 27ch;
font-size: .96rem;
  line-height: 1.55;
  color: rgba(0,0,0,.72);
}

body.page--galicia .hero.hero-galicia .hero-manifesto{
  margin: 0 0 26px;
  max-width: 27ch;
  font-size: .99rem;
  line-height: 1.55;
  color: rgba(0,0,0,.68);
}

body.page--galicia .hero.hero-galicia .hero-cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 278px;
  min-height: 54px;
  padding: 0 28px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.14);
  background: transparent;
  color: #111;
  text-decoration: none;
  font-size: .96rem;
  letter-spacing: .01em;
  transition: all .25s ease;
}

body.page--galicia .hero.hero-galicia .hero-cta:hover{
  background: #111;
  color: #fff;
  border-color: #111;
}

/* separación elegante con el siguiente bloque */
body.page--galicia .hero.hero-galicia + section{
  margin-top: 42px;
}


/* tablet horizontal */
@media (max-width: 1200px){
  body.page--galicia .hero.hero-galicia{
    padding: 0 32px;
  }

  body.page--galicia .hero.hero-galicia .hero-image img{
    min-height: 620px;
    max-height: 680px;
  }

  body.page--galicia .hero.hero-galicia .hero-card{
    top: 42px;
    left: 42px;
    width: min(500px, 46vw);
    padding: 34px 34px 32px;
  }

  body.page--galicia .hero.hero-galicia h1{
    font-size: clamp(3.6rem, 4.8vw, 4.8rem);
  }
}

/* tablet vertical: mantiene tarjeta sobre imagen */
@media (max-width: 1024px){
  body.page--galicia .hero.hero-galicia{
    padding: 0 24px;
  }

  body.page--galicia .hero.hero-galicia .hero-image img{
    min-height: 560px;
    max-height: 620px;
  }

  body.page--galicia .hero.hero-galicia .hero-card{
    top: 34px;
    left: 34px;
    width: min(455px, 50vw);
    padding: 28px 28px 26px;
  }

  body.page--galicia .hero.hero-galicia h1{
    font-size: clamp(3.1rem, 4.7vw, 4.2rem);
  }

  body.page--galicia .hero.hero-galicia .hero-subline,
  body.page--galicia .hero.hero-galicia .hero-intro,
  body.page--galicia .hero.hero-galicia .hero-manifesto{
    font-size: .95rem;
  }

  body.page--galicia .hero.hero-galicia .hero-cta{
    min-width: 238px;
  }
}
/* =========================================================
   MÁRGENES Y CONTENCIÓN DE TEXTOS BAJO IMÁGENES
   ========================================================= */

body.page--galicia .galicia-manifesto .wrap.prose,
body.page--galicia .galicia-scene .wrap.prose,
body.page--galicia .galicia-how .wrap.prose,
body.page--galicia .galicia-faq .wrap.prose,
body.page--galicia .section.section--soft .wrap.prose{
max-width: 1120px;
margin: 0 auto;
padding-left: 72px;
padding-right: 72px;
box-sizing: border-box;
}

body.page--galicia .galicia-manifesto .h2,
body.page--galicia .galicia-scene .h2,
body.page--galicia .galicia-how .h2,
body.page--galicia .galicia-faq .h2,
body.page--galicia .section.section--soft .h2{
 max-width: 16ch;
margin: 0 auto 40px;
text-align: center;
}

body.page--galicia .galicia-manifesto p,
body.page--galicia .galicia-scene p,
body.page--galicia .galicia-how p,
body.page--galicia .galicia-faq p,
body.page--galicia .section.section--soft .wrap.prose > p{
 max-width: 720px;
margin-left: auto;
margin-right: auto;
text-align: left;
}

body.page--galicia .galicia-how ul,
body.page--galicia .galicia-scene .scene-list,
body.page--galicia .section.section--soft .wrap.prose ul{
max-width: 720px;
margin-left: auto;
margin-right: auto;
padding-top: 10px;   
}
body.page--galicia .galicia-manifesto .wrap.prose > p + p,
body.page--galicia .galicia-scene .scene-body p + p,
body.page--galicia .galicia-how .wrap.prose p + p,
body.page--galicia .galicia-faq .wrap.prose p + p{
  margin-top: 28px;
}

body.page--galicia .galicia-scene .scene-body{
  max-width: 720px;
  margin: 0 auto;
}

body.page--galicia .galicia-scene .scene-subtitle{
  margin-top: 42px;
  margin-bottom: 18px;
  text-align: left;
  letter-spacing: .16em;
  font-size: .82rem;
  color: rgba(0,0,0,.48);
}

body.page--galicia .galicia-scene .scene-list li,
body.page--galicia .galicia-how ul li{
  margin-bottom: 14px;
  line-height: 1.8;
}

body.page--galicia .galicia-scene .scene-closing,
body.page--galicia .galicia-manifesto .closing{
  margin-top: 34px;
  text-align: center;
  font-style: italic;
  color: rgba(0,0,0,.66);
}
/* imágenes intermedias con aire */
body.page--galicia .section.section--image-break .wrap{
  max-width: 1320px;
  margin: 0 auto;
  padding-left: 48px;
  padding-right: 48px;
  box-sizing: border-box;
}

body.page--galicia .section.section--image-break .full-image{
  display: block;
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  border-radius: 34px;
  aspect-ratio: 1.9 / 1;
  object-fit: cover;
  object-position: center center;
}
 @media (max-width: 900px){

  body.page--galicia{ overflow-x: hidden !important; }

  /* Hero móvil limpio */
  body.page--galicia .hero.hero-galicia{
    position: relative !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    overflow: visible !important;
  }

  body.page--galicia .hero.hero-galicia .hero-image{
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 0 !important;
    overflow: visible !important;
    border-radius: 0 !important;
    background: transparent !important;
    left: auto !important;
    transform: none !important;
  }

  body.page--galicia .hero.hero-galicia .hero-image img{
    width: 100vw !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    display: block !important;
    object-fit: contain !important;
    object-position: center center !important;
    border-radius: 0 !important;
  }

  body.page--galicia .hero.hero-galicia .hero-card{
    position: relative !important;
    top: auto !important;
    left: auto !important;
    inset: auto !important;
    transform: none !important;
    width: calc(100% - 32px) !important;
    max-width: 760px !important;
    margin: 18px auto 0 !important;
    padding: 28px 22px 28px !important;
    z-index: 3 !important;
  }

  /* Márgenes de lectura en móvil */
  body.page--galicia main{
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  body.page--galicia .galicia-manifesto .wrap.prose,
  body.page--galicia .galicia-scene .wrap.prose,
  body.page--galicia .galicia-how .wrap.prose,
  body.page--galicia .galicia-faq .wrap.prose,
  body.page--galicia .section.section--soft .wrap.prose,
  body.page--galicia .section.section--image-break .wrap{
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
  }

  body.page--galicia .chapter,
  body.page--galicia .intro,
  body.page--galicia .section-intro{
    max-width: 680px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
  

