/* ==========================================================================
   SFX Acushnet Intranet — Custom Theme CSS
   ========================================================================== */

/* --------------------------------------------------------------------------
   Global layout — footer always reaches bottom of viewport
   -------------------------------------------------------------------------- */

html {
	height: 100%;
	font-size: 112.5%; /* 18px base — improves legibility for parent/grandparent demographic */
}

body {
	min-height: 100vh;
	min-height: 100dvh;
}

.wp-site-blocks {
	min-height: 100vh;
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
}

.wp-site-blocks > footer {
	margin-top: auto !important;
}

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */

/*
 * Suppress the flow-layout block gap between topbar and main nav bar.
 * blockGap:"0" was removed from the block attribute because WP 6.9 no
 * longer serializes it as an inline custom property. We target children
 * directly to beat WordPress's :where()-based layout margin rules.
 */
.sfx-header.is-layout-flow > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.sfx-header-topbar {
	background-color: var(--wp--preset--color--sfx-light-gray);
	padding-block: 6px;
	padding-inline: max(20px, calc((100% - var(--wp--style--global--wide-size)) / 2));
}

.sfx-header-topbar a,
.sfx-header-topbar .wp-block-navigation a {
	color: var(--wp--preset--color--sfx-maroon) !important;
	font-weight: 700;
	text-decoration: none;
	font-size: 0.75rem;
}

.sfx-header-topbar a:hover,
.sfx-header-topbar .wp-block-navigation a:hover {
	text-decoration: underline;
}

/* Logged-out variant: topbar centered */
.sfx-header-topbar--centered {
	justify-content: center;
}

.sfx-header-main {
	background-color: var(--wp--preset--color--sfx-maroon);
	padding-block: 24px;
	padding-inline: max(20px, calc((100% - var(--wp--style--global--wide-size)) / 2));
}

/* Login/logged-out variant: centered logo only */
.sfx-header-main--centered {
	justify-content: center;
	padding-block: 12px;
	padding-inline: max(20px, calc((100% - var(--wp--style--global--wide-size)) / 2));
}

/* Size the logo in the main nav bar */
.sfx-header-main img {
	height: 40px;
	width: auto;
}

/* Hide top bar on mobile */
@media (max-width: 767px) {
	.sfx-header-topbar {
		display: none !important;
	}
}

/* Navigation: bold white links in the main nav bar */
.sfx-header-main .wp-block-navigation a {
	color: var(--wp--preset--color--sfx-white) !important;
	font-weight: 700;
	font-size: 0.9rem;
}

/* Navigation overlay: full-width maroon */
.sfx-header-main .wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--sfx-maroon);
}

/* Mobile overlay secondary links — hidden on desktop, visible only in overlay */
.sfx-nav-mobile-secondary-link {
	display: none;
}

.wp-block-navigation__responsive-container.is-menu-open .sfx-nav-mobile-secondary-link {
	display: block;
	opacity: 0.7;
}

/* --------------------------------------------------------------------------
   Classroom Subheader
   -------------------------------------------------------------------------- */

.sfx-classroom-subheader {
	background-color: var(--wp--preset--color--sfx-maroon-tint);
	padding-block: 10px;
	padding-inline: max(20px, calc((100% - var(--wp--style--global--wide-size)) / 2));
	font-weight: 700;
	color: var(--wp--preset--color--sfx-maroon);
	font-size: 0.9rem;
}

.sfx-classroom-subheader .wp-block-site-title {
	margin: 0;
	white-space: nowrap;
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
}

.sfx-classroom-subheader .wp-block-site-title a {
	color: inherit;
	text-decoration: none;
}

.sfx-classroom-subheader .wp-block-site-title a:hover {
	text-decoration: underline;
}

.sfx-classroom-subheader .wp-block-navigation a {
	color: var(--wp--preset--color--sfx-maroon) !important;
	font-size: 0.82rem;
	font-weight: 600;
	text-decoration: none;
}

.sfx-classroom-subheader .wp-block-navigation a:hover,
.sfx-classroom-subheader .wp-block-navigation .current-menu-item > a {
	text-decoration: underline;
}

