/**
 * /assets/css/language-splash.css
 */

/* LANGUAGE SPLASH */
#languageSplashModal{
	background:
		radial-gradient(circle at top center, rgba(78,111,130,0.22) 0%, rgba(11,16,21,0.96) 42%, rgba(3,5,8,0.995) 100%);
}

#languageSplashModal.modal{
	padding-right:0 !important;
}

#languageSplashModal .modal-dialog{
	transform:translateY(80px) scale(0.9);
	opacity:0;
	transition:
		transform 0.8s cubic-bezier(0.22,1,0.36,1),
		opacity 0.8s ease;
}

#languageSplashModal .modal-content{
	border:none;
	border-radius:28px;
	background:
		linear-gradient(
			180deg,
			rgba(255,255,255,0.09) 0%,
			rgba(255,255,255,0.04) 100%
		);
	backdrop-filter:blur(18px);
	-webkit-backdrop-filter:blur(18px);
	box-shadow:
		0 30px 80px rgba(0,0,0,0.46),
		inset 0 1px 0 rgba(255,255,255,0.12);
	overflow:hidden;
	position:relative;
}

#languageSplashModal .modal-content::before{
	content:"";
	position:absolute;
	inset:0;
	background:
		linear-gradient(
			135deg,
			rgba(255,255,255,0.08) 0%,
			rgba(255,255,255,0.02) 38%,
			rgba(255,255,255,0.00) 100%
		);
	pointer-events:none;
}

#languageSplashModal .modal-header{
	position:relative;
	z-index:1;
	padding:34px 34px 10px 34px;
	border:0;
	justify-content:center;
	text-align:center;
}

#languageSplashModal .modal-title{
	font-size:14px;
	font-weight:600;
	letter-spacing:3px;
	text-transform:uppercase;
	color:rgba(255,255,255,0.72);
	margin:0;
}

#languageSplashModal .modal-body{
	position:relative;
	z-index:1;
	padding:8px 34px 34px 34px;
}

.language-splash-modal{
	border:none;
	border-radius:28px;
}

.language-splash-text{
	margin:0 0 24px 0;
	font-size:19px;
	line-height:1.8;
	color:rgba(255,255,255,0.92);
	text-align:center;
	max-width:620px;
	margin-left:auto;
	margin-right:auto;
}

.language-splash-text strong{
	color:#ffffff;
	font-weight:700;
}

.language-splash-actions{
	display:flex;
	flex-direction:column;
	gap:12px;
	max-width:340px;
	margin:0 auto;
}

.language-splash-btn{
	border-radius:999px !important;
	padding:13px 22px !important;
	font-weight:600;
	text-align:center;
	font-size:14px;
	letter-spacing:0.2px;
	box-shadow:none !important;
}

#languageSplashModal .btn-primary.language-splash-btn{
	background:#f3f6f9;
	border-color:#f3f6f9;
	color:#0f1820;
}

#languageSplashModal .btn-primary.language-splash-btn:hover{
	background:#ffffff;
	border-color:#ffffff;
	color:#0f1820;
	transform:translateY(-1px);
}

#languageSplashModal .btn-outline-secondary.language-splash-btn{
	border-color:rgba(255,255,255,0.26);
	color:#ffffff;
	background:rgba(255,255,255,0.04);
}

#languageSplashModal .btn-outline-secondary.language-splash-btn:hover{
	background:rgba(255,255,255,0.10);
	border-color:rgba(255,255,255,0.36);
	color:#ffffff;
	transform:translateY(-1px);
}

.language-splash-more{
	margin-top:18px;
	text-align:center;
}

.language-splash-more .btn-link{
	color:rgba(255,255,255,0.82);
	text-decoration:none;
	font-weight:500;
	font-size:13px;
	letter-spacing:0.2px;
}

.language-splash-more .btn-link:hover{
	color:#ffffff;
	text-decoration:none;
	opacity:0.95;
}

/* COOKIE CONSENT (integrato nella splash) */
.language-cookie-consent{
	margin-top:26px;
	padding-top:22px;
	border-top:1px solid rgba(255,255,255,0.12);
	max-width:620px;
	margin-left:auto;
	margin-right:auto;
}

.language-cookie-text{
	margin:0 0 16px 0;
	font-size:13px;
	line-height:1.75;
	color:rgba(255,255,255,0.70);
	text-align:center;
}

.language-cookie-actions{
	display:flex;
	flex-direction:column;
	gap:10px;
	max-width:340px;
	margin:0 auto;
}

.language-cookie-btn{
	border-radius:999px !important;
	padding:11px 18px !important;
	font-weight:600;
}

#languageSplashModal .language-cookie-btn.btn-primary{
	background:#f3f6f9;
	border-color:#f3f6f9;
	color:#0f1820;
}

#languageSplashModal .language-cookie-btn.btn-primary:hover{
	background:#ffffff;
	border-color:#ffffff;
	color:#0f1820;
}

#languageSplashModal .language-cookie-btn.btn-outline-secondary{
	border-color:rgba(255,255,255,0.26);
	color:#ffffff;
	background:rgba(255,255,255,0.04);
}

#languageSplashModal .language-cookie-btn.btn-outline-secondary:hover{
	background:rgba(255,255,255,0.10);
	border-color:rgba(255,255,255,0.36);
	color:#ffffff;
}

