/* ══════════════════════════════════════
   pg.css — Sakhi Sadan PG Page
   Depends on root.css variables & shared styles
══════════════════════════════════════ */

/* ── BREADCRUMB ──────────────────────── */
.bc-wrap { padding-top:64px; }
.breadcrumb {
  background:#fff; border-bottom:1px solid var(--line);
  padding:.85rem 3.5rem;
  display:flex; align-items:center; gap:.5rem;
  font-size:.74rem; color:var(--mute);
}
.breadcrumb a { color:var(--mute); text-decoration:none; transition:color .2s; }
.breadcrumb a:hover { color:var(--pink); }
.breadcrumb .sep { color:var(--line); }
.breadcrumb .cur { color:var(--pink); font-weight:600; }

/* ── HERO ────────────────────────────── */
.pg-hero {
  position:relative; min-height:92vh;
  display:flex; align-items:center; overflow:hidden;
}
.pg-hero-bg {
  position:absolute; inset:0;
  background-image:url('https://images.unsplash.com/photo-1555854877-bab0e564b8d5?w=1800&q=85');
  background-size:cover; background-position:center; z-index:0;
}
.pg-hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(105deg,
    rgba(232,25,107,.88) 0%,
    rgba(200,0,79,.7)    40%,
    rgba(26,16,8,.25)    100%);
  z-index:1;
}
.pg-hero-inner {
  position:relative; z-index:2;
  max-width:1180px; margin:0 auto;
  padding:5rem 3.5rem;
  display:grid; grid-template-columns:1fr 1fr;
  gap:4rem; align-items:center;
  width:100%;
}

/* Badge */
.pg-hero-badge {
  display:inline-flex; align-items:center; gap:.5rem;
  background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.25);
  border-radius:3rem; padding:.45rem 1.1rem;
  font-size:.72rem; font-weight:700; letter-spacing:.15em;
  text-transform:uppercase; color:rgba(255,255,255,.85);
  margin-bottom:1.5rem; backdrop-filter:blur(8px);
}

