/* SkateFacilities — small layer on top of theme.json. Colours and type live in theme.json. */

.wp-site-blocks > * { margin-block-start: 0; }
.wp-site-blocks > main > .wp-block-post-content > * { margin-block-start: 0; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--base); }

/* Header */
header.wp-block-template-part { position: sticky; top: 0; z-index: 50; }
.admin-bar header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { .admin-bar header.wp-block-template-part { top: 0; position: relative; } }
.sf-header { backdrop-filter: saturate(140%) blur(10px); -webkit-backdrop-filter: saturate(140%) blur(10px); }
.sf-header .wp-block-site-logo img { border-radius: 8px; }
.sf-topbar p { margin: 0; letter-spacing: 0.02em; }
.sf-topbar a { color: var(--wp--preset--color--contrast); }
.sf-header .wp-block-navigation a:hover,
.sf-header .wp-block-navigation .current-menu-item > a { color: var(--wp--preset--color--accent); }
.sf-header .wp-block-navigation .current-menu-item > a { text-decoration: none; box-shadow: inset 0 -2px 0 var(--wp--preset--color--accent); }
.sf-header .wp-block-button__link { padding: 0.7rem 1.15rem; }
@media (max-width: 600px) { .sf-header-cta { display: none; } }
.wp-block-navigation__responsive-container.is-menu-open { padding: 2rem 1.5rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { font-size: 1.25rem; gap: 1.25rem; }

/* Eyebrow paragraph */
.is-style-sf-eyebrow {
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
	line-height: 1.4;
}
.is-style-sf-eyebrow::before {
	content: "";
	display: inline-block;
	width: 1.75rem;
	height: 2px;
	margin-right: 0.75rem;
	vertical-align: middle;
	background: currentColor;
}
.has-text-align-center.is-style-sf-eyebrow::before { display: none; }

/* Cards */
.is-style-sf-card {
	background: var(--wp--preset--color--base-2);
	border: 1px solid var(--wp--preset--color--base-3);
	border-radius: 6px;
	overflow: hidden;
	transition: border-color .25s ease, transform .25s ease;
	height: 100%;
}
.is-style-sf-card:hover { border-color: var(--wp--preset--color--accent); transform: translateY(-3px); }
.has-light-background-color .is-style-sf-card,
.has-white-background-color .is-style-sf-card { background: var(--wp--preset--color--white); border-color: #d9dee3; }
.is-style-sf-card > .wp-block-image { margin: 0; }
.is-style-sf-card > .wp-block-image img { border-radius: 0; aspect-ratio: 16 / 10; object-fit: cover; width: 100%; }

/* Step numbers */
.is-style-sf-step {
	font-size: var(--wp--preset--font-size--xx-large);
	color: transparent;
	-webkit-text-stroke: 1.5px var(--wp--preset--color--accent);
	line-height: 1;
	margin-bottom: 0.25rem;
}

/* Check list */
.is-style-sf-checks { list-style: none; padding-left: 0 !important; }
.is-style-sf-checks li { position: relative; padding-left: 1.75rem; margin-bottom: 0.4rem; }
.is-style-sf-checks li::before {
	content: ""; position: absolute; left: 0; top: 0.62em; width: 0.8rem; height: 0.45rem;
	border-left: 2px solid var(--wp--preset--color--accent); border-bottom: 2px solid var(--wp--preset--color--accent);
	transform: rotate(-45deg) translateY(-50%);
}

/* Logo strip */
.is-style-sf-logos { align-items: center; }
.is-style-sf-logos .wp-block-image { margin: 0; display: flex; justify-content: center; align-items: center; }
.is-style-sf-logos img { max-height: 34px; max-width: 100%; width: auto !important; height: auto; object-fit: contain; filter: grayscale(1); opacity: .62; transition: opacity .2s ease; border-radius: 0 !important; }
.is-style-sf-logos img:hover { opacity: 1; }

/* Media polish */
.wp-block-gallery.has-nested-images figure.wp-block-image img { transition: transform .5s ease; }
.wp-block-gallery.has-nested-images figure.wp-block-image:hover img { transform: scale(1.04); }
.wp-block-gallery.has-nested-images figure.wp-block-image { overflow: hidden; border-radius: 4px; }
.wp-block-cover { overflow: hidden; }
.sf-hero h1 { max-width: 14ch; }
.sf-badge img { border-radius: 6px; }

/* Contact / form card */
.sf-form-card { color: var(--wp--preset--color--base); }
.sf-form-card .ff-el-form-control { border-radius: 3px; border-color: #cfd6dd; font-family: inherit; padding: 0.7rem 0.85rem; }
.sf-form-card .ff-el-form-control:focus { border-color: var(--wp--preset--color--accent-hover); box-shadow: 0 0 0 3px rgba(71, 201, 229, .25); }
.sf-form-card .ff-el-input--label label { font-family: var(--wp--preset--font-family--montserrat); font-weight: 700; font-size: .8125rem; letter-spacing: .04em; text-transform: uppercase; }
.sf-form-card .ff-btn-submit { font-family: var(--wp--preset--font-family--montserrat) !important; font-weight: 700 !important; letter-spacing: .07em; text-transform: uppercase; border-radius: 3px !important; }
.sf-form-card .ff-message-success { border: 0; border-left: 4px solid var(--wp--preset--color--accent); background: var(--wp--preset--color--light); padding: 1.25rem 1.5rem; box-shadow: none; }
.sf-contact-list a { text-decoration: none; }

/* Footer */
.sf-footer a { text-decoration: none; }
.sf-footer a:hover { color: var(--wp--preset--color--accent); }
.sf-footer .wp-block-navigation { font-family: var(--wp--preset--font-family--raleway); text-transform: none; letter-spacing: 0; font-weight: 500; font-size: var(--wp--preset--font-size--small); }

@media (prefers-reduced-motion: reduce) {
	.is-style-sf-card, .wp-block-gallery img { transition: none !important; transform: none !important; }
}

/* Cover content with a custom position should still span the wide container */
.wp-block-cover.has-custom-content-position.sf-hero .wp-block-cover__inner-container { width: 100% !important; }

/* Refinements */
.sf-header .wp-block-site-logo { flex-shrink: 0; }
@media (max-width: 600px) {
	.sf-header .sf-header-cta { display: none !important; }
	.sf-topbar p { font-size: 0.72rem; }
}
.sf-badge img { max-width: 140px; height: auto; }
.sf-cta-band .sf-btn-dark .wp-block-button__link { border-color: var(--wp--preset--color--base); }
.sf-cta-band .wp-block-button__link, .sf-footer .wp-block-button__link, .sf-header .wp-block-button__link { white-space: nowrap; }
.sf-form-card .ff-btn-submit,
.sf-form-card .ff-btn-submit:hover { background-color: var(--wp--preset--color--accent) !important; border-color: var(--wp--preset--color--accent) !important; color: var(--wp--preset--color--base) !important; padding: 0.95rem 1.75rem !important; font-size: 0.9375rem !important; }
.sf-form-card .ff-btn-submit:hover { background-color: var(--wp--preset--color--accent-hover) !important; }
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption { background: linear-gradient(0deg, rgba(11,13,16,.85) 0%, rgba(11,13,16,0) 100%); font-weight: 600; }
