/* =========================================================
   CF Vale do Minho — novo aspeto (fase 1)
   Tipos de letra: Inter (texto) + Plus Jakarta Sans (títulos)
   ========================================================= */

/* ---------- Cores e tipos de letra ---------- */
:root, #page-wrapper {
  --cf-teal: #0E6B66;
  --cf-teal-dark: #0A4E4A;
  --cf-green: #0B8041;
  --cf-blue: #139DBD;
  --cf-ink: #16201F;
  --cf-muted: #4A5654;
  --cf-line: #E2E5DF;
  --cf-tint: #E6F2EF;
  --cf-bg: #F5F6F2;
  --cf-dark: #0F2A2E;
  --solo-font: 'Inter', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
  --solo-h1: 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif;
}
body, #page-wrapper { background: var(--cf-bg); color: var(--cf-ink); font-family: var(--solo-font); }
#page-wrapper h1, #page-wrapper h2, #page-wrapper h3, #page-wrapper h4 { font-family: var(--solo-h1); letter-spacing: -0.01em; }
#page-wrapper a { color: var(--cf-teal); }
#page-wrapper a:hover { color: var(--cf-teal-dark); }

/* ---------- Cabeçalho ---------- */
#header {
  --r-bg: #fff; --r-header-bg: #fff; --r-header-tx: var(--cf-ink); --r-tx: var(--cf-ink);
  background: #fff !important; color: var(--cf-ink); position: relative;
}
#header::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px;
  background: linear-gradient(90deg, #37732F, #0B8041 25%, #158C74 55%, #139DBD);
}
#header .site-logo-img { max-height: 84px; width: auto; }
#header .solo-button-menu { border-radius: 999px; }

/* Menu de conta no cabeçalho (Iniciar Sessão / Criar Conta) */
#block-solo-account-menu .nav__menu-link {
  display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 999px;
  font-weight: 600; color: var(--cf-ink) !important; text-decoration: none;
}
#block-solo-account-menu li:first-child .nav__menu-link { background: var(--cf-teal); color: #fff !important; }

/* ---------- Menu principal (Temas) ---------- */
#primary-menu {
  --r-bg: #fff; --r-tx: var(--cf-ink); --r-menu-tx-h: var(--cf-teal);
  background: #fff !important; border-bottom: 1px solid var(--cf-line);
}
#primary-menu .navigation__menubar > li > .nav__menu-link,
#primary-menu .navigation__menubar > li > .dropdown-toggler { color: var(--cf-ink) !important; font-weight: 500; }
#primary-menu .navigation__menubar > li > .nav__menu-link:hover { color: var(--cf-teal) !important; }
#primary-menu .navigation__menubar > li > .nav__menu-link.is-active { color: var(--cf-teal) !important; font-weight: 700; box-shadow: inset 0 -3px 0 var(--cf-teal); }
#primary-menu .dropdown-arrow svg { stroke: currentColor; color: var(--cf-muted); }

/* Submenus */
#primary-menu .sub__menu {
  background: #fff !important; border: 1px solid var(--cf-line); border-radius: 12px;
  box-shadow: 0 12px 32px rgba(15, 42, 46, .14); padding: 6px !important; overflow: hidden;
}
#primary-menu .sub__menu .nav__menu-link { color: var(--cf-ink) !important; border-radius: 8px; }
#primary-menu .sub__menu .nav__menu-link:hover { background: var(--cf-tint) !important; color: var(--cf-teal) !important; }

/* ---------- Barra de gestão (menu "Gestão" no Primary Menu) ---------- */
#block-solo-gestao-2 {
  background: var(--cf-dark);
  border-image: linear-gradient(var(--cf-dark) 0 0) fill 0 / 0 / 0 100vw; /* fundo a toda a largura sem cortar os submenus */
  display: flex; align-items: center; flex-wrap: wrap;
}
#block-solo-gestao-2::before {
  content: "Gestão"; color: #9FE0D2; font-size: 12px; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; padding: 0 12px 0 4px;
}
#block-solo-gestao-2 .navigation__menubar > li > .nav__menu-link,
#block-solo-gestao-2 .navigation__menubar > li > .dropdown-toggler { color: #fff !important; font-size: 14px; }
#block-solo-gestao-2 .navigation__menubar > li > .nav__menu-link:hover { color: #9FE0D2 !important; }
#block-solo-gestao-2 .dropdown-arrow svg { color: #9FB4B0; }

