/* ==========================================================================
   CNISPORT Arena - skin per OceanWP
   Tutto è scoperto sotto body.cnis-arena: senza quella classe (variante
   "Disattivato" nel Customizer) il sito mantiene l'aspetto OceanWP originale.
   ========================================================================== */

body.cnis-arena {
	--cn-accent: #ff1a1a;
	--cn-accent-ink: #fff;
	/* Rosso più scuro dietro testo bianco (contrasto AA >= 4.5:1) */
	--cn-accent-bg: color-mix(in srgb, var(--cn-accent) 80%, #000);
	--cn-chrome: #0a0a0c;          /* header, footer, menu */
	--cn-chrome-2: #16161b;
	--cn-chrome-text: #f4f4f5;
	--cn-font-display: "Oswald", "Barlow Condensed", Impact, sans-serif;
	--cn-font-cond: "Barlow Condensed", "Oswald", sans-serif;
	--cn-font-body: "Barlow", "Titillium Web", system-ui, sans-serif;
	--cn-skew: -8deg;
	--cn-radius: 2px;
	--cn-ease: cubic-bezier(.2, .8, .2, 1);

	/* I blocchi colorati "rosso" dei contenuti seguono il colore d'accento */
	--wp--preset--color--vivid-red: var(--cn-accent-bg);
	/* Azzurro e grigio dei contenuti scuriti quanto basta per il testo bianco */
	--wp--preset--color--vivid-cyan-blue: #0567a8;
	--wp--preset--color--cyan-bluish-gray: #5d6b77;
}

body.cnis-arena--dark {
	--cn-bg: #0e0e11;
	--cn-surface: #18181d;
	--cn-surface-2: #222229;
	--cn-text: #ececef;
	--cn-muted: #9b9ba6;
	--cn-border: #2c2c34;
	--cn-heading: #fff;
	/* Rosso più chiaro per testo su fondo scuro */
	--cn-accent-text: color-mix(in srgb, var(--cn-accent) 72%, #fff);
}

body.cnis-arena--light {
	--cn-bg: #f3f3f1;
	--cn-surface: #fff;
	--cn-surface-2: #e9e9e6;
	--cn-text: #17171a;
	--cn-muted: #5e5e66;
	--cn-border: #dcdcd8;
	--cn-heading: #0a0a0c;
	--cn-accent-text: color-mix(in srgb, var(--cn-accent) 70%, #000);
}

/* --- Base --------------------------------------------------------------- */

html body.cnis-arena,
html body.cnis-arena #outer-wrap,
html body.cnis-arena #wrap,
html body.cnis-arena #main {
	background-color: var(--cn-bg);
}

html body.cnis-arena {
	color: var(--cn-text);
	font-family: var(--cn-font-body);
	font-size: 18px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.6;
}

body.cnis-arena ::selection {
	background: var(--cn-accent-bg);
	color: var(--cn-accent-ink);
}

body.cnis-arena a {
	color: var(--cn-accent-text);
	transition: color .2s var(--cn-ease);
}

body.cnis-arena a:hover {
	color: var(--cn-heading);
}

body.cnis-arena :focus-visible {
	outline: 3px solid var(--cn-accent);
	outline-offset: 2px;
}

html body.cnis-arena h1,
html body.cnis-arena h2,
html body.cnis-arena h3,
html body.cnis-arena h4,
html body.cnis-arena h5,
html body.cnis-arena h6,
html body.cnis-arena .entry-title,
html body.cnis-arena .page-header-title {
	color: var(--cn-heading);
	font-family: var(--cn-font-display);
	font-weight: 700;
	letter-spacing: .01em;
	line-height: 1.1;
	text-transform: uppercase;
}

html body.cnis-arena :is(.entry-content, .entry) h1,
html body.cnis-arena :is(.entry-content, .entry) h2 {
	position: relative;
	padding-left: .6em;
}

html body.cnis-arena :is(.entry-content, .entry) h1::before,
html body.cnis-arena :is(.entry-content, .entry) h2::before {
	content: "";
	position: absolute;
	left: 0;
	top: .12em;
	bottom: .12em;
	width: .22em;
	background: var(--cn-accent);
	transform: skewX(var(--cn-skew));
}

html body.cnis-arena :is(.entry-content, .entry) h1.has-text-align-center,
html body.cnis-arena :is(.entry-content, .entry) h2.has-text-align-center {
	padding-left: 0;
}

html body.cnis-arena :is(.entry-content, .entry) h1.has-text-align-center::before,
html body.cnis-arena :is(.entry-content, .entry) h2.has-text-align-center::before {
	display: none;
}

/* Blocchi con sfondo impostato nei contenuti ma senza colore testo:
   il testo resta leggibile in entrambe le varianti */
body.cnis-arena--dark :is(.entry-content, .entry) .has-background:not(.has-text-color):not(.wp-block-latest-posts) {
	color: #111;
}

/* --- Top bar ------------------------------------------------------------ */

body.cnis-arena #top-bar-wrap {
	background: var(--cn-accent-bg);
	border: 0;
	color: var(--cn-accent-ink);
}

body.cnis-arena #top-bar-wrap:has(#top-bar.has-no-content) {
	display: none;
}

