/* Mountain Memorial Mode
   Safe CSS policy:
   - No img / picture / figure selectors
   - No Elementor layout selectors
   - No body * / main * selectors
   - No width/height/position changes outside plugin-owned elements
*/

html {
  --mountain-memorial-level: .35;
  --mountain-memorial-ribbon-color: #000000;
  --mountain-memorial-button-bg: #ffffff;
  --mountain-memorial-button-bg-hover: #f1f1f1;
  --mountain-memorial-button-border: rgba(0,0,0,.16);
  --mountain-memorial-button-outline: rgba(0,0,0,.18);
}

html.mountain-memorial-enabled {
  --mountain-memorial-level: .35;
}

.mountain-memorial-overlay {
  position: fixed !important;
  inset: 0 !important;
  width: auto !important;
  height: auto !important;
  display: block !important;
  background: rgba(80, 80, 80, var(--mountain-memorial-level, .35)) !important;
  mix-blend-mode: saturation !important;
  pointer-events: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity .35s ease, visibility .35s ease !important;
  z-index: 900 !important;
}

html.mountain-memorial-enabled .mountain-memorial-overlay {
  opacity: 1 !important;
  visibility: visible !important;
}

.mountain-memorial-control {
  position: fixed !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  max-width: 48px !important;
  max-height: 48px !important;
  display: block !important;
  pointer-events: none !important;
  box-sizing: border-box !important;
}

.mountain-memorial-control[data-position="right-middle"] { right: var(--mountain-memorial-offset-x, 22px) !important; top: calc(50% + var(--mountain-memorial-offset-y, 0px)) !important; transform: translateY(-50%) !important; }
.mountain-memorial-control[data-position="left-middle"] { left: var(--mountain-memorial-offset-x, 22px) !important; top: calc(50% + var(--mountain-memorial-offset-y, 0px)) !important; transform: translateY(-50%) !important; }
.mountain-memorial-control[data-position="right-bottom"] { right: var(--mountain-memorial-offset-x, 22px) !important; bottom: calc(22px + var(--mountain-memorial-offset-y, 0px)) !important; }
.mountain-memorial-control[data-position="left-bottom"] { left: var(--mountain-memorial-offset-x, 22px) !important; bottom: calc(22px + var(--mountain-memorial-offset-y, 0px)) !important; }
.mountain-memorial-control[data-position="right-top"] { right: var(--mountain-memorial-offset-x, 22px) !important; top: calc(22px + var(--mountain-memorial-offset-y, 0px)) !important; }
.mountain-memorial-control[data-position="left-top"] { left: var(--mountain-memorial-offset-x, 22px) !important; top: calc(22px + var(--mountain-memorial-offset-y, 0px)) !important; }

.mountain-memorial-toggle {
  all: unset !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  max-width: 48px !important;
  max-height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  border-radius: 999px !important;
  background: var(--mountain-memorial-button-bg, #ffffff) !important;
  border: 1px solid var(--mountain-memorial-button-border, rgba(0,0,0,.16)) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.16) !important;
  color: var(--mountain-memorial-ribbon-color, #000000) !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  line-height: 1 !important;
  font-size: 0 !important;
  transition: transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease !important;
  -webkit-tap-highlight-color: transparent !important;
}

.mountain-memorial-toggle:hover,
.mountain-memorial-toggle:focus-visible {
  background: var(--mountain-memorial-button-bg-hover, #f1f1f1) !important;
  color: var(--mountain-memorial-ribbon-color, #000000) !important;
  transform: translateY(-1px) scale(1.04) !important;
  outline: 2px solid var(--mountain-memorial-button-outline, rgba(0,0,0,.18)) !important;
  outline-offset: 3px !important;
}

html.mountain-memorial-enabled .mountain-memorial-toggle {
  background: var(--mountain-memorial-button-bg, #ffffff) !important;
  color: var(--mountain-memorial-ribbon-color, #000000) !important;
  border-color: var(--mountain-memorial-button-border, rgba(0,0,0,.32)) !important;
}

.mountain-memorial-ribbon {
  display: inline-flex !important;
  width: 28px !important;
  height: 36px !important;
  min-width: 28px !important;
  min-height: 36px !important;
  max-width: 28px !important;
  max-height: 36px !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  color: var(--mountain-memorial-ribbon-color, #000000) !important;
  transform-origin: center !important;
}

.mountain-memorial-ribbon-svg {
  display: block !important;
  width: 28px !important;
  height: 36px !important;
  min-width: 28px !important;
  min-height: 36px !important;
  max-width: 28px !important;
  max-height: 36px !important;
  fill: currentColor !important;
  color: var(--mountain-memorial-ribbon-color, #000000) !important;
  overflow: visible !important;
}

.mountain-memorial-ribbon-svg .mountain-memorial-ribbon-fill {
  fill: currentColor !important;
  stroke: none !important;
}

html.mountain-memorial-just-toggled .mountain-memorial-ribbon {
  animation: mountain-memorial-pulse .42s ease both !important;
}

@keyframes mountain-memorial-pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.16); }
  100% { transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  .mountain-memorial-overlay,
  .mountain-memorial-toggle,
  .mountain-memorial-ribbon {
    transition: none !important;
    animation: none !important;
  }
}
