/* Information and help pages: shared theme tokens, banner, accordions and shell. */
.info-hero { margin-bottom: 0; }
.info-hero .banner__copy { padding-block: var(--space-7); }
.info-hero .banner__text { max-width: var(--measure); font-size: var(--text-base); }
.info-layout { display: grid; grid-template-columns: var(--filter-column) minmax(0, 1fr); gap: var(--space-7); padding-top: var(--space-7); }
.info-sidebar { min-width: 0; }
.info-nav { position: sticky; top: var(--space-5); }
/* A stuck menu never runs below the window or under the cookie notice (BC-056 notice test): it scrolls inside itself
   when it does not fit. No visible change when it fits. */
.info-nav { max-height: calc(100vh - var(--space-5) - 2 * var(--space-4) - var(--bc-cookie-height, 0px)); overflow-y: auto; overscroll-behavior: contain; }
.info-nav__label { margin: 0 0 var(--space-3); font-size: var(--text-xs); font-weight: var(--weight-bold); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--color-muted); }
.info-nav ul { list-style: none; margin: 0; padding: 0; }
.info-nav a { display: flex; align-items: center; justify-content: space-between; min-height: var(--control-height); padding: var(--space-2) var(--space-3); border-radius: var(--radius); font-size: var(--text-sm); }
.info-nav a[aria-current] { background: var(--color-red-tint); color: var(--color-red-dark); font-weight: var(--weight-bold); }
.info-nav a[aria-current]::after { content: '→'; }
.info-nav__company { border-top: var(--line); padding-top: var(--space-5); margin-top: var(--space-5); }
.info-nav__note { margin-top: var(--space-5); background: var(--color-cream); padding: var(--space-4); border-radius: var(--radius); font-size: var(--text-xs); }
.info-nav__note strong { display: block; font-size: var(--text-sm); margin-bottom: var(--space-2); }
.info-nav__note a { padding: 0; min-height: auto; margin-top: var(--space-2); color: var(--color-red); font-weight: var(--weight-semibold); }
.info-content { min-width: 0; }
.info-content h2 { font-size: var(--text-lg); }
.info-content__intro { margin-bottom: var(--space-6); color: var(--color-muted); }
.info-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-5); }
.info-card { position: relative; padding: var(--space-5); border: var(--line); border-radius: var(--radius); display: flex; flex-direction: column; align-items: flex-start; transition: border-color .15s, background .15s; }
a.info-card:hover { border-color: var(--color-red); background: var(--color-cream); color: inherit; }
.info-card .icon { width: var(--space-6); height: var(--space-6); color: var(--color-red); margin-bottom: var(--space-5); }
.info-card h3 { font-size: var(--text-md); margin-bottom: var(--space-2); }
.info-card p { font-size: var(--text-sm); color: var(--color-muted); margin-bottom: var(--space-5); }
.info-card__link { margin-top: auto; color: var(--color-red); font-size: var(--text-sm); font-weight: var(--weight-semibold); }
.info-quick { display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-5); padding: var(--space-4) 0 var(--space-6); font-size: var(--text-sm); }
.info-quick a { text-decoration: underline; text-underline-offset: var(--space-1); }
.info-search { max-width: var(--measure); margin-bottom: var(--space-5); }
.info-search label { display: block; margin-bottom: var(--space-2); }
.info-search__field { position: relative; }
.info-search__field input { padding-left: var(--space-7); }
.info-search__field .icon { position: absolute; top: var(--space-3); left: var(--space-4); width: var(--icon-md); height: var(--icon-md); color: var(--color-muted); pointer-events: none; }
.info-search__hint { margin-top: var(--space-2); font-size: var(--text-xs); color: var(--color-muted); }
.info-result-count { min-height: var(--space-5); margin-bottom: var(--space-4); font-size: var(--text-sm); color: var(--color-muted); }
.info-empty { padding: var(--space-5); background: var(--color-cream); border-radius: var(--radius); }
.info-faq-group { margin-block: var(--space-6); scroll-margin-top: var(--space-5); }
.info-faq-group .accordion__summary { font-size: var(--text-sm); }
.info-faq-group .accordion__body { font-size: var(--text-guide); max-width: var(--measure); }
.info-faq-group a, .info-section a:not(.button), .info-notice a { color: var(--color-red); text-decoration: underline; text-underline-offset: var(--space-1); }
.info-jumps { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-block: var(--space-5) var(--space-6); }
.info-jumps a { border: var(--line); border-radius: var(--radius-pill); padding: var(--space-2) var(--space-4); font-size: var(--text-xs); }
.info-jumps a:hover { border-color: var(--color-red); }
.info-section { max-width: var(--measure); margin-bottom: var(--space-6); padding-top: var(--space-6); border-top: var(--line); scroll-margin-top: var(--space-5); }
.info-section:first-child { border-top: 0; padding-top: 0; }
.info-section p, .info-section li { font-size: var(--text-guide); }
.info-section li { padding-bottom: var(--space-2); }
.info-section ul, .info-section ol { padding-left: var(--space-5); }
.info-section p:last-child { margin-bottom: 0; }
.info-split { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,var(--filter-column)),1fr)); gap: var(--space-5); }
.info-split > div { padding: var(--space-5); background: var(--color-cream); border-radius: var(--radius); }
.info-notice { border-left: var(--rule-weight) solid var(--color-red); background: var(--color-cream); padding: var(--space-4) var(--space-5); margin-bottom: var(--space-6); font-size: var(--text-sm); }
.info-contact { margin-top: var(--space-7); padding: var(--space-6); background: var(--color-cream); border-radius: var(--radius); display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); }
.info-contact p { font-size: var(--text-sm); margin: 0; color: var(--color-muted); }
.info-contact h2 { margin-bottom: var(--space-2); }
.info-contact__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); flex-shrink: 0; }
.info-contact-grid { margin-bottom: var(--space-6); }
.info-contact-grid .info-card p { margin-bottom: var(--space-3); }
.info-hours { background: var(--color-cream); padding: var(--space-5); border-radius: var(--radius); margin-block: var(--space-6); }
.info-hours p { margin: var(--space-2) 0 0; font-size: var(--text-sm); }
.info-form { max-width: var(--measure); padding-block: var(--space-6); border-top: var(--line); }
.info-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); }
.info-form label { display: block; margin-bottom: var(--space-4); }
.info-form input, .info-form select, .info-form textarea { display: block; margin-top: var(--space-2); }
.info-form textarea { min-height: calc(var(--space-9) * 2); }
.info-form__foot { font-size: var(--text-xs); color: var(--color-muted); max-width: var(--measure); margin-block: var(--space-3); }
.info-about { background: var(--color-cream); padding: var(--space-6); margin-bottom: var(--space-6); border-radius: var(--radius); }
.info-about__facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--space-5); padding: 0; margin: 0; list-style: none; }
.info-about strong { display: block; color: var(--color-red); font-size: var(--text-xl); line-height: var(--leading-tight); }
.info-about span { display: block; font-size: var(--text-xs); margin-top: var(--space-2); }
.info-terms .info-section { font-size: var(--text-sm); }
.info-top { display: block; margin-top: var(--space-6); font-size: var(--text-xs); color: var(--color-muted); }
@media (max-width:1100px) {
 .info-layout { gap: var(--space-6); }
 .info-contact { align-items: flex-start; flex-direction: column; }
}
@media (max-width:760px) {
 .info-layout { display: block; padding-top: var(--space-5); }
 .info-hero .banner__copy { padding-block: var(--space-6); }
 .info-hero .banner__title { font-size: var(--banner-display-phone); }
 .info-sidebar { margin-bottom: var(--space-6); }
 .info-nav { position: static; max-height: none; overflow: visible; }
 .info-nav__label { margin-bottom: var(--space-2); }
 .info-nav ul { display: flex; flex-wrap: wrap; gap: var(--space-2); }
 .info-nav a { min-height: var(--control-height); border: var(--line); padding-inline: var(--space-3); font-size: var(--text-xs); }
 .info-nav a[aria-current]::after { display: none; }
 .info-nav__company { padding-top: var(--space-3); margin-top: var(--space-3); }
 .info-nav__note { display: none; }
 .info-grid { gap: var(--space-4); }
 .info-card { padding: var(--space-4); }
 .info-card h3 { font-size: var(--text-base); }
 .info-card .icon { margin-bottom: var(--space-4); }
 .info-contact { padding: var(--space-5); }
 .info-contact__actions { flex-shrink: 1; }
 .info-about { padding: var(--space-5); }
 .info-about strong { font-size: var(--text-lg); }
 .info-form__row { grid-template-columns: 1fr; gap: 0; }
}
@media (max-width:480px) { .info-grid { grid-template-columns: 1fr; } .info-about__facts { gap: var(--space-3); } }
@media print { .info-sidebar,.info-search,.info-form,.info-contact,.site-header,.contact-bar,.newsletter,.site-footer { display:none; } .info-layout { display:block; } details { display:block; } }
.info-result-count:empty { display: none; }
@media (max-width:760px) {
 .info-nav ul { flex-wrap: nowrap; overflow-x: auto; padding: var(--space-1); margin-inline: calc(-1 * var(--space-1)); }
 .info-nav li { flex-shrink: 0; }
 .info-nav a { white-space: nowrap; }
 .info-nav__company .info-nav__label { display: none; }
}
/* A compact native disclosure keeps the page content close on phones. */
.info-mobile-pages { display: none; }
@media (max-width:760px) {
 .info-sidebar .info-nav { display: none; }
 .info-mobile-pages { display: block; border: var(--line); border-radius: var(--radius); }
 .info-mobile-pages summary { display: flex; justify-content: space-between; padding: var(--space-3) var(--space-4); min-height: var(--control-height); cursor: pointer; font-size: var(--text-sm); font-weight: var(--weight-semibold); list-style: none; }
 .info-mobile-pages summary::-webkit-details-marker { display: none; }
 .info-mobile-pages[open] summary { border-bottom: var(--line); }
 .info-mobile-pages ul { list-style: none; margin: 0; padding: var(--space-2); }
 .info-mobile-pages a { display: block; min-height: var(--control-height); padding: var(--space-3); font-size: var(--text-sm); }
 .info-mobile-pages a[aria-current] { background: var(--color-red-tint); color: var(--color-red-dark); border-radius: var(--radius); font-weight: var(--weight-semibold); }
}
