/*--------------------------------
	Fiorentina Theme
	Developed by Francesco Mori
	www.extrageek.com Copyright 2011
	Compatibility: ExtraGeek-BlogEngine 4 (adattamento del 2026)
----------------------------------*/

/*----------------------------
	Font: Open Sans (SIL Open Font License, fonts/OFL.txt), ospitato nel tema:
	nessuna richiesta ai server di Google, quindi nessun consenso necessario.
----------------------------*/

@font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 300 800;
	font-display: swap;
	src: url(fonts/open-sans-latin-ext.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 300 800;
	font-display: swap;
	src: url(fonts/open-sans-latin.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'Open Sans';
	font-style: italic;
	font-weight: 300 800;
	font-display: swap;
	src: url(fonts/open-sans-italic-latin-ext.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: 'Open Sans';
	font-style: italic;
	font-weight: 300 800;
	font-display: swap;
	src: url(fonts/open-sans-italic-latin.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

body {
	color: #333333;
	background: #e6e8ee;
	font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: 16px;
	line-height: 1.6;
	margin: 0;
}

h1 {
	font-size: 18px;
	letter-spacing: 1px;
}

h2 {
	font-size: 16px;
}

a {
	text-decoration: none;
	color: #6330C9;
}

a:hover {
	text-decoration: underline;
}

img {
	border: none;
}

/*
	Layout: il "foglio" bianco è largo al massimo 1200px e si restringe sugli schermi più piccoli.
	Sfondo grigio e ombra ai lati delimitano il foglio (sostituiscono la vecchia immagine background.gif, che valeva solo per 980px).
	Barra laterale fissa a 320px (annunci 300x250 compresi), il contenuto prende il resto (circa 830px).
*/
#all-document {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px 20px 20px;
	background: #ffffff;
	box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.08), 0 0 30px rgba(15, 23, 42, 0.28);
	min-height: 100vh;
	box-sizing: border-box;
}

#body {
	display: flex;
	align-items: flex-start;
	gap: 30px;
}

#content {
	flex: 1 1 auto;
	min-width: 0;
}

.hilite {
	background-color: #ff0;
}

.fade {
	color: silver;
}

/*----------------------------
					 Header
----------------------------*/

#header {
	text-align: center;
	margin-bottom: 30px;
	padding-top: 5px;
}

#header #logo {
	display: inline-block;
	margin: 5px;
}

#header #logo img {
	display: block;
	max-width: 100%;
	height: auto;
}

/*----------------------------
					Menu
----------------------------*/

#menu {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	padding: 8px 12px;
	margin-bottom: 25px;
	box-shadow: 0 2px 4px rgba(0,0,0,0.04);
}

#menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

#menu ul li {
	display: inline-block;
}

#menu ul li a,
#menu ul li .welcome {
	display: block;
	padding: 8px 14px;
	font-size: 15px;
	font-weight: 600;
	color: #4a5568;
	text-decoration: none;
	border-radius: 6px;
	transition: all 0.2s ease-in-out;
}

#menu ul li .welcome {
	color: #6330C9;
	font-weight: bold;
}

#menu ul li a:hover {
	background-color: #6330C9;
	color: #ffffff;
	text-decoration: none;
}

#menu ul li a.feed img {
	position: relative;
	top: 2px;
	margin-right: 4px;
}

/*----------------------------
					 Widgets
----------------------------*/

div.widgetzone {
	padding: 0;
	background: none;
}

div.widget {
	background: white;
	border: 1px solid silver;
	padding: 10px 15px;
	font-size: 15px;
	margin-bottom: 10px;
	min-width: 1px;
	line-height: 1.4em;
	color: #666666;
}

div.widget .content,
div.widget .widget-content {
	line-height: 1.4em;
	color: #666666;
}

div.widget h4 {
	font-size: 17px;
	border-bottom: 1px solid silver;
	padding-bottom: 5px;
	margin: 0 0 5px 0;
	color: #999999;
	letter-spacing: 1px;
}

div.widget a.edit {
	font-size: 10px;
	font-weight: normal;
	float: right;
}

div.widget a.delete {
	font-weight: bold;
	color: #999999;
	float: right;
	margin-left: 5px;
	text-decoration: none;
}

div.widget a.delete:hover {
	color: black;
}

