:root {
	--cs-desktop-container: 1140px !important;
	--cs-thumbnail-border-radius: 12px !important;
}
.cs-container {
	max-width: 1140px !important;
	margin: 0 auto !important;
	float: none !important;
	display: block !important;
}
/* Centriamo anche il wrapper principale se necessario */
.cs-site, .cs-site-inner, .cs-wrapper {
	display: block;
	width: 100%;
}
/* Evitiamo che l'header venga schiacciato se deve essere full-width */
header .cs-container, .cs-header .cs-container {
	max-width: 1140px !important;
	margin: 0 auto !important;
}
/* Gronda fra colonna contenuto e sidebar (06/08/2026).
   Conseguenza diretta del 1140px qui sopra. Il tema costruisce .cs-main-content
   come griglia `var(--cs-entry-content-width) 300px` e non dichiara nessun
   column-gap: la gronda gliela fa `justify-content: space-between`, cioe' lo
   spazio che avanza. Con il container a 1140px lo spazio interno e' 1092px e le
   due colonne ne chiedono 1121 (821 + 300): ne avanza -29. Da qui le due cose
   viste sulle pagine categoria, l'articolo in evidenza incollato al banner
   pubblicitario e la colonna destra che sborda di 29px oltre il bordo
   dell'header. La colonna contenuto passa da 821px fissi a quel che resta
   (744px) e la gronda e' 48px, come il row-gap del tema.
   Vale solo dove c'e' la sidebar: la home non ha questa griglia e gli articoli
   singoli sono a colonna unica. Niente !important, la regola del tema ha la
   stessa specificita' e questo foglio viene dopo. */
