.ao-hub { margin-top: 1.5em; }
.ao-hub h2 { margin-top: 1.4em; }
.ao-hub-updated { font-size: .9em; opacity: .75; }
.ao-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 14px; }
.ao-card { border: 1px solid rgba(0,0,0,.12); border-radius: 10px; padding: 10px; text-align: center; background: rgba(255,255,255,.6); }
.ao-card img { width: 100%; height: auto; aspect-ratio: 3/4; object-fit: cover; border-radius: 6px; }
.ao-card h3 { font-size: 1em; margin: 8px 0 4px; }
.ao-pub { font-size: .85em; opacity: .7; margin: 0 0 6px; }
.ao-btn { display: inline-block; padding: 8px 14px; border-radius: 8px; background: #1d4ed8; color: #fff !important; text-decoration: none !important; font-weight: 600; font-size: .92em; }
.ao-btn:hover { background: #1e40af; }
.ao-btn-big { margin: 4px 0 4px 6px; padding: 12px 18px; font-size: 1em; }
.ao-list { padding-right: 1.2em; }
.ao-archive, .ao-faq details { border: 1px solid rgba(0,0,0,.12); border-radius: 8px; padding: 8px 12px; margin: 8px 0; }
.ao-archive summary, .ao-faq summary { cursor: pointer; font-weight: 600; }
.ao-prevnext { display: flex; justify-content: space-between; gap: 10px; margin: 2em 0 1em; flex-wrap: wrap; }
.ao-crosslink { border-right: 4px solid #1d4ed8; background: rgba(29,78,216,.07); padding: 10px 14px; margin: 1em 0; border-radius: 6px; }
.ao-parasha-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.ao-parasha-list ul { list-style: none; padding: 0; margin: 0; }
.ao-parasha-list li { margin: 3px 0; }
.ao-current { text-align: center; margin: 1em 0; }
.ao-breadcrumbs { font-size: .9em; margin: .5em 0 1em; }
.ao-breadcrumbs a { text-decoration: none; }
.ao-bc-sep { opacity: .6; margin: 0 .3em; }
.ao-toc { border: 1px solid rgba(0,0,0,.12); border-radius: 10px; padding: 10px 16px; margin: 1.2em 0; background: rgba(0,0,0,.025); max-width: 640px; }
.ao-toc summary { cursor: pointer; font-weight: 700; }
.ao-toc ol { margin: .6em 0 0; padding-right: 1.3em; }
.ao-toc li { margin: 3px 0; }
.ao-toc .ao-toc-h3 { margin-right: 1.2em; list-style-type: circle; font-size: .95em; }
.ao-toc a { text-decoration: none; }
.ao-updated { font-size: .88em; opacity: .75; margin: 0 0 1em; }
.ao-faq { margin: 1.5em 0; }
.ao-faq details p { margin: .5em 0 .2em; }
h2[id], h3[id] { scroll-margin-top: 90px; }
