/** Site Theme Tokens **/

:root {
    --core-site-font-body: 'Nunito', system-ui, sans-serif;
    --core-site-heading-font: 'Baloo 2', system-ui, sans-serif;
    --core-site-heading-color: var(--color-grape);
    --core-site-heading-line-height: 1.08;
    --core-site-heading-margin: 0 0 0.4em;
    --core-site-color-text: var(--color-text);
    --core-site-color-link: var(--color-magenta-dark);
    --core-accent: var(--color-brand);
    --base-content-section-max-width: 78rem;
    --core-radius: 14px;
}
body { font-family: var(--core-site-font-body); }
h1, h2, h3, h4, h5, h6 { font-family: var(--core-site-heading-font); }
h1, h2, h3, h4, h5, h6 { color: var(--core-site-heading-color); }
h1, h2, h3, h4, h5, h6 { line-height: var(--core-site-heading-line-height); }
h1, h2, h3, h4, h5, h6 { margin-block: var(--core-site-heading-margin); }
body { color: var(--core-site-color-text); }
a { color: var(--core-site-color-link); }


/** Site Custom Stylesheet (From File) **/ 



 /** Site Custom Styles (From DB) **/ 

/* ===== Weekend Inflatables — palette, shared utilities & site-wide styles ===== */ :root  {
  /* Brand palette (primitives) */ --color-magenta: #ec1c8f;
  --color-magenta-light: #f65cb0;
  --color-magenta-lighter: #fbb7dc;
  --color-magenta-lightest: #fde4f1;
  --color-magenta-dark: #c50f74;
  --color-magenta-darker: #8e0a53;
  --color-sunshine: #ff9f1c;
  --color-sunshine-light: #ffbe5c;
  --color-sunshine-lighter: #ffe2b3;
  --color-sunshine-dark: #e8850a;
  --color-sky: #16b6e0;
  --color-sky-light: #6fd4ef;
  --color-sky-lighter: #bdebf8;
  --color-sky-lightest: #e6f7fc;
  --color-sky-dark: #0e8cb0;
  --color-grape: #2c1450;
  --color-grape-dark: #1d0d36;
  --color-grape-darker: #140926;
  --color-cream: #fff8f1;
  --color-cream-warm: #fdeedf;
  --color-lime: #3fb950;
  --color-lime-dark: #2e8c3c;
  /* Semantic anchors */ --color-brand: var(--color-magenta);
  --color-text: var(--color-grape);
  --color-bg: var(--color-cream);
  /* Core anchors with no theme-token knob */ --core-accent-contrast: #ffffff;
  --core-border: #e7d9ea;
}
/* ---- Background utilities (backing the section bg dropdown) ---- */ .bg-magenta  {
  background-color: var(--color-magenta);
}
.bg-magenta-light  {
  background-color: var(--color-magenta-light);
}
.bg-magenta-lightest  {
  background-color: var(--color-magenta-lightest);
}
.bg-sunshine  {
  background-color: var(--color-sunshine);
}
.bg-sunshine-lighter  {
  background-color: var(--color-sunshine-lighter);
}
.bg-sky  {
  background-color: var(--color-sky);
}
.bg-sky-lighter  {
  background-color: var(--color-sky-lighter);
}
.bg-sky-lightest  {
  background-color: var(--color-sky-lightest);
}
.bg-grape  {
  background-color: var(--color-grape);
}
.bg-grape-dark  {
  background-color: var(--color-grape-dark);
}
.bg-cream  {
  background-color: var(--color-cream);
}
.bg-cream-warm  {
  background-color: var(--color-cream-warm);
}
.bg-white  {
  background-color: #ffffff;
}
/* ---- Base ---- */ body  {
  overflow-x: hidden;
  background-color: var(--color-bg);
  font-size: var(--text-size-lg);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4  {
  text-wrap: balance;
  overflow-wrap: break-word;
}
p  {
  margin: 0 0 1rem;
}
p:last-child  {
  margin-bottom: 0;
}
img  {
  max-width: 100%;
  display: block;
}
/* ---- Shared typographic helpers (used across most sections) ---- */ .eyebrow  {
  display: inline-block;
  font-family: "Baloo 2", sans-serif;
  font-weight: var(--font-weight-bold);
  font-size: var(--text-size-sm);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-magenta);
  margin-bottom: 0.6rem;
}
.section-heading  {
  font-size: var(--text-size-9xl);
  margin-bottom: 0.6rem;
}
.section-intro  {
  font-size: var(--text-size-xl);
  max-width: 60ch;
  color: #4a3567;
}
.section-head-center  {
  text-align: center;
}
.section-head-center .section-intro  {
  margin-left: auto;
  margin-right: auto;
}
/* ---- Buttons (.btn family — used in header, hero, gallery, types, faq, enquiry, menu slot) ---- */ .btn  {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-family: "Baloo 2", sans-serif;
  font-weight: var(--font-weight-bold);
  font-size: var(--text-size-lg);
  line-height: 1.1;
  text-decoration: none;
  padding: 1rem 1.9rem;
  border: 3px solid transparent;
  border-radius: 999px;
  cursor: pointer;
  transition: transform 0.12s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}
