/* ==========================================================
   MAPA DE LA FERIA — EFFIX 2026
   ========================================================== */
.mapa-hero{
  background:#051548; color:#fff;
  padding: clamp(96px,11vw,150px) 0 clamp(40px,5vw,64px);
}
.mapa-hero__eyebrow{margin:0 0 14px; font-family:var(--font); font-size:13px; font-weight:800; letter-spacing:.14em; color:#9dc0f0}
.mapa-hero__title{margin:0; font-family:var(--font); font-size:clamp(34px,5.4vw,62px); font-weight:800; line-height:1; color:#fff}
.mapa-hero__text{max-width:760px; margin:18px 0 0; font-family:var(--font); font-size:clamp(15px,1.4vw,18px); line-height:1.55; color:rgba(255,255,255,.82)}
.mapa-hero__chips{display:flex; flex-wrap:wrap; gap:10px; margin-top:26px}
.mapa-chip{
  display:inline-flex; gap:6px; align-items:baseline;
  padding:9px 16px; border-radius:999px;
  background:rgba(87,151,212,.18); border:1px solid rgba(157,192,240,.45);
  font-family:var(--font); font-size:13.5px; color:rgba(255,255,255,.82)
}
.mapa-chip b{color:#fff; font-weight:800}

.mapa-section{background:#051548; padding:0 0 clamp(40px,5vw,64px)}
.mapa-toolbar{display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; align-items:center; margin-bottom:14px}
.mapa-toolbar__group{display:flex; align-items:center; gap:8px}
.mapa-btn{
  min-width:44px; min-height:44px; padding:0 14px;
  border-radius:12px; border:1px solid rgba(157,192,240,.45);
  background:rgba(255,255,255,.08); color:#fff;
  font-family:var(--font); font-size:16px; font-weight:700; cursor:pointer;
  transition:background .15s ease, transform .15s ease;
}
.mapa-btn:hover{background:rgba(255,255,255,.18)}
.mapa-btn:active{transform:translateY(1px)}
.mapa-btn--wide{font-size:14px}
.mapa-btn--primary{background:#5797d4; border-color:#5797d4; font-size:14.5px}
.mapa-btn--primary:hover{background:#fff; color:#051548}

/* CTA "Ir a nuestro stand" — pin animado con la bandera argentina */
.mapa-goto{
  display:inline-flex; align-items:center; gap:12px;
  min-width:290px; min-height:56px; padding:0 24px 0 18px;
  justify-content:center; text-align:left; line-height:1.15;
  box-shadow:0 14px 30px -14px rgba(87,151,212,.9);
}
.mapa-goto__label{font-size:15px; font-weight:700}
.mapa-goto__label b{display:block; font-size:12.5px; font-weight:800; letter-spacing:.06em; opacity:.85}
.mapa-goto__arrow{font-size:17px; font-weight:800; transition:transform .18s ease}
.mapa-goto:hover .mapa-goto__arrow{transform:translateX(3px)}
.mapa-goto__pin{position:relative; display:flex; align-items:center; justify-content:center; flex:0 0 auto}
.mapa-goto__pin svg{display:block; animation:mapa-goto-bounce 1.8s ease-in-out infinite; transform-origin:50% 100%}
.mapa-goto__pin::after{
  content:""; position:absolute; bottom:-2px; left:50%; width:18px; height:6px;
  transform:translateX(-50%); border-radius:50%;
  background:rgba(5,21,72,.35); animation:mapa-goto-shadow 1.8s ease-in-out infinite;
}
@keyframes mapa-goto-bounce{
  0%,100%{transform:translateY(0)}
  30%{transform:translateY(-5px)}
  55%{transform:translateY(0)}
  70%{transform:translateY(-2px)}
  85%{transform:translateY(0)}
}
@keyframes mapa-goto-shadow{
  0%,100%{transform:translateX(-50%) scale(1); opacity:.35}
  30%{transform:translateX(-50%) scale(.7); opacity:.18}
  55%{transform:translateX(-50%) scale(1); opacity:.35}
}
@media (prefers-reduced-motion:reduce){
  .mapa-goto__pin svg,.mapa-goto__pin::after{animation:none}
}
@media (max-width:520px){
  .mapa-goto{width:100%; min-width:0}
}
.mapa-zoom{min-width:58px; text-align:center; font-family:var(--font); font-size:13px; font-weight:700; color:rgba(255,255,255,.7)}

.mapa-viewport{
  position:relative; overflow:hidden;
  background:#fff; border-radius:20px;
  border:1px solid rgba(157,192,240,.35);
  box-shadow:0 24px 60px -30px rgba(0,0,0,.6);
  touch-action:none; cursor:grab;
}
.mapa-viewport.is-panning{cursor:grabbing}
.mapa-viewport svg{display:block; width:100%; height:auto}
#mapa-zoomable{transition:transform .35s cubic-bezier(.22,1,.36,1)}
#mapa-zoomable.no-anim{transition:none}
#mapa-svg text{font-family:var(--font), Arial, sans-serif}
#stand-ar{animation:mapa-pulse 2.4s ease-in-out infinite; transform-origin:507px 1185px}
@keyframes mapa-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.72;transform:scale(1.06)}}
@media (prefers-reduced-motion: reduce){
  #stand-ar{animation:none}
  #mapa-zoomable{transition:none}
}
.mapa-note{margin:14px 0 0; font-family:var(--font); font-size:12.5px; color:rgba(255,255,255,.55)}

.mapa-stand{background:#fff; padding:clamp(56px,7vw,88px) 0}
.mapa-stand__grid{display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(20px,3vw,34px)}
@media (max-width:860px){ .mapa-stand__grid{grid-template-columns:1fr} }
.mapa-stand__card{
  background:#f7f9fc; border:1px solid #e2e7f3; border-radius:20px;
  padding:clamp(24px,3vw,34px);
}
.mapa-stand__card--alt{background:#051548; border-color:#051548; color:#fff}
.mapa-stand__kx{margin:0 0 10px; font-family:var(--font); font-size:12px; font-weight:800; letter-spacing:.14em; color:#5797d4}
.mapa-stand__card h2{margin:0 0 16px; font-family:var(--font); font-size:clamp(21px,2.4vw,28px); font-weight:800; color:#051548}
.mapa-stand__list{margin:0 0 22px; padding:0; list-style:none; display:flex; flex-direction:column; gap:10px}
.mapa-stand__list li{position:relative; padding-left:20px; font-family:var(--font); font-size:15.5px; line-height:1.45; color:#42506b}
.mapa-stand__card--alt .mapa-stand__list li{color:rgba(255,255,255,.85)}
.mapa-stand__list li::before{content:""; position:absolute; left:0; top:.55em; width:8px; height:8px; border-radius:50%; background:#5797d4}
.mapa-stand__card--alt .mapa-stand__list li b{color:#fff}
.mapa-stand__card .btn{margin-top:4px}
.header__nav a.is-current{background:rgba(255,255,255,.16)}

/* referencias */
.mapa-legend{
  display:flex; flex-wrap:wrap; gap:8px 18px; margin:16px 0 0; padding:0; list-style:none;
}
.mapa-legend li{
  display:flex; align-items:center; gap:8px;
  font-family:var(--font); font-size:12.5px; color:rgba(255,255,255,.78);
}
.mapa-legend li b{color:#fff; font-weight:800}
.mapa-legend__sw{
  width:20px; height:13px; border-radius:3px; flex:0 0 auto;
  border:1px solid rgba(255,255,255,.5);
}
.mapa-legend__sw--ar{
  background:linear-gradient(180deg,#74acdf 0 33%,#fff 33% 66%,#74acdf 66% 100%);
  border-color:#9dc0f0;
}