/* --- Header ------------------------------------------------------------- */

html body.cnis-arena #site-header {
	position: sticky;
	top: 0;
	z-index: 999;
	background: var(--cn-chrome);
	border-bottom: 0;
	box-shadow: 0 3px 0 var(--cn-accent);
	transition: box-shadow .25s var(--cn-ease);
}

body.admin-bar.cnis-arena #site-header {
	top: 32px;
}

@media (max-width: 782px) {
	body.admin-bar.cnis-arena #site-header {
		top: 0;
	}
}

body.cnis-arena.cnis-scrolled #site-header {
	box-shadow: 0 3px 0 var(--cn-accent), 0 12px 30px rgba(0, 0, 0, .45);
}

html body.cnis-arena #site-logo a.site-logo-text,
html body.cnis-arena #site-logo a.site-title {
	position: relative;
	display: inline-block;
	padding-left: 22px;
	color: #fff !important; /* il tema padre stampa uno style inline sul logo */
	font-family: var(--cn-font-cond);
	font-size: 38px;
	font-style: italic;
	font-weight: 800;
	letter-spacing: .04em;
	line-height: 74px;
}

html body.cnis-arena #site-logo a.site-logo-text::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 10px;
	height: 34px;
	background: var(--cn-accent);
	transform: translateY(-50%) skewX(var(--cn-skew));
	box-shadow: 6px 0 0 -2px var(--cn-accent);
}

html body.cnis-arena #site-logo a.site-logo-text:hover {
	color: var(--cn-accent-text) !important;
}

/* Menu principale */
html body.cnis-arena #site-navigation-wrap .dropdown-menu > li > a {
	position: relative;
	color: var(--cn-chrome-text);
	font-family: var(--cn-font-cond);
	font-size: 19px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

html body.cnis-arena #site-navigation-wrap .dropdown-menu > li > a::after {
	content: "";
	position: absolute;
	left: 12px;
	right: 12px;
	bottom: 18px;
	height: 3px;
	background: var(--cn-accent);
	transform: scaleX(0) skewX(var(--cn-skew));
	transform-origin: left;
	transition: transform .25s var(--cn-ease);
}

html body.cnis-arena #site-navigation-wrap .dropdown-menu > li > a:hover,
html body.cnis-arena #site-navigation-wrap .dropdown-menu > .current-menu-item > a,
html body.cnis-arena #site-navigation-wrap .dropdown-menu > .current-menu-ancestor > a {
	color: #fff;
}

html body.cnis-arena #site-navigation-wrap .dropdown-menu > li > a:hover::after,
html body.cnis-arena #site-navigation-wrap .dropdown-menu > .current-menu-item > a::after,
html body.cnis-arena #site-navigation-wrap .dropdown-menu > .current-menu-ancestor > a::after {
	transform: scaleX(1) skewX(var(--cn-skew));
}

