@import url('https://fonts.googleapis.com/css2?family=El+Messiri:wght@400..700&display=swap');

/* ============================================================
   FLOATING CTA — THEME 5 (Velvet Rose Satin Aurora Floating Dock)
   Tokens Architecture: 100% Pure Tokenization (--ebctad6-*)
   Identity: Vertical Velvet Plush Card & Satin Crimson Rose Aurora Waves
   Layout: Vertical Stacked Floating Dock (flex-direction: column)
   ============================================================ */

.ebctad6-wrapper {
  direction: rtl;
  font-family: var(--ebctad6-font-family);
  position: fixed;
  bottom: var(--ebctad6-pos-bottom);
  inset-inline-end: var(--ebctad6-pos-end);
  z-index: var(--ebctad6-z-index);
  opacity: 0;
  transform: translateY(var(--ebctad6-hide-distance));
  pointer-events: none;
  transition: opacity var(--ebctad6-transition-duration) var(--ebctad6-transition-ease), transform var(--ebctad6-transition-duration) var(--ebctad6-transition-ease);

  /* ============================================================
     GLOBAL TOKENS
     ============================================================ */
  --ebctad6-font-family: 'El Messiri', sans-serif;
  --ebctad6-transition-ease: cubic-bezier(0.2, 0.8, 0.2, 1);
  --ebctad6-transition-duration: 0.35s;
  --ebctad6-pos-bottom: 2rem;
  --ebctad6-pos-end: 2rem;
  --ebctad6-z-index: 9999;
  --ebctad6-hide-distance: 30px;

  /* DOCK CONTAINER TOKENS */
  --ebctad6-dock-bg: #14141a;
  --ebctad6-dock-border: 1px solid rgba(244, 63, 94, 0.35);
  --ebctad6-dock-radius: 24px;
  --ebctad6-dock-padding-y: 0.75rem;
  --ebctad6-dock-padding-x: 0.75rem;
  --ebctad6-dock-gap: 0.6rem;
  --ebctad6-dock-shadow: 0 0 35px rgba(225, 29, 72, 0.35), 0 16px 40px rgba(0, 0, 0, 0.75);

  /* BUTTON TOKENS */
  --ebctad6-btn-padding-y: 0.6rem;
  --ebctad6-btn-padding-x: 1rem;
  --ebctad6-btn-radius: 16px;
  --ebctad6-btn-gap: 0.75rem;

  /* WHATSAPP BUTTON SPECIFIC TOKENS */
  --ebctad6-wa-bg: rgba(244, 63, 94, 0.12);
  --ebctad6-wa-border: 1px solid rgba(244, 63, 94, 0.35);
  --ebctad6-wa-hover-bg: linear-gradient(135deg, #fb7185 0%, #e11d48 100%);
  --ebctad6-wa-hover-border: #fb7185;
  --ebctad6-wa-hover-shadow: 0 0 25px rgba(225, 29, 72, 0.6);

  --ebctad6-wa-icon-bg: rgba(244, 63, 94, 0.2);
  --ebctad6-wa-icon-color: #fb7185;
  --ebctad6-wa-icon-border: 1px solid rgba(244, 63, 94, 0.4);

  /* PHONE BUTTON SPECIFIC TOKENS */
  --ebctad6-ph-bg: rgba(244, 63, 94, 0.12);
  --ebctad6-ph-border: 1px solid rgba(244, 63, 94, 0.35);
  --ebctad6-ph-hover-bg: linear-gradient(135deg, #e11d48 0%, #be123c 100%);
  --ebctad6-ph-hover-border: #fb7185;
  --ebctad6-ph-hover-shadow: 0 0 25px rgba(225, 29, 72, 0.6);

  --ebctad6-ph-icon-bg: rgba(244, 63, 94, 0.2);
  --ebctad6-ph-icon-color: #fb7185;
  --ebctad6-ph-icon-border: 1px solid rgba(244, 63, 94, 0.4);

  /* ICON WRAPPER TOKENS */
  --ebctad6-icon-size: 38px;
  --ebctad6-icon-radius: 50%;
  --ebctad6-icon-font-size: 1.1rem;

  /* LABEL GROUP TOKENS */
  --ebctad6-tag-color: #9ca3af;
  --ebctad6-tag-font-size: 0.72rem;
  --ebctad6-tag-font-weight: 700;

  --ebctad6-title-color: #fdf2f4;
  --ebctad6-title-font-size: 0.92rem;
  --ebctad6-title-font-weight: 700;

  --ebctad6-btn-hover-text-color: #ffffff;

  /* DIVIDER TOKENS (HORIZONTAL IN VERTICAL LAYOUT) */
  --ebctad6-divider-width: 100%;
  --ebctad6-divider-height: 1px;
  --ebctad6-divider-bg: rgba(244, 63, 94, 0.25);
}

.ebctad6-wrapper.ebctad6-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* DOCK CONTAINER (VERTICAL STACKED) */
.ebctad6-dock {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--ebctad6-dock-gap);
  background: var(--ebctad6-dock-bg);
  border: var(--ebctad6-dock-border);
  border-radius: var(--ebctad6-dock-radius);
  padding: var(--ebctad6-dock-padding-y) var(--ebctad6-dock-padding-x);
  box-shadow: var(--ebctad6-dock-shadow);
  white-space: nowrap;
}

/* DIVIDER */
.ebctad6-divider {
  width: var(--ebctad6-divider-width);
  height: var(--ebctad6-divider-height);
  background: var(--ebctad6-divider-bg);
  display: block;
}

/* FLOATING BUTTON (Text Right, Icon Left) */
.ebctad6-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ebctad6-btn-gap);
  padding: var(--ebctad6-btn-padding-y) var(--ebctad6-btn-padding-x);
  border-radius: var(--ebctad6-btn-radius);
  text-decoration: none;
  white-space: nowrap;
  transition: all var(--ebctad6-transition-duration) var(--ebctad6-transition-ease);
}

