/* ===== SEO / Accessibility helpers (added per website audit) ===== */

/* Visually-hidden but screen-reader & crawler accessible (for proper H1 placement) */
.sr-only{
  position:absolute !important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* Preserve original visual size when a buried H1 is demoted to H2
   so the page keeps a single, top-placed H1 without changing the design */
.diamond-content h2.diamond-heading{
  font-size:4.3rem;
  line-height:1.05;
  margin-bottom:26px;
}
.luxury-content h2.lux-heading{
  font-size:50px;
  font-weight:800;
  margin:20px 0 30px;
  line-height:1.2;
  color:#222;
}

@media (max-width:768px){
  .diamond-content h2.diamond-heading{font-size:2.2rem;line-height:1.2;}
  .luxury-content h2.lux-heading{font-size:32px;line-height:1.3;}
}

/* ===== Floating social icons (right side, matching the WhatsApp button) ===== */
.social-float{
  position:fixed;
  right:25px;
  bottom:25px;
  display:flex;
  flex-direction:column;
  gap:14px;
  z-index:9999;
}
/* WhatsApp button normalized to sit inside the centered stack */
.social-float .wa-link{ background:transparent; box-shadow:none; padding:0; }
.social-float .wa-link .waicon{
  position:static;
  right:auto;
  bottom:auto;
  width:48px;
  height:48px;
  font-size:20px;
  box-shadow:none;
  transition:transform .3s ease, box-shadow .3s ease;
}
.social-float a{
  width:48px;
  height:48px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:20px;
  text-decoration:none;
  transition:transform .3s ease, box-shadow .3s ease;
}
/* No glow by default; shadow appears only on hover */
.social-float a{ box-shadow:none; }
.social-float a:hover{ transform:scale(1.15); }
.social-float .sf-fb{ background:#1877F2; }
.social-float .sf-ig{ background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); }
.social-float .sf-in{ background:#0A66C2; }
.social-float .sf-x{ background:#000; }
.social-float .sf-call{ background:linear-gradient(135deg,#2196f3,#1565c0); }

/* Hover glow per icon */
.social-float .sf-fb:hover{ box-shadow:0 0 18px rgba(24,119,242,.7); }
.social-float .sf-ig:hover{ box-shadow:0 0 18px rgba(220,39,67,.7); }
.social-float .sf-in:hover{ box-shadow:0 0 18px rgba(10,102,194,.7); }
.social-float .sf-x:hover{ box-shadow:0 0 18px rgba(255,255,255,.45); }
.social-float .sf-call:hover{ box-shadow:0 0 18px rgba(33,150,243,.7); }
.social-float .wa-link:hover .waicon{ box-shadow:0 0 18px rgba(37,211,102,.7); }

/* ===== Premium service cards: stronger text contrast for readability ===== */
.premium-overlay{
  background:linear-gradient(
    180deg,
    rgba(123,56,144,0.78) 0%,
    rgba(0,0,0,0.70) 45%,
    rgba(0,0,0,0.62) 100%
  ) !important;
}
.premium-text h3{ text-shadow:0 2px 6px rgba(0,0,0,.65); }
.premium-text p{ text-shadow:0 1px 4px rgba(0,0,0,.8); }

@media (max-width:768px){
  .social-float{ right:14px; top:50%; bottom:auto; transform:translateY(-50%); gap:10px; }
  .social-float a{ width:42px; height:42px; font-size:18px; }
  .social-float .wa-link .waicon{ width:42px; height:42px; font-size:18px; }
}

/* ===== White header theme (clean & premium) ===== */
.luxury-header,
.luxury-header.scrolled{
  background:#ffffff !important;
  backdrop-filter:none !important;
  border-bottom:1px solid rgba(212,175,55,.55) !important;
  box-shadow:0 4px 18px rgba(0,0,0,.08) !important;
}
/* Nav links: dark & bold for strong contrast on white */
.luxury-header .nav-menu a,
.luxury-header.scrolled .nav-menu a{
  color:#3b0a57 !important;
  font-weight:700 !important;
}
.luxury-header .nav-menu a:hover,
.luxury-header.scrolled .nav-menu a:hover{
  color:#b8860b !important;
  text-shadow:none !important;
}
/* SELL GOLD button keeps its gold gradient; ensure dark readable label */
.luxury-header .header-btn,
.luxury-header.scrolled .header-btn{ color:#3b0a57 !important; }
/* Hamburger lines dark on the white header */
.luxury-header .menu-toggle span{ background:#3b0a57 !important; }
/* Active page highlighted: gold link + persistent gold underline */
.luxury-header .nav-menu a.active{ color:#b8860b !important; }
.luxury-header .nav-menu a.active::after{ width:100% !important; }

@media (max-width:768px){
  /* Mobile slide-in menu panel -> white to match the header */
  .nav-menu{
    background:#ffffff !important;
    box-shadow:-6px 0 24px rgba(0,0,0,.12) !important;
    border-left:1px solid rgba(212,175,55,.55) !important;
  }
}

/* ===== Premium header: trust + conversion accents ===== */
/* Crisp gold accent line under the header + soft depth shadow */
.luxury-header,
.luxury-header.scrolled{
  box-shadow:0 2px 0 0 #d4af37, 0 8px 24px rgba(0,0,0,.10) !important;
}

/* Visible, clickable phone number (builds trust + drives calls) */
.header-phone{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#3b0a57;
  font-weight:700;
  font-size:1.15rem;
  text-decoration:none;
  white-space:nowrap;
  transition:color .25s ease;
}
.header-phone i{ color:#b8860b; }
.header-phone:hover{ color:#b8860b; }

/* SELL GOLD: gentle attention pulse so the eye lands on the CTA */
@keyframes sellGoldPulse{
  0%,100%{ box-shadow:0 6px 16px rgba(212,175,55,.35); }
  50%{ box-shadow:0 0 22px rgba(212,175,55,.85), 0 6px 22px rgba(212,175,55,.55); }
}
.luxury-header .header-btn{
  animation:sellGoldPulse 2.2s ease-in-out infinite;
  font-weight:800 !important;
  letter-spacing:.4px;
}
@media (prefers-reduced-motion: reduce){
  .luxury-header .header-btn{ animation:none; }
}

@media (max-width:992px){
  .header-phone{ font-size:1rem; }
}

/* ===== "Get in Touch" social icons: brand colours + real links ===== */
.contact-info .social-icons a{
  transition:transform .25s ease, box-shadow .25s ease;
}
.contact-info .social-icons a.ic-fb{ background:#1877F2 !important; }
.contact-info .social-icons a.ic-ig{ background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888) !important; }
.contact-info .social-icons a.ic-in{ background:#0A66C2 !important; }
.contact-info .social-icons a.ic-x{ background:#000 !important; }
.contact-info .social-icons a:hover{
  transform:translateY(-3px);
  box-shadow:0 8px 18px rgba(0,0,0,.25);
}

/* Brand-coloured social icons anywhere (.social-icons), incl. footer */
.social-icons a.ic-fb,
.social-icons a.ic-ig,
.social-icons a.ic-call,
.social-icons a.ic-wa{ color:#fff !important; transition:transform .25s ease, box-shadow .25s ease; }
.social-icons a.ic-fb{ background:#1877F2 !important; }
.social-icons a.ic-ig{ background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888) !important; }
.social-icons a.ic-call{ background:linear-gradient(135deg,#2196f3,#1565c0) !important; }
.social-icons a.ic-wa{ background:#25D366 !important; }
.social-icons a.ic-fb:hover,
.social-icons a.ic-ig:hover,
.social-icons a.ic-call:hover,
.social-icons a.ic-wa:hover{ transform:translateY(-3px); box-shadow:0 8px 18px rgba(0,0,0,.3); }

/* ===== Premium inner-page hero banners (About / Branch / Contact) ===== */
.about-hero,
.branch-hero,
.contact-hero{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  min-height:320px !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:100% 100% !important;   /* show the full banner edge-to-edge (left & right visible) */
  position:relative;
}
.about-hero{   background-image:linear-gradient(90deg,rgba(28,5,42,.08) 0%,rgba(28,5,42,.62) 36%,rgba(40,8,60,.62) 64%,rgba(28,5,42,.08) 100%), url("../images/about-banner.jpg")   !important; }
.branch-hero{  background-image:linear-gradient(90deg,rgba(28,5,42,.08) 0%,rgba(28,5,42,.62) 36%,rgba(40,8,60,.62) 64%,rgba(28,5,42,.08) 100%), url("../images/branch-banner.jpg")  !important; }
.contact-hero{ background-image:linear-gradient(90deg,rgba(28,5,42,.08) 0%,rgba(28,5,42,.62) 36%,rgba(40,8,60,.62) 64%,rgba(28,5,42,.08) 100%), url("../images/contact-banner.jpg") !important; }

/* Centered, polished hero text */
.about-hero .hero-content,
.branch-hero .hero-content,
.contact-hero .hero-content{
  width:auto !important;
  max-width:880px;
  margin:0 auto !important;
  text-align:center !important;
  padding:0 22px;
}
.about-hero .hero-content h1,
.branch-hero .hero-content h1,
.contact-hero .hero-content h1{
  font-size:46px !important;
  text-align:center !important;
  margin:0 0 14px !important;
  line-height:1.15;
}
/* Gold underline accent beneath the heading */
.about-hero .hero-content h1::after,
.branch-hero .hero-content h1::after,
.contact-hero .hero-content h1::after{
  content:"";
  display:block;
  width:90px;
  height:3px;
  margin:16px auto 0;
  border-radius:2px;
  background:linear-gradient(90deg,#d4af37,#fff2b0,#d4af37);
}
.about-hero .hero-content p,
.branch-hero .hero-content p,
.contact-hero .hero-content p{
  color:#f7eeda !important;
  font-size:18px !important;
  text-align:center !important;
  max-width:760px;
  margin:0 auto !important;
  line-height:1.75;
  text-shadow:0 1px 8px rgba(0,0,0,.7);
}

@media (max-width:768px){
  /* compact mobile header: smaller logo + tighter padding */
  .luxury-header{ padding:3px 0 !important; }
  .luxury-header .header-container{ padding:0 14px !important; }
  .luxury-header .header-logo{ width:104px !important; }
  /* clear the fixed white header so hero text isn't hidden behind it */
  .about-hero, .branch-hero, .contact-hero{ min-height:210px !important; margin-top:72px !important; }
  .about-hero .hero-content h1, .branch-hero .hero-content h1, .contact-hero .hero-content h1{ font-size:27px !important; }
  .about-hero .hero-content p, .branch-hero .hero-content p, .contact-hero .hero-content p{ font-size:14px !important; }
}

/* ===== Landing hero: elegant brand name label ===== */
.slideContent .brand-label{
  display:inline-block;
  color:#ffd86a;
  font-family:'Poppins',sans-serif;
  font-weight:700;
  font-size:1.6rem;
  letter-spacing:5px;
  text-transform:uppercase;
  margin-bottom:18px;
  padding-bottom:10px;
  border-bottom:2px solid rgba(212,175,55,.75);
  text-shadow:0 2px 10px rgba(0,0,0,.55);
  animation:brandFade 1s ease both;
}
@keyframes brandFade{
  from{ opacity:0; transform:translateY(-10px); }
  to{ opacity:1; transform:translateY(0); }
}
@media (max-width:768px){
  .slideContent .brand-label{ font-size:1rem; letter-spacing:3px; margin-bottom:12px; padding-bottom:6px; }
}

/* Clickable address link (Google Maps) inherits text colour */
.addr-link{ color:inherit; text-decoration:none; transition:color .2s ease; }
.addr-link:hover{ color:#b8860b; }