html body.cnis-arena #site-navigation-wrap .dropdown-menu > li > a .nav-arrow {
	color: var(--cn-accent-text);
}

/* Sottomenu */
html body.cnis-arena .dropdown-menu .sub-menu {
	background: var(--cn-chrome-2);
	border: 0;
	border-top: 3px solid var(--cn-accent);
	box-shadow: 0 18px 40px rgba(0, 0, 0, .5);
	min-width: 260px;
}

html body.cnis-arena .dropdown-menu ul li a.menu-link {
	color: #d6d6dc;
	border-color: rgba(255, 255, 255, .06);
	font-family: var(--cn-font-cond);
	font-size: 16px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	transition: background .2s var(--cn-ease), color .2s var(--cn-ease), padding .2s var(--cn-ease);
}

html body.cnis-arena .dropdown-menu ul li a.menu-link:hover,
html body.cnis-arena .dropdown-menu ul .current-menu-item > a.menu-link {
	background: var(--cn-accent-bg);
	color: var(--cn-accent-ink);
	padding-left: 24px;
}

html body.cnis-arena .dropdown-menu ul li a.menu-link .nav-arrow {
	color: inherit;
}

/* Ricerca nell'header */
html body.cnis-arena .search-toggle-li a {
	color: var(--cn-chrome-text);
}

html body.cnis-arena #searchform-dropdown {
	background: var(--cn-chrome-2);
	border-top: 3px solid var(--cn-accent);
}

html body.cnis-arena #searchform-dropdown input {
	background: var(--cn-chrome);
	border-color: #33333b;
	color: #fff;
}

/* Menu mobile */
html body.cnis-arena .oceanwp-mobile-menu-icon a {
	color: #fff;
	font-family: var(--cn-font-cond);
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

html body.cnis-arena .oceanwp-mobile-menu-icon a:hover {
	color: var(--cn-accent-text);
}

html body.cnis-arena #mobile-dropdown {
	background: var(--cn-chrome-2);
	border-top: 3px solid var(--cn-accent);
}

html body.cnis-arena #mobile-dropdown ul li a {
	color: #e6e6ea;
	border-color: rgba(255, 255, 255, .07);
	font-family: var(--cn-font-cond);
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

html body.cnis-arena #mobile-dropdown ul li a:hover,
html body.cnis-arena #mobile-dropdown .current-menu-item > a {
	color: var(--cn-accent-text);
}

html body.cnis-arena #mobile-dropdown .dropdown-toggle,
html body.cnis-arena #mobile-dropdown ul .dropdown-toggle {
	color: #fff;
	border-color: rgba(255, 255, 255, .1);
}

/* --- Intestazione pagina e breadcrumb ----------------------------------- */

html body.cnis-arena .page-header {
	background:
		linear-gradient(115deg, var(--cn-chrome) 0 62%, var(--cn-accent) 62% 63.5%, var(--cn-chrome-2) 63.5% 100%);
	border: 0;
	padding: 22px 0;
}

