:root {
  --ppg-bg: #07060b;
  --ppg-bg2: #0d0820;
  --ppg-border: rgba(255,255,255,.11);
  --ppg-border2: rgba(163,106,255,.22);
  --ppg-text: #FFFFFF;
  --ppg-muted: #888888;
  --ppg-purple: #7c3aed;
  --ppg-purple2: #a36aff;
  --ppg-purple-light: rgba(163,106,255,.25);
  --ppg-purple-dark: #5b21b6;
  --ppg-pink: #ff4fd8;
  --ppg-green: #520975;
  --ppg-shadow: 0 18px 55px rgba(0,0,0,.55);
  --ppg-shadow2: 0 10px 28px rgba(0,0,0,.38);
  --ppg-radius: 18px;
  --ppg-space-xs: 8px;
  --ppg-space-sm: 16px;
  --ppg-space-md: 24px;
  --ppg-space-lg: 40px;
  --ppg-space-xl: 64px;
  --ppg-transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --ppg-max-width: 1280px;
}

*, *::before, *::after { box-sizing: border-box; }
body {
  margin: 0;
  font-family: 'Montserrat', sans-serif;
  background: var(--ppg-bg);
  color: var(--ppg-text);
  min-height: 100vh;
  overflow-x: hidden;
  padding-top: 0;
}
main, .ppg-main { overflow-x: hidden; overflow-y: auto; max-width: 100%; }

/* ========== HEADER ========== */
/* Dark two-tier header: overrides from style.css; ensure fixed positioning */
.ppg-header--dark {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 0 !important;
  pointer-events: auto !important;
}
/* Legacy capsule styles (kept for backwards compat on other templates) */
.ppg-header:not(.ppg-header--dark) {
  position: absolute;
  top: 24px;
  left: 0;
  right: 0;
  z-index: 200;
  padding: 0 var(--ppg-space-md);
  pointer-events: none;
}
.ppg-header--capsule .ppg-header__inner {
  max-width: 1200px;
  margin: 0 auto;
  pointer-events: auto;
}
.ppg-nav-capsule {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  background: #fff;
  border-radius: 999px;
  padding: 12px 24px 12px 12px;
  box-shadow: 0 8px 40px rgba(0,0,0,.12), 0 0 0 1px rgba(0,0,0,.04);
  position: relative;
  overflow: visible;
}
/* Icon visibility: ensure icons render and stay clickable */
.ppg-nav__icon,
.ppg-nav__menu,
.ppg-nav__cart-wrap {
  position: relative;
  z-index: 2;
}
.ppg-nav__icon--search {
  width: 48px;
  height: 48px;
  min-width: 48px;
  min-height: 48px;
  border-radius: 50%;
  background: #fff;
  border: none;
  box-shadow: 0 4px 16px rgba(0,0,0,.08);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all var(--ppg-transition);
  margin-left: -8px;
  overflow: visible;
}
/* Hover effects removed - no transforms */
.ppg-nav__icon--search:hover {
  /* No hover effect */
}
.ppg-nav__links {
  display: flex;
  align-items: center;
  gap: 6px;
}
.ppg-nav__links--left {
  flex: 1;
  justify-content: flex-end;
}
.ppg-nav__links--right {
  flex: 1;
  justify-content: flex-start;
}
.ppg-nav__link {
  color: #4a4a4a;
  font-size: 15px;
  font-weight: 400;
  text-decoration: none;
  transition: color var(--ppg-transition);
  white-space: nowrap;
}
.home #meals {
    padding-top: 0 !important;
}
.ppg-nav__link:hover {
  color: var(--ppg-purple);
}
.ppg-nav__link--primary {
  font-weight: 700;
  color: #1a1a1a;
}
.ppg-nav__link--primary:hover {
  color: var(--ppg-purple);
}
.ppg-logo {
  margin-top: 8px !important;
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  flex-shrink: 0;
  transition: transform var(--ppg-transition);
}
/* Hover effects removed - no transforms */
.ppg-logo:hover {
  /* No hover effect */
}
.ppg-logo__mark {
  width: 32px;
  height: 32px;
  display: block;
  flex-shrink: 0;
}
.ppg-logo__text {
  font-weight: 800;
  font-size: 15px;
  color: #1a1a1a;
  letter-spacing: -.03em;
}
.ppg-nav__cart-wrap {
  position: relative;
  flex-shrink: 0;
}
.ppg-nav__icon--cart {
  width: 48px;
  height: 48px;
  min-width: 48px;
  min-height: 48px;
  border-radius: 50%;
  background: #fff;
  border: none;
  box-shadow: 0 4px 16px rgba(0,0,0,.08);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all var(--ppg-transition);
  margin-right: -8px;
  overflow: visible;
}
/* Hover effects removed - no transforms */
.ppg-nav__icon--cart:hover {
  /* No hover effect */
}
.ppg-nav__cart-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 10px;
  background: var(--ppg-purple);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
}
/* Icon SVGs: ensure visibility, contrast, and proper sizing on all screens */
.ppg-nav__icon-svg,
.ppg-nav__icon img,
.ppg-nav__icon--search img,
.ppg-nav__icon--cart img {
  width: 22px;
  height: 22px;
  min-width: 22px;
  min-height: 22px;
  display: block;
  object-fit: contain;
  flex-shrink: 0;
}
.ppg-nav__menu--mobile img {
  width: 24px;
  height: 24px;
  min-width: 24px;
  min-height: 24px;
}
.ppg-nav__menu--mobile {
  display: none;
  width: 48px;
  height: 48px;
  min-width: 48px;
  min-height: 48px;
  border-radius: 50%;
  background: #fff;
  border: none;
  box-shadow: 0 4px 16px rgba(0,0,0,.08);
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  transition: all var(--ppg-transition);
  overflow: visible;
}
/* Hover effects removed - no transforms */
.ppg-nav__menu--mobile:hover {
  /* No hover effect */
}
@media (max-width: 1024px) {
  .ppg-nav__links {
    display: none;
  }
  .ppg-nav-capsule {
    padding: 12px 16px;
  }
  .ppg-nav__icon--search {
    display: none;
  }
  .ppg-nav__menu--mobile {
    display: flex;
  }
}
@media (max-width: 640px) {
  .ppg-logo__text {
    font-size: 14px;
  }
  .ppg-logo__mark {
    width: 28px;
    height: 28px;
  }
  }

