/* =========================================================
   HA Gallery – 10 Themes v3.1
   Author: Hakan Aydemir | rafue.com
   ========================================================= */

/* ══════════════════════════════════════════════════════════
   BASE
══════════════════════════════════════════════════════════ */
.ha-gallery-wrapper { width:100%; box-sizing:border-box; }
.ha-gallery-wrapper *, .ha-gallery-wrapper *::before, .ha-gallery-wrapper *::after { box-sizing:border-box; }
.ha-gallery-wrapper .ha-gallery-grid { display:grid; }
.ha-gallery-wrapper .ha-gallery-item { display:flex; flex-direction:column; overflow:hidden; }
.ha-gallery-wrapper .ha-slider { position:relative; width:100%; overflow:hidden; aspect-ratio:1/1; }
.ha-gallery-wrapper .ha-slider__track { position:relative; width:100%; height:100%; }
.ha-gallery-wrapper .ha-slider__vignette { position:absolute; inset:0; background:radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.45) 100%); pointer-events:none; z-index:2; }
.ha-gallery-wrapper .ha-slide { position:absolute; inset:0; opacity:0; transition:opacity .4s cubic-bezier(.4,0,.2,1); pointer-events:none; }
.ha-gallery-wrapper .ha-slide--active { opacity:1; pointer-events:auto; }
.ha-gallery-wrapper .ha-slide img { width:100%; height:100%; object-fit:cover; display:block; }
.ha-gallery-wrapper .ha-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:10; display:flex; align-items:center; justify-content:center; cursor:pointer; padding:0; border:none; }
.ha-gallery-wrapper .ha-arrow--prev { left:0; }
.ha-gallery-wrapper .ha-arrow--next { right:0; }
.ha-gallery-wrapper .ha-slide-counter { position:absolute; bottom:7px; right:9px; z-index:10; font-size:.62rem; font-weight:600; letter-spacing:.08em; color:rgba(255,255,255,.55); pointer-events:none; }
.ha-gallery-wrapper .ha-thumbnails { display:grid; grid-template-columns:repeat(5,1fr); }
.ha-gallery-wrapper .ha-thumb { aspect-ratio:1/1; padding:0; border:none; overflow:hidden; cursor:pointer; position:relative; opacity:.45; filter:grayscale(30%); transition:opacity .3s,filter .3s; }
.ha-gallery-wrapper .ha-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s; }
.ha-gallery-wrapper .ha-thumb:hover { opacity:.85; filter:grayscale(0%); }
.ha-gallery-wrapper .ha-thumb:hover img { transform:scale(1.08); }
.ha-gallery-wrapper .ha-thumb--active { opacity:1; filter:grayscale(0%); }
.ha-gallery-wrapper .ha-thumb::after { content:''; position:absolute; inset:0; border:2px solid transparent; pointer-events:none; z-index:1; transition:border-color .2s; }
.ha-gallery-wrapper .ha-category-title { margin:0; }

@media (max-width:860px) { .ha-gallery-wrapper .ha-gallery-grid { grid-template-columns:repeat(2,1fr) !important; } }
@media (max-width:520px)  { .ha-gallery-wrapper .ha-gallery-grid { grid-template-columns:1fr !important; } .ha-gallery-wrapper { padding:1.5rem 1rem !important; } }