.widgetzone .widget ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.widgetzone .widget ul li {
	margin-bottom: 3px;
}

/* Le pagine e le categorie con l'iniziale maiuscola, come nel vecchio tema; titoli di post e commenti come sono scritti. */
.widgetzone .pagelist ul,
.widgetzone .categorylist ul {
	text-transform: capitalize;
}

.widgetzone .pagelist ul ul {
	margin-left: 12px;
}

.widgetzone img.rssButton {
	margin-right: 3px;
}

.widget .post-item-list {
	list-style: none;
	margin: 0 0 6px 0;
	padding: 0;
}

.widget .post-item-img {
	display: none;
}

.widget h5.post-item-title {
	font-size: 1em;
	font-weight: normal;
	border: none;
	margin: 0;
}

.widget .post-item-desc {
	margin: 2px 0;
	color: #666666;
}

.widget .post-item-date {
	display: block;
	color: #888888;
	font-size: 13px;
}

/* Post recenti e Commenti recenti: una riga per elemento, con segno viola, titolo e data */
.widgetzone .widget ul.recent-posts {
	margin: 0 -5px;
}

.widgetzone .widget ul.recent-posts li {
	margin: 0;
	border-bottom: 1px solid #ece7f7;
}

.widgetzone .widget ul.recent-posts li:last-child {
	border-bottom: none;
}

.widget ul.recent-posts li a {
	display: block;
	padding: 8px 6px 8px 14px;
	border-left: 3px solid #6330C9;
	margin: 6px 0;
	border-radius: 0 4px 4px 0;
	text-decoration: none;
	transition: background-color 0.15s ease-in-out;
}

.widget ul.recent-posts li a:hover,
.widget ul.recent-posts li a:focus {
	background: #f3effd;
	text-decoration: none;
}

.widget .recent-post-title {
	display: block;
	color: #2d1a5e;
	font-weight: 600;
	line-height: 1.35;
}

.widget ul.recent-posts li a:hover .recent-post-title {
	color: #6330C9;
}

.widget .recent-post-desc {
	display: block;
	margin-top: 3px;
	color: #666666;
	font-size: 14px;
	line-height: 1.4;
}

.widget .recent-post-date {
	display: block;
	margin-top: 3px;
	color: #8a8f98;
	font-size: 13px;
}

.widget .recent-post-img {
	display: block;
	max-width: 100%;
	height: auto;
	margin-bottom: 5px;
	border-radius: 4px;
}

.widget .recent-comment-author {
	display: block;
	color: #2d1a5e;
	font-weight: 600;
}

.widget .recent-comment-text {
	display: block;
	margin-top: 2px;
	color: #475569;
	font-style: italic;
	line-height: 1.4;
	overflow-wrap: break-word;
}

.widget .recent-comment-text:before { content: "\201C"; }
.widget .recent-comment-text:after { content: "\201D"; }

.widget .recent-comment-post {
	color: #6330C9;
}

.widget ul.recent-posts li a:hover .recent-comment-author {
	color: #6330C9;
}

.widget .recent-comments-feed {
	margin: 8px 0 0 0;
	font-size: 13px;
}

.widget .recent-comments-feed img {
	vertical-align: -2px;
}

/* Prossimo impegno */
div.widget.nextevent {
	border-color: #d6c8f3;
}

div.widget.nextevent h4 {
	color: #6330C9;
	font-size: 16px;
	text-transform: uppercase;
}

.nextevent .event-title {
	margin: 5px 0;
	font-size: 16px;
	font-weight: bold;
	color: #222222;
}

.nextevent .event-details {
	margin: 0;
	font-size: 14px;
	color: #666666;
	line-height: 1.4;
}

.nextevent .event-empty {
	font-size: 14px;
	color: #888888;
}

/* Annunci */
div.widget.advertisement {
	text-align: center;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	padding: 12px;
	overflow: hidden;
}

div.widget.advertisement .ad-label {
	display: block;
	font-size: 11px;
	color: #999999;
	text-transform: uppercase;
	margin-bottom: 4px;
}

/*----------------------------
					Side Panel
----------------------------*/

#sidepanel {
	flex: 0 0 320px;
	width: 320px;
}

/*----------------------------
					 Posts
----------------------------*/

