/**
 * GrowEzy — custom styles & overrides
 * Vendor/theme styles are loaded separately in index.html
 */

/* Smooth in-page navigation (navbar + footer anchors) */
html {
  scroll-behavior: smooth;
}

#home,
#features,
#mobile,
#how-it-works,
#why,
#pricing,
#testimonials,
#faqs,
#get-started {
  scroll-margin-top: 90px;
}

/* Hero — video only behind first text section (full width, capped height) */
.elementor-686 .elementor-element.growezy-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

/* Drop the old SVG grid banner so the video fills cleanly */
.elementor-686 .elementor-element.growezy-hero:not(.elementor-motion-effects-element-type-background),
.elementor-686 .elementor-element.growezy-hero > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-image: none !important;
}

.growezy-hero-video {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: auto;
  z-index: 0;
  width: 100%;
  /* Fallback until JS measures to the email form bottom */
  height: min(78svh, 680px);
  margin: 0;
  padding: 0;
  overflow: hidden;
  pointer-events: none;
  border-radius: 0;
  box-shadow: none;
  transform: none;
}

.growezy-hero-video__media {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  /* Full-width stretch within the first-page band only */
  object-fit: cover;
  object-position: center 40%;
}

.growezy-hero-video__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.68) 0%,
      rgba(255, 255, 255, 0.48) 55%,
      rgba(255, 255, 255, 0.62) 100%
    );
}

/* Rings stay inside the video band only (clipped by overflow:hidden) */
.growezy-hero-video .elementor-element-d1fa6af,
.growezy-hero-video .elementor-element-22ae6e9 {
  position: absolute !important;
  z-index: 2;
  width: auto;
  height: auto;
  margin: 0 !important;
  pointer-events: none;
}

.growezy-hero-video .elementor-element-d1fa6af {
  top: -18% !important;
  left: -28% !important;
  right: auto !important;
}

.growezy-hero-video .elementor-element-22ae6e9 {
  top: -18% !important;
  right: -28% !important;
  left: auto !important;
}

.growezy-hero-video .elementor-element-d1fa6af .elementor-icon,
.growezy-hero-video .elementor-element-22ae6e9 .elementor-icon {
  font-size: min(48vw, 640px);
}

.growezy-hero-video .elementor-element-d1fa6af .elementor-icon svg,
.growezy-hero-video .elementor-element-22ae6e9 .elementor-icon svg {
  width: min(48vw, 640px);
  height: min(48vw, 640px);
}

.elementor-686 .elementor-element.growezy-hero > .e-con-inner {
  position: relative;
  z-index: 2;
}

.elementor-686 .elementor-element.growezy-hero > .e-con-inner > .elementor-element:not(.elementor-element-8bf24ec) {
  position: relative;
  z-index: 2;
}

/* Email CTA ends the video band — no large gap after it */
.elementor-686 .elementor-element.elementor-element-7d7461e {
  margin-bottom: 0 !important;
}

/*
 * Sales report image sits BELOW the video on a solid white full-bleed section.
 * (Image file has transparency around the card — without this, video shows through.)
 */
.elementor-686 .elementor-element.elementor-element-8bf24ec {
  position: relative;
  z-index: 5;
  width: 100% !important;
  max-width: 100% !important;
  align-self: stretch !important;
  margin: 0 !important;
  padding: 32px 0 0 !important;
  background-color: #ffffff !important;
  overflow: hidden;
}

.elementor-686 .elementor-element.elementor-element-8bf24ec::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 100vw;
  transform: translateX(-50%);
  background: #ffffff;
  z-index: 0;
  pointer-events: none;
}

.elementor-686 .elementor-element.elementor-element-8bf24ec img,
.elementor-686 .elementor-element.elementor-element-8bf24ec .elementor-widget-container {
  position: relative;
  z-index: 1;
  background-color: #ffffff;
}

