
:root{--navy:#10283c;--navy2:#16324a;--red:#e92b55;--red2:#ef3c62;--cream:#fffaf5;--warm:#f8eee7;--line:#eaded6;--ink:#17283a;--muted:#697684;--gold:#b28b58;--green:#5d815c}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"DM Sans",sans-serif;background:#fff;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}.container{width:min(1180px,calc(100% - 70px));margin:auto}.topbar{height:31px;background:var(--navy);color:#fff;font-size:10px}.topbar-in{height:100%;display:flex;align-items:center;gap:28px}.top-right{margin-left:auto}.header{height:66px;background:#fff;border-bottom:1px solid #eee;position:relative;z-index:20}.nav{height:100%;display:flex;align-items:center}.brand{display:flex;align-items:center;gap:8px;color:var(--navy);font-weight:700;font-size:13px;line-height:1.03}.brand b{font-weight:700}.logo-house{width:34px;height:34px;display:grid;place-items:center;border-radius:9px 9px 12px 12px;background:#f12956;color:#fff;font-size:24px}.nav nav{margin-left:auto;display:flex;align-items:center;gap:24px;font-size:11px;font-weight:700}.nav nav a{padding:25px 0;position:relative}.nav nav a.active{color:var(--red)}.nav nav a.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--red)}.visit{background:var(--red);color:#fff!important;border-radius:7px!important;padding:12px 17px!important;box-shadow:0 8px 20px #e92b5530}.visit:after{display:none}.menu{display:none;margin-left:auto;background:none;border:0;font-size:24px;color:var(--navy)}
.hero{height:520px;position:relative;overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,250,246,.96) 0%,rgba(255,250,246,.88) 37%,rgba(255,250,246,.08) 67%),linear-gradient(0deg,rgba(10,25,40,.1),transparent 35%)}.hero-content{height:100%;display:flex;align-items:center;position:relative;z-index:2}.hero-copy{width:64%;padding-top:5px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:2px;font-weight:800;color:var(--red);margin-bottom:12px}.hero h1{font:600 clamp(46px,5.1vw,72px)/.98 "Playfair Display",serif;letter-spacing:-2px;color:var(--navy);margin:0}.hero h1 em{font-style:normal}.hero p{font-size:14px;line-height:1.55;color:#34465a;margin:17px 0 18px}.hero-benefits{display:flex;gap:25px;margin:12px 0 14px}.hero-benefits span{font-size:11px;font-weight:800;line-height:1.1;display:grid;grid-template-columns:25px auto;align-items:center}.hero-benefits b{grid-row:span 2;color:var(--red);font-size:23px}.hero-benefits small{font-size:9px;font-weight:500;color:#536170}.hero blockquote{font:italic 16px "Playfair Display",serif;margin:16px 0 0;color:#26394d}.booking{width:380px;margin-left:auto;background:#fff;border:1px solid #e9e2dc;border-radius:14px;padding:18px;box-shadow:0 24px 55px rgba(20,40,60,.2)}.booking-head{display:flex;gap:10px;align-items:center}.calendar{width:35px;height:35px;border-radius:9px;background:#ffe6eb;color:var(--red);display:grid;place-items:center;font-size:19px}.booking h2{font:600 24px "Playfair Display",serif;margin:0;color:var(--navy)}.booking p{margin:2px 0 0;color:var(--muted);font-size:10px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.field-grid label{font-size:9px;font-weight:700;color:#425163}.field-grid input,.field-grid select{display:block;width:100%;margin-top:5px;height:38px;border:1px solid #e1e3e6;border-radius:7px;background:#fff;padding:0 10px;font:11px "DM Sans";color:#536170}.primary{display:inline-flex;justify-content:center;align-items:center;gap:10px;background:var(--red);border:0;color:#fff;border-radius:7px;padding:12px 18px;font-size:11px;font-weight:800;cursor:pointer;transition:.25s}.primary:hover{background:var(--navy);transform:translateY(-1px)}.full{width:100%}.booking-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid #eee}.booking-trust span{display:grid;grid-template-columns:20px 1fr;font-size:15px;color:var(--red);align-items:center}.booking-trust b{font-size:8px;color:var(--navy)}.booking-trust small{font-size:7px;color:#7c8792;grid-column:2}.result{display:none;margin-top:12px;padding:10px;border-radius:8px;font-size:10px}.result.show{display:block;background:#f1fbf3;color:#26743a;border:1px solid #cce8d1}.hero-leaf{display:none}.section-leaf{position:relative;overflow:hidden}.decor{position:absolute;width:115px;height:330px;opacity:.55;pointer-events:none}.decor.left{left:-20px;top:40px}.decor.right{right:-20px;top:40px;transform:scaleX(-1)}.intro{padding:56px 0 50px;background:#fff}.center{text-align:center}.center h2,.section-head h2,.gallery-head h2{font:600 34px/1.1 "Playfair Display",serif;margin:0;color:var(--navy);letter-spacing:-.7px}.center>p,.section-head p,.gallery-head p{font-size:11px;color:var(--muted);margin:8px 0 24px}.feature-row{display:grid;grid-template-columns:repeat(8,1fr);gap:8px}.feature-row>div{min-height:83px;padding:12px 5px;background:linear-gradient(180deg,#fffafa,#fff);border:1px solid #f3e9e5;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center}.feature-row i{font-style:normal;font-size:23px;color:var(--red);height:30px}.feature-row b{font-size:9px;color:var(--navy)}.feature-row small{font-size:7px;color:#777f89;margin-top:3px}.rooms{background:#fffaf7;padding:55px 0 62px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:23px}.section-head>a{font-size:10px;color:var(--red);font-weight:800}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.room-card{background:#fff;border:1px solid #e9dfd8;border-radius:9px;overflow:hidden;box-shadow:0 8px 22px rgba(20,40,60,.07)}.room-image{height:155px;position:relative;overflow:hidden}.room-image img{width:100%;height:100%;object-fit:cover;transition:.5s}.room-card:hover .room-image img{transform:scale(1.04)}.popular{position:absolute;right:9px;top:9px;background:var(--red);color:#fff;border-radius:5px;padding:5px 9px;font-size:8px;font-weight:800}.room-body{padding:12px 13px 13px}.room-body h3{font:600 16px "Playfair Display",serif;margin:0;color:var(--navy)}.room-body p{font-size:9px;color:var(--muted);margin:2px 0 7px}.room-body>strong{font:700 20px "Playfair Display",serif;color:var(--navy)}.room-body>strong small{font:10px "DM Sans"}.room-body>em{display:block;font-size:8px;color:var(--red);font-style:normal;margin-top:-2px}.meta{display:flex;gap:11px;margin:8px 0 10px;color:#495666;font-size:8px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.actions a,.actions button{border:1px solid #ff8ca2;background:#fff;color:var(--red);border-radius:5px;padding:9px 5px;font-size:9px;font-weight:800;text-align:center;cursor:pointer}.actions button{background:var(--red);color:#fff;border-color:var(--red)}.gallery-section{padding:55px 0 60px;background:linear-gradient(180deg,#fffaf5,#f6eee7)}.gallery-head{align-items:center}.gallery-head .gold{color:var(--gold)}.gallery-head>a{border:1px solid #b99969;color:var(--navy);border-radius:999px;padding:10px 16px;font-size:9px;font-weight:800;background:#fff8}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,170px);gap:7px}.gallery-grid figure{margin:0;position:relative;border-radius:8px;overflow:hidden;background:#ddd}.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:.5s}.gallery-grid figure:hover img{transform:scale(1.05)}.gallery-grid figure:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,25,40,.22),transparent 50%)}.gallery-grid figcaption{position:absolute;bottom:8px;left:8px;background:#fff;border-radius:999px;padding:6px 11px;font-size:8px;font-weight:800;color:#222;z-index:1}.testimonials{padding:57px 0 55px;background:#fff}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:23px;text-align:left}.testimonial-grid article{display:flex;gap:12px;padding:17px;background:#fff;border:1px solid #eee4de;border-radius:9px;box-shadow:0 7px 20px rgba(20,40,60,.06)}.avatar{flex:0 0 46px;height:46px;border-radius:50%;background:linear-gradient(145deg,#e8b3bc,#c98d98);display:grid;place-items:center;color:#fff;font-weight:800;font-size:12px}.avatar.parent{background:linear-gradient(145deg,#b8aa9a,#807365)}.testimonial-grid b{display:block;font-size:10px;color:var(--navy)}.testimonial-grid small{display:block;font-size:8px;color:#7d8790;margin-top:2px}.testimonial-grid p{font-size:9px;line-height:1.55;color:#596572;margin:7px 0}.testimonial-grid span{color:#ff9b00;font-size:12px;letter-spacing:1px}.lower{background:#f7eee8;padding:5px 0 5px}.lower-grid{display:grid;grid-template-columns:1.03fr 1.18fr .92fr;gap:0;min-height:235px}.location-card,.why{padding:25px 18px;background:#eef6fb}.location-card h3{font:600 17px "Playfair Display",serif;margin:0 0 8px;color:var(--navy)}.map{height:115px;border-radius:8px;background:linear-gradient(145deg,#dbe8ec,#eef3ee);position:relative;display:grid;place-items:center;color:var(--navy);font:600 15px "Playfair Display",serif}.map span{color:var(--red);font-size:30px;margin-right:8px}.map b{text-align:center}.map small{font:8px "DM Sans"}.map-link{display:block;background:#fff;color:var(--red);font-size:8px;font-weight:800;padding:8px;border-radius:0 0 8px 8px;text-align:right}.why{background:#fff9f5}.why .eyebrow{color:var(--navy);letter-spacing:1.3px}.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 12px}.why-grid div{display:grid;grid-template-columns:26px 1fr}.why-grid i{grid-row:span 2;font-style:normal;width:25px;height:25px;border-radius:50%;background:#edf4ff;color:#2182df;display:grid;place-items:center;font-size:12px}.why-grid b{font-size:9px;color:var(--navy)}.why-grid small{font-size:7px;color:#68747e;line-height:1.4}.cta-image{min-height:235px;background-position:center;background-size:cover;position:relative}.cta-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,250,245,.9),rgba(255,250,245,.18));padding:33px 22px}.cta-overlay h3{font:italic 32px/1.1 "Playfair Display",serif;color:var(--navy);margin:0 0 25px}.cta-overlay .primary{font-size:9px}.footer{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 12%,rgba(233,43,85,.10),transparent 22%),
    radial-gradient(circle at 12% 95%,rgba(82,126,153,.12),transparent 26%),
    #0b2235;
  color:#aebbc7;
  padding:0;
}
.footer:before{
  content:"";
  position:absolute;
  width:460px;height:460px;
  right:-210px;bottom:-250px;
  border:1px solid rgba(255,255,255,.05);
  border-radius:50%;
}
.footer-main{
  position:relative;
  z-index:1;
  min-height:290px;
  padding-top:58px;
  padding-bottom:45px;
  display:grid;
  grid-template-columns:1.55fr .85fr .9fr 1.25fr 1.15fr;
  gap:42px;
}
.footer-brand-col{padding-right:25px}
.footer-brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#fff;
  font:600 15px/1.03 "DM Sans",sans-serif;
}
.footer-brand .logo-house{
  background:var(--red);
  box-shadow:0 9px 22px rgba(233,43,85,.24);
}
.footer-intro{
  max-width:255px;
  margin:18px 0 20px;
  color:#9eafbd;
  font-size:10px;
  line-height:1.75;
}
.footer-social{display:flex;gap:8px}
.footer-social a{
  width:30px;height:30px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:50%;
  display:grid;place-items:center;
  color:#fff;
  font-size:11px;
  font-weight:700;
  transition:.25s;
}
.footer-social a:hover{background:var(--red);border-color:var(--red);transform:translateY(-2px)}
.footer-col h4{
  margin:2px 0 18px;
  color:#fff;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:1.8px;
  font-weight:800;
}
.footer-col>a{
  display:block;
  width:max-content;
  max-width:100%;
  margin:0 0 10px;
  color:#aab8c5;
  font-size:10px;
  line-height:1.35;
  transition:.2s;
}
.footer-col>a:hover{color:#fff;transform:translateX(2px)}
.contact-col>a{display:flex;gap:8px;align-items:center}
.contact-col>a span{
  width:18px;
  color:#e9a1ad;
  font-size:11px;
  text-align:center;
}
.footer-visit{display:flex;align-items:flex-start}
.footer-cta{
  width:100%;
  padding:20px 20px 19px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.025));
  box-shadow:inset 0 1px rgba(255,255,255,.05);
}
.footer-cta-kicker{
  color:#e8a8b1;
  font-size:7px;
  letter-spacing:1.8px;
  font-weight:800;
}
.footer-cta h3{
  margin:8px 0 17px;
  color:#fff;
  font:500 23px/1.05 "Playfair Display",serif;
}
.footer-cta>a{
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:var(--red);
  color:#fff;
  border-radius:7px;
  padding:10px 12px;
  font-size:9px;
  font-weight:800;
}
.footer-cta>a b{font-size:14px}
.footer-bottom-wrap{
  position:relative;
  z-index:1;
  border-top:1px solid rgba(255,255,255,.09);
}
.footer-bottom{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  color:#7f93a4;
  font-size:8px;
}
.footer-bottom-links{display:flex;gap:8px;align-items:center}
.footer-bottom a{color:#aab8c5}
.footer-bottom a:hover{color:#fff}
.footer-bottom .developed{
  color:#7f93a4;
  text-align:right;
}
.footer-bottom .developed a{
  color:#e5a3ad;
  font-weight:700;
}
.floating-wa{position:fixed;right:22px;bottom:20px;width:51px;height:51px;border-radius:50%;background:#20c76a;color:#fff;display:grid;place-items:center;font-size:23px;z-index:30;box-shadow:0 12px 30px #0b223640}
@media(max-width:1000px){.container{width:min(94%,1180px)}.nav nav{gap:13px}.feature-row{grid-template-columns:repeat(4,1fr)}.hero-copy{width:56%}.booking{width:390px}.lower-grid{grid-template-columns:1fr 1fr}.cta-image{grid-column:span 2}.footer-grid{grid-template-columns:1.5fr 1fr 1fr 1.3fr}.footer-grid>div:last-child{display:none}}
@media(max-width:760px){.topbar{height:auto;padding:7px 0}.topbar-in{justify-content:center;gap:12px;font-size:8px}.top-right{display:none}.header{height:62px}.menu{display:block}.nav nav{display:none}.nav nav.open{position:absolute;display:flex;top:62px;left:0;right:0;background:#fff;flex-direction:column;gap:0;padding:8px 20px;border-bottom:1px solid #eee;box-shadow:0 15px 30px #14223818}.nav nav.open a{padding:12px}.hero{height:auto;min-height:820px}.hero-photo{object-position:58% center}.hero-shade{background:linear-gradient(180deg,rgba(255,250,246,.92) 0%,rgba(255,250,246,.78) 45%,rgba(255,250,246,.15) 80%),linear-gradient(0deg,rgba(10,25,40,.12),transparent)}.hero-content{padding:55px 0 35px;display:block}.hero-copy{width:100%}.hero h1{font-size:48px}.hero-benefits{gap:12px;flex-wrap:wrap}.hero-benefits span{font-size:9px}.booking{width:100%;margin:30px 0 0}.desktop{display:none}.section{padding:48px 0}.center h2,.section-head h2,.gallery-head h2{font-size:31px}.feature-row{grid-template-columns:repeat(2,1fr)}.room-grid,.testimonial-grid{grid-template-columns:1fr}.room-image{height:210px}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(4,155px)}.gallery-head{display:block}.gallery-head>a{display:inline-block;margin-top:12px}.decor{opacity:.25;width:90px}.lower-grid{grid-template-columns:1fr}.cta-image{grid-column:auto}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:span 2}.copyright{display:block;line-height:2}.copyright span{display:block}.floating-wa{width:48px;height:48px;right:15px;bottom:15px}}
@media(max-width:420px){.hero h1{font-size:42px}.field-grid{grid-template-columns:1fr}.hero-benefits{display:grid;grid-template-columns:1fr 1fr}.booking-trust{grid-template-columns:1fr 1fr}.booking-trust span:last-child{grid-column:span 2}.gallery-grid{grid-template-rows:repeat(4,135px)}}

/* ==========================================================
   SEALDAH GIRLS PG — PREMIUM MOTION LAYER
   ADDITIVE ONLY: original layout, sizing and responsive rules
   are preserved.
   ========================================================== */
.sgpg-hero-slider{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
}
.sgpg-hero-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transition:opacity 1s ease, visibility 1s ease;
}
.sgpg-hero-slide.is-active{
  opacity:1;
  visibility:visible;
}
.sgpg-hero-slide img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transform:scale(1.035);
  transition:transform 7s ease;
}
.sgpg-hero-slide.is-active img{
  transform:scale(1);
}
.sgpg-hero-arrow{
  position:absolute;
  z-index:4;
  top:50%;
  width:42px;
  height:42px;
  transform:translateY(-50%);
  border:1px solid rgba(255,255,255,.5);
  border-radius:50%;
  background:rgba(11,34,53,.24);
  color:#fff;
  font-size:19px;
  line-height:1;
  cursor:pointer;
  backdrop-filter:blur(4px);
  opacity:.78;
  transition:all .3s ease;
}
.sgpg-hero-arrow:hover{
  background:rgba(11,34,53,.65);
  opacity:1;
  transform:translateY(-50%) scale(1.06);
}
.sgpg-hero-prev{left:22px}
.sgpg-hero-next{right:22px}
.sgpg-hero-dots{
  position:absolute;
  z-index:4;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  display:flex;
  gap:7px;
  align-items:center;
}
.sgpg-hero-dots button{
  width:8px;
  height:8px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.55);
  cursor:pointer;
  transition:all .3s ease;
}
.sgpg-hero-dots button.is-active{
  width:25px;
  border-radius:8px;
  background:#fff;
}

/* Keep the existing hero shade above the photographs. */
.hero .hero-shade{z-index:1}

/* Premium entrance + hover treatment for existing section cards. */
.sgpg-motion-card{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .65s cubic-bezier(.2,.7,.2,1),
             transform .65s cubic-bezier(.2,.7,.2,1),
             box-shadow .3s ease;
  will-change:transform,opacity;
}
.sgpg-motion-card.sgpg-visible{
  opacity:1;
  transform:translateY(0);
}
.sgpg-motion-card.sgpg-delay-1{transition-delay:.05s}
.sgpg-motion-card.sgpg-delay-2{transition-delay:.12s}
.sgpg-motion-card.sgpg-delay-3{transition-delay:.19s}
.sgpg-motion-card.sgpg-delay-4{transition-delay:.26s}
.sgpg-motion-card.sgpg-delay-5{transition-delay:.33s}
.sgpg-motion-card.sgpg-delay-6{transition-delay:.40s}
.sgpg-motion-card.sgpg-delay-7{transition-delay:.47s}
.sgpg-motion-card.sgpg-delay-8{transition-delay:.54s}

.feature-row>div.sgpg-motion-card:hover{
  transform:translateY(-7px);
  box-shadow:0 14px 30px rgba(20,40,60,.11);
}
.room-card.sgpg-motion-card{
  transition:opacity .65s cubic-bezier(.2,.7,.2,1),
             transform .65s cubic-bezier(.2,.7,.2,1),
             box-shadow .35s ease;
}
.room-card.sgpg-motion-card:hover{
  transform:translateY(-9px);
  box-shadow:0 18px 36px rgba(20,40,60,.13);
}
.gallery-grid figure.sgpg-motion-card:hover{
  transform:translateY(-5px) scale(1.012);
  box-shadow:0 14px 28px rgba(20,40,60,.14);
  z-index:2;
}
.testimonial-grid article.sgpg-motion-card:hover{
  transform:translateY(-7px);
  box-shadow:0 16px 32px rgba(20,40,60,.11);
}
.why-grid div.sgpg-motion-card{
  transition:opacity .65s cubic-bezier(.2,.7,.2,1),
             transform .65s cubic-bezier(.2,.7,.2,1);
}
.why-grid div.sgpg-motion-card:hover{
  transform:translateX(5px);
}

/* Respect accessibility preferences. */
@media (prefers-reduced-motion:reduce){
  .sgpg-hero-slide,
  .sgpg-hero-slide img,
  .sgpg-motion-card,
  .sgpg-hero-arrow,
  .sgpg-hero-dots button{
    transition:none !important;
  }
  .sgpg-hero-slide.is-active img{transform:none}
  .sgpg-motion-card{opacity:1 !important;transform:none !important}
}


/* =========================================================
   SEALDAH GIRLS PG - FROZEN MASTER / STICKY HEADER
   Additive only. Existing design/responsive rules untouched.
   ========================================================= */

.sgpg-sticky-topbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 1045 !important;
}

.sgpg-sticky-nav {
  position: sticky !important;
  top: var(--sgpg-topbar-height, 31px) !important;
  z-index: 1040 !important;
}

/*
 * Desktop + mobile: keep the top bar and navigation in normal
 * document flow while making both independently sticky.
 * No fixed positioning is used, so the existing responsive
 * dimensions and hero placement remain intact.
 */
@media (max-width: 767.98px) {
  .sgpg-sticky-topbar,
  .sgpg-sticky-nav {
    position: sticky !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sgpg-sticky-topbar,
  .sgpg-sticky-nav {
    scroll-behavior: auto !important;
  }
}


/* =========================================================
   SEALDAH GIRLS PG - HERO CONTROLS STACKING ROOT FIX
   Controls are promoted to the hero's stacking context by JS.
   Existing visual dimensions/position are preserved.
   ========================================================= */
.hero > .sgpg-hero-arrow,
.hero > .sgpg-hero-dots {
  z-index: 5 !important;
  pointer-events: auto !important;
}
.hero > .sgpg-hero-dots button {
  pointer-events: auto !important;
}


/* =========================================================
   SEALDAH GIRLS PG - PREMIUM GALLERY LIGHTBOX FINAL
   Gallery grid itself is untouched.
   ========================================================= */
.sgpg-gallery-lightbox {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 32px 76px;
  background: rgba(7, 16, 31, .94);
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
}
.sgpg-gallery-lightbox.is-open { display: flex; }
.sgpg-gallery-lightbox-stage {
  position: relative;
  width: min(1180px, 100%);
  height: min(82vh, 760px);
  display: flex;
  align-items: center;
  justify-content: center;
}
.sgpg-gallery-lightbox-image {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  display: block;
  object-fit: contain;
  border-radius: 10px;
  box-shadow: 0 28px 80px rgba(0,0,0,.48);
  animation: sgpgGalleryLightboxIn .28s ease both;
}
.sgpg-gallery-lightbox-close,
.sgpg-gallery-lightbox-prev,
.sgpg-gallery-lightbox-next {
  position: fixed;
  z-index: 100001;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.09);
  color: #fff;
  cursor: pointer;
  transition: .22s ease;
}
.sgpg-gallery-lightbox-close {
  top: 20px;
  right: 24px;
  font-size: 27px;
  line-height: 1;
}
.sgpg-gallery-lightbox-prev {
  left: 22px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 25px;
}
.sgpg-gallery-lightbox-next {
  right: 22px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 25px;
}
.sgpg-gallery-lightbox-close:hover,
.sgpg-gallery-lightbox-prev:hover,
.sgpg-gallery-lightbox-next:hover {
  background: rgba(255,255,255,.20);
  border-color: rgba(255,255,255,.65);
}
.sgpg-gallery-lightbox-counter {
  position: fixed;
  left: 50%;
  bottom: 20px;
  transform: translateX(-50%);
  z-index: 100001;
  color: rgba(255,255,255,.88);
  font: 600 12px/1.2 Arial, sans-serif;
  letter-spacing: .12em;
}
body.sgpg-gallery-lightbox-lock { overflow: hidden; }
@keyframes sgpgGalleryLightboxIn {
  from { opacity: 0; transform: scale(.97); }
  to { opacity: 1; transform: scale(1); }
}
@media (max-width: 767.98px) {
  .sgpg-gallery-lightbox { padding: 58px 12px 62px; }
  .sgpg-gallery-lightbox-stage { height: 72vh; }
  .sgpg-gallery-lightbox-close { top: 12px; right: 12px; width: 42px; height: 42px; }
  .sgpg-gallery-lightbox-prev { left: 8px; width: 42px; height: 42px; }
  .sgpg-gallery-lightbox-next { right: 8px; width: 42px; height: 42px; }
}
@media (prefers-reduced-motion: reduce) {
  .sgpg-gallery-lightbox-image { animation: none; }
}


/* =========================================================
   SEALDAH GIRLS PG - GALLERY CLICK TARGET FIX
   Decorative gallery overlay must not intercept image clicks.
   Visual design/layout remains unchanged.
   ========================================================= */
.gallery-grid figure:after {
  pointer-events: none !important;
}
.gallery-grid figure img[data-sgpg-gallery-lightbox="1"] {
  cursor: zoom-in;
}


/* =========================================================
   SEALDAH GIRLS PG - TESTIMONIALS + VIDEO GALLERY
   Additive styles only; existing homepage layout preserved.
   ========================================================= */
.sgpg-home-testimonial-slider{margin-top:23px;position:relative}
.sgpg-home-testimonial-viewport{overflow:hidden;width:100%}
.sgpg-home-testimonial-track{display:flex;gap:18px;transition:transform .55s ease;will-change:transform;text-align:left}
.sgpg-home-testimonial-track>article{flex:0 0 calc((100% - 36px)/3);min-width:0;box-sizing:border-box;display:flex;gap:12px;padding:17px;background:#fff;border:1px solid #eee4de;border-radius:9px;box-shadow:0 7px 20px rgba(20,40,60,.06);align-items:flex-start}
.sgpg-home-testimonial-controls{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:18px;min-height:30px}
.sgpg-home-testimonial-controls>button{width:32px;height:32px;border:1px solid #eadfd8;background:#fff;color:var(--red);border-radius:50%;font-size:20px;line-height:1;cursor:pointer}
.sgpg-home-testimonial-controls>button:disabled{opacity:.35;cursor:default}
.sgpg-home-testimonial-controls>div{display:flex;gap:6px;align-items:center}
.sgpg-home-testimonial-controls>div button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:#d9c9c3;cursor:pointer}
.sgpg-home-testimonial-controls>div button.active{background:var(--red);transform:scale(1.25)}
.sgpg-home-video-section{padding:55px 0 60px;background:linear-gradient(180deg,#fffaf5,#f6eee7)}
.sgpg-home-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:23px;text-align:left}
.sgpg-home-video-grid article{background:#fff;border:1px solid #e9dfd8;border-radius:9px;overflow:hidden;box-shadow:0 8px 22px rgba(20,40,60,.07)}
.sgpg-home-video-frame{position:relative;aspect-ratio:16/9;background:#142238;overflow:hidden}
.sgpg-home-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.sgpg-home-video-grid article>div:last-child{padding:14px 15px 16px}
.sgpg-home-video-grid span{font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);font-weight:800}
.sgpg-home-video-grid h3{font:600 16px "Playfair Display",serif;color:var(--navy);margin:5px 0 0}
.sgpg-video-view-all{display:inline-block;margin-top:22px;border:1px solid #b99969;color:var(--navy);border-radius:999px;padding:10px 16px;font-size:9px;font-weight:800;background:#fff8;text-decoration:none}
@media(max-width:900px){.sgpg-home-testimonial-track>article{flex-basis:calc((100% - 18px)/2)}.sgpg-home-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.sgpg-home-testimonial-track>article{flex-basis:100%}.sgpg-home-video-grid{grid-template-columns:1fr}.sgpg-home-video-section{padding:48px 0 52px}}


.sgpg-home-testimonial-track>article b{display:block;font-size:10px;color:var(--navy)}
.sgpg-home-testimonial-track>article small{display:block;font-size:8px;color:#7d8790;margin-top:2px}
.sgpg-home-testimonial-track>article p{font-size:9px;line-height:1.55;color:#596572;margin:7px 0}
.sgpg-home-testimonial-track>article span{color:#ff9b00;font-size:12px;letter-spacing:1px}

/* Testimonial avatar safeguard: keep homepage resident icons perfectly circular. */
.sgpg-home-testimonial-track>article .avatar,
.testimonial-grid .avatar {
  flex: 0 0 46px !important;
  width: 46px !important;
  min-width: 46px !important;
  max-width: 46px !important;
  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  align-self: flex-start !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* Official Sealdah Girls PG logo */
.site-logo{display:block;width:154px;height:auto;max-height:55px;object-fit:contain;object-position:left center}
.footer-site-logo{display:block;width:190px;height:auto;max-height:70px;object-fit:contain;object-position:left center}
.legacy-site-logo{display:block;width:175px;height:auto;max-height:58px;object-fit:contain}
