/* Opiniões, banner da avaliação e equipa da página inicial. Mesmo estilo dos destaques e das zonas. Tudo dentro de .core-bl */
.core-bl { width: 100%; max-width: 1160px; margin: 0 auto; padding: 56px 16px; font-family: 'Inter', -apple-system, sans-serif; color: #041456; box-sizing: border-box; line-height: 1.5; }
.core-bl * { box-sizing: border-box; }
.core-bl-cab { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap; margin: 0 0 30px; }
.core-bl-ey { display: inline-flex; align-items: center; gap: 9px; font: 700 11px 'Inter', sans-serif; letter-spacing: .16em; text-transform: uppercase; color: #d9c48f; margin: 0 0 12px; }
.core-bl-ey::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #d9c48f; flex: 0 0 auto; }
.core-bl-t { font: 400 clamp(28px, 3.6vw, 44px)/1.1 'Lora', Georgia, serif; margin: 0; letter-spacing: -.01em; color: #041456; }
.core-bl-t em { display: block; font-style: italic; color: #d9c48f; }
.core-bl-btn { display: inline-flex; align-items: center; justify-content: center; border: 1.5px solid #041456; color: #041456; background: transparent; border-radius: 6px; padding: 10px 20px; font: 600 14px 'Inter', sans-serif; text-decoration: none; white-space: nowrap; transition: background .15s, color .15s; }
.core-bl-btn:hover { background: #041456; color: #fff; }
.core-bl a:focus-visible, .core-bl button:focus-visible { outline: 2px solid #6b5228; outline-offset: 2px; }

/* Opiniões */
.core-op-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 20px; align-items: start; }
.core-op-card { margin: 0; background: #fff; border: 1px solid #e4d7ae; border-radius: 18px; padding: 28px 28px 24px; display: flex; flex-direction: column; gap: 14px; }
.core-op-est { color: #d9c48f; font-size: 18px; letter-spacing: .12em; line-height: 1; }
.core-op-txt { margin: 0; font: 400 16px/1.65 'Lora', Georgia, serif; color: #041456; max-height: 8.2em; overflow: hidden; position: relative; }
.core-op-txt p { margin: 0 0 .8em; }
.core-op-card:not(.aberto) .core-op-txt::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2.6em; background: linear-gradient(transparent, #fff); }
.core-op-card.aberto .core-op-txt { max-height: none; }
.core-op-mais { align-self: flex-start; background: none; border: 0; padding: 0; font: 600 13.5px 'Inter', sans-serif; color: #6b5228; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.core-op-mais[hidden] { display: none; }
.core-op-aut { display: flex; align-items: center; gap: 12px; margin-top: 4px; padding-top: 16px; border-top: 1px solid #e4d7ae; }
.core-op-av { width: 42px; height: 42px; border-radius: 50%; background: #f2ecd9; color: #6b5228; display: grid; place-items: center; font: 700 13px 'Inter', sans-serif; letter-spacing: .04em; flex: 0 0 auto; }
.core-op-aut b { display: block; font: 600 15px 'Inter', sans-serif; }
.core-op-aut small { display: block; font: 700 10.5px 'Inter', sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #6b5228; }

/* Banner da avaliação: mesma sombra preta do banner anterior */
.core-av { padding-top: 24px; padding-bottom: 24px; }
.core-av-cx { position: relative; overflow: hidden; border-radius: 22px; background-size: cover; background-position: center 42%; min-height: 360px; display: flex; align-items: center; }
.core-av-cx::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(12, 10, 9, .5) 0%, rgba(12, 10, 9, .22) 45%, rgba(12, 10, 9, .55) 100%); }
.core-av-in { position: relative; padding: 48px clamp(24px, 6vw, 72px); max-width: 640px; }
.core-bl-ey--cl { color: #e8d6a6; text-shadow: 0 1px 8px rgba(0, 0, 0, .5); }
.core-bl-t--cl { color: #fff; text-shadow: 0 2px 14px rgba(0, 0, 0, .45); margin-bottom: 12px; }
.core-bl-t--cl em { color: #e8d6a6; }
.core-av-sub { margin: 0 0 22px; color: #f2ecd9; font-size: 16px; text-shadow: 0 1px 8px rgba(0, 0, 0, .5); }
.core-av-btn { display: inline-flex; align-items: center; background: #d9c48f; color: #041456; border-radius: 6px; padding: 13px 24px; font: 700 14px 'Inter', sans-serif; text-decoration: none; transition: background .15s; }
.core-av-btn:hover { background: #fff; }

/* Equipa */
.core-eq-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 480px), 1fr)); gap: 20px; }
.core-eq-card { display: grid; grid-template-columns: 38% 1fr; background: #fff; border: 1px solid #e4d7ae; border-radius: 18px; overflow: hidden; }
.core-eq-foto { background: #f2ecd9; min-height: 320px; position: relative; }
.core-eq .core-eq-foto img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover !important; object-position: 50% 12% !important; display: block; }
.core-eq-info { padding: 26px 24px; display: flex; flex-direction: column; justify-content: center; gap: 6px; min-width: 0; }
.core-eq-cargo { margin: 0; font: 700 10.5px 'Inter', sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #6b5228; }
.core-eq-nome { margin: 0; font: 400 clamp(22px, 2.4vw, 28px)/1.15 'Lora', Georgia, serif; color: #041456; }
.core-eq-frase { margin: 6px 0 4px; font: italic 400 15px/1.55 'Lora', Georgia, serif; color: #4a5580; }
.core-eq-tel { margin: 0; font: 500 14px 'Inter', sans-serif; }
.core-eq-tel a { color: #041456; text-decoration: none; }
.core-eq-acoes { display: flex; gap: 10px; align-items: center; margin-top: 10px; }
.core-eq-in { width: 38px; height: 38px; border-radius: 6px; border: 1.5px solid #e4d7ae; display: grid; place-items: center; font: 700 14px 'Inter', sans-serif; color: #041456; text-decoration: none; text-transform: lowercase; transition: border-color .15s, background .15s; }
.core-eq-in:hover { border-color: #041456; background: #f2ecd9; }

@media (max-width: 640px) {
	.core-bl { padding-top: 40px; padding-bottom: 40px; }
	.core-op-card { padding: 22px 20px 20px; }
	.core-av-cx { min-height: 320px; border-radius: 18px; }
	.core-eq-card { grid-template-columns: 1fr; }
	.core-eq-foto { min-height: 0; aspect-ratio: 4 / 4.2; }
	.core-eq-info { padding: 20px; }
}

/* Ficha por completar (a equipa vê o que falta enviar) */
.core-eq-card--pend { border-style: dashed; background: #fffdf6; }
.core-eq-ini { position: absolute; inset: 0; display: grid; place-items: center; font: 400 72px 'Lora', Georgia, serif; color: #d9c48f; }
.core-eq-card--pend .core-eq-nome, .core-eq-card--pend .core-eq-frase, .core-eq-card--pend .core-eq-cargo, .core-eq-card--pend .core-eq-tel { color: #6b5228; }
.core-eq-pend { margin: 8px 0 0; align-self: flex-start; background: #f2ecd9; color: #6b5228; border-radius: 6px; padding: 6px 10px; font: 600 12.5px 'Inter', sans-serif; }
