/*
 * AM Horseshoeing public theme styles.
 */
:root {
	--amh-radius-sm: 0.5rem;
	--amh-radius: 1rem;
	--amh-radius-lg: 1.5rem;
	--amh-shadow: 0 12px 35px rgba(42, 33, 30, 0.12);
	--amh-border: 1px solid rgba(104, 56, 40, 0.18);
}
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
img { height: auto; max-width: 100%; }
a { text-underline-offset: 0.18em; text-decoration-thickness: 0.08em; }
a:hover { text-decoration-thickness: 0.14em; }
:where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
	border-radius: 0.2rem;
	outline: 3px solid var(--wp--preset--color--focus);
	outline-offset: 3px;
}
.amh-skip-link {
	background: var(--wp--preset--color--white);
	border: 3px solid var(--wp--preset--color--focus);
	color: var(--wp--preset--color--charcoal);
	font-weight: 700;
	left: 1rem;
	padding: 0.75rem 1rem;
	position: fixed;
	top: 1rem;
	transform: translateY(-180%);
	transition: transform 120ms ease;
	z-index: 100000;
}
.amh-skip-link:focus { transform: translateY(0); }
.amh-site-header { border-bottom: var(--amh-border); position: relative; z-index: 100; }
.amh-site-header .wp-block-site-logo img { max-height: 72px; object-fit: contain; width: auto; }
.amh-site-header .wp-block-site-title { line-height: 1.05; }
.amh-site-header .wp-block-site-title a { text-decoration: none; }
.amh-primary-nav .wp-block-navigation-item__content { padding-block: 0.45rem; text-decoration: none; }
.amh-primary-nav .current-menu-item > .wp-block-navigation-item__content,
.amh-primary-nav .wp-block-navigation-item__content:hover {
	text-decoration: underline;
	text-decoration-thickness: 0.12em;
	text-underline-offset: 0.3em;
}
.amh-primary-nav .amh-nav-login > .wp-block-navigation-item__content {
	background: var(--wp--preset--color--dark-brown);
	border: 2px solid var(--wp--preset--color--dark-brown);
	border-radius: 999px;
	color: var(--wp--preset--color--white);
	padding: 0.5rem 0.9rem;
}
.amh-primary-nav .amh-nav-login > .wp-block-navigation-item__content:hover {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--dark-brown);
	text-decoration: none;
}
.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--cream) !important;
	color: var(--wp--preset--color--charcoal) !important;
	padding: 1.5rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start; gap: 0.75rem; }
