/* R5.106 — lightweight Gallery home + year/function pages */

.r5106-gallery-index,.r5106-gallery-year-page{background:#f6f9fb;padding:28px 0 54px!important}
.r5106-gallery-toolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}
.r5106-gallery-toolbar h2{margin:0;color:#082f57;font-size:clamp(1.35rem,2vw,1.9rem);line-height:1.15}
.r5106-year-select{display:grid;gap:6px;min-width:190px;color:#274963;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.r5106-year-select select{height:44px;border:1px solid #cbdce5;background:#fff;color:#082f57;padding:0 36px 0 12px;border-radius:0;font:inherit;font-size:.94rem;font-weight:800}
.r5106-year-directory{display:grid;gap:12px}
.r5106-year-card{display:grid;grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:20px;background:#fff;border:1px solid #d4e1e8;padding:18px 20px;text-decoration:none;color:inherit;transition:border-color .18s ease,transform .18s ease}
.r5106-year-card:hover,.r5106-year-card:focus-visible{border-color:#0b8d86;transform:translateY(-1px)}
.r5106-year-number{font-size:1.55rem;font-weight:900;color:#082f57}
.r5106-year-summary strong{display:block;color:#123c60;font-size:.96rem;margin-bottom:4px}.r5106-year-summary span{color:#5b7184;font-size:.86rem;line-height:1.4}
.r5106-year-open{font-size:.85rem;font-weight:850;color:#087f79;white-space:nowrap}
.r5106-year-topbar{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:16px}
.r5106-back{display:inline-flex;align-items:center;gap:7px;color:#087f79;font-weight:850;text-decoration:none;font-size:.9rem}
.r5106-function-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;padding:0;list-style:none}
.r5106-function-nav a{display:block;padding:9px 11px;border:1px solid #cfe0e7;background:#fff;color:#123c60;text-decoration:none;font-size:.86rem;font-weight:800}
.r5106-function-nav a:hover,.r5106-function-nav a:focus-visible{border-color:#0b8d86;color:#087f79}
.r5106-event{scroll-margin-top:115px;background:#fff;border:1px solid #d4e1e8;margin-bottom:18px}
.r5106-event-head{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #e1eaef}
.r5106-event-head h2{margin:0;color:#082f57;font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.15}.r5106-event-head p{margin:5px 0 0;color:#597187;font-size:.9rem;line-height:1.45}
.r5106-photo-count{color:#087f79;font-size:.78rem;font-weight:850;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}
.r5106-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:14px}
.r5106-photo{margin:0;overflow:hidden;border:1px solid #d7e2e8;background:#fff}.r5106-photo a{display:block}.r5106-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#eaf0f3}.r5106-photo figcaption{padding:8px 9px;color:#264965;font-size:.8rem;font-weight:750;line-height:1.25}
.r5106-small-set .r5106-photo-grid{grid-template-columns:repeat(min(4,var(--photo-count)),minmax(0,1fr))}
@media(max-width:900px){.r5106-photo-grid,.r5106-small-set .r5106-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.r5106-year-card{grid-template-columns:90px minmax(0,1fr) auto}}
@media(max-width:640px){.r5106-gallery-index,.r5106-gallery-year-page{padding:18px 0 36px!important}.r5106-gallery-toolbar,.r5106-year-topbar{display:grid;align-items:stretch;gap:12px}.r5106-year-select{min-width:0}.r5106-year-card{grid-template-columns:72px minmax(0,1fr);gap:12px;padding:15px 14px}.r5106-year-open{grid-column:2}.r5106-function-nav{display:grid;grid-template-columns:1fr 1fr}.r5106-event-head{display:block;padding:15px 14px}.r5106-photo-count{display:block;margin-top:8px}.r5106-photo-grid,.r5106-small-set .r5106-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}.r5106-photo figcaption{font-size:.75rem}}
@media(max-width:380px){.r5106-function-nav{grid-template-columns:1fr}.r5106-photo-grid,.r5106-small-set .r5106-photo-grid{grid-template-columns:1fr}}


/* R5.109 — sticky single-line function navigation + uniform media cards */
.r5109-gallery-nav{
  position:sticky;
  top:var(--druk-header-live-height, 118px);
  z-index:35;
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 18px;
  padding:8px 0;
  background:#f6f9fb;
  border-bottom:1px solid #d4e1e8;
}
.r5109-gallery-nav .r5106-back{
  flex:0 0 auto;
  white-space:nowrap;
  padding:8px 10px;
  border:1px solid #cfe0e7;
  background:#fff;
}
.r5109-gallery-nav .r5106-function-nav{
  flex:1 1 auto;
  min-width:0;
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:6px!important;
  margin:0!important;
  padding:0 2px 4px!important;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
}
.r5109-gallery-nav .r5106-function-nav li{flex:0 0 auto;}
.r5109-gallery-nav .r5106-function-nav a{
  white-space:nowrap;
  padding:7px 9px;
  font-size:.78rem;
  line-height:1;
}

.r5109-gallery-nav .r5106-function-nav a.is-active{
  border-color:#087f79;
  background:#e8f7f5;
  color:#075f5a;
}
.r5109-gallery-nav .r5106-year-select{
  flex:0 0 118px;
  min-width:118px;
  display:flex;
  align-items:center;
  gap:6px;
  font-size:.7rem;
}
.r5109-gallery-nav .r5106-year-select select{
  width:76px;
  height:34px;
  padding:0 6px;
  font-size:.8rem;
}
.r5106-event{scroll-margin-top:var(--r5109-gallery-scroll-offset, 178px);}
.r5106-event-head{
  display:block!important;
  padding:14px 18px!important;
}
.r5106-event-head h2{
  margin:0!important;
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:clamp(1.05rem,1.75vw,1.45rem)!important;
  line-height:1.15!important;
}
.r5106-event-head p,.r5106-photo-count{display:none!important;}
.r5106-photo-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  padding:12px;
}
.r5106-photo{background:#f2f5f7!important;}
.r5106-photo a{
  display:block!important;
  position:relative;
  width:100%;
  aspect-ratio:4/3;
  overflow:hidden;
  background:#eef2f4;
}
.r5106-photo img{
  width:100%!important;
  height:100%!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
}
.r5106-photo.is-document a{background:#eef1f3;padding:8px;}
.r5106-photo.is-document img{object-fit:contain!important;}
.r5106-photo figcaption{display:none!important;}
body.r5104-compact .r5104-page-title h1{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media(max-width:900px){
  .r5109-gallery-nav{top:var(--druk-header-live-height, 82px);}
}
@media(max-width:640px){
  .r5109-gallery-nav{
    top:var(--druk-header-live-height, 80px);
    gap:6px;
    padding:6px 0;
  }
  .r5109-gallery-nav .r5106-back{display:none;}
  .r5109-gallery-nav .r5106-year-select{flex-basis:88px;min-width:88px;}
  .r5109-gallery-nav .r5106-year-select{font-size:0;gap:0;}
  .r5109-gallery-nav .r5106-year-select select{width:88px;height:32px;font-size:.76rem;}
  .r5109-gallery-nav .r5106-function-nav a{font-size:.72rem;padding:7px 8px;}
  .r5106-event-head{padding:11px 12px!important;}
  .r5106-event-head h2{font-size:.98rem!important;white-space:nowrap!important;}
  body.r5104-compact .r5104-page-title h1{font-size:1.42rem!important;line-height:1.05!important;}
  .r5106-photo-grid,.r5106-small-set .r5106-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;padding:8px!important;}
}
@media(max-width:360px){
  .r5109-gallery-nav .r5106-function-nav a{font-size:.68rem;padding:6px 7px;}
  .r5106-event-head h2{font-size:.9rem!important;}
}

/* V9.12 — Gallery sticky navigation must use the real page scroll context. */
body.r5104-compact{overflow-x:clip!important;}
body.r5104-compact main#main{overflow:visible!important;}
