/* ============================================================
   eZWay Promotions — Responsive Styles
   ============================================================ */

/* ── Wide desktop ≥ 1440px ── */
@media (min-width: 1440px) {
  .ez-nav__link {
    padding: 7px 13px;
    font-size: var(--ez-fs-md);
  }
}

/* ── Laptop / Tablet Landscape ≤ 1200px ── */
@media (max-width: 1200px) {
  .ez-hero__inner {
    padding-top: 110px;
    padding-bottom: 64px;
  }

  .ez-nav__link {
    padding: 6px 9px;
    font-size: var(--ez-fs-xs);
  }
}

/* ── Tablet ≤ 1024px ── */
@media (max-width: 1024px) {
  .ez-hero__inner {
    padding-top: 100px;
    padding-bottom: 56px;
  }

  /* Bootstrap col-lg stacks to full width here — just tune media */
  .ez-hero__media {
    justify-content: flex-start;
  }

  .ez-video-card {
    max-width: 520px;
  }

  .ez-ring--lg {
    top: -30px;
    right: -20px;
  }
}

/* ── Tablet Portrait ≤ 900px ── */
@media (max-width: 900px) {
  .ez-nav__menu {
    display: none;
    position: fixed;
    inset-block-start: 74px;
    inset-inline: 0;
    background: rgba(7, 9, 13, 0.97);
    -webkit-backdrop-filter: blur(24px);
    backdrop-filter: blur(24px);
    border-bottom: 1px solid var(--ez-golden-border);
    padding: 12px 16px 20px;
    flex-direction: column;
    align-items: flex-start;
    z-index: 899;
  }

  .ez-nav__menu.is-open {
    display: flex;
    animation: anim-slideUp 0.25s var(--ease-out) both;
  }

  .ez-nav__list {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 2px;
  }
  .ez-nav__menu ul {
    padding-left: 0 !important;
  }

  .ez-nav__link {
    width: 100%;
    padding: 12px 16px;
    font-size: var(--ez-fs-lg);
    border-radius: var(--radius);
  }

  .ez-nav__link.is-active::after {
    left: 16px;
    translate: 0;
  }

  .ez-nav__link:hover {
    background: var(--ez-golden-glow);
  }

  /* Dropdown — show inline on mobile */
  .ez-dropdown {
    position: static;
    translate: none;
    opacity: 1;
    pointer-events: all;
    display: none;
    box-shadow: none;
    border: none;
    border-left: 2px solid var(--ez-golden-border);
    border-radius: 0;
    background: transparent;
    margin-left: 16px;
    padding: 4px 0;
  }

  .ez-nav__item--drop.is-open .ez-dropdown {
    display: block;
    translate: none;
  }

  .ez-nav__toggle {
    display: flex;
  }

  /* Hide Join Now from nav bar; show it inside mobile menu instead */
  .ez-nav__actions .ez-btn-cta {
    display: none !important;
  }

  /* Show Join Now at bottom of mobile menu */
  .ez-nav__joinnow-mobile {
    display: block;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--ez-golden-border);
    width: 100%;
  }

  .ez-nav__joinnow-btn {
    display: block;
    text-align: center;
    width: 100%;
  }
}

/* ── Mobile ≤ 640px ── */
@media (max-width: 640px) {
  .ez-header {
    padding-inline: 16px;
  }
  .ez-nav__logo img {
    width: 120px !important;
  }

  .ez-hero__inner {
    padding-top: 88px;
    padding-bottom: 48px;
  }

  /* .ez-hero__heading font-size handled by .ez-h-3 utility class (clamp responsive) */

  .ez-hero__ctas {
    flex-direction: column;
    align-items: stretch;
  }

  .ez-btn {
    justify-content: center;
    padding: 14px 24px;
  }

  .ez-hero__stats {
    gap: 16px;
  }

  /* .ez-stat__num font-size handled by CSS var --ez-fs-xl (18px fixed) */

  .ez-ring,
  .ez-ring--sm {
    display: none;
  }

  .ez-video-card {
    animation: none; /* reduce motion on small screens */
  }
}

