/*
 * bioCultura — alinhamento estrutural comum
 * A marca e o primeiro conteúdo partilham a mesma linha de partida.
 */
@media screen and (min-width: 1281px) {
  #main > .inner {
    padding-top: 3.1em !important;
    padding-right: 4em !important;
    padding-left: 4em !important;
    box-sizing: border-box !important;
  }

  #main > .inner > header:first-child {
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  #main > .inner > section:first-child,
  #main > .inner > header:first-child + section {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  #main > .inner > section.hero:first-child,
  #main > .inner > header:first-child + section .hero:first-child,
  #main > .inner .hero:first-child,
  #main > .inner .hero-split:first-child,
  #main > .inner .banner:first-child,
  #main > .inner .page-hero:first-child {
    align-items: start !important;
    margin-top: 0 !important;
  }

  /*
   * Ritmo vertical comum: a abertura cresce com o conteúdo, não com o ecrã.
   * Evita os grandes vazios que existiam no Manifesto, Contactos e entrada.
   */
  #main > .inner > section.hero:first-child,
  #main > .inner > section:first-child > .hero:first-child,
  #main > .inner > header:first-child + section > .hero:first-child {
    min-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 3.6em !important;
    align-items: start !important;
  }

  /* Mantém as ilustrações alinhadas com o início do texto da abertura. */
  #main > .inner .hero:first-child > .living-mark,
  #main > .inner .hero:first-child > .water-orbit,
  #main > .inner .hero:first-child > .hero-image,
  #main > .inner .hero:first-child > .mail-card,
  #main > .inner .hero:first-child > .visual {
    align-self: start !important;
    margin-top: 0 !important;
  }

  #main > .inner .hero:first-child > :first-child,
  #main > .inner .hero-split:first-child > :first-child {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  #main > .inner .eyebrow:first-child,
  #main > .inner .category-label:first-child,
  #main > .inner .hero-text > .eyebrow:first-child,
  #main > .inner .hero-text > .category-label:first-child {
    margin-top: 0 !important;
  }

  #sidebar {
    border-right: 0 !important;
    box-shadow: none !important;
  }

  #main > .inner .page-footer,
  #main > .inner .footer {
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    text-align: right !important;
  }
}

@media screen and (max-width: 1280px) {
  #main > .inner > section.hero:first-child,
  #main > .inner > section:first-child > .hero:first-child,
  #main > .inner > header:first-child + section > .hero:first-child {
    min-height: 0 !important;
    padding-bottom: 3em !important;
  }
}

/* Shared "return to hub" link, reused across topic and report sub-pages.
   Sits right after the hero banner (never above it, to avoid crowding the
   eyebrow's fixed position) as a quiet, secondary control. */
.hub-back{display:inline-flex;align-self:flex-start;align-items:center;gap:.4em;margin:1.4rem 0 1.6rem;color:#9b6a50!important;font-size:.85rem;font-weight:800;border:0!important;text-decoration:none!important;transition:color .18s ease,transform .18s ease}
.hub-back:hover{color:#7a5038!important;transform:translateX(-3px);text-decoration:none!important}

/* Shared curated-highlight card, reused on the homepage and on hub pages to
   preview content from other pages (image, short excerpt, link onward). */
.hub-highlights{padding:clamp(3.5rem,7vw,6rem) 0}
.hub-highlights>.eyebrow,.hub-highlights .hub-latest-head .eyebrow{display:block;margin-bottom:.55rem;color:var(--forest,#527a60);font-size:.75rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.hub-highlights>h2,.hub-highlights .hub-latest-head h2{margin:0 0 .45rem;color:var(--ink,#27312c);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.05;letter-spacing:-.02em}
.hub-highlights>p,.hub-highlights .hub-latest-head p{max-width:760px;margin:0 0 2rem;color:var(--muted,#6f7973);line-height:1.65}
.hub-highlights-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.hub-highlights-grid a{display:flex;flex-direction:column;min-height:320px;padding:0;overflow:hidden;border:1px solid var(--line,#e6eae5)!important;border-radius:18px;background:#fff;box-shadow:none!important;color:var(--ink,#27312c)!important;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s}
.hub-highlights-grid a:hover{transform:translateY(-3px);border-color:#b7c7b9!important;box-shadow:0 16px 38px rgba(36,55,43,.07)!important}
.hub-highlight-thumb{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--pale,#f1f4ee)}
.hub-highlight-body{display:flex;flex:1;flex-direction:column;padding:1.35rem}
.hub-highlights-grid small{color:var(--forest,#527a60);font-size:.62rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.hub-highlights-grid h3{margin:.8rem 0 .65rem;color:var(--ink,#27312c);font-family:Georgia,"Times New Roman",serif;font-size:1.18rem;line-height:1.15}
.hub-highlights-grid p{margin:0;color:var(--muted,#6f7973);font-size:.82rem;line-height:1.55}
.hub-highlight-body span{margin-top:auto;padding-top:1rem;color:var(--forest,#527a60);font-size:.68rem;font-weight:900}
@media(max-width:1000px){.hub-highlights-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.hub-highlights-grid{grid-template-columns:1fr}}

/* Substitui o coral de foco/botão do template base (#f56a6a) pela cor da
   marca em qualquer campo ou botão que ainda não tenha o seu próprio estilo. */
input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="search"]:focus,
input[type="url"]:focus,
select:focus,
textarea:focus {
  border-color: #90a994 !important;
  box-shadow: 0 0 0 1px #90a994 !important;
}
input[type="checkbox"]:focus + label:before,
input[type="radio"]:focus + label:before {
  border-color: #90a994 !important;
  box-shadow: 0 0 0 1px #90a994 !important;
}
input[type="submit"],
input[type="reset"],
input[type="button"],
button,
.button {
  box-shadow: inset 0 0 0 2px #527a60 !important;
  color: #355e42 !important;
}
