/* The archive lost the theme and block stylesheets. These rules restore the existing sections. */
* { box-sizing: border-box; }
html { color: #263b39; background: #fff; }
body { margin: 0; font: 16px/1.7 "Open Sans", sans-serif; }
h1, h2, h3, .tit, .pretit, .name { font-family: Montserrat, sans-serif; line-height: 1.25; }
h1, h2, h3 { overflow-wrap: anywhere; }
h1 { font-size: 2.2rem; }
h2 { font-size: 1.8rem; }
h3 { font-size: 1.25rem; }
p { margin: 0 0 1.2em; }
a { color: #27634b; text-underline-offset: 4px; }
img { max-width: 100%; height: auto; }
figure { margin: 0; }
.inner, .entry-content, .entry-header { padding: 40px 5%; }
#masthead > .container { padding: 24px 5%; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.site-title { font-size: 1.35rem; margin: 0; color: #296348; }
#primary-menu { display: flex; align-items: center; gap: 24px; list-style: none; margin: 0; padding: 0; font: 700 14px/1.5 Montserrat, sans-serif; }
#primary-menu > li { position: relative; }
#primary-menu a { color: inherit; }
.sub-menu { list-style: none; padding: 8px 0 0; font-size: 12px; font-weight: 400; }
.btn-responsive { display: none; }
/* The video has no source; keep its real title, but remove the empty player footprint. */
#video_bg { display: none; }
#section-slider { padding: 44px 5%; color: #fff; background: #285d49; }
.nombre-wrapper h1 { margin: 0; font-size: clamp(2rem, 4vw, 3.5rem); }
.nombre-wrapper br, .pretit br, #section-imagen-parallax p br { display: none; }
#section-info { background: #edf2ec; }
#section-info > .inner { display: grid; grid-template-columns: 1.3fr 1fr; gap: 5%; }
#section-info .info { display: flex; gap: 7%; }
#section-info .col1 { flex: 0 0 auto; }
.kms { font-family: Montserrat, sans-serif; font-weight: 700; margin: 0; }
.kms .num { font-size: 2.7rem; }
.altitud { margin: 0 0 12px; }
#section-info ul { list-style: none; margin: 16px 0 0; padding: 0; }
#section-info li:empty { display: none; }
.tit, .name, .tit2 { font-weight: 700; }
#section-info .tag h2 { margin-top: 0; font-size: 1.25rem; }
#section-info .txt p:last-child { margin-bottom: 0; }
/* The route map keeps its full aspect ratio so its labels remain available. */
#section-mapa img { display: block; width: 100%; }
.btns-map { display: flex; flex-wrap: wrap; gap: 24px; color: #27634b; font-weight: 700; margin-bottom: 30px; }
.feat { font-size: 1.15rem; }
.wp-block-columns { display: flex; gap: 32px; margin: 28px 0; }
.wp-block-column { flex: 1; min-width: 0; }
.wp-block-column img { display: block; width: 100%; }
.open-gallery { margin-top: 16px; font-weight: 700; color: #27634b; }
#section-rutas { background: #f1f3ec; }
.pretit { margin-bottom: 8px; color: #42644d; }
.tit2 { margin: 0 0 24px; }
.rutas-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.ruta-item { height: 100%; background: #fff; }
.ruta-item img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.ruta-item .cont { padding: 24px; }
.ruta-item .tit { font-size: 1.15rem; }
.btn-wrapper { color: #27634b; font-weight: 700; }
/* The parallax script is absent; show the archived photograph in normal flow. */
#section-imagen-parallax { background: #285d49; color: #fff; }
#section-imagen-parallax img { display: block; width: 100%; height: 390px; object-fit: cover; }
#section-imagen-parallax p { margin: 0; padding: 24px 5%; font: 700 1.5rem/1.5 Montserrat, sans-serif; }
#section-probar-visitar .cols2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5%; }
#section-probar-visitar .col > img { display: block; width: 100%; height: 300px; object-fit: contain; object-position: left center; }
#section-probar-visitar ul { list-style: none; padding: 0; }
#section-probar-visitar li { margin-top: 32px; }
.name { margin-bottom: 12px; font-size: 1.15rem; }
/* Decorative footer art must fit the viewport; partner marks retain their individual geometry. */
.img-footer img { display: block; width: 100%; }
.footer-logos-wrapper { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 40px; padding: 36px 5%; }
.footer-logos-wrapper img { display: block; max-width: 220px; max-height: 80px; width: auto; }
#footer { background: #285d49; color: #fff; padding: 24px 5%; text-align: center; }
#footer p { margin: 0; }
.entry-header, .entry-content { padding: 0; }
.entry-title { margin: 0 0 28px; }
body:not(:has(#page)) > main { padding: 40px 5%; }
@media (max-width: 767px) {
  #masthead > .container { flex-wrap: wrap; gap: 0; padding: 20px 5%; }
  .site-branding { flex: 1; padding-right: 20px; }
  .site-title { font-size: 1.05rem; }
  .btn-responsive { display: block; position: relative; width: 44px; height: 44px; order: 1; flex: 0 0 44px; }
  .btn-responsive > span { position: absolute; left: 9px; right: 9px; height: 2px; background: #285d49; }
  .btn-responsive .top { top: 13px; }
  .btn-responsive .middle { top: 21px; }
  .btn-responsive .bottom { top: 29px; }
  .site-fix-menu-open, .site-fix-menu-close { position: absolute; inset: 0; z-index: 1; }
  .site-fix-menu-close { display: none; }
  #site-navigation { display: none; width: 100%; order: 2; }
  /* Target navigation must keep the header and close control in the viewport. */
  #site-navigation, #btn-menu { scroll-margin-top: 110px; }
  #site-navigation:target { display: block; padding-top: 20px; }
  #masthead:has(#site-navigation:target) .site-fix-menu-open { display: none; }
  #masthead:has(#site-navigation:target) .site-fix-menu-close { display: block; }
  #masthead:has(#site-navigation:target) .top { top: 21px; transform: rotate(45deg); }
  #masthead:has(#site-navigation:target) .middle { opacity: 0; }
  #masthead:has(#site-navigation:target) .bottom { top: 21px; transform: rotate(-45deg); }
  #primary-menu { flex-wrap: wrap; gap: 16px 24px; padding-bottom: 8px; }
  #section-slider { padding-top: 32px; padding-bottom: 32px; }
  #section-info > .inner, #section-probar-visitar .cols2, .rutas-grid { grid-template-columns: 1fr; gap: 28px; }
  #section-info .info { flex-direction: column; gap: 20px; }
  .inner { padding-left: 5%; padding-right: 5%; }
  .wp-block-columns { flex-direction: column; gap: 12px; }
  #section-imagen-parallax img { height: 230px; }
  #section-probar-visitar .col > img { height: auto; }
  .footer-logos-wrapper { gap: 28px; }
  .footer-logos-wrapper img { max-width: 180px; }
  h1 { font-size: 1.8rem; }
  h2 { font-size: 1.5rem; }
}
