/**
 * Members Area — portal cards, course status, useful info.
 *
 * @package BuryGolfClub
 * @since   1.0.0
 */

/* ========================================================================
   Portal Cards Grid
   ======================================================================== */

.members-portals__heading {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--x-large);
	color: var(--wp--preset--color--text-primary);
	line-height: 1.1;
}

.members-portals__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--wp--preset--spacing--30);
}

@media (min-width: 40rem) {
	.members-portals__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 64rem) {
	.members-portals__grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

/* ========================================================================
   Portal Card
   ======================================================================== */

.members-portal-card {
	display: flex;
	flex-direction: column;
	padding: var(--wp--preset--spacing--40);
	background-color: var(--wp--preset--color--white, #FEFCF8);
	border: 1px solid var(--wp--preset--color--cream-dark, #E8E0CE);
	text-decoration: none;
	color: inherit;
	transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}

.members-portal-card:hover {
	border-color: var(--wp--preset--color--gold, #C4A265);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
	transform: translateY(-2px);
}

.members-portal-card:focus-visible {
	outline: 2px solid var(--wp--preset--color--gold, #C4A265);
	outline-offset: 2px;
}

.members-portal-card__icon {
	color: var(--wp--preset--color--primary, #071428);
	margin-bottom: var(--wp--preset--spacing--20);
}

.members-portal-card__title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--large, 1.25rem);
	color: var(--wp--preset--color--text-primary);
	line-height: 1.2;
	margin-bottom: var(--wp--preset--spacing--10);
}

.members-portal-card__description {
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	color: var(--wp--preset--color--text-secondary);
	line-height: 1.6;
	flex: 1;
	margin-bottom: var(--wp--preset--spacing--20);
}

.members-portal-card__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	font-weight: 600;
	color: var(--wp--preset--color--gold-text, #8B7332);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-top: auto;
}

.members-portal-card:hover .members-portal-card__cta {
	color: var(--wp--preset--color--gold, #C4A265);
}

.members-portal-card__external,
.members-portal-card__arrow {
	transition: transform 0.3s ease;
}

.members-portal-card:hover .members-portal-card__arrow {
	transform: translateX(3px);
}

.members-portal-card:hover .members-portal-card__external {
	transform: translate(2px, -2px);
}

/* ========================================================================
   Course Status Panel
   ======================================================================== */

.members-status__panel {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--wp--preset--spacing--40);
	align-items: start;
	padding: var(--wp--preset--spacing--40);
	background-color: var(--wp--preset--color--cream, #F5F0E6);
	border: 1px solid var(--wp--preset--color--cream-dark, #E8E0CE);
}

@media (min-width: 48rem) {
	.members-status__panel {
		grid-template-columns: 1fr auto;
		padding: var(--wp--preset--spacing--50);
	}
}

.members-status__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	margin-top: var(--wp--preset--spacing--20);
}

.members-status__badge {
	display: inline-block;
	padding: 0.375rem 1rem;
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	border-radius: 2px;
}

.members-status__badge--open {
	background-color: var(--wp--preset--color--status-open);
	color: var(--wp--preset--color--white);
}

.members-status__badge--closed {
	background-color: var(--wp--preset--color--status-closed);
	color: var(--wp--preset--color--white);
}

.members-status__badge--delay {
	background-color: var(--wp--preset--color--status-delay);
	color: var(--wp--preset--color--primary);
}

.members-status__badge--preferred {
	background-color: var(--wp--preset--color--status-preferred);
	color: var(--wp--preset--color--white);
}

.members-status__weather {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	color: var(--wp--preset--color--text-secondary);
}

.members-status__weather-icon {
	font-size: 1.5rem;
}

.members-status__weather-temp {
	font-weight: 600;
	color: var(--wp--preset--color--text-primary);
}

.members-status__message {
	margin-top: var(--wp--preset--spacing--20);
	font-size: var(--wp--preset--font-size--medium, 1rem);
	color: var(--wp--preset--color--text-primary);
	font-weight: 500;
}

.members-status__note {
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	color: var(--wp--preset--color--text-secondary);
	line-height: 1.6;
	max-width: 20rem;
}

/* ========================================================================
   Useful Info Section
   ======================================================================== */

.members-info__heading {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--x-large);
	color: var(--wp--preset--color--text-light);
	line-height: 1.1;
}

.members-info__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--wp--preset--spacing--40);
}

@media (min-width: 48rem) {
	.members-info__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.members-info__card {
	padding: var(--wp--preset--spacing--40);
	background-color: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(196, 162, 101, 0.15);
}

.members-info__card-title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--large, 1.25rem);
	color: var(--wp--preset--color--text-light);
	margin-bottom: var(--wp--preset--spacing--20);
}

/* Contacts definition list */
.members-info__contacts,
.members-info__hours {
	margin: 0;
	padding: 0;
}

.members-info__contact-row,
.members-info__hours-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding-block: var(--wp--preset--spacing--10);
	border-bottom: 1px solid rgba(196, 162, 101, 0.12);
}

.members-info__contact-row:last-child,
.members-info__hours-row:last-child {
	border-bottom: none;
}

.members-info__contact-row dt,
.members-info__hours-row dt {
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	color: var(--wp--preset--color--light-gold, #D4B96A);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.members-info__contact-row dd,
.members-info__hours-row dd {
	margin: 0;
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	color: var(--wp--preset--color--cream-dark, #E8E0CE);
}

.members-info__contact-row dd a,
.members-info__hours-row dd a {
	color: var(--wp--preset--color--text-light);
	text-decoration: none;
	transition: color 0.3s ease;
}

.members-info__contact-row dd a:hover {
	color: var(--wp--preset--color--gold, #C4A265);
}

/* Reminders list */
.members-info__reminders {
	list-style: none;
	margin: 0;
	padding: 0;
}

.members-info__reminders li {
	position: relative;
	padding-left: 1.25rem;
	padding-block: var(--wp--preset--spacing--10);
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	color: var(--wp--preset--color--cream-dark, #E8E0CE);
	line-height: 1.5;
	border-bottom: 1px solid rgba(196, 162, 101, 0.12);
}

.members-info__reminders li:last-child {
	border-bottom: none;
}

.members-info__reminders li::before {
	content: "";
	position: absolute;
	left: 0;
	top: calc(var(--wp--preset--spacing--10) + 0.5em);
	width: 6px;
	height: 6px;
	background-color: var(--wp--preset--color--gold, #C4A265);
	border-radius: 50%;
}