/* ---------- Menu do utilizador (painel lateral) ---------- */
#primary-sidebar-menu {
  --r-bg: #fff; --r-tx: var(--cf-ink);
  background: #fff !important; box-shadow: -12px 0 40px rgba(15, 42, 46, .18);
}
#primary-sidebar-menu ul, #primary-sidebar-menu li { background: transparent !important; border: 0 !important; }
#primary-sidebar-menu nav { padding: 8px 12px; }
#primary-sidebar-menu .nav__menu-link {
  background: transparent !important; padding: 0 14px !important; margin: 2px 0;
  color: var(--cf-ink) !important; border-radius: 10px; font-weight: 500; min-height: 44px;
  display: flex; align-items: center;
}
#primary-sidebar-menu .nav__menu-link:hover { background: var(--cf-tint) !important; color: var(--cf-teal) !important; }
#primary-sidebar-menu .nav__menu-link.is-active { background: var(--cf-tint) !important; color: var(--cf-teal) !important; font-weight: 700; }

/* ---------- Faixa superior (Inscrição / Moodle) ---------- */
#top-container { background: transparent !important; }
#top-container .top-box .region-inner {
  background: #fff; border: 1px solid var(--cf-line); border-radius: 16px; overflow: hidden;
}
#top-container .top-box img { display: block; width: 100%; height: auto; margin: 0 auto; }
#top-container .top-box p { margin: 0; }

/* ---------- Notícias (página inicial) ---------- */
#main-container { background: transparent !important; }
.view-frontpage > .view-content {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px;
}
.view-frontpage .views-row { margin: 0 !important; }
.view-frontpage .views-row > article {
  height: 100%; box-sizing: border-box; display: flex; flex-direction: column;
  background: #fff; border: 1px solid var(--cf-line); border-radius: 16px; overflow: hidden;
  padding: 0 !important; margin: 0 !important; transition: box-shadow .2s, transform .2s;
}
.view-frontpage .views-row > article:hover { box-shadow: 0 10px 28px rgba(15, 42, 46, .10); transform: translateY(-2px); }
.view-frontpage article .node__content { display: contents; }
.view-frontpage article .field--name-field-imagem { order: -1; margin: 0; }
.view-frontpage article .field--name-field-imagem img { display: block; width: 100%; height: 190px; object-fit: cover; }
.view-frontpage article .field--name-taxonomy-vocabulary-2 { order: 0; padding: 16px 20px 0; margin: 0; }
.view-frontpage article .field--name-taxonomy-vocabulary-2 a {
  display: inline-block; background: var(--cf-tint); color: var(--cf-teal); font-size: 13px; font-weight: 600;
  padding: 3px 10px; border-radius: 999px; text-decoration: none;
}
.view-frontpage article .node__header { order: 1; padding: 8px 20px 0; background: none; }
.view-frontpage article .node__title { margin: 0 0 6px; font-size: 19px; line-height: 1.3; }
#page-wrapper .view-frontpage article .node__title a { color: var(--cf-ink); text-decoration: none; }
#page-wrapper .view-frontpage article .node__title a:hover { color: var(--cf-teal); }
.view-frontpage article .node__author-image { display: none; }
.view-frontpage article .node__meta { font-size: 13px; color: var(--cf-muted); margin: 0; }
.view-frontpage article .field--name-body {
  order: 2; padding: 8px 20px 0; color: var(--cf-muted); font-size: 15px;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.view-frontpage article .field--name-body p { margin: 0 0 .4em; }
.view-frontpage article .links { order: 3; margin-top: auto !important; padding: 12px 20px 18px; }
.view-frontpage article .links a { font-weight: 600; text-decoration: none; }
.view-frontpage article .links a::after { content: " →"; }

/* Primeira notícia em destaque */
@media (min-width: 900px) {
  .view-frontpage .views-row:first-child { grid-column: 1 / -1; }
  .view-frontpage .views-row:first-child > article {
    display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); grid-auto-rows: min-content;
  }
  .view-frontpage .views-row:first-child article .field--name-field-imagem { grid-column: 1; grid-row: 1 / span 5; }
  .view-frontpage .views-row:first-child article .field--name-field-imagem img { height: 100%; min-height: 320px; }
  .view-frontpage .views-row:first-child article > *:not(.node__content),
  .view-frontpage .views-row:first-child article .node__content > *:not(.field--name-field-imagem) { grid-column: 2; padding-left: 28px; padding-right: 28px; }
  .view-frontpage .views-row:first-child article .field--name-taxonomy-vocabulary-2 { padding-top: 28px; }
  .view-frontpage .views-row:first-child article .node__title { font-size: 28px; }
  .view-frontpage .views-row:first-child article .field--name-body { -webkit-line-clamp: 6; }
}

