/* Shared controls: labels determine height, and filters never require swiping. */
.filters {
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:12px;
 padding:14px;
}
.filters .search,.filters .categories { grid-column:1 / -1; }
.filters .search,.reference-filters .search { width:100%; min-width:0; min-height:48px; }
.filters .categories {
 display:grid;
 grid-template-columns:repeat(5,minmax(0,1fr));
 gap:8px;
 width:100%;
 min-width:0;
 margin:0;
 padding:0;
 border:0;
 overflow:visible;
}
.categories button,.categories button:first-child,.page-tabs button,.profile-tabs button,.citation-tabs button {
 min-width:0;
 min-height:48px;
 height:auto;
 padding:10px 12px;
 font-size:14px;
 line-height:1.35;
 white-space:normal;
 overflow-wrap:anywhere;
 hyphens:auto;
 text-align:center;
 justify-content:center;
 gap:8px;
}
.categories button span { min-width:0; font-size:inherit; }
.categories .icon,.page-tabs .icon { width:20px; height:20px; flex-shrink:0; }
.page-tabs,.profile-tabs {
 display:grid;
 grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));
 gap:8px;
 overflow:visible;
 min-width:0;
}
.page-tabs { padding:10px; }
.profile-tabs { padding-block:8px; }
.profile-tabs button { border-radius:6px; }
.profile-tabs button.selected { background:#e3eee8!important; }
.reference-filters {
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:10px;
 padding:12px;
}
.reference-filters .search { grid-column:1 / -1; }
.filters select,.reference-filters select,.era-sidebar > select {
 appearance:none;
 -webkit-appearance:none;
 width:100%;
 min-width:0;
 max-width:100%;
 min-height:48px;
 height:auto;
 padding:12px 38px 12px 12px;
 font-size:14px;
 line-height:1.4;
 background-color:#fcfaf4;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23004e50' stroke-width='1.5'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");
 background-repeat:no-repeat;
 background-position:right 12px center;
 background-size:16px;
}
html[dir="rtl"] .filters select,html[dir="rtl"] .reference-filters select,html[dir="rtl"] .era-sidebar > select {
 padding:12px 12px 12px 38px;
 background-position:left 12px center;
}
.outline-button,.filled-button { max-width:100%; min-height:44px; height:auto; white-space:normal; overflow-wrap:anywhere; }
.citation-tabs { gap:4px; }
.citation-tabs button { padding:8px 6px; font-size:12px; }
.era-navigation > button { display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; line-height:1; }
.era-periods {
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 min-width:0;
 gap:8px;
 padding:8px;
 overflow:visible;
}
.era-periods > button {
 min-width:0;
 min-height:72px;
 height:auto;
 padding:10px;
 gap:10px;
 border:1px solid #c5d9d5;
 border-radius:6px;
 white-space:normal;
 overflow-wrap:anywhere;
 text-align:start;
}
.era-periods > button > div { min-width:0; }
.era-periods .icon { flex-shrink:0; width:26px; height:26px; }
.era-periods strong,.era-periods small { font-size:14px; line-height:1.4; }
.era-checkboxes label { min-width:0; overflow-wrap:anywhere; }
.era-checkboxes input { flex-shrink:0; }
@media(min-width:1000px) {
 .reference-filters { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(min-width:1200px) {
 .filters { grid-template-columns:minmax(0,1fr) minmax(210px,.38fr) minmax(240px,.42fr); }
 .filters .categories { grid-column:auto; }
}
@media(max-width:850px) {
 .era-periods { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:650px) {
 .filters { grid-template-columns:minmax(0,1fr); padding:12px; }
 .filters .categories { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .categories button:first-child { grid-column:1 / -1; }
 .categories button { padding:10px 8px; gap:6px; }
 .page-tabs,.profile-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .page-tabs button:first-child { grid-column:1 / -1; }
 .page-tabs button { padding:10px 8px; }
 .reference-filters { grid-template-columns:minmax(0,1fr); }
 .era-navigation { display:block; }
 .era-navigation > button { display:none; }
 .era-periods > button { min-width:0; }
}
