/* ===== Gallery + lightbox (κοινό: κουζίνες, ντουλάπες, μπάνια, πόρτες, ειδικές κατασκευές) ===== */
.g-grid{--min:230px;display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--min),1fr));gap:14px;align-items:stretch}
.g-item{position:relative;border-radius:14px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.08);background:linear-gradient(180deg,#f2f2f2 0%,#e8e7e6 100%);aspect-ratio:4/3;cursor:pointer;background-image:repeating-linear-gradient(-45deg,rgba(0,0,0,.04) 0, rgba(0,0,0,.04) 10px, rgba(0,0,0,0) 10px, rgba(0,0,0,0) 20px);transition:transform .18s ease,box-shadow .18s ease,opacity .2s ease}
.g-item:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.12)}
.g-item.loaded{background:none}
.g-item .img{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(1.02)}
.g-item .cap{position:absolute;left:0;right:0;bottom:0;padding:10px 12px;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.55) 90%);color:#fff;font-weight:700;font-size:14px;letter-spacing:.2px;opacity:0;transition:opacity .2s ease}
.g-item:hover .cap{opacity:1}

/* ===== LIGHTBOX (desktop arrows + mobile κύλιση, cross-fade, freeze bg) ===== */
.viewer[hidden]{display:none}
.viewer{position:fixed;inset:0;background:rgba(0,0,0,.94);display:grid;grid-template-rows:1fr auto;place-items:center;z-index:9999}
.viewer .stage{position:relative;width:min(96vw,1280px);height:min(86vh,860px);background:#000;border-radius:10px;overflow:hidden;touch-action:pan-y}
.viewer .stage .full{position:absolute;inset:0;background:center/contain no-repeat;opacity:1;transition:opacity .32s ease}
.viewer .controls{display:flex;gap:10px;align-items:center;padding:10px}
.viewer .btn{background:rgba(255,255,255,.1);backdrop-filter:saturate(1.2) blur(4px);border:1px solid rgba(255,255,255,.2);color:#fff}
.viewer .btn:hover{box-shadow:none}
.viewer .hint{color:#ccc;font-size:13px}
.viewer .nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);color:#fff;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:26px;line-height:1}
.viewer .nav.prev{left:8px}
.viewer .nav.next{right:8px}
@media(max-width:820px){.viewer .nav{display:none}} /* σε κινητά μόνο κύλιση */
body.aggl-modal-open{overflow:hidden;position:fixed;width:100%}
@media (max-width:820px){.g-grid{--min:150px;gap:10px}}

/* ===== Gallery: σήμα «ΝΕΟ», λεζάντα μόνο στο hover, λεζάντα μέσα στην εικόνα στο lightbox ===== */
.g-item .new{position:absolute;top:10px;left:10px;z-index:2;background:#5D4E37;color:#fff;font-size:12px;font-weight:800;letter-spacing:.06em;border-radius:999px;padding:3px 10px}
.g-item .cap{pointer-events:none}
@media (hover:hover){.g-item:hover .cap{opacity:1}}
.g-item:focus-visible .cap{opacity:1}
@media (hover:none){.g-item:hover .cap{opacity:0}}
.viewer .vbox{position:absolute;pointer-events:none;display:flex;align-items:flex-end;opacity:0;transition:opacity .35s ease;z-index:1}
.viewer .vbox .vcap{margin:0;width:100%;padding:48px 18px 16px;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.62) 100%);color:#fff;font-size:15px;font-weight:600;line-height:1.35;text-align:left;text-shadow:0 1px 2px rgba(0,0,0,.4)}
@media (hover:hover){.viewer .stage:hover .vbox{opacity:1}}
.viewer .vbox.is-on{opacity:1}
.viewer .nav{z-index:2}
@media (max-width:600px){.viewer .vbox .vcap{font-size:13.5px;padding:36px 12px 12px}}
@media (prefers-reduced-motion:reduce){.viewer .vbox{transition:none}}