/* Paginação */
#page-wrapper .pager__item a, #page-wrapper .pager__item { border-radius: 10px; }
#page-wrapper .pager__item.is-active { background: var(--cf-teal) !important; }
#page-wrapper .pager__item.is-active a { color: #fff !important; }

/* ---------- Barra lateral (Inscrições, Turmas…) ---------- */
#sidebar-box-second { background: transparent !important; }
#sidebar-box-second .solo-block {
  background: #fff; border: 1px solid var(--cf-line); border-radius: 16px; padding: 18px 18px 10px; margin-bottom: 16px;
}
#sidebar-box-second .solo-block-title, #sidebar-box-second .block__title {
  font-family: var(--solo-h1); font-size: 18px; font-weight: 800; color: var(--cf-ink) !important;
  background: none !important; padding: 0 !important; margin: 0 0 10px !important;
}
#sidebar-box-second table { border: 0 !important; width: 100%; border-collapse: collapse; }
#sidebar-box-second thead th {
  background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--cf-line) !important;
  font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--cf-muted); padding: 6px 4px !important;
}
#sidebar-box-second thead th a { color: var(--cf-muted) !important; text-decoration: none; }
#sidebar-box-second tbody tr, #sidebar-box-second tbody td { background: #fff !important; }
#sidebar-box-second tbody td { border: 0 !important; border-bottom: 1px solid #EEF0EC !important; padding: 10px 4px !important; font-size: 14px; vertical-align: top; }
#sidebar-box-second tbody tr:last-child td { border-bottom: 0 !important; }
#sidebar-box-second tbody tr:hover td { background: var(--cf-tint) !important; }
#sidebar-box-second tbody td a { color: var(--cf-ink) !important; font-weight: 500; text-decoration: none; }
#sidebar-box-second tbody td a:hover { color: var(--cf-teal) !important; }
#sidebar-box-second tbody td time { color: var(--cf-muted); white-space: nowrap; font-size: 13px; }

/* ---------- Botões e formulários ---------- */
#page-wrapper .button, #page-wrapper input[type="submit"], #page-wrapper .solo-button:not(.pager__item) {
  border-radius: 10px;
}
#page-wrapper input.form-submit:not(.search-button-block) { background: var(--cf-teal); color: #fff; border: 0; }
#page-wrapper input.form-text, #page-wrapper input.form-email, #page-wrapper input.form-search, #page-wrapper select, #page-wrapper textarea {
  border-radius: 10px; border: 1px solid #C9CFC7;
}

/* ---------- Rodapé ---------- */
#footer-container, #footer-menu, #copyright {
  --r-bg: var(--cf-teal); --r-tx: #fff;
  background: var(--cf-teal) !important; color: #fff !important;
}
#footer-container { padding-top: 40px; }
#footer-container .footer-box .region-inner { background: #fff; border-radius: 12px; padding: 12px 20px; }
#footer-container img { max-width: 100%; height: auto; }
#footer-menu a, #copyright a { color: #fff !important; }
#footer-menu .sm-icon { filter: brightness(0) invert(1); }
#copyright { border-top: 1px solid rgba(255, 255, 255, .2); font-size: 13px; color: #D4E3E0 !important; }

