﻿/* =====================================================
   SKINNER THEME - Bootstrap 5.3.3 personalizzato
   Stile istituzionale coerente e sobrio
   ===================================================== */
/* --- Palette principale --- */
:root {
	--bs-primary: #0F4F6E;
	--bs-primary-rgb: 27, 79, 114;
	--bs-secondary: #21618C;
	--bs-secondary-rgb: 33, 97, 140;
	--bs-link-color: #1B4F72;
	--bs-link-hover-color: #21618C;
	--bs-body-color: #2C3E50;
	--bs-body-bg: #ffffff; /* Soft palette per i contenuti */;
	--soft-bg: #F4F9FC; /* azzurro molto chiaro */;
	--soft-bg-alt: #FFFFFF; /* alternanza bianco */;
	--soft-border: #D7E6F2; /* grigio-azzurro tenue */;
	--soft-accent: #6EAEDB;  /* accento testi/link secondari */
}
/* --- Tipografia generale --- */
body {
	font-family: "Georgia", "Times New Roman", serif;
	color: var(--bs-body-color);
	background-color: var(--bs-body-bg);
	line-height: 1.7;
}
/* --- Titoli eleganti --- */
h1, h2, h3, h4, h5 {
	font-family: "Georgia", "Times New Roman", serif;
	font-weight: 500;
	color: var(--bs-primary);
	letter-spacing: 0.3px;
	line-height: 1.3;
}
h1 {
	font-size: 1.8rem;
}
h2 {
	font-size: 1.4rem;
}
h3 {
	font-size: 1.2rem;
	color: #154360;
}
p, li {
	font-size: 1rem;
	color: #2C3E50;
}
/* --- Navbar blu istituzionale --- */
.navbar {
	background-color: var(--bs-primary) !important;
	border-bottom: 2px solid #154360;
}
.navbar .nav-link {
	color: #F8F9FA !important;
	font-weight: 500;
	transition: color 0.2s ease;
}
.navbar .nav-link:hover, .navbar .nav-link:focus, .navbar .nav-link.active {
	color: #85C1E9 !important;
}
.navbar .dropdown-menu {
	background-color: #F8F9FA;
	border-radius: 0.5rem;
	border: none;
	box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
.navbar .dropdown-item:hover {
	background-color: #EAF2F8;
	color: var(--bs-primary);
}
.navbar a.text-light:hover {
	color: #AED6F1 !important;
}
/* --- Pulsante menu mobile visibile su blu --- */
.navbar-toggler {
	border-color: rgba(255, 255, 255, 0.6);
}
.navbar-toggler-icon {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.9%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar-toggler:focus, .navbar-toggler:hover {
	border-color: #AED6F1;
	outline: none;
	box-shadow: none;
}
.navbar-brand { color:#ffffff !important; }
.brand {
	font-weight: 600;
	letter-spacing: .5px;
font-size: 1.2rem;
color: #EAF2F8;
}
/* --- Hero section --- */
.hero {
	background: linear-gradient(135deg, #106193 0%, #21618C 100%);
	color: #f8f9fa;
	position: relative;
}
.hero-logo {
	max-width: 120px;
	width: 100%;
	height: auto;
	filter: drop-shadow(0 2px 4px rgba(0,0,0,0.25));
	transition: transform 0.3s ease;
}
.hero-logo:hover {
	transform: scale(1.03);
}
.hero-title {
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1.3;
}
.hero h1, .hero .hero-title {
	color: #EAF2F8 !important; /* bianco azzurrato */;
	text-shadow: 0 1px 3px rgba(0,0,0,0.3);
}
.hero p.lead {
	font-size: 1.05rem;
	color: #e8eaf0;
	font-style: italic;
}
@media (max-width: 767.98px) {
.hero {
	text-align: center;
}
.hero-logo {
	max-width: 100px;
	margin-bottom: 0.5rem;
}
}
/* --- Pulsanti coerenti --- */
.btn-primary {
	background-color: var(--bs-primary);
	border-color: var(--bs-primary);
}
.btn-primary:hover, .btn-primary:focus {
	background-color: var(--bs-secondary);
	border-color: var(--bs-secondary);
}
.btn-outline-secondary {
	color: var(--bs-primary);
	border-color: var(--bs-primary);
}
.btn-outline-secondary:hover, .btn-outline-secondary:focus {
	background-color: var(--bs-primary);
	color: #fff;
	border-color: var(--bs-primary);
}
.btn-outline-secondary:hover {
	background-color: #EAF2F8;
	color: var(--bs-primary);
}
/* --- Card e box --- */
.card, .card-cta {
	border: none;
	border-radius: 0.75rem;
	box-shadow: 0 3px 10px rgba(0,0,0,0.08);
}
.card-title {
	color: var(--bs-primary);
	font-weight: 500;
}
/* --- Link e hover coerenti --- */
a {
	color: var(--bs-link-color);
	text-decoration: none;
}
a:hover {
	color: var(--bs-link-hover-color);
	text-decoration: underline;
}
.programmi-home {
	background-color: #F4F9FC; /* colore soft */
}
.programmi-home h2 {
	font-weight: 600;
	letter-spacing: 0.5px;
	color: #1B4F72;
}
.programmi-home .card {
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	background-color: #FFFFFF;
	border-radius: 0.75rem;
}
.programmi-home .card:hover {
	transform: translateY(-4px);
	box-shadow: 0 6px 14px rgba(0, 0, 0, 0.15);
}
.programmi-home img {
	object-fit: cover;
	height: auto;
	max-height: 220px; /* riduce le dimensioni */;
	border-radius: 0.75rem;
}
/* --- FOOTER --- */
footer {
	background-color: #1B2631;
	color: #d5d8dc;
}
footer a {
	color: #f8f9fa;
}
footer a:hover {
	color: #85C1E9;
}
/* =====================================================
   SOFT CONTENT STYLING
   ===================================================== */
.section-soft {
	background-color: var(--soft-bg);
}
.section-soft-alt {
	background-color: var(--soft-bg-alt);
}
.divider-soft {
	border: 0;
	border-top: 1px solid var(--soft-border);
	margin: 2rem 0;
	opacity: 1;
}
.info-box {
	background-color: #ECF5FA; /* soft più evidente ma delicato */;
	border-left: 4px solid var(--soft-accent);
	padding: 1.25rem 1.25rem 1.25rem 1rem;
	border-radius: 0.5rem;
	margin: 1.25rem 0 0.25rem;
}
.text-accent {
	color: var(--soft-accent);
}
/* thumb uniforme e più piccola */
.programmi-home .thumb {
	height: 200px; /* ← riduci/aumenta qui (140-200) */;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border-radius: 0.75rem;
	padding: 8px;
	overflow: hidden;
/* evita sbordamenti */box-shadow: 0 2px 8px rgba(0,0,0,.06);
}
/* mostra SEMPRE l’immagine intera, senza distorsioni */
.programmi-home .thumb img {
	max-height: 100%;
	max-width: 100%;
	width: auto;
	height: auto;
	object-fit: contain;        /* nessun taglio, letterboxing se necessario */
}
.sidebar-image {
	background-color: #F9FCFE;
	padding: 10px 0;
}
.sidebar-image img {
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.sidebar-image img:hover {
	transform: scale(1.03);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
