/* Map layout only; branding, typography, header and footer use homepage styles. */
#partners-app { padding:3rem 1rem; }
#partners-app h1 { color:var(--primary-green); font-size:clamp(1.8rem,4vw,2.5rem); margin:0 0 2rem; }
#partners-app .workspace { display:grid; grid-template-columns:300px minmax(0,1fr); border:1px solid var(--border-color); border-radius:8px; overflow:hidden; background:var(--background); box-shadow:var(--shadow); }
#partners-app aside { border-right:1px solid var(--border-color); }
#partners-app .controls { padding:1.25rem; background:#f8f9fa; }
#partners-app label { display:block; font-size:.9rem; font-weight:600; margin-bottom:.4rem; }
#partners-app input,#partners-app select { font:inherit; width:100%; padding:.7rem; border:1px solid var(--border-color); border-radius:4px; background:white; margin-bottom:.8rem; color:var(--text-color); }
#partner-count { font-size:.9rem; color:var(--text-light); }
#partner-list { height:450px; overflow:auto; padding:.5rem; }
#partner-list button { display:block; font:inherit; color:var(--text-color); width:100%; text-align:left; border:0; background:white; border-radius:4px; padding:.8rem; cursor:pointer; }
#partner-list button.active,#partner-list button:hover { background:#eef6ef; }
#partner-list strong,#partner-list span,#partner-list small { display:block; }
#partner-list strong { font-size:.95rem; }
#partner-list span,#partner-list small { font-size:.85rem; color:var(--text-light); }
#partners-app .map-section { margin:0; min-width:0; }
#partners-app .map-top { padding:.8rem 1rem; display:flex; justify-content:space-between; align-items:center; gap:10px; }
#map-reset { padding:.5rem .75rem; background:white; color:var(--primary-green); border:1px solid var(--primary-green); border-radius:4px; font:inherit; cursor:pointer; }
#partner-map { height:480px; background:#f5f5f5; z-index:0; }
#partner-map .leaflet-control a { min-width:0; min-height:0; }
#partner-detail { padding:1.25rem; overflow-wrap:anywhere; }
#partner-detail h2,#partner-map .leaflet-popup-content h2 { font-size:1.2rem; margin:0 0 .5rem; color:var(--primary-green); }
#partner-detail p { margin:.3rem 0; font-size:.9rem; }
#partner-detail a,#partner-map .leaflet-popup-content a { color:var(--link-color); font-weight:600; }
#partner-map .leaflet-popup-content { font: .9rem/1.5 'Inter',sans-serif; }
#map-error { padding:1rem; color:#835a24; }
#partners-app :is(button,a,input,select):focus-visible { outline:3px solid var(--primary-green); outline-offset:3px; }

/* Match the other mobile pages: language choices belong inside navigation. */
.partners-page { --primary-green:#2e7d32; --border-color:#e0e0e0; --shadow:0 2px 10px rgba(0,0,0,.1); --link-color:#2e7d32; }
.partners-page .container { width:100%; max-width:1200px; margin:0 auto; }
.partners-page .main-menu .language-switcher { background:transparent; padding:.5rem; gap:.4rem; }
.partners-page .language-switcher .lang-btn { color:#2e7d32; background:white; border:2px solid #2e7d32; }
.partners-page .language-switcher .lang-btn[aria-pressed="true"] { color:white; background:#2e7d32; }
@media(min-width:769px) {
 .partners-page header .container { flex-wrap:wrap; gap:1rem; }
 .partners-page .main-menu { flex-wrap:wrap; gap:.25rem; }
}
@media(max-width:768px) {
 .partners-page header { position:relative; background:white; box-shadow:var(--shadow); z-index:1000; }
 .partners-page header .container { display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:1rem; }
 .partners-page .logo-container { flex:1; min-width:0; }
 .partners-page .logo { min-width:0; justify-content:flex-start; }
 .partners-page .logo-img-container { flex:none; }
 .partners-page .logo-img { display:block; width:40px; height:40px; object-fit:contain; }
 .partners-page .logo-text { min-width:0; }
 .partners-page .logo-text > .logo-text { font-size:1.25rem; font-weight:600; color:var(--primary-dark); }
 .partners-page .tagline { font-size:.75rem; line-height:1.4; overflow-wrap:anywhere; }
 .partners-page nav { flex:none; }
 .partners-page .mobile-menu-button { position:relative; top:auto; right:auto; display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:10px; }
 .partners-page .main-menu { left:auto; overflow-y:auto; height:100dvh; }
 .partners-page .main-menu[aria-expanded="false"] { display:none; }
 .partners-page .main-menu .language-switcher { flex-wrap:wrap; }
 #partners-app { padding:1.5rem 1rem; }
 #partners-app h1 { font-size:1.8rem; line-height:1.25; margin-bottom:1.5rem; }
 #partners-app .workspace { display:flex; flex-direction:column; }
 #partners-app aside { display:contents; }
 #partners-app .controls { order:0; padding:1rem; }
 #partners-app .map-section { order:1; }
 #partner-list { order:2; height:330px; }
 #partner-map { height:380px; }
 #partners-app .map-top { flex-wrap:wrap; font-size:.9rem; }
 .partners-page footer { background:#1a1a1a; color:white; padding:2rem 1.5rem; margin-top:2rem; }
 .partners-page footer ul { list-style:none; }
 .partners-page footer a { color:white; }
}
