
/* Party Pack occasion-led customer journey; original markup and visual system.
   Existing 3D homepage, admin, discounts, rentals and checkout behaviour are unchanged. */
.pp-journey{--pj-ink:#1b171a;--pj-pink:#dfc3d7;--pj-soft:#fafafa;--pj-line:#e7e2e5;background:#fff;color:var(--pj-ink);font-family:'Outfit',Inter,Arial,sans-serif;min-height:56vh}
.pp-journey h1,.pp-journey h2,.pp-journey h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.025em}
.pp-journey-shell{width:min(1180px,calc(100% - 44px));margin:0 auto;padding:58px 0 90px}
.pp-journey-banner{background:#151114;color:white;text-align:center;padding:48px 24px 55px}
.pp-journey-banner a{color:#e6e2e5;display:block;margin-bottom:20px;font-size:12px}
.pp-journey-banner>span,.pp-journey-section-head>span,.pp-journey-shelf-heading>div>span{font-size:10px;letter-spacing:.15em;color:#9f4487;font-weight:600}
.pp-journey-banner h1{font-size:clamp(40px,5.3vw,66px);margin:5px 0 12px;line-height:1.12;color:#fff}
.pp-journey-banner p{max-width:620px;margin:0 auto;color:#ded9dd;font-size:13px;line-height:1.8}
.pp-journey-section-head{text-align:center;margin:0 0 44px}
.pp-journey-section-head h2{font-size:clamp(34px,4vw,47px);margin:10px 0 0}
.pp-journey-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px;max-width:990px;margin:0 auto 93px}
.pp-journey-path{min-width:0;text-align:center;display:flex;flex-direction:column;align-items:center}
.pp-journey-path-photo{width:100%;aspect-ratio:1.12;overflow:hidden;display:block}
.pp-journey-path-photo img,.pp-journey-card>img,.pp-journey-product-image>img{width:100%;height:100%;object-fit:cover;display:block}
.pp-journey-path-photo img{transition:transform .35s ease}
.pp-journey-path:hover .pp-journey-path-photo img{transform:scale(1.035)}
.pp-journey-path h3{font-size:clamp(24px,3vw,34px);margin:20px 0 5px}
.pp-journey-path p{font-size:12px;line-height:1.7;color:#766d72;max-width:260px;margin:0 auto 18px}
.pp-journey-path .pp-ed-button{margin-top:auto}
.pp-journey-shelf{padding:0 0 75px}
.pp-journey-shelf+.pp-journey-shelf{border-top:1px solid var(--pj-line);padding-top:70px}
.pp-journey-shelf-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:28px}
.pp-journey-shelf-heading h2{font-size:clamp(31px,4vw,44px);margin:8px 0 0;line-height:1.17}
.pp-journey-shelf-heading>a,.pp-journey-back{font-size:12px;text-decoration:underline;text-underline-offset:4px}
.pp-journey-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.pp-journey-products>p{grid-column:1/-1;color:#7d7479}
.pp-journey-card{display:flex;flex-direction:column;min-width:0;gap:7px}
.pp-journey-card>img{aspect-ratio:1/1.07;min-height:0;max-height:340px;background:#f7f5f6}
.pp-journey-card strong{font-size:13px;line-height:1.5;font-weight:600;margin-top:5px}
.pp-journey-card span{font-size:12px;color:#6b6066}
.pp-journey-card:hover strong{text-decoration:underline;text-underline-offset:3px}
.pp-journey-related{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 36px;padding:0 0 22px;border-bottom:1px solid var(--pj-line)}
.pp-journey-related a{font-size:12px;border:1px solid var(--pj-line);padding:10px 16px}
.pp-journey-related a[aria-current=page]{background:#171316;color:white}
.pp-journey-subtle{font-size:12px;color:#786c70;margin-bottom:22px}
.pp-journey-products-large{row-gap:48px}
.pp-journey-collection .pp-journey-back{display:inline-block;margin-top:34px}
.pp-journey-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:11px;color:#777074;margin-bottom:32px}
.pp-journey-breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.pp-journey-product-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.9fr);gap:clamp(24px,5.5vw,80px);align-items:start}
.pp-journey-product-image>img{height:auto;aspect-ratio:1/1.06;background:#f8f6f7}
.pp-journey-alt-photo{max-width:120px;margin-top:15px}
.pp-journey-alt-photo img{width:100%;aspect-ratio:1;object-fit:cover}
.pp-journey-product-copy{min-width:0}
.pp-journey-product-copy h1{font-size:clamp(38px,4.6vw,60px);line-height:1.15;margin:9px 0 14px}
.pp-journey-product-copy>p{font-size:13px;color:#686066;line-height:1.85}
.pp-journey-product-copy>.pp-journey-product-price{font-size:18px;color:#241a21;margin:0 0 20px}
.pp-journey-rental{background:#fafafa;padding:13px;border-left:3px solid #a8488f}
.pp-journey-controls{margin:28px 0 18px;display:grid;gap:17px}
.pp-journey-controls label{display:grid;gap:8px;font-size:12px;font-weight:600}
.pp-journey-controls input,.pp-journey-cart-summary input,.pp-journey-cart-summary select{border:1px solid #ded3db;border-radius:2px;padding:11px 13px;min-height:47px;width:100%;max-width:100%;background:#fff;color:#1c151a}
.pp-journey-controls input[type=number]{max-width:150px}
.pp-journey-add{width:100%;min-height:49px!important}
.pp-journey-product-copy>small,.pp-journey-cart-summary>small{display:block;font-size:11px;color:#7f747a;line-height:1.7;margin-top:13px}
.pp-journey-details{border-top:1px solid var(--pj-line);border-bottom:1px solid var(--pj-line);margin:30px 0 21px;padding:14px 0}
.pp-journey-details summary{cursor:pointer;font-size:13px;font-weight:600}
.pp-journey-details p{font-size:12px;line-height:1.8;color:#766e72}
.pp-product-detail .pp-journey-shelf{margin-top:88px}
.pp-journey-cart-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--pj-line);padding-bottom:20px;margin-bottom:30px}
.pp-journey-cart-heading h1{font-size:clamp(38px,5vw,55px);margin:0}
.pp-journey-cart-heading a{font-size:12px;text-decoration:underline;text-underline-offset:3px}
.pp-journey-cart-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(310px,.83fr);gap:48px;align-items:start}
.pp-journey-cart-item{display:grid;grid-template-columns:108px minmax(0,1fr) auto;align-items:start;gap:18px;padding:18px 0;border-bottom:1px solid var(--pj-line)}
.pp-journey-cart-item>img{width:108px;height:112px;object-fit:cover}
.pp-journey-cart-item-copy{display:grid;gap:5px;align-content:start}
.pp-journey-cart-item-copy strong{font-size:13px;font-weight:600}
.pp-journey-cart-item-copy small{font-size:11px;color:#7c7076;line-height:1.65}
.pp-journey-cart-item-copy>a{font-size:11px;text-decoration:underline;text-underline-offset:3px}
.pp-journey-cart-item-controls{display:flex;flex-direction:column;align-items:end;gap:14px}
.pp-journey-cart-item-controls>strong{font-size:13px}
.pp-journey-cart-qty{display:inline-flex;align-items:center;justify-content:space-between;gap:13px;border:1px solid #ded9dd}
.pp-journey-cart-qty button{border:0;background:transparent;padding:7px 11px;cursor:pointer}
.pp-journey-cart-qty span{font-size:12px;min-width:15px;text-align:center}
.pp-journey-remove{background:none;border:0;text-decoration:underline;text-underline-offset:3px;font-size:11px;color:#80747a;padding:0}
.pp-journey-cart-services{margin:35px 0}
.pp-journey-cart-services h2{font-size:27px;margin:0 0 8px}
.pp-journey-cart-services>p{font-size:12px;color:#72696e;margin-bottom:15px}
.pp-journey-cart-summary{border:1px solid #eae7e9;padding:29px;background:#fffafa;position:sticky;top:96px}
.pp-journey-cart-summary h2{font-size:30px;margin:0 0 22px}
.pp-journey-cart-summary>div:not(.pp-journey-cart-total){display:flex;justify-content:space-between;gap:15px;margin:13px 0;font-size:12px}
.pp-journey-cart-summary>div strong{white-space:nowrap}
.pp-journey-cart-total{display:flex;justify-content:space-between;gap:12px;margin:23px 0;padding-top:20px;border-top:1px solid var(--pj-line);font-size:13px}
.pp-journey-cart-summary label{display:grid;gap:8px;font-size:12px;font-weight:600;margin:19px 0}
.pp-journey-cart-warning{background:#f4f3f4;color:#843d71;font-size:12px;line-height:1.6;padding:12px;margin:14px 0}
.pp-journey-cart-empty{text-align:center;padding:65px 15px 100px}
.pp-journey-cart-empty h2{font-size:37px}
.pp-journey-cart-empty p{font-size:13px;color:#766d72}
.pp-journey-cart-empty .pp-ed-button{margin:14px 8px 0}
body.pp-editorial-shop .pp-individual-card .pp-item-more{font-size:11px;color:#51434d;text-decoration:underline;text-underline-offset:3px;display:inline-block;margin:0 0 13px}
body.pp-editorial-shop .pp-item-detail-link:hover{text-decoration:underline;text-underline-offset:3px}
@media (max-width:1000px){.pp-journey-cart-layout{gap:25px}.pp-journey-path-grid{gap:16px}.pp-journey-products{gap:16px}}
@media (max-width:850px){
 .top .nav-actions > a.btn.small{display:none!important}
 .top .nav-actions{min-width:0;flex-shrink:0}
 .pp-journey-cart-layout{grid-template-columns:1fr}
 .pp-journey-cart-summary{position:static}
}
@media (max-width:690px){
 .pp-journey-shell{width:calc(100% - 36px);padding:38px 0 65px}
 .pp-journey-banner{padding:38px 20px}
 .pp-journey-path-grid{grid-template-columns:1fr;max-width:390px;gap:34px;margin-bottom:70px}
 .pp-journey-path-photo{aspect-ratio:1.6}
 .pp-journey-path h3{margin-top:12px}
 .pp-journey-section-head{margin-bottom:32px}
 .pp-journey-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 13px}
 .pp-journey-product-layout{display:block}
 .pp-journey-product-copy{margin-top:28px}
 .pp-journey-shelf{padding-bottom:49px}
 .pp-journey-shelf+.pp-journey-shelf{padding-top:50px}
 .pp-product-detail .pp-journey-shelf{margin-top:58px}
 .pp-journey-cart-item{grid-template-columns:82px minmax(0,1fr);gap:13px}
 .pp-journey-cart-item>img{width:82px;height:91px}
 .pp-journey-cart-item-controls{grid-column:2;flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:wrap}
 .pp-journey-cart-summary{padding:22px}
 .pp-journey-cart-heading h1{font-size:39px}
}
@media (max-width:355px){.pp-journey-related{gap:6px}.pp-journey-related a{padding:8px 10px;font-size:10px}.pp-journey-shelf-heading{display:block}.pp-journey-shelf-heading>a{display:block;margin-top:11px}}
@media (prefers-reduced-motion:reduce){.pp-journey-path-photo img{transition:none!important;transform:none!important}}

/* Package detail options are selected before opening the existing customisation builder. */
body.pp-editorial-shop .pp-journey-prep{margin:24px 0 16px;border:0;padding:0;min-width:0}
body.pp-editorial-shop .pp-journey-prep legend{font-size:13px;font-weight:600;margin-bottom:12px}
body.pp-editorial-shop .pp-journey-prep label{border:1px solid #e4dfe3;display:flex;align-items:flex-start;gap:12px;padding:15px;margin:9px 0;cursor:pointer}
body.pp-editorial-shop .pp-journey-prep label:has(input:checked){border-color:#9f4487;background:#fafafa}
body.pp-editorial-shop .pp-journey-prep label input{margin-top:4px;accent-color:#95407e}
body.pp-editorial-shop .pp-journey-prep label>span{flex:1;display:grid;gap:5px}
body.pp-editorial-shop .pp-journey-prep label strong{font-size:13px}
body.pp-editorial-shop .pp-journey-prep label small{font-size:11px;line-height:1.5;color:#777077}
body.pp-editorial-shop .pp-journey-prep label b{white-space:nowrap;font-size:12px}
body.pp-editorial-shop .pp-detail .pp-journey-details{margin:10px 0 25px}
@media(max-width:410px){body.pp-editorial-shop .pp-journey-prep label{flex-wrap:wrap}body.pp-editorial-shop .pp-journey-prep label b{margin-left:28px}}

body.pp-editorial-shop .pp-journey-pkg-coordinating{margin:78px 0 0;padding:48px 0 0;border-top:1px solid #e7e2e5}
body.pp-editorial-shop .pp-journey-pkg-coordinating .form-help{margin-top:-10px;margin-bottom:25px}
@media(max-width:620px){body.pp-editorial-shop .pp-journey-pkg-coordinating{margin-top:48px;padding-top:36px}}

/* Tablet navigation: the full desktop links + currency + basket cannot fit at 768px.
   Use the same accessible mobile disclosure from 900px down; never clip the page. */
@media(max-width:900px){
 body.pp-editorial-shop header.top{box-sizing:border-box;width:100%;min-width:0;gap:12px;padding-inline:clamp(12px,2.6vw,24px);justify-content:space-between}
 body.pp-editorial-shop header.top .topnav{display:none!important}
 body.pp-editorial-shop header.top .mobile-nav{display:block!important;order:2;margin-left:auto;position:relative;flex-shrink:0}
 body.pp-editorial-shop header.top .mobile-nav summary{display:grid;place-items:center;width:38px;height:40px;list-style:none;cursor:pointer;border:1px solid #e4e0e3;border-radius:3px;background:#fff;color:#241b22;font-size:21px}
 body.pp-editorial-shop header.top .mobile-nav summary::-webkit-details-marker{display:none}
 body.pp-editorial-shop header.top .mobile-nav nav{position:absolute;z-index:40;top:calc(100% + 10px);right:-76px;width:min(330px,calc(100vw - 28px));background:#fff;display:flex;flex-direction:column;box-shadow:0 16px 40px #25141d22;border:1px solid #e8e3e6;padding:12px}
 body.pp-editorial-shop header.top .mobile-nav nav a{display:block;padding:12px;font-size:13px;line-height:1.4}
 body.pp-editorial-shop header.top .nav-actions{order:3;min-width:0;flex-shrink:0;gap:5px}
 body.pp-editorial-shop header.top .nav-actions>a.btn{display:none!important}
 body.pp-editorial-shop header.top .currency-title{display:none}
 body.pp-editorial-shop header.top .nav-actions select{max-width:88px;min-width:0}
 body.pp-editorial-shop header.top .nav-actions .iconbtn{padding:7px;min-width:34px}
}

/* Shopping preference comparisons: native, keyboard-accessible disclosures. */
body.pp-editorial-shop .pp-ed-includes{margin:17px auto 0;padding:8px 0 0;width:100%;max-width:240px;border-top:1px solid #eeecee;color:#746d72;font-size:11px;text-align:center}
body.pp-editorial-shop .pp-ed-includes>summary{list-style:none;cursor:pointer;text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;gap:5px;justify-content:center}
body.pp-editorial-shop .pp-ed-includes>summary::-webkit-details-marker{display:none}
body.pp-editorial-shop .pp-ed-includes>summary::after{content:'+';font-size:15px;text-decoration:none}
body.pp-editorial-shop .pp-ed-includes[open]>summary::after{content:'−'}
body.pp-editorial-shop .pp-ed-includes ul{list-style:none;margin:13px 0 0;padding:0;text-align:left;font-size:11px;line-height:1.6}
body.pp-editorial-shop .pp-ed-includes li{padding:5px 0 5px 18px;position:relative}
body.pp-editorial-shop .pp-ed-includes li::before{content:'✓';position:absolute;left:0;color:#9b4283}
body.pp-editorial-shop .pp-journey-path .pp-ed-includes{margin-top:15px}

/* The reference's Party Packages entry is a spacious occasion gallery, not a filter toolbar. */
body.pp-editorial-shop .pp-occasion-picker{padding:0 max(0px,calc((100vw - 1500px)/2)) 75px!important;max-width:none!important}
body.pp-editorial-shop .pp-occasion-picker .page-head{width:100%;max-width:none!important;margin:0!important;padding:30px max(25px,calc((100vw - 1200px)/2))!important;background:#171316;color:#fff}
body.pp-editorial-shop .pp-occasion-picker .page-head h1{font-size:clamp(29px,3.2vw,42px);line-height:1.15;color:white}
body.pp-editorial-shop .pp-occasion-picker-inner{max-width:1050px;margin:auto;padding:62px 24px 30px}
body.pp-editorial-shop .pp-occasion-picker-inner h2{font:400 clamp(32px,4vw,45px)/1.2 'Playfair Display',Georgia,serif;text-align:center;letter-spacing:-.025em;margin:0 0 55px}
body.pp-editorial-shop .pp-occasion-chooser{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:46px 34px;justify-items:center}
body.pp-editorial-shop .pp-occasion-choice{min-width:0;width:100%;max-width:180px;display:flex;align-items:center;flex-direction:column;gap:16px;text-align:center;font-size:12px}
body.pp-editorial-shop .pp-occasion-circle{display:flex;justify-content:center;align-items:center;width:132px;height:132px;max-width:100%;border-radius:50%;overflow:hidden;background:#f9f9f9;transition:transform .22s ease}
body.pp-editorial-shop .pp-occasion-circle>img{width:100%;height:100%;object-fit:cover}
body.pp-editorial-shop .pp-occasion-circle>svg{width:100%;height:100%;display:block}
body.pp-editorial-shop .pp-occasion-circle .occ-original-art{display:block}
body.pp-editorial-shop .pp-occasion-monogram{font:400 56px/1 'Playfair Display',Georgia,serif;color:#a2468a}
body.pp-editorial-shop .pp-occasion-choice:hover .pp-occasion-circle,body.pp-editorial-shop .pp-occasion-choice:focus-visible .pp-occasion-circle{transform:translateY(-4px)}
body.pp-editorial-shop .pp-occasion-choice-label{font-weight:500;line-height:1.5}
body.pp-editorial-shop .pp-occasion-choice-label>span{margin-left:5px}
body.pp-editorial-shop .pp-occasion-browse-other{text-align:center;padding:65px 0 5px;font-size:12px}
body.pp-editorial-shop .pp-occasion-browse-other p{color:#7d7479;margin:0 0 10px}
@media(max-width:850px){body.pp-editorial-shop .pp-occasion-chooser{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 15px}}
@media(max-width:550px){body.pp-editorial-shop .pp-occasion-picker-inner{padding:48px 15px 15px}body.pp-editorial-shop .pp-occasion-picker-inner h2{margin-bottom:35px}body.pp-editorial-shop .pp-occasion-chooser{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 12px}body.pp-editorial-shop .pp-occasion-circle{width:108px;height:108px}body.pp-editorial-shop .pp-occasion-choice{gap:10px}body.pp-editorial-shop .pp-occasion-browse-other{padding-top:45px}}
@media(prefers-reduced-motion:reduce){body.pp-editorial-shop .pp-occasion-circle{transition:none!important;transform:none!important}}

/* Separate the reference's coordinating extras from its "get the look" styling shelf. */
body.pp-editorial-shop .pp-journey-get-look{padding:53px 0 75px;border-top:1px solid #e7e2e5;margin:10px 0 0}
body.pp-editorial-shop .pp-journey-get-look .form-help{max-width:650px;margin:-11px 0 25px}
@media(max-width:620px){body.pp-editorial-shop .pp-journey-get-look{padding-top:37px}}


/* Release journey refinement: one consistent, low-noise route to the demo request.
   These rules are scoped to the shopping journey, not admin or the 3D hero. */
body.pp-editorial-shop .pp-checkout-steps{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;align-items:center;
 width:min(740px,100%);margin:0 auto 36px;padding:0 0 23px;
 border-bottom:1px solid #e6e1e5;color:#83767c;
}
body.pp-editorial-shop .pp-checkout-steps :is(span,a){
 position:relative;display:flex;align-items:center;justify-content:center;gap:10px;
 padding:6px 8px;min-width:0;text-align:center;font-size:12px;line-height:1.35;
 font-weight:500;text-decoration:none;
}
body.pp-editorial-shop .pp-checkout-steps b{
 display:grid;place-items:center;flex:none;width:25px;height:25px;
 border:1px solid #e0d2dc;border-radius:50%;font-size:11px;font-weight:600;
 background:#fff;color:#797077;
}
body.pp-editorial-shop .pp-checkout-steps .is-done{color:#544650}
body.pp-editorial-shop .pp-checkout-steps .is-done b{background:#faf9fa;border-color:#d8b6cf;color:#633e59}
body.pp-editorial-shop .pp-checkout-steps .is-current{color:#20191e;font-weight:700}
body.pp-editorial-shop .pp-checkout-steps .is-current b{background:#251621;border-color:#251621;color:#fff}
body.pp-editorial-shop .pp-checkout-steps a:hover{text-decoration:underline;text-underline-offset:4px}
body.pp-editorial-shop .pp-checkout-kicker{display:block;font-size:10px;letter-spacing:.15em;color:#95407e;font-weight:700;margin-bottom:8px}
body.pp-editorial-shop .pp-journey-cart-heading{align-items:end;gap:20px}
body.pp-editorial-shop .pp-journey-cart-heading p{color:#72676e;font-size:13px;line-height:1.7;margin:6px 0 0;max-width:510px}
body.pp-editorial-shop .pp-journey-cart-heading>a{white-space:nowrap;min-height:38px;display:inline-flex;align-items:center}
body.pp-editorial-shop .pp-journey-cart-item{gap:clamp(12px,2vw,22px)}
body.pp-editorial-shop .pp-journey-cart-qty button{min-width:38px;min-height:38px}
body.pp-editorial-shop .pp-journey-cart-item-controls .pp-journey-remove{min-height:35px}
body.pp-editorial-shop .pp-journey-cart-summary{border-color:#e7e2e5;background:#fffbfb;border-radius:4px;box-shadow:0 12px 40px rgba(50,24,43,.035)}
body.pp-editorial-shop .pp-journey-cart-summary h2{margin-bottom:20px}
body.pp-editorial-shop .pp-journey-cart-total strong{font-size:18px;color:#281b25}
body.pp-editorial-shop .pp-journey-cart-warning{border-left:2px solid #ac398d;background:#fff6ee;color:#753764;border-radius:2px}
body.pp-editorial-shop .pp-journey-cart-warning a{font-weight:700;color:inherit;text-decoration:underline;text-underline-offset:3px}
body.pp-editorial-shop .pp-checkout-shell .page-head{text-align:center;margin-bottom:36px}
body.pp-editorial-shop .pp-checkout-shell .page-head h1{font-size:clamp(40px,4vw,58px)}
body.pp-editorial-shop .pp-checkout-layout{gap:clamp(24px,4vw,54px);align-items:start}
body.pp-editorial-shop .pp-checkout-layout>.panel{min-width:0;padding:clamp(22px,3vw,34px)}
body.pp-editorial-shop .pp-checkout-layout>.panel.aside{background:#fffafb;border:1px solid #eae7e9}
body.pp-editorial-shop .pp-checkout-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:20px}
body.pp-editorial-shop .pp-checkout-section-head h3{margin:0}
body.pp-editorial-shop .pp-checkout-section-head>a,
body.pp-editorial-shop .pp-checkout-edit-link{font-size:12px;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
body.pp-editorial-shop .pp-checkout-section-head>span{color:#84727f;font-size:11px}
body.pp-editorial-shop .pp-checkout-layout .field label{font-weight:600}
body.pp-editorial-shop .pp-checkout-layout .field input{
 min-height:46px;border-radius:3px;background:#fff;
 transition:border-color .18s,box-shadow .18s;
}
body.pp-editorial-shop .pp-checkout-layout .field input:focus{
 outline:2px solid #994282;outline-offset:2px;border-color:#994282;
}
body.pp-editorial-shop .pp-checkout-layout .field small{display:block;margin-top:6px;font-size:11px;color:#84737f;line-height:1.5}
body.pp-editorial-shop .pp-checkout-submit{min-height:48px;font-size:13px}
body.pp-editorial-shop .pp-checkout-edit-link{display:block;text-align:center;padding:12px 0 0}
@media(max-width:700px){
 body.pp-editorial-shop .pp-checkout-steps{margin-bottom:28px;padding-bottom:14px}
 body.pp-editorial-shop .pp-checkout-steps :is(span,a){gap:5px;font-size:10px;flex-direction:column;padding:5px 2px}
 body.pp-editorial-shop .pp-checkout-steps b{width:25px;height:25px}
 body.pp-editorial-shop .pp-journey-cart-heading{align-items:start;flex-direction:column;gap:8px}
 body.pp-editorial-shop .pp-journey-cart-heading>a{min-height:35px}
 body.pp-editorial-shop .pp-checkout-section-head{align-items:start}
 body.pp-editorial-shop .pp-checkout-shell .page-head{margin-bottom:24px}
 body.pp-editorial-shop .pp-checkout-layout>.panel{padding:20px 16px}
}
@media(prefers-reduced-motion:reduce){
 body.pp-editorial-shop .pp-checkout-layout .field input{transition:none}
}

/* A direct link to checkout never leaves the shopper facing an empty form. */
body.pp-editorial-shop .pp-checkout-empty-content{max-width:640px;margin:0 auto;padding:clamp(38px,5vw,75px) 14px 92px;text-align:center}
body.pp-editorial-shop .pp-checkout-empty-content h1{font-size:clamp(39px,4.6vw,58px);line-height:1.14;margin:12px 0 19px}
body.pp-editorial-shop .pp-checkout-empty-content p{color:#76696f;line-height:1.8;font-size:14px;max-width:510px;margin:0 auto}
body.pp-editorial-shop .pp-checkout-empty-actions{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;margin:32px 0 24px}
body.pp-editorial-shop .pp-checkout-outline-link{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border:1px solid #d9c4d3;font-size:12px;font-weight:600;text-decoration:none}
body.pp-editorial-shop .pp-checkout-outline-link:hover{background:#fafafa}
body.pp-editorial-shop .pp-checkout-empty-content small{display:block;color:#857780;font-size:11px;line-height:1.7}
@media(max-width:500px){body.pp-editorial-shop .pp-checkout-empty-actions{flex-direction:column}body.pp-editorial-shop .pp-checkout-empty-actions>a{width:min(290px,100%)}}


/* Licensed photo-led occasion browsing, inspired by editorial catalogue rhythm.
   No Parfetty visuals or photographs are copied. */
body.pp-editorial-shop .pp-occasion-photo{
 display:block;position:relative;width:100%;height:100%;isolation:isolate;overflow:hidden;
 border-radius:inherit;background:linear-gradient(135deg,#f1eef0,#f9f8f9);
}
body.pp-editorial-shop .pp-occasion-photo>img{
 position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
 border-radius:inherit;display:block;z-index:2;transform:scale(1.001);
}
body.pp-editorial-shop .pp-occasion-photo>img[hidden]{display:none}
body.pp-editorial-shop .pp-occasion-photo-initial{
 display:grid;place-items:center;position:absolute;inset:0;z-index:1;
 color:#9c7a93;font:400 clamp(30px,4vw,64px)/1 "Playfair Display",Georgia,serif;
}
body.pp-editorial-shop #shop-by-occasion .pp-occ-photo-medallion{
 position:relative;overflow:hidden;border:1px solid #e5e0e4;
 background:#faf9fa;box-shadow:0 9px 22px rgba(59,30,51,.055);
}
body.pp-editorial-shop #shop-by-occasion .pp-occ-photo-medallion>.pp-occasion-photo{
 position:absolute;inset:0;border-radius:inherit;
}
body.pp-editorial-shop #shop-by-occasion .pp-occ-icon-backup{
 display:none;position:absolute;inset:0;align-items:center;justify-content:center;
}
body.pp-editorial-shop #shop-by-occasion .occ-icon-link:hover .pp-occ-photo-medallion,
body.pp-editorial-shop #shop-by-occasion .occ-icon-link:focus-visible .pp-occ-photo-medallion{
 transform:translateY(-3px);box-shadow:0 17px 30px rgba(59,30,51,.09);
}
body.pp-editorial-shop #shop-by-occasion .occ-icon-caption{
 font-size:13px;font-weight:600;letter-spacing:-.01em;
}
body.pp-editorial-shop .pp-occasion-circle{border:1px solid #e6e2e5;box-shadow:0 7px 20px rgba(81,44,71,.045)}
body.pp-editorial-shop .pp-occasion-circle>.pp-occasion-photo{border-radius:50%;flex:none}
body.pp-editorial-shop .pp-occasion-choice:hover .pp-occasion-photo>img{transform:scale(1.065)}
body.pp-editorial-shop .pp-occasion-photo>img{transition:transform .45s cubic-bezier(.2,.75,.2,1)}
body.pp-editorial-shop .pp-occasion-choice-label{font-size:13px;font-weight:600;letter-spacing:-.015em}
body.pp-editorial-shop .pp-occasion-banner{
 display:grid;grid-template-columns:minmax(0,1fr) 170px;align-items:center;gap:clamp(18px,4vw,55px);
 text-align:left;padding:38px max(24px,calc((100% - 900px)/2));
 background:#21181f;
}
body.pp-editorial-shop .pp-occasion-banner-copy{min-width:0}
body.pp-editorial-shop .pp-occasion-banner-copy>a{width:max-content;max-width:100%}
body.pp-editorial-shop .pp-occasion-banner :is(h1,p){text-align:left;margin-left:0;margin-right:0}
body.pp-editorial-shop .pp-occasion-banner-photo{width:165px;height:165px;border-radius:50%;border:3px solid #e8e3e6;box-shadow:0 0 0 1px #8a6981}
body.pp-editorial-shop .pp-journey-coming-soon{
 display:inline-flex;align-items:center;justify-content:center;
 min-height:43px;padding:10px 16px;margin-top:auto;
 border:1px solid #e5e0e4;color:#8b6d83;font-size:12px;
}
body.pp-editorial-shop .pp-journey-path-unavailable{background:#fbfafb;opacity:.87}
body.pp-editorial-shop .pp-journey-path-unavailable>.pp-occasion-photo{
 max-width:100%;max-height:100%;border-radius:3px;
}
body.pp-editorial-shop .pp-occasion-picker-inner>h2{margin-bottom:43px}
body.pp-editorial-shop .pp-occasion-chooser{gap:37px 30px}
body.pp-editorial-shop .pp-occasion-choice{gap:12px}
@media(max-width:650px){
 body.pp-editorial-shop .pp-occasion-banner{grid-template-columns:1fr 95px;padding:30px 20px;gap:18px}
 body.pp-editorial-shop .pp-occasion-banner-photo{width:92px;height:92px;align-self:center}
 body.pp-editorial-shop .pp-occasion-banner h1{font-size:clamp(33px,9vw,47px);margin:10px 0}
 body.pp-editorial-shop .pp-occasion-banner p{font-size:12px;line-height:1.6}
 body.pp-editorial-shop .pp-occasion-chooser{gap:28px 16px}
}
@media(prefers-reduced-motion:reduce){
 body.pp-editorial-shop .pp-occasion-photo>img{transition:none!important;transform:none!important}
}

/* Nine categories should have a balanced 3 × 3 editorial composition,
   never a lonely ninth circle under two rows of four. */
@media(min-width:851px){
 body.pp-editorial-shop .pp-occasion-chooser{
  grid-template-columns:repeat(3,minmax(0,1fr));max-width:810px;
  margin-inline:auto;gap:38px 48px;
 }
 body.pp-editorial-shop .pp-occasion-choice{max-width:215px}
 body.pp-editorial-shop .pp-occasion-circle{width:158px;height:158px}
}

/* Direct occasion experience: no intermediary chooser, no re-selection loop. */
body.pp-editorial-shop .pp-occasion-direct .pp-occasion-banner{margin-bottom:0}
body.pp-editorial-shop .pp-occasion-direct-nav{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;border-bottom:1px solid #e9e5e8;padding:17px 12px 30px}
body.pp-editorial-shop .pp-occasion-direct-nav span{border:1px solid #e1dbdf;color:#6c5165;padding:9px 16px;font-size:12px;border-radius:24px}
body.pp-editorial-shop .pp-occasion-results-section{padding-top:32px;margin-top:12px}
body.pp-editorial-shop .pp-occasion-empty{color:#756871;line-height:1.7;font-size:13px;background:#fff8fa;padding:22px 25px;border:1px solid #ede9ec;width:100%}
body.pp-editorial-shop .pp-occasion-empty-state{text-align:center;max-width:620px;margin:56px auto 72px;padding:40px 22px;background:#fffafb;border:1px solid #ece8eb}
body.pp-editorial-shop .pp-occasion-empty-state h2{font-size:clamp(29px,3.5vw,43px)}
body.pp-editorial-shop .pp-occasion-empty-state p{line-height:1.8;color:#786e73;margin:12px auto 26px}
body.pp-editorial-shop header.top>a:first-child{display:flex;align-items:center;flex:0 0 auto;overflow:hidden}
body.pp-editorial-shop header.top>a:first-child>img.logo{
 display:block;object-fit:contain;mix-blend-mode:multiply;
 border:0;box-shadow:none;background:transparent;
}
@media(max-width:600px){body.pp-editorial-shop .pp-occasion-direct-nav{gap:7px;padding:15px 0 23px}body.pp-editorial-shop .pp-occasion-direct-nav span{font-size:10px;padding:8px 10px}body.pp-editorial-shop .pp-occasion-empty-state{margin:32px auto 48px}}


/* PACKAGE DETAIL · balanced editorial shopping flow, with no changes to the
   basket, package-builder arithmetic, rental availability, or 3D homepage. */
body.pp-editorial-shop .pp-package-editorial{max-width:1410px;padding-top:24px;padding-bottom:78px;color:#251b22}
body.pp-editorial-shop .pp-package-breadcrumb{display:flex;align-items:center;gap:11px;margin:2px 0 28px;font-size:12px;color:#8d7486}
body.pp-editorial-shop .pp-package-breadcrumb a{color:#584152;text-decoration:underline;text-underline-offset:4px}
body.pp-editorial-shop .pp-package-breadcrumb span:last-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:50vw}
body.pp-editorial-shop .pp-detail .product-layout.pp-package-main{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,1fr);align-items:start;gap:clamp(28px,4.5vw,76px);margin:0}
body.pp-editorial-shop .pp-package-gallery{position:sticky;top:112px;align-self:start;min-width:0}
body.pp-editorial-shop .pp-detail .pp-package-gallery>.feature-photo{
 display:block;width:100%;height:clamp(350px,58vh,580px);max-height:none;
 aspect-ratio:auto;object-fit:cover;object-position:center;border-radius:3px;background:#f3f1f2
}
body.pp-editorial-shop .pp-package-gallery .pkg-public-empty{min-height:390px;display:grid;place-items:center;background:#f6f5f6;color:#80687a}
body.pp-editorial-shop .pp-package-gallery .public-pkg-thumbs{gap:11px;margin-top:14px}
body.pp-editorial-shop .pp-package-gallery .public-pkg-thumb{width:74px;height:74px;border-radius:3px;padding:2px;border:1px solid #e1dbdf}
body.pp-editorial-shop .pp-package-gallery .public-pkg-thumb.selected{border-color:#943f7d;box-shadow:0 0 0 1px #943f7d}
body.pp-editorial-shop .pp-package-gallery .public-pkg-thumb img{border-radius:1px}
body.pp-editorial-shop .pp-package-photo-note{font-size:11px;line-height:1.5;color:#8c7b87;margin:13px 0 0}
body.pp-editorial-shop .pp-package-details{min-width:0;padding:0}
body.pp-editorial-shop .pp-package-details>.eyebrow{display:block;font-size:10px;letter-spacing:.15em;color:#956488;margin:5px 0 11px}
body.pp-editorial-shop .pp-detail .pp-package-details h1{font:400 clamp(43px,4vw,64px)/1.08 'Playfair Display',Georgia,serif;letter-spacing:-.04em;margin:0 0 17px;color:#261b23}
body.pp-editorial-shop .pp-package-details>p:first-of-type{font-size:14px;line-height:1.75;color:#73666e;max-width:57ch;margin:0 0 22px}
body.pp-editorial-shop .pp-package-price{display:flex;align-items:baseline;gap:20px;justify-content:space-between;padding:18px 0 13px;border-top:1px solid #e7e3e6}
body.pp-editorial-shop .pp-package-price span{font-size:12px;color:#6f5969}
body.pp-editorial-shop .pp-package-price strong{font-size:22px;line-height:1.3;font-weight:600;letter-spacing:-.03em;color:#241a21}
body.pp-editorial-shop .pp-package-price-note{color:#8a7885;font-size:11px;line-height:1.65;margin:0 0 27px}
body.pp-editorial-shop .pp-package-step{display:inline-grid;place-items:center;width:25px;height:25px;border:1px solid #d8b9d0;border-radius:50%;font:600 10px/1 'Outfit',Arial,sans-serif;color:#87557a;margin-right:11px;vertical-align:middle;letter-spacing:0}
body.pp-editorial-shop .pp-package-prep{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;row-gap:0;margin:0;padding:0;border:0}
body.pp-editorial-shop .pp-package-prep legend{font:400 26px/1.3 'Playfair Display',Georgia,serif;color:#251b22;margin:0 0 6px;padding:0}
body.pp-editorial-shop .pp-package-help{font-size:12px;line-height:1.65;color:#82737e;margin:0 0 14px}
body.pp-editorial-shop .pp-package-prep>.pp-package-help{grid-column:1/-1}
body.pp-editorial-shop .pp-package-prep .pp-package-prep-choice{
 display:grid;grid-template-columns:18px minmax(0,1fr);align-content:start;gap:8px 10px;
 background:#fff;border:1px solid #e2dee1;border-radius:3px;
 padding:17px 14px 16px;margin:0;cursor:pointer;min-height:120px;
 transition:border-color .16s,background .16s,box-shadow .16s
}
body.pp-editorial-shop .pp-package-prep .pp-package-prep-choice:has(input:checked){border-color:#96407f;background:#fff8fa;box-shadow:inset 0 0 0 1px #96407f}
body.pp-editorial-shop .pp-package-prep .pp-package-prep-choice:focus-within{outline:2px solid #96407f;outline-offset:3px}
body.pp-editorial-shop .pp-package-prep .pp-package-prep-choice input{width:16px;height:16px;margin:1px 0 0;accent-color:#933f7c}
body.pp-editorial-shop .pp-package-prep .pp-package-prep-choice span{display:grid;gap:5px;min-width:0}
body.pp-editorial-shop .pp-package-prep .pp-package-prep-choice strong{font-size:13px;line-height:1.5;font-weight:650;color:#33212e}
body.pp-editorial-shop .pp-package-prep .pp-package-prep-choice small{font-size:11px;line-height:1.55;color:#81737c}
body.pp-editorial-shop .pp-package-prep .pp-package-prep-choice b{grid-column:2;font-size:12px;font-weight:650;color:#392534;white-space:normal}
body.pp-editorial-shop .pp-package-prep-help{margin:8px 0 25px;border:0;padding:0}
body.pp-editorial-shop .pp-package-prep-help summary{font-size:11px;color:#715469;text-decoration:underline;text-underline-offset:4px;font-weight:550}
body.pp-editorial-shop .pp-package-prep-help p{font-size:12px;color:#7a6f76;line-height:1.75;padding:3px 0 0}
body.pp-editorial-shop .pp-package-included-block{border-top:1px solid #e7e2e5;padding-top:23px}
body.pp-editorial-shop .pp-package-section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:6px}
body.pp-editorial-shop .pp-package-section-heading h2{font:400 27px/1.3 'Playfair Display',Georgia,serif;color:#251b22;margin:0;letter-spacing:-.025em}
body.pp-editorial-shop .pp-package-count{border:1px solid #e5e0e4;border-radius:40px;padding:5px 11px;color:#8b7184;font-size:11px;white-space:nowrap}
body.pp-editorial-shop .pp-package-includes{margin:14px 0 21px;border-top:1px solid #ede9ec;display:grid;gap:0}
body.pp-editorial-shop .pp-package-includes .pp-included{
 display:grid;grid-template-columns:66px minmax(0,1fr) auto;align-items:center;
 gap:14px;padding:12px 2px;border:0;border-bottom:1px solid #ede9ec;
 border-radius:0;background:transparent;min-width:0
}
body.pp-editorial-shop .pp-package-includes .pp-package-included-photo{width:66px;height:66px;overflow:hidden;background:#f5f3f4;border-radius:2px}
body.pp-editorial-shop .pp-package-includes .pp-package-included-photo img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}
body.pp-editorial-shop .pp-package-includes .pp-included>span{min-width:0;display:grid;gap:5px}
body.pp-editorial-shop .pp-package-includes .pp-included strong{font-size:13px;font-weight:650;line-height:1.4;color:#32202d}
body.pp-editorial-shop .pp-package-includes .pp-included small{font-size:11px;line-height:1.55;color:#897b83}
body.pp-editorial-shop .pp-package-includes .pp-included em{font-style:normal;font-size:10px;color:#8f6784;background:#f7f6f7;padding:5px 9px;border-radius:20px}
body.pp-editorial-shop .pp-package-next{margin-top:18px;padding:20px 22px 22px;background:#faf9fa;border:1px solid #e7e3e6}
body.pp-editorial-shop .pp-package-next p{font-size:11px;line-height:1.65;color:#746670;margin:0 0 15px}
body.pp-editorial-shop .pp-package-next .pp-package-primary{display:flex;justify-content:center;align-items:center;gap:18px;width:100%;min-height:53px;border:0;border-radius:2px;background:#d6b4cd;color:#291f26;font-size:13px;font-weight:700}
body.pp-editorial-shop .pp-package-next .pp-package-primary:hover{background:#a7488d}
body.pp-editorial-shop .pp-package-next .pp-package-other-way{display:block;text-align:center;margin:13px auto 0;color:#695163;font-size:11px;text-decoration:underline;text-underline-offset:3px}
body.pp-editorial-shop .pp-package-matching{border-top:1px solid #e7e3e6;margin-top:77px;padding-top:48px}
body.pp-editorial-shop .pp-package-matching .pp-journey-shelf-heading{margin-bottom:18px}
body.pp-editorial-shop .pp-package-matching .form-help{font-size:12px;color:#897985;margin-bottom:20px}
@media(max-width:1000px){
 body.pp-editorial-shop .pp-detail .product-layout.pp-package-main{grid-template-columns:minmax(0,.93fr) minmax(0,1fr);gap:26px}
 body.pp-editorial-shop .pp-package-prep{grid-template-columns:1fr}
 body.pp-editorial-shop .pp-package-prep .pp-package-prep-choice{min-height:0;margin-bottom:9px;grid-template-columns:18px minmax(0,1fr) auto}
 body.pp-editorial-shop .pp-package-prep .pp-package-prep-choice b{grid-column:3;align-self:center;max-width:100px;text-align:right}
 body.pp-editorial-shop .pp-detail .pp-package-gallery>.feature-photo{height:clamp(320px,51vh,515px)}
}
@media(max-width:690px){
 body.pp-editorial-shop .pp-package-editorial{padding-top:22px;padding-bottom:50px}
 body.pp-editorial-shop .pp-package-breadcrumb{margin-bottom:17px;font-size:11px}
 body.pp-editorial-shop .pp-detail .product-layout.pp-package-main{display:flex;flex-direction:column;gap:25px}
 body.pp-editorial-shop .pp-package-gallery{position:static;width:100%}
 body.pp-editorial-shop .pp-detail .pp-package-gallery>.feature-photo{height:auto;aspect-ratio:1.12;max-height:520px}
 body.pp-editorial-shop .pp-package-gallery .public-pkg-thumbs{margin-top:9px}
 body.pp-editorial-shop .pp-package-photo-note{font-size:10px}
 body.pp-editorial-shop .pp-package-details{width:100%}
 body.pp-editorial-shop .pp-detail .pp-package-details h1{font-size:clamp(39px,9vw,49px)}
 body.pp-editorial-shop .pp-package-prep{grid-template-columns:1fr}
 body.pp-editorial-shop .pp-package-prep .pp-package-prep-choice{grid-template-columns:18px minmax(0,1fr) auto;gap:8px;padding:14px}
 body.pp-editorial-shop .pp-package-price strong{font-size:21px}
 body.pp-editorial-shop .pp-package-next{padding:17px 15px 18px}
 body.pp-editorial-shop .pp-package-matching{margin-top:48px;padding-top:35px}
}
@media(max-width:390px){
 body.pp-editorial-shop .pp-package-includes .pp-included{grid-template-columns:55px minmax(0,1fr);gap:10px}
 body.pp-editorial-shop .pp-package-includes .pp-package-included-photo{width:55px;height:55px}
 body.pp-editorial-shop .pp-package-includes .pp-included em{grid-column:2;justify-self:start}
 body.pp-editorial-shop .pp-package-prep .pp-package-prep-choice{grid-template-columns:18px minmax(0,1fr)}
 body.pp-editorial-shop .pp-package-prep .pp-package-prep-choice b{grid-column:2;text-align:left;max-width:none}
}
@media(prefers-reduced-motion:reduce){
 body.pp-editorial-shop .pp-package-prep .pp-package-prep-choice{transition:none}
}
