/* Puffafish Core – auth (register/login) styling.
   Intentionally minimal & token-friendly; the theme can override freely. */

.pf-auth { max-width: 28rem; margin: 0 auto; }
.pf-auth__title {
	margin: 0 0 .5rem;
	font-family: var( --wp--preset--font-family--heading, inherit );
	font-size: 40px;
	line-height: 1.05;
	color: var( --wp--preset--color--dark-green, #183028 );
}
.pf-auth__intro { margin: 0 0 1.25rem; font-size: .95rem; line-height: 1.5; opacity: .8; }
.pf-auth__form p { margin: 0 0 .75rem; }
.pf-auth__form label { display: block; font-size: .9rem; }
.pf-auth__form input[type="email"],
.pf-auth__form input[type="password"],
.pf-auth__form input[type="text"],
.pf-auth__form select {
	display: block;
	width: 100%;
	margin-top: .25rem;
	padding: .7rem 1rem;
	/* Match the contact form: 2px solid green, radius 10. */
	border: 2px solid var( --wp--preset--color--primary-green, #018940 );
	border-radius: 10px;
	font: inherit;
	background-color: var( --wp--preset--color--white, #fff );
}
.pf-auth__actions { text-align: right; margin-bottom: 0; }
.pf-auth__actions .pf-auth__submit { display: inline-block; }
/* Honeypot anti-bot field — visually hidden, kept out of the tab order. */
.pf-hp { position: absolute !important; left: -9999px !important; top: auto; width: 1px; height: 1px; overflow: hidden; }
.pf-auth__checkbox { display: flex; align-items: center; gap: .5rem; }
.pf-auth__checkbox input { margin: 0; }
.pf-auth__submit {
	display: inline-block;
	padding: .65rem 1.25rem;
	border: 0;
	border-radius: 999px;
	background: #018940;
	color: #fff;
	font: inherit;
	cursor: pointer;
}
.pf-auth__submit:disabled { opacity: .6; cursor: default; }
.pf-auth__switch { font-size: .85rem; }
.pf-auth__messages { margin-bottom: .75rem; font-size: .9rem; }
.pf-auth__messages.is-error { color: #b3261e; }
.pf-auth__messages.is-success { color: #018940; }
.pf-auth__message-main { margin: 0; }
.pf-auth__message-hint { margin: .5rem 0 0; padding-top: .5rem; border-top: 1px solid rgba( 24, 48, 40, .15 ); color: #6b6b5e; font-size: .85rem; }

/* Modal */
.pf-auth-modal[hidden] { display: none; }
.pf-auth-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: grid;
	place-items: center;
	padding: 1rem;
}
.pf-auth-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba( 24, 48, 40, .6 );
}
.pf-auth-modal__dialog {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 30rem;
	max-height: 90vh;
	overflow: auto;
	background: #fffde9;
	border-radius: 20px;
	padding: 2rem 1.5rem 1.5rem;
	box-shadow: 0 20px 60px rgba( 0, 0, 0, .3 );
}
.pf-auth-modal__close {
	position: absolute;
	top: .5rem;
	right: .75rem;
	border: 0;
	background: transparent;
	font-size: 1.75rem;
	line-height: 1;
	cursor: pointer;
}
/* Lock background scroll on the scroll container (html), matching the theme's
   nav lock. The theme reserves the scrollbar gutter (scrollbar-gutter: stable),
   so hiding the scrollbar here causes no sideways layout shift. */
html.pf-auth-modal-open { overflow: hidden; }

/* Account status pills */
.pf-status { display: inline-block; padding: .1rem .55rem; border-radius: 999px; font-size: .8rem; }
.pf-status--publish { background: #d7f0df; color: #0a5d2c; }
.pf-status--pending { background: #fdeecb; color: #7a5a00; }
.pf-status--draft { background: #e6e6e6; color: #444; }
.pf-status--pf_rejected { background: #f6d6d3; color: #8a201a; }

.pf-account__table { width: 100%; border-collapse: collapse; }
.pf-account__table th,
.pf-account__table td { text-align: left; padding: .5rem .5rem; border-bottom: 1px solid rgba( 0, 0, 0, .1 ); }
.pf-account__header { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }

/* Account dashboard: left tab nav + right content */
.pf-account { display: grid; grid-template-columns: 230px 1fr; gap: 2.5rem; align-items: start; }
@media ( max-width: 782px ) { .pf-account { grid-template-columns: 1fr; } }
.pf-account__nav { position: sticky; top: 1rem; }
.pf-account__user { display: flex; align-items: center; gap: .6rem; margin-bottom: 1rem; }
.pf-account__user img { border-radius: 50%; }
.pf-account__name { font-weight: 700; }
.pf-account__tabs { list-style: none; margin: 0 0 1rem; padding: 0; display: flex; flex-direction: column; gap: .25rem; }
.pf-account__tab { display: flex; align-items: center; gap: .55rem; padding: .55rem .8rem; border-radius: 10px; text-decoration: none; color: inherit; }
.pf-account__tab:hover { background: rgba( 1, 137, 64, .1 ); }
.pf-account__tab.is-active { background: var( --wp--preset--color--primary-green, #018940 ); color: #fff; }
.pf-account__tab--logout { color: #b3261e; margin-top: .25rem; }
.pf-acc-icon { width: 1.15em; height: 1.15em; flex-shrink: 0; fill: none; stroke: currentColor; }
.pf-account__new { display: inline-block; margin-bottom: 1rem; text-decoration: none; }
.pf-account__logout { font-size: .85rem; }
.pf-account__notice { color: #0a5d2c; font-weight: 600; }
.pf-account__notice--error { color: #b3261e; }
.pf-account__ratings { list-style: none; margin: 0; padding: 0; }
.pf-account__ratings li { padding: .6rem 0; border-bottom: 1px solid rgba( 0, 0, 0, .08 ); }
.pf-profile-form__photo { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.25rem; }
.pf-profile-form__photo img { border-radius: 50%; }
.pf-profile-form label { display: block; margin-bottom: .75rem; font-weight: 600; }
.pf-profile-form input, .pf-profile-form textarea { display: block; width: 100%; margin-top: .25rem; padding: .55rem .7rem; border: 1px solid rgba( 0, 0, 0, .25 ); border-radius: 10px; font: inherit; font-weight: 400; }
.pf-profile-form__row { display: flex; gap: 1rem; flex-wrap: wrap; }
.pf-profile-form__row > label { flex: 1; min-width: 160px; }

/* Account list pagination */
.pf-account__pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 1.5rem;
	margin-top: 1.25rem;
	padding-top: 1rem;
	border-top: 1px solid rgba( 0, 0, 0, .1 );
	font-size: .9rem;
}
.pf-account__pagination-meta { opacity: .85; }
.pf-account__pagination-controls {
	display: flex;
	align-items: center;
	gap: .5rem;
	flex-wrap: wrap;
}
.pf-account__per-page-label { font-weight: 600; }
.pf-account__per-page,
.pf-account__pages {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .35rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.pf-account__per-page-link,
.pf-account__page-link {
	display: inline-block;
	min-width: 2rem;
	padding: .25rem .55rem;
	border-radius: 8px;
	text-align: center;
	text-decoration: none;
	color: inherit;
	border: 1px solid rgba( 0, 0, 0, .15 );
}
.pf-account__per-page-link:hover,
.pf-account__page-link:hover {
	background: rgba( 1, 137, 64, .1 );
	border-color: rgba( 1, 137, 64, .35 );
}
.pf-account__per-page-link.is-active,
.pf-account__page-link.is-active {
	background: var( --wp--preset--color--primary-green, #018940 );
	border-color: var( --wp--preset--color--primary-green, #018940 );
	color: #fff;
	font-weight: 600;
}
.pf-account__page-ellipsis { padding: 0 .15rem; opacity: .6; }
