/*
Theme Name: FP Solicitador
Theme URI: https://fpsolicitador.pt
Author: Francisco Pereira — Solicitador
Author URI: https://fpsolicitador.pt
Description: Tema próprio (Block Theme / Full Site Editing) para fpsolicitador.pt. Leve, rápido e otimizado para SEO, com um visual premium (tipografia serifada, acento dourado, micro-interações). Substitui o Avada mantendo URLs e conteúdos. Texto em Português de Portugal.
Requires at least: 6.4
Tested up to: 7.0
Requires PHP: 7.4
Version: 1.3.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fp-solicitador
Tags: full-site-editing, block-patterns, custom-colors, custom-logo, translation-ready, blog, business
*/

/* O Avada/Fusion deixa um fundo herdado nas páginas que ainda têm conteúdo do
   construtor. Forçamos o branco do tema (sai quando o Fusion for removido). */
body {
	background-color: #fff !important;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* Transições suaves e consistentes nos elementos interativos. */
a, .wp-block-button__link, .fp-card, .fp-share__btn, .fp-ico, .wp-block-navigation-item__content {
	transition: color .2s ease, background-color .2s ease, border-color .2s ease,
		box-shadow .25s ease, transform .25s ease;
}

/* ------------------------------------------------------------------ *
 *  Tipografia premium
 * ------------------------------------------------------------------ */
h1, h2, h3, .wp-block-heading {
	font-feature-settings: "liga" 1, "kern" 1;
}

/* "Eyebrow" — etiqueta dourada acima dos títulos de secção. */
.fp-eyebrow {
	color: var(--wp--preset--color--accent) !important;
	font-family: var(--wp--preset--font-family--body);
	font-weight: 700;
	font-size: .8rem;
	letter-spacing: .18em;
	text-transform: uppercase;
	margin-bottom: .75rem !important;
}

/* Pequeno traço dourado decorativo (usar com .fp-rule). */
.fp-rule::after {
	content: "";
	display: block;
	width: 56px;
	height: 3px;
	margin: 1.1rem auto 0;
	background: var(--wp--preset--color--accent);
	border-radius: 3px;
}
.fp-rule.has-text-align-left::after { margin-left: 0; }

/* ------------------------------------------------------------------ *
 *  Cabeçalho — branco, fixo, com sombra subtil
 * ------------------------------------------------------------------ */
.fp-header {
	position: sticky;
	top: 0;
	z-index: 100;
	box-shadow: 0 1px 0 rgba(10, 16, 32, .06), 0 6px 24px -18px rgba(10, 16, 32, .5);
	backdrop-filter: saturate(140%) blur(2px);
}

.fp-nav .wp-block-navigation-item__content {
	padding-bottom: 4px;
	border-bottom: 2px solid transparent;
}
.fp-nav .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--primary);
	border-bottom-color: var(--wp--preset--color--accent);
}

/* Logótipo */
.fp-logo img { width: auto; display: block; }
.fp-logo--dark img { height: 52px; }            /* cabeçalho claro */
.fp-footer .fp-logo img { height: 86px; }       /* rodapé azul */

/* ------------------------------------------------------------------ *
 *  Botões
 * ------------------------------------------------------------------ */
.wp-block-button__link {
	letter-spacing: .01em;
	box-shadow: 0 10px 24px -14px rgba(0, 16, 92, .8);
}
.wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: 0 16px 30px -14px rgba(0, 16, 92, .85);
}
/* Variante dourada */
.fp-btn--gold .wp-block-button__link,
.wp-block-button.fp-btn--gold .wp-block-button__link {
	background: var(--wp--preset--color--accent) !important;
	color: #1c1606 !important;
}
/* Variante "ghost" sobre fundo escuro */
.is-style-outline .wp-block-button__link {
	box-shadow: none;
}

/* ------------------------------------------------------------------ *
 *  Cartões com profundidade + hover
 * ------------------------------------------------------------------ */
