/* SparkCore theme extras on top of the cloned Base44 stylesheet. */

html.admin-bar #spk-header {
  top: 32px;
}

@media (max-width: 782px) {
  html.admin-bar #spk-header {
    top: 46px;
  }
}

.spk-site {
  min-height: 100svh;
}

.spk-site a:focus-visible,
.spk-site button:focus-visible {
  outline: 1px solid hsl(var(--core));
  outline-offset: 2px;
}

#spk-cursor-dot {
  width: 8px;
  height: 8px;
  background: #ff3b30;
  box-shadow: 0 0 12px rgba(255, 59, 48, 0.8);
  pointer-events: none;
}

#spk-cursor.is-hover #spk-cursor-dot {
  width: 36px;
  height: 36px;
  background: transparent;
  border: 1px solid rgba(255, 59, 48, 0.9);
  box-shadow: 0 0 24px rgba(255, 59, 48, 0.4);
}

.spk-prose p + p {
  margin-top: 1.25rem;
}

.spk-prose a {
  color: hsl(var(--core));
}

.spk-site img {
  max-width: 100%;
  height: auto;
}

.spk-site .wp-block-image,
.spk-site .alignnone,
.spk-site .aligncenter {
  margin: 0;
}

#wpadminbar {
  z-index: 100000;
}

/* Homepage product flip cards */
.spk-flip-card {
  height: 100%;
  perspective: 1100px;
  -webkit-perspective: 1100px;
  -webkit-tap-highlight-color: transparent;
}

.spk-flip-inner {
  position: relative;
  display: block;
  height: 100%;
  transform: rotateY(0deg);
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
  transition: transform 0.75s cubic-bezier(0.45, 0.05, 0.25, 1);
  will-change: transform;
}

.spk-flip-card:hover .spk-flip-inner,
.spk-flip-card:focus-visible .spk-flip-inner {
  transform: rotateY(180deg);
}

.spk-flip-face {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  border-radius: 0.375rem;
}

.spk-flip-front {
  position: relative;
  height: 100%;
  min-height: 100%;
  background-color: hsl(240 5% 7%);
  transform: rotateY(0deg) translateZ(1px);
}

.spk-flip-back {
  position: absolute;
  inset: 0;
  overflow: visible;
  transform: rotateY(180deg) translateZ(1px);
}

.spk-flip-back-fill {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: inherit;
}

.spk-site .spk-flip-back img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}
