/** * Skin Advanced
	* Il presente files regola gli stili CSS della homepage
	* @author Blancks
*/


/** * Reset margine per la homepage */
html, body.main_body{
	margin: 0;
	padding: 0;
}

/** * STILI DEI CONTENUTI DEL SITO */

/** * Barra superiore
*/
.barra {
background-image: url("home/barra2.png");
height: 80px;
position: fixed;
left: 0px;
top: 0px;
width: 100%;
}	

.nav {
	list-style-type: none;
	width: 100%;
	position: fixed;
	top: 0px;
	left: 0px;
	display: flex;
    align-items: stretch;
    justify-content: space-between;
}

.nav li {
	margin-top: 5px;
	display: block;
    flex: 0 1 auto;
    list-style-type: none;
}

.nav li img {
	display: block;
    width: 100%;
    height: auto;
}

/** * Titolo del sito
*/
h1{
	margin:0;
	padding:30px 0 0 76px;
	font-size:38px;
	font-family:Myriad Pro,Myriad Web Pro Regular,Lucida Grande,Geneva,Trebuchet MS,sans-serif;
}

/** * Stile del link sul titolo */
h1 a, h1 a:visited, h1 a:hover{
	color:#222;
	text-decoration:none;
}


/** * Sottotitolo
*/
div.subtitle{
	margin-left:78px;
	color:#666;
	font-family:Georgia; 
	font-size:12px; 
}

/** * Stili del form di login
*/
div.login_form{
	float: left;
    width: 200px;
    padding-left: 20px;
    margin-top: 10px;
}

div.login_form a{
	float:left;
	padding:5px;
}

div.login_form input[type=checkbox]{
	width: auto;
	vertical-align: middle;
}

/** * stile che ingloba i gruppi label/input
*/
div.login_form div{
	margin-bottom:10px;
}

/** * Stile per le label dei form
*/
span.form_label{
	text-align:left;
	font-weight:bolder;
}

div.login_form input{
	margin-top:10px;
	width:150px;
}

/** * Stile per il bottone del login
*/
div.login_form input[type='submit']{
	display:block;
	float:left;
	width:65px;
	margin-top: 0px;
}



/** * Contenuti principali della pagina
*/

/** * Titolo della sezione */
h2{
	font-size:25px;
	font-weight:normal;
	margin:0;
	padding-bottom:4px;
	border-bottom:solid 1px #d9d9d9;
}

div.recpass h2{
	font-size:14px;
	font-weight:bolder;
	margin-bottom:10px;
	padding-bottom:10px;
	border-bottom:solid 1px #d9d9d9;
}

/** * Contenuti testuali */
div.content_body p{
	font-size:13px;
	padding:0 10px;
}


div.content_body a{
	color:#999;
	text-decoration:underline;
}



/** * Menù di navigazione
*/


div.sidecontent ul{
 display: inline-block;
	margin:20px 0 0 10px;
	padding:20px 10px 20px 10px;
	font-size: 20px;
font-family:Palatino Linotype;
text-shadow: 1px 1px 2px black;
    font-weight: normal;
  text-shadow: 0px 1px 1px #000;
}

/** * Contenitore delle voci nel menù 
*/
div.sidecontent ul li{
	margin-bottom:5px;
}

/** * Link voce menù 
*/
div.sidecontent ul li a, div.sidecontent ul li a:visited{
	color:#f1f1f1;
	
}

/** * Link voce menù al passaggio del mouse
*/
div.sidecontent ul li a:hover{
	color:#444;
}


/** Stile generico contenitore per altri contenuti nella sidebar 
*/
div.side_modules{
	margin:10px 0 0 10px;
	
	padding:10px;
	text-align:center;
	
	-moz-border-radius:5px;		/* Bordi arrotondati */
	-webkit-border-radius:5px;
	-khtml-border-radius: 5px;
	border-radius:5px;
}

div.side_modules .form_label{font-size:10px; margin-right:2px;}


/** * Tabella statistiche */
table.statistics{
	text-align:right;
	margin-top:10px;
	font-size:10px;
}

table.statistics td{padding-right:5px;}

/** * Stile di colorazione per definire le righe pari */
table.statistics tr.pair{
	
}

/** * Stile per definire il titolo del parametro statistico */
table.statistics td.label{
	font-weight:bolder;
	text-align:left;
	padding:2px;
}



/** * Recupero password */
div.pass_rec{
	margin-top:10px;
}

input#passrecovery{
	width:126px;
}

div.pass_rec input[type='submit']{margin-top:3px;}



/** * Footer info */
div#footer div{
	
	padding:5px 0 3px 0;
}

div#footer p{
	font-size:10px;
	margin:0;
	padding:0 15px 2px 15px;
	text-align:center; 
}




/** * LAYOUT SITO */

/** * Struttura contenitore di tutto il sito 
*/
div#main{
	height:100%;
	width:100%;
	
	text-align:center;
}


/** * Larghezza della struttura del sito
*/
div#site_width{
	margin:0 auto;
	width:100%;
	text-align:left;
}

/** * Header
*/
div#header{
	height:180px;
}


/** * Corpo contenuti della pagina
*/
div#content{
	padding:0 60px 10px 60px;
	
}

/** * Struttura colonna di lato
*/
div.sidecontent{
	width:200px;
	float:left;
}

/** * Struttura corpo contenuti pagina 
*/
div.content_body{
	width:700px;
	padding:10px;
	float:left;
}
	
/** * pie di pagina
*/
div#footer{
	height:68px;
	padding:8px 59px 0 59px;
	
}

/** * News
*/

div.news_titolo{
	text-align: center;
}

div.elementi_elenco_news{
	min-height:20px;
    font-weight:normal; color: white;
	font-size:15px;
	padding:5px;
}

td.casella_elemento, div.elementi_elenco_forum{
	font-size:13px; 
	font-weight:normal; color: white;
}

div.news_column{
	font-weight: bold;
}

td.news_main_post_message, div.news_main_post_message{
	background-color: #000;
		border:solid 1px orange;
		-moz-border-radius:5px;
		-webkit-border-radius:5px;
		-khtml-border-radius: 5px;
		border-radius:5px;
		width: 100%;
		text-align: left;
	}

div.news_date_big{
	font-size: 13px;
}

div.news_post_message{
	text-align: justify;/**corpo del testo**/
	margin-right: 20px;
	margin-left: 20px;
	margin-top: 10px;
	margin-bottom:20px;
}

/** *** Fine stili regolatori del layout *** */

.cb-slideshow{
	position: fixed;
	inset: 0;
	z-index: -100;
	overflow: hidden;
	background: #050608 url("home/Sfondo.png") center center / contain no-repeat;
}

.cb-slide-layer{
	position: absolute;
	inset: 0;
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	opacity: 0;
	transition: opacity 1.2s ease;
	pointer-events: none;
}

.cb-slide-layer.is-active{
	opacity: 1;
}

.home-backdrop{
	position: fixed;
	inset: 0;
	z-index: -90;
	pointer-events: none;
	background: none;
}

div.home-shell{
	--home-gold: #d7ba7c;
	--home-blue: #7db7cf;
	--home-text: #f2e7d5;
	--home-muted: #c5cad4;
	--home-line: rgba(215, 186, 124, 0.16);
	--home-panel: rgba(8, 10, 14, 0.78);
	--home-panel-soft: rgba(13, 15, 20, 0.82);
	--home-shadow: 0 22px 48px rgba(0, 0, 0, 0.32);
	position: relative;
	z-index: 10;
	min-height: 100vh;
	color: var(--home-text);
	font-family: Georgia, "Palatino Linotype", serif;
}