html body.cnis-arena .site-breadcrumbs,
html body.cnis-arena .site-breadcrumbs a {
	color: #b7b7c0;
	font-family: var(--cn-font-cond);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

html body.cnis-arena .site-breadcrumbs a:hover {
	color: var(--cn-accent-text);
}

html body.cnis-arena .site-breadcrumbs .trail-end,
html body.cnis-arena .site-breadcrumbs .breadcrumb-trail > *:last-child {
	color: #fff;
}

/* --- Contenuti ---------------------------------------------------------- */

html body.cnis-arena .entry-content,
html body.cnis-arena :is(.entry-content, .entry) p,
html body.cnis-arena :is(.entry-content, .entry) li {
	color: inherit;
}

html body.cnis-arena :is(.entry-content, .entry) p.has-background {
	font-family: var(--cn-font-cond);
	font-weight: 700;
	letter-spacing: .08em;
	padding: .45em 1em;
}

/* Bottoni (blocchi Gutenberg / Spectra / form) */
html body.cnis-arena .wp-block-button__link,
html body.cnis-arena .wp-element-button,
html body.cnis-arena .uagb-button__link,
html body.cnis-arena input[type="submit"],
html body.cnis-arena button[type="submit"],
html body.cnis-arena .theme-button {
	position: relative;
	overflow: hidden;
	border: 0;
	border-radius: var(--cn-radius);
	clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
	font-family: var(--cn-font-cond);
	font-weight: 800;
	letter-spacing: .1em;
	padding: .8em 1.8em;
	text-transform: uppercase;
	transition: transform .2s var(--cn-ease), filter .2s var(--cn-ease);
}

html body.cnis-arena .wp-block-button__link:not(.has-background),
html body.cnis-arena input[type="submit"],
html body.cnis-arena button[type="submit"],
html body.cnis-arena .theme-button {
	background-color: var(--cn-accent-bg);
	color: var(--cn-accent-ink);
}

html body.cnis-arena .wp-block-button__link::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg, transparent 30%, rgba(255, 255, 255, .28) 50%, transparent 70%);
	transform: translateX(-120%);
	transition: transform .5s var(--cn-ease);
}

html body.cnis-arena .wp-block-button__link:hover,
html body.cnis-arena .wp-element-button:hover,
html body.cnis-arena input[type="submit"]:hover,
html body.cnis-arena button[type="submit"]:hover {
	color: #fff;
	filter: brightness(1.12) saturate(1.1);
	transform: translateY(-3px);
}

html body.cnis-arena .wp-block-button__link:hover::after {
	transform: translateX(120%);
}

html body.cnis-arena .wp-block-buttons .wp-block-button {
	width: 100%;
}

html body.cnis-arena .wp-block-buttons .wp-block-button__link {
	display: block;
	width: 100%;
}

html body.cnis-arena .wp-block-button.is-style-outline .wp-block-button__link {
	box-shadow: inset 0 0 0 2px currentColor;
	background: transparent;
}

/* Separatori */
html body.cnis-arena .wp-block-separator {
	border: 0;
	height: 4px;
	max-width: none;
	background: linear-gradient(90deg, var(--cn-accent) 0 120px, var(--cn-border) 120px) !important;
	opacity: 1;
	transform: skewX(var(--cn-skew));
}

html body.cnis-arena .wp-block-separator.is-style-dots {
	height: auto;
	background: none !important;
	transform: none;
}

html body.cnis-arena .wp-block-separator.is-style-dots::before {
	color: var(--cn-accent-text);
	font-size: 28px;
	letter-spacing: 1.4em;
}

/* Cover / immagini */
html body.cnis-arena .wp-block-cover {
	overflow: hidden;
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%);
}

html body.cnis-arena .wp-block-cover::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, .1) 30%, rgba(0, 0, 0, .75));
	pointer-events: none;
}

html body.cnis-arena .wp-block-cover__inner-container {
	z-index: 2;
}

html body.cnis-arena .wp-block-cover__image-background {
	transition: transform 1.2s var(--cn-ease);
}

html body.cnis-arena .wp-block-cover:hover .wp-block-cover__image-background {
	transform: scale(1.06);
}

html body.cnis-arena .wp-block-cover p,
html body.cnis-arena .wp-block-cover a {
	font-family: var(--cn-font-display);
	font-weight: 700;
	text-shadow: 0 3px 18px rgba(0, 0, 0, .55);
	text-transform: uppercase;
}

html body.cnis-arena .wp-block-cover a:hover {
	color: var(--cn-accent-text) !important;
}

html body.cnis-arena .wp-block-image img {
	border-radius: var(--cn-radius);
}

/* Ultimi articoli (blocco) */
html body.cnis-arena .wp-block-latest-posts.has-background {
	background: transparent !important; /* sovrascrive lo sfondo inline del blocco */
	padding: 0;
}

html body.cnis-arena .wp-block-latest-posts.is-grid {
	gap: 20px;
}

html body.cnis-arena .wp-block-latest-posts.is-grid li {
	margin: 0;
}

