 /* rainbox glow */
    /* Pulse animation */
.meevo-modal-content.rainbow-glow.pulse::before {
  animation: rainbowPulse 3s infinite;
}
@keyframes rainbowPulse {
  0%, 100% { opacity: 0.5; transform: scale(1); }
  50%      { opacity: 0.9; transform: scale(1.2); }
}

/* Rotate animation */
.meevo-modal-content.rainbow-glow.rotate::before {
  animation: rainbowRotate 8s linear infinite;
}
@keyframes rainbowRotate {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* Fade animation */
.meevo-modal-content.rainbow-glow.fade::before {
  animation: rainbowFade 4s ease-in-out infinite;
}
@keyframes rainbowFade {
  0%, 100% { opacity: 0.2; }
  50%      { opacity: 0.8; }
}

    /* Basic Rainbow Glow for Modal */
.meevo-modal-content.rainbow-glow {
  position: relative;          /* anchor for pseudo-element */
  border-radius: 12px;         /* rounded corners */
  overflow: hidden;            /* keep glow crisp at edges */
  background: #111;            /* dark background makes glow pop */
}

.meevo-modal-content.rainbow-glow::before {
  content: '';
  position: absolute;
  top: -50px;
  right: -50px;
  width: 150px;
  height: 150px;

  /* Conic gradient rainbow wheel */
  background: conic-gradient(
    from 90deg,
    #ff007f,
    #7f00ff,
    #0000ff,
    #007fff,
    #00ff00,
    #ffff00,
    #ff7f00,
    #ff0000,
    #ff007f
  );

  filter: blur(40px);          /* glowing aura */
  opacity: 0.75;
  pointer-events: none;        /* don’t block clicks */
}

    .meevo-modal {
        position: fixed;
        z-index: 9999;
        left: 0; top: 0;
        width: 100%; height: 100%;
        overflow: auto;
        background-color: rgba(0,0,0,0.6);
    }
   /* Modal container */
.meevo-modal-content {
  position: relative; /* anchor for absolute close button */
  background: #fff;
  margin: 5% auto;
  padding: 20px;
  border-radius: 4px;
  width: 90%;
  max-width: 1400px;
}

/* Close button */
.meevo-close {
  position: absolute; z-index: 9;
  top: 0;   /* will be overridden by Elementor offset controls */
  right: 0; /* will be overridden by Elementor offset controls */
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Let Elementor style controls handle size/color */
.meevo-close .meevo-close-icon {
  width: auto;  /* Elementor "size" control will apply font-size or SVG size */
  height: auto;
}

    .meevo-iframe-wrapper {
        position: relative;
        width: 100%;
        margin: 0;
        padding: 0;
    }

    .meevo-iframe {
        width: 100%;
        min-height: 80vh;
        border: none;
        border-radius: 8px;
        display: block;
        /* keep desktop wide */
        min-width: 1200px;
    }

    /* Tablet breakpoint */
    @media (max-width: 1024px) {
        .meevo-iframe {
            min-width: 100%; /* allow shrinking */
        }
    }

    /* Mobile breakpoint */
    @media (max-width: 768px) {
        .meevo-iframe {
            min-width: 100%;
            height: 90vh; /* taller on mobile */
            border-radius: 0; /* edge-to-edge */
        }
    }


/* Drawer container */
.meevo-side-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 320px;
  background: #fff;
  z-index: 9999;
  box-shadow: -4px 0 20px rgba(0,0,0,0.25);
  transition: transform 0.35s cubic-bezier(0.25, 1, 0.5, 1);
  transform: translateX(100%);
  overflow-y: auto;
}
.meevo-iframe { height: 100vh; }
.meevo-side-drawer.open { overflow: visible; transform: translateX(0) !important; }

/* Close handle with brushed aluminum look */
.meevo-side-drawer .meevo-close {
  position: absolute;
  top: 50%;
  left: -44px; /* protrudes from drawer edge */
  transform: translateY(-50%);
  width: 44px;
  height: 140px;
  background: linear-gradient(135deg, #f5f5f5 0%, #dcdcdc 50%, #f5f5f5 100%);
  border: 1px solid #c0c0c0;
  border-radius: 12px 0 0 12px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: -2px 0 10px rgba(0,0,0,0.3);
  transition: background 0.3s ease, box-shadow 0.3s ease;
  overflow: hidden;
}

/* Subtle brushed effect lines */
.meevo-side-drawer .meevo-close::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(
    0deg,
    rgba(255,255,255,0.2) 0px,
    rgba(255,255,255,0.2) 1px,
    transparent 2px,
    transparent 4px
  );
  opacity: 0.4;
  pointer-events: none;
}

/* Dot grid inside the handle */
.meevo-side-drawer .meevo-close::before {
  content: '';
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(4, 1fr);
  grid-gap: 6px;
  width: 20px;
  height: 80px;
  background-image: radial-gradient(circle, #666 2px, transparent 2px);
  background-size: 8px 8px;
  background-repeat: repeat;
  z-index: 1;
}

/* Hover effect */
.meevo-side-drawer .meevo-close:hover {
  background: linear-gradient(135deg, #e0e0e0 0%, #c8c8c8 50%, #e0e0e0 100%);
  box-shadow: -2px 0 14px rgba(0,0,0,0.4);
}
