/* ================================================================
   GRAND PALACE HOTEL v3 — style.css
   ================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&family=Jost:wght@200;300;400;500;600&display=swap');

/* ── Variables ────────────────────────────────────────────────── */
:root {
  --gold:        #c9a84c;
  --gold-lt:     #e2c47a;
  --gold-dk:     #a8852e;
  --gold-glow:   rgba(201,168,76,.15);
  --gold-line:   rgba(201,168,76,.25);

  --bg:          #faf9f7;
  --bg-alt:      #f2efe8;
  --bg-card:     #ffffff;
  --border:      #e4dfd6;
  --border-lt:   #ede9e2;

  --ink:         #181614;
  --ink-2:       #3a342c;
  --muted:       #7a7165;
  --light-text:  #b0a898;

  --dark:        #0e0d0b;
  --dark-2:      #181614;
  --dark-3:      #221f1b;

  --nav-h:       78px;
  --bar-h:       38px;

  --ff-d:  'Playfair Display', Georgia, serif;
  --ff-b:  'Jost', sans-serif;

  --ease: cubic-bezier(.4,0,.2,1);
  --t:    .35s var(--ease);
  --tf:   .2s  var(--ease);

  --sh-sm: 0 2px 20px rgba(20,15,5,.07);
  --sh-md: 0 8px 40px rgba(20,15,5,.11);
  --sh-lg: 0 20px 70px rgba(20,15,5,.16);
  --sh-gold: 0 8px 30px rgba(201,168,76,.25);
}

[data-theme="dark"] {
  --bg:       #0e0d0b;
  --bg-alt:   #161410;
  --bg-card:  #1c1916;
  --border:   #2c2820;
  --border-lt:#252119;

  --ink:      #f0ebe0;
  --ink-2:    #d0c8b8;
  --muted:    #8a8070;
  --light-text:#5a5448;

  --sh-sm: 0 2px 20px rgba(0,0,0,.3);
  --sh-md: 0 8px 40px rgba(0,0,0,.45);
  --sh-lg: 0 20px 70px rgba(0,0,0,.6);
}

/* ── Reset & Base ─────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{
  font-family:var(--ff-b);
  background:var(--bg);
  color:var(--ink);
  font-weight:300;
  line-height:1.75;
  font-size:15px;
  overflow-x:hidden;
  transition:background var(--t),color var(--t);
}
h1,h2,h3,h4,h5,h6{font-family:var(--ff-d);font-weight:500;color:var(--ink);line-height:1.15}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
::selection{background:var(--gold);color:#fff}




/* ── Top Bar ──────────────────────────────────────────────────── */
.gp-bar{
  background:var(--dark);
  color:rgba(255,255,255,.5);
  font-size:11.5px;letter-spacing:.04em;
  height:var(--bar-h);
  display:flex;align-items:center;
  border-bottom:1px solid rgba(201,168,76,.12);
  position:relative;z-index:200;
}
.gp-bar a{color:rgba(255,255,255,.45);font-size:14px;transition:color var(--tf)}
.gp-bar a:hover{color:var(--gold-lt)}
.gp-bar__sep{width:1px;height:13px;background:rgba(255,255,255,.1)}

/* ── Navbar ───────────────────────────────────────────────────── */
.gp-nav{
  position:sticky;top:0;z-index:1030;
  height:var(--nav-h);
  background:rgba(var(--bg-rgb,250,249,247),.97);
  background:color-mix(in srgb, var(--bg) 97%, transparent);
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  transition:box-shadow var(--t);
}
[data-theme="dark"] .gp-nav{background:rgba(14,13,11,.97)}
.gp-nav.scrolled{box-shadow:var(--sh-md)}

.gp-logo{display:flex;align-items:center;gap:.8rem;flex-shrink:0}
.gp-logo img{
  height:74px;width:auto;
  filter:invert(73%) sepia(55%) saturate(550%) hue-rotate(2deg) brightness(1.05);
  transition:filter var(--t);
}
[data-theme="dark"] .gp-logo img{
  filter:invert(78%) sepia(48%) saturate(480%) hue-rotate(2deg) brightness(1.18);
}

