.ifbs-single,.ifbs-single *{box-sizing:border-box}
.ifbs-single{
  --ifbs-navy:#073f69;--ifbs-navy2:#052f51;--ifbs-cyan:#35c8d8;--ifbs-orange:#ff6745;
  --ifbs-ink:#102b43;--ifbs-muted:#6f7f90;--ifbs-line:#e3e9ee;--ifbs-bg:#f4f6f8;
  width:100%;overflow:hidden;background:var(--ifbs-bg);color:var(--ifbs-ink);
  font-family:"Poppins",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  padding:26px 0 90px
}
.ifbs-progress{position:fixed;z-index:99999;top:0;left:0;right:0;height:3px;pointer-events:none;background:transparent}
.ifbs-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--ifbs-navy),var(--ifbs-cyan),var(--ifbs-orange));transform-origin:left center}
.ifbs-shell{width:min(1320px,calc(100% - 44px));margin:0 auto}
.ifbs-breadcrumb{display:flex;align-items:center;gap:10px;min-height:44px;margin-bottom:10px;color:#8a99a7;font-size:10.5px}
.ifbs-breadcrumb a{display:inline-flex;align-items:center;gap:7px;color:#47627a!important;text-decoration:none!important;font-weight:600}
.ifbs-breadcrumb svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ifbs-breadcrumb i{width:3px;height:3px;border-radius:50%;background:#bec9d1}
.ifbs-hero{
  min-height:390px;position:relative;overflow:hidden;display:flex;align-items:flex-end;
  padding:clamp(34px,4.6vw,58px);border-radius:30px;color:#fff;
  background:radial-gradient(circle at 82% 14%,rgba(53,200,216,.30),transparent 25%),
  radial-gradient(circle at 98% 102%,rgba(255,103,69,.18),transparent 30%),
  linear-gradient(125deg,#031f38 0%,#073f69 54%,#052a48 100%);
  box-shadow:0 20px 54px rgba(7,63,105,.11);isolation:isolate
}
.ifbs-hero:before{content:"";position:absolute;inset:0;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:58px 58px;pointer-events:none}
.ifbs-hero-copy{position:relative;z-index:3;width:min(790px,70%)}
.ifbs-category{width:max-content;max-width:100%;display:inline-flex;align-items:center;min-height:32px;padding:7px 11px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.08);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);color:#bfeef2;font-size:10px;font-weight:650;letter-spacing:.55px;text-transform:uppercase}
.ifbs-hero h1{margin:16px 0 0;color:#fff;font-size:clamp(32px,4vw,52px);line-height:1.08;letter-spacing:-.042em;font-weight:650;text-wrap:balance}
.ifbs-meta{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:22px;color:rgba(255,255,255,.68)}
.ifbs-author{display:flex;align-items:center;gap:10px}.ifbs-avatar{width:42px;height:42px;overflow:hidden;border-radius:14px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.08)}.ifbs-avatar img{width:100%;height:100%;display:block;object-fit:cover}
.ifbs-author strong,.ifbs-author span,.ifbs-meta-item strong,.ifbs-meta-item span{display:block}
.ifbs-author strong,.ifbs-meta-item strong{color:#fff;font-size:11px;font-weight:600}.ifbs-author span,.ifbs-meta-item span{margin-top:2px;color:rgba(255,255,255,.52);font-size:9.5px}
.ifbs-meta-sep{width:1px;height:30px;background:rgba(255,255,255,.15)}
.ifbs-hero-visual{position:absolute;right:0;top:0;width:34%;height:100%;overflow:hidden;pointer-events:none}
.ifbs-orb{position:absolute;width:390px;height:390px;right:-180px;top:-140px;border-radius:50%;border:64px solid rgba(132,208,229,.11);box-shadow:0 0 90px rgba(53,200,216,.08),inset 0 0 70px rgba(255,255,255,.04);animation:ifbs-float 9s ease-in-out infinite alternate}
.ifbs-bars{position:absolute;right:22px;bottom:0;width:82%;height:58%;display:flex;align-items:flex-end;justify-content:flex-end;gap:11px}
.ifbs-bars i{width:20%;border-radius:24px 24px 0 0;background:linear-gradient(to top,rgba(53,200,216,.82),rgba(0,95,175,.05));animation:ifbs-bars 5.4s ease-in-out infinite alternate}.ifbs-bars i:nth-child(1){height:32%}.ifbs-bars i:nth-child(2){height:48%;animation-delay:-1s}.ifbs-bars i:nth-child(3){height:68%;animation-delay:-2s}.ifbs-bars i:nth-child(4){height:88%;animation-delay:-3s}
.ifbs-hero-word{position:absolute;right:-30px;bottom:-32px;font-size:180px;line-height:.8;font-weight:700;letter-spacing:-.08em;color:rgba(255,255,255,.035)}
@keyframes ifbs-float{to{transform:translate(-28px,20px) rotate(6deg)}}@keyframes ifbs-bars{from{transform:translateY(14px);opacity:.65}to{transform:translateY(-5px);opacity:1}}
.ifbs-cover{position:relative;overflow:hidden;margin:14px 0 0;border-radius:26px;background:#dce6ed;box-shadow:0 16px 46px rgba(17,48,74,.07)}.ifbs-cover img{width:100%;max-height:620px;display:block;object-fit:cover}
.ifbs-layout{display:grid;grid-template-columns:245px minmax(0,820px);justify-content:center;gap:34px;align-items:start;margin-top:20px}
.ifbs-rail{position:relative;min-width:0}.ifbs-rail-card,.ifbs-toc{position:relative;padding:21px;border:1px solid var(--ifbs-line);border-radius:22px;background:rgba(255,255,255,.88);box-shadow:0 8px 24px rgba(21,51,76,.035);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.ifbs-rail-card{position:sticky;top:110px}.ifbs-toc{margin-top:14px}
.ifbs-rail-label{margin-bottom:12px;color:#9aa7b2;font-size:8.5px;font-weight:650;letter-spacing:1.2px;text-transform:uppercase}
.ifbs-rail-stat{padding:11px 0;border-top:1px solid #edf1f4}.ifbs-rail-stat span,.ifbs-rail-stat strong{display:block}.ifbs-rail-stat span{color:#9aa7b2;font-size:8.5px}.ifbs-rail-stat strong{margin-top:3px;color:#284b65;font-size:10.5px;font-weight:600;line-height:1.4}
.ifbs-share{padding-top:14px;margin-top:5px;border-top:1px solid #edf1f4}.ifbs-share-row{display:flex;gap:7px}.ifbs-share-row a,.ifbs-share-row button{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid #e5ebef;border-radius:11px;background:#f8fafb;color:var(--ifbs-navy)!important;text-decoration:none!important;cursor:pointer;transition:.25s ease}.ifbs-share-row a:hover,.ifbs-share-row button:hover{transform:translateY(-2px);background:var(--ifbs-navy);color:#fff!important;border-color:var(--ifbs-navy)}
.ifbs-share-row svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.ifbs-copy-status{display:block;min-height:14px;margin-top:7px;color:#6d8394;font-size:8.5px}
.ifbs-toc>div:last-child{display:flex;flex-direction:column;gap:7px}.ifbs-toc a{color:#627789!important;text-decoration:none!important;font-size:9.5px;line-height:1.45}.ifbs-toc a.is-h3{padding-left:10px;color:#8594a1!important}.ifbs-toc a.is-active{color:var(--ifbs-navy)!important;font-weight:650}
.ifbs-article{min-width:0}.ifbs-content{padding:clamp(28px,3.2vw,44px);border:1px solid var(--ifbs-line);border-radius:28px;background:#fff;box-shadow:0 12px 32px rgba(17,48,74,.045);color:#405c72;font-size:14.5px;line-height:1.82}
.ifbs-content>*:first-child{margin-top:0}.ifbs-content>*:last-child{margin-bottom:0}
.ifbs-content p{margin:0 0 22px}.ifbs-content h2,.ifbs-content h3,.ifbs-content h4{color:#0c3c61;letter-spacing:-.025em;font-weight:650;scroll-margin-top:120px}.ifbs-content h2{margin:36px 0 14px;font-size:clamp(24px,2.2vw,31px);line-height:1.2}.ifbs-content h3{margin:30px 0 12px;font-size:20px;line-height:1.28}.ifbs-content h4{margin:28px 0 11px;font-size:18px}
.ifbs-content a{color:#0877be;text-decoration-thickness:1px;text-underline-offset:3px}.ifbs-content strong{color:#213f56}.ifbs-content ul,.ifbs-content ol{margin:0 0 24px;padding-left:1.35em}.ifbs-content li{margin:8px 0;padding-left:4px}
.ifbs-content blockquote{margin:32px 0;padding:22px 24px;border-left:3px solid var(--ifbs-cyan);border-radius:0 18px 18px 0;background:#f0f8fa;color:#37566c;font-size:16px;line-height:1.75}
.ifbs-content img{max-width:100%;height:auto;border-radius:20px}.ifbs-content figure{max-width:100%;margin:30px 0}.ifbs-content figcaption{margin-top:8px;color:#929faa;font-size:9.5px;text-align:center}
.ifbs-content .wp-block-image,.ifbs-content .wp-block-gallery,.ifbs-content .gallery{margin:30px 0}.ifbs-content .wp-block-gallery,.ifbs-content .gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ifbs-content .wp-block-gallery figure,.ifbs-content .gallery-item{margin:0!important}.ifbs-content .wp-block-gallery img,.ifbs-content .gallery img{width:100%;height:100%;min-height:230px;object-fit:cover;border-radius:18px}
.ifbs-content hr{margin:40px 0;border:0;border-top:1px solid #e6ecf0}.ifbs-content table{width:100%;border-collapse:collapse;margin:28px 0;font-size:12px}.ifbs-content th,.ifbs-content td{padding:12px;border:1px solid #e1e8ed;text-align:left}.ifbs-content th{background:#f3f7f9;color:#244b68}
.ifbs-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.ifbs-tags a{padding:7px 10px;border:1px solid #dfe7ec;border-radius:999px;background:#fff;color:#587083!important;text-decoration:none!important;font-size:9.5px}
.ifbs-post-end{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding:20px 22px;border:1px solid var(--ifbs-line);border-radius:20px;background:#fff}.ifbs-post-end span,.ifbs-post-end strong{display:block}.ifbs-post-end span{color:#96a3ad;font-size:8.5px}.ifbs-post-end strong{margin-top:2px;color:#34536b;font-size:10px}.ifbs-post-end>a{display:inline-flex;align-items:center;gap:8px;color:var(--ifbs-navy)!important;text-decoration:none!important;font-size:10px;font-weight:650}.ifbs-post-end>a svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ifbs-post-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px}.ifbs-post-nav-card{min-height:130px;display:flex;flex-direction:column;justify-content:center;padding:22px 24px;border:1px solid var(--ifbs-line);border-radius:22px;background:#fff;text-decoration:none!important;transition:.3s ease}.ifbs-post-nav-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(17,48,74,.06)}.ifbs-post-nav-card span{color:#9aa7b2;font-size:8.5px;text-transform:uppercase;letter-spacing:.8px}.ifbs-post-nav-card strong{margin-top:8px;color:#1c4767;font-size:15px;line-height:1.42}.ifbs-post-nav-card.is-next{text-align:right}
.ifbs-related{margin-top:46px}.ifbs-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.ifbs-section-head span{color:#8a9aaa;font-size:9px;text-transform:uppercase;letter-spacing:1px}.ifbs-section-head h2{margin:5px 0 0;color:#0d3f65;font-size:30px;letter-spacing:-.035em}.ifbs-section-head>a{display:inline-flex;align-items:center;gap:8px;color:var(--ifbs-navy)!important;text-decoration:none!important;font-size:10px;font-weight:650}.ifbs-section-head>a svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.ifbs-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ifbs-related-card{overflow:hidden;border:1px solid var(--ifbs-line);border-radius:23px;background:#fff;box-shadow:0 8px 22px rgba(17,48,74,.035);transition:.3s ease}.ifbs-related-card:hover{transform:translateY(-4px);box-shadow:0 17px 34px rgba(17,48,74,.075)}
.ifbs-related-media{position:relative;display:block;height:190px;overflow:hidden;background:#dfe8ed}.ifbs-related-media>span{position:absolute;inset:0;background:radial-gradient(circle at 75% 20%,rgba(53,200,216,.45),transparent 30%),linear-gradient(135deg,#052f51,#0c6089)}.ifbs-related-media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s ease}.ifbs-related-card:hover img{transform:scale(1.04)}
.ifbs-related-copy{padding:19px}.ifbs-related-meta{display:flex;align-items:center;gap:7px;color:#91a0ab;font-size:8.5px}.ifbs-related-meta i{width:3px;height:3px;border-radius:50%;background:#b9c5ce}.ifbs-related-copy h3{margin:11px 0 0;font-size:16px;line-height:1.42}.ifbs-related-copy h3 a{color:#163f5e!important;text-decoration:none!important}.ifbs-related-link{display:inline-flex;align-items:center;gap:7px;margin-top:17px;color:#557087!important;text-decoration:none!important;font-size:9.5px;font-weight:600}.ifbs-related-link svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}
.ifbs-cta{min-height:210px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:58px;padding:38px 46px;border-radius:28px;color:#fff;background:radial-gradient(circle at 88% 16%,rgba(53,200,216,.28),transparent 25%),linear-gradient(120deg,#052f51,#073f69 58%,#052a48)}.ifbs-cta:after{content:"";position:absolute;right:-30px;bottom:-100px;width:330px;height:330px;border-radius:50%;border:48px solid rgba(255,255,255,.04)}.ifbs-cta>div{position:relative;z-index:2}.ifbs-cta>div:first-child{max-width:700px}.ifbs-cta span{color:#9be3eb;font-size:9px;text-transform:uppercase;letter-spacing:1px}.ifbs-cta h2{margin:7px 0 0;color:#fff;font-size:clamp(27px,3vw,40px);letter-spacing:-.04em}.ifbs-cta p{margin:12px 0 0;color:rgba(255,255,255,.68);font-size:12px;line-height:1.65}
.ifbs-cta-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ifbs-cta-actions a{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:14px;text-decoration:none!important;font-size:10px;font-weight:650}.ifbs-cta-primary{background:#fff;color:var(--ifbs-navy)!important}.ifbs-cta-primary svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}.ifbs-cta-secondary{border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.07);color:#fff!important;backdrop-filter:blur(12px)}
@media(max-width:980px){.ifbs-hero-copy{width:78%}.ifbs-layout{grid-template-columns:210px minmax(0,1fr);gap:22px}.ifbs-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ifbs-related-card:last-child{display:none}}
@media(max-width:767px){
  .ifbs-single{padding-top:14px}.ifbs-shell{width:calc(100% - 28px)}.ifbs-breadcrumb{margin-bottom:5px}
  .ifbs-hero{min-height:355px;padding:28px 20px 24px;border-radius:24px}.ifbs-hero-copy{width:100%}.ifbs-hero h1{font-size:clamp(30px,8.6vw,40px);line-height:1.08;letter-spacing:-.038em}.ifbs-hero-visual{width:100%;opacity:.48}.ifbs-orb{right:-310px;top:-210px}.ifbs-bars{right:-24px;width:54%;height:48%}.ifbs-hero-word{display:none}
  .ifbs-meta{gap:9px;margin-top:18px}.ifbs-meta-sep{display:none}.ifbs-meta-item{display:none}
  .ifbs-cover{margin-top:10px;border-radius:20px}.ifbs-cover img{max-height:340px}
  .ifbs-layout{display:block;margin-top:10px}.ifbs-rail{margin-bottom:12px}.ifbs-rail-card{position:static;display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:18px}.ifbs-rail-card>.ifbs-rail-label,.ifbs-rail-card>.ifbs-rail-stat:nth-of-type(n+3){display:none}.ifbs-rail-stat{padding:0;border:0}.ifbs-share{margin:0 0 0 auto;padding:0;border:0}.ifbs-share>.ifbs-rail-label,.ifbs-share-row a{display:none}.ifbs-share-row{gap:0}.ifbs-share-row button{width:38px;height:38px}.ifbs-toc{display:none!important}
  .ifbs-content{padding:23px 19px;border-radius:20px;font-size:13.8px;line-height:1.78}.ifbs-content h2{margin-top:31px;font-size:23px}.ifbs-content h3{font-size:18px}.ifbs-content .wp-block-gallery,.ifbs-content .gallery{grid-template-columns:1fr}.ifbs-content .wp-block-gallery img,.ifbs-content .gallery img{min-height:220px}
  .ifbs-post-end{align-items:flex-start;flex-direction:column}.ifbs-post-nav{grid-template-columns:1fr}.ifbs-post-nav-card.is-next{text-align:left}
  .ifbs-related{margin-top:44px}.ifbs-section-head{align-items:flex-start;flex-direction:column}.ifbs-related-grid{grid-template-columns:1fr}.ifbs-related-card:last-child{display:block}.ifbs-related-card{display:grid;grid-template-columns:120px minmax(0,1fr)}.ifbs-related-media{height:100%;min-height:170px}
  .ifbs-cta{align-items:flex-start;flex-direction:column;margin-top:44px;padding:32px 24px;border-radius:24px}.ifbs-cta-actions{width:100%}.ifbs-cta-actions a{flex:1}
}
@media(max-width:420px){.ifbs-shell{width:calc(100% - 22px)}.ifbs-hero{min-height:335px;padding:26px 17px 22px}.ifbs-category{font-size:9px}.ifbs-author strong{font-size:10px}.ifbs-related-card{grid-template-columns:105px minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.ifbs-orb,.ifbs-bars i{animation:none!important}}


/* =========================================================
   v1.2.2 — SIMPLIFIED SINGLE POST LAYOUT
   Featured image is now the hero background.
   Side rail removed. Article is centered and wider.
========================================================= */

.ifbs-hero{
  min-height:420px;
  position:relative;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

.ifbs-hero.has-cover::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(90deg,rgba(2,18,35,.90) 0%,rgba(2,25,47,.76) 48%,rgba(2,29,52,.34) 100%),
    linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.28));
  pointer-events:none;
}

.ifbs-hero.has-cover::before{
  z-index:1;
  opacity:.10;
}

.ifbs-hero-copy{
  z-index:3;
  width:min(820px,74%);
}

.ifbs-hero-visual{
  z-index:2;
  opacity:.42;
}

.ifbs-hero.has-cover .ifbs-hero-visual{
  opacity:.24;
}

.ifbs-layout{
  display:block!important;
  width:min(940px,100%);
  margin:22px auto 0!important;
}

.ifbs-article{
  width:100%;
  min-width:0;
}

.ifbs-content{
  width:100%;
  padding:clamp(30px,4vw,50px);
}

.ifbs-rail,
.ifbs-toc,
.ifbs-cover{
  display:none!important;
}

.ifbs-inline-share{
  position:relative;
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:16px;
  padding:14px 16px;
  border:1px solid var(--ifbs-line);
  border-radius:18px;
  background:rgba(255,255,255,.88);
  box-shadow:0 7px 20px rgba(17,48,74,.035);
}

.ifbs-inline-share>span{
  color:#778998;
  font-size:9px;
  font-weight:650;
  letter-spacing:.7px;
  text-transform:uppercase;
}

.ifbs-inline-share>div{
  display:flex;
  align-items:center;
  gap:7px;
}

.ifbs-inline-share a,
.ifbs-inline-share button{
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #e2e9ee;
  border-radius:11px;
  background:#f7fafb;
  color:var(--ifbs-navy)!important;
  text-decoration:none!important;
  cursor:pointer;
  transition:.24s ease;
}

.ifbs-inline-share a:hover,
.ifbs-inline-share button:hover{
  transform:translateY(-2px);
  background:var(--ifbs-navy);
  border-color:var(--ifbs-navy);
  color:#fff!important;
}

.ifbs-inline-share svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ifbs-inline-share small{
  min-width:72px;
  color:#6f8291;
  font-size:8.5px;
}

@media(max-width:767px){
  .ifbs-hero{
    min-height:370px;
    background-position:center;
  }

  .ifbs-hero.has-cover::after{
    background:
      linear-gradient(180deg,rgba(2,20,37,.40) 0%,rgba(2,22,42,.60) 45%,rgba(2,19,37,.92) 100%);
  }

  .ifbs-hero-copy{
    width:100%;
  }

  .ifbs-layout{
    width:100%;
    margin-top:12px!important;
  }

  .ifbs-content{
    padding:24px 19px;
  }

  .ifbs-inline-share{
    padding:12px 13px;
    gap:10px;
  }

  .ifbs-inline-share>span{
    width:100%;
  }

  .ifbs-inline-share small{
    margin-left:auto;
  }
}

@media(max-width:420px){
  .ifbs-hero{
    min-height:350px;
  }
}


/* =========================================================
   v1.2.3 — PHOTO MASONRY + LIGHTBOX VIEWER
========================================================= */

/* Native WordPress Gallery and plugin-created photo section */
.ifbs-content .wp-block-gallery,
.ifbs-content .gallery,
.ifbs-content .ifbs-photo-masonry{
  display:block!important;
  columns:3 220px;
  column-gap:12px;
  margin:30px 0!important;
}

.ifbs-content .wp-block-gallery figure,
.ifbs-content .gallery-item,
.ifbs-content .ifbs-photo-masonry>figure,
.ifbs-content .ifbs-photo-masonry>.wp-block-image{
  display:block!important;
  width:100%!important;
  margin:0 0 12px!important;
  break-inside:avoid;
  -webkit-column-break-inside:avoid;
  position:relative;
  overflow:hidden;
  border-radius:17px;
  background:#e6edf1;
}

.ifbs-content .wp-block-gallery img,
.ifbs-content .gallery img,
.ifbs-content .ifbs-photo-masonry img{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  display:block!important;
  object-fit:cover;
  border-radius:17px!important;
  cursor:zoom-in;
  transition:transform .35s cubic-bezier(.2,.8,.2,1),filter .35s ease;
}

.ifbs-content .wp-block-gallery figure:hover img,
.ifbs-content .gallery-item:hover img,
.ifbs-content .ifbs-photo-masonry figure:hover img,
.ifbs-content .ifbs-photo-masonry .wp-block-image:hover img{
  transform:scale(1.025);
  filter:saturate(1.04);
}

.ifbs-content .wp-block-gallery figure::after,
.ifbs-content .gallery-item::after,
.ifbs-content .ifbs-photo-masonry figure::after,
.ifbs-content .ifbs-photo-masonry .wp-block-image::after{
  content:"";
  position:absolute;
  right:10px;
  bottom:10px;
  width:34px;
  height:34px;
  border-radius:11px;
  pointer-events:none;
  opacity:0;
  transform:translateY(5px);
  background:rgba(4,28,51,.58)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6'/%3E%3Cpath d='m16 16 4 4M11 8v6M8 11h6'/%3E%3C/svg%3E")
    center/17px 17px no-repeat;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transition:opacity .25s ease,transform .25s ease;
}

.ifbs-content .wp-block-gallery figure:hover::after,
.ifbs-content .gallery-item:hover::after,
.ifbs-content .ifbs-photo-masonry figure:hover::after,
.ifbs-content .ifbs-photo-masonry .wp-block-image:hover::after{
  opacity:1;
  transform:translateY(0);
}

/* Viewer */
.ifbs-viewer{
  position:fixed;
  z-index:1000000;
  inset:0;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(1,9,18,.86);
  backdrop-filter:blur(22px) saturate(130%);
  -webkit-backdrop-filter:blur(22px) saturate(130%);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .25s ease,visibility .25s ease;
}

.ifbs-viewer.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.ifbs-viewer-stage{
  position:relative;
  width:min(1180px,100%);
  height:min(84vh,860px);
  display:flex;
  align-items:center;
  justify-content:center;
}

.ifbs-viewer-image{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  display:block;
  object-fit:contain;
  border-radius:18px;
  box-shadow:0 30px 90px rgba(0,0,0,.38);
  transform:scale(.985);
  opacity:.2;
  transition:transform .28s ease,opacity .28s ease;
}

.ifbs-viewer.is-open .ifbs-viewer-image{
  transform:scale(1);
  opacity:1;
}

.ifbs-viewer-close,
.ifbs-viewer-prev,
.ifbs-viewer-next{
  position:absolute;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.10);
  color:#fff;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  cursor:pointer;
  transition:background .22s ease,transform .22s ease;
}

.ifbs-viewer-close:hover,
.ifbs-viewer-prev:hover,
.ifbs-viewer-next:hover{
  background:rgba(255,255,255,.18);
}

.ifbs-viewer-close{
  top:18px;
  right:18px;
  width:44px;
  height:44px;
  border-radius:14px;
  font-size:25px;
  line-height:1;
}

.ifbs-viewer-prev,
.ifbs-viewer-next{
  top:50%;
  width:48px;
  height:48px;
  border-radius:50%;
  transform:translateY(-50%);
}

.ifbs-viewer-prev{left:18px}
.ifbs-viewer-next{right:18px}

.ifbs-viewer-prev:hover{transform:translateY(-50%) translateX(-2px)}
.ifbs-viewer-next:hover{transform:translateY(-50%) translateX(2px)}

.ifbs-viewer-prev svg,
.ifbs-viewer-next svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ifbs-viewer-info{
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:10px;
  max-width:calc(100% - 150px);
  padding:9px 13px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(3,18,32,.50);
  color:rgba(255,255,255,.78);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  font-size:10px;
}

.ifbs-viewer-caption{
  max-width:560px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.ifbs-viewer-count{
  color:#fff;
  font-weight:650;
}

body.ifbs-viewer-open{
  overflow:hidden!important;
}

@media(max-width:767px){
  .ifbs-content .wp-block-gallery,
  .ifbs-content .gallery,
  .ifbs-content .ifbs-photo-masonry{
    columns:2 140px;
    column-gap:9px;
    margin:22px 0!important;
  }

  .ifbs-content .wp-block-gallery figure,
  .ifbs-content .gallery-item,
  .ifbs-content .ifbs-photo-masonry>figure,
  .ifbs-content .ifbs-photo-masonry>.wp-block-image{
    margin-bottom:9px!important;
    border-radius:14px;
  }

  .ifbs-content .wp-block-gallery img,
  .ifbs-content .gallery img,
  .ifbs-content .ifbs-photo-masonry img{
    border-radius:14px!important;
  }

  .ifbs-viewer{padding:10px}
  .ifbs-viewer-stage{height:88vh}
  .ifbs-viewer-image{border-radius:13px}
  .ifbs-viewer-close{top:10px;right:10px;width:42px;height:42px}
  .ifbs-viewer-prev,.ifbs-viewer-next{
    top:auto;
    bottom:14px;
    width:44px;
    height:44px;
    transform:none;
  }
  .ifbs-viewer-prev{left:14px}
  .ifbs-viewer-next{right:14px}
  .ifbs-viewer-prev:hover,.ifbs-viewer-next:hover{transform:none}
  .ifbs-viewer-info{
    bottom:17px;
    max-width:calc(100% - 130px);
    padding:8px 11px;
  }
}

@media(max-width:390px){
  .ifbs-content .wp-block-gallery,
  .ifbs-content .gallery,
  .ifbs-content .ifbs-photo-masonry{
    columns:2 120px;
  }
}

@media(prefers-reduced-motion:reduce){
  .ifbs-viewer,
  .ifbs-viewer-image,
  .ifbs-content .wp-block-gallery img,
  .ifbs-content .gallery img,
  .ifbs-content .ifbs-photo-masonry img{
    transition:none!important;
  }
}


/* =========================================================
   v1.2.4 — INFONITS CONTROL COLORS / HELLO ELEMENTOR RESET
========================================================= */

/* Prevent Hello Elementor / Elementor global button colors from leaking in */
.ifbs-single button,
.ifbs-single input[type="button"],
.ifbs-single input[type="submit"],
.ifbs-viewer button{
  -webkit-appearance:none!important;
  appearance:none!important;
  font-family:"Poppins",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  box-shadow:none!important;
  text-shadow:none!important;
}

.ifbs-single button:focus,
.ifbs-single button:hover,
.ifbs-single button:active,
.ifbs-viewer button:focus,
.ifbs-viewer button:hover,
.ifbs-viewer button:active{
  outline:none!important;
}

/* Share controls */
.ifbs-inline-share a,
.ifbs-inline-share button{
  border:1px solid rgba(7,63,105,.13)!important;
  background:#f4f8fa!important;
  color:#073f69!important;
  box-shadow:none!important;
}

.ifbs-inline-share a:hover,
.ifbs-inline-share button:hover{
  border-color:#073f69!important;
  background:#073f69!important;
  color:#fff!important;
}

/* Lightbox controls: force Infonits navy glass, not Elementor magenta */
.ifbs-viewer-close,
.ifbs-viewer-prev,
.ifbs-viewer-next{
  border:1px solid rgba(255,255,255,.18)!important;
  background:rgba(7,63,105,.88)!important;
  color:#fff!important;
  box-shadow:0 10px 30px rgba(0,20,38,.22)!important;
}

.ifbs-viewer-close:hover,
.ifbs-viewer-prev:hover,
.ifbs-viewer-next:hover{
  border-color:rgba(53,200,216,.60)!important;
  background:rgba(5,47,81,.96)!important;
  color:#fff!important;
}

.ifbs-viewer-close:focus-visible,
.ifbs-viewer-prev:focus-visible,
.ifbs-viewer-next:focus-visible{
  outline:2px solid #35c8d8!important;
  outline-offset:3px!important;
}

/* Better icon geometry */
.ifbs-viewer-close svg,
.ifbs-viewer-prev svg,
.ifbs-viewer-next svg{
  width:19px!important;
  height:19px!important;
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

.ifbs-viewer-close{
  width:46px!important;
  height:46px!important;
  border-radius:50%!important;
  padding:0!important;
}

.ifbs-viewer-prev,
.ifbs-viewer-next{
  width:48px!important;
  height:48px!important;
  border-radius:50%!important;
  padding:0!important;
}

/* Slightly cleaner viewer background */
.ifbs-viewer{
  background:rgba(3,15,27,.91)!important;
}

/* Gallery hover icon also uses Infonits navy */
.ifbs-content .wp-block-gallery figure::after,
.ifbs-content .gallery-item::after,
.ifbs-content .ifbs-photo-masonry figure::after,
.ifbs-content .ifbs-photo-masonry .wp-block-image::after{
  background-color:rgba(7,63,105,.80)!important;
}

/* Search / utility button protection */
.ifbs-single .ifbs-cta-primary{
  background:#fff!important;
  color:#073f69!important;
  border-color:#fff!important;
}

.ifbs-single .ifbs-cta-secondary{
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.18)!important;
}

@media(max-width:767px){
  .ifbs-viewer-close{
    width:42px!important;
    height:42px!important;
  }

  .ifbs-viewer-prev,
  .ifbs-viewer-next{
    width:44px!important;
    height:44px!important;
    background:rgba(7,63,105,.94)!important;
  }
}


/* =========================================================
   v1.2.5 — COMPACT PREMIUM PHOTO VIEWER CONTROLS
   Controls no longer sit on the image edge.
========================================================= */

.ifbs-viewer{
  display:block!important;
  padding:0!important;
  background:rgba(5,17,29,.94)!important;
}

.ifbs-viewer-stage{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  max-width:none!important;
  height:100dvh!important;
  max-height:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:64px 64px 92px!important;
}

.ifbs-viewer-image{
  max-width:100%!important;
  max-height:100%!important;
  width:auto!important;
  height:auto!important;
  border-radius:16px!important;
  box-shadow:0 30px 90px rgba(0,0,0,.34)!important;
}

/* Compact close control pinned to viewport, not to image */
.ifbs-viewer-close{
  position:fixed!important;
  top:18px!important;
  right:18px!important;
  left:auto!important;
  bottom:auto!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:12px!important;
  background:rgba(7,63,105,.82)!important;
  color:#fff!important;
  box-shadow:0 8px 24px rgba(0,0,0,.18)!important;
  transform:none!important;
}

.ifbs-viewer-close:hover{
  transform:translateY(-1px)!important;
  background:#073f69!important;
  border-color:rgba(53,200,216,.50)!important;
}

.ifbs-viewer-close svg{
  width:17px!important;
  height:17px!important;
  stroke-width:1.85!important;
}

/* One floating navigation dock instead of oversized side circles */
.ifbs-viewer-controls{
  position:fixed;
  z-index:4;
  left:50%;
  bottom:20px;
  transform:translateX(-50%);
  min-height:48px;
  max-width:min(720px,calc(100vw - 32px));
  display:flex;
  align-items:center;
  gap:5px;
  padding:5px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:17px;
  background:rgba(7,31,52,.76);
  box-shadow:0 14px 42px rgba(0,0,0,.24);
  backdrop-filter:blur(22px) saturate(145%);
  -webkit-backdrop-filter:blur(22px) saturate(145%);
}

.ifbs-viewer-prev,
.ifbs-viewer-next{
  position:static!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  flex:0 0 38px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:12px!important;
  background:transparent!important;
  color:#fff!important;
  box-shadow:none!important;
  transform:none!important;
}

.ifbs-viewer-prev:hover,
.ifbs-viewer-next:hover{
  transform:none!important;
  background:rgba(53,200,216,.13)!important;
  color:#9ceaf1!important;
}

.ifbs-viewer-prev svg,
.ifbs-viewer-next svg{
  width:18px!important;
  height:18px!important;
  stroke-width:2!important;
}

.ifbs-viewer-info{
  position:static!important;
  left:auto!important;
  bottom:auto!important;
  transform:none!important;
  min-width:0;
  max-width:560px!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  padding:0 8px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:rgba(255,255,255,.72)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  font-size:9.5px!important;
}

.ifbs-viewer-count{
  flex:0 0 auto;
  min-width:30px;
  color:#fff!important;
  font-weight:650!important;
  font-variant-numeric:tabular-nums;
  text-align:center;
}

.ifbs-viewer-divider{
  width:1px;
  height:15px;
  flex:0 0 1px;
  background:rgba(255,255,255,.13);
}

.ifbs-viewer-caption{
  min-width:0;
  max-width:430px!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
  color:rgba(255,255,255,.62)!important;
}

/* Make sure Elementor never grows viewer controls */
.ifbs-viewer button{
  font-size:0!important;
  line-height:1!important;
}

@media(max-width:767px){
  .ifbs-viewer-stage{
    padding:58px 10px 78px!important;
  }

  .ifbs-viewer-image{
    border-radius:12px!important;
  }

  .ifbs-viewer-close{
    top:12px!important;
    right:12px!important;
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    min-height:36px!important;
    border-radius:11px!important;
  }

  .ifbs-viewer-controls{
    bottom:12px!important;
    width:auto;
    max-width:calc(100vw - 24px)!important;
    min-height:46px;
    padding:4px!important;
    border-radius:15px!important;
  }

  .ifbs-viewer-prev,
  .ifbs-viewer-next{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    flex-basis:38px!important;
    border-radius:11px!important;
  }

  .ifbs-viewer-info{
    padding:0 6px!important;
    gap:7px!important;
  }

  .ifbs-viewer-caption{
    display:none!important;
  }

  .ifbs-viewer-divider{
    display:none!important;
  }

  .ifbs-viewer-count{
    min-width:42px;
    font-size:9.5px!important;
  }
}
