/* ══════════════════════════════════════
   FILTER GALLERY SECTION CSS
   Filter buttons + Masonry + Lightbox
══════════════════════════════════════ */

.fgal-section {
  background: #fff7f7;
  padding: 60px 40px;
  font-family: 'Poppins', sans-serif;
}

/* ── Filter Buttons ── */
.fgal-filters {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin-bottom: 40px;
  flex-wrap: wrap;
}

.fgal-btn {
  padding: 10px 22px;
  font-family: 'Poppins', sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  background: transparent;
  border: 1px solid #ffe2e4;
  color: #888;
  cursor: pointer;
  transition: background 0.25s, border-color 0.25s, color 0.25s;
}
.fgal-btn:hover {
  border-color: #e30613;
  color: #e30613;
}
.fgal-btn.active {
  background: #e30613;
  border-color: #e30613;
  color: #fff;
}

/* ── Masonry Grid (CSS columns) ── */
.fgal-grid {
  max-width: 1100px;
  margin: 0 auto;
  columns: 4;
  column-gap: 8px;
}

/* ── Gallery Item ── */
.fgal-item {
  break-inside: avoid;
  margin-bottom: 8px;
  overflow: hidden;
  cursor: pointer;
  position: relative;
  display: block;
}

.fgal-item img {
  width: 100%;
  display: block;
  transition: transform 0.5s ease, filter 0.4s ease;
}
.fgal-item:hover img {
  transform: scale(1.06);
  filter: brightness(0.62);
}

/* Hidden state when filter applied */
.fgal-item.hidden { display: none; }

/* ── Hover Overlay ── */
.fgal-overlay {
  position: absolute;
  inset: 0;
  background: rgba(20,17,12,0);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.35s ease;
}
.fgal-item:hover .fgal-overlay {
  background: rgba(20,17,12,0.28);
}

/* Magnifier icon */
.fgal-icon {
  width: 50px; height: 50px;
  border: 2px solid #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.12);
  opacity: 0;
  transform: scale(0.5);
  transition: opacity 0.32s ease, transform 0.32s ease;
}
.fgal-item:hover .fgal-icon {
  opacity: 1;
  transform: scale(1);
}
.fgal-icon svg {
  width: 20px; height: 20px;
  fill: none; stroke: #fff;
  stroke-width: 2; stroke-linecap: round;
}

