/* ============================================================
   Evassentials — Sliding Newsletter Panel (bottom slide)
   assets/css/newsletter-slide.css
   ============================================================ */

.ml-slide {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) translateY(calc(100% - 44px));
  z-index: 95;
  width: 420px;
  max-width: 92vw;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.ml-slide.open {
  transform: translateX(-50%) translateY(0);
}

/* ── The permanently-visible tab at the top ── */
.ml-slide-tab {
  width: 100%;
  height: 44px;
  border: none;
  cursor: pointer;
  /* Swapped out the feminine pastels for our high-impact Electric Cobalt Blue */
  background: #8F2056 !important;
  box-shadow: 0 -4px 20px rgba(0, 82, 255, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  border-radius: 14px 14px 0 0;
  transition: background-color 0.2s ease;
}

.ml-slide-tab:hover {
  background: #0041CC !important; /* Deepens cleanly on hover */
}

.ml-slide-tab-text {
  font-family: 'Fraunces', serif;
  font-weight: 700;
  font-size: 0.88rem;
  color: #FFFFFF !important; /* Changed to stark white for perfect legibility over blue */
  letter-spacing: 0.04em;
  text-transform: uppercase; /* Makes the call-to-action match your hero button style */
  white-space: nowrap;
}

/* small chevron indicator */
.ml-slide-tab::after {
  content: '▲';
  font-size: 0.6rem;
  color: #FFFFFF !important; /* Made indicator crisp white to match */
  opacity: 0.8;
  transition: transform 0.3s ease;
}

.ml-slide.open .ml-slide-tab::after {
  transform: rotate(180deg);
}

/* ── The panel that slides up ── */
.ml-slide-panel {
  background: white;
  box-shadow: 0 -8px 32px rgba(26,26,46,0.15);
  position: relative;
  padding: 1.5rem 1.75rem 1.75rem;
}

.ml-slide-close {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--paper2);
  border: none;
  color: var(--text2);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.15s;
}
.ml-slide-close:hover { background: var(--paper3); }

.ml-slide-heading { margin-bottom: 1rem; padding-right: 2rem; }
.ml-slide-heading strong {
  display: block;
  font-family: 'Fraunces', serif;
  font-size: 1rem;
  color: var(--ink);
  margin-bottom: 0.25rem;
}
.ml-slide-heading p {
  font-size: 0.82rem;
  color: var(--text2);
  line-height: 1.55;
  margin: 0;
}

/* ── Mobile ── */
@media (max-width: 600px) {
  .ml-slide {
    width: 100%;
    max-width: 100%;
    left: 0;
    transform: translateX(0) translateY(calc(100% - 44px));
    border-radius: 0;
  }
  .ml-slide.open {
    transform: translateX(0) translateY(0);
  }
  .ml-slide-tab {
    border-radius: 12px 12px 0 0;
  }
  .ml-slide-panel {
    padding: 1.25rem 1.25rem 1.5rem;
  }
}