.amh-hero { isolation: isolate; min-height: min(760px, 72vh); position: relative; }
.amh-hero::after {
	background: radial-gradient(circle at 85% 20%, rgba(255,255,255,0.18), transparent 28%), linear-gradient(110deg, transparent 60%, rgba(42,33,30,0.15));
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: -1;
}
.amh-hero h1 { max-width: 13ch; }
.amh-hero p { max-width: 52ch; }
.amh-hero .is-style-outline .wp-block-button__link,
.amh-contact-band .is-style-outline .wp-block-button__link { border-color: var(--wp--preset--color--white); color: var(--wp--preset--color--white); }
.amh-eyebrow { font-size: 0.82rem; font-weight: 800; letter-spacing: 0.12em; margin-bottom: 0.6rem; text-transform: uppercase; }
.amh-section { position: relative; }
.amh-section-soft { border-block: var(--amh-border); }
.amh-card-grid { align-items: stretch !important; }
.amh-card-grid > .wp-block-column { display: flex; }
.amh-card {
	background: var(--wp--preset--color--white);
	border: var(--amh-border);
	border-radius: var(--amh-radius);
	box-shadow: var(--amh-shadow);
	box-sizing: border-box;
	height: 100%;
	padding: clamp(1.25rem, 3vw, 2rem);
	width: 100%;
}
.amh-callout, .amh-portal-intro { border: var(--amh-border); border-radius: var(--amh-radius-lg); padding: clamp(1.5rem, 4vw, 3rem); }
.amh-portrait img {
	aspect-ratio: 4 / 5;
	border-radius: var(--amh-radius-lg);
	box-shadow: var(--amh-shadow);
	object-fit: cover;
	object-position: 50% 42%;
	width: 100%;
}
.amh-mascot-image img {
	aspect-ratio: 4 / 5;
	border-radius: var(--amh-radius-lg);
	box-shadow: var(--amh-shadow);
	object-fit: cover;
	object-position: center;
	width: 100%;
}
.amh-mascot-image figcaption { color: var(--wp--preset--color--dark-brown); font-weight: 700; }
.amh-availability { border-left: 5px solid currentColor; border-radius: var(--amh-radius-sm); padding: 0.8rem 1rem; }
.amh-availability.is-accepting { background: #e9f6ed; color: var(--wp--preset--color--success); }
.amh-availability.is-not-accepting { background: #fff0e1; color: var(--wp--preset--color--warning); }
.amh-faq-item {
	background: var(--wp--preset--color--white);
	border: var(--amh-border);
	border-radius: var(--amh-radius);
	box-shadow: 0 5px 18px rgba(42,33,30,0.06);
	margin-block: 1rem;
	padding: 1rem 1.25rem;
}
.amh-faq-item summary { color: var(--wp--preset--color--dark-brown); cursor: pointer; font-family: var(--wp--preset--font-family--serif); font-size: 1.18rem; font-weight: 700; }
.amh-faq-item[open] summary { margin-bottom: 0.75rem; }
.amh-random-gallery img { border-radius: var(--amh-radius); }
.amh-random-gallery figcaption { background: rgba(42,33,30,0.82) !important; color: var(--wp--preset--color--white) !important; }
.amh-editor-note, .amh-security-note { background: var(--wp--preset--color--pale-blush); border-left: 4px solid var(--wp--preset--color--dark-brown); border-radius: var(--amh-radius-sm); padding: 0.8rem 1rem; }
.amh-contact-band h2, .amh-site-footer h2 { color: var(--wp--preset--color--white); }
.amh-contact-band a:not(.wp-block-button__link), .amh-site-footer a { color: var(--wp--preset--color--white); }
.amh-site-footer .wp-block-separator { opacity: 0.7; }
.amh-page-title { margin-bottom: var(--wp--preset--spacing--60); }
.amh-404 { text-align: center; }
.amh-404 .wp-block-buttons { justify-content: center; }
.wp-element-button, .wp-block-button__link { transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease, transform 120ms ease; }
.wp-element-button:hover, .wp-block-button__link:hover {
	background: var(--wp--preset--color--white);
	border-color: var(--wp--preset--color--dark-brown);
	color: var(--wp--preset--color--dark-brown);
	transform: translateY(-1px);
}
@media (max-width: 900px) {
	.amh-site-header > .wp-block-group { gap: 0.75rem; }
	.amh-brand .wp-block-site-tagline { display: none; }
	.amh-hero { min-height: auto; }
	.amh-about, .amh-mascot { gap: var(--wp--preset--spacing--50); }
}
@media (max-width: 781px) {
	.amh-about .wp-block-column:first-child, .amh-mascot .wp-block-column:last-child { order: 1; }
	.amh-about .wp-block-column:last-child, .amh-mascot .wp-block-column:first-child { order: 2; }
	.amh-card-grid > .wp-block-column { display: block; }
}
@media (max-width: 480px) {
	.amh-site-header .wp-block-site-logo img { max-height: 56px; }
	.amh-site-header .wp-block-site-title { font-size: 1.05rem !important; }
	.amh-hero .wp-block-buttons, .amh-contact-band .wp-block-buttons { align-items: stretch; flex-direction: column; }
	.amh-hero .wp-block-button, .amh-hero .wp-block-button__link, .amh-contact-band .wp-block-button, .amh-contact-band .wp-block-button__link { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
}
@media print {
	.amh-site-header, .amh-site-footer, .amh-skip-link, .wp-block-buttons { display: none !important; }
	body { background: #fff; color: #000; }
}
