/* ==========================
   Header CTA: #btn-nav
   ========================== */

/* Desktop: Text anzeigen, Icon ausblenden */
#btn-nav {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-align: center;
  white-space: nowrap;      /* einzeilig */
}

#btn-nav .cta-text {
  display: inline;
}

#btn-nav .cta-icon {
  display: none;
}

/* Mobile: Icon statt Text, flach & zentriert */
@media (max-width: 767px) {
  #btn-nav {
    padding: 6px;              /* kleiner als Desktop */
    min-width: 36px;           /* tappable */
    min-height: 36px;
    height: 36px;              /* fixe Höhe */
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: normal;       /* Umbruch erlaubt, Fallback */
  }

  #btn-nav .cta-text {
    display: none;             /* Text ausblenden */
  }

  #btn-nav .cta-icon {
    display: inline-block;     
    font-size: 18px;           /* Icongröße anpassen */
    line-height: 1;
  }
}

/* ==========================
   Mobile Nav CTA: letzte li in toggle
   ========================== */

/* Desktop: versteckt */
.mobile-cta {
  display: none;
}

/* Mobile: sichtbar */
@media (max-width: 767px) {
  .mobile-cta {
    display: block;
    margin-top: 10px;          /* Abstand zu anderen Links */
  }

  .mobile-cta .btn-getstarted {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 90%;
    padding: 10px;
    font-size: 16px;
    background-color: #ff6b00;
    color: #fff;
    border-radius: 8px;
    text-align: center;
    white-space: normal;       /* Umbruch erlaubt */
  }
}

.highlight-orange {
  color: #ff6b00;
  font-weight: bold;
}


/* ==========================
   chatbot
   ========================== */

/* BUTTON (schwebend rechts unten) */
#pseudo-chatbot-btn {
  position: fixed;
  bottom: 80px; /* damit kein Konflikt mit Up-Arrow entsteht */
  right: 24px;
  width: 58px;
  height: 58px;
  background: #f0f0ea;
  color: #004e92;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 28px;
  cursor: pointer;
  z-index: 9999;
  transition: transform 0.3s ease;
  box-shadow: 0 6px 18px rgba(0,0,0,0.2);
}
#pseudo-chatbot-btn:hover {
  transform: scale(1.08);
}

/* POPUP BOX */
#pseudo-chatbot-box {
  position: fixed;
  bottom: 150px;
  right: 24px;
  width: 300px;
  background: #ffffff;
  border-radius: 14px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.15);
  padding: 0;
  display: none;
  z-index: 9999;
  overflow: hidden;
  animation: popupFade 0.25s ease;
}

/* Header */
.chatbot-header {
  background: #004e92;
  color: white;
  padding: 12px 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 15px;
}
#chatbot-close {
  cursor: pointer;
  font-size: 20px;
}

/* Body */
.chatbot-body {
  padding: 16px;
  font-size: 14px;
  color: #222;
}
.chatbot-body p {
  margin-bottom: 10px;
}

/* CTA Button */
.chatbot-cta {
  display: block;
  background: #ff6b00;
  padding: 10px 16px;
  text-align: center;
  color: white;
  border-radius: 8px;
  font-weight: bold;
  margin-top: 12px;
  text-decoration: none;
  transition: background 0.3s ease;
}
.chatbot-cta:hover {
  background: #e45e00;
}

@keyframes popupFade {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ==========================
   pauschaler anker
   ========================== */



:target {
  scroll-margin-top: 80px;
}


/* ==========================
   futureremote map worldwide
   ========================== */


.map-container {
  width: 100%;
  max-width: 700px;
  aspect-ratio: 1024 / 683;
  position: relative;

  display: flex;
  justify-content: center;
  align-items: center;
}

.map-box {
  width: 100%;
  max-width: 480px;       /* ▼ Größe hier ändern */
  aspect-ratio: 55 / 35;
  position: relative;
  margin-left: auto;
  background: transparent;
}

.bg-grid {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(55, 1fr);
  grid-template-rows: repeat(35, 1fr);
  gap: 1px;
  background: transparent;
}

.cell {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: transparent;
  transition: background-color 450ms ease, opacity 600ms ease;
  will-change: background-color, opacity;
}

/* Kontinentpunkte Pulsation */
.continent {
  animation-name: pulse;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}

@keyframes pulse {
  0%   { opacity: 0.35; }
  50%  { opacity: 0.85; }
  100% { opacity: 0.35; }
}

/* Orange Highlights */
.highlight {
  background-color: #ff6b00 !important;
  opacity: 1 !important;
}

/* Container */
.map-container {
  width: 100%;
  max-width: 700px;
  aspect-ratio: 1024 / 683;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}


/*--------------------------------------------------------------
# Breadcrumbs
--------------------------------------------------------------*/
.breadcrumbs {
  padding: 15px 0;
  background: #004e92;
  min-height: 40px;
  margin-top: 10px;
  color: #fff;
}

@media (max-width: 992px) {
  .breadcrumbs {
    margin-top: 20px;
  }
}

.breadcrumbs h2 {
  font-size: 28px;
  font-weight: 500;
}

.breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0 0 10px 0;
  margin: 0;
  font-size: 14px;
}

.breadcrumbs ol a {
  color: #fff;
  transition: 0.3s;
}

.breadcrumbs ol a:hover {
  text-decoration: none;
}

.breadcrumbs ol li+li {
  padding-left: 10px;
}

.breadcrumbs ol li+li::before {
  display: inline-block;
  padding-right: 10px;
  color: #fff;
  content: "/";
}