div.home-shell.is-home-locked{
	height: 100vh;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

div.home-shell a,
div.home-shell a:visited,
div.home-shell a:hover{
	color: inherit;
	text-decoration: none;
}

body.login-error-body{
	position: relative;
	min-height: 100vh;
	margin: 0;
	padding: 0;
	overflow-x: hidden;
	background:
		linear-gradient(180deg, rgba(5, 6, 8, 0.62), rgba(5, 6, 8, 0.88)),
		url("home/Sfondo.png") center center / cover no-repeat #050608;
	color: #f2e7d5;
	font-family: Georgia, "Palatino Linotype", serif;
}

body.login-error-body::before{
	content: "";
	position: fixed;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		linear-gradient(90deg, rgba(0, 0, 0, 0.56), transparent 34%, transparent 66%, rgba(0, 0, 0, 0.56)),
		linear-gradient(180deg, rgba(0, 0, 0, 0.44), transparent 42%, rgba(0, 0, 0, 0.58));
}

.login-error-page{
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 100vh;
	padding: 36px 18px;
}

.login-error-panel{
	box-sizing: border-box;
	width: 100%;
	max-width: 680px;
	padding: 32px;
	border: 1px solid rgba(215, 186, 124, 0.22);
	border-radius: 8px;
	background:
		linear-gradient(180deg, rgba(15, 17, 22, 0.94), rgba(8, 10, 14, 0.94));
	box-shadow: 0 26px 70px rgba(0, 0, 0, 0.46);
}

.login-error-panel__header{
	margin: 0 0 22px;
}

.login-error-panel__eyebrow{
	margin: 0 0 8px;
	color: #7db7cf;
	font-size: 11px;
	font-weight: bold;
	line-height: 1.3;
	text-transform: uppercase;
}

.login-error-panel h1{
	margin: 0;
	padding: 0;
	border: 0;
	color: #fff6e6;
	font-family: Georgia, "Palatino Linotype", serif;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.18;
}

.login-error-panel__lead{
	max-width: 52ch;
	margin: 12px 0 0;
	color: #d9dfeb;
	font-size: 15px;
	line-height: 1.55;
}

.login-error-panel__status{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	box-sizing: border-box;
	margin: 0 0 18px;
	padding: 14px 16px;
	border: 1px solid rgba(125, 183, 207, 0.22);
	border-radius: 8px;
	background: rgba(125, 183, 207, 0.08);
}

.login-error-panel__status span{
	color: #c7d7e3;
	font-size: 12px;
	font-weight: bold;
	line-height: 1.35;
	text-transform: uppercase;
}

.login-error-panel__status strong{
	flex: 0 0 auto;
	color: #ffffff;
	font-size: 26px;
	font-weight: bold;
	line-height: 1;
}

.login-error-panel__notice{
	box-sizing: border-box;
	margin: 0;
	padding: 16px 18px;
	border-left: 3px solid #cd6a4a;
	border-radius: 8px;
	background: rgba(205, 106, 74, 0.14);
	color: #f1d9cf;
	font-size: 14px;
	line-height: 1.62;
}

.login-error-panel__actions{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 18px;
	margin: 24px 0 0;
}

body.login-error-body .login-error-button,
body.login-error-body .login-error-button:visited{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 42px;
	margin: 0;
	padding: 0 20px;
	border-width: 1px;
	border-style: solid;
	border-color: rgba(125, 183, 207, 0.36);
	border-radius: 8px;
	background: linear-gradient(180deg, rgba(52, 75, 104, 0.94), rgba(14, 23, 36, 0.98));
	color: #ffffff;
	font-size: 13px;
	font-weight: bold;
	line-height: 1;
	text-decoration: none;
	transform: none;
	transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease, color 0.18s ease;
}

body.login-error-body .login-error-button:hover,
body.login-error-body .login-error-button:focus{
	display: inline-flex;
	box-sizing: border-box;
	min-height: 42px;
	margin: 0;
	padding: 0 20px;
	border-width: 1px;
	border-style: solid;
	border-color: rgba(125, 183, 207, 0.62);
	background: linear-gradient(180deg, rgba(65, 93, 125, 0.98), rgba(18, 32, 48, 0.98));
	color: #ffffff;
	font-weight: bold;
	line-height: 1;
	text-decoration: none;
	transform: none;
	outline: none;
	box-shadow: 0 0 0 3px rgba(125, 183, 207, 0.14);
}

.login-error-panel__support{
	display: inline-flex;
	flex-wrap: wrap;
	gap: 4px 8px;
	align-items: center;
	margin: 0;
	color: #d9dfeb;
	font-size: 13px;
	font-weight: normal;
	line-height: 1.45;
}

body.login-error-body .login-error-link,
body.login-error-body .login-error-link:visited{
	display: inline;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	border: 0;
	color: #dfe8ff;
	font-size: 13px;
	font-weight: normal;
	line-height: 1.45;
	text-decoration: underline;
	transform: none;
}

body.login-error-body .login-error-link:hover,
body.login-error-body .login-error-link:focus{
	display: inline;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	border: 0;
	color: #ffffff;
	font-weight: normal;
	line-height: 1.45;
	text-decoration: underline;
	transform: none;
	outline: none;
}

@media (max-width: 560px){
	.login-error-page{
		align-items: flex-start;
		padding: 22px 12px;
	}

	.login-error-panel{
		padding: 24px 18px;
	}

	.login-error-panel h1{
		font-size: 24px;
		line-height: 1.22;
	}

	.login-error-panel__status{
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
	}

	.login-error-panel__actions{
		align-items: stretch;
		flex-direction: column;
	}

	body.login-error-body .login-error-button,
	body.login-error-body .login-error-button:visited,
	body.login-error-body .login-error-button:hover,
	body.login-error-body .login-error-button:focus{
		width: 100%;
	}
}

div.home-shell .barra{
	position: sticky;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
	margin: 0;
	background: none;
	z-index: 2000;
	flex: 0 0 auto;
}

div.home-shell .home-topbar{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	width: calc(100vw - 8px);
	margin: 0 auto;
	padding: 10px 16px;
	border: 1px solid rgba(215, 186, 124, 0.14);
	border-radius: 999px;
	background:
		radial-gradient(circle at top left, rgba(125, 183, 207, 0.08), transparent 28%),
		radial-gradient(circle at bottom right, rgba(215, 186, 124, 0.08), transparent 26%),
		linear-gradient(180deg, rgba(7, 7, 10, 0.82), rgba(14, 15, 18, 0.76));
	box-shadow: var(--home-shadow);
	box-sizing: border-box;
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
}

div.home-shell .home-brand{
	display: flex;
	align-items: center;
	flex: 1 1 240px;
	min-width: 0;
}

div.home-shell .home-brand__copy{
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

div.home-shell .home-brand__copy strong{
	font-size: 20px;
	font-weight: bold;
	font-variant: small-caps;
	line-height: 1;
	letter-spacing: 0.04em;
	color: #f4ead8;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}

div.home-shell .home-brand__copy span{
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: var(--home-blue);
}

div.home-shell .nav{
	list-style: none;
	position: static;
	top: auto;
	left: auto;
	width: auto;
	margin: 0;
	padding: 0;
	display: flex;
	flex: 2 1 760px;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

div.home-shell .nav li{
	display: block;
	flex: 0 0 auto;
	margin: 0;
	list-style: none;
}

div.home-shell .nav li a{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 38px;
	padding: 0 14px;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	background: rgba(255, 255, 255, 0.05);
	color: var(--home-text);
	font-size: 12px;
	font-weight: bold;
	font-variant: small-caps;
	letter-spacing: 0.05em;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02);
	transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

div.home-shell .nav li a:hover,
div.home-shell .nav li a:focus{
	border-color: rgba(125, 183, 207, 0.38);
	background: rgba(255, 255, 255, 0.09);
	transform: translateY(-1px);
	outline: none;
}

div.home-shell .nav li a.is-accent{
	border-color: rgba(215, 186, 124, 0.32);
	background:
		radial-gradient(circle at top, rgba(215, 186, 124, 0.18), transparent 60%),
		linear-gradient(180deg, rgba(69, 52, 27, 0.86), rgba(20, 17, 14, 0.86));
}

div.home-shell .nav li a.is-primary{
	border-color: rgba(125, 183, 207, 0.30);
	background:
		radial-gradient(circle at top, rgba(125, 183, 207, 0.18), transparent 60%),
		linear-gradient(180deg, rgba(52, 75, 104, 0.84), rgba(14, 23, 36, 0.90));
}

div.home-shell .home-nav__badge{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 18px;
	padding: 0 7px;
	border-radius: 999px;
	background: rgba(205, 106, 74, 0.24);
	color: #ffe6d9;
	font-size: 9px;
	font-weight: bold;
	letter-spacing: 0.08em;
}

div.home-shell .content_body{
	float: none;
	width: calc(100vw - 8px);
	margin: 0 auto;
	padding: 6px 0 0;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
}

div.home-shell.is-home-locked .content_body{
	overflow: hidden;
}

div.home-shell .content_body p{
	padding: 0;
}

div.home-shell .content_body > *{
	position: relative;
	z-index: 1;
}

div.home-landing{
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	gap: 0;
	min-height: 0;
}

div.home-shell.is-home-locked div.home-landing{
	height: 100%;
}

section.home-stage{
	display: grid;
	grid-template-columns: 270px minmax(0, 1fr) 270px;
	grid-template-rows: minmax(0, 1fr);
	flex: 1 1 auto;
	gap: 12px;
	align-items: stretch;
	align-content: stretch;
	height: 100%;
	min-height: 0;
	padding: 0;
}

div.home-shell.is-home-locked section.home-stage{
	height: 100%;
}

aside.home-stage-side{
	display: flex;
	min-height: 0;
	height: 100%;
}

aside.home-stage-side > *{
	width: 100%;
	flex: 1 1 auto;
	min-height: 0;
}

div.home-stage-spacer{
	min-width: 0;
}

section.home-panel--frame{
	flex: 1 1 auto;
	height: 100%;
	display: flex;
	flex-direction: column;
	min-height: 0;
	padding: 18px;
	border-radius: 32px;
}

h1.home-panel__title--compact{
	font-size: 26px;
	line-height: 1.02;
}

div.home-shell p.home-panel__lead--compact{
	margin-top: 12px;
	font-size: 13px;
	line-height: 1.58;
}

div.home-stage-copy{
	display: flex;
	flex-direction: column;
	gap: 0;
}

section.home-panel--frame-intro{
	justify-content: space-between;
	overflow-y: auto;
	overflow-x: hidden;
}

div.home-stage-links{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	text-align: center;
}

div.home-stage-links .home-button{
	width: 100%;
}

div.home-panel,
section.home-panel,
section.home-subpanel{
	position: relative;
	overflow: hidden;
	padding: 22px 24px;
	border: 1px solid var(--home-line);
	border-radius: 28px;
	background:
		radial-gradient(circle at top left, rgba(125, 183, 207, 0.10), transparent 32%),
		radial-gradient(circle at bottom right, rgba(215, 186, 124, 0.09), transparent 28%),
		linear-gradient(180deg, rgba(8, 10, 14, 0.84), rgba(16, 17, 22, 0.82));
	box-shadow: var(--home-shadow);
	box-sizing: border-box;
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
}

div.home-panel::before,
section.home-panel::before,
section.home-subpanel::before{
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(circle at 16% 14%, rgba(125, 183, 207, 0.08), transparent 20%),
		radial-gradient(circle at 82% 78%, rgba(215, 186, 124, 0.06), transparent 18%);
	opacity: 0.85;
}

div.home-panel > *,
section.home-panel > *,
section.home-subpanel > *{
	position: relative;
	z-index: 1;
}

div.home-panel--hero{
	width: min(660px, 58vw);
	padding: 24px 26px;
	background:
		radial-gradient(circle at top left, rgba(125, 183, 207, 0.13), transparent 36%),
		linear-gradient(180deg, rgba(6, 8, 12, 0.76), rgba(14, 15, 20, 0.84));
}

div.home-hero-brand{
	display: flex;
	align-items: center;
	gap: 16px;
}

div.home-hero-logo{
	flex: 0 0 96px;
	max-width: 96px;
	padding: 8px;
	border-radius: 24px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	background: rgba(255, 255, 255, 0.04);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03);
}

div.home-hero-logo img{
	display: block;
	width: 100%;
	height: auto;
	filter: drop-shadow(0 10px 18px rgba(0, 0, 0, 0.28));
}

div.home-hero-copy{
	min-width: 0;
}

div.home-panel__header{
	display: flex;
	flex-direction: column;
	gap: 0;
	margin-bottom: 14px;
}

div.home-panel__header--entry{
	max-width: 720px;
	margin-bottom: 18px;
}

div.home-panel__eyebrow{
	margin-bottom: 6px;
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: var(--home-blue);
}

h1.home-panel__title,
h2.home-panel__section-title{
	margin: 0;
	padding: 0;
	border: 0;
	font-family: Georgia, "Palatino Linotype", serif;
	font-weight: bold;
	font-variant: small-caps;
	line-height: 1.06;
	color: #f4ead8;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
}

h1.home-panel__title{
	font-size: 42px;
}

h2.home-panel__section-title{
	font-size: 28px;
}

div.home-shell p.home-panel__lead{
	margin-top: 16px;
	font-size: 15px;
	line-height: 1.65;
	color: #f2eadf;
	max-width: 42em;
}

div.home-shell p.home-panel__hint{
	margin-top: 8px;
	font-size: 13px;
	line-height: 1.55;
	color: var(--home-muted);
}

div.home-shell p.home-panel__hint--hero{
	max-width: 640px;
}

div.home-hero-actions{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

a.home-button,
input.home-button{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	margin: 0;
	padding: 0 18px;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.10);
	background: rgba(255, 255, 255, 0.05);
	color: #fff3dc;
	font-family: Georgia, "Palatino Linotype", serif;
	font-size: 13px;
	font-weight: bold;
	line-height: 1;
	cursor: pointer;
	box-sizing: border-box;
	text-decoration: none;
	transition: border-color 0.18s ease, background 0.18s ease;
}

a.home-button:hover,
a.home-button:focus,
input.home-button:hover,
input.home-button:focus{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 0;
	border-color: rgba(125, 183, 207, 0.42);
	background: rgba(255, 255, 255, 0.10);
	font-weight: bold;
	line-height: 1;
	outline: none;
}

a.home-button--primary,
input.home-button--primary{
	border-color: rgba(125, 183, 207, 0.30);
	background:
		radial-gradient(circle at top, rgba(125, 183, 207, 0.20), transparent 58%),
		linear-gradient(180deg, rgba(53, 77, 106, 0.86), rgba(16, 24, 38, 0.92));
}

a.home-button--secondary,
input.home-button--secondary{
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.03));
}

input.home-button--submit{
	width: 100%;
}

div.home-login-actions input.home-button--submit{
	width: 100%;
	height: 52px;
	min-height: 52px;
	margin: 0;
	transform: none;
}

div.home-login-actions input.home-button--submit:hover,
div.home-login-actions input.home-button--submit:focus{
	margin: 0;
	transform: none;
}

ul.home-stat-strip{
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin: 20px 0 0;
	padding: 0;
}

ul.home-stat-strip li{
	min-width: 0;
	padding: 12px 14px;
	border-radius: 18px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	background: rgba(255, 255, 255, 0.05);
}

ul.home-stat-strip li span{
	display: block;
	margin-bottom: 4px;
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--home-blue);
}

ul.home-stat-strip li strong{
	display: block;
	font-size: 24px;
	font-weight: bold;
	line-height: 1;
	color: #fff3dc;
}

ul.home-stat-strip--panel{
	margin: auto 0 0;
	grid-template-columns: minmax(0, 1fr);
	gap: 8px;
}

ul.home-stat-strip--panel li{
	padding: 10px 14px;
}

ul.home-stat-strip--panel li strong{
	font-size: 22px;
}

div.home-tab-controls{
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
}

div.home-tab-controls--compact{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	padding: 4px;
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 999px;
	background: rgba(255,255,255,0.03);
	flex: 0 0 auto;
}

button.home-tab-button{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 0 10px;
	border: 1px solid transparent;
	border-radius: 999px;
	background: transparent;
	color: var(--home-text);
	font-family: Georgia, "Palatino Linotype", serif;
	font-size: 11px;
	font-weight: bold;
	font-variant: small-caps;
	letter-spacing: 0.04em;
	cursor: pointer;
	transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

button.home-tab-button:hover,
button.home-tab-button:focus{
	border-color: rgba(125, 183, 207, 0.38);
	background: rgba(255, 255, 255, 0.08);
	transform: translateY(-1px);
	outline: none;
}

button.home-tab-button.is-active{
	border-color: rgba(215, 186, 124, 0.34);
	background:
		radial-gradient(circle at top, rgba(215, 186, 124, 0.16), transparent 58%),
		linear-gradient(180deg, rgba(58, 48, 29, 0.84), rgba(21, 18, 14, 0.90));
	color: #fff3dc;
}

section.home-panel--frame-tabs{
	gap: 14px;
}

div.home-tab-panels{
	flex: 1 1 auto;
	min-height: 0;
	overflow: hidden;
}

div.home-tab-panels .home-entry-grid,
div.home-tab-panels .home-news-split,
div.home-tab-panels .home-access-grid{
	grid-template-columns: minmax(0, 1fr);
}

div.home-tab-panels .home-path-grid{
	grid-template-columns: minmax(0, 1fr);
}

div.home-tab-panels article.home-path-card{
	min-height: auto;
}

div.home-tab-panels div.home-side-stack,
div.home-tab-panels aside.home-side-stack{
	margin-top: 4px;
}

div.home-tab-panels div.home-contact-grid{
	grid-template-columns: minmax(0, 1fr);
}

div.home-tab-panel{
	display: none;
	height: 100%;
	overflow-y: auto;
	padding-right: 4px;
}

div.home-tab-panel.is-active{
	display: flex;
	flex-direction: column;
}

div.home-tab-panel::-webkit-scrollbar{
	width: 8px;
}

div.home-tab-panel::-webkit-scrollbar-thumb{
	border-radius: 999px;
	background: rgba(125, 183, 207, 0.28);
}

section.home-panel--frame-intro::-webkit-scrollbar{
	width: 8px;
}

section.home-panel--frame-intro::-webkit-scrollbar-thumb{
	border-radius: 999px;
	background: rgba(125, 183, 207, 0.28);
}

div.home-entry-grid{
	display: grid;
	grid-template-columns: minmax(0, 1.65fr) minmax(280px, 0.85fr);
	gap: 16px;
	align-items: start;
}

div.home-path-grid{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

article.home-path-card{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 12px;
	min-height: 186px;
	padding: 16px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.04);
}

article.home-path-card h2.home-panel__section-title{
	font-size: 24px;
}

div.home-shell article.home-path-card p{
	font-size: 13px;
	line-height: 1.55;
	color: var(--home-muted);
}

div.home-side-stack,
aside.home-side-stack{
	display: flex;
	flex-direction: column;
	gap: 12px;
}

section.home-subpanel{
	padding: 18px;
	background:
		radial-gradient(circle at top left, rgba(125, 183, 207, 0.08), transparent 34%),
		linear-gradient(180deg, rgba(16, 18, 24, 0.86), rgba(10, 12, 16, 0.90));
}

div.home-contact-grid{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	grid-auto-rows: 48px;
	gap: 10px;
}

a.home-contact-chip{
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	height: 48px;
	min-height: 48px;
	padding: 0 12px;
	border-radius: 18px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	background: rgba(255, 255, 255, 0.05);
	font-size: 12px;
	font-weight: bold;
	font-variant: small-caps;
	letter-spacing: 0.05em;
	line-height: 1;
	text-align: center;
	box-sizing: border-box;
	transition: border-color 0.18s ease, background 0.18s ease;
}

a.home-contact-chip:hover,
a.home-contact-chip:focus{
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 0;
	border-color: rgba(215, 186, 124, 0.34);
	background: rgba(255, 255, 255, 0.09);
	font-weight: bold;
	line-height: 1;
	outline: none;
}

section.home-subpanel--pegi{
	padding-bottom: 16px;
}

div.home-pegi-callout{
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 12px;
	padding: 12px;
	border: 1px solid rgba(215, 186, 124, 0.18);
	border-radius: 20px;
	background:
		radial-gradient(circle at top left, rgba(215, 186, 124, 0.12), transparent 48%),
		linear-gradient(180deg, rgba(48, 35, 18, 0.34), rgba(255, 255, 255, 0.03));
}

div.home-pegi-callout__badge{
	flex: 0 0 72px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 8px;
	border-radius: 16px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	background: rgba(9, 11, 15, 0.52);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03);
}

