/* =============================================================================
   SSNHA Partner Portal — front-end styling
   Loaded only on /manage/ pages. Palette matches the site: green #617434,
   brown #61361d, orange #d07329 (shapes) / #b16223 (text, AA on white).
   ========================================================================== */

.ssnha-portal {
	max-width: 880px;
	font-family: 'Albert Sans', sans-serif;
}

.ssnha-portal h2 {
	margin: 1.5rem 0 .75rem;
	color: #61361d;
}

.ssnha-portal__hello {
	margin: 0 0 1rem;
	color: #4a4a4a;
}

.ssnha-portal__section + .ssnha-portal__section {
	margin-top: 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid #e5e2dc;
}

/* Notices ------------------------------------------------------------------ */

.ssnha-portal__notice {
	margin: 0 0 1.25rem;
	padding: .85rem 1rem;
	border-left: 4px solid #617434;
	background: #f4f6ef;
	color: #2f3a1a;
	border-radius: 4px;
}
.ssnha-portal__notice--success { border-left-color: #617434; }
.ssnha-portal__notice--error   { border-left-color: #b03a2e; background: #fbf0ee; color: #5a1f18; }
.ssnha-portal__notice a { color: inherit; text-decoration: underline; }

.ssnha-portal__hint {
	font-size: .9rem;
	color: #6b6b6b;
}

/* Lists -------------------------------------------------------------------- */

.ssnha-portal__list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.ssnha-portal__item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem 1rem;
	padding: .8rem 0;
	border-bottom: 1px solid #ece9e3;
}
.ssnha-portal__item-title { font-weight: 700; flex: 1 1 260px; }
.ssnha-portal__status { color: #8a8a8a; }
.ssnha-portal__item-actions { display: flex; gap: 1rem; align-items: center; }

/* Buttons ------------------------------------------------------------------ */

.ssnha-portal__btn,
.ssnha-portal .acf-form-submit .acf-button,
.ssnha-portal #ssnha-portal-login .button-primary {
	display: inline-block;
	padding: .55rem 1.6rem;
	border: 2px solid #617434;
	border-radius: 18px;
	background: #617434;
	color: #fff !important;
	font-weight: 700;
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: .02em;
	text-decoration: none;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease;
}
.ssnha-portal__btn:hover,
.ssnha-portal .acf-form-submit .acf-button:hover,
.ssnha-portal #ssnha-portal-login .button-primary:hover {
	background: #fff;
	color: #61361d !important;
}
.ssnha-portal__btn:focus-visible,
.ssnha-portal .acf-form-submit .acf-button:focus-visible,
.ssnha-portal #ssnha-portal-login .button-primary:focus-visible {
	outline: 3px solid #d07329;
	outline-offset: 3px;
}

.ssnha-portal__links { margin: .75rem 0 0; }
.ssnha-portal__links--muted { color: #6b6b6b; font-size: .9rem; }

/* Login form --------------------------------------------------------------- */

#ssnha-portal-login { max-width: 420px; }
#ssnha-portal-login p { margin: 0 0 1rem; }
#ssnha-portal-login label { display: block; font-weight: 700; margin-bottom: .3rem; }
#ssnha-portal-login .input {
	width: 100%;
	padding: .6rem .75rem;
	border: 1px solid #c9c4bb;
	border-radius: 4px;
	font: inherit;
}
#ssnha-portal-login .input:focus { outline: 2px solid #617434; outline-offset: 1px; border-color: #617434; }
#ssnha-portal-login .login-remember label { font-weight: 400; display: inline; }

/* ACF form ----------------------------------------------------------------- */

.ssnha-portal__editing { margin-top: .5rem; }

.ssnha-portal .acf-form {
	margin-top: 1rem;
}
.ssnha-portal .acf-fields > .acf-field {
	border-top: 1px solid #ece9e3;
	padding: 1rem 0;
}
.ssnha-portal .acf-fields > .acf-field:first-child { border-top: 0; }
.ssnha-portal .acf-label label { font-weight: 700; color: #2a2a2a; }
.ssnha-portal .acf-input input[type="text"],
.ssnha-portal .acf-input input[type="url"],
.ssnha-portal .acf-input input[type="email"],
.ssnha-portal .acf-input input[type="number"],
.ssnha-portal .acf-input textarea,
.ssnha-portal .acf-input select {
	border: 1px solid #c9c4bb;
	border-radius: 4px;
	padding: .55rem .7rem;
	font: inherit;
}
.ssnha-portal .acf-input input:focus,
.ssnha-portal .acf-input textarea:focus,
.ssnha-portal .acf-input select:focus { outline: 2px solid #617434; outline-offset: 1px; }

/* Tabs */
.ssnha-portal .acf-tab-wrap .acf-tab-group {
	border-bottom: 2px solid #e5e2dc;
	padding-left: 0;
}
.ssnha-portal .acf-tab-wrap .acf-tab-group li a {
	background: transparent;
	border: 0;
	color: #61361d;
	font-weight: 700;
	padding: .6rem 1rem;
}
.ssnha-portal .acf-tab-wrap .acf-tab-group li.active a {
	border-bottom: 3px solid #d07329;
	background: transparent;
}

/* Web address note (read-only; the address follows the title) */
.ssnha-portal__address {
	margin: 0 0 1.25rem;
	padding: .75rem 1rem;
	background: #f3f1ec;
	border-left: 3px solid #d07329;
	color: #4a4a4a;
	font-size: .95rem;
}
.ssnha-portal__address code {
	font-size: .9em;
	word-break: break-all;
}

/* Submit row */
.ssnha-portal .acf-form-submit {
	padding: 1.25rem 0 0;
	display: flex;
	align-items: center;
	gap: 1rem;
}

/* Community Events picker -------------------------------------------------- */

.ssnha-portal__optional { font-weight: 400; color: #6b6b6b; }
.ssnha-portal__ce-attraction select { max-width: 100%; }

@media (max-width: 600px) {
	.ssnha-portal__item-actions { width: 100%; }
}
