/* FM Logo Shine Contact - Frontend Styles */

.fm-logo-shine{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  -webkit-tap-highlight-color: transparent;
}

.fm-logo-shine__logo{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: var(--fm-logo-max-width, 180px);
  border-radius: var(--fm-logo-radius, 14px);
  background: var(--fm-logo-bg, transparent);
  overflow: hidden;
  cursor: pointer;
}

.fm-logo-shine__logo:focus{
  outline: none;
}

.fm-logo-shine__logo:focus-visible{
  box-shadow: 0 0 0 3px rgba(37,99,235,0.35);
}

.fm-logo-shine__logoLink{
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.fm-logo-shine__img{
  display: block;
  width: 100%;
  max-width: var(--fm-logo-max-width, 180px);
  height: var(--fm-logo-height, auto);
  object-fit: contain;
  border-radius: var(--fm-logo-radius, 14px);
}

/* Shine overlay */
.fm-logo-shine__logo::after{
  content: '';
  position: absolute;
  top: -40%;
  left: -120%;
  width: 78%;
  height: 180%;
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    var(--fm-shine-color, rgba(255,255,255,0.65)) 50%,
    rgba(255,255,255,0) 100%
  );
  transform: rotate(var(--fm-shine-angle, -20deg));
  opacity: var(--fm-shine-opacity, 0.65);
  filter: brightness(var(--fm-shine-brightness, 1)) contrast(1.05) saturate(1.15);
  mix-blend-mode: screen;
  pointer-events: none;
}

/* Run shine on hover */
.fm-logo-shine[data-shine-mode='hover'] .fm-logo-shine__logo:hover::after{
  animation: fm_logo_shine_sweep var(--fm-shine-duration, 1200ms) ease-in-out 1;
}

/* Run shine on demand (JS for loop) */
.fm-logo-shine .fm-logo-shine__logo.fm-shine-run::after{
  animation: fm_logo_shine_sweep var(--fm-shine-duration, 1200ms) ease-in-out 1;
}

@keyframes fm_logo_shine_sweep{
  0%{ left: -120%; }
  100%{ left: 140%; }
}

