/* Palliser Directory — front-end intake form + Verified badge */

.palliser-apply { max-width: 760px; margin: 2rem auto; padding: 0 1.25rem 3rem; }
.palliser-apply h1 { margin: 0 0 .5rem; }
.palliser-apply__form { display: flex; flex-direction: column; gap: 1.25rem; }

.palliser-apply__section { border: 1px solid #dce0e6; border-radius: 8px; padding: 1.15rem 1.25rem; background: #fff; }
.palliser-apply__section > legend { padding: 0 .5rem; font-weight: 700; color: #22303f; font-size: .95rem; letter-spacing: .02em; }

.palliser-apply__row { margin: .75rem 0; }
.palliser-apply__row label { display: block; font-weight: 600; margin-bottom: .35rem; color: #22303f; }
.palliser-apply__label { display: block; font-weight: 600; margin-bottom: .5rem; color: #22303f; }
.palliser-apply__row input[type=text],
.palliser-apply__row input[type=email],
.palliser-apply__row input[type=tel],
.palliser-apply__row input[type=url],
.palliser-apply__row select,
.palliser-apply__row textarea {
	width: 100%; padding: .6rem .75rem;
	border: 1px solid #c9ced6; border-radius: 6px;
	font-size: 1rem; background: #fff;
	font-family: inherit;
}
.palliser-apply__row input:focus,
.palliser-apply__row select:focus,
.palliser-apply__row textarea:focus {
	outline: 2px solid #1e4d8c; outline-offset: 1px; border-color: #1e4d8c;
}
.palliser-apply__row textarea { min-height: 140px; resize: vertical; }
.palliser-apply__help { font-size: .85rem; color: #4a5361; margin: .3rem 0 0; }
.palliser-apply__err { color: #b64541; font-weight: 600; margin: .3rem 0 0; font-size: .9rem; }

.palliser-apply__grid2 { display: grid; grid-template-columns: 1fr; gap: 1rem; }
.palliser-apply__grid3 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem .75rem; }
.palliser-apply__checks { display: flex; flex-wrap: wrap; gap: .25rem 1rem; }
.palliser-apply__checks label,
.palliser-apply__grid3 label {
	display: inline-flex; align-items: center; gap: .4rem; font-weight: 400; margin: 0; color: #22303f;
}
.palliser-apply__checks input[type=checkbox],
.palliser-apply__grid3 input[type=checkbox] { accent-color: #1e4d8c; }

@media (min-width: 620px) {
	.palliser-apply__grid2 { grid-template-columns: 1fr 1fr; }
	.palliser-apply__grid3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.palliser-apply__consent { display: flex; gap: .6rem; align-items: flex-start; font-weight: 400; }
.palliser-apply__consent input { accent-color: #1e4d8c; margin-top: .2rem; }

.palliser-apply__actions { display: flex; flex-direction: column; gap: .5rem; margin-top: .5rem; }
.palliser-apply__submit {
	display: inline-flex; align-items: center; justify-content: center;
	padding: .75rem 1.5rem;
	background: #1e4d8c; color: #fff; border: 0; border-radius: 8px;
	font-weight: 600; font-size: 1rem; cursor: pointer;
	align-self: flex-start;
}
.palliser-apply__submit:hover { background: #163d70; }

/* Required-field asterisk — every `*` marker in the form is a
   <span aria-hidden="true"> inside .palliser-apply, so this selector
   scopes cleanly without needing a per-instance class. */
.palliser-apply [aria-hidden="true"] { color: #b64541; font-weight: 700; margin-left: .1em; }

.palliser-notice { border-radius: 6px; padding: 1rem; margin-bottom: 1.25rem; }
.palliser-notice--error { background: #fdecec; border: 1px solid #b64541; color: #7a2a28; }
.palliser-notice--warn  { background: #fff8ea; border: 1px solid #d0a54d; color: #7a5a17; }
.palliser-notice--ok    { background: #e6f4ea; border: 1px solid #7cae7a; color: #24672c; }

/* Verified by Palliser badge */
.palliser-verified {
	display: inline-flex; align-items: center; gap: .35rem;
	padding: .2rem .55rem;
	background: #e6f4ea; color: #0d5f37;
	border: 1px solid #7cae7a; border-radius: 999px;
	font-weight: 700; font-size: .8rem; text-decoration: none;
	line-height: 1.2;
}
.palliser-verified:hover { background: #d3ecd9; color: #0a4a2b; }
.palliser-verified:focus-visible { outline: 2px solid #1e4d8c; outline-offset: 2px; }
.palliser-verified__icon { flex-shrink: 0; color: #0d5f37; }
.palliser-verified--sm { padding: .1rem .45rem; font-size: .7rem; }
.palliser-verified--md .palliser-verified__label { display: inline; }

/* Static Verified chip on cards (not a link — card wrapper is already an anchor) */
.palliser-card__verified {
	display: inline-flex; align-items: center; gap: .3rem;
	position: absolute; top: .5rem; right: .5rem;
	background: rgba(230, 244, 234, .95); color: #0d5f37;
	padding: .15rem .5rem; border-radius: 999px;
	font-size: .72rem; font-weight: 700;
	border: 1px solid #7cae7a;
	line-height: 1.2;
}
.palliser-card__verified .palliser-verified__icon { color: #0d5f37; }