div.home-pegi-callout__badge img{
	display: block;
	width: 64px;
	height: auto;
	filter: drop-shadow(0 8px 12px rgba(0, 0, 0, 0.22));
}

div.home-pegi-callout__copy{
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

div.home-shell .home-pegi-callout__copy strong{
	font-size: 18px;
	font-weight: bold;
	font-variant: small-caps;
	letter-spacing: 0.04em;
	color: #fff1d2;
}

div.home-shell .home-pegi-callout__copy span{
	font-size: 12px;
	line-height: 1.45;
	color: var(--home-muted);
}

ul.home-pegi-grid{
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
}

ul.home-pegi-grid li{
	margin: 0;
	padding: 0;
}

ul.home-pegi-grid li:last-child:nth-child(odd){
	grid-column: 1 / -1;
	justify-self: center;
	width: min(100%, 140px);
}

div.home-pegi-card{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 102px;
	padding: 12px 10px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.05);
	text-align: center;
	box-sizing: border-box;
}

div.home-pegi-card__icon{
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
}

div.home-pegi-card__icon img{
	display: block;
	width: auto;
	max-width: 100%;
	max-height: 44px;
	filter: drop-shadow(0 6px 10px rgba(0, 0, 0, 0.24));
}

span.home-pegi-card__label{
	display: block;
	font-size: 11px;
	font-weight: bold;
	line-height: 1.25;
	color: #f2eadf;
}

div.home-pegi-actions{
	display: flex;
	justify-content: center;
	margin-top: 10px;
}

div.home-shell a.home-pegi-report-button,
div.home-shell a.home-pegi-report-button:visited{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	height: 34px;
	min-height: 34px;
	padding: 0 12px;
	border-radius: 999px;
	border: 1px solid rgba(215, 186, 124, 0.22);
	background:
		radial-gradient(circle at top, rgba(215, 186, 124, 0.12), transparent 58%),
		linear-gradient(180deg, rgba(40, 30, 18, 0.82), rgba(16, 15, 13, 0.88));
	color: #fff0d1;
	font-size: 11px;
	font-weight: bold;
	font-variant: small-caps;
	letter-spacing: 0.05em;
	line-height: 1;
	text-align: center;
	white-space: nowrap;
	box-sizing: border-box;
	transform: none;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03);
	transition: border-color 0.18s ease, background 0.18s ease;
}

div.home-shell a.home-pegi-report-button:hover,
div.home-shell a.home-pegi-report-button:focus{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	height: 34px;
	min-height: 34px;
	border: 1px solid rgba(215, 186, 124, 0.34);
	background: rgba(255, 255, 255, 0.09);
	color: #fff0d1;
	font-weight: bold;
	line-height: 1;
	box-sizing: border-box;
	transform: none;
	outline: none;
}

div.home-news-split,
div.home-access-grid{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

article.home-news-item{
	padding: 15px 16px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.04);
}

div.home-news-item__head{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 6px;
}

span.home-news-item__type{
	font-size: 11px;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--home-blue);
}

span.home-news-item__badge{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 22px;
	padding: 0 8px;
	border-radius: 999px;
	background: rgba(205, 106, 74, 0.24);
	color: #ffe6d9;
	font-size: 10px;
	font-weight: bold;
}

div.home-news-item__meta{
	font-size: 12px;
	line-height: 1.4;
	color: #ebdfc7;
	opacity: 0.84;
}

div.home-shell p.home-news-item__summary{
	margin-top: 8px;
	font-size: 13px;
	line-height: 1.58;
	color: var(--home-muted);
}

div.home-panel__footer{
	margin-top: 16px;
}

form.home-login-form,
form.home-reset-form{
	display: flex;
	flex-direction: column;
	gap: 14px;
}

label.home-field{
	display: flex;
	flex-direction: column;
	gap: 6px;
}

label.home-field span{
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--home-blue);
}

form.home-login-form input[type=text],
form.home-login-form input[type=password],
form.home-login-form select,
form.home-reset-form input[type=text]{
	width: 100%;
	margin: 0;
	padding: 11px 12px;
	border: 1px solid rgba(255, 255, 255, 0.10);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.05);
	color: #f6ecd9;
	font-family: Georgia, "Palatino Linotype", serif;
	font-size: 14px;
	box-sizing: border-box;
}

form.home-login-form input[type=text]:focus,
form.home-login-form input[type=password]:focus,
form.home-login-form select:focus,
form.home-reset-form input[type=text]:focus{
	outline: none;
	border-color: rgba(125, 183, 207, 0.42);
	box-shadow: 0 0 0 3px rgba(125, 183, 207, 0.12);
}

form.home-login-form option{
	color: #111;
}

