/* ----------------------------------------------------------------
	Custom CSS

	Add all your Custom Styled CSS here for New Styles or
	Overwriting Default Theme Styles for Better Handling Updates
-----------------------------------------------------------------*/

:root {
	--pf-action: #000000;
	--pf-icon: #ff5e00;
	--pf-orange: #ff7a59;
	--pf-teal: #2fb1a3;
	--pf-ink: #102030;
	--pf-light: #f4f7f6;
	--cnvs-themecolor: #e67e22;
	--cnvs-themecolor-rgb: 230, 126, 34;
	--pf-primary: #e67e22;
	--pf-primary-dark: #d35400;
}
.form-control.border-form-control { --cnvs-input-btn-font-size: .9rem !important; }
.fs-1 { font-size: calc(2.4rem + 1.5vw) !important; }
.primary-menu-trigger { --cnvs-contrast-900: #fff; }
@media(max-width: 1200px){
	.header-misc { margin-left: 0; }
}
#gotoTop { opacity: 1 !important; z-index: 999999; }
@media(max-width: 991px){
	.primary-menu { background-color: #fff; }
}


body {
	color: #1f2a3d;
	background-color: #ffffff;
}

a {
	color: #d45100;
}

a:hover {
	color: #b13f00;
}

#header,
.header-wrap-clone {
	border-bottom: 1px solid rgba(15, 26, 43, 0.07);
}

.pf-btn {
	background: linear-gradient(120deg, #e18717f5, #b1671a);
	color: #fff !important;
	border: 0;
	box-shadow: 0 8px 24px rgba(15, 76, 129, 0.25);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.pf-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(15, 76, 129, 0.35);
}

.pf-btn-outline {
	color: var(--pf-action) !important;
	border-color: var(--pf-action);
}

.pf-btn-outline:hover {
	color: #fff !important;
	border-color: #fff;
	background-color: var(--pf-action);
}

.pf-section {
	background: radial-gradient(circle at 12% 20%, rgba(243, 147, 36, 0.12), transparent 35%),
		radial-gradient(circle at 88% 10%, rgba(24, 169, 153, 0.12), transparent 30%),
		radial-gradient(circle at 80% 80%, rgba(15, 76, 129, 0.08), transparent 35%),
		var(--pf-light);
}

.pf-badge {
	padding: 0.4rem 0.75rem;
	border-radius: 999px;
	font-weight: 600;
}

.pf-badge-paid {
	background-color: rgba(24, 169, 153, 0.15);
	color: var(--pf-teal);
}

.pf-badge-unpaid {
	background-color: rgba(243, 147, 36, 0.15);
	color: var(--pf-orange);
}

.pf-hero {
	position: relative;
	overflow: hidden;
}

.pf-hero::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(150deg, rgba(15, 76, 129, 0.8), rgba(24, 169, 153, 0.75));
	mix-blend-mode: multiply;
}

.pf-hero .container,
.pf-hero .swiper-slide > div {
	position: relative;
	z-index: 2;
}

.pf-hero .slider-caption h2,
.pf-hero .slider-caption p {
	color: #fff;
	text-shadow: 0 15px 35px rgba(0, 0, 0, 0.35);
}

.slider-caption h2,
.slider-caption .h2 {
	font-size: 3.8rem !important;
}

.pf-card {
	border: 0;
	box-shadow: 0 12px 40px rgba(15, 26, 43, 0.08);
	border-radius: 16px;
}

.pf-icon-bullet {
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 94, 0, 0.1);
	color: var(--pf-icon);
	border-radius: 12px;
}

.pf-masonry .card {
	height: 100%;
}

.pf-table thead {
	background-color: rgba(255, 94, 0, 0.08);
}

.pf-table th {
	text-transform: uppercase;
	letter-spacing: 0.02em;
	font-size: 0.75rem;
}

.pf-table td,
.pf-table th {
	border-color: rgba(15, 26, 43, 0.05);
}

.pf-alert {
	border-left: 4px solid var(--pf-orange);
	box-shadow: 0 10px 30px rgba(15, 26, 43, 0.08);
}

.pf-tagline {
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--pf-orange);
	font-weight: 700;
}

#header .primary-menu .menu-link:hover,
#header .primary-menu .menu-link:focus,
#header .primary-menu .menu-item.current > .menu-link {
	color: #b13f00 !important;
}

#header .primary-menu .menu-container > .menu-item > .menu-link {
	color: #1f2a3d !important;
	font-weight: 500;
}

#header .primary-menu .menu-container > .menu-item:hover > .menu-link,
#header .primary-menu .menu-container > .menu-item:focus-within > .menu-link,
#header .primary-menu .menu-container > .menu-item.current > .menu-link {
	color: #e34417 !important;
	font-weight: 600 !important;
}

.page-title-dark h1,
.page-title-dark span {
	color: #ffffff !important;
}

.pf-mission-bar {
	margin-top: -40px;
	position: relative;
	z-index: 2;
}

.pf-mission-bar .card {
	border-radius: 14px;
}

.pf-card img {
	border-top-left-radius: 16px;
	border-top-right-radius: 16px;
}