div.post {
	border: 1px solid silver;
	padding: 10px 15px;
	margin-bottom: 20px;
	background-color: white;
	line-height: 1.6;
}

div.post .post-header {
	margin-bottom: 12px;
	overflow: hidden;
}

div.post .post-title {
	overflow: hidden;
}

div.post h1 {
	margin: 0 0 5px 0;
	font-size: 23px;
	letter-spacing: 0;
	line-height: 1.3;
}

div.post h1 a {
	color: #6330C9;
	text-decoration: none;
}

div.post .author {
	font-size: 14px;
	color: #64748b;
}

div.post .author a {
	font-weight: 600;
}

div.data {
	float: left;
	margin-right: 15px;
	text-align: center;
	background: #dde3ea;
	border: 1px solid #c5cdd8;
	padding: 6px 12px;
	border-radius: 6px;
	min-width: 50px;
}

div.data span {
	display: block;
	line-height: 1.2;
}

div.data span.d {
	font-size: 19px;
	font-weight: bold;
	color: #6330C9;
	line-height: 1.1;
}

div.data span.m {
	font-size: 12px;
	text-transform: uppercase;
	color: #64748b;
}

div.data span.y {
	font-size: 12px;
	color: #64748b;
}

div.post .text {
	font-size: 17px;
	line-height: 1.7;
	color: #334155;
	margin-bottom: 20px;
	overflow-wrap: break-word;
}

div.post .text img,
#page img {
	max-width: 100%;
	height: auto;
}

div.post .text iframe,
#page iframe {
	max-width: 100%;
}

/* "Prosegue..." (marcatore [more]): un bottone invece di un semplice link */
div.post .text a.more {
	display: inline-block;
	margin-top: 10px;
	padding: 8px 18px;
	background: #6330C9;
	color: #ffffff;
	font-size: 15px;
	font-weight: 600;
	border-radius: 6px;
	text-decoration: none;
	box-shadow: 0 2px 4px rgba(99, 48, 201, 0.25);
	transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

div.post .text a.more:after {
	content: " \2192";
}

div.post .text a.more:hover,
div.post .text a.more:focus {
	background: #4c22a3;
	color: #ffffff;
	text-decoration: none;
	box-shadow: 0 3px 8px rgba(99, 48, 201, 0.4);
}

div.post .ads-post-bottom {
	margin: 20px 0;
	text-align: center;
	overflow: hidden;
}

div.post .bottom {
	font-size: 14px;
	color: #64748b;
	border-top: 1px solid #e2e8f0;
	padding-top: 10px;
	margin-bottom: 15px;
}

div.post .bottom p {
	margin: 0 0 5px 0;
}

div.post .footer {
	font-size: 14px;
	background: #f8fafc;
	padding: 12px 15px;
	border-radius: 6px;
	margin-top: 15px;
}

div.post .social-share {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid #e2e8f0;
}

div.post .social-share .label {
	font-weight: 600;
	color: #475569;
	margin-right: 5px;
}

div.post a.share {
	color: white;
	padding: 4px 10px;
	border-radius: 4px;
	text-decoration: none;
	font-weight: 600;
	font-size: 13px;
}

div.post a.share.whatsapp { background: #25D366; }
div.post a.share.telegram { background: #0088cc; }
div.post a.share.x { background: #0f172a; }
div.post a.share.facebook { background: #1877F2; }

div.post .post-links {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}

div.post .post-links a {
	color: #475569;
}

div.post .post-links a.permalink {
	color: #6330C9;
	font-weight: 600;
}

#credits {
	font-size: 12px;
	text-align: center;
	line-height: 1.5;
	color: #666666;
}

/*----------------------------
		Post precedente / successivo
----------------------------*/

.post-nav {
	display: flex;
	gap: 15px;
	margin-bottom: 20px;
}

.post-nav a,
.post-nav .nav-empty {
	flex: 1 1 0;
	min-width: 0;
}

.post-nav a {
	display: block;
	padding: 10px 14px;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	text-decoration: none;
	transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}

.post-nav a:hover,
.post-nav a:focus {
	background: #f3effd;
	border-color: #c9b8f0;
	text-decoration: none;
}

.post-nav a.nav-prev {
	border-left: 3px solid #6330C9;
}

.post-nav a.nav-next {
	border-right: 3px solid #6330C9;
	text-align: right;
}

.post-nav .nav-label {
	display: block;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #8a8f98;
	margin-bottom: 3px;
}

.post-nav .nav-title {
	display: block;
	color: #6330C9;
	font-weight: 600;
	line-height: 1.35;
}

/*----------------------------
			Related Posts
----------------------------*/

#relatedPosts {
	border: 1px solid silver;
	background-color: white;
	padding: 3px 10px;
	margin-bottom: 20px;
}

#relatedPosts ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

#relatedPosts li {
	margin: 0 0 10px 0;
}

#relatedPosts li p {
	margin: 2px 0 0 0;
}

#relatedPosts span {
	color: #666666;
	font-size: 13px;
}