@media (max-width: 991px) {
  .growezy-hero-video {
    height: min(72svh, 600px);
  }
}

@media (max-width: 575px) {
  .growezy-hero-video {
    height: min(70svh, 520px);
  }
}

/* Features bento grid — GrowEzy custom feature cards */
.elementor-686 .elementor-element.elementor-element-e101526 > .e-con-inner {
  align-items: stretch;
}

.elementor-686 .elementor-element.elementor-element-1504db3,
.elementor-686 .elementor-element.elementor-element-7942264 {
  gap: 30px;
}

.elementor-686 .elementor-element.elementor-element-1504db3 .elementor-widget-image,
.elementor-686 .elementor-element.elementor-element-7942264 .elementor-widget-image,
.elementor-686 .elementor-element.elementor-element-38001a7 {
  width: 100%;
}

.elementor-686 .elementor-element.elementor-element-1504db3 .elementor-widget-container,
.elementor-686 .elementor-element.elementor-element-7942264 .elementor-widget-container,
.elementor-686 .elementor-element.elementor-element-38001a7 .elementor-widget-container {
  width: 100%;
}

.growezy-feature-card {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  border-radius: 15px;
  object-fit: contain;
}

.growezy-feature-card--wide {
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: center top;
}

.elementor-686 .elementor-element.elementor-element-70ab32e .growezy-feature-card {
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.elementor-686 .elementor-element.elementor-element-399096f .growezy-feature-card,
.elementor-686 .elementor-element.elementor-element-dc032f6 .growezy-feature-card,
.elementor-686 .elementor-element.elementor-element-36873f6 .growezy-feature-card {
  aspect-ratio: 2 / 3;
  object-fit: cover;
  object-position: center top;
}

@media (max-width: 767px) {
  .growezy-feature-card--wide {
    aspect-ratio: auto;
    object-fit: contain;
  }

  .elementor-686 .elementor-element.elementor-element-70ab32e .growezy-feature-card,
  .elementor-686 .elementor-element.elementor-element-399096f .growezy-feature-card,
  .elementor-686 .elementor-element.elementor-element-dc032f6 .growezy-feature-card,
  .elementor-686 .elementor-element.elementor-element-36873f6 .growezy-feature-card {
    aspect-ratio: auto;
    object-fit: contain;
  }
}

/* Mobile Apps banner */
.elementor-686 .elementor-element.elementor-element-4a5cdd1 .growezy-mobile-apps-img {
  display: block;
  width: 100%;
  max-width: 1070px;
  height: auto;
  margin: 0 auto;
  border-radius: 15px;
  object-fit: contain;
}

/* Why GROWEZY section image */
.elementor-686 .elementor-element.elementor-element-dc967de .growezy-why-img {
  display: block;
  width: 100%;
  max-width: 575px;
  height: auto;
  margin: 0 auto;
  border-radius: 15px;
  object-fit: contain;
}

/* On the Go section image */
.elementor-686 .elementor-element.elementor-element-15bac5f .growezy-manage-img {
  display: block;
  width: 100%;
  max-width: 575px;
  height: auto;
  margin: 0 auto;
  border-radius: 15px;
  object-fit: contain;
}

body.bg-none {
  background-image: none !important;
}

body.bg-none .page-header {
  background-color: var(--sasi-bg-color-green);
}

body:not(.bg-none) .entry-content {
  padding-top: 0;
}

body.single-post .entry-content {
  padding-top: 40px;
}

.e-con {
  scroll-margin-top: 81px;
}

.cs-form .sasi-subscribe-saas .sasi-btn:hover {
  color: var(--sasi-color-dark);
  background: var(--sasi-color-white);
  border-color: var(--sasi-color-white);
}

.cs-form .sasi-subscribe-saas .sasi-btn:hover .sasi-icon {
  background: var(--sasi-color-dark);
  border-color: var(--sasi-color-dark);
  color: var(--sasi-color-white);
}

/* Header: keep "Book Free Demo" on one line */
.elementor-9 .elementor-element.elementor-element-dd222e2 .sasi-btn {
  white-space: nowrap;
  flex-wrap: nowrap;
}

.elementor-9 .elementor-element.elementor-element-dd222e2 .sasi-text {
  white-space: nowrap;
}

@media (max-width: 1399px) {
  .elementor-9 .elementor-element.elementor-element-dd222e2 .sasi-btn {
    font-size: 14px;
    padding: 5px 5px 5px 14px;
  }
}

@media (max-width: 1199px) {
  .elementor-9 .elementor-element.elementor-element-1558887 {
    flex-shrink: 0;
    min-width: max-content;
  }

  .elementor-9 .elementor-element.elementor-element-dd222e2 .sasi-btn {
    font-size: 13px;
    padding: 5px 5px 5px 12px;
  }
}

/* Hero subscribe: ensure arrow icon displays */
.sasi-subscribe-saas .sasi-btn .sasi-icon svg {
  display: block;
  width: 12px;
  height: 12px;
}

/* Testimonial star ratings */
.sasi-testimonial-wrap .sasi-ratings {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  min-height: 16px;
  font-size: 0;
  line-height: 1;
}

.sasi-testimonial-wrap .sasi-ratings::before {
  content: none !important;
  display: none !important;
}

.sasi-testimonial-wrap .sasi-ratings.five::after {
  content: "★★★★★";
  font-size: 14px;
  letter-spacing: 2px;
  color: #f59e0b;
  line-height: 1;
}

.sasi-testimonial-wrap .sasi-ratings.four::after {
  content: "★★★★";
  font-size: 14px;
  letter-spacing: 2px;
  color: #f59e0b;
  line-height: 1;
}

/* Product Modules — equal height cards */
.elementor-686 .elementor-element.elementor-element-88cb9db {
  align-items: stretch;
}

.elementor-686 .elementor-element.elementor-element-88cb9db > .elementor-element {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.elementor-686 .elementor-element.elementor-element-88cb9db .elementor-widget-container {
  display: flex;
  flex: 1;
  flex-direction: column;
  height: 100%;
}

.elementor-686 .elementor-element.elementor-element-88cb9db .sasi-icon-box {
  display: flex;
  flex: 1;
  flex-direction: column;
  height: 100%;
}

.elementor-686 .elementor-element.elementor-element-88cb9db .sasi-icon-box__content {
  display: flex;
  flex: 1;
  flex-direction: column;
}

.elementor-686 .elementor-element.elementor-element-88cb9db .icon-box-des {
  flex: 1;
  min-height: 5.5em;
  line-height: 1.65;
}

@media (max-width: 767px) {
  .elementor-686 .elementor-element.elementor-element-88cb9db .icon-box-des {
    min-height: 0;
  }
}

/* GrowEzy logo — inline mark + wordmark (no external img dependency) */
.growezy-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #0e0e0e;
  text-decoration: none;
}

.growezy-brand__mark {
  display: block;
  width: 54px;
  height: 36px;
  flex-shrink: 0;
}

.growezy-brand__name {
  font-family: "Plus Jakarta Sans", Inter, system-ui, sans-serif;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.5px;
  line-height: 1;
  white-space: nowrap;
}

.growezy-brand--preloader {
  transform: scale(1.35);
  transform-origin: center;
}

.the-logo .growezy-brand__mark {
  width: 54px;
  height: auto;
}

.elementor-9 .elementor-element.elementor-element-9ffd011 .the-logo .growezy-brand,
.elementor-9 .elementor-element.elementor-element-6a93d1b .the-logo .growezy-brand {
  width: auto;
}

.elementor-9 .elementor-element.elementor-element-9ffd011 .the-logo img,
.elementor-9 .elementor-element.elementor-element-6a93d1b .the-logo img {
  width: auto;
}
