/*
Theme Name: Blocksy Child
Theme URI: https://creativethemes.com/blocksy/
Description: Child theme do Blocksy. Use este tema para personalizações sem perder as atualizações do tema pai.
Author: Teu Nome
Author URI: https://example.com
Template: blocksy
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: blocksy-child
*/

:root {
	--fcf-site-gutter: clamp(48px, 4vw, 80px);
	--fcf-site-max-width: min(1920px, calc(100vw - (var(--fcf-site-gutter) * 2)));
	--theme-normal-container-max-width: var(--fcf-site-max-width);
	--theme-block-max-width: var(--fcf-site-max-width);
	--theme-container-edge-spacing: var(--fcf-site-max-width);
	--fcf-font-body: "Poppins", var(--theme-font-stack-default);
	--fcf-font-display: "korolev-compressed", sans-serif;
	--fcf-blue-900: #051e33;
	--fcf-blue-800: #123357;
	--fcf-blue-700: #183e67;
	--fcf-ink: #0f172a;
	--fcf-ink-muted: #64748b;
	--fcf-surface: #ffffff;
	--fcf-surface-soft: #f8fafc;
	--fcf-border: #e2e8f0;
	--fcf-accent: var(--fcf-blue-800);
	--fcf-radius: 12px;
	/* Corpo */
	--fcf-body-size: 1.125rem;
	--fcf-body-line: 1.65;
	--fcf-link-size: var(--fcf-body-size);
	/* Títulos — escala global (h1 maior → h5 menor) */
	--fcf-h1-size: clamp(2.5rem, 5vw, 4.5rem);
	--fcf-h1-weight: 700;
	--fcf-h1-line: 0.95;
	--fcf-h1-spacing: 0.02em;
	--fcf-h2-size: clamp(2rem, 4.8vw, 2.75rem);
	--fcf-h2-weight: 700;
	--fcf-h2-line: 1;
	--fcf-h2-spacing: 0.02em;
	--fcf-h3-size: clamp(1.5rem, 3.5vw, 2rem);
	--fcf-h3-weight: 700;
	--fcf-h3-line: 1.1;
	--fcf-h3-spacing: 0.02em;
	--fcf-h4-size: clamp(1.25rem, 2.5vw, 1.5rem);
	--fcf-h4-weight: 700;
	--fcf-h4-line: 1.15;
	--fcf-h4-spacing: 0.02em;
	--fcf-h5-size: clamp(1.125rem, 2vw, 1.25rem);
	--fcf-h5-weight: 700;
	--fcf-h5-line: 1.2;
	--fcf-h5-spacing: 0.02em;
	--fcf-h6-size: var(--fcf-h5-size);
	--fcf-h6-weight: var(--fcf-h5-weight);
	--fcf-h6-line: var(--fcf-h5-line);
	--fcf-h6-spacing: var(--fcf-h5-spacing);
	/* Alias — títulos de páginas interiores = h1 */
	--fcf-page-title-size: var(--fcf-h1-size);
	--fcf-page-title-weight: var(--fcf-h1-weight);
	--fcf-page-title-line: var(--fcf-h1-line);
	--fcf-page-title-spacing: var(--fcf-h1-spacing);
	--fcf-page-subtitle-size: var(--fcf-h3-size);
	--fcf-section-link-size: clamp(1.0625rem, 1.35vw, 1.25rem);
	--fcf-section-link-size-mobile: clamp(1rem, 3.8vw, 1.125rem);
	--fcf-section-link-max-width: 52%;
	/* Layout — páginas interiores (Notícias, Plantel, Calendário, etc.) */
	--fcf-page-container-width: var(--theme-container-width, min(100%, var(--theme-normal-container-max-width, min(1920px, calc(100vw - (var(--fcf-site-gutter, 0px) * 2))))));
	--fcf-page-container-max-width: var(--theme-normal-container-max-width, min(1920px, calc(100vw - (var(--fcf-site-gutter, 0px) * 2))));
	--fcf-page-section-padding-top: clamp(28px, 4vh, 48px);
	--fcf-page-section-padding-bottom: clamp(56px, 8vh, 96px);
	--fcf-page-head-margin-bottom: clamp(28px, 4vh, 44px);

	/* Conteúdo institucional — escala unificada (contactos, listas, meta) */
	--fcf-content-label-size: 0.875rem;
	--fcf-content-label-line: 1.3;
	--fcf-content-label-sm-size: 0.8125rem;
	--fcf-content-text-size: 0.8125rem;
	--fcf-content-text-line: 1.55;
	--fcf-content-meta-size: 0.8125rem;
	--fcf-content-meta-line: 1.65;
	--fcf-content-link-size: 0.9375rem;
	--fcf-content-link-line: 1.2;
	--fcf-content-block-gap: clamp(14px, 2vh, 20px);
	--fcf-form-field-size: 1rem;
	--fcf-form-submit-size: 0.8125rem;
}

