/*
 Theme Name:   ICMQ (Hello Elementor Child)
 Theme URI:    https://www.icmq.it
 Description:  Tema child di Hello Elementor per il sito ICMQ. Carica stili legacy (Bootstrap, custom, responsive), variabili colore e font Open Sans. Header e footer con Elementor Theme Builder.
 Author:       ICMQ
 Author URI:   https://www.icmq.it
 Template:     hello-elementor
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  icmq-hello
*/

/* ==========================================================================
   Variabili colore e font ICMQ (come sito originale)
   ========================================================================== */
:root {
	--icmq-primary: #e10101;
	--icmq-primary-hover: #009bb2;
	--icmq-secondary: #0094b3;
	--icmq-footer-bg: #293133;
	--icmq-footer-bottom: #15191a;
	--icmq-text: #242424;
	--icmq-text-body: #595959;
	--icmq-text-muted: #4a4a4a;
	--icmq-nav-bg: #293133;
	--icmq-font-body: "Open Sans", sans-serif;
	--icmq-font-heading: "Open Sans Condensed", "Open Sans", sans-serif;
	--icmq-border-light: #ddd;
	--icmq-border-input: #e1e1e1;
}

/* ==========================================================================
   Stile globale: font e tipografia come sito originale
   ========================================================================== */
html {
	font-size: 16px;
	-webkit-text-size-adjust: 100%;
}

body {
	font-family: var(--icmq-font-body);
	font-size: 1em;
	line-height: 1.8;
	color: var(--icmq-text-body);
	letter-spacing: 0.2px;
}

/* Padding sezioni (come .sec-padding sito originale) */
.sec-padding {
	padding-top: 3em;
	padding-bottom: 3em;
}

.sec-padding-bottom {
	padding-bottom: 1.5em;
}

/* ==========================================================================
   Contenuto principale: identico al sito originale (font, colori, link, form)
   ========================================================================== */
.site-main {
	font-family: var(--icmq-font-body);
	color: var(--icmq-text-body);
	line-height: 1.8;
}

.site-main h1,
.site-main h2,
.site-main h3,
.site-main h4,
.site-main h5,
.site-main h6 {
	font-family: var(--icmq-font-body);
	color: var(--icmq-text);
	font-weight: 600;
	line-height: 1.2;
	margin-top: 0;
	margin-bottom: 0.5em;
}

.site-main a {
	color: var(--icmq-primary);
	font-weight: 600;
	text-decoration: none;
}

.site-main a:hover {
	color: var(--icmq-primary-hover);
	text-decoration: underline;
}

.site-main .page-title {
	font-family: var(--icmq-font-body);
	font-size: 1.75em;
	font-weight: 600;
	color: var(--icmq-text);
	border-bottom: 2px solid var(--icmq-primary);
	padding-bottom: 0.35em;
	margin-bottom: 1rem;
}

.site-main .entry-title {
	font-size: 1.25em;
	font-weight: 600;
}

.site-main .entry-title a:hover {
	text-decoration: underline;
}

.site-main .entry-content,
.site-main .entry-summary,
.site-main .entry-content p,
.site-main .entry-summary p {
	font-family: var(--icmq-font-body);
	font-size: 1em;
	line-height: 1.8;
	color: var(--icmq-text-body);
	margin-bottom: 1em;
}

.site-main .entry-meta {
	font-size: 0.9em;
	color: var(--icmq-text-muted);
	margin: 0.3em 0 0.5em;
}

/* Form: input e select come sito originale */
.site-main .form-control,
.site-main input[type="text"],
.site-main input[type="search"],
.site-main input[type="email"],
.site-main select {
	font-family: var(--icmq-font-body);
	font-size: 1em;
	color: var(--icmq-text);
	border: 1px solid var(--icmq-border-input);
	border-radius: 4px;
	padding: 8px 12px;
	line-height: 1.5;
}

.site-main .form-control:focus,
.site-main input:focus,
.site-main select:focus {
	border-color: var(--icmq-secondary);
	outline: 0;
}

/* Pulsanti come sito originale (rosso, uppercase, bordo arrotondato) */
.site-main .btn-primary,
.site-main .btn-default,
.site-main .btn {
	font-family: var(--icmq-font-body);
	font-weight: 500;
	letter-spacing: 0.5px;
	border-radius: 0px;
	/*border-radius: 5px;*/
}

.site-main .btn-primary {
	background-color: var(--icmq-primary);
	border-color: var(--icmq-primary);
	color: #fff;
	padding: 10px 20px;
}

.site-main .btn-primary:hover {
	background-color: var(--icmq-primary-hover);
	border-color: var(--icmq-primary-hover);
	color: #fff;
}

.site-main .btn-default,
.site-main .btn-sm {
	border: 1px solid var(--icmq-border-light);
	background: #fff;
	color: var(--icmq-text);
}

