/* Site-wide polish (Nov 2026, step 1 of the design review).
   One button style, one product card, plum/lilac instead of the old greens,
   a calmer header. Customer pages only (body.pp-editorial-shop); the admin
   and vendor screens are untouched. Loaded after the older stylesheets so it
   settles their differences in one place. */

body.pp-editorial-shop{
 --pp-plum:#82296a;--pp-plum-dark:#6a1f56;--pp-ink:#141013;--pp-muted:#625a5f;--pp-mist:#f2eff1;--pp-lilac:#d6b3cd;--pp-hair:#e7e0e5;
 /* the old palette variables (styles.css) were green; give them plum/ink values on customer pages */
 --ink:#141013;--muted:#625a5f;--forest:#82296a;--green:#f2eff1;--line:#e7e0e5;--paper:#ffffff;
}

/* ---------- 1. One button style: pills, sentence case ---------- */
body.pp-editorial-shop :is(.pp-ed-button,.pp-closing-ghost,.pp-checkout-outline-link,.pp-journey-add,.ppb-continue,.pp-party-bar .btn,.pp-occasion-empty-state .pp-ed-button){
 display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 26px;
 border-radius:999px;text-transform:none;letter-spacing:0;font:600 15px/1.1 'Outfit',system-ui,sans-serif;
 text-decoration:none;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s;box-shadow:none
}
body.pp-editorial-shop :is(.pp-ed-button,.pp-journey-add,.ppb-continue,.pp-party-bar .btn){background:var(--pp-plum);color:#fff;border:1px solid var(--pp-plum)}
body.pp-editorial-shop :is(.pp-ed-button,.pp-journey-add,.ppb-continue,.pp-party-bar .btn):is(:hover,:focus-visible){background:var(--pp-plum-dark);border-color:var(--pp-plum-dark);color:#fff}
body.pp-editorial-shop :is(.pp-closing-ghost,.pp-checkout-outline-link){background:transparent;color:var(--pp-ink);border:1px solid var(--pp-ink)}
body.pp-editorial-shop :is(.pp-closing-ghost,.pp-checkout-outline-link):is(:hover,:focus-visible){background:var(--pp-ink);color:#fff}
body.pp-editorial-shop .ppb-continue:disabled,body.pp-editorial-shop .ppb-continue[aria-disabled="true"]{background:var(--pp-mist);border-color:var(--pp-hair);color:#8a8088;cursor:not-allowed}
body.pp-editorial-shop .pp-journey-add{width:100%;min-height:52px}
body.pp-editorial-shop :is(.pp-closing-actions,.pp-checkout-empty-actions){display:flex;flex-wrap:wrap;justify-content:center;gap:12px}

/* ---------- 2. One product card (occasion, finishing touches, related) ---------- */
body.pp-editorial-shop .pp-journey-item{position:relative;min-width:0}
body.pp-editorial-shop .pp-journey-products .pp-journey-card>.pp-store-journey-image{border-radius:22px;background:var(--pp-mist);margin:0 0 16px}
body.pp-editorial-shop .pp-journey-products .pp-store-journey-image>img{border-radius:0;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
body.pp-editorial-shop .pp-journey-item:hover .pp-store-journey-image>img{transform:scale(1.04)}
body.pp-editorial-shop .pp-journey-products .pp-journey-card>strong{font:400 16px/1.35 'Outfit',system-ui,sans-serif;margin:0 0 4px;letter-spacing:0}
body.pp-editorial-shop .pp-journey-products .pp-journey-card>.pp-store-journey-price{font:600 15px/1.4 'Outfit',system-ui,sans-serif;color:var(--pp-ink)}
body.pp-editorial-shop .pp-journey-products .pp-journey-card>.pp-store-journey-meta{font-size:12.5px;color:var(--pp-muted)}
body.pp-editorial-shop .pp-journey-plus{position:absolute;right:12px;top:0;margin-top:calc(100% - 56px);width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:var(--pp-plum);color:#fff;box-shadow:0 6px 16px -8px rgba(20,16,19,.6);cursor:pointer;transition:background-color .2s,transform .2s}
body.pp-editorial-shop .pp-journey-plus:is(:hover,:focus-visible){background:var(--pp-plum-dark);transform:scale(1.06)}
body.pp-editorial-shop .pp-journey-plus:focus-visible{outline:2px solid var(--pp-plum);outline-offset:3px}
body.pp-editorial-shop .pp-journey-subtle{color:var(--pp-muted);font-size:14px}

/* ---------- 3. Headings: sentence case, one italic plum word ---------- */
body.pp-editorial-shop :is(h1,h2) em{color:var(--pp-plum);font-style:italic}
body.pp-editorial-shop .pp-journey-shelf-heading h2,body.pp-editorial-shop .pp-occasion-results-section h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.03em}

/* ---------- 4. Old greens become plum, ink and lilac ---------- */
body.pp-editorial-shop .notice{background:var(--pp-mist);color:var(--pp-ink);border-color:var(--pp-hair)}
body.pp-editorial-shop .pp-party-builder :is(h1,h2,h3,strong,b),body.pp-editorial-shop [class^="ppb-"] :is(h1,h2,h3,strong,b){color:var(--pp-ink)}
body.pp-editorial-shop :is(.ppb-back,.ppb-more-items,.ppb-more-items strong){color:var(--pp-plum)}
body.pp-editorial-shop :is(.ppb-kicker,.ppb-count,.pp-group-count,.ppb-product-subhead){color:var(--pp-muted)}
body.pp-editorial-shop .ppb-expand-icon{background:var(--pp-mist);color:var(--pp-plum)}
body.pp-editorial-shop .ppb-more-items{background:var(--pp-mist);border-color:var(--pp-hair)}
body.pp-editorial-shop :is(.ppb-product-media){background:var(--pp-mist)}
body.pp-editorial-shop :is(.ppb-quantity){background:#fff;border-color:var(--pp-hair)}
body.pp-editorial-shop :is(.ppb-quantity button,.ppb-quantity input){color:var(--pp-ink)}
body.pp-editorial-shop :is(.ppb-group-content,.ppb-prices,.ppb-total){border-color:var(--pp-hair)}
body.pp-editorial-shop .ppb-hero :is(h1,p){color:var(--pp-ink)}

/* ---------- 5. Header ---------- */
@media (max-width:720px){
 #app .top.pp-storefront-header .currency-control{display:none}
}

/* ---------- 6. Launch: demo-only notes disappear when real checkout is on ---------- */
body.pp-live .pp-demo-only{display:none}

/* ---------- 7. Checkout: the white page reaches both edges (the dark
   footer behind it no longer shows through at the sides) ---------- */
body.pp-editorial-shop #app>main.pp-checkout-shell{box-shadow:0 0 0 100vmax #fff;clip-path:inset(0 -100vmax)}

/* ---------- 8. Party pieces category chips: plum icon discs, not black ---------- */
body.pp-editorial-shop .pp-pieces .pp-shop-tab-icon{background:#fff;color:var(--pp-plum)}
body.pp-editorial-shop .pp-pieces .pp-shop-tab.is-selected .pp-shop-tab-icon{background:rgba(255,255,255,.18);color:#fff}

/* ---------- 9. Header: clear over the home photos, frosted glass once you scroll ----------
   Home: the header floats over the opening photos with a white logo and white
   links (no bar). As soon as the photos scroll away, and on every other page
   once you scroll, it becomes a light frosted-glass bar. */
#app .top.pp-storefront-header{transition:background-color .45s ease,box-shadow .45s ease,border-color .45s ease,color .45s ease}
#app .top.pp-storefront-header.pp-header--scrolled{background:rgba(255,255,255,.74);-webkit-backdrop-filter:blur(18px) saturate(1.6);backdrop-filter:blur(18px) saturate(1.6);border-bottom-color:rgba(20,16,19,.07);box-shadow:0 12px 32px -22px rgba(20,16,19,.45)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 #app .top.pp-storefront-header.pp-header--scrolled{background:rgba(255,255,255,.96)}
}
body.pp-has-hero #app .top.pp-storefront-header{margin-bottom:-74px}
@media(max-width:980px){body.pp-has-hero #app .top.pp-storefront-header{margin-bottom:-70px}}
#app .top.pp-storefront-header>a[aria-label="Party Pack home"]{position:relative}
#app .top.pp-storefront-header .logo{transition:opacity .45s ease;mix-blend-mode:normal}
#app .top.pp-storefront-header .logo.logo-white{position:absolute;left:0;top:50%;transform:translateY(-50%);opacity:0;mix-blend-mode:normal;pointer-events:none}
/* over the photos */
#app .top.pp-storefront-header.pp-header--over{background:linear-gradient(rgba(20,10,18,.38),rgba(20,10,18,0)) no-repeat border-box;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom-color:transparent;box-shadow:none;color:#fff}
#app .top.pp-storefront-header.pp-header--over .logo:not(.logo-white){opacity:0}
#app .top.pp-storefront-header.pp-header--over .logo.logo-white{opacity:1}
#app .top.pp-storefront-header.pp-header--over :is(.topnav a,.topnav a.active,.nav-actions>.iconbtn,.nav-actions>a.btn.small){color:#fff}
#app .top.pp-storefront-header.pp-header--over .topnav a::after{background:#fff}
#app .top.pp-storefront-header.pp-header--over :is(.nav-actions>.pp-language-switch,.currency-control select,.mobile-nav summary){background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.5);color:#fff}
#app .top.pp-storefront-header.pp-header--over .currency-control::after{border-color:#fff}
#app .top.pp-storefront-header.pp-header--over .nav-actions>.iconbtn:hover{background:rgba(255,255,255,.14)}
#app .top.pp-storefront-header :is(.topnav a,.nav-actions>.iconbtn,.pp-language-switch,.currency-control select,.mobile-nav summary){transition:color .45s ease,background-color .45s ease,border-color .45s ease}
@media (prefers-reduced-motion:reduce){
 #app .top.pp-storefront-header,#app .top.pp-storefront-header *{transition:none!important}
}

/* ---------- 10. Product page (step 2): same language as the setup page ----------
   Arched photo that stays in view, category chip, Bodoni title, price, a − / +
   quantity stepper with a live total, a plum pill and three small reassurances. */
body.pp-editorial-shop main.pp-pd .pp-pd-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(32px,4.4vw,64px);align-items:start;max-width:1240px;margin:0 auto;padding:clamp(12px,2vw,24px) 0 clamp(48px,5vw,72px)}
body.pp-editorial-shop main.pp-pd .pp-pd-photo{position:sticky;top:100px;aspect-ratio:4/5;overflow:hidden;border-radius:999px 999px 28px 28px;background:var(--pp-mist);margin:0}
body.pp-editorial-shop main.pp-pd .pp-pd-photo>img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border-radius:0}
body.pp-editorial-shop main.pp-pd .pp-pd-photo .pp-journey-alt-photo{position:absolute;right:16px;bottom:16px;width:96px;height:96px;border-radius:16px;overflow:hidden;border:3px solid #fff;box-shadow:0 10px 24px -14px rgba(20,16,19,.6)}
body.pp-editorial-shop main.pp-pd .pp-pd-photo .pp-journey-alt-photo img{width:100%;height:100%;object-fit:cover}
body.pp-editorial-shop main.pp-pd .pp-pd-copy{display:flex;flex-direction:column;align-items:flex-start;gap:20px;min-width:0;margin:0;padding-top:clamp(0px,2vw,24px)}
body.pp-editorial-shop main.pp-pd .pp-pd-chip{display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border-radius:999px;background:var(--pp-mist);color:var(--pp-ink);font:500 12.5px/1 'Outfit',system-ui,sans-serif;text-decoration:none;transition:background-color .2s}
body.pp-editorial-shop main.pp-pd .pp-pd-chip:is(:hover,:focus-visible){background:#e9e5e8}
body.pp-editorial-shop main.pp-pd .pp-pd-copy h1{margin:0;font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:clamp(44px,5.2vw,72px);line-height:1;letter-spacing:-.045em;color:var(--pp-ink)}
body.pp-editorial-shop main.pp-pd .pp-pd-price{display:flex;align-items:baseline;gap:10px;width:100%;margin:0;padding:16px 0;border-top:1px solid var(--pp-hair);border-bottom:1px solid var(--pp-hair);font-size:14px;color:var(--pp-muted)}
body.pp-editorial-shop main.pp-pd .pp-pd-price strong{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:clamp(32px,3vw,42px);letter-spacing:-.03em;color:var(--pp-ink)}
body.pp-editorial-shop main.pp-pd .pp-pd-lede{max-width:480px;margin:0;font-size:clamp(15px,1.25vw,17px);line-height:1.6;color:var(--pp-muted)}
body.pp-editorial-shop main.pp-pd :is(.pp-journey-rental,.pp-purchase-stock-status){margin:0;font-size:14px;color:var(--pp-muted)}
body.pp-editorial-shop main.pp-pd .pp-pd-controls{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;width:100%;margin:0}
body.pp-editorial-shop main.pp-pd .pp-pd-controls:not(:has(.pp-pd-name)){grid-template-columns:auto}
body.pp-editorial-shop main.pp-pd .pp-pd-field{display:flex;flex-direction:column;gap:8px;min-width:0}
body.pp-editorial-shop main.pp-pd .pp-pd-field label{font:600 13px/1.3 'Outfit',system-ui,sans-serif;color:var(--pp-ink)}
body.pp-editorial-shop main.pp-pd .pp-pd-stepper{display:inline-flex;align-items:center;height:52px;border:1px solid var(--pp-hair);border-radius:999px;background:#fff;overflow:hidden}
body.pp-editorial-shop main.pp-pd .pp-pd-stepper button{width:48px;height:100%;border:0;background:none;color:var(--pp-plum);font:400 22px/1 'Outfit',system-ui,sans-serif;cursor:pointer;transition:background-color .2s}
body.pp-editorial-shop main.pp-pd .pp-pd-stepper button:is(:hover,:focus-visible){background:var(--pp-mist)}
body.pp-editorial-shop main.pp-pd .pp-pd-stepper button:disabled{color:#c9bec5;cursor:not-allowed}
body.pp-editorial-shop main.pp-pd .pp-pd-stepper input{width:64px;max-width:none;height:100%;padding:0;border:0;border-radius:0;background:none;text-align:center;font:600 16px/1 'Outfit',system-ui,sans-serif;color:var(--pp-ink);-moz-appearance:textfield;appearance:textfield}
body.pp-editorial-shop main.pp-pd .pp-pd-stepper input::-webkit-inner-spin-button,body.pp-editorial-shop main.pp-pd .pp-pd-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
body.pp-editorial-shop main.pp-pd .pp-pd-stepper input:focus-visible{outline:2px solid var(--pp-plum);outline-offset:-2px}
body.pp-editorial-shop main.pp-pd .pp-pd-name input{width:100%;height:52px;padding:0 20px;border:1px solid var(--pp-hair);border-radius:999px;background:#fff;font:400 15px/1 'Outfit',system-ui,sans-serif;color:var(--pp-ink);box-sizing:border-box}
body.pp-editorial-shop main.pp-pd .pp-pd-name input:focus-visible{outline:2px solid var(--pp-plum);outline-offset:1px;border-color:transparent}
body.pp-editorial-shop main.pp-pd .pp-pd-total{display:flex;align-items:baseline;justify-content:space-between;width:100%;margin:0;font-size:14px;color:var(--pp-muted)}
body.pp-editorial-shop main.pp-pd .pp-pd-total strong{font:600 20px/1 'Outfit',system-ui,sans-serif;color:var(--pp-ink);font-variant-numeric:tabular-nums}
body.pp-editorial-shop main.pp-pd .pp-journey-add{height:56px;min-height:56px;font-size:16px}
body.pp-editorial-shop main.pp-pd .pp-pd-copy>small{margin:-8px 0 0;font-size:12.5px;color:var(--pp-muted)}
body.pp-editorial-shop main.pp-pd .pp-pd-reassure{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:100%;margin:4px 0 0;padding:20px 0 0;border-top:1px solid var(--pp-hair)}
body.pp-editorial-shop main.pp-pd .pp-pd-reassure li{display:flex;flex-direction:column;gap:4px;font-size:13px;line-height:1.45;color:var(--pp-muted)}
body.pp-editorial-shop main.pp-pd .pp-pd-reassure b{font-weight:600;color:var(--pp-ink)}
body.pp-editorial-shop main.pp-pd .pp-pd-details{width:100%;margin:0;padding:0;border:0;border-bottom:1px solid var(--pp-hair)}
body.pp-editorial-shop main.pp-pd .pp-pd-details summary{display:flex;align-items:center;justify-content:space-between;min-height:52px;cursor:pointer;list-style:none;font:600 14px/1.3 'Outfit',system-ui,sans-serif;color:var(--pp-ink)}
body.pp-editorial-shop main.pp-pd .pp-pd-details summary::-webkit-details-marker{display:none}
body.pp-editorial-shop main.pp-pd .pp-pd-details summary::after{content:"+";font:400 22px/1 'Outfit',system-ui,sans-serif;color:var(--pp-plum);transition:transform .25s}
body.pp-editorial-shop main.pp-pd .pp-pd-details[open] summary::after{transform:rotate(45deg)}
body.pp-editorial-shop main.pp-pd .pp-pd-details p{margin:0 0 16px;font-size:14px;line-height:1.6;color:var(--pp-muted)}
body.pp-editorial-shop main.pp-pd .pp-pd-back{font-size:14px;font-weight:500;color:var(--pp-plum);text-decoration:none}
body.pp-editorial-shop main.pp-pd .pp-pd-back:is(:hover,:focus-visible){text-decoration:underline;text-underline-offset:3px}
@media (max-width:860px){
 body.pp-editorial-shop main.pp-pd .pp-pd-layout{grid-template-columns:1fr;gap:28px}
 body.pp-editorial-shop main.pp-pd .pp-pd-photo{position:relative;top:auto;max-width:440px;width:100%;margin:0 auto}
}
@media (max-width:520px){
 body.pp-editorial-shop main.pp-pd .pp-pd-controls{grid-template-columns:1fr}
 body.pp-editorial-shop main.pp-pd .pp-pd-reassure{grid-template-columns:1fr;gap:12px}
}
body.pp-editorial-shop main.pp-pd .pp-journey-product-copy.pp-pd-copy>p.pp-pd-lede{font-size:clamp(15px,1.25vw,17px);line-height:1.6;color:var(--pp-muted)}
body.pp-editorial-shop main.pp-pd .pp-journey-product-copy.pp-pd-copy>p.pp-journey-rental{padding:0;border:0;background:none;font-size:14px;line-height:1.55}
body.pp-editorial-shop main.pp-pd .pp-pd-stepper{align-self:flex-start;width:max-content}

/* ---------- 11. Make it yours (step 2): the setup page's look ----------
   Opening with an arched photo, plum stepper, rounded category cards with
   plum icon discs, rounded product tiles, and a calm summary card with the
   date asked before Continue. Behaviour and markup hooks are unchanged. */
body.pp-editorial-shop main.ppb-page{max-width:1240px;margin:0 auto;padding:0 clamp(16px,3vw,32px) clamp(56px,6vw,88px);color:var(--pp-ink)}
body.pp-editorial-shop main.ppb-page .ppb-stepper{padding:22px 12px 28px;color:var(--pp-muted);font-size:13px;letter-spacing:0}
body.pp-editorial-shop main.ppb-page .ppb-step b{width:30px;height:30px;border-color:var(--pp-hair);font-size:11.5px;font-weight:600;color:var(--pp-muted)}
body.pp-editorial-shop main.ppb-page .ppb-step.is-current{color:var(--pp-ink);font-weight:600}
body.pp-editorial-shop main.ppb-page .ppb-step.is-current b{background:var(--pp-plum);border-color:var(--pp-plum);color:#fff}
body.pp-editorial-shop main.ppb-page .ppb-step-line{width:48px;background:var(--pp-hair)}
/* opening */
body.pp-editorial-shop main.ppb-page .ppb-hero{display:grid;grid-template-columns:minmax(0,1fr) clamp(200px,22vw,280px);align-items:end;gap:clamp(24px,4vw,64px);height:auto;margin:0 0 clamp(36px,4vw,56px);padding:0;overflow:visible;border-radius:0;background:none}
body.pp-editorial-shop main.ppb-page .ppb-hero::after{display:none}
body.pp-editorial-shop main.ppb-page .ppb-hero-photo{grid-column:2;grid-row:1;aspect-ratio:4/5;overflow:hidden;border-radius:999px 999px 24px 24px;background:var(--pp-mist)}
body.pp-editorial-shop main.ppb-page .ppb-hero-image{width:100%;height:100%;object-fit:cover}
body.pp-editorial-shop main.ppb-page .ppb-hero-content{grid-column:1;grid-row:1;position:static;display:flex;flex-direction:column;align-items:flex-start;gap:16px;max-width:620px;padding-bottom:8px}
body.pp-editorial-shop main.ppb-page .ppb-back{margin:0 0 8px;font-size:14px;font-weight:500;color:var(--pp-plum)}
body.pp-editorial-shop main.ppb-page .ppb-hero h1{margin:0;font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:clamp(46px,5.6vw,76px);line-height:1;letter-spacing:-.045em;color:var(--pp-ink)}
body.pp-editorial-shop main.ppb-page .ppb-hero-content>p:not(.ppb-hero-facts){max-width:480px;margin:0;font-size:clamp(15px,1.25vw,17px);line-height:1.6;color:var(--pp-muted);-webkit-line-clamp:unset;display:block}
body.pp-editorial-shop main.ppb-page .ppb-hero-facts{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 0}
body.pp-editorial-shop main.ppb-page .ppb-hero-facts>span{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:0 14px;border-radius:999px;background:var(--pp-mist);font:500 13px/1 'Outfit',system-ui,sans-serif;color:var(--pp-ink)}
body.pp-editorial-shop main.ppb-page .ppb-hero-facts b{font-weight:600;color:var(--pp-plum)}
/* layout */
body.pp-editorial-shop main.ppb-page .ppb-content{grid-template-columns:minmax(0,1fr) minmax(320px,380px);gap:clamp(24px,3vw,40px)}
body.pp-editorial-shop main.ppb-page .ppb-section-intro{margin:0 0 20px;align-items:flex-end}
body.pp-editorial-shop main.ppb-page .ppb-section-intro h2{margin:0 0 6px;font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:clamp(28px,2.8vw,40px);letter-spacing:-.035em;color:var(--pp-ink)}
body.pp-editorial-shop main.ppb-page .ppb-section-intro p{font-size:15px;color:var(--pp-muted)}
body.pp-editorial-shop main.ppb-page .ppb-set-count{padding:8px 14px;background:var(--pp-mist);color:var(--pp-ink);font-size:12.5px}
/* category cards */
body.pp-editorial-shop main.ppb-page .ppb-groups{gap:12px}
body.pp-editorial-shop main.ppb-page .ppb-group{border:1px solid var(--pp-hair);border-radius:22px;box-shadow:none;transition:border-color .2s,box-shadow .2s}
body.pp-editorial-shop main.ppb-page .ppb-group.is-open{border-color:var(--pp-lilac);box-shadow:0 18px 40px -30px rgba(20,16,19,.45)}
body.pp-editorial-shop main.ppb-page .ppb-group-trigger{min-height:84px;padding:16px 20px;gap:16px;background:#fff}
body.pp-editorial-shop main.ppb-page .ppb-group-trigger:hover{background:#fcfbfc}
body.pp-editorial-shop main.ppb-page .ppb-group-trigger:focus-visible{outline:2px solid var(--pp-plum);outline-offset:-3px;border-radius:22px}
body.pp-editorial-shop main.ppb-page .ppb-category-icon{flex:0 0 46px;width:46px;height:46px;border-radius:50%;background:var(--pp-mist);color:var(--pp-plum)}
body.pp-editorial-shop main.ppb-page .ppb-group.is-open .ppb-category-icon{background:var(--pp-plum);color:#fff}
body.pp-editorial-shop main.ppb-page .ppb-group-title strong{font:400 22px/1.15 'Playfair Display',Georgia,serif;letter-spacing:-.02em;color:var(--pp-ink)}
body.pp-editorial-shop main.ppb-page .ppb-group-title small{font-size:13px;color:var(--pp-muted)}
body.pp-editorial-shop main.ppb-page .ppb-count{color:var(--pp-muted)!important;font-size:13px!important}
body.pp-editorial-shop main.ppb-page .ppb-expand-icon{width:32px;height:32px;flex:0 0 32px;background:var(--pp-mist);color:var(--pp-plum);font-size:20px;transition:background-color .2s,color .2s}
body.pp-editorial-shop main.ppb-page .ppb-group.is-open .ppb-expand-icon{background:var(--pp-ink);color:#fff}
body.pp-editorial-shop main.ppb-page .ppb-group-content{padding:4px 20px 22px;border-top:1px solid var(--pp-hair)}
body.pp-editorial-shop main.ppb-page .ppb-product-subhead{margin:18px 0 12px;font-size:13px;color:var(--pp-ink)}
body.pp-editorial-shop main.ppb-page .ppb-product-subhead span{font-size:12.5px;color:var(--pp-muted)}
body.pp-editorial-shop main.ppb-page .ppb-extras-subhead{border-top-color:var(--pp-hair)}
/* product tiles */
body.pp-editorial-shop main.ppb-page .ppb-products{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}
body.pp-editorial-shop main.ppb-page .ppb-product{padding:0;border:0;border-radius:0;background:none;gap:10px}
body.pp-editorial-shop main.ppb-page .ppb-product-media{aspect-ratio:1/1;border-radius:18px;background:var(--pp-mist)}
body.pp-editorial-shop main.ppb-page .ppb-product.is-unselected .ppb-product-media{opacity:.8}
body.pp-editorial-shop main.ppb-page .ppb-product-check{top:10px;left:10px;width:26px;height:26px;border-radius:50%;border:2px solid #fff;background:var(--pp-plum);color:#fff;font-size:13px;box-shadow:0 4px 10px -4px rgba(20,16,19,.5)}
body.pp-editorial-shop main.ppb-page .ppb-product.is-unselected .ppb-product-check{background:#fff;color:var(--pp-plum);border-color:#fff}
body.pp-editorial-shop main.ppb-page .ppb-product-info{padding:0;gap:6px}
body.pp-editorial-shop main.ppb-page .ppb-product-info>strong{min-height:0;font:500 14.5px/1.35 'Outfit',system-ui,sans-serif;color:var(--pp-ink)}
body.pp-editorial-shop main.ppb-page .ppb-product-meta{min-height:0;font-size:12.5px;color:var(--pp-muted)}
body.pp-editorial-shop main.ppb-page :is(.ppb-toggle,.ppb-included-label){font-size:12.5px;font-weight:500;color:var(--pp-ink)}
body.pp-editorial-shop main.ppb-page .ppb-toggle input{accent-color:var(--pp-plum)}
body.pp-editorial-shop main.ppb-page .ppb-included-label span{color:var(--pp-plum)}
body.pp-editorial-shop main.ppb-page .ppb-quantity{grid-template-columns:40px minmax(0,1fr) 40px;height:42px;border:1px solid var(--pp-hair);border-radius:999px;background:#fff}
body.pp-editorial-shop main.ppb-page .ppb-quantity button{color:var(--pp-plum)}
body.pp-editorial-shop main.ppb-page .ppb-quantity button:hover:not(:disabled){background:var(--pp-mist)}
body.pp-editorial-shop main.ppb-page .ppb-quantity button:disabled{color:#cbc1c7}
body.pp-editorial-shop main.ppb-page .ppb-quantity input{font-size:14px;font-weight:600;color:var(--pp-ink)}
body.pp-editorial-shop main.ppb-page .ppb-quantity:focus-within{outline:2px solid var(--pp-plum)}
body.pp-editorial-shop main.ppb-page .ppb-rental-caption{font-size:12px;color:var(--pp-muted)}
body.pp-editorial-shop main.ppb-page .ppb-name summary{color:var(--pp-plum);font-size:12.5px!important}
body.pp-editorial-shop main.ppb-page .ppb-name .pp-pack-print input{border:1px solid var(--pp-hair);border-radius:12px;font-size:14px;padding:10px 12px}
/* entertainment inside the builder */
body.pp-editorial-shop main.ppb-page .ppb-vendor{padding:0;border:0}
body.pp-editorial-shop main.ppb-page .ppb-vendor-image{height:auto;aspect-ratio:4/3;border-radius:18px;background:var(--pp-mist)}
body.pp-editorial-shop main.ppb-page .ppb-vendor-info strong{font:400 19px/1.2 'Playfair Display',Georgia,serif;color:var(--pp-ink)}
body.pp-editorial-shop main.ppb-page .ppb-vendor-info small{font-size:13px;color:var(--pp-muted)}
body.pp-editorial-shop main.ppb-page .ppb-vendor-action{min-height:42px;border-radius:999px;border:1px solid var(--pp-ink);background:#fff;color:var(--pp-ink);font:600 13.5px/1 'Outfit',system-ui,sans-serif}
body.pp-editorial-shop main.ppb-page .ppb-vendor-action:hover{background:var(--pp-ink);color:#fff}
body.pp-editorial-shop main.ppb-page .ppb-vendor-action.selected{background:var(--pp-plum);border-color:var(--pp-plum);color:#fff}
body.pp-editorial-shop main.ppb-page :is(.ppb-vendor-note,.ppb-empty){font-size:13px;color:var(--pp-muted)}
body.pp-editorial-shop main.ppb-page .ppb-more-items{margin-top:16px;padding:18px 22px;border-radius:22px;font-size:14px}
/* summary card */
body.pp-editorial-shop main.ppb-page .ppb-sidebar{top:100px;padding:26px;border:1px solid var(--pp-hair);border-radius:28px;background:#fff;box-shadow:0 24px 60px -40px rgba(20,16,19,.45)}
body.pp-editorial-shop main.ppb-page .ppb-sidebar-head{margin:0 0 18px}
body.pp-editorial-shop main.ppb-page .ppb-sidebar-head h2{margin:0 0 6px;font:400 28px/1.1 'Playfair Display',Georgia,serif;letter-spacing:-.03em;color:var(--pp-ink)}
body.pp-editorial-shop main.ppb-page .ppb-sidebar-head p{font-size:14px;color:var(--pp-muted)}
body.pp-editorial-shop main.ppb-page .ppb-prep-options{gap:10px}
body.pp-editorial-shop main.ppb-page .ppb-prep{grid-template-columns:20px minmax(0,1fr) auto;gap:12px;padding:16px;border:1px solid var(--pp-hair);border-radius:18px;background:#fff}
body.pp-editorial-shop main.ppb-page .ppb-prep:hover{border-color:var(--pp-lilac)}
body.pp-editorial-shop main.ppb-page .ppb-prep.is-selected,body.pp-editorial-shop main.ppb-page .ppb-prep:has(input:checked){border-color:var(--pp-plum);background:#faf8f9;box-shadow:inset 0 0 0 1px var(--pp-plum)}
body.pp-editorial-shop main.ppb-page .ppb-prep input{accent-color:var(--pp-plum)}
body.pp-editorial-shop main.ppb-page .ppb-prep-text strong{font-size:15px;font-weight:600;color:var(--pp-ink)}
body.pp-editorial-shop main.ppb-page .ppb-prep-text small{font-size:13px;line-height:1.45;color:var(--pp-muted)}
body.pp-editorial-shop main.ppb-page .ppb-prep>b{font-size:14px;color:var(--pp-ink)}
body.pp-editorial-shop main.ppb-page .ppb-prices{margin-top:22px;padding-top:18px;border-top:1px solid var(--pp-hair)}
body.pp-editorial-shop main.ppb-page .ppb-prices h3{margin:0 0 10px;font:600 14px/1.3 'Outfit',system-ui,sans-serif;color:var(--pp-ink)}
body.pp-editorial-shop main.ppb-page .ppb-prices>div{font-size:14px;color:var(--pp-muted)}
body.pp-editorial-shop main.ppb-page .ppb-prices>div strong{font-size:14px;font-weight:600;color:var(--pp-ink)}
body.pp-editorial-shop main.ppb-page .ppb-prices .ppb-total{margin-top:16px;padding-top:16px;border-top-color:var(--pp-hair);font-size:15px;color:var(--pp-ink)}
body.pp-editorial-shop main.ppb-page .ppb-prices .ppb-total strong{font:400 32px/1 'Playfair Display',Georgia,serif;letter-spacing:-.03em}
body.pp-editorial-shop main.ppb-page .ppb-pending-quote{border-radius:14px;background:var(--pp-mist);color:var(--pp-ink);font-size:13px}
body.pp-editorial-shop main.ppb-page .ppb-date-panel{margin:18px 0 0;padding:0;border:0;background:none}
body.pp-editorial-shop main.ppb-page .ppb-date-field{display:flex;flex-direction:column;gap:8px;font:600 13px/1.3 'Outfit',system-ui,sans-serif;color:var(--pp-ink)}
body.pp-editorial-shop main.ppb-page .ppb-date-field input{width:100%;height:50px;padding:0 18px;border:1px solid var(--pp-hair);border-radius:999px;background:#fff;font:400 15px/1 'Outfit',system-ui,sans-serif;color:var(--pp-ink);box-sizing:border-box;accent-color:var(--pp-plum)}
body.pp-editorial-shop main.ppb-page .ppb-date-field input:focus-visible{outline:2px solid var(--pp-plum);outline-offset:1px}
body.pp-editorial-shop main.ppb-page .ppb-date-note{font-size:12.5px;color:var(--pp-muted)}
body.pp-editorial-shop main.ppb-page .ppb-continue{height:56px;min-height:56px;margin:16px 0 12px;font-size:16px}
body.pp-editorial-shop main.ppb-page .ppb-sidebar-note{font-size:12.5px;line-height:1.5;color:var(--pp-muted);text-align:center}
@media (max-width:900px){
 body.pp-editorial-shop main.ppb-page .ppb-content{grid-template-columns:1fr}
 body.pp-editorial-shop main.ppb-page .ppb-sidebar{position:static}
}
@media (max-width:640px){
 body.pp-editorial-shop main.ppb-page .ppb-stepper{gap:8px;font-size:12px}
 body.pp-editorial-shop main.ppb-page .ppb-step-line{width:16px}
 body.pp-editorial-shop main.ppb-page .ppb-hero{grid-template-columns:minmax(0,1fr) 112px;gap:18px;align-items:start}
 body.pp-editorial-shop main.ppb-page .ppb-hero h1{font-size:40px}
 body.pp-editorial-shop main.ppb-page .ppb-hero-content>p:not(.ppb-hero-facts){font-size:14.5px}
 body.pp-editorial-shop main.ppb-page .ppb-hero-facts{grid-column:1/-1}
 body.pp-editorial-shop main.ppb-page .ppb-section-intro{flex-direction:column;align-items:flex-start}
 body.pp-editorial-shop main.ppb-page .ppb-group-trigger{padding:14px 16px;gap:12px}
 body.pp-editorial-shop main.ppb-page .ppb-count{display:none}
 body.pp-editorial-shop main.ppb-page .ppb-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 body.pp-editorial-shop main.ppb-page .ppb-sidebar{padding:20px;border-radius:24px}
}
body.pp-editorial-shop #app>main.ppb-page{box-shadow:0 0 0 100vmax #fff;clip-path:inset(0 -100vmax)}
@media (max-width:640px){
 body.pp-editorial-shop main.ppb-page .ppb-group-trigger{flex-wrap:nowrap;align-items:center;min-height:76px}
 body.pp-editorial-shop main.ppb-page .ppb-category-icon{flex:0 0 40px;width:40px;height:40px}
 body.pp-editorial-shop main.ppb-page .ppb-group-title strong{font-size:19px}
 body.pp-editorial-shop main.ppb-page .ppb-group-title small{font-size:12.5px}
}
body.pp-editorial-shop main.pp-pd .pp-pd-reassure li>span b{font-weight:600;color:var(--pp-ink)}

/* ---------- 12. Home page, trimmed (step 3) ---------- */
/* What are you celebrating? On phones: one swipeable row instead of four screens of circles */
@media (max-width:640px){
 body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery{padding:56px 0 52px}
 body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .section-head{margin:0 16px 26px}
 body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .occ-icon-grid{display:flex;grid-template-columns:none;gap:14px;max-width:none;margin:0;padding:4px 16px 12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:16px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
 body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .occ-icon-grid::-webkit-scrollbar{display:none}
 body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .occ-icon-link{flex:0 0 128px;scroll-snap-align:start}
 body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .occ-medallion{width:128px}
 body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .occ-icon-caption{font-size:14px}
}

/* How it works: four steps side by side, numbers on one line that fills as you scroll */
body.pp-editorial-shop .pp-how--compact .pp-how-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2vw,24px);max-width:1180px;padding:0;--pp-how-gap:0px}
body.pp-editorial-shop .pp-how--compact .pp-how-steps::before,body.pp-editorial-shop .pp-how--compact .pp-how-steps::after{top:20px;bottom:auto;left:12.5%;right:12.5%;width:auto;height:2px;margin:0;transform-origin:0 50%;transform:scaleX(var(--pp-how-p,1))}
body.pp-editorial-shop .pp-how--compact .pp-how-steps::before{transform:none}
body.pp-editorial-shop .pp-how--compact .pp-how-steps::after{background:linear-gradient(90deg,#a7478d,#82296a 55%,#d8b260)}
body.pp-editorial-shop .pp-how--compact .pp-how-step,body.pp-editorial-shop .pp-how--compact .pp-how-step:nth-child(even){display:block;padding-top:64px;margin:0}
body.pp-editorial-shop .pp-how--compact .pp-how-step::after{display:none}
body.pp-editorial-shop .pp-how--compact .pp-how-node{top:0;left:50%;margin:0 0 0 -21px}
body.pp-editorial-shop .pp-how--compact .pp-how-step a{flex-direction:column;width:100%;height:100%;border-radius:24px;overflow:hidden}
body.pp-editorial-shop .pp-how--compact .pp-how-stage{flex:none;width:100%;aspect-ratio:6/5}
body.pp-editorial-shop .pp-how--compact .pp-how-text{padding:18px 18px 20px}
body.pp-editorial-shop .pp-how--compact .pp-how-step strong{font-size:clamp(21px,1.7vw,25px)}
body.pp-editorial-shop .pp-how--compact .pp-how-step small{font-size:14px}
body.pp-editorial-shop .pp-how-armed.pp-how--compact .pp-how-step a,body.pp-editorial-shop .pp-how-armed.pp-how--compact .pp-how-step:nth-child(even) a{transform:translateY(26px)}
body.pp-editorial-shop .pp-how-armed.pp-how--compact .pp-how-step.is-in a{transform:none}
@media (max-width:980px){
 body.pp-editorial-shop .pp-how--compact .pp-how-steps{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px;padding:0;row-gap:28px}
 body.pp-editorial-shop .pp-how--compact .pp-how-steps::before,body.pp-editorial-shop .pp-how--compact .pp-how-steps::after{display:none}
 body.pp-editorial-shop .pp-how--compact .pp-how-step,body.pp-editorial-shop .pp-how--compact .pp-how-step:nth-child(even){padding-top:0}
 body.pp-editorial-shop .pp-how--compact .pp-how-node{top:12px;left:12px;margin:0;width:34px;height:34px;font-size:13px}
}
@media (max-width:640px){
 body.pp-editorial-shop .pp-how--compact .pp-how-steps{display:flex;gap:12px;max-width:none;margin:0 -16px;padding:4px 16px 12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:16px;scrollbar-width:none}
 body.pp-editorial-shop .pp-how--compact .pp-how-steps::-webkit-scrollbar{display:none}
 body.pp-editorial-shop .pp-how--compact .pp-how-step{flex:0 0 76%;scroll-snap-align:start}
}

/* Signature party setups: arched photos */
body.pp-editorial-shop .pp-home-setups--arched{max-width:1180px;margin:0 auto;padding:clamp(64px,8vw,104px) clamp(16px,4vw,40px)}
body.pp-editorial-shop .pp-home-setups-head{text-align:center;margin:0 auto clamp(32px,4vw,52px)}
body.pp-editorial-shop .pp-home-setups-head h2{margin:0 0 10px;font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:clamp(40px,5vw,64px);line-height:1;letter-spacing:-.045em;color:var(--pp-ink)}
body.pp-editorial-shop .pp-home-setups-head p{margin:0;font-size:16px;color:var(--pp-muted)}
body.pp-editorial-shop .pp-home-setups-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,40px)}
body.pp-editorial-shop .pp-home-setup{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;color:var(--pp-ink);text-decoration:none}
body.pp-editorial-shop .pp-home-setup-photo{display:block;width:100%;aspect-ratio:4/5;margin-bottom:14px;overflow:hidden;border-radius:999px 999px 24px 24px;background:var(--pp-mist)}
body.pp-editorial-shop .pp-home-setup-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
body.pp-editorial-shop .pp-home-setup:is(:hover,:focus-visible) .pp-home-setup-photo img{transform:scale(1.05)}
body.pp-editorial-shop .pp-home-setup:focus-visible{outline:none}
body.pp-editorial-shop .pp-home-setup:focus-visible .pp-home-setup-photo{outline:2px solid var(--pp-plum);outline-offset:4px}
body.pp-editorial-shop .pp-home-setup-occasion{font-size:13px;color:var(--pp-plum);font-weight:500}
body.pp-editorial-shop .pp-home-setup strong{font:400 clamp(24px,2.2vw,30px)/1.1 'Playfair Display',Georgia,serif;letter-spacing:-.025em}
body.pp-editorial-shop .pp-home-setup-price{font-size:14.5px;color:var(--pp-muted)}
body.pp-editorial-shop .pp-home-setup-price b{color:var(--pp-ink);font-weight:600}
body.pp-editorial-shop .pp-home-setups-foot{display:flex;justify-content:center;margin-top:clamp(28px,4vw,44px)}
@media (max-width:640px){
 body.pp-editorial-shop .pp-home-setups-grid{display:flex;gap:14px;margin:0 -16px;padding:0 16px 8px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:16px;scrollbar-width:none}
 body.pp-editorial-shop .pp-home-setups-grid::-webkit-scrollbar{display:none}
 body.pp-editorial-shop .pp-home-setup{flex:0 0 72%;scroll-snap-align:start}
}

/* Closing: who we are and two ways to start, beside an arched photo */
body.pp-editorial-shop .pp-closing.pp-closing--brand{text-align:left;background:var(--pp-mist);padding:clamp(64px,8vw,112px) clamp(16px,4vw,40px)}
body.pp-editorial-shop .pp-closing--brand .pp-closing-inner{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);align-items:center;gap:clamp(32px,6vw,96px);max-width:1120px;margin:0 auto}
body.pp-editorial-shop .pp-closing--brand .pp-closing-photo{aspect-ratio:4/5;overflow:hidden;border-radius:999px 999px 28px 28px;background:#e7e0e5}
body.pp-editorial-shop .pp-closing--brand .pp-closing-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:62% 50%}
body.pp-editorial-shop .pp-closing--brand h2{margin:0 0 20px;font-size:clamp(40px,4.8vw,64px);line-height:1.02}
body.pp-editorial-shop .pp-closing--brand .pp-closing-copy>p{max-width:460px;margin:0 0 24px;font-size:16px;line-height:1.65;color:var(--pp-muted)}
body.pp-editorial-shop .pp-closing--brand .pp-brand-lines{margin:0 0 32px}
body.pp-editorial-shop .pp-closing--brand .pp-closing-actions{justify-content:flex-start}
@media (max-width:760px){
 body.pp-editorial-shop .pp-closing--brand .pp-closing-inner{grid-template-columns:1fr;gap:28px}
 body.pp-editorial-shop .pp-closing--brand .pp-closing-photo{max-width:300px;width:72%;margin:0 auto}
 body.pp-editorial-shop .pp-closing--brand .pp-closing-actions{flex-direction:column;align-items:stretch}
}
#app[data-pp-locale="he"] .pp-closing--brand :is(h2,p,li)[data-pp-he-block]{text-align:right}
@media (max-width:640px){
 body.pp-editorial-shop .pp-how--compact .pp-how-steps{flex-direction:row;align-items:stretch}
}
@media (max-width:640px){
 body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .section-head{width:auto;max-width:none;margin:0 0 26px;padding:0 16px;box-sizing:border-box}
}
body.pp-editorial-shop .pp-closing--brand :is(.pp-closing-copy,.pp-brand-lines,.pp-brand-lines li){text-align:left}
#app[data-pp-locale="he"] .pp-closing--brand :is(.pp-closing-copy,.pp-brand-lines,.pp-brand-lines li){text-align:right}

/* ---------- 13. Occasions as arches (not circles) ----------
   The round photos belong to "Three ways to shop"; the occasions use the
   arch, the same shape as the occasion picker on the Party setups page.
   Desktop: one calm row of eight. */
body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .occ-medallion{width:100%;max-width:200px;aspect-ratio:4/5;border-radius:999px 999px 18px 18px}
body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery :is(.pp-occasion-photo,.pp-occasion-photo>img){border-radius:0}
body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .occ-icon-link{gap:16px}
body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .occ-icon-caption{font-size:15px;gap:8px}
@media (min-width:1100px){
 body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .occ-icon-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:18px;max-width:1240px}
}
@media (min-width:641px) and (max-width:1099px){
 body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .occ-icon-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 18px;max-width:820px}
}
@media (max-width:640px){
 body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .occ-icon-link{flex:0 0 120px}
 body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .occ-medallion{width:120px;max-width:none}
}
body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .occ-medallion{border-radius:50% 50% 14px 14px / 40% 40% 14px 14px}

/* ---------- 14. Shop pages (step 4) ---------- */
/* product grids: a calmer gap between rows */
body.pp-editorial-shop .pp-journey-products{row-gap:clamp(32px,3.4vw,48px)}
/* setups on the Party setups and occasion pages: arched cards, rows of up to four */
body.pp-editorial-shop :is(.pp-setups-all,.pp-occasion-page) .pp-home-setups-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
body.pp-editorial-shop .pp-occasion-setups{max-width:1180px}
body.pp-editorial-shop .pp-occasion-setups .pp-home-setup{align-items:flex-start;text-align:left}
body.pp-editorial-shop .pp-occasion-setups .pp-home-setup-photo{max-width:280px}
body.pp-editorial-shop .pp-setups-all{padding-top:clamp(48px,6vw,80px)}
body.pp-editorial-shop .pp-setups-page .pp-occasion-picker-inner{padding-bottom:0}
@media (max-width:640px){
 body.pp-editorial-shop .pp-occasion-setups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px;margin:0;padding:0;overflow:visible}
 body.pp-editorial-shop .pp-occasion-setups .pp-home-setup{flex:none}
 body.pp-editorial-shop .pp-occasion-setups .pp-home-setup strong{font-size:20px}
}

/* ---------- 15. Opening photos fill the whole screen on very tall displays
   (the old 1000px cap only affected large monitors; laptops and tablets
   are unchanged) ---------- */
@media (min-height:1001px){body.pp-editorial-shop .pp-cine{max-height:none}}

/* ---------- 15. The opening photos fill the whole first screen ---------- */
body.pp-editorial-shop .pp-cine{max-height:none;min-height:520px}

/* 16 · Very wide screens: content stays capped, but the white page runs edge to edge so the footer never shows down the sides. */
body.pp-editorial-shop #app>main.container.pp-individual,body.pp-editorial-shop #app>main.container.pp-discovery,body.pp-editorial-shop #app>main.container.pp-occ-group{box-shadow:0 0 0 100vmax #fff,0 26px 50px -38px rgba(20,8,16,.55);clip-path:inset(0 -100vmax -80px)}

/* 17 · Ribbon and confetti accents: a few quiet corners only, behind the content. */
body.pp-editorial-shop .pp-accent-host{position:relative;isolation:isolate}
body.pp-editorial-shop{overflow-x:clip}
body.pp-editorial-shop .pp-accent{position:absolute;top:0;bottom:0;left:calc(50% - 50vw);width:100vw;z-index:-1;overflow:hidden;pointer-events:none}
body.pp-editorial-shop .pp-accent--confetti{left:0;width:100%}
body.pp-editorial-shop .pp-accent--ribbon{opacity:.42}
body.pp-editorial-shop .pp-ribbon{position:absolute;width:clamp(240px,25vw,460px)!important;height:auto;overflow:visible;filter:drop-shadow(0 8px 10px rgba(130,41,106,.08))}
body.pp-editorial-shop .pp-ribbon polygon{stroke-width:.6;stroke-linejoin:round}
body.pp-editorial-shop .pp-confetti-bit{position:absolute;display:block;border-radius:2px;opacity:0;will-change:transform,opacity}
body.pp-editorial-shop .pp-confetti-bit.dot{border-radius:50%}
body.pp-editorial-shop .pp-accent--confetti{opacity:.5}
@media (max-width:900px){body.pp-editorial-shop .pp-ribbon{width:200px!important}body.pp-editorial-shop .pp-accent--ribbon{opacity:.3}body.pp-editorial-shop .pp-accent--confetti{opacity:.35}}
@media print{body.pp-editorial-shop .pp-accent{display:none}}

/* 18 · Card add control: says what it does, becomes a stepper once added, honest when unavailable. */
body.pp-editorial-shop .pp-pieces .pp-individual-card > .copy > .btn.pp-piece-add{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;width:auto;min-width:46px;max-width:none;height:46px;padding:0 14px;gap:0;border-radius:999px;font:600 14px/1 'Outfit',system-ui,sans-serif;letter-spacing:.01em;transition:background-color .2s ease,gap .35s cubic-bezier(.2,.8,.2,1),padding .35s cubic-bezier(.2,.8,.2,1),transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s}
body.pp-editorial-shop .pp-pieces .pp-individual-card > .copy > .btn.pp-piece-add > svg{flex:none}
body.pp-editorial-shop .pp-pieces .pp-individual-card > .copy > .btn.pp-piece-add > span{position:static;width:auto;height:auto;clip:auto;overflow:hidden;display:inline-block;max-width:0;opacity:0;white-space:nowrap;transition:max-width .4s cubic-bezier(.2,.8,.2,1),opacity .25s ease}
body.pp-editorial-shop .pp-pieces .pp-individual-card:is(:hover,:focus-within) > .copy > .btn.pp-piece-add{gap:8px;padding:0 18px 0 15px;transform:none}
body.pp-editorial-shop .pp-pieces .pp-individual-card:is(:hover,:focus-within) > .copy > .btn.pp-piece-add > span{max-width:130px;opacity:1;transition-delay:0s,.08s}
body.pp-editorial-shop .pp-pieces .pp-individual-card > .copy > .btn.pp-piece-add:hover{transform:translateY(-1px);box-shadow:0 14px 26px -12px rgba(130,41,106,.9)}
body.pp-editorial-shop .pp-pieces .pp-individual-card > .copy > .btn.pp-piece-add:active{transform:scale(.97)}
body.pp-editorial-shop .pp-pieces .pp-individual-card > .copy > .btn.pp-piece-add.is-personalise{background:#fff;color:var(--pp-pc-plum);box-shadow:0 10px 24px -12px rgba(20,8,16,.45),inset 0 0 0 1px rgba(130,41,106,.18)}
body.pp-editorial-shop .pp-pieces .pp-individual-card > .copy > .btn.pp-piece-add.is-personalise:hover{background:#fff;color:var(--pp-pc-plum-d)}
/* stepper once the piece is in the party */
body.pp-editorial-shop .pp-pieces .pp-individual-card > .copy > .pp-piece-stepper{position:absolute;top:calc(100cqw - 60px);right:14px;z-index:4;display:flex;align-items:center;height:46px;padding:4px;border-radius:999px;background:#fff;box-shadow:0 12px 26px -12px rgba(20,8,16,.45),inset 0 0 0 1px rgba(130,41,106,.16);animation:pp-step-in .35s cubic-bezier(.2,.8,.2,1)}
body.pp-editorial-shop .pp-piece-stepper button{display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--pp-pc-plum,#82296a);cursor:pointer;transition:background-color .2s}
body.pp-editorial-shop .pp-piece-stepper button:last-child{background:var(--pp-pc-plum,#82296a);color:#fff}
body.pp-editorial-shop .pp-piece-stepper button:hover{background:#f4ecf2}
body.pp-editorial-shop .pp-piece-stepper button:last-child:hover{background:var(--pp-pc-plum-d,#6a1f56)}
body.pp-editorial-shop .pp-piece-stepper button:disabled{opacity:.35;cursor:not-allowed}
body.pp-editorial-shop .pp-piece-stepper button:focus-visible{outline:2px solid var(--pp-pc-plum,#82296a);outline-offset:2px}
body.pp-editorial-shop .pp-piece-stepper output{min-width:34px;padding:0 4px;text-align:center;font:600 15px/1 'Outfit',system-ui,sans-serif;font-variant-numeric:tabular-nums;color:#141013}
@keyframes pp-step-in{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}
body.pp-editorial-shop .pp-pieces .pp-piece-in{position:absolute;left:12px;bottom:12px;z-index:3;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:var(--pp-pc-plum,#82296a);color:#fff;font:600 11.5px/1.2 'Outfit',system-ui,sans-serif;pointer-events:none;animation:pp-step-in .35s cubic-bezier(.2,.8,.2,1)}
body.pp-editorial-shop .pp-pieces .pp-individual-card.is-in-party .pp-individual-media{box-shadow:inset 0 0 0 2px var(--pp-pc-plum,#82296a)}
/* unavailable: no button, a quiet note and a softened photo */
body.pp-editorial-shop .pp-pieces .pp-piece-soldout{position:absolute;left:12px;bottom:12px;z-index:3;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.92);color:#625a5f;font:500 11.5px/1.2 'Outfit',system-ui,sans-serif;pointer-events:none}
body.pp-editorial-shop .pp-pieces .pp-individual-card.is-unavailable .pp-individual-media img{filter:grayscale(.55);opacity:.62}
body.pp-editorial-shop .pp-pieces .pp-individual-card.is-unavailable .pp-purchase-stock-status{display:none}
/* phones and touch screens: no hover, so the words always show */
@media (hover:none),(max-width:700px){
 body.pp-editorial-shop .pp-pieces .pp-individual-card > .copy > .btn.pp-piece-add{gap:6px;padding:0 14px 0 11px}
 body.pp-editorial-shop .pp-pieces .pp-individual-card > .copy > .btn.pp-piece-add > span{max-width:130px;opacity:1}
}
@media (max-width:700px){
 body.pp-editorial-shop .pp-pieces .pp-individual-card > .copy > .btn.pp-piece-add{top:calc(100cqw - 46px);right:8px;height:38px;min-width:38px;font-size:12.5px}
 body.pp-editorial-shop .pp-pieces .pp-individual-card > .copy > .pp-piece-stepper{top:calc(100cqw - 48px);right:8px;height:40px;padding:3px}
 body.pp-editorial-shop .pp-piece-stepper button{width:32px;height:32px}
 body.pp-editorial-shop .pp-piece-stepper output{min-width:26px;font-size:13.5px}
 body.pp-editorial-shop .pp-pieces .pp-piece-in,body.pp-editorial-shop .pp-pieces .pp-piece-soldout{left:8px;bottom:auto;top:8px;padding:5px 9px;font-size:10.5px}
 body.pp-editorial-shop .pp-pieces .pp-individual-card.is-in-party .pp-piece-tag{display:none}
}
/* confirmation note: black, with Undo and View party */
body.pp-editorial-shop #toast{display:flex;align-items:center;gap:6px;max-width:min(560px,calc(100vw - 28px));padding:12px 22px;border-radius:14px;background:#141013;color:#fff;font:500 14px/1.35 'Outfit',system-ui,sans-serif;box-shadow:0 22px 50px -20px rgba(20,8,16,.6);animation:pp-toast-in .35s cubic-bezier(.2,.8,.2,1)}
body.pp-editorial-shop #toast.has-actions{padding:8px 8px 8px 20px}
body.pp-editorial-shop #toast .pp-toast-text{flex:1 1 auto;margin-right:10px}
body.pp-editorial-shop #toast button{flex:none;height:36px;padding:0 14px;border:0;border-radius:999px;background:transparent;color:rgba(255,255,255,.78);font:600 13px/1 'Outfit',system-ui,sans-serif;cursor:pointer}
body.pp-editorial-shop #toast button:hover{color:#fff;background:rgba(255,255,255,.08)}
body.pp-editorial-shop #toast button.is-primary{background:#82296a;color:#fff}
body.pp-editorial-shop #toast button.is-primary:hover{background:#9c3785}
@keyframes pp-toast-in{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@media (max-width:560px){body.pp-editorial-shop #toast{left:12px;right:12px;bottom:16px;transform:none;max-width:none;font-size:13px}body.pp-editorial-shop #toast.has-actions{padding:6px 6px 6px 14px}body.pp-editorial-shop #toast button{padding:0 11px;font-size:12.5px}}
/* fly-to-basket dot and basket bump */
.pp-fly-dot{position:fixed;z-index:300;width:14px;height:14px;border-radius:50%;background:#82296a;box-shadow:0 4px 12px rgba(130,41,106,.5);pointer-events:none;transform:translate(-50%,-50%)}
.pp-bump{animation:pp-bump .45s cubic-bezier(.3,1.6,.5,1)}
@keyframes pp-bump{0%{transform:scale(1)}40%{transform:scale(1.35)}100%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){body.pp-editorial-shop .pp-piece-stepper,body.pp-editorial-shop .pp-pieces .pp-piece-in,body.pp-editorial-shop #toast,.pp-bump{animation:none}}

/* 19 · USD reference note: a quiet corner pill, never over the menu or the hero. */
body.pp-editorial-shop .fx-note.pp-fx-pill{position:fixed;left:16px;bottom:16px;z-index:60;display:flex;align-items:center;gap:6px;max-width:min(420px,calc(100vw - 32px));padding:8px 8px 8px 16px;border:1px solid rgba(20,16,19,.08);border-radius:14px;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);color:#625a5f;font:500 12px/1.4 'Outfit',system-ui,sans-serif;text-align:start;box-shadow:0 14px 34px -18px rgba(20,8,16,.45);animation:pp-toast-in .4s cubic-bezier(.2,.8,.2,1)}
body.pp-editorial-shop .pp-fx-pill button{flex:none;display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:transparent;color:#625a5f;cursor:pointer}
body.pp-editorial-shop .pp-fx-pill button:hover{background:#f4ecf2;color:#82296a}
@media (max-width:560px){body.pp-editorial-shop .fx-note.pp-fx-pill{left:12px;right:12px;bottom:12px;max-width:none}}

/* 20 · Language and currency: one quiet pill that opens a small card with two segmented choices. */
#app .top.pp-storefront-header .pp-locale{position:relative}
#app .top.pp-storefront-header .pp-locale>summary{list-style:none;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 12px 0 11px;border:1px solid rgba(20,16,19,.12);border-radius:999px;background:#fff;color:#141013;font:600 12.5px/1 'Outfit',system-ui,sans-serif;letter-spacing:.04em;cursor:pointer;user-select:none;transition:background-color .25s,border-color .25s,color .25s}
#app .top.pp-storefront-header .pp-locale>summary::-webkit-details-marker{display:none}
#app .top.pp-storefront-header .pp-locale>summary:hover{border-color:rgba(130,41,106,.45);color:#82296a}
#app .top.pp-storefront-header .pp-locale>summary:focus-visible{outline:2px solid #82296a;outline-offset:3px}
#app .top.pp-storefront-header .pp-locale-label{display:inline-flex;align-items:center;gap:7px}
#app .top.pp-storefront-header .pp-locale-dot{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.45}
#app .top.pp-storefront-header .pp-locale-chev{opacity:.6;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
#app .top.pp-storefront-header .pp-locale[open] .pp-locale-chev{transform:rotate(180deg)}
#app .top.pp-storefront-header.pp-header--over .pp-locale>summary{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.4);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
#app .top.pp-storefront-header.pp-header--over .pp-locale>summary:hover{background:rgba(255,255,255,.18);border-color:#fff}
#app .top.pp-storefront-header .pp-locale-panel{position:absolute;top:calc(100% + 10px);inset-inline-end:0;z-index:80;width:258px;padding:16px;border:1px solid rgba(20,16,19,.08);border-radius:18px;background:#fff;color:#141013;box-shadow:0 26px 60px -24px rgba(20,8,16,.45);display:grid;gap:14px;transform-origin:top right;animation:pp-locale-in .28s cubic-bezier(.2,.8,.2,1)}
[dir="rtl"] #app .top.pp-storefront-header .pp-locale-panel{transform-origin:top left}
@keyframes pp-locale-in{from{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:none}}
#app .pp-locale-row{display:grid;gap:7px}
#app .pp-locale-title{font:600 10.5px/1 'Outfit',system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#8a8086}
#app .pp-locale-foot{margin:2px 0 0;padding-top:12px;border-top:1px solid #f0eaee;font:400 12px/1.4 'Outfit',system-ui,sans-serif;color:#8a8086}
#app .pp-seg{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;border-radius:999px;background:#f4eff2}
#app .pp-seg-opt{height:36px;min-height:36px;padding:0 10px;border:0;border-radius:999px;background:transparent;color:#625a5f;font:600 13px/1 'Outfit',system-ui,sans-serif;letter-spacing:.02em;cursor:pointer;box-shadow:none;transition:background-color .25s,color .25s,box-shadow .25s}
#app .pp-seg-opt:hover:not(.is-on){color:#82296a}
#app .pp-seg-opt.is-on,#app .pp-seg-opt.is-on:disabled{opacity:1;background:#fff;color:#82296a;box-shadow:0 4px 12px -6px rgba(20,8,16,.35),inset 0 0 0 1px rgba(130,41,106,.14);cursor:default}
#app .pp-seg-opt:focus-visible{outline:2px solid #82296a;outline-offset:2px}
#app .pp-seg-opt span[lang="he"]{font-family:'Assistant','Outfit',system-ui,sans-serif;letter-spacing:0}
/* phones: the pill hides; the choices live at the bottom of the menu */
#app .top.pp-storefront-header .mobile-nav .pp-mobile-locale{display:grid;gap:14px;margin-top:10px;padding:16px 12px 4px;border-top:1px solid #f0eaee}
@media (max-width:980px){#app .top.pp-storefront-header .nav-actions>.pp-locale{display:none}}
@media (min-width:981px){#app .top.pp-storefront-header .mobile-nav .pp-mobile-locale{display:none}}

/* 21 · Playfair Display runs wider than Bodoni: give the hero line room and ease the tracking. */
body.pp-editorial-shop .pp-cine-copy{width:min(1120px,100%)}
body.pp-editorial-shop .pp-cine h1{font-size:clamp(44px,6.4vw,90px);letter-spacing:-.025em;line-height:1.02}
body.pp-editorial-shop .pp-cine h1 em{white-space:nowrap}
@media (max-width:640px){body.pp-editorial-shop .pp-cine h1 em{white-space:normal}}
body.pp-editorial-shop .pp-cine-copy p{text-wrap:balance}

/* 22 · Home order: smaller Three ways, occasion icons, table, setups, moving gallery. */
/* Three ways, about a third smaller */
body.pp-editorial-shop .pp-ways{padding:clamp(52px,6vw,84px) 24px clamp(56px,6vw,88px)}
body.pp-editorial-shop .pp-ways h2{font-size:clamp(34px,4vw,52px);margin-bottom:clamp(30px,3.6vw,46px)}
body.pp-editorial-shop .pp-ways-grid{max-width:900px}
body.pp-editorial-shop .pp-ways-card{gap:30px}
@media (min-width:721px){body.pp-editorial-shop .pp-ways-ball{width:min(224px,100%);padding:8px}
body.pp-editorial-shop .pp-ways-photo,body.pp-editorial-shop .pp-ways-fill{inset:8px}}
@media (max-width:720px){body.pp-editorial-shop .pp-ways-ball{width:112px}body.pp-editorial-shop .pp-ways-badge{width:40px;height:40px;margin:-20px 0 0 -20px}body.pp-editorial-shop .pp-ways-icon{width:18px;height:18px}body.pp-editorial-shop .pp-ways-grid{gap:22px}}
body.pp-editorial-shop .pp-ways-badge{width:54px;height:54px;margin:-27px 0 0 -27px}
body.pp-editorial-shop .pp-ways-icon{width:24px;height:24px}
body.pp-editorial-shop .pp-ways-card:is(:hover,:focus-visible) .pp-ways-icon{width:58px;height:58px}
body.pp-editorial-shop .pp-ways-cta{font-size:10.5px;top:66%}
body.pp-editorial-shop .pp-ways-title{font-size:clamp(23px,2vw,27px)}
body.pp-editorial-shop .pp-ways-line{font-size:14.5px}
body.pp-editorial-shop .pp-ways-link{min-height:38px;font-size:14px}

/* Occasions as quiet line icons in arch tiles */
body.pp-editorial-shop .pp-occ-marks{padding:clamp(64px,7vw,104px) 24px clamp(64px,7vw,100px);background:#fff}
body.pp-editorial-shop .pp-occ-marks-head{text-align:center;margin:0 auto clamp(34px,4vw,52px)}
body.pp-editorial-shop .pp-occ-marks-head h2{margin:0;font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:clamp(34px,4vw,52px);line-height:1.05;letter-spacing:-.02em;color:#141013}
body.pp-editorial-shop .pp-occ-marks-head h2 em{color:#82296a}
body.pp-editorial-shop .pp-occ-marks-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(26px,3vw,44px) clamp(14px,2.4vw,40px);max-width:820px;margin:0 auto}
body.pp-editorial-shop .pp-occ-mark{display:flex;flex-direction:column;align-items:center;gap:6px;color:#141013;text-decoration:none;text-align:center;outline:none}
body.pp-editorial-shop .pp-occ-mark-arch{position:relative;display:grid;place-items:center;width:100%;max-width:160px;aspect-ratio:6/7;margin-bottom:12px;border-radius:50% 50% 16px 16px/42% 42% 16px 16px;border:1px solid #e6d3df;background:linear-gradient(180deg,#fcf9fb,#f4ebf1);overflow:hidden;color:#82296a;transition:border-color .4s,transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s}
body.pp-editorial-shop .pp-occ-mark-fill{position:absolute;inset:7px;border:1px solid rgba(130,41,106,.55);border-radius:inherit;opacity:0;transform:scale(1.06);transition:opacity .45s ease,transform .6s cubic-bezier(.2,.8,.2,1)}
body.pp-editorial-shop .pp-occ-mark-icon{position:relative;display:block;width:50%;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
body.pp-editorial-shop .pp-occ-mark-icon svg{display:block;width:100%;height:auto}
body.pp-editorial-shop .pp-occ-mark-name{font-family:'Playfair Display',Georgia,serif;font-size:clamp(15px,1.6vw,21px);line-height:1.15;transition:color .3s}
body.pp-editorial-shop .pp-occ-mark-note{font-size:12px;line-height:1.35;color:#8a8086}
/* hover: the tile lifts, a fine inner arch settles in and the icon redraws itself line by line */
body.pp-editorial-shop .pp-occ-mark:is(:hover,:focus-visible) .pp-occ-mark-arch{border-color:rgba(130,41,106,.45);background:linear-gradient(180deg,#fff,#f7eef4);transform:translateY(-5px);box-shadow:0 26px 40px -28px rgba(130,41,106,.6)}
body.pp-editorial-shop .pp-occ-mark:is(:hover,:focus-visible) .pp-occ-mark-fill{opacity:1;transform:none}
body.pp-editorial-shop .pp-occ-mark:is(:hover,:focus-visible) .pp-occ-mark-icon{transform:translateY(-2px)}
body.pp-editorial-shop .pp-occ-mark:is(:hover,:focus-visible) .pp-occ-mark-icon:not(.is-illus) :is(path,circle,rect){stroke-dasharray:1;animation:pp-mark-draw 1.15s cubic-bezier(.45,0,.2,1) both}
body.pp-editorial-shop .pp-occ-mark:is(:hover,:focus-visible) .pp-occ-mark-icon:not(.is-illus) text{animation:pp-mark-fade .9s .25s ease both}
@keyframes pp-mark-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes pp-mark-fade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){body.pp-editorial-shop .pp-occ-mark .pp-occ-mark-icon :is(path,circle,rect,text){animation:none!important}}
body.pp-editorial-shop .pp-occ-mark:is(:hover,:focus-visible) .pp-occ-mark-name{color:#82296a}
body.pp-editorial-shop .pp-occ-mark:focus-visible .pp-occ-mark-arch{outline:2px solid #82296a;outline-offset:4px}
@media (max-width:640px){
 body.pp-editorial-shop .pp-occ-marks{padding-inline:14px}
 body.pp-editorial-shop .pp-occ-marks-row{gap:22px 10px;max-width:440px}
 body.pp-editorial-shop .pp-occ-mark-arch{margin-bottom:6px}
 body.pp-editorial-shop .pp-occ-mark-name{font-size:13.5px}
}
/* Seasonal and Milestones pages */
body.pp-editorial-shop .pp-occ-group{padding-bottom:96px}
body.pp-editorial-shop .pp-occ-marks-row--group{grid-template-columns:repeat(4,minmax(0,1fr));max-width:760px;gap:34px 22px;margin-top:20px}
body.pp-editorial-shop .pp-occ-marks-row--group .pp-occ-mark-arch{max-width:150px}

/* Moving gallery at the end */
body.pp-editorial-shop .pp-home-gallery{padding:clamp(64px,7vw,100px) 0 clamp(72px,8vw,110px);background:#fff;overflow:hidden}
body.pp-editorial-shop .pp-home-gallery-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;max-width:1240px;margin:0 auto clamp(28px,3.4vw,44px);padding:0 24px}
body.pp-editorial-shop .pp-home-gallery-head h2{margin:0;font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:clamp(34px,4vw,52px);line-height:1.05;letter-spacing:-.02em}
body.pp-editorial-shop .pp-home-gallery-head h2 em{color:#82296a}
body.pp-editorial-shop .pp-gallery-viewport{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
body.pp-editorial-shop .pp-gallery-track{display:flex;gap:18px;width:max-content;animation:pp-gallery-drift 90s linear infinite}
body.pp-editorial-shop .pp-gallery-viewport:is(:hover,:focus-within) .pp-gallery-track{animation-play-state:paused}
@keyframes pp-gallery-drift{to{transform:translateX(calc(-50% - 9px))}}
body.pp-editorial-shop .pp-gallery-card{position:relative;flex:none;display:block;height:clamp(240px,26vw,340px);border-radius:22px;overflow:hidden;background:#efe8ed;color:#fff;text-decoration:none}
body.pp-editorial-shop .pp-gallery-card--0{aspect-ratio:4/5}
body.pp-editorial-shop .pp-gallery-card--1{aspect-ratio:1/1;border-radius:999px 999px 22px 22px/50% 50% 22px 22px}
body.pp-editorial-shop .pp-gallery-card--2{aspect-ratio:5/4}
body.pp-editorial-shop .pp-gallery-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
body.pp-editorial-shop .pp-gallery-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(20,8,16,.62));opacity:0;transition:opacity .4s}
body.pp-editorial-shop .pp-gallery-cap{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;display:flex;flex-direction:column;gap:3px;opacity:0;transform:translateY(8px);transition:opacity .35s,transform .45s cubic-bezier(.2,.8,.2,1)}
body.pp-editorial-shop .pp-gallery-cap small{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;opacity:.85}
body.pp-editorial-shop .pp-gallery-cap b{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:21px;line-height:1.1}
body.pp-editorial-shop .pp-gallery-card:is(:hover,:focus-visible) img{transform:scale(1.05)}
body.pp-editorial-shop .pp-gallery-card:is(:hover,:focus-visible)::after,body.pp-editorial-shop .pp-gallery-card:is(:hover,:focus-visible) .pp-gallery-cap{opacity:1;transform:none}
@media (hover:none){body.pp-editorial-shop .pp-gallery-card::after,body.pp-editorial-shop .pp-gallery-cap{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){body.pp-editorial-shop .pp-gallery-viewport{overflow-x:auto}body.pp-editorial-shop .pp-gallery-track{animation:none}}
@media (max-width:640px){body.pp-editorial-shop .pp-home-gallery-head{flex-direction:column;align-items:flex-start;padding:0 16px}body.pp-editorial-shop .pp-gallery-card{height:230px}body.pp-editorial-shop .pp-gallery-track{animation-duration:70s}}
body.pp-editorial-shop .pp-occ-mark-icon .pp-mark-tone{opacity:.13;transition:opacity .5s ease}
body.pp-editorial-shop .pp-occ-mark:is(:hover,:focus-visible) .pp-occ-mark-icon .pp-mark-tone{opacity:.2}
body.pp-editorial-shop .pp-occ-mark-icon{width:56%}

/* 23 · Animated occasion illustrations, plum and light plum only (occasion-illustrations.mjs).
   Same moving-part motion as the original icons; one short play on hover, once on scroll-in on touch. */
body.pp-editorial-shop .pp-occ-mark-icon.is-illus{width:78%}
body.pp-editorial-shop .pp-occ-mark-icon.is-illus svg{overflow:visible}
.pp-illus .ppi-blade-a,.pp-illus .ppi-blade-b{transform-origin:156px 174px}
.pp-illus .ppi-lock-cut{transform-origin:156px 120px}
.pp-illus .ppi-draw{stroke-dasharray:1;stroke-dashoffset:0}
.pp-illus .ppi-pram{transform-origin:156px 262px}
.pp-illus .ppi-wheel{transform-origin:var(--cx) var(--cy)}
.pp-illus .ppi-bow{transform-origin:156px 178px}
.pp-illus .ppi-flame{transform-origin:var(--fx) var(--fy)}
.pp-illus .ppi-confetti{transform-box:fill-box;transform-origin:center}
.pp-illus .ppi-sparkle,.pp-illus .ppi-confetti,.pp-illus .ppi-z path{opacity:0}
.pp-illus .ppi-wine{transform-origin:156px 88px}
.pp-illus .ppi-page{opacity:0;transform-origin:156px 160px}
.pp-illus .ppi-glass-a{transform-origin:104px 246px}
.pp-illus .ppi-glass-b{transform-origin:208px 246px}
.pp-illus .ppi-clink{opacity:0;transform-origin:156px 34px}
.pp-illus .ppi-lulav{transform-origin:132px 258px}
.pp-illus .ppi-tiara{transform-origin:156px 72px}
.pp-illus-bas-mitzvah .ppi-lock-cut{transform-origin:156px 96px}
.pp-illus .ppi-esrog{transform-origin:228px 262px}
body.pp-editorial-shop .pp-occ-mark:is(:hover,:focus-visible) .pp-illus .ppi-blade-a,body.pp-editorial-shop .pp-occ-mark.occ-motion-running .pp-illus .ppi-blade-a{animation:pp-occasion-snip-a 1.1s cubic-bezier(.4,0,.2,1)}
body.pp-editorial-shop .pp-occ-mark:is(:hover,:focus-visible) .pp-illus .ppi-blade-b,body.pp-editorial-shop .pp-occ-mark.occ-motion-running .pp-illus .ppi-blade-b{animation:pp-occasion-snip-b 1.1s cubic-bezier(.4,0,.2,1)}
body.pp-editorial-shop .pp-occ-mark:is(:hover,:focus-visible) .pp-illus .ppi-lock-cut,body.pp-editorial-shop .pp-occ-mark.occ-motion-running .pp-illus .ppi-lock-cut{animation:pp-occasion-lock-fall 1.5s cubic-bezier(.3,0,.3,1)}
body.pp-editorial-shop .pp-occ-mark:is(:hover,:focus-visible) .pp-illus .ppi-leaf,body.pp-editorial-shop .pp-occ-mark.occ-motion-running .pp-illus .ppi-leaf{animation:pp-occasion-leaf 1s cubic-bezier(.2,.9,.3,1.3) calc(var(--i)*55ms) both}
body.pp-editorial-shop .pp-occ-mark:is(:hover,:focus-visible) .pp-illus .ppi-draw,body.pp-editorial-shop .pp-occ-mark.occ-motion-running .pp-illus .ppi-draw{animation:pp-occasion-draw 1.1s cubic-bezier(.6,0,.2,1)}
body.pp-editorial-shop .pp-occ-mark:is(:hover,:focus-visible) .pp-illus .ppi-draw-2,body.pp-editorial-shop .pp-occ-mark.occ-motion-running .pp-illus .ppi-draw-2{animation:pp-occasion-draw 1.1s .18s cubic-bezier(.6,0,.2,1) both}
body.pp-editorial-shop .pp-occ-mark:is(:hover,:focus-visible) .pp-illus .ppi-pram,body.pp-editorial-shop .pp-occ-mark.occ-motion-running .pp-illus .ppi-pram{animation:pp-occasion-pram-rock 1.5s cubic-bezier(.45,0,.3,1)}
body.pp-editorial-shop .pp-occ-mark:is(:hover,:focus-visible) .pp-illus .ppi-wheel,body.pp-editorial-shop .pp-occ-mark.occ-motion-running .pp-illus .ppi-wheel{animation:pp-occasion-wheel-roll 1.5s cubic-bezier(.45,0,.3,1)}
body.pp-editorial-shop .pp-occ-mark:is(:hover,:focus-visible) .pp-illus .ppi-bow,body.pp-editorial-shop .pp-occ-mark.occ-motion-running .pp-illus .ppi-bow{animation:pp-occasion-bow 1.5s ease-in-out}
body.pp-editorial-shop .pp-occ-mark:is(:hover,:focus-visible) .pp-illus .ppi-flame,body.pp-editorial-shop .pp-occ-mark.occ-motion-running .pp-illus .ppi-flame{animation:pp-occasion-flicker 1.3s calc(var(--i)*90ms) ease-in-out both}
body.pp-editorial-shop .pp-occ-mark:is(:hover,:focus-visible) .pp-illus .ppi-confetti,body.pp-editorial-shop .pp-occ-mark.occ-motion-running .pp-illus .ppi-confetti{animation:pp-occasion-confetti 1.2s calc(.25s + var(--i)*40ms) cubic-bezier(.15,.7,.3,1) both}
body.pp-editorial-shop .pp-occ-mark:is(:hover,:focus-visible) .pp-illus .ppi-sparkle,body.pp-editorial-shop .pp-occ-mark.occ-motion-running .pp-illus .ppi-sparkle{animation:pp-occasion-sparkle 1.2s calc(.3s + var(--i)*160ms) ease-out both}
body.pp-editorial-shop .pp-occ-mark:is(:hover,:focus-visible) .pp-illus .ppi-z path,body.pp-editorial-shop .pp-occ-mark.occ-motion-running .pp-illus .ppi-z path{animation:pp-occasion-baby-z 2.4s ease-out}
body.pp-editorial-shop .pp-occ-mark:is(:hover,:focus-visible) .pp-illus .ppi-z path+path,body.pp-editorial-shop .pp-occ-mark.occ-motion-running .pp-illus .ppi-z path+path{animation:pp-occasion-baby-z 2.4s .35s ease-out both}
body.pp-editorial-shop .pp-occ-mark:is(:hover,:focus-visible) .pp-illus .ppi-wine,body.pp-editorial-shop .pp-occ-mark.occ-motion-running .pp-illus .ppi-wine{animation:pp-occasion-kiddush-glint 1.25s ease-in-out}
body.pp-editorial-shop .pp-occ-mark:is(:hover,:focus-visible) .pp-illus .ppi-page,body.pp-editorial-shop .pp-occ-mark.occ-motion-running .pp-illus .ppi-page{animation:pp-occasion-page-turn 1.3s cubic-bezier(.5,0,.3,1)}
body.pp-editorial-shop .pp-occ-mark:is(:hover,:focus-visible) .pp-illus .ppi-glass-a,body.pp-editorial-shop .pp-occ-mark.occ-motion-running .pp-illus .ppi-glass-a{animation:pp-occasion-clink-a 1.4s cubic-bezier(.45,0,.3,1)}
body.pp-editorial-shop .pp-occ-mark:is(:hover,:focus-visible) .pp-illus .ppi-glass-b,body.pp-editorial-shop .pp-occ-mark.occ-motion-running .pp-illus .ppi-glass-b{animation:pp-occasion-clink-b 1.4s cubic-bezier(.45,0,.3,1)}
body.pp-editorial-shop .pp-occ-mark:is(:hover,:focus-visible) .pp-illus .ppi-clink,body.pp-editorial-shop .pp-occ-mark.occ-motion-running .pp-illus .ppi-clink{animation:pp-occasion-clink-spark 1.4s ease-out}
body.pp-editorial-shop .pp-occ-mark:is(:hover,:focus-visible) .pp-illus .ppi-lulav,body.pp-editorial-shop .pp-occ-mark.occ-motion-running .pp-illus .ppi-lulav{animation:pp-occasion-lulav-wave 1.6s cubic-bezier(.45,0,.3,1)}
body.pp-editorial-shop .pp-occ-mark:is(:hover,:focus-visible) .pp-illus .ppi-esrog,body.pp-editorial-shop .pp-occ-mark.occ-motion-running .pp-illus .ppi-esrog{animation:pp-occasion-esrog-settle 1.6s cubic-bezier(.45,0,.3,1)}
body.pp-editorial-shop .pp-occ-mark:is(:hover,:focus-visible) .pp-illus .ppi-tiara,body.pp-editorial-shop .pp-occ-mark.occ-motion-running .pp-illus .ppi-tiara{animation:pp-occasion-tiara 1.4s .5s cubic-bezier(.3,1.4,.5,1) both}
@keyframes pp-occasion-tiara{0%,100%{transform:none}35%{transform:translateY(-7px) rotate(-3deg)}60%{transform:translateY(1px) rotate(1.5deg)}}
@keyframes pp-occasion-page-turn{0%{opacity:1;transform:scaleX(1)}50%{opacity:1;transform:scaleX(.02)}90%{opacity:1;transform:scaleX(-1)}100%{opacity:0;transform:scaleX(-1)}}
@keyframes pp-occasion-clink-a{0%,100%{transform:none}38%{transform:rotate(13deg)}46%{transform:rotate(10deg)}54%{transform:rotate(13deg)}}
@keyframes pp-occasion-clink-b{0%,100%{transform:none}38%{transform:rotate(-13deg)}46%{transform:rotate(-10deg)}54%{transform:rotate(-13deg)}}
@keyframes pp-occasion-clink-spark{0%,36%{opacity:0;transform:scale(.4)}48%{opacity:1;transform:scale(1.1)}80%{opacity:0;transform:scale(1.25)}100%{opacity:0}}
@keyframes pp-occasion-lulav-wave{0%,100%{transform:none}18%{transform:rotate(-7deg)}36%{transform:rotate(6deg)}54%{transform:rotate(-4deg)}72%{transform:rotate(3deg)}}
@keyframes pp-occasion-esrog-settle{0%,100%{transform:none}30%{transform:translateY(-8px) rotate(4deg)}55%{transform:translateY(2px)}75%{transform:translateY(-2px)}}
@media (prefers-reduced-motion:reduce){body.pp-editorial-shop .pp-illus *{animation:none!important}}
