.upfm-shell{--accent:#58d49c;position:relative;width:min(var(--upfm-map-width,1180px),100%);max-width:none;margin:20px auto;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.upfm-stage{position:relative;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 25px 70px rgba(0,0,0,.18)}.upfm-map-image{display:block;width:100%;height:auto;transition:filter .35s ease,transform .4s ease}.upfm-stage.focus .upfm-map-image{filter:brightness(.55) saturate(.7);transform:scale(1.01)}.upfm-hotspot{position:absolute;border:2px solid transparent;border-radius:14px;background:transparent;cursor:pointer;transition:.28s ease;z-index:2}.upfm-hotspot span{position:absolute;left:8px;top:8px;padding:6px 9px;background:rgba(8,13,17,.88);color:#fff;border-radius:999px;font-size:11px;font-weight:800;opacity:0;transform:translateY(4px);transition:.2s;white-space:nowrap}.upfm-hotspot:hover{border-color:var(--upfm-color);background:color-mix(in srgb,var(--upfm-color) 18%,transparent);box-shadow:0 0 0 5px color-mix(in srgb,var(--upfm-color) 10%,transparent),0 16px 30px rgba(0,0,0,.18);transform:translateY(-3px) scale(1.01)}.upfm-hotspot:hover span{opacity:1;transform:none}.upfm-hotspot.active{z-index:8;border-color:var(--upfm-color);background:color-mix(in srgb,var(--upfm-color) 35%,transparent);box-shadow:0 0 0 5px color-mix(in srgb,var(--upfm-color) 13%,transparent),0 0 28px color-mix(in srgb,var(--upfm-color) 35%,transparent),0 28px 50px rgba(0,0,0,.3);transform:translateY(-12px) scale(1.025)}.upfm-modal{position:fixed;inset:0;z-index:999999;background:rgba(4,8,12,.55);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:flex-end;padding:26px;opacity:0;visibility:hidden;transition:.3s ease}.upfm-modal.open{opacity:1;visibility:visible}.upfm-modal-card{position:relative;width:min(540px,95vw);max-height:calc(100vh - 52px);overflow:auto;background:linear-gradient(180deg,#17212c,#0c131a);color:#eef5f8;border:1px solid rgba(255,255,255,.1);border-radius:24px;box-shadow:0 35px 100px rgba(0,0,0,.55);transform:translateX(70px) scale(.97);opacity:0;transition:.4s cubic-bezier(.2,.8,.2,1)}.upfm-modal.open .upfm-modal-card{transform:none;opacity:1}.upfm-close{position:absolute;right:14px;top:14px;z-index:5;width:40px;height:40px;border:0;border-radius:12px;background:rgba(0,0,0,.55);color:#fff;font-size:26px;cursor:pointer}.upfm-gallery-wrap{position:relative;background:#080c10}.upfm-gallery{height:300px;overflow:hidden}.upfm-gallery figure{margin:0;height:100%;position:relative}.upfm-gallery img{width:100%;height:100%;object-fit:cover;display:block}.upfm-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:45px 22px 18px;background:linear-gradient(transparent,rgba(0,0,0,.82));display:flex;flex-direction:column}.upfm-gallery figcaption strong{font-size:18px}.upfm-gallery figcaption span{opacity:.8;margin-top:3px}.upfm-gallery-empty{height:100%;display:grid;place-items:center;color:#8fa0aa}.upfm-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:42px;height:42px;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:22px;cursor:pointer}.upfm-prev{left:12px}.upfm-next{right:12px}.upfm-dots{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:4}.upfm-dot{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer}.upfm-dot.active{background:#fff;transform:scale(1.35)}.upfm-content{padding:24px}.upfm-kicker{font-size:11px;letter-spacing:.11em;font-weight:900;color:#79f1ba;margin-bottom:7px}.upfm-title{font-size:30px;line-height:1.1;margin:0 0 10px}.upfm-description{color:#c6d2d8;line-height:1.6}.upfm-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.upfm-info-grid>div{padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.035)}.upfm-info-grid small{display:block;color:#879aa5;font-size:10px;font-weight:800;letter-spacing:.06em;margin-bottom:5px}.upfm-info-grid strong{font-size:14px}.upfm-empty,.upfm-login-required{padding:50px;text-align:center;background:#fff;border-radius:16px}.upfm-admin-view .upfm-shell{margin-left:0}@media(max-width:700px){.upfm-modal{align-items:flex-end;padding:10px}.upfm-modal-card{width:100%;max-height:88vh;transform:translateY(60px)}.upfm-gallery{height:230px}.upfm-title{font-size:24px}.upfm-info-grid{grid-template-columns:1fr}.upfm-hotspot span{display:none}}

/* v1.1.9 - contraste do card independente do tema WordPress */
.upfm-modal-card,
.upfm-modal-card .upfm-content {
  color:#eef5f8 !important;
}
.upfm-modal-card .upfm-title {
  color:#ffffff !important;
  opacity:1 !important;
  text-shadow:0 1px 2px rgba(0,0,0,.22);
}
.upfm-modal-card .upfm-description {
  color:#d6e0e5 !important;
  opacity:1 !important;
}
.upfm-modal-card .upfm-kicker {
  color:#79f1ba !important;
  opacity:1 !important;
}
.upfm-modal-card .upfm-info-grid small {
  color:#93a6b1 !important;
  opacity:1 !important;
}
.upfm-modal-card .upfm-info-grid strong {
  color:#f7fafc !important;
  opacity:1 !important;
}
.upfm-modal-card .upfm-gallery figcaption strong,
.upfm-modal-card .upfm-gallery figcaption span {
  color:#ffffff !important;
}
