/**
 * Public registration form ([cbyos_registration]). Neutral, self-contained
 * styling that sits comfortably inside the front-end theme's content column.
 */
.cbyos-reg { max-width: 720px; margin: 0 auto; }
.cbyos-reg__intro { font-size: 1.05rem; line-height: 1.5; margin: 0 0 1.25rem; }
.cbyos-reg__error {
	background: #fdecea; border: 1px solid #e6a6a1; color: #8a2018;
	padding: .75rem 1rem; border-radius: 8px; margin: 0 0 1rem;
}
.cbyos-reg__box {
	border: 1px solid #e2e2e6; border-radius: 12px; padding: 1rem 1.25rem 1.25rem;
	margin: 0 0 1rem; background: #fff;
}
.cbyos-reg__box > legend {
	font-weight: 700; padding: 0 .4rem; font-size: 1.05rem;
	display: flex; align-items: center; gap: .5rem;
}
.cbyos-reg__grid {
	display: grid; grid-template-columns: 1fr 1fr; gap: .85rem 1rem;
}
.cbyos-reg__grid label {
	display: flex; flex-direction: column; gap: .3rem; font-size: .9rem; font-weight: 600;
}
.cbyos-reg__grid .cbyos-reg__slotwrap { grid-column: 1 / -1; }
.cbyos-reg input,
.cbyos-reg select {
	font: inherit; padding: .55rem .6rem; border: 1px solid #c7c7cc; border-radius: 8px;
	background: #fff; width: 100%; box-sizing: border-box;
}
.cbyos-reg input:focus,
.cbyos-reg select:focus { outline: 2px solid #2271b1; outline-offset: 1px; }
.cbyos-reg select[disabled] { background: #f2f2f4; color: #8c8f94; }
.cbyos-reg__snum { font-weight: 700; }
.cbyos-reg__remove {
	margin-left: auto; border: none; background: #f2f2f4; color: #7a7a80;
	width: 26px; height: 26px; border-radius: 50%; cursor: pointer; font-size: 18px; line-height: 1;
}
.cbyos-reg__remove:hover { background: #f4d7d5; color: #8a2018; }
.cbyos-reg__slotnote { margin: .5rem 0 0; font-size: .9rem; color: #3a7a52; min-height: 1.1em; }
.cbyos-reg__add {
	border: 1px dashed #9aa0a6; background: #fafafa; color: #333; cursor: pointer;
	padding: .6rem 1rem; border-radius: 8px; font: inherit; font-weight: 600; margin: 0 0 1.25rem;
}
.cbyos-reg__add:hover { background: #f0f0f2; }
.cbyos-reg__foot { text-align: center; }
.cbyos-reg__fee { font-size: .9rem; color: #555; margin: 0 0 .75rem; }
.cbyos-reg__submit {
	display: inline-block; background: #2271b1; color: #fff; border: none; cursor: pointer;
	padding: .8rem 1.6rem; border-radius: 10px; font: inherit; font-weight: 700; font-size: 1.05rem;
	text-decoration: none;
}
.cbyos-reg__submit:hover { background: #185a92; }
.cbyos-reg__secure { font-size: .82rem; color: #787c82; margin: .7rem 0 0; }
.cbyos-reg--closed, .cbyos-reg--done, .cbyos-reg--cancelled { text-align: center; padding: 1rem 0 2rem; }
.cbyos-reg__closedtitle { font-size: 1.4rem; }

@media (max-width: 540px) {
	.cbyos-reg__grid { grid-template-columns: 1fr; }
}
