@import url("/assets/css/pages/observatorio-biodiversity.css?v=3");
:root {
    --water-ink: #382d31;
    --water-deep: #542c3a;
    --water: #7a3048;
    --water-light: #bd8b9a;
    --water-pale: #faf3f5;
    --water-line: #eadde1;
    --water-muted: #766a6e;
}
.vine-hero .water-hero-image {
    background-image:
        linear-gradient(
            90deg,
            rgba(47, 27, 34, 0.94),
            rgba(47, 27, 34, 0.59) 45%,
            rgba(47, 27, 34, 0.08) 75%
        ),
        url("/images/enologia-terroir-abstrato.webp");
}
.vine-hero .eyebrow {
    color: #ddb4c0;
}
.vine-hero h1 em {
    color: #e8c3cc;
}
.metric-grid article strong {
    color: var(--water-deep);
    margin-right: 0.22em;
}
.climate-filters,
.manual-nav {
    display: flex;
    justify-content: center;
    gap: 0.55em;
    flex-wrap: wrap;
    margin-bottom: 1.5em;
}
.climate-filters button,
.hemi-controls button,
.manual-nav button {
    height: auto !important;
    line-height: 1.2 !important;
    padding: 0.8em 1.2em !important;
    border: 1px solid #e2e5df !important;
    box-shadow: none !important;
    background: #fff !important;
    color: #788079 !important;
    border-radius: 999px !important;
    font-family: Georgia, serif !important;
    font-size: 0.66em !important;
}
.climate-filters button.active,
.hemi-controls button.active {
    background: #315f46 !important;
    border-color: #315f46 !important;
    color: #fff !important;
}
.manual-nav button {
    background: #f4f5f0 !important;
}
.manual-nav button.active {
    background: var(--water-deep) !important;
    border-color: var(--water-deep) !important;
    color: #fff !important;
}
.climate-panel {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 1em;
}
.climate-intro {
    background: #344d3b;
    color: #eef4eb;
    border-radius: 18px;
    padding: 1.8em;
}
.climate-intro span {
    color: #bfd1c1;
    font-size: 0.62em;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.climate-intro h3 {
    color: #fff;
    font-size: 1.55em;
    margin: 0.45em 0;
}
.climate-intro p {
    color: #d9e4d7;
    font-size: 0.8em;
    line-height: 1.6;
}
.climate-details {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1em;
}
.climate-details article {
    background: var(--water-pale);
    border-radius: 14px;
    padding: 1.2em;
}
.climate-details b {
    color: var(--water-deep);
    font-size: 0.65em;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
.climate-details p {
    color: var(--water-muted);
    font-size: 0.76em;
    line-height: 1.55;
    margin: 0.55em 0 0;
}
.hemi-controls {
    display: flex;
    gap: 0.6em;
    justify-content: flex-end;
    margin-bottom: 1.2em;
}
.vine-calendar {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1em;
}
.vine-calendar > article {
    border: 1px solid var(--water-line);
    border-radius: 15px;
    padding: 1.25em;
    background: #fff;
}
.calendar-top {
    display: flex;
    justify-content: space-between;
    gap: 0.5em;
    color: var(--water);
    font-size: 0.58em;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.vine-calendar h3 {
    font-size: 1em;
    margin: 0.5em 0;
}
.vine-calendar p {
    font-size: 0.74em;
    line-height: 1.55;
    color: var(--water-muted);
    margin: 0;
}
.manual-panel > header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1em;
    padding: 1em 0;
}
.manual-panel > header span {
    color: var(--water-muted);
}
.manual-panel > header h3 {
    color: var(--water-deep);
    margin: 0;
}
.manual-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1em;
}
.manual-cards article {
    border-top: 3px solid #b7cbb7;
    padding: 1.2em 1em 0 0;
}
.manual-cards h4 {
    color: var(--water-deep);
    margin: 0 0 0.5em;
}
.manual-cards p {
    font-size: 0.78em;
    line-height: 1.6;
    color: var(--water-muted);
}
.grape-showcase {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1em;
}
.grape-showcase > article {
    border: 1px solid var(--water-line);
    border-radius: 14px;
    padding: 1.2em;
}
.grape-top span {
    color: var(--water);
    display: block;
    font-size: 0.58em;
    text-transform: uppercase;
}
.grape-top b {
    display: block;
    font-family: Georgia, serif;
    font-size: 1.05em;
    margin: 0.35em 0;
}
.grape-showcase > article > p {
    font-size: 0.72em;
    line-height: 1.5;
    color: var(--water-muted);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.grape-showcase dl {
    margin: 1em 0 0;
}
.grape-showcase dl div {
    border-top: 1px solid var(--water-line);
    padding: 0.45em 0;
}
.grape-showcase dt {
    font-size: 0.52em;
    text-transform: uppercase;
    color: #9a8d91;
}
.grape-showcase dd {
    font-size: 0.68em;
    line-height: 1.4;
    margin: 0.15em 0 0;
}
.portugal-link {
    display: inline-block;
    margin-top: 1.5em;
    font-weight: 900;
}
.global-catalogue {
    margin-top: 3em;
    padding: 2em;
    border-radius: 20px;
    background: #f7f6f1;
}
.global-catalogue > header {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 2em;
}
.global-catalogue h3 {
    margin: 0.25em 0 0;
}
.global-catalogue h3 strong {
    color: var(--water);
    font-size: 1.35em;
}
.grape-search {
    min-width: 280px;
}
.grape-search span {
    display: block;
    font-size: 0.58em;
    font-weight: 900;
    text-transform: uppercase;
    color: var(--water-muted);
    margin-bottom: 0.45em;
}
.grape-search input {
    width: 100%;
    height: 2.8em;
    border: 1px solid #dfe3dc;
    border-radius: 999px;
    background: #fff;
    padding: 0 1.1em;
}
.catalogue-filters {
    display: flex;
    gap: 0.5em;
    flex-wrap: wrap;
    margin: 1.5em 0 1em;
}
.catalogue-filters button {
    height: auto !important;
    line-height: 1.2 !important;
    padding: 0.7em 1em !important;
    border: 1px solid #dfe3dc !important;
    box-shadow: none !important;
    background: #fff !important;
    color: #788079 !important;
    border-radius: 999px !important;
    font-size: 0.62em !important;
}
.catalogue-filters button.active {
    background: #315f46 !important;
    border-color: #315f46 !important;
    color: #fff !important;
}
.catalogue-note {
    font-size: 0.7em;
    color: var(--water-muted);
    margin-bottom: 0.25em;
}
.catalogue-results {
    font-size: 0.62em;
    font-weight: 900;
    color: #315f46;
    text-transform: uppercase;
}
.global-grape-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.65em;
    margin-top: 1em;
}
.global-grape-grid a {
    display: block;
    border-top: 1px solid #dcded7;
    padding: 0.75em 0.25em;
    color: var(--water-ink);
    text-decoration: none;
}
.global-grape-grid a:hover b {
    color: var(--water);
}
.global-grape-grid a b {
    display: block;
    font-family: Georgia, serif;
    font-size: 0.83em;
}
.global-grape-grid a span {
    display: block;
    color: var(--water-muted);
    font-size: 0.58em;
    margin-top: 0.25em;
}
.catalogue-more {
    display: block !important;
    margin: 1.6em auto 0 !important;
    border: 1px solid #315f46 !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #315f46 !important;
    box-shadow: none !important;
}
.diagnostic-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1em;
}
.diagnostic-grid article {
    background: #f7f8f4;
    border-radius: 14px;
    padding: 1.3em;
}
.diagnostic-grid article > span {
    color: var(--water);
    font-size: 0.55em;
    font-weight: 900;
    text-transform: uppercase;
}
.diagnostic-grid article h3 {
    font-size: 1em;
    margin: 0.4em 0;
}
.diagnostic-grid article b {
    color: #3d6047;
    font-size: 0.62em;
    text-transform: uppercase;
}
.diagnostic-grid article p {
    font-size: 0.75em;
    line-height: 1.55;
    color: var(--water-muted);
}
.diagnostic-note {
    grid-column: 1/-1;
    border-left: 3px solid var(--water-light);
    padding: 0.5em 1em;
    color: var(--water-muted);
}
.source-links {
    display: flex;
    gap: 1em;
    flex-wrap: wrap;
    margin-top: 1.5em;
}
.source-links a {
    font-size: 0.66em;
    font-weight: 900;
    text-transform: uppercase;
}
/* Incorporado em enologia.html como secção "No mundo": neutraliza a regra genérica
   section{min-height:100vh} da página de enologia, que de outro modo esticaria
   cada bloco global a ocupar o ecrã inteiro. */
html body[data-hero-theme="wine"] #main #panorama-global section {
    min-height: 0 !important;
    height: auto !important;
    display: block !important;
}
@media (max-width: 1000px) {
    .vine-calendar,
    .grape-showcase,
    .diagnostic-grid,
    .global-grape-grid,
    .manual-cards {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 736px) {
    .climate-panel,
    .climate-details,
    .manual-cards,
    .diagnostic-grid,
    .vine-calendar,
    .grape-showcase,
    .global-grape-grid {
        grid-template-columns: 1fr;
    }
    .hemi-controls {
        justify-content: center;
    }
    .manual-panel > header,
    .global-catalogue > header {
        display: block;
    }
    .grape-search {
        min-width: 0;
        margin-top: 1.25em;
    }
    .global-catalogue {
        padding: 1.25em;
    }
    .calendar-top {
        font-size: 0.54em;
    }
}