/* Nav links */
.gp-nav .nav-link{
  font-family:var(--ff-b);font-size:11px;letter-spacing:.13em;
  text-transform:uppercase;font-weight:400;
  color:var(--ink);padding:.35rem .75rem;position:relative;
  transition:color var(--tf);white-space:nowrap;
}
.gp-nav .nav-link::after{
  content:'';position:absolute;bottom:-1px;left:.75rem;right:.75rem;
  height:1px;background:var(--gold);
  transform:scaleX(0);transform-origin:left;transition:transform var(--t);
}
.gp-nav .nav-link:hover,.gp-nav .nav-link.active{color:var(--gold)}
.gp-nav .nav-link:hover::after,.gp-nav .nav-link.active::after{transform:scaleX(1)}

/* Hover dropdown — no click needed */
.gp-nav .dropdown{position:relative}
.gp-nav .dropdown-menu{
  display:block;
  opacity:0;visibility:hidden;pointer-events:none;
  transform:translateY(8px);
  transition:opacity var(--t),transform var(--t),visibility var(--t);
  position:absolute;top:100%;left:0;
  min-width:210px;
  background:var(--bg-card);
  border:1px solid var(--border);
  border-top:2px solid var(--gold);
  border-radius:0;
  box-shadow:var(--sh-lg);
  padding:.5rem 0;margin:0;
}
.gp-nav .dropdown:hover .dropdown-menu{
  opacity:1;visibility:visible;pointer-events:all;transform:translateY(0);
}
.gp-nav .dropdown-item{
  font-family:var(--ff-b);font-size:11.5px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink);
  padding:.65rem 1.5rem;transition:background var(--tf),color var(--tf);background:transparent;
}
.gp-nav .dropdown-item:hover{background:var(--bg-alt);color:var(--gold)}

/* Theme toggle */
.gp-theme-btn{
  background:none;border:1px solid var(--border);color:var(--muted);
  width:36px;height:36px;display:flex;align-items:center;justify-content:center;
  font-size:15px;cursor:pointer;flex-shrink:0;
  transition:border-color var(--tf),color var(--tf);
}
.gp-theme-btn:hover{border-color:var(--gold);color:var(--gold)}

