/* GFELLAS_HOME_MAP_DESKTOP_V9
 * Desktop carousel: one fixed stage for Studio/NFC/Maps.
 * Mobile stage dimensions deliberately unchanged.
 */
@media (min-width: 721px) {
  .gfhero-window {
    height: var(--gfheight);
    min-height: var(--gfheight);
    max-height: var(--gfheight);
  }
  .gfhero-window > .gfhero-slide,
  .gfhero-window > .gfhero-slide.is-active {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    max-height: 100%;
    margin: 0;
  }
  .gfhero-window .gfhero--nfc .gfnfc-shell {
    width: 100%;
    height: 100%;
    min-height: 0;
    max-width: 100%;
    padding-top: 16px;
    padding-bottom: 16px;
    overflow: hidden;
  }
  .gfhero-window .gfhero--nfc .gfnfc-tags {
    width: min(100%, max(280px, calc((var(--gfheight) - 225px) * 1.65)), 486px);
  }
  .gfhero--maps .gfhero-stage {
    right: 0;
    top: 0;
    width: 49%;
    height: 100%;
    overflow: visible;
  }
  .gfhero--maps .gfhero-content { width: 53%; }
}
/* Refined third slide: card is a stylised illustration, not a real street map. */
.gfhero--maps .gfhero-art {
  background: radial-gradient(ellipse at 85% 40%, rgba(232,129,38,.22),transparent 52%),
              linear-gradient(115deg,#111314 0%,#1d1b18 57%,#181a1c 100%);
}
.gfhero--maps .gfhero-map-card {
  position: relative;
  inset: auto;
  flex: none;
  width: 84%;
  height: 78%;
  transform: rotate(-2.5deg);
  border-radius: 23px;
  background: #1f2425;
  border: 1px solid rgba(255,255,255,.2);
  box-shadow: 0 26px 70px rgba(0,0,0,.42), 0 0 0 1px rgba(0,0,0,.2) inset;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.gfhero--maps .gfmap-top {
  position: relative;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding: 15px 18px 11px;
  z-index: 1;
  border-bottom: 1px solid rgba(255,255,255,.1);
  background: rgba(18,22,23,.95);
}
.gfhero--maps .gfmap-brand {
  color:#f5f5f6;
  font-size: 11px;
  letter-spacing: .16em;
  font-weight: 900;
}
.gfhero--maps .gfmap-status {
  display:flex;
  align-items:center;
  gap: 6px;
  color: #d2d5d4;
  font-size: 10px;
  letter-spacing: .07em;
  font-weight: 750;
}
.gfhero--maps .gfmap-status::before {
  content:'';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #f48a36;
  box-shadow: 0 0 0 4px rgba(244,138,54,.15);
}
.gfhero--maps .gfmap-visual {
  flex: 1 1 auto;
  min-height: 0;
  position:relative;
  background: #242b2b;
  overflow:hidden;
}
.gfhero--maps .gfmap-visual svg {
  display:block;
  width: 100%;
  height: 100%;
}
.gfhero--maps .gfmap-pin {
  position:absolute;
  top:39%;
  left:55%;
  transform:translate(-50%,-50%);
  width:55px;
  height:55px;
  border-radius:50%;
  background:#f48a32;
  border: 6px solid #fff9f2;
  display:grid;
  place-items:center;
  box-shadow: 0 0 0 10px rgba(244,138,50,.2), 0 8px 19px rgba(0,0,0,.48);
}
.gfhero--maps .gfmap-pin svg {width:22px;height:22px;stroke:#171819;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.gfhero--maps .gfmap-caption {
  position:absolute;
  bottom:12px;
  right:12px;
  color:#c1c6c4;
  background:rgba(13,19,20,.78);
  border:1px solid rgba(255,255,255,.13);
  padding:5px 8px;
  border-radius:7px;
  text-transform:uppercase;
  font-size:8px;
  letter-spacing:.16em;
  font-weight:700;
}
.gfhero--maps .gfmap-bottom {
  background: #151a1b;
  border-top: 1px solid rgba(255,255,255,.12);
  padding: 14px 18px 16px;
  z-index:1;
}
.gfhero--maps .gfmap-overline {
  display:block;
  margin-bottom:6px;
  color:#ff9b4b;
  font-size:10px;
  font-weight:850;
  letter-spacing:.2em;
}
.gfhero--maps .gfmap-address {
  display:block;
  color:#f7f7f8;
  font-size:clamp(14px,1.4vw,19px);
  font-weight:850;
  line-height:1.18;
  overflow-wrap:anywhere;
}
.gfhero--maps .gfmap-hint {
  display:block;
  margin-top:5px;
  font-size:11px;
  color:#a8b0b1;
}
@media (max-width: 720px) {
  /* Existing mobile dimensions, caption and navigation stay unchanged. */
  .gfhero--maps .gfhero-map-card {width:96%;height:77%;transform:rotate(-3deg)}
  .gfhero--maps .gfmap-top{padding:12px}
  .gfhero--maps .gfmap-bottom{padding:12px}
  .gfhero--maps .gfmap-address{font-size:15px}
}
@media (prefers-reduced-motion: reduce) {
  .gfhero--maps .gfhero-map-card {transition:none}
}
