:root{
  --brand:#2563eb; --text:#0f172a; --muted:#64748b; --line:#e5e7eb;
  --surface:#fff; --shadow:0 12px 24px rgba(2,6,23,.10);
}
.gallery-page .container{ width:min(1200px,92%); margin-inline:auto; }

.gallery-page .g-hero{  background:linear-gradient(180deg,#0b3a78,#0a2f63);
   border:1px solid var(--line); border-radius:12px; margin-top:12px; padding:52px 0 38px; }
.gallery-page .breadcrumb-mini{ font-size:.9rem; color:var(--muted); margin-bottom:.35rem; }
.gallery-page .breadcrumb-mini a{ color:var(--brand); text-decoration:none; }
.gallery-page .g-hero h1{ font-weight:800; margin:0 0 .35rem; }
.gallery-page .g-hero .sub{ color:var(--muted); }

.gallery-page .g-controls{ padding:16px 0; }
.gallery-page .filters{ display:flex; flex-wrap:wrap; gap:8px; }
.gallery-page .f-btn{
  border:1px solid var(--line); background:#fff; color:var(--text);
  padding:8px 14px; border-radius:999px; font-weight:600; text-decoration:none;
  transition:background .2s, color .2s, box-shadow .2s, transform .2s;
}
.gallery-page .f-btn:hover{ transform:translateY(-1px); box-shadow:0 8px 18px rgba(2,6,23,.08);}
.gallery-page .f-btn.active{  background-color: #0a2f63;
  color: #fff;
  font-weight: 600;
  
  border-color:transparent; }

.gallery-page .g-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; padding-bottom:40px; }
@media (max-width:1100px){ .gallery-page .g-grid{ grid-template-columns:repeat(3,1fr);} }
@media (max-width:760px){  .gallery-page .g-grid{ grid-template-columns:repeat(2,1fr);} }
@media (max-width:480px){  .gallery-page .g-grid{ grid-template-columns:1fr;} }

.gallery-page .g-card{ position:relative; overflow:hidden; border-radius:14px; background:#ddd; box-shadow:var(--shadow); }
.gallery-page .g-card img{ width:100%; height:240px; object-fit:cover; display:block; transition:transform .5s ease; }
.gallery-page .g-card:hover img{ transform:scale(1.05); }
.gallery-page .g-card figcaption{
  position:absolute; left:0; right:0; bottom:0;
  padding:10px 12px; color:#fff; background:linear-gradient(180deg,transparent,rgba(0,0,0,.65));
  font-size:.95rem;
    display: none !important;

}




.gallery-page .g-actions{ text-align:center; }
.gallery-page .btn-more{
  display:inline-block; 
   background-color: #0a2f63;
  color: #fff;
  font-weight: 600;
   border:none; border-radius:999px;
  padding:11px 22px; font-weight:700; text-decoration:none; box-shadow:0 10px 22px rgba(37,99,235,.28);
  transition: background .25s, transform .25s, box-shadow .25s, opacity .25s;
}
.gallery-page .btn-more:hover{  background-color: #2980B9;
  color: #fff; transform: translateY(-2px); box-shadow:0 14px 28px rgba(37,99,235,.36); }
.gallery-page .btn-more.hidden{ opacity:0; pointer-events:none; }

/* lightbox */
.gallery-page .lightbox{ position:fixed; inset:0; background:rgba(0,0,0,.8); display:none; align-items:center; justify-content:center; z-index:1050; }
.gallery-page .lightbox.show{ display:flex; animation: lbIn .2s ease; }
@keyframes lbIn { from{ opacity:0 } to { opacity:1 } }
.gallery-page .lb-img{ max-width:92vw; max-height:86vh; border-radius:8px; box-shadow:0 16px 40px rgba(0,0,0,.5); }
.gallery-page .lb-close{ position:absolute; top:16px; right:18px; font-size:32px; color:#fff; background:transparent; border:none; cursor:pointer; }

/* fade-in */
.gallery-page .fade{ opacity:0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.gallery-page .fade.show{ opacity:1; transform: none;
      color: #ffd24d;
      font-weight:700;
       letter-spacing: 0.1rem; 
}
