:root{
  --rose-50:#f7e9f5;
  --rose-200:#e9cfe6;
  --rose-400:#d9a9d2;
}
.gal-card,.gal-card.reveal,.gal-card.reveal.visible{opacity:1!important;transform:none!important;visibility:visible!important;filter:none!important}
.gal-card img,.gal-card .gal-card-title,.gal-card .gal-card-sub{opacity:1!important;visibility:visible!important;filter:none!important}
.gal-card img{display:block!important}
.gal-hero{background:var(--rose-400);padding:18px 0 22px}
.gal-back{display:inline-flex;align-items:center;gap:6px;color:#fff;font-size:13px;text-decoration:none;opacity:.85;margin-bottom:12px;transition:opacity .15s}
.gal-back:hover{opacity:1}
.gal-back svg{width:14px;height:14px}
.gal-title{font-size:clamp(20px,3vw,28px);font-weight:600;color:#fff;margin:0 0 4px}
.gal-sub{font-size:13px;color:rgba(255,255,255,.78);margin:0}
.gal-wrap{padding:28px 0 60px}
.gal-count{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#aaa;margin-bottom:18px}
.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gal-card{background:#fff;border:0.5px solid #ece9e3;border-radius:10px;overflow:hidden;cursor:pointer;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.gal-card:hover{transform:translateY(-4px)!important;border-color:var(--rose-400);box-shadow:0 8px 24px rgba(217,169,210,.18)}
.gal-card-img-wrap{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--rose-50)}
.gal-card-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.gal-card:hover .gal-card-img-wrap img{transform:scale(1.06)}
.gal-card-overlay{position:absolute;inset:0;background:rgba(0,0,0,0);display:flex;align-items:center;justify-content:center;transition:background .22s}
.gal-card:hover .gal-card-overlay{background:rgba(217,169,210,.28)}
.gal-zoom-icon{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.8);transition:opacity .22s,transform .22s}
.gal-card:hover .gal-zoom-icon{opacity:1;transform:scale(1)}
.gal-zoom-icon svg{width:16px;height:16px;stroke:var(--rose-400);fill:none;stroke-width:2;stroke-linecap:round}
.gal-card-info{padding:12px 14px 14px;border-top:0.5px solid #f2f0eb}
.gal-card-title{font-size:14px;font-weight:500;color:#1a1a1a;margin:0 0 3px}
.gal-card-sub{font-size:12px;color:#bbb;margin:0}
.gal-empty{text-align:center;padding:60px 20px;color:#aaa;font-size:14px}
.gal-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:36px}
.gal-page-btn{width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid var(--rose-200);color:var(--rose-400);cursor:pointer;text-decoration:none;display:flex;align-items:center;justify-content:center;transition:all .15s}
.gal-page-btn:hover:not(:disabled):not(.is-disabled){background:var(--rose-400);color:#fff;border-color:var(--rose-400)}
.gal-page-btn:disabled,.gal-page-btn.is-disabled{opacity:.35;cursor:not-allowed;pointer-events:none}
.gal-page-btn svg{width:13px;height:13px}
.gal-page-num{font-size:14px;font-weight:500}
.gal-page-btn.is-current{background:var(--rose-400);color:#fff;border-color:var(--rose-400);cursor:default}
.gal-page-info{font-size:13px;color:#777;font-weight:500;min-width:100px;text-align:center}
.lb-overlay{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:1000;display:flex;align-items:center;justify-content:center;gap:16px;padding:20px;opacity:0;pointer-events:none;transition:opacity .25s}
.lb-overlay.is-open{opacity:1;pointer-events:all}
.lb-content{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:90vw;max-height:90vh}
.lb-img{max-width:80vw;max-height:78vh;object-fit:contain;border-radius:6px;display:block}
.lb-caption{display:flex;flex-direction:column;align-items:center;gap:3px}
.lb-cap-title{font-size:15px;font-weight:500;color:#f0f0f0}
.lb-cap-sub{font-size:12px;color:#777}
.lb-close{position:fixed;top:18px;right:18px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.1);border:0.5px solid rgba(255,255,255,.2);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}
.lb-close:hover{background:rgba(255,255,255,.2)}
.lb-close svg{width:13px;height:13px}
.lb-arrow{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.08);border:0.5px solid rgba(255,255,255,.15);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,border-color .15s}
.lb-arrow:hover{background:rgba(217,169,210,.25);border-color:var(--rose-400)}
.lb-arrow svg{width:16px;height:16px}
@media(max-width:768px){
  .gal-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .lb-arrow{display:none}
  .lb-img{max-width:95vw;max-height:70vh}
}
@media(max-width:480px){
  .gal-grid{grid-template-columns:1fr}
}