.ebctad6-btn-whatsapp {
  background: var(--ebctad6-wa-bg);
  border: var(--ebctad6-wa-border);
}
.ebctad6-btn-whatsapp:hover {
  background: var(--ebctad6-wa-hover-bg);
  border-color: var(--ebctad6-wa-hover-border);
  box-shadow: var(--ebctad6-wa-hover-shadow);
}

.ebctad6-btn-phone {
  background: var(--ebctad6-ph-bg);
  border: var(--ebctad6-ph-border);
}
.ebctad6-btn-phone:hover {
  background: var(--ebctad6-ph-hover-bg);
  border-color: var(--ebctad6-ph-hover-border);
  box-shadow: var(--ebctad6-ph-hover-shadow);
}

/* LABEL GROUP (Renders Right in RTL) */
.ebctad6-label-group {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
  text-align: right;
  white-space: nowrap;
  flex-shrink: 0;
}
.ebctad6-tag {
  font-size: var(--ebctad6-tag-font-size);
  font-weight: var(--ebctad6-tag-font-weight);
  color: var(--ebctad6-tag-color);
  white-space: nowrap;
  transition: color var(--ebctad6-transition-duration) ease;
}
.ebctad6-title {
  font-size: var(--ebctad6-title-font-size);
  font-weight: var(--ebctad6-title-font-weight);
  color: var(--ebctad6-title-color);
  white-space: nowrap;
  transition: color var(--ebctad6-transition-duration) ease;
  direction: ltr;
  display: inline-block;
}
.ebctad6-btn:hover .ebctad6-tag,
.ebctad6-btn:hover .ebctad6-title {
  color: var(--ebctad6-btn-hover-text-color);
}

/* ICON WRAPPER (Renders Left in RTL) */
.ebctad6-icon-wrap {
  width: var(--ebctad6-icon-size);
  height: var(--ebctad6-icon-size);
  border-radius: var(--ebctad6-icon-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--ebctad6-icon-font-size);
  flex-shrink: 0;
  transition: transform var(--ebctad6-transition-duration) var(--ebctad6-transition-ease);
}
.ebctad6-btn-whatsapp .ebctad6-icon-wrap {
  background: var(--ebctad6-wa-icon-bg);
  color: var(--ebctad6-wa-icon-color);
  border: var(--ebctad6-wa-icon-border);
}
.ebctad6-btn-phone .ebctad6-icon-wrap {
  background: var(--ebctad6-ph-icon-bg);
  color: var(--ebctad6-ph-icon-color);
  border: var(--ebctad6-ph-icon-border);
}
.ebctad6-btn:hover .ebctad6-icon-wrap {
  transform: scale(1.1);
  background: #0d0d12;
  color: #fb7185;
}