.btn:active  {
  transform: translateY(1px) scale(0.99);
}
.btn-primary  {
  color: #fff;
  background-image: linear-gradient(95deg, var(--color-magenta) 0%, var(--color-sunshine) 130%);
  box-shadow: 0 8px 0 0 var(--color-magenta-darker), 0 14px 22px -8px rgba(236,28,143,0.5);
}
.btn-primary:hover  {
  transform: translateY(-2px);
  box-shadow: 0 10px 0 0 var(--color-magenta-darker), 0 18px 28px -8px rgba(236,28,143,0.55);
}
.btn-secondary  {
  color: var(--color-magenta-dark);
  background: #fff;
  border-color: var(--color-magenta);
  box-shadow: 0 6px 0 0 rgba(236,28,143,0.25);
}
.btn-secondary:hover  {
  transform: translateY(-2px);
  background: var(--color-magenta-lightest);
}
.btn-ghost  {
  color: #fff;
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.6);
}
.btn-ghost:hover  {
  background: rgba(255,255,255,0.22);
}
.btn-block  {
  width: 100%;
}
.btn-lg  {
  font-size: var(--text-size-2xl);
  padding: 1.15rem 2.4rem;
}
/* ---- Slider heading controls (shared by gallery + reviews) ---- */ .slider-head-controls  {
  display: flex;
  gap: 0.6rem;
}
/* ---- Keyframes (site-wide by requirement; referenced by the hero section) ---- */ @keyframes sticker-wobble  {
  0%, 100%  {
    transform: rotate(-13deg);
  }
  50%  {
    transform: rotate(-7deg);
  }
}
@keyframes sticker-heart  {
  0%, 100%  {
    transform: scale(1);
  }
  50%  {
    transform: scale(1.18);
  }
}
/* ---- Site-wide responsive ---- */ @media (max-width: 767px)  {
  .btn-lg  {
    font-size: var(--text-size-xl);
    padding: 1rem 1.8rem;
  }
}
@media (max-width: 639px)  {
  .section-heading  {
    font-size: var(--text-size-7xl);
  }
}


 /** Content Section Styles **/ 