/* ---------- Ajustes (fundos pretos do esquema "monochrome", botões, destaque) ---------- */
#primary-menu .nav__menu-link, #primary-menu .dropdown-toggler,
#primary-menu .navigation__menubar, #primary-menu .navigation__menubar > li { background: transparent !important; }
#primary-menu .dropdown-toggler { color: var(--cf-muted) !important; }
#block-solo-gestao-2 .dropdown-toggler { color: #9FB4B0 !important; }
#header .solo-button-menu {
  background: #fff !important; color: var(--cf-ink) !important; border: 1px solid #D5DAD3 !important;
  border-radius: 999px; width: 44px; height: 44px; margin-left: 6px;
}
#primary-menu .mobile-menubar-toggler-button { background: transparent !important; color: var(--cf-ink) !important; border: 0 !important; }
#block-solo-gestao-2 .mobile-menubar-toggler-button { background: transparent !important; }
#sidebar-box-main .region-inner, #sidebar-box-second .region-inner { background: transparent !important; padding-left: 0; padding-right: 0; }
#sidebar-box-second .solo-table-wrapper { border: 0 !important; }
@media (min-width: 900px) {
  .view-frontpage .views-row:first-child > article { grid-template-rows: auto auto auto 1fr; align-content: start; }
  .view-frontpage .views-row:first-child article .field--name-field-imagem { grid-row: 1 / -1; }
  .view-frontpage .views-row:first-child article .field--name-taxonomy-vocabulary-2 { grid-row: 1; }
  .view-frontpage .views-row:first-child article .node__header { grid-row: 2; }
  .view-frontpage .views-row:first-child article .field--name-body { grid-row: 3; }
  .view-frontpage .views-row:first-child article .links { grid-row: 4; align-self: end; }
}

#header .solo-button-menu svg { width: 24px; height: 18px; }
#header .solo-button-menu { color: var(--cf-ink) !important; }
#block-solo-gestao-2 .mobile-menubar-toggler-button { color: #fff !important; }
#primary-sidebar-menu .solo-button-menu { background: #fff !important; color: var(--cf-ink) !important; }

/* =========================================================
   Fase 2 — Destaque, Próximas turmas, Acesso rápido
   ========================================================= */
#welcome-text { background: transparent !important; }
#welcome-text-inner {
  display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 20px;
  padding-top: 24px; padding-bottom: 8px;
}
#welcome-text-inner > .solo-block { margin: 0 !important; }
#block-solo-paginainicialacessorapido { grid-column: 1 / -1; }
@media (max-width: 900px) { #welcome-text-inner { grid-template-columns: minmax(0, 1fr); } }

/* Destaque */
.cf-hero {
  height: 100%; box-sizing: border-box; background: #fff; border: 1px solid var(--cf-line); border-radius: 20px;
  padding: 40px; display: flex; flex-direction: column; justify-content: center; gap: 14px;
  position: relative; overflow: hidden;
}
.cf-hero::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px;
  background: linear-gradient(180deg, #37732F, #0B8041 30%, #158C74 60%, #139DBD);
}
#page-wrapper .cf-hero p { margin: 0; }
.cf-hero__eyebrow {
  align-self: flex-start; background: var(--cf-tint); color: var(--cf-teal); font-size: 14px; font-weight: 600;
  padding: 5px 12px; border-radius: 999px;
}
#page-wrapper .cf-hero__title { margin: 0; font-size: clamp(28px, 3.4vw, 44px); line-height: 1.1; font-weight: 800; color: var(--cf-ink); }
.cf-hero__text { font-size: 18px; color: var(--cf-muted); max-width: 640px; }
.cf-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px !important; }
#page-wrapper .cf-btn {
  display: inline-flex; align-items: center; min-height: 48px; padding: 0 22px; border-radius: 12px;
  font-weight: 600; text-decoration: none; transition: background .15s, border-color .15s;
}
#page-wrapper .cf-btn--primary { background: var(--cf-teal); color: #fff; }
#page-wrapper .cf-btn--primary:hover { background: var(--cf-teal-dark); color: #fff; }
#page-wrapper .cf-btn--ghost { background: #fff; color: var(--cf-ink); border: 1px solid #C9CFC7; }
#page-wrapper .cf-btn--ghost:hover { border-color: var(--cf-teal); color: var(--cf-teal); }