.sfx-classroom-subheader .wp-block-navigation__submenu-icon svg {
	fill: currentColor;
	transition: transform 0.2s ease;
}

.sfx-classroom-subheader .wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--sfx-maroon-tint);
	color: var(--wp--preset--color--sfx-maroon);
}

/* Generic nav chevron — classroom switcher toggle and subheader dropdown indicators */
.sfx-nav-chevron {
	display: block;
	flex-shrink: 0;
	transition: transform 0.15s ease;
}

.page_item_has_children:hover > a .sfx-nav-chevron,
.page_item_has_children.is-open > a .sfx-nav-chevron {
	transform: rotate(180deg);
}

/* WP core navigation block chevron SVG — header and topbar */
.sfx-header-main .wp-block-navigation__submenu-icon svg,
.sfx-header-topbar .wp-block-navigation__submenu-icon svg {
	fill: currentColor;
	transition: transform 0.2s ease;
}

.sfx-header-main .has-child:hover > a .wp-block-navigation__submenu-icon svg,
.sfx-header-main .has-child:focus-within > a .wp-block-navigation__submenu-icon svg,
.sfx-header-topbar .has-child:hover > a .wp-block-navigation__submenu-icon svg,
.sfx-header-topbar .has-child:focus-within > a .wp-block-navigation__submenu-icon svg {
	transform: rotate(180deg);
}

/* --------------------------------------------------------------------------
   Two-column content layout (content + sidebar)
   -------------------------------------------------------------------------- */

.sfx-content-sidebar-wrap {
	display: grid;
	grid-template-columns: 1fr 280px;
	gap: 32px;
	align-items: start;
	padding-inline: max(var(--wp--preset--spacing--medium), calc((100% - var(--wp--style--global--content-size)) / 2));
	padding-block: var(--wp--preset--spacing--medium);
}

@media (max-width: 899px) {
	.sfx-content-sidebar-wrap {
		grid-template-columns: 1fr;
	}

	/* Hide page nav and separator in sidebar on mobile; teacher cards remain visible */
	.sfx-sidebar .sfx-page-nav {
		display: none;
	}

	.sfx-sidebar .wp-block-separator {
		display: none;
	}

	/* Inline page-nav-only sidebars (e.g. site-home) hide completely on mobile */
	.sfx-sidebar:not(:has(.sfx-teacher-card)) {
		display: none;
	}
}

/*
 * WordPress flow layout adds max-width + margin-inline: auto !important to
 * direct children of .is-layout-flow elements. This breaks the sidebar grid:
 * auto margins on grid items shrink them to content width and center them.
 * Suppress on both the grid items and within the main content column.
 */
.sfx-content-sidebar-wrap > *,
.sfx-main > * {
	max-width: none !important;
	margin-inline: 0 !important;
}

/* Full-width page template */
.sfx-full-width-main {
	padding-block: var(--wp--preset--spacing--medium);
}

/* --------------------------------------------------------------------------
   Post Cards
   -------------------------------------------------------------------------- */

.sfx-post-card {
	background: var(--wp--preset--color--sfx-white);
	border: 1px solid var(--wp--custom--color--border);
	border-left: 4px solid var(--wp--preset--color--sfx-maroon);
	border-radius: var(--wp--custom--border-radius--card);
	padding: 16px;
	margin-bottom: 16px;
}

.sfx-post-card--announcement {
	border-left-color: var(--wp--preset--color--sfx-gold);
}

.sfx-post-card__body {
	flex: 1;
	min-width: 0;
}

.sfx-post-card__thumb {
	flex-shrink: 0;
	align-self: center;
	width: 100px;
}

.sfx-post-card__thumb img {
	display: block;
	width: 100px;
	height: 75px;
	object-fit: cover;
	border-radius: 3px;
}

.sfx-post-card__title {
	font-weight: 700;
	font-size: 1rem;
	margin: 0 0 6px;
}

.sfx-post-card__title a {
	color: #1a1a1a;
	text-decoration: none;
}

.sfx-post-card__title a:hover {
	text-decoration: underline;
}

