/* Minimal styles for Flash Sale plugin (extend later) */
.fsp-badge { background: #e74c3c; color: #fff; padding: 4px 8px; font-weight: 600; border-radius: 3px; }

/* Countdown Timer Presets */
.fsl-countdown {
  display: inline-block;
  font-size: 1.1em;
  font-weight: bold;
  margin: 0 0 8px 0;
}
.fsl-countdown.fsl-timer-default {
  background: #222;
  color: #fff;
  padding: 6px 12px;
  border-radius: 4px;
  letter-spacing: 1px;
}
.fsl-countdown.fsl-timer-light {
  background: #fff;
  color: #222;
  border: 1px solid #ddd;
  padding: 6px 12px;
  border-radius: 4px;
}
.fsl-countdown.fsl-timer-urgent {
  background: #e74c3c;
  color: #fff;
  padding: 6px 12px;
  border-radius: 4px;
  animation: fsl-blink 1s steps(2, start) infinite;
}
@keyframes fsl-blink {
  to { opacity: 0.5; }
}
.fsl-countdown .fsl-countdown-timer {
  font-family: monospace;
  font-size: 1.2em;
}
.fsl-countdown[aria-live] {
  outline: 2px dashed #0073aa;
  outline-offset: 2px;
}
.fsl-storefront-root {
  display: inline-block;
}
.fsl-badge-root,
.fsl-timer-root {
  margin: 0 0 8px;
}

/* Accessibility: visually hidden for screen readers */
.fsl-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0;
}

/* --- Advanced Badge Styles --- */
.fsp-badge-small { font-size: 11px; padding: 2px 6px; }
.fsp-badge-medium { font-size: 14px; padding: 4px 10px; }
.fsp-badge-large { font-size: 18px; padding: 6px 16px; }

.fsp-badge-circle { border-radius: 50%; min-width: 32px; min-height: 32px; text-align: center; padding: 0.5em; }
.fsp-badge-pill { border-radius: 999px; }
.fsp-badge-rectangle { border-radius: 4px; }

/* Animations */
.fsp-badge-anim-pulse { animation: fsp-badge-pulse 1.2s infinite; }
.fsp-badge-anim-bounce { animation: fsp-badge-bounce 0.8s infinite; }
.fsp-badge-anim-fade { animation: fsp-badge-fadein 1.2s; }

@keyframes fsp-badge-pulse {
  0% { box-shadow: 0 0 0 0 rgba(231,76,60,0.7); }
  70% { box-shadow: 0 0 0 10px rgba(231,76,60,0); }
  100% { box-shadow: 0 0 0 0 rgba(231,76,60,0); }
}
@keyframes fsp-badge-bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}
@keyframes fsp-badge-fadein {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Badge icon spacing */
.fsp-badge-icon { margin-right: 4px; vertical-align: middle; }

/* Position badge over product image when placement is set to 'Over Product Image' */
/* NOTE: intentionally excludes `a` selectors — Flatsome and many themes position anchors
   inside .box-image as position:absolute to fill the aspect-ratio container. Forcing
   position:relative on those anchors collapses the image to zero height.
   Badge absolute positioning is handled at runtime by move-badge.js instead. */
.woocommerce ul.products li.product,
.products .product,
.wp-block-column .wp-block-woocommerce-product-image-gallery,
.wp-block-woocommerce-product-image-gallery,
.wp-block-group .wp-block-group__inner-container,
.wp-block-group__inner-container,
.woocommerce-product-gallery,
.woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image {
  position: relative;
}
.fsl-feature-over-image,
.fsp-badge-over-image,
.fsl-badge-over-image {
  position: absolute !important;
  z-index: 999;
}
.fsl-badge-over-image,
.fsp-badge-over-image,
.fsl-badge-root.fsl-feature-over-image {
  top: 8px;
  right: 8px;
}
.fsl-timer-root.fsl-feature-over-image {
  top: 8px;
  left: 8px;
  max-width: calc(100% - 16px);
}
.fsl-feature-over-image *,
.fsp-badge-over-image *,
.fsl-badge-over-image * { pointer-events: auto; }

/* --- Topbar Styles --- */
.fsl-topbar-wrap {
  width: 100%;
  background: linear-gradient(90deg,#e74c3c,#f39c3c);
  color: #fff;
  font-weight: 700;
  text-align: center;
  padding: 12px 0;
  font-size: 1.1em;
  letter-spacing: 0.5px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  z-index: 9999;
  position: relative;
}
.fsl-topbar-wrap a { color: #fff; text-decoration: underline; font-weight: 700; }
.fsl-topbar-wrap .button, .fsl-topbar-wrap button {
  background: #fff;
  color: #e74c3c;
  border: none;
  border-radius: 4px;
  padding: 6px 16px;
  margin-left: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}
.fsl-topbar-wrap .button:hover, .fsl-topbar-wrap button:hover {
  background: #f9e6e6;
  color: #c0392b;
}