/* Próximas turmas */
#block-solo-views-block-turmas-block-4 {
  background: #fff; border: 1px solid var(--cf-line); border-radius: 20px; padding: 24px;
}
#block-solo-views-block-turmas-block-4 .solo-block-title {
  font-size: 20px; font-weight: 800; color: var(--cf-ink) !important; background: none !important;
  padding: 0 !important; margin: 0 0 14px !important;
}
.view-display-id-block_4 .view-content { display: flex; flex-direction: column; gap: 10px; }
.view-display-id-block_4 .views-row {
  display: flex; align-items: center; gap: 14px; margin: 0 !important;
  background: var(--cf-bg); border: 1px solid var(--cf-line); border-radius: 14px; padding: 12px;
}
.view-display-id-block_4 .views-field-field-turma-data-inicio { order: -1; flex: 0 0 60px; }
.view-display-id-block_4 .views-field-field-turma-data-inicio .field-content {
  width: 60px; height: 62px; border-radius: 12px; background: var(--cf-teal); color: #fff;
  display: block; box-sizing: border-box; padding-top: 11px; text-align: center;
  font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; line-height: 1.15;
  word-spacing: 100px; overflow: hidden;
}
.view-display-id-block_4 .views-field-field-turma-data-inicio .field-content::first-line {
  font-family: var(--solo-h1); font-size: 22px; font-weight: 800; letter-spacing: 0;
}
#page-wrapper .view-display-id-block_4 .views-field-name a {
  color: var(--cf-ink); font-weight: 600; font-size: 15px; line-height: 1.35; text-decoration: none;
}
#page-wrapper .view-display-id-block_4 .views-field-name a:hover { color: var(--cf-teal); }

