/* Shared corrections: preserve the original appearance without overflowing the viewport. */
.faq-section, .faq-section * { box-sizing: border-box; }
.faq-section .container { max-width: 100%; min-width: 0; }
.faq-section .faq-heading { margin: 0; font-size: inherit; }
.faq-section .faq-question {
    display: block; width: 100%; max-width: 100%; min-width: 0;
    margin: 0; padding: 14px 54px 14px 14px; min-height: 48px;
    font: inherit; font-size: 18px; line-height: 1.5; font-weight: 600;
    text-align: left; white-space: normal; overflow-wrap: anywhere;
    color: #171717; background: #ddd;
}
.faq-section .faq-question:hover { background: #d3d3d3; color: #111; }
.faq-section .faq-question::before {
    top: 50%; right: 12px; transform: translateY(-50%);
    box-sizing: content-box; background: #595959;
}
.faq-section .faq-question[aria-expanded="true"]::before { content: "−"; }
.faq-section .faq-answer {
    display: block; width: 100%; max-width: 100%; height: auto;
    margin: 8px 0 0; padding: 16px; color: #333;
    line-height: 1.65; overflow-wrap: anywhere;
}
.faq-section .faq-answer[hidden] { display: none !important; }
.faq-question:focus-visible, #menu-toggle:focus-visible,
#mobile a:focus-visible, #mobile button:focus-visible,
#menu a:focus-visible, .ax-gravel a:focus-visible,
.ax-gravel select:focus-visible {
    outline: 3px solid #1264a3; outline-offset: 3px;
}
#menu .dropdown:focus-within .dropdown-content { display: block; }
@media (max-width: 768px) {
    .faq-section .container { width: 100%; margin: 0 auto; padding: 0 20px; }
    .faq-section h2 { overflow-wrap: anywhere; }
    #mobile, #mobile ul, #mobile li, #mobile a, #mobile button { box-sizing: border-box; }
    #mobile { width: 100%; max-width: 100%; max-height: 80vh; max-height: calc(100dvh - 70px); overflow-y: auto; }
    #mobile ul { width: 100%; margin: 0; padding: 0; }
    #mobile li { width: 100%; }
    #mobile a { overflow-wrap: anywhere; }
    #mobile .mobile-submenu-toggle {
        display: block; width: 100%; min-height: 44px; margin: 0; padding: 0;
        color: #111; background: transparent; border: 0; border-radius: 0;
        font: inherit; font-size: x-large; line-height: 1.5; text-align: left;
    }
    #mobile a { min-height: 44px; line-height: 1.5; }
    #menu-toggle { width: 48px; min-height: 48px; margin: 0; padding: 0; }
    .ax-gravel, .ax-config-controls, .ax-config-layout > *, .ax-gravel-story > * { min-width: 0; }
    .ax-gravel .ax-config-controls select { box-sizing: border-box; max-width: 100%; font-size: 16px; }
    .ax-gravel .ax-config-controls .ax-gravel-button { box-sizing: border-box; overflow-wrap: anywhere; }
    .ax-gravel .ax-geometry-scroll { max-width: 100%; }
}
@media (min-width: 769px) { #mobile { display: none !important; } }
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .faq-section *, #mobile * { animation: none !important; transition: none !important; }
}

/* Native desktop disclosures use the same typography as the language menu. */
#menu .ax-nav-menu { position:relative; display:inline-block; font:inherit; }
#menu .ax-nav-menu > summary { display:block; list-style:none; cursor:pointer; }
#menu .ax-nav-menu > summary::-webkit-details-marker { display:none; }
#menu .ax-nav-menu:not([open]) > .dropdown-content { display:none !important; }
#menu .ax-nav-menu[open] > .dropdown-content { display:block; }
#menu summary:focus-visible, .ax-cookie-settings:focus-visible,
.cookie-consent-container button:focus-visible, .cookie-consent-container input:focus-visible,
.cookie-consent-container a:focus-visible, #ax-home-video:focus-visible {
    outline:3px solid #1264a3; outline-offset:3px;
}
/* Same prominence for accept and reject, with wrapping on narrow screens. */
#cookieConsentContainer { box-sizing:border-box; padding:20px max(20px, calc((100vw - 1000px) / 2)); max-height:80vh; max-height:80dvh; overflow-y:auto; text-align:left; font:inherit; line-height:1.5; z-index:2000; }
#cookieConsentContainer[hidden], #cookiePreferences[hidden] { display:none !important; }
#cookieConsentContainer h2 { margin:0 0 8px; font-size:20px; color:#fff; }
#cookieConsentContainer p { display:block; margin:0 0 12px; color:#fff; font-size:15px; }
#cookieConsentContainer a { color:#fff; text-decoration:underline; }
.ax-cookie-actions { display:flex; flex-wrap:wrap; gap:10px; }
#cookieConsentContainer button { box-sizing:border-box; min-height:44px; margin:0; padding:10px 16px; border:1px solid #fff; border-radius:3px; color:#fff; background:#171717; font:inherit; font-size:15px; cursor:pointer; }
#cookieConsentContainer button:hover { color:#171717; background:#fff; }
#cookiePreferences { margin-top:16px; padding-top:16px; border-top:1px solid #777; }
#cookiePreferences label { display:flex; align-items:center; gap:10px; min-height:44px; color:#fff; }
#cookiePreferences input { width:20px; height:20px; margin:0; }
.ax-footer .ax-cookie-settings { display:inline; margin:0; padding:0; border:0; background:transparent; color:inherit; font:inherit; text-align:left; text-decoration:underline; cursor:pointer; min-height:44px; }
.ax-cookie-noscript { padding:12px 20px; font-size:14px; }
.ax-home-video-container { height:auto; aspect-ratio:16/9; max-height:85svh; background:#111; }
#ax-home-video { display:block; width:100%; height:100%; object-fit:contain; }
@media(max-width:480px) { .ax-cookie-actions > button { flex:1 1 100%; } }

.ax-footer .ax-cookie-settings { color:#444; font-size:14px; line-height:1.5; }
