/**
 * ALO Yoga Homepage – Elementor Edition
 * Scoped to body.alo-home (applied via body_class filter)
 * Works with the Elementor-built homepage on page 547.
 */

/* ── Root Variables ─────────────────────────────────────── */
body.alo-home {
  --alo-bg: #ffffff;
  --alo-text: #111111;
  --alo-muted: rgba(17, 17, 17, 0.72);
  --alo-border: rgba(17, 17, 17, 0.10);
  --alo-max: 1440px;
  background: var(--alo-bg);
  color: var(--alo-text);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* ── Astra Full-Bleed Override ──────────────────────────── */
body.alo-home #content .ast-container {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.alo-home .entry-content {
  margin: 0 !important;
  padding: 0 !important;
}
body.alo-home .site-content > .ast-container {
  display: block;
}
/* Remove Astra's default page title/breadcrumbs area */
body.alo-home .ast-breadcrumbs-wrapper,
body.alo-home .entry-header {
  display: none !important;
}

/* ── Hide third-party overlays ──────────────────────────── */
body.alo-home .moderncart-plugin,
body.alo-home #moderncart-slide-out-modal,
body.alo-home .moderncart-floating-cart-button,
body.alo-home .moderncart-add-to-cart-notification,
body.alo-home .astra-cart-drawer,
body.alo-home .astra-cart-drawer-overlay,
body.alo-home .woocommerce-mini-cart,
body.alo-home .wc-block-components-drawer {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* ================================================================
   HERO SLIDES (Elementor Pro Slides Widget)
   ================================================================ */
body.alo-home .elementor-widget-slides {
  width: 100%;
}
/* Ensure slides widget has a light fallback background (not black) */
body.alo-home .elementor-widget-slides .elementor-slides-wrapper,
body.alo-home .elementor-widget-slides .elementor-slides,
body.alo-home .elementor-widget-slides .swiper-container,
body.alo-home .elementor-widget-slides .swiper {
  background-color: #f5e6e0 !important;
}
body.alo-home .elementor-slides .swiper-slide-bg {
  background-position: center center;
  background-size: cover;
}
body.alo-home .elementor-slides .swiper-slide-contents {
  padding-bottom: 60px !important;
}
/* Hide heading/description on slides — only show the button */
body.alo-home .elementor-slides .elementor-slide-heading,
body.alo-home .elementor-slides .elementor-slide-description {
  display: none !important;
}
/* Slide button styling */
body.alo-home .elementor-slides .elementor-slide-button {
  font-size: 12px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  padding: 14px 36px !important;
  border: 2px solid #fff !important;
  background: transparent !important;
  color: #fff !important;
  transition: background 0.3s, color 0.3s;
  font-family: system-ui, -apple-system, sans-serif !important;
}
body.alo-home .elementor-slides .elementor-slide-button:hover {
  background: #fff !important;
  color: #111 !important;
}
/* Arrow navigation */
body.alo-home .elementor-slides .elementor-swiper-button {
  color: #fff;
  font-size: 18px;
}

/* ── MOBILE: Swap hero slide images to portrait versions ── */
/* The official site uses completely different portrait images on mobile.
   Elementor Slides widget doesn't support per-breakpoint images,
   so we override with CSS media queries. */
@media (max-width: 767px) {
  /* Slide 1 → mobile portrait image */
  .elementor-547 .elementor-element.elementor-element-alo00002
    .elementor-repeater-item-hslide1 .swiper-slide-bg {
    background-image: url("https://aloyogaoffcial.com/wp-content/uploads/2026/02/SITE_119_Candy_Heart_Pink_Launch_Homepage_Hero_Mobile.jpg") !important;
    background-position: center top !important;
  }
  /* Slide 2 → mobile portrait image */
  .elementor-547 .elementor-element.elementor-element-alo00002
    .elementor-repeater-item-hslide2 .swiper-slide-bg {
    background-image: url("https://aloyogaoffcial.com/wp-content/uploads/2026/02/MOBILE_1_No_Cta_63ce9520-b3cb-4b93-a265-5e33ed42c48c.jpg") !important;
    background-position: center top !important;
  }
  /* Hero slides: taller on mobile to show portrait images properly */
  .elementor-547 .elementor-element.elementor-element-alo00002 .swiper-slide {
    height: 75vh !important;
  }
}
/* Tablet: keep desktop images but ensure good positioning */
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-547 .elementor-element.elementor-element-alo00002 .swiper-slide {
    height: 65vh !important;
  }
}