/* Secções full-bleed dentro do content do Blocksy */
.fcf-page-section {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

/* Templates custom — alinhar ao viewport como entry-content WP */
main.site-main > .fcf-page-section {
	margin-left: 0;
	margin-right: calc(100% - 100vw);
}

.ct-container.fcf-calendario__container,
.ct-container.fcf-standings__container {
	width: var(--fcf-page-container-width);
	max-width: var(--fcf-page-container-max-width);
	margin-inline: auto;
	padding-inline: 0;
	box-sizing: border-box;
}

/* Container partilhado — títulos alinhados entre páginas */
.fcf-page-container,
.ct-container.fcf-news-archive__container,
.ct-container.fcf-plantel__container,
.fcf-standings-page .is-width-constrained {
	width: var(--fcf-page-container-width);
	max-width: var(--fcf-page-container-max-width);
	margin-inline: auto;
	padding-inline: 0;
	box-sizing: border-box;
}

/* Cabeçalho de página — mesma margem inferior em todas as listagens */
.fcf-page-head,
.fcf-news-archive__head,
.fcf-plantel__head,
.fcf-calendario__head {
	margin-bottom: var(--fcf-page-head-margin-bottom);
}

body.has-fcf-standings .entry-content,
body.has-fcf-standings .entry-content.is-layout-constrained {
	max-width: none !important;
	width: 100% !important;
	margin-inline: 0 !important;
	padding-inline: 0 !important;
}

body.has-fcf-standings .entry-content.is-layout-constrained > .fcf-standings-page {
	max-width: none !important;
	width: 100% !important;
	margin-inline: 0 !important;
}

body.has-fcf-contactos .entry-content,
body.has-fcf-contactos .entry-content.is-layout-constrained {
	max-width: none !important;
	width: 100% !important;
	margin-inline: 0 !important;
	padding-inline: 0 !important;
}

body.has-fcf-news-archive .entry-content,
body.has-fcf-plantel .entry-content,
body.has-fcf-calendario .entry-content,
body.has-fcf-historia .entry-content,
body.has-fcf-standings .entry-content,
body.has-fcf-contactos .entry-content {
	padding-inline: 0 !important;
}

/* Páginas interiores — o main não deve restringir a largura do conteúdo FCF */
body.has-fcf-news-archive main.site-main,
body.has-fcf-plantel main.site-main,
body.has-fcf-calendario main.site-main,
body.has-fcf-historia main.site-main,
body.has-fcf-standings main.site-main,
body.has-fcf-jogador main.site-main,
body.has-fcf-contactos main.site-main {
	padding-inline: 0 !important;
	max-width: none !important;
}

body.has-fcf-news-archive main.site-main > .ct-container,
body.has-fcf-plantel main.site-main > .ct-container,
body.has-fcf-plantel main.site-main > .ct-container-full,
body.has-fcf-plantel main.site-main > .ct-container-narrow,
body.has-fcf-calendario main.site-main > .ct-container,
body.has-fcf-calendario main.site-main > .ct-container-full,
body.has-fcf-calendario main.site-main > .ct-container-narrow,
body.has-fcf-historia main.site-main > .ct-container,
body.has-fcf-historia main.site-main > .ct-container-full,
body.has-fcf-historia main.site-main > .ct-container-narrow,
body.has-fcf-standings main.site-main > .ct-container,
body.has-fcf-standings main.site-main > .ct-container-full,
body.has-fcf-standings main.site-main > .ct-container-narrow,
body.has-fcf-contactos main.site-main > .ct-container,
body.has-fcf-contactos main.site-main > .ct-container-full,
body.has-fcf-contactos main.site-main > .ct-container-narrow {
	width: 100% !important;
	max-width: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Títulos de páginas interiores — Notícias, Calendário, etc. */
.fcf-page-title {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	font-family: var(--fcf-font-display, "korolev-compressed", sans-serif) !important;
	font-size: var(--fcf-page-title-size) !important;
	font-weight: var(--fcf-page-title-weight) !important;
	line-height: var(--fcf-page-title-line) !important;
	letter-spacing: var(--fcf-page-title-spacing) !important;
	text-transform: uppercase;
}

/* Páginas interiores — títulos brancos sobre fundo escuro */
body:not(.home) .fcf-page-title:not(.fcf-page-banner__title),
body:not(.home) .entry-header .page-title,
body:not(.home) .hero-section .page-title,
body:not(.home) .hero-section h1,
body:not(.home) .hero-section .entry-title,
body:not(.home) main.site-main > .ct-container > .entry-header .page-title {
	color: #fff !important;
}

/* Links de secção — "Ver todas as notícias", "Ver todos os jogos", etc. */
.fcf-home-news__link,
.fcf-matches__block-link {
	flex-shrink: 0;
	max-width: var(--fcf-section-link-max-width);
	font-family: var(--fcf-font-display, "korolev-compressed", sans-serif);
	font-size: var(--fcf-section-link-size);
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-align: right;
	text-transform: uppercase;
	text-decoration: underline;
	text-underline-offset: 4px;
	text-decoration-thickness: 1.5px;
	transition: opacity 0.2s ease;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	font-size: var(--fcf-body-size);
}

img,
picture,
video {
	-webkit-user-drag: none;
	user-drag: none;
	-webkit-user-select: none;
	user-select: none;
	-moz-user-select: none;
	-webkit-touch-callout: none;
}

body,
button,
input,
select,
textarea {
	font-family: var(--fcf-font-body);
	font-weight: 400;
	letter-spacing: -0.01em;
}

h1,
h2,
h3,
h4,
h5,
h6,
.page-title,
.entry-header .page-title,
.hero-section .page-title,
.ct-post-title,
.ct-module-title,
.site-title {
	font-family: var(--fcf-font-display) !important;
	font-synthesis: none;
	letter-spacing: 0.01em !important;
}

h1,
.fcf-hero__title,
.entry-header .page-title,
.hero-section .page-title {
	font-size: var(--fcf-h1-size) !important;
	font-weight: var(--fcf-h1-weight) !important;
	line-height: var(--fcf-h1-line) !important;
	letter-spacing: var(--fcf-h1-spacing) !important;
	text-transform: uppercase;
}

h2,
.fcf-matches__block-title {
	font-size: var(--fcf-h2-size) !important;
	font-weight: var(--fcf-h2-weight) !important;
	line-height: var(--fcf-h2-line) !important;
	letter-spacing: var(--fcf-h2-spacing) !important;
	text-transform: uppercase;
}

h3 {
	font-size: var(--fcf-h3-size) !important;
	font-weight: var(--fcf-h3-weight) !important;
	line-height: var(--fcf-h3-line) !important;
	letter-spacing: var(--fcf-h3-spacing) !important;
}

h4 {
	font-size: var(--fcf-h4-size) !important;
	font-weight: var(--fcf-h4-weight) !important;
	line-height: var(--fcf-h4-line) !important;
	letter-spacing: var(--fcf-h4-spacing) !important;
}

h5 {
	font-size: var(--fcf-h5-size) !important;
	font-weight: var(--fcf-h5-weight) !important;
	line-height: var(--fcf-h5-line) !important;
	letter-spacing: var(--fcf-h5-spacing) !important;
}

h6 {
	font-size: var(--fcf-h6-size) !important;
	font-weight: var(--fcf-h6-weight) !important;
	line-height: var(--fcf-h6-line) !important;
	letter-spacing: var(--fcf-h6-spacing) !important;
}

h4,
h5,
h6,
.ct-post-title,
.ct-module-title,
.site-title {
	font-weight: 700 !important;
}

p {
	font-size: var(--fcf-body-size);
	line-height: var(--fcf-body-line);
}

a {
	font-size: inherit;
}

.entry-content,
.fcf-single-post__content,
.fcf-prose {
	font-size: var(--fcf-body-size);
	line-height: var(--fcf-body-line);
}

.entry-content p,
.entry-content li,
.fcf-single-post__content p,
.fcf-single-post__content li,
.fcf-prose p,
.fcf-prose li {
	font-size: var(--fcf-body-size);
	line-height: var(--fcf-body-line);
}

.entry-content a,
.fcf-single-post__content a,
.fcf-prose a {
	font-size: inherit;
}

.entry-header .page-title,
.hero-section .page-title {
	letter-spacing: var(--fcf-h1-spacing) !important;
}

@media (min-width: 2050px) {
	:root {
		--fcf-site-gutter: 0px;
	}
}

@media (max-width: 768px) {
	:root {
		--fcf-site-gutter: max(20px, 6vw);
		--fcf-body-size: 1.0625rem;
		--fcf-h1-size: clamp(2rem, 8.5vw, 2.75rem);
		--fcf-h2-size: clamp(1.75rem, 7vw, 2.25rem);
		--fcf-h3-size: clamp(1.375rem, 5.5vw, 1.75rem);
		--fcf-h4-size: clamp(1.125rem, 4.5vw, 1.25rem);
		--fcf-h5-size: clamp(1.0625rem, 3.8vw, 1.125rem);
		--fcf-content-label-size: 0.8125rem;
		--fcf-content-label-sm-size: 0.75rem;
		--fcf-content-text-size: 0.75rem;
		--fcf-content-text-line: 1.5;
		--fcf-content-meta-size: 0.6875rem;
		--fcf-content-meta-line: 1.55;
		--fcf-content-link-size: 0.8125rem;
		--fcf-form-field-size: 0.875rem;
		--fcf-form-submit-size: 0.75rem;
	}
}

.menu .ct-menu-link {
	font-family: var(--fcf-font-display) !important;
	font-weight: 500 !important;
	letter-spacing: 0.02em !important;
}

/* Header — menu desktop (Notícias, Calendário, submenus, etc.) */
#header .menu-container .ct-menu-link {
	font-family: var(--fcf-font-display, "korolev-compressed", sans-serif) !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	font-synthesis: none;
	letter-spacing: 0.05em !important;
	line-height: 1.15;
	text-transform: uppercase;
	color: #fff !important;
	text-shadow:
		0 1px 3px rgba(5, 30, 51, 0.65),
		0 2px 12px rgba(5, 30, 51, 0.5),
		0 0 18px rgba(5, 30, 51, 0.35);
	transition: color 0.2s ease;
}

#header .menu-container .sub-menu .ct-menu-link {
	font-size: 0.9375rem !important;
	font-weight: 700 !important;
	font-synthesis: none;
	letter-spacing: 0.05em !important;
	color: rgba(255, 255, 255, 0.92) !important;
	text-shadow:
		0 1px 3px rgba(5, 30, 51, 0.65),
		0 2px 10px rgba(5, 30, 51, 0.48),
		0 0 16px rgba(5, 30, 51, 0.32);
}

