/*
Theme Name: BlackBarn Child
Description: Update-safe customizations for the BlackBarn theme.
Template: black-barn
Version: 1.1.3
Requires at least: 6.6
Requires PHP: 8.2
Text Domain: black-barn-child
*/

/* Add custom styles below. The parent stylesheet loads first. */

/* Countryside template parts reuse the parent's palette and typography. */
.bb-header { border-bottom-color: var(--bb-rule); }
.bb-header .bb-header__inner { grid-template-columns: minmax(180px, 1fr) auto auto; gap: 2.5rem; margin: 0 auto; min-height: 120px; padding: 1.25rem 0; width: var(--bb-page); }
.bb-header__inner > *, .bb-brand > *, .bb-footer__inner > *, .bb-footer__columns > *, .bb-footer__invitation > *, .bb-footer__bottom > * { margin-block: 0; }
.bb-wordmark { font: 400 clamp(2rem, 3.2vw, 3rem)/1.1 var(--bb-serif); letter-spacing: -.035em; margin: 0; }
.bb-wordmark a { text-decoration: none; }
.bb-brand__caption { font-size: .65rem; letter-spacing: .28em; margin-top: .5rem; text-transform: uppercase; }
.bb-header .bb-navigation { justify-self: end; }
.bb-navigation .wp-block-navigation__container { gap: clamp(1rem, 2.5vw, 2.5rem); }
.bb-header .wp-block-navigation a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 400; }
.bb-header .bb-stay-button .wp-block-button__link, .bb-footer .bb-stay-button .wp-block-button__link { background: var(--bb-dark); border: 1px solid var(--bb-dark); border-radius: 0; color: var(--bb-paper); font: 400 1rem/1.4 var(--bb-sans); letter-spacing: .025em; min-height: 52px; padding: .9rem 2rem; text-transform: none; }
.bb-header a:hover, .bb-footer a:hover { text-decoration: underline; text-underline-offset: .3em; }
.bb-header .wp-block-button__link:hover, .bb-footer .wp-block-button__link:hover { background: var(--bb-ink); color: var(--bb-paper); }
.bb-footer { background: var(--bb-dark); color: var(--bb-paper); margin-block-start: 0; padding: clamp(2.5rem, 4.5vw, 4.5rem) 0 1.5rem; }
.bb-footer__inner { margin: 0 auto; width: var(--bb-page); }
.bb-footer__invitation { align-items: center; border-bottom: 1px solid var(--bb-brass); display: flex; gap: 2rem; justify-content: space-between; padding-bottom: 2.5rem; }
.bb-footer__invitation h2 { font-size: clamp(2.4rem, 4.2vw, 4rem); line-height: 1.12; }
.bb-footer .bb-stay-button .wp-block-button__link { background: var(--bb-brass); border-color: var(--bb-brass); color: var(--bb-dark); white-space: nowrap; }
.bb-footer__columns { display: grid; gap: 3rem; grid-template-columns: 1.4fr 1fr .8fr; padding-block: 3rem; }
.bb-footer__welcome > p:not(.bb-wordmark) { font: 400 1.3rem/1.5 var(--bb-serif); max-width: 380px; margin: 1rem 0 0; }
.bb-footer .bb-footer__label { color: var(--bb-brass); font: 500 .75rem/1.5 var(--bb-sans); letter-spacing: .18em; margin: 0 0 1rem; text-transform: uppercase; }
.bb-footer .wp-block-navigation { font: 400 1rem/1.5 var(--bb-sans); margin: 0; }
.bb-footer .wp-block-navigation__container { align-items: flex-start; gap: 0; }
.bb-footer .wp-block-navigation-item__content { align-items: center; display: inline-flex; min-height: 44px; }
.bb-footer__bottom { align-items: center; border-top: 1px solid var(--bb-brass); display: flex; font-size: .8rem; gap: 1rem; justify-content: space-between; padding-top: 1rem; }
.bb-footer__bottom a { align-items: center; display: inline-flex; min-height: 44px; text-decoration: none; }
.bb-skip-link:focus { clip: auto; clip-path: none; }
.partner-list__item a, .partner-list__item span { color: var(--bb-muted); transition: background-color .2s ease, border-color .2s ease, color .2s ease; }
.partner-list__item img { transition: filter .2s ease, opacity .2s ease, transform .2s ease; }
.partner-list__item:hover > a, .partner-list__item:hover > span, .partner-list__item a:focus-visible { background: rgba(197, 164, 93, .14); border-color: var(--bb-brass); color: var(--bb-brass-text); }
.partner-list__item:hover img, .partner-list__item a:focus-visible img { filter: grayscale(0) saturate(1.15); opacity: 1; transform: scale(1.03); }

@media (max-width: 1000px) {
	.bb-header .bb-header__inner { gap: 1rem; grid-template-columns: 1fr auto auto; }
	.bb-header .bb-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
	.bb-header .bb-navigation .wp-block-navigation__responsive-container-open { align-items: center; display: flex; justify-content: center; min-height: 44px; min-width: 44px; }
	.bb-header .bb-navigation .wp-block-navigation__responsive-container.is-menu-open { background: var(--bb-paper); color: var(--bb-ink); padding: 2rem 6vw; }
	.bb-header .bb-navigation .is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch; padding-top: 4rem; }
	.bb-header .bb-navigation .is-menu-open .wp-block-navigation__container { align-items: flex-start; gap: 1rem; }
	.bb-header .bb-navigation .is-menu-open a { font-size: 1.25rem; }
	.bb-header .mobile-nav-cta { display: block; margin-top: 2rem; }
	.bb-header .wp-block-navigation__responsive-container-close { min-height: 44px; min-width: 44px; }
}

@media (max-width: 760px) {
	.bb-header .bb-header__inner { grid-template-columns: 1fr auto; min-height: 100px; padding-block: 1rem; }
	.bb-header .bb-navigation { grid-column: 2; grid-row: 1; }
	.bb-footer__invitation { align-items: flex-start; flex-direction: column; }
	.bb-footer__columns { gap: 2rem; grid-template-columns: 1fr 1fr; }
	.bb-footer__welcome { grid-column: 1 / -1; }
	.bb-footer__bottom { align-items: flex-start; flex-direction: column; gap: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.partner-list__item img { transform: none; }
}