.sfx-post-card__meta {
	font-size: 0.78rem;
	color: var(--wp--custom--color--text-muted);
	margin-bottom: 8px;
	gap: 8px;
	align-items: center;
}

.sfx-post-card__category {
	background: var(--wp--custom--color--border-subtle);
	border-radius: 3px;
	padding: 2px 7px;
	font-size: 0.72rem;
}

.sfx-archive-title {
	font-weight: 700;
	margin-bottom: var(--wp--preset--spacing--small);
}

/* --------------------------------------------------------------------------
   Sidebar
   -------------------------------------------------------------------------- */

.sfx-sidebar {
	font-size: 0.875rem;
}

.sfx-teacher-card {
	text-align: center;
	padding-bottom: 16px;
}

.sfx-teacher-card__photo {
	width: 160px;
	height: 160px;
	border-radius: 50%;
	object-fit: cover;
	margin: 0 auto 8px;
	display: block;
	background-color: var(--wp--preset--color--sfx-maroon);
}

.sfx-teacher-card__name {
	font-weight: 700;
	font-size: 0.8rem;
	margin: 0 0 2px;
}

.sfx-teacher-card__grade {
	font-size: 0.625rem;
	color: var(--wp--preset--color--sfx-gray);
	margin: 0 0 4px;
}

.sfx-teacher-card__email a {
	font-size: 0.75rem;
	color: var(--wp--preset--color--sfx-maroon);
	text-decoration: underline;
}

.sfx-page-nav__label {
	font-size: 0.65rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--sfx-gray);
	margin-bottom: 8px;
}

.sfx-page-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sfx-page-nav__list li {
	margin: 0;
}

.sfx-page-nav__list a {
	display: block;
	padding: 5px 8px;
	border-left: 3px solid transparent;
	color: var(--wp--preset--color--sfx-maroon);
	text-decoration: underline;
	font-size: 0.82rem;
	line-height: 1.4;
}

.sfx-page-nav__list .current-menu-item a,
.sfx-page-nav__list .current_page_item a {
	border-left-color: var(--wp--preset--color--sfx-maroon);
	font-weight: 700;
	text-decoration: none;
}

.sfx-teacher-card__photo--fallback {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background-color: var(--wp--preset--color--sfx-maroon);
	color: var(--wp--preset--color--sfx-white);
	font-weight: 700;
	font-size: 1.5rem;
	margin: 0 auto 8px;
}