.pg-hero h1 {
  font-family:var(--ff);
  font-size:clamp(2.8rem,5.5vw,5.5rem);
  font-weight:600; color:#fff; line-height:1.05; margin-bottom:1.2rem;
}
.pg-hero h1 em { display:block; font-style:italic; color:#FFCCE0; font-weight:400; }

.pg-hero-sub {
  font-size:1rem; font-weight:300;
  color:rgba(255,255,255,.75); line-height:1.85;
  margin-bottom:2.5rem; max-width:440px;
}
.pg-hero-btns { display:flex; gap:1rem; flex-wrap:wrap; }

/* Pricing card in hero */
.pg-hero-card {
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.2);
  border-radius:var(--rx); padding:2.25rem;
  backdrop-filter:blur(16px);
}
.pg-hero-card-title {
  font-family:var(--ff); font-size:1.35rem; font-weight:600;
  color:#fff; margin-bottom:1.25rem;
  display:flex; align-items:center; gap:.6rem;
}
.pg-price-row { display:flex; flex-direction:column; gap:.85rem; }
.pg-price-item {
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.15);
  border-radius:1rem; padding:1rem 1.25rem;
  display:flex; justify-content:space-between; align-items:center;
  transition:background .2s;
}
.pg-price-item:hover { background:rgba(255,255,255,.18); }
.pg-price-label { font-size:.82rem; font-weight:500; color:rgba(255,255,255,.8); }
.pg-price-val { font-family:var(--ff); font-size:1.4rem; font-weight:700; color:#fff; }
.pg-price-sub { font-size:.65rem; color:rgba(255,255,255,.5); margin-top:.1rem; }
.pg-hero-note { margin-top:1rem; font-size:.72rem; color:rgba(255,255,255,.45); text-align:center; }

/* Scroll indicator */
.hero-scroll {
  position:absolute; bottom:2.5rem; left:50%;
  transform:translateX(-50%); z-index:3;
  display:flex; flex-direction:column; align-items:center; gap:.5rem;
  color:rgba(255,255,255,.4); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase;
}
.scroll-line {
  width:1px; height:40px;
  background:linear-gradient(to bottom,rgba(255,255,255,.4),transparent);
  animation:scrollPulse 2s ease infinite;
}
@keyframes scrollPulse {
  0%,100%{ opacity:.4; transform:scaleY(1); }
  50%    { opacity:1;  transform:scaleY(1.1); }
}

/* ── STATS BAR ───────────────────────── */
.stats-bar {
  background:#fff;
  border-bottom:1px solid var(--line);
  padding:1.25rem 3.5rem;
}
.stats-inner {
  max-width:1180px; margin:0 auto;
  display:grid; grid-template-columns:repeat(4,1fr); gap:1rem;
}
.stat-item {
  display:flex; align-items:center; gap:1rem;
  padding:1rem; border-radius:1rem;
  transition:background .25s, transform .25s;
  cursor:default;
}
.stat-item:hover { background:var(--pink-lt); transform:translateY(-2px); }
.stat-ico {
  width:48px; height:48px; border-radius:.85rem;
  background:var(--pink-lt);
  display:flex; align-items:center; justify-content:center;
  font-size:1.2rem; flex-shrink:0;
  transition:background .25s;
}
.stat-item:hover .stat-ico { background:var(--pink); }
.stat-n { font-family:var(--ff); font-size:1.5rem; font-weight:700; color:var(--ink); }
.stat-t { font-size:.72rem; font-weight:300; color:var(--mute); }

/* ── SHARED SECTION HEADER ───────────── */
.pg-sec-header { margin-bottom:3rem; }
.ey-p { color:var(--pink); }
.ey-g { color:rgba(255,255,255,.45); }

/* ── AMENITIES ───────────────────────── */
.amenities-sec { padding:6rem 3.5rem; background:var(--bg2); }
.amenities-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:1.25rem; margin-top:3rem;
}
.am-card {
  background:#fff; border:1.5px solid var(--line);
  border-radius:var(--r); padding:1.75rem;
  text-align:center; transition:all .35s cubic-bezier(.22,.68,0,1.2);
  position:relative; overflow:hidden; cursor:default;
}
.am-card::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg,rgba(232,25,107,.04),transparent);
  opacity:0; transition:opacity .3s;
}
.am-card:hover { transform:translateY(-6px); box-shadow:0 18px 44px rgba(232,25,107,.1); border-color:rgba(232,25,107,.25); }
.am-card:hover::before { opacity:1; }
.am-card:hover .am-ico-wrap { background:var(--pink); }
.am-ico-wrap {
  width:52px; height:52px; border-radius:14px;
  background:var(--pink-lt);
  display:flex; align-items:center; justify-content:center;
  font-size:1.4rem; margin:0 auto .9rem;
  transition:background .3s;
}
.am-title { font-size:.9rem; font-weight:600; color:var(--ink); margin-bottom:.3rem; }
.am-desc  { font-size:.76rem; font-weight:300; color:var(--mute); line-height:1.65; }
.am-pill  {
  display:inline-flex; align-items:center; gap:.3rem;
  background:var(--green-l); color:var(--green-m);
  font-size:.62rem; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; padding:.22rem .65rem;
  border-radius:3rem; margin-top:.6rem;
}

/* ── ROOM TYPES ──────────────────────── */
.rooms-sec { padding:6rem 3.5rem; background:var(--bg); }