/* Acesso rápido */
#page-wrapper .cf-quick__title { font-size: 20px; font-weight: 800; margin: 12px 0 14px; color: var(--cf-ink); }
.cf-quick__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 14px; }
#page-wrapper .cf-quick__item {
  display: flex; flex-direction: column; gap: 12px; min-height: 104px; box-sizing: border-box;
  background: #fff; border: 1px solid var(--cf-line); border-radius: 16px; padding: 18px;
  color: var(--cf-ink); font-weight: 600; text-decoration: none; transition: border-color .15s, box-shadow .15s;
}
#page-wrapper .cf-quick__item:hover { border-color: var(--cf-teal); box-shadow: 0 8px 22px rgba(15, 42, 46, .08); color: var(--cf-teal); }
.cf-quick__item::before {
  content: ""; width: 28px; height: 28px; background: var(--cf-teal);
  -webkit-mask: var(--cf-ico) center / contain no-repeat; mask: var(--cf-ico) center / contain no-repeat;
}
.cf-ico-user  { --cf-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c1.5-4 4.5-6 8-6s6.5 2 8 6'/%3E%3C/svg%3E"); }
.cf-ico-form  { --cf-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4' width='14' height='17' rx='2'/%3E%3Cpath d='M9 4V2.5h6V4M9 11h6M9 15h4'/%3E%3C/svg%3E"); }
.cf-ico-award { --cf-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='9' r='6'/%3E%3Cpath d='M9 14l-1.5 7L12 19l4.5 2L15 14'/%3E%3C/svg%3E"); }
.cf-ico-eye   { --cf-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); }
.cf-ico-file  { --cf-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z'/%3E%3Cpath d='M14 3v6h6M8 14h8M8 18h5'/%3E%3C/svg%3E"); }
.cf-ico-cap   { --cf-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9l10-5 10 5-10 5z'/%3E%3Cpath d='M6 11v5c2 2 10 2 12 0v-5'/%3E%3C/svg%3E"); }

/* Esconder o cartão "APP CFVM" quando o botão de instalar não aparece */
#block-solo-pwaaddtohomescreen:has(.pwa-a2hs.hidden) { display: none; }
@media (max-width: 600px) {
  .cf-hero { padding: 24px 22px; }
  .cf-hero__text { font-size: 16px; }
  #block-solo-views-block-turmas-block-4 { padding: 18px; }
}

/* =========================================================
   Fase 3 — Separadores da Formação (Top First Container)
   ========================================================= */
#top-box-first .region-inner.cf-formacao {
  background: transparent !important; border: 0 !important; border-radius: 0; overflow: visible; padding: 8px 0 0;
}
.cf-formacao__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px; margin: 8px 0 16px; }
#page-wrapper .cf-formacao__title { margin: 0; font-size: 30px; font-weight: 800; color: var(--cf-ink); }
#page-wrapper .cf-formacao__all { font-weight: 600; text-decoration: none; }
.cf-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
#page-wrapper .cf-tab {
  min-height: 44px; padding: 0 18px; border-radius: 999px; cursor: pointer;
  font: 600 15px/1 var(--solo-font); background: #fff; color: var(--cf-ink); border: 1px solid #C9CFC7;
}
#page-wrapper .cf-tab:hover { border-color: var(--cf-teal); color: var(--cf-teal); }
#page-wrapper .cf-tab[aria-selected="true"] { background: var(--cf-teal); border-color: var(--cf-teal); color: #fff; }
#page-wrapper .cf-tab:focus-visible { outline: 3px solid #9FE0D2; outline-offset: 2px; }
#top-box-first .cf-panel[hidden] { display: none !important; }
#top-box-first .cf-panel { background: transparent; border: 0; padding: 0; margin: 0; }
#top-box-first .cf-panel .solo-block-title { display: none; }
#top-box-first .cf-panel .solo-table-wrapper { border: 0 !important; overflow: visible; }
#top-box-first .cf-panel table, #top-box-first .cf-panel tbody { display: block; border: 0 !important; background: none !important; }
#top-box-first .cf-panel thead { display: none; }
#top-box-first .cf-panel tbody { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 14px; }
#top-box-first .cf-panel tbody tr {
  display: flex; flex-direction: column; justify-content: space-between; gap: 12px;
  background: #fff !important; border: 1px solid var(--cf-line); border-radius: 16px; padding: 18px;
  transition: border-color .15s, box-shadow .15s;
}
#top-box-first .cf-panel tbody tr:hover { border-color: var(--cf-teal); box-shadow: 0 8px 22px rgba(15, 42, 46, .08); }
#top-box-first .cf-panel tbody td { display: block; padding: 0 !important; border: 0 !important; background: none !important; }
#top-box-first .cf-panel--capped tbody tr:nth-child(n+9) { display: none; }
#page-wrapper #top-box-first .cf-panel td.views-field-name a { color: var(--cf-ink); text-decoration: none; display: block; }
#page-wrapper #top-box-first .cf-panel td.views-field-name a:hover .cf-name { color: var(--cf-teal); }
.cf-code {
  display: inline-block; margin-bottom: 8px; background: var(--cf-tint); color: var(--cf-teal);
  font-size: 13px; font-weight: 700; padding: 3px 10px; border-radius: 8px;
}
.cf-name { display: block; font-family: var(--solo-h1); font-size: 17px; font-weight: 700; line-height: 1.3; }
#top-box-first .cf-panel time { color: var(--cf-muted); font-size: 14px; }
#page-wrapper .cf-more { display: inline-block; margin-top: 14px; font-weight: 600; text-decoration: none; }
.cf-cta { display: block; margin-top: 14px; color: var(--cf-teal); font-weight: 600; font-size: 14px; }
@media (max-width: 600px) { #page-wrapper .cf-formacao__title { font-size: 24px; } #top-box-first .cf-panel tbody { grid-template-columns: minmax(0, 1fr); } }

/* Barra lateral vazia (só com o "APP CFVM" escondido): notícias em largura total */
#main-container-inner:not(:has(#sidebar-box-second .solo-block:not(#block-solo-pwaaddtohomescreen))):has(#block-solo-pwaaddtohomescreen .pwa-a2hs.hidden) { grid-template-columns: minmax(0, 1fr) !important; }
#main-container-inner:not(:has(#sidebar-box-second .solo-block:not(#block-solo-pwaaddtohomescreen))):has(#block-solo-pwaaddtohomescreen .pwa-a2hs.hidden) > #sidebar-box-second { display: none !important; }
/* Imagem da notícia em destaque a ocupar a altura toda do cartão */
@media (min-width: 900px) {
  .view-frontpage .views-row:first-child article .field--name-field-imagem { position: relative; min-height: 320px; align-self: stretch; }
  .view-frontpage .views-row:first-child article .field--name-field-imagem * { position: static; }
  .view-frontpage .views-row:first-child article .field--name-field-imagem img { position: absolute; inset: 0; width: 100%; height: 100% !important; min-height: 0; object-fit: cover; }
}

/* =========================================================
   Correções (12/11): botão Iniciar Sessão, grelha de notícias, Subscrever
   ========================================================= */
/* Botão "Iniciar Sessão" (visitantes) */
#header #login-button-open { background: transparent !important; }
#header #login-button-open .solo-button-menu {
  width: auto !important; height: auto !important; min-height: 44px; padding: 0 20px !important;
  background: var(--cf-teal) !important; color: #fff !important; border: 0 !important; border-radius: 999px;
  font: 600 15px/1 var(--solo-font); white-space: nowrap; cursor: pointer;
}
#header #login-button-open .solo-button-menu:hover { background: var(--cf-teal-dark) !important; }

