/* =========================================================
   SH EVENTS PLANNER — CORE STYLESHEET
   Theme: Luxury / Minimal / Modern (White, Gold, Black, Light Gray)
   ========================================================= */

:root{
  --black:#0B0B0C;
  --black-soft:#161616;
  --white:#FFFFFF;
  --gray-50:#FAFAF9;
  --gray-100:#F2F1EE;
  --gray-300:#D8D5CE;
  --gray-500:#8A8579;
  --gray-700:#4A463E;
  --gold:#C6A15B;
  --gold-light:#E6CD96;
  --gold-dark:#9C7B3E;

  --font-display:'Playfair Display', serif;
  --font-body:'Poppins', sans-serif;

  --radius:14px;
  --radius-sm:8px;
  --shadow-sm:0 6px 18px rgba(11,11,12,0.06);
  --shadow-md:0 20px 50px rgba(11,11,12,0.12);
  --shadow-gold:0 14px 34px rgba(198,161,91,0.28);

  --container:1240px;
  --transition:0.35s cubic-bezier(.4,0,.2,1);

  /* light theme (default) tokens used across components */
  --bg:var(--white);
  --bg-alt:var(--gray-50);
  --text:var(--black);
  --text-muted:var(--gray-700);
  --border:var(--gray-300);
  --card-bg:var(--white);
  --glass-bg:rgba(255,255,255,0.55);
  --glass-border:rgba(255,255,255,0.35);
}

body.dark-mode{
  --bg:var(--black);
  --bg-alt:var(--black-soft);
  --text:var(--gray-100);
  --text-muted:var(--gray-300);
  --border:#2A2A2A;
  --card-bg:#151515;
  --glass-bg:rgba(20,20,20,0.55);
  --glass-border:rgba(255,255,255,0.08);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.7;
  overflow-x:hidden;
  transition:background var(--transition), color var(--transition);
}
h1,h2,h3,h4,h5{
  font-family:var(--font-display);
  font-weight:600;
  margin:0;
  color:var(--text);
  letter-spacing:0.01em;
}
p{margin:0;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
ul{margin:0; padding:0; list-style:none;}
button{font-family:inherit; cursor:pointer;}
::selection{background:var(--gold); color:var(--black);}

.container{max-width:var(--container); margin:0 auto; padding:0 28px;}
.section{padding:130px 0;}
.section-alt{background:var(--bg-alt);}
.section-head{max-width:640px; margin:0 auto 64px; text-align:center;}
.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--font-body); font-size:0.72rem; letter-spacing:0.32em;
  text-transform:uppercase; color:var(--gold-dark); margin-bottom:16px;
}
.eyebrow::before,.eyebrow::after{content:''; width:26px; height:1px; background:var(--gold);}
.section-head h2{font-size:clamp(2.1rem,4.2vw,3.2rem); line-height:1.15;}
.section-head p{margin-top:18px; color:var(--text-muted); font-size:1.02rem;}

/* ---------- Buttons ---------- */
.btn{
  position:relative; overflow:hidden;
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:16px 34px; border-radius:999px; border:1px solid transparent;
  font-size:0.82rem; letter-spacing:0.14em; text-transform:uppercase; font-weight:600;
  transition:transform var(--transition), box-shadow var(--transition), background var(--transition), color var(--transition);
}
.btn-gold{background:linear-gradient(135deg,var(--gold-light),var(--gold) 60%,var(--gold-dark)); color:var(--black);}
.btn-gold:hover{transform:translateY(-3px); box-shadow:var(--shadow-gold);}
.btn-dark{background:var(--black); color:var(--white);}
.btn-dark:hover{transform:translateY(-3px); box-shadow:var(--shadow-md);}
.btn-outline{border-color:currentColor; color:var(--text);}
.btn-outline:hover{background:var(--text); color:var(--bg); transform:translateY(-3px);}
.btn-sm{padding:12px 24px; font-size:0.72rem;}
.btn-block{width:100%;}

.ripple{position:absolute; border-radius:50%; background:rgba(255,255,255,0.5); transform:scale(0); animation:rippleAnim .6s linear; pointer-events:none;}
body.dark-mode .ripple{background:rgba(255,255,255,0.18);}