html body.cnis-arena .wp-block-latest-posts li {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: var(--cn-surface);
	border: 1px solid var(--cn-border);
	border-top: 4px solid var(--cn-border);
	padding: 0 0 18px;
	transition: transform .25s var(--cn-ease), border-color .25s var(--cn-ease), box-shadow .25s var(--cn-ease);
}

html body.cnis-arena .wp-block-latest-posts li:hover {
	border-top-color: var(--cn-accent);
	box-shadow: 0 18px 40px rgba(0, 0, 0, .35);
	transform: translateY(-6px);
}

html body.cnis-arena .wp-block-latest-posts__featured-image {
	overflow: hidden;
	margin: 0 0 14px;
}

html body.cnis-arena .wp-block-latest-posts__featured-image img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	transition: transform .6s var(--cn-ease);
}

html body.cnis-arena .wp-block-latest-posts li:hover .wp-block-latest-posts__featured-image img {
	transform: scale(1.07);
}

html body.cnis-arena .wp-block-latest-posts__post-title {
	display: block;
	padding: 0 18px;
	color: var(--cn-heading);
	font-family: var(--cn-font-cond);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
}

html body.cnis-arena .wp-block-latest-posts__post-title:hover {
	color: var(--cn-accent-text);
}

html body.cnis-arena .wp-block-latest-posts__post-date {
	order: -1;
	align-self: flex-start;
	margin: 0 18px 10px;
	padding: 2px 10px;
	background: var(--cn-accent-bg);
	color: var(--cn-accent-ink);
	font-family: var(--cn-font-cond);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	transform: skewX(var(--cn-skew));
}

html body.cnis-arena .wp-block-latest-posts__featured-image + .wp-block-latest-posts__post-title + .wp-block-latest-posts__post-date,
html body.cnis-arena .wp-block-latest-posts__featured-image ~ .wp-block-latest-posts__post-date {
	order: 0;
	margin-top: 10px;
}

html body.cnis-arena .wp-block-latest-posts__post-excerpt {
	padding: 0 18px;
	color: var(--cn-muted);
	font-size: 15px;
}

