/* ==========================================================================
   CHECK-UP DIRETTIVA EED — landing (page-checkup-eed.php)
   Classi con prefisso .eed- per non interferire con style.css del tema.
   Usa le variabili del tema (--primary, --secondary, --font-title, ...).
   ========================================================================== */

/* Hero */
.eed-hero {
	background: linear-gradient(118deg, #26495f 0%, #4b7a6c 48%, #a8d45a 118%);
	color: var(--white);
	padding: 4rem 0 3.5rem;
}
.eed-hero-in { max-width: 920px; text-align: center; }
.eed-hero-badge {
	display: inline-block;
	padding: 0.35rem 0.9rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.3);
	font: 700 0.75rem var(--font-title);
	letter-spacing: 0.6px;
	text-transform: uppercase;
	margin-bottom: 1rem;
}
.eed-hero h1 {
	color: var(--white);
	font-family: var(--font-title);
	font-size: 2.6rem;
	line-height: 1.15;
	font-weight: 800;
	text-transform: uppercase;
	margin: 0 0 1rem;
}
.eed-hero h1 em { font-style: normal; color: var(--secondary-light); }
.eed-hero p { font-size: 1.1rem; line-height: 1.6; opacity: 0.95; max-width: 640px; margin: 0 auto; }
.eed-hero-stats { display: flex; justify-content: center; gap: 1rem; margin-top: 2rem; flex-wrap: wrap; }
.eed-hero-stats div {
	background: rgba(255, 255, 255, 0.13);
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: var(--radius-md);
	padding: 1rem 1.25rem;
	min-width: 220px;
	text-align: left;
}
.eed-hero-stats b { display: block; font: 800 1.9rem/1 var(--font-title); color: var(--secondary-light); margin-bottom: 0.4rem; }
.eed-hero-stats span { font-size: 0.85rem; font-weight: 600; line-height: 1.35; display: block; }

/* Contenitore */
.eed-section { background: var(--light); padding-top: 3rem; }
.eed-app { max-width: 820px; margin: 0 auto; scroll-margin-top: 110px; }
.eed-page-content { max-width: 820px; margin: 2.5rem auto 0; }
.eed-center { text-align: center; }
.eed-card {
	background: var(--white);
	border: 1px solid var(--gray-200);
	border-radius: var(--radius-lg);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
	padding: 2.25rem 2.5rem;
}
.eed-app h2 { font-family: var(--font-title); font-size: 1.5rem; font-weight: 700; color: var(--primary); margin: 0 0 0.4rem; }
.eed-sub { font-size: 0.95rem; color: var(--gray-500); line-height: 1.6; margin: 0 0 1.4rem; }
.eed-note { font-size: 0.75rem; color: var(--gray-500); line-height: 1.6; margin-top: 1rem; }
.eed-app .btn:disabled { opacity: 0.5; cursor: not-allowed; transform: none; box-shadow: none; }

/* Benvenuto */
.eed-howto { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-bottom: 1.75rem; }
.eed-howto-1 { grid-template-columns: 1fr; }
.eed-howto-2 { grid-template-columns: repeat(2, 1fr); }
.eed-howto-4 { grid-template-columns: repeat(4, 1fr); }
.eed-howto div { border: 1px solid var(--gray-200); border-left: 3px solid var(--primary); border-radius: var(--radius-md); padding: 1rem 1.1rem; }
.eed-howto span {
	display: inline-flex; align-items: center; justify-content: center;
	width: 28px; height: 28px; border-radius: 50%;
	background: #e4f19a; color: var(--primary);
	font: 800 0.9rem var(--font-title); margin-bottom: 0.5rem;
}
.eed-howto b { display: block; font: 700 0.95rem var(--font-title); color: var(--primary); margin-bottom: 0.25rem; }
.eed-howto p { font-size: 0.85rem; color: var(--gray-500); line-height: 1.5; margin: 0; }
.eed-consent { max-width: 660px; margin: 0 auto 1.5rem; padding: 1rem 1.15rem; border: 1px solid var(--gray-200); background: var(--light); border-radius: var(--radius-md); }
.eed-consent label { display: flex; align-items: flex-start; gap: 0.7rem; cursor: pointer; font-size: 0.85rem; line-height: 1.55; color: var(--dark); }
.eed-consent input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--primary); flex: 0 0 auto; }
.eed-consent a { color: var(--primary); }
.eed-consent small { display: block; font-size: 0.72rem; color: var(--gray-500); margin: 0.5rem 0 0 1.8rem; }