.site-main .btn-default:hover,
.site-main .btn-sm:hover {
	background: #f5f5f5;
	border-color: var(--icmq-secondary);
	color: var(--icmq-primary);
}

/* Override Elementor/block (coerenza con sito originale) */
.elementor-button.elementor-size-sm,
.wp-block-button__link,
.contactus-button a {
	background-color: var(--icmq-primary) !important;
	color: #fff !important;
}
.contactus-button a:hover,
.elementor-button.elementor-size-sm:hover {
	background-color: var(--icmq-primary-hover) !important;
	color: #fff !important;
}

/* Pulsante tema (404, single corso, ecc.) */
.btn-icmq {
	display: inline-block;
	background: var(--icmq-primary);
	color: #fff;
	padding: 0.5em 1.2em;
	border-radius: 5px;
	text-decoration: none;
}
.btn-icmq:hover {
	background: var(--icmq-primary-hover);
	color: #fff;
}

/* Archivi e singoli */
.entry-archive { margin-bottom: 2em; }
.entry-archive .entry-title { font-size: 1.25em; }
.entry-meta { color: var(--icmq-text-muted); font-size: 0.9em; margin: 0.3em 0; }
.page-header { margin-bottom: 1.5em; margin-top: 0px; }
.page-title { border-bottom: 2px solid var(--icmq-primary); padding-bottom: 0.3em; }

/* ==========================================================================
   Archivio News: sidebar categorie a destra, form ricerca + argomento
   ========================================================================== */
.news-filters .form-control { margin-bottom: 0.5em; }
.news-filters .btn-primary { background-color: var(--icmq-primary); border-color: var(--icmq-primary); }
.news-filters .btn-primary:hover { background-color: var(--icmq-primary-hover); border-color: var(--icmq-primary-hover); }
.news-sidebar { margin-top: 1.5em; }
@media (min-width: 768px) { .news-sidebar { margin-top: 0; } }
.news-categories-widget .widget-title {
	border-bottom: 2px solid var(--icmq-primary);
	padding-bottom: 0.3em;
	margin-bottom: 1em;
	font-size: 1.1em;
}
.news-categories-list li { margin-bottom: 0.5em; }
.news-categories-list a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0.4em 0;
	text-decoration: none;
	color: inherit;
}
.news-categories-list a:hover,
.news-categories-list li.current-cat a {
	color: var(--icmq-primary);
}
.news-categories-list .fa-angle-right { font-size: 0.9em; }
.archive-news .entry-thumb img,
.entry-thumb-single .entry-thumb img { width: 100%; height: auto; display: block; }
.entry-thumb-single { margin-bottom: 1em; }
.archive-news .entry-news { padding-bottom: 1.5em; border-bottom: 1px solid var(--icmq-border-light); margin-bottom: 1.5em; }
.archive-news .entry-news:last-child { border-bottom: none; }

/* Risultati ricerca con sidebar e form news */
.search-results .entry-news { padding-bottom: 1.5em; border-bottom: 1px solid var(--icmq-border-light); margin-bottom: 1.5em; }
.search-results .entry-news:last-child { border-bottom: none; }

/* Paginazione: stili base (dettaglio in icmq-pages-legacy.css) */
.site-main .nav-links .page-numbers {
	font-family: var(--icmq-font-body);
}

/* Area widget footer (sopra il footer principale) */
.footer-widget-area {
	background: var(--icmq-footer-bg);
	color: #fff;
}
.footer-widget-area .widget_title {
	color: #fff;
	margin-bottom: 1em;
	font-size: 1.1em;
}

/* Sidebar area widget: allineamento con le altre sidebar del tema */
.icmq-widget-sidebar .widget {
	margin-bottom: 1.5em;
}
.icmq-widget-sidebar .widget-title {
	font-family: var(--icmq-font-heading);
	font-size: 1.2em;
	margin-bottom: 0.75em;
}

/* Header: area widget nella banda top (accanto a lingua / menu secondario) */
.header-top-right {
	text-align: right;
}
.header-widget-area {
	display: inline-block;
	margin-right: 1em;
	vertical-align: middle;
}
.header-widget-area .header-widget-inline {
	display: inline-block;
	margin: 0;
	padding: 0;
	border: none;
	background: none;
}
.header-widget-area .header-widget-title {
	display: none;
}
.header-widget-area .nav,
.header-widget-area ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.5em 1em;
	align-items: center;
}
.header-widget-area .nav li,
.header-widget-area ul li {
	display: inline-block;
}
.header-widget-area a {
	color: inherit;
	text-decoration: none;
}
.header-widget-area a:hover {
	text-decoration: underline;
}

/* ==========================================================================
   Chi siamo: pagina Team (CPT membro_team)
   ========================================================================== */

