/* Smart Waitlist product landing — salonbookingsystem.com download page */

.sw-landing,
.sw-landing *,
.sw-landing *::before,
.sw-landing *::after {
  box-sizing: border-box;
}

.sw-landing a {
  color: #3D5F9B;
  text-decoration: none;
}

.sw-landing a:hover {
  color: #0E223E;
}

.sw-landing .sw-cta,
.sw-landing a[href*="checkout.dodopayments.com"],
.sw-landing a[href="#pricing"],
.sw-landing a[href="#how"] {
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.sw-landing a[style*="background:#3D5F9B"]:hover {
  background: #334f82 !important;
  color: #fff !important;
}

/* Hero eyebrow badge — icon + label vertically centered */
.sw-landing .sw-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  padding: 6px 14px 6px 6px;
  border-radius: 100px;
  margin-bottom: 28px;
  line-height: 1;
  vertical-align: middle;
}

.sw-landing .sw-hero-badge-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border-radius: 5px;
  background: #fff;
  overflow: hidden;
}

.sw-landing .sw-hero-badge-icon img {
  display: block;
  width: 16px;
  height: 16px;
  object-fit: contain;
  margin: 0;
}

.sw-landing .sw-hero-badge-text {
  font-size: 13px;
  font-weight: 600;
  color: #D0EEFF;
  letter-spacing: 0.01em;
  line-height: 1.2;
  margin: 0;
  padding: 0;
}