@media (min-width: 1200px) {
	.cs-sidebar-right .cs-main-content {
		grid-template-columns: minmax(0, 1fr) 300px;
		column-gap: 48px;
	}
}
.cs-entry__thumbnail, 
.cs-entry__thumbnail img,
.cs-entry__outer,
.cs-entry__overlay {
	border-radius: 12px !important;
}
/* Hero Grid Hover Effects */
.cs-home-hero__grid .cs-entry__outer:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 20px rgba(0,0,0,0.15);
	transition: all 0.3s ease;
}
/* Author Bar Style Modern - Minimalist Card */
.cs-entry__author-bar {
	display: inline-flex;
	align-items: center;
	background: #ffffff;
	padding: 15px 22px;
	border-radius: 16px;
	margin: 35px 0;
	border: 1px solid #f2f2f2;
	box-shadow: 0 15px 35px rgba(0,0,0,0.04);
	font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
/* Protezione contro le pubblicità e badge iniettati */
.cs-entry__author-bar ins,
.cs-entry__author-bar iframe,
.cs-entry__author-bar .adsbygoogle,
.cs-entry__author-bar script,
.cs-entry__author-bar .cs-entry__category,
.cs-entry__author-bar .cs-entry__post-category,
.cs-entry__author-bar [class*="category"] {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	width: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}
.cs-entry__author-avatar img {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	margin-right: 20px;
	object-fit: cover;
	transition: transform 0.3s ease;
}
.cs-entry__author-bar:hover .cs-entry__author-avatar img {
	transform: scale(1.05);
}
.cs-entry__author-info {
	display: flex;
	flex-direction: column;
}
.cs-entry__show-mobile {
	display: none;
}
.cs-entry__author-name {
	font-weight: 700;
	font-size: 1.15rem;
	color: #111;
	line-height: 1.1;
	margin-bottom: 5px;
	letter-spacing: -0.01em;
	display: flex;
	align-items: center;
}
.cs-entry__author-verified {
	display: inline-flex;
	width: 18px;
	height: 18px;
	background-color: #0095f6; /* Blu Instagram */
	border-radius: 50%;
	margin-left: 8px;
	position: relative;
	flex-shrink: 0;
}
.cs-entry__author-verified::after {
	content: "";
	position: absolute;
	left: 6px;
	top: 3px;
	width: 5px;
	height: 9px;
	border: solid white;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.cs-entry__author-meta-bottom {
	display: flex;
	align-items: center;
	font-size: 0.8rem;
	color: #888;
	font-weight: 500;
}
.cs-entry__author-views {
	color: #8a2be2; /* Viola vibrante del sito */
	font-weight: 700;
}
.cs-entry__meta-sep {
	margin: 0 8px;
	color: #ddd;
}
/* Logo with Favicon Style */
.cs-logo {
	display: flex !important;
	align-items: center !important;
	gap: 0;
}
.cs-header__logo {
	display: inline-flex !important;
	align-items: center !important;
	flex-wrap: nowrap !important;
}
.cs-logo-favicon {
	display: inline-block !important;
	flex: 0 0 auto !important;
}
/* Logo Text Color & Gradient Reversed */
.cs-header__logo, 
.cs-header__logo:hover,
.cs-footer__logo,
.cs-footer__logo:hover {
	background: linear-gradient(90deg, #4604A6 0%, #000000 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent !important;
	text-decoration: none !important;
	letter-spacing: -0.04em !important;
	font-weight: 900 !important;
	display: inline-flex !important;
	align-items: center !important;
	padding-right: 25px !important;
	margin-right: -15px !important;
	overflow: visible !important;
	white-space: nowrap !important;
}
/* Mobile Optimization */
@media (max-width: 576px) {
	.cs-entry__author-bar {
		padding: 10px 15px;
		width: 100%;
		box-sizing: border-box;
		border-radius: 12px;
	}
	.cs-entry__author-avatar img {
		width: 45px;
		height: 45px;
		margin-right: 12px;
	}
	.cs-entry__author-name {
		font-size: 0.95rem;
	}
	.cs-entry__author-meta-bottom {
		font-size: 0.75rem;
		flex-wrap: nowrap;
		gap: 4px;
	}
	.cs-entry__hide-mobile {
		display: none;
	}
	.cs-entry__show-mobile {
		display: inline;
	}
	.cs-entry__meta-sep {
		display: inline;
		margin: 0 4px;
	}
	.cs-entry__author-views {
		width: auto;
		margin-top: 0;
	}
	.cs-entry__author-views::before {
		display: none;
	}
}

/* Authority Grid Footer Styles */
.cs-footer-authority {
	padding: 80px 0 40px !important;
	background: #1a1a1a !important;
	color: #ffffff !important;
	display: block !important;
}
[data-scheme=dark] .cs-footer-authority {
	background: #000000 !important;
}
.cs-footer-authority .cs-footer__grid {
	display: grid !important;
	grid-template-columns: 1.5fr 1fr 1fr 1.2fr !important;
	gap: 50px !important;
	margin-bottom: 60px !important;
}
.cs-footer-authority .cs-footer__label {
	font-size: 0.75rem !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.15em !important;
	color: #8a2be2 !important;
	margin-bottom: 25px !important;
	display: block !important;
}
/* Branding */
.cs-footer-authority .cs-footer__logo,
.cs-footer-authority .cs-footer__logo:hover {
	background: linear-gradient(90deg, #8a2be2 0%, #ffffff 100%) !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	background-clip: text !important;
	color: transparent !important;
	font-size: 2rem !important;
	margin-bottom: 20px !important;
	display: inline-flex !important;
}
.cs-footer-authority .cs-social-links {
	justify-content: flex-start !important;
	gap: 15px !important;
}
/* Menus Fix Overlap */
.cs-footer-authority .cs-footer-columns__nav-menu,
.cs-footer-authority .widget_nav_menu,
.cs-footer-authority ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: block !important;
	float: none !important;
}
.cs-footer-authority ul li {
	display: block !important;
	position: static !important;
	float: none !important;
	margin: 0 0 12px 0 !important;
	padding: 0 !important;
	height: auto !important;
	width: auto !important;
	line-height: 1.5 !important;
	text-align: left !important;
}
.cs-footer-authority ul li a {
	display: inline-block !important;
	color: #fff !important;
	font-size: 0.9rem !important;
	text-decoration: none !important;
	transition: color 0.3s !important;
	white-space: normal !important;
}
.cs-footer-authority ul li a:hover {
	color: #8a2be2 !important;
}
/* Extra Area */
.cs-footer-authority .cs-footer__extra-text {
	font-size: 0.85rem !important;
	color: #888 !important;
	margin-bottom: 20px !important;
}
.cs-footer-authority .cs-footer__scheme-button {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	background: rgba(255,255,255,0.05) !important;
	padding: 10px 15px !important;
	border-radius: 8px !important;
	cursor: pointer !important;
	font-size: 0.8rem !important;
	font-weight: 700 !important;
	transition: background 0.3s !important;
}
.cs-footer-authority .cs-footer__scheme-button:hover {
	background: rgba(255,255,255,0.1) !important;
}
/* Bottom Bar */
.cs-footer-authority .cs-footer__bottom-bar {
	padding-top: 30px !important;
	border-top: 1px solid rgba(255,255,255,0.05) !important;
	text-align: center !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
}
.cs-footer-authority .cs-footer__bottom-bar .cs-footer__description {
	font-size: 0.65rem !important;
	line-height: 1.2 !important;
	color: #ffffff !important;
	margin: 15px auto 0 !important;
	max-width: 900px !important;
	text-align: center !important;
	opacity: 0.7 !important;
}
.cs-footer-authority .cs-footer__copyright {
	font-size: 0.75rem !important;
	color: #666 !important;
}
@media (max-width: 1024px) {
	.cs-footer-authority .cs-footer__grid {
		grid-template-columns: 1fr 1fr !important;
		gap: 40px !important;
	}
}
@media (max-width: 600px) {
	.cs-footer-authority .cs-footer__grid {
		grid-template-columns: 1fr !important;
	}
}

/* Fix link color when bolded */
.entry-content a strong,
.entry-content a b {
	color: inherit !important;
}

/* Subcategories in Archive Pages - New Specific Classes
   Rifatte il 06/08/2026: variante "filo". Prima erano maiuscolo 11px, angoli
   6px e sfumatura viola su #8a2be2, che e' il "blueviolet" dei nomi CSS e non
   l'accento del tema (#7300e0): due viola diversi nella stessa pagina, e angoli
   arrotondati dove il tema ha raggio 0 ovunque. Ora il colore in riposo non c'e'
   e l'accento compare solo sulla voce puntata.
   I colori vengono dalle variabili del tema, non riscritti a mano: cosi' il tema
   scuro si regola da solo (--cs-color-primary passa a #FFFFFF e --cs-color-border
   a #343434 sotto [data-scheme=dark]) e l'unica regola scura che serve e' l'hover,
   perche' li' l'accento del tema e' il bianco e sarebbe testo bianco su bianco. */
.wb-subcategories-badges {
	margin: 25px 0 35px 0 !important;
	padding: 0 !important;
	display: block !important;
	width: 100% !important;
	clear: both !important;
}
ul.wb-subcategories-list {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	list-style: none !important;
	list-style-type: none !important;
	padding: 0 !important;
	margin: 0 !important;
	background: none !important;
}
li.wb-subcategory-item {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	list-style-type: none !important;
	background: none !important;
}
li.wb-subcategory-item::before,
li.wb-subcategory-item::after {
	content: none !important;
	display: none !important;
}
li.wb-subcategory-item a {
	display: inline-block !important;
	padding: 7px 14px !important;
	background: transparent !important;
	color: var(--cs-color-primary, #000000) !important;
	border: 1px solid var(--cs-color-border, #D3D3D3) !important;
	border-radius: 0 !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease !important;
}
li.wb-subcategory-item a:hover,
li.wb-subcategory-item a:focus-visible {
	background: var(--cs-color-accent, #7300e0) !important;
	border-color: var(--cs-color-accent, #7300e0) !important;
	color: #ffffff !important;
}
li.wb-subcategory-item a:focus-visible {
	outline: 2px solid var(--cs-color-accent, #7300e0) !important;
	outline-offset: 2px !important;
}
[data-scheme=dark] li.wb-subcategory-item a:hover,
[data-scheme=dark] li.wb-subcategory-item a:focus-visible {
	background: #ffffff !important;
	border-color: #ffffff !important;
	color: #000000 !important;
}
@media (prefers-reduced-motion: reduce) {
	li.wb-subcategory-item a {
		transition: none !important;
	}
}

/* Il numero di articoli del ramo, accanto al nome.
   Il viola e' preso da --cs-light-accent-color e NON da --cs-color-accent: la
   seconda vale #ffffff sotto [data-scheme=dark], quindi in tema scuro il numero
   sarebbe bianco come il nome e smetterebbe di distinguersi. Sul fondo nero il
   #7300e0 e' troppo cupo per leggersi, percio' li' si passa a un viola chiaro.
   I due stati hover vanno scritti tutti e due: in chiaro la badge si riempie di
   viola e un numero viola sparirebbe dentro il fondo, in scuro si riempie di
   bianco e sparirebbe il viola chiaro. */
li.wb-subcategory-item .wb-subcategory-count {
	margin-left: 7px !important;
	color: var(--cs-light-accent-color, #7300e0) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	font-variant-numeric: tabular-nums !important;
	line-height: 1 !important;
	transition: color 0.18s ease !important;
}
li.wb-subcategory-item a:hover .wb-subcategory-count,
li.wb-subcategory-item a:focus-visible .wb-subcategory-count {
	color: rgba(255, 255, 255, 0.72) !important;
}
[data-scheme=dark] li.wb-subcategory-item .wb-subcategory-count {
	color: #b47bff !important;
}
[data-scheme=dark] li.wb-subcategory-item a:hover .wb-subcategory-count,
[data-scheme=dark] li.wb-subcategory-item a:focus-visible .wb-subcategory-count {
	color: #7300e0 !important;
}
@media (prefers-reduced-motion: reduce) {
	li.wb-subcategory-item .wb-subcategory-count {
		transition: none !important;
	}
}
/* WhatsApp CTA Section */
.wb-whatsapp-cta {
	background: #128C7E;
	background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
	padding: 40px 0;
	color: #fff;
	margin-top: 50px;
	border-radius: 20px 20px 0 0;
	position: relative;
	overflow: hidden;
}
.wb-whatsapp-cta::before {
	content: "";
	position: absolute;
	top: -50px;
	right: -50px;
	width: 200px;
	height: 200px;
	background: rgba(255,255,255,0.1);
	border-radius: 50%;
}
.wb-whatsapp-cta__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	position: relative;
	z-index: 1;
}
.wb-whatsapp-cta__content {
	display: flex;
	align-items: center;
	gap: 25px;
}
.wb-whatsapp-cta__icon {
	width: 60px;
	height: 60px;
	flex-shrink: 0;
	background: rgba(255,255,255,0.2);
	border-radius: 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 12px;
}
.wb-whatsapp-cta__icon svg {
	width: 100%;
	height: 100%;
}
.wb-whatsapp-cta__text h3 {
	margin: 0 0 5px 0;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 800;
}
.wb-whatsapp-cta__text p {
	margin: 0;
	color: rgba(255,255,255,0.9);
	font-size: 1rem;
	font-weight: 500;
}
.wb-whatsapp-cta__button {
	display: inline-block;
	background: #fff;
	color: #128C7E !important;
	padding: 15px 35px;
	border-radius: 50px;
	font-weight: 800;
	font-size: 0.95rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	transition: all 0.3s ease;
	text-decoration: none !important;
	box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}
.wb-whatsapp-cta__button:hover {
	transform: translateY(-5px);
	box-shadow: 0 15px 30px rgba(0,0,0,0.2);
	background: #f8f8f8;
}

/* Link evidenziati (Highlight) nella descrizione delle categorie */
.cs-page__archive-description a {
	color: #5a189a !important; /* Viola scuro */
	background-color: rgba(138, 43, 226, 0.12) !important; /* Viola chiaro trasparente */
	text-decoration: none !important;
	font-weight: 700 !important;
	padding: 0 5px !important; /* Solo spazio orizzontale */
	border-radius: 3px !important;
	transition: all 0.2s ease !important;
	display: inline !important; /* Fondamentale per non sballare le righe */
	border: none !important;
}

.cs-page__archive-description a:hover {
	background-color: rgba(138, 43, 226, 0.25) !important;
	color: #480ca8 !important; /* Ancora più scuro al passaggio */
}

[data-scheme=dark] .cs-page__archive-description a {
	color: #ffffff !important;
	background-color: rgba(138, 43, 226, 0.3) !important;
}

[data-scheme=dark] .cs-page__archive-description a:hover {
	background-color: rgba(138, 43, 226, 0.5) !important;
}

/* WhatsApp CTA Responsive */
@media (max-width: 991px) {
	.wb-whatsapp-cta__inner {
		flex-direction: column;
		text-align: center;
		gap: 25px;
	}
	.wb-whatsapp-cta__content {
		flex-direction: column;
		gap: 15px;
	}
	.wb-whatsapp-cta__text h3 {
		font-size: 1.3rem;
	}
	.wb-whatsapp-cta {
		padding: 35px 20px;
		margin-top: 30px;
	}
}
@media (max-width: 576px) {
	.wb-whatsapp-cta {
		border-radius: 0;
	}
	.wb-whatsapp-cta__button {
		width: 100%;
		padding: 12px 20px;
	}
}