/* ---------- Loading screen ---------- */
#loading-screen{
  position:fixed; inset:0; z-index:9999; background:var(--black);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px;
  transition:opacity .6s ease, visibility .6s ease;
}
#loading-screen.hide{opacity:0; visibility:hidden;}
#loading-screen img{width:64px; height:64px; border-radius:50%; animation:pulseLogo 1.6s ease-in-out infinite;}
#loading-screen .bar{width:180px; height:2px; background:rgba(255,255,255,0.15); overflow:hidden; border-radius:2px;}
#loading-screen .bar span{display:block; height:100%; width:40%; background:var(--gold); animation:loadBar 1.2s ease-in-out infinite;}

/* ---------- Scroll progress ---------- */
#scroll-progress{
  position:fixed; top:0; left:0; height:3px; width:0%; background:linear-gradient(90deg,var(--gold-dark),var(--gold-light));
  z-index:2000;
}

/* ---------- Custom cursor (desktop only, see responsive.css) ---------- */
.cursor-dot, .cursor-ring{
  position:fixed; top:0; left:0; pointer-events:none; z-index:9998; border-radius:50%;
  transform:translate(-50%,-50%); mix-blend-mode:difference;
}
.cursor-dot{width:6px; height:6px; background:var(--gold-light);}
.cursor-ring{width:34px; height:34px; border:1px solid var(--gold-light); transition:width .2s, height .2s, opacity .2s;}
.cursor-ring.active{width:54px; height:54px; opacity:0.6;}

/* ---------- Navbar ---------- */
header.navbar{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  padding:26px 0; transition:background var(--transition), padding var(--transition), box-shadow var(--transition);
}
header.navbar.scrolled{
  background:var(--glass-bg); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid var(--glass-border); padding:14px 0; box-shadow:var(--shadow-sm);
}
.nav-inner{display:flex; align-items:center; justify-content:space-between;}
.nav-brand{display:flex; align-items:center; gap:12px;}
.nav-brand img{height:48px; width:48px; border-radius:50%;}
.nav-brand .txt{font-family:var(--font-display); line-height:1.15;}
.nav-brand .txt strong{display:block; font-size:1.15rem; color:var(--text);}
header.navbar:not(.scrolled) .nav-brand .txt strong{color:var(--white);}
.nav-brand .txt span{display:block; font-size:0.6rem; letter-spacing:0.28em; text-transform:uppercase; color:var(--gold);}

nav.nav-links{display:flex; gap:38px;}
nav.nav-links a{
  font-size:0.78rem; letter-spacing:0.1em; text-transform:uppercase; position:relative; padding-bottom:4px;
  color:var(--text);
}
header.navbar:not(.scrolled) nav.nav-links a{color:var(--white);}
nav.nav-links a.active,nav.nav-links a:hover{color:var(--gold-dark);}
header.navbar:not(.scrolled) nav.nav-links a:hover, header.navbar:not(.scrolled) nav.nav-links a.active{color:var(--gold-light);}
nav.nav-links a::after{content:''; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--gold); transition:width var(--transition);}
nav.nav-links a:hover::after{width:100%;}

.nav-actions{display:flex; align-items:center; gap:14px;}
.icon-btn{
  width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  border:1px solid var(--border); color:var(--text); background:transparent; transition:background var(--transition), transform var(--transition);
}
header.navbar:not(.scrolled) .icon-btn{border-color:rgba(255,255,255,0.4); color:var(--white);}
.icon-btn:hover{background:var(--gold); color:var(--black); border-color:var(--gold); transform:translateY(-2px);}

