/* GTGF Planner 3.0D — triathlon limiter, discipline balance and multisport state. */
.planner-v3d-limiter {
	margin-top: 14px;
	padding: 15px;
	border: 1px solid rgba(255,255,255,.1);
	border-radius: 14px;
	background: rgba(255,255,255,.025);
}
.planner-v3d-limiter[hidden] { display: none !important; }
.planner-v3d-limiter fieldset { margin: 12px 0 0; padding: 0; border: 0; }
.planner-v3d-limiter legend { margin-bottom: 9px; font-size: .78rem; font-weight: 850; }
.planner-v3d-limiter-grid {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 8px;
}
.planner-v3d-limiter-grid label {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	min-width: 0;
	padding: 12px 13px;
	border: 1px solid rgba(255,255,255,.08);
	border-radius: 12px;
	background: rgba(0,0,0,.18);
	cursor: pointer;
}
.planner-v3d-limiter-grid input { flex: 0 0 auto; margin-top: 3px; }
.planner-v3d-limiter-grid span { min-width:0; }
.planner-v3d-limiter-grid strong { display:block; font-size:.88rem; }
.planner-v3d-limiter-grid small { display:block; margin-top:4px; color:rgba(255,255,255,.54); font-size:.73rem; line-height:1.4; }
.planner-v3d-limiter-grid label:has(input:checked) {
	border-color: rgba(255,90,0,.42);
	background: rgba(255,90,0,.075);
}

.planner-triathlon-state {
	margin: 14px 0;
	padding: 17px;
	border: 1px solid rgba(255,255,255,.1);
	border-radius: 17px;
	background: linear-gradient(145deg, rgba(255,255,255,.04), rgba(255,90,0,.04) 62%, rgba(255,255,255,.015)), #080808;
}
.planner-triathlon-state[hidden] { display:none !important; }
.planner-v3d-state__head {
	display:grid;
	grid-template-columns:minmax(210px,.5fr) minmax(0,1fr);
	gap:16px;
	align-items:end;
	padding-bottom:13px;
	border-bottom:1px solid rgba(255,255,255,.08);
}
.planner-v3d-state__head span,
.planner-v3d-state__limiter > span,
.planner-v3d-state__grid article > span {
	display:block;
	font-size:.68rem;
	font-weight:900;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:var(--wp--preset--color--gtgf-orange,#ff5a00);
}
.planner-v3d-state__head strong { display:block; margin-top:4px; font-size:clamp(1.15rem,2vw,1.55rem); line-height:1.05; }
.planner-v3d-state__head p { margin:0; color:rgba(255,255,255,.63); line-height:1.5; }
.planner-v3d-state__limiter,
.planner-v3d-state__empty {
	margin-top:13px;
	padding:13px 14px;
	border:1px solid rgba(255,90,0,.22);
	border-radius:12px;
	background:rgba(255,90,0,.055);
}
.planner-v3d-state__limiter strong,
.planner-v3d-state__empty b { display:block; margin-top:4px; font-size:1rem; }
.planner-v3d-state__limiter small,
.planner-v3d-state__empty span { display:block; margin-top:5px; color:rgba(255,255,255,.58); line-height:1.45; }
.planner-v3d-state__grid {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:8px;
	margin-top:12px;
}
.planner-v3d-state__grid article {
	min-width:0;
	padding:12px 13px;
	border:1px solid rgba(255,255,255,.08);
	border-radius:12px;
	background:rgba(255,255,255,.025);
}
.planner-v3d-state__grid strong { display:block; margin-top:5px; font-size:.93rem; }
.planner-v3d-state__grid small { display:block; margin-top:4px; color:rgba(255,255,255,.49); font-size:.72rem; line-height:1.35; }
.planner-v3d-state__note { margin:11px 0 0; color:rgba(255,255,255,.55); font-size:.77rem; line-height:1.45; }

@media (max-width: 720px) {
	.planner-v3d-limiter-grid,
	.planner-v3d-state__grid { grid-template-columns:1fr; }
	.planner-v3d-state__head { grid-template-columns:1fr; align-items:start; }
}