div.home-login-actions{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

div.home-login-actions--reset{
	margin-top: 4px;
}

div.home-login-actions .home-button--submit{
	flex: 1 1 220px;
}

form.home-login-form div.home-login-actions{
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	width: 100%;
	align-items: stretch;
	justify-items: stretch;
}

form.home-login-form div.home-login-actions .home-button--submit{
	width: 100%;
	max-width: 100%;
}

form.home-login-form div.home-login-actions .home-inline-link{
	justify-self: start;
}

a.home-inline-link{
	color: #dfe8ff;
	font-size: 12px;
	font-weight: normal;
	line-height: 1.2;
	margin: 0;
	text-decoration: underline !important;
}

a.home-inline-link:hover,
a.home-inline-link:focus{
	color: #ffffff;
	font-weight: normal;
	margin: 0;
}

div.home-reset-box .warning,
div.home-reset-box .error{
	margin: 0 0 14px;
}

.ui-widget-overlay{
	z-index: 2998 !important;
}

.ui-dialog{
	z-index: 2999 !important;
}

div.home-privacy-link{
	position: fixed;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	z-index: 99999999;
	padding: 6px 8px;
	display: flex;
	align-items: center;
	gap: 12px;
	white-space: nowrap;
}

div.home-privacy-link a{
	font-size: 11px;
}

div.home-privacy-link .home-privacy-link__prefs{
	cursor: pointer;
}

@media screen and (max-width: 1120px){
	div.home-shell .home-topbar{
		width: calc(100vw - 8px);
		border-radius: 26px;
	}

	div.home-shell .nav{
		justify-content: center;
	}

	section.home-stage{
		grid-template-columns: 250px minmax(0, 1fr) 250px;
	}
}

@media screen and (max-width: 900px){
	section.home-stage{
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto;
		min-height: auto;
		padding-bottom: 0;
		gap: 16px;
	}

	div.home-stage-spacer{
		display: none;
	}

	aside.home-stage-side{
		min-height: auto;
	}

	div.home-path-grid{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	article.home-path-card:last-child{
		grid-column: 1 / -1;
	}

	div.home-news-split{
		grid-template-columns: minmax(0, 1fr);
	}

	/* Fix space-between che crea gap enormi anche su mobile */
	section.home-panel--frame-intro{
		justify-content: flex-start;
		gap: 16px;
		overflow-y: visible;
	}

	section.home-panel--frame-intro > div,
	section.home-panel--frame-intro > ul{
		margin: 0 !important;
		width: 100%;
		box-sizing: border-box;
	}

	/* Tab panels: flusso naturale su mobile */
	div.home-tab-panels{
		overflow: visible;
		flex: none;
	}

	div.home-tab-panel{
		height: auto;
		overflow-y: visible;
		padding-right: 0;
	}

	/* Pannello destro: overflow naturale */
	section.home-panel--frame-tabs{
		overflow-y: visible;
	}

	/* Nav centrata su tablet */
	div.home-shell .nav{
		justify-content: center;
	}
}

@media screen and (max-width: 760px){
	.cb-slideshow{
		background-size: cover;
	}

	.cb-slide-layer{
		background-size: cover;
	}

	div.home-shell .home-topbar{
		width: calc(100vw - 8px);
		margin-top: 6px;
		padding: 12px 14px;
		border-radius: 20px;
		gap: 8px 10px;
	}

	div.home-shell .content_body{
		width: calc(100vw - 8px);
		padding-top: 10px;
		padding-bottom: 32px;
	}

	div.home-shell.is-home-locked .content_body{
		overflow: visible;
	}

	div.home-shell.is-home-locked{
		height: auto;
		display: block;
		overflow: visible;
	}

	div.home-shell .nav{
		gap: 6px;
		justify-content: center;
	}

	div.home-shell .nav li a{
		padding: 0 12px;
		font-size: 11px;
		min-height: 38px;
	}

	/* Touch targets: Accedi più visibile su mobile */
	div.home-shell .nav li a.is-primary{
		min-height: 42px;
		font-size: 12px;
	}

	section.home-stage{
		min-height: auto;
		padding: 12px 0 0;
	}

	div.home-panel,
	section.home-panel,
	section.home-subpanel{
		padding: 18px;
		border-radius: 24px;
	}

	section.home-panel--frame{
		height: auto;
	}

	section.home-panel--frame-intro{
		overflow: visible;
	}

	h2.home-panel__section-title{
		font-size: 24px;
	}

	ul.home-stat-strip,
	div.home-path-grid{
		grid-template-columns: minmax(0, 1fr);
	}

	article.home-path-card:last-child{
		grid-column: auto;
	}
}

@media screen and (max-width: 560px){
	div.home-shell .home-brand__copy strong{
		font-size: 17px;
	}

	div.home-login-actions{
		flex-direction: column;
		align-items: stretch;
	}

	div.home-login-actions .home-button--submit{
		flex: 1 1 auto;
	}

	ul.home-stat-strip,
	div.home-contact-grid{
		grid-template-columns: minmax(0, 1fr);
	}

	/* Chip contatti: una per riga su schermi stretti */
	section.home-panel--frame-intro .home-contact-grid{
		grid-template-columns: minmax(0, 1fr);
	}

	/* Stats: più compatte */
	section.home-panel--frame-intro ul.home-stat-strip--panel li{
		padding: 6px 10px;
	}

	/* Login form: input grandi e comodi */
	form.home-login-form input[type=text],
	form.home-login-form input[type=password],
	form.home-login-form select,
	form.home-reset-form input[type=text]{
		font-size: 16px;
		padding: 13px 12px;
	}
}

@media screen and (max-width: 420px){
	div.home-shell .home-topbar{
		border-radius: 16px;
		padding: 10px 10px;
	}

	div.home-shell .nav li a{
		padding: 0 9px;
		font-size: 10px;
		min-height: 36px;
	}

	div.home-shell .home-brand__copy strong{
		font-size: 15px;
	}

	div.home-shell .home-brand__copy span{
		display: none;
	}

	a.home-button,
	input.home-button{
		min-height: 46px;
		font-size: 14px;
	}

	div.home-panel,
	section.home-panel,
	section.home-subpanel{
		padding: 14px;
		border-radius: 20px;
	}

	section.home-panel--frame-intro{
		gap: 12px;
	}

	div.home-pegi-callout{
		flex-direction: column;
		align-items: flex-start;
	}

	div.home-pegi-callout__badge{
		flex-basis: auto;
	}
}

/* Centratura vera della nav nella topbar */
@media screen and (min-width: 901px){
	div.home-shell .home-brand{
		flex: 1 1 auto;
	}

	div.home-shell .nav{
		flex: 0 0 auto;
		justify-content: center;
		margin: 0;
	}

	div.home-shell .home-topbar::after{
		content: '';
		display: block;
		flex: 1 1 auto;
	}
}

/* Sidebar fisse ai bordi del viewport su desktop */
@media screen and (min-width: 901px){
	div.home-stage-spacer{
		display: none;
	}

	div.home-shell .barra{
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 60px;
		z-index: 2000;
	}

	div.home-shell,
	div.home-shell.is-home-locked{
		padding-top: 60px;
		box-sizing: border-box;
	}

	aside.home-stage-side--intro{
		position: fixed;
		left: 8px;
		top: 60px;
		bottom: 10px;
		width: min(270px, 22vw);
		height: calc(100vh - 70px);
		height: calc(100dvh - 70px);
		max-height: calc(100vh - 70px);
		max-height: calc(100dvh - 70px);
		min-height: 0;
		display: flex;
		overflow: hidden;
		z-index: 100;
	}

	aside.home-stage-side--utilities{
		position: fixed;
		right: 8px;
		top: 60px;
		bottom: 10px;
		width: min(270px, 22vw);
		height: calc(100vh - 70px);
		height: calc(100dvh - 70px);
		max-height: calc(100vh - 70px);
		max-height: calc(100dvh - 70px);
		min-height: 0;
		display: flex;
		overflow: hidden;
		z-index: 100;
	}

	section.home-panel--frame{
		flex: 1 1 auto;
		height: 100%;
		min-height: 0;
		overflow: hidden;
		padding: 12px 12px 20px;
		box-sizing: border-box;
	}

	/* Pannello sinistro: gap uniforme, niente spazi fantasma */
	section.home-panel--frame-intro{
		overflow-y: auto;
		overflow-x: hidden;
		justify-content: flex-start;
		gap: 18px;
		scroll-padding-bottom: 20px;
	}

	/* Annulla margin:auto di main.css su div e ul figli diretti */
	section.home-panel--frame-intro > div,
	section.home-panel--frame-intro > ul{
		margin: 0 !important;
		width: 100%;
		box-sizing: border-box;
	}

	section.home-panel--frame-intro div.home-stage-copy{
		gap: 4px;
	}

	section.home-panel--frame-intro h1.home-panel__title--compact{
		font-size: 20px;
		line-height: 1.1;
	}

	section.home-panel--frame-intro p.home-panel__lead--compact{
		margin-top: 4px;
		font-size: 12px;
		line-height: 1.5;
	}

	section.home-panel--frame-intro div.home-stage-links{
		gap: 4px;
	}

	section.home-panel--frame-intro div.home-side-stack{
		gap: 8px;
	}

	/* Stat: etichetta sinistra, numero destra */
	section.home-panel--frame-intro ul.home-stat-strip--panel{
		grid-template-columns: minmax(0, 1fr);
		gap: 4px;
	}

	section.home-panel--frame-intro ul.home-stat-strip--panel li{
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		padding: 6px 9px;
		border-radius: 12px;
	}

	section.home-panel--frame-intro ul.home-stat-strip--panel li span{
		display: inline;
		font-size: 9px;
		margin-bottom: 0;
	}

	section.home-panel--frame-intro ul.home-stat-strip--panel li strong{
		display: inline;
		font-size: 18px;
		line-height: 1;
		flex-shrink: 0;
		margin-left: 8px;
	}

	/* Contatti rapidi */
	section.home-panel--frame-intro section.home-subpanel{
		padding: 10px;
		border-radius: 14px;
	}

	section.home-panel--frame-intro section.home-subpanel .home-panel__header{
		margin-bottom: 6px;
	}

	section.home-panel--frame-intro section.home-subpanel h2.home-panel__section-title{
		font-size: 13px;
		text-align: center;
	}

	section.home-panel--frame-intro .home-contact-grid{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-auto-rows: 32px;
		gap: 5px;
	}

	section.home-panel--frame-intro .home-contact-grid a.home-contact-chip:last-child:nth-child(odd){
		grid-column: 1 / -1;
		justify-self: center;
		width: calc((100% - 5px) / 2);
	}

	section.home-panel--frame-intro .home-contact-chip{
		height: 32px;
		min-height: 32px;
		font-size: 10px;
		line-height: 1;
		padding: 0 6px;
		border-radius: 12px;
		text-align: center;
	}

	section.home-panel--frame-intro section.home-subpanel--pegi .home-panel__hint{
		margin-top: 4px;
		font-size: 11px;
		line-height: 1.35;
		text-align: center;
	}

	section.home-panel--frame-intro .home-pegi-callout{
		gap: 8px;
		margin-bottom: 8px;
		padding: 9px;
		border-radius: 12px;
	}

	section.home-panel--frame-intro .home-pegi-callout__badge{
		flex-basis: 56px;
		padding: 5px;
		border-radius: 12px;
	}

	section.home-panel--frame-intro .home-pegi-callout__badge img{
		width: 48px;
	}

	section.home-panel--frame-intro .home-pegi-callout__copy strong{
		font-size: 13px;
	}

	section.home-panel--frame-intro .home-pegi-callout__copy span{
		font-size: 10px;
		line-height: 1.3;
	}

	section.home-panel--frame-intro ul.home-pegi-grid{
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 5px;
	}

	section.home-panel--frame-intro ul.home-pegi-grid li:last-child:nth-child(odd){
		width: calc((100% - 10px) / 3);
	}

	section.home-panel--frame-intro .home-pegi-card{
		min-height: 68px;
		padding: 7px 5px;
		border-radius: 10px;
		gap: 4px;
	}

	section.home-panel--frame-intro .home-pegi-card__icon{
		min-height: 28px;
	}

	section.home-panel--frame-intro .home-pegi-card__icon img{
		max-height: 28px;
	}

	section.home-panel--frame-intro .home-pegi-card__label{
		font-size: 9px;
		line-height: 1.15;
	}

	section.home-panel--frame-intro div.home-pegi-actions{
		margin-top: 8px;
	}

	div.home-shell section.home-panel--frame-intro a.home-pegi-report-button,
	div.home-shell section.home-panel--frame-intro a.home-pegi-report-button:visited{
		height: 28px;
		min-height: 28px;
		margin: 0;
		padding: 0 10px;
		border: 1px solid rgba(215, 186, 124, 0.22);
		font-size: 9px;
		box-sizing: border-box;
		transform: none;
	}

	div.home-shell section.home-panel--frame-intro a.home-pegi-report-button:hover,
	div.home-shell section.home-panel--frame-intro a.home-pegi-report-button:focus{
		height: 28px;
		min-height: 28px;
		margin: 0;
		border: 1px solid rgba(215, 186, 124, 0.34);
		transform: none;
	}

	section.home-panel--frame-intro::-webkit-scrollbar{
		width: 6px;
	}

	section.home-panel--frame-intro::-webkit-scrollbar-thumb{
		border-radius: 999px;
		background: rgba(125, 183, 207, 0.28);
	}

	/* Pannello destro: scroll sulla sezione, tab sticky in cima */
	section.home-panel--frame-tabs{
		overflow-y: auto;
		overflow-x: hidden;
		scroll-padding-bottom: 20px;
	}

	section.home-panel--frame-tabs div.home-tab-panels{
		flex: 0 0 auto;
		overflow: visible;
	}

	section.home-panel--frame-tabs div.home-tab-panel{
		height: auto;
		overflow-y: visible;
		padding-right: 0;
	}

	section.home-panel--frame-tabs::-webkit-scrollbar{
		width: 6px;
	}

	section.home-panel--frame-tabs::-webkit-scrollbar-thumb{
		border-radius: 999px;
		background: rgba(125, 183, 207, 0.28);
	}

	div.home-tab-controls--compact{
		position: sticky;
		top: 0;
		z-index: 2;
		background:
			radial-gradient(circle at top left, rgba(125, 183, 207, 0.08), transparent 40%),
			linear-gradient(180deg, rgba(8, 10, 14, 0.96), rgba(10, 12, 16, 0.92));
		-webkit-backdrop-filter: blur(10px);
		backdrop-filter: blur(10px);
		margin-bottom: 8px;
	}

	div.home-tab-panels{
		flex: none;
		overflow: visible;
		margin: 0 !important;
	}

	div.home-tab-panel > div{
		margin: 0 !important;
	}

	div.home-tab-panel{
		height: auto;
		overflow-y: visible;
		overflow-x: visible;
		padding-right: 0;
	}
}

.pagina_iscrizione_wrap{
	min-height: 100%;
	padding: 12px 0 20px;
}

div.pagina_iscrizione{
	--register-gold: #d7ba7c;
	--register-blue: #7db7cf;
	--register-text: #f2e7d5;
	--register-muted: #c7b799;
	--register-line: rgba(215,186,124,0.18);
	--register-panel: rgba(11,11,15,0.86);
	--register-panel-soft: rgba(24,23,30,0.86);
	--register-panel-deep: rgba(8,8,11,0.95);
	--register-entry-content-width: 920px;
	width: min(calc(var(--register-entry-content-width) + 90px), calc(100vw - 24px));
	max-width: calc(var(--register-entry-content-width) + 90px);
	margin: 0 auto;
	padding: 14px 14px 28px;
	box-sizing: border-box;
	border: 1px solid rgba(215,186,124,0.14);
	border-radius: 28px;
	background:
		radial-gradient(circle at top left, rgba(165,123,60,0.18), transparent 34%),
		radial-gradient(circle at top right, rgba(71,117,150,0.2), transparent 30%),
		linear-gradient(180deg, rgba(8,8,11,0.96), rgba(16,14,17,0.94));
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,0.04),
		0 22px 48px rgba(0,0,0,0.35);
	color: var(--register-text);
	font-family: Georgia, "Palatino Linotype", serif;
}

div.pagina_iscrizione div.page_body{
	width: 100%;
	max-width: none;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
}

div.pagina_iscrizione .register-shell{
	display: flex;
	flex-direction: column;
	gap: 14px;
}

div.pagina_iscrizione .register-shell--compact{
	max-width: 860px;
	margin: 0 auto;
}

div.pagina_iscrizione .register-hero,
div.pagina_iscrizione .register-card{
	position: relative;
	border: 1px solid var(--register-line);
	border-radius: 26px;
	background:
		radial-gradient(circle at top left, rgba(125,183,207,0.14), transparent 34%),
		radial-gradient(circle at bottom right, rgba(215,186,124,0.12), transparent 30%),
		linear-gradient(180deg, rgba(8,8,11,0.94), rgba(16,14,18,0.92));
	box-shadow:
		inset 0 0 0 1px rgba(255,255,255,0.04),
		0 18px 40px rgba(0,0,0,0.32);
	overflow: hidden;
}

div.pagina_iscrizione .register-hero::before,
div.pagina_iscrizione .register-card::before{
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(circle at 14% 18%, rgba(125,183,207,0.12), transparent 24%),
		radial-gradient(circle at 86% 82%, rgba(215,186,124,0.08), transparent 22%);
	opacity: 0.7;
}

div.pagina_iscrizione .register-hero{
	padding: 22px 24px 20px;
}

div.pagina_iscrizione .register-hero > *{
	position: relative;
	z-index: 1;
}

div.pagina_iscrizione .register-hero__eyebrow,
div.pagina_iscrizione .register-card__eyebrow{
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--register-blue);
	margin-bottom: 6px;
}

div.pagina_iscrizione .register-hero h2,
div.pagina_iscrizione .register-card__title{
	margin: 0;
	padding: 0;
	border: 0;
	font-family: Georgia, "Palatino Linotype", serif;
	font-size: 30px;
	font-variant: small-caps;
	font-weight: bold;
	line-height: 1.08;
	color: #f4ead8;
	text-shadow: 0 2px 8px rgba(0,0,0,0.45);
}

div.pagina_iscrizione .register-hero p,
div.pagina_iscrizione .register-card__hint,
div.pagina_iscrizione .register-detail-text{
	margin: 8px 0 0;
	color: #d8ddec;
	line-height: 1.5;
	font-size: 13px;
}

div.pagina_iscrizione .register-mail-summary{
	display: flex;
	flex-direction: column;
	gap: 12px;
	color: #d8ddec;
	line-height: 1.55;
	font-size: 13px;
}

div.pagina_iscrizione .register-mail-summary p{
	margin: 0;
}

div.pagina_iscrizione .register-mail-summary strong{
	color: #fff3dc;
	font-weight: bold;
}

div.pagina_iscrizione .register-mail-summary__lead{
	font-size: 14px;
}

div.pagina_iscrizione .register-mail-summary__note,
div.pagina_iscrizione .register-mail-summary__tip{
	color: var(--register-muted);
}

div.pagina_iscrizione .register-stepper{
	list-style: none;
	margin: 18px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

div.pagina_iscrizione .register-step{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,0.08);
	background: rgba(255,255,255,0.03);
	color: var(--register-muted);
	font-size: 12px;
}

div.pagina_iscrizione .register-step__index{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: rgba(255,255,255,0.06);
	font-weight: bold;
	color: #fff3dc;
}

div.pagina_iscrizione .register-step.is-current{
	border-color: rgba(125,183,207,0.32);
	background: rgba(125,183,207,0.12);
	color: #f4ead8;
}

div.pagina_iscrizione .register-step.is-current .register-step__index{
	background: rgba(125,183,207,0.32);
}

div.pagina_iscrizione .register-step.is-complete{
	border-color: rgba(130,212,160,0.28);
	color: #dff6e5;
}

div.pagina_iscrizione .register-step.is-complete .register-step__index{
	background: rgba(93,173,119,0.34);
}

div.pagina_iscrizione .register-grid{
	display: grid;
	gap: 14px;
	align-items: start;
}

div.pagina_iscrizione .register-grid--intro{
	grid-template-columns: minmax(0, 1fr);
}

div.pagina_iscrizione .register-grid--editor,
div.pagina_iscrizione .register-grid--review{
	grid-template-columns: minmax(0, 1fr);
}

