/* Shared information pages and native incart storefront hooks. */
.site-info { max-width: 900px; line-height: 1.7; overflow-wrap: anywhere; }
.blog__inner:has(.site-info) > .blog__title { display: none; }
.site-info h1 { margin: 0 0 24px; font-size: clamp(25px, 4vw, 36px); line-height: 1.2; }
.site-info h2 { margin: 28px 0 12px; font-size: 23px; line-height: 1.35; }
.site-info h3 { margin: 24px 0 10px; font-size: 19px; line-height: 1.4; }
.site-info p, .site-info ul, .site-info ol { margin: 0 0 16px; }
.site-info a { text-decoration: underline; text-underline-offset: 3px; }
.site-info a:focus-visible { outline: 2px solid #d1242b; outline-offset: 4px; }
.site-info__notice { padding: 18px; border-left: 4px solid #d1242b; background: #f6f6f6; border-radius: 4px; }
.site-info__links { display: flex; flex-wrap: wrap; gap: 6px 22px; }
.site-info__links a { display: inline-flex; align-items: center; min-height: 44px; line-height: 1.4; }
.site-info__map { width: 100%; height: 360px; min-width: 0; border-radius: 10px; margin: 20px 0; z-index: 0; }
@media (max-width: 767px) {
  .site-info { width: 100%; min-width: 0; }
  .site-info h2 { font-size: 21px; }
  .site-info__map { height: 300px; }
}

/* Closed desktop flyouts must not enlarge short information pages. */
@media (min-width: 1025px) {
  /* Retain the original five-row footer column height after removing duplicate links. */
  .page-footer .footer__sections-item:nth-child(2) .footer__sections-content { min-height: 160px; }
  body.blog-page .main-menu__item:not(:hover):not(:focus-within) > .main-menu__submenu:not(.hover) { display: none; }
}
