/* 
=================================================================
HUGOCIB - HOMEPAGE STYLES
=================================================================
Fullscreen hero with interactive world map and navbar overlay
*/

/* =================================================================
   FULLSCREEN HERO SECTION
   ================================================================= */

.hero-home-fullscreen {
  height: 100vh;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  /* transition: background-image 1s ease-in-out; /* Uncomment for slideshow */
}

/* Dark overlay for image readability */
.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}

/* Centered content container */
.hero-content {
  text-align: center;
  color: white;
  z-index: 2;
  max-width: 600px;
  padding: 2rem;
}

/* Allow shifting the whole hero content/overlay vertically via a CSS variable.
   Useful to nudge buttons or content without negative margins on individual elements. */
:root {
  --hero-content-offset: 0rem; /* default no offset */
}

.hero-content {
  transform: translateY(var(--hero-content-offset));
}

/* =================================================================
   INTERACTIVE WORLD MAP
   ================================================================= */

.world-map-container {
  margin-top: 2rem;
  max-width: 1200px;
  width: 90%;
}

/* Main SVG map with responsive scaling */
.world-map {
  width: 100%;
  height: auto;
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.4));
  transform: scale(6.5); /* Base scale for larger screens */
  transform-origin: center;
}

/* Scale map based on screen size */
@media (max-width: 1400px) {
  .world-map {
    transform: scale(5.5);
  }
}

@media (max-width: 1200px) {
  .world-map {
    transform: scale(5);
  }
}

@media (max-width: 1000px) {
  .world-map {
    transform: scale(4.5);
  }
}

@media (max-width: 900px) {
  .world-map {
    transform: scale(4);
  }
}

/* Interactive continent groups */
.continent-group {
  cursor: pointer;
  transition: all 0.3s ease;
}

/* Individual continent SVG styling */
.continent-svg {
  transition: all 0.3s ease;
  transform-origin: center;
  filter: brightness(1) drop-shadow(0 2px 4px rgba(0,0,0,0.3));
  opacity: 0.6;
}

/* Hover effects for continents */
.continent-group:hover .continent-svg {
  filter: brightness(1.3) drop-shadow(0 4px 8px rgba(255,255,255,0.3));
  opacity: 0.9;
}

/* Text labels for continents */
.continent-label {
  fill: white;
  font-size: 14px;
  font-weight: bold;
  text-anchor: middle;
  pointer-events: none;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
  font-family: 'Lexend', sans-serif;
}

/* Legacy continent class for backwards compatibility */
.continent {
  cursor: pointer;
  transition: all 0.3s ease;
  transform-origin: center;
}

.continent:hover {
  fill: rgba(255, 255, 255, 0.6) !important;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.5));
}

/* =================================================================
   HERO LOGO
   ================================================================= */

/* .hero-logo {
  position: absolute;
  bottom: 40px;
  left: 40px;
  z-index: 3;
}

.cib-logo {
  height: 100px;
  width: auto;
  opacity: 0.9;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.5));
  transition: all 0.3s ease;
}

.cib-logo:hover {
  opacity: 1;
  transform: scale(1.05);
} */

/* =================================================================
   GLASSMORPHISM CTA BUTTON (unused but kept for future)
   ================================================================= */

.hero-button {
  display: inline-block;
  padding: 1rem 2.5rem;
  background: rgba(255, 255, 255, 0.2);
  border: 2px solid white;
  color: white;
  text-decoration: none;
  font-size: 1.2rem;
  font-weight: bold;
  border-radius: 50px;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
}

.hero-button:hover {
  background: white;
  color: #333;
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
}

/* =================================================================
   Glass Continent Buttons (Mobile Only)
   ================================================================= */

.continent-buttons-mobile {
  display: none; /* Hidden by default on desktop */
  flex-direction: column;
  gap: 1rem;
  margin-top: 0rem;
  width: 100%;
  max-width: 300px;
}

.glass-continent-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 3rem;
  border: none;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: var(--color-text-light);
  font-family: var(--font-family-content);
  font-size: 1.3rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  cursor: pointer;
  transition: all 0.3s ease;
  text-align: center;
  width: 100%;
  min-height: 65px;
}

.glass-continent-btn:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.3);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}

.glass-continent-btn:active {
  transform: translateY(0);
}

.continent-name {
  flex: 1;
}

/* =================================================================
   RESPONSIVE HOMEPAGE DESIGN - TWO LEVELS ONLY
   Desktop (>768px): Clickable world map
   Mobile (≤768px): Glass buttons
   ================================================================= */

/* MOBILE: Show buttons, hide map */
@media (max-width: 768px) {
  /* Hide world map on mobile */
  .world-map-container {
    display: none !important;
  }
  
  /* Show glass buttons on mobile */
  .continent-buttons-mobile {
    display: flex;
  }
  
  /* Mobile content adjustments */
  .hero-content {
    padding: 1rem;
    transform: translateY(-2rem); /* Slight upward nudge for compact screens */
  }
  
  /* Optional: adjust button sizing for very small screens */
  .hero-button {
    padding: 0.7rem 1.5rem;
    font-size: 1rem;
  }
}