div.pagina_iscrizione .register-grid--confirm{
	grid-template-columns: minmax(0, 1.35fr) minmax(250px, 0.65fr);
}

div.pagina_iscrizione .register-main{
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-width: 0;
}

div.pagina_iscrizione .register-card--aside,
div.pagina_iscrizione .register-form,
div.pagina_iscrizione .register-lineage-layout,
div.pagina_iscrizione .register-lineage-modules,
div.pagina_iscrizione .register-lineage-module,
div.pagina_iscrizione .register-choice-grid,
div.pagina_iscrizione .register-choice-detail{
	min-width: 0;
	max-width: 100%;
}

div.pagina_iscrizione .register-card{
	padding: 20px 22px;
}

div.pagina_iscrizione .register-card--entry{
	display: flex;
	flex-direction: column;
	gap: 14px;
}

div.pagina_iscrizione .register-card--entry .register-card__header{
	display: block;
	width: 100%;
	padding: 0 15px;
	box-sizing: border-box;
	text-align: left;
	align-self: stretch;
}

div.pagina_iscrizione .register-card--entry .register-card__eyebrow,
div.pagina_iscrizione .register-card--entry .register-card__title,
div.pagina_iscrizione .register-card--entry .register-card__hint{
	display: block;
	width: 100%;
	text-align: left;
	margin-left: 0;
	margin-right: 0;
}

div.pagina_iscrizione .register-card--utility{
	padding-top: 18px;
	padding-bottom: 18px;
	background: linear-gradient(180deg, rgba(255,255,255,0.025), rgba(255,255,255,0.015));
}

div.pagina_iscrizione .register-card--utility .register-card__header{
	margin-bottom: 10px;
}

div.pagina_iscrizione .register-card--utility .register-card__title{
	font-size: 24px;
}

div.pagina_iscrizione .register-card > *{
	position: relative;
	z-index: 1;
}

div.pagina_iscrizione .register-card--sticky{
	position: sticky;
	top: 14px;
}

div.pagina_iscrizione .register-grid--editor .register-card--sticky{
	position: static;
	top: auto;
}

div.pagina_iscrizione .register-card__header{
	display: flex;
	flex-direction: column;
	gap: 0;
	margin-bottom: 14px;
}

div.pagina_iscrizione .register-resource-links{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 14px;
}

div.pagina_iscrizione .register-resource-link{
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 8px 12px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,0.1);
	background: rgba(255,255,255,0.04);
	color: #f1eadf;
	font-size: 12px;
	font-weight: normal;
	text-decoration: none;
	white-space: nowrap;
}

div.pagina_iscrizione .register-resource-link:hover{
	display: inline-flex;
	background: rgba(255,255,255,0.09);
	color: #f1eadf;
	font-weight: normal;
}

div.pagina_iscrizione .register-legal{
	display: grid;
	gap: 10px;
	width: 100%;
	max-width: var(--register-entry-content-width);
	margin: 0 auto;
	box-sizing: border-box;
}

div.pagina_iscrizione .register-legal__item{
	width: 100%;
	padding: 14px 15px;
	border-radius: 18px;
	border: 1px solid rgba(255,255,255,0.06);
	background: rgba(255,255,255,0.03);
	line-height: 1.55;
	color: #efe8da;
	font-size: 13px;
	text-align: left;
	box-sizing: border-box;
}

div.pagina_iscrizione .register-legal__text{
	white-space: pre-line;
}

div.pagina_iscrizione .register-legal__item--privacy{
	max-height: 220px;
	overflow-y: auto;
	cursor: pointer;
	transition: max-height 0.22s ease, border-color 0.18s ease, background 0.18s ease;
}

div.pagina_iscrizione .register-legal__item--privacy:hover,
div.pagina_iscrizione .register-legal__item--privacy:focus{
	border-color: rgba(125,183,207,0.26);
	background: rgba(255,255,255,0.045);
	outline: none;
}

div.pagina_iscrizione .register-legal__item--privacy.is-expanded{
	max-height: none;
	overflow-y: visible;
}

div.pagina_iscrizione .register-legal__item--privacy::-webkit-scrollbar{
	width: 8px;
}

div.pagina_iscrizione .register-legal__item--privacy::-webkit-scrollbar-thumb{
	border-radius: 999px;
	background: rgba(125,183,207,0.28);
}

div.pagina_iscrizione .register-age-confirm{
	display: flex;
	align-items: flex-start;
	gap: 9px;
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid rgba(255,255,255,0.08);
	color: #fff3dc;
	font-size: 13px;
	line-height: 1.4;
	white-space: normal;
	cursor: pointer;
}

div.pagina_iscrizione .register-age-confirm input{
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	margin: 1px 0 0;
	cursor: pointer;
}

div.pagina_iscrizione .register-decision{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	max-width: var(--register-entry-content-width);
	margin: 0 auto;
	padding-top: 16px;
	border-top: 1px solid rgba(255,255,255,0.08);
	box-sizing: border-box;
}

div.pagina_iscrizione .register-decision__copy{
	display: flex;
	flex-direction: column;
	gap: 4px;
	max-width: 460px;
}

div.pagina_iscrizione .register-decision__copy strong{
	color: #f4ead8;
	font-size: 14px;
}

div.pagina_iscrizione .register-decision__copy span{
	color: var(--register-muted);
	font-size: 12px;
	line-height: 1.45;
}

div.pagina_iscrizione .register-form{
	display: flex;
	flex-direction: column;
	gap: 14px;
}

div.pagina_iscrizione .register-form--stacked{
	gap: 14px;
}

div.pagina_iscrizione .register-form--utility{
	gap: 0;
}

div.pagina_iscrizione .register-form-grid{
	display: grid;
	gap: 12px;
}

div.pagina_iscrizione .register-form-grid--single{
	grid-template-columns: minmax(0, 1fr);
}

div.pagina_iscrizione .register-form-grid--utility{
	grid-template-columns: minmax(0, 1fr);
}

div.pagina_iscrizione .register-field--utility{
	width: min(100%, 860px);
}

div.pagina_iscrizione .register-field__control--utility{
	display: grid;
	grid-template-columns: minmax(0, 1fr) 194px;
	gap: 12px;
	align-items: stretch;
}

div.pagina_iscrizione .register-form-grid--two{
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

div.pagina_iscrizione .register-form-grid--three{
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

div.pagina_iscrizione .register-field{
	display: flex;
	flex-direction: column;
	gap: 6px;
}

div.pagina_iscrizione .register-field__label{
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--register-blue);
}

div.pagina_iscrizione .register-field__hint{
	color: var(--register-muted);
	font-size: 11px;
	line-height: 1.4;
}

div.pagina_iscrizione .register-field__error{
	display: none;
	color: #e07070;
	font-size: 11px;
	line-height: 1.4;
}

div.pagina_iscrizione .register-field__error:not(:empty){
	display: block;
}

div.pagina_iscrizione .register-field--has-error .register-field__control input,
div.pagina_iscrizione .register-field--has-error .register-field__control select{
	border-color: rgba(224,112,112,0.6);
	box-shadow: 0 0 0 3px rgba(224,112,112,0.12);
}

div.pagina_iscrizione .register-field__control input,
div.pagina_iscrizione .register-field__control select,
div.pagina_iscrizione .register-form input[type=text],
div.pagina_iscrizione .register-form input[type=password],
div.pagina_iscrizione .register-form select{
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 11px 12px;
	border-radius: 14px;
	border: 1px solid rgba(255,255,255,0.1);
	background: rgba(255,255,255,0.05);
	color: #f6ecd9;
	font-family: Georgia, "Palatino Linotype", serif;
	font-size: 14px;
}

div.pagina_iscrizione .register-field__control input:focus,
div.pagina_iscrizione .register-field__control select:focus,
div.pagina_iscrizione .register-form input[type=text]:focus,
div.pagina_iscrizione .register-form input[type=password]:focus,
div.pagina_iscrizione .register-form select:focus{
	outline: none;
	border-color: rgba(125,183,207,0.42);
	box-shadow: 0 0 0 3px rgba(125,183,207,0.12);
}

div.pagina_iscrizione .register-form option{
	color: #111;
}

div.pagina_iscrizione .register-summary-pills{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 14px;
}

div.pagina_iscrizione .register-pill{
	min-width: 0;
	flex: 1 1 140px;
	padding: 10px 12px;
	border-radius: 16px;
	border: 1px solid rgba(255,255,255,0.08);
	background: rgba(255,255,255,0.04);
}

div.pagina_iscrizione .register-pill span{
	display: block;
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--register-blue);
	margin-bottom: 4px;
}

div.pagina_iscrizione .register-pill strong{
	font-size: 22px;
	color: #fff3dc;
	font-weight: bold;
}

div.pagina_iscrizione .register-stats-grid,
div.pagina_iscrizione .register-review-stats-grid{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	align-items: stretch;
}

div.pagina_iscrizione .register-review-stats-grid{
	grid-template-columns: repeat(3, minmax(190px, 190px));
	justify-content: center;
}

div.pagina_iscrizione .register-stat-card{
	padding: 14px 14px 12px;
	border-radius: 18px;
	border: 1px solid rgba(255,255,255,0.08);
	background:
		radial-gradient(circle at top left, rgba(125,183,207,0.14), transparent 34%),
		linear-gradient(180deg, rgba(25,24,30,0.88), rgba(11,11,15,0.94));
	display: flex;
	flex-direction: column;
	gap: 10px;
}

div.pagina_iscrizione .register-stat-card__name{
	font-size: 13px;
	font-weight: bold;
	color: #f4ead8;
	text-align: left;
}

div.pagina_iscrizione .register-stat-card__control select{
	width: 100%;
}

div.pagina_iscrizione .register-stat-card__value{
	font-size: 24px;
	font-weight: bold;
	color: #fff3dc;
}

div.pagina_iscrizione .register-stat-card--summary{
	height: 100%;
	width: 100%;
	min-height: 110px;
	align-items: center;
	justify-content: center;
	padding: 16px 12px;
	box-sizing: border-box;
	text-align: center;
}

div.pagina_iscrizione .register-stat-card--summary .register-stat-card__name,
div.pagina_iscrizione .register-stat-card--summary .register-stat-card__value{
	width: 100%;
	text-align: center;
}

div.pagina_iscrizione .register-stat-card--summary .register-stat-card__value{
	line-height: 1;
}

div.pagina_iscrizione .register-summary-section{
	padding-top: 12px;
	border-top: 1px solid rgba(255,255,255,0.08);
}

div.pagina_iscrizione .register-summary-section:first-of-type{
	padding-top: 0;
	border-top: 0;
}

div.pagina_iscrizione .register-summary-section__title,
div.pagina_iscrizione .register-review-block__title{
	margin-bottom: 10px;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--register-blue);
}

div.pagina_iscrizione .register-summary-list,
div.pagina_iscrizione .register-summary-stats{
	display: grid;
	gap: 8px;
}

div.pagina_iscrizione .register-summary-list div,
div.pagina_iscrizione .register-summary-stats div{
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding: 8px 0;
	border-bottom: 1px solid rgba(255,255,255,0.05);
}

div.pagina_iscrizione .register-summary-list div:last-child,
div.pagina_iscrizione .register-summary-stats div:last-child{
	border-bottom: 0;
}

div.pagina_iscrizione .register-summary-list dt,
div.pagina_iscrizione .register-summary-stats dt{
	color: var(--register-muted);
	font-size: 12px;
}

div.pagina_iscrizione .register-summary-list dd,
div.pagina_iscrizione .register-summary-stats dd{
	margin: 0;
	text-align: right;
	color: #f4ead8;
	font-size: 13px;
	font-weight: bold;
}

div.pagina_iscrizione #registerLiveSummary{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 16px;
	padding: 16px 18px 18px;
}

div.pagina_iscrizione #registerLiveSummary.register-lineage-summary{
	padding: 0;
}

div.pagina_iscrizione #registerLiveSummary .register-card__header{
	grid-column: 1 / -1;
	margin-bottom: 0;
}

div.pagina_iscrizione #registerLiveSummary .register-card__title{
	font-size: 24px;
}

div.pagina_iscrizione #registerLiveSummary .register-card__hint{
	margin-top: 6px;
	font-size: 12px;
	max-width: 560px;
}

div.pagina_iscrizione #registerLiveSummary .register-summary-section{
	min-width: 0;
	margin: 0;
	padding: 12px 14px;
	border: 1px solid rgba(255,255,255,0.06);
	border-radius: 18px;
	background: rgba(255,255,255,0.02);
}

div.pagina_iscrizione #registerLiveSummary .register-summary-section:first-of-type{
	padding-top: 12px;
	border-top: 1px solid rgba(255,255,255,0.06);
}

div.pagina_iscrizione #registerLiveSummary.register-lineage-summary .register-summary-section:first-of-type{
	padding-top: 0;
	border-top: 0;
}

div.pagina_iscrizione #registerLiveSummary .register-summary-section:last-of-type{
	grid-column: 1 / -1;
}

div.pagina_iscrizione #registerLiveSummary .register-summary-section__title{
	margin-bottom: 8px;
	font-size: 11px;
}

div.pagina_iscrizione #registerLiveSummary .register-summary-list{
	gap: 4px;
}

div.pagina_iscrizione #registerLiveSummary .register-summary-list div{
	padding: 6px 0;
}