html body.cnis-arena .wp-block-latest-posts__read-more {
	font-family: var(--cn-font-cond);
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

/* Tabelle (core, TablePress, Ninja Tables) */
html body.cnis-arena :is(.entry-content, .entry) table {
	border-collapse: collapse;
	border: 0;
	background: var(--cn-surface);
	color: var(--cn-text);
	font-size: 16px;
}

html body.cnis-arena :is(.entry-content, .entry) table th,
html body.cnis-arena :is(.entry-content, .entry) table thead td {
	background: var(--cn-chrome) !important;
	color: #fff !important;
	border: 0;
	border-bottom: 3px solid var(--cn-accent);
	font-family: var(--cn-font-cond);
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

html body.cnis-arena :is(.entry-content, .entry) table td {
	border: 0;
	border-bottom: 1px solid var(--cn-border);
	background: transparent;
	color: inherit;
}

html body.cnis-arena :is(.entry-content, .entry) table tbody tr:nth-child(even) td {
	background: var(--cn-surface-2);
}

html body.cnis-arena :is(.entry-content, .entry) table tbody tr:hover td {
	background: color-mix(in srgb, var(--cn-accent) 14%, transparent);
}

/* Citazioni */
html body.cnis-arena blockquote,
html body.cnis-arena .wp-block-quote {
	border-left: 6px solid var(--cn-accent);
	background: var(--cn-surface);
	color: var(--cn-text);
	font-family: var(--cn-font-cond);
	font-size: 1.25em;
	font-style: italic;
	padding: 20px 28px;
}

/* Form */
html body.cnis-arena input[type="text"],
html body.cnis-arena input[type="email"],
html body.cnis-arena input[type="search"],
html body.cnis-arena input[type="url"],
html body.cnis-arena input[type="tel"],
html body.cnis-arena input[type="password"],
html body.cnis-arena textarea,
html body.cnis-arena select {
	background: var(--cn-surface);
	border: 1px solid var(--cn-border);
	border-radius: var(--cn-radius);
	color: var(--cn-text);
}

html body.cnis-arena input:focus,
html body.cnis-arena textarea:focus,
html body.cnis-arena select:focus {
	border-color: var(--cn-accent);
}

/* --- Blog / archivi / articolo ----------------------------------------- */

html body.cnis-arena .blog-entry.grid-entry .blog-entry-inner,
html body.cnis-arena .blog-entry.post .blog-entry-inner {
	background: var(--cn-surface);
	border: 1px solid var(--cn-border);
	border-top: 4px solid var(--cn-border);
	transition: transform .25s var(--cn-ease), border-color .25s var(--cn-ease);
}

html body.cnis-arena .blog-entry.grid-entry .blog-entry-inner:hover {
	border-top-color: var(--cn-accent);
	transform: translateY(-5px);
}

html body.cnis-arena .blog-entry-header .entry-title a,
html body.cnis-arena .single-post .entry-title {
	color: var(--cn-heading);
	font-family: var(--cn-font-cond);
	font-weight: 700;
	text-transform: uppercase;
}

html body.cnis-arena .blog-entry-header .entry-title a:hover {
	color: var(--cn-accent-text);
}

html body.cnis-arena ul.meta,
html body.cnis-arena ul.meta li a,
html body.cnis-arena ul.meta li {
	color: var(--cn-muted);
	font-family: var(--cn-font-cond);
	letter-spacing: .06em;
	text-transform: uppercase;
}

html body.cnis-arena ul.meta li i {
	color: var(--cn-accent-text);
}

html body.cnis-arena .thumbnail img {
	transition: transform .6s var(--cn-ease);
}

html body.cnis-arena .thumbnail:hover img {
	transform: scale(1.05);
}

html body.cnis-arena .post-tags a,
html body.cnis-arena .tagcloud a {
	background: var(--cn-surface-2);
	border: 0;
	color: var(--cn-text);
	font-family: var(--cn-font-cond);
	font-weight: 700;
	text-transform: uppercase;
}

html body.cnis-arena .post-tags a:hover,
html body.cnis-arena .tagcloud a:hover {
	background: var(--cn-accent-bg);
	color: var(--cn-accent-ink);
}

html body.cnis-arena .oceanwp-pagination ul li a,
html body.cnis-arena .page-numbers a,
html body.cnis-arena .page-numbers span:not(.elementor-screen-only),
html body.cnis-arena .post-navigation .nav-links a,
html body.cnis-arena .page-links span {
	background: var(--cn-surface);
	border-color: var(--cn-border);
	color: var(--cn-text);
	font-family: var(--cn-font-cond);
	font-weight: 700;
	text-transform: uppercase;
}

html body.cnis-arena .page-numbers .current,
html body.cnis-arena .oceanwp-pagination ul li a:hover,
html body.cnis-arena .page-numbers a:hover,
html body.cnis-arena .post-navigation .nav-links a:hover {
	background: var(--cn-accent-bg);
	border-color: var(--cn-accent);
	color: var(--cn-accent-ink);
}

html body.cnis-arena #author-bio,
html body.cnis-arena #related-posts,
html body.cnis-arena .comments-area,
html body.cnis-arena .post-navigation,
html body.cnis-arena .entry-share {
	border-color: var(--cn-border);
	color: var(--cn-text);
}

html body.cnis-arena .theme-heading,
html body.cnis-arena .widget-title,
html body.cnis-arena .sidebar-box .widget-title {
	border-color: var(--cn-accent);
	color: var(--cn-heading);
	font-family: var(--cn-font-cond);
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

html body.cnis-arena .widget-area,
html body.cnis-arena .widget-area a {
	color: var(--cn-text);
}

html body.cnis-arena .widget-area a:hover {
	color: var(--cn-accent-text);
}

/* --- Footer ------------------------------------------------------------- */

html body.cnis-arena #footer-widgets {
	background: var(--cn-chrome-2);
	color: #c7c7cf;
	border-top: 4px solid var(--cn-accent);
}

html body.cnis-arena #footer-widgets:not(:has(.footer-box > *)) {
	display: none;
}

html body.cnis-arena #footer-widgets a {
	color: #e8e8ec;
}

