.zr-section{padding:56px 16px;background:hsl(var(--background));color:hsl(var(--foreground))}
.zr-section--alt{background:linear-gradient(180deg,hsl(var(--background)) 0%,hsl(var(--background)) 70%,hsl(var(--background)/.94) 100%)}
.zr-container{max-width:1100px;margin:0 auto}
.zr-h2{font-size:28px;line-height:1.2;font-weight:800;letter-spacing:-.02em;margin:0 0 10px}
.zr-muted{color:hsl(var(--muted-foreground));line-height:1.6}
.zr-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}
.zr-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:12px;background:#ff9900;color:#0b0b0b;font-weight:700;transition:transform .08s ease,filter .12s ease}
.zr-button:hover{filter:brightness(.95)}
.zr-button:active{transform:translateY(1px)}
.zr-button:focus-visible{outline:3px solid hsl(var(--ring));outline-offset:3px}
.zr-link{color:#ff9900;text-decoration:underline;text-underline-offset:3px}

.zr-gallery{margin-top:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (min-width:640px){.zr-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}
@media (min-width:1024px){.zr-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}}

.zr-thumb{appearance:none;border:0;background:transparent;padding:0;margin:0;border-radius:14px;overflow:hidden;position:relative;cursor:pointer;box-shadow:0 0 0 1px hsl(var(--border));transition:transform .12s ease,box-shadow .12s ease}
.zr-thumb:hover{transform:translateY(-1px);box-shadow:0 0 0 1px hsl(var(--border)),0 10px 30px rgba(0,0,0,.25)}
.zr-thumb:focus-visible{outline:3px solid hsl(var(--ring));outline-offset:3px}
.zr-thumb img{width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;display:block;background:hsl(var(--muted))}
.zr-badge{position:absolute;left:10px;bottom:10px;background:rgba(0,0,0,.6);color:#fff;font-size:12px;font-weight:700;padding:6px 10px;border-radius:999px;backdrop-filter:blur(6px)}

.zr-lightbox[hidden]{display:none}
.zr-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.86);display:flex;align-items:center;justify-content:center;padding:18px}
.zr-lightbox__panel{width:min(1100px,100%);height:min(86vh,820px);display:grid;grid-template-rows:auto 1fr auto;gap:10px}
.zr-lightbox__top{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#fff}
.zr-lightbox__title{font-weight:700;opacity:.9}
.zr-iconbtn{appearance:none;border:0;background:rgba(255,255,255,.12);color:#fff;border-radius:12px;padding:10px 12px;font-weight:800;cursor:pointer;transition:filter .12s ease,transform .08s ease}
.zr-iconbtn:hover{filter:brightness(1.1)}
.zr-iconbtn:active{transform:translateY(1px)}
.zr-iconbtn:focus-visible{outline:3px solid rgba(255,153,0,.9);outline-offset:3px}

.zr-lightbox__imgwrap{position:relative;border-radius:16px;overflow:hidden;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center}
.zr-lightbox__img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transform-origin:0 0;will-change:transform}
.zr-navbtn{position:absolute;top:50%;transform:translateY(-50%);padding:12px 14px;border-radius:999px}
.zr-navbtn--prev{left:10px}
.zr-navbtn--next{right:10px}
@media (max-width:640px){.zr-navbtn{display:none}}

.zr-lightbox__bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#fff;opacity:.9}
.zr-kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;background:rgba(255,255,255,.12);padding:2px 6px;border-radius:8px}

.zr-hint--touch{display:none}
.zr-hint--kbd{display:inline}

@media (pointer:coarse), (hover:none){
  .zr-hints{display:none}
  .zr-hint--touch{display:inline}
  .zr-hint--kbd{display:none}
  .zr-lightbox__bottom{justify-content:flex-end}
  .zr-lightbox__imgwrap{touch-action:none}
}