.hamburger{display:none; flex-direction:column; gap:5px; cursor:pointer; z-index:1100; width:28px;}
.hamburger span{height:2px; width:100%; background:var(--text); transition:transform .3s ease, opacity .3s ease;}
header.navbar:not(.scrolled) .hamburger span{background:var(--white);}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ---------- Hero ---------- */
.hero{
  position:relative; min-height:100vh; display:flex; align-items:center; overflow:hidden; background:var(--black);
}
.hero-slides{position:absolute; inset:0;}
.hero-slide{
  position:absolute; inset:0; background-size:cover; background-position:center;
  opacity:0; transition:opacity 1.6s ease;
}
.hero-slide.active{opacity:1;}
.hero-overlay{position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,0.55), rgba(0,0,0,0.78)); z-index:1;}
#particle-canvas{position:absolute; inset:0; z-index:2; pointer-events:none;}
.hero-content{position:relative; z-index:3; text-align:center; margin:0 auto; padding-top:60px;}
.hero .eyebrow{color:var(--gold-light);}
.hero .eyebrow::before,.hero .eyebrow::after{background:var(--gold-light);}
.hero h1{
  color:var(--white); font-size:clamp(2.8rem,7vw,5.6rem); line-height:1.05; margin:14px 0 18px;
}
.hero h1 span{color:var(--gold-light); font-style:italic;}
.hero .typed-line{
  color:rgba(255,255,255,0.85); font-size:1.15rem; min-height:1.6em; margin-bottom:40px;
}
.hero .typed-line .cursor-blink{display:inline-block; width:1px; background:var(--gold-light); margin-left:2px; animation:blink 1s step-end infinite;}
.hero-btns{display:flex; justify-content:center; gap:18px; flex-wrap:wrap;}
.scroll-down{
  position:absolute; bottom:34px; left:50%; transform:translateX(-50%); z-index:3;
  color:var(--white); display:flex; flex-direction:column; align-items:center; gap:10px; font-size:0.62rem;
  letter-spacing:0.3em; text-transform:uppercase; opacity:0.8;
}
.scroll-down .wheel{width:22px; height:36px; border:1px solid rgba(255,255,255,0.6); border-radius:14px; position:relative;}
.scroll-down .wheel::after{content:''; position:absolute; top:6px; left:50%; width:3px; height:6px; background:var(--gold-light); border-radius:2px; transform:translateX(-50%); animation:scrollDot 1.6s infinite;}

/* ---------- Reveal on scroll ---------- */
.reveal{opacity:0; transform:translateY(32px); transition:opacity .8s ease, transform .8s ease;}
.reveal.in{opacity:1; transform:none;}
.reveal-scale{opacity:0; transform:scale(.92); transition:opacity .8s ease, transform .8s ease;}
.reveal-scale.in{opacity:1; transform:none;}

/* ---------- About ---------- */
.about-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:80px; align-items:center;}
.about-media{position:relative;}
.about-media .float-img{border-radius:var(--radius); box-shadow:var(--shadow-md); animation:floatY 5s ease-in-out infinite;}
.about-media .float-card{
  position:absolute; bottom:-30px; right:-30px; background:var(--card-bg); border:1px solid var(--border);
  padding:22px 26px; border-radius:var(--radius); box-shadow:var(--shadow-md); text-align:center;
}
.about-media .float-card strong{display:block; font-family:var(--font-display); font-size:2rem; color:var(--gold-dark);}
.about-media .float-card span{font-size:0.62rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--text-muted);}
.about-text .eyebrow{margin-bottom:14px;}
.about-text h2{font-size:clamp(1.9rem,3.6vw,2.7rem); margin-bottom:20px;}
.about-text p{color:var(--text-muted); margin-bottom:16px;}
.about-pillars{display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-top:30px;}
.pillar{padding:20px; border:1px solid var(--border); border-radius:var(--radius-sm); transition:transform var(--transition), border-color var(--transition);}
.pillar:hover{transform:translateY(-6px); border-color:var(--gold);}
.pillar h4{font-size:1rem; margin-bottom:6px;}
.pillar p{font-size:0.85rem; color:var(--text-muted);}

/* ---------- Services / cards with tilt ---------- */
.card-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:30px;}
.service-card{
  position:relative; border-radius:var(--radius); overflow:hidden; background:var(--card-bg);
  border:1px solid var(--border); transition:transform .1s ease, box-shadow var(--transition);
  transform-style:preserve-3d; will-change:transform;
}
.service-card:hover{box-shadow:var(--shadow-md);}
.service-card .media{height:220px; overflow:hidden; position:relative;}
.service-card .media img, .service-card .media .placeholder{width:100%; height:100%; object-fit:cover; transition:transform .6s ease;}
.service-card:hover .media img{transform:scale(1.1);}
.service-card .placeholder{
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,var(--black),var(--black-soft));
}
.service-card .placeholder svg{width:52px; height:52px;}
.service-card .body{padding:28px 26px;}
.service-card .icon{
  width:46px; height:46px; border-radius:50%; background:var(--gold); color:var(--black);
  display:flex; align-items:center; justify-content:center; margin-top:-52px; margin-bottom:16px; position:relative; z-index:2;
  box-shadow:var(--shadow-gold);
}
.service-card h3{font-size:1.25rem; margin-bottom:10px;}
.service-card p{color:var(--text-muted); font-size:0.9rem;}

