/* Party Pack client-demo finish: one calm editorial system across every customer route.
   No structural changes to the approved Three.js hero or ordering calculations. */
body.pp-editorial-shop{--pp-ink:#1e1a1d;--pp-rose:#dcbfd4;--pp-powder:#fafafa;--pp-stroke:#e8e4e7;--pp-secondary:#746c70;color:var(--pp-ink);-webkit-font-smoothing:antialiased}
body.pp-editorial-shop :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid #913e7b;outline-offset:3px}
body.pp-editorial-shop :is(button,a,summary){-webkit-tap-highlight-color:transparent}
body.pp-editorial-shop :is(.pp-ed-choice-section,.pp-ed-product-section,.pp-ed-process,.pp-journey,.pp-calm-discovery){scroll-margin-top:80px}
body.pp-editorial-shop .demo-banner{min-height:28px;letter-spacing:.045em;font-size:10px}
body.pp-editorial-shop .top{padding-inline:clamp(18px,5vw,74px);height:73px;gap:clamp(12px,2vw,25px)}
body.pp-editorial-shop .top .logo{max-height:62px;height:auto;max-width:115px;width:auto;object-fit:contain}
body.pp-editorial-shop .topnav{gap:clamp(16px,1.6vw,28px)}
body.pp-editorial-shop .topnav a{font-size:11px;white-space:nowrap;letter-spacing:.035em}
body.pp-editorial-shop .topnav a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}
body.pp-editorial-shop .nav-actions .iconbtn{min-width:38px;min-height:38px;display:grid;place-items:center}
body.pp-editorial-shop .pp-ed-choice-section{padding-block:76px 86px}
body.pp-editorial-shop .pp-ed-choice-grid{max-width:1050px;gap:24px}
body.pp-editorial-shop .pp-ed-choice-card{border:1px solid #eeebed;border-radius:7px;box-shadow:0 1px 5px #2a18270a}
body.pp-editorial-shop .pp-ed-choice-image{aspect-ratio:1.35}
body.pp-editorial-shop .pp-ed-choice-body{padding:29px 25px 27px;gap:0}
body.pp-editorial-shop .pp-ed-choice-body h3{font-size:clamp(27px,2.4vw,35px);letter-spacing:-.025em;line-height:1.12}
body.pp-editorial-shop .pp-ed-choice-body p{font-size:12px;line-height:1.7}
body.pp-editorial-shop .pp-ed-button{border-radius:2px;min-height:42px;min-width:166px;letter-spacing:.065em;font-weight:600}
body.pp-editorial-shop .pp-ed-product-section{padding-block:66px 74px}
body.pp-editorial-shop .pp-ed-category-grid{max-width:920px;grid-template-columns:repeat(3,minmax(0,1fr));row-gap:30px}
body.pp-editorial-shop .pp-ed-category-link{gap:13px;min-height:120px}
body.pp-editorial-shop .pp-ed-category-icon{width:82px;height:82px;min-height:82px;box-shadow:0 0 0 1px #221c1d20 inset}
body.pp-editorial-shop .pp-ed-category-icon svg{height:35px;width:35px;stroke-width:1.55}
body.pp-editorial-shop .pp-ed-category-link>span:last-child{font-size:12px;font-weight:500}
body.pp-editorial-shop #shop-by-occasion{padding-block:74px 80px}
body.pp-editorial-shop #shop-by-occasion .occ-icon-grid{gap:32px 30px}
body.pp-editorial-shop #shop-by-occasion .occ-icon-caption{font-size:13px;font-weight:500;margin-top:14px}
body.pp-editorial-shop #shop-by-occasion .occ-medallion{box-shadow:0 0 0 1px #2114190d}
body.pp-editorial-shop .pp-journey-banner{padding-block:38px 45px}
body.pp-editorial-shop .pp-journey-banner h1{font-size:clamp(39px,4.8vw,60px)}
body.pp-editorial-shop .pp-journey-shell{width:min(1160px,calc(100% - 48px));padding-block:45px 75px}
body.pp-editorial-shop .pp-journey-section-head{margin-bottom:32px}
body.pp-editorial-shop .pp-journey-section-head h2{font-size:clamp(32px,3.45vw,44px)}
body.pp-editorial-shop .pp-journey-path-grid{gap:25px;margin-bottom:70px;max-width:1080px}
body.pp-editorial-shop .pp-journey-path-photo{aspect-ratio:1.2;border-radius:2px}
body.pp-editorial-shop .pp-journey-path h3{font-size:clamp(25px,2.5vw,33px);margin-block:16px 8px}
body.pp-editorial-shop .pp-journey-path p{min-height:45px;margin-bottom:14px}
body.pp-editorial-shop .pp-journey-path .pp-ed-includes{margin-top:13px}
body.pp-editorial-shop .pp-journey-shelf{padding-bottom:56px}
body.pp-editorial-shop .pp-journey-shelf+.pp-journey-shelf{padding-top:53px}
body.pp-editorial-shop .pp-journey-products{gap:34px 23px}
body.pp-editorial-shop .pp-journey-card img{border-radius:2px}
body.pp-editorial-shop .pp-journey-card strong{font-size:13px;line-height:1.5;font-weight:600}
body.pp-editorial-shop .pp-journey-card span{font-size:12px}
body.pp-editorial-shop .pp-journey-breadcrumb{margin-bottom:24px}
body.pp-editorial-shop .pp-journey-product-layout{gap:clamp(26px,5vw,70px)}
body.pp-editorial-shop .pp-journey-product-copy h1{font-size:clamp(35px,4vw,52px)}
body.pp-editorial-shop .pp-journey-product-image>img{aspect-ratio:1/1.03}
body.pp-editorial-shop .pp-journey-related{gap:10px}
body.pp-editorial-shop .pp-journey-related a{border-radius:2px}
body.pp-editorial-shop .pp-journey-related a:hover{background:var(--pp-powder)}
body.pp-editorial-shop .pp-occasion-picker-inner{padding-top:55px}
body.pp-editorial-shop .pp-occasion-picker-inner h2{margin-bottom:45px}
body.pp-editorial-shop .pp-occasion-chooser{row-gap:35px}
body.pp-editorial-shop .pp-occasion-circle{width:124px;height:124px}
body.pp-editorial-shop .pp-occasion-choice{gap:13px}
body.pp-editorial-shop .pp-occasion-choice:focus-visible .pp-occasion-circle{outline:2px solid #913e7b;outline-offset:4px}
body.pp-editorial-shop .pp-journey-cart-layout{gap:32px}
body.pp-editorial-shop .pp-journey-cart-summary{padding:26px;border-radius:3px}
body.pp-editorial-shop .pp-journey-cart-services{border-top:1px solid #e7e2e5;padding-top:24px}
body.pp-editorial-shop .pp-journey-cart-item{gap:14px}
/* The basket is always accessible in the header. Keep its secondary summary in flow,
   not over product images, dates, forms or mobile actions. */
body.pp-editorial-shop .pp-party-bar{position:static;z-index:auto;max-width:1100px;width:calc(100% - 48px);box-sizing:border-box;margin:32px auto 18px;display:flex;justify-content:space-between;box-shadow:none;border:1px solid #e7e2e5;border-radius:4px;background:#fff9fa;color:var(--pp-ink);padding:12px 15px 12px 18px}
body.pp-editorial-shop .pp-party-bar>span{color:#282026}
body.pp-editorial-shop .pp-party-bar small{color:var(--pp-secondary)}
body.pp-editorial-shop .pp-party-bar .btn{min-height:39px}
body.pp-editorial-shop .footer{margin-top:0;line-height:1.7}
/* Keep text legible on older and smaller screens without adding visual clutter. */
@media(min-width:1600px){
 body.pp-editorial-shop .pp-journey-shell{width:min(1220px,calc(100% - 100px))}
 body.pp-editorial-shop .pp-journey-path-grid{max-width:1150px}
 body.pp-editorial-shop .pp-journey-path-photo{aspect-ratio:1.28}
}
@media(max-width:900px){
 body.pp-editorial-shop .top{height:65px;padding-inline:16px}
 body.pp-editorial-shop .pp-ed-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 body.pp-editorial-shop .pp-journey-path-grid{gap:14px}
 body.pp-editorial-shop .pp-journey-shell{width:calc(100% - 40px)}
}
@media(max-width:690px){
 body.pp-editorial-shop .top{height:61px}
 body.pp-editorial-shop .top .logo{max-height:47px;max-width:85px}
 body.pp-editorial-shop .pp-ed-choice-section{padding-block:58px 66px}
 body.pp-editorial-shop .pp-ed-choice-grid{grid-template-columns:1fr;max-width:420px;gap:18px}
 body.pp-editorial-shop .pp-ed-choice-image{aspect-ratio:1.6}
 body.pp-editorial-shop .pp-ed-choice-body{padding:21px 18px 23px}
 body.pp-editorial-shop .pp-ed-choice-body p{min-height:0}
 body.pp-editorial-shop .pp-ed-product-section{padding-block:48px 55px}
 body.pp-editorial-shop .pp-ed-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}
 body.pp-editorial-shop .pp-ed-category-icon{width:72px;height:72px;min-height:72px}
 body.pp-editorial-shop .pp-ed-category-link{min-height:111px}
 body.pp-editorial-shop #shop-by-occasion{padding-block:52px 60px}
 body.pp-editorial-shop .pp-journey-shell{width:calc(100% - 34px);padding-block:33px 60px}
 body.pp-editorial-shop .pp-journey-banner{padding-block:34px 37px}
 body.pp-editorial-shop .pp-journey-path-grid{grid-template-columns:1fr;max-width:410px;gap:30px;margin-bottom:53px}
 body.pp-editorial-shop .pp-journey-path-photo{aspect-ratio:1.55}
 body.pp-editorial-shop .pp-journey-path h3{font-size:30px}
 body.pp-editorial-shop .pp-journey-path p{min-height:0}
 body.pp-editorial-shop .pp-journey-products{gap:28px 13px}
 body.pp-editorial-shop .pp-journey-card strong{font-size:12px}
 body.pp-editorial-shop .pp-journey-shelf{padding-bottom:43px}
 body.pp-editorial-shop .pp-journey-shelf+.pp-journey-shelf{padding-top:40px}
 body.pp-editorial-shop .pp-occasion-circle{width:107px;height:107px}
 body.pp-editorial-shop .pp-party-bar{width:calc(100% - 30px);padding:10px 12px;margin-block:22px 12px;gap:10px}
 body.pp-editorial-shop .pp-party-bar small{font-size:11px}
 body.pp-editorial-shop .pp-party-bar .btn{font-size:11px;min-height:40px;padding:9px 10px}
}
@media(max-width:360px){
 body.pp-editorial-shop .pp-party-bar{flex-direction:column;align-items:stretch}
 body.pp-editorial-shop .pp-party-bar .btn{width:100%}
 body.pp-editorial-shop .pp-ed-choice-card{border-radius:3px}
 body.pp-editorial-shop .pp-journey-related a{font-size:10px;padding:8px}
}
@media(prefers-reduced-motion:reduce){
 body.pp-editorial-shop .pp-ed-choice-image img,body.pp-editorial-shop .pp-journey-path-photo img,body.pp-editorial-shop .pp-occasion-circle{transition:none!important;transform:none!important}
}