/* Pagina Team: stile identico al vecchio sito */
.chi-siamo-team-list {
	padding: 0 0 3em;
}
.chi-siamo-team-list .our-team-page {
	margin-top: 0;
	margin-bottom: 30px;
}
.chi-siamo-team-list .our-team-page > .row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	margin: 0;
}
@media (max-width: 991px) {
	.chi-siamo-team-list .our-team-page > .row {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 480px) {
	.chi-siamo-team-list .our-team-page > .row {
		grid-template-columns: 1fr;
	}
}
.chi-siamo-team-list .team {
	-webkit-transition: all 300ms linear 0s;
	transition: all 300ms linear 0s;
	cursor: pointer;
	position: relative;
	overflow: hidden;
	padding: 15px;
}
.chi-siamo-team-list .team .team-images {
	background: #e8e8e8;
	text-align: center;
	position: relative;
	z-index: 0;
	overflow: hidden;
	aspect-ratio: 1 / 1;
}
.chi-siamo-team-list .team .team-images:after {
	content: '';
	background: transparent;
	position: absolute;
	border: 1px solid transparent;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: 2;
	-webkit-transition: all 300ms linear 0s;
	transition: all 300ms linear 0s;
}
.chi-siamo-team-list .team .team-images:before {
	position: absolute;
	background-color: rgba(3, 137, 158, 0.6);
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-transform: scale(0);
	-ms-transform: scale(0);
	transform: scale(0);
	-webkit-transition: all 300ms linear 0s;
	transition: all 300ms linear 0s;
	opacity: 0;
	z-index: 1;
}
.chi-siamo-team-list .team .team-images img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	display: block;
}
.chi-siamo-team-list .team .team-placeholder-no-photo {
	display: block;
	width: 100%;
	padding-bottom: 100%;
	background: #d5d5d5;
}
.chi-siamo-team-list .team .social-icons {
	position: absolute;
	bottom: 15px;
	left: 0;
	right: 0;
	text-align: center;
	-webkit-transition: all 300ms linear 0s;
	transition: all 300ms linear 0s;
	z-index: 3;
	list-style: none;
	margin: 0;
	padding: 0;
	opacity: 0;
}
.chi-siamo-team-list .team .social-icons li {
	display: inline-block;
}
.chi-siamo-team-list .team .social-icons li + li {
	margin-left: 25px;
}
@media (max-width: 1199px) {
	.chi-siamo-team-list .team .social-icons li + li {
		margin-left: 15px;
	}
}
.chi-siamo-team-list .team .social-icons li a {
	font-size: 22px;
	color: #fff;
	padding: 0;
	text-decoration: none;
	font-weight: normal;
}
.chi-siamo-team-list .team .social-icons li a:hover,
.chi-siamo-team-list .team .social-icons li a:focus {
	background: none;
	color: #c89551;
}
.chi-siamo-team-list .team .team-content {
	padding: 1em 0px 0.8em;
	text-align: center;
	cursor: pointer;
	position: relative;
	border: 2px solid #e4e4e4;
	margin: 5px 0 0;
	-webkit-transition: all 300ms linear 0s;
	transition: all 300ms linear 0s;
}
.chi-siamo-team-list .team .team-content h4 {
	font: 400 1.15em/1em "Open Sans", sans-serif;
	letter-spacing: 0.3px;
	color: #242424;
	margin: 0;
}
.chi-siamo-team-list .team .team-content a {
	text-decoration: none;
	font-weight: normal;
	color: inherit;
}
.chi-siamo-team-list .team .team-content a:hover {
	text-decoration: none;
	color: inherit;
}
.chi-siamo-team-list .team .team-content p {
	font: 400 14px/22px "Open Sans", sans-serif;
	letter-spacing: 0.3px;
	color: #595959;
	margin: 0;
}
.chi-siamo-team-list .team:hover .social-icons {
	bottom: 50%;
	-webkit-transform: translateY(50%);
	-ms-transform: translateY(50%);
	transform: translateY(50%);
	opacity: 1;
}
.chi-siamo-team-list .team:hover .team-images:after {
	border: 1px solid #fff;
	top: 10px;
	left: 10px;
	bottom: 10px;
	right: 10px;
}
.chi-siamo-team-list .team:hover .team-images:before {
	-webkit-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1);
	opacity: 1;
	z-index: 1;
}
.chi-siamo-team-list .team:hover .team-content {
	background: #e6ab0c;
	border: 2px solid #d59d08;
}
.chi-siamo-team-list .team:hover .team-content h4,
.chi-siamo-team-list .team:hover .team-content p,
.chi-siamo-team-list .team:hover .team-content a {
	color: #fff;
}
.chi-siamo-team-list .team .team-bio {
	font-size: 0.9em;
	margin-top: 0.5em;
	text-align: left;
	padding: 0 0.5em;
}
.chi-siamo-team-list .team .team-bio p:last-child {
	margin-bottom: 0;
}