/* ── MOBILE: Secondary Hero (shop_by_activity) ── */
@media (max-width: 767px) {
  .elementor-547 .elementor-element.elementor-element-alo0000a:not(.elementor-motion-effects-element-type-background),
  .elementor-547 .elementor-element.elementor-element-alo0000a > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background-position: center center !important;
    background-size: cover !important;
  }
  .elementor-547 .elementor-element.elementor-element-alo0000a {
    min-height: 50vh !important;
  }
}

/* ── MOBILE: Wellness Club section ── */
@media (max-width: 767px) {
  .elementor-547 .elementor-element.elementor-element-alo00022:not(.elementor-motion-effects-element-type-background),
  .elementor-547 .elementor-element.elementor-element-alo00022 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background-position: left center !important;
    background-size: cover !important;
  }
  .elementor-547 .elementor-element.elementor-element-alo00022 {
    min-height: 55vh !important;
  }
}

/* ================================================================
   MOBILE CATEGORY CHIPS
   ================================================================ */
.alo-mobilecats {
  width: 100%;
  overflow: hidden;
}
.alo-mobilecats__scroll {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding: 4px 15px;
  scrollbar-width: none;
}
.alo-mobilecats__scroll::-webkit-scrollbar {
  display: none;
}
.alo-chip {
  flex-shrink: 0;
  scroll-snap-align: start;
  display: inline-block;
  padding: 6px 14px;
  border-radius: 20px;
  border: 1px solid var(--alo-border, rgba(17,17,17,0.1));
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #111;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.2s, color 0.2s;
}
.alo-chip:hover {
  background: #111;
  color: #fff;
}

/* ================================================================
   WOOCOMMERCE PRODUCTS WIDGET (Elementor Pro)
   ================================================================ */
body.alo-home .elementor-widget-woocommerce-products ul.products {
  margin: 0 !important;
  padding: 0 !important;
}
body.alo-home .elementor-widget-woocommerce-products ul.products li.product {
  text-align: center;
  margin-bottom: 0 !important;
}
body.alo-home .elementor-widget-woocommerce-products ul.products li.product a img {
  border-radius: 0;
  margin-bottom: 10px;
}
body.alo-home .elementor-widget-woocommerce-products ul.products li.product .woocommerce-loop-product__title {
  font-family: system-ui, -apple-system, sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #111;
  letter-spacing: 0;
  text-transform: none;
  padding: 0;
}
body.alo-home .elementor-widget-woocommerce-products ul.products li.product .price {
  font-family: system-ui, -apple-system, sans-serif;
  font-size: 13px;
  color: #111;
}
/* Hide add-to-cart button / star rating in product grid */
body.alo-home .elementor-widget-woocommerce-products ul.products li.product .button,
body.alo-home .elementor-widget-woocommerce-products ul.products li.product .star-rating {
  display: none !important;
}

/* ================================================================
   ACTIVITY CARDS (Shop by Activity grid)
   ================================================================ */
.alo-act-card {
  flex: 1 1 calc(33.333% - 7px);
  min-width: 0;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: transform 0.3s;
}
.alo-act-card:hover {
  transform: scale(1.02);
}
@media (max-width: 767px) {
  .alo-act-card {
    flex: 1 1 calc(50% - 5px);
  }
}

/* ================================================================
   TREND REPORT
   ================================================================ */
body.alo-home .elementor-widget-image img {
  width: 100%;
  height: auto;
  display: block;
}

/* ================================================================
   SHOP BY COLOR (HTML widget)
   ================================================================ */