/*----------------------------
					Pages
----------------------------*/

#page,
.archive-page,
.contact-page,
.searchpage,
.error404,
#archive,
#contact {
	background: white;
	border: 1px solid silver;
	padding: 10px 15px;
	margin-bottom: 20px;
}

.page-global-title,
h2.post-list-title {
	font-size: 23px;
	color: #6330C9;
	margin: 0 0 10px 0;
	letter-spacing: 0;
}

#page h1 {
	margin-top: 0;
}

#page {
	font-size: 17px;
	line-height: 1.7;
}

/*----------------------------
					Archive
----------------------------*/

#archive h2 {
	font-size: 16px;
	border-bottom: 1px solid silver;
	margin: 20px 0 5px 0;
	padding-bottom: 3px;
}

#archive h2 img,
#archive h3 img {
	margin-right: 5px;
	vertical-align: middle;
}

#archive h3 {
	font-size: 14px;
	border-bottom: 1px dotted silver;
	margin: 15px 0 5px 0;
}

#archive ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

#archive table {
	width: 100%;
	border-collapse: collapse;
}

#archive table td,
#archive table th {
	padding: 2px 4px;
	text-align: left;
}

#archive table td {
	border-bottom: 1px dotted #e2e8f0;
}

#archive .date {
	white-space: nowrap;
	width: 90px;
}

#archive .comments,
#archive .rating {
	text-align: center;
	width: 60px;
}

/*----------------------------
					 Search
----------------------------*/

#searchbox input[type="text"],
#searchbox #txt-search {
	width: 70%;
	max-width: 180px;
}

.searchresult {
	margin-bottom: 15px;
}

.searchresult a {
	font-weight: bold;
	font-size: 17px;
}

.searchresult span.text {
	display: block;
}

.searchresult span.type,
.searchresult span.url {
	display: block;
	color: #888888;
	font-size: 13px;
}

/*----------------------------
					Tag cloud
----------------------------*/

.tagcloud ul, ul.tagcloud {
	list-style: none;
	margin: 0;
	padding: 0;
	text-transform: none;
}

.tagcloud li {
	display: inline;
	margin-right: 4px;
}

.tagcloud a.biggest { font-size: 150%; }
.tagcloud a.big { font-size: 125%; }
.tagcloud a.medium { font-size: 105%; }
.tagcloud a.small { font-size: 90%; }
.tagcloud a.smallest { font-size: 80%; }

/*----------------------------
					 Calendar
----------------------------*/

.calendar {
	width: 100%;
}

.calendar .weekend {
	background: #f3effd;
}

.calendar .other {
	color: silver;
}

.calendar a.exist {
	font-weight: bold;
}

.calendar td {
	text-align: center;
}

/*----------------------------
				Contact page
----------------------------*/

#contact label {
	display: block;
	padding-top: 5px;
}

#contact input.field,
#contact input[type="text"],
#contact input[type="email"] {
	width: 300px;
	max-width: 100%;
}

#contact textarea {
	display: block;
	overflow: auto;
	width: 75%;
	height: 150px;
	margin: 0;
}

/*----------------------------
				Comments
----------------------------*/

#commentlist {
	background-color: #FFF;
	padding-top: 10px;
}

.comment {
	background-color: white;
	padding: 5px;
	margin-bottom: 10px;
}

.comment_header {
	min-height: 36px;
	display: block;
	padding: 0 5px;
	background-color: #F8F4FF;
	border-radius: 5px;
	border: 1px solid #CCC;
}

.comment_header:after {
	content: "";
	display: table;
	clear: both;
}