#header .menu-container .ct-menu-link:hover,
#header .menu-container .ct-menu-link:focus-visible,
#header .menu-container .sub-menu .ct-menu-link:hover,
#header .menu-container .sub-menu .ct-menu-link:focus-visible {
	color: #edca57 !important;
}

#header .menu-container .current-menu-item > .ct-menu-link,
#header .menu-container .current-menu-ancestor > .ct-menu-link,
#header .menu-container .current_page_item > .ct-menu-link,
#header .menu-container .current_page_ancestor > .ct-menu-link,
#header .menu-container .sub-menu .current-menu-item > .ct-menu-link,
#header .menu-container .sub-menu .current_page_item > .ct-menu-link {
	color: #edca57 !important;
}

@media (min-width: 1000px) {
	#header .menu-container .ct-menu-link {
		font-size: 1.125rem !important;
	}

	#header .menu-container .sub-menu .ct-menu-link {
		font-size: 1.0625rem !important;
	}

	/* Submenu colado ao item pai (evita gap da altura total da row do header) */
	#header .menu-container > .menu > li.menu-item-has-children {
		align-self: center;
	}

	#header .menu-container > .menu > li.menu-item-has-children > .ct-menu-link {
		height: auto;
	}

	#header .menu-container [class*='animated-submenu'] > .sub-menu {
		--dropdown-top-offset: 16px;
		--sticky-state-dropdown-top-offset: 16px;
		--dropdown-items-spacing: 12px;
		margin-top: 16px;
	}
}

.futmanager-club-panel__title,
.futmanager-destaque-nome,
.futmanager-jogador-nome {
	font-family: var(--fcf-font-display) !important;
	font-weight: 700 !important;
	letter-spacing: 0.01em !important;
}

/* Hero/banner colado ao topo — header fixo e transparente por cima (estado inicial via header.js) */
body.has-fcf-hero-under-header {
	--has-transparent-header: 1;
	padding-top: 0 !important;
}

body.has-fcf-hero-under-header #main-container {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

body.has-fcf-hero-under-header main.site-main {
	padding-top: 0 !important;
}

body.has-fcf-hero-under-header .entry-content {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

body.has-fcf-hero-under-header #header .ct-header-trigger,
body.has-fcf-hero-under-header #header .ct-header-trigger .ct-label {
	color: #fff !important;
}

body.has-fcf-hero-under-header #header .ct-header-trigger .ct-icon rect {
	fill: #fff;
}