/* Footer logo variant (preserved for footer.php) */
.ppg-logo--footer {
  flex-direction: row;
  gap: 12px;
}
.ppg-logo--footer .ppg-logo__mark {
  width: 40px;
  height: 40px;
}
.ppg-logo--footer .ppg-logo__text {
  font-weight: 700;
  font-size: 18px;
  color: #fff;
}
.ppg-logo--footer .ppg-logo__tagline {
  font-size: 11px;
  color: var(--ppg-muted);
  font-weight: 600;
}
@keyframes ppg-slideDown {
  from { opacity: 0; transform: translateY(-20px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes ppg-fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* ========== HERO (Static banner - no slider) ========== */
.ppg-hero {
  position: relative;
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  overflow: hidden;
}
.ppg-hero__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
/* No tint on image - show exactly as provided */
.ppg-hero__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: transparent;
  pointer-events: none;
}
/* Light overlay only for text readability - does not alter image colors */
.ppg-hero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2);
}
.ppg-hero__overlay::before {
  content: "";
  position: absolute;
  inset: 0;
  background: transparent;
  pointer-events: none;
}
.ppg-hero__content {
  position: relative;
  z-index: 2;
  text-align: left;
  padding: 221px 24px 100px;
  max-width: 800px;
  margin: 0;
  margin-left: 0;
  padding-left: clamp(24px, 5vw, 48px);
}
.ppg-hero__title {
  font-size: clamp(32px, 5vw, 56px);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: #fff;
  margin: 0 0 20px;
}
.ppg-hero__sub {
  font-size: clamp(16px, 2vw, 18px);
  color: rgba(255,255,255,.9);
  line-height: 1.6;
  max-width: 70%;
  margin: 0 0 28px;
}
.ppg-hero__ctas {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
}
.ppg-hero__cta {
  display: inline-block;
  padding: 16px 32px;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 8px;
  transition: opacity 0.2s, transform 0.2s;
}
/* Hover effects removed - buttons remain static */
.ppg-hero__cta:hover {
  /* No hover effect */
}
.ppg-hero__cta--primary {
  background: #520975;
  color: #fff !important;
}
.ppg-hero__cta--secondary {
  background: #fff;
  color: #1a1a1a !important;
}
.ppg-hero__cta--secondary:hover {
  background: #fff;
  color: #1a1a1a !important;
}
@keyframes ppg-fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ========== BANNER ========== */
.ppg-banner-outer {
  padding: 0 var(--ppg-space-md);
  margin-top: -60px;
  position: relative;
  z-index: 10;
}
.ppg-banner {
  background: rgba(13,13,13,.88), url(https://images.unsplash.com/photo-1546069901-ba9599a7e63c?w=1200&h=400&fit=crop) center/cover no-repeat !important;
  padding: var(--ppg-space-lg) var(--ppg-space-md);
  border-radius: 24px;
  position: relative;
  z-index: 10;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,.4), 0 0 0 1px rgba(255,255,255,.08);
}
.ppg-banner::before,
.ppg-banner::after {
  display: none;
}
.ppg-banner__wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--ppg-space-lg);
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

/* Date selection section (inside banner) */
.ppg-date-select {
  flex-basis: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: var(--ppg-space-lg);
  padding: var(--ppg-space-lg);
  background: #fff;
  border-radius: 12px;
  margin-top: var(--ppg-space-md);
}
@media (min-width: 768px) {
  .ppg-date-select {
    flex-direction: row;
    align-items: flex-start;
  }
}
.ppg-date-select__left {
  flex: 1;
  min-width: 0;
}
.ppg-date-select__heading {
  margin: 0 0 16px;
  font-size: 24px;
  font-weight: 400;
  color: #333;
}
.ppg-date-select__month {
  display: block;
  font-size: 13px;
  font-style: italic;
  color: #999;
  margin-bottom: 8px;
}
.ppg-date-select__cards {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 4px;
}
@media (min-width: 640px) {
  .ppg-date-select__cards { flex-wrap: wrap; overflow-x: visible; }
}
.ppg-date-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 56px;
  padding: 12px 16px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  cursor: pointer;
  font-family: inherit;
  transition: border-color .2s, color .2s;
}
.ppg-date-card:hover {
  border-color: #b3d4fc;
}
.ppg-date-card--selected {
  border: 2px solid #4a90e2;
}
.ppg-date-card--selected .ppg-date-card__day,
.ppg-date-card--selected .ppg-date-card__num {
  color: #4a90e2;
}
.ppg-date-card__day {
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  color: #666;
  margin-bottom: 4px;
}
.ppg-date-card__num {
  font-size: 18px;
  font-weight: 700;
  color: #333;
}
.ppg-date-select__reorder {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  padding: 10px 20px;
  background: var(--ppg-purple);
  color: #fff;
  border: none;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .05em;
  cursor: pointer;
  font-family: inherit;
}
.ppg-date-select__reorder:hover {
  background: var(--ppg-purple2);
}
.ppg-date-select__reorder-icon {
  font-size: 18px;
}
.ppg-date-select__right {
  flex: 1;
  min-width: 280px;
}
.ppg-date-select__order-label {
  margin: 0 0 4px;
  font-size: 18px;
  font-weight: 400;
  color: #333;
}
.ppg-date-select__order-date {
  margin: 0 0 16px;
  font-size: 24px;
  font-weight: 700;
  color: #333;
}
.ppg-date-select__controls {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.ppg-date-select__search {
  flex: 1;
  min-width: 200px;
  padding: 12px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 15px;
  font-family: inherit;
  background: #fff;
}
.ppg-date-select__search::placeholder {
  color: #999;
}
.ppg-date-select__sort {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  background: #fff;
  border: 1px solid #4a90e2;
  border-radius: 8px;
  color: #4a90e2;
  font-size: 15px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .03em;
  cursor: pointer;
  font-family: inherit;
}
.ppg-date-select__chevron {
  font-size: 10px;
}
.ppg-banner__text h3 {
  margin: 0 0 var(--ppg-space-xs);
  font-size: clamp(22px, 3vw, 28px);
  font-weight: 900;
  color: #fff;
  text-shadow: 0 2px 12px rgba(0,0,0,.3);
}
.ppg-banner__text p {
  margin: 0;
  color: rgba(255,255,255,.95);
  font-size: 15px;
  text-shadow: 0 1px 4px rgba(0,0,0,.2);
}
.ppg-banner__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 28px;
  min-width: auto;
  width: auto;
  background: #fff;
  color: var(--ppg-purple);
  font-weight: 800;
  font-size: 15px;
  border-radius: 14px;
  text-decoration: none;
  white-space: nowrap;
  transition: all var(--ppg-transition);
  box-shadow: 0 8px 24px rgba(0,0,0,.25);
}
/* Hover effects removed - buttons remain static */
.ppg-banner__cta:hover {
  /* No hover effect */
}