div.pagina_iscrizione #registerLiveSummary .register-summary-list dt{
	font-size: 11px;
}

div.pagina_iscrizione #registerLiveSummary .register-summary-list dd{
	font-size: 12px;
}

div.pagina_iscrizione #registerLiveSummary .register-summary-stats{
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 6px;
}

div.pagina_iscrizione #registerLiveSummary .register-summary-stats div{
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 7px 9px;
	border-bottom: 0;
	border: 1px solid rgba(255,255,255,0.06);
	border-radius: 12px;
	background: rgba(255,255,255,0.025);
}

div.pagina_iscrizione #registerLiveSummary .register-summary-stats dt{
	font-size: 11px;
	line-height: 1.2;
}

div.pagina_iscrizione #registerLiveSummary .register-summary-stats dd{
	font-size: 16px;
	text-align: right;
	line-height: 1;
}

div.pagina_iscrizione .register-review-grid{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

div.pagina_iscrizione .register-review-block{
	padding: 14px 15px;
	border-radius: 18px;
	border: 1px solid rgba(255,255,255,0.08);
	background: rgba(255,255,255,0.03);
}

div.pagina_iscrizione .register-actions{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 14px;
}

div.pagina_iscrizione .register-actions--split{
	justify-content: space-between;
}

div.pagina_iscrizione .register-actions--main{
	margin-top: 0;
}

div.pagina_iscrizione .register-actions--review{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
}

div.pagina_iscrizione .register-actions--secondary,
div.pagina_iscrizione .register-actions--stacked{
	margin-top: 10px;
	flex-direction: column;
}

div.pagina_iscrizione .register-actions form{
	margin: 0;
}

div.pagina_iscrizione .register-actions--review form{
	width: 100%;
}

div.pagina_iscrizione .register-actions--review .register-button{
	width: 100%;
	min-width: 0;
}

div.pagina_iscrizione .register-button{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 170px;
	margin: 0;
	padding: 11px 16px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,0.1);
	background: rgba(255,255,255,0.06);
	color: #fff3dc;
	font-family: Georgia, "Palatino Linotype", serif;
	font-size: 13px;
	font-weight: bold;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	box-sizing: border-box;
}

div.pagina_iscrizione .register-field__control--utility input[type=text],
div.pagina_iscrizione .register-button--utility{
	height: 46px;
}

div.pagina_iscrizione .register-button--utility{
	width: 100%;
	min-width: 0;
	padding: 0 16px;
	align-self: stretch;
}

div.pagina_iscrizione .register-button:hover{
	background: rgba(255,255,255,0.1);
}

div.pagina_iscrizione .register-button--primary{
	border-color: rgba(125,183,207,0.28);
	background:
		radial-gradient(circle at top, rgba(125,183,207,0.18), transparent 55%),
		linear-gradient(180deg, rgba(53,77,106,0.88), rgba(16,24,38,0.95));
}

div.pagina_iscrizione .register-button--ghost{
	background: rgba(255,255,255,0.03);
}

div.pagina_iscrizione .register-button[disabled]{
	opacity: 0.45;
	cursor: not-allowed;
}

div.pagina_iscrizione .register-message-stack{
	display: flex;
	flex-direction: column;
	gap: 8px;
}

div.pagina_iscrizione .register-shell .warning,
div.pagina_iscrizione .register-shell .error{
	margin: 0;
}

div.pagina_iscrizione .register-link-back{
	margin-top: 0;
}

div.pagina_iscrizione .register-link-back,
div.pagina_iscrizione .register-link-back a,
div.pagina_iscrizione .register-link-back a:hover{
	display: inline-block;
	min-width: 190px;
	box-sizing: border-box;
	text-align: center;
	font-weight: bold;
}

div.pagina_iscrizione .register-link-back a:hover{
	color: #fff3dc;
}

div.pagina_iscrizione .register-lineage-layout{
	display: grid;
	gap: 12px;
}

div.pagina_iscrizione .register-lineage-tabs{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 10px;
}

div.pagina_iscrizione .register-lineage-tab{
	appearance: none;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	padding: 12px 14px;
	border-radius: 18px;
	border: 1px solid rgba(255,255,255,0.08);
	background:
		linear-gradient(180deg, rgba(25,24,31,0.92), rgba(11,11,15,0.96));
	color: #f4ead8;
	text-align: center;
	cursor: pointer;
	transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

div.pagina_iscrizione .register-lineage-tab:hover{
	border-color: rgba(125,183,207,0.28);
	transform: translateY(-1px);
}

div.pagina_iscrizione .register-lineage-tab:focus-visible,
div.pagina_iscrizione .register-choice-card:focus-visible,
div.pagina_iscrizione .register-lineage-nav__button:focus-visible{
	outline: 2px solid rgba(125,183,207,0.72);
	outline-offset: 2px;
}

div.pagina_iscrizione .register-lineage-tab.is-active{
	border-color: rgba(125,183,207,0.44);
	background:
		radial-gradient(circle at top left, rgba(125,183,207,0.12), transparent 42%),
		linear-gradient(180deg, rgba(27,27,35,0.96), rgba(12,12,17,0.98));
	box-shadow:
		inset 0 0 0 1px rgba(125,183,207,0.14),
		0 12px 24px rgba(0,0,0,0.2);
}

div.pagina_iscrizione .register-lineage-tab.is-complete .register-lineage-tab__step{
	border-color: rgba(133,184,152,0.28);
	background: rgba(133,184,152,0.18);
}

div.pagina_iscrizione .register-lineage-tab.is-locked,
div.pagina_iscrizione .register-lineage-tab[disabled]{
	opacity: 0.45;
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}

div.pagina_iscrizione .register-lineage-tab__step{
	display: none;
}

div.pagina_iscrizione .register-lineage-tab__label{
	display: block;
	min-width: 0;
	font-size: 14px;
	font-weight: bold;
	font-variant: small-caps;
	line-height: 1.2;
	text-align: center;
}

div.pagina_iscrizione .register-lineage-modules{
	display: block;
}

div.pagina_iscrizione .register-lineage-module{
	display: none;
	padding: 14px;
	border-radius: 20px;
	border: 1px solid rgba(255,255,255,0.08);
	background:
		radial-gradient(circle at top left, rgba(125,183,207,0.1), transparent 38%),
		linear-gradient(180deg, rgba(23,22,28,0.88), rgba(9,9,13,0.94));
}

div.pagina_iscrizione .register-lineage-module.is-active{
	display: block;
}

div.pagina_iscrizione .register-lineage-module__body{
	display: grid;
	gap: 14px;
}

div.pagina_iscrizione .register-lineage-module__header{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	margin-bottom: 14px;
}

div.pagina_iscrizione .register-lineage-module__step{
	display: none;
}

div.pagina_iscrizione .register-lineage-module__copy{
	width: 100%;
	text-align: center;
}

div.pagina_iscrizione .register-lineage-module__copy h4{
	margin: 0;
	font-size: 19px;
	font-variant: small-caps;
	color: #f4ead8;
}

div.pagina_iscrizione .register-lineage-module__copy p{
	margin: 3px 0 0;
	color: #d8ddec;
	font-size: 12px;
	line-height: 1.45;
}

div.pagina_iscrizione .register-choice-grid{
	display: flex;
	flex-wrap: nowrap;
	gap: 10px;
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	padding-bottom: 4px;
	scroll-snap-type: x proximity;
}

div.pagina_iscrizione .register-choice-empty{
	flex: 1 1 auto;
	padding: 14px;
	border-radius: 16px;
	border: 1px dashed rgba(255,255,255,0.14);
	background: rgba(255,255,255,0.025);
	color: var(--register-muted);
	font-size: 12px;
	line-height: 1.45;
}

div.pagina_iscrizione .register-choice-card{
	appearance: none;
	flex: 0 0 236px;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 236px;
	max-width: 236px;
	min-height: 118px;
	padding: 14px;
	border-radius: 18px;
	border: 1px solid rgba(255,255,255,0.08);
	background:
		radial-gradient(circle at top left, rgba(215,186,124,0.14), transparent 32%),
		linear-gradient(180deg, rgba(29,28,36,0.88), rgba(12,12,16,0.94));
	color: #f4ead8;
	text-align: left;
	cursor: pointer;
	box-sizing: border-box;
	transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
	scroll-snap-align: start;
}

div.pagina_iscrizione .register-choice-card--race{
	min-height: 108px;
}

div.pagina_iscrizione .register-choice-card.is-compact{
	min-height: 72px;
	padding: 12px 14px;
}

div.pagina_iscrizione .register-choice-card.is-compact .register-choice-card__body{
	justify-content: center;
	gap: 4px;
}

div.pagina_iscrizione .register-choice-card.is-compact .register-choice-card__header{
	align-items: center;
}

div.pagina_iscrizione .register-choice-card--race.is-compact{
	flex-basis: 188px;
	width: 188px;
	max-width: 188px;
	min-height: 68px;
}

div.pagina_iscrizione .register-choice-card:hover{
	border-color: rgba(125,183,207,0.28);
	transform: translateY(-1px);
	box-shadow: 0 10px 24px rgba(0,0,0,0.22);
}

div.pagina_iscrizione .register-choice-card.is-selected{
	border-color: rgba(125,183,207,0.46);
	box-shadow:
		inset 0 0 0 1px rgba(125,183,207,0.18),
		0 14px 28px rgba(0,0,0,0.24);
}

div.pagina_iscrizione .register-choice-card.is-selected::after{
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 18px;
	box-shadow: inset 0 0 0 1px rgba(255,243,220,0.07);
	pointer-events: none;
}

div.pagina_iscrizione .register-choice-card.is-disabled{
	opacity: 0.6;
	cursor: not-allowed;
}

div.pagina_iscrizione .register-choice-card.is-disabled:hover{
	transform: none;
	box-shadow: none;
}

div.pagina_iscrizione .register-choice-card__badge{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 4px 7px;
	border-radius: 999px;
	background: rgba(122, 62, 58, 0.92);
	color: #fff2ea;
	font-size: 10px;
	font-weight: bold;
	letter-spacing: 0.04em;
}

div.pagina_iscrizione .register-choice-card__badge--suggested{
	background: rgba(48, 92, 130, 0.92);
	color: #f4f8ff;
}

div.pagina_iscrizione .register-choice-card__body{
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
	flex: 1 1 auto;
}

div.pagina_iscrizione .register-choice-card__copy{
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
	flex: 1 1 auto;
}

div.pagina_iscrizione .register-choice-card__media{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	aspect-ratio: 1 / 1;
	border-radius: 18px;
	overflow: hidden;
	border: 1px solid rgba(159, 205, 255, 0.18);
	background:
		radial-gradient(circle at top, rgba(255,255,255,0.12), rgba(255,255,255,0.02) 58%),
		linear-gradient(180deg, rgba(28,33,45,0.94), rgba(15,17,24,0.96));
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,0.06),
		0 12px 24px rgba(0,0,0,0.24);
}

div.pagina_iscrizione .register-choice-card__media img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

div.pagina_iscrizione .register-choice-card__header{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 8px;
}

div.pagina_iscrizione .register-choice-card--origin.has-media .register-choice-card__header,
div.pagina_iscrizione .register-choice-card--citizenship.has-media .register-choice-card__header,
div.pagina_iscrizione .register-choice-card--background.has-media .register-choice-card__header{
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 6px;
}

div.pagina_iscrizione .register-choice-card--origin.has-media .register-choice-card__badge,
div.pagina_iscrizione .register-choice-card--citizenship.has-media .register-choice-card__badge,
div.pagina_iscrizione .register-choice-card--background.has-media .register-choice-card__badge{
	align-self: flex-start;
}

div.pagina_iscrizione .register-choice-card--background .register-choice-card__media img{
	object-fit: contain;
	padding: 4px;
	box-sizing: border-box;
}

div.pagina_iscrizione .register-choice-card__title{
	display: block;
	font-size: 16px;
	font-weight: bold;
	color: #fff3dc;
	line-height: 1.18;
	font-variant: small-caps;
}

div.pagina_iscrizione .register-choice-card--race .register-choice-card__title{
	font-size: 14px;
	line-height: 1.05;
	font-variant: normal;
	letter-spacing: 0;
	white-space: nowrap;
	overflow-wrap: normal;
	word-break: normal;
}

div.pagina_iscrizione .register-choice-card__summary{
	display: block;
	color: #d8ddec;
	font-size: 12px;
	line-height: 1.45;
}

div.pagina_iscrizione .register-choice-card__chips,
div.pagina_iscrizione .register-lineage-detail__chips{
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

div.pagina_iscrizione .register-choice-card__chips{
	margin-top: auto;
}

div.pagina_iscrizione .register-lineage-detail__chips{
	display: none;
}

div.pagina_iscrizione .register-choice-card__chip,
div.pagina_iscrizione .register-lineage-detail__chip{
	display: inline-flex;
	align-items: center;
	padding: 4px 8px;
	border-radius: 999px;
	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(255,255,255,0.08);
	color: #f1eadf;
	font-size: 10px;
	line-height: 1.2;
}

div.pagina_iscrizione .register-choice-detail{
	margin-top: 10px;
	padding: 18px 20px;
	border-radius: 18px;
	border: 1px solid rgba(255,255,255,0.08);
	background:
		radial-gradient(circle at top right, rgba(125,183,207,0.08), transparent 30%),
		rgba(255,255,255,0.025);
}

div.pagina_iscrizione .register-choice-detail:empty{
	display: none;
}

div.pagina_iscrizione .register-lineage-summary{
	margin-top: 2px;
}

div.pagina_iscrizione .register-choice-detail__empty{
	display: flex;
	flex-direction: column;
	gap: 6px;
	color: #d8ddec;
	font-size: 12px;
	line-height: 1.5;
}

div.pagina_iscrizione .register-choice-detail__empty strong{
	color: #fff3dc;
	font-size: 13px;
}

div.pagina_iscrizione .register-choice-detail__type{
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--register-blue);
}

