
[x-cloak] {
  display: none !important;
}
/* applies only to touch devices (hover:none = finger screens)  */
@media (hover:none) and (pointer:coarse) {
  html, body {
    /* allow vertical & horizontal scroll, block pinch‑zoom */
    touch-action: pan-x pan-y;
  }
}

/* the map container or the <iframe> that holds it */
iframe,                 /* if the map lives in an <iframe>  */
.ol-viewport {          /* OL’s own internal container      */
  touch-action: none;
}





.ol-attribution {
  right: 0.5rem;
  transition: right 0.2s ease;
  font-size: 12px;
}

/* override OL default inline behaviour */
.ol-attribution ul {
  display: block;
  max-width: 480px;
  line-height: 1.4;
  padding: 0;
  margin: 0;
}

/* each source on new line */
.ol-attribution li {
  display: block;
  white-space: normal;
}

/* links */
.ol-attribution a {
  word-break: break-word;
  text-decoration: underline;
}

/* sidebar shift */
.panel-open .ol-attribution {
  right: calc(20rem + 0.5rem);
}



:root { --panel-w: 320px; }
@media (max-width: 768px) { :root { --panel-w: 300px; } }

/* Closed states */
#side-panel {
  transform: translateX(100%);
  transition: transform 420ms cubic-bezier(0.23, 1, 0.32, 1);
}

#panel-toggle {
  right: 0;
  transform: translateY(-50%) translateX(0);
  transition: transform 420ms cubic-bezier(0.23, 1, 0.32, 1);
}

/* Open states */
.panel-open #side-panel {
  transform: translateX(0);
}

.panel-open #panel-toggle {
  transform: translateY(-50%) translateX(calc(-1 * var(--panel-w)));
}

/* Closed state */
#side-panel  { transform: translateX(100%); }


.badge-new {
  font-size: 10px;
  padding: 2px 6px;
  border-radius: 4px;
  background: #2563eb;
  color: white;
  font-weight: 600;
}

.cadMaps-not-new .badge-new {
  display: none !important;
}

.leaflet-popup-content-wrapper,
.leaflet-popup-content {
  max-width: none !important;
  width: 400px !important;
  padding: 0 !important;
  border-radius: 1rem !important;
  box-shadow: 10p 10px 32px 10p rgb(0 0 0 / 0.18);
}

.leaflet-popup-content {
  margin: 0 !important;
  padding: 0 !important;         
  width: 100% !important;
}

.leaflet-popup-content p {
  margin: 0 !important;         
}

.leaflet-popup-tip {
  /* You can also hide the tip, or fake a rounded one if you're picky */
  display: none !important; /* If you want full card with no arrow */
}

.fly-tip {
  position: fixed;
  left: 0;
  top: 0;
  pointer-events: none;
  font-size: 14px;
  font-weight: 500;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  padding: 6px 12px;
  border-radius: 9999px;         /* pill shape */
  color: #fff;
  background: rgba(60, 60, 60, 0.85);  /* translucent dark */
  backdrop-filter: blur(8px);   /* frosted glass feel */
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);

  opacity: 0;
  transform: translateY(0) scale(0.95);
  transition:
    transform 0.4s cubic-bezier(0.25,0.1,0.25,1),
    opacity 0.4s ease;
  z-index: 9999;
}

.fly-tip.show {
  opacity: 1;
  transform: translateY(-35px) scale(1);
}


.account-popover .account-email {
  font-size: 0.9em;
  color: #666;
  margin-bottom: 8px;
}

.account-popover .logout {
  color: #d00;
}