
/* Local compatibility and accessibility enhancements; original palette and layout retained. */
html { scroll-behavior: smooth; }
body { min-width: 0; }
.site-main { display: block; width: 100%; min-width: 0; }
.site-skip-link { position: fixed; left: 1rem; top: 0.65rem; z-index: 20000; padding: 0.75rem 1rem; background: var(--color-primary); color: var(--color-on-primary); transform: translateY(-170%); text-decoration: none; }
.site-skip-link:focus { transform: translateY(0); }
.navigation-navlink-contact, .navigation-navlink-home, .navigation-navlink-contact-mobile, .footer-navlink-contact, .footer-navlink-privacy, .footer-navlink-cookies { display: contents; }
.navigation-destinations { min-width: 0; }
.navigation-dropdown-trigger { font: inherit; color: inherit; text-align: left; }
.navigation-dropdown-host:focus-within .navigation-dropdown-list,
.navigation-dropdown-host.is-open .navigation-dropdown-list { display: block; }
.navigation-link:focus-visible, .navigation-dropdown-trigger:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 5px; }
.navigation-hamburger, .navigation-close { border: 0; padding: 0; background: none; }
.navigation-mobile-overlay { height: 100dvh; min-height: 100vh; max-height: 100dvh; overscroll-behavior: contain; width: 100vw; max-width: 100vw; }
.navigation-overlay-content { min-width: 0; }
.navigation-overlay-links a, .navigation-overlay-links .navigation-overlay-link { opacity: 1; }
.navigation-overlay-cta-box .navigation-cta { display: flex; }
body.site-menu-open { overflow: hidden; }
.navigation-section { isolation: isolate; }
.site-contact-value, .legal-nowrap { overflow-wrap: anywhere; }
.alboriessa-footer-contact-link, .alboriessa-footer-address { overflow-wrap: anywhere; }
.alboriessa-footer-contact-item span:not([data-company]):not([data-address]) { cursor: text; }
.site-legal-eyebrow { color: var(--color-primary); font-size: var(--font-size-xs); font-weight: 600; letter-spacing: .12em; }
.site-legal-lead { font-size: 1.125rem !important; line-height: 1.65 !important; }
.site-legal-content { gap: 1.1rem; width: 100%; }
.site-legal-content p, .site-legal-content li { color: var(--color-on-surface-secondary); font-size: 1rem; line-height: 1.75; margin: 0 0 .3rem; }
.site-legal-content h2 { color: var(--color-on-surface); font-size: clamp(1.4rem, 2.2vw, 1.85rem); font-family: var(--font-family-heading); line-height: 1.25; margin: 1.5rem 0 0; }
.site-legal-content h1 { color: var(--color-on-surface); line-height: 1.15; font-family: var(--font-family-heading); font-size: clamp(2.2rem, 5vw, 3.7rem); margin: 0; }
.site-legal-content a { color: var(--color-primary); text-underline-offset: .18em; text-decoration: underline; }
.site-legal-content a:hover { color: var(--color-on-surface); }
.site-back-home { display: inline-flex; padding: .85rem 1.2rem; border: 1px solid var(--color-border); font-weight: 600; text-decoration: none !important; }
.site-contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--spacing-lg); }
.site-contact-card { border: 1px solid var(--color-border); padding: var(--spacing-lg); min-width: 0; background: var(--color-surface-elevated); }
.site-contact-card h2 { margin: 0 0 var(--spacing-sm); }
.site-contact-value { color: var(--color-on-surface) !important; font-weight: 700; }
.site-contact-section { display: flex; flex-direction: column; gap: var(--spacing-sm); min-width: 0; }
.site-contact-section h2 { margin-bottom: var(--spacing-xs); }
[data-address] { overflow-wrap: anywhere; }
:where(img, picture, video, canvas) { max-width: 100%; min-width: 0; }
:where(h1, h2, h3, h4, h5, h6, p) { overflow-wrap: break-word; }
:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 3px; }
@media (max-width: 991px) { .navigation-bar { gap: var(--spacing-sm); } .navigation-destinations { gap: var(--spacing-lg); } }
@media (max-width: 767px) {
 .navigation-section.is-open .navigation-mobile-overlay:not([hidden]) { display: flex; }
 .navigation-overlay-cta-box .navigation-cta { display: flex; }
 .navigation-bar { min-width: 0; }
 .navigation-brand { min-width: 0; }
 .site-contact-grid { grid-template-columns: 1fr; }
 .navigation-overlay-links { gap: var(--spacing-lg); }
 .navigation-mobile-overlay { position: fixed; inset: 0; z-index: 5000; }
 .navigation-close { flex-shrink: 0; }
}
@media (max-width: 479px) {
 .navigation-bar, .navigation-overlay-header { padding-left: 1rem; padding-right: 1rem; }
 .navigation-overlay-content { padding-left: 1rem; padding-right: 1rem; }
 .navigation-overlay-link { font-size: clamp(1.35rem, 6vw, 2rem); }
 .terms-conditions-site-terms-content-elm { padding: 2.5rem 1rem; }
 .site-legal-content { gap: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior: auto; }
 .navigation-cta, .navigation-link { transition: none; }
}
/* Dropdown is controlled by its button, not a persistent hover or focus state. */
.navigation-dropdown-host:hover .navigation-dropdown-list,
.navigation-dropdown-host:focus-within .navigation-dropdown-list { display: none; }
.navigation-dropdown-host.is-open .navigation-dropdown-list { display: block; }