/* Reserve */
.gp-btn-res{
  font-family:var(--ff-b);font-size:10.5px;letter-spacing:.17em;text-transform:uppercase;
  background:var(--gold);color:#fff!important;
  padding:.62rem 1.7rem;border:1px solid var(--gold);white-space:nowrap;
  transition:background var(--t),border-color var(--t);flex-shrink:0;
}
.gp-btn-res:hover{background:var(--gold-dk);border-color:var(--gold-dk);color:#fff!important}

/* Hamburger */
.gp-burger{
  border:none;background:transparent;
  display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:.4rem;flex-shrink:0;
}
.gp-burger span{display:block;width:22px;height:1.5px;background:var(--ink);transition:var(--t)}

/* ── Utility Buttons ──────────────────────────────────────────── */
.btn-gp{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:var(--ff-b);font-size:10.5px;letter-spacing:.17em;text-transform:uppercase;
  padding:.85rem 2.3rem;border:1px solid;cursor:pointer;font-weight:400;
  transition:all var(--t);
}
.btn-gp-gold{background:var(--gold);color:#fff;border-color:var(--gold)}
.btn-gp-gold:hover{background:var(--gold-dk);border-color:var(--gold-dk);color:#fff}
.btn-gp-outline-gold{background:transparent;color:var(--gold);border-color:var(--gold)}
.btn-gp-outline-gold:hover{background:var(--gold);color:#fff}
.btn-gp-dark{background:var(--dark);color:#fff;border-color:var(--dark)}
.btn-gp-dark:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.btn-gp-outline{background:transparent;color:var(--ink);border-color:var(--border)}
.btn-gp-outline:hover{border-color:var(--gold);color:var(--gold)}
.btn-gp-white{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.btn-gp-white:hover{background:rgba(255,255,255,.1);border-color:#fff}
.btn-sm{padding:.6rem 1.4rem;font-size:10px}

/* ── Sections ─────────────────────────────────────────────────── */
.sec{padding:100px 0}
.sec-sm{padding:60px 0}
.sec-alt{background:var(--bg-alt)}
.sec-dark{background:var(--dark-2)}

.eyebrow{
  display:block;font-family:var(--ff-b);
  font-size:10px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--gold);margin-bottom:.8rem;
}
.sec-title{
  font-family:var(--ff-d);
  font-size:clamp(1.8rem,3.2vw,2.9rem);
  font-weight:500;line-height:1.15;color:var(--ink);
}
.sec-title em{font-style:italic;color:var(--gold)}
.sec-title-xl{font-size:clamp(2.4rem,5vw,4.2rem)}
.sec-title-sm{font-size:clamp(1.3rem,2.3vw,1.9rem)}
.sec-title-white{color:#fff}.sec-title-white em{color:var(--gold-lt)}

.gp-rule{width:44px;height:1px;background:var(--gold);margin:1.3rem 0}
.gp-rule-c{margin-inline:auto}
.body-txt{color:var(--muted);line-height:1.82}

/* ── HERO ─────────────────────────────────────────────────────── */
.hero{
  position:relative;overflow:hidden;
  height:calc(100vh - var(--bar-h));min-height:600px;
}
.hero-swiper{position:absolute;inset:0}
.hero-swiper .swiper,.hero-swiper .swiper-wrapper,.hero-swiper .swiper-slide{height:100%}
.hero-slide{background-size:cover;background-position:center}
.hero-slide::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(115deg,rgba(8,6,3,.72) 0%,rgba(8,6,3,.25) 60%,transparent 100%);
}
.hero-body{
  position:relative;z-index:3;height:100%;
  display:flex;align-items:center;padding-top:2rem;
}
.hero-tag{
  display:inline-flex;align-items:center;gap:.8rem;
  font-size:10px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--gold-lt);margin-bottom:1.5rem;
}
.hero-tag::before{content:'';width:38px;height:1px;background:var(--gold)}
.hero-h1{
  font-family:var(--ff-d);
  font-size:clamp(3rem,8vw,6.4rem);
  font-weight:500;color:#fff;line-height:1.04;margin-bottom:1.4rem;
}
.hero-h1 em{font-style:italic;color:var(--gold-lt)}
.hero-sub{
  font-size:15.5px;color:rgba(255,255,255,.68);
  max-width:460px;margin-bottom:2.6rem;letter-spacing:.02em;
}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}
.hero-scroll{
  position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);z-index:4;
  display:flex;flex-direction:column;align-items:center;gap:.5rem;
  color:rgba(255,255,255,.35);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
  cursor:pointer;animation:hero-bounce 2.5s ease-in-out infinite;
}
.hero-scroll-line{width:1px;height:46px;background:linear-gradient(to bottom,transparent,var(--gold))}
@keyframes hero-bounce{
  0%,100%{transform:translateX(-50%) translateY(0)}
  55%{transform:translateX(-50%) translateY(10px)}
}
.swiper-pagination-bullet{background:rgba(255,255,255,.35)!important;opacity:1!important;width:6px;height:6px}
.swiper-pagination-bullet-active{background:var(--gold)!important}

/* ── Reservation Bar ──────────────────────────────────────────── */
.resbar{background:var(--bg-card);border-top:2px solid var(--gold);box-shadow:var(--sh-lg);position:relative;z-index:10}
.resbar-grid{
  display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;
  border:1px solid var(--border);border-top:none;
}
.resbar-field{
  padding:1.4rem 1.9rem;border-right:1px solid var(--border);
  display:flex;flex-direction:column;gap:.3rem;
}
.resbar-field:last-child{border-right:none}
.resbar-label{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.resbar-input{
  border:none;outline:none;background:transparent;
  font-family:var(--ff-b);font-size:14px;color:var(--ink);width:100%;
}
.resbar-input option{background:var(--bg-card);color:var(--ink)}
.resbar-submit{
  background:var(--gold);color:#fff;border:none;
  padding:0 2.4rem;font-family:var(--ff-b);font-size:10.5px;
  letter-spacing:.17em;text-transform:uppercase;cursor:pointer;white-space:nowrap;
  transition:background var(--t);
}
.resbar-submit:hover{background:var(--gold-dk)}

/* ── Stats ────────────────────────────────────────────────────── */
.stats-bar{background:var(--dark);border-top:1px solid rgba(201,168,76,.18)}
.stat-item{
  padding:2.8rem 0;border-right:1px solid rgba(255,255,255,.06);
  text-align:center;
}
.stat-item:last-child{border-right:none}
.stat-num{font-family:var(--ff-d);font-size:2.9rem;color:var(--gold);line-height:1}
.stat-lbl{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.38);margin-top:.5rem}

/* ── Cards ────────────────────────────────────────────────────── */
.gp-card{
  background:var(--bg-card);border:1px solid var(--border);overflow:hidden;
  transition:box-shadow var(--t),transform var(--t),border-color var(--t);
}
.gp-card:hover{box-shadow:var(--sh-lg);transform:translateY(-5px);border-color:var(--gold)}
.card-img{overflow:hidden;position:relative}
.card-img img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;transition:transform .9s var(--ease)}
.gp-card:hover .card-img img{transform:scale(1.07)}
.card-badge{
  position:absolute;top:1rem;left:1rem;
  background:var(--gold);color:#fff;
  font-size:9px;letter-spacing:.16em;text-transform:uppercase;padding:.3rem .9rem;
}
.card-body{padding:1.8rem 2rem}
.card-meta{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--light-text);margin-bottom:.5rem}
.card-title{font-family:var(--ff-d);font-size:1.5rem;margin-bottom:.55rem;color:var(--ink)}
.card-amenities{display:flex;gap:1.2rem;flex-wrap:wrap;font-size:11px;color:var(--muted);margin:.6rem 0}
.card-amenities i{color:var(--gold);margin-right:3px}
.card-price{font-family:var(--ff-d);font-size:1.3rem;color:var(--gold)}
.card-price span{font-size:11px;color:var(--muted);font-family:var(--ff-b)}

/* ── Feature Split ────────────────────────────────────────────── */
.split-row{display:grid;grid-template-columns:1fr 1fr;min-height:540px}
.split-img{overflow:hidden;position:relative}
.split-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.split-img:hover img{transform:scale(1.04)}
.split-body{
  padding:5rem 4.5rem;
  display:flex;flex-direction:column;justify-content:center;
  background:var(--bg-alt);
}
.split-body-dark{background:var(--dark-3);color:rgba(255,255,255,.7)}

/* ── Icon boxes ───────────────────────────────────────────────── */
.icon-box{
  padding:2.6rem 2rem;border:1px solid var(--border);background:var(--bg-card);text-align:center;
  transition:box-shadow var(--t),border-color var(--t),transform var(--t);
}
.icon-box:hover{box-shadow:var(--sh-md);border-color:var(--gold);transform:translateY(-4px)}
.icon-box-icon{
  width:62px;height:62px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--gold-glow);font-size:25px;color:var(--gold);margin-bottom:1.2rem;
}
.icon-box-title{font-family:var(--ff-d);font-size:1.2rem;margin-bottom:.45rem;color:var(--ink)}

