/* ===========================================================================
   Raina Impianti - stili della sola home (template home)
   Richiede /css/site.css, che va caricato prima di questo file.
   =========================================================================== */

/* ============ SEZIONI ============ */
.section{padding:76px 0;}
.section--soft{background:var(--bg-soft);}
.section--navy{background:var(--navy);color:#fff;}
.section--navy a{color:var(--yellow);}
.section-head{max-width:720px;margin:0 auto 46px;text-align:center;}
.section-head p{color:var(--muted);font-size:1.06rem;margin:0;}
.section--navy .section-head p{color:rgba(255,255,255,.82);}
.section--navy .eyebrow{background:var(--yellow);color:var(--navy-deep);}

/* ============ HERO ============ */
.hero{
	position:relative;color:#fff;
	background:
		radial-gradient(1000px 520px at 12% -10%,rgba(255,255,255,.13),transparent 60%),
		linear-gradient(160deg,var(--navy) 0%,var(--navy-dark) 55%,var(--navy-deep) 100%);
	overflow:hidden;
}
.hero::after{
	content:"";position:absolute;right:-140px;top:-140px;width:460px;height:460px;
	border-radius:50%;border:36px solid rgba(242,226,5,.09);pointer-events:none;
}
.hero-inner{
	display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;
	padding:82px 0 90px;position:relative;z-index:1;
}
.hero h1{margin-bottom:.35em;}
.hero h1 em{font-style:normal;color:var(--yellow);}
.hero-lead{font-size:1.15rem;color:rgba(255,255,255,.88);max-width:560px;}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0 26px;}
.hero-points{display:flex;flex-wrap:wrap;gap:10px 24px;font-size:.95rem;color:rgba(255,255,255,.9);}
.hero-points li{display:flex;align-items:center;gap:8px;}
.hero-points svg{width:17px;height:17px;color:var(--yellow);flex:none;}

.hero-badge{justify-self:center;text-align:center;}
.hero-badge img{
	width:min(300px,72vw);border-radius:50%;
	box-shadow:0 0 0 10px rgba(255,255,255,.06),0 24px 60px rgba(0,0,0,.35);
}
.hero-badge figcaption{margin-top:20px;font-size:.9rem;color:rgba(255,255,255,.75);}
.hero-badge strong{display:block;color:var(--yellow);font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;}

/* barra sotto hero */
.strip{background:var(--yellow);color:var(--navy-deep);}
.strip ul{
	display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
	padding:18px 0;text-align:center;font-weight:700;font-size:.95rem;
}
.strip li{display:flex;align-items:center;justify-content:center;gap:9px;}
.strip svg{width:20px;height:20px;flex:none;}

/* ============ CARD SERVIZI ============ */
.grid{display:grid;gap:24px;}
.grid--3{grid-template-columns:repeat(3,1fr);}
.grid--2{grid-template-columns:repeat(2,1fr);}
.grid--4{grid-template-columns:repeat(4,1fr);}