/* ========== BOTTOM OFFER CARDS (PURPLE) ========== */
.ppg-offers {
  padding: var(--ppg-space-xl) var(--ppg-space-md);
  max-width: var(--ppg-max-width);
  margin: 0 auto;
  position: relative;
  overflow: visible;
}
.ppg-offers::before {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: transparent;
  top: -60px;
  left: 10%;
  pointer-events: none;
  animation: ppg-floatShape 8s ease-in-out infinite;
}
.ppg-offers::after {
  content: "";
  position: absolute;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: transparent;
  bottom: -40px;
  right: 15%;
  pointer-events: none;
  animation: ppg-floatShape 8s ease-in-out infinite;
  animation-delay: -4s;
}
.ppg-offers__row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ppg-space-md);
  overflow-x: auto;
  scroll-behavior: smooth;
}
.ppg-offerCard {
  position: relative;
  flex: 0 0 260px;
  height: 360px;
  border-radius: 20px;
  overflow: hidden;
  background: #111;
  color: #fff;
  box-shadow: 0 18px 40px rgba(0,0,0,.6);
}
.ppg-offerCard__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(.7);
  transform: scale(1.02);
  transition: transform .5s ease, filter .5s ease;
}
.ppg-offerCard::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(13,13,13,.85);
}
.ppg-offerCard__priceTag {
  position: absolute;
  top: 0;
  left: 24px;
  padding: 10px 18px;
  background: #520975;
  color: #fff;
  font-weight: 900;
  font-size: 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  transform: translateY(0);
}
.ppg-offerCard__priceTag span {
  font-size: 10px;
  text-transform: uppercase;
  opacity: .85;
}
.ppg-offerCard__body {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 20px;
  z-index: 2;
}
.ppg-offerCard__meta {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .16em;
  opacity: .8;
  margin-bottom: 4px;
}
.ppg-offerCard__title {
  font-size: 16px;
  font-weight: 800;
  margin: 0 0 16px;
}
.ppg-offerCard__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 18px;
  border-radius: 999px;
  border: none;
  background: #7c3aed;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background var(--ppg-transition), transform var(--ppg-transition), box-shadow var(--ppg-transition);
}
/* Hover effects removed - buttons remain static */
.ppg-offerCard__btn:hover {
  /* No hover effect */
}
/* Image zoom on hover removed */
.ppg-offerCard:hover .ppg-offerCard__img {
  /* No hover effect */
}

/* ========== DECORATIVE SHAPES ========== */
.ppg-deco {
  position: relative;
  overflow: visible;
}
.ppg-deco::before,
.ppg-deco::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: .4;
  pointer-events: none;
  animation: ppg-floatShape 8s ease-in-out infinite;
}
.ppg-deco::before {
  width: 320px;
  height: 320px;
  background: transparent;
  top: -120px;
  right: -80px;
  animation-delay: 0s;
}
.ppg-deco::after {
  width: 240px;
  height: 240px;
  background: transparent;
  bottom: -80px;
  left: -60px;
  animation-delay: -4s;
}
.ppg-deco-alt::before {
  top: auto;
  bottom: -100px;
  right: 10%;
}
.ppg-deco-alt::after {
  bottom: auto;
  top: -80px;
  left: 5%;
}
@keyframes ppg-floatShape {
  0%, 100% { transform: translate(0, 0) scale(1); opacity: .4; }
  33% { transform: translate(15px, -20px) scale(1.05); opacity: .5; }
  66% { transform: translate(-10px, 15px) scale(.98); opacity: .35; }
}

/* ========== SECTION DIVIDER (diagonal layered depth – purple theme) ========== */
.ppg-section-divider {
  display: block;
  width: 100%;
  height: 100px;
  margin: 0;
  padding: 0;
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
  background: #0D0D0D;
}
@media (max-width: 768px) {
  .ppg-section-divider {
    height: 72px;
  }
}
@media (max-width: 480px) {
  .ppg-section-divider {
    height: 60px;
  }
}

/* ========== SECTIONS COMMON ========== */
.ppg-section {
  padding: var(--ppg-space-xl) var(--ppg-space-md);
  max-width: var(--ppg-max-width);
  margin: 0 auto;
  position: relative;
  overflow: visible;
}
.ppg-section--alt {
  background: #0D0D0D;
  border-radius: 0;
}
.ppg-section--dark {
  background: #0D0D0D;
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

/* ========== CUTOFF TIMER PROMO STYLING ========== */
section.ppg-cutoff-timer.ppg-cutoff-timer--promo.is-in {
  max-width: 1200px;
  margin: -56px auto;
}

/* ========== DIAGONAL LAYERED SHAPE (Exact Screenshot Match) ========== */
.ppg-diagonal-shape {
  position: relative;
  width: 100%;
  height: 100px;
  overflow: hidden;
  background: #0D0D0D;
}

.ppg-diagonal-shape__inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #0D0D0D;
  z-index: 3;
}

.ppg-diagonal-shape::before,
.ppg-diagonal-shape::after {
  display: none;
}

/* Standalone version without inner div - Exact Screenshot Match */
.ppg-diagonal-shape--standalone {
  position: relative;
  width: 100%;
  height: 90px;
  overflow: hidden;
  background: #0D0D0D;
  /* Smooth rendering */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
}

/* Responsive sizing */
@media (max-width: 768px) {
  .ppg-diagonal-shape,
  .ppg-diagonal-shape--standalone {
    height: 75px;
  }
}

@media (max-width: 480px) {
  .ppg-diagonal-shape,
  .ppg-diagonal-shape--standalone {
    height: 60px;
  }
}

/* ========== MEALS BY UNIT & FEATURED MEALS - Blue Glow Effects ========== */
/* Meals by Unit section (#meals) */
#meals {
  position: relative;
}

#meals::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 30px;
  box-shadow: 0 0 120px 40px rgba(0, 163, 255, 0.35);
  z-index: 0;
  pointer-events: none;
}