/* ── Page Hero ────────────────────────────────────────────────── */
.page-hero{position:relative;height:460px;display:flex;align-items:center;overflow:hidden}
.page-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.page-hero-bg::after{content:'';position:absolute;inset:0;background:rgba(6,5,3,.52)}
.page-hero-content{position:relative;z-index:2;color:#fff}
.gp-bc{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-top:.8rem}
.gp-bc a{color:var(--gold-lt)}.gp-bc a:hover{color:#fff}
.gp-bc span{margin:0 .45rem;color:rgba(255,255,255,.25)}

/* ── Gallery ──────────────────────────────────────────────────── */
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-auto-rows:240px;gap:5px;
}
.g-item{overflow:hidden;position:relative;cursor:pointer}
.g-item-tall{grid-row:span 2}.g-item-wide{grid-column:span 2}
.g-item img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.g-item::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,0);transition:background var(--t)}
.g-item:hover::after{background:rgba(0,0,0,.3)}
.g-item:hover img{transform:scale(1.08)}
.g-item-over{
  position:absolute;inset:0;z-index:2;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  color:#fff;opacity:0;transition:opacity var(--t);
}
.g-item-over i{font-size:2rem}
.g-item-over span{font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;margin-top:.4rem}
.g-item:hover .g-item-over{opacity:1}