/* ---------- Why choose us ---------- */
.why-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:22px;}
.why-card{
  text-align:center; padding:34px 20px; border-radius:var(--radius); background:var(--card-bg);
  border:1px solid var(--border); transition:transform var(--transition), border-color var(--transition);
}
.why-card:hover{transform:translateY(-8px); border-color:var(--gold);}
.why-card .ic{width:56px; height:56px; margin:0 auto 18px; color:var(--gold-dark);}
.why-card h4{font-size:1rem; margin-bottom:8px;}
.why-card p{font-size:0.82rem; color:var(--text-muted);}

/* ---------- Stats ---------- */
.stats{
  background:linear-gradient(120deg, var(--black), #1c1712, var(--black));
  background-size:220% 220%; animation:gradientMove 12s ease infinite; color:var(--white);
}
.stats-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center;}
.stat-item strong{
  display:block; font-family:var(--font-display); font-size:clamp(2.4rem,4vw,3.4rem); color:var(--gold-light);
}
.stat-item span{font-size:0.72rem; letter-spacing:0.18em; text-transform:uppercase; color:rgba(255,255,255,0.7);}

/* ---------- Gallery (masonry) ---------- */
.gallery-filters{display:flex; justify-content:center; gap:14px; margin-bottom:46px; flex-wrap:wrap;}
.filter-btn{
  padding:10px 22px; border-radius:999px; border:1px solid var(--border); font-size:0.75rem;
  letter-spacing:0.1em; text-transform:uppercase; background:transparent; color:var(--text);
  transition:background var(--transition), color var(--transition), border-color var(--transition);
}
.filter-btn.active,.filter-btn:hover{background:var(--gold); border-color:var(--gold); color:var(--black);}
.masonry{column-count:3; column-gap:22px;}
.masonry .g-item{
  break-inside:avoid; margin-bottom:22px; border-radius:var(--radius); overflow:hidden; position:relative; cursor:pointer;
}
.masonry .g-item img{width:100%; display:block; transition:transform .6s ease, filter .4s ease;}
.masonry .g-item:hover img{transform:scale(1.06);}
.masonry .g-item .tag{
  position:absolute; left:0; right:0; bottom:0; padding:18px; color:var(--white);
  background:linear-gradient(0deg, rgba(0,0,0,0.8), transparent); font-size:0.8rem; letter-spacing:0.06em;
  opacity:0; transform:translateY(10px); transition:opacity .3s ease, transform .3s ease;
}
.masonry .g-item:hover .tag{opacity:1; transform:none;}
.masonry .g-item.hidden{display:none;}

.lightbox{
  position:fixed; inset:0; background:rgba(0,0,0,0.94); z-index:3000; display:none;
  align-items:center; justify-content:center; padding:30px;
}
.lightbox.open{display:flex;}
.lightbox img{max-width:88vw; max-height:84vh; border:6px solid var(--white);}
.lightbox .lb-close, .lightbox .lb-nav{
  position:absolute; color:var(--white); font-family:var(--font-display); cursor:pointer;
}
.lightbox .lb-close{top:26px; right:34px; font-size:2rem;}
.lightbox .lb-prev{left:26px; top:50%; transform:translateY(-50%); font-size:2.4rem;}
.lightbox .lb-next{right:26px; top:50%; transform:translateY(-50%); font-size:2.4rem;}

/* ---------- Packages ---------- */
.pkg-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:26px;}
.pkg-card{
  position:relative; border-radius:var(--radius); border:1px solid var(--border); background:var(--card-bg);
  padding:42px 30px; display:flex; flex-direction:column; transition:transform var(--transition), box-shadow var(--transition);
}
.pkg-card:hover{transform:translateY(-8px); box-shadow:var(--shadow-md);}
.pkg-card.recommended{border-color:var(--gold); background:linear-gradient(160deg, var(--black), var(--black-soft)); color:var(--white);}
.pkg-card.recommended h3, .pkg-card.recommended .price{color:var(--white);}
.pkg-card.recommended li, .pkg-card.recommended p{color:rgba(255,255,255,0.78);}
.pkg-card .badge{
  position:absolute; top:-14px; right:26px; background:var(--gold); color:var(--black);
  font-size:0.65rem; letter-spacing:0.14em; text-transform:uppercase; padding:6px 14px; border-radius:999px;
}
.pkg-card h3{font-size:1.4rem; margin-bottom:6px;}
.pkg-card .price{font-family:var(--font-display); font-size:2.1rem; color:var(--gold-dark); margin-bottom:22px;}
.pkg-card .price small{font-size:0.85rem; font-family:var(--font-body); color:var(--text-muted);}
.pkg-card ul{display:grid; gap:12px; margin-bottom:30px; flex:1;}
.pkg-card li{display:flex; gap:10px; font-size:0.86rem; color:var(--text-muted);}
.pkg-card li svg{flex:none; margin-top:3px;}

