.celdy-members-restricted {
	padding: 1em;
	border: 1px solid #ddd;
	background: #f8f8f8;
}

.celdy-members__sort {
	margin-bottom: 1em;
}

.celdy-members__sort-label {
	font-weight: 600;
	margin-right: 0.5em;
}

.celdy-members__sort a {
	margin-right: 0.75em;
}

.celdy-members__sort a.is-active {
	font-weight: 600;
	text-decoration: none;
}

.celdy-members__type {
	font-weight: 600;
}

.celdy-members__items {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 1.5em;
	margin: 1.5em 0;
}

.celdy-members__item {
	border: 1px solid #ddd;
	border-radius: 4px;
	padding: 1em;
}

.celdy-members__name {
	margin: 0 0 0.5em;
}

.celdy-members__meta {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 0.9em;
}

.celdy-members__meta li {
	margin-bottom: 0.25em;
}

.celdy-members-map__wrapper {
	position: relative;
}

.celdy-members-map__canvas {
	width: 100%;
	min-height: 480px;
}

.celdy-members-map__fullscreen-toggle {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 1000;
	background: #fff;
	border: 1px solid #999;
	border-radius: 4px;
	padding: 0.4em 0.8em;
	cursor: pointer;
	font-size: 0.9em;
}

.celdy-members-map__wrapper.is-fullscreen {
	position: fixed;
	inset: 0;
	z-index: 100000;
	background: #fff;
}

.celdy-members-map__wrapper.is-fullscreen .celdy-members-map__canvas {
	width: 100%;
	height: 100%;
	min-height: 0;
}

.celdy-members-profile fieldset {
	border: 1px solid #ddd;
	border-radius: 4px;
	padding: 0.75em 1em;
	margin: 1em 0;
}

.celdy-members__payments {
	width: 100%;
	border-collapse: collapse;
	margin: 1em 0;
}

.celdy-members__payments th,
.celdy-members__payments td {
	border: 1px solid #ddd;
	padding: 0.5em 0.75em;
	text-align: left;
}

.celdy-members__notice {
	padding: 0.75em 1em;
	margin-bottom: 1em;
	border-radius: 4px;
}

.celdy-members__notice--success {
	background: #edf7ed;
	border: 1px solid #b6dfb6;
}

.celdy-members__notice--error {
	background: #fbeaea;
	border: 1px solid #e0b4b4;
}

/* Honeypot: parked off-screen instead of display:none, so naive bots still "see" it. */
.celdy-members-application-form__website {
	left: -9999px;
	position: absolute;
}

.celdy-members-application-form__field {
	margin-bottom: 1em;
}

.celdy-members-application-form__field label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.25em;
}

.celdy-members-application-form__field--checkbox label {
	display: inline;
	font-weight: 400;
}

.celdy-members-application-form__field input[type="text"],
.celdy-members-application-form__field input[type="email"],
.celdy-members-application-form__field input[type="tel"],
.celdy-members-application-form__field input[type="date"],
.celdy-members-application-form__field textarea {
	width: 100%;
	max-width: 480px;
	font-size: 1.1em;
	padding: 4px;
}

.celdy-members-application-form__required {
	color: #b32d2e;
}

.celdy-members-application-form__error {
	color: #b32d2e;
	display: block;
	font-size: 0.9em;
	margin-top: 0.25em;
}

.celdy-members-application__guardian {
	border: 1px solid #ddd;
	border-radius: 4px;
	padding: 0.75em 1em;
	margin: 1em 0;
}

.celdy-members-application-form__hint {
	font-size: 0.9em;
	margin-top: 0;
}

/* Submit/save button, shared by the application form and the profile page.
   Colors come from the theme's preset custom properties (with fallbacks),
   so the button keeps matching the site if the palette changes. */
.celdy-members__button {
	display: inline-block;
	background: var(--wp--preset--color--contrast, #000);
	color: var(--wp--preset--color--base, #fff);
	border: none;
	border-radius: 0.375em;
	padding: 0.6em 1.6em;
	font-size: 1.05em;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.celdy-members__button:hover,
.celdy-members__button:focus {
	background: var(--wp--preset--color--contrast-2, #d73301);
	color: var(--wp--preset--color--base, #fff);
}

.celdy-members__button:focus-visible {
	outline: 2px solid var(--wp--preset--color--contrast-2, #d73301);
	outline-offset: 2px;
}

.celdy-members__button:active {
	transform: translateY(1px);
}
