/* SAPOK FOTO v113: phone and touch landscape layouts only. */
@media(max-width:760px), (max-width:1100px) and (pointer:coarse){
 #years a{order:0!important}
 #years .all-years{order:1!important}
 .site .cards{gap:14px!important}
 .site .gallery-card{
  display:block!important;position:relative!important;isolation:isolate;
  width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:2/1!important;
  padding:0!important;overflow:hidden!important;border:0!important;border-radius:12px!important;
  background:#202426!important;box-shadow:0 3px 9px #0002!important;
 }
 .site .gallery-card .card-image{
  position:absolute!important;inset:0!important;display:block!important;
  width:100%!important;height:100%!important;min-height:0!important;z-index:0;
 }
 .site .gallery-card .card-image img{
  display:block!important;width:100%!important;height:100%!important;max-height:none!important;
  object-fit:cover!important;border-radius:0!important;transform:none!important;filter:none!important;
 }
 .site .gallery-card .card-content{
  position:absolute!important;inset:auto 0 0!important;z-index:1;
  width:100%!important;min-width:0!important;padding:24px 12px 10px!important;
  color:#fff!important;background:linear-gradient(transparent,rgba(0,0,0,.66) 30%,rgba(0,0,0,.86))!important;
  pointer-events:none!important;text-shadow:0 1px 2px #0007;
 }
 .site .gallery-card .card-number,.site .gallery-card .card-path,.site .gallery-card .card-open{display:none!important}
 .site .gallery-card h2{
  margin:0 0 5px!important;padding:0!important;font-size:16px!important;font-weight:600!important;
  line-height:1.18!important;letter-spacing:0!important;color:#fff!important;
  display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;
  overflow:hidden!important;max-height:2.36em!important;overflow-wrap:anywhere;
 }
 .site .gallery-card h2 a{color:inherit!important;pointer-events:none!important}
 .site .gallery-card .card-bottom{display:block!important;margin:0!important;padding:0!important}
 .site .gallery-card .card-meta{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
  gap:3px 12px!important;width:100%!important;min-width:0!important;
  font-size:11px!important;line-height:1.25!important;color:#e1e4e4!important;
 }
 .site .gallery-card .card-meta>span{
  display:flex!important;align-items:center!important;gap:5px!important;min-width:0!important;
  margin:0!important;padding:0!important;white-space:nowrap!important;
 }
 .site .gallery-card .card-meta>span:first-child{grid-column:1;grid-row:2}
 .site .gallery-card .card-meta>span:last-child{grid-column:2;grid-row:2;justify-self:end}
 .site .gallery-card .card-meta>.location{
  grid-column:1/-1;grid-row:1;display:block!important;overflow:hidden;text-overflow:ellipsis;
 }
 .site .gallery-card .card-meta .icon{
  width:13px!important;height:13px!important;flex-shrink:0!important;color:#d1dbdf!important;
 }
 .site .gallery-card .location .icon{vertical-align:-2px;margin-right:5px}
 .site .gallery-card:focus-within{outline:2px solid #e5e9e9;outline-offset:2px}
 #viewer .image-stage{inset:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)!important;overflow:hidden!important}
 #viewer .image-canvas{touch-action:none!important;overflow:hidden!important}
 #viewer #large-photo{touch-action:none!important;transform-origin:center!important;will-change:transform;box-shadow:none!important}
 #viewer .viewer-top{
  inset:calc(env(safe-area-inset-top,0px) + 8px) calc(env(safe-area-inset-right,0px) + 8px) auto calc(env(safe-area-inset-left,0px) + 12px)!important;
  min-height:44px!important;padding:0!important;align-items:center!important;
  transition:opacity .18s ease!important;
 }
 #viewer .viewer-info{flex-direction:row!important;align-items:center!important;gap:12px!important}
 #viewer #photo-counter{font-size:13px!important;margin:0!important;padding:6px 8px!important;border-radius:6px;background:#0e1216a6}
 #viewer #single-download{
  box-sizing:border-box!important;width:44px!important;height:44px!important;min-height:44px!important;
  display:grid!important;place-items:center!important;padding:0!important;margin:0!important;
  border:0!important;border-radius:8px!important;background:#161b20a6!important;
 }
 #viewer #single-download span{display:none!important}
 #viewer #single-download svg{width:22px!important;height:22px!important;margin:0!important;color:#d5dfe3!important}
 #viewer #single-download[aria-busy='true']{opacity:.45}
 #viewer .viewer-nav{
  top:auto!important;bottom:calc(env(safe-area-inset-bottom,0px) + 10px)!important;
  width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;
  transform:none!important;border-radius:8px!important;background:#161b2080!important;
  transition:opacity .18s ease!important;
 }
 #viewer .viewer-nav-prev{left:calc(50% - 51px)!important;right:auto!important}
 #viewer .viewer-nav-next{left:calc(50% + 7px)!important;right:auto!important}
 #viewer .viewer-nav svg{width:25px!important;height:25px!important}
 #viewer .viewer-nav::before{display:none!important}
 #viewer.mobile-controls-hidden .viewer-top,#viewer.mobile-controls-hidden .viewer-nav{opacity:0!important;pointer-events:none!important;visibility:hidden!important}
 #viewer .mobile-status{
  position:absolute;z-index:30;bottom:68px;left:10%;right:10%;margin:0;
  padding:8px 12px;background:#191d21e8;border-radius:8px;text-align:center;font-size:13px;color:#fff;
 }
}
@media(prefers-reduced-motion:reduce){#viewer .viewer-top,#viewer .viewer-nav{transition:none!important}}

/* v114: keep landscape close beside the visible counter, not at the far edge. */
@media(max-width:760px) and (orientation:landscape), (max-width:1100px) and (pointer:coarse) and (orientation:landscape){
 #viewer .viewer-top{
  display:flex!important;flex-direction:column!important;
  align-items:flex-start!important;justify-content:flex-start!important;gap:6px!important;
  inset:calc(env(safe-area-inset-top,0px) + 8px) auto auto calc(env(safe-area-inset-left,0px) + 12px)!important;
  width:max-content!important;max-width:calc(100% - 24px)!important;
  height:auto!important;min-height:0!important;margin:0!important;padding:0!important;
 }
 #viewer .viewer-info{
  display:flex!important;flex-direction:row!important;
  width:auto!important;flex:0 0 auto!important;
 }
 #viewer #close{
  position:relative!important;inset:auto!important;transform:none!important;
  align-self:flex-start!important;flex:0 0 44px!important;
  margin:0 0 0 8px!important;z-index:2!important;
  background:rgba(22,27,32,.8)!important;
 }
}