/* Notícias: número fixo de colunas para as linhas ficarem sempre completas (1 destaque + 9) */
@media (min-width: 1100px) { .view-frontpage > .view-content { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; } .view-frontpage article .field--name-field-imagem img { height: 230px; } }
@media (min-width: 700px) and (max-width: 1099px) { .view-frontpage > .view-content { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 699px) { .view-frontpage > .view-content { grid-template-columns: minmax(0, 1fr); } }
@media (min-width: 700px) and (max-width: 899px) { .view-frontpage .views-row:first-child { grid-column: 1 / -1; } }

/* Imagens das notícias sempre a toda a largura do cartão */
.view-frontpage article .field--name-field-imagem .field, .view-frontpage article .field--name-field-imagem .media { width: 100% !important; max-width: none; float: none; margin: 0; }

/* Esconder a ligação "Subscrever" (RSS) na página inicial */
.path-frontpage .feed-icons { display: none; }

/* "APP CFVM" no rodapé: só aparece quando o browser permite instalar a app */
#footer-container-inner:has(#footer-box-second .pwa-a2hs.hidden) { grid-template-columns: minmax(0, 1fr) !important; }
#footer-box-second:has(.pwa-a2hs.hidden) { display: none !important; }

/* =========================================================
   Podcast AGente Pod(e) — faixa na página inicial e página /podcast
   ========================================================= */
#block-solo-paginainicialpodcast { grid-column: 1 / -1; margin-top: 12px !important; }
.cf-podcast {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 32px; align-items: center;
  background: var(--cf-dark); color: #fff; border-radius: 20px; padding: 36px 40px; position: relative; overflow: hidden;
}
.cf-podcast::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px;
  background: linear-gradient(90deg, #37732F, #0B8041 25%, #158C74 55%, #139DBD);
}
#page-wrapper .cf-podcast p { margin: 0; }
.cf-podcast__text { display: flex; flex-direction: column; gap: 14px; }
.cf-podcast__eyebrow {
  align-self: flex-start; background: rgba(159, 224, 210, .14); color: #9FE0D2; font-size: 13px; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase; padding: 5px 12px; border-radius: 999px;
}
#page-wrapper .cf-podcast__title { margin: 0; font-size: clamp(28px, 3vw, 38px); line-height: 1.1; font-weight: 800; color: #fff; }
.cf-podcast__lead { color: #C9D8D5; font-size: 17px; line-height: 1.55; }
.cf-podcast__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 6px !important; }
#page-wrapper .cf-btn--light { background: #fff; color: var(--cf-dark); }
#page-wrapper .cf-btn--light:hover { background: #E6F2EF; color: var(--cf-dark); }
#page-wrapper .cf-btn--outline-light { background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, .45); }
#page-wrapper .cf-btn--outline-light:hover { border-color: #9FE0D2; color: #9FE0D2; }
.cf-podcast__player iframe, .cf-podpage__player iframe { display: block; width: 100%; border: 0; border-radius: 12px; }
@media (max-width: 900px) {
  .cf-podcast { grid-template-columns: minmax(0, 1fr); padding: 28px 22px; gap: 22px; }
}

/* Página /podcast */
.cf-podpage { max-width: 960px; }
.cf-podpage__lead { font-size: 18px; line-height: 1.6; color: var(--cf-muted); }
.cf-podpage__actions { margin: 18px 0 24px !important; }