html body.cnis-arena #footer-widgets a:hover {
	color: var(--cn-accent-text);
}

html body.cnis-arena #footer-bottom {
	position: relative;
	background: var(--cn-chrome);
	color: #8f8f99;
	font-family: var(--cn-font-cond);
	letter-spacing: .08em;
	padding: 28px 0;
	text-transform: uppercase;
}

html body.cnis-arena #footer-bottom::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 4px;
	background: linear-gradient(90deg, var(--cn-accent) 0 35%, transparent 35% 36%, var(--cn-accent) 36% 37%, transparent 37%);
}

html body.cnis-arena #footer-bottom #copyright {
	font-weight: 600;
	font-size: 14px;
}

html body.cnis-arena #footer-bottom #footer-bottom-menu a {
	color: #e3e3e8;
	font-size: 14px;
	font-weight: 700;
}

html body.cnis-arena #footer-bottom #footer-bottom-menu a:hover {
	color: var(--cn-accent-text);
}

/* Torna su */
html body.cnis-arena #scroll-top {
	background: var(--cn-accent-bg);
	border-radius: 0;
	clip-path: polygon(6px 0, 100% 0, calc(100% - 6px) 100%, 0 100%);
	color: var(--cn-accent-ink);
}

html body.cnis-arena #scroll-top:hover {
	background: var(--cn-chrome);
}

/* --- Home (template Landing) ------------------------------------------- */

html body.cnis-arena.landing-page #content-wrap {
	padding-top: 0;
}

/* Hero: fascia bianca a tutta larghezza attorno al logo */
html body.cnis-arena.landing-page .entry-content > .wp-block-image.alignwide:first-child {
	position: relative;
	margin-top: 0;
	padding: 24px 0;
	background: #fff;
	box-shadow: 0 0 0 100vmax #fff;
	clip-path: inset(0 -100vmax);
}

html body.cnis-arena.landing-page .entry-content > .wp-block-image.alignwide:first-child::after {
	content: "";
	position: absolute;
	left: -100vmax;
	right: -100vmax;
	bottom: 0;
	height: 6px;
	background: var(--cn-accent);
}

html body.cnis-arena.landing-page .entry-content > .wp-block-image.alignwide img {
	width: 100%;
}

html body.cnis-arena.landing-page .entry-content > p.has-background:first-of-type {
	margin-top: -6px;
	margin-left: auto;
	width: max-content;
	max-width: 100%;
	clip-path: polygon(14px 0, 100% 0, 100% 100%, 0 100%);
	padding-left: 28px;
}

/* Entrata animata dei blocchi (solo se l'utente non ha chiesto meno movimento) */
@media (prefers-reduced-motion: no-preference) {
	body.cnis-arena .cnis-reveal {
		opacity: 0;
		transform: translateY(24px);
		transition: opacity .6s var(--cn-ease), transform .6s var(--cn-ease);
	}

	body.cnis-arena .cnis-reveal.is-visible {
		opacity: 1;
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.cnis-arena *,
	body.cnis-arena *::before,
	body.cnis-arena *::after {
		transition: none !important;
	}
}

/* --- Responsive --------------------------------------------------------- */

@media (max-width: 959px) {
	html body.cnis-arena #site-logo a.site-logo-text {
		font-size: 30px;
		line-height: 64px;
	}

	html body.cnis-arena .wp-block-latest-posts.is-grid li {
		width: 100%;
	}
}

@media (max-width: 600px) {
	html body.cnis-arena {
		font-size: 16px;
	}

	html body.cnis-arena :is(.entry-content, .entry) h1 {
		font-size: 30px;
	}

	html body.cnis-arena .wp-block-cover p.has-x-large-font-size {
		font-size: 30px !important;
	}
}

/* --- Rispetto dei colori scelti nei contenuti --------------------------- */