.content-section-3033  {
  padding-top: 0.7rem;
  padding-bottom: 0.7rem;
  background: rgba(255,248,241,0.92);
  &.content-section  {
    position: sticky;
    top: 0;
    z-index: 1000;
    border-bottom: 3px solid var(--color-magenta-lighter);
  }
  /* Frosted glass on a pseudo-element so the fixed mobile-menu overlay isn't trapped */ &.content-section::before  {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    pointer-events: none;
  }
  .content-section-inner  {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    flex-wrap: nowrap;
  }
  .logo  {
    flex: 0 0 auto;
  }
  .logo img  {
    height: 130px;
    width: auto;
  }
  .header-cta  {
    display: flex;
    align-items: center;
    gap: 1rem;
  }
  .header-phone  {
    font-family: "Baloo 2", sans-serif;
    font-weight: var(--font-weight-bold);
    font-size: var(--text-size-lg);
    color: var(--color-magenta-dark);
    text-decoration: none;
    white-space: nowrap;
  }
  .header-phone span  {
    display: block;
    font-size: var(--text-size-3xs);
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-grape);
    opacity: 0.6;
  }
  /* Nav link typography not covered by menu tokens */ .core-menu-link  {
    font-family: "Baloo 2", sans-serif;
    font-weight: var(--font-weight-semibold);
  }
  /* Collapsed header: burger to the far right, CTA button stays to its left, phone moves into the overlay */ .core-menu.is-collapsed  {
    order: 3;
  }
  .core-menu.is-collapsed ~ .header-cta  {
    order: 2;
    margin-left: auto;
  }
  .core-menu.is-collapsed ~ .header-cta .header-phone  {
    display: none;
  }
  /* Phone + CTA inside the open mobile menu (mobile-overlay-bottom slot) */ .mobile-menu-cta  {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
  }
  .mobile-menu-cta .btn  {
    width: 100%;
  }
  .mobile-menu-cta .header-phone  {
    text-align: center;
  }
  @media (max-width: 1023px)  {
    .core-menu  {
      --core-menu-gap: 1rem;
    }
    .logo img  {
      height: 104px;
    }
  }
  @media (max-width: 767px)  {
    .logo img  {
      height: 88px;
    }
    /* Compact the header CTA button so logo + button + burger fit one row */ .core-menu.is-collapsed ~ .header-cta .btn  {
      padding: 0.7rem 1.1rem;
      font-size: var(--text-size-reg);
    }
  }
  @media (max-width: 639px)  {
    .logo img  {
      height: 48px;
    }
    .content-section-inner  {
      gap: 0.6rem;
    }
    /* On the smallest phones the header CTA button lives in the mobile menu overlay instead */ .core-menu.is-collapsed ~ .header-cta  {
      display: none;
    }
  }
}
.content-section-3034  {
  &.content-section  {
    color: rgba(255,255,255,0.82);
  }
  .footer-grid  {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: 2.5rem;
  }
  h4  {
    color: #fff;
    font-size: var(--text-size-xl);
    margin-bottom: 1rem;
  }
  img.footer-logo  {
    height: 168px;
    width: auto;
    margin-bottom: 1rem;
  }
  ul  {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 0.55rem;
  }
  a  {
    color: rgba(255,255,255,0.82);
    text-decoration: none;
  }
  a:hover  {
    color: #fff;
  }
  .footer-bottom  {
    margin-top: 2.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255,255,255,0.15);
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    font-size: var(--text-size-sm);
  }
  @media (max-width: 1023px)  {
    .footer-grid  {
      grid-template-columns: 1fr 1fr;
    }
  }
  @media (max-width: 767px)  {
    .footer-grid  {
      grid-template-columns: 1fr;
    }
  }
  @media (max-width: 639px)  {
    .footer-bottom  {
      flex-direction: column;
      gap: 0.5rem;
    }
    img.footer-logo  {
      height: 120px;
    }
    a  {
      overflow-wrap: break-word;
    }
  }
}
.content-section-3035  {
  background: linear-gradient(90deg, rgba(24,20,28,0.82) 0%, rgba(24,20,28,0.55) 48%, rgba(24,20,28,0.30) 100%), url('/site-assets/images/hero-kids.jpg') center / cover no-repeat;
  &.content-section  {
    color: #fff;
    position: relative;
    overflow: hidden;
  }
  .content-section-inner  {
    position: relative;
    z-index: 2;
  }
  .hero-layout  {
    display: grid;
    grid-template-columns: 1fr 0.82fr;
    gap: 2.5rem;
    align-items: center;
    position: relative;
  }
  .hero-layout > *  {
    min-width: 0;
  }
  .hero-slider  {
    position: relative;
    z-index: 1;
    min-width: 0;
  }
  .hero-slider .core-content-slider  {
    border-radius: 26px;
    overflow: hidden;
    box-shadow: 0 24px 50px -22px rgba(20,9,38,0.7);
    border: 5px solid #fff;
  }
  .hero-slider .slider-track  {
    gap: 0;
  }
  .hero-slider .slider-item img  {
    width: 100%;
    height: 400px;
    object-fit: cover;
    display: block;
  }
  .hero-slider .slider-dots  {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 14px;
    display: flex;
    justify-content: center;
    margin: 0;
    z-index: 2;
  }
  .hero-slider .slider-dot  {
    background: rgba(255,255,255,0.6);
  }
  .hero-slider .slider-dot.active  {
    background: #fff;
  }
  .hero-sticker  {
    position: absolute;
    top: -28px;
    left: -32px;
    transform: rotate(-13deg);
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: radial-gradient(circle at 38% 28%, rgba(255,255,255,0.55) 0%, rgba(255,255,255,0) 38%), radial-gradient(circle at 50% 42%, var(--color-sunshine) 0%, var(--color-magenta) 80%);
    border: 9px solid #fff;
    outline: 2px solid rgba(236,28,143,0.25);
    box-shadow: 0 14px 30px -8px rgba(20,9,38,0.6), inset 0 -10px 22px -10px rgba(20,9,38,0.45);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0.85rem;
    color: #fff;
    z-index: 3;
    animation: sticker-wobble 4.5s ease-in-out infinite;
    transform-origin: center;
  }
  .hero-sticker > *  {
    flex: 0 0 auto;
  }
  .hero-sticker::before  {
    content: "";
    position: absolute;
    inset: 7px;
    border-radius: 50%;
    border: 2px dashed rgba(255,255,255,0.75);
    pointer-events: none;
  }
  .hero-sticker:hover  {
    animation-play-state: paused;
    transform: rotate(-13deg) scale(1.05);
  }
  .hero-sticker-heart  {
    font-size: 17px;
    line-height: 1;
    margin-bottom: 0.1rem;
    text-shadow: 0 2px 6px rgba(20,9,38,0.3);
    animation: sticker-heart 1.6s ease-in-out infinite;
  }
  .hero-sticker-top  {
    font-family: "Baloo 2", sans-serif;
    font-weight: 700;
    font-size: 13px;
    line-height: 1.1;
  }
  .hero-sticker-big  {
    font-family: "Baloo 2", sans-serif;
    font-weight: 800;
    font-size: 20px;
    line-height: 1.05;
    margin-bottom: 0.2rem;
    text-shadow: 0 2px 6px rgba(20,9,38,0.3);
  }
  .hero-sticker-sub  {
    font-family: "Nunito", sans-serif;
    font-weight: 700;
    font-size: 9px;
    line-height: 1.25;
    max-width: 8.5rem;
    opacity: 0.96;
  }
  @media (prefers-reduced-motion: reduce)  {
    .hero-sticker, .hero-sticker-heart  {
      animation: none;
    }
  }
  .hero-card  {
    max-width: 46rem;
  }
  h1  {
    color: #fff;
    font-size: var(--text-size-12xl);
    text-shadow: 0 4px 16px rgba(20,9,38,0.45);
  }
  .hero-lede  {
    font-size: var(--text-size-2xl);
    font-weight: var(--font-weight-semibold);
    max-width: 40ch;
    margin-bottom: 0.5rem;
    text-shadow: 0 2px 8px rgba(20,9,38,0.4);
  }
  .hero-subline  {
    font-size: var(--text-size-lg);
    margin-bottom: 1.75rem;
    color: rgba(255,255,255,0.92);
  }
  .hero-actions  {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
  }
  @media (max-width: 1023px)  {
    h1  {
      font-size: var(--text-size-11xl);
    }
    .hero-layout  {
      grid-template-columns: 1fr 0.9fr;
      gap: 1.75rem;
    }
    .hero-sticker  {
      width: 132px;
      height: 132px;
      top: -22px;
      left: -22px;
      right: auto;
      padding: 0.6rem;
    }
    .hero-sticker-heart  {
      font-size: 14px;
    }
    .hero-sticker-top  {
      font-size: 11px;
    }
    .hero-sticker-big  {
      font-size: 16px;
    }
    .hero-sticker-sub  {
      font-size: 8px;
      max-width: 6.5rem;
    }
    .hero-slider .slider-item img  {
      height: 320px;
    }
  }
  @media (max-width: 767px)  {
    h1  {
      font-size: var(--text-size-9xl);
    }
    .hero-lede  {
      font-size: var(--text-size-xl);
    }
    .hero-actions .btn  {
      width: 100%;
    }
    .hero-layout  {
      grid-template-columns: 1fr;
    }
    .hero-slider  {
      order: 3;
    }
    .hero-sticker  {
      width: 116px;
      height: 116px;
      top: -16px;
      left: -10px;
      padding: 0.5rem;
    }
    .hero-sticker-heart  {
      font-size: 12px;
      margin-bottom: 0.05rem;
    }
    .hero-sticker-top  {
      font-size: 9px;
    }
    .hero-sticker-big  {
      font-size: 13px;
      margin-bottom: 0.1rem;
    }
    .hero-sticker-sub  {
      font-size: 7px;
      line-height: 1.2;
      max-width: 5.8rem;
    }
    .hero-slider .slider-item img  {
      height: 260px;
    }
  }
  @media (max-width: 639px)  {
    .hero-slider .slider-item img  {
      height: 210px;
    }
    .hero-sticker  {
      width: 100px;
      height: 100px;
      top: -12px;
      left: -8px;
      padding: 0.4rem;
    }
    .hero-sticker-heart  {
      font-size: 10px;
    }
    .hero-sticker-top  {
      font-size: 8px;
    }
    .hero-sticker-big  {
      font-size: 11px;
    }
    .hero-sticker-sub  {
      font-size: 6px;
      max-width: 5rem;
    }
  }
}
.content-section-3036  {
  /* Light variant of the feature grid (source .why-us.why-light, flattened) */ .why-grid  {
    gap: 1.6rem;
    margin-top: 3rem;
  }
  .feature-card  {
    background: var(--color-cream);
    border: 2px solid var(--color-cream-warm);
    border-radius: 22px;
    padding: 1.8rem 1.6rem;
    box-shadow: 0 14px 32px -22px rgba(44,20,80,0.45);
    transition: transform 0.16s ease, background 0.16s ease;
  }
  .feature-card:hover  {
    transform: translateY(-5px);
    background: var(--color-cream);
    box-shadow: 0 22px 40px -22px rgba(44,20,80,0.5);
  }
  .feature-icon  {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    margin-bottom: 1.1rem;
    background-image: linear-gradient(135deg, var(--color-magenta), var(--color-sunshine));
    box-shadow: 0 8px 18px -8px rgba(236,28,143,0.7);
  }
  .feature-card:nth-child(2) .feature-icon  {
    background-image: linear-gradient(135deg, var(--color-sky), var(--color-sky-light));
  }
  .feature-card:nth-child(3) .feature-icon  {
    background-image: linear-gradient(135deg, var(--color-sunshine), var(--color-magenta-light));
  }
  .feature-card:nth-child(4) .feature-icon  {
    background-image: linear-gradient(135deg, var(--color-magenta-light), var(--color-sky));
  }
  .feature-card:nth-child(5) .feature-icon  {
    background-image: linear-gradient(135deg, var(--color-lime), var(--color-sky));
  }
  .feature-card:nth-child(6) .feature-icon  {
    background-image: linear-gradient(135deg, var(--color-sunshine), var(--color-sky-light));
  }
  .feature-card h3  {
    font-size: var(--text-size-3xl);
    margin-bottom: 0.4rem;
  }
  .feature-card p  {
    color: #4f3a6b;
    font-size: var(--text-size-reg);
    margin: 0;
  }
  @media (max-width: 1023px)  {
    .why-grid.grid-cols-3  {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  @media (max-width: 767px)  {
    .why-grid.grid-cols-3  {
      grid-template-columns: 1fr;
    }
  }
  @media (max-width: 639px)  {
    .feature-card  {
      padding-left: 1.3rem;
      padding-right: 1.3rem;
    }
  }
}
.content-section-3037  {
  .type-grid  {
    gap: 2rem;
    margin-top: 2.5rem;
  }
  .type-card  {
    background: #fff;
    border-radius: 26px;
    padding: 0;
    overflow: hidden;
    border: 3px solid var(--color-cream-warm);
    box-shadow: 0 18px 40px -24px rgba(44,20,80,0.45);
    display: flex;
    flex-direction: column;
    transition: transform 0.16s ease, box-shadow 0.16s ease;
  }
  .type-card:hover  {
    transform: translateY(-6px);
    box-shadow: 0 26px 46px -22px rgba(44,20,80,0.5);
  }
  .type-card .type-banner  {
    height: 8px;
    background-image: linear-gradient(90deg, var(--color-magenta), var(--color-sunshine));
  }
  .type-card.type-sky .type-banner  {
    background-image: linear-gradient(90deg, var(--color-sky), var(--color-sky-light));
  }
  .type-card.type-sun .type-banner  {
    background-image: linear-gradient(90deg, var(--color-sunshine), var(--color-magenta-light));
  }
  .type-card .type-media  {
    width: 100%;
    height: 240px;
    overflow: hidden;
  }
  .type-card .type-media img  {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
  }
  .type-card:hover .type-media img  {
    transform: scale(1.05);
  }
  .type-card .type-body  {
    padding: 2rem 1.8rem 2.2rem;
  }
  .type-card h3  {
    font-size: var(--text-size-5xl);
  }
  .type-tag  {
    display: inline-block;
    font-family: "Baloo 2", sans-serif;
    font-weight: 700;
    font-size: var(--text-size-3xs);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-magenta-dark);
    background: var(--color-magenta-lightest);
    padding: 0.3rem 0.8rem;
    border-radius: 999px;
    margin-bottom: 0.9rem;
  }
  .type-card.type-sky .type-tag  {
    color: var(--color-sky-dark);
    background: var(--color-sky-lightest);
  }
  .type-card.type-sun .type-tag  {
    color: var(--color-sunshine-dark);
    background: var(--color-sunshine-lighter);
  }
  .gallery-all  {
    text-align: center;
    margin-top: 2.5rem;
  }
  @media (max-width: 1023px)  {
    .type-grid.grid-cols-3  {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  @media (max-width: 767px)  {
    .type-grid.grid-cols-3  {
      grid-template-columns: 1fr;
    }
  }
  @media (max-width: 639px)  {
    .type-card .type-media  {
      height: 200px;
    }
  }
}
.content-section-3038  {
  /* Pad the track so card shadows / hover-lift aren't clipped (core subtracts track padding) */ .slider-track  {
    padding: 16px 4px 24px;
  }
  .gallery-head  {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    flex-wrap: wrap;
    margin-bottom: 2.25rem;
  }
  .product-card  {
    width: 100%;
    background: #fff;
    border-radius: 24px;
    overflow: hidden;
    border: 3px solid #fff;
    box-shadow: 0 16px 36px -22px rgba(44,20,80,0.5);
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
  }
  .product-card:hover  {
    transform: translateY(-6px);
    border-color: var(--color-magenta-lighter);
    box-shadow: 0 26px 44px -22px rgba(44,20,80,0.55);
  }
  .product-media  {
    position: relative;
    height: 240px;
    flex: 0 0 auto;
    background: var(--color-sky-lightest);
  }
  .product-media img  {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .product-price  {
    position: absolute;
    top: 0.9rem;
    right: 0.9rem;
    font-family: "Baloo 2", sans-serif;
    font-weight: 800;
    font-size: var(--text-size-xl);
    color: #fff;
    background-image: linear-gradient(95deg, var(--color-magenta), var(--color-sunshine));
    padding: 0.35rem 0.9rem;
    border-radius: 999px;
    box-shadow: 0 6px 14px -4px rgba(236,28,143,0.6);
  }
  .product-price small  {
    display: block;
    font-size: var(--text-size-5xs);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.85;
    line-height: 1;
  }
  .product-body  {
    padding: 1.3rem 1.4rem 1.5rem;
    display: flex;
    flex-direction: column;
    flex: 1;
  }
  .product-body h3  {
    font-size: var(--text-size-3xl);
    margin-bottom: 0.35rem;
  }
  .product-meta  {
    font-size: var(--text-size-sm);
    color: #6b5a83;
    margin-bottom: 1.1rem;
  }
  .product-card .btn  {
    margin-top: auto;
  }
  /* Slider chrome */ .slider-prev, .slider-next  {
    width: 52px;
    height: 52px;
    background: var(--color-magenta);
    color: #fff;
    box-shadow: 0 5px 0 0 var(--color-magenta-darker);
  }
  .slider-prev:hover, .slider-next:hover  {
    background: var(--color-magenta-dark);
  }
  .slider-dots  {
    justify-content: center;
    margin-top: 1.5rem;
  }
  .slider-dot  {
    width: 11px;
    height: 11px;
    background: var(--color-magenta-lighter);
  }
  .slider-dot.active  {
    background: var(--color-magenta);
  }
  @media (max-width: 767px)  {
    .gallery-head  {
      align-items: flex-start;
    }
    .section-heading  {
      word-break: break-word;
    }
  }
  @media (max-width: 639px)  {
    .slider-prev, .slider-next  {
      width: 46px;
      height: 46px;
    }
    /* Keep prev/next controls visible and centred under the heading on small phones */ .gallery-head  {
      flex-direction: column;
    }
    #gallery-controls  {
      justify-content: flex-start;
    }
  }
}
.content-section-3039  {
  .reviews-head  {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    flex-wrap: wrap;
    margin-bottom: 2rem;
  }
  .reviews-badge  {
    display: inline-flex;
    align-items: center;
    gap: 0.85rem;
    background: #fff;
    border: 2px solid var(--color-sky-lighter);
    border-radius: 999px;
    padding: 0.6rem 1.2rem 0.6rem 0.7rem;
    box-shadow: 0 6px 18px -8px rgba(44,20,80,0.25);
  }
  .reviews-badge .g  {
    font-family: "Baloo 2", sans-serif;
    font-weight: 700;
    font-size: var(--text-size-3xl);
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--color-sky-lightest);
    color: var(--color-sky-dark);
  }
  .reviews-badge .stars  {
    color: var(--color-sunshine);
    font-size: var(--text-size-xl);
    letter-spacing: 2px;
  }
  .reviews-badge b  {
    font-family: "Baloo 2", sans-serif;
    font-size: var(--text-size-lg);
  }
  .reviews-badge small  {
    color: #6b5a83;
  }
  .review-card  {
    width: 100%;
    max-width: none;
    background: #fff;
    border-radius: 20px;
    padding: 1.3rem 1.3rem;
    border: 2px solid var(--color-magenta-lightest);
    box-shadow: 0 14px 30px -18px rgba(44,20,80,0.4);
    height: 100%;
    display: flex;
    flex-direction: column;
  }
  .review-card .stars  {
    color: var(--color-sunshine);
    font-size: var(--text-size-reg);
    letter-spacing: 1px;
    margin-bottom: 0.6rem;
  }
  .review-card .review-text  {
    font-size: var(--text-size-sm);
    margin-bottom: 1rem;
  }
  .review-card .reviewer  {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    margin-top: auto;
  }
  .review-card .avatar  {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background-image: linear-gradient(135deg, var(--color-magenta), var(--color-sunshine));
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: "Baloo 2", sans-serif;
    font-weight: 700;
    font-size: var(--text-size-lg);
  }
  .review-card .reviewer-name  {
    font-family: "Baloo 2", sans-serif;
    font-weight: 700;
    line-height: 1.1;
  }
  .review-card .reviewer-src  {
    font-size: var(--text-size-3xs);
    color: #7d6e92;
  }
  /* Slider chrome */ .slider-prev, .slider-next  {
    width: 52px;
    height: 52px;
    background: var(--color-magenta);
    color: #fff;
    box-shadow: 0 5px 0 0 var(--color-magenta-darker);
  }
  .slider-prev:hover, .slider-next:hover  {
    background: var(--color-magenta-dark);
  }
  .slider-dots  {
    justify-content: center;
    margin-top: 1.5rem;
  }
  .slider-dot  {
    width: 11px;
    height: 11px;
    background: var(--color-magenta-lighter);
  }
  .slider-dot.active  {
    background: var(--color-magenta);
  }
  .slider-footer  {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.5rem;
    padding-bottom: 8px;
  }
  @media (max-width: 767px)  {
    .reviews-head  {
      flex-direction: column;
      align-items: flex-start;
    }
  }
  @media (max-width: 639px)  {
    .slider-prev, .slider-next  {
      width: 46px;
      height: 46px;
    }
    .reviews-badge  {
      padding: 0.5rem 1rem 0.5rem 0.6rem;
    }
  }
}
.content-section-3040  {
  .delivery-layout  {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 3rem;
    align-items: stretch;
  }
  .delivery-map  {
    position: relative;
    border-radius: 26px;
    overflow: hidden;
    border: 4px solid #fff;
    box-shadow: 0 22px 44px -24px rgba(44,20,80,0.5);
    height: 100%;
    min-height: 340px;
    background: var(--color-sky-lightest);
  }
  .delivery-map iframe  {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
    filter: saturate(1.05);
  }
  .area-map-base  {
    position: absolute;
    inset: 0;
    pointer-events: none;
  }
  .area-overlay  {
    position: absolute;
    inset: 0;
    padding: 12px;
    pointer-events: none;
  }
  .area-overlay svg  {
    width: 100%;
    height: 100%;
    display: block;
  }
  .delivery-map-tag  {
    position: absolute;
    left: 14px;
    bottom: 14px;
    font-family: "Baloo 2", sans-serif;
    font-weight: 700;
    font-size: var(--text-size-sm);
    color: #fff;
    background-image: linear-gradient(95deg, var(--color-magenta), var(--color-sunshine));
    padding: 0.45rem 1rem;
    border-radius: 999px;
    box-shadow: 0 8px 18px -6px rgba(236,28,143,0.6);
    pointer-events: none;
  }
  .delivery-points  {
    list-style: none;
    margin: 1.5rem 0 0;
    padding: 0;
    display: grid;
    gap: 1rem;
  }
  .delivery-points li  {
    display: flex;
    gap: 0.9rem;
    align-items: flex-start;
    font-size: var(--text-size-lg);
  }
  .delivery-points .dpt  {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: var(--color-sky-lightest);
    color: var(--color-sky-dark);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
  }
  .delivery-points b  {
    font-family: "Baloo 2", sans-serif;
  }
  @media (max-width: 1023px)  {
    .delivery-layout  {
      grid-template-columns: 1fr;
    }
  }
  @media (max-width: 639px)  {
    .delivery-map  {
      min-height: 260px;
    }
  }
}
.content-section-3041  {
  &.content-section  {
    position: relative;
    overflow: hidden;
  }
  .why-decoration  {
    position: absolute;
    width: 520px;
    height: 520px;
    top: -240px;
    right: -160px;
    background: radial-gradient(circle, rgba(236,28,143,0.55), transparent 68%);
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
  }
  /* Keep content above the decoration glow */ .section-head-center, .step-grid  {
    position: relative;
    z-index: 1;
  }
  h2  {
    color: #fff;
  }
  .section-intro  {
    color: rgba(255,255,255,0.82);
  }
  .eyebrow  {
    color: var(--color-sunshine);
  }
  .step-grid  {
    gap: 1.6rem;
    margin-top: 3rem;
  }
  /* Dark-section step cards (source .process .step-card overrides, flattened) */ .step-card  {
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 24px;
    padding: 2.4rem 1.7rem 1.9rem;
    position: relative;
    box-shadow: none;
    transition: transform 0.16s ease, background 0.16s ease;
  }
  .step-card:hover  {
    transform: translateY(-5px);
    background: rgba(255,255,255,0.1);
  }
  .step-num  {
    position: absolute;
    top: -26px;
    left: 1.7rem;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background-image: linear-gradient(135deg, var(--color-magenta), var(--color-sunshine));
    color: #fff;
    font-family: "Baloo 2", sans-serif;
    font-weight: 800;
    font-size: var(--text-size-4xl);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 18px -6px rgba(236,28,143,0.6);
  }
  .step-card h3  {
    color: #fff;
    font-size: var(--text-size-3xl);
    margin: 0.8rem 0 0.5rem;
  }
  .step-card p  {
    color: rgba(255,255,255,0.82);
    font-size: var(--text-size-reg);
    margin: 0;
  }
  .step-day  {
    display: inline-block;
    font-family: "Baloo 2", sans-serif;
    font-weight: 700;
    font-size: var(--text-size-3xs);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #fff;
    background: rgba(255,255,255,0.14);
    padding: 0.25rem 0.7rem;
    border-radius: 999px;
  }
  @media (max-width: 1023px)  {
    .step-grid.grid-cols-4  {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      row-gap: 3rem;
    }
  }
  @media (max-width: 767px)  {
    .step-grid.grid-cols-4  {
      grid-template-columns: 1fr;
    }
  }
  @media (max-width: 639px)  {
    .step-card  {
      padding-left: 1.3rem;
      padding-right: 1.3rem;
    }
  }
}
.content-section-3042  {
  .faq-layout  {
    max-width: 52rem;
    margin: 2.5rem auto 0;
  }
  .core-accordion-01 details  {
    background: #fff;
    border: 2px solid var(--color-cream-warm);
  }
  .core-accordion-01 details[open]  {
    border-color: var(--color-magenta-lighter);
  }
  .core-accordion-01 summary  {
    color: var(--color-grape);
    font-family: "Baloo 2", sans-serif;
  }
  .core-accordion-01 details p  {
    margin: 0;
    color: #463160;
  }
  .faq-cta  {
    text-align: center;
    margin-top: 2.5rem;
  }
}
.content-section-3043  {
  .enquiry-layout  {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: 3rem;
    align-items: start;
  }
  .enquiry-aside h2  {
    font-size: var(--text-size-10xl);
  }
  .enquiry-aside .section-intro  {
    margin-bottom: 1.6rem;
  }
  .enquiry-contact  {
    list-style: none;
    padding: 0;
    margin: 1.6rem 0 0;
    display: grid;
    gap: 1rem;
  }
  .enquiry-contact li  {
    display: flex;
    gap: 0.9rem;
    align-items: center;
    font-size: var(--text-size-lg);
  }
  .enquiry-contact li > div  {
    min-width: 0;
  }
  .enquiry-contact a  {
    color: var(--color-grape);
    text-decoration: none;
    overflow-wrap: break-word;
  }
  .enquiry-contact .eci  {
    width: 44px;
    height: 44px;
    flex: 0 0 auto;
    border-radius: 12px;
    background-image: linear-gradient(135deg, var(--color-magenta), var(--color-sunshine));
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
  }
  .enquiry-contact b  {
    font-family: "Baloo 2", sans-serif;
  }
  .enquiry-contact a:hover  {
    color: var(--color-magenta);
  }
  .enquiry-form-card  {
    background: #fff;
    border-radius: 28px;
    padding: 2.4rem;
    border: 3px solid var(--color-magenta-lightest);
    box-shadow: 0 24px 50px -28px rgba(44,20,80,0.5);
  }
  .enquiry-form-card label  {
    font-family: "Baloo 2", sans-serif;
    font-weight: 600;
    font-size: var(--text-size-reg);
    color: var(--color-grape);
  }
  .enquiry-form-card .form-note  {
    font-size: var(--text-size-sm);
    color: #74648b;
    margin-top: 1rem;
  }
  /* Post-submit success / fail messages (toggled by Basin's render mode) */ .form-msg  {
    text-align: center;
    padding: 2.5rem 1.5rem;
  }
  .form-msg-icon  {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    margin: 0 auto 1.25rem;
    position: relative;
    background-image: linear-gradient(135deg, var(--color-magenta), var(--color-sunshine));
  }
  .form-msg-success .form-msg-icon::after  {
    content: "";
    position: absolute;
    left: 27px;
    top: 16px;
    width: 17px;
    height: 32px;
    border: solid #fff;
    border-width: 0 5px 5px 0;
    transform: rotate(45deg);
  }
  .form-msg-title  {
    font-family: "Baloo 2", sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    margin: 0 0 0.5rem;
    color: var(--color-grape);
  }
  .form-msg-text  {
    font-size: 1.1rem;
    margin: 0;
  }
  .form-msg-fail  {
    border: 2px solid #c0392b;
    border-radius: 14px;
    background: rgba(192, 57, 43, 0.08);
    padding: 1.5rem;
  }
  .form-msg-fail .form-msg-title  {
    color: #c0392b;
    font-size: 1.25rem;
  }
  .form-msg-fail .form-msg-text  {
    font-size: 1rem;
  }
  @media (max-width: 1023px)  {
    .enquiry-layout  {
      grid-template-columns: 1fr;
    }
  }
  @media (max-width: 767px)  {
    .enquiry-aside h2  {
      font-size: var(--text-size-8xl);
    }
  }
  @media (max-width: 639px)  {
    .enquiry-form-card  {
      padding: 1.6rem;
    }
    .enquiry-aside h2  {
      font-size: var(--text-size-7xl);
    }
  }
}