/* ── Lightbox ─────────────────────────────────────────────────── */
.lb{
  display:none;position:fixed;inset:0;z-index:9900;
  background:rgba(4,3,2,.96);
  align-items:center;justify-content:center;padding:2rem;
}
.lb.on{display:flex}
.lb-wrap{position:relative;display:flex;align-items:center;justify-content:center}
.lb img{max-width:88vw;max-height:84vh;object-fit:contain;display:block}
.lb-close{
  position:fixed;top:1.4rem;right:1.4rem;
  background:none;border:1px solid rgba(255,255,255,.2);color:#fff;
  width:44px;height:44px;display:flex;align-items:center;justify-content:center;
  font-size:18px;cursor:pointer;transition:border-color var(--tf),color var(--tf);
}
.lb-close:hover{border-color:var(--gold);color:var(--gold)}
.lb-btn{
  position:absolute;top:50%;transform:translateY(-50%);
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#fff;
  width:50px;height:50px;display:flex;align-items:center;justify-content:center;
  font-size:20px;cursor:pointer;transition:background var(--tf),border-color var(--tf);
}
.lb-btn:hover{background:var(--gold);border-color:var(--gold)}
.lb-prev{left:-68px}.lb-next{right:-68px}
.lb-count{
  position:fixed;bottom:1.4rem;left:50%;transform:translateX(-50%);
  color:rgba(255,255,255,.38);font-size:12px;letter-spacing:.1em;
}

/* ── Testimonial ──────────────────────────────────────────────── */
.testi{
  background:var(--bg-card);border:1px solid var(--border);
  padding:2.5rem;position:relative;
  transition:border-color var(--t),box-shadow var(--t);
}
.testi:hover{border-color:var(--gold);box-shadow:var(--sh-sm)}
.testi::before{
  content:'\201C';position:absolute;top:1rem;right:1.5rem;
  font-family:var(--ff-d);font-size:5rem;line-height:.7;
  color:var(--gold);opacity:.2;
}
.testi-stars{color:var(--gold);font-size:12px;margin-bottom:.8rem;letter-spacing:2px}
.testi-text{
  font-family:var(--ff-d);font-style:italic;
  font-size:1.05rem;color:var(--ink);line-height:1.65;margin-bottom:1.2rem;
}
.testi-author{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

/* ── Menu list ────────────────────────────────────────────────── */
.menu-item{
  display:flex;justify-content:space-between;align-items:flex-end;
  padding:1.1rem 0;border-bottom:1px solid var(--border-lt);
}
.menu-item-name{font-family:var(--ff-d);font-size:1.1rem;color:var(--ink)}
.menu-item-note{font-size:12px;color:var(--muted);margin-top:.15rem}
.menu-item-price{font-family:var(--ff-d);font-size:1.15rem;color:var(--gold);flex-shrink:0;margin-left:1rem}

/* ── Room detail ──────────────────────────────────────────────── */
.room-gallery{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:5px;height:520px}
.room-gallery-main{grid-row:span 2;overflow:hidden;position:relative;cursor:pointer}
.room-gallery-main img,.room-gallery-thumb img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .7s var(--ease);
}
.room-gallery-main:hover img,.room-gallery-thumb:hover img{transform:scale(1.04)}
.room-gallery-thumb{overflow:hidden;cursor:pointer}

.price-card{background:var(--bg-card);border:1px solid var(--border);padding:2.2rem;position:sticky;top:calc(var(--nav-h) + 1.5rem)}
.price-card-top{font-family:var(--ff-d);font-size:2.5rem;color:var(--gold);line-height:1}
.price-card-sub{font-size:11px;color:var(--muted);letter-spacing:.06em}
.price-card hr{border:none;border-top:1px solid var(--border);margin:1.5rem 0}
.price-input{
  border:1px solid var(--border);background:var(--bg-alt);
  font-family:var(--ff-b);font-size:13.5px;color:var(--ink);
  padding:.7rem 1rem;width:100%;outline:none;
  transition:border-color var(--tf);
}
.price-input:focus{border-color:var(--gold)}

/* ── Form ─────────────────────────────────────────────────────── */
.gp-form .form-control,.gp-form .form-select{
  background:var(--bg-alt);border:1px solid var(--border);
  border-radius:0;color:var(--ink);
  font-family:var(--ff-b);font-size:14px;font-weight:300;
  padding:.85rem 1.1rem;box-shadow:none;
  transition:border-color var(--tf);
}
.gp-form .form-control:focus,.gp-form .form-select:focus{
  border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-glow);
  background:var(--bg-alt);color:var(--ink);
}
.gp-form label{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem;display:block}

