/* Shared additions for the public website. */
body { overflow-wrap:break-word; }
.side nav a { min-height:2.75rem; }
.download-intro { padding:2.5rem 0; }
.download-intro h2 { margin:.5rem 0; font-size:1.75rem; line-height:1.4; }
.release-label { color:#315d51; font-size:.875rem; font-weight:700; letter-spacing:.04em; }
.release-label span { display:inline-block; margin-left:.6rem; border:1px solid #8a9d93; padding:.05rem .5rem; color:#384c43; }
.download-panel { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; max-width:70rem; margin:1.6rem 0 1rem; }
.download-panel-single { grid-template-columns:1fr; }
.download-card { display:flex; flex-direction:column; min-width:0; background:#fff; border:1px solid var(--line); border-top:4px solid var(--orange); padding:1.5rem; }
.download-card h3 { margin:.1rem 0 .5rem; font-size:1.5rem; line-height:1.4; }
.download-card p { margin:.5rem 0 1rem; }
.download-button { display:flex; justify-content:space-between; align-items:center; gap:.5rem; margin-top:auto; min-height:3rem; background:#536d65; border:1px solid #536d65; color:#fff; padding:.8rem 1rem; text-decoration:none; font-weight:700; line-height:1.6; }
.download-button:hover { background:#455d56; }
.download-card .file-name { overflow-wrap:anywhere; font-size:.8rem; color:var(--muted); margin:.7rem 0 .4rem; }
.download-links { display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; }
.facts { display:grid; grid-template-columns:9rem minmax(0,1fr); margin:1.2rem 0; border-top:1px solid var(--line); }
.facts dt,.facts dd { padding:.8rem; border-bottom:1px solid var(--line); margin:0; }
.facts dt { font-weight:700; background:#e9edeb; }
code { font-size:.9em; overflow-wrap:anywhere; }
pre { max-width:100%; overflow:auto; border:1px solid var(--line); background:#e9edeb; padding:1rem; font-size:.9rem; }
pre code { overflow-wrap:normal; }
.inline-cta { display:inline-block; background:#536d65; color:#fff; font-weight:700; text-decoration:none; padding:.75rem 1.5rem; border-bottom:3px solid var(--orange); }
.inline-cta:hover { background:#455d56; }
.important-info { border-left:4px solid var(--orange); background:#eeeee6; padding:1.25rem 1.5rem; }
.important-info h2 { font-size:1.3rem; }
.important-info p { max-width:58rem; margin:.65rem 0 0; }
.resource-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr)); gap:1rem; margin:1.25rem 0; }
.resource-link { display:flex; flex-direction:column; gap:.5rem; min-width:0; border:1px solid var(--line); border-top:3px solid var(--sage); background:#fff; color:var(--ink); text-decoration:none; padding:1.25rem 1.5rem; }
.resource-link .resource-label { color:var(--muted); font-size:.85rem; }
.resource-link strong { color:#315d51; font-size:1.2rem; line-height:1.5; }
.resource-link:hover { background:#e9eeea; }
.resource-link:hover strong { text-decoration:underline; text-underline-offset:.2em; }
.resource-shortcuts,.section-links ul { display:flex; flex-wrap:wrap; column-gap:1.5rem; row-gap:.35rem; list-style:none; padding:0; margin:1rem 0 0; }
.resource-shortcuts a,.section-links a { display:inline-block; padding:.45rem 0; }
.section-links { padding:1.25rem 0 1.75rem; }
.section-links ul { margin:0; }
.support-link { background:#f2b04c; border-bottom-color:#b56814; color:#252c2b; }
.support-link:hover { background:#e9a339; }
.family-links { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr)); gap:0 2rem; list-style:none; padding:0; margin:1.5rem 0 0; }
.family-links li { border-top:1px solid var(--line); min-width:0; }
.family-links a { display:flex; flex-direction:column; gap:.35rem; height:100%; padding:1.1rem .25rem; text-decoration:none; }
.family-links strong { overflow-wrap:anywhere; }
.family-links span { color:var(--muted); }
.family-links a:hover strong { text-decoration:underline; text-underline-offset:.2em; }
.site-footer { background:#252b2c; color:#e9eeea; padding:3.2rem 1.5rem 1.25rem; font-size:1rem; }
.site-footer-inner { display:grid; grid-template-columns:minmax(11rem,1.4fr) repeat(3,minmax(9rem,1fr)); gap:2rem; width:min(100%,1040px); margin:auto; }
.site-footer a { color:inherit; }
.footer-brand { display:inline-flex; align-items:center; gap:.8rem; text-decoration:none; font-size:1.3rem; font-weight:700; line-height:1.25; }
.footer-brand img { display:block; width:52px; height:52px; }
.footer-brand small { display:block; margin-top:.2rem; color:#aebeb5; font-size:.75rem; font-weight:500; }
.footer-social { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.3rem; }
.footer-social a { display:inline-flex; align-items:center; justify-content:center; min-height:2.5rem; padding:.35rem .7rem; border:1px solid #718078; border-radius:3px; font-size:.85rem; font-weight:700; text-decoration:none; }
.footer-social a:hover { background:#41514c; }
.footer-menu h2 { margin:.1rem 0 .65rem; color:#fff; font-size:1.1rem; line-height:1.4; }
.footer-menu ul { list-style:none; padding:0; margin:0; }
.footer-menu li + li { margin-top:.4rem; }
.footer-menu a { display:inline-block; padding:.15rem 0; text-decoration:none; }
.footer-menu a:hover { text-decoration:underline; }
.footer-copyright { width:min(100%,1040px); max-width:none; margin:2.7rem auto 0; padding-top:1rem; border-top:1px solid #4b5651; color:#b9c7bf; font-size:.78rem; text-align:center; }
.skip { position:absolute; left:1rem; top:-10rem; background:#fff; padding:.5rem; z-index:10; }
.skip:focus { top:1rem; }
@media(max-width:990px) { .site-footer-inner { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:440px) { .site-footer { padding:2.5rem 1rem 1rem; } .site-footer-inner { grid-template-columns:1fr; gap:1.6rem; } .footer-copyright { margin-top:2rem; } }
@media(max-width:680px) { .download-panel { grid-template-columns:1fr; } .download-card { padding:1.25rem; } .facts { grid-template-columns:1fr; } .facts dt { padding-bottom:.4rem; border-bottom:0; } .facts dd { padding-top:.4rem; } }
@media(max-width:600px) { body { font-size:1rem; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Both links remain available without JavaScript. */
.language-switch { display:flex; align-items:center; gap:.65rem; width:fit-content; margin:.75rem 0 0 .6rem; }
.language-switch a { display:inline-flex; align-items:center; min-height:28px; padding:.1rem .25rem; color:#aebbb3; text-decoration:none; font-size:.75rem; line-height:1.4; }
.language-switch a:hover { color:#e4eae6; text-decoration:underline; }
.language-switch a[aria-current="true"] { color:#cad4cd; }
.language-switch a:focus-visible { outline:1px solid currentColor; outline-offset:2px; }
html[lang="en"] .side nav a { line-height:1.45; }
@media(min-width:901px) { .side-inner { max-height:100dvh; overflow-y:auto; } }
@media(max-width:900px) { .language-switch { margin-top:.4rem; } }

/* Platform choices stay inside the feature they extend. */
.addon-platform, .platform-detail { border-top: 1px solid var(--line, #d8ddda); margin-top: 1.1rem; padding-top: .9rem; }
.addon-platform h4 { font-size: 1rem; margin: 0 0 .6rem; }
.addon-platform .download-button { width: 100%; }
