#fw-section-hero-680bc5cc-04be-48c0-a411-7e6ae13a7ac7 {


/* pūki world — Rounded hero image */
/* All four corners — 18px */

.section-background {
  border-radius: 18px !important;
  overflow: hidden !important;
}

}
#fw-section-gallery-5526b652-5b43-4a61-b155-1f79bfca8221 {


/* ==========================================
   pūki world — UPPER IMAGE GALLERY
   Complete replacement — 15px button inset
   ========================================== */

/* MOBILE PORTRAIT */
@media (max-width:639px) and (orientation:portrait) {

  /* Two images visible side by side */
  .image-gallery__slider {
    --slider-columns:2 !important;
    --col-grid-gap:12px !important;

    display:flex !important;
    flex-wrap:nowrap !important;
    gap:12px !important;
    width:100% !important;
  }

  .image-gallery__slider > .image-gallery__item {
    flex:0 0 calc((100% - 12px) / 2) !important;
    width:calc((100% - 12px) / 2) !important;
    min-width:0 !important;
    max-width:none !important;
    margin-inline:0 !important;
    box-sizing:border-box !important;
    aspect-ratio:1 / 1;
  }

  /* Gallery positioning reference */
  .image-gallery__slider-wrapper {
    position:relative !important;
  }

  /* Compact navigation container */
  .image-gallery__controls {
    display:flex !important;
    position:absolute !important;

    top:auto !important;
    right:0 !important;
    bottom:0 !important;
    left:auto !important;

    width:auto !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;

    transform:none !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:none !important;
    z-index:10 !important;
  }

  /* Individual circular navigation buttons */
  .image-gallery__controls .image-gallery__nav-btn {
    display:inline-flex !important;
    position:absolute !important;

    align-items:center !important;
    justify-content:center !important;

    top:auto !important;
    bottom:15px !important;

    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    min-height:36px !important;
    max-width:36px !important;
    max-height:36px !important;

    flex:0 0 36px !important;
    margin:0 !important;
    padding:0 !important;

    pointer-events:auto !important;
  }

  /* Grey plus — bottom-right */
  .image-gallery__controls .image-gallery__nav-btn--next {
    left:auto !important;
    right:15px !important;
  }

  /* Red minus — bottom-left */
  .image-gallery__controls .image-gallery__nav-btn--prev {
    right:auto !important;
    left:15px !important;
  }

  /* Replace native arrows with plus/minus */
  .image-gallery__nav-btn svg {
    display:none !important;
  }

  .image-gallery__nav-btn::after {
    content:"+" !important;
    font-family:Arial,sans-serif;
    font-size:23px;
    font-weight:400;
    line-height:1;
    color:#666;
  }

  .image-gallery__nav-btn--prev::after {
    content:"−" !important;
    color:#E52335 !important;
  }
}

/* SHARED BUTTON APPEARANCE */
.image-gallery__controls .image-gallery__nav-btn {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  box-sizing:border-box !important;

  background:#fff !important;
  color:#666 !important;
  border:1px solid rgba(0,0,0,.045) !important;
  border-radius:50% !important;

  box-shadow:
    0 3px 8px rgba(0,0,0,.16),
    0 8px 18px rgba(0,0,0,.10) !important;

  transform:scale(1);
  transform-origin:center;

  transition:
    transform 2s ease,
    color .2s ease,
    box-shadow 2s ease !important;
}

/* Desktop and tablet: native arrow icons */
.image-gallery__nav-btn svg {
  display:block;
  flex-shrink:0;
}

/* Hover animation */
@media (hover:hover) {
  .image-gallery__controls
  .image-gallery__nav-btn:not(:disabled):hover {
    color:#E52335 !important;
    transform:scale(1.075);

    box-shadow:
      0 6px 14px rgba(0,0,0,.16),
      0 14px 30px rgba(0,0,0,.12) !important;
  }
}

/* Touch and keyboard feedback */
.image-gallery__controls
.image-gallery__nav-btn:not(:disabled):is(:active,:focus-visible) {
  color:#E52335 !important;
}

/* Hide unavailable navigation */
.image-gallery__controls
.image-gallery__nav-btn:disabled {
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Rounded gallery images */
.image-gallery__item img {
  border-radius:18px !important;
}

/* Reduced-motion accessibility */
@media (prefers-reduced-motion:reduce) {
  .image-gallery__controls .image-gallery__nav-btn {
    transition:none !important;
  }
}

/* pūki world — gallery navigation alignment */
@media (max-width:639px) and (orientation:portrait) {

  .image-gallery__slider-wrapper {
    position:relative !important;
  }

  .image-gallery__controls {
    left:0 !important;
    right:0 !important;
    width:100% !important;
  }

  .image-gallery__controls
  .image-gallery__nav-btn--prev {
    left:15px !important;
    right:auto !important;
  }

  .image-gallery__controls
  .image-gallery__nav-btn--next {
    right:15px !important;
    left:auto !important;
  }
}

}
#fw-section-image-f0f7dbf7-9567-449c-beb9-b2b929c3fb93 {