.pf-table td {
	vertical-align: middle;
}

.pf-partners .card {
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.pf-partners .card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 30px rgba(15, 26, 43, 0.12);
}

#footer a:not(.iubenda) {
	color: #f0f4ff !important;
	text-decoration: none;
}
#footer a.button-white { color: #393a3b !important; }

#footer a:hover {
	color: #ffffff !important;
	text-decoration: underline !important;
}
#footer a:hover.button-white { color: #393a3b !important; }


/* Override button colors - more vibrant orange instead of light beige */
.button-color,
.bg-color {
	background-color: var(--pf-primary) !important;
	border-color: var(--pf-primary) !important;
}

.button-color:hover,
.button-color:focus {
	background-color: var(--pf-primary-dark) !important;
	border-color: var(--pf-primary-dark) !important;
}

.button-border.button-color {
	color: var(--pf-primary) !important;
	background-color: transparent !important;
	border-color: var(--pf-primary) !important;
}

.button-border.button-color:hover {
	background-color: var(--pf-primary) !important;
	color: #fff !important;
}

/* Header CTA Button - Eye-catching orange */
#header .header-misc .button {
	background: linear-gradient(135deg, #e67e22, #d35400) !important;
	color: #fff !important;
	border: none !important;
	box-shadow: 0 4px 12px rgba(230, 126, 34, 0.4) !important;
	font-weight: 600 !important;
	padding: 0.6rem 1.5rem !important;
	transition: all 0.3s ease !important;
}
@media(max-width:1200px){
	#header .header-misc .button { box-shadow: 0 4px 12px rgba(255, 255, 255, 0.4) !important; }
}

#header .header-misc .button:hover {
	background: linear-gradient(135deg, #d35400, #c0440f) !important;
	box-shadow: 0 6px 16px rgba(230, 126, 34, 0.5) !important;
	transform: translateY(-2px) !important;
}

/* Activities page CTA box with background */
.pf-activities-cta {
	background: linear-gradient(135deg, #5a89ad9e, #406683c9),
		url('../img/attivita-iniziative_partecipa.jpg') center center / cover;
	padding: 60px 40px !important;
	border-radius: 16px !important;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2) !important;
}

.pf-activities-cta h3,
.pf-activities-cta p {
	color: #fff !important;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.pf-activities-cta .button-border.button-white {
	border-color: #fff !important;
	border-width: 2px !important;
	color: #fff !important;
	background-color: transparent !important;
	font-weight: 600 !important;
}

.pf-activities-cta .button-border.button-white:hover {
	background-color: #fff !important;
	color: #406683 !important;
	border-color: #fff !important;
}

/* Mercatino two-column layout for desktop */
@media (min-width: 992px) {
	.mercatino-layout {
		display: flex;
		gap: 2rem;
		align-items: flex-start;
	}

	.mercatino-requests {
		flex: 0 0 48%;
	}

	.mercatino-form {
		flex: 0 0 48%;
	}
}

/* Homepage slider feature cards - white text on hover */
.feature-box:hover h3 a {
	color: #fff !important;
}

@media(max-width: 600px) {
	.slider-caption h2, .slider-caption .h2 { font-size: 3.2rem !important; }
}
.slider-caption p { font-size: var(--cnvs-slider-caption-p-size) !important; }

.slider-feature a.card:hover {
	color: #fff !important;
	background-color: var(--pf-primary) !important;
}

.feature-box:hover h3 a, .fbox-content a:hover { color: #b13f00 !important; }
.feature-box .button.button-border:not(.button-fill):hover { color: #fff !important; }

.supporter-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 18px;
}

.supporter-card {
	background: linear-gradient(135deg, #f7fbff, #eef4fa);
	border: 1px solid rgba(0, 0, 0, 0.05);
	border-radius: 16px;
	box-shadow: 0 12px 30px rgba(0, 45, 64, 0.08);
	padding: 18px 14px;
	text-decoration: none;
	color: #0f2435;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
	display: flex;
	flex-direction: column;
	align-items: center;
	height: 100%;
}

.supporter-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 16px 38px rgba(0, 45, 64, 0.12);
	border-color: rgba(0, 45, 64, 0.15);
}

.supporter-card.supporter-card-full {
	grid-column: 1 / -1;
	width: 100%;
}

.supporter-logo {
	height: 90px;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 12px;
}

.supporter-logo img {
	max-height: 80px;
	max-width: 100%;
	object-fit: contain;
	filter: saturate(1.05);
}

.supporter-name {
	font-weight: 700;
	font-size: 0.95rem;
	letter-spacing: 0.3px;
}

@media(min-width: 992px){
	.colonna-chi-collaboriamo { position: relative; }
	.colonna-chi-collaboriamo::after {
		content: '';
		position: absolute;
		top: 0;
		left: -3px;
		width: 1px;
		height: 100%;
		background-color: #e5e5e5;
	}
}

/* Contatti page - smaller contact boxes */
.contact-info-card .bi {
	font-size: 2.5rem !important;
}

.contact-info-card h4 {
	font-size: 1.1rem !important;
	margin-bottom: 0.75rem !important;
}
