/* Site Martins & Filhos: aspeto próprio por cima do UIkit 3 (licença MIT, ver assets/LICENSE-uikit.md).
   Cores e letras tiradas do site antigo (04/11/2026). Letras Montserrat e Raleway (SIL Open Font License). */

@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 600; font-display: swap;
  src: url(../fonts/montserrat-d59a82aa.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 600; font-display: swap;
  src: url(../fonts/montserrat-6beb8dfd.woff2) format('woff2');
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 700; font-display: swap;
  src: url(../fonts/montserrat-1500a0c2.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 700; font-display: swap;
  src: url(../fonts/montserrat-9a472bdf.woff2) format('woff2');
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Raleway'; font-style: normal; font-weight: 500; font-display: swap;
  src: url(../fonts/raleway-73bdc0a5.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Raleway'; font-style: normal; font-weight: 500; font-display: swap;
  src: url(../fonts/raleway-3acb6519.woff2) format('woff2');
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

:root {
  --mf-escuro: #26244c;     /* títulos e menu */
  --mf-texto: #515070;      /* texto corrido */
  --mf-suave: #a8a7b7;      /* texto secundário */
  --mf-acento: #82a0b5;     /* ligações */
  --mf-acento-2: #8682b5;
  --mf-secundaria: #4e536b; /* secções escuras */
  --mf-tile-secundaria: #5b617d;
  --mf-primaria: #e2e9ee;   /* secções claras azuladas */
  --mf-cinza: #f7f7f7;      /* secções cinzentas e rodapé */
  --mf-amarelo: #f3ca58;
}

html { font-family: Raleway, sans-serif; font-weight: 500; font-size: 15px; line-height: 1.5; color: var(--mf-texto);
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body { background: #fff; }

h1, h2, h3, h4, h5, h6, .uk-h1, .uk-h2, .uk-h3, .uk-h4, .uk-h5, .uk-h6, .uk-heading-small, .uk-heading-medium,
.uk-heading-large, .uk-article-title {
  font-family: Montserrat, sans-serif; font-weight: 600; text-transform: uppercase; color: var(--mf-escuro); }
h1, .uk-h1 { font-size: 28.9px; line-height: 1.2; }
h2, .uk-h2 { font-size: 23.8px; line-height: 1.3; }
h3, .uk-h3 { font-size: 22px; line-height: 1.35; }
h6, .uk-h6 { font-size: 12px; line-height: 1.4; letter-spacing: 1.5px; }
@media (min-width: 960px) {
  h1, .uk-h1 { font-size: 34px; }
  h2, .uk-h2 { font-size: 28px; }
}

a, .uk-link { color: var(--mf-acento); }
a:hover, .uk-link:hover { color: var(--mf-escuro); }
.uk-text-lead { font-family: Montserrat, sans-serif; font-weight: 600; font-size: 18px; color: var(--mf-escuro); }
.uk-text-meta { font-size: 13px; color: var(--mf-suave); }
.uk-text-muted { color: var(--mf-suave) !important; }
.uk-text-primary { color: var(--mf-acento) !important; }
.uk-text-background { -webkit-background-clip: text; background-clip: text; color: transparent !important;
  display: inline-block; background-color: var(--mf-acento);
  background-image: linear-gradient(90deg, var(--mf-acento) 0, var(--mf-acento-2) 100%); }
.uk-list-divider > :nth-child(n+2) { border-top-color: rgba(38, 36, 76, .2); }

/* Secções e blocos com as cores do site antigo */
.uk-section-secondary { background: var(--mf-secundaria); }
.uk-tile-secondary { background-color: var(--mf-tile-secundaria); }
.uk-section-primary { background: var(--mf-primaria); }
.uk-section-primary, .uk-section-primary h1, .uk-section-primary h2, .uk-section-primary h3 { color: var(--mf-escuro); }
.uk-section-muted, .uk-tile-muted { background: var(--mf-cinza); }
.uk-section-secondary .uk-text-lead, .uk-tile-secondary .uk-text-lead { color: rgba(255, 255, 255, .7); }

/* Grelhas do construtor antigo (YOOtheme): as colunas esticam e alinham */
.tm-grid-expand > * { flex-grow: 1; }
.tm-grid-expand > .uk-width-expand { flex-grow: 1; }
.uk-grid-item-match > .uk-panel, .uk-grid-item-match > [class*='uk-tile'] { flex: 1; }

/* Cabeçalho */
.mf-cabecalho .uk-navbar-container:not(.uk-navbar-transparent) { background: #fff; }
.mf-cabecalho .uk-navbar-sticky { box-shadow: 0 2px 12px rgba(38, 36, 76, .08); }
.mf-cabecalho .uk-navbar-item, .mf-cabecalho .uk-navbar-nav > li > a, .mf-cabecalho .uk-navbar-toggle { min-height: 100px; }
.mf-cabecalho .uk-navbar-sticky .uk-navbar-item, .mf-cabecalho .uk-navbar-sticky .uk-navbar-nav > li > a,
.mf-cabecalho .uk-navbar-sticky .uk-navbar-toggle { min-height: 70px; }
.mf-cabecalho .uk-navbar-nav { gap: 28px; }
.mf-cabecalho .uk-navbar-nav > li > a { padding: 0; font-family: Montserrat, sans-serif; font-size: 13px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 1.5px; color: var(--mf-escuro); }
.mf-cabecalho .uk-navbar-nav > li > a:hover, .mf-cabecalho .uk-navbar-nav > li.uk-active > a { color: var(--mf-acento); }
.mf-cabecalho .uk-navbar-toggle { color: var(--mf-escuro); }
.uk-offcanvas-bar { background: var(--mf-secundaria); }
.uk-offcanvas-bar .uk-nav-default > li > a { font-family: Montserrat, sans-serif; font-weight: 600; text-transform: uppercase;
  letter-spacing: 1.5px; font-size: 14px; padding: 8px 0; }

/* Setas das fotografias (Entrada e Obras): círculo escuro semitransparente, para se verem sobre qualquer fotografia */
.uk-slidenav { width: 44px; height: 44px; padding: 0; display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%; background: rgba(38, 36, 76, .55); color: #fff !important;
  transition: background-color .15s ease-in-out; }
.uk-slidenav:hover, .uk-slidenav:focus-visible { background: rgba(38, 36, 76, .85); color: #fff !important; }
.uk-slidenav svg { width: 12px; height: auto; overflow: visible; }
.uk-slidenav svg polyline, .uk-slidenav svg path { stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.uk-slidenav-previous svg { margin-right: 2px; }
.uk-slidenav-next svg { margin-left: 2px; }
/* Pontos da Entrada: com sombra, para se verem sobre céu claro */
.mf-entrada .uk-dotnav > * > * { border-color: #fff; box-shadow: 0 0 3px rgba(0, 0, 0, .5); }

/* Saltar para o conteúdo (acessibilidade): só aparece com o teclado */
.mf-saltar { position: absolute; left: -9999px; top: 0; z-index: 1100; background: #fff; padding: 8px 12px; }
.mf-saltar:focus { left: 8px; top: 8px; }

/* Rodapé */
.mf-rodape .uk-subnav > * > a { font-family: Montserrat, sans-serif; font-weight: 600; font-size: 12px; letter-spacing: 1.5px;
  text-transform: uppercase; color: var(--mf-texto); }
.mf-rodape .uk-subnav > * > a:hover { color: var(--mf-acento); }

/* Mapas e formulários de terceiros: só carregam com clique */
.mf-embed { background: var(--mf-cinza); border: 1px solid rgba(38, 36, 76, .1); padding: 30px 20px; text-align: center; }
.mf-embed p { margin: 0 0 15px; color: var(--mf-texto); }
.mf-embed iframe { display: block; width: 100%; border: 0; }
.mf-embed.mf-carregado { padding: 0; background: none; border: 0; }

/* ---- Telemóvel e tablet ---- */

/* As colunas das grelhas podem encolher abaixo do conteúdo (sem isto, os blocos com largura fixa do construtor
   antigo, como .uk-width-large = 450 px, empurravam a página para fora do ecrã nas Obras). */
.uk-grid > * { min-width: 0; }
h1, h2, h3, .uk-h1, .uk-h2, .uk-h3, .uk-h4 { overflow-wrap: break-word; hyphens: auto; }
img { max-width: 100%; height: auto; }
img[uk-cover] { max-width: none; }

/* Tabela dos indicadores (Política de Gestão): desliza para o lado no telemóvel, em vez de sair do ecrã */
.mf-tabela { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.mf-tabela table { min-width: 560px; }
@media (max-width: 639px) {
  .mf-tabela { font-size: 12px; }
  h1, .uk-h1 { font-size: 24px; }
  h2, .uk-h2 { font-size: 20px; }
}

/* Fundo «fixo» (Contacto): os tablets e o iPhone não o suportam bem; aí passa a fundo normal */
@media (max-width: 1199px), (hover: none) {
  .uk-background-fixed { background-attachment: scroll; }
}