/* ============================================================
   RESPONSIVE — 12 MEDIA QUERY BLOCKS
   ============================================================ */

/* 1. Max 320px */
@media (max-width: 320px) {
  .ebctad6-wrapper {
    bottom: 0.75rem;
    inset-inline-end: 0.5rem;
  }
  .ebctad6-dock {
    padding: 0.5rem;
    gap: 0.4rem;
  }
  .ebctad6-btn {
    padding: 0.4rem 0.6rem;
    gap: 0.5rem;
  }
  .ebctad6-icon-wrap {
    width: 32px;
    height: 32px;
    font-size: 0.95rem;
  }
  .ebctad6-tag {
    font-size: 0.65rem;
  }
  .ebctad6-title {
    font-size: 0.78rem;
  }
}

/* 2. 321px to 375px */
@media (min-width: 321px) and (max-width: 375px) {
  .ebctad6-wrapper {
    bottom: 1rem;
    inset-inline-end: 0.75rem;
  }
  .ebctad6-dock {
    padding: 0.55rem;
    gap: 0.45rem;
  }
  .ebctad6-btn {
    padding: 0.45rem 0.75rem;
    gap: 0.6rem;
  }
  .ebctad6-icon-wrap {
    width: 34px;
    height: 34px;
    font-size: 1rem;
  }
  .ebctad6-tag {
    font-size: 0.68rem;
  }
  .ebctad6-title {
    font-size: 0.82rem;
  }
}

/* 3. 376px to 425px */
@media (min-width: 376px) and (max-width: 425px) {
  .ebctad6-wrapper {
    bottom: 1rem;
    inset-inline-end: 1rem;
  }
  .ebctad6-dock {
    padding: 0.6rem;
    gap: 0.5rem;
  }
  .ebctad6-btn {
    padding: 0.5rem 0.85rem;
    gap: 0.65rem;
  }
}

/* 4. 426px to 480px */
@media (min-width: 426px) and (max-width: 480px) {
  .ebctad6-wrapper {
    bottom: 1.25rem;
    inset-inline-end: 1.25rem;
  }
}

/* 5. 481px to 600px */
@media (min-width: 481px) and (max-width: 600px) {
  .ebctad6-wrapper {
    bottom: 1.5rem;
    inset-inline-end: 1.5rem;
  }
}

/* 6. 601px to 768px */
@media (min-width: 601px) and (max-width: 768px) {
  .ebctad6-wrapper {
    bottom: 1.75rem;
    inset-inline-end: 1.75rem;
  }
}

/* 7. 769px to 1024px */
@media (min-width: 769px) and (max-width: 1024px) {
  .ebctad6-wrapper {
    bottom: 2rem;
    inset-inline-end: 2rem;
  }
}

/* 8. 1025px to 1280px */
@media (min-width: 1025px) and (max-width: 1280px) {
  .ebctad6-wrapper {
    bottom: 2rem;
    inset-inline-end: 2rem;
  }
}

/* 9. 1281px to 1440px */
@media (min-width: 1281px) and (max-width: 1440px) {
  .ebctad6-wrapper {
    bottom: 2.25rem;
    inset-inline-end: 2.25rem;
  }
}

/* 10. 1441px to 1920px */
@media (min-width: 1441px) and (max-width: 1920px) {
  .ebctad6-wrapper {
    bottom: 2.5rem;
    inset-inline-end: 2.5rem;
  }
}

/* 11. 1921px+ */
@media (min-width: 1921px) {
  .ebctad6-wrapper {
    bottom: 3rem;
    inset-inline-end: 3rem;
  }
}

/* 12. prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .ebctad6-wrapper, .ebctad6-btn, .ebctad6-icon-wrap {
    transition: none !important;
    transform: none !important;
  }
}