#meals::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 12px;
  box-shadow: 0 0 60px 15px rgba(0, 163, 255, 0.7);
  z-index: 1;
  pointer-events: none;
  filter: drop-shadow(0 0 25px rgba(0,163,255,0.25));
}

/* Featured Meals section (card slider) */
.ppg-cardslider-wrap {
  position: relative;
}

.ppg-cardslider-wrap::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 30px;
  box-shadow: 0 0 120px 40px rgba(0, 163, 255, 0.35);
  z-index: 0;
  pointer-events: none;
}

.ppg-cardslider-wrap::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 12px;
  box-shadow: 0 0 60px 15px rgba(0, 163, 255, 0.7);
  z-index: 1;
  pointer-events: none;
  filter: drop-shadow(0 0 25px rgba(0,163,255,0.25));
}

.ppg-section--light {
  background: #fff;
}
/* Disabled transform-based reveals to prevent layout shifts */
.ppg-section[data-reveal] { opacity: 1; transform: none; }
.ppg-section.is-in { opacity: 1; transform: none; transition: none; }
.ppg-section__title {
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 900;
  text-align: center;
  margin: 0 0 var(--ppg-space-sm);
  letter-spacing: -.02em;
}
.ppg-section__sub {
  text-align: center;
  color: var(--ppg-muted);
  font-size: 16px;
  max-width: 560px;
  margin: 0 auto var(--ppg-space-lg);
  line-height: 1.5;
}

/* ========== PRODUCT OFFERS (exact design match) ========== */
.ppg-product-offers .ppg-section__title,
.ppg-product-offers .ppg-section__sub { display: none; }
.ppg-product-offers__grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: var(--ppg-space-md);
}
@media (min-width: 640px) {
  .ppg-product-offers__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--ppg-space-lg);
  }
}
@media (min-width: 1024px) {
  .ppg-product-offers__grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
  }
}
.ppg-product-card {
  border-radius: 8px;
  overflow: visible;
  box-shadow: 0 8px 24px rgba(0,0,0,.1);
  transition: transform var(--ppg-transition), box-shadow var(--ppg-transition);
}
/* Hover effects removed - no transforms */
.ppg-product-card:hover {
  /* No hover effect */
}
.ppg-product-card__link {
  display: block;
  text-decoration: none;
  color: inherit;
  position: relative;
  height: 100%;
}
.ppg-product-card__img-wrap {
  position: relative;
  aspect-ratio: 4/5;
  overflow: hidden;
  border-radius: 8px 8px 0 0;
}
.ppg-product-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ppg-product-card__overlay {
  position: absolute;
  inset: 0;
  background: rgba(13,13,13,.5);
  pointer-events: none;
}
.ppg-product-card__price-tag {
  position: absolute;
  top: -4px;
  right: -4px;
  background: #520975;
  color: #fff;
  padding: 10px 14px;
  transform: rotate(8deg);
  border-radius: 4px 4px 4px 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  line-height: 1.1;
  z-index: 2;
}
.ppg-product-card__price-val {
  font-size: 22px;
  font-weight: 700;
}
.ppg-product-card__price-unit {
  font-size: 11px;
  font-weight: 400;
  opacity: .95;
}
.ppg-product-card__content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 20px 18px;
  background: rgba(13,13,13,.75);
  border-radius: 0 0 8px 8px;
}
.ppg-product-card__cat {
  display: block;
  font-size: 11px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgba(255,255,255,.75);
  margin-bottom: 6px;
}
.ppg-product-card__title {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 12px;
  line-height: 1.2;
}
.ppg-product-card__btn {
  display: inline-block;
  padding: 10px 20px;
  background: #520975;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  border-radius: 4px;
  transition: box-shadow var(--ppg-transition);
}
.ppg-product-card__btn:hover {
  box-shadow: none;
}
/* Hover effects removed - no transforms */
.ppg-product-card:hover .ppg-product-card__btn {
  /* No hover effect */
}

/* ========== CARD SLIDER ========== */
.ppg-cardslider-wrap .ppg-wrap { overflow: hidden; }
.ppg-cardslider {
  overflow: hidden;
  padding: var(--ppg-space-lg) 0;
}
.ppg-cardslider__track {
  display: flex;
  gap: var(--ppg-space-md);
  padding: var(--ppg-space-sm) var(--ppg-space-md);
  transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media (max-width: 768px) {
  .ppg-cardslider__card { flex: 0 0 280px; }
}
.ppg-cardslider__card {
  flex: 0 0 320px;
  border-radius: var(--ppg-radius);
  border: 1px solid rgba(255,255,255,.1);
  background: #1A1A1A;
  overflow: hidden;
  transition: transform var(--ppg-transition), box-shadow var(--ppg-transition), border-color var(--ppg-transition);
}
/* Hover effects removed - no transforms */
.ppg-cardslider__card:hover {
  /* No hover effect */
}
.ppg-cardslider__card img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  transition: transform 0.5s ease;
}
/* Image zoom on hover removed */
.ppg-cardslider__card:hover img { /* No hover effect */ }
.ppg-cardslider__body {
  padding: var(--ppg-space-md);
}
.ppg-cardslider__title {
  font-weight: 900;
  font-size: 18px;
  margin: 0 0 var(--ppg-space-xs);
}
.ppg-cardslider__title a { color: var(--ppg-text); text-decoration: none; }
.ppg-cardslider__meta {
  display: flex;
  gap: var(--ppg-space-sm);
  font-size: 13px;
  color: var(--ppg-muted);
  margin-bottom: var(--ppg-space-sm);
}
.ppg-cardslider__price {
  font-weight: 900;
  color: #520975;
  font-size: 18px;
}
/* Begin button in Featured Meals cards (replaces price) */
.ppg-cardslider__btn {
  width: 106px !important;
  height: 46px !important;
  color: #fff !important;
  text-transform: capitalize;
  border-radius: 0;
  border: 1px solid rgba(255,255,255,.5);
  background: transparent;
  font-size: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: box-shadow var(--ppg-transition);
  text-decoration: none;
}
.ppg-cardslider__btn:hover {
  box-shadow: 0 0 12px rgba(82,9,117,.4);
}
.ppg-cardslider__btn.ppg-cardslider__btn--begin {
  color: #fff !important;
}
.ppg-cardslider__btn--begin {
  width: 100%;
  height: 48px;
  margin-top: 12px;
  font-size: 16px;
  font-weight: 600;
}
.ppg-cardslider__btn--begin:hover {
  color: #fff !important;
}
.ppg-cardslider__nav {
  display: flex;
  justify-content: center;
  gap: var(--ppg-space-sm);
  margin-top: var(--ppg-space-md);
}
.ppg-cardslider__nav .ppg-cardslider__btn {
  width: 48px;
  height: 48px;
  font-size: 20px;
  border-radius: 0;
}
.ppg-cardslider__nav .ppg-cardslider__btn:hover {
  /* No hover effect */
}

