/* CPIC Startseiten-Globus Test v0.1
   Lädt die bestehenden globalen CPIC Styles und ergänzt nur Hero/Globus. */

.globe-home-page{background:#f7f7f6;overflow-x:hidden}

.gh-hero{position:relative;padding:54px 0 30px;background:
  radial-gradient(circle at 76% 46%,rgba(45,133,183,.055),transparent 28rem),
  linear-gradient(180deg,#fff 0%,#fbfcfc 100%)}
.gh-hero-grid{display:grid;grid-template-columns:minmax(0,0.92fr) minmax(520px,1.08fr);gap:64px;align-items:center;min-height:610px}
.gh-copy{position:relative;z-index:5;min-width:0;padding-left:2px}
.gh-kicker{color:#2f82b1;font-weight:700;letter-spacing:.13em}
.gh-copy h1{max-width:690px;margin:11px 0 22px;font-size:clamp(3.8rem,5.75vw,6.45rem);font-weight:620;line-height:.93;letter-spacing:-.058em;color:#25232b}
.gh-copy h1 span{display:inline;color:#347fae}
.gh-lead{max-width:585px;margin:0 0 27px;color:#68747e;font-size:1.08rem;line-height:1.65}

/* Suche */
.gh-search-wrap{position:relative;z-index:30;max-width:590px}
.gh-search-wrap label{display:block;margin:0 0 8px 4px;color:#4e555b;font-size:.78rem;font-weight:700}
.gh-searchbox{position:relative}
.gh-searchbox input{width:100%;height:58px;padding:0 58px 0 18px;border:1px solid #d7dde1;border-radius:15px;background:rgba(255,255,255,.98);color:#25232b;font:inherit;outline:none;box-shadow:0 8px 24px rgba(27,48,62,.035)}
.gh-searchbox input:focus{border-color:#87b1ca;box-shadow:0 0 0 4px rgba(52,127,174,.09),0 10px 28px rgba(27,48,62,.04)}
.gh-searchbox input::placeholder{color:#9aa2a9}
.gh-clear{position:absolute;right:9px;top:50%;translate:0 -50%;width:40px;height:40px;border:0;border-radius:10px;background:transparent;color:#777;font-size:1.45rem;cursor:pointer}
.gh-clear:hover{background:#f1f4f5}
.gh-suggestions{position:absolute;left:0;right:0;top:calc(100% + 8px);max-height:335px;overflow:auto;padding:7px;background:#fff;border:1px solid #dce1e4;border-radius:15px;box-shadow:0 22px 50px rgba(24,42,52,.16);z-index:50}
.gh-suggestions .suggestion{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:0;border-radius:10px;background:transparent;color:#25232b;text-align:left;cursor:pointer}
.gh-suggestions .suggestion:hover,.gh-suggestions .suggestion.active{background:#eef6fa}
.gh-suggestions .suggestion strong{display:block;font-size:.92rem}.gh-suggestions .suggestion small{display:block;margin-top:2px;color:#70777d}.gh-suggestions .arrow{color:#347fae;font-size:1.1rem}.gh-suggestions .empty{cursor:default}

/* Gewählter Hafen */
.gh-selection{max-width:590px;margin-top:13px;padding:14px 15px 14px 18px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border:1px solid #dce6eb;border-radius:15px;box-shadow:0 8px 24px rgba(30,64,84,.05)}
.gh-selection[hidden]{display:none}.gh-selection-kicker{color:#6d8797;font-size:.64rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.gh-selection h2{margin:2px 0 0;font-size:1.16rem;font-weight:600}.gh-selection p{margin:1px 0 0;color:#747a80;font-size:.82rem}
.gh-open-button{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;padding:10px 15px;border-radius:999px;background:#347fae;color:#fff;text-decoration:none;font-size:.82rem;font-weight:700}.gh-open-button:hover{background:#276d96;color:#fff}
.gh-status{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:14px 0 0 3px;color:#879097;font-size:.72rem}.gh-status strong{color:#347fae}.gh-status-dot{width:7px;height:7px;border-radius:50%;background:#347fae;box-shadow:0 0 0 5px rgba(52,127,174,.08)}.gh-status-sep{opacity:.5}

/* Globus: durch getrennte Gridspalte kann KEIN Buchstabe mehr hineinragen */
.gh-world{position:relative;min-width:0;display:grid;place-items:center;isolation:isolate}
.gh-globe-stage{position:relative;width:min(100%,720px);aspect-ratio:1/1;overflow:visible}
.gh-globe-stage canvas{display:block;width:100%!important;height:100%!important;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;will-change:transform}
.gh-globe-stage canvas.is-dragging{cursor:grabbing}
.gh-globe-hint{position:absolute;z-index:5;right:2%;top:8%;padding:8px 13px;border:1px solid #e0e5e8;border-radius:999px;background:rgba(255,255,255,.9);backdrop-filter:blur(7px);color:#717980;font-size:.72rem;box-shadow:0 8px 22px rgba(0,0,0,.04);pointer-events:none}
.gh-world-caption{position:absolute;left:50%;bottom:1.5%;translate:-50% 0;white-space:nowrap;color:#90979d;font-size:.69rem;pointer-events:none}

/* Kennzahlen direkt unter Hero */
.gh-stats-section{padding:0 0 54px;background:#fff}
.gh-home-stats{margin-top:0;padding-top:31px;border-top:1px solid #dfe3e5}
.gh-international-notice{margin-top:28px}
.gh-tools-section{border-top:1px solid #e3e6e8}

@media (max-width:1180px){
  .gh-hero-grid{grid-template-columns:minmax(0,.9fr) minmax(470px,1.1fr);gap:38px}
  .gh-copy h1{font-size:clamp(3.45rem,5.55vw,5.6rem)}
}
@media (max-width:960px){
  .gh-hero{padding-top:38px}.gh-hero-grid{grid-template-columns:1fr;gap:10px;min-height:0}
  .gh-copy{text-align:center}.gh-copy h1{max-width:780px;margin-left:auto;margin-right:auto;font-size:clamp(3.2rem,9.5vw,5.3rem);line-height:.96}
  .gh-lead{margin-left:auto;margin-right:auto}.gh-search-wrap,.gh-selection{margin-left:auto;margin-right:auto}.gh-search-wrap label{text-align:left}
  .gh-status{justify-content:center}.gh-world{margin-top:-5px}.gh-globe-stage{width:min(100%,700px)}.gh-globe-hint{right:4%}
}
@media (max-width:640px){
  .gh-hero{padding:28px 0 22px}.gh-copy h1{font-size:clamp(2.85rem,14vw,4.2rem);letter-spacing:-.05em}.gh-lead{font-size:.98rem}
  .gh-searchbox input{height:54px}.gh-selection{align-items:flex-start;flex-direction:column}.gh-open-button{width:100%;justify-content:center}.gh-world-caption{bottom:0;font-size:.63rem}.gh-globe-hint{top:3%;right:1%;font-size:.65rem}
  .gh-stats-section{padding-bottom:38px}
}
@media (prefers-reduced-motion:reduce){.gh-globe-hint{display:none}}

/* Kompakter Zoom und Hafen-Tooltip */
@media (min-width:1181px){
  .gh-hero-grid{
    grid-template-columns:minmax(0, .96fr) minmax(560px, 1.04fr);
    gap:72px;
  }
  .gh-copy{
    overflow:visible;
  }
  .gh-copy h1{
    max-width:100%;
    font-size:clamp(3.35rem,4.55vw,5.15rem);
    letter-spacing:-.052em;
  }
  .gh-copy h1 span{
    display:block;
    white-space:nowrap;
    font-size:.80em;
    line-height:1.02;
  }
  .gh-world{
    transform:translateX(18px);
  }
}
.gh-selection-coords{
  margin-top:5px!important;
  color:#596b76!important;
  font-weight:600
}
.gh-port-tooltip{
  position:absolute;
  z-index:40;
  width:auto!important;
  height:auto!important;
  min-width:0;
  max-width:220px;
  padding:8px 11px;
  border-radius:10px;
  background:#252832;
  color:#fff;
  box-shadow:0 10px 28px rgba(0,0,0,.18);
  pointer-events:none;
  font-size:.75rem;
  line-height:1.25;
  white-space:nowrap;
}
.gh-port-tooltip[hidden]{display:none}
.gh-port-tooltip strong{display:block;font-size:.82rem}
.gh-port-tooltip span{display:block;margin-top:2px;color:#dce4e8}

.gh-zoom-controls{
  position:absolute;
  z-index:35;
  right:3%;
  top:27%;
  display:flex;
  flex-direction:column;
  width:44px!important;
  height:auto!important;
  overflow:hidden;
  border:1px solid #dfe5e8;
  border-radius:13px;
  background:rgba(255,255,255,.96);
  box-shadow:0 10px 26px rgba(30,55,70,.08);
}
.gh-zoom-controls button{
  display:block;
  flex:0 0 42px;
  width:42px;
  height:42px;
  padding:0;
  margin:0;
  border:0;
  border-bottom:1px solid #e7ebed;
  border-radius:0;
  background:transparent;
  color:#257db1;
  font-size:1.35rem;
  line-height:42px;
  font-weight:600;
  cursor:pointer
}
.gh-zoom-controls button:last-child{
  border-bottom:0;
  font-size:1.05rem
}
.gh-zoom-controls button:hover{background:#eef6fa}

@media(max-width:1179px) and (min-width:961px){
  .gh-copy h1 span{
    display:block;
    font-size:.78em;
    white-space:nowrap;
  }
}
@media(max-width:960px){
  .gh-zoom-controls{right:5%;top:25%}
  .gh-copy h1 span{display:inline;white-space:normal;font-size:1em}
}
@media(max-width:640px){
  .gh-zoom-controls{right:1%;top:23%;width:40px!important}
  .gh-zoom-controls button{width:38px;height:38px;flex-basis:38px;line-height:38px}
}


/* Dezente, zufällig wechselnde Hafenlabels */
.gh-random-labels{
  position:absolute;
  inset:0;
  z-index:28;
  pointer-events:none;
  overflow:visible;
}
.gh-random-port-label{
  position:absolute;
  transform:translate(-50%,calc(-100% - 10px)) scale(.96);
  min-width:76px;
  max-width:155px;
  padding:7px 10px 6px;
  border:1px solid #dfe5e8;
  border-radius:11px;
  background:rgba(255,255,255,.95);
  box-shadow:0 8px 22px rgba(30,55,70,.10);
  color:#272b30;
  line-height:1.12;
  white-space:nowrap;
  opacity:0;
  transition:opacity .45s ease,transform .45s ease;
  backdrop-filter:blur(6px);
}
.gh-random-port-label.is-visible{
  opacity:1;
  transform:translate(-50%,calc(-100% - 10px)) scale(1);
}
.gh-random-port-label strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:.76rem;
  font-weight:750;
}
.gh-random-port-label span{
  display:block;
  margin-top:3px;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#78828a;
  font-size:.64rem;
}
@media(max-width:960px){
  .gh-random-port-label{display:none}
}
