/* Shared social links */
.social-cluster { display: flex; flex-flow: row wrap; align-items: center; gap: 10px; padding: 0; border-radius: 0; background: transparent; box-shadow: none; }
.social-network-link { display: inline-flex; align-items: center; justify-content: center; inline-size: 42px; block-size: 42px; flex: 0 0 42px; border: 1px solid currentColor; border-radius: 50%; color: #705326; background: transparent; font-size: 1.1rem; text-decoration: none; transition: color .2s ease, background .2s ease, transform .2s ease; }
.social-network-link img { inline-size: 23px; block-size: 23px; object-fit: contain; }
.social-network-link:hover { color: #fff; background: #8b6c3a; border-color: #8b6c3a; transform: translateY(-2px); }
.social-network-link:focus-visible { outline: 3px solid #c7a554; outline-offset: 3px; }
.site-footer .social-network-link { color: var(--footer-heading); }
.floating-social-sidebar .social-cluster { flex-direction: column; }
.floating-social-sidebar.is-near-footer { opacity: 0; visibility: hidden; pointer-events: none; }

/* Footer layout follows the same reading order on desktop and mobile. */
.site-footer { padding: clamp(42px, 6vw, 72px) 0 0; }
.footer-layout { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(150px, .8fr) minmax(220px, 1.2fr) auto; gap: clamp(32px, 5vw, 80px); align-items: start; }
.footer-col h2 { margin-block: 0 20px; font-size: 1.1rem; }
.footer-about-title { color: var(--footer-heading); font-size: 1.15rem; font-weight: 750; margin: 0 0 18px; }
.footer-description { max-width: 44rem; margin: 0; line-height: 2; }
.footer-links { display: grid; gap: 12px; }
.footer-links li { margin: 0; }
.footer-contact-info { display: grid; gap: 13px; }
.footer-contact-row { display: flex; align-items: flex-start; gap: 10px; color: var(--footer-text); text-decoration: none; line-height: 1.8; }
.footer-contact-row:hover { color: var(--primary-gold); }
.footer-contact-row i { margin-top: .25em; color: var(--primary-gold); }
.footer-social-column .social-cluster { margin-bottom: 28px; }
.footer-trust-badges { align-items: center; flex-wrap: wrap; }
.badge-box { min-height: 58px; background: #fff; }
.trust-badge-embed { width: 100px; height: 76px; display: grid; place-items: center; }
.trust-badge-img, .trust-badge-embed img { max-width: 74px; height: 64px; object-fit: contain; }
.footer-bottom { margin-top: clamp(34px, 5vw, 60px); }

/* Mobile header keeps the brand visible between the menu and search controls. */
.mobile-search-trigger { display: none; }
.mobile-drawer-brand { display: inline-flex; align-items: center; gap: 10px; color: #443921; text-decoration: none; min-width: 0; }
.mobile-drawer-brand img { inline-size: 48px; block-size: 48px; object-fit: contain; }

@media (max-width: 991.98px) {
    .site-header { padding: 10px 0 !important; }
    .header-grid { grid-template-columns: 48px minmax(0, 1fr) 48px; gap: 10px; }
    .mobile-menu-toggle { grid-column: 1; }
    .header-logo { grid-column: 2; grid-row: 1; display: inline-flex; justify-self: center; max-width: 100%; min-width: 0; gap: 7px; }
    .header-logo-img { flex: 0 1 auto; max-height: 46px; max-width: 72px; object-fit: contain; }
    .header-logo .logo-text { display: block; min-width: 0; }
    .header-logo .logo-text h4 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .9rem; letter-spacing: 0; }
    .header-logo .logo-text span { display: none; }
    .header-actions { display: none; }
    .mobile-menu-toggle { display: inline-flex; align-items: center; justify-content: center; justify-self: auto; inline-size: 48px; block-size: 48px; padding: 0; border-radius: 13px; background: #f6f0e5; }
    .mobile-search-trigger { grid-column: 3; grid-row: 1; display: inline-flex; align-items: center; justify-content: center; justify-self: end; inline-size: 48px; block-size: 48px; padding: 0; border: 1px solid #e4dac9; border-radius: 13px; background: #fff; color: #4f412b; }
    .mobile-search-trigger svg { inline-size: 22px; block-size: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
    .footer-layout { grid-template-columns: 1fr 1fr; }
    .footer-about { grid-column: 1 / -1; }
}

@media (max-width: 575.98px) {
    .site-footer { padding-top: 42px; }
    .footer-layout { grid-template-columns: 1fr; gap: 36px; }
    .footer-about { grid-column: auto; }
    .footer-col, .footer-contact-info, .footer-links, .footer-description, .footer-col h5 { text-align: right; }
    .footer-description { font-size: .86rem; }
    .footer-contact-row { font-size: .86rem; }
    .footer-social-column .social-cluster { justify-content: flex-start; }
    .footer-bottom-content { align-items: flex-start; text-align: right; }
    .footer-copyright { width: 100%; line-height: 1.8; }
    .social-network-link { inline-size: 40px; block-size: 40px; flex-basis: 40px; }
}

@media (max-width: 768px) {
    .floating-social-sidebar .social-cluster { display: none; }
    .floating-social-sidebar.is-open .social-cluster { display: flex; }
}
