/* ===========================================================================
   Raina Impianti - stili comuni a tutte le pagine
   (variabili, tipografia, pulsanti, intestazione con menu, piè di pagina)

   PALETTE - ripresa dal logo
   navy #003F82 · navy scuro #002B5C · giallo #F2E205 · bianco
   =========================================================================== */

:root{
	--navy:#003F82;
	--navy-dark:#002B5C;
	--navy-deep:#001C3D;
	--yellow:#F2E205;
	--yellow-soft:#FFF3A8;
	--ink:#12233A;
	--muted:#5A6B80;
	--line:#DDE5EE;
	--bg-soft:#F4F7FB;
	--white:#fff;
	--radius:14px;
	--shadow:0 10px 30px rgba(0,42,90,.10);
	--shadow-lg:0 22px 50px rgba(0,42,90,.18);
	--maxw:1140px;
}

/* ============ BASE ============ */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:86px;}
body{
	margin:0;
	font-family:"Trebuchet MS","Segoe UI",Tahoma,Verdana,Arial,sans-serif;
	font-size:17px;
	line-height:1.65;
	color:var(--ink);
	background:var(--white);
	-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--navy);text-decoration:none;}
a:hover{text-decoration:underline;}
h1,h2,h3{line-height:1.2;margin:0 0 .5em;font-weight:700;letter-spacing:-.01em;}
h1{font-size:clamp(2rem,5vw,3.1rem);}
h2{font-size:clamp(1.6rem,3.4vw,2.3rem);}
h3{font-size:1.15rem;}
p{margin:0 0 1em;}
ul{margin:0;padding:0;list-style:none;}

.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 20px;}

.eyebrow{
	display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.14em;
	text-transform:uppercase;color:var(--navy);background:var(--yellow);
	padding:5px 12px;border-radius:999px;margin-bottom:14px;
}

.skip-link{
	position:absolute;left:-9999px;top:0;background:var(--yellow);color:var(--navy-deep);
	padding:10px 16px;z-index:100;font-weight:700;
}
.skip-link:focus{left:8px;top:8px;}

/* ============ PULSANTI ============ */
.btn{
	display:inline-flex;align-items:center;gap:9px;
	padding:14px 26px;border-radius:999px;border:2px solid transparent;
	font-weight:700;font-size:1rem;cursor:pointer;
	transition:transform .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease;
	text-decoration:none;
}
.btn:hover{text-decoration:none;transform:translateY(-2px);}
.btn--primary{background:var(--yellow);color:var(--navy-deep);box-shadow:0 8px 22px rgba(242,226,5,.35);}
.btn--primary:hover{background:#ffef3d;}
.btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55);}
.btn--ghost:hover{background:#fff;color:var(--navy);border-color:#fff;}
.btn--navy{background:var(--navy);color:#fff;box-shadow:var(--shadow);}
.btn--navy:hover{background:var(--navy-dark);}
.btn svg{width:19px;height:19px;flex:none;}
.btn[disabled]{opacity:.6;cursor:progress;transform:none;}

/* ============ INTESTAZIONE ============ */
.site-header{
	position:sticky;top:0;z-index:60;background:var(--navy);
	box-shadow:0 2px 14px rgba(0,0,0,.18);
}
.header-inner{display:flex;align-items:center;gap:16px;min-height:76px;}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto;}
.brand:hover{text-decoration:none;}
.brand img{width:52px;height:52px;border-radius:50%;box-shadow:0 0 0 2px rgba(255,255,255,.25);}
.brand-name{color:#fff;font-weight:700;font-size:1.2rem;letter-spacing:.02em;line-height:1.1;}
.brand-tag{display:block;color:var(--yellow);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;}

/* ============ MENU DI NAVIGAZIONE ============ */
.nav{display:flex;align-items:center;gap:4px;}
.nav a{
	color:#fff;font-size:.95rem;font-weight:600;padding:9px 13px;border-radius:8px;
	text-decoration:none;transition:background .15s ease,color .15s ease;
}
.nav a:hover{background:rgba(255,255,255,.12);text-decoration:none;}
.nav .nav-cta{background:var(--yellow);color:var(--navy-deep);margin-left:10px;padding:11px 20px;border-radius:999px;}
.nav .nav-cta:hover{background:#ffef3d;}

.nav-toggle{
	display:none;background:transparent;border:2px solid rgba(255,255,255,.4);
	border-radius:10px;padding:8px 10px;cursor:pointer;
}
.nav-toggle span{display:block;width:22px;height:2px;background:#fff;margin:4px 0;border-radius:2px;}

/* ============ PIE DI PAGINA ============ */
.site-footer{background:var(--navy-deep);color:rgba(255,255,255,.72);font-size:.92rem;padding:52px 0 26px;}
.site-footer h4{color:#fff;font-size:1rem;margin:0 0 14px;}
.site-footer a{color:rgba(255,255,255,.72);}
.site-footer a:hover{color:var(--yellow);}
.site-footer li{margin-bottom:8px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px;margin-bottom:34px;}
.footer-brand{display:flex;gap:14px;align-items:center;margin-bottom:16px;}
.footer-brand img{width:56px;height:56px;border-radius:50%;}
.footer-brand strong{color:#fff;font-size:1.1rem;}
.footer-brand-tag{font-weight:400;font-size:.85rem;color:rgba(255,255,255,.7);}
.footer-bottom{
	border-top:1px solid rgba(255,255,255,.14);padding-top:20px;
	display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;font-size:.85rem;
}

/* pulsante chiamata mobile */
.call-fab{
	display:none;position:fixed;right:16px;bottom:16px;z-index:70;
	width:58px;height:58px;border-radius:50%;background:var(--yellow);color:var(--navy-deep);
	align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(0,0,0,.3);
}
.call-fab svg{width:26px;height:26px;}

/* ============ RESPONSIVE ============ */
@media (max-width:960px){
	.footer-grid{grid-template-columns:1fr;}
}
@media (max-width:820px){
	.nav{
		display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;
		align-items:stretch;background:var(--navy-dark);padding:12px 20px 20px;gap:2px;
		box-shadow:0 14px 24px rgba(0,0,0,.25);
	}
	.nav.is-open{display:flex;}
	.nav a{padding:13px 10px;border-bottom:1px solid rgba(255,255,255,.08);}
	.nav .nav-cta{margin:12px 0 0;text-align:center;justify-content:center;border-bottom:none;}
	.nav-toggle{display:block;}
	.site-header .wrap{position:relative;}
	.call-fab{display:flex;}
}
@media (max-width:560px){
	.brand-name{font-size:1.05rem;}
}
@media (max-width:520px){
	.btn{width:100%;justify-content:center;}
}
