/* Shared layout. Legacy content typography is loaded before the theme. */
.era-container { padding-inline: var(--era-gutter); }
.era-main > .era-container { padding-inline: var(--era-gutter); }
.era-masthead { padding: 1rem 0; background: var(--era-black); }
.era-masthead .era-brand { display: flex; gap: .5rem; color: white; text-align: center; }
.era-nav { background: var(--era-white); border-top: 2px solid var(--era-green); padding: .75rem 0; margin-bottom: 1.5rem; position: relative; }
.era-nav .era-nav-list { margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: .25rem; list-style: none; position: relative; z-index: 1; }
.era-nav li { margin: 0; position: relative; }
.era-nav a { color: var(--era-black); display: block; font: 500 .8rem/1.5 'Libre Franklin', Arial, sans-serif; padding: .5rem; text-align: center; }
.era-nav a:hover { color: var(--era-green); }
.era-nav .era-submenu-label.era-submenu-toggle, .era-nav .era-submenu-label { position: static; border: 0; background: transparent; color: var(--era-black); padding: .5rem; font: 500 .8rem/1.5 'Libre Franklin', Arial, sans-serif; cursor: pointer; }
.era-nav .era-current-section > .era-submenu-label { color: #006d45; font-weight: 700; text-decoration: underline; }
.era-nav .era-monthly-meetings > .sub-menu { max-height: min(65vh, 32rem); overflow-y: auto; }
.era-nav .current-menu-item > a, .era-nav .current-menu-ancestor > a, .era-nav .era-current-section > a, .era-content nav a[aria-current] { color: #006d45; font-weight: 700; text-decoration: underline; text-underline-offset: .3em; }
.era-nav .sub-menu { list-style: none; padding: .5rem; margin: 0; background: white; border: 1px solid var(--era-line); min-width: 12rem; }
.era-nav .sub-menu a { text-align: left; }
.era-nav-ready .sub-menu { display: none; position: absolute; z-index: 20; left: 0; top: 100%; }
.era-nav-ready .sub-menu .sub-menu { position: static; }
.era-nav-ready .sub-menu.is-open { display: block; }
.era-menu-toggle, .era-submenu-toggle { border: 1px solid var(--era-line); border-radius: .25rem; background: white; color: var(--era-black); padding: .45rem .7rem; font-family: 'Libre Franklin', sans-serif; }
.era-menu-toggle { display: none; }
.era-submenu-toggle { position: absolute; right: 0; top: .15rem; }
.era-nav li:has(> .era-submenu-toggle) > a { padding-right: 2.5rem; }
.era-nav a:focus-visible, button:focus-visible, .era-content a:focus-visible { outline: 3px solid var(--era-blue); outline-offset: 3px; }
.era-skip-link { position: absolute; left: 1rem; top: -10rem; z-index: 100; padding: .8rem; background: white; }
.era-skip-link:focus { top: 1rem; }
.era-page-heading { padding: .5rem .75rem 1rem; }
.era-page-heading h1 { font-size: clamp(1.8rem, 4vw, 2.6rem); }
.era-content { padding-bottom: 2rem; overflow-wrap: anywhere; }
.era-content .container { max-width: var(--era-container); }
.era-content img { max-width: 100%; height: auto; }
.era-content iframe { max-width: 100%; }
.era-content svg.svg-inline--fa { height: 1em; width: 1em; vertical-align: -.125em; }
.era-content .mt-55, .era-content .mt-6, .era-content .mt-65, .era-content .mt-7 { margin-top: 1.5rem !important; }
.era-content nav { gap: .35rem 1rem; }
.era-content nav a { font-family: 'Libre Franklin', sans-serif; }
.era-content .inlinecredit { font-style: italic; }
.era-content .gothic { font-family: 'Libre Franklin', sans-serif; }
.era-section-nav { margin: .5rem 0 1.5rem; padding: .5rem .75rem 1rem; border-bottom: 1px solid var(--era-line); }
.era-section-nav ul { display: flex; flex-wrap: wrap; justify-content: center; gap: .35rem .75rem; list-style: none; padding: 0; margin: 0; }
.era-section-nav a { display: block; padding: .45rem .5rem; font: 400 .95rem/1.4 'Libre Franklin', sans-serif; }
.era-section-nav a[aria-current="page"] { color: #006d45; font-weight: 700; text-decoration: underline; text-underline-offset: .3em; }
.era-section-monthly-meetings .era-section-nav {overflow-x:auto;overscroll-behavior-x:contain;}
.era-section-monthly-meetings .era-section-nav ul {flex-wrap:nowrap;width:max-content;min-width:100%;gap:.1rem .35rem;}
.era-section-monthly-meetings .era-section-nav li {flex:0 0 auto;}
.era-section-monthly-meetings .era-section-nav a {white-space:nowrap;padding:.4rem .55rem;}
/* The year navigation supplies the divider above the meeting's speaker heading. */
.era-section-monthly-meetings .era-content .hr-top:has(h2) {border-top:0;}
.era-publication-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2rem 1.5rem; }
.era-publication-card { min-width: 0; }
.era-publication-card img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: contain; }
.era-publication-card h3 { font-size: 1.15rem; line-height: 1.45; margin: .75rem 0 .35rem; }
.era-publication-card p { font-size: .95rem; margin: 0; }
.era-section-publication-sales .era-section-nav ul { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .35rem .5rem; }
.era-section-publication-sales .era-section-nav li { min-width: 0; }
.era-section-publication-sales .era-section-nav a { height: 100%; text-align: center; border: 1px solid var(--era-line); border-radius: .2rem; }
@media(max-width: 991px) {
    .era-publication-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .era-section-publication-sales .era-section-nav ul { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media(max-width: 575px) {
    .era-publication-grid { grid-template-columns: minmax(0,1fr); }
    .era-section-publication-sales .era-section-nav ul { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
.era-lightbox { max-width: 95vw; max-height: 95vh; padding: 1rem; border: 0; background: #222; color: white; }
.era-lightbox::backdrop { background: rgba(0,0,0,.85); }
.era-lightbox img { display: block; max-width: 85vw; max-height: 75vh; object-fit: contain; margin: 1rem auto; }
.era-lightbox button { padding: .5rem 1rem; }
.era-lightbox p { max-width: 70ch; }
@media (max-width: 1200px) {
    .era-nav-ready .era-menu-toggle { display: block; }
    .era-nav-ready #era-primary-menu:not(.is-open) { display: none; }
    .era-nav .era-nav-list { flex-direction: column; align-items: stretch; margin-top: .5rem; }
    .era-nav a { text-align: left; font-size: 1rem; padding: .65rem; }
    .era-nav-ready .sub-menu { position: static; margin-left: 1rem; }
}
@media (max-width: 640px) {
    .era-masthead .era-brand { font-size: .9rem; }
    .era-main { padding-top: 0; }
}
.era-archive-notice {border-left:4px solid #00a878;background:#edf7f3;padding:1rem 1.25rem;margin:1rem 0 1.5rem;}
.era-archive-notice p {margin:0;}