/* Mobile portrait: two images per view */
@media (max-width: 639px) and (orientation: portrait) {
  .image-gallery__slider {
    --slider-columns: 2 !important;
    --col-grid-gap: 12px !important;

    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    width: 100% !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0 !important;
    scrollbar-width: none;
  }

  .image-gallery__slider::-webkit-scrollbar {
    display: none;
  }

  .image-gallery__slider > .image-gallery__item {
    flex: 0 0 calc((100% - 12px) / 2) !important;
    width: calc((100% - 12px) / 2) !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-inline: 0 !important;
    box-sizing: border-box !important;
    aspect-ratio: 1 / 1;
    scroll-snap-align: start;
  }
}

/* Arrow circles: match the header cart */
.image-gallery__controls .image-gallery__nav-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  max-width: 48px !important;
  flex: 0 0 48px !important;
  padding: 0 !important;
  box-sizing: border-box !important;

  background: #fff !important;
  color: #111 !important;
  border: 1px solid rgba(0, 0, 0, .045) !important;
  border-radius: 50% !important;

  box-shadow:
    0 2px 5px rgba(0, 0, 0, .04),
    0 8px 18px rgba(0, 0, 0, .025),
    inset 0 1px 0 #fff !important;

  /* Gentle return after mouse-off */
  scale: 1;

  transition:
    color 3.2s ease,
    scale 3.2s cubic-bezier(.22, 1, .36, 1),
    box-shadow 3.2s ease !important;
}

.image-gallery__nav-btn svg {
  display: block;
  flex-shrink: 0;
}

/* Red on tap and keyboard focus */
.image-gallery__controls
.image-gallery__nav-btn:not(:disabled):is(:active, :focus-visible) {
  color: #E52335 !important;
  transition: color .1s ease !important;
}

/* Desktop and tablet: matching hover animation */
@media (min-width: 640px) and (hover: hover) {
  .image-gallery__controls
  .image-gallery__nav-btn:not(:disabled):hover {
    color: #E52335 !important;

    /* Grow by 7.5% */
    scale: 1.075;

    /* Enhanced soft shadow */
    box-shadow:
      0 5px 12px rgba(0, 0, 0, .09),
      0 12px 28px rgba(0, 0, 0, .065),
      inset 0 1px 0 #fff !important;

    /* Quick enlargement */
    transition:
      color .1s ease,
      scale .25s cubic-bezier(.22, 1, .36, 1),
      box-shadow .25s ease !important;
  }
}

/* Keep unavailable arrows visibly inactive */
.image-gallery__controls .image-gallery__nav-btn:disabled {
  color: #b8b8b8 !important;
  cursor: default !important;
}

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce) {
  .image-gallery__controls .image-gallery__nav-btn {
    transition: none !important;
  }
}
/* pūki world — Rounded gallery images */

img {
  border-radius: 18px !important;
}

/* Keep images neatly inside their corners */
img {
  overflow: hidden;
}

}
#fw-section-gallery-befa017a-5378-4bbf-8509-f130196176e3 {


/* ==========================================
   pūki world — LOWER IMAGE GALLERY
   Complete replacement — 15px button inset
   ========================================== */

/* MOBILE PORTRAIT */
@media (max-width:639px) and (orientation:portrait) {

  /* Three images visible side by side */
  .image-gallery__slider {
    --slider-columns:3 !important;
    --col-grid-gap:12px !important;

    display:flex !important;
    flex-wrap:nowrap !important;
    gap:12px !important;
    width:100% !important;

    overflow-x:auto !important;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }

  .image-gallery__slider::-webkit-scrollbar {
    display:none;
  }

  .image-gallery__slider > .image-gallery__item {
    flex:0 0 calc((100% - 24px) / 3) !important;
    width:calc((100% - 24px) / 3) !important;
    min-width:0 !important;
    max-width:none !important;
    margin-inline:0 !important;
    box-sizing:border-box !important;
    aspect-ratio:1 / 1;
    scroll-snap-align:start;
  }

  /* Gallery positioning reference */
  .image-gallery__slider-wrapper {
    position:relative !important;
  }

  /* Compact navigation container */
  .image-gallery__controls {
    display:flex !important;
    position:absolute !important;

    top:auto !important;
    right:0 !important;
    bottom:0 !important;
    left:auto !important;

    width:auto !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;

    transform:none !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:none !important;
    z-index:10 !important;
  }

  /* Individual circular navigation buttons */
  .image-gallery__controls .image-gallery__nav-btn {
    display:inline-flex !important;
    position:absolute !important;

    align-items:center !important;
    justify-content:center !important;

    top:auto !important;
    bottom:15px !important;

    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    min-height:36px !important;
    max-width:36px !important;
    max-height:36px !important;

    flex:0 0 36px !important;
    margin:0 !important;
    padding:0 !important;

    pointer-events:auto !important;
  }

  /* Grey plus — bottom-right */
  .image-gallery__controls .image-gallery__nav-btn--next {
    left:auto !important;
    right:15px !important;
  }

  /* Red minus — bottom-left */
  .image-gallery__controls .image-gallery__nav-btn--prev {
    right:auto !important;
    left:15px !important;
  }

  /* Replace native arrows with plus/minus */
  .image-gallery__nav-btn svg {
    display:none !important;
  }

  .image-gallery__nav-btn::after {
    content:"+" !important;
    font-family:Arial,sans-serif;
    font-size:23px;
    font-weight:400;
    line-height:1;
    color:#666 !important;
  }

  .image-gallery__nav-btn--prev::after {
    content:"−" !important;
    color:#E52335 !important;
  }
}