/* Meals Grid */
.ppg-wrap { width: min(var(--ppg-max-width), calc(100% - 48px)); margin: 0 auto; }
.ppg-grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: var(--ppg-space-md);
}
@media (min-width: 640px) { .ppg-grid { grid-template-columns: repeat(2, 1fr); gap: var(--ppg-space-lg); } }
@media (min-width: 1024px) { .ppg-grid { grid-template-columns: repeat(3, 1fr); gap: var(--ppg-space-lg); } }

.ppg-card {
  border-radius: var(--ppg-radius);
  border: 1px solid rgba(255,255,255,.12);
  background: #1A1A1A;
  box-shadow: 0 4px 20px rgba(0,0,0,.25);
  overflow: hidden;
  transform: translateY(20px);
  opacity: 0;
  transition: transform .5s cubic-bezier(.2,.8,.2,1), opacity .5s ease, border-color .2s, box-shadow .25s ease;
}
/* Disabled transform-based card reveals to prevent layout shifts */
.ppg-card.is-in {
  transform: none;
  opacity: 1;
}
/* Hover effects removed - no transforms */
.ppg-card:hover {
  /* No hover effect */
}
.ppg-card__media { display: block; overflow: hidden; }
.ppg-card__img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  transition: transform .4s ease;
}
/* Image zoom on hover removed */
.ppg-card:hover .ppg-card__img { /* No hover effect */ }
.ppg-card__body { padding: 20px; }
.ppg-card__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.ppg-card__title { margin: 0; font-weight: 900; font-size: 17px; }
.ppg-card__title a { color: var(--ppg-text); text-decoration: none; }
.ppg-card__price { font-weight: 900; color: #520975; }
.ppg-macros {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  padding: 12px;
  border-radius: 14px;
  background: rgba(0,0,0,.3);
  border: 1px solid rgba(255,255,255,.06);
}
.ppg-macro__label { font-size: 10px; text-transform: uppercase; color: var(--ppg-muted); font-weight: 800; }
.ppg-macro__val { font-weight: 900; font-size: 13px; color: #fff !important; }
.ppg-macro--cal .ppg-macro__val {
  color: #fff !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
}
.ppg-cartRow {
  margin-top: 16px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
/* Form wraps qty + button in one row */
.ppg-cartRow .ppg-add-to-cart-form {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  width: 100%;
}
/* Quantity always visible alongside Add to Cart – not shown only after click */
.ppg-cartRow .ppg-qty {
  flex-shrink: 0;
  display: flex !important;
  visibility: visible !important;
}
.ppg-cartRow .ppg-add,
.ppg-cartRow .ppg-add-to-cart-form .ppg-add {
  flex: 1;
  min-width: 0;
}
.ppg-qty {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 12px;
  background: #1A1A1A;
  border: 1px solid rgba(255,255,255,.1);
}
.ppg-qty__btn {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.2);
  color: #fff;
  font-weight: 900;
  cursor: pointer;
  font-size: 16px;
  transition: all .2s;
}
.ppg-qty__btn:hover { background: rgba(124,58,237,.3); border-color: var(--ppg-purple2); }
.ppg-qty__input {
  width: 48px;
  height: 32px;
  border: none;
  background: transparent;
  color: #fff;
  font-weight: 900;
  text-align: center;
  font-size: 14px;
}
.ppg-add {
  min-width: 0;
  height: 52px;
  min-height: 52px;
  border-radius: 4px;
  border: none;
  background: #520975;
  color: #fff;
  font-weight: 700;
  text-transform: uppercase;
  cursor: pointer;
  font-size: 14px;
  white-space: nowrap;
  transition: box-shadow var(--ppg-transition);
}
.ppg-add:hover {
  box-shadow: none;
}
.ppg-add.is-adding { transform: scale(.98); opacity: .9; }

/* Why Choose Us */
.ppg-features {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 24px;
}
@media (min-width: 640px) { .ppg-features { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .ppg-features { grid-template-columns: repeat(4, 1fr); } }
.ppg-feature {
  padding: var(--ppg-space-lg) var(--ppg-space-md);
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.08);
  background: #1A1A1A;
  text-align: center;
  transition: all var(--ppg-transition);
}
/* Hover effects removed - no transforms */
.ppg-feature:hover {
  /* No hover effect */
}
.ppg-feature__icon {
  width: 72px;
  height: 72px;
  margin: 0 auto var(--ppg-space-sm);
  background: #1A1A1A;
  border: 1px solid rgba(82,9,117,.3);
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  transition: transform var(--ppg-transition);
}
/* Icon hover removed */
.ppg-feature:hover .ppg-feature__icon {
  /* No hover effect */
}
.ppg-feature h4 { margin: 0 0 8px; font-size: 18px; font-weight: 900; }
.ppg-feature p { margin: 0; color: var(--ppg-muted); font-size: 14px; line-height: 1.5; }

/* How It Works */
.ppg-steps {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 32px;
  margin-top: 40px;
}
.ppg-step {
  flex: 1;
  min-width: 200px;
  max-width: 280px;
  text-align: center;
  position: relative;
  transition: transform var(--ppg-transition);
}
/* Removed translateY to prevent layout jumps */
.ppg-step:hover { }
.ppg-step__num {
  width: 60px;
  height: 60px;
  margin: 0 auto var(--ppg-space-sm);
  background: #520975;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 24px;
  transition: all var(--ppg-transition);
}
/* Step num hover removed */
.ppg-step:hover .ppg-step__num {
  /* No hover effect */
}
.ppg-step h4 { margin: 0 0 8px; font-size: 18px; font-weight: 900; }
.ppg-step p { margin: 0; color: var(--ppg-muted); font-size: 14px; }

/* Weekly Ordering Rhythm and Fulfillment */
.ppg-rhythm__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--ppg-space-lg);
  max-width: 900px;
  margin: 0 auto;
}
@media (min-width: 640px) {
  .ppg-rhythm__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--ppg-space-md);
  }
}
.ppg-rhythm__item {
  padding: var(--ppg-space-lg) var(--ppg-space-md);
  background: #1A1A1A;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--ppg-radius);
  text-align: center;
  transition: transform var(--ppg-transition), border-color var(--ppg-transition), box-shadow var(--ppg-transition);
}
/* Hover effects removed - no transforms */
.ppg-rhythm__item:hover {
  /* No hover effect */
}
.ppg-rhythm__num {
  width: 48px;
  height: 48px;
  margin: 0 auto var(--ppg-space-sm);
  background: #520975;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 18px;
  color: #fff;
}
.ppg-rhythm__title {
  margin: 0 0 var(--ppg-space-xs);
  font-size: 17px;
  font-weight: 900;
  color: var(--ppg-text);
}
.ppg-rhythm__text {
  margin: 0;
  font-size: 14px;
  color: var(--ppg-muted);
  line-height: 1.6;
}