.comment_body {
	padding: 0 5px;
	background-color: #F8F4FF;
	border-radius: 5px;
	border: 1px solid #CCC;
	margin-top: 2px;
}

.comment .gravatar {
	float: left;
	margin: 3px 10px 3px 0;
}

.comment .gravatar img {
	height: 28px;
	width: 28px;
	border: 1px solid silver;
	margin: 0;
	padding: 0;
}

.comment img.flag {
	margin-left: 5px;
}

.visitor {
	padding: 8px 0;
}

.visitor .date {
	float: right;
	font-size: 13px;
	color: #666;
	padding-right: 10px;
}

.comment .content {
	min-height: 25px;
	margin: 1px;
	padding: 5px;
	font-size: 15px;
	line-height: 1.6;
	white-space: pre-line;
}

.comment .author {
	margin: 0;
	padding: 3px 5px;
	font-size: 14px;
	min-height: 16px;
}

.comment .author .reply {
	float: right;
}

.self .comment_header,
.self .comment_body {
	background-color: #f1ebfd;
}

.comment-replies {
	background: transparent url(images/reply-arrow.gif) no-repeat 2px 15px;
	padding: 0 0 0 15px;
	margin: 5px 0 0 0;
}

#addcomment, #comment {
	font-size: 120%;
	letter-spacing: 1px;
	font-weight: bold;
}

#commentlist #comment-form,
#comment-form {
	border: solid 1px #ccc;
	background: #fff;
	padding: 10px;
	margin: 10px 0;
}

.commentForm textarea {
	width: 100%;
	height: 150px;
	border: 1px solid silver;
	box-sizing: border-box;
}

.commentForm label {
	display: block;
	padding-top: 3px;
}

.commentForm input[type="text"],
.commentForm input[type="email"] {
	border: #ccc 1px solid;
	background-color: #fff;
	width: 300px;
	max-width: 100%;
	margin: 2px 0;
}

.commentForm select {
	border: #ccc 1px solid;
	width: 308px;
	max-width: 100%;
}

select,
input[type="text"],
input[type="email"],
input[type="search"] {
	padding: 3px;
}

input[type="submit"], input[type="button"], input[type="file"], button {
	color: #000000;
	background: #FFFFFF;
	border: 1px solid #B8C1CA;
	padding: 3px 5px;
}

input[type="submit"]:hover, input[type="button"]:hover, button:hover {
	color: #FFFFFF;
	background: #6330C9;
	border-color: #6330C9;
	cursor: pointer;
}

/*----------------------------
				Paginazione
----------------------------*/

#PostPager {
	list-style: none;
	margin: 10px;
	padding: 0;
	text-align: center;
}

#PostPager li {
	display: inline-block;
	margin: 0 2px;
	padding: 2px 6px;
	border: 1px solid #e2e8f0;
	border-radius: 4px;
	background: #f8fafc;
}

#PostPager li.PagerLinkCurrent {
	font-weight: bold;
	background: #6330C9;
	color: #ffffff;
}

#PostPager li.PagerLinkDisabled {
	color: #aaaaaa;
}

/*--------------------------------
	Schermi piccoli
----------------------------------*/

@media screen and (max-width: 900px) {
	body {
		background: #ffffff;
	}

	#all-document {
		padding: 0 10px 10px 10px;
		box-shadow: none;
	}

	#body {
		flex-direction: column;
		align-items: stretch;
		gap: 20px;
	}

	#content,
	#sidepanel {
		flex: none;
		width: 100%;
	}

	#header {
		text-align: center;
		margin-bottom: 15px;
	}

	#menu ul li a,
	#menu ul li .welcome {
		padding: 6px 10px;
	}

	div.post .data {
		margin-right: 10px;
	}

	.post-nav {
		flex-direction: column;
		gap: 10px;
	}

	.post-nav .nav-empty {
		display: none;
	}

	/* Le immagini affiancate al testo nei vecchi post (float scritto nel post, spesso su un div di Windows Live Writer,
	   o attributo align) vanno sopra il testo, centrate. */
	div.post .text [style*="float"],
	#page [style*="float"],
	div.post .text img,
	#page img {
		float: none !important;
		display: block !important;
		margin: 10px auto !important;
		text-align: center;
	}
}