/* Filter Tabs */
.rooms-filter {
  display:flex; gap:.6rem; flex-wrap:wrap;
  margin-top:2rem; margin-bottom:1rem;
}
.rf-tab {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.6rem 1.4rem; border-radius:50px;
  font-family:var(--fs); font-size:.82rem; font-weight:600;
  cursor:pointer; border:1.5px solid var(--line);
  background:#fff; color:var(--mute);
  transition:all .25s; white-space:nowrap;
}
.rf-tab:hover { border-color:var(--pink); color:var(--pink); background:var(--pink-lt); }
.rf-tab.active { background:var(--pink); color:#fff; border-color:var(--pink); box-shadow:0 4px 16px rgba(232,25,107,.25); }
.rf-tab.active:hover { background:var(--pink-d); }
.rf-count {
  background:rgba(255,255,255,.3); color:inherit;
  font-size:.68rem; font-weight:700;
  padding:.1rem .5rem; border-radius:50px; min-width:22px; text-align:center;
}
.rf-tab:not(.active) .rf-count { background:var(--bg); color:var(--mute); }

/* Room grid */
.rooms-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1.5rem; margin-top:.5rem;
  transition:all .3s;
}

/* Rooms note bar */
.rooms-note {
  display:flex; align-items:center; justify-content:space-between;
  gap:1rem; flex-wrap:wrap;
  background:#fff; border:1.5px solid var(--line);
  border-radius:1.1rem; padding:1rem 1.5rem;
  margin-bottom:.5rem;
}
.rn-left { display:flex; align-items:center; gap:.85rem; }
.rn-icon { font-size:1.2rem; flex-shrink:0; }
.rn-title { font-size:.84rem; font-weight:600; color:var(--ink); margin-bottom:.15rem; }
.rn-desc  { font-size:.75rem; font-weight:300; color:var(--mute); }
.rn-tags  { display:flex; gap:.5rem; flex-wrap:wrap; }
.rn-tag   { font-size:.68rem; font-weight:600; padding:.3rem .9rem; border-radius:50px; }
.rn-nofood { background:var(--bg); color:var(--mid); border:1px solid var(--line); }
.rn-food   { background:var(--green-l); color:var(--green-m); border:1px solid rgba(30,87,51,.15); }