.alo-el-color {
  display: flex;
  gap: 12px;
  width: 100%;
}
.alo-el-color__item {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: #111;
  overflow: hidden;
  transition: transform 0.3s;
}
.alo-el-color__item:hover {
  transform: scale(1.02);
}
.alo-el-color__img {
  width: 100%;
  padding-bottom: 140%;
  background-size: cover;
  background-position: center;
}
.alo-el-color__panel {
  padding: 20px 16px;
  text-align: center;
}
.alo-el-color__name {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.alo-el-color__desc {
  font-size: 13px;
  line-height: 1.5;
  margin-bottom: 10px;
  opacity: 0.85;
}
.alo-el-color__cta {
  font-size: 12px;
  font-weight: 400;
  text-decoration: underline;
}
@media (max-width: 767px) {
  .alo-el-color {
    flex-direction: column;
    gap: 20px;
  }
  .alo-el-color__img {
    padding-bottom: 120%;
  }
}

/* ================================================================
   ELEMENTOR GLOBAL OVERRIDES (for this page)
   ================================================================ */
/* Ensure Elementor containers don't add unwanted gaps */
body.alo-home .elementor-element {
  --widgets-spacing: 0px;
}
/* Headings in this page use system-ui not the theme font */
body.alo-home .elementor-widget-heading .elementor-heading-title {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
/* Buttons: override Elementor's default border-radius */
body.alo-home .elementor-widget-button .elementor-button {
  border-radius: 0 !important;
}
/* Container links (activity cards, new-to-alo) */
body.alo-home .e-con[data-link] {
  cursor: pointer;
}

/* ================================================================
   RESPONSIVE – Tablet (iPad)
   ================================================================ */
@media (min-width: 768px) and (max-width: 1024px) {
  body.alo-home .elementor-slides .swiper-slide-contents {
    padding-bottom: 40px !important;
  }
  body.alo-home .elementor-slides .elementor-slide-button {
    padding: 12px 28px !important;
  }
  /* Trending/Accessories products: 2 columns on tablet */
  body.alo-home .elementor-widget-woocommerce-products ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  /* Shop by Color: 3 columns still */
  .alo-el-color {
    gap: 8px;
  }
  /* Activity cards: 3 per row on tablet */
  .alo-act-card {
    flex: 1 1 calc(33.333% - 7px);
    min-height: 280px !important;
  }
}

/* ================================================================
   RESPONSIVE – Mobile (iPhone)
   ================================================================ */
@media (max-width: 767px) {
  /* Hero slides: use portrait images, taller height */
  body.alo-home .elementor-slides .swiper-slide-contents {
    padding-bottom: 30px !important;
  }
  body.alo-home .elementor-slides .elementor-slide-button {
    font-size: 11px !important;
    padding: 10px 24px !important;
    border-width: 1.5px !important;
  }
  /* Arrow navigation: smaller on mobile */
  body.alo-home .elementor-slides .elementor-swiper-button {
    font-size: 14px;
    width: 28px;
    height: 28px;
  }
  /* Products: 2 columns on mobile */
  body.alo-home .elementor-widget-woocommerce-products ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  body.alo-home .elementor-widget-woocommerce-products ul.products li.product .woocommerce-loop-product__title {
    font-size: 12px;
  }
  body.alo-home .elementor-widget-woocommerce-products ul.products li.product .price {
    font-size: 12px;
  }
  /* Activity cards: 2 per row on mobile */
  .alo-act-card {
    flex: 1 1 calc(50% - 5px) !important;
    min-height: 200px !important;
  }
  /* Shop by color: full width stacked */
  .alo-el-color {
    flex-direction: column;
    gap: 16px;
  }
  .alo-el-color__img {
    padding-bottom: 100%;
  }
  .alo-el-color__panel {
    padding: 16px 12px;
  }
  /* Section headings slightly smaller */
  body.alo-home .elementor-widget-heading .elementor-heading-title {
    font-size: 12px !important;
  }
  /* Secondary hero / Wellness hero: shorter on mobile */
  body.alo-home .e-con[style*="min-height: 70vh"] {
    min-height: 50vh !important;
  }
  /* Trend report: stack vertically */
  body.alo-home .elementor-widget-image img {
    width: 100%;
  }
  /* New to ALO image */
  body.alo-home .e-con .elementor-widget-image {
    width: 100%;
  }
  /* Mobile chips: slightly tighter */
  .alo-chip {
    padding: 5px 12px;
    font-size: 10px;
  }
  /* Finishing Touches header row: stack on small screens */
  body.alo-home .e-con.e-flex[style*="flex-direction: row"] {
    flex-wrap: wrap;
  }
}