@keyframes swDotIn { 0%,35% { transform:translateX(22px); opacity:0; } 55%,90% { transform:translateX(0); opacity:1; } 100% { transform:translateX(22px); opacity:0; } }
@keyframes swSlotPulse { 0%,35% { background:#3D5F9B; border-color:#3D5F9B; } 50%,85% { background:transparent; border-color:#3C9A97; border-style:dashed; } 100%,100% { background:#3D5F9B; border-color:#3D5F9B; } }
@keyframes swRipple { 0% { transform:scale(0.5); opacity:0.7; } 100% { transform:scale(2.1); opacity:0; } }
@keyframes swBar1 { 0%,100% { height:12px; } 50% { height:32px; } }
@keyframes swBar2 { 0%,100% { height:32px; } 50% { height:18px; } }
@keyframes swBar3 { 0%,100% { height:20px; } 50% { height:30px; } }
@keyframes swPing { 0%,60% { transform:scale(0.7); opacity:0.9; } 100% { transform:scale(2); opacity:0; } }
@keyframes swCheck { 0%,55% { opacity:0; transform:scale(0.6); } 75%,100% { opacity:1; transform:scale(1); } }
@keyframes swAvatarCycle { 0%,100% { background:#3D5F9B; } 33% { background:#3C9A97; } 66% { background:#778189; } }
@keyframes swCellPulse { 0%,30% { opacity:0; } 50%,80% { opacity:1; } 100% { opacity:0; } }
@keyframes swBubbleFade { 0%,45% { opacity:0.25; transform:translateY(3px); } 65%,90% { opacity:1; transform:translateY(0); } 100% { opacity:0.25; transform:translateY(3px); } }
@keyframes swRowBg { 0%,18%,94%,100% { background:rgba(255,255,255,0.05); border-color:transparent; } 26%,58% { background:rgba(255,90,90,0.08); border-color:rgba(255,130,130,0.4); } 64%,66% { background:rgba(255,255,255,0.05); border-color:transparent; } 72%,86% { background:rgba(60,154,151,0.14); border-color:rgba(60,154,151,0.45); } }
@keyframes swRowConfirmedText { 0%,18% { opacity:1; } 24%,92% { opacity:0; } 98%,100% { opacity:1; } }
@keyframes swRowCancelledText { 0%,20% { opacity:0; } 26%,58% { opacity:1; } 64%,100% { opacity:0; } }
@keyframes swRowClaimedText { 0%,62% { opacity:0; } 68%,90% { opacity:1; } 96%,100% { opacity:0; } }
@keyframes swAIRowGlow { 0%,22%,64%,100% { opacity:0.55; transform:translateX(0); } 30%,40% { opacity:1; transform:translateX(4px); } }
@keyframes swRankListFade { 0%,24% { opacity:0; transform:translateY(6px); } 32%,56% { opacity:1; transform:translateY(0); } 62%,100% { opacity:0; transform:translateY(6px); } }
@keyframes swBarGrowMR { 0%,32% { transform:scaleX(0); } 42%,100% { transform:scaleX(1); } }
@keyframes swBarGrowJD { 0%,36% { transform:scaleX(0); } 46%,100% { transform:scaleX(0.82); } }
@keyframes swBarGrowSK { 0%,40% { transform:scaleX(0); } 50%,100% { transform:scaleX(0.62); } }
@keyframes swMRHighlight { 0%,48%,62%,100% { box-shadow:none; transform:scale(1); } 54%,58% { box-shadow:0 0 0 2px rgba(60,154,151,0.55); transform:scale(1.02); } }
@keyframes swClaimCardIn { 0%,60% { opacity:0; transform:translateY(16px) scale(0.96); } 68%,90% { opacity:1; transform:translateY(0) scale(1); } 100% { opacity:0; transform:translateY(16px) scale(0.96); } }

.sw-mockup {
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.sw-mockup:hover {
  box-shadow: 0 24px 50px -18px rgba(14, 34, 62, 0.35);
  transform: translateY(-3px);
}

.sw-lightbox {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 48px;
  background: rgba(12, 26, 34, 0.85);
  cursor: zoom-out;
}

.sw-lightbox[hidden] {
  display: none !important;
}

.sw-lightbox img {
  max-width: 90vw;
  max-height: 90vh;
  border-radius: 14px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5);
  cursor: default;
}

.sw-lightbox-close {
  position: absolute;
  top: 28px;
  right: 36px;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}

.sw-lightbox-close:hover {
  background: rgba(255, 255, 255, 0.22);
}

/* Break out of narrow theme content columns when possible */
body.single-download .entry-content:has(#sw-landing),
body.single-download .edd_download_full_content:has(#sw-landing) {
  max-width: none;
}

.sw-landing {
  max-width: none;
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

/* Hide default EDD purchase UI — CTAs live in the landing page */
body.single-download.sw-landing-active .edd_download_purchase_form,
body.single-download.sw-landing-active .edd-add-to-cart,
body.single-download.sw-landing-active .edd_price,
body.single-download.sw-landing-active .widget_edd_cart_widget,
body.single-download.sw-landing-active .edd-download-meta {
  display: none !important;
}

@media (max-width: 1100px) {
  .sw-landing .sw-steps,
  .sw-landing .sw-showcase,
  .sw-landing .sw-usps {
    grid-template-columns: 1fr 1fr !important;
  }

  .sw-landing .sw-features {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (max-width: 900px) {
  .sw-landing .sw-hero-grid,
  .sw-landing .sw-ranking,
  .sw-landing .sw-roi,
  .sw-landing .sw-pricing {
    grid-template-columns: 1fr !important;
  }

  .sw-landing .sw-roi {
    gap: 28px !important;
  }

  .sw-landing .sw-roi > div:last-child {
    border-left: 0 !important;
    padding-left: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-top: 28px;
  }

  .sw-landing .sw-hero h1 {
    font-size: 36px !important;
  }

  .sw-landing .sw-hero {
    min-height: 0 !important;
  }
}

@media (max-width: 720px) {
  .sw-landing .sw-nav {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 16px;
  }

  .sw-landing .sw-nav > div:last-child {
    flex-wrap: wrap;
    gap: 14px !important;
  }
}

@media (max-width: 640px) {
  .sw-landing .sw-steps,
  .sw-landing .sw-showcase,
  .sw-landing .sw-features,
  .sw-landing .sw-usps {
    grid-template-columns: 1fr !important;
  }

  .sw-landing .sw-hero h1 {
    font-size: 30px !important;
  }
}
