/* Reta Age & Disclaimer Gate — front-end styles */

body.ag-locked{
	overflow:hidden!important;
}

#ag-overlay{
	--rag-primary:#1d3f72;
	--rag-primary-dark:#152f57;
	--rag-accent:#1863dc;

	position:fixed;
	inset:0;
	z-index:999999;
	display:none;
	align-items:center;
	justify-content:center;
	padding:24px;
	background:rgba(10,20,40,.72);
	backdrop-filter:blur(4px);
}

#ag-overlay.ag-show{
	display:flex;
}

#ag-modal{
	width:100%;
	max-width:560px;
	max-height:90vh;
	background:#fff;
	border-radius:16px;
	overflow:hidden;
	box-shadow:0 30px 80px rgba(0,0,0,.35);
	display:flex;
	flex-direction:column;
}

#ag-step-age,
#ag-step-disc{
	display:none;
	flex-direction:column;
}

#ag-step-age.ag-active,
#ag-step-disc.ag-active{
	display:flex;
}

.ag-head{
	position:relative;
	overflow:hidden;
	background:linear-gradient(135deg, var(--rag-primary), var(--rag-primary-dark));
	color:#fff;
	padding:1.6rem 1.8rem 1.5rem;
}

.ag-head::after{
	content:"";
	position:absolute;
	top:-40px;
	right:-40px;
	width:160px;
	height:160px;
	border-radius:50%;
	background:rgba(255,255,255,.06);
}

.ag-head-tag span{
	display:inline-block;
	font-size:11px;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;
	opacity:.85;
	margin-bottom:.5rem;
}

.ag-head h2{
	margin:0;
	font-size:22px;
	font-weight:800;
	line-height:1.3;
}

.ag-body-wrap{
	overflow-y:auto;
	max-height:40vh;
}

.ag-body{
	padding:1.6rem 1.8rem;
	color:#2a2f3a;
	font-size:15px;
	line-height:1.6;
}

.ag-body p{
	margin:0 0 1rem;
}

.ag-body strong{
	color:var(--rag-primary);
}

.ag-body ul{
	margin:0 0 1rem;
	padding-left:1.2rem;
}

.ag-body li{
	margin-bottom:.5rem;
	position:relative;
}

.ag-divider{
	border:none;
	border-top:1px solid #e3e7ee;
	margin:1.2rem 0;
}

.ag-note,
.ag-warn{
	border-left:4px solid var(--rag-accent);
	background:#f3f6fb;
	padding:.9rem 1.1rem;
	border-radius:6px;
	margin-bottom:1rem;
	font-size:14px;
}

.ag-warn{
	border-left-color:#e2b23a;
	background:#fdf7e8;
	color:#8a6d1c;
}

.ag-age-btns{
	padding:0 1.8rem 1.6rem;
	display:flex;
	flex-direction:column;
	gap:.7rem;
}

.ag-btn-age-yes,
.ag-btn-age-no,
#ag-btn-agree,
#ag-btn-exit{
	font-family:inherit;
	font-size:14px;
	font-weight:800;
	letter-spacing:.03em;
	text-transform:uppercase;
	border-radius:10px;
	padding:.9rem 1.2rem;
	cursor:pointer;
	transition:filter .15s ease, opacity .15s ease;
}

.ag-btn-age-yes,
#ag-btn-agree{
	background:var(--rag-primary);
	color:#fff;
	border:none;
}

.ag-btn-age-yes:hover,
#ag-btn-agree:not(:disabled):hover{
	filter:brightness(1.08);
}

#ag-btn-agree:disabled{
	background:#c3cbd8;
	cursor:not-allowed;
}

.ag-btn-age-no,
#ag-btn-exit{
	background:#fff;
	color:var(--rag-primary);
	border:1.5px solid var(--rag-primary);
}

.ag-btn-age-no:hover,
#ag-btn-exit:hover{
	background:#f3f6fb;
}

.ag-footer-note{
	border-top:1px solid #eef1f6;
	padding:.9rem 1.8rem 1.3rem;
	color:#7a8494;
	font-size:12.5px;
}

.ag-footer-note p{
	margin:0;
}

#ag-checkbox-row{
	padding:14px 1.8rem 0;
	border-top:1px solid #eef1f6;
}

#ag-checkbox-row label{
	display:flex;
	align-items:flex-start;
	gap:.6rem;
	font-size:14px;
	font-weight:700;
	color:#1c2333;
	cursor:pointer;
}

#ag-checkbox-row input{
	margin-top:3px;
}

#ag-footer{
	padding:12px 1.8rem 1.6rem;
}

.ag-scroll-hint{
	text-align:center;
	font-size:11px;
	font-weight:700;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:#9aa4b5;
	margin-bottom:.7rem;
}

.ag-btn-row{
	display:flex;
	gap:.8rem;
}

.ag-btn-row button{
	flex:1;
}

@media(max-width:640px){

	.ag-head{
		padding:1rem 1.2rem .9rem;
	}

	.ag-head h2{
		font-size:16px;
	}

	.ag-body{
		padding:1.2rem 1.2rem 1.5rem;
	}

	.ag-age-btns{
		padding:0 1.2rem 1.2rem;
	}

	#ag-checkbox-row{
		padding:12px 1.2rem 0;
	}

	#ag-footer{
		padding:10px 1.2rem 1.2rem;
	}

	.ag-btn-row{
		flex-direction:column;
	}

	#ag-btn-exit,
	#ag-btn-agree{
		width:100%;
	}
}
