/* Technical fixes: append-only, minimal changes to existing components. */

html { scroll-padding-top: 5rem; }
.site-skip-link { position:fixed;top:-110px;left:10px;z-index:3000;padding:10px 16px;background:var(--color-primary);color:#fff;border-radius:0 0 8px 8px; }
.site-skip-link:focus { top:0; }
.site-main { width:100%; min-width:0; }
header.navigation-wrapper { display:contents; }
.navigation-section { isolation:isolate; }
.navigation-bar { position:relative; }
.navigation-hamburger, .navigation-close { font:inherit; border:0; background:transparent; padding:0; line-height:1; border-radius:6px; }
.navigation-hamburger:focus-visible,.navigation-close:focus-visible { outline:2px solid var(--color-primary);outline-offset:2px; }
.navigation-section.is-open .navigation-mobile-overlay { display:flex; }
.navigation-overlay-links { width:100%; min-width:0; }
.navigation-overlay-links a { max-width:100%; }
body.site-menu-open { overflow:hidden; }
.navigation-bar > .navigation-navlink12 { min-width:0; }
.navigation-mobile-overlay { max-width:100vw; overscroll-behavior:contain; }
.rivonessa-footer-legal-links { flex-wrap:wrap; }
.rivonessa-footer-legal-links a:hover { text-decoration:underline; }
.rivonessa-footer-legal-item, .rivonessa-footer-contact-item { overflow-wrap:anywhere; }
.rivonessa-footer-legal-links .rivonessa-footer-legal-link { cursor:pointer; }
.rivonessa-footer-legal-links .rivonessa-footer-legal-link:focus-visible { outline:2px solid var(--color-primary);outline-offset:4px; }
.site-newsletter-link { display:inline-flex;justify-content:center;align-items:center;text-decoration:none;min-height:44px;max-width:100%; }
.site-newsletter-link:hover { filter:brightness(1.12); }
.showcase-rail-track-wrap, .showcase-ribbon-track-wrap, .craft-ribbon-track-outer, .drinks-rail-track { touch-action:pan-y pinch-zoom; cursor:grab; -webkit-overflow-scrolling:touch; }
.showcase-rail-track-wrap.is-dragging, .showcase-ribbon-track-wrap.is-dragging, .craft-ribbon-track-outer.is-dragging, .drinks-rail-track.is-dragging { cursor:grabbing; scroll-behavior:auto;scroll-snap-type:none;user-select:none; }
.showcase-rail-track-wrap.is-dragging *, .showcase-ribbon-track-wrap.is-dragging *, .craft-ribbon-track-outer.is-dragging *, .drinks-rail-track.is-dragging * { pointer-events:none; }
.drinks-rail-arrow { cursor:pointer; }
.site-legal-main { width:min(100%, 860px); min-width:0; margin-inline:auto; padding:clamp(30px,5vw,64px) clamp(18px,5vw,32px) clamp(40px,8vw,96px); color:var(--color-on-surface); }
.site-legal-main h1 { font-family:var(--font-family-heading); font-weight:var(--font-weight-heading); line-height:1.15; font-size:clamp(2rem,4vw,3.1rem); margin:14px 0 22px; overflow-wrap:break-word; }
.site-legal-main h2 { font-family:var(--font-family-heading); line-height:1.3; font-size:clamp(1.22rem,2vw,1.65rem);font-weight:600; margin:0 0 12px; overflow-wrap:break-word; }
.site-legal-main p { margin:0; color:var(--color-on-surface-secondary);line-height:1.85; overflow-wrap:break-word; }
.site-legal-main .site-legal-intro { font-size:1.1rem; color:var(--color-on-surface); }
.site-legal-updated { font-size:.88rem;margin-top:14px!important; }
.site-legal-section { margin-top:35px; }
.site-legal-main a:not(.site-back-link) { color:var(--color-primary);text-decoration:underline; text-underline-offset:3px; }
.site-back-link { display:inline-flex;padding:6px 0;color:var(--color-primary);font-weight:600;text-decoration:none; }
.site-back-link:hover { text-decoration:underline; }
.site-legal-main [data-company],.site-legal-main [data-address] { color:var(--color-on-surface);font-weight:600; }
:focus-visible { outline:2px solid var(--color-primary);outline-offset:3px; }
img { max-width:100%; }
@media (max-width:767px) {
  .navigation-bar { display:grid; grid-template-columns:44px minmax(0, 1fr) 44px; gap:8px; align-items:center; padding:var(--spacing-sm) var(--spacing-lg); min-height:64px; }
  .navigation-bar > .navigation-navlink12 { display:flex!important;align-items:center;justify-content:center;grid-column:2;grid-row:1;min-width:0; }
  .navigation-bar > .navigation-navlink12 .navigation-brand { grid-column:auto; min-width:0; }
  .navigation-hamburger { display:flex!important;grid-column:3!important;grid-row:1!important;justify-self:end;align-self:center; }
  .navigation-mobile-overlay { min-height:100dvh; height:100dvh; overflow-y:auto; }
  .navigation-overlay-header { min-height:64px; grid-template-columns:44px minmax(0, 1fr) 44px; gap:8px; }
  .navigation-overlay-header .navigation-brand { min-width:0; }
  .navigation-close { justify-self:end; }
  .navigation-overlay-links { padding:var(--spacing-xl) var(--spacing-lg) var(--spacing-3xl);gap:var(--spacing-lg); }
  .navigation-mobile-link { display:block;max-width:100%;overflow-wrap:break-word; }
  .site-main, .site-main > section { min-width:0;max-width:100%; }
  .site-main p,.site-main h1,.site-main h2,.site-main h3 { overflow-wrap:break-word; }
  .rivonessa-footer-inner { min-width:0; }
  .rivonessa-footer-grid > * { min-width:0; }
  .drinks-rail-track { max-width:100%; }
  .showcase-rail-track-wrap { max-width:100%; }
}
@media (max-width:390px) {
  .navigation-bar { padding-inline:12px;gap:4px; }
  .navigation-bar .company-logo-text,.navigation-overlay-header .company-logo-text { font-size:clamp(0.96rem,4.6vw,1.125rem);letter-spacing:-.025em; }
  .navigation-bar .company-logo-glyph,.navigation-overlay-header .company-logo-glyph { width:24px;height:24px; }
  .navigation-overlay-header { padding:10px 12px; gap:4px; }
  .site-legal-main { padding-inline:18px; }
}

/* Keep the original homepage teaser contained on very narrow phones. */
@media(max-width: 390px) {
  .preview-bento-title { font-size:clamp(1.45rem, 7.1vw, 2.2rem); overflow-wrap:anywhere; }
  .preview-bento .btn, .preview-bento a { max-width:100%; box-sizing:border-box; }
  .preview-bento .btn { padding-inline:0.9rem; white-space:normal; font-size:clamp(0.75rem, 3.5vw, 1rem); text-align:center; }
}