.fp-card {
	background: #fff;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 16px;
	box-shadow: 0 1px 2px rgba(10, 16, 32, .04), 0 18px 40px -28px rgba(10, 16, 32, .35);
	height: 100%;
}
.fp-card:hover {
	transform: translateY(-4px);
	border-color: transparent;
	box-shadow: 0 10px 24px -10px rgba(0, 16, 92, .28);
}
.fp-card a { text-decoration: none; }

/* Cartão de publicação (editorial, sem imagem) com acento dourado no topo. */
.fp-card--post { border-top: 3px solid var(--wp--preset--color--accent); }
.fp-card--post .wp-block-post-title { color: var(--wp--preset--color--primary); }

/* Ícone redondo */
.fp-ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--wp--preset--color--base-2);
	color: var(--wp--preset--color--primary);
	margin-bottom: 1rem;
}
.fp-card:hover .fp-ico {
	background: var(--wp--preset--color--primary);
	color: #fff;
}
.fp-ico svg { width: 26px; height: 26px; }

/* Etiqueta de categoria (chip) */
.fp-chip {
	display: inline-block;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	background: var(--wp--preset--color--base-2);
	padding: .3rem .7rem;
	border-radius: 999px;
}

/* ------------------------------------------------------------------ *
 *  Herói
 * ------------------------------------------------------------------ */
.fp-hero {
	background:
		radial-gradient(1200px 500px at 80% -10%, rgba(201, 162, 39, .14), transparent 60%),
		linear-gradient(160deg, #00105c 0%, #001a82 55%, #00114f 100%) !important;
}
.fp-hero .wp-block-cover__background { opacity: 0 !important; }

/* Linha rotativa do herói: "para [palavra]". Tamanho controlado e fiável. */
.fp-hero__line {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.5rem, 1.1rem + 1.8vw, 2.4rem);
	line-height: 1.2;
	margin-top: 0;
	margin-bottom: 0;
	opacity: .92;
}
.fp-hero__rotator {
	color: var(--wp--preset--color--accent);
	font-weight: 600;
}
.fp-hero__word {
	display: inline-block;
	opacity: 1;
	transition: opacity .4s ease;
}
@media (prefers-reduced-motion: reduce) { .fp-hero__word { transition: none; } }

/* ------------------------------------------------------------------ *
 *  FAQ (bloco Details)
 * ------------------------------------------------------------------ */
.wp-block-details {
	transition: box-shadow .25s ease, border-color .25s ease;
}
.wp-block-details[open] {
	box-shadow: 0 14px 36px -26px rgba(10, 16, 32, .5);
}
.wp-block-details summary {
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
	font-size: 1.1rem;
	cursor: pointer;
	list-style: none;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: "+";
	float: right;
	color: var(--wp--preset--color--accent);
	font-weight: 700;
}
.wp-block-details[open] summary::after { content: "–"; }

/* ------------------------------------------------------------------ *
 *  Partilhar publicação
 * ------------------------------------------------------------------ */
.fp-share { gap: .5rem; }
.fp-share__btn {
	display: inline-block;
	padding: .45rem .9rem;
	border-radius: 999px;
	border: 1px solid var(--wp--preset--color--border, #e3e7f0);
	background: #fff;
	color: var(--wp--preset--color--primary, #00105c);
	font-size: .9rem;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	cursor: pointer;
}
.fp-share__btn:hover, .fp-share__btn:focus {
	background: var(--wp--preset--color--primary, #00105c);
	color: #fff;
	border-color: transparent;
	transform: translateY(-2px);
}

/* ------------------------------------------------------------------ *
 *  Acessibilidade
 * ------------------------------------------------------------------ */
.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 100000;
	padding: .75rem 1.25rem;
	background: #fff;
	color: #00105c;
	font-weight: 700;
	border-radius: 0 0 6px 0;
}
.skip-link:focus { left: 0; }

:where(a, button, .wp-block-button__link, summary):focus-visible {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

/* ------------------------------------------------------------------ *
 *  Responsivo
 * ------------------------------------------------------------------ */
@media (max-width: 781px) {
	.fp-header { position: static; }
}
@media (max-width: 600px) {
	.fp-logo--dark img { height: 44px; }
	.fp-footer .fp-logo img { height: 68px; }
	.fp-card { border-radius: 14px; }
}