/* ── Amenity list ─────────────────────────────────────────────── */
.amenity-list{list-style:none}
.amenity-list li{
  display:flex;align-items:center;gap:.75rem;
  padding:.55rem 0;border-bottom:1px solid var(--border-lt);
  font-size:13.5px;color:var(--muted);
}
.amenity-list li:last-child{border-bottom:none}
.amenity-list i{color:var(--gold);font-size:14px;flex-shrink:0}

/* ── Timeline ─────────────────────────────────────────────────── */
.gp-timeline{position:relative;padding-left:2.5rem}
.gp-timeline::before{
  content:'';position:absolute;left:0;top:.5rem;bottom:0;
  width:1px;background:linear-gradient(to bottom,var(--gold),transparent);
}
.gp-tl-item{position:relative;margin-bottom:2.4rem}
.gp-tl-item::before{
  content:'';position:absolute;left:-2.5rem;top:.45rem;
  width:9px;height:9px;background:var(--gold);transform:rotate(45deg);
}
.gp-tl-year{font-family:var(--ff-d);font-size:1.1rem;color:var(--gold);margin-bottom:.25rem}
.gp-tl-text{color:var(--muted);font-size:13.5px}

/* ── Float (WhatsApp) ─────────────────────────────────────────── */
.gp-float{position:fixed;bottom:2rem;right:2rem;z-index:8000;display:flex;flex-direction:column;align-items:flex-end;gap:.7rem}
.gp-float-main{
  width:56px;height:56px;background:#25d366;color:#fff;
  border-radius:50%;border:none;
  display:flex;align-items:center;justify-content:center;
  font-size:28px;cursor:pointer;
  box-shadow:0 6px 28px rgba(37,211,102,.4);
  transition:transform var(--tf),box-shadow var(--tf);
  position:relative;z-index:2;
}
.gp-float-main:hover{transform:scale(1.1);box-shadow:0 8px 36px rgba(37,211,102,.55)}
.gp-float-menu{
  display:flex;flex-direction:column;gap:.5rem;align-items:flex-end;
  opacity:0;transform:translateY(12px) scale(.94);
  transition:opacity var(--t),transform var(--t);pointer-events:none;
}
.gp-float-menu.open{opacity:1;transform:none;pointer-events:all}
.gp-float-action{
  display:flex;align-items:center;gap:.75rem;
  background:var(--bg-card);border:1px solid var(--border);
  padding:.65rem 1.1rem .65rem .9rem;
  box-shadow:var(--sh-md);cursor:pointer;
  transition:border-color var(--tf),box-shadow var(--tf);
  text-decoration:none;color:var(--ink);
}
.gp-float-action:hover{border-color:var(--gold);box-shadow:var(--sh-gold);color:var(--gold)}
.gp-float-action i{font-size:20px}
.gp-float-action .fa-wa{color:#25d366}
.gp-float-action .fa-ph{color:var(--gold)}
.gp-float-action span{font-size:12px;letter-spacing:.07em;white-space:nowrap}

/* ── Scroll top ───────────────────────────────────────────────── */
.scroll-top{
  position:fixed;bottom:2rem;left:2rem;z-index:7000;
  width:44px;height:44px;background:var(--bg-card);
  border:1px solid var(--border);color:var(--muted);
  display:flex;align-items:center;justify-content:center;
  font-size:17px;cursor:pointer;
  opacity:0;transform:translateY(8px);
  transition:opacity var(--t),transform var(--t),border-color var(--tf),color var(--tf);
  pointer-events:none;
}
.scroll-top.on{opacity:1;transform:none;pointer-events:all}
.scroll-top:hover{border-color:var(--gold);color:var(--gold)}

/* ── Footer ───────────────────────────────────────────────────── */

.built-by-card {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 8px;
    padding: 7px 14px;
    text-decoration: none;
    transition: all .25s;
    position: relative;
    overflow: hidden;
}
.built-by-card:hover {
    border-color: rgba(255,255,255,.2);
    background: rgba(255,255,255,.1);
}
.bbc-glow {
    position: absolute;
    right: -16px; top: -16px;
    width: 60px; height: 60px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,255,255,.15) 0%, transparent 70%);
    opacity: 0;
    transition: opacity .3s;
    z-index: 0;
}
.built-by-card:hover .bbc-glow { opacity: 1; }
.bbc-logo { position: relative; z-index: 1; }
.bbc-sep {
    width: 1px; height: 24px;
    background: rgba(255,255,255,.1);
    flex-shrink: 0;
    position: relative; z-index: 1;
}
.bbc-info { position: relative; z-index: 1; }
.bbc-made {
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255,255,255,.3);
    margin-bottom: 1px;
}
.bbc-name {
    font-size: .76rem;
    font-weight: 600;
    color: rgba(255,255,255,.6);
    transition: color .2s;
}
.built-by-card:hover .bbc-name { color: #fff; }

@media(max-width: 576px) {
    .foot-bottom { flex-direction: column; align-items: flex-start !important; }
}

.gp-footer{background:#090806;border-top:1px solid rgba(201,168,76,.16);padding:80px 0 0;color:rgba(255,255,255,.5)}
.foot-logo{height:56px;width:auto;filter:invert(73%) sepia(55%) saturate(550%) hue-rotate(2deg) brightness(1.1);margin-bottom:1.2rem}
.foot-about{font-size:13.5px;line-height:1.78;max-width:300px}
.foot-social{display:flex;gap:.7rem;margin-top:1.5rem}
.foot-social a{
  width:36px;height:36px;border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.38);display:flex;align-items:center;justify-content:center;font-size:15px;
  transition:border-color var(--tf),color var(--tf);
}
.foot-social a:hover{border-color:var(--gold);color:var(--gold)}
.foot-h{font-family:var(--ff-b);font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:#fff;margin-bottom:1.4rem}
.foot-links{list-style:none}
.foot-links li{margin-bottom:.5rem}
.foot-links a{color:rgba(255,255,255,.42);font-size:13.5px;transition:color var(--tf),padding-left var(--tf);display:inline-block}
.foot-links a:hover{color:var(--gold);padding-left:5px}
.foot-contact{list-style:none}
.foot-contact li{display:flex;gap:.8rem;font-size:13.5px;color:rgba(255,255,255,.42);margin-bottom:.75rem;align-items:flex-start}
.foot-contact i{color:var(--gold);flex-shrink:0;margin-top:3px}
.foot-bottom{
  border-top:1px solid rgba(255,255,255,.07);margin-top:3.5rem;padding:1.4rem 0;
  display:flex;justify-content:space-between;align-items:center;
  font-size:11.5px;color:rgba(255,255,255,.22);flex-wrap:wrap;gap:.75rem;
}
.foot-bottom a{color:rgba(255,255,255,.22);transition:color var(--tf)}
.foot-bottom a:hover{color:var(--gold)}

/* ── Gold ornament ────────────────────────────────────────────── */
.ornament{
  display:flex;align-items:center;gap:1rem;
  color:var(--gold);font-size:11px;letter-spacing:.2em;
  margin:1.2rem 0;
}
.ornament::before,.ornament::after{content:'';flex:1;height:1px;background:var(--border)}

/* ── Reveal animation ─────────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}

/* ── Responsive ───────────────────────────────────────────────── */
@media(max-width:1100px){.lb-prev{left:.5rem}.lb-next{right:.5rem}}
@media(max-width:992px){
  .resbar-grid{grid-template-columns:1fr 1fr}
  .split-row{grid-template-columns:1fr}
  .split-img{min-height:320px;position:relative}
  .split-img img{position:relative;width:100%;height:320px;object-fit:cover}
  .split-body{padding:3rem 2.5rem}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .g-item-wide{grid-column:span 1}
  .room-gallery{grid-template-columns:1fr;grid-template-rows:320px 160px 160px;height:auto}
  .room-gallery-main{grid-row:span 1}
}
@media(max-width:768px){
  .sec{padding:60px 0}
  .resbar-grid{grid-template-columns:1fr}
  .gallery-grid{grid-auto-rows:180px}
  .page-hero{height:300px}
  .hero{min-height:520px}
  .split-body{padding:2.5rem 1.5rem}
}
