/* Slider content and placement adapted from the October 13 clean HTML build. */
.pp-slider { max-width:1010px; margin-inline:auto; color:#333; }
.pp-slider, .pp-slider * { box-sizing:border-box; }
.pp-slider__frame { position:relative; container-type:inline-size; aspect-ratio:1010/400; overflow:hidden; border-radius:12px; background:#f1f4ed; }
.pp-slider__slide { position:absolute; inset:0; opacity:0; pointer-events:none; transition:opacity 1s ease-in-out; }
.pp-slider__slide.is-active { opacity:1; z-index:2; pointer-events:auto; }
.pp-slider__slide.is-outgoing { opacity:1; z-index:1; }
@media (prefers-reduced-motion:reduce) { .pp-slider__slide { transition:none; } }
.pp-slider [hidden] { display:none !important; }
.pp-slider img.pp-slider__image { display:block; width:100%; height:100%; max-width:none; object-fit:contain; }
.pp-slider a.pp-slider__shop { position:absolute; left:var(--pp-x); top:var(--pp-y); display:inline-flex; align-items:center; justify-content:center; min-height:0; padding:0 calc(40 * 100cqw / 1010); margin:0; border:0; border-radius:calc(3 * 100cqw / 1010); background:var(--pp-bg); color:#fff; font-size:calc(var(--pp-fs) * 100cqw / 1010); font-weight:var(--pp-weight); line-height:calc(var(--pp-lh) * 100cqw / 1010); text-decoration:none; white-space:nowrap; transition:color .1s, background-color .1s; }
.pp-slider a.pp-slider__shop:hover { background:#fff; color:#00b211; }
.pp-slider a:focus-visible, .pp-slider button:focus-visible { outline:3px solid #143b0b; outline-offset:3px; }
.pp-slider__sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
/* Gravity Forms and the theme already supply the saved form appearance.
   Keep responsive containment scoped to the actual form; retain its real IDs,
   validation markup, CAPTCHA and submission behavior. */
#gform_wrapper_1 { max-width:100%; }
#gform_wrapper_1 input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
#gform_wrapper_1 select, #gform_wrapper_1 textarea { max-width:100%; box-sizing:border-box; }
#gform_wrapper_1 .gfield_error input, #gform_wrapper_1 .gfield_error textarea { scroll-margin-top:100px; }

/* Original Shop Now layer: st:740; sp:1200; se:blocktoright.
   A block grows from the left, reveals the button at its midpoint, and
   retracts to the right. Replay on every new active slide. */
.pp-slider__shop::after { content:""; position:absolute; inset:0; z-index:1; border-radius:inherit; background:#fff; pointer-events:none; transform:scaleX(0); transform-origin:0 50%; }
.pp-slider__slide.is-active .pp-slider__shop { animation:pp-shop-content 1200ms linear 740ms backwards; }
.pp-slider__slide.is-active .pp-slider__shop::after { animation:pp-shop-block 1200ms cubic-bezier(.76,0,.24,1) 740ms backwards; }
@keyframes pp-shop-content {
  0%,49.999% { color:transparent; background:transparent; }
  50%,100% { color:#fff; background:var(--pp-bg); }
}
@keyframes pp-shop-block {
  0% { transform:scaleX(0); transform-origin:0 50%; }
  49.999% { transform:scaleX(1); transform-origin:0 50%; }
  50% { transform:scaleX(1); transform-origin:100% 50%; }
  100% { transform:scaleX(0); transform-origin:100% 50%; }
}
.pp-slider__slide.is-active .pp-slider__shop:focus-visible,
.pp-slider__slide.is-active .pp-slider__shop:focus-visible::after { animation:none; }
@media (prefers-reduced-motion:reduce) {
  .pp-slider__slide.is-active .pp-slider__shop,
  .pp-slider__slide.is-active .pp-slider__shop::after { animation:none; }
}