.card{
	background:#fff;border:1px solid var(--line);border-radius:var(--radius);
	padding:30px 26px;box-shadow:var(--shadow);
	transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:#c9d8ea;}
.card h3{margin-bottom:.45em;color:var(--navy);}
.card p{color:var(--muted);font-size:.98rem;margin-bottom:1em;}
.card-icon{
	width:56px;height:56px;border-radius:14px;background:var(--navy);
	display:flex;align-items:center;justify-content:center;margin-bottom:18px;
}
.card-icon svg{width:28px;height:28px;color:var(--yellow);}
.card ul li{
	position:relative;padding-left:22px;font-size:.94rem;color:var(--ink);margin-bottom:6px;
}
.card ul li::before{
	content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;
	border-radius:50%;background:var(--yellow);box-shadow:0 0 0 2px var(--navy);
}

/* ============ PROCESSO ============ */
.step{position:relative;padding:30px 24px;background:rgba(255,255,255,.07);border-radius:var(--radius);border:1px solid rgba(255,255,255,.14);}
.step-num{
	display:inline-flex;align-items:center;justify-content:center;
	width:42px;height:42px;border-radius:50%;background:var(--yellow);color:var(--navy-deep);
	font-weight:700;font-size:1.05rem;margin-bottom:16px;
}
.step h3{color:#fff;}
.step p{color:rgba(255,255,255,.8);font-size:.95rem;margin:0;}

/* ============ PERCHÉ NOI ============ */
.why{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.why-item{display:flex;gap:16px;align-items:flex-start;}
.why-icon{
	flex:none;width:46px;height:46px;border-radius:12px;background:var(--yellow-soft);
	display:flex;align-items:center;justify-content:center;
}
.why-icon svg{width:24px;height:24px;color:var(--navy);}
.why-item h3{margin-bottom:.25em;}
.why-item p{color:var(--muted);font-size:.96rem;margin:0;}

/* ============ SETTORI ============ */
.sector{
	border-left:5px solid var(--yellow);background:#fff;border-radius:0 var(--radius) var(--radius) 0;
	padding:26px 26px 26px 24px;box-shadow:var(--shadow);
}
.sector h3{color:var(--navy);}
.sector p{color:var(--muted);font-size:.96rem;margin:0;}

/* ============ FAQ ============ */
.faq{max-width:840px;margin:0 auto;}
.faq details{
	background:#fff;border:1px solid var(--line);border-radius:12px;
	margin-bottom:12px;overflow:hidden;
}
.faq summary{
	cursor:pointer;padding:18px 52px 18px 20px;font-weight:700;color:var(--navy);
	position:relative;list-style:none;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{
	content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);
	font-size:1.5rem;font-weight:400;color:var(--yellow);
	background:var(--navy);width:28px;height:28px;border-radius:50%;
	display:flex;align-items:center;justify-content:center;line-height:1;
}
.faq details[open] summary::after{content:"–";}
.faq details p{padding:0 20px 18px;margin:0;color:var(--muted);font-size:.97rem;}

/* ============ CONTATTI ============ */
.contact{display:grid;grid-template-columns:1fr 1.1fr;gap:34px;align-items:start;}
.contact-card{background:#fff;border-radius:var(--radius);padding:30px;box-shadow:var(--shadow);color:var(--ink);}
.contact-list li{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line);}
.contact-list li:last-child{border-bottom:none;}
.contact-list .ico{
	flex:none;width:42px;height:42px;border-radius:11px;background:var(--navy);
	display:flex;align-items:center;justify-content:center;
}
.contact-list .ico svg{width:21px;height:21px;color:var(--yellow);}
.contact-list strong{display:block;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700;}
.contact-list a,.contact-list span{font-size:1.05rem;color:var(--ink);font-weight:600;}
.contact-list a:hover{color:var(--navy);}

/* ============ MODULO ============ */
form label{display:block;font-weight:700;font-size:.88rem;margin-bottom:6px;color:var(--ink);}
form input,form select,form textarea{
	width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;
	font:inherit;font-size:.98rem;background:#fff;color:var(--ink);margin-bottom:16px;
}
form input:focus,form select:focus,form textarea:focus{
	outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(0,63,130,.12);
}
form textarea{min-height:120px;resize:vertical;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;}
.form-privacy{display:flex;gap:10px;align-items:flex-start;font-size:.85rem;color:var(--muted);margin-bottom:18px;}
.form-privacy input{width:auto;margin:4px 0 0;}
.form-note{font-size:.82rem;color:var(--muted);margin:14px 0 0;}
.form-alert{
	display:none;border-radius:10px;padding:13px 16px;margin-bottom:18px;
	font-size:.94rem;font-weight:600;border:1px solid transparent;
}
.form-alert.is-visible{display:block;}
.form-alert.is-ok{background:#e9f8ef;border-color:#b7e3c6;color:#14663a;}
.form-alert.is-warn{background:#fff6e0;border-color:#f3ddaa;color:#8a5b00;}
.form-alert.is-error{background:#fdecec;border-color:#f4c4c4;color:#a01c1c;}
.field-error{display:block;margin:-10px 0 14px;font-size:.82rem;font-weight:600;color:#a01c1c;}
input.is-invalid,select.is-invalid,textarea.is-invalid{border-color:#d95757;}
/* campo esca per i bot: invisibile agli utenti, non un display:none */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.btn--block{width:100%;justify-content:center;}

/* pulsante "Chiama ora" sotto i contatti */
.contact-call{margin:22px 0 0;}

/* ============ RESPONSIVE ============ */
@media (max-width:960px){
	.hero-inner{grid-template-columns:1fr;text-align:center;padding:56px 0 64px;}
	.hero-lead{margin-inline:auto;}
	.hero-actions,.hero-points{justify-content:center;}
	.hero-badge{order:-1;}
	.hero-badge img{width:min(210px,58vw);}
	.grid--3,.grid--4,.grid--2,.why,.contact{grid-template-columns:1fr;}
	.strip ul{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:520px){
	.section{padding:54px 0;}
	.form-row{grid-template-columns:1fr;}
	.strip ul{grid-template-columns:1fr;text-align:left;}
	.strip li{justify-content:flex-start;}
}