div.pagina_iscrizione .register-choice-detail__head{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 12px;
	margin-top: 4px;
}

div.pagina_iscrizione .register-choice-detail__head h5{
	margin: 0;
	font-size: 24px;
	font-variant: small-caps;
	line-height: 1.08;
	color: #f4ead8;
}

div.pagina_iscrizione .register-choice-detail__callout{
	padding: 7px 10px;
	border-radius: 12px;
	background: rgba(125,183,207,0.12);
	border: 1px solid rgba(125,183,207,0.18);
	color: #eef6ff;
	font-size: 11px;
	line-height: 1.4;
}

div.pagina_iscrizione .register-choice-detail__summary{
	margin: 12px 0 4px;
	color: #d8ddec;
	font-size: 14px;
	line-height: 1.7;
	max-width: 90ch;
}

div.pagina_iscrizione .register-choice-detail__chips{
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 10px;
}

div.pagina_iscrizione .register-choice-detail__chip{
	display: inline-flex;
	align-items: center;
	padding: 4px 8px;
	border-radius: 999px;
	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(255,255,255,0.08);
	color: #f1eadf;
	font-size: 10px;
	line-height: 1.2;
}

div.pagina_iscrizione .register-choice-detail__section{
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid rgba(255,255,255,0.08);
}

div.pagina_iscrizione .register-choice-detail__section-title{
	margin-bottom: 8px;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--register-blue);
}

div.pagina_iscrizione .register-choice-detail__facts{
	display: grid;
	gap: 8px;
}

div.pagina_iscrizione .register-choice-detail__facts div{
	display: grid;
	grid-template-columns: minmax(140px, 180px) minmax(0, 1fr);
	align-items: start;
	gap: 12px;
	padding-bottom: 8px;
	border-bottom: 1px solid rgba(255,255,255,0.05);
}

div.pagina_iscrizione .register-choice-detail__facts div:last-child{
	padding-bottom: 0;
	border-bottom: 0;
}

div.pagina_iscrizione .register-choice-detail__facts dt{
	color: var(--register-muted);
	font-size: 12px;
}

div.pagina_iscrizione .register-choice-detail__facts dd{
	margin: 0;
	text-align: left;
	color: #f4ead8;
	font-size: 12px;
	font-weight: bold;
	overflow-wrap: anywhere;
}

div.pagina_iscrizione .register-choice-detail__links{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

div.pagina_iscrizione .register-choice-detail__link{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 12px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,0.08);
	background: rgba(255,255,255,0.04);
	color: #fff3dc;
	font-size: 12px;
	text-decoration: none;
}

div.pagina_iscrizione .register-choice-detail__link:hover{
	background: rgba(255,255,255,0.08);
	color: #fff3dc;
}

div.pagina_iscrizione .register-lineage-nav{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

div.pagina_iscrizione .register-lineage-nav__button{
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 134px;
	padding: 10px 14px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,0.08);
	background: rgba(255,255,255,0.03);
	color: #fff3dc;
	cursor: pointer;
	font-size: 12px;
	font-weight: bold;
	line-height: 1;
}

div.pagina_iscrizione .register-lineage-nav__button:hover{
	border-color: rgba(125,183,207,0.24);
	background: rgba(125,183,207,0.08);
}

div.pagina_iscrizione .register-lineage-nav__button[disabled]{
	opacity: 0.42;
	cursor: not-allowed;
}

div.pagina_iscrizione .register-actions--wizard{
	margin-top: 14px;
}

div.pagina_iscrizione .register-lineage-native{
	display: none;
}

div.pagina_iscrizione .register-lineage-detail{
	position: sticky;
	top: 14px;
	padding: 14px;
	border-radius: 22px;
	border: 1px solid rgba(255,255,255,0.08);
	background:
		radial-gradient(circle at top right, rgba(215,186,124,0.12), transparent 34%),
		linear-gradient(180deg, rgba(12,12,16,0.96), rgba(22,20,26,0.94));
	box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04);
}

div.pagina_iscrizione .register-lineage-detail__media{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 240px;
	border-radius: 18px;
	overflow: hidden;
	background:
		radial-gradient(circle at top, rgba(125,183,207,0.12), transparent 42%),
		rgba(255,255,255,0.04);
}

div.pagina_iscrizione .register-lineage-detail__media img{
	display: none;
	width: 100%;
	height: 240px;
	object-fit: cover;
}

div.pagina_iscrizione .register-lineage-detail__placeholder{
	padding: 18px;
	color: var(--register-muted);
	font-size: 12px;
	line-height: 1.45;
	text-align: center;
}

div.pagina_iscrizione .register-lineage-detail__body{
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 14px;
}

div.pagina_iscrizione .register-lineage-detail__type{
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--register-blue);
}

div.pagina_iscrizione .register-lineage-detail__body h4{
	margin: 0;
	font-size: 26px;
	font-variant: small-caps;
	line-height: 1.05;
	color: #f4ead8;
}

div.pagina_iscrizione .register-lineage-detail__summary{
	margin: 0;
	color: #d8ddec;
	font-size: 13px;
	line-height: 1.55;
}

div.pagina_iscrizione .register-lineage-detail__section{
	display: none;
	padding-top: 12px;
	border-top: 1px solid rgba(255,255,255,0.08);
}

div.pagina_iscrizione .register-lineage-detail__section-title{
	margin-bottom: 8px;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--register-blue);
}

div.pagina_iscrizione .register-lineage-detail__facts{
	display: grid;
	gap: 8px;
}

div.pagina_iscrizione .register-lineage-detail__facts div{
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding-bottom: 8px;
	border-bottom: 1px solid rgba(255,255,255,0.05);
}

div.pagina_iscrizione .register-lineage-detail__facts div:last-child{
	padding-bottom: 0;
	border-bottom: 0;
}

div.pagina_iscrizione .register-lineage-detail__facts dt{
	color: var(--register-muted);
	font-size: 12px;
}

div.pagina_iscrizione .register-lineage-detail__facts dt:empty{
	display: none;
}

div.pagina_iscrizione .register-lineage-detail__facts dd{
	margin: 0;
	text-align: right;
	color: #f4ead8;
	font-size: 12px;
	font-weight: bold;
}

div.pagina_iscrizione .register-lineage-detail__links{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

div.pagina_iscrizione .register-lineage-detail__link{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 12px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,0.08);
	background: rgba(255,255,255,0.04);
	color: #fff3dc;
	font-size: 12px;
	text-decoration: none;
}

div.pagina_iscrizione .register-lineage-detail__link:hover{
	background: rgba(255,255,255,0.08);
	color: #fff3dc;
}

@media screen and (max-width: 760px){
	div.pagina_iscrizione .register-lineage-tabs{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	div.pagina_iscrizione .register-lineage-tab{
		padding: 11px 12px;
	}

	div.pagina_iscrizione .register-choice-card{
		flex-basis: 82vw;
		width: 82vw;
		max-width: 82vw;
		padding: 11px 12px;
	}

	div.pagina_iscrizione .register-choice-grid{
		padding: 10px;
	}

	div.pagina_iscrizione .register-lineage-module__header{
		gap: 10px;
		align-items: flex-start;
	}

	div.pagina_iscrizione .register-lineage-module__step{
		width: 34px;
		height: 34px;
		border-radius: 12px;
	}

	div.pagina_iscrizione .register-choice-detail__head{
		flex-direction: column;
		align-items: flex-start;
	}

	div.pagina_iscrizione .register-lineage-nav{
		flex-direction: column;
		align-items: stretch;
	}

	div.pagina_iscrizione .register-lineage-nav__button{
		width: 100%;
	}

	div.pagina_iscrizione #registerLiveSummary{
		grid-template-columns: minmax(0, 1fr);
	}

	div.pagina_iscrizione #registerLiveSummary .register-summary-section:last-of-type{
		grid-column: auto;
	}

	div.pagina_iscrizione #registerLiveSummary .register-summary-stats{
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media screen and (max-width: 1080px){
	div.pagina_iscrizione .register-field__control--utility{
		grid-template-columns: minmax(0, 1fr) auto;
	}

	div.pagina_iscrizione .register-grid--intro,
	div.pagina_iscrizione .register-grid--editor,
	div.pagina_iscrizione .register-grid--review,
	div.pagina_iscrizione .register-grid--confirm{
		grid-template-columns: minmax(0, 1fr);
	}

	div.pagina_iscrizione .register-decision{
		flex-direction: column;
		align-items: stretch;
	}

	div.pagina_iscrizione .register-card--sticky{
		position: static;
	}
}

@media screen and (max-width: 760px){
	div.pagina_iscrizione{
		width: calc(100vw - 12px);
		padding: 10px 10px 18px;
		border-radius: 22px;
	}

	div.pagina_iscrizione .register-hero,
	div.pagina_iscrizione .register-card{
		padding: 16px;
		border-radius: 22px;
	}

	div.pagina_iscrizione .register-hero h2,
	div.pagina_iscrizione .register-card__title{
		font-size: 24px;
	}

	div.pagina_iscrizione .register-form-grid--two,
	div.pagina_iscrizione .register-form-grid--three,
	div.pagina_iscrizione .register-review-grid,
	div.pagina_iscrizione .register-stats-grid,
	div.pagina_iscrizione .register-review-stats-grid{
		grid-template-columns: minmax(0, 1fr);
	}

	div.pagina_iscrizione .register-field__control--utility{
		grid-template-columns: minmax(0, 1fr);
	}

	div.pagina_iscrizione .register-actions--split{
		flex-direction: column;
	}

	div.pagina_iscrizione .register-actions--review{
		grid-template-columns: minmax(0, 1fr);
	}

div.pagina_iscrizione .register-button{
		width: 100%;
	}
}

.pagina_notizie_wrap{
	min-height: 100%;
	background-image: url("../../imgs/DOC.png");
	background-repeat: repeat;
	padding: 12px 0 24px;
}

div.pagina_notizie{
	--news-gold: #d7ba7c;
	--news-blue: #7db7cf;
	--news-text: #f2e7d5;
	--news-muted: #d8ddec;
	--news-line: rgba(215,186,124,0.18);
	--news-panel: rgba(11,11,15,0.86);
	--news-panel-soft: rgba(19,18,25,0.88);
	width: min(1180px, calc(100vw - 24px));
	max-width: 1180px;
	margin: 0 auto;
	padding: 14px 14px 28px;
	box-sizing: border-box;
	border: 1px solid rgba(215,186,124,0.14);
	border-radius: 28px;
	background:
		radial-gradient(circle at top left, rgba(165,123,60,0.18), transparent 34%),
		radial-gradient(circle at top right, rgba(71,117,150,0.2), transparent 30%),
		linear-gradient(180deg, rgba(8,8,11,0.96), rgba(16,14,17,0.94));
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,0.04),
		0 22px 48px rgba(0,0,0,0.35);
	color: var(--news-text);
	font-family: Georgia, "Palatino Linotype", serif;
}

div.pagina_notizie div.page_body{
	width: 100%;
	max-width: none;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
}

div.pagina_notizie .news-archive{
	display: flex;
	flex-direction: column;
	gap: 14px;
}

div.pagina_notizie .news-archive__hero,
div.pagina_notizie .news-archive__section{
	position: relative;
	border: 1px solid var(--news-line);
	border-radius: 26px;
	background:
		radial-gradient(circle at top left, rgba(125,183,207,0.14), transparent 34%),
		radial-gradient(circle at bottom right, rgba(215,186,124,0.12), transparent 30%),
		linear-gradient(180deg, rgba(8,8,11,0.94), rgba(16,14,18,0.92));
	box-shadow:
		inset 0 0 0 1px rgba(255,255,255,0.04),
		0 18px 40px rgba(0,0,0,0.32);
	overflow: hidden;
}

div.pagina_notizie .news-archive__hero::before,
div.pagina_notizie .news-archive__section::before{
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(circle at 14% 18%, rgba(125,183,207,0.12), transparent 24%),
		radial-gradient(circle at 86% 82%, rgba(215,186,124,0.08), transparent 22%);
	opacity: 0.7;
}

div.pagina_notizie .news-archive__hero,
div.pagina_notizie .news-archive__section{
	padding: 22px 24px;
}

div.pagina_notizie .news-archive__hero > *,
div.pagina_notizie .news-archive__section > *{
	position: relative;
	z-index: 1;
}

div.pagina_notizie .news-archive__eyebrow{
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--news-blue);
	margin-bottom: 6px;
}

div.pagina_notizie .news-archive__title,
div.pagina_notizie .news-archive__section-title{
	margin: 0;
	padding: 0;
	border: 0;
	font-family: Georgia, "Palatino Linotype", serif;
	font-variant: small-caps;
	font-weight: bold;
	line-height: 1.08;
	color: #f4ead8;
	text-shadow: 0 2px 8px rgba(0,0,0,0.45);
}