/* ---------- Video section ---------- */
.video-section{position:relative; min-height:70vh; display:flex; align-items:center; justify-content:center; overflow:hidden;}
.video-section .bg{position:absolute; inset:0; background-size:cover; background-position:center; filter:brightness(0.5);}
.play-btn{
  position:relative; z-index:2; width:96px; height:96px; border-radius:50%; background:rgba(255,255,255,0.15);
  backdrop-filter:blur(6px); border:1px solid rgba(255,255,255,0.5); display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:transform var(--transition);
}
.play-btn:hover{transform:scale(1.1);}
.play-btn::after{content:''; position:absolute; inset:-14px; border-radius:50%; border:1px solid rgba(255,255,255,0.35); animation:pulseRing 2.2s ease-out infinite;}
.video-caption{position:relative; z-index:2; text-align:center; color:var(--white); margin-top:26px;}
.video-modal{position:fixed; inset:0; background:rgba(0,0,0,0.94); z-index:3000; display:none; align-items:center; justify-content:center;}
.video-modal.open{display:flex;}
.video-modal .box{width:min(900px,90vw); aspect-ratio:16/9; background:#000; position:relative;}
.video-modal .box iframe, .video-modal .box video{width:100%; height:100%;}
.video-modal .close{position:absolute; top:-40px; right:0; color:var(--white); font-size:1.6rem; cursor:pointer;}

/* ---------- Testimonials ---------- */
.testi-track{position:relative; max-width:760px; margin:0 auto; overflow:hidden;}
.testi-slide{
  display:none; text-align:center; background:var(--card-bg); border:1px solid var(--border);
  border-radius:var(--radius); padding:50px 40px;
}
.testi-slide.active{display:block; animation:fadeUp .6s ease;}
.testi-slide img{width:70px; height:70px; border-radius:50%; margin:0 auto 18px; object-fit:cover;}
.testi-slide .stars{color:var(--gold); margin-bottom:16px; letter-spacing:3px;}
.testi-slide p{font-style:italic; color:var(--text-muted); margin-bottom:18px; font-size:1.02rem;}
.testi-slide .who{font-family:var(--font-display); font-size:1.05rem;}
.testi-slide .who span{display:block; font-family:var(--font-body); font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-dark); margin-top:4px;}
.testi-dots{display:flex; justify-content:center; gap:10px; margin-top:28px;}
.testi-dots span{width:9px; height:9px; border-radius:50%; background:var(--border); cursor:pointer; transition:background var(--transition);}
.testi-dots span.active{background:var(--gold);}

