/* Smooth scrolling */
html {
  scroll-behavior: smooth;
}

/* Base body */
body {
  overflow-x: hidden;
}

/* Section spacing */
section {
  padding: 100px 0;
}

/* Container */
.container-custom {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}

/* Premium button */
.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #1E3A5F;
  color: #FAF8F3;
  padding: 14px 28px;
  border-radius: 9999px;
  font-weight: 600;
  transition: all 0.3s ease;
}

.btn-primary:hover {
  background-color: #16304d;
  transform: translateY(-2px);
}

.btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #C9A96E;
  color: #1E3A5F;
  padding: 14px 28px;
  border-radius: 9999px;
  font-weight: 600;
  transition: all 0.3s ease;
}

.btn-secondary:hover {
  background-color: #C9A96E;
  color: #ffffff;
  transform: translateY(-2px);
}

/* Section title */
.section-label {
  color: #C9A96E;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.85rem;
}

/* Decorative blur */
.blur-glow {
  position: absolute;
  width: 280px;
  height: 280px;
  background: rgba(201, 169, 110, 0.18);
  filter: blur(80px);
  border-radius: 9999px;
  z-index: -1;
}

/* Navbar shadow on scroll */
.nav-scrolled {
  background: rgba(250, 248, 243, 0.92);
  backdrop-filter: blur(10px);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.06);
}


/* ─── FLOATING SIDE BUTTONS ─── */
.float-buttons-side{
  position:fixed;
  right:24px;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  flex-direction:column;
  gap:16px;
  z-index:999;
}
.fb-circle{
  width:56px;height:56px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  text-decoration:none;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
  transition:transform .25s ease,box-shadow .25s ease;
}
.fb-circle:hover{
  transform:scale(1.08);
  box-shadow:0 10px 26px rgba(0,0,0,.25);
}
.fb-circle svg{width:24px;height:24px;fill:#fff;}

.fb-call{background:#9C2B2B;}
.fb-whatsapp{background:#25D366;}
.fb-instagram{
  background:radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
}

@media(max-width:640px){
  .float-buttons-side{right:12px;gap:12px;}
  .fb-circle{width:46px;height:46px;}
  .fb-circle svg{width:20px;height:20px;}
}

/* Back to top button */
.back-to-top{
  position:fixed;
  bottom:24px;
  right:24px;
  width:44px;
  height:44px;
  border-radius:50%;
  background:#0F1E3C;
  border:2px solid rgba(255,255,255,.15);
  outline:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 6px 20px rgba(15,30,60,.45), 0 2px 8px rgba(0,0,0,.2);
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity .3s,transform .3s,visibility .3s,background .3s,box-shadow .3s;
  z-index:9999;
}
.back-to-top.show{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.back-to-top:hover{
  background:#C9973A;
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(201,151,58,.5);
}
.back-to-top:focus,
.back-to-top:focus-visible{
  outline:none;
}
.back-to-top svg{
  width:16px;
  height:16px;
  fill:#ffffff;
  pointer-events:none;
}

@media(max-width:640px){
  .back-to-top{width:40px;height:40px;bottom:76px;right:16px;}
  .back-to-top svg{width:14px;height:14px;}
}