/* Avanzamento */
.eed-progress { list-style: none; display: flex; gap: 0.5rem; margin: 0 0 1.75rem; padding: 0; counter-reset: none; }
.eed-progress li { flex: 1; display: flex; flex-direction: column; gap: 0.45rem; font: 600 0.72rem var(--font-title); color: var(--gray-500); text-transform: uppercase; letter-spacing: 0.4px; }
.eed-progress li::before { content: ""; height: 4px; border-radius: 2px; background: var(--gray-200); }
.eed-progress li.done::before, .eed-progress li.on::before { background: var(--secondary); }
.eed-progress li.on { color: var(--primary); }
.eed-progress-n { display: none; }

/* Campi */
.eed-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
.eed-f { margin-bottom: 1rem; text-align: left; }
.eed-l { display: block; font-size: 0.82rem; font-weight: 600; color: var(--primary); margin-bottom: 0.35rem; font-family: var(--font-title); }
.eed-h { font-size: 0.72rem; color: var(--gray-500); margin-top: 0.3rem; line-height: 1.4; }
.eed-app input[type=text], .eed-app input[type=email], .eed-app input[type=tel], .eed-app input[type=number], .eed-app select {
	width: 100%;
	padding: 0.7rem 0.8rem;
	border: 1px solid var(--gray-300);
	border-radius: 6px;
	background: var(--white);
	color: var(--dark);
	font: inherit;
	font-size: 0.95rem;
	outline: none;
	transition: border-color 0.15s, box-shadow 0.15s;
}
.eed-app input:focus, .eed-app select:focus { border-color: var(--secondary); box-shadow: 0 0 0 3px rgba(131, 184, 23, 0.2); }
.eed-f.err input, .eed-f.err select { border-color: #c7451c; }
.eed-em { display: none; color: #c7451c; font-size: 0.75rem; margin-top: 0.3rem; }
.eed-f.err .eed-em { display: block; }
.eed-u { display: grid; grid-template-columns: 1fr 110px; gap: 0.5rem; margin-top: 0.5rem; }
.eed-chk {
	display: flex; gap: 0.65rem; align-items: flex-start;
	font-size: 0.86rem; line-height: 1.45;
	padding: 0.65rem 0.8rem; border: 1px solid var(--gray-200); border-radius: 6px;
	margin-bottom: 0.5rem; cursor: pointer; text-align: left; background: var(--white);
}
.eed-chk.err { border-color: #c7451c; }
.eed-chk input { width: 17px; height: 17px; accent-color: var(--primary); margin-top: 1px; flex: 0 0 auto; }
.eed-certs { margin-top: 1.25rem; }
.eed-certs .eed-l { margin-bottom: 0.5rem; }
.eed-hp { position: absolute !important; left: -9999px !important; opacity: 0; height: 0; width: 0; }
.eed-nav { display: flex; gap: 0.75rem; margin-top: 1.6rem; }
.eed-nav .btn-navy { flex: 2; }
.eed-nav .btn-outline-primary { flex: 1; }
.eed-nav-end { justify-content: flex-end; }
.eed-nav-end .btn { flex: 0 1 auto; min-width: 280px; }

/* Messaggi */
.eed-alert { border-radius: 6px; padding: 0.7rem 0.9rem; font-size: 0.85rem; line-height: 1.5; margin-bottom: 1rem; text-align: left; }
.eed-alert-e { background: #FDECE7; border: 1px solid #F2B8A5; color: #7a2a12; }
.eed-alert-w { background: #FFF8E8; border: 1px solid #F1D08A; color: #7A4B00; }
.eed-alert-i { background: #EEF4FB; border: 1px solid #BFD3EA; color: var(--primary); }
.eed-alert-ok { background: #F0F7E1; border: 1px solid #C9E39A; color: #3d5a05; }

/* Codice */
.eed-code { display: flex; gap: 0.6rem; justify-content: center; margin: 1.4rem 0 0.5rem; }
.eed-app .eed-code input { width: 52px; height: 62px; text-align: center; font: 700 1.75rem var(--font-title); padding: 0; color: var(--primary); }
.eed-timer { font-size: 0.8rem; color: var(--gray-500); margin-bottom: 1.1rem; min-height: 1.2em; }
.eed-links { margin-top: 0.9rem; display: flex; justify-content: center; gap: 0.5rem; flex-wrap: wrap; }
.eed-link { background: none; border: none; color: var(--primary); text-decoration: underline; padding: 0.4rem; font: inherit; font-size: 0.85rem; cursor: pointer; }
.eed-link:disabled { opacity: 0.5; cursor: not-allowed; }

/* Risultato */
.eed-app[data-step="risultato"] .eed-progress { margin-bottom: 1.25rem; }
.eed-confirm {
	display: flex; gap: 0.8rem; align-items: flex-start;
	background: #F0F7E1; border: 1px solid #C9E39A; color: #2f4705;
	border-radius: var(--radius-md); padding: 1rem 1.15rem; margin-bottom: 1.25rem;
	font-size: 0.9rem; line-height: 1.55;
}
.eed-confirm svg { color: var(--secondary); flex: 0 0 auto; margin-top: 1px; }
.eed-confirm b { color: var(--primary); }
.eed-rhero { border-radius: 10px; padding: 2.1rem 2.4rem; margin-bottom: 1.4rem; color: var(--white); }
.eed-s1 { background: linear-gradient(118deg, #334e68, #627d98); }
.eed-s2 { background: linear-gradient(118deg, #0056A7, #1863DC); }
.eed-s3 { background: linear-gradient(118deg, #001b30, #0056A7); }
.eed-rlab { font: 600 0.72rem var(--font-title); opacity: 0.9; letter-spacing: 1.6px; text-transform: uppercase; margin-bottom: 0.6rem; }
.eed-big { font: 800 4.5rem/1 var(--font-title); color: var(--secondary-light); }
.eed-big-m { font-size: 3.1rem; }
.eed-big-s { font-size: 2.5rem; }
.eed-unit { font: 700 1.5rem var(--font-title); }
.eed-rhero h3 { color: var(--white); font: 700 1.35rem var(--font-title); margin: 0.6rem 0 0.4rem; }
.eed-rhero p { font-size: 0.92rem; opacity: 0.95; line-height: 1.6; max-width: 600px; margin: 0; }
.eed-gauge {
	margin: 1.5rem 0 0.25rem; position: relative; height: 10px; border-radius: 999px;
	background: linear-gradient(90deg, rgba(255,255,255,.25) 0 33.3%, rgba(255,255,255,.4) 33.3% 66.6%, rgba(255,255,255,.6) 66.6% 100%);
}
.eed-dot { position: absolute; top: -5px; width: 20px; height: 20px; border-radius: 50%; background: var(--secondary-light); box-shadow: 0 0 0 4px rgba(255,255,255,.4); transform: translateX(-50%); transition: left 1.1s ease; }
.eed-rng { position: absolute; top: -3px; height: 16px; border-radius: 999px; background: var(--secondary-light); box-shadow: 0 0 0 3px rgba(255,255,255,.35); transition: left 1.1s ease, width 1.1s ease; }
.eed-gl { margin-top: 0.5rem; position: relative; height: 14px; font-size: 0.7rem; opacity: 0.9; }
.eed-gl span { position: absolute; transform: translateX(-50%); }
.eed-rfoot { font-size: 0.75rem; opacity: 0.9; margin-top: 0.9rem; }
.eed-box { background: var(--white); border: 1px solid var(--gray-200); border-left: 3px solid var(--primary); border-radius: var(--radius-md); padding: 1.25rem 1.4rem; margin-bottom: 1rem; text-align: left; }
.eed-box h4 { font: 700 0.8rem var(--font-title); letter-spacing: 0.8px; text-transform: uppercase; color: var(--primary); margin: 0 0 0.6rem; }
.eed-box p, .eed-box li { font-size: 0.9rem; line-height: 1.65; color: var(--dark); }
.eed-box p { margin: 0 0 0.5rem; }
.eed-box ul { padding-left: 1.15rem; margin: 0; list-style: disc; }
.eed-sc { width: 100%; border-collapse: collapse; font-size: 0.85rem; }
.eed-sc td { padding: 0.5rem 0.25rem; border-bottom: 1px solid #eef2f6; vertical-align: top; }
.eed-sc td:first-child { white-space: nowrap; font-weight: 700; color: var(--primary); padding-right: 0.9rem; }
.eed-svc { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1.1rem; }
.eed-s-card { border: 1px solid var(--gray-200); border-radius: var(--radius-md); overflow: hidden; background: var(--white); display: flex; flex-direction: column; }
.eed-s-card.rec { border-color: var(--secondary); box-shadow: 0 0 0 2px rgba(131, 184, 23, 0.25); }
.eed-s-card img { width: 100%; height: auto; display: block; background: #e8eee1; }
.eed-s-t { padding: 0.9rem 1rem 1rem; }
.eed-s-t h5 { font: 700 0.95rem var(--font-title); color: var(--primary); margin: 0 0 0.35rem; }
.eed-s-t p { font-size: 0.85rem; line-height: 1.6; margin: 0; }
.eed-badge { display: inline-block; margin-bottom: 0.5rem; background: var(--secondary); color: var(--white); font: 700 0.65rem var(--font-title); letter-spacing: 0.6px; text-transform: uppercase; padding: 0.25rem 0.6rem; border-radius: 12px; }
.eed-cta { background: linear-gradient(118deg, #26495f, #4b7a6c 55%, #83b817); color: var(--white); border-radius: 10px; padding: 1.9rem 1.6rem; text-align: center; margin: 1.4rem 0; }
.eed-cta h3 { color: var(--white); font: 700 1.35rem var(--font-title); margin: 0 0 0.5rem; }
.eed-cta p { font-size: 0.92rem; opacity: 0.96; margin: 0 auto 1.1rem; max-width: 540px; line-height: 1.6; }

/* Responsive */
@media (max-width: 820px) {
	.eed-hero { padding: 3rem 0 2.75rem; }
	.eed-hero h1 { font-size: 1.9rem; }
	.eed-howto, .eed-howto-2, .eed-howto-4 { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	.eed-hero h1 { font-size: 1.6rem; }
	.eed-hero p { font-size: 1rem; }
	.eed-hero-stats div { min-width: 0; flex: 1 1 140px; }
	.eed-section { padding-top: 1.75rem; }
	.eed-card { padding: 1.5rem 1.1rem; border-radius: var(--radius-md); }
	.eed-grid2, .eed-svc { grid-template-columns: 1fr; }
	.eed-progress li { font-size: 0.6rem; letter-spacing: 0; }
	.eed-app .eed-code input { width: 42px; height: 52px; font-size: 1.4rem; }
	.eed-code { gap: 0.4rem; }
	.eed-nav { flex-direction: column-reverse; }
	.eed-nav-end .btn { min-width: 0; width: 100%; }
	.eed-rhero { padding: 1.6rem 1.25rem; }
	.eed-big { font-size: 3.4rem; }
	.eed-big-m { font-size: 2.4rem; }
	.eed-big-s { font-size: 1.9rem; }
	.eed-sc td:first-child { white-space: normal; }
}