/* ---------- Booking ---------- */
.booking{background:var(--black); color:var(--white); position:relative; overflow:hidden;}
.booking .eyebrow, .booking .eyebrow::before, .booking .eyebrow::after{color:var(--gold-light); background:var(--gold-light);}
.booking .section-head h2{color:var(--white);}
.booking .section-head p{color:rgba(255,255,255,0.7);}
.booking-form{
  max-width:900px; margin:0 auto; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.12);
  border-radius:var(--radius); padding:50px; display:grid; gap:22px; backdrop-filter:blur(10px);
}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:22px;}
.form-row.three{grid-template-columns:1fr 1fr 1fr;}
.field label{display:block; font-size:0.7rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-light); margin-bottom:8px;}
.field input, .field select, .field textarea{
  width:100%; background:transparent; border:0; border-bottom:1px solid rgba(255,255,255,0.3);
  color:var(--white); padding:10px 2px; font-family:var(--font-body); font-size:0.95rem;
}
.field input::placeholder, .field textarea::placeholder{color:rgba(255,255,255,0.35);}
.field input:focus, .field select:focus, .field textarea:focus{outline:none; border-color:var(--gold);}
.field select option{color:#111;}
.field.error input, .field.error select, .field.error textarea{border-color:#e05c5c;}
.field .err-msg{font-size:0.72rem; color:#e88585; margin-top:6px; display:none;}
.field.error .err-msg{display:block;}
.form-status{font-size:0.85rem; min-height:1.2em;}

/* ---------- Contact ---------- */
.contact-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:60px;}
.contact-info{display:grid; gap:24px;}
.contact-item{display:flex; gap:16px; align-items:flex-start;}
.contact-item .ic{width:46px; height:46px; border-radius:50%; border:1px solid var(--gold); display:flex; align-items:center; justify-content:center; flex:none;}
.contact-item h4{font-size:1rem; margin-bottom:4px;}
.contact-item p, .contact-item a{font-size:0.9rem; color:var(--text-muted);}
.map-embed{border-radius:var(--radius); overflow:hidden; height:220px; border:1px solid var(--border);}
.map-embed iframe{width:100%; height:100%; border:0;}

/* ---------- Footer ---------- */
footer.site-footer{background:var(--black); color:rgba(255,255,255,0.65); padding-top:90px;}
.footer-grid{display:grid; grid-template-columns:1.3fr 0.8fr 0.8fr 1.1fr; gap:50px; padding-bottom:60px; border-bottom:1px solid rgba(255,255,255,0.1);}
.footer-brand{display:flex; align-items:center; gap:12px; margin-bottom:18px;}
.footer-brand img{height:44px; width:44px; border-radius:50%;}
.footer-brand strong{font-family:var(--font-display); color:var(--white); font-size:1.1rem;}
footer h5{color:var(--white); font-family:var(--font-body); font-size:0.8rem; letter-spacing:0.14em; text-transform:uppercase; margin-bottom:22px;}
footer ul li{margin-bottom:12px; font-size:0.88rem;}
footer ul li a:hover{color:var(--gold-light);}
.social-row{display:flex; gap:12px; margin-top:20px;}
.social-row a{width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,0.2); display:flex; align-items:center; justify-content:center; transition:background var(--transition), border-color var(--transition);}
.social-row a:hover{background:var(--gold); border-color:var(--gold); color:var(--black);}
.newsletter-form{display:flex; gap:0; border-bottom:1px solid rgba(255,255,255,0.3); margin-top:16px;}
.newsletter-form input{flex:1; background:transparent; border:0; color:var(--white); padding:10px 0; font-size:0.9rem;}
.newsletter-form input::placeholder{color:rgba(255,255,255,0.4);}
.newsletter-form button{background:none; border:0; color:var(--gold-light); font-size:0.8rem; text-transform:uppercase; letter-spacing:0.1em;}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; padding:26px 0; font-size:0.78rem; flex-wrap:wrap; gap:10px;}

/* ---------- Floating buttons ---------- */
.floating-actions{position:fixed; right:24px; bottom:24px; display:flex; flex-direction:column; gap:14px; z-index:1500;}
.fab{
  width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 26px rgba(0,0,0,0.3); transition:transform var(--transition);
}
.fab:hover{transform:translateY(-4px) scale(1.05);}
.fab.wa{background:#25D366; animation:floatBounce 2.6s ease-in-out infinite;}
.fab.call{background:var(--gold); color:var(--black);}
#back-to-top{
  width:46px; height:46px; border-radius:50%; background:var(--black); color:var(--white);
  display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden;
  transform:translateY(10px); transition:opacity var(--transition), transform var(--transition), visibility var(--transition);
}
#back-to-top.show{opacity:1; visibility:visible; transform:none;}

/* ---------- Breadcrumb (inner pages) ---------- */
.page-hero{
  position:relative; min-height:48vh; display:flex; align-items:flex-end; padding-bottom:60px;
  background:linear-gradient(180deg, rgba(0,0,0,0.55), rgba(0,0,0,0.85)), center/cover no-repeat;
  color:var(--white);
}
.page-hero .container{position:relative; z-index:2;}
.breadcrumb{font-size:0.78rem; letter-spacing:0.08em; text-transform:uppercase; color:rgba(255,255,255,0.7); margin-top:10px;}
.breadcrumb a{color:var(--gold-light);}

/* Dark-mode toggle icon swap */
.icon-btn .icon-sun{display:none;}
body.dark-mode .icon-btn .icon-moon{display:none;}
body.dark-mode .icon-btn .icon-sun{display:block;}
