
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Montserrat:wght@400;500;600;700;800&display=swap');
:root{--bg:#080909;--bg2:#0b0f0e;--green:#0f3229;--green2:#143f34;--gold:#caa64e;--gold2:#e4c66d;--text:#f4f1e8;--muted:#aaa49a;--line:rgba(255,255,255,.11);--card:#111211;--card2:#171817;--cyan:#00c8d7;--blue:#4c8dff;--pink:#e85aa8;--red:#d65a4a;--purple:#a96cff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Montserrat,Arial,sans-serif;font-size:14px;line-height:1.65;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}.wrap{width:min(1120px,88vw);margin:auto}.serif{font-family:'Cormorant Garamond',serif}.gold{color:var(--gold)}
.nav{height:66px;background:#090909;border-bottom:1px solid var(--line);position:fixed;z-index:50;inset:0 0 auto}.nav .wrap{height:66px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.logo{width:40px;height:40px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f7d46e,#e83620 38%,#081d18 70%);box-shadow:0 0 0 1px rgba(255,255,255,.14)}.brand b{font-family:'Cormorant Garamond',serif;font-size:20px;line-height:1}.brand span{display:block;color:var(--gold);font-size:10px;letter-spacing:.22em;text-transform:uppercase;margin-top:-2px}.links{display:flex;gap:30px;align-items:center;text-transform:uppercase;font-size:11px;font-weight:700;color:#cfcac2}.links a.active,.links a:hover{color:var(--gold)}.book{background:var(--gold);color:#111!important;padding:13px 24px;font-size:12px;text-transform:uppercase;font-weight:800;letter-spacing:.05em}
.hero{min-height:705px;padding-top:66px;display:grid;place-items:center;position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.48),rgba(0,0,0,.83)),url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=2200&q=80') center/cover no-repeat}.hero.stadium{background-image:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.48),rgba(0,0,0,.83)),url('https://images.unsplash.com/photo-1517927033932-b3d18e61fb3a?auto=format&fit=crop&w=2200&q=80')}.hero.city{min-height:380px;background-image:linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,.9)),url('https://images.unsplash.com/photo-1575917649705-5b59aaa12e6b?auto=format&fit=crop&w=2200&q=80')}.hero.interior{min-height:390px;background-image:linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,.9)),url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=2200&q=80')}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#060707)}.hero .bar{position:absolute;left:0;top:165px;width:5px;height:90px;background:var(--gold)}.hero-content{position:relative;z-index:2;text-align:left;width:min(760px,86vw);margin-top:20px}.hero.centered .hero-content{text-align:center}.eyebrow{display:inline-flex;border:1px solid rgba(202,166,78,.35);background:rgba(202,166,78,.08);color:var(--gold);padding:5px 12px;font-size:10px;letter-spacing:.25em;text-transform:uppercase;font-weight:700}.hero h1{font-family:'Cormorant Garamond',serif;font-size:72px;line-height:.88;margin:20px 0 14px;font-weight:600;letter-spacing:-.035em}.hero.centered h1{font-size:66px}.hero p{max-width:660px;color:#d8d3cb;margin:0 0 12px;font-size:15px}.hero.centered p{margin-left:auto;margin-right:auto}.facts{color:var(--gold2)!important;font-weight:700;font-size:13px!important}.hero em{display:block;color:#fff;font-family:'Cormorant Garamond',serif;font-size:19px;margin-top:7px}.actions{display:flex;gap:16px;margin-top:26px}.hero.centered .actions{justify-content:center}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--gold);background:var(--gold);color:#111;padding:15px 24px;text-transform:uppercase;font-size:11px;letter-spacing:.08em;font-weight:800;cursor:pointer}.btn.dark{background:transparent;color:var(--gold)}.scroll{position:absolute;bottom:38px;z-index:2;color:#8e887f;font-size:11px;letter-spacing:.18em}
.count{background:linear-gradient(90deg,var(--green2),#102f27);padding:42px 0;text-align:center}.count .eyebrow{border:0;background:transparent}.timer{display:flex;justify-content:center;gap:18px;margin-top:16px}.timebox{border:1px solid rgba(202,166,78,.38);width:70px;height:70px;display:grid;place-items:center}.timebox b{font-family:'Cormorant Garamond',serif;color:var(--gold);font-size:29px;line-height:1}.timebox span{display:block;color:#bcb5aa;font-size:9px;text-transform:uppercase;margin-top:-12px}
section{scroll-margin-top:66px}.content-section{padding:95px 0;border-top:1px solid rgba(255,255,255,.04)}.split{display:grid;grid-template-columns:1fr 1fr;gap:76px;align-items:center}.kicker{color:var(--gold);text-transform:uppercase;letter-spacing:.25em;font-size:10px;font-weight:700}.h2{font-family:'Cormorant Garamond',serif;font-size:46px;line-height:1.02;font-weight:500;margin:8px 0 20px}.copy{color:#bcb6ad;max-width:620px}.center{text-align:center}.center .copy{margin-left:auto;margin-right:auto}
.metrics{display:grid;grid-template-columns:1fr 1fr;gap:18px}.metric{height:150px;border:1px solid var(--line);background:linear-gradient(145deg,#141514,#0d0e0d);padding:28px}.metric i{color:var(--gold);font-style:normal;font-size:26px}.metric b{display:block;font-family:'Cormorant Garamond',serif;font-size:28px;color:#fff;margin-top:18px}.metric span{color:var(--muted);font-size:12px}
.amenities{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px}.amenity{background:#111211;border:1px solid var(--line);padding:25px;min-height:105px}.amenity .ico{color:var(--gold);font-size:23px;margin-bottom:14px}.amenity b{display:block;color:#fff;margin-bottom:4px}.amenity span{color:var(--muted);font-size:12px}
.story{padding:95px 0;text-align:center;background:#080909}.story p{max-width:760px;margin:14px auto;color:#c0bbb2}.divider{margin:30px auto 0;width:118px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.virtual{background:linear-gradient(180deg,#080909,#0b0c0c);text-align:center}.tourbox{width:min(760px,90vw);margin:24px auto 0;border:1px solid var(--line);background:#121312;padding:34px}.tourchecks{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;text-align:left;color:#c5bfb6;font-size:12px;margin:22px 0}.tourchecks div:before{content:'✓';color:var(--gold);margin-right:8px}
.loc{background:var(--green2)}.atlphoto{height:330px;background:url('https://images.unsplash.com/photo-1575917649705-5b59aaa12e6b?auto=format&fit=crop&w=1200&q=80') center/cover;border:1px solid var(--line);position:relative}.tag{position:absolute;left:-18px;bottom:-18px;background:#090909;border-top:3px solid var(--gold);padding:20px;color:var(--gold);font-family:'Cormorant Garamond',serif;font-size:20px}
.gallery-filter{display:flex;justify-content:center;gap:12px;margin:90px 0 34px}.gallery-filter button{background:#101111;color:#cfcac2;border:1px solid var(--line);padding:12px 22px;text-transform:uppercase;font-size:12px;font-weight:700}.gallery-filter button.active{background:var(--gold);color:#111}.photo-placeholder{height:290px;display:grid;place-items:center;color:#999;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}.gallery-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-top:34px}.gallery-main,.gallery-side div{border:1px solid var(--line);background:#151615;min-height:340px;background-size:cover;background-position:center}.gallery-main{background-image:url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1200&q=80')}.gallery-side{display:grid;gap:16px}.gallery-side div{min-height:160px}.gallery-side div:nth-child(1){background-image:url('https://images.unsplash.com/photo-1560448204-e02f11c3d0e2?auto=format&fit=crop&w=900&q=80')}.gallery-side div:nth-child(2){background-image:url('https://images.unsplash.com/photo-1554995207-c18c203602cb?auto=format&fit=crop&w=900&q=80')}
.package-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:45px}.package{border:1px solid var(--gold);background:#101111;padding:26px}.package.cyan{border-color:var(--cyan)}.package.green{border-color:#16d899}.package.blue{border-color:var(--blue)}.package.red{border-color:var(--red)}.package.purple{border-color:var(--purple)}.package.pink{border-color:var(--pink)}.badge{display:inline-block;background:#241f12;color:var(--gold);border:1px solid rgba(202,166,78,.4);font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:5px 8px;margin-bottom:12px}.package h3{font-family:'Cormorant Garamond',serif;font-size:30px;margin:0 0 8px}.package .price{font-weight:800;color:var(--gold);margin:10px 0 18px}.package ul{list-style:none;padding:0;margin:18px 0;border-top:1px solid var(--line)}.package li{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:9px 0;color:#ddd;font-size:13px}.package small{color:#aaa}.addons{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:min(760px,90vw);margin:28px auto}.addon{border:1px solid var(--line);padding:18px;background:#121312;text-align:left}.addon.active{border-color:var(--gold);background:#221e12}.booking-form{width:min(760px,90vw);margin:30px auto 0;text-align:left;border:1px solid var(--line);background:#121312;padding:34px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;color:#c5bfb6;font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:7px}input,select,textarea{width:100%;background:#090909;border:1px solid rgba(255,255,255,.16);color:#fff;padding:14px;font-family:Montserrat,Arial,sans-serif}textarea{min-height:110px;resize:vertical}.full{grid-column:1/-1}
.calendar-wrap{display:grid;grid-template-columns:1fr 1fr;gap:28px;width:min(760px,90vw);margin:40px auto}.panel{border:1px solid var(--line);background:#151615;padding:24px}.times{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.times button,.platform button{background:#222;border:1px solid var(--line);color:#ccc;padding:10px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;color:#bdb6ad;text-align:center;font-size:13px}.calendar .day{padding:8px}.calendar .sel{background:var(--green);color:#fff}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;margin-top:55px;text-align:center}.step i{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid var(--gold);color:var(--gold);font-style:normal;margin-bottom:18px}.step h3{font-family:'Cormorant Garamond',serif;font-size:22px;margin:0 0 8px}.step p{color:var(--muted);font-size:12px}
.distance-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:40px}.distance{background:#141514;border:1px solid var(--line);padding:22px}.distance b{font-family:'Cormorant Garamond',serif;font-size:24px;color:#fff}.walk-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:45px}.walkbox{border:1px solid var(--line);background:#101111;padding:24px}.walkbox h3{font-family:'Cormorant Garamond',serif;font-size:26px;margin:0 0 12px}.walkitem{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.06);padding:8px 0;color:#bbb}.transport{background:var(--green);}.alert{background:var(--gold);color:#111;text-align:center;padding:24px;font-weight:800}.cta{text-align:center;padding:76px 0}.footer{background:#090909;border-top:1px solid var(--line);padding:60px 0 34px}.footgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:80px}.footer h4{color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:.18em}.footer p,.footer a{color:#aaa39a;font-size:13px;display:block;margin:9px 0}.copyline{border-top:1px solid var(--line);margin-top:45px;padding-top:24px;display:flex;justify-content:space-between;color:#777;font-size:12px}
@media(max-width:900px){.links{display:none}.hero h1{font-size:52px}.split,.footgrid,.package-grid,.calendar-wrap,.walk-grid{grid-template-columns:1fr}.amenities,.steps,.gallery-grid,.distance-cards{grid-template-columns:1fr}.metrics{grid-template-columns:1fr}.tourchecks,.formgrid,.addons{grid-template-columns:1fr}.timer{gap:8px}.timebox{width:62px}}

.package{position:relative;transition:.18s ease;cursor:pointer}
.package.selected{box-shadow:0 0 0 2px var(--gold),0 0 44px rgba(202,166,78,.18);transform:translateY(-2px)}
.package.selected:after{content:'SELECTED';position:absolute;top:14px;right:14px;background:var(--gold);color:#111;font-size:10px;font-weight:900;letter-spacing:.12em;padding:5px 8px}
.addon{cursor:pointer;transition:.18s ease}
.addon.active{box-shadow:0 0 0 1px var(--gold),0 0 26px rgba(202,166,78,.12)}
.booking-summary{grid-column:1/-1;border:1px solid rgba(202,166,78,.35);background:rgba(202,166,78,.08);color:#d8d3cb;padding:14px;margin-top:0}
.booking-summary b{color:var(--gold)}


/* Hover highlight upgrades for booking packages + add-ons */
.package{
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}
.package:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 44px rgba(0,0,0,.38), 0 0 0 1px rgba(202,166,78,.45), 0 0 38px rgba(202,166,78,.16);
  background:linear-gradient(145deg,#161715,#0d0e0d);
}
.package.cyan:hover{box-shadow:0 18px 44px rgba(0,0,0,.38),0 0 0 1px rgba(0,200,215,.65),0 0 38px rgba(0,200,215,.16)}
.package.green:hover{box-shadow:0 18px 44px rgba(0,0,0,.38),0 0 0 1px rgba(22,216,153,.65),0 0 38px rgba(22,216,153,.16)}
.package.blue:hover{box-shadow:0 18px 44px rgba(0,0,0,.38),0 0 0 1px rgba(76,141,255,.65),0 0 38px rgba(76,141,255,.16)}
.package.red:hover{box-shadow:0 18px 44px rgba(0,0,0,.38),0 0 0 1px rgba(214,90,74,.65),0 0 38px rgba(214,90,74,.16)}
.package.purple:hover{box-shadow:0 18px 44px rgba(0,0,0,.38),0 0 0 1px rgba(169,108,255,.65),0 0 38px rgba(169,108,255,.16)}
.package.pink:hover{box-shadow:0 18px 44px rgba(0,0,0,.38),0 0 0 1px rgba(232,90,168,.65),0 0 38px rgba(232,90,168,.16)}

.package:hover h3,
.package:hover .price{
  color:var(--gold2);
}
.package:hover .btn.dark{
  background:var(--gold);
  color:#111;
}

.addon{
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease, color .2s ease;
}
.addon:hover{
  transform:translateY(-3px);
  border-color:rgba(202,166,78,.72);
  background:rgba(202,166,78,.12);
  color:#fff;
  box-shadow:0 12px 34px rgba(0,0,0,.32),0 0 26px rgba(202,166,78,.14);
}
.addon.active:hover{
  background:rgba(202,166,78,.2);
  box-shadow:0 12px 34px rgba(0,0,0,.34),0 0 36px rgba(202,166,78,.22);
}


/* FINAL OVERRIDE — strong hover/selected states for booking.php */
body .package{
  cursor:pointer !important;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease !important;
}
body .package:hover{
  transform:translateY(-6px) scale(1.01) !important;
  background:linear-gradient(145deg,#1b1c19,#101110) !important;
  border-color:var(--gold2) !important;
  box-shadow:
    0 22px 60px rgba(0,0,0,.55),
    0 0 0 2px rgba(202,166,78,.75),
    0 0 46px rgba(202,166,78,.28) !important;
}
body .package:hover h3,
body .package:hover .price{
  color:var(--gold2) !important;
}
body .package:hover .btn.dark{
  background:var(--gold) !important;
  color:#111 !important;
  border-color:var(--gold2) !important;
}
body .package.selected{
  transform:translateY(-6px) scale(1.01) !important;
  border-color:var(--gold2) !important;
  box-shadow:
    0 22px 60px rgba(0,0,0,.55),
    0 0 0 2px rgba(202,166,78,.85),
    0 0 54px rgba(202,166,78,.32) !important;
}

body .addon{
  cursor:pointer !important;
  user-select:none;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease, color .2s ease !important;
}
body .addon:hover{
  transform:translateY(-5px) scale(1.015) !important;
  border-color:var(--gold2) !important;
  background:rgba(202,166,78,.16) !important;
  color:#fff !important;
  box-shadow:
    0 18px 42px rgba(0,0,0,.45),
    0 0 0 1px rgba(202,166,78,.65),
    0 0 34px rgba(202,166,78,.22) !important;
}
body .addon.active{
  border-color:var(--gold2) !important;
  background:rgba(202,166,78,.20) !important;
  color:#fff !important;
  box-shadow:0 0 0 1px rgba(202,166,78,.75),0 0 34px rgba(202,166,78,.18) !important;
}


/* Guided luxury booking funnel */
.sticky-booking-summary{
  position:fixed;
  left:50%;
  bottom:18px;
  transform:translateX(-50%) translateY(120%);
  width:min(980px,92vw);
  background:rgba(10,10,10,.94);
  border:1px solid rgba(202,166,78,.42);
  box-shadow:0 22px 70px rgba(0,0,0,.55),0 0 36px rgba(202,166,78,.14);
  backdrop-filter:blur(14px);
  z-index:99;
  display:grid;
  grid-template-columns:1.1fr 1fr auto;
  gap:18px;
  align-items:center;
  padding:16px 18px;
  transition:transform .28s ease;
}
.sticky-booking-summary.show{transform:translateX(-50%) translateY(0)}
.sticky-booking-summary span{
  display:block;
  color:#9f978d;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:10px;
  font-weight:800;
  margin-bottom:3px;
}
.sticky-booking-summary strong{
  color:#fff;
  font-size:13px;
}
.sticky-booking-summary a{
  background:var(--gold);
  color:#111;
  padding:13px 18px;
  text-transform:uppercase;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  white-space:nowrap;
}
.section-pulse{
  animation:sectionPulse 1.5s ease;
}
@keyframes sectionPulse{
  0%{box-shadow:inset 0 0 0 0 rgba(202,166,78,0)}
  25%{box-shadow:inset 0 0 0 2px rgba(202,166,78,.55),0 0 44px rgba(202,166,78,.14)}
  100%{box-shadow:inset 0 0 0 0 rgba(202,166,78,0)}
}
#addons-section .addon.active::after{
  content:'✓';
  float:right;
  color:var(--gold2);
  font-weight:900;
}
.package.selected{
  position:relative;
}
@media(max-width:900px){
  .sticky-booking-summary{
    grid-template-columns:1fr;
    gap:8px;
    bottom:10px;
  }
  .sticky-booking-summary a{text-align:center}
}


/* WhatsApp support styling */
.panel .btn.dark:hover{
  background:#25D366 !important;
  border-color:#25D366 !important;
  color:#fff !important;
}


.addon{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.addon b{
  color:#fff;
  font-size:13px;
}
.addon small{
  color:#b7b0a4;
  line-height:1.5;
  font-size:11px;
}


/* Live pricing total */
.live-total-box{
  width:min(980px,92vw);
  margin:0 auto 40px;
  border:1px solid rgba(202,166,78,.35);
  background:linear-gradient(145deg,#131412,#0d0e0d);
  padding:28px;
  box-shadow:0 18px 44px rgba(0,0,0,.38),0 0 34px rgba(202,166,78,.08);
}
.live-total-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:24px;
}
.live-total-box span{
  display:block;
  color:#9e978d;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:10px;
  font-weight:800;
  margin-bottom:6px;
}
.live-total-box strong{
  color:#fff;
  font-size:15px;
}
.price-total{
  color:var(--gold2) !important;
  font-size:28px !important;
  font-family:'Cormorant Garamond',serif;
}
@media(max-width:900px){
  .live-total-grid{
    grid-template-columns:1fr;
  }
}


/* Fixed add-on modal + clean selected states */
.addon-modal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.72);
  z-index:999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
  backdrop-filter:blur(10px);
}
.addon-modal.open{display:flex}
.addon-modal-card{
  width:min(560px,94vw);
  background:linear-gradient(145deg,#151613,#0b0c0b);
  border:1px solid rgba(202,166,78,.45);
  box-shadow:0 28px 90px rgba(0,0,0,.72),0 0 44px rgba(202,166,78,.12);
  padding:34px;
  text-align:center;
  position:relative;
}
.addon-modal-close{
  position:absolute;
  top:12px;
  right:14px;
  width:34px;
  height:34px;
  border:1px solid rgba(255,255,255,.12);
  background:#0a0a0a;
  color:#fff;
  font-size:24px;
  cursor:pointer;
}
.modal-price{
  margin:18px auto 4px;
  color:var(--gold2);
  font-family:'Cormorant Garamond',serif;
  font-size:34px;
}
#addons-section .addon.active{
  border-color:var(--gold2) !important;
  background:rgba(202,166,78,.18) !important;
}
#addons-section .addon.active::after{
  content:'✓';
  float:right;
  color:var(--gold2);
  font-weight:900;
}
#packages .package.selected{
  border-color:var(--gold2) !important;
}


/* Luxury organized booking layout */

.booking-layout{
  display:grid;
  grid-template-columns:420px 1fr;
  gap:36px;
  align-items:start;
}

.booking-summary-panel{
  position:sticky;
  top:120px;
  background:linear-gradient(145deg,#151613,#0b0c0b);
  border:1px solid rgba(202,166,78,.35);
  padding:28px;
  box-shadow:0 20px 54px rgba(0,0,0,.45);
}

.summary-header h3{
  color:#fff;
  font-size:34px;
  margin-top:8px;
  font-family:'Cormorant Garamond',serif;
}

.summary-row{
  border-top:1px solid rgba(255,255,255,.08);
  padding:18px 0;
}

.summary-row span{
  display:block;
  color:#9e978d;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:10px;
  margin-bottom:6px;
}

.summary-row strong{
  color:#fff;
  line-height:1.6;
}

.summary-total{
  color:var(--gold2)!important;
  font-size:36px!important;
  font-family:'Cormorant Garamond',serif;
}

.summary-note{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.08);
  color:#a9a396;
  font-size:13px;
  line-height:1.7;
}

.summary-note ul{
  margin-top:12px;
  padding-left:18px;
}

.booking-form-panel{
  background:linear-gradient(145deg,#141514,#0c0d0c);
  border:1px solid rgba(255,255,255,.06);
  padding:34px;
}

.form-section-title{
  color:var(--gold2);
  font-size:13px;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin:28px 0 18px;
  font-weight:800;
}

.modern-form input,
.modern-form select,
.modern-form textarea{
  background:#111211;
  border:1px solid rgba(255,255,255,.08);
  padding:16px;
}

.modern-form textarea{
  resize:vertical;
}

.luxury-submit-btn{
  width:100%;
  margin-top:28px;
  padding:18px;
  font-size:12px;
  letter-spacing:.16em;
}

@media(max-width:980px){

  .booking-layout{
    grid-template-columns:1fr;
  }

  .booking-summary-panel{
    position:relative;
    top:auto;
  }

}


/* Restored pricing totals + organized add-ons */
.elite-addon{
  border-color:var(--gold2) !important;
  background:linear-gradient(145deg,rgba(202,166,78,.16),rgba(10,10,10,.9)) !important;
}
.summary-row strong{
  white-space:pre-line;
}
#addonsField{
  white-space:pre-line;
}
.addon-modal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.72);
  z-index:999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
  backdrop-filter:blur(10px);
}
.addon-modal.open{display:flex}
.addon-modal-card{
  width:min(580px,94vw);
  background:linear-gradient(145deg,#151613,#0b0c0b);
  border:1px solid rgba(202,166,78,.45);
  box-shadow:0 28px 90px rgba(0,0,0,.72),0 0 44px rgba(202,166,78,.12);
  padding:34px;
  text-align:center;
  position:relative;
}
.addon-modal-close{
  position:absolute;
  top:12px;
  right:14px;
  width:34px;
  height:34px;
  border:1px solid rgba(255,255,255,.12);
  background:#0a0a0a;
  color:#fff;
  font-size:24px;
  cursor:pointer;
}
.modal-price{
  margin:18px auto 4px;
  color:var(--gold2);
  font-family:'Cormorant Garamond',serif;
  font-size:34px;
}


/* FINAL ADD-ON REMOVE VISUAL FIX */
#addons-section .addon.active{
  border-color:var(--gold2) !important;
  background:rgba(202,166,78,.18) !important;
  box-shadow:0 0 0 1px rgba(202,166,78,.65),0 0 28px rgba(202,166,78,.16) !important;
}
#addons-section .addon.active::after{
  content:'✓ Selected — click to remove';
  display:block;
  margin-top:8px;
  color:var(--gold2);
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* WHATSAPP CLICKABLE FINAL */
.footer a[href*="wa.me"],
.whatsapp-btn{
  color:#25D366 !important;
}
.whatsapp-btn:hover{
  background:#25D366 !important;
  border-color:#25D366 !important;
  color:#06130a !important;
}
.whatsapp-booking-panel{
  border:1px solid rgba(37,211,102,.35) !important;
  background:rgba(37,211,102,.06) !important;
}


/* Stripe compliance additions */

.stripe-disclaimer{
  border-top:1px solid rgba(255,255,255,.08);
  padding:18px 0;
  background:#0b0c0b;
}

.stripe-disclaimer p{
  color:#9f988e;
  text-align:center;
  font-size:11px;
  line-height:1.7;
  max-width:900px;
  margin:auto;
}

.footer-legal-links{
  text-align:center;
}

.footer-legal-links a{
  color:#b7b0a4;
  font-size:11px;
  text-decoration:none;
}

.footer-legal-links a:hover{
  color:var(--gold2);
}

.reservation-deposit-panel{
  width:min(980px,92vw);
  margin:0 auto 60px;
  border:1px solid rgba(202,166,78,.35);
  background:linear-gradient(145deg,#151613,#0b0c0b);
  padding:32px;
  text-align:center;
}

.reservation-deposit-panel h3{
  color:#fff;
  font-size:38px;
  margin:12px 0;
  font-family:'Cormorant Garamond',serif;
}

.reservation-deposit-panel p{
  color:#b7b0a4;
  max-width:780px;
  margin:auto;
  line-height:1.8;
}


/* BOOKING CONFIRMATION PAGE */
.confirmation-panel{
  width:min(980px,92vw);
  margin:34px auto 0;
  border:1px solid rgba(202,166,78,.35);
  background:linear-gradient(145deg,#151613,#0b0c0b);
  padding:38px;
  box-shadow:0 22px 64px rgba(0,0,0,.42);
}
.confirmation-panel h3{
  color:#fff;
  font-family:'Cormorant Garamond',serif;
  font-size:38px;
  margin:0 0 26px;
}
.confirmation-steps{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.confirmation-steps div{
  background:#101110;
  border:1px solid rgba(255,255,255,.08);
  padding:24px;
}
.confirmation-steps b{
  display:inline-grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid var(--gold);
  color:var(--gold2);
  margin-bottom:14px;
}
.confirmation-steps span{
  display:block;
  color:#fff;
  font-weight:800;
  margin-bottom:8px;
}
.confirmation-steps p{
  color:#aaa39a;
  margin:0;
  font-size:13px;
}
@media(max-width:900px){
  .confirmation-steps{grid-template-columns:1fr}
}


/* FOOTER ALIGNMENT FIX */
.footer-legal-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:26px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.08);
  text-align:center;
}
.footer-legal-row a,
.footer-legal-row span{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  margin:0 !important;
  color:#b7b0a4;
  font-size:12px;
  line-height:1;
}
.footer-legal-row a:hover{
  color:var(--gold2);
}
.footer-copyline{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  border-top:1px solid rgba(255,255,255,.08);
  margin-top:22px;
  padding-top:22px;
  color:#777;
  font-size:12px;
}
.footer-copyline span{
  display:inline-flex;
  margin:0;
}
@media(max-width:720px){
  .footer-copyline{
    justify-content:center;
    text-align:center;
  }
}


/* LEGAL TEMPLATE PAGE FIX */
.legal-page{
  background:linear-gradient(180deg,#080909,#0c0d0c);
}
.legal-wrap{
  max-width:980px;
}
.legal-card{
  margin-top:28px;
  background:linear-gradient(145deg,#151613,#0b0c0b);
  border:1px solid rgba(202,166,78,.28);
  padding:38px;
  box-shadow:0 22px 64px rgba(0,0,0,.35);
}
.legal-card h2{
  color:var(--gold2);
  font-family:'Cormorant Garamond',serif;
  font-size:30px;
  margin:28px 0 10px;
}
.legal-card h2:first-child{
  margin-top:0;
}
.legal-card p{
  color:#b7b0a4;
  line-height:1.85;
  margin:0 0 18px;
}


/* GALLERY ADMIN UPLOAD FIX */
.dynamic-gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:38px;
}
.gallery-photo-card{
  display:block;
  height:285px;
  border:1px solid rgba(255,255,255,.10);
  overflow:hidden;
  background:#111;
  box-shadow:0 16px 42px rgba(0,0,0,.28);
}
.gallery-photo-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .28s ease, filter .28s ease;
}
.gallery-photo-card:hover img{
  transform:scale(1.045);
  filter:brightness(1.08);
}
.gallery-empty-state{
  width:min(760px,92vw);
  margin:42px auto 0;
  border:1px solid rgba(202,166,78,.32);
  background:linear-gradient(145deg,#151613,#0b0c0b);
  padding:42px;
  text-align:center;
}
.gallery-empty-state h2{
  color:#fff;
  font-family:'Cormorant Garamond',serif;
  font-size:38px;
  margin:0 0 12px;
}
.gallery-empty-state p{
  color:#b7b0a4;
}
.admin-upload-form{
  width:min(820px,92vw);
  margin:34px auto;
}
.admin-success,
.admin-error{
  width:min(820px,92vw);
  margin:20px auto;
  padding:14px 18px;
  font-weight:800;
  text-align:center;
}
.admin-success{
  border:1px solid rgba(37,211,102,.45);
  background:rgba(37,211,102,.08);
  color:#8ff0b4;
}
.admin-error{
  border:1px solid rgba(255,88,88,.45);
  background:rgba(255,88,88,.08);
  color:#ffaaaa;
}
.admin-actions-row{
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  margin:28px auto;
}
.admin-gallery-list{
  width:min(980px,92vw);
  margin:40px auto 0;
  display:grid;
  gap:14px;
}
.admin-photo-row{
  display:grid;
  grid-template-columns:130px 1fr auto;
  gap:18px;
  align-items:center;
  border:1px solid rgba(255,255,255,.08);
  background:#101110;
  padding:14px;
}
.admin-photo-row img{
  width:130px;
  height:88px;
  object-fit:cover;
}
.admin-photo-row strong{
  display:block;
  color:#fff;
}
.admin-photo-row span{
  display:block;
  color:#9d958b;
  font-size:12px;
}
.admin-photo-row button{
  border:1px solid rgba(255,88,88,.45);
  background:rgba(255,88,88,.09);
  color:#ffb5b5;
  padding:10px 14px;
  cursor:pointer;
}
@media(max-width:900px){
  .dynamic-gallery-grid{grid-template-columns:1fr}
  .admin-photo-row{grid-template-columns:1fr}
  .admin-photo-row img{width:100%;height:220px}
}


/* CPD GUIDE GALLERY */
.cpd-filter{
  margin-top:38px !important;
  margin-bottom:28px !important;
  flex-wrap:wrap;
}
.cpd-map-note{
  width:min(900px,92vw);
  margin:22px auto 38px;
  border:1px solid rgba(202,166,78,.32);
  background:linear-gradient(145deg,rgba(202,166,78,.08),rgba(255,255,255,.025));
  padding:28px;
  text-align:center;
}
.cpd-map-note h2{
  color:#fff;
  font-family:'Cormorant Garamond',serif;
  font-size:34px;
  margin:0 0 10px;
}
.cpd-map-note p{
  color:#b7b0a4;
  margin:0;
  line-height:1.8;
}
.cpd-guide-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:28px;
}
.cpd-card{
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(145deg,#151613,#0b0c0b);
  padding:24px;
  text-align:left;
  min-height:235px;
  box-shadow:0 16px 42px rgba(0,0,0,.22);
}
.cpd-card-top span{
  display:inline-block;
  color:var(--gold2);
  border:1px solid rgba(202,166,78,.35);
  background:rgba(202,166,78,.08);
  padding:4px 8px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:9px;
  font-weight:900;
}
.cpd-card h3{
  color:#fff;
  font-family:'Cormorant Garamond',serif;
  font-size:28px;
  line-height:1.05;
  margin:18px 0 10px;
}
.cpd-card p{
  color:#b7b0a4;
  font-size:13px;
  line-height:1.7;
  min-height:66px;
}
.cpd-card a{
  color:var(--gold2);
  font-size:11px;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.08em;
}
.property-photo-section{
  margin-top:80px;
  padding-top:50px;
  border-top:1px solid rgba(255,255,255,.08);
}
@media(max-width:1000px){
  .cpd-guide-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:720px){
  .cpd-guide-grid{grid-template-columns:1fr;}
}


/* VISUAL DISTRICT EXPERIENCE PAGES */
.district-hero{
  min-height:620px;
  padding-top:110px;
  display:grid;
  align-items:center;
  background:
    linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.42),rgba(0,0,0,.82)),
    url('https://images.unsplash.com/photo-1575917649705-5b59aaa12e6b?auto=format&fit=crop&w=2200&q=80') center/cover no-repeat;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.district-hero h1{
  font-family:'Cormorant Garamond',serif;
  font-size:82px;
  line-height:.9;
  margin:20px 0 16px;
  font-weight:600;
}
.district-hero h1 span{color:var(--gold)}
.district-hero p{
  max-width:720px;
  color:#d8d3cb;
  font-size:16px;
}
.visual-filter{
  margin:38px auto 34px !important;
  flex-wrap:wrap;
}
.visual-district-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:34px;
}
.visual-district-card{
  background:#111211;
  border:1px solid rgba(255,255,255,.10);
  min-height:430px;
  overflow:hidden;
  box-shadow:0 18px 48px rgba(0,0,0,.28);
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.visual-district-card:hover{
  transform:translateY(-6px);
  border-color:rgba(202,166,78,.58);
  box-shadow:0 24px 70px rgba(0,0,0,.44),0 0 36px rgba(202,166,78,.13);
}
.visual-card-image{
  height:220px;
  background-size:cover;
  background-position:center;
  filter:saturate(1.02) contrast(1.02);
}
.visual-card-body{
  padding:24px;
  text-align:left;
}
.visual-card-body span{
  color:var(--gold2);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.15em;
  font-weight:900;
}
.visual-card-body h3{
  font-family:'Cormorant Garamond',serif;
  color:#fff;
  font-size:31px;
  line-height:1.02;
  margin:14px 0 10px;
}
.visual-card-body p{
  color:#b7b0a4;
  font-size:13px;
  min-height:72px;
}
.visual-card-body b{
  color:var(--gold2);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.09em;
}
.destination-detail-hero{
  min-height:580px;
  padding-top:110px;
  display:grid;
  align-items:center;
  background-size:cover;
  background-position:center;
}
.destination-detail-hero h1{
  font-family:'Cormorant Garamond',serif;
  font-size:82px;
  line-height:.9;
  max-width:860px;
  margin:20px 0 18px;
}
.destination-detail-hero p{
  max-width:720px;
  color:#e1ddd4;
  font-size:17px;
}
.destination-layout{
  display:grid;
  grid-template-columns:1fr 360px;
  gap:60px;
  align-items:start;
}
.destination-main{
  background:linear-gradient(145deg,#151613,#0b0c0b);
  border:1px solid rgba(255,255,255,.08);
  padding:38px;
}
.destination-info-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin:34px 0;
}
.destination-info-grid div{
  background:#101110;
  border:1px solid rgba(255,255,255,.08);
  padding:18px;
}
.destination-info-grid span{
  display:block;
  color:#9f978d;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:10px;
  margin-bottom:8px;
}
.destination-info-grid strong,
.destination-info-grid a{
  color:#fff;
  word-break:break-word;
}
.destination-note{
  border:1px solid rgba(202,166,78,.32);
  background:rgba(202,166,78,.06);
  padding:24px;
  margin:30px 0;
}
.destination-note h3,
.side-card h3{
  font-family:'Cormorant Garamond',serif;
  color:#fff;
  font-size:32px;
  margin:0 0 10px;
}
.destination-note p,
.side-card p{
  color:#b7b0a4;
}
.destination-side{
  position:sticky;
  top:110px;
}
.side-card{
  border:1px solid rgba(202,166,78,.32);
  background:linear-gradient(145deg,#151613,#0b0c0b);
  padding:28px;
}
@media(max-width:1000px){
  .visual-district-grid{grid-template-columns:repeat(2,1fr)}
  .destination-layout{grid-template-columns:1fr}
  .destination-side{position:relative;top:auto}
}
@media(max-width:720px){
  .district-hero h1,.destination-detail-hero h1{font-size:54px}
  .visual-district-grid{grid-template-columns:1fr}
  .destination-info-grid{grid-template-columns:1fr}
}


/* RENTMYLOFT LOGO UPDATE */
.logo.logo-img{
  width:auto !important;
  height:auto !important;
  border-radius:0 !important;
  background:none !important;
  box-shadow:none !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.logo.logo-img img{
  height:52px;
  width:auto;
  max-width:82px;
  object-fit:contain;
  display:block;
}
.nav .brand{
  gap:10px;
}
.nav .brand b{
  font-size:19px;
}
.nav .brand span:not(.logo){
  letter-spacing:.16em;
}
.hero-logo-display,
.booking-logo-display,
.confirmation-logo-display,
.district-logo-display{
  display:block;
  width:min(230px,52vw);
  height:auto;
  margin:0 0 22px;
  filter:drop-shadow(0 18px 28px rgba(0,0,0,.45));
}
.hero.centered .hero-logo-display,
.booking-logo-display,
.confirmation-logo-display,
.district-logo-display{
  margin-left:auto;
  margin-right:auto;
}
.booking-logo-display,
.confirmation-logo-display{
  width:min(260px,58vw);
  margin-bottom:20px;
}
.district-logo-display{
  width:min(240px,54vw);
}
.footer .brand .logo.logo-img img{
  height:74px;
  max-width:120px;
}
.footer .brand{
  align-items:center;
}
.gallery-photo-card,
.visual-district-card,
.destination-main{
  position:relative;
}
.gallery-photo-card::after{
  content:"";
  position:absolute;
  right:12px;
  bottom:12px;
  width:62px;
  height:62px;
  background:url('../images/rentmyloft-logo-header.png') center/contain no-repeat;
  opacity:.18;
  pointer-events:none;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.45));
}
@media(max-width:900px){
  .logo.logo-img img{
    height:42px;
    max-width:68px;
  }
  .nav .brand b{
    font-size:16px;
  }
  .hero-logo-display,
  .booking-logo-display,
  .confirmation-logo-display,
  .district-logo-display{
    width:min(190px,58vw);
  }
}


/* TRANSPARENT LOGO REFINEMENT — fixes oversized hero/white-box issue */
.logo.logo-img img{
  height:44px !important;
  max-width:58px !important;
  object-fit:contain !important;
}
.nav{
  min-height:78px;
}
.nav .brand{
  align-items:center !important;
  gap:12px !important;
}
.nav .brand b{
  font-size:26px !important;
  line-height:1 !important;
}
.nav .brand span:not(.logo){
  font-size:13px !important;
  letter-spacing:.24em !important;
}
.hero-logo-display{
  width:min(145px,34vw) !important;
  max-width:145px !important;
  margin:0 auto 18px !important;
  background:transparent !important;
  filter:drop-shadow(0 14px 24px rgba(0,0,0,.55)) !important;
}
.booking-logo-display,
.confirmation-logo-display{
  width:min(170px,42vw) !important;
  max-width:170px !important;
  margin:0 auto 18px !important;
  background:transparent !important;
}
.district-logo-display{
  width:min(155px,38vw) !important;
  max-width:155px !important;
  margin:0 auto 18px !important;
}
.hero-content h1,
.district-hero h1{
  margin-top:10px !important;
}
.hero-subline{
  max-width:760px;
  margin:16px auto 0;
  color:#ded8cf;
  font-size:17px;
  line-height:1.6;
}
.footer .brand .logo.logo-img img{
  height:86px !important;
  max-width:96px !important;
}
.gallery-photo-card::after{
  width:48px !important;
  height:48px !important;
  opacity:.10 !important;
}
@media(max-width:900px){
  .logo.logo-img img{
    height:38px !important;
    max-width:50px !important;
  }
  .nav .brand b{
    font-size:20px !important;
  }
  .nav .brand span:not(.logo){
    font-size:10px !important;
    letter-spacing:.17em !important;
  }
  .hero-logo-display,
  .booking-logo-display,
  .confirmation-logo-display,
  .district-logo-display{
    width:min(120px,36vw) !important;
    max-width:120px !important;
  }
}
