/* Royale theme: refine navigation to show full menu, no button */
:root { --header-bg: #141313f7; }

.site-header .nav { position: sticky; top: 0; z-index: 1000; background: var(--header-bg); border-bottom: 1px solid rgba(255,255,255,0.06); }
.site-header .nav .brand { color: #fff; }
.nav-toggle { display: none; }

/* Desktop menu layout */
.site-header .nav-inner { gap: 24px; }
.site-header .nav-links { display: flex; align-items: center; gap: 18px; }
.site-header .nav-links > li { position: relative; }
.site-header .nav a { color: #eaeaea; padding: 10px 12px; border-radius: 6px; text-decoration: none; }
.site-header .nav a:hover { color: var(--brand-secondary); background: rgba(255,255,255,0.06); }
.site-header .nav a[aria-current="page"], .site-header .nav li.active > a { color: var(--brand-secondary); background: rgba(255,255,255,0.08); box-shadow: inset 0 -2px 0 var(--brand-secondary); }
.site-header .nav-links .has-sub > a::after { content: "▾"; margin-left: 8px; font-size: 0.8em; }
/* Fix hover gap: position submenu directly below parent */
.site-header .nav-links .sub-menu { display: none; position: absolute; top: 100%; left: 0; min-width: 220px; background: #1a1a1a; border: 1px solid rgba(255,255,255,0.1); border-radius: 8px; box-shadow: 0 10px 24px rgba(0,0,0,0.25); z-index: 2000; }
.site-header .nav-links li:hover > .sub-menu { display: block; }
/* Keep submenu open when hovering submenu itself to avoid flicker */
.site-header .nav-links .sub-menu:hover { display: block; }
.site-header .nav-links .has-sub:focus-within > .sub-menu { display: block; }
.site-header .nav-links .sub-menu a { color: #eee; display: block; padding: 10px 14px; }
.site-header .nav-links .sub-menu a:hover { background: rgba(255,255,255,0.08); color: #fff; }
/* Ensure decorative band does not block pointer events under nav */
.site-header .nav::after { pointer-events: none; }

/* Basic responsiveness without a toggle */
@media (max-width: 768px) {
  .site-header .nav a { padding: 8px 10px; }
  .site-header .nav-inner { gap: 16px; }
  .site-header .nav-links { flex-wrap: wrap; gap: 8px 12px; }
  .site-header .nav-links .sub-menu { position: static; display: none; }
  .site-header .nav-links li:hover > .sub-menu { display: block; }
  .site-header .nav-links .has-sub:focus-within > .sub-menu { display: block; }
}

/* Hero background slider to match Royale style */
.hero { position: relative; min-height: 420px; }
.hero { background: none !important; }
.hero-bg { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.hero { --hero-cycle: calc(var(--slide-count, 3) * 6s); }
.hero-bg .slide { position: absolute; inset: 0; opacity: 0; animation: heroFade var(--hero-cycle) infinite both; animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); will-change: opacity; overflow: hidden; 
  background-image: var(--hero-img) !important; background-size: cover; background-position: center center; background-repeat: no-repeat; }
.hero-bg .slide::before { content: none !important; }
.hero-bg .slide::after { content: none !important; }
.hero-bg .slide:first-child { opacity: 1; }
/* Delays are provided inline per slide; remove hard-coded nth-child delays */
.hero-overlay { position: absolute; inset: 0; z-index: 1; background: linear-gradient(to bottom, rgba(0,0,0, var(--hero-overlay-top, 0.25)), rgba(0,0,0, var(--hero-overlay-bottom, 0.18))); }
.hero-content { position: relative; z-index: 2; color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 420px; text-align: center; gap: 12px; }
.hero-content h1, .hero-content p { color: #fff; }
.hero-content a { color: #fff; }

@keyframes heroFade {
  0% { opacity: 0; }
  10% { opacity: 1; }  /* smoother fade in */
  40% { opacity: 1; }  /* longer hold */
  50% { opacity: 0; }  /* smoother fade out */
  100% { opacity: 0; }
}

/* Mobile nav: restore toggle-based behavior on phones */
@media (max-width: 720px) {
  .nav-toggle { display: block !important; }
  /* Hide links until toggled open; use dark dropdown to match Royale header */
  .site-header .nav-links { display: none; position: fixed; left: 0; right: 0; top: 56px; background: #1a1a1a; border-top: 1px solid rgba(255,255,255,0.12); border-bottom: 1px solid rgba(255,255,255,0.12); padding: 12px 16px; flex-direction: column; gap: 12px; box-shadow: 0 12px 24px rgba(0,0,0,0.28); z-index: 1000; }
  .site-header .nav-links.open { display: flex; }
  .site-header .nav-links li { width: 100%; }
  .site-header .nav a { display: block; padding: 10px 12px; }
  /* Flatten submenu for mobile */
  .site-header .nav-links .has-sub > a::after { content: ""; }
  .site-header .nav-links .sub-menu { position: static; display: block; padding: 0; border: none; box-shadow: none; background: none; }
  .site-header .nav-links .sub-menu a { padding: 8px 6px; }
}

/* Search bar: force inputs and dropdown text to black */
.hero .search-bar select,
.hero .search-bar input[type="text"],
.hero .search-bar input[type="search"],
.hero .search-bar input[type="email"],
.hero .search-bar input[type="number"],
.hero .search-bar textarea {
  color: #111;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.2);
}
.hero .search-bar ::placeholder { color: #555; }
.hero .search-bar select:focus,
.hero .search-bar input:focus,
.hero .search-bar textarea:focus {
  outline: none;
  border-color: var(--brand-primary);
  box-shadow: 0 0 0 3px rgba(9,40,83,0.25);
}

/* Header & Footer color override per request */
.site-footer,
.subfooter { background: #141313f7; color: #fff; }
.site-footer a,
.subfooter a { color: #fff; }

/* Footer readability improvements on dark background */
.site-footer::before { display: none; }
.footer-grid { border-top: 1px solid rgba(255,255,255,0.15); }
.footer-brand .brand { color: #fff; }
.footer-brand .brand-sub { color: #eaeaea; }
.footer-contact { color: #f1f1f1; }
.footer-contact a { color: #f1f1f1; }
.social-links a { color: #f1f1f1; }
.social-links a:hover { color: #fff; }
.footer-links h4 { color: #fff; }
.footer-links a { color: #eaeaea; }
.footer-links a:hover { color: #fff; }
.subfooter { border-top: 1px solid rgba(255,255,255,0.2); }
.subfooter-inner { color: #f1f1f1; }
.subfooter a { color: #f1f1f1; }
.subfooter a:hover { color: #fff; }

/* Floating WhatsApp button */
.whatsapp-float {
  position: fixed;
  right: 16px;
  bottom: 100px; /* move 100px up from the bottom as requested */
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #25D366; /* WhatsApp green */
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  box-shadow: 0 8px 24px rgba(0,0,0,0.2);
  z-index: 2000;
}
.whatsapp-float:hover { background: #1ebe5d; }
.whatsapp-float i { font-size: 28px; line-height: 1; }
@media (max-width: 768px) {
  .whatsapp-float { width: 52px; height: 52px; right: 14px; bottom: 100px; }
}
/* Floating WhatsApp enhancements: position tweak and hover tooltip */
.floating-whatsapp {
  bottom: 100px; /* move 100px up from the bottom as requested */
  --wa-green: #25D366; /* WhatsApp brand green for consistent styling */
}

.floating-whatsapp:hover {
  text-decoration: none;
}

.floating-whatsapp::after {
  content: "Hi, How we can help you today?";
  position: absolute;
  right: 56px; /* place bubble to the left of the icon */
  top: 50%;
  transform: translateY(-50%) translateX(8px);
  background: var(--wa-green);
  color: #fff; /* readable on green background */
  font-size: 13px;
  line-height: 1.2;
  padding: 8px 12px;
  border-radius: 20px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  z-index: 1000;
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.floating-whatsapp::before {
  content: "";
  position: absolute;
  right: 48px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 8px solid var(--wa-green);
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  opacity: 0;
  z-index: 1000;
  transition: opacity 0.18s ease;
}

.floating-whatsapp:hover::after,
.floating-whatsapp:hover::before {
  opacity: 1;
}

/* Apply the same enhancements to the actual button class used in markup */
.whatsapp-float {
  bottom: 100px; /* move 100px up from the bottom as requested */
  --wa-green: #25D366;
}
.whatsapp-float:hover { text-decoration: none; }
.whatsapp-float::after {
  content: "Hi, How we can help you today?";
  position: absolute;
  right: 56px;
  top: 50%;
  transform: translateY(-50%) translateX(8px);
  background: var(--wa-green);
  color: #fff;
  font-size: 13px;
  line-height: 1.2;
  padding: 8px 12px;
  border-radius: 20px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  z-index: 1000;
  transition: opacity 0.18s ease, transform 0.18s ease;
}
.whatsapp-float::before {
  content: "";
  position: absolute;
  right: 48px;
  top: 50%;
  transform: translateY(-50%);
  width: 0; height: 0;
  border-left: 8px solid var(--wa-green);
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  opacity: 0;
  z-index: 1000;
  transition: opacity 0.18s ease;
}
.whatsapp-float:hover::after,
.whatsapp-float:hover::before { opacity: 1; }

/* Social icon buttons: Instagram, WhatsApp, LinkedIn */
.social-links {
  display: flex; gap: 12px; align-items: center;
}
.social-links .social-icon {
  width: 36px; height: 36px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  color: #fff; text-decoration: none;
  box-shadow: 0 6px 16px rgba(0,0,0,0.15);
  transition: filter .18s ease, transform .18s ease;
}
.social-links .social-icon i { font-size: 18px; line-height: 1; }
.social-links .social-icon:hover { filter: brightness(1.06); transform: translateY(-1px); }
.social-links .social-icon.instagram { background: #E1306C; }
.social-links .social-icon.whatsapp { background: #25D366; }
.social-links .social-icon.linkedin { background: #0077b5; }
.social-links .social-icon.facebook { background: #1877F2; }
.social-links .social-icon.youtube { background: #FF0000; }
/* Instagram gradient hover for more branded feel */
.social-links .social-icon.instagram:hover {
  background: radial-gradient(circle at 30% 30%, #fdf497 0%, #fdf497 8%, #fd5949 45%, #d6249f 60%, #285AEB 98%);
}

/* CTA WhatsApp icon-only button */
.btn-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: 50%;
  box-shadow: 0 8px 24px rgba(0,0,0,0.18);
  text-decoration: none; color: #fff;
  transition: filter .18s ease, transform .18s ease;
}
 .btn-icon.whatsapp { background: #25D366; }
 .btn-icon.phone { background: #34C759; }
 .btn-icon.email { background: #1D4ED8; }
.btn-icon i { font-size: 20px; line-height: 1; }
.btn-icon:hover { filter: brightness(1.05); transform: translateY(-1px); }