/* Youth Camp 2026 registration pages only. Does not change global site styles. */

.yc-hero{
	background:linear-gradient(135deg,#1e3a5f 0%,#16324f 55%,#0f2744 100%);
	color:#f8f4e8;
	padding:56px 0 48px;
	border-bottom:4px solid #c9a227;
}
.yc-hero-inner{max-width:760px;margin:0 auto;text-align:center}
.yc-kicker{
	display:inline-block;
	font-size:12px;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:#c9a227;
	margin:0 0 12px;
}
/* Announcement strip — first thing the visitor sees */
.yc-announce{
	position:relative;
	overflow:hidden;
	background:linear-gradient(90deg,#b8901f 0%,#f1c40f 50%,#b8901f 100%);
	border-bottom:1px solid rgba(0,0,0,.18);
}
.yc-announce-inner{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	padding:12px 16px;
	text-align:center;
}
.yc-announce-text{
	margin:0;
	color:#16324f;
	font-size:14px;
	font-weight:700;
	letter-spacing:.02em;
}
.yc-bolt{
	flex:none;
	width:20px;
	height:20px;
	fill:#16324f;
	filter:drop-shadow(0 0 6px rgba(255,255,255,.85));
	animation:yc-flash 3.2s ease-in-out infinite;
}
/* Light sweeping across the strip */
.yc-announce::after{
	content:"";
	position:absolute;
	top:0;
	left:-160px;
	width:130px;
	height:100%;
	background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);
	transform:skewX(-22deg);
	animation:yc-sweep 3.8s ease-in-out infinite;
	pointer-events:none;
}
.yc-announce-closed{background:linear-gradient(90deg,#8c1c1c 0%,#c0392b 50%,#8c1c1c 100%)}
.yc-announce-closed .yc-announce-text{color:#fff}
.yc-announce-closed .yc-bolt{fill:#fff;filter:drop-shadow(0 0 6px rgba(0,0,0,.4))}

@keyframes yc-sweep{
	0%{left:-160px}
	60%,100%{left:110%}
}
@keyframes yc-flash{
	0%,86%,100%{opacity:1;transform:scale(1)}
	90%{opacity:.3;transform:scale(1.22)}
	94%{opacity:1;transform:scale(1.06)}
}

/* Seat availability — sits inside the hero, centred with everything else */
.yc-seats{
	max-width:420px;
	margin:26px auto 4px;
	padding:20px 24px 18px;
	text-align:center;
	background:rgba(255,255,255,.07);
	border:1px solid rgba(201,162,39,.5);
	border-radius:16px;
	box-shadow:0 8px 28px rgba(0,0,0,.22);
}
.yc-seats-label{
	margin:0 0 10px;
	font-size:11px;
	font-weight:700;
	letter-spacing:.18em;
	text-transform:uppercase;
	color:#e8d48b;
}
.yc-seats-count{margin:0 0 14px;color:#f8f4e8;font-size:14px}
.yc-seats-count strong{
	display:block;
	font-family:Poppins, Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	font-size:52px;
	line-height:1;
	margin-bottom:4px;
	color:#f1c40f;
	text-shadow:0 0 22px rgba(241,196,15,.5);
	animation:yc-glow 2.8s ease-in-out infinite;
}
.yc-seats-count span{display:block;letter-spacing:.03em;color:#dbe4f0}
.yc-seats-bar{
	display:block;
	height:8px;
	border-radius:999px;
	background:rgba(255,255,255,.16);
	overflow:hidden;
}
.yc-seats-fill{
	display:block;
	height:100%;
	border-radius:999px;
	background:linear-gradient(90deg,#f1c40f,#c9a227);
	transition:width .4s ease;
}
.yc-seats-note{margin:12px 0 0;font-size:13px;color:#cbd7e6}

.yc-seats-low{border-color:rgba(244,162,58,.65)}
.yc-seats-low .yc-seats-count strong{color:#ffb547;text-shadow:0 0 22px rgba(255,181,71,.55)}
.yc-seats-low .yc-seats-fill{background:linear-gradient(90deg,#ffb547,#e0821a)}

.yc-seats-full{border-color:rgba(239,110,110,.6)}
.yc-seats-full .yc-seats-count strong{color:#ff8a8a;text-shadow:none;animation:none}
.yc-seats-full .yc-seats-fill{background:linear-gradient(90deg,#ef6e6e,#c0392b)}

@keyframes yc-glow{
	0%,100%{text-shadow:0 0 18px rgba(241,196,15,.35)}
	50%{text-shadow:0 0 30px rgba(241,196,15,.75)}
}

@media (prefers-reduced-motion: reduce){
	.yc-bolt,.yc-announce::after,.yc-seats-count strong{animation:none}
}
@media (max-width:520px){
	.yc-announce-text{font-size:13px}
	.yc-seats{max-width:100%}
	.yc-seats-count strong{font-size:44px}
}

/* Registrations closed */
.yc-closed{
	max-width:760px;
	margin:0 auto;
	padding:32px 24px;
	text-align:center;
	background:#fef2f2;
	border:1px solid #fecaca;
	border-radius:12px;
}
.yc-closed h2{margin:0 0 12px;color:#991b1b;font-size:24px}
.yc-closed p{margin:0 0 12px;color:var(--fg);line-height:1.7}
.yc-closed-cta{font-weight:600}
.yc-closed-contacts{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	justify-content:center;
	align-items:center;
	margin:0 0 16px!important;
	font-size:18px;
	font-weight:700;
}
.yc-closed-contacts a{color:#991b1b;text-decoration:none}
.yc-closed-contacts a:hover,.yc-closed-contacts a:focus{text-decoration:underline}
.yc-closed-contacts span{color:#fca5a5}
.yc-closed-sub{margin:0!important;font-size:14px;color:var(--muted)}

.yc-hero h1{
	font-family:Poppins, Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	font-size:clamp(28px,6vw,44px);
	margin:0 0 8px;
	letter-spacing:-.4px;
}
.yc-theme{
	font-family:Poppins, Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	font-size:clamp(16px,2.6vw,22px);
	font-weight:700;
	letter-spacing:.14em;
	color:#e8d48b;
	margin:0 0 16px;
}
.yc-ref{margin:0 0 8px;font-weight:600;color:#dbe4f0}
.yc-verse{
	margin:0 auto 16px;
	max-width:640px;
	font-style:italic;
	line-height:1.7;
	color:#f4efe3;
	border:none;
	padding:0;
}
.yc-statement{
	font-weight:700;
	margin:0 0 28px;
	color:#c9a227;
}
.yc-meta{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
	gap:16px;
	text-align:left;
}
.yc-meta div{
	background:rgba(255,255,255,.08);
	border:1px solid rgba(201,162,39,.35);
	border-radius:14px;
	padding:14px 16px;
}
.yc-meta strong{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#c9a227;margin-bottom:6px}
.yc-meta span{font-size:14px;line-height:1.5;color:#f8f4e8}

.yc-section{padding-top:32px}
.yc-notice{
	max-width:760px;
	margin:0 auto 28px;
	background:#eef2ff;
	border:1px solid #c7d2fe;
	border-left:4px solid var(--brand);
	border-radius:16px;
	padding:20px 22px;
	text-align:center;
}
.yc-notice-free{
	margin:0 0 8px;
	font-size:22px;
	font-weight:800;
	color:var(--brand-600);
	font-family:Poppins, Inter, system-ui, sans-serif;
}
.yc-notice p{margin:0;color:var(--fg);line-height:1.7}
.yc-notice-sub{margin-top:8px!important;color:var(--muted)!important;font-size:14px}

.yc-form{
	max-width:760px;
	margin:0 auto;
	background:#fff;
	border:1px solid var(--border);
	border-radius:20px;
	padding:24px;
	box-shadow:0 10px 28px rgba(2,8,23,.05);
}
.yc-fieldset{
	border:none;
	margin:0 0 28px;
	padding:0;
}
.yc-fieldset legend{
	font-family:Poppins, Inter, system-ui, sans-serif;
	font-size:18px;
	font-weight:700;
	color:var(--fg);
	margin-bottom:16px;
	padding:0;
}
.yc-label{
	font-size:14px;
	font-weight:600;
	color:var(--fg);
	margin-bottom:4px;
	display:block;
}
.yc-row{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:16px;
}
.yc-form .form-input{
	min-height:48px;
	font-size:16px;
}
.yc-options ul{
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}
.yc-options li{margin:0;flex:1 1 140px}
.yc-options label{
	display:flex;
	align-items:center;
	gap:10px;
	min-height:48px;
	padding:10px 14px;
	border:1px solid var(--border);
	border-radius:12px;
	background:#f8fafc;
	font-weight:600;
	cursor:pointer;
}
.yc-options input{
	width:18px;
	height:18px;
	accent-color:var(--brand);
}
.yc-error{
	margin:6px 0 0;
	color:#b91c1c;
	font-size:13px;
	font-weight:600;
}
.yc-alert{
	background:#fef2f2;
	border:1px solid #fecaca;
	border-radius:12px;
	padding:14px 16px;
	margin-bottom:20px;
	color:#991b1b;
	font-weight:600;
}
.yc-alert p{margin:0}
.yc-hint{margin:0 0 12px;color:var(--muted);font-size:14px}
.yc-consent{
	display:flex;
	align-items:flex-start;
	gap:12px;
}
.yc-consent-input{
	width:20px;
	height:20px;
	margin-top:3px;
	flex-shrink:0;
	accent-color:var(--brand);
}
.yc-consent label{font-size:14px;line-height:1.6;font-weight:500}
.yc-submit{
	width:100%;
	text-align:center;
	border:0;
	cursor:pointer;
	font-size:17px;
	min-height:52px;
}
.yc-submit:disabled{opacity:.7;cursor:wait}
.yc-fee-note{text-align:center;margin:12px 0 0;color:var(--muted);font-size:14px}
.yc-help{max-width:760px;margin:24px auto 0;text-align:center;color:var(--muted)}
.yc-help a{color:var(--brand);font-weight:600;text-decoration:none}
.yc-help-inline{margin-top:8px}

.yc-hp-wrap{
	position:absolute;
	left:-10000px;
	top:auto;
	width:1px;
	height:1px;
	overflow:hidden;
}

.yc-success{
	max-width:640px;
	margin:24px auto 0;
	text-align:center;
	padding:36px 28px;
}
.yc-success-icon{
	width:72px;
	height:72px;
	margin:0 auto 16px;
	border-radius:50%;
	background:#d1fae5;
	color:#059669;
	font-size:36px;
	font-weight:700;
	display:flex;
	align-items:center;
	justify-content:center;
}
.yc-success h1{
	font-family:Poppins, Inter, system-ui, sans-serif;
	margin:0 0 12px;
	font-size:clamp(24px,4vw,32px);
}
.yc-success-lead{color:var(--muted);line-height:1.7}
.yc-reg-id{
	background:#eef2ff;
	border:1px solid #c7d2fe;
	border-radius:12px;
	padding:14px;
	font-size:18px;
	margin:20px 0;
}
.yc-success-details{
	text-align:left;
	background:#f8fafc;
	border-radius:12px;
	padding:18px 20px;
	margin:0 0 16px;
}
.yc-success-details p{margin:8px 0;line-height:1.6}
.yc-keep{font-weight:600;margin:16px 0}
.yc-actions{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	justify-content:center;
	margin-top:24px;
}
.yc-print{
	display:inline-block;
	padding:14px 20px;
	background:#fff;
	color:var(--brand);
	border:2px solid var(--brand);
	border-radius:12px;
	font-weight:700;
	cursor:pointer;
	font-size:15px;
	font-family:inherit;
}

@media (max-width: 640px){
	.yc-hero{padding:40px 0 32px}
	.yc-form{padding:18px 16px}
	.yc-row{grid-template-columns:1fr}
	.yc-options li{flex:1 1 100%}
	.yc-print,.yc-submit,.yc-actions .cta{width:100%}
}

@media print{
	.header,.footer,.yc-actions,.nav{display:none!important}
	.yc-success{box-shadow:none;border:1px solid #ccc}
	body{background:#fff}
}