/* Card */
.fm-logo-shine__card{
  position: absolute;
  z-index: 9999;
  width: var(--fm-card-width, 280px);
  max-width: calc(100vw - 24px);
  background: var(--fm-card-bg, #fff);
  color: var(--fm-card-text, #111827);
  border: 1px solid rgba(17,24,39,0.10);
  border-radius: 14px;
  box-shadow: 0 18px 50px rgba(0,0,0,0.18);
  padding: 14px 14px 12px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(6px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
  text-align: var(--fm-card-text-align, right);
}

/* Position rules based on data attribute */
.fm-logo-shine[data-card-position='bottom'] .fm-logo-shine__card{
  top: calc(100% + var(--fm-card-offset, 10px));
  left: 50%;
  transform: translate(-50%, 6px) translate(var(--fm-card-shift-x, 0px), var(--fm-card-shift-y, 0px));
}

.fm-logo-shine[data-card-position='top'] .fm-logo-shine__card{
  bottom: calc(100% + var(--fm-card-offset, 10px));
  left: 50%;
  transform: translate(-50%, -6px) translate(var(--fm-card-shift-x, 0px), var(--fm-card-shift-y, 0px));
}

.fm-logo-shine[data-card-position='left'] .fm-logo-shine__card{
  right: calc(100% + var(--fm-card-offset, 10px));
  top: 50%;
  transform: translate(-6px, -50%) translate(var(--fm-card-shift-x, 0px), var(--fm-card-shift-y, 0px));
}

.fm-logo-shine[data-card-position='right'] .fm-logo-shine__card{
  left: calc(100% + var(--fm-card-offset, 10px));
  top: 50%;
  transform: translate(6px, -50%) translate(var(--fm-card-shift-x, 0px), var(--fm-card-shift-y, 0px));
}

/* Show card on hover (desktop) */
.fm-logo-shine:hover .fm-logo-shine__card,
.fm-logo-shine.is-open .fm-logo-shine__card,
.fm-logo-shine.is-focus .fm-logo-shine__card{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.fm-logo-shine:hover[data-card-position='bottom'] .fm-logo-shine__card,
.fm-logo-shine.is-open[data-card-position='bottom'] .fm-logo-shine__card,
.fm-logo-shine.is-focus[data-card-position='bottom'] .fm-logo-shine__card{
  transform: translate(-50%, 0) translate(var(--fm-card-shift-x, 0px), var(--fm-card-shift-y, 0px));
}

.fm-logo-shine:hover[data-card-position='top'] .fm-logo-shine__card,
.fm-logo-shine.is-open[data-card-position='top'] .fm-logo-shine__card,
.fm-logo-shine.is-focus[data-card-position='top'] .fm-logo-shine__card{
  transform: translate(-50%, 0) translate(var(--fm-card-shift-x, 0px), var(--fm-card-shift-y, 0px));
}

.fm-logo-shine:hover[data-card-position='left'] .fm-logo-shine__card,
.fm-logo-shine.is-open[data-card-position='left'] .fm-logo-shine__card,
.fm-logo-shine.is-focus[data-card-position='left'] .fm-logo-shine__card{
  transform: translate(0, -50%) translate(var(--fm-card-shift-x, 0px), var(--fm-card-shift-y, 0px));
}

.fm-logo-shine:hover[data-card-position='right'] .fm-logo-shine__card,
.fm-logo-shine.is-open[data-card-position='right'] .fm-logo-shine__card,
.fm-logo-shine.is-focus[data-card-position='right'] .fm-logo-shine__card{
  transform: translate(0, -50%) translate(var(--fm-card-shift-x, 0px), var(--fm-card-shift-y, 0px));
}

.fm-logo-shine__cardTitle{
  font-size: var(--fm-card-title-size, 13px);
  font-weight: 700;
  margin: 0 0 10px;
}

.fm-logo-shine__row{
  display: flex;
  flex-direction: var(--fm-row-direction, row-reverse);
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 12px;
  text-decoration: none;
  color: inherit;
  font-size: var(--fm-card-font-size, 12px);
  transition: background .15s ease;
}

.fm-logo-shine__row:hover{
  background: rgba(17,24,39,0.04);
}

.fm-logo-shine__icon,
.fm-logo-shine__iconn{
  display: inline-flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: rgba(17,24,39,0.06);
  flex: 0 0 auto;
  color: var(--fm-card-link, #2563eb);
}

.fm-logo-shine__label{
  font-weight: 700;
  color: var(--fm-card-label, #b45309);
  white-space: nowrap;
}

.fm-logo-shine__value{
  color: var(--fm-card-muted, #6b7280);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-inline-start: auto;
}

.fm-logo-shine__row看{
  /* Intentionally empty: placeholder to keep RTL/LTR stable in some fonts */
}

.fm-logo-shine__row--link .fm-logo-shine__iconn{
  font-size: 14px;
}

.fm-logo-shine__row--link,
.fm-logo-shine__row--link:hover{
  color: var(--fm-card-link, #2563eb);
}

/* Social */
.fm-logo-shine__social{
  display: flex;
  flex-direction: var(--fm-social-dir, row);
  gap: var(--fm-social-gap, 10px);
  margin-top: 12px;
}

.fm-logo-shine__soc{
  display: inline-flex;
  width: calc(var(--fm-social-size, 18px) + 14px);
  height: calc(var(--fm-social-size, 18px) + 14px);
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  text-decoration: none;
  transition: transform .15s ease, background .15s ease, color .15s ease;
  will-change: transform;
}

.fm-logo-shine[data-social-colors='custom'] .fm-logo-shine__soc{
  color: var(--fm-social-color, #2563eb);
  background: var(--fm-social-bg, rgba(37,99,235,0.10));
}

.fm-logo-shine[data-social-colors='custom'] .fm-logo-shine__soc:hover{
  background: var(--fm-social-hover-bg, #2563eb);
  color: var(--fm-social-hover-color, #ffffff);
  transform: translateY(-1px);
}

/* Brand colors mode */
.fm-logo-shine[data-social-colors='brand'] .fm-logo-shine__soc{ background: rgba(17,24,39,0.06); color: #111827; }
.fm-logo-shine[data-social-colors='brand'] .fm-logo-shine__soc:hover{ transform: translateY(-1px); }

.fm-logo-shine[data-social-colors='brand'] .fm-logo-shine__soc--facebook{ color: #1877F2; }
.fm-logo-shine[data-social-colors='brand'] .fm-logo-shine__soc--instagram{ color: #E1306C; }
.fm-logo-shine[data-social-colors='brand'] .fm-logo-shine__soc--x{ color: #000000; }
.fm-logo-shine[data-social-colors='brand'] .fm-logo-shine__soc--linkedin{ color: #0A66C2; }
.fm-logo-shine[data-social-colors='brand'] .fm-logo-shine__soc--youtube{ color: #FF0000; }
.fm-logo-shine[data-social-colors='brand'] .fm-logo-shine__soc--tiktok{ color: #111827; }
.fm-logo-shine[data-social-colors='brand'] .fm-logo-shine__soc--whatsapp{ color: #25D366; }

/* Mobile safety: force left/right cards to behave like bottom (centered) */
@media (max-width: 767px){
  .fm-logo-shine[data-card-position='left'] .fm-logo-shine__card,
  .fm-logo-shine[data-card-position='right'] .fm-logo-shine__card{
    top: calc(100% + var(--fm-card-offset, 10px));
    left: 50%;
    right: auto;
    bottom: auto;
    transform: translate(-50%, 6px) translate(var(--fm-card-shift-x, 0px), var(--fm-card-shift-y, 0px));
  }

  .fm-logo-shine.is-open[data-card-position='left'] .fm-logo-shine__card,
  .fm-logo-shine.is-open[data-card-position='right'] .fm-logo-shine__card,
  .fm-logo-shine:hover[data-card-position='left'] .fm-logo-shine__card,
  .fm-logo-shine:hover[data-card-position='right'] .fm-logo-shine__card{
    transform: translate(-50%, 0) translate(var(--fm-card-shift-x, 0px), var(--fm-card-shift-y, 0px));
  }

  .fm-logo-shine__card{ width: min(var(--fm-card-width, 280px), calc(100vw - 24px)); }
  .fm-logo-shine__value{ max-width: 55%; }
}