/* ══════════════════════════════════════
   LIGHTBOX
══════════════════════════════════════ */
.fgal-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.92);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.fgal-lightbox.active {
  visibility: visible;
  opacity: 1;
}
.fgal-lightbox img {
  max-width: 90vw;
  max-height: 88vh;
  object-fit: contain;
  display: block;
  border: 2px solid #e30613;
}
.fgal-lb-close {
  position: absolute;
  top: 24px; right: 32px;
  width: 38px; height: 38px;
  background: none;
  border: 1px solid rgba(184,168,130,0.5);
  color: #e30613;
  font-size: 22px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s, color 0.2s;
  line-height: 1;
}
.fgal-lb-close:hover { background: #e30613; color: #ffffff; }

/* ══════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════ */
@media (max-width: 900px) {
  .fgal-grid    { columns: 3; }
  .fgal-section { padding: 50px 24px; }
}
@media (max-width: 600px) {
  .fgal-grid    { columns: 2; }
  .fgal-section { padding: 40px 16px; }
  .fgal-btn     { padding: 9px 14px; font-size: 9px; }
}
@media (max-width: 400px) {
  .fgal-grid { columns: 1; }
}

/* Viaan Infra red brand theme update */
:root{
  --viaan-red:#e30613;
  --viaan-red-dark:#b8000a;
  --viaan-red-soft:#fff2f3;
  --viaan-dark:#181818;
  --viaan-text:#222222;
}
html, body{font-family:'Poppins', Arial, sans-serif !important;background:#ffffff;color:var(--viaan-text);}
h1,h2,h3,h4,h5,h6,.bld-hero-title,.hero-title,.section-title,.about-title{font-family:'Poppins', Arial, sans-serif !important;font-weight:800;letter-spacing:-0.03em;}
p,li,a,span,button,input,textarea,select{font-family:'Poppins', Arial, sans-serif !important;}
.nav-logo img,.footer-logo img{max-height:82px;object-fit:contain;}
.navbar,.nav-header,.header,.main-header{background:#ffffff !important;border-color:#ffd6d9 !important;box-shadow:0 8px 28px rgba(227,6,19,.08) !important;}
.nav-menu a,.nav-link,.mobile-menu a{color:var(--viaan-dark) !important;font-weight:600;}
.nav-menu a:hover,.nav-link:hover,.nav-menu .active,.nav-link.active{color:var(--viaan-red) !important;}
.bld-hero,.hero,.main-hero,.page-banner,.banner,.inner-banner{background-color:var(--viaan-dark) !important;}
.bld-hero::before,.hero::before,.main-hero::before,.page-banner::before,.banner::before{background:linear-gradient(90deg,rgba(24,24,24,.88),rgba(227,6,19,.55),rgba(24,24,24,.25)) !important;}
.bld-hero-overlay,.hero-overlay,.banner-overlay{background:linear-gradient(90deg,rgba(24,24,24,.86),rgba(227,6,19,.52)) !important;}
.bld-hero-title,.hero-title,.banner-title{color:#ffffff !important;text-shadow:0 4px 18px rgba(0,0,0,.35);}
.bld-hero-subtitle,.hero-subtitle,.banner-subtitle{color:#ffe2e4 !important;}
.btn,.button,.theme-btn,.primary-btn,.read-more,.cta-btn,button[type='submit'],input[type='submit']{background:var(--viaan-red) !important;color:#ffffff !important;border-color:var(--viaan-red) !important;border-radius:6px !important;font-weight:700 !important;box-shadow:0 10px 24px rgba(227,6,19,.22) !important;}
.btn:hover,.button:hover,.theme-btn:hover,.primary-btn:hover,.read-more:hover,.cta-btn:hover,button[type='submit']:hover,input[type='submit']:hover{background:var(--viaan-red-dark) !important;border-color:var(--viaan-red-dark) !important;color:#ffffff !important;}
a{color:var(--viaan-red);} a:hover{color:var(--viaan-red-dark);}
.section-label,.eyebrow,.about-hero-eyebrow,.subtitle,.tagline,.logo-tagline{color:var(--viaan-red) !important;font-weight:700 !important;}
.title-underline,.section-title:after,.heading-line,.divider,.bld-hero-divider{background:var(--viaan-red) !important;border-color:var(--viaan-red) !important;}
.card,.project-card,.service-card,.feature-card,.faq-item,.amenity-card,.blog-card,.contact-card,.team-card{border-color:#ffd6d9 !important;box-shadow:0 12px 32px rgba(227,6,19,.08) !important;}
.card:hover,.project-card:hover,.service-card:hover,.feature-card:hover,.blog-card:hover{box-shadow:0 18px 44px rgba(227,6,19,.16) !important;transform:translateY(-3px);}
.icon,.service-icon,.feature-icon,.contact-icon,i{color:var(--viaan-red) !important;}
footer,.footer{background:#181818 !important;color:#ffffff !important;}
footer a,.footer a{color:#ffe2e4 !important;} footer a:hover,.footer a:hover{color:#ffffff !important;}
footer h1,footer h2,footer h3,footer h4,.footer h1,.footer h2,.footer h3,.footer h4{color:#ffffff !important;}
.footer-bottom,.copyright{border-color:rgba(227,6,19,.35) !important;}
.social-icon, .social a{background:rgba(227,6,19,.12) !important;color:#ffffff !important;border-color:rgba(227,6,19,.35) !important;}
.social-icon:hover,.social a:hover{background:var(--viaan-red) !important;}
input:focus,textarea:focus,select:focus{border-color:var(--viaan-red) !important;box-shadow:0 0 0 3px rgba(227,6,19,.12) !important;outline:none;}
.badge,.counter,.count,.project-status,.highlight{background:var(--viaan-red-soft) !important;color:var(--viaan-red) !important;border-color:#ffd6d9 !important;}
::selection{background:var(--viaan-red);color:#ffffff;}