.sfx-page-nav .wp-block-page-list,
.sfx-page-nav .wp-block-navigation__submenu-container {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sfx-page-nav .wp-block-pages-list__item {
	list-style: none;
	margin: 0;
}

.sfx-page-nav .wp-block-pages-list__item__link {
	display: block;
	padding: 5px 8px;
	border-left: 3px solid transparent;
	color: var(--wp--preset--color--sfx-maroon);
	text-decoration: underline;
	font-size: 0.82rem;
	line-height: 1.4;
}

.sfx-page-nav .current-menu-item > .wp-block-pages-list__item__link,
.sfx-page-nav .current_page_item > .wp-block-pages-list__item__link {
	border-left-color: var(--wp--preset--color--sfx-maroon);
	font-weight: 700;
	text-decoration: none;
}

/* Indent child pages */
.sfx-page-nav .wp-block-navigation__submenu-container {
	padding-left: 16px;
	margin-top: 2px;
	margin-bottom: 2px;
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */

.sfx-footer {
	background-color: var(--wp--preset--color--sfx-maroon);
	color: rgba(255,255,255,0.85);
}

.sfx-footer__main {
	padding-block: 36px;
	padding-inline: max(28px, calc((100% - var(--wp--style--global--wide-size)) / 2));
}

.sfx-footer__nav-groups {
	gap: 36px;
	align-items: flex-start;
}

.sfx-footer__nav-group-label.wp-block-heading {
	font-size: 0.65rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: rgba(255,255,255,0.45);
	margin-bottom: 12px;
	margin-top: 0;
}

/* Footer navigation links */
.sfx-footer__nav-group .wp-block-navigation a {
	color: rgba(255,255,255,0.9);
	text-decoration: none;
	font-size: 0.875rem;
	font-weight: 700;
}

.sfx-footer__nav-group .wp-block-navigation a:hover {
	text-decoration: underline;
}

.sfx-footer__nav-group .wp-block-navigation .wp-block-navigation__container {
	gap: 8px;
}

/* Footer contact column */
.sfx-footer__contact {
	flex-shrink: 0;
	text-align: right;
}

/* Footer logo */
.sfx-footer__logo img {
	height: 36px;
	width: auto;
	display: block;
	margin-left: auto;
	margin-bottom: 12px;
}

@media (max-width: 767px) {
	.sfx-footer__main {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 24px;
	}

	.sfx-footer__nav-groups {
		justify-content: center;
		padding-bottom: 24px;
		border-bottom: 1px solid rgba(255, 255, 255, 0.15);
		width: 100%;
	}

	.sfx-footer__nav-group .wp-block-navigation .wp-block-navigation__container {
		align-items: center;
	}

	.sfx-footer__contact {
		width: 100%;
		text-align: center;
	}

	.sfx-footer__logo {
		display: block;
		width: 100%;
		padding-bottom: 24px;
		border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	}

	.sfx-footer__logo img {
		height: 44px;
		margin-inline: auto;
		margin-bottom: 0;
	}

	.sfx-footer__contact-lines {
		align-items: center;
	}

	.sfx-footer__bottom {
		flex-direction: column-reverse;
		align-items: center;
		gap: 6px;
		text-align: center;
	}
}

.sfx-footer__contact-lines {
	gap: 4px;
}

.sfx-footer__contact-lines p {
	font-size: 0.875rem;
	color: rgba(255,255,255,0.75);
	line-height: 1.6;
	margin: 0;
}

.sfx-footer__contact-lines a {
	color: rgba(255,255,255,0.75);
	text-decoration: underline;
}

.sfx-footer__bottom {
	background-color: var(--wp--custom--color--footer-dark);
	padding-block: 10px;
	padding-inline: max(28px, calc((100% - var(--wp--style--global--wide-size)) / 2));
}

.sfx-footer__copyright {
	font-size: 0.75rem;
	color: rgba(255,255,255,0.5);
	margin: 0;
}

/* Privacy Policy + Log Out links in the bottom bar */
.sfx-footer__bottom-links a {
	font-size: 0.75rem;
	color: rgba(255,255,255,0.5);
	text-decoration: none;
}

.sfx-footer__bottom-links a:hover {
	text-decoration: underline;
}

/* --------------------------------------------------------------------------
   Login page
   -------------------------------------------------------------------------- */

.sfx-login-page-main {
	padding-block: var(--wp--preset--spacing--large);
}

.sfx-login-card,
.sfx-login-form-wrap {
	background: var(--wp--preset--color--sfx-white);
	border: 1px solid var(--wp--custom--color--border);
	border-radius: var(--wp--custom--border-radius--card);
	padding: 20px;
}

.sfx-login-page-main .sfx-login-card {
	max-width: 360px;
	margin-inline: auto;
}

.sfx-login-form-wrap {
	width: 75%;
	margin-inline: auto;
}

.sfx-login-card .gform_footer {
	margin-top: 0;
	padding-top: 8px;
	padding-bottom: 0;
}

.sfx-login-card .gf_login_links {
	margin-top: 8px;
}

.sfx-login-card__heading {
	font-size: 1.2rem;
	font-weight: 700;
	margin-bottom: 16px;
}

.sfx-lost-password {
	font-size: 0.78rem;
	margin-top: 12px;
}

.sfx-lost-password a {
	color: var(--wp--preset--color--sfx-maroon);
}

/* --------------------------------------------------------------------------
   Logged-out landing page
   -------------------------------------------------------------------------- */

.sfx-logged-out-main {
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
	padding-inline: var(--wp--preset--spacing--medium);
	padding-block: var(--wp--preset--spacing--medium);
}

.sfx-principal-card {
	gap: 24px;
	margin-bottom: 24px;
	align-items: flex-start;
}

.sfx-principal-card .sfx-teacher-card {
	flex-shrink: 0;
	width: 200px;
}

.sfx-pull-quote {
	border-left: 4px solid var(--wp--preset--color--sfx-maroon);
	padding-inline-start: 20px;
	font-size: 1.05rem;
	font-style: italic;
}

/* --------------------------------------------------------------------------
   Site home (logged-in landing page, all sites)
   -------------------------------------------------------------------------- */

.sfx-site-home-intro {
	gap: 24px;
	margin-bottom: 24px;
}

.sfx-site-home-intro__card {
	flex-shrink: 0;
	width: 200px;
}

.sfx-info-columns {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin-top: 20px;
}

@media (max-width: 600px) {
	.sfx-info-columns {
		grid-template-columns: 1fr;
	}
}

.sfx-faq-section {
	border: 1px solid var(--wp--custom--color--border);
	border-radius: var(--wp--custom--border-radius--card);
	padding: 16px;
}

.sfx-faq-section .wp-block-details {
	border-bottom: 1px solid var(--wp--custom--color--border-subtle);
	padding-block: 10px;
}

.sfx-faq-section .wp-block-details:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.sfx-faq-section .wp-block-details summary {
	font-weight: 600;
	font-size: 0.875rem;
	cursor: pointer;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.sfx-faq-section .wp-block-details summary::after {
	content: '›';
	font-size: 1.25rem;
	line-height: 1;
	color: var(--wp--preset--color--sfx-maroon);
	flex-shrink: 0;
	transform: rotate(90deg);
	display: inline-block;
	transition: transform 0.2s ease;
}

.sfx-faq-section .wp-block-details[open] summary::after {
	transform: rotate(270deg);
}

.sfx-faq-section .wp-block-details .wp-block-paragraph {
	font-size: 0.875rem;
	margin-top: 8px;
	color: var(--wp--custom--color--text-muted);
}

.sfx-contact-card__label,
.sfx-faq-section__label {
	font-size: 0.8rem;
	font-weight: 700;
	margin: 0 0 8px;
}

.sfx-contact-row {
	gap: 8px;
	align-items: baseline;
	padding: 6px 0;
	border-bottom: 1px solid var(--wp--custom--color--border-subtle);
	font-size: 0.85rem;
}

.sfx-contact-row:last-child {
	border-bottom: none;
}

.sfx-contact-row__label {
	font-weight: 600;
	min-width: 50px;
	color: var(--wp--custom--color--text-muted);
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.sfx-no-account-note {
	background: var(--wp--preset--color--sfx-maroon-tint);
	border: 1px solid var(--wp--preset--color--sfx-maroon);
	border-radius: var(--wp--custom--border-radius--card);
	padding: 14px;
	font-size: 0.8rem;
	color: #555;
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
	margin-block-start: var(--wp--preset--spacing--small);
	margin-block-end: 0;
	width: calc(100% - 2 * var(--wp--preset--spacing--medium));
}

/* --------------------------------------------------------------------------
   Mobile — intro section (site-home and logged-out landing page)
   -------------------------------------------------------------------------- */

@media (max-width: 767px) {
	.sfx-site-home-intro,
	.sfx-principal-card {
		flex-direction: column;
	}

	/* Quote/message first, then photo */
	.sfx-site-home-intro .sfx-pull-quote,
	.sfx-principal-card .sfx-pull-quote {
		order: 1;
		padding-inline-start: 0;
		border-left: none;
		border-top: 4px solid var(--wp--preset--color--sfx-maroon);
		padding-top: 16px;
	}

	.sfx-site-home-intro__card,
	.sfx-principal-card .sfx-teacher-card {
		order: 2;
		width: 100%;
	}
}

/* --------------------------------------------------------------------------
   Sidebar page navigation — suppress browser list bullets
   -------------------------------------------------------------------------- */

.sfx-page-nav .wp-block-page-list,
.sfx-page-nav .wp-block-page-list ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sfx-page-nav .wp-block-page-list li {
	list-style: none;
}

/* --------------------------------------------------------------------------
   Table block
   -------------------------------------------------------------------------- */

.wp-block-table table {
	border: 1px solid var(--wp--custom--color--border);
	border-collapse: collapse; /* required when outer border is present */
	font-size: 0.875rem;
}

.wp-block-table td,
.wp-block-table th {
	border-bottom: 1px solid var(--wp--custom--color--border);
}

.wp-block-table th,
.wp-block-table thead tr {
	background-color: var(--wp--preset--color--sfx-maroon-tint);
}

.wp-block-table tfoot td {
	border-bottom: none;
	border-top: 1px solid var(--wp--custom--color--border);
}

.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
	background-color: var(--wp--preset--color--sfx-maroon-tint);
}

/* --------------------------------------------------------------------------
   Login form card — maroon treatment
   -------------------------------------------------------------------------- */

.sfx-login-form-wrap {
	background: var(--wp--preset--color--sfx-maroon);
	color: var(--wp--preset--color--sfx-white);
	border-radius: var(--wp--custom--border-radius--card);
	padding: 28px 32px;
}

.sfx-login-form-wrap .sfx-login-card__heading,
.sfx-login-form-wrap h2 {
	color: var(--wp--preset--color--sfx-white);
	margin-top: 0;
}

.sfx-login-form-wrap p {
	color: rgba(255, 255, 255, 0.85);
	margin-bottom: 20px;
}

/* GravityForms login form inside maroon card */
.sfx-login-form-wrap .gform_wrapper label,
.sfx-login-form-wrap .gform_wrapper .gfield_label {
	color: var(--wp--preset--color--sfx-white);
	font-weight: 600;
	font-size: 0.875rem;
}

.sfx-login-form-wrap .gform_wrapper input[type="text"],
.sfx-login-form-wrap .gform_wrapper input[type="email"],
.sfx-login-form-wrap .gform_wrapper input[type="password"] {
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: var(--wp--custom--border-radius--card);
	color: var(--wp--preset--color--sfx-white);
	padding: 10px 14px;
	width: 100%;
	font-size: 1rem;
}

.sfx-login-form-wrap .gform_wrapper input[type="text"]::placeholder,
.sfx-login-form-wrap .gform_wrapper input[type="email"]::placeholder,
.sfx-login-form-wrap .gform_wrapper input[type="password"]::placeholder {
	color: rgba(255, 255, 255, 0.5);
}

.sfx-login-form-wrap .gform_wrapper input[type="text"]:focus,
.sfx-login-form-wrap .gform_wrapper input[type="email"]:focus,
.sfx-login-form-wrap .gform_wrapper input[type="password"]:focus {
	outline: 2px solid rgba(255, 255, 255, 0.6);
	outline-offset: 2px;
	background: rgba(255, 255, 255, 0.18);
}

.sfx-login-form-wrap .gform_wrapper input[type="submit"],
.sfx-login-form-wrap .gform_wrapper .gform_button {
	background: var(--wp--preset--color--sfx-gold);
	color: #1a1a1a;
	border: none;
	border-radius: var(--wp--custom--border-radius--card);
	padding: 12px 24px;
	font-weight: 700;
	font-size: 1rem;
	cursor: pointer;
	width: 100%;
	margin-top: 8px;
	transition: opacity 0.15s ease;
}

.sfx-login-form-wrap .gform_wrapper input[type="submit"]:hover,
.sfx-login-form-wrap .gform_wrapper .gform_button:hover {
	opacity: 0.88;
}

/* Links inside the login card (forgot password, etc.) */
.sfx-login-form-wrap a,
.sfx-login-form-wrap .gform_wrapper a {
	color: var(--wp--preset--color--sfx-gold);
}

.sfx-login-form-wrap .gform_wrapper .gform_footer,
.sfx-login-form-wrap .gform_wrapper .gform_ajax_spinner {
	margin-top: 0;
}

/* --------------------------------------------------------------------------
   Photo gallery page template
   -------------------------------------------------------------------------- */

.sfx-gallery-main {
	padding-block: var(--wp--preset--spacing--medium);
}

.sfx-gallery-main .wp-block-gallery {
	margin-bottom: var(--wp--preset--spacing--large);
}

.sfx-gallery-main .wp-block-gallery .wp-block-image img {
	border-radius: var(--wp--custom--border-radius--card);
	object-fit: cover;
}

