/* EX REDESiGN — assets/css/floating-cta.css
 * v1.4.24: Side floating CTA (PC) + Mobile bottom CTA bar.
 */

.exr-side-cta {
  display: none;
  position: fixed;
  top: 50%;
  z-index: 90;
  transform: translateY(-50%);
  pointer-events: none;
}
.exr-side-cta--right { right: 0; }
.exr-side-cta--left  { left: 0;  }

.exr-side-cta__stack {
  display: flex;
  flex-direction: column;
  gap: 6px;
  pointer-events: auto;
}

.exr-side-cta__btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 0.75rem;
  background: var(--color-accent, var(--wp--preset--color--accent, #1E1B4E));
  color: #FFFFFF;
  text-decoration: none;
  font-size: var(--exr-fs-xs);
  font-weight: 600;
  letter-spacing: 0.06em;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  min-height: 140px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
  transition: background-color 200ms, transform 200ms;
}
.exr-side-cta__btn:hover,
.exr-side-cta__btn:focus-visible {
  background: var(--color-accent-hover, var(--wp--preset--color--accent-hover, #2D2A75));
  color: #FFFFFF;
  text-decoration: none;
}
.exr-side-cta--right .exr-side-cta__btn { border-radius: 12px 0 0 12px; }
.exr-side-cta--right .exr-side-cta__btn:hover { transform: translateX(-2px); }
.exr-side-cta--left  .exr-side-cta__btn { border-radius: 0 12px 12px 0; }
.exr-side-cta--left  .exr-side-cta__btn:hover { transform: translateX(2px); }

.exr-side-cta__icon {
  font-size: 22px;
  line-height: 1;
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  writing-mode: horizontal-tb;
}
.exr-side-cta__icon.dashicons:before {
  font-size: 22px;
  width: 22px;
  height: 22px;
}

@media (min-width: 1024px) {
  .exr-side-cta.is-active { display: block; }
}


.exr-mobile-cta {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 90;
  background: var(--color-surface, var(--wp--preset--color--surface, #FFFFFF));
  border-top: 1px solid var(--color-border-subtle, var(--wp--preset--color--border-subtle, rgba(0,0,0,0.08)));
  box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.08);
}
.exr-mobile-cta__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.exr-mobile-cta.is-single .exr-mobile-cta__grid {
  grid-template-columns: 1fr;
}

.exr-mobile-cta__btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  padding: 0.65rem 0.5rem;
  min-height: 64px;
  font-size: var(--exr-fs-xs);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-decoration: none;
  color: #FFFFFF;
  background: var(--color-accent, var(--wp--preset--color--accent, #1E1B4E));
  transition: background-color 150ms;
}
.exr-mobile-cta__btn + .exr-mobile-cta__btn {
  border-left: 1px solid rgba(255, 255, 255, 0.18);
}
.exr-mobile-cta__btn:hover,
.exr-mobile-cta__btn:focus-visible {
  background: var(--color-accent-hover, var(--wp--preset--color--accent-hover, #2D2A75));
  color: #FFFFFF;
  text-decoration: none;
}

.exr-mobile-cta__icon {
  font-size: 20px;
  line-height: 1;
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
}
.exr-mobile-cta__icon.dashicons:before {
  font-size: 20px;
  width: 20px;
  height: 20px;
}
.exr-mobile-cta__label { line-height: 1.2; }

@media (max-width: 1023px) {
  .exr-mobile-cta.is-active { display: block; }
  body.exr-mobile-cta-active { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
  body.exr-mobile-cta-active .exr-mobile-cta { padding-bottom: env(safe-area-inset-bottom, 0px); }
  body.exr-mobile-cta-active .exr-back-to-top { bottom: calc(72px + env(safe-area-inset-bottom, 0px)); }
}