/* 1. Meal-by-Unit Flow - Horizontal steps */
.ppg-flow { text-align: center; }
.ppg-flow__header { margin-bottom: var(--ppg-space-lg); }
.ppg-flow__title {
  font-size: clamp(24px, 3.5vw, 34px);
  font-weight: 900;
  margin: 0 0 var(--ppg-space-xs);
  letter-spacing: -.02em;
}
.ppg-flow__sub {
  font-size: 16px;
  color: var(--ppg-muted);
  margin: 0;
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}
.ppg-flow__steps {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px 8px;
  margin-bottom: var(--ppg-space-md);
}
.ppg-flow__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 16px 20px;
  background: rgba(163,106,255,.12);
  border: 1px solid rgba(163,106,255,.3);
  border-radius: 14px;
  min-width: 100px;
  transition: transform var(--ppg-transition), box-shadow var(--ppg-transition);
}
/* Hover effects removed - no transforms */
.ppg-flow__step:hover {
  /* No hover effect */
}
.ppg-flow__num {
  font-size: 24px;
  font-weight: 900;
  color: var(--ppg-purple2);
}
.ppg-flow__label {
  font-size: 13px;
  font-weight: 700;
  color: var(--ppg-text);
  text-transform: uppercase;
  letter-spacing: .05em;
}
.ppg-flow__arrow {
  font-size: 20px;
  color: var(--ppg-purple2);
  opacity: .7;
}
@media (max-width: 640px) {
  .ppg-flow__arrow { display: none; }
  .ppg-flow__steps { gap: 12px; }
}
.ppg-flow__desc {
  font-size: 14px;
  color: var(--ppg-muted);
  margin: 0;
  font-style: italic;
}

/* 2. Meal Card Hierarchy - Split layout */
.ppg-hierarchy {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--ppg-space-xl);
  align-items: center;
}
@media (min-width: 768px) {
  .ppg-hierarchy { grid-template-columns: 1fr 1fr; }
}
.ppg-hierarchy__title {
  font-size: clamp(22px, 3vw, 28px);
  font-weight: 900;
  margin: 0 0 var(--ppg-space-sm);
  letter-spacing: -.02em;
}
.ppg-hierarchy__text {
  font-size: 15px;
  color: var(--ppg-muted);
  margin: 0 0 var(--ppg-space-md);
  line-height: 1.6;
}
.ppg-hierarchy__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.ppg-hierarchy__list li {
  padding: 8px 0;
  font-size: 14px;
  color: var(--ppg-muted);
  border-bottom: 1px solid rgba(163,106,255,.1);
  display: flex;
  gap: 8px;
}
.ppg-hierarchy__list li:last-child { border-bottom: none; }
.ppg-hierarchy__list strong { color: #520975; min-width: 60px; }
.ppg-hierarchy__mock {
  background: #1A1A1A;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--ppg-radius);
  overflow: hidden;
  max-width: 320px;
  margin: 0 auto;
}
.ppg-hierarchy__mock-img {
  height: 140px;
  background: #0D0D0D;
}
.ppg-hierarchy__mock-body { padding: var(--ppg-space-md); }
.ppg-hierarchy__mock-title {
  font-weight: 800;
  font-size: 16px;
  margin-bottom: 4px;
}
.ppg-hierarchy__mock-price {
  font-weight: 900;
  color: #520975;
  font-size: 18px;
  margin-bottom: var(--ppg-space-sm);
}
.ppg-hierarchy__mock-macros {
  display: flex;
  gap: 12px;
  font-size: 12px;
  color: var(--ppg-muted);
  margin-bottom: var(--ppg-space-sm);
}
.ppg-hierarchy__mock-cta {
  font-size: 12px;
  color: var(--ppg-muted);
  opacity: .8;
}

/* 3. Metrics - Badge grid */
.ppg-metrics { text-align: center; }
.ppg-metrics__title {
  font-size: clamp(22px, 3vw, 28px);
  font-weight: 900;
  margin: 0 0 var(--ppg-space-xs);
}
.ppg-metrics__sub {
  font-size: 15px;
  color: var(--ppg-muted);
  margin: 0 0 var(--ppg-space-lg);
}
.ppg-metrics__grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--ppg-space-sm);
  margin-bottom: var(--ppg-space-md);
}
.ppg-metrics__item {
  padding: 20px 28px;
  border-radius: 16px;
  text-align: center;
  min-width: 100px;
  border: 1px solid rgba(255,255,255,.12);
  background: #1A1A1A;
  transition: transform var(--ppg-transition), border-color var(--ppg-transition);
}
/* Hover effects removed - no transforms */
.ppg-metrics__item:hover {
  /* No hover effect */
}
.ppg-metrics__val {
  display: block;
  font-size: 28px;
  font-weight: 900;
  color: #520975;
  margin-bottom: 4px;
}
.ppg-metrics__label {
  font-size: 12px;
  color: var(--ppg-muted);
}
.ppg-metrics__note {
  font-size: 14px;
  color: var(--ppg-green);
  margin: 0;
  font-weight: 600;
}