/* Link con colore impostato nell'editor (has-link-color): vince il contenuto */
html body.cnis-arena :is(.entry-content, .entry) .has-link-color a {
	color: inherit;
}

/* Link dentro blocchi con sfondo colorato: stesso colore del testo del blocco */
html body.cnis-arena :is(.entry-content, .entry) .has-background:not(.has-link-color):not(.wp-block-latest-posts) a:not(.wp-block-button__link):not(.wp-block-file__button) {
	color: inherit;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

html body.cnis-arena :is(.entry-content, .entry) .has-background:not(.has-link-color):not(.wp-block-latest-posts) a:not(.wp-block-button__link):not(.wp-block-file__button):hover {
	text-decoration-color: var(--cn-accent);
}

/* Ultimi articoli: griglia a card */
html body.cnis-arena .wp-block-latest-posts.is-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

html body.cnis-arena .wp-block-latest-posts.is-grid li {
	width: auto !important;
}

html body.cnis-arena .wp-block-latest-posts.aligncenter .wp-block-latest-posts__post-date {
	align-self: center;
}

/* Evita lo scroll orizzontale su mobile causato dai blocchi a tutta larghezza */
html body.cnis-arena #outer-wrap {
	overflow-x: clip;
}

/* --- Leggibilità: tabelle ------------------------------------------------
   Lo stile "a strisce" di WordPress colora le righe di grigio chiaro (#f0f0f0):
   le sostituiamo con i colori della skin, così il testo resta sempre leggibile. */
html body.cnis-arena :is(.entry-content, .entry) table tr {
	background: transparent !important;
}

html body.cnis-arena :is(.entry-content, .entry) table td {
	background: var(--cn-surface);
	color: var(--cn-text);
}

html body.cnis-arena :is(.entry-content, .entry) table tbody tr:nth-child(even) td {
	background: var(--cn-surface-2);
}

html body.cnis-arena :is(.entry-content, .entry) table tbody tr:hover td {
	background: color-mix(in srgb, var(--cn-accent) 14%, var(--cn-surface));
}

html body.cnis-arena :is(.entry-content, .entry) table td a {
	color: var(--cn-accent-text);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

html body.cnis-arena :is(.entry-content, .entry) table td strong {
	color: var(--cn-heading);
}

html body.cnis-arena .wp-block-table.is-style-stripes {
	border-bottom: 0;
}

html body.cnis-arena .wp-block-table figcaption,
html body.cnis-arena figcaption,
html body.cnis-arena .wp-element-caption {
	color: var(--cn-muted);
}

/* --- Leggibilità: blocchi con sfondo chiaro scelto nell'editor ---------- */
body.cnis-arena--dark :is(.entry-content, .entry) .has-background:not(.has-text-color):not(.wp-block-latest-posts) :is(h1, h2, h3, h4, h5, h6) {
	color: inherit;
}

/* --- Leggibilità: bottoni file, ricerca e 404 --------------------------- */
html body.cnis-arena .wp-block-file__button,
html body.cnis-arena a.button,
html body.cnis-arena .error-btn,
html body.cnis-arena .wp-block-search__button {
	background: var(--cn-accent-bg);
	color: var(--cn-accent-ink);
}

html body.cnis-arena .wp-block-file__button:hover,
html body.cnis-arena a.button:hover,
html body.cnis-arena .error-btn:hover,
html body.cnis-arena .wp-block-search__button:hover {
	color: var(--cn-accent-ink);
}

/* Blocchi su sfondo rosso/azzurro/grigio senza colore testo impostato: testo bianco */
html body.cnis-arena :is(.entry-content, .entry) :is(.has-vivid-red-background-color, .has-vivid-cyan-blue-background-color, .has-cyan-bluish-gray-background-color):not(.has-text-color) {
	color: #fff !important;
}

/* Bottoni con sfondo chiaro scelto nell'editor e senza colore testo: testo scuro */
html body.cnis-arena .wp-block-button__link.has-background:not(.has-text-color) {
	color: #111;
}