/* ── Tiny mobile ≤ 380px ── */
@media (max-width: 380px) {
  .ez-hero__stats {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .ez-stat__sep {
    display: none;
  }

  .ez-logo-ez,
  .ez-logo-way {
    font-size: 24px;
  }
}

/* ── Reduce motion preference ── */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ============================================================
   Services section — responsive overrides
   ============================================================ */

/* Tablet: un-stick the intro, remove vertical rule */
@media (max-width: 991px) {
  .ez-services {
    padding: 80px 0 88px;
  }

  .ez-services__intro {
    position: static;
    padding-right: 0;
    padding-bottom: 8px;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 16px;
  }

  .ez-services__rule {
    display: none;
  }

  .ez-services__title,
  .ez-services__desc {
    flex: 0 0 100%;
  }
}

/* Mobile: tighten card padding */
@media (max-width: 640px) {
  .ez-services {
    padding: 64px 0 72px;
  }

  /* Center-align the intro block on mobile */
  .ez-services__intro {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .ez-services__intro .ez-section-label {
    justify-content: center;
    width: 100%;
  }

  .ez-services__intro .ez-btn {
    align-self: center;
  }

  .ez-svc-card {
    padding: 26px 12px 22px;
    gap: 10px;
  }

  .ez-svc-card__icon {
    width: 48px;
    height: 48px;
    font-size: 20px;
  }

  .ez-svc-card__name {
    font-size: var(--ez-fs-xs);
  }
}

/* ============================================================
   Process section — responsive overrides
   ============================================================ */
@media (max-width: 991px) {
  .ez-process {
    padding: 80px 0 88px;
  }
}

@media (max-width: 640px) {
  .ez-process {
    padding: 64px 0 72px;
  }

  .ez-proc-card {
    padding: 32px 20px 28px;
  }

  .ez-proc-card__icon-wrap {
    width: 60px;
    height: 60px;
    font-size: 24px;
  }
}

/* ============================================================
   Testimonials — responsive
   ============================================================ */

/* Tablet: 2 visible slides */
@media (max-width: 991px) {
  .ez-testi-slide {
    flex: 0 0 50%;
  }

  .ez-testimonials {
    padding: 80px 0 88px;
  }
}

/* Mobile: 1 visible slide */
@media (max-width: 639px) {
  .ez-testi-slide {
    flex: 0 0 100%;
  }

  .ez-testimonials {
    padding: 64px 0 72px;
  }

  .ez-testi-arrow--prev {
    left: 0;
  }
  .ez-testi-arrow--next {
    right: 0;
  }

  .ez-testi-card {
    padding: 24px 20px 22px;
  }

  .ez-swiper-prev,
  .ez-swiper-next {
    display: none;
  }

  .ez-testi-nav-wrap {
    padding: 0;
  }
}

/* ── Packages ── */
@media (max-width: 991px) {
  .ez-packages {
    padding: 80px 0 72px;
  }

  .ez-pkg-card--featured {
    transform: none;
  }
  .ez-pkg-card--featured:hover {
    transform: translateY(-6px);
  }
}

@media (max-width: 639px) {
  .ez-packages {
    padding: 64px 0 56px;
  }

  /* .ez-packages__title & .ez-pkg-card__price font-sizes handled by
     .ez-h-4 and --ez-fs-h4 CSS var (both use clamp — already responsive) */
}

/* ── Footer ── */
@media (max-width: 1199px) {
  .ez-footer__grid {
    grid-template-columns: 1.5fr 1fr 1fr;
  }
  .ez-footer__brand {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0 40px;
    align-items: start;
  }
  .ez-footer__logo {
    grid-row: 1;
  }
  .ez-footer__tagline {
    grid-row: 2;
  }
  .ez-footer__socials {
    grid-row: 3;
  }
}

@media (max-width: 767px) {
  .ez-footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: 36px 24px;
    padding: 52px 0 40px;
  }
  .ez-footer__brand {
    grid-column: 1 / -1;
    display: block;
  }
  .ez-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
}

@media (max-width: 480px) {
  .ez-footer__grid {
    grid-template-columns: 1fr;
  }
}

/* ── Podcast ── */
@media (max-width: 991px) {
  .ez-podcast {
    padding: 80px 0 72px;
  }

  .ez-podcast__features {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .ez-podcast__feat-col + .ez-podcast__feat-col {
    border-left: none;
    border-top: 1px solid var(--ez-border);
    padding-left: 0;
    padding-top: 20px;
  }
}

@media (max-width: 639px) {
  .ez-podcast {
    padding: 64px 0 56px;
  }

  /* .ez-podcast__title font-size handled by .ez-h-4 utility class (clamp — already responsive) */

  .ez-podcast__actions {
    flex-direction: column;
  }

  .ez-btn {
    justify-content: center;
  }
}

/* ── Results ── */
@media (max-width: 991px) {
  .ez-results {
    padding: 80px 0 72px;
  }

  .ez-results__videos {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .ez-results__arrow {
    flex-direction: row;
    padding-top: 0;
    justify-content: center;
  }

  .ez-results__arrow-line {
    width: 40px;
    height: 1px;
    background: linear-gradient(to right, transparent, var(--ez-golden-border));
  }

  .ez-results__stats {
    flex-wrap: wrap;
    gap: 24px;
    padding: 24px;
  }

  .ez-results__stat-sep {
    display: none;
  }

  .ez-results__stat {
    flex: 0 0 calc(50% - 12px);
  }
}

/* ── Results arrow — phone ── */
@media (max-width: 640px) {
  .ez-results__arrow {
    transform: rotate(90deg);
  }
}

@media (max-width: 639px) {
  .ez-results {
    padding: 64px 0 56px;
  }

  .ez-results__story {
    padding: 24px 20px;
  }

  .ez-results__stat {
    flex: 0 0 100%;
  }
}

/* ============================================================
   Most Viewed Members — responsive overrides
   ============================================================ */

@media (max-width: 991px) {
  .ez-most-viewed {
    padding: 80px 0 88px;
  }
}

@media (max-width: 767px) {
  .ez-most-viewed {
    padding: 72px 0 80px;
  }

  .ez-mv-card__name {
    font-size: var(--ez-fs-md);
  }
}

@media (max-width: 480px) {
  .ez-most-viewed {
    padding: 56px 0 64px;
  }

  .ez-mv-card__info {
    padding: 14px 14px 18px;
  }

  .ez-mv-card__name {
    font-size: var(--ez-fs-sm);
  }

  .ez-mv-card__views {
    font-size: 11px;
  }
}

/* ============================================================
   Why eZWay — responsive overrides
   ============================================================ */

@media (max-width: 1024px) {
  .ez-why__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .ez-why {
    padding: 72px 0 80px;
  }

  .ez-why__header {
    margin-bottom: 32px;
  }

  .ez-why__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
}

/* ============================================================
   Meet the Legends — responsive overrides
   ============================================================ */

@media (max-width: 1200px) {
  .ez-legends__row {
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
  }
}

@media (max-width: 768px) {
  .ez-legends {
    padding: 72px 0 80px;
  }

  .ez-legends__header {
    margin-bottom: 40px;
  }

  .ez-legends__row {
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
  }

  .ez-legend-card {
    padding: 20px 12px 18px;
  }

  .ez-legend-card__avatar,
  .ez-legend-card__img {
    width: 80px;
    height: 80px;
  }

  .ez-legend-card__initials {
    font-size: 22px;
  }
}

@media (max-width: 480px) {
  .ez-legends__row {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ============================================================
   WE PROMOTE — Responsive
   ============================================================ */

@media (max-width: 1200px) {
  .ez-promote__spotlight {
    grid-template-columns: 300px 1fr;
  }

  .ez-promote__impact {
    padding: 28px 24px;
  }

  .ez-promote__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .ez-promote {
    padding: 84px 0 92px;
  }

  .ez-promote__spotlight {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .ez-promote__photo-col {
    max-width: 360px;
  }

  .ez-promote__impact-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ez-promote__impact-points {
    grid-template-columns: 1fr;
  }

  .ez-promote__impact-points li:last-child {
    grid-column: span 1;
  }
}

@media (max-width: 640px) {
  .ez-promote__header {
    margin-bottom: 40px;
  }

  .ez-promote__photo-col {
    max-width: 320px;
    margin-inline: auto;
  }

  .ez-promote__impact {
    padding: 22px 18px;
    gap: 18px;
  }

  .ez-promote__impact-title {
    font-size: clamp(22px, 7vw, 30px);
  }

  .ez-promote__impact-stats {
    grid-template-columns: 1fr;
  }

  .ez-promote__grid {
    grid-template-columns: 1fr;
  }
}
