/* ═══════════════════════════════════════════════
   GLOBY ESSENTIAL — Theme Stylesheet v2.0
   Assilife S.r.l. · prodotti Allianz Partners
   ═══════════════════════════════════════════════ */

:root {
	--ge-navy:       #003366;
	--ge-navy-dark:  #001f3d;
	--ge-blue:       #14568f;
	--ge-blue-light: #009FE3;
	--ge-cyan:       #00AEEF;
	--ge-white:      #ffffff;
	--ge-light:      #f5f7fa;
	--ge-mid:        #e8ecf0;
	--ge-text:       #333333;
	--ge-text-mid:   #555555;
	--ge-text-light: #888888;
	--ge-border:     #dde2e8;
	--ge-giallo:     #F5A623;
	--ge-rosso:      #D0021B;
	--ge-verde:      #007A4D;
	--ge-radius:     4px;
	--ge-radius-lg:  6px;
	--ge-shadow:     0 4px 20px rgba(0,51,102,.08);
	--ge-shadow-lg:  0 10px 40px rgba(0,51,102,.12);
	--ge-max-width:  1140px;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }

body {
	font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	color: var(--ge-text);
	background: var(--ge-white);
	font-size: 15px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

a { color: var(--ge-blue); text-decoration: none; transition: color .15s; }
a:hover { color: var(--ge-navy); }

h1, h2, h3, h4, h5, h6 {
	color: var(--ge-navy);
	font-weight: 700;
	line-height: 1.25;
	margin: 0 0 .6em;
}

img { max-width: 100%; height: auto; display: block; }

.screen-reader-text {
	clip: rect(1px,1px,1px,1px);
	position: absolute !important;
	height: 1px; width: 1px; overflow: hidden;
}
.ge-skip-link {
	position: absolute; left: -9999px; top: 8px;
	background: var(--ge-navy); color: #fff; padding: 8px 16px; z-index: 999;
}
.ge-skip-link:focus { left: 8px; }

/* ═══ TOPBAR ═══ */
.ge-topbar {
	background: var(--ge-navy-dark);
	color: rgba(255,255,255,.68);
	font-size: 12px;
	padding: 7px 20px;
}
.ge-topbar-inner {
	max-width: var(--ge-max-width);
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}
.ge-topbar-id strong { color: rgba(255,255,255,.92); font-weight: 600; }
.ge-topbar-nav { display: flex; gap: 20px; }
.ge-topbar a { color: rgba(255,255,255,.7); }
.ge-topbar a:hover { color: #fff; }

/* ═══ HEADER ═══ */
.ge-header {
	background: #fff;
	border-bottom: 3px solid var(--ge-navy);
	padding: 0 20px;
	position: sticky;
	top: 0;
	z-index: 100;
	box-shadow: 0 2px 8px rgba(0,0,0,.06);
}
.ge-header-inner {
	max-width: var(--ge-max-width);
	margin: 0 auto;
	height: 86px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 16px;
}


/* ═══ LOGO ASSILIFE NELL'HEADER ═══ */
.ge-logo { display: block; flex-shrink: 0; line-height: 0; }
.ge-logo img { height: 70px; width: auto; display: block; }
@media (max-width: 860px) { .ge-logo img { height: 54px; } }

/* ═══ MARCHIO DEL SITO (non più usato nell'header) ═══ */
.ge-mark {
	display: inline-flex;
	flex-direction: column;
	text-decoration: none;
	line-height: 1;
	flex-shrink: 0;
}
.ge-mark-top { display: inline-flex; flex-direction: column; align-items: stretch; }
.ge-mark-word {
	font-size: 26px;
	font-weight: 700;
	color: var(--ge-navy);
	letter-spacing: -.7px;
	line-height: 1;
}
.ge-mark-arc {
	width: 128px;
	height: 12px;
	display: block;
	margin-top: 2px;
	overflow: visible;
}
.ge-arc-bar  { fill: var(--ge-cyan); }
.ge-arc-line { stroke: var(--ge-navy); }
.ge-arc-dot  { fill: var(--ge-cyan); }
.ge-mark-sub {
	font-size: 9px;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: var(--ge-text-light);
	font-weight: 600;
	margin-top: 6px;
}

/* versione su fondo scuro */
.ge-mark-light .ge-mark-word { color: #fff; }
.ge-mark-light .ge-arc-line  { stroke: #fff; }
.ge-mark-light .ge-mark-sub  { color: rgba(255,255,255,.5); }

/* riga di attribuzione accanto al marchio */
.ge-mark-attr {
	font-size: 10.5px;
	color: var(--ge-text-light);
	line-height: 1.5;
	padding-left: 16px;
	border-left: 1px solid var(--ge-border);
	white-space: nowrap;
}
.ge-mark-attr strong { color: var(--ge-navy); font-weight: 600; }

@media (max-width: 1100px) { .ge-mark-attr { display: none; } }
@media (max-width: 860px) {
	.ge-mark-word { font-size: 22px; }
	.ge-mark-arc { width: 108px; height: 10px; }
	.ge-mark-sub { font-size: 8px; letter-spacing: 2px; margin-top: 5px; }
}

.ge-nav-list { display: flex; list-style: none; margin: 0; padding: 0; }
.ge-nav-list li { margin: 0; }
.ge-nav { margin-left: auto; }
.ge-nav-list > li { position: relative; }
.ge-nav-list > li > a {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 34px 13px;
	font-size: 13px;
	font-weight: 600;
	color: var(--ge-text);
	border-bottom: 3px solid transparent;
	margin-bottom: -3px;
	white-space: nowrap;
}
.ge-nav-list > li > a:hover,
.ge-nav-list > .current-menu-item > a { color: var(--ge-navy); border-color: var(--ge-cyan); }
.ge-mi-caret { width: 10px; height: 7px; flex-shrink: 0; opacity: .55; transition: transform .18s; }
.ge-has-sub:hover .ge-mi-caret { transform: rotate(180deg); opacity: 1; }

/* Pulsante di apertura del sottomenu */
.ge-sub-toggle {
	background: none;
	border: none;
	cursor: pointer;
	padding: 34px 12px 34px 2px;
	margin-left: -8px;
	margin-bottom: -3px;
	color: var(--ge-text);
	display: flex;
	align-items: center;
	line-height: 0;
	border-bottom: 3px solid transparent;
}
.ge-sub-toggle svg { width: 10px; height: 7px; opacity: .55; transition: transform .18s; }
.ge-sub-toggle:hover svg { opacity: 1; }
.ge-has-sub.is-open .ge-sub-toggle svg { transform: rotate(180deg); opacity: 1; }
.ge-has-sub.is-open > a,
.ge-has-sub.is-open > .ge-sub-toggle { color: var(--ge-navy); border-color: var(--ge-cyan); }
.ge-nav-list > li { display: flex; align-items: center; }

/* ═══ SOTTOMENU PRODOTTI ═══ */
.ge-submenu {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 320px;
	background: #fff;
	border: 1px solid var(--ge-border);
	border-top: 3px solid var(--ge-cyan);
	border-radius: 0 0 var(--ge-radius-lg) var(--ge-radius-lg);
	box-shadow: 0 12px 32px rgba(0,51,102,.13);
	list-style: none;
	margin: 0;
	padding: 8px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity .16s, transform .16s, visibility .16s;
	z-index: 120;
}
.ge-has-sub:hover > .ge-submenu,
.ge-has-sub.is-open > .ge-submenu,
.ge-has-sub:focus-within > .ge-submenu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.ge-submenu li { margin: 0; }
.ge-submenu a {
	display: block;
	padding: 11px 13px;
	border-radius: var(--ge-radius);
	border: none;
	margin: 0;
	white-space: normal;
}
.ge-submenu a:hover { background: var(--ge-light); }
.ge-submenu .ge-mi-title {
	display: block;
	font-size: 14px;
	font-weight: 700;
	color: var(--ge-navy);
	line-height: 1.3;
}
.ge-submenu .ge-mi-desc {
	display: block;
	font-size: 12px;
	color: var(--ge-text-mid);
	line-height: 1.45;
	margin-top: 2px;
}
.ge-nav-list a:hover, .ge-nav-list .current-menu-item a {
	color: var(--ge-navy);
	border-color: var(--ge-cyan);
}

.ge-mobile-toggle {
	display: none; background: none; border: none;
	width: 32px; height: 32px; cursor: pointer; padding: 0;
}
.ge-mobile-toggle span {
	display: block; width: 24px; height: 3px;
	background: var(--ge-navy); margin: 5px auto; border-radius: 2px;
}


/* ═══ MAIN / SEZIONI ═══ */
.ge-main { min-height: 60vh; }
.ge-section { padding: 60px 20px; }
.ge-section.alt { background: var(--ge-light); }
.ge-section-inner { max-width: var(--ge-max-width); margin: 0 auto; }
.ge-section-hdr { margin-bottom: 40px; }
.ge-section-hdr h2 { font-size: 28px; margin: 0; }
.ge-section-hdr h2::after {
	content: ''; display: block; width: 50px; height: 3px;
	background: var(--ge-cyan); margin-top: 12px;
}
.ge-section-hdr p {
	font-size: 15px; color: var(--ge-text-mid);
	max-width: 660px; line-height: 1.7; margin-top: 14px;
}

/* ═══ HERO ═══ */
.ge-hero {
	background: linear-gradient(160deg, var(--ge-navy-dark) 0%, var(--ge-navy) 52%, #0a4b82 100%);
	padding: 56px 20px 62px;
	color: #fff;
	position: relative;
	overflow: hidden;
}
.ge-hero::after {
	content: '';
	position: absolute; right: -180px; top: -180px;
	width: 620px; height: 620px; border-radius: 50%;
	background: radial-gradient(circle, rgba(0,174,239,.14) 0%, transparent 65%);
	pointer-events: none;
}
.ge-hero-inner { max-width: var(--ge-max-width); margin: 0 auto; position: relative; z-index: 1; }
.ge-hero-lead { max-width: 680px; margin-bottom: 40px; }
.ge-hero h1 {
	font-size: 40px; line-height: 1.15; color: #fff;
	font-weight: 700; margin: 0 0 16px; letter-spacing: -.5px;
}
.ge-hero-lead p {
	font-size: 17px; line-height: 1.65;
	color: rgba(255,255,255,.8); margin: 0; max-width: 620px;
}


/* ═══ HERO — testata e blocco emittente ═══ */
.ge-hero-top {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 48px;
	align-items: start;
	margin-bottom: 40px;
}
.ge-hero-lead { max-width: 680px; margin-bottom: 0; }
.ge-hero h1 {
	font-size: 46px;
	line-height: 1.08;
	letter-spacing: -.8px;
	margin: 0 0 10px;
}
.ge-hero-claim {
	font-size: 20px !important;
	font-weight: 600;
	color: var(--ge-cyan) !important;
	line-height: 1.35;
	margin: 0 0 16px !important;
	max-width: 560px;
}

.ge-hero-issuer {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	text-align: right;
	gap: 9px;
	padding-left: 40px;
	border-left: 1px solid rgba(255,255,255,.16);
	padding-top: 6px;
	min-width: 240px;
}
.ge-hi-label { font-size: 11.5px; color: rgba(255,255,255,.55); }
.ge-hi-logo {
	height: 30px; width: auto; display: block;
	filter: brightness(0) invert(1);
	opacity: .95;
}
.ge-hi-note { font-size: 11px; color: rgba(255,255,255,.42); line-height: 1.55; }


@media (max-width: 960px) {
	.ge-hero-top { grid-template-columns: 1fr; gap: 28px; }
	.ge-hero-issuer {
		align-items: flex-start;
		text-align: left;
		padding-left: 0;
		border-left: none;
		padding-top: 20px;
		border-top: 1px solid rgba(255,255,255,.16);
		min-width: 0;
	}
	.ge-hero h1 { font-size: 32px; }
	.ge-hero-claim { font-size: 17px !important; }
}
@media (max-width: 600px) {
	.ge-hero h1 { font-size: 27px; }
	.ge-hero-claim { font-size: 16px !important; }
	.ge-ph-issuer { align-items: flex-start; text-align: left; }
}

.ge-choose-q { font-size: 13px; color: var(--ge-cyan); font-weight: 600; margin: 0 0 14px; }
.ge-choose-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.ge-choose {
	display: flex; flex-direction: column;
	background: rgba(255,255,255,.07);
	border: 1px solid rgba(255,255,255,.16);
	border-radius: var(--ge-radius-lg);
	padding: 20px 20px 18px;
	text-decoration: none;
	transition: background .18s, border-color .18s, transform .18s;
	position: relative; overflow: hidden;
}
.ge-choose::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; }
.ge-ch-giallo::before { background: var(--ge-giallo); }
.ge-ch-rosso::before  { background: var(--ge-rosso); }
.ge-ch-verde::before  { background: #3fbf88; }
.ge-choose:hover {
	background: rgba(255,255,255,.13);
	border-color: rgba(255,255,255,.32);
	transform: translateY(-2px);
}
.ge-choose-name { font-size: 15px; font-weight: 700; color: #fff; margin-bottom: 7px; }
.ge-choose-what {
	font-size: 13.5px; color: rgba(255,255,255,.72);
	line-height: 1.55; margin-bottom: 16px; flex: 1;
}
.ge-choose-num { font-size: 22px; font-weight: 700; color: var(--ge-cyan); line-height: 1.1; display: block; }
.ge-choose-num small {
	display: block; font-size: 11.5px; font-weight: 400;
	color: rgba(255,255,255,.55); margin-top: 4px;
}
.ge-choose-compare {
	display: inline-block; margin-top: 20px; font-size: 14px; color: #fff;
	border-bottom: 1px solid rgba(255,255,255,.4); padding-bottom: 2px;
}
.ge-choose-compare:hover { color: var(--ge-cyan); border-color: var(--ge-cyan); }

/* ═══ TRUST STRIP ═══ */
.ge-trust { background: #fff; border-bottom: 1px solid var(--ge-border); padding: 24px 20px; }
.ge-trust-inner {
	max-width: var(--ge-max-width); margin: 0 auto;
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px;
}
.ge-trust-item { display: flex; flex-direction: column; gap: 3px; }
.ge-trust-item strong { font-size: 13.5px; color: var(--ge-navy); }
.ge-trust-item span { font-size: 12.5px; color: var(--ge-text-mid); line-height: 1.5; }

/* ═══ BOTTONI ═══ */
.ge-btn {
	display: inline-block; padding: 13px 28px;
	border-radius: var(--ge-radius);
	font-size: 14px; font-weight: 700;
	text-decoration: none; transition: all .2s;
	border: none; cursor: pointer; line-height: 1.2;
}
.ge-btn-primary { background: var(--ge-cyan); color: var(--ge-navy-dark); }
.ge-btn-primary:hover { background: var(--ge-blue-light); color: var(--ge-navy-dark); transform: translateY(-1px); }
.ge-btn-ghost {
	background: rgba(255,255,255,.12);
	border: 1px solid rgba(255,255,255,.35);
	color: #fff; font-weight: 600;
}
.ge-btn-ghost:hover { background: rgba(255,255,255,.2); color: #fff; }
.ge-btn-outline { background: transparent; border: 2px solid var(--ge-navy); color: var(--ge-navy); }
.ge-btn-outline:hover { background: var(--ge-navy); color: #fff; }
.ge-btn-large { padding: 15px 32px; font-size: 15px; }

/* ═══ STEPS ═══ */
.ge-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.ge-step {
	text-align: center; padding: 30px 20px; background: #fff;
	border-radius: var(--ge-radius-lg); border: 1px solid var(--ge-border);
}
.ge-step-num {
	display: inline-flex; align-items: center; justify-content: center;
	width: 52px; height: 52px; background: var(--ge-navy); color: #fff;
	border-radius: 50%; font-size: 22px; font-weight: 700; margin-bottom: 16px;
}
.ge-step h3 { font-size: 17px; color: var(--ge-navy); margin-bottom: 10px; }
.ge-step p { font-size: 14px; color: var(--ge-text-mid); line-height: 1.6; margin: 0; }

/* ═══ PRODUCT CARDS ═══ */
.ge-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.ge-card {
	background: #fff; border: 1px solid var(--ge-border);
	border-radius: var(--ge-radius-lg); overflow: hidden;
	display: flex; flex-direction: column;
	transition: box-shadow .25s, transform .25s;
}
.ge-card:hover { box-shadow: var(--ge-shadow); transform: translateY(-3px); }
.ge-card-strip { height: 4px; }
.ge-card-top { padding: 22px 22px 18px; border-bottom: 1px solid var(--ge-border); }
.ge-cat {
	font-size: 10.5px; font-weight: 700; letter-spacing: .7px;
	text-transform: uppercase; padding: 3px 10px; border-radius: 2px;
	display: inline-block; margin-bottom: 12px;
}
.ge-card-name { font-size: 25px; font-weight: 700; color: var(--ge-navy); line-height: 1.15; margin-bottom: 8px; }
.ge-card-name em {
	font-style: normal;
	display: table;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	color: #fff;
	background: var(--ge-navy);
	padding: 4px 9px 3px;
	border-radius: 3px;
	margin-top: 9px;
}
.ge-tagline { font-size: 13px; color: var(--ge-text-mid); line-height: 1.6; margin: 0; }
.ge-meta {
	background: var(--ge-light); padding: 12px 22px;
	display: flex; flex-wrap: wrap; border-bottom: 1px solid var(--ge-border);
}
.ge-meta-col { flex: 1; min-width: 100px; padding: 4px 8px 4px 0; }
.ge-meta-col:first-child { padding-left: 0; }
.ge-mk {
	font-size: 10px; font-weight: 700; text-transform: uppercase;
	letter-spacing: .5px; color: var(--ge-text-light); margin-bottom: 2px;
}
.ge-mv { font-size: 12.5px; font-weight: 700; color: var(--ge-navy); }
.ge-body { padding: 18px 22px; flex: 1; }
.ge-cov-title {
	font-size: 11px; font-weight: 700; text-transform: uppercase;
	letter-spacing: .5px; color: var(--ge-text-light); margin-bottom: 12px;
}
.ge-cov-item { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 9px; }
.ge-dot {
	width: 18px; height: 18px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	flex-shrink: 0; font-size: 11px; font-weight: 700; margin-top: 1px;
}
.ge-cov-text { font-size: 13px; color: var(--ge-text); line-height: 1.55; margin: 0; }
.ge-cov-text strong { color: var(--ge-navy); }
.ge-divider { height: 1px; background: var(--ge-border); margin: 14px 0; }
.ge-risks { display: flex; flex-wrap: wrap; gap: 5px; }
.ge-pill { font-size: 11px; padding: 3px 9px; border-radius: 2px; font-weight: 600; border: 1px solid; }
.ge-pill-y { background: #f0faf5; color: #005a36; border-color: #90d4b4; }
.ge-pill-n { background: #f2f4f7; color: #4a5568; border-color: #cbd3dd; }
.ge-card-foot { padding: 16px 22px; border-top: 1px solid var(--ge-border); display: flex; gap: 10px; }
.ge-btn-buy {
	flex: 1; display: block; text-align: center; padding: 12px;
	border-radius: var(--ge-radius); font-size: 13px; font-weight: 700;
	color: #fff; transition: opacity .2s;
}
.ge-btn-buy:hover { opacity: .87; color: #fff; }

.ge-c-giallo .ge-card-strip { background: var(--ge-giallo); }
.ge-c-giallo .ge-cat { background: #fff3d0; color: #7a5000; }
.ge-c-giallo .ge-dot { background: #fff3d0; color: #7a5000; }
.ge-c-giallo .ge-btn-buy { background: var(--ge-giallo); }
.ge-c-rosso .ge-card-strip { background: var(--ge-rosso); }
.ge-c-rosso .ge-cat { background: #ffe8e8; color: #8b0000; }
.ge-c-rosso .ge-dot { background: #ffe8e8; color: #8b0000; }
.ge-c-rosso .ge-btn-buy { background: var(--ge-rosso); }
.ge-c-verde .ge-card-strip { background: var(--ge-verde); }
.ge-c-verde .ge-cat { background: #e6f5ee; color: #004d30; }
.ge-c-verde .ge-dot { background: #e6f5ee; color: #004d30; }
.ge-c-verde .ge-btn-buy { background: var(--ge-verde); }

/* ═══ TABELLE ═══ */
.ge-table-wrap { overflow-x: auto; }
.ge-table {
	width: 100%; border-collapse: collapse; font-size: 13px;
	min-width: 620px; background: #fff;
	border: 1px solid var(--ge-border); border-radius: var(--ge-radius);
}
.ge-table thead tr { background: var(--ge-navy); }
.ge-table thead th {
	padding: 13px 16px; text-align: left; font-size: 12px;
	font-weight: 700; color: #fff; letter-spacing: .3px;
}
.ge-table thead th:first-child { width: 34%; }
.ge-th-g { color: #ffd580 !important; }
.ge-th-r { color: #ffaaaa !important; }
.ge-th-v { color: #7ee8b5 !important; }
.ge-table tbody tr { border-bottom: 1px solid var(--ge-border); }
.ge-table tbody tr:hover { background: var(--ge-light); }
.ge-table tbody tr:nth-child(even) { background: #fafbfc; }
.ge-table tbody td { padding: 11px 16px; color: var(--ge-text-mid); vertical-align: top; }
.ge-table tbody td:first-child { font-weight: 600; color: var(--ge-text); }
.ge-t-y { color: var(--ge-verde); font-weight: 700; }
.ge-t-n { color: #7a8494; font-weight: 600; }
.ge-t-p { color: var(--ge-blue); font-weight: 600; }
.ge-table tbody tr.ge-row-hl {
	background: #eef3f9 !important;
	border-top: 2px solid var(--ge-cyan);
	border-bottom: 2px solid var(--ge-cyan);
}
.ge-table tbody tr.ge-row-hl td { color: var(--ge-navy); font-weight: 600; }
.ge-table tbody tr.ge-row-hl:hover { background: #e2ebf5 !important; }

/* ═══ PAGINE PRODOTTO ═══ */
.ge-product-hero { padding: 50px 20px 48px; color: #fff; }
.ge-product-hero.rosso  { background: linear-gradient(135deg, #8b0000 0%, var(--ge-rosso) 100%); }
.ge-product-hero.giallo { background: linear-gradient(135deg, #a06800 0%, var(--ge-giallo) 100%); }
.ge-product-hero.verde  { background: linear-gradient(135deg, #004d30 0%, var(--ge-verde) 100%); }
.ge-product-hero-inner {
	max-width: var(--ge-max-width); margin: 0 auto;
	display: grid; grid-template-columns: 1fr 350px;
	gap: 40px; align-items: center;
}
.ge-product-hero h1 { color: #fff; font-size: 38px; margin-bottom: 12px; }
.ge-product-hero h1 {
	display: flex; flex-wrap: wrap; align-items: center; gap: 14px;
}
.ge-product-hero h1 em {
	font-style: normal;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	background: #fff;
	color: var(--ge-navy-dark);
	padding: 7px 15px 6px;
	border-radius: 4px;
	line-height: 1;
	white-space: nowrap;
}
.ge-product-hero p { font-size: 16px; opacity: .92; line-height: 1.65; margin-bottom: 24px; max-width: 540px; }


/* Riga pulsante + emittente nelle testate prodotto */
.ge-ph-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	width: 100%;
	max-width: 600px;
	flex-wrap: wrap;
}
.ge-ph-issuer {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	text-align: right;
	gap: 6px;
}
.ge-ph-issuer .ge-hi-label {
	font-size: 10.5px;
	color: rgba(255,255,255,.72);
	letter-spacing: .2px;
}
.ge-ph-issuer .ge-hi-logo {
	height: 24px;
	width: auto;
	filter: brightness(0) invert(1);
	opacity: .95;
}

@media (max-width: 520px) {
	.ge-ph-cta { flex-direction: column; align-items: flex-start; gap: 20px; }
	.ge-ph-issuer { align-items: flex-start; text-align: left; }
}

/* ═══ TESTATA PRODOTTO — sintesi e spazio tariffatore ═══ */
.ge-product-hero-inner {
	grid-template-columns: 1fr 400px;
	align-items: start;
}
.ge-ph-lead { display: flex; flex-direction: column; align-items: flex-start; }
.ge-ph-lead h1 { margin-bottom: 14px; }
.ge-ph-lead > p { margin-bottom: 26px; }

.ge-ph-line {
	display: block;
	background: rgba(0,0,0,.22);
	border-left: 3px solid #fff;
	border-radius: 0 var(--ge-radius) var(--ge-radius) 0;
	padding: 9px 14px;
	font-size: 12.5px;
	color: rgba(255,255,255,.92);
	line-height: 1.45;
	margin-bottom: 22px;
	max-width: 600px;
}
.ge-ph-line strong { color: #fff; }

.ge-ph-facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	background: rgba(255,255,255,.22);
	border: 1px solid rgba(255,255,255,.22);
	border-radius: var(--ge-radius);
	overflow: hidden;
	margin-bottom: 28px;
	width: 100%;
	max-width: 600px;
}
.ge-fact {
	background: rgba(0,0,0,.16);
	padding: 12px 14px;
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}
.ge-fact span {
	font-size: 10.5px;
	color: rgba(255,255,255,.72);
	line-height: 1.35;
	text-transform: uppercase;
	letter-spacing: .4px;
}
.ge-fact strong {
	font-size: 16px;
	color: #fff;
	font-weight: 700;
	line-height: 1.2;
}

/* ═══ CONTATORE DI LANCIO ═══ */
.ge-soon {
	background: rgba(0,0,0,.2);
	border: 1px solid rgba(255,255,255,.25);
	border-radius: var(--ge-radius-lg);
	padding: 24px 22px;
	text-align: center;
}
.ge-soon-label {
	display: block;
	font-size: 10.5px;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: rgba(255,255,255,.65);
	margin-bottom: 7px;
}
.ge-soon-title {
	display: block;
	font-size: 21px;
	font-weight: 700;
	color: #fff;
	line-height: 1.2;
	margin-bottom: 18px;
}
.ge-soon-clock {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	background: rgba(255,255,255,.22);
	border-radius: var(--ge-radius);
	overflow: hidden;
	margin-bottom: 16px;
}
.ge-soon-clock > div {
	background: rgba(0,0,0,.28);
	padding: 12px 6px 10px;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.ge-soon-clock b {
	font-size: 26px;
	font-weight: 700;
	color: #fff;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}
.ge-soon-clock span {
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: rgba(255,255,255,.6);
}
.ge-soon-note {
	font-size: 12.5px;
	color: rgba(255,255,255,.72);
	line-height: 1.55;
	margin: 0;
}
.ge-soon.is-live .ge-soon-clock { display: none; }

/* Spazio riservato al tariffatore — il pannello risultato si apre sotto
   e il banner si allunga di conseguenza (il gradiente non si deforma). */
.ge-ph-shop {
	min-height: 1px;
	align-self: stretch;
}
.ge-ph-shop > * { width: 100%; }
/* Il contenuto della colonna sinistra non si stira se lo shop cresce */
.ge-product-hero-inner > .ge-ph-lead { align-self: start; }
.ge-shop-ph {
	background: rgba(255,255,255,.1);
	border: 2px dashed rgba(255,255,255,.3);
	border-radius: var(--ge-radius-lg);
	padding: 54px 24px;
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.ge-shop-ph span { font-size: 15px; font-weight: 700; color: #fff; }
.ge-shop-ph em { font-style: normal; font-size: 12.5px; color: rgba(255,255,255,.6); }

@media (max-width: 1000px) {
	.ge-product-hero-inner { grid-template-columns: 1fr; }
	.ge-ph-facts { max-width: none; }
}
@media (max-width: 680px) {
	.ge-ph-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ge-fact strong { font-size: 15px; }
}
@media (max-width: 400px) {
	.ge-ph-facts { grid-template-columns: 1fr; }
}

.ge-cov-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 26px; margin-top: 20px; }
.ge-cov-block {
	background: #fff; border: 1px solid var(--ge-border);
	border-radius: var(--ge-radius-lg); padding: 24px;
}
.ge-cov-block h3 {
	font-size: 15px; color: var(--ge-navy); margin-bottom: 14px;
	padding-bottom: 10px; border-bottom: 2px solid var(--ge-cyan);
	display: flex; align-items: center; gap: 10px;
}
.ge-ico {
	width: 26px; height: 26px; flex-shrink: 0;
	display: inline-flex; align-items: center; justify-content: center;
	color: var(--ge-blue);
}
.ge-ico svg { width: 20px; height: 20px; display: block; }
.ge-cov-block-icon { font-size: 20px; }
.ge-cov-list { list-style: none; padding: 0; margin: 0; }
.ge-cov-list li {
	padding: 6px 0 6px 22px; position: relative;
	font-size: 13.5px; line-height: 1.55; color: var(--ge-text);
}
.ge-cov-list li::before {
	content: '✓'; position: absolute; left: 0; top: 6px;
	color: var(--ge-verde); font-weight: 700;
}
.ge-excl-list li::before { content: '✗'; color: #7a8494; }

/* ═══ BOX INFORMATIVI ═══ */
.ge-alert {
	padding: 16px 20px; background: #eef3f9;
	border-left: 4px solid var(--ge-blue);
	border-radius: var(--ge-radius); font-size: 13.5px;
	color: #2c3e55; margin: 22px 0; line-height: 1.7;
}
.ge-alert strong { color: var(--ge-navy); }
.ge-info {
	padding: 16px 20px; background: #f0f7ff;
	border-left: 4px solid var(--ge-cyan);
	border-radius: var(--ge-radius); font-size: 13.5px;
	color: #1e3a5f; margin: 22px 0; line-height: 1.7;
}
.ge-info strong { color: var(--ge-navy); }
.ge-note {
	padding: 16px 20px; background: #fff;
	border: 1px solid var(--ge-border); border-radius: var(--ge-radius);
	font-size: 13px; color: var(--ge-text-mid); line-height: 1.75; margin: 22px 0;
}
.ge-note strong { color: var(--ge-navy); }

/* ═══ BOX CENTRALE OPERATIVA ═══ */
.ge-centrale-box {
	background: #eef3f9; border: 2px solid var(--ge-blue);
	border-radius: var(--ge-radius-lg); padding: 24px; margin: 0 0 34px;
}
.ge-centrale-box h3 {
	font-size: 16px; color: var(--ge-navy);
	margin-bottom: 12px; display: flex; align-items: center; gap: 10px;
}
.ge-centrale-box h3::before {
	content: 'Importante';
	background: var(--ge-blue); color: #fff;
	font-size: 10px; font-weight: 700; letter-spacing: .5px;
	text-transform: uppercase; padding: 3px 8px;
	border-radius: 2px; flex-shrink: 0;
}
.ge-centrale-box p { font-size: 14px; color: #2c3e55; line-height: 1.7; margin: 0 0 12px; }
.ge-centrale-box p:last-child { margin-bottom: 0; }
.ge-centrale-num {
	background: #fff; border-radius: var(--ge-radius);
	padding: 14px 18px; border-left: 4px solid var(--ge-blue);
}
.ge-centrale-num strong { font-size: 16px; color: var(--ge-navy); }
.ge-centrale-num a { color: var(--ge-navy); text-decoration: none; }
.ge-centrale-num span { font-size: 12.5px; color: var(--ge-text-mid); }
.ge-centrale-warn {
	font-size: 13px !important; background: #e2ebf5;
	padding: 12px 16px; border-radius: var(--ge-radius);
}

/* ═══ BOX DOCUMENTI ═══ */
.ge-docs-box {
	background: var(--ge-light); border: 1px solid var(--ge-border);
	border-radius: var(--ge-radius-lg); padding: 24px; margin: 30px 0;
}
.ge-docs-box h3 { font-size: 15px; color: var(--ge-navy); margin-bottom: 10px; }
.ge-docs-box p { font-size: 13.5px; color: var(--ge-text-mid); line-height: 1.65; margin: 0 0 16px; }
.ge-docs-list { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.ge-docs-list a {
	display: inline-flex; align-items: center; gap: 10px;
	background: #fff; border: 1px solid var(--ge-border);
	border-radius: var(--ge-radius); padding: 11px 16px;
	font-size: 13.5px; font-weight: 600; color: var(--ge-navy);
	transition: border-color .15s, box-shadow .15s;
}
.ge-docs-list a:hover { border-color: var(--ge-blue); box-shadow: 0 2px 8px rgba(0,51,102,.08); }
.ge-doc-ico {
	background: var(--ge-rosso); color: #fff; font-size: 10px;
	font-weight: 700; padding: 3px 7px; border-radius: 2px; letter-spacing: .5px;
}

/* ═══ ROUTING ASSISTENZA ═══ */
.ge-routing { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-bottom: 30px; }
.ge-route { background: #fff; border: 1px solid var(--ge-border); border-radius: var(--ge-radius-lg); padding: 24px; }
.ge-route-urgent { border: 2px solid var(--ge-blue); background: #eef3f9; grid-column: 1 / -1; }
.ge-route-when { display: block; font-size: 12.5px; color: var(--ge-text-light); margin-bottom: 8px; }
.ge-route h3 { font-size: 17px; color: var(--ge-navy); margin: 0 0 10px; }
.ge-route-main { font-size: 22px; font-weight: 700; margin: 0 0 12px !important; }
.ge-route-main a { color: var(--ge-navy); }
.ge-route-urgent .ge-route-main { font-size: 28px; }
.ge-route p { font-size: 14px; color: var(--ge-text-mid); line-height: 1.65; margin: 0 0 10px; }
.ge-route p:last-child { margin-bottom: 0; }
.ge-route-alt { list-style: none; padding: 0; margin: 12px 0 0; }
.ge-route-alt li { font-size: 13px; color: var(--ge-text-mid); padding: 5px 0 5px 16px; position: relative; }
.ge-route-alt li::before {
	content: ''; position: absolute; left: 0; top: 12px;
	width: 5px; height: 5px; border-radius: 50%; background: var(--ge-blue);
}

/* ═══ FAQ ═══ */
.ge-faq-list { max-width: 820px; margin: 0 auto; }
.ge-faq-cat {
	font-size: 12px; font-weight: 700; text-transform: uppercase;
	letter-spacing: .8px; color: var(--ge-blue);
	margin: 35px 0 12px; padding-bottom: 8px; border-bottom: 2px solid var(--ge-cyan);
}
.ge-faq-cat:first-child { margin-top: 0; }
.ge-faq-item {
	background: #fff; border: 1px solid var(--ge-border);
	border-radius: var(--ge-radius); margin-bottom: 10px; overflow: hidden;
}
.ge-faq-q {
	padding: 16px 40px 16px 20px; font-weight: 600; color: var(--ge-navy);
	cursor: pointer; font-size: 14.5px; list-style: none;
	position: relative; user-select: none;
}
.ge-faq-q::-webkit-details-marker { display: none; }
.ge-faq-q::after {
	content: '+'; position: absolute; right: 20px; top: 50%;
	transform: translateY(-50%); font-size: 22px; color: var(--ge-blue); font-weight: 400;
}
.ge-faq-item[open] .ge-faq-q::after { content: '−'; }
.ge-faq-item[open] .ge-faq-q { border-bottom: 1px solid var(--ge-border); background: var(--ge-light); }
.ge-faq-a { padding: 16px 20px 20px; font-size: 14px; color: var(--ge-text-mid); line-height: 1.75; }
.ge-faq-a p { margin: 0 0 10px; }
.ge-faq-a p:last-child { margin-bottom: 0; }

/* ═══ TIMELINE ═══ */
.ge-timeline { max-width: 720px; margin: 0 auto; position: relative; padding-left: 40px; }
.ge-timeline::before {
	content: ''; position: absolute; left: 15px; top: 0; bottom: 0;
	width: 2px; background: var(--ge-cyan);
}
.ge-timeline-item { position: relative; margin-bottom: 32px; padding-left: 25px; }
.ge-timeline-item::before {
	content: ''; position: absolute; left: -32px; top: 4px;
	width: 34px; height: 34px; background: var(--ge-navy);
	border: 3px solid #fff; border-radius: 50%; box-shadow: 0 0 0 2px var(--ge-cyan);
}
.ge-timeline-item h3 { font-size: 17px; color: var(--ge-navy); margin-bottom: 8px; }
.ge-timeline-item p { color: var(--ge-text-mid); font-size: 14px; line-height: 1.7; margin: 0; }

/* ═══ CTA ═══ */
.ge-cta-block { background: var(--ge-navy); padding: 55px 20px; text-align: center; color: #fff; }
.ge-cta-block h2 { color: #fff; font-size: 28px; margin-bottom: 14px; }
.ge-cta-block p {
	color: rgba(255,255,255,.78); font-size: 15px;
	max-width: 620px; margin: 0 auto 28px; line-height: 1.7;
}

/* ═══ FORM ═══ */
.ge-form {
	max-width: 620px; margin: 0 auto; background: #fff;
	border: 1px solid var(--ge-border); border-radius: var(--ge-radius-lg); padding: 32px;
}
.ge-form-row { margin-bottom: 16px; }
.ge-form label { display: block; font-size: 13px; font-weight: 600; color: var(--ge-navy); margin-bottom: 6px; }
.ge-form input[type=text], .ge-form input[type=email], .ge-form select, .ge-form textarea {
	width: 100%; padding: 11px 14px; border: 1px solid var(--ge-border);
	border-radius: var(--ge-radius); font-family: inherit; font-size: 14px;
	color: var(--ge-text); transition: border-color .15s;
}
.ge-form input:focus, .ge-form select:focus, .ge-form textarea:focus {
	outline: none; border-color: var(--ge-blue);
	box-shadow: 0 0 0 3px rgba(0,112,192,.15);
}
.ge-form textarea { resize: vertical; min-height: 120px; }
.ge-form-check {
	display: flex; gap: 8px; align-items: flex-start;
	font-size: 12.5px; color: var(--ge-text-mid); margin-bottom: 16px;
}
.ge-form-check input { margin-top: 3px; width: auto; }
.ge-form-check label { font-weight: 400; color: var(--ge-text-mid); margin: 0; }
.ge-form-msg { padding: 12px 16px; border-radius: var(--ge-radius); font-size: 14px; margin-bottom: 16px; }
.ge-form-msg.success { background: #e6f5ee; color: #004d30; border: 1px solid #90d4b4; }
.ge-form-msg.error { background: #fdeaea; color: #8b0000; border: 1px solid #f5b8b8; }

/* ═══ ARTICLE (pagine legali) ═══ */
.ge-article { max-width: 800px; margin: 0 auto; padding: 50px 20px; }
.ge-article h1 { font-size: 34px; margin-bottom: 20px; padding-bottom: 14px; border-bottom: 3px solid var(--ge-cyan); }
.ge-article h2 { font-size: 22px; margin: 32px 0 14px; }
.ge-article h3 { font-size: 17px; margin: 24px 0 10px; }
.ge-article p { margin: 0 0 14px; line-height: 1.75; }
.ge-article ul, .ge-article ol { margin: 0 0 16px; padding-left: 24px; line-height: 1.7; }
.ge-article li { margin-bottom: 6px; }
.ge-article a { text-decoration: underline; }
.ge-article strong { color: var(--ge-navy); }

/* ═══ FOOTER ═══ */
.ge-footer { background: var(--ge-navy-dark); color: rgba(255,255,255,.6); padding: 46px 20px 20px; font-size: 13px; }
.ge-footer-inner {
	max-width: var(--ge-max-width); margin: 0 auto;
	display: grid; grid-template-columns: repeat(3, 1fr) 1.2fr; gap: 36px;
}
.ge-footer-col h4 {
	color: rgba(255,255,255,.9); font-size: 12px;
	text-transform: uppercase; letter-spacing: .5px; margin-bottom: 14px;
}
.ge-footer-col ul { list-style: none; padding: 0; margin: 0; }
.ge-footer-col li { margin-bottom: 8px; }
.ge-footer-col a { color: rgba(255,255,255,.55); font-size: 13px; }
.ge-footer-col a:hover { color: #fff; }
.ge-recesso-link {
	color: var(--ge-giallo) !important;
	font-weight: 700;
}
.ge-recesso-link:hover { color: #ffc65c !important; text-decoration: underline; }

.ge-footer-emerg-col {
	background: rgba(255,255,255,.05); border-radius: var(--ge-radius-lg);
	padding: 20px; margin-top: -4px;
}
.ge-footer-emergency { margin: 0 0 12px; line-height: 1.5; }
.ge-footer-emergency a {
	display: block; font-size: 21px; font-weight: 700;
	color: var(--ge-cyan) !important; margin-bottom: 6px;
}
.ge-footer-emergency span { font-size: 12px; color: rgba(255,255,255,.55); }
.ge-footer-emerg-note { font-size: 11.5px; color: rgba(255,255,255,.45); line-height: 1.6; margin: 0; }

.ge-footer-intermediary {
	border-top: 1px solid rgba(255,255,255,.1);
	border-bottom: 1px solid rgba(255,255,255,.1);
	padding: 30px 20px; margin-top: 32px;
}
.ge-fi-inner {
	max-width: var(--ge-max-width); margin: 0 auto;
	display: grid; grid-template-columns: 108px 1fr auto; gap: 34px; align-items: start;
}
.ge-fi-logo { height: 84px; width: auto; display: block; }
.ge-fi-data p { font-size: 12.5px; color: rgba(255,255,255,.55); line-height: 1.32; margin: 0 0 2px; }
.ge-fi-data p:last-child { margin-bottom: 0; }
.ge-fi-name { font-size: 14px !important; color: rgba(255,255,255,.9) !important; margin-bottom: 5px !important; line-height: 1.25 !important; }
.ge-fi-data strong { color: rgba(255,255,255,.85); }
.ge-fi-data a { color: var(--ge-cyan); }
.ge-fi-issuer {
	text-align: right; padding-left: 32px;
	border-left: 1px solid rgba(255,255,255,.1); min-width: 250px;
}
.ge-fi-issuer-label { font-size: 11px; color: rgba(255,255,255,.4); margin: 0 0 10px; }
.ge-fi-issuer-logo {
	height: 24px; width: auto; margin: 0 0 10px auto;
	filter: brightness(0) invert(1); opacity: .8;
}
.ge-fi-issuer p { font-size: 11.5px; color: rgba(255,255,255,.45); line-height: 1.65; margin: 0; }

.ge-footer-pay {
	max-width: var(--ge-max-width);
	margin: 0 auto;
	padding: 24px 20px 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	border-bottom: 1px solid rgba(255,255,255,.1);
}
.ge-pay-label {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 1.2px;
	color: rgba(255,255,255,.5);
}
/* Come sul .shop: direttamente sul fondo scuro, senza riquadro, a larghezza piena */
.ge-pay-logos {
	display: block;
	width: 100%;
	max-width: 600px;
	height: auto;
}

.ge-footer-bottom {
	max-width: var(--ge-max-width); margin: 0 auto;
	padding-top: 22px; font-size: 11.5px;
	color: rgba(255,255,255,.4); line-height: 1.7;
}
.ge-footer-bottom p { margin: 0 0 8px; }
.ge-footer-copyright { color: rgba(255,255,255,.35); font-size: 11px; }
.ge-footer-copyright a { color: rgba(255,255,255,.4); margin-left: 8px; }

/* ═══ RESPONSIVE ═══ */
@media (max-width: 1060px) {
	.ge-issuer-note { display: none; }
}
@media (max-width: 1000px) {
	.ge-footer-inner { grid-template-columns: 1fr 1fr; }
	.ge-fi-inner { grid-template-columns: 1fr; gap: 24px; }
	.ge-fi-issuer {
		text-align: left; padding-left: 0; padding-top: 20px;
		border-left: none; border-top: 1px solid rgba(255,255,255,.1);
	}
	.ge-fi-issuer-logo { margin-left: 0; }
}
@media (max-width: 960px) {
	.ge-cards, .ge-steps, .ge-cov-grid { grid-template-columns: 1fr; }
	.ge-product-hero-inner { grid-template-columns: 1fr; }
	.ge-product-hero h1 { font-size: 28px; }
	.ge-routing { grid-template-columns: 1fr; }
	.ge-route-urgent .ge-route-main { font-size: 22px; }
	.ge-mobile-toggle { display: block; margin-left: auto; }
	.ge-nav {
		display: none; position: absolute; top: 86px; left: 0; right: 0;
		background: #fff; border-top: 1px solid var(--ge-border);
		box-shadow: 0 8px 20px rgba(0,0,0,.1);
	}
	.ge-nav.is-open { display: block; }
	.ge-nav-list { flex-direction: column; }
	.ge-nav-list > li > a { padding: 14px 20px; border-bottom: 1px solid var(--ge-border); margin: 0; }
	.ge-mi-caret { display: none; }
	.ge-nav-list > li { display: block; position: relative; }
	.ge-sub-toggle {
		position: absolute;
		top: 0; right: 0;
		padding: 0 20px;
		height: 50px;
		margin: 0;
		border-bottom: none;
		pointer-events: none;
	}
	.ge-has-sub > a { padding-right: 56px; }
	.ge-has-sub.is-open > a { background: var(--ge-light); }
	.ge-sub-toggle svg { width: 14px; height: 9px; }
	.ge-submenu {
		position: static;
		display: none;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		border: none;
		border-radius: 0;
		background: var(--ge-light);
		padding: 4px 20px 10px;
		min-width: 0;
	}
	.ge-has-sub.is-open > .ge-submenu { display: block; }
	.ge-submenu a { padding: 10px 12px; }
}
@media (max-width: 860px) {
	.ge-hero { padding: 40px 20px 46px; }
	.ge-hero h1 { font-size: 28px; }
	.ge-hero-lead p { font-size: 15px; }
	.ge-choose-grid { grid-template-columns: 1fr; }
	.ge-choose-what { margin-bottom: 12px; }
	.ge-trust-inner { grid-template-columns: 1fr 1fr; gap: 18px; }
	.ge-topbar-id { display: none; }
	.ge-topbar-inner { justify-content: center; }
		}
@media (max-width: 700px) {
	.ge-issuer { padding: 10px 20px; }
	.ge-issuer-logo { height: 18px; }
}
@media (max-width: 600px) {
	.ge-footer-inner { grid-template-columns: 1fr; gap: 26px; }
	.ge-trust-inner { grid-template-columns: 1fr; }
	.ge-section { padding: 40px 20px; }
	.ge-section-hdr h2 { font-size: 22px; }
	.ge-article { padding: 30px 20px; }
	.ge-article h1 { font-size: 24px; }
	.ge-docs-list { flex-direction: column; }
	.ge-docs-list a { width: 100%; }
	.ge-centrale-box { padding: 18px; }
	.ge-form { padding: 20px; }
}

/* ═══ ACCESSIBILITÀ ═══ */
@media (prefers-reduced-motion: reduce) {
	* { animation: none !important; transition: none !important; }
	.ge-choose:hover, .ge-card:hover, .ge-btn:hover { transform: none; }
}
a:focus-visible, button:focus-visible, summary:focus-visible {
	outline: 2px solid var(--ge-cyan);
	outline-offset: 2px;
}

/* ═══════════════════════════════════════════════
   SEZIONE APP ALLYZ
   ═══════════════════════════════════════════════ */
.ge-allyz {
	background: linear-gradient(150deg, var(--ge-navy-dark) 0%, var(--ge-navy) 100%);
	padding: 58px 20px;
	color: #fff;
}
.ge-allyz-inner {
	max-width: var(--ge-max-width);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: 56px;
	align-items: start;
}
.ge-allyz-logo {
	height: 34px; width: auto;
	margin-bottom: 20px;
	filter: brightness(0) invert(1);
	opacity: .95;
}
.ge-allyz h2 { color: #fff; font-size: 28px; margin: 0 0 14px; }
.ge-allyz h2::after { display: none; }
.ge-allyz-lead > p {
	font-size: 15.5px; line-height: 1.7;
	color: rgba(255,255,255,.78);
	max-width: 620px; margin: 0 0 30px;
}
.ge-allyz-feat {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px 28px;
	margin-bottom: 26px;
}
.ge-af { display: flex; flex-direction: column; gap: 4px; padding-left: 14px; border-left: 2px solid var(--ge-cyan); }
.ge-af strong { font-size: 13.5px; color: #fff; font-weight: 600; }
.ge-af span { font-size: 12.5px; color: rgba(255,255,255,.6); line-height: 1.55; }
.ge-allyz-note {
	font-size: 12.5px; color: rgba(255,255,255,.5);
	margin: 0; padding-top: 18px;
	border-top: 1px solid rgba(255,255,255,.12);
	max-width: 620px;
}

.ge-allyz-get {
	background: rgba(255,255,255,.07);
	border: 1px solid rgba(255,255,255,.14);
	border-radius: var(--ge-radius-lg);
	padding: 26px 24px;
	text-align: center;
}
.ge-allyz-get-title {
	font-size: 13px; font-weight: 700; color: var(--ge-cyan);
	margin: 0 0 18px; letter-spacing: .3px;
}
.ge-allyz-qr { margin-bottom: 20px; }
.ge-allyz-qr img {
	width: 148px; height: auto; margin: 0 auto 10px;
	background: #fff; padding: 8px; border-radius: var(--ge-radius);
}
.ge-allyz-qr span { display: block; font-size: 11.5px; color: rgba(255,255,255,.55); line-height: 1.5; }

.ge-allyz-stores { display: flex; flex-direction: column; gap: 10px; }
.ge-store {
	display: flex; align-items: center; gap: 11px;
	background: rgba(255,255,255,.1);
	border: 1px solid rgba(255,255,255,.2);
	border-radius: var(--ge-radius);
	padding: 10px 16px;
	color: #fff; text-align: left;
	transition: background .18s, border-color .18s;
}
.ge-store:hover { background: rgba(255,255,255,.18); border-color: rgba(255,255,255,.4); color: #fff; }
.ge-store svg { width: 22px; height: 22px; flex-shrink: 0; }
.ge-store span { display: flex; flex-direction: column; font-size: 14px; font-weight: 600; line-height: 1.2; }
.ge-store small { font-size: 10.5px; font-weight: 400; color: rgba(255,255,255,.6); margin-bottom: 2px; }

@media (max-width: 1000px) {
	.ge-allyz-inner { grid-template-columns: 1fr; gap: 34px; }
	.ge-allyz-get { max-width: 460px; }
	.ge-allyz-stores { flex-direction: row; }
	.ge-store { flex: 1; justify-content: center; }
}
@media (max-width: 860px) {
	.ge-allyz-feat { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
	.ge-allyz { padding: 42px 20px; }
	.ge-allyz h2 { font-size: 22px; }
	.ge-allyz-feat { grid-template-columns: 1fr; gap: 16px; }
	/* Su telefono il QR non serve: si usano i pulsanti store */
	.ge-allyz-qr { display: none; }
	.ge-allyz-stores { flex-direction: column; }
}

/* ═══════════════════════════════════════════════
   CENTRO ASSISTENZA — smistamento e filtro
   ═══════════════════════════════════════════════ */
.ge-triage {
	background: var(--ge-light);
	border: 1px solid var(--ge-border);
	border-radius: var(--ge-radius-lg);
	padding: 26px;
}
.ge-triage-title {
	font-size: 13px;
	font-weight: 700;
	color: var(--ge-navy);
	text-transform: uppercase;
	letter-spacing: .5px;
	margin: 0 0 20px;
}
.ge-triage-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}
.ge-tri {
	background: #fff;
	border: 1px solid var(--ge-border);
	border-radius: var(--ge-radius);
	padding: 18px;
	display: flex;
	flex-direction: column;
}
.ge-tri-urgent { border: 2px solid var(--ge-blue); background: #eef3f9; }
.ge-tri-when {
	font-size: 11.5px;
	color: var(--ge-text-light);
	margin-bottom: 7px;
	line-height: 1.4;
}
.ge-tri strong {
	font-size: 16px;
	color: var(--ge-navy);
	margin-bottom: 9px;
	word-break: break-word;
}
.ge-tri strong a { color: var(--ge-navy); }
.ge-tri-urgent strong { font-size: 19px; }
.ge-tri p {
	font-size: 12.5px;
	color: var(--ge-text-mid);
	line-height: 1.6;
	margin: 0;
}

/* Riquadro che sostituisce il modulo per gli argomenti non gestiti */
.ge-gate {
	background: #eef3f9;
	border-left: 4px solid var(--ge-blue);
	border-radius: var(--ge-radius);
	padding: 18px 20px;
	margin-bottom: 4px;
}
.ge-gate strong {
	display: block;
	font-size: 15px;
	color: var(--ge-navy);
	margin-bottom: 8px;
}
.ge-gate p {
	font-size: 13.5px;
	color: #2c3e55;
	line-height: 1.7;
	margin: 0;
}
.ge-gate[hidden] { display: none; }

@media (max-width: 900px) { .ge-triage-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) {
	.ge-triage { padding: 18px; }
	.ge-triage-grid { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════
   VERIFICATORE DI COPERTURA
   ═══════════════════════════════════════════════ */
.ge-check {
	display: grid;
	grid-template-columns: 320px 1fr;
	gap: 30px;
	align-items: start;
}
.ge-check-side {
	background: var(--ge-light);
	border: 1px solid var(--ge-border);
	border-radius: var(--ge-radius-lg);
	padding: 22px;
}
.ge-check-lbl {
	font-size: 12px; font-weight: 700; color: var(--ge-navy);
	text-transform: uppercase; letter-spacing: .5px; margin: 0 0 14px;
}
.ge-check-side label {
	display: flex; align-items: flex-start; gap: 10px;
	font-size: 13.5px; color: var(--ge-text);
	line-height: 1.5; padding: 9px 0;
	border-bottom: 1px solid var(--ge-border);
	cursor: pointer;
}
.ge-check-side label:last-of-type { border-bottom: none; }
.ge-check-side input { margin-top: 3px; flex-shrink: 0; accent-color: var(--ge-blue); }
.ge-check-reset {
	margin-top: 14px; background: none; border: none;
	font-size: 12.5px; color: var(--ge-blue);
	cursor: pointer; padding: 0; font-family: inherit;
	text-decoration: underline;
}

.ge-check-res { display: grid; gap: 14px; }
.ge-check-empty {
	background: #fff; border: 1px dashed var(--ge-border);
	border-radius: var(--ge-radius-lg); padding: 30px;
	text-align: center; color: var(--ge-text-light);
	font-size: 14px; margin: 0;
}
.ge-check-card {
	display: block; background: #fff;
	border: 1px solid var(--ge-border);
	border-left: 4px solid var(--ge-blue);
	border-radius: var(--ge-radius-lg);
	padding: 20px 22px;
	transition: box-shadow .2s, transform .2s;
}
.ge-check-card:hover { box-shadow: var(--ge-shadow); transform: translateY(-2px); }
.ge-check-card.ge-c-giallo { border-left-color: var(--ge-giallo); }
.ge-check-card.ge-c-rosso  { border-left-color: var(--ge-rosso); }
.ge-check-card.ge-c-verde  { border-left-color: var(--ge-verde); }
.ge-check-name {
	display: block; font-size: 18px; font-weight: 700;
	color: var(--ge-navy); margin-bottom: 10px;
}
.ge-check-card ul { list-style: none; padding: 0; margin: 0 0 12px; }
.ge-check-card li {
	font-size: 13.5px; color: var(--ge-text-mid);
	line-height: 1.6; padding: 3px 0 3px 20px; position: relative;
}
.ge-check-card li::before {
	content: '✓'; position: absolute; left: 0;
	color: var(--ge-verde); font-weight: 700;
}
.ge-check-go { font-size: 13px; font-weight: 600; color: var(--ge-blue); }

.ge-check-none {
	background: #eef3f9; border-left: 4px solid var(--ge-blue);
	border-radius: var(--ge-radius-lg); padding: 22px;
}
.ge-check-none strong { display: block; font-size: 15px; color: var(--ge-navy); margin-bottom: 10px; }
.ge-check-none p { font-size: 13.5px; color: #2c3e55; line-height: 1.7; margin: 0 0 8px; }
.ge-check-none ul { margin: 0 0 12px; padding-left: 20px; }
.ge-check-none li { font-size: 13.5px; color: #2c3e55; line-height: 1.7; }
.ge-check-none em { font-style: normal; font-weight: 600; color: var(--ge-navy); }

.ge-check-note {
	font-size: 12px; color: var(--ge-text-light);
	line-height: 1.6; margin: 14px 0 0;
}

@media (max-width: 860px) {
	.ge-check { grid-template-columns: 1fr; gap: 20px; }
}

/* Immagine in evidenza articoli Guide */
.ge-article-cover { margin: 0 0 28px; }
.ge-article-cover img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 8px; }
.ge-article-cover figcaption { font-size: 12px; color: #6b7280; margin-top: 6px; text-align: right; }

/* Hub Guide */
.ge-guide-hub h1 { margin-bottom: 12px; }
.ge-guide-intro { margin-bottom: 28px; }
.ge-guide-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; }
.ge-guide-card { display: flex; flex-direction: column; background: #fff; border: 1px solid #e5e7eb; border-radius: 10px; overflow: hidden; text-decoration: none; color: inherit; transition: box-shadow .2s, transform .2s; }
.ge-guide-card:hover { box-shadow: 0 6px 20px rgba(0,51,102,.12); transform: translateY(-2px); }
.ge-guide-card img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.ge-guide-card-body { padding: 16px 18px 20px; }
.ge-guide-card h2 { font-size: 1.1rem; line-height: 1.35; color: #003366; margin: 0 0 8px; }
.ge-guide-card p { font-size: .95rem; color: #4b5563; margin: 0 0 12px; }
.ge-guide-more { color: #00AEEF; font-weight: 600; font-size: .9rem; }
/* Link fondo articolo */
.ge-article-back { margin-top: 36px; padding-top: 18px; border-top: 1px solid #e5e7eb; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; }