.language-cookie-link{
	align-self:center;
	font-size:12px;
	text-decoration:none;
	color:rgba(255,255,255,0.82);
}

.language-cookie-link:hover{
	color:#ffffff;
	text-decoration:none;
}

/* COOKIE OPTIONS PANEL */
.cookie-options-panel{
	margin-top:16px !important;
}

.cookie-options-panel-inner{
	padding:18px 18px 16px 18px;
	border-radius:18px;
	background:rgba(255,255,255,0.05);
	border:1px solid rgba(255,255,255,0.10);
}

.cookie-options-panel-inner h3{
	color:#ffffff;
	font-size:15px;
	font-weight:600;
}

.cookie-option-row{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:18px;
	padding:12px 0;
	border-bottom:1px solid rgba(255,255,255,0.08);
}

.cookie-option-row:last-of-type{
	border-bottom:none;
	padding-bottom:4px;
}

.cookie-option-text{
	flex:1 1 auto;
}

.cookie-option-title{
	font-size:13px;
	font-weight:600;
	line-height:1.4;
	color:#ffffff;
	margin-bottom:4px;
}

.cookie-option-description{
	font-size:12px;
	line-height:1.7;
	color:rgba(255,255,255,0.68);
}

.cookie-options-actions{
	padding-top:14px;
	display:flex;
	justify-content:center;
}

#languageSplashModal .cookie-options-actions .btn{
	border-radius:999px !important;
	padding:10px 20px !important;
	font-weight:600;
}

#languageSplashModal .form-check-input{
	width:42px;
	height:22px;
	margin-top:2px;
	background-color:rgba(255,255,255,0.18);
	border-color:rgba(255,255,255,0.22);
	box-shadow:none;
}

#languageSplashModal .form-check-input:checked{
	background-color:#dce8ef;
	border-color:#dce8ef;
}

#languageSplashModal .form-check-input:focus{
	box-shadow:0 0 0 3px rgba(220,232,239,0.20);
}

/* Tablet */
@media (max-width:900px){
	#languageSplashModal .modal-dialog{
		width:calc(100% - 24px);
	}

	#languageSplashModal .modal-header{
		padding:28px 24px 10px 24px;
	}

	#languageSplashModal .modal-body{
		padding:8px 24px 28px 24px;
	}

	.language-splash-text{
		font-size:18px;
	}
}

/* Mobile */
@media (max-width:600px){
	#languageSplashModal .modal-dialog{
		width:calc(100% - 16px);
	}

	#languageSplashModal .modal-header{
		padding:24px 18px 8px 18px;
	}

	#languageSplashModal .modal-body{
		padding:8px 18px 24px 18px;
	}

	#languageSplashModal .modal-title{
		font-size:12px;
		letter-spacing:2.4px;
	}

	.language-splash-text{
		font-size:16px;
		line-height:1.75;
		margin-bottom:20px;
	}

	.language-cookie-text{
		font-size:12px;
		line-height:1.7;
	}

	.cookie-options-panel-inner{
		padding:16px 14px 14px 14px;
	}

	.cookie-option-row{
		gap:12px;
	}
}

/* ---------------------------------
   SPLASH OPEN ANIMATION
--------------------------------- */

/* stato iniziale */
#languageSplashModal .modal-content{
	opacity:0;
	transform:translateY(20px) scale(0.96);
	transition:
		opacity 0.45s ease,
		transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

/* quando la modal è visibile */
#languageSplashModal.show .modal-content{
	opacity:1;
	transform:translateY(0) scale(1);
}

/* ---------------------------------
   SPLASH OVERLAY FIX + ANIMATION
--------------------------------- */

/* backdrop più morbido */
.modal-backdrop{
	background-color:#1f2730;
	opacity:0;
	transition:opacity 0.4s ease;
}

.modal-backdrop.show{
	opacity:0.75;
}

/* animazione contenuto splash */
#languageSplashModal .modal-dialog{
	transform:translateY(30px);
	opacity:0;
	transition:
		transform 0.45s cubic-bezier(0.22,1,0.36,1),
		opacity 0.45s ease;
}

#languageSplashModal.show .modal-dialog{
	transform:translateY(0);
	opacity:1;
}

/* ---------------------------------
   FORCE SPLASH (NO FLASH HOME)
--------------------------------- */

#languageSplashModal.force-show{
	display:block !important;
	opacity:1 !important;
}

#languageSplashModal.force-show .modal-dialog{
	transform:translateY(0);
	opacity:1;
}

body.force-splash{
	overflow:hidden;
}

/* ---------------------------------
   HARD OVERLAY (KILL HOME UNDERLAY)
--------------------------------- */

/* forza la splash a coprire TUTTO */
#languageSplashModal.force-show{
	position:fixed;
	inset:0;
	z-index:99999;
	display:flex !important;
	align-items:center;
	justify-content:center;
	background:#1f2730;
}

/* elimina completamente il backdrop bootstrap */
.modal-backdrop{
	display:none !important;
}

/* evita qualsiasi rendering visibile sotto */
body.force-splash > *:not(#languageSplashModal){
	visibility:hidden;
}

.language-splash-logo{
	width:120px;
	height:auto;
	margin-bottom:10px;
	filter:brightness(1.6) contrast(1.2);
}