div.pagina_notizie .news-archive__title{
	font-size: 30px;
}

div.pagina_notizie .news-archive__section-title{
	font-size: 22px;
}

div.pagina_notizie .news-archive__hint{
	margin: 8px 0 0;
	color: var(--news-muted);
	line-height: 1.55;
	font-size: 13px;
	max-width: 760px;
}

div.pagina_notizie .news-archive__section-head{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(255,255,255,0.06);
}

div.pagina_notizie .news-archive__count{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	min-height: 30px;
	padding: 0 10px;
	border-radius: 999px;
	border: 1px solid rgba(125,183,207,0.18);
	background: rgba(255,255,255,0.05);
	font-size: 12px;
	font-weight: bold;
	color: var(--news-blue);
	box-sizing: border-box;
}

div.pagina_notizie .news-archive__list{
	display: flex;
	flex-direction: column;
	gap: 14px;
}

article.news-archive__item{
	position: relative;
	padding: 18px 18px 20px;
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 22px;
	background:
		linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.02)),
		var(--news-panel-soft);
	box-shadow: inset 0 0 0 1px rgba(255,255,255,0.02);
}

article.news-archive__item.is-important{
	border-color: rgba(205,106,74,0.3);
	background:
		radial-gradient(circle at top right, rgba(205,106,74,0.12), transparent 28%),
		linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02)),
		var(--news-panel-soft);
}

div.pagina_notizie .news-archive__item-head{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 12px;
	margin-bottom: 12px;
}

div.pagina_notizie .news-archive__meta{
	font-size: 12px;
	line-height: 1.4;
	color: #ebdfc7;
	opacity: 0.84;
}

span.news-archive__badge{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 22px;
	padding: 0 8px;
	border-radius: 999px;
	background: rgba(205,106,74,0.24);
	color: #ffe6d9;
	font-size: 10px;
	font-weight: bold;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

div.pagina_notizie .news-archive__content{
	color: var(--news-muted);
	font-size: 14px;
	line-height: 1.7;
}

div.pagina_iscrizione .register-main-tabs{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 16px;
}

div.pagina_iscrizione .register-main-tab{
	appearance: none;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	flex: 1 1 220px;
	min-width: 0;
	padding: 13px 15px;
	border-radius: 18px;
	border: 1px solid rgba(255,255,255,0.08);
	background:
		linear-gradient(180deg, rgba(25,24,31,0.92), rgba(11,11,15,0.96));
	color: #f4ead8;
	text-align: center;
	cursor: pointer;
	transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

div.pagina_iscrizione .register-main-tab:hover{
	border-color: rgba(125,183,207,0.28);
	transform: translateY(-1px);
}

div.pagina_iscrizione .register-main-tab:focus-visible{
	outline: 2px solid rgba(125,183,207,0.72);
	outline-offset: 2px;
}

div.pagina_iscrizione .register-main-tab.is-active{
	border-color: rgba(125,183,207,0.44);
	background:
		radial-gradient(circle at top left, rgba(125,183,207,0.12), transparent 42%),
		linear-gradient(180deg, rgba(27,27,35,0.96), rgba(12,12,17,0.98));
	box-shadow:
		inset 0 0 0 1px rgba(125,183,207,0.14),
		0 12px 24px rgba(0,0,0,0.2);
}

div.pagina_iscrizione .register-main-tab.is-complete .register-main-tab__step{
	border-color: rgba(133,184,152,0.28);
	background: rgba(133,184,152,0.18);
}

div.pagina_iscrizione .register-main-tab.is-locked,
div.pagina_iscrizione .register-main-tab[disabled]{
	opacity: 0.45;
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}

div.pagina_iscrizione .register-main-tab__step{
	display: none;
}

div.pagina_iscrizione .register-main-tab__label{
	display: block;
	min-width: 0;
	font-size: 14px;
	font-weight: bold;
	font-variant: small-caps;
	line-height: 1.2;
	text-align: center;
}

div.pagina_iscrizione .register-main-panel[hidden]{
	display: none !important;
}

div.pagina_iscrizione .register-main-panel--summary{
	padding-top: 18px;
}

div.pagina_iscrizione #registerMainSummaryHost{
	display: block;
}

div.pagina_iscrizione .register-main-summary-module{
	display: block;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

div.pagina_iscrizione .register-main-summary-module .register-lineage-module__step{
	display: none;
}

div.pagina_iscrizione .register-main-summary-module .register-lineage-module__header{
	margin-bottom: 14px;
}

div.pagina_iscrizione .register-main-summary-module .register-actions--wizard{
	margin-top: 14px;
}

div.pagina_iscrizione .register-main-nav[hidden],
div.pagina_iscrizione .register-main-panel[hidden],
div.pagina_iscrizione .register-lineage-module[hidden]{
	display: none !important;
}

div.pagina_iscrizione .register-main-nav{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: 18px;
}

div.pagina_iscrizione .register-main-nav__button{
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 148px;
	padding: 11px 16px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,0.08);
	background: rgba(255,255,255,0.03);
	color: #fff3dc;
	cursor: pointer;
	font-size: 12px;
	font-weight: bold;
	line-height: 1;
	transition: border-color 0.18s ease, background 0.18s ease, opacity 0.18s ease;
}

div.pagina_iscrizione .register-main-nav__button:hover{
	border-color: rgba(125,183,207,0.24);
	background: rgba(125,183,207,0.08);
}

div.pagina_iscrizione .register-main-nav__button:focus-visible{
	outline: 2px solid rgba(125,183,207,0.72);
	outline-offset: 2px;
}

div.pagina_iscrizione .register-main-nav__button[disabled]{
	opacity: 0.42;
	cursor: not-allowed;
}

div.pagina_iscrizione .register-lineage-tabs{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

div.pagina_iscrizione .register-lineage-tab{
	flex: 1 1 160px;
	min-width: 0;
	max-width: 220px;
}

div.pagina_iscrizione .register-choice-grid{
	display: grid;
	gap: 12px;
	width: 100%;
	max-width: none;
	overflow: visible;
	padding: 0;
}

div.pagina_iscrizione .register-choice-grid--race{
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

div.pagina_iscrizione .register-choice-grid--subrace{
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

div.pagina_iscrizione .register-choice-grid--origin,
div.pagina_iscrizione .register-choice-grid--citizenship,
div.pagina_iscrizione .register-choice-grid--background{
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

div.pagina_iscrizione .register-choice-card{
	width: auto;
	max-width: none;
	min-height: 0;
	flex: 0 0 auto;
	scroll-snap-align: none;
}

div.pagina_iscrizione .register-choice-card__body{
	min-height: 0;
}

div.pagina_iscrizione .register-choice-card__summary{
	min-height: 34px;
}

div.pagina_iscrizione .register-choice-card.is-compact{
	min-height: 78px;
	padding: 12px 14px;
}

div.pagina_iscrizione .register-choice-card.has-media{
	min-height: 104px;
}

div.pagina_iscrizione .register-choice-card.has-media .register-choice-card__body{
	display: grid;
	grid-template-columns: minmax(0, 1fr) 60px;
	align-items: center;
	gap: 8px;
}

div.pagina_iscrizione .register-choice-card.has-media .register-choice-card__copy{
	justify-content: center;
	min-height: 0;
	gap: 5px;
}

div.pagina_iscrizione .register-choice-card.has-media .register-choice-card__summary{
	min-height: 0;
	max-height: 2.6em;
	overflow: hidden;
	font-size: 11px;
	line-height: 1.3;
}

div.pagina_iscrizione .register-choice-card--subrace .register-choice-card__title{
	font-size: 13px;
	line-height: 1.1;
	font-variant: normal;
	letter-spacing: 0;
}

div.pagina_iscrizione .register-choice-card--race.is-compact{
	width: auto;
	max-width: none;
	min-height: 72px;
	padding: 12px 14px;
}

div.pagina_iscrizione .register-choice-card--race.is-compact .register-choice-card__body{
	justify-content: center;
	min-height: 42px;
}

div.pagina_iscrizione .register-choice-card--race.is-compact .register-choice-card__title{
	font-size: 14px;
	letter-spacing: 0.01em;
}

@media screen and (max-width: 1180px){
	div.pagina_iscrizione .register-choice-grid--race{
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	div.pagina_iscrizione .register-choice-grid--subrace,
	div.pagina_iscrizione .register-choice-grid--origin,
	div.pagina_iscrizione .register-choice-grid--citizenship,
	div.pagina_iscrizione .register-choice-grid--background{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media screen and (max-width: 760px){
	div.pagina_iscrizione .register-main-tab,
	div.pagina_iscrizione .register-lineage-tab{
		flex-basis: calc(50% - 5px);
		max-width: none;
	}

	div.pagina_iscrizione .register-main-nav{
		flex-direction: column;
		align-items: stretch;
	}

	div.pagina_iscrizione .register-main-nav__button{
		width: 100%;
	}

	div.pagina_iscrizione .register-choice-grid--race,
	div.pagina_iscrizione .register-choice-grid--subrace,
	div.pagina_iscrizione .register-choice-grid--origin,
	div.pagina_iscrizione .register-choice-grid--citizenship,
	div.pagina_iscrizione .register-choice-grid--background{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	div.pagina_iscrizione .register-choice-card{
		width: auto;
		max-width: none;
	}

	div.pagina_iscrizione .register-choice-card__summary{
		min-height: 0;
	}

	div.pagina_iscrizione .register-choice-card.has-media .register-choice-card__body{
		grid-template-columns: minmax(0, 1fr) 54px;
	}

	div.pagina_iscrizione .register-choice-card__media{
		width: 54px;
		border-radius: 16px;
	}
}

@media screen and (max-width: 560px){
	div.pagina_iscrizione .register-main-tab,
	div.pagina_iscrizione .register-lineage-tab{
		flex-basis: 100%;
	}

	div.pagina_iscrizione .register-choice-grid--race,
	div.pagina_iscrizione .register-choice-grid--subrace,
	div.pagina_iscrizione .register-choice-grid--origin,
	div.pagina_iscrizione .register-choice-grid--citizenship,
	div.pagina_iscrizione .register-choice-grid--background{
		grid-template-columns: minmax(0, 1fr);
	}
}

div.pagina_iscrizione .register-choice-grid--background{
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

div.pagina_iscrizione #registerLineagePanel5,
div.pagina_iscrizione #registerBackgroundCards{
	width: 100%;
	box-sizing: border-box;
}

div.pagina_iscrizione .register-choice-card--background{
	min-height: 104px;
	padding: 14px;
	border-radius: 18px;
}

div.pagina_iscrizione .register-choice-card--background.has-media{
	min-height: 104px;
}

div.pagina_iscrizione .register-choice-card--background.has-media .register-choice-card__body{
	grid-template-columns: minmax(0, 1fr) 60px;
	gap: 8px;
}

div.pagina_iscrizione .register-choice-card--background .register-choice-card__copy{
	gap: 5px;
}

div.pagina_iscrizione .register-choice-card--background .register-choice-card__media{
	width: 60px;
	border-radius: 18px;
}

div.pagina_iscrizione .register-choice-card--background .register-choice-card__title{
	font-size: 15px;
	line-height: 1.12;
}

div.pagina_iscrizione #registerBackgroundDetail{
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

div.pagina_iscrizione #registerBackgroundDetail .register-choice-detail__summary{
	max-width: none;
}

@media screen and (max-width: 1180px){
	div.pagina_iscrizione .register-choice-grid--background{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media screen and (max-width: 560px){
	div.pagina_iscrizione .register-choice-grid--background{
		grid-template-columns: minmax(0, 1fr);
	}
}

div.pagina_notizie .news-archive__content > *:first-child{
	margin-top: 0;
}

div.pagina_notizie .news-archive__content > *:last-child{
	margin-bottom: 0;
}

div.pagina_notizie .news-archive__content p,
div.pagina_notizie .news-archive__content ul,
div.pagina_notizie .news-archive__content ol,
div.pagina_notizie .news-archive__content blockquote{
	margin-bottom: 14px;
}

div.pagina_notizie .news-archive__content ul,
div.pagina_notizie .news-archive__content ol{
	padding-left: 22px;
}

div.pagina_notizie .news-archive__content img{
	display: block;
	max-width: 100%;
	height: auto;
	border-radius: 16px;
}

div.pagina_notizie .news-archive__content a,
div.pagina_notizie .news-archive__content a:visited{
	color: #f2e7d5;
	text-decoration: underline;
}

div.pagina_notizie .news-archive__empty{
	padding: 18px;
	border: 1px dashed rgba(255,255,255,0.12);
	border-radius: 20px;
	background: rgba(255,255,255,0.03);
	color: var(--news-muted);
	line-height: 1.5;
}

@media screen and (max-width: 760px){
	div.pagina_notizie{
		width: calc(100vw - 12px);
		padding: 10px 10px 18px;
		border-radius: 22px;
	}

	div.pagina_notizie .news-archive__hero,
	div.pagina_notizie .news-archive__section{
		padding: 16px;
		border-radius: 22px;
	}

	div.pagina_notizie .news-archive__title{
		font-size: 24px;
	}

	div.pagina_notizie .news-archive__section-title{
		font-size: 20px;
	}

	div.pagina_notizie .news-archive__section-head{
		align-items: flex-start;
	}

	article.news-archive__item{
		padding: 16px;
		border-radius: 18px;
	}
}
