/* Shared type roles and navigation geometry. Loaded after feature styles. */
:root {
  --ui-body: 1rem;
  --ui-small: .875rem;
  --ui-title: clamp(2rem, 4vw, 3rem);
  --ui-section: clamp(1.4rem, 2.5vw, 1.75rem);
}
body { font-size:var(--ui-body) !important; }
#tresc .przycisk { font-size:var(--ui-body) !important; }
#tresc h1, #tresc .naglowek1, #tresc .paszport__tytul {
  font-size:var(--ui-title) !important; line-height:1.08 !important;
}
#tresc h2, #tresc .naglowek2 { font-size:var(--ui-section) !important; line-height:1.2 !important; }
#tresc h3 { font-size:1.2rem !important; line-height:1.3 !important; }
#tresc p, #tresc :is(button,input,select,textarea,summary) {
  font-size:var(--ui-body) !important; line-height:1.5 !important;
}
#tresc :is(small,legend,.pole__etykieta,[class$="__meta"],[class$="__nota"],[class$="__podpis"],[class$="__etykieta"]) {
  font-size:var(--ui-small) !important; line-height:1.45 !important;
}
#tresc :is(button,input:not([type="checkbox"]):not([type="radio"]),select,summary) { min-height:44px; }
#tresc .swataj-panel__intro strong, #tresc .swataj-wydarzenie > span { font-size:var(--ui-body); }
#tresc .swataj-panel__intro span, #tresc .swataj-osoba__meta, #tresc .swataj-osoba__opis { font-size:var(--ui-small); }
#tresc .swataj-sciezki { width:100%; max-width:none; margin:1rem 0 .75rem; gap:.5rem; padding:0; }
#tresc .swataj-panel { width:100%; max-width:none; margin:.75rem 0 1rem; padding:1rem; }
#tresc [hidden]:not([hidden="until-found"]) { display:none !important; }
.floating-bottom-dock .dock-tab-lbl { font-size:12px !important; }
.floating-bottom-dock .dock-tab { overflow:hidden; }
.floating-bottom-dock > .dock-customize { flex:0 0 76px !important; padding-inline:4px !important; }
.floating-bottom-dock .dock-tabs-container { flex:1; min-width:0; width:auto !important; }
@media(max-width:420px) {
  .floating-bottom-dock > .dock-customize { flex-basis:58px !important; }
  .floating-bottom-dock .dock-tab-lbl { font-size:10px !important; }
}
#tresc .wybrana-osoba strong { white-space:normal; overflow-wrap:anywhere; }
/* Event dialog stays above the dock; its decorative handle is not a form control. */
#tresc .szuflada__uchwyt { min-height:6px; }
.szuflada { z-index:110; }
/* One card geometry for recommendations, browsing, catalog and saved events. */
:root { --event-cover-ratio:4 / 3; --event-card-columns:3; }
#tresc :is(.odkrywaj-grid,.moje-spotkania__lista) {
  grid-template-columns:repeat(var(--event-card-columns),minmax(0,1fr));
  gap:1rem; align-items:stretch;
}
#tresc :is(.odkrywaj-karta__media,.moje-spotkania__okladka) {
  aspect-ratio:var(--event-cover-ratio); flex-shrink:0;
}
#tresc .odkrywaj-karta__otworz { display:flex; flex-direction:column; justify-content:flex-start; width:100%; }
#tresc .odkrywaj-karta__tresc { width:100%; padding:1rem; }
#tresc .odkrywaj-karta__tytul { font-size:1rem; line-height:1.3; min-height:2.6em; }
#tresc .odkrywaj-karta__meta { min-height:2.7em; }
#tresc .odkrywaj-karta__uczestnicy { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media(max-width:620px) {
  :root { --event-cover-ratio:16 / 9; --event-card-columns:1; }
}
#tresc .wydarzenia-status-tabs { max-width:100%; overflow-x:auto; }
#tresc .wydarzenia-status-tabs > a { flex:1; min-width:0; flex-wrap:wrap; justify-content:center; }