/* 4. Actions - Callout box */
.ppg-actions__box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--ppg-space-lg);
  padding: var(--ppg-space-xl);
  background: #1A1A1A;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 24px;
  max-width: 700px;
  margin: 0 auto;
}
@media (min-width: 640px) {
  .ppg-actions__box { flex-direction: row; text-align: left; }
}
.ppg-actions__icon-wrap {
  flex-shrink: 0;
  width: 80px;
  height: 80px;
  background: #520975;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ppg-actions__icon {
  font-size: 24px;
  font-weight: 900;
  color: #fff;
}
.ppg-actions__title {
  font-size: clamp(18px, 2.5vw, 22px);
  font-weight: 900;
  margin: 0 0 var(--ppg-space-xs);
}
.ppg-actions__text {
  font-size: 15px;
  color: var(--ppg-muted);
  margin: 0;
  line-height: 1.6;
}

/* 5. Checkout Flow - Vertical timeline */
.ppg-checkout__title {
  font-size: clamp(22px, 3vw, 28px);
  font-weight: 900;
  text-align: center;
  margin: 0 0 var(--ppg-space-xs);
}
.ppg-checkout__sub {
  text-align: center;
  color: var(--ppg-muted);
  margin: 0 0 var(--ppg-space-lg);
  font-size: 15px;
}
.ppg-checkout__timeline {
  max-width: 480px;
  margin: 0 auto;
  position: relative;
}
.ppg-checkout__timeline::before {
  content: "";
  position: absolute;
  left: 11px;
  top: 24px;
  bottom: 24px;
  width: 2px;
  background: #520975;
  opacity: .5;
  border-radius: 2px;
}
.ppg-checkout__step {
  display: flex;
  gap: var(--ppg-space-md);
  margin-bottom: var(--ppg-space-lg);
  position: relative;
}
.ppg-checkout__step:last-child { margin-bottom: 0; }
.ppg-checkout__dot {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #520975;
  flex-shrink: 0;
}
.ppg-checkout__body h4 {
  margin: 0 0 4px;
  font-size: 17px;
  font-weight: 900;
}
.ppg-checkout__body p {
  margin: 0;
  font-size: 14px;
  color: var(--ppg-muted);
  line-height: 1.5;
}

/* 6. Weekly Rhythm - Week timeline */
.ppg-rhythm__main-title {
  font-size: clamp(22px, 3vw, 28px);
  font-weight: 900;
  text-align: center;
  margin: 0 0 var(--ppg-space-xs);
}
.ppg-rhythm__main-sub {
  text-align: center;
  color: var(--ppg-muted);
  margin: 0 0 var(--ppg-space-lg);
  font-size: 15px;
}
.ppg-rhythm__week {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--ppg-space-md);
  max-width: 600px;
  margin: 0 auto var(--ppg-space-md);
}
@media (min-width: 480px) {
  .ppg-rhythm__week { grid-template-columns: repeat(3, 1fr); }
}
.ppg-rhythm__day {
  padding: var(--ppg-space-lg);
  text-align: center;
  border-radius: 16px;
  border: 1px solid rgba(163,106,255,.2);
  background: rgba(255,255,255,.03);
  transition: transform var(--ppg-transition), border-color var(--ppg-transition);
}
/* Hover effects removed - no transforms */
.ppg-rhythm__day:hover {
  /* No hover effect */
}
.ppg-rhythm__day--order { background: #1A1A1A; border-color: rgba(82,9,117,.4); }
.ppg-rhythm__day--prep { background: #1A1A1A; }
.ppg-rhythm__day--ready { background: #1A1A1A; }
.ppg-rhythm__day-name {
  display: block;
  font-size: 18px;
  font-weight: 900;
  color: var(--ppg-text);
  margin-bottom: 4px;
}
.ppg-rhythm__day-desc {
  font-size: 13px;
  color: var(--ppg-muted);
}
.ppg-rhythm__tagline {
  text-align: center;
  font-size: 14px;
  color: var(--ppg-green);
  font-weight: 700;
  margin: 0;
}

/* Stats */
.ppg-stats {
  background: #0D0D0D;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 24px;
  padding: 50px 24px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
}
@media (min-width: 640px) { .ppg-stats { grid-template-columns: repeat(4, 1fr); } }
.ppg-stat {
  text-align: center;
}
.ppg-stat__val {
  font-size: clamp(36px, 5vw, 52px);
  font-weight: 900;
  color: #520975;
}
.ppg-stat__label { color: var(--ppg-muted); font-size: 14px; font-weight: 700; margin-top: 4px; }
.ppg-stat {
  transition: transform var(--ppg-transition);
}
/* Hover effects removed - no transforms */
.ppg-stat:hover {
  /* No hover effect */
}

/* Categories */
.ppg-cats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
@media (min-width: 768px) { .ppg-cats { grid-template-columns: repeat(4, 1fr); } }
.ppg-cat {
  position: relative;
  height: 200px;
  border-radius: 20px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  padding: 20px;
  text-decoration: none;
}
.ppg-cat::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(13,13,13,.8);
}
.ppg-cat img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s;
}
.ppg-cat {
  transition: transform var(--ppg-transition);
}
/* Hover effects removed - no transforms */
.ppg-cat:hover {
  /* No hover effect */
}
/* Image zoom on hover removed */
.ppg-cat:hover img { /* No hover effect */ }
.ppg-cat span {
  position: relative;
  z-index: 2;
  font-weight: 900;
  font-size: 18px;
  color: #fff;
  transition: transform var(--ppg-transition);
}
/* Span hover removed */
.ppg-cat:hover span { /* No hover effect */ }

/* Testimonials */
.ppg-testimonials {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 24px;
}
@media (min-width: 768px) { .ppg-testimonials { grid-template-columns: repeat(2, 1fr); } }
.ppg-testimonial {
  padding: var(--ppg-space-lg);
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
  transition: all var(--ppg-transition);
}
/* Hover effects removed - no transforms */
.ppg-testimonial:hover {
  /* No hover effect */
}
.ppg-testimonial__stars { color: #fbbf24; font-size: 18px; margin-bottom: 12px; }
.ppg-testimonial p { color: var(--ppg-muted); line-height: 1.6; margin: 0 0 16px; }
.ppg-testimonial__author-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
}
.ppg-testimonial__avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(255,255,255,.2);
}
.ppg-testimonial__author { font-weight: 800; }
.ppg-testimonial__role { font-size: 13px; color: var(--ppg-muted); }