/* SHARED BUTTON APPEARANCE */
.image-gallery__controls .image-gallery__nav-btn {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  box-sizing:border-box !important;

  background:#fff !important;
  color:#666 !important;
  border:1px solid rgba(0,0,0,.045) !important;
  border-radius:50% !important;

  box-shadow:
    0 3px 8px rgba(0,0,0,.16),
    0 8px 18px rgba(0,0,0,.10) !important;

  transform:scale(1);
  transform-origin:center;

  transition:
    transform 2s ease,
    color .2s ease,
    box-shadow 2s ease !important;
}

/* Desktop and tablet: native arrow icons */
.image-gallery__nav-btn svg {
  display:block;
  flex-shrink:0;
}

/* Hover animation */
@media (hover:hover) {
  .image-gallery__controls
  .image-gallery__nav-btn:not(:disabled):hover {
    color:#E52335 !important;
    transform:scale(1.075);

    box-shadow:
      0 6px 14px rgba(0,0,0,.16),
      0 14px 30px rgba(0,0,0,.12) !important;
  }
}

/* Touch and keyboard feedback */
.image-gallery__controls
.image-gallery__nav-btn:not(:disabled):is(:active,:focus-visible) {
  color:#E52335 !important;
}

/* Hide unavailable navigation */
.image-gallery__controls
.image-gallery__nav-btn:disabled {
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Rounded gallery images */
.image-gallery__item img {
  border-radius:18px !important;
}

/* Reduced-motion accessibility */
@media (prefers-reduced-motion:reduce) {
  .image-gallery__controls .image-gallery__nav-btn {
    transition:none !important;
  }
}

/* pūki world — gallery navigation alignment */
@media (max-width:639px) and (orientation:portrait) {

  .image-gallery__slider-wrapper {
    position:relative !important;
  }

  .image-gallery__controls {
    left:0 !important;
    right:0 !important;
    width:100% !important;
  }

  .image-gallery__controls
  .image-gallery__nav-btn--prev {
    left:15px !important;
    right:auto !important;
  }

  .image-gallery__controls
  .image-gallery__nav-btn--next {
    right:15px !important;
    left:auto !important;
  }
}

}
#fw-section-newsletter-e22150f0-2ec1-4c37-bab6-a8eab3f21e48 {

/* =========================================
   pūki world — NEWSLETTER HEIGHT MATCH
   ========================================= */

.newsletter-form__input-button-container {
  align-items: center !important;
}

/* Email field outer container */
.newsletter-form__input .input-field {
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
}

/* Email input */
.newsletter-form__input #newsletter-email {
  height: 100% !important;
  min-height: 0 !important;
  max-height: 48px !important;
  padding: 0 20px !important;
  box-sizing: border-box !important;
}

/* Yay! button */
.newsletter-form__button button {
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  box-sizing: border-box !important;
}
/* ==========================================
   pūki world — CLEAN EMAIL AUTOFILL
   Remove blue background and square corners
   ========================================== */

/* Keep the outer field neatly rounded */
.newsletter-form__input .input-field {
  border-radius: 16px !important;
  overflow: hidden !important;
  background-color: #FFFFFF !important;
}

/* Keep the actual email input rounded */
.newsletter-form__input #newsletter-email {
  border-radius: 16px !important;
  background-clip: padding-box !important;
}

/* Override Chrome and Safari autofill colours */
.newsletter-form__input
#newsletter-email:-webkit-autofill,
.newsletter-form__input
#newsletter-email:-webkit-autofill:hover,
.newsletter-form__input
#newsletter-email:-webkit-autofill:focus,
.newsletter-form__input
#newsletter-email:-webkit-autofill:active {
  -webkit-box-shadow:
    0 0 0 1000px #FFFFFF inset !important;

  -webkit-text-fill-color: #111111 !important;

  border-radius: 16px !important;
  caret-color: #E52335 !important;
}
}

#fw-section-header {
--font-heading-scale: 1.0;
--font-body-scale: 1.0;
}