/* Behavior styles only: native Elementor owns map/card colors, content, size and typography. */
#ccfidl-presence-map.is-map-ready {overflow: hidden;}
#ccfidl-presence-map-scene {transform-origin: 0 0; touch-action: none; cursor: grab; will-change: transform;}
#ccfidl-presence-map.is-dragging #ccfidl-presence-map-scene {cursor: grabbing;}
#ccfidl-presence-map-graphic > svg {display: block; width: 100%; height: 100%; overflow: visible;}
#ccfidl-presence-map-graphic path {vector-effect: non-scaling-stroke;}
#ccfidl-presence-map-graphic #country-gin,
#ccfidl-presence-map-graphic #country-tcd {pointer-events: all; cursor: pointer; transition: filter .35s ease, stroke-width .35s ease; outline: none;}
#ccfidl-presence-map-graphic [data-presence-country]:is(:hover, :focus-visible, .is-selected) {filter: brightness(1.45); stroke-width: 2.1;}
#ccfidl-presence-map [id^="ccfidl-presence-anchor-"] {transform-origin: 0 0;}
#ccfidl-presence-map [data-presence-country] {cursor: pointer; -webkit-tap-highlight-color: transparent;}
#ccfidl-presence-map [id^="ccfidl-presence-pin-wrap-"]:focus-visible,
#ccfidl-presence-map [id^="ccfidl-presence-label-"]:focus-visible {outline: 2px solid currentColor; outline-offset: 5px; border-radius: 3px;}
#ccfidl-presence-map [id^="ccfidl-presence-label-"] {user-select: none;}
#ccfidl-presence-map [id^="ccfidl-presence-city-"] {user-select: none;}
#ccfidl-presence-map.is-map-ready:not(.has-entered) [id^="ccfidl-presence-pin-wrap-"],
#ccfidl-presence-map.is-map-ready:not(.has-entered) [id^="ccfidl-presence-label-"],
#ccfidl-presence-map.is-map-ready:not(.has-entered) [id^="ccfidl-presence-city-"] {opacity: 0;}
#ccfidl-presence-map.has-entered [id^="ccfidl-presence-pin-wrap-"] {
  transform-origin: 50% 100%;
  animation: ccfidl-pin-appear 1.3s cubic-bezier(.16,1,.3,1) .15s both, ccfidl-pin-presence 4.8s ease-in-out 1.5s infinite;
  animation-play-state: paused;
}
#ccfidl-presence-map.has-entered #ccfidl-presence-pin-wrap-tcd {animation-delay: .75s, 2.1s;}
#ccfidl-presence-map.has-entered [id^="ccfidl-presence-label-"],
#ccfidl-presence-map.has-entered [id^="ccfidl-presence-city-"] {animation: ccfidl-map-label 1.2s ease .45s both paused;}
#ccfidl-presence-map.has-entered #ccfidl-presence-label-tcd,
#ccfidl-presence-map.has-entered #ccfidl-presence-city-tcd {animation-delay: 1.05s;}
#ccfidl-presence-map [id^="ccfidl-presence-wave-"] {
  opacity: 0;
  transform-origin: center;
  animation: ccfidl-presence-wave 5s cubic-bezier(.12,.25,.35,1) 1.25s infinite both paused;
}
#ccfidl-presence-map [id$="-second"] {animation-delay: 3.75s;}
#ccfidl-presence-map [id^="ccfidl-presence-wave-tcd"] {animation-delay: 2s;}
#ccfidl-presence-map #ccfidl-presence-wave-tcd-second {animation-delay: 4.5s;}
#ccfidl-presence-map.is-animated [id^="ccfidl-presence-pin-wrap-"],
#ccfidl-presence-map.is-animated [id^="ccfidl-presence-label-"],
#ccfidl-presence-map.is-animated [id^="ccfidl-presence-city-"],
#ccfidl-presence-map.is-animated [id^="ccfidl-presence-wave-"] {animation-play-state: running;}
#ccfidl-presence-map .is-selected [id^="ccfidl-presence-pin-wrap-"] {filter: brightness(1.2);}
#ccfidl-presence-map :is(#ccfidl-presence-card-gin, #ccfidl-presence-card-tcd) {
  position: absolute;
  left: var(--map-card-x, 12px);
  top: var(--map-card-y, 12px);
  z-index: 20;
  max-height: calc(var(--map-stage-height, 480px) - 92px);
  overflow: visible;
  overscroll-behavior: contain;
}
#ccfidl-presence-map :is(#ccfidl-presence-card-gin, #ccfidl-presence-card-tcd)[hidden] {display: none !important;}
#ccfidl-presence-map [id^="ccfidl-presence-card-body-"] {position: relative; z-index: 1; max-height: calc(var(--map-stage-height, 480px) - 92px); overflow: auto; overscroll-behavior: contain; scrollbar-width: thin;}
#ccfidl-presence-map [id^="ccfidl-presence-arrow-"] {
  position: absolute;
  left: var(--map-arrow-x, 50%);
  top: var(--map-arrow-y, 0px);
  width: 14px;
  height: 14px;
  transform: translate(-50%, -50%) rotate(45deg);
  pointer-events: none;
  z-index: 0;
}
#ccfidl-presence-map :is(#ccfidl-presence-card-gin, #ccfidl-presence-card-tcd).is-open {display: block; animation: ccfidl-map-card-appear .28s ease both;}
#ccfidl-presence-map [id^="ccfidl-presence-zoom-"][aria-disabled="true"] {opacity: .48;}
#ccfidl-presence-map [id^="ccfidl-presence-zoom-"] {touch-action: manipulation;}
#ccfidl-presence-map [id^="ccfidl-presence-close-"] {touch-action: manipulation;}
@keyframes ccfidl-pin-appear {
  0% {opacity: 0; transform: translateY(26px) scale(.78);}
  65% {opacity: 1;}
  100% {opacity: 1; transform: translateY(0) scale(1);}
}
@keyframes ccfidl-pin-presence {0%, 100% {filter: brightness(1);} 50% {filter: brightness(1.32) drop-shadow(0 0 7px rgba(224,87,77,.55));}}
@keyframes ccfidl-map-label {from {opacity: 0; transform: translateY(6px);} to {opacity: 1; transform: translateY(0);}}
@keyframes ccfidl-presence-wave {
  0% {opacity: .15; transform: scale(.3);}
  18% {opacity: .8;}
  75%, 100% {opacity: 0; transform: scale(2.25);}
}
@keyframes ccfidl-map-card-appear {from {opacity: 0;} to {opacity: 1;}}
body.elementor-editor-active #ccfidl-presence-map {overflow: visible;}
body.elementor-editor-active #ccfidl-presence-map-scene {transform: none !important; cursor: default;}
body.elementor-editor-active #ccfidl-presence-map [data-interaction-id],
body.elementor-editor-active #ccfidl-presence-map [id^="ccfidl-presence-pin-wrap-"],
body.elementor-editor-active #ccfidl-presence-map [id^="ccfidl-presence-label-"],
body.elementor-editor-active #ccfidl-presence-map [id^="ccfidl-presence-city-"] {opacity: 1 !important; transform: none !important; animation: none;}
body.elementor-editor-active #ccfidl-presence-map [id^="ccfidl-presence-wave-"] {animation: none; opacity: 0;}
body.elementor-editor-active #ccfidl-presence-map :is(#ccfidl-presence-card-gin, #ccfidl-presence-card-tcd) {display: flex !important; position: relative; left: auto; top: auto; max-height: none; margin-top: 1rem;}
body.elementor-editor-active #ccfidl-presence-map [id^="ccfidl-presence-card-body-"] {max-height: none; overflow: visible;}
@media (prefers-reduced-motion: reduce) {
  #ccfidl-presence-map [id^="ccfidl-presence-pin-wrap-"],
  #ccfidl-presence-map [id^="ccfidl-presence-label-"],
  #ccfidl-presence-map [id^="ccfidl-presence-city-"] {opacity: 1 !important; transform: none !important; animation: none !important;}
  #ccfidl-presence-map [id^="ccfidl-presence-wave-"] {display: none; animation: none;}
  #ccfidl-presence-map :is(#ccfidl-presence-card-gin, #ccfidl-presence-card-tcd).is-open {animation: none;}
}