/* ══════════════════════════════════════════════════════════
   THEME 1 — CINEMATIC  (dark · amber headlights)
══════════════════════════════════════════════════════════ */
.ha-theme-cinematic.ha-gallery-wrapper {
    background:#0a0b0d; padding:2.5rem 2rem 3.5rem; color:#e8eaf0;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.ha-theme-cinematic .ha-gallery-grid { grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.ha-theme-cinematic .ha-gallery-header { display:flex; align-items:baseline; gap:1.25rem; margin-bottom:2rem; padding-bottom:.875rem; border-bottom:1px solid rgba(255,255,255,.08); position:relative; }
.ha-theme-cinematic .ha-gallery-header::after { content:''; position:absolute; bottom:-1px; left:0; width:48px; height:2px; background:#e8a020; }
.ha-theme-cinematic .ha-gallery-title { font-size:1.75rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; color:#fff; margin:0; line-height:1; }
.ha-theme-cinematic .ha-gallery-subtitle { font-size:.75rem; color:#6b7280; letter-spacing:.18em; text-transform:uppercase; }
.ha-theme-cinematic .ha-gallery-item { background:#111318; border:1px solid rgba(255,255,255,.08); border-radius:4px; transition:transform .3s,box-shadow .3s,border-color .3s; }
.ha-theme-cinematic .ha-gallery-item:hover { transform:translateY(-3px); box-shadow:0 16px 48px rgba(0,0,0,.55),0 0 30px rgba(232,160,32,.12); border-color:rgba(232,160,32,.28); }
.ha-theme-cinematic .ha-category-title { font-size:.62rem; font-weight:700; color:#e8a020; text-transform:uppercase; letter-spacing:.22em; padding:.65rem .9rem; background:#1a1d24; border-bottom:1px solid rgba(255,255,255,.08); display:flex; align-items:center; gap:.45rem; }
.ha-theme-cinematic .ha-category-title::before { content:''; width:5px; height:5px; background:#e8a020; border-radius:50%; box-shadow:0 0 6px #e8a020; flex-shrink:0; display:inline-block; }
.ha-theme-cinematic .ha-arrow { background:rgba(8,9,11,.85); border:1px solid rgba(232,160,32,.25); color:#e8a020; width:28px; height:44px; transition:background .2s,color .2s; }
.ha-theme-cinematic .ha-arrow--prev { border-left:none; border-radius:0 3px 3px 0; }
.ha-theme-cinematic .ha-arrow--next { border-right:none; border-radius:3px 0 0 3px; }
.ha-theme-cinematic .ha-arrow:hover { background:#e8a020; color:#000; border-color:#e8a020; }
.ha-theme-cinematic .ha-thumbnails { gap:2px; padding:2px; background:#0a0b0d; }
.ha-theme-cinematic .ha-thumb { background:#060709; }
.ha-theme-cinematic .ha-thumb--active::after { border-color:#e8a020; }


/* ══════════════════════════════════════════════════════════
   THEME 2 — FROST  (white · editorial · italic serif)
══════════════════════════════════════════════════════════ */
.ha-theme-frost.ha-gallery-wrapper {
    background:#f8fafc; padding:3.5rem 3rem 5rem; color:#0f172a;
    font-family:Georgia,'Times New Roman',serif;
}
.ha-theme-frost .ha-gallery-grid { grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.ha-theme-frost .ha-gallery-header { text-align:center; margin-bottom:3rem; display:block; }
.ha-theme-frost .ha-gallery-title { font-size:2.4rem; font-weight:400; font-style:italic; letter-spacing:.02em; color:#0f172a; margin:0 0 .35rem; line-height:1.1; display:block; }
.ha-theme-frost .ha-gallery-subtitle { font-size:.74rem; color:#94a3b8; letter-spacing:.28em; text-transform:uppercase; font-family:-apple-system,sans-serif; font-style:normal; }
.ha-theme-frost .ha-gallery-item { background:#fff; border-radius:3px; box-shadow:0 1px 3px rgba(0,0,0,.06),0 4px 16px rgba(0,0,0,.06); transition:box-shadow .35s,transform .35s; }
.ha-theme-frost .ha-gallery-item:hover { box-shadow:0 8px 40px rgba(0,0,0,.14); transform:translateY(-3px); }
.ha-theme-frost .ha-category-title { font-size:.68rem; font-weight:400; color:#94a3b8; letter-spacing:.22em; text-transform:uppercase; padding:.65rem 1rem; border-bottom:1px solid #f1f5f9; background:#fff; font-family:-apple-system,sans-serif; font-style:normal; }
.ha-theme-frost .ha-slider__vignette { background:radial-gradient(ellipse at center,transparent 60%,rgba(0,0,0,.25) 100%); }
.ha-theme-frost .ha-arrow { background:rgba(255,255,255,.95); border:1px solid #e2e8f0; color:#334155; width:32px; height:50px; box-shadow:0 2px 8px rgba(0,0,0,.1); transition:background .2s,color .2s; }
.ha-theme-frost .ha-arrow--prev { border-left:none; border-radius:0 6px 6px 0; }
.ha-theme-frost .ha-arrow--next { border-right:none; border-radius:6px 0 0 6px; }
.ha-theme-frost .ha-arrow:hover { background:#0f172a; color:#fff; border-color:#0f172a; }
.ha-theme-frost .ha-thumbnails { gap:3px; padding:3px; background:#f8fafc; }
.ha-theme-frost .ha-thumb { border-radius:2px; }
.ha-theme-frost .ha-thumb--active::after { border-color:#0f172a; }
.ha-theme-frost .ha-slide-counter { color:rgba(0,0,0,.35); }


/* ══════════════════════════════════════════════════════════
   THEME 3 — NEON  (cyberpunk · purple glow · clipped corners)
══════════════════════════════════════════════════════════ */
.ha-theme-neon.ha-gallery-wrapper {
    background:#06030f; padding:2.5rem 2rem 3.5rem; color:#e0d7ff;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.ha-theme-neon .ha-gallery-grid { grid-template-columns:repeat(3,1fr); gap:1rem; }
.ha-theme-neon .ha-gallery-header { text-align:center; margin-bottom:2rem; display:block; }
.ha-theme-neon .ha-gallery-title { font-size:2.2rem; font-weight:900; text-transform:uppercase; letter-spacing:.2em; color:#fff; margin:0; text-shadow:0 0 20px rgba(168,85,247,.9),0 0 60px rgba(168,85,247,.4); display:block; }
.ha-theme-neon .ha-gallery-subtitle { font-size:.7rem; color:#a855f7; letter-spacing:.3em; text-transform:uppercase; display:block; margin-top:.4rem; }
.ha-theme-neon .ha-gallery-item { background:#0d0820; border:1px solid rgba(168,85,247,.25); border-radius:4px; transition:border-color .3s,box-shadow .3s; }
@supports (clip-path:polygon(0 0,100% 0,100% 100%,0 100%)) {
    .ha-theme-neon .ha-gallery-item { clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px)); border-radius:0; }
}
.ha-theme-neon .ha-gallery-item:hover { border-color:rgba(168,85,247,.8); box-shadow:0 0 25px rgba(168,85,247,.25),inset 0 0 25px rgba(168,85,247,.06); }
.ha-theme-neon .ha-category-title { font-size:.58rem; font-weight:800; color:#a855f7; letter-spacing:.3em; text-transform:uppercase; padding:.6rem .9rem; background:#0d0820; border-bottom:1px solid rgba(168,85,247,.2); display:flex; align-items:center; gap:.45rem; }
.ha-theme-neon .ha-category-title::before { content:'▶'; font-size:.45rem; }
.ha-theme-neon .ha-arrow { background:rgba(168,85,247,.12); border:1px solid rgba(168,85,247,.4); color:#a855f7; width:26px; height:42px; transition:all .2s; border-radius:0; }
.ha-theme-neon .ha-arrow--prev { border-left:none; }
.ha-theme-neon .ha-arrow--next { border-right:none; }
.ha-theme-neon .ha-arrow:hover { background:#a855f7; color:#fff; box-shadow:0 0 18px rgba(168,85,247,.7); }
.ha-theme-neon .ha-thumbnails { gap:2px; padding:2px; background:#06030f; }
.ha-theme-neon .ha-thumb { background:#0d0820; }
.ha-theme-neon .ha-thumb--active::after { border-color:#a855f7; box-shadow:inset 0 0 8px rgba(168,85,247,.35); }
.ha-theme-neon .ha-slide-counter { color:rgba(168,85,247,.7); }


/* ══════════════════════════════════════════════════════════
   THEME 4 — MINIMAL  (pure white · helvetica · no vignette)
══════════════════════════════════════════════════════════ */
.ha-theme-minimal.ha-gallery-wrapper {
    background:#fff; padding:4rem 3rem 5rem; color:#111;
    font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;
}
.ha-theme-minimal .ha-gallery-grid { grid-template-columns:repeat(3,1fr); gap:2px; }
.ha-theme-minimal .ha-gallery-header { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:3rem; border-bottom:2px solid #111; padding-bottom:.65rem; }
.ha-theme-minimal .ha-gallery-title { font-size:3rem; font-weight:900; letter-spacing:-.04em; color:#111; margin:0; line-height:.9; text-transform:uppercase; }
.ha-theme-minimal .ha-gallery-subtitle { font-size:.7rem; color:#aaa; letter-spacing:.15em; text-transform:uppercase; }
.ha-theme-minimal .ha-gallery-item { background:#fff; border:none; border-radius:0; }
.ha-theme-minimal .ha-category-title { font-size:.62rem; font-weight:700; color:#111; letter-spacing:.18em; text-transform:uppercase; padding:.5rem .65rem; background:#fff; border-bottom:1px solid #eee; }
.ha-theme-minimal .ha-slider__vignette { display:none; }
.ha-theme-minimal .ha-arrow { background:rgba(255,255,255,.95); border:none; color:#111; width:32px; height:32px; border-radius:50%; box-shadow:0 2px 12px rgba(0,0,0,.18); left:auto; right:auto; transition:transform .2s,box-shadow .2s; }
.ha-theme-minimal .ha-arrow--prev { left:8px; }
.ha-theme-minimal .ha-arrow--next { right:8px; }
.ha-theme-minimal .ha-arrow:hover { transform:translateY(-50%) scale(1.12); box-shadow:0 4px 20px rgba(0,0,0,.28); }
.ha-theme-minimal .ha-thumbnails { gap:2px; padding:2px; background:#f0f0f0; }
.ha-theme-minimal .ha-thumb--active::after { border-color:#111; }
.ha-theme-minimal .ha-slide-counter { color:rgba(0,0,0,.35); background:rgba(255,255,255,.8); padding:.1rem .4rem; border-radius:2px; }


/* ══════════════════════════════════════════════════════════
   THEME 5 — VINTAGE  (dark sepia · film · warm brown)
══════════════════════════════════════════════════════════ */
.ha-theme-vintage.ha-gallery-wrapper {
    background:#1c1410; padding:2.5rem 2rem 3.5rem; color:#d4c4a8;
    font-family:Georgia,'Times New Roman',serif;
}
.ha-theme-vintage .ha-gallery-grid { grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.ha-theme-vintage .ha-gallery-header { text-align:center; margin-bottom:2.5rem; display:block; }
.ha-theme-vintage .ha-gallery-title { font-size:2.1rem; font-weight:700; font-style:italic; color:#d4c4a8; letter-spacing:.06em; margin:0 0 .3rem; display:block; }
.ha-theme-vintage .ha-gallery-subtitle { font-size:.72rem; color:#7a6040; letter-spacing:.22em; text-transform:uppercase; font-family:-apple-system,sans-serif; }
.ha-theme-vintage .ha-gallery-item { background:#231a12; border:1px solid rgba(212,196,168,.14); border-radius:2px; transition:border-color .3s; }
.ha-theme-vintage .ha-gallery-item:hover { border-color:rgba(212,196,168,.35); }
.ha-theme-vintage .ha-category-title { font-size:.68rem; font-weight:400; font-style:italic; color:#8b7355; letter-spacing:.18em; text-transform:uppercase; padding:.65rem .9rem; background:#1c1410; border-bottom:1px solid rgba(212,196,168,.1); }
.ha-theme-vintage .ha-slide img { filter:sepia(22%) contrast(1.06) brightness(.96); }
.ha-theme-vintage .ha-slider__vignette { background:radial-gradient(ellipse at center,transparent 45%,rgba(0,0,0,.65) 100%); }
.ha-theme-vintage .ha-arrow { background:rgba(28,20,16,.88); border:1px solid rgba(212,196,168,.22); color:#d4c4a8; width:28px; height:44px; transition:background .2s; }
.ha-theme-vintage .ha-arrow--prev { border-left:none; border-radius:0 3px 3px 0; }
.ha-theme-vintage .ha-arrow--next { border-right:none; border-radius:3px 0 0 3px; }
.ha-theme-vintage .ha-arrow:hover { background:rgba(212,196,168,.18); }
.ha-theme-vintage .ha-thumbnails { gap:2px; padding:2px; background:#1c1410; }
.ha-theme-vintage .ha-thumb img { filter:sepia(35%) contrast(1.05); }
.ha-theme-vintage .ha-thumb--active::after { border-color:#d4c4a8; }


/* ══════════════════════════════════════════════════════════
   THEME 6 — GRID  (bold editorial · newspaper · red accent)
══════════════════════════════════════════════════════════ */
.ha-theme-grid.ha-gallery-wrapper {
    background:#f0ece4; padding:2.5rem 2rem 3.5rem; color:#1a1a1a;
    font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;
}
.ha-theme-grid .ha-gallery-grid { grid-template-columns:repeat(3,1fr); gap:0; border:2px solid #1a1a1a; }
.ha-theme-grid .ha-gallery-header { display:flex; align-items:flex-end; gap:1.5rem; margin-bottom:1.75rem; }
.ha-theme-grid .ha-gallery-title { font-size:3.5rem; font-weight:900; letter-spacing:-.05em; color:#1a1a1a; margin:0; line-height:.88; text-transform:uppercase; }
.ha-theme-grid .ha-gallery-subtitle { font-size:.7rem; color:#888; letter-spacing:.2em; text-transform:uppercase; border-left:3px solid #e74c3c; padding-left:1rem; line-height:1.4; }
.ha-theme-grid .ha-gallery-item { background:#f0ece4; border:1px solid #1a1a1a; border-radius:0; }
.ha-theme-grid .ha-category-title { font-size:.6rem; font-weight:900; color:#1a1a1a; letter-spacing:.22em; text-transform:uppercase; padding:.5rem .75rem; background:#f0ece4; border-bottom:2px solid #1a1a1a; }
.ha-theme-grid .ha-slider__vignette { display:none; }
.ha-theme-grid .ha-arrow { background:#1a1a1a; border:none; color:#f0ece4; width:30px; height:46px; border-radius:0; transition:background .2s; }
.ha-theme-grid .ha-arrow:hover { background:#e74c3c; }
.ha-theme-grid .ha-thumbnails { gap:0; padding:0; background:#1a1a1a; border-top:2px solid #1a1a1a; }
.ha-theme-grid .ha-thumb { border-right:1px solid #1a1a1a; }
.ha-theme-grid .ha-thumb--active::after { border-color:#e74c3c; border-width:3px; }
.ha-theme-grid .ha-slide-counter { color:rgba(255,255,255,.7); background:rgba(0,0,0,.5); padding:.1rem .4rem; border-radius:0; }


/* ══════════════════════════════════════════════════════════
   THEME 7 — FOREST  (deep green · nature · glowing dots)
══════════════════════════════════════════════════════════ */
.ha-theme-forest.ha-gallery-wrapper {
    background:#0d1f0f; padding:2.5rem 2rem 3.5rem; color:#c8d5c9;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.ha-theme-forest .ha-gallery-grid { grid-template-columns:repeat(3,1fr); gap:1rem; }
.ha-theme-forest .ha-gallery-header { display:flex; align-items:center; gap:1.25rem; margin-bottom:2rem; padding-bottom:1rem; border-bottom:1px solid rgba(76,175,80,.15); }
.ha-theme-forest .ha-gallery-title { font-size:1.8rem; font-weight:800; color:#e8f5e9; letter-spacing:.06em; margin:0; text-transform:uppercase; }
.ha-theme-forest .ha-gallery-subtitle { font-size:.72rem; color:#4caf50; letter-spacing:.22em; text-transform:uppercase; }
.ha-theme-forest .ha-gallery-item { background:#122114; border:1px solid rgba(76,175,80,.15); border-radius:8px; transition:border-color .3s,box-shadow .3s; }
.ha-theme-forest .ha-gallery-item:hover { border-color:rgba(76,175,80,.5); box-shadow:0 8px 32px rgba(0,0,0,.45),0 0 24px rgba(76,175,80,.12); }
.ha-theme-forest .ha-category-title { font-size:.62rem; font-weight:700; color:#4caf50; letter-spacing:.22em; text-transform:uppercase; padding:.6rem .9rem; background:#0d1f0f; border-bottom:1px solid rgba(76,175,80,.15); display:flex; align-items:center; gap:.45rem; }
.ha-theme-forest .ha-category-title::before { content:''; width:6px; height:6px; background:#4caf50; border-radius:50%; box-shadow:0 0 8px #4caf50; display:inline-block; flex-shrink:0; }
.ha-theme-forest .ha-arrow { background:rgba(13,31,15,.88); border:1px solid rgba(76,175,80,.3); color:#4caf50; width:28px; height:44px; transition:all .2s; }
.ha-theme-forest .ha-arrow--prev { border-left:none; border-radius:0 4px 4px 0; }
.ha-theme-forest .ha-arrow--next { border-right:none; border-radius:4px 0 0 4px; }
.ha-theme-forest .ha-arrow:hover { background:#4caf50; color:#0d1f0f; border-color:#4caf50; }
.ha-theme-forest .ha-thumbnails { gap:2px; padding:2px; background:#0d1f0f; }
.ha-theme-forest .ha-thumb { background:#122114; }
.ha-theme-forest .ha-thumb--active::after { border-color:#4caf50; }


/* ══════════════════════════════════════════════════════════
   THEME 8 — LUXURY  (black gold · serif · ultra premium)
══════════════════════════════════════════════════════════ */
.ha-theme-luxury.ha-gallery-wrapper {
    background:#070707; padding:3.5rem 3rem 5rem; color:#c9a84c;
    font-family:Georgia,'Times New Roman',serif;
}
.ha-theme-luxury .ha-gallery-grid { grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.ha-theme-luxury .ha-gallery-header { text-align:center; margin-bottom:3rem; display:block; }
.ha-theme-luxury .ha-gallery-header::before { content:'— ◆ —'; display:block; font-size:.65rem; color:#c9a84c; letter-spacing:.6em; margin-bottom:1rem; font-style:normal; font-family:-apple-system,sans-serif; }
.ha-theme-luxury .ha-gallery-title { font-size:2rem; font-weight:400; letter-spacing:.3em; text-transform:uppercase; color:#f0e6cc; margin:0 0 .5rem; display:block; font-style:normal; }
.ha-theme-luxury .ha-gallery-subtitle { font-size:.68rem; color:#6b5a2a; letter-spacing:.35em; text-transform:uppercase; font-family:-apple-system,sans-serif; }
.ha-theme-luxury .ha-gallery-item { background:#0f0f0f; border:1px solid rgba(201,168,76,.14); border-radius:0; transition:border-color .4s,box-shadow .4s; }
.ha-theme-luxury .ha-gallery-item:hover { border-color:rgba(201,168,76,.55); box-shadow:0 20px 60px rgba(0,0,0,.8),0 0 40px rgba(201,168,76,.08); }
.ha-theme-luxury .ha-category-title { font-size:.6rem; font-weight:400; font-style:italic; color:#6b5a2a; letter-spacing:.32em; text-transform:uppercase; padding:.75rem 1rem; background:#0a0a0a; border-bottom:1px solid rgba(201,168,76,.12); }
.ha-theme-luxury .ha-slider__vignette { background:radial-gradient(ellipse at center,transparent 45%,rgba(0,0,0,.7) 100%); }
.ha-theme-luxury .ha-arrow { background:rgba(7,7,7,.92); border:1px solid rgba(201,168,76,.28); color:#c9a84c; width:30px; height:50px; transition:all .3s; }
.ha-theme-luxury .ha-arrow--prev { border-left:none; }
.ha-theme-luxury .ha-arrow--next { border-right:none; }
.ha-theme-luxury .ha-arrow:hover { background:rgba(201,168,76,.12); border-color:rgba(201,168,76,.7); }
.ha-theme-luxury .ha-thumbnails { gap:1px; padding:1px; background:rgba(201,168,76,.15); }
.ha-theme-luxury .ha-thumb { background:#0a0a0a; }
.ha-theme-luxury .ha-thumb--active::after { border-color:#c9a84c; }
.ha-theme-luxury .ha-slide-counter { color:rgba(201,168,76,.5); }


/* ══════════════════════════════════════════════════════════
   THEME 9 — ICE  (arctic blue · rounded · crisp)
══════════════════════════════════════════════════════════ */
.ha-theme-ice.ha-gallery-wrapper {
    background:#ddeaf8; padding:2.5rem 2rem 3.5rem; color:#1e3a5f;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.ha-theme-ice .ha-gallery-grid { grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.ha-theme-ice .ha-gallery-header { display:flex; align-items:center; gap:1.25rem; margin-bottom:2rem; padding-bottom:1rem; border-bottom:2px solid #b0cce8; }
.ha-theme-ice .ha-gallery-title { font-size:1.9rem; font-weight:800; color:#0d2640; letter-spacing:.04em; margin:0; text-transform:uppercase; }
.ha-theme-ice .ha-gallery-subtitle { font-size:.72rem; color:#4a7db5; letter-spacing:.22em; text-transform:uppercase; }
.ha-theme-ice .ha-gallery-item { background:#fff; border:1.5px solid #b0cce8; border-radius:14px; transition:box-shadow .3s,transform .3s,border-color .3s; }
.ha-theme-ice .ha-gallery-item:hover { box-shadow:0 12px 40px rgba(30,58,95,.15),0 0 0 3px rgba(74,125,181,.15); transform:translateY(-3px); border-color:#4a7db5; }
.ha-theme-ice .ha-category-title { font-size:.65rem; font-weight:700; color:#4a7db5; letter-spacing:.18em; text-transform:uppercase; padding:.65rem .9rem; background:#f0f7ff; border-bottom:1px solid #c8dff0; }
.ha-theme-ice .ha-slider__vignette { background:radial-gradient(ellipse at center,transparent 55%,rgba(30,58,95,.18) 100%); }
.ha-theme-ice .ha-arrow { background:rgba(255,255,255,.92); border:1.5px solid #b0cce8; color:#1e3a5f; width:30px; height:46px; box-shadow:0 2px 8px rgba(30,58,95,.12); transition:background .2s,color .2s; }
.ha-theme-ice .ha-arrow--prev { border-left:none; border-radius:0 8px 8px 0; }
.ha-theme-ice .ha-arrow--next { border-right:none; border-radius:8px 0 0 8px; }
.ha-theme-ice .ha-arrow:hover { background:#1e3a5f; color:#fff; border-color:#1e3a5f; }
.ha-theme-ice .ha-thumbnails { gap:3px; padding:3px; background:#ddeaf8; }
.ha-theme-ice .ha-thumb { background:#f0f7ff; border-radius:4px; }
.ha-theme-ice .ha-thumb--active::after { border-color:#1e3a5f; }
.ha-theme-ice .ha-slide-counter { color:rgba(30,58,95,.5); }


/* ══════════════════════════════════════════════════════════
   THEME 10 — SUNSET  (deep dark · coral gradient · warm glow)
══════════════════════════════════════════════════════════ */
.ha-theme-sunset.ha-gallery-wrapper {
    background:linear-gradient(170deg,#130805 0%,#2a0e07 55%,#180612 100%);
    padding:2.5rem 2rem 3.5rem; color:#ffd4b8;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.ha-theme-sunset .ha-gallery-grid { grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.ha-theme-sunset .ha-gallery-header { text-align:center; margin-bottom:2.5rem; display:block; }
.ha-theme-sunset .ha-gallery-title { font-size:2.1rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; margin:0 0 .3rem; display:block; background:linear-gradient(135deg,#ff6b35 0%,#ffb347 50%,#ff6b35 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.ha-theme-sunset .ha-gallery-subtitle { font-size:.72rem; color:#ff6b35; letter-spacing:.25em; text-transform:uppercase; }
.ha-theme-sunset .ha-gallery-item { background:rgba(255,255,255,.04); border:1px solid rgba(255,107,53,.2); border-radius:12px; backdrop-filter:blur(4px); transition:border-color .3s,box-shadow .3s,transform .3s; }
.ha-theme-sunset .ha-gallery-item:hover { border-color:rgba(255,107,53,.55); box-shadow:0 12px 40px rgba(0,0,0,.55),0 0 30px rgba(255,107,53,.14); transform:translateY(-3px); }
.ha-theme-sunset .ha-category-title { font-size:.62rem; font-weight:700; color:#ff6b35; letter-spacing:.22em; text-transform:uppercase; padding:.65rem .9rem; background:rgba(0,0,0,.32); border-bottom:1px solid rgba(255,107,53,.15); display:flex; align-items:center; gap:.45rem; }
.ha-theme-sunset .ha-category-title::before { content:''; width:5px; height:5px; background:#ff6b35; border-radius:50%; box-shadow:0 0 8px #ff6b35; display:inline-block; flex-shrink:0; }
.ha-theme-sunset .ha-arrow { background:rgba(0,0,0,.65); border:1px solid rgba(255,107,53,.3); color:#ff6b35; width:28px; height:44px; transition:all .2s; }
.ha-theme-sunset .ha-arrow--prev { border-left:none; border-radius:0 4px 4px 0; }
.ha-theme-sunset .ha-arrow--next { border-right:none; border-radius:4px 0 0 4px; }
.ha-theme-sunset .ha-arrow:hover { background:#ff6b35; color:#fff; border-color:#ff6b35; }
.ha-theme-sunset .ha-thumbnails { gap:2px; padding:2px; background:rgba(0,0,0,.35); }
.ha-theme-sunset .ha-thumb { background:rgba(255,107,53,.08); }
.ha-theme-sunset .ha-thumb--active::after { border-color:#ff6b35; }
.ha-theme-sunset .ha-slide-counter { color:rgba(255,107,53,.65); }


/* ══════════════════════════════════════════════════════════
   LQIP / Progressive Image Loading
══════════════════════════════════════════════════════════ */
.ha-gallery-wrapper .ha-slide img {
    transition: opacity .4s cubic-bezier(.4,0,.2,1), filter .4s cubic-bezier(.4,0,.2,1);
    filter: blur(0px);
}
/* While LQIP placeholder is showing (full image not yet loaded) */
.ha-gallery-wrapper .ha-slide img:not(.ha-img--loaded)[data-src] {
    filter: blur(8px);
    transform: scale(1.04);
    transition: none;
}
.ha-gallery-wrapper .ha-slide img.ha-img--loaded {
    filter: blur(0px);
    transform: scale(1);
    transition: opacity .4s ease, filter .5s ease, transform .5s ease;
}
.ha-gallery-wrapper .ha-thumb img:not(.ha-img--loaded)[data-src] {
    filter: blur(6px);
}
.ha-gallery-wrapper .ha-thumb img.ha-img--loaded {
    filter: none;
    transition: filter .4s ease;
}


/* ══════════════════════════════════════════════════════════
   LIGHTBOX
══════════════════════════════════════════════════════════ */
.ha-lightbox {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 999999;
    align-items: center;
    justify-content: center;
}
.ha-lightbox.ha-lb--open { display: flex; }

.ha-lb-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.92);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    animation: haLbFadeIn .25s ease;
}

@keyframes haLbFadeIn { from { opacity:0; } to { opacity:1; } }

.ha-lb-content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: min(90vw, 1200px);
    max-height: 95vh;
    animation: haLbSlideIn .25s cubic-bezier(.4,0,.2,1);
}

@keyframes haLbSlideIn { from { opacity:0; transform:scale(.95); } to { opacity:1; transform:scale(1); } }

.ha-lb-img-wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-height: 80vh;
}

.ha-lb-img {
    max-width: 100%;
    max-height: 80vh;
    object-fit: contain;
    display: block;
    border-radius: 4px;
    box-shadow: 0 32px 80px rgba(0,0,0,.7);
    transition: opacity .3s ease;
}

.ha-lb-close {
    position: absolute;
    top: -2.5rem;
    right: 0;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.2);
    color: #fff;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .2s;
    padding: 0;
}
.ha-lb-close:hover { background: rgba(255,255,255,.25); }

.ha-lb-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.2);
    color: #fff;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .2s;
    padding: 0;
}
.ha-lb-arrow:hover { background: rgba(255,255,255,.25); }
.ha-lb-arrow--prev { left: -3.5rem; }
.ha-lb-arrow--next { right: -3.5rem; }

@media (max-width: 680px) {
    .ha-lb-arrow--prev { left: .5rem; }
    .ha-lb-arrow--next { right: .5rem; }
    .ha-lb-close { top: .5rem; right: .5rem; position: fixed; }
}

.ha-lb-caption {
    margin-top: .75rem;
    font-size: .78rem;
    color: rgba(255,255,255,.45);
    letter-spacing: .1em;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Spinner */
.ha-lb-spinner {
    display: none;
    position: absolute;
    inset: 0;
    align-items: center;
    justify-content: center;
    gap: 6px;
}
.ha-lb-spinner div {
    width: 8px; height: 8px;
    background: rgba(255,255,255,.6);
    border-radius: 50%;
    animation: haLbBounce 1.2s ease-in-out infinite;
}
.ha-lb-spinner div:nth-child(1) { animation-delay: 0s; }
.ha-lb-spinner div:nth-child(2) { animation-delay: .15s; }
.ha-lb-spinner div:nth-child(3) { animation-delay: .3s; }
.ha-lb-spinner div:nth-child(4) { animation-delay: .45s; }
@keyframes haLbBounce {
    0%, 80%, 100% { transform: scale(.6); opacity:.4; }
    40%            { transform: scale(1);  opacity:1;  }
}