/* Newsletter */
.ppg-newsletter {
  background: #0D0D0D;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 24px;
  padding: 48px 32px;
  text-align: center;
}
.ppg-newsletter h3 { margin: 0 0 8px; font-size: 28px; font-weight: 900; }
.ppg-newsletter p { margin: 0 0 24px; color: var(--ppg-muted); }
.ppg-newsletter__form {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ppg-space-sm);
  justify-content: center;
  align-items: center;
  max-width: 480px;
  margin: 0 auto;
}
.ppg-newsletter__input {
  flex: 1;
  min-width: 180px;
  height: 52px;
  padding: 0 20px;
  border-radius: 4px;
  border: 1px solid rgba(255,255,255,.15);
  background: #1A1A1A;
  color: #fff;
  font-size: 15px;
}
.ppg-newsletter__input:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(0, 71, 255, 0.4);
}
.ppg-newsletter__input::placeholder { color: rgba(255,255,255,.5); }
.ppg-newsletter__btn {
  height: 52px;
  padding: 0 32px;
  min-width: auto;
  width: auto;
  border-radius: 4px;
  border: none;
  background: #520975;
  color: #fff;
  font-weight: 700;
  text-transform: uppercase;
  cursor: pointer;
  white-space: nowrap;
  transition: box-shadow var(--ppg-transition);
}
.ppg-newsletter__btn:hover {
  box-shadow: none;
}

/* FAQ: .open on .ppg-faq__item shows answer; plus/minus icon toggles */
.ppg-faq {
  max-width: 720px;
  margin: 0 auto;
}
.ppg-faq__item {
  border-bottom: 1px solid rgba(255,255,255,.08);
  padding: 20px 0;
}
.ppg-faq__q {
  font-weight: 800;
  font-size: 16px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  background: transparent;
  border: none;
  color: #FFFFFF;
  text-align: left;
  padding: 0;
  font-family: inherit;
  gap: 16px;
  transition: color 0.2s ease;
}
.ppg-faq__q:hover {
  color: #D9D9D9;
}
.ppg-faq__q:focus {
  outline: 2px solid rgba(82, 9, 117, 0.5);
  outline-offset: 4px;
  border-radius: 4px;
}
/* Prevent unwanted background color changes on click/active */
.ppg-faq__q:active,
.ppg-faq__item:active,
.ppg-faq__item.open .ppg-faq__q {
  background-color: transparent !important;
}
button.ppg-faq__q {
  background: transparent !important;
  border: none;
}
.ppg-faq__q-text {
  flex: 1;
}
.ppg-faq__q-icon {
  width: 28px;
  height: 28px;
  min-width: 28px;
  border-radius: 50%;
  background: #1A1A1A;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: transform 0.3s ease, background 0.3s ease;
}
.ppg-faq__q-icon::before,
.ppg-faq__q-icon::after {
  content: "";
  position: absolute;
  background: #fff;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.ppg-faq__q-icon::before {
  width: 12px;
  height: 2px;
}
.ppg-faq__q-icon::after {
  width: 2px;
  height: 12px;
}
.ppg-faq__item.open .ppg-faq__q-icon {
  background: rgba(82, 9, 117, 0.3);
  transform: rotate(180deg);
}
.ppg-faq__item.open .ppg-faq__q-icon::after {
  transform: rotate(90deg);
  opacity: 0;
}

/* Support for legacy div-based FAQ (keep backward compatibility) */
div.ppg-faq__q::after {
  content: "+";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  min-width: 28px;
  height: 28px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  border-radius: 50%;
  background: #1A1A1A;
  color: #fff;
  flex-shrink: 0;
  transition: transform 0.3s ease, background 0.3s ease;
}
div.ppg-faq__item.open div.ppg-faq__q::after { 
  content: "\2212"; 
  background: rgba(82, 9, 117, 0.3);
}

.ppg-faq__a {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition: max-height 0.4s ease, opacity 0.3s ease, visibility 0s linear 0.4s;
}
.ppg-faq__item.open .ppg-faq__a {
  max-height: 500px;
  opacity: 1;
  visibility: visible;
  transition: max-height 0.4s ease, opacity 0.3s ease, visibility 0s;
  padding-top: 8px;
}
.ppg-faq__a p { margin: 12px 0 0; color: #D9D9D9; line-height: 1.6; }

/* Instagram */
.ppg-insta {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
@media (min-width: 640px) { .ppg-insta { grid-template-columns: repeat(6, 1fr); } }
.ppg-insta__item {
  aspect-ratio: 1;
  border-radius: 12px;
  overflow: hidden;
}
.ppg-insta__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s;
}
/* Image zoom on hover removed */
.ppg-insta__item:hover img { /* No hover effect */ }

/* Footer: same design on all pages – see style.css */

/* ========== REVEAL ANIMATIONS - DISABLED TO PREVENT LAYOUT SHIFTS ========== */
/* Using opacity-only transitions to prevent shaking/jumping */
[data-reveal] {
  opacity: 1;
  transform: none;
}
[data-reveal].is-in {
  opacity: 1;
  transform: none;
}

.ppg-section__title {
  opacity: 1;
  transform: none;
}
.ppg-section.is-in .ppg-section__title {
  opacity: 1;
  transform: none;
  animation: none;
}

/* Disable all motion-based effects */
.ppg-card, .ppg-feature, .ppg-step, .ppg-rhythm__item, .ppg-flow__step, .ppg-metrics__item, .ppg-checkout__step, .ppg-rhythm__day, .ppg-stat, .ppg-cat, .ppg-testimonial,
.ppg-slider__dot, .ppg-qty__btn, .ppg-add, [data-reveal] { 
  transition: none !important;
  transform: none !important;
}
.ppg-deco::before, .ppg-deco::after { animation: none; }

/* Toast notification (e.g. after add to cart from modal) */
.ppg-toast {
  position: fixed;
  bottom: var(--ppg-space-md, 24px);
  left: 50%;
  transform: translateX(-50%) translateY(20px);
  padding: 14px 24px;
  border-radius: 12px;
  background: var(--ppg-bg2, #0d0820);
  color: var(--ppg-text, #FFFFFF);
  font-size: 0.95rem;
  box-shadow: var(--ppg-shadow2, 0 10px 28px rgba(0,0,0,.38));
  z-index: 100000;
  opacity: 0;
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.ppg-toast.ppg-toast--visible {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
.ppg-toast.ppg-toast--success {
  border: 1px solid var(--ppg-border2, rgba(163,106,255,.22));
}