/* Room type row with AC badge */
.room-type-row {
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:.5rem;
}
.room-type { font-size:.62rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--pink); }
.room-ac-badge {
  font-size:.62rem; font-weight:700; padding:.22rem .7rem;
  border-radius:50px; white-space:nowrap;
}
.ac-badge    { background:#e8f5ff; color:#0070cc; border:1px solid rgba(0,112,204,.15); }
.nonac-badge { background:var(--bg); color:var(--mid); border:1px solid var(--line); }

.room-card {
  background:#fff; border:1.5px solid var(--line);
  border-radius:var(--rx); overflow:hidden;
  transition:all .35s cubic-bezier(.22,.68,0,1.2);
  display:flex; flex-direction:column; cursor:default;
}
.room-card:hover { transform:translateY(-8px); box-shadow:0 24px 56px rgba(0,0,0,.1); border-color:transparent; }
.room-card.featured { border:2px solid var(--pink); position:relative; }
.room-card.featured:hover { box-shadow:0 24px 56px rgba(232,25,107,.18); }
.room-badge {
  position:absolute; top:1rem; right:1rem;
  background:var(--pink); color:#fff;
  font-size:.62rem; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; padding:.3rem .85rem;
  border-radius:3rem; z-index:2;
}
.room-img { height:200px; overflow:hidden; position:relative; }
.room-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.room-card:hover .room-img img { transform:scale(1.07); }
.room-body { padding:1.75rem; flex:1; display:flex; flex-direction:column; }
.room-title { font-family:var(--ff); font-size:1.3rem; font-weight:700; color:var(--ink); margin-bottom:.6rem; }
.room-features { display:flex; flex-wrap:wrap; gap:.4rem; margin-bottom:1rem; }
.rf-tag {
  background:var(--bg); border:1px solid var(--line);
  border-radius:3rem; padding:.22rem .7rem;
  font-size:.68rem; font-weight:500; color:var(--mid);
  transition:all .2s;
}
.room-card:hover .rf-tag { border-color:rgba(232,25,107,.2); }
.room-desc { font-size:.78rem; font-weight:300; color:var(--mute); line-height:1.7; margin-bottom:auto; }

/* Room card bottom - completely redesigned */
.room-card-bottom {
  margin-top:auto; padding-top:1rem;
  border-top:1px solid var(--line);
  display:flex; flex-direction:column; gap:.75rem;
}

/* Price + food badge row */
.room-price-row {
  display:flex; align-items:center; justify-content:space-between; gap:.5rem;
}
.room-price-left {}
.room-price { font-family:var(--ff); font-size:1.9rem; font-weight:700; color:var(--pink); line-height:1; }
.room-price-unit { font-size:.68rem; font-weight:300; color:var(--mute); margin-top:.15rem; }

/* With food badge - prominent */
.room-food-badge {
  display:flex; flex-direction:column; align-items:flex-end; gap:.2rem;
  background:linear-gradient(135deg, #f0fff4, #e6ffed);
  border:1.5px solid rgba(30,87,51,.2);
  border-radius:.75rem; padding:.55rem .85rem;
  text-align:right; flex-shrink:0;
}
.rfb-label { font-size:.55rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--green-m); opacity:.7; }
.rfb-price { font-family:var(--ff); font-size:1.1rem; font-weight:700; color:var(--green-m); line-height:1.1; }
.rfb-sub   { font-size:.6rem; font-weight:400; color:var(--green-m); opacity:.65; }

/* Enquire button - full width, proper styled */
.room-cta-btn {
  display:flex; align-items:center; justify-content:center; gap:.5rem;
  width:100%; padding:.75rem 1rem; border-radius:.85rem;
  font-family:var(--fs); font-size:.82rem; font-weight:600;
  text-decoration:none; cursor:pointer; border:none;
  transition:all .3s cubic-bezier(.22,.68,0,1.2);
  letter-spacing:.02em;
}
.room-cta-btn.btn-enquire {
  background:var(--pink-lt); color:var(--pink);
  border:1.5px solid rgba(232,25,107,.2);
}
.room-cta-btn.btn-enquire:hover {
  background:var(--pink); color:#fff;
  transform:translateY(-2px); box-shadow:0 6px 20px rgba(232,25,107,.3);
  border-color:var(--pink);
}
.room-cta-btn.btn-book {
  background:linear-gradient(135deg, var(--pink), var(--pink-d));
  color:#fff; border:1.5px solid transparent;
  box-shadow:0 4px 16px rgba(232,25,107,.25);
}
.room-cta-btn.btn-book:hover {
  transform:translateY(-2px); box-shadow:0 8px 24px rgba(232,25,107,.4);
  background:linear-gradient(135deg, var(--pink-d), #a8003f);
}
.room-cta-btn svg { transition:transform .25s; }
.room-cta-btn:hover svg { transform:translateX(3px); }

/* Empty state */
.rooms-empty {
  text-align:center; padding:3rem; color:var(--mute);
  font-size:.9rem; grid-column:1/-1;
}

/* ── MEALS SECTION ───────────────────── */
.meals-sec {
  padding:6rem 3.5rem;
  background:linear-gradient(135deg,#fff5f9 0%,#fff8f0 100%);
}
.meals-inner {
  max-width:1180px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr;
  gap:5rem; align-items:center;
}
.meals-visual { position:relative; }
.meals-main-img { border-radius:var(--rx); overflow:hidden; aspect-ratio:4/3; }
.meals-main-img img { width:100%; height:100%; object-fit:cover; }
.meals-float {
  position:absolute; bottom:-1.5rem; right:-1.5rem;
  background:#fff; border:1px solid var(--line);
  border-radius:var(--r); padding:1.25rem 1.5rem;
  box-shadow:0 12px 36px rgba(0,0,0,.1); min-width:200px;
  transition:transform .3s;
}
.meals-float:hover { transform:translateY(-4px); }
.meals-float-title {
  font-size:.62rem; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--mute); margin-bottom:.65rem;
}
.meal-day {
  display:flex; align-items:center; gap:.65rem;
  padding:.45rem 0; border-bottom:1px solid var(--line);
}
.meal-day:last-child { border-bottom:none; }
.meal-day-name { font-size:.72rem; font-weight:600; color:var(--ink); width:32px; flex-shrink:0; }
.meal-day-food { font-size:.72rem; font-weight:300; color:var(--mute); }

.meals-list { margin-top:2rem; display:flex; flex-direction:column; gap:.85rem; }
.meal-feature {
  display:flex; align-items:flex-start; gap:1rem;
  background:#fff; border:1.5px solid var(--line);
  border-radius:1.25rem; padding:1.25rem;
  transition:all .35s cubic-bezier(.22,.68,0,1.2);
  cursor:default;
}
.meal-feature:hover { border-color:rgba(232,25,107,.25); box-shadow:0 8px 28px rgba(232,25,107,.07); transform:translateX(5px); }
.meal-feature:hover .meal-feature-ico { background:var(--pink); }
.meal-feature-ico {
  width:40px; height:40px; border-radius:.75rem;
  background:var(--pink-lt);
  display:flex; align-items:center; justify-content:center;
  font-size:1rem; flex-shrink:0; transition:background .3s;
}
.meal-feature-title { font-size:.86rem; font-weight:600; color:var(--ink); margin-bottom:.25rem; }
.meal-feature-desc { font-size:.78rem; font-weight:300; color:var(--mute); line-height:1.65; }

/* ── SAFETY SECTION ──────────────────── */
.safety-sec {
  display: none;
  padding:6rem 3.5rem;
  background:var(--green); position:relative; overflow:hidden;
}
.safety-sec::before {
  content:''; position:absolute; inset:0;
  background-image:radial-gradient(circle,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:30px 30px;
}
.safety-inner { max-width:1180px; margin:0 auto; position:relative; z-index:1; }
.safety-top {
  display:grid; grid-template-columns:1fr 1fr;
  gap:4rem; align-items:center; margin-bottom:4rem;
}
.safety-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.safe-card {
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r); padding:1.75rem; transition:all .35s;
  cursor:default;
}
.safe-card:hover { background:rgba(255,255,255,.12); transform:translateY(-5px); box-shadow:0 12px 36px rgba(0,0,0,.15); }
.safe-ico { font-size:1.75rem; margin-bottom:.85rem; display:block; }
.safe-title { font-size:.9rem; font-weight:600; color:#fff; margin-bottom:.4rem; }
.safe-desc { font-size:.78rem; font-weight:300; color:rgba(255,255,255,.5); line-height:1.7; }

/* ── GALLERY ─────────────────────────── */
.pg-gallery-sec { padding:6rem 3.5rem; background:var(--bg2); }
.pg-gallery-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-auto-rows:200px;
  gap:1rem; margin-top:3rem;
}
.pg-g-item {
  border-radius:var(--r); overflow:hidden;
  position:relative; cursor:pointer; transition:transform .3s;
}
.pg-g-item:hover { transform:scale(1.02); z-index:2; }
.pg-g-item img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.pg-g-item:hover img { transform:scale(1.07); }
.pg-g-item:nth-child(1) { grid-column:span 2; grid-row:span 2; }
.pg-g-item:nth-child(6) { grid-column:span 2; }
.g-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.6),transparent 55%);
  opacity:0; transition:opacity .3s;
  display:flex; align-items:flex-end; padding:1rem;
}
.pg-g-item:hover .g-overlay { opacity:1; }
.g-lbl { font-size:.78rem; font-weight:600; color:#fff; }

/* ── TESTIMONIALS ────────────────────── */
.pg-reviews-sec { padding:6rem 3.5rem; background:var(--bg); }
.rev-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.rev-card {
  background:var(--bg2); border:1.5px solid var(--line);
  border-radius:1.5rem; padding:2.25rem;
  transition:all .35s cubic-bezier(.22,.68,0,1.2);
  position:relative; overflow:hidden; cursor:default;
}
.rev-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--pink),#c040a0);
  transform:scaleX(0); transform-origin:left; transition:transform .4s;
}
.rev-card:hover::before { transform:scaleX(1); }
.rev-card:hover { transform:translateY(-6px); box-shadow:0 18px 48px rgba(232,25,107,.1); border-color:rgba(232,25,107,.2); }
.rev-stars { color:#F59E0B; font-size:.9rem; margin-bottom:1rem; }
.rev-q {
  font-family:var(--ff); font-size:1.05rem; font-weight:400;
  line-height:1.75; color:var(--ink); margin-bottom:1.5rem; font-style:italic;
}
.rev-q::before { content:'\201C'; font-size:2.25rem; font-family:var(--ff); color:var(--pink); line-height:.5; display:block; margin-bottom:.5rem; }
.rev-bot { display:flex; align-items:center; gap:.85rem; }
.rev-av { width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.95rem; font-weight:700; color:#fff; flex-shrink:0; }
.rev-name { font-size:.86rem; font-weight:600; color:var(--ink); }
.rev-role { font-size:.74rem; font-weight:300; color:var(--mute); margin-top:.1rem; }
.rev-badge { margin-left:auto; font-size:.64rem; font-weight:600; padding:.22rem .65rem; border-radius:2rem; background:var(--pink-lt); color:var(--pink); }

/* ── RULES & FAQ ─────────────────────── */
.rules-sec { padding:6rem 3.5rem; background:var(--bg); }
.rules-inner {
  max-width:1180px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start;
}
.rules-list { display:flex; flex-direction:column; gap:.75rem; margin-top:2rem; }
.rule-item {
  display:flex; align-items:flex-start; gap:.85rem;
  padding:1rem 1.25rem; border-radius:1rem;
  border:1.5px solid var(--line); background:#fff;
  transition:all .3s cubic-bezier(.22,.68,0,1.2);
  cursor:default; border-left:3px solid transparent;
}
.rule-item:hover { border-left-color:var(--pink); background:var(--pink-lt); transform:translateX(6px); box-shadow:0 4px 20px rgba(232,25,107,.08); }
.rule-ico { font-size:1rem; flex-shrink:0; margin-top:.1rem; }
.rule-text { font-size:.82rem; font-weight:400; color:var(--mid); line-height:1.6; }
.rule-text strong { color:var(--ink); font-weight:600; }

/* FAQ */
.faq-list { display:flex; flex-direction:column; gap:.75rem; margin-top:2rem; }
.faq-item {
  border:1.5px solid var(--line); border-radius:1.1rem;
  background:#fff; overflow:hidden; transition:border-color .2s;
}
.faq-item.open { border-color:rgba(232,25,107,.3); }
.faq-q {
  padding:1.15rem 1.4rem; font-size:.86rem; font-weight:600;
  color:var(--ink); cursor:pointer;
  display:flex; justify-content:space-between; align-items:center; gap:.5rem;
  user-select:none; transition:color .2s;
}
.faq-q:hover { color:var(--pink); }
.faq-q::after { content:'＋'; font-size:1rem; color:var(--pink); transition:transform .25s; flex-shrink:0; }
.faq-item.open .faq-q::after { transform:rotate(45deg); }
.faq-a {
  max-height:0; overflow:hidden; transition:max-height .35s ease, padding .35s;
  font-size:.8rem; font-weight:300; color:var(--mute); line-height:1.8;
  padding:0 1.4rem;
}
.faq-item.open .faq-a { max-height:200px; padding-bottom:1.25rem; }

/* ── CTA BANNER ──────────────────────── */
.pg-cta {
  padding:6rem 3.5rem;
  background:linear-gradient(120deg,var(--pink-d) 0%,var(--pink) 55%,#e8508a 100%);
  position:relative; overflow:hidden;
}
.pg-cta::before {
  content:''; position:absolute; inset:0;
  background-image:radial-gradient(circle,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:26px 26px;
}
.pg-cta::after {
  content:''; position:absolute; right:-80px; top:-80px;
  width:350px; height:350px; border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);
}
.pg-cta-inner {
  max-width:1180px; margin:0 auto; position:relative; z-index:1;
  display:flex; align-items:center; justify-content:space-between;
  gap:3rem; flex-wrap:wrap;
}
.cta-tag { font-size:.68rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.6); display:block; margin-bottom:.85rem; }
.cta-h   { font-family:var(--ff); font-size:clamp(1.9rem,3vw,2.7rem); font-weight:600; color:#fff; line-height:1.2; margin-bottom:.5rem; }
.cta-sub { font-size:.88rem; font-weight:300; color:rgba(255,255,255,.7); }
.cta-btns { display:flex; gap:1rem; flex-wrap:wrap; }

/* Button variants for pg */
.b-whi-pk { background:#fff; color:var(--pink); font-weight:700; }
.b-whi-pk:hover { background:var(--pink-lt); transform:translateY(-2px); }
.b-outline-wh { background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.4); }
.b-outline-wh:hover { background:rgba(255,255,255,.12); border-color:#fff; }

/* ── CONTACT ─────────────────────────── */
.pg-contact-sec { padding:7rem 3.5rem; background:var(--bg); }
.pg-contact-head {
  display:grid; grid-template-columns:1fr 1fr; gap:2rem;
  padding-bottom:1.5rem; border-bottom:1px solid var(--line);
  margin-bottom:2rem; align-items:end;
}
.contact-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; }
.ci-block {
  background:#fff; border:1.5px solid var(--line);
  border-radius:var(--r); padding:1.75rem;
  display:flex; flex-direction:column; gap:.45rem;
  transition:all .35s cubic-bezier(.22,.68,0,1.2);
}
.ci-block:hover { transform:translateY(-5px); box-shadow:0 12px 36px rgba(232,25,107,.08); border-color:rgba(232,25,107,.2); }
.ci-block:hover .ci-ico { background:var(--pink); }
.ci-ico { width:46px; height:46px; border-radius:.85rem; display:flex; align-items:center; justify-content:center; font-size:1.2rem; margin-bottom:.4rem; transition:background .3s; }
.cio-p { background:var(--pink-lt); }
.cio-g { background:var(--green-l); }
.ci-label { font-size:.62rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--mute); }
.ci-val { font-size:.88rem; font-weight:500; color:var(--ink); line-height:1.65; }
.ci-val a { color:inherit; text-decoration:none; }
.ci-val a:hover { color:var(--pink); }
.map-card {
  background:linear-gradient(150deg,#2A7A48,#1A5030);
  border-radius:var(--r); padding:1.5rem;
  display:flex; flex-direction:column; justify-content:space-between; gap:1.25rem;
  position:relative; overflow:hidden;
}
.map-ico   { font-size:1.9rem; display:block; margin-bottom:.65rem; }
.map-title { font-family:var(--ff); font-size:1.3rem; font-weight:600; color:#fff; margin-bottom:.4rem; }
.map-addr  { font-size:.78rem; font-weight:300; color:rgba(255,255,255,.6); line-height:1.85; }
.map-btns  { display:flex; gap:.65rem; }

/* ══════════════════════════════════════
   RESPONSIVE — PG PAGE
══════════════════════════════════════ */

@media (max-width:1100px) {
  .breadcrumb,
  .stats-bar,
  .amenities-sec,
  .rooms-sec,
  .meals-sec,
  .safety-sec,
  .pg-gallery-sec,
  .pg-reviews-sec,
  .rules-sec,
  .pg-cta,
  .pg-contact-sec { padding-left:2rem; padding-right:2rem; }

  .pg-hero-inner  { grid-template-columns:1fr; padding:4rem 2rem; }
  .pg-hero-card   { display:none; }
  .stats-inner    { grid-template-columns:1fr 1fr; }
  .amenities-grid { grid-template-columns:1fr 1fr; }
  .rooms-grid     { grid-template-columns:1fr 1fr; }
  .meals-inner    { grid-template-columns:1fr; gap:3rem; }
  .meals-float    { position:static; margin-top:1.5rem; right:auto; bottom:auto; }
  .safety-top     { grid-template-columns:1fr; gap:2.5rem; }
  .safety-grid    { grid-template-columns:1fr 1fr; }
  .pg-gallery-grid { grid-template-columns:1fr 1fr; grid-auto-rows:180px; }
  .pg-g-item:nth-child(1) { grid-column:span 2; grid-row:span 1; }
  .pg-g-item:nth-child(6) { grid-column:span 2; }
  .rev-grid       { grid-template-columns:1fr 1fr; }
  .rules-inner    { grid-template-columns:1fr; gap:3rem; }
  .contact-grid   { grid-template-columns:1fr 1fr; }
  .pg-contact-head { grid-template-columns:1fr; }
}

@media (max-width:768px) {
  .bc-wrap        { padding-top:80px; }
  .breadcrumb     { padding:.75rem 1.25rem; }

  .pg-hero        { min-height:80vh; }
  .pg-hero-inner  { padding:3rem 1.25rem; }
  .pg-hero h1     { font-size:clamp(2.2rem,9vw,3rem); }
  .pg-hero-sub    { font-size:.9rem; }
  .pg-hero-btns   { gap:.75rem; }

  .stats-bar      { padding:1rem 1.25rem; }
  .stats-inner    { grid-template-columns:1fr 1fr; gap:.6rem; }
  .stat-item      { padding:.75rem; gap:.75rem; }
  .stat-ico       { width:40px; height:40px; font-size:1rem; }
  .stat-n         { font-size:1.2rem; }

  .amenities-sec,
  .rooms-sec,
  .meals-sec,
  .pg-gallery-sec,
  .pg-reviews-sec,
  .rules-sec,
  .pg-cta,
  .pg-contact-sec { padding-top:4rem; padding-bottom:4rem; padding-left:1.25rem; padding-right:1.25rem; }

  .safety-sec     { padding:4rem 1.25rem; }

  .rooms-grid     { grid-template-columns:1fr; }
  .rooms-note     { flex-direction:column; align-items:flex-start; }
  .safety-grid    { grid-template-columns:1fr; }
  .rev-grid       { grid-template-columns:1fr; }
  .contact-grid   { grid-template-columns:1fr 1fr; }

  .pg-gallery-grid { grid-auto-rows:150px; }

  .pg-cta-inner   { flex-direction:column; align-items:flex-start; }
  .cta-btns       { flex-direction:column; width:100%; }
  .cta-btns .btn  { justify-content:center; }
}

@media (max-width:480px) {
  .amenities-grid  { grid-template-columns:1fr 1fr; gap:.75rem; }
  .stats-inner     { grid-template-columns:1fr 1fr; }
  .contact-grid    { grid-template-columns:1fr; }
  .pg-gallery-grid { grid-template-columns:1fr 1fr; grid-auto-rows:130px; }
  .pg-g-item:nth-child(1) { grid-column:span 2; }
  .pg-g-item:nth-child(6) { grid-column:span 2; }
}

@media (max-width:768px) {
  .pg-hero-badge {
    padding: .45rem 1rem;
    font-size: 0.5rem;
  }

  .am-card {
    padding: 1rem;
  }

  .sec-h {
    font-size: clamp(1.6rem, 3vw, 2.8rem);
  }
}
