:root{--ink:#23322d;--muted:#77857f;--plum:#82326d;--forest:#294b40;--green:#e9f0eb;--paper:#fafaf7;--line:#e4e8e2;--cream:#f5f2ed;--gold:#9a722f;--rose:#f4f1f3;--shadow:0 16px 55px rgba(38,51,40,.07)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.5 Inter,'Segoe UI',Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #9a4282;outline-offset:2px}.serif,h1,h2,h3,.display{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em}.smallcap{font-size:10px;letter-spacing:2.1px;text-transform:uppercase;font-weight:750;color:#85958b}.muted{color:var(--muted)}.tiny{font-size:12px}.top{height:78px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:10px clamp(24px,4.5vw,86px);position:sticky;top:0;z-index:15}.logo{height:62px;width:125px;object-fit:contain;object-position:left}.topnav{display:flex;align-items:center;gap:35px}.topnav a{font-size:13px;font-weight:600}.topnav a.active,.topnav a:hover{color:var(--plum)}.nav-actions{display:flex;gap:8px;align-items:center}.iconbtn{border:0;background:transparent;padding:10px;min-width:36px;font-size:18px;color:var(--ink);border-radius:8px}.iconbtn:hover{background:#f3f3ef}.counter{background:var(--plum);color:white;font-size:10px;border-radius:16px;padding:2px 6px;vertical-align:top}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:8px;padding:12px 20px;background:white;border:1px solid #d6ded6;color:var(--forest);font-weight:650;min-height:43px;transition:.17s}.btn:hover{transform:translateY(-1px);box-shadow:0 5px 16px #203d3012}.btn.primary{background:var(--plum);border-color:var(--plum);color:#fff}.btn.dark{background:var(--forest);border-color:var(--forest);color:white}.btn.quiet{background:transparent;border:0;padding:10px 4px}.btn.small{min-height:34px;padding:7px 12px;font-size:12px}.btn:disabled{opacity:.4;cursor:not-allowed}.container{max-width:1300px;margin:auto;padding:40px clamp(20px,3.5vw,54px)}.eyebrow{font-weight:750;font-size:11px;letter-spacing:2.3px;color:var(--muted);text-transform:uppercase}.hero{position:relative;min-height:570px;overflow:hidden;background:#e9e8e2;display:grid;grid-template-columns:47% 53%}.hero-copy{padding:90px 8vw 80px max(7vw,50px);position:relative;z-index:1;background:linear-gradient(90deg,#faf9f6 72%,#faf9f6e0)}.hero h1{font-size:clamp(43px,4.4vw,72px);line-height:1.06;margin:20px 0}.hero p{font-size:17px;color:#5f6b63;max-width:480px}.hero-img{background:url('assets/gallery/nautical_wide.jpg') center center/cover no-repeat}.hero-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.microtrust{display:flex;gap:30px;align-items:center;border-top:1px solid var(--line);padding-top:26px;margin-top:44px;color:#68766d;font-size:12px}.microtrust span{display:flex;align-items:center;gap:8px}.trustmark{font-size:18px;color:#406c5a}.section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:0 0 22px}.section-head h2{font-size:35px;line-height:1.1;margin:6px 0}.section-head p{margin:5px 0;color:var(--muted)}.occasions{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.occ{display:flex;flex-direction:column;gap:10px;border:0;background:none;padding:0;text-align:left;font-weight:650;color:#33443a}.occ img{width:100%;aspect-ratio:1.45;object-fit:cover;border-radius:12px}.occ:hover img{filter:brightness(.93)}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.tile{background:white;border:1px solid var(--line);border-radius:13px;overflow:hidden;transition:.15s}.tile:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.tile img{height:232px;width:100%;object-fit:cover}.tilebody{padding:18px}.tile h3{font-size:24px;margin:1px 0 6px}.tile p{color:var(--muted);font-size:13px;margin:6px 0 12px}.tile-foot{display:flex;justify-content:space-between;align-items:center}.textlink{color:var(--plum);font-weight:700;font-size:12px}.two-paths{display:grid;grid-template-columns:1fr 1fr;gap:20px}.pathbox{background:var(--cream);border-radius:14px;padding:35px;display:flex;justify-content:space-between;gap:20px;min-height:215px}.pathbox h2{font-size:31px;line-height:1.1;margin:8px 0}.pathbox p{max-width:330px;color:#66736b}.path-illus{font-size:62px;opacity:.7;align-self:center}.footer{background:#e9eee9;padding:34px max(6vw,30px);display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;color:#587167}.ribbon{background:#f7f1e6;color:#815f26;padding:11px 18px;text-align:center;font-size:12px}.page-head{padding:15px 0 23px}.page-head h1{font-size:45px;margin:5px 0;line-height:1.12}.page-head p{color:var(--muted);margin:5px 0}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 24px}.chip{border:1px solid var(--line);background:white;border-radius:50px;padding:9px 16px;color:#55685b;font-size:12px;cursor:pointer}.chip.selected{background:var(--forest);color:white;border-color:var(--forest)}.product-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:36px;align-items:start}.feature-photo{width:100%;height:490px;object-fit:cover;border-radius:13px}.details h1{font-size:46px;line-height:1.1;margin:10px 0}.details p{line-height:1.7}.price{font-size:26px;font-weight:750;color:var(--ink)}.divider{height:1px;background:var(--line);margin:22px 0}.checklist{margin:0;padding:0;list-style:none}.checklist li{padding:8px 0;display:flex;gap:10px;align-items:center}.checklist li:before{content:'✓';background:#e5f0e9;color:#397055;border-radius:100%;display:inline-grid;place-items:center;width:21px;height:21px}.formrow{display:flex;gap:12px;margin:15px 0;align-items:center;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:7px;flex:1;min-width:160px}.field label,.field>.label{font-size:12px;font-weight:650;color:#5a6a60}.field input,.field select,.field textarea,input.selectlike{border:1px solid #dfe5dd;border-radius:8px;padding:11px 13px;background:white;width:100%;color:var(--ink);min-height:42px}.field textarea{min-height:85px}.form-help{color:var(--muted);font-size:12px}.stepbar{display:flex;gap:8px;margin:25px 0 35px;align-items:center;flex-wrap:wrap}.step{color:#84918a;font-size:12px;display:flex;align-items:center;gap:8px}.step b{border-radius:50%;width:26px;height:26px;border:1px solid #d9e2d9;display:grid;place-items:center}.step.current{color:var(--plum);font-weight:750}.step.current b{background:var(--plum);color:#fff;border-color:var(--plum)}.step:after{content:' ';display:block;width:38px;height:1px;background:var(--line);margin:0 8px}.step:last-child:after{display:none}.panel{background:white;border:1px solid var(--line);border-radius:13px;padding:22px}.panel h3{font-size:19px;margin:0 0 13px}.layout2{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(285px,.8fr);gap:22px}.rowitem{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:14px 0}.rowitem:last-child{border-bottom:0}.rowitem img{width:86px;height:70px;border-radius:8px;object-fit:cover}.rowitem .grow{flex:1}.rowitem h4{margin:0 0 4px;font-size:14px}.rowitem p{margin:0;color:var(--muted);font-size:12px}.rowitem label{font-size:13px;cursor:pointer}.aside{position:sticky;top:98px}.total-line{display:flex;align-items:center;justify-content:space-between;padding:9px 0;font-size:13px}.total-line.strong{border-top:1px solid var(--line);margin-top:9px;padding-top:19px;font-weight:750;font-size:16px}.flag{display:inline-block;border-radius:7px;padding:6px 9px;font-size:11px;font-weight:700;background:#edf1ed;color:#4d675b}.flag.gold{background:#faf0dd;color:#936a25}.flag.red{background:#f2f0f2;color:#923d7b}.flag.green{background:#e5f1e9;color:#34664c}.cardrow{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.prod-card{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.prod-card img{height:180px;width:100%;object-fit:cover}.prod-card .copy{padding:15px}.prod-card h4{margin:2px 0;font-size:15px}.prod-card p{font-size:12px;color:var(--muted);margin:0 0 12px}.prod-card .btn{width:100%}.tabs{display:flex;border-bottom:1px solid var(--line);gap:27px}.tab{background:none;border:0;border-bottom:2px solid transparent;padding:13px 0;color:var(--muted);font-weight:600}.tab.active{border-color:var(--plum);color:var(--plum)}.notice{background:#edf3ee;border-radius:10px;padding:15px;color:#3c6052;font-size:13px}.notice.warn{background:#fcf4e5;color:#875f20}.notice.error{background:#f3f1f2;color:#933c7c}.cart-overlay{position:fixed;inset:0;background:#1827217a;z-index:40;display:flex;justify-content:flex-end}.drawer{height:100%;width:min(475px,100%);background:white;padding:25px;overflow:auto;box-shadow:var(--shadow)}.drawer-head{display:flex;justify-content:space-between;align-items:center}.drawer h2{font-size:32px;margin:4px 0}.quantity{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:7px}.quantity button{background:none;border:0;padding:5px 10px}.quantity span{font-size:12px;min-width:18px;text-align:center}.two-stacks{display:grid;grid-template-columns:1fr 1fr;gap:15px}.order-progress{border-left:2px solid #dfe8df;margin-left:10px}.order-progress>div{padding:0 0 27px 25px;position:relative}.order-progress>div:before{position:absolute;left:-9px;top:1px;content:'';width:16px;height:16px;border-radius:50%;background:#e2eae3;border:2px solid #fff}.order-progress>.done:before{background:#387157}.order-progress strong{display:block}.order-progress p{margin:2px 0;color:var(--muted);font-size:12px}.demo-banner{background:#fff5e4;color:#8a622c;padding:7px 12px;text-align:center;font-size:11px;border-bottom:1px solid #efe5d2}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:100;background:#2a4339;color:white;padding:13px 22px;border-radius:8px;box-shadow:var(--shadow)}
/* Admin workbench */.admin{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh;background:#f8f9f6}.aside-nav{background:white;border-right:1px solid var(--line);position:sticky;top:0;max-height:100vh;display:flex;flex-direction:column;padding:22px 16px}.aside-nav .logo{width:142px;height:70px;margin:0 4px 28px}.sidegroup{font-size:10px;font-weight:750;letter-spacing:1.4px;color:#9aaba0;margin:12px 12px}.aside-nav a{padding:11px 12px;border-radius:8px;margin:2px 0;font-size:13px;color:#5d7064;display:flex;gap:12px;align-items:center}.aside-nav a:hover,.aside-nav a.active{background:#e8efea;color:#294c3e;font-weight:750}.aside-nav .bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:14px;font-size:12px;color:var(--muted)}.adminmain{padding:32px clamp(22px,3vw,54px);max-width:1540px;width:100%;margin:auto}.admin-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px;margin-bottom:28px}.admhead{display:flex;align-items:end;justify-content:space-between;margin-bottom:23px;gap:15px}.admhead h1{font-size:38px;margin:5px 0 6px}.admhead p{color:var(--muted);margin:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0 22px}.stat{padding:20px;background:#fff;border:1px solid var(--line);border-radius:12px}.stat strong{font-size:34px;font-family:Georgia;line-height:1.5}.stat p{margin:0;color:var(--muted);font-size:12px}.stat span{font-size:12px;font-weight:650}.admingrid{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;margin:17px 0}.admin-panel{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.admin-panel .phead{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.admin-panel .phead h3{font-size:15px;font-family:inherit;font-weight:750;letter-spacing:0;margin:0}.admin-panel .pbody{padding:0 20px}.task{padding:16px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:13px}.task:last-child{border-bottom:0}.task .grow{flex:1}.task strong{display:block;font-size:13px}.task p{margin:3px 0 0;color:var(--muted);font-size:11px}.dot{width:8px;height:8px;background:#c69167;border-radius:50%}.dot.red{background:#9b3f83}.dot.green{background:#79ad8a}.datatable{width:100%;border-collapse:collapse;font-size:12px}.datatable th{background:#f7f9f7;text-align:left;color:#84938a;letter-spacing:.8px;text-transform:uppercase;font-size:10px;padding:13px 16px}.datatable td{padding:14px 16px;border-top:1px solid var(--line)}.datatable tr:hover td{background:#fafbf9}.datatable tr[data-click]{cursor:pointer}.calgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-top:14px}.calday{border:1px solid var(--line);background:#fff;min-height:85px;padding:9px;border-radius:7px;text-align:left}.calday:hover{border-color:#8eb09b}.calday.today{background:#e9f0ea}.calday .daynum{font-size:13px;font-weight:750}.calday .tag{font-size:10px;display:block;color:#567c64;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calday.mutedday{opacity:.35}.calendar-head{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:11px;color:#8a988f}.adminform{display:grid;grid-template-columns:1fr 1fr;gap:15px}.adminform .span2{grid-column:span 2}.formlabel{font-size:12px;font-weight:700;margin-bottom:7px}.settingrow{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:17px 0;gap:14px}.settingrow p{margin:3px 0;color:var(--muted);font-size:12px}.settingrow input{max-width:115px}.vendorresponse{max-width:650px;margin:70px auto;background:white;border:1px solid var(--line);padding:48px;border-radius:18px;box-shadow:var(--shadow)}.vendorresponse h1{font-size:39px}.vendorresponse .detail{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line)}.footnote{font-size:11px;color:#9a9c9a}hr{border:0;border-top:1px solid var(--line);margin:20px 0}
@media(max-width:970px){.hero{grid-template-columns:1fr 1fr}.hero-copy{padding:70px 30px}.topnav{gap:15px}.occasions{grid-template-columns:repeat(3,1fr)}.tiles{grid-template-columns:repeat(2,1fr)}.admin{grid-template-columns:185px 1fr}.aside-nav{padding:20px 8px}.admingrid,.layout2{grid-template-columns:1fr}.aside{position:static}.stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:670px){.top{padding:10px 17px;height:70px}.logo{width:105px}.topnav{gap:8px;overflow:auto}.topnav a{font-size:11px;white-space:nowrap}.topnav a:nth-child(n+3){display:none}.top .nav-actions{gap:1px}.hero{display:flex;flex-direction:column-reverse;min-height:0}.hero-img{height:285px}.hero-copy{padding:28px 23px 44px}.hero h1{font-size:39px}.hero p{font-size:14px}.microtrust{margin-top:25px;gap:12px;flex-wrap:wrap}.container{padding:26px 18px}.occasions{grid-template-columns:repeat(2,1fr)}.tiles{grid-template-columns:1fr}.two-paths{grid-template-columns:1fr}.pathbox{min-height:150px}.section-head h2{font-size:30px}.product-layout{grid-template-columns:1fr}.feature-photo{height:300px}.details h1{font-size:37px}.cardrow{grid-template-columns:repeat(2,1fr)}.prod-card img{height:145px}.two-stacks{grid-template-columns:1fr}.page-head h1{font-size:35px}.admin{grid-template-columns:1fr}.aside-nav{position:static;max-height:none;display:block;padding:12px}.aside-nav .logo{height:48px;margin-bottom:6px}.aside-nav .sidegroup,.aside-nav .bottom{display:none}.aside-nav a{display:inline-flex;padding:8px;margin:2px;font-size:11px}.adminmain{padding:22px 14px}.admingrid,.stats{grid-template-columns:1fr}.admhead h1{font-size:33px}.calday{min-height:70px;padding:4px}.calday .tag{font-size:8px}.datatable{font-size:11px}.datatable th,.datatable td{padding:9px 7px}.vendorresponse{margin:18px;padding:24px}}

@media(max-width:670px){.top .nav-actions>a{display:none}.topnav{gap:13px}}

/* Visual refinement — consistent hierarchy, navigation, and breathing room */
:root{--ink:#26362e;--muted:#6e7d73;--paper:#f7f8f5;--line:#e5e9e3;--forest:#2f5243;--shadow:0 12px 36px rgba(37,55,44,.055)}
body{font-size:14px;-webkit-font-smoothing:antialiased}
.ui-icon{width:22px;height:22px;display:inline-block;flex:none;vertical-align:middle}
.top .iconbtn .ui-icon{width:22px;height:22px}
.nav-actions,.admin-tools{display:flex;align-items:center;gap:12px}
.currency-control{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;color:#65766b;font-size:11px;font-weight:700}
.currency-control select{background:#fff;border:1px solid #dfe6de;border-radius:9px;color:var(--ink);padding:8px 26px 8px 10px;min-height:37px;font-size:12px;cursor:pointer;max-width:112px}
.currency-title{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#819188}
.fx-note{background:#f4f0e9;color:#655a4c;border-bottom:1px solid #eae5dc;padding:8px 28px;font-size:12px;text-align:center}
.btn{transition:background-color .16s,box-shadow .16s,border-color .16s,transform .16s}
.btn:hover{transform:translateY(-1px)}
.panel,.admin-panel,.stat,.tile,.prod-card{border-color:#e2e7e0;box-shadow:0 2px 9px rgba(37,55,44,.018)}
.muted,.form-help,.tiny{line-height:1.55}
.admin{grid-template-columns:252px minmax(0,1fr);background:#f8f9f7}
.aside-nav{padding:22px 16px 19px;z-index:3}
/* The brand is not a navigation row: keep its hit area tight and hover unfilled. */
.aside-nav .sidebar-brand{display:inline-flex;align-items:center;width:fit-content;max-width:100%;padding:0;margin-bottom:14px;background:transparent;box-shadow:none;border-radius:4px}
.aside-nav .sidebar-brand:hover,.aside-nav .sidebar-brand:active,.aside-nav .sidebar-brand:focus{background:transparent;color:inherit;font-weight:inherit;box-shadow:none}
.aside-nav .sidebar-brand:focus-visible{outline:3px solid #9a4282;outline-offset:4px}
.aside-nav .logo{width:158px;height:75px;margin:0 4px 6px;object-position:left center}
.aside-nav nav{min-height:0;overflow-y:auto;padding-right:1px}
.aside-nav .sidegroup{font-size:10px;color:#9ba99f;font-weight:800;letter-spacing:1.7px;margin:18px 12px 8px}
.aside-nav .sideitem{min-height:45px;padding:11px 13px;border-radius:9px;margin:2px 0;font-size:13px;line-height:1.2;font-weight:560;gap:13px;transition:background-color .15s,color .15s}
.aside-nav .sideitem .ui-icon{height:20px;width:20px;stroke-width:1.9}
.aside-nav .sideitem.active{background:#e9f0eb;color:#2b5947;font-weight:750}
.aside-nav .sideitem:hover{background:#f0f5f0;color:#294e40}
.aside-nav .bottom{display:flex;flex-direction:column;gap:3px;color:#7a887e;line-height:1.45;padding:17px 12px 0;margin-top:auto}
.aside-nav .bottom strong{font-size:12px;color:var(--ink)}
.aside-nav .bottom span{font-size:11px}
.aside-nav .bottom a{font-size:12px;color:#365b4b;text-decoration:underline;text-underline-offset:3px;margin:7px 0 0;padding:0}
.adminmain{padding:26px clamp(26px,3.5vw,60px) 80px;max-width:1600px}
.admin-top{margin-bottom:29px;padding-bottom:10px;border-bottom:1px solid #eef0ed;gap:12px}
.crumb{letter-spacing:.7px;font-size:10px;font-weight:780;color:#829188}
.crumb span{padding:0 9px;color:#b6c0b9}
.admin-top .btn{font-size:12px}
.admhead h1{font-size:38px;line-height:1.14;color:#21392d;margin:8px 0}
.admhead{margin-bottom:25px}
.admhead p{font-size:13px}
.stat{min-height:126px;padding:22px 23px}
.stat strong{font-size:33px;line-height:1.3;display:inline-block;margin:9px 0 3px}
.stat p{line-height:1.5}
.admin-panel .phead{padding:18px 21px}
.admin-panel .pbody{padding:0 21px}
.task{padding:17px 0;min-height:64px}
.task strong{font-size:13px}
.task p{font-size:12px;line-height:1.45}
.datatable{font-size:12px}
.datatable td{padding-top:16px;padding-bottom:16px}
.adminform .field label{font-weight:700}
.formrow{row-gap:14px}
.admin .btn:not(.primary):not(.dark){background:#fff}
.admin .btn:hover{border-color:#bccfc1}
/* Operational calendar: month overview and single-day focus */
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0 19px;flex-wrap:wrap}
.cal-title-wrap{min-width:260px}.cal-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cal-title h2{margin:0 14px 0 2px;font:400 29px/1.2 Georgia,'Times New Roman',serif;min-width:222px;color:#233b30}
.cal-title-wrap p{margin:9px 0 0;font-size:12px}
.calnav{border:1px solid #dce4dc;background:#fff;color:#3e5e4c;width:35px;height:35px;border-radius:9px;font-size:24px;line-height:1}
.calnav:hover{background:#edf3ec}
.calendar-actions{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.calendar-actions .field{min-width:145px;flex:0 0 auto;gap:5px}
.calendar-actions .field span{font-size:11px;color:#708074;font-weight:720}
.calendar-actions select{min-height:38px;padding:7px 11px;font-size:12px}
.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:17px;align-items:start}
.calendar-surface{border:1px solid var(--line);background:#fff;border-radius:13px;padding:15px;min-width:0;overflow:hidden}
.calendar-head{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;padding:0 0 12px;text-transform:uppercase;font-size:10px;font-weight:760;letter-spacing:.65px;color:#87978c}
.calendar-head>div{padding-left:9px;text-align:left}
.calendar-head>div:last-child{color:#78546e}
.calgrid{margin:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;border-top:1px solid #e9eeea;border-left:1px solid #e9eeea}
.calday{display:flex;flex-direction:column;gap:4px;min-height:112px;padding:8px 7px;border-radius:0;border:0;border-right:1px solid #e9eeea;border-bottom:1px solid #e9eeea;text-align:left;overflow:hidden;position:relative}
.calday.calempty{background:#f8faf8;cursor:default}
.calday.shabbos{background:#f6f4f5}
.calday.yomtov{background:#fff8ef}
.calday.today{background:#eef5f0}
.calday.selected{box-shadow:inset 0 0 0 2px #54816d;z-index:1;background:#f0f6f1}
.calday.shabbos.selected,.calday.yomtov.selected{background:#f0f6f1}
.calday:hover:not(.calempty){background:#f1f6f2}
.caldate{display:flex;justify-content:space-between;align-items:start;gap:2px;width:100%}
.caldate b{font-size:14px;color:#293e33;line-height:1.2}
.hebdate{color:#75877b;font-size:9px;max-width:72px;text-align:right;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.holiday-tag,.shabbos-tag,.erev-tag{display:block;max-width:100%;width:max-content;border-radius:5px;font-size:9px;line-height:1.3;font-weight:650;padding:3px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.holiday-tag{background:#f1f1e8;color:#6c704f}
.holiday-tag.major{background:#f6e8d4;color:#8f622b}
.shabbos-tag{background:#ede9ec;color:#7c5b73}
.erev-tag{color:#738175;background:#f2f5f0}
.day-events{margin-top:auto;display:flex;flex-direction:column;gap:3px;width:100%}
.cal-event{display:block;border-radius:4px;padding:3px 5px;font-size:9px;line-height:1.35;font-weight:620;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-event.event{background:#e7f0ea;color:#34634c}
.cal-event.delivery{background:#edf2f9;color:#4b6488}
.cal-event.return{background:#fbefdf;color:#8a6739}
.more-count{font-size:9px;color:#64796b}
.calendar-detail{background:white;border:1px solid var(--line);border-radius:13px;padding:24px 21px;min-height:340px}
.calendar-detail h3{font:400 27px/1.17 Georgia,'Times New Roman',serif;margin:11px 0 6px;color:#2c3c32}
.calendar-heb{font-size:13px;color:#64766a;margin:4px 0 23px}
.calendar-detail h4{font-size:13px;font-weight:750;display:flex;justify-content:space-between;align-items:center;padding-bottom:11px;border-bottom:1px solid var(--line);margin:21px 0 4px}
.calendar-detail h4 span{color:#6a796e;font-weight:600}
.holiday-detail{border:1px solid #ebd8c2;background:#fff7ed;color:#866239;border-radius:8px;padding:10px 12px;margin-bottom:9px;display:flex;flex-direction:column;gap:2px;font-size:12px}
.holiday-detail span{font-size:11px}
.cal-care{font-size:12px;color:#876e48;padding:8px 0}
.cal-detail-event{display:flex;align-items:center;gap:9px;padding:13px 1px;border-bottom:1px solid #edf1eb;font-size:12px}
.cal-detail-event>span:nth-child(2){flex:1;min-width:0}
.cal-detail-event b{display:block;font-size:12px;font-weight:700}
.cal-detail-event small{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.cal-detail-event:hover b{text-decoration:underline}
.event-dot{display:inline-block;width:9px;height:9px;flex:none;border-radius:50%;background:#477456}
.event-dot.delivery{background:#718cae}.event-dot.return{background:#c59c62}
.calendar-empty{font-size:12px;color:var(--muted);padding:12px 0}
.cal-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:10px;color:#607369;margin-top:20px;padding:15px 0;border-top:1px solid var(--line)}
.cal-legend span{display:flex;gap:5px;align-items:center}
.cal-disclaimer{font-size:10px;color:#748276;line-height:1.65;border-top:1px solid var(--line);padding-top:14px;margin-top:9px}
@media(max-width:1300px){.calendar-layout{grid-template-columns:minmax(0,1fr) 265px}.calday{padding:6px 5px}.calendar-surface{padding:10px}.cal-event{font-size:8.5px}.cal-title h2{min-width:185px}}
@media(max-width:1100px){.calendar-layout{grid-template-columns:1fr}.calendar-detail{min-height:0}.calday{min-height:100px}.admingrid{grid-template-columns:1fr}}
@media(max-width:970px){.admin{grid-template-columns:212px minmax(0,1fr)}.aside-nav{padding:15px 9px}.aside-nav .sideitem{padding:9px 11px;font-size:12px}.aside-nav .sideitem .ui-icon{width:19px;height:19px}.adminmain{padding:24px 20px 60px}.topnav{gap:14px}}
@media(max-width:670px){.admin{display:block}.aside-nav{position:relative;top:auto;max-height:none;padding:10px 12px 12px;border-right:0;border-bottom:1px solid var(--line)}.aside-nav .sidebar-brand{margin:0 0 4px}.aside-nav .logo{height:52px;width:128px;margin:0}.aside-nav nav{display:flex;overflow-x:auto;gap:3px;scrollbar-width:thin;padding:2px 0 7px}.aside-nav .sidegroup,.aside-nav .bottom{display:none}.aside-nav .sideitem{display:flex;flex:0 0 auto;margin:1px;min-height:40px;gap:7px;padding:8px 11px}.aside-nav .sideitem .ui-icon{width:19px;height:19px}.adminmain{padding:20px 14px 55px}.admin-top{margin-bottom:19px;flex-wrap:wrap}.admin-tools{margin-left:auto}.admhead{align-items:start;flex-wrap:wrap}.admhead h1{font-size:32px}.stats{grid-template-columns:1fr}.calendar-toolbar{align-items:start}.cal-title h2{font-size:24px;min-width:190px}.calendar-actions{width:100%}.calendar-actions .field{flex:1 1 120px;min-width:0}.calendar-surface{overflow-x:auto}.calendar-head,.calgrid{min-width:680px}.calday{min-height:91px}.currency-title{display:none}.top .nav-actions{gap:2px}.top .currency-control select{max-width:80px;padding:6px 21px 6px 6px}.topnav a{font-size:11px}.calendar-detail{padding:18px}.cardrow{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

@media(max-width:670px){.calendar-surface:before{content:"SWIPE CALENDAR SIDEWAYS TO VIEW ALL DAYS →";display:block;font-size:10px;letter-spacing:1px;color:#718478;font-weight:800;padding:0 7px 12px}}

/* Keep the package hero thumbnail from forcing a wide intrinsic grid track on mobile. */
.setup-thumb{width:148px;height:112px;object-fit:cover;border-radius:10px;flex:0 0 auto;max-width:45%}
.layout2>.panel,.layout2>.aside,.layout2>*{min-width:0}
.rowitem .grow{min-width:0}
@media(max-width:670px){.setup-thumb{width:94px;height:80px}.layout2 .panel{min-width:0}.rowitem{gap:10px}.rowitem img{max-width:27%}}

/* Rental operations — quiet, actionable, and legible at a glance. */
.rental-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0 24px}
.rental-kpi{display:flex;flex-direction:column;gap:5px;min-width:0;padding:20px 22px;background:white;border:1px solid #e1e8e2;border-radius:13px;color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s}
.rental-kpi:hover{border-color:#a6c1ae;box-shadow:0 4px 18px rgba(27,60,39,.055)}
.rental-kpi>span{color:#5e6f64;font-size:12px;font-weight:690;line-height:1.35}
.rental-kpi>strong{color:#29483a;font-size:34px;line-height:1.3;font-variant-numeric:tabular-nums;font-weight:650}
.rental-kpi>small{color:#87968b;font-size:11px;line-height:1.3}
.rental-kpi.rental-kpi-warn{border-color:#e2cadc;background:#fbfbfb}
.rental-kpi.rental-kpi-warn>strong{color:#a64636}
.rental-ops-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.rental-section{min-width:0;padding:0;margin:0 0 17px;scroll-margin-top:18px}
.rental-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:22px 22px 18px;border-bottom:1px solid #edf0ec}
.rental-section-head h2{font-family:Georgia,serif;color:#283c31;font-size:23px;font-weight:400;line-height:1.25;margin:0}
.rental-section-head p{font-size:12px;color:#849188;margin:6px 0 0;line-height:1.4}
.rental-booking{margin:0 22px;padding:18px 0;border-bottom:1px solid #edf0ec}
.rental-booking:last-child{border-bottom:0}
.rental-booking.rental-overdue{border-left:3px solid #9a4182;padding-left:12px;margin-left:18px}
.rental-booking-main{display:flex;gap:13px;align-items:flex-start;min-width:0}
.rental-booking-image{flex:0 0 55px;width:55px;height:55px;overflow:hidden;border-radius:9px;background:#f4f3ee}
.rental-booking-image img{height:100%;width:100%;object-fit:cover}
.rental-booking-main .grow{min-width:0;flex:1}
.rental-booking-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:5px}
.rental-booking-heading strong{font-size:13px;color:#2d3d34}
.rental-booking-main p{margin:5px 0;font-size:11.5px;color:#77857b;line-height:1.45;overflow-wrap:anywhere}
.rental-booking-main p b{color:#43574a;font-weight:720}
.rental-booking-main p.rental-unit-ids{font-size:10.5px;color:#637c6b}
.rental-booking-main a.inline-link{color:#355e4d;text-decoration:underline;text-underline-offset:2px}
.rental-booking-controls{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px;align-items:end}
.rental-booking-controls label{display:flex;flex-direction:column;gap:6px;font-size:10px;font-weight:670;color:#667b6e;min-width:0}
.rental-booking-controls input,.rental-booking-controls select{width:100%;min-width:0;font-size:11px;min-height:37px;padding:8px 10px}
.rental-booking-controls button{grid-column:span 2;width:100%;min-height:38px;font-size:11px}
.rental-section .empty-rental{padding:28px 22px;color:#859589;font-size:12px}
.rental-range{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:20px 22px}
.rental-range .field{flex:0 1 190px;min-width:135px;font-size:12px}
.rental-range .btn{min-height:42px}
.rental-range .form-help{flex-basis:100%;margin:0;color:#89978c;font-size:10.5px}
.rentals-table-wrap{max-width:100%;overflow-x:auto;padding:0 21px 13px}
.rentals-table{min-width:720px}
.rentals-table th,.rentals-table td{padding:14px 12px}
.rentals-table th:first-child,.rentals-table td:first-child{padding-left:0}
.rentals-table .num{font-variant-numeric:tabular-nums;text-align:center}
.rental-product-cell{display:flex;align-items:center;gap:12px;min-width:190px}
.rental-product-cell img{width:47px;height:47px;object-fit:cover;border-radius:9px;flex:none}
.rental-product-cell b,.rental-product-cell small{display:block;line-height:1.4}
.rental-product-cell small{color:#86938b;margin-top:4px}
.rental-risk{color:#ba4e41}.rental-safe{color:#316849}
.rental-unit-group{padding:22px;border-bottom:1px solid #edf0ec;scroll-margin-top:16px}
.rental-unit-group:last-child{border-bottom:0}
.rental-unit-title{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:11px;flex-wrap:wrap}
.rental-unit-title h3{margin:0;font-size:14px;color:#2b4035}
.rental-unit-list{border:1px solid #e8ede7;border-radius:9px;overflow:hidden}
.rental-unit-row{display:flex;align-items:center;gap:15px;flex-wrap:wrap;min-height:54px;padding:10px 14px;border-bottom:1px solid #e8ede7;font-size:11px}
.rental-unit-row:last-child{border-bottom:0}
.rental-unit-row .grow{flex:1;min-width:180px;color:#5d7062}
.rental-unit-row .rental-unit-tag{font:720 11px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;color:#305642;letter-spacing:.1px;flex:none;min-width:76px}
.rental-stock-row{padding:18px 22px;border-bottom:1px solid #edf0ec;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.rental-stock-row .grow{flex:1;min-width:160px}
.rental-stock-row small{display:block;margin-top:3px;font-size:11px}
.rental-stock-row label{font-size:11px;flex:0 0 100px}
.rental-stock-row input{width:100%;min-height:40px}
.rental-save{padding:20px 22px 0}.rental-section>.form-help{padding:0 22px 22px;font-size:11px}
@media(max-width:1170px){.rental-ops-grid{grid-template-columns:1fr}.rental-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.rental-booking-controls{grid-template-columns:minmax(180px,1fr) minmax(155px,1fr) auto}.rental-booking-controls button{grid-column:auto}}
@media(max-width:700px){.rental-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.rental-kpi{padding:15px}.rental-kpi>strong{font-size:28px}.rental-section-head{padding:18px 15px}.rental-section-head h2{font-size:21px}.rental-booking{margin:0 15px}.rental-booking.rental-overdue{margin-left:12px}.rental-range{padding:15px}.rental-range .field{flex:1 1 125px}.rental-booking-controls{grid-template-columns:1fr 1fr}.rental-booking-controls button{grid-column:span 2}.rental-unit-group{padding:15px}.rental-unit-row{gap:7px}.rental-unit-row .grow{min-width:120px}}

/* 2026-10-26 review pass: make clear hierarchy, lighter mobile navigation,
   and consistent images in photograph-led categories. */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.mobile-nav{display:none}
.top{gap:22px}
.topnav{flex-wrap:nowrap;justify-content:center}
.topnav a{white-space:nowrap}
.section-head{gap:24px}
.section-head .textlink{white-space:nowrap}
.occasions .occ{gap:11px;transition:transform .2s ease}
.occasions .occ:hover{transform:translateY(-2px)}
.occasions img{display:block;object-position:center center;background:#f0eee9}
.tile img,.prod-card img{display:block;background:#f0eee9;object-position:center center}
.tilebody{padding:20px}
.tile-foot{gap:12px}
.tile-foot .textlink{white-space:nowrap}
.btn:active,.chip:active{transform:translateY(0)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #96407f;outline-offset:3px}
@media(min-width:971px){
  .hero{min-height:585px;grid-template-columns:45% 55%}
  .hero-copy{padding-left:clamp(36px,5.3vw,105px);padding-right:clamp(24px,3.5vw,52px)}
  .hero h1{font-size:clamp(46px,4.4vw,66px);line-height:1.09}
}
@media(max-width:970px){
 .top{gap:12px}
 .topnav{gap:13px}
 .topnav a{font-size:12px}
 .top .nav-actions{flex-shrink:0}
}
@media(max-width:760px){
  .top{justify-content:space-between;gap:8px}
  .topnav{display:none}
  .mobile-nav{display:block;order:2;margin-left:auto;position:relative}
  .mobile-nav summary{display:grid;place-items:center;width:38px;height:40px;list-style:none;cursor:pointer;border:1px solid var(--line);border-radius:9px;background:white;font-size:21px;color:var(--forest)}
  .mobile-nav summary::-webkit-details-marker{display:none}
  .mobile-nav[open] summary{background:var(--green)}
  .mobile-nav nav{position:absolute;z-index:35;top:calc(100% + 13px);right:-96px;width:min(330px,calc(100vw - 25px));background:#fff;padding:10px;border:1px solid var(--line);border-radius:12px;box-shadow:0 15px 44px rgba(24,43,34,.18);display:flex;flex-direction:column}
  .mobile-nav nav a{padding:12px 14px;display:block;font-weight:650;font-size:14px;border-radius:7px}
  .mobile-nav nav a:hover{background:var(--green)}
  .top .nav-actions{order:3}
  .top .nav-actions>a.btn{display:none}
  .top .nav-actions .currency-control{min-width:0}
  .top .nav-actions select{max-width:86px}
  .hero-copy{padding:34px 24px 38px}
  .hero h1{font-size:clamp(37px,9.2vw,51px)}
  .hero p{font-size:14px;max-width:48ch}
  .container{padding-top:35px;padding-bottom:35px}
  .section-head h2{font-size:clamp(28px,7.5vw,35px)}
  .occasions{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
  .occ img{aspect-ratio:1.37;border-radius:11px}
  .microtrust{gap:14px}
  .footer{display:block;text-align:left;padding:28px 20px}
  .footer>a{display:inline-block;margin-top:14px}
}
@media(max-width:380px){
  .top{padding:8px 10px;gap:5px}
  .top .logo{width:91px}
  .mobile-nav summary{width:34px;height:38px}
  .mobile-nav nav{right:-92px}
  .top .currency-control{gap:3px}
  .top .nav-actions .iconbtn{padding:7px;min-width:30px}
  .hero-buttons{display:flex;flex-direction:column;align-items:stretch}
  .hero-buttons .btn{width:100%}
  .section-head{align-items:start}
  .section-head .textlink{font-size:11px}
  .tile-foot{align-items:flex-start;flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){.occasions .occ,.btn,.tile{transition:none!important}}

.microtrust span{display:flex;align-items:center;gap:9px;min-width:0}
.microtrust .ui-icon{width:21px;height:21px;flex:0 0 21px;stroke-width:1.75;color:#42644f}

/* Finance: calm, compact workspace aligned with the existing light admin UI */
.overview-finance{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 23px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(90deg,#f0f4f0,#fff);margin-top:18px;flex-wrap:wrap}
.overview-finance>div{display:flex;align-items:center;gap:clamp(13px,2.3vw,42px);flex-wrap:wrap}
.overview-finance span{font-size:13px;font-weight:700;color:var(--forest)}
.overview-finance small{color:var(--muted);font-weight:450}
.overview-finance strong{font-size:14px;font-weight:700;white-space:nowrap}
.finance-summary{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;margin-bottom:12px}
.finance-summary>div{flex:1;display:flex;flex-direction:column;gap:8px;padding:19px 23px;min-width:0;border-right:1px solid var(--line)}
.finance-summary span{color:var(--muted);font-size:12px;font-weight:550}
.finance-summary strong{font-size:clamp(20px,2.5vw,29px);font-weight:720;letter-spacing:-.8px;color:var(--ink)}
.finance-summary strong.negative{color:#913e7b}
.finance-summary-link{display:flex;align-items:center;justify-content:center;padding:15px 20px;color:var(--forest);font-size:12px;white-space:nowrap;font-weight:700}
.finance-summary-link:hover{background:#f5f8f6}
.finance-footnote{font-size:12px;color:var(--muted);margin:0 0 22px;line-height:1.7}
.finance-footnote strong{color:var(--forest)}
.finance-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.85fr);gap:18px;align-items:start}
.finance-layout .admin-panel{min-width:0;overflow:hidden}
.fin-history .phead,.fin-record .phead{padding:18px 22px}
.fin-history .phead h3,.fin-record .phead h3{margin:0}
.fin-history .form-help,.fin-record .form-help{margin:4px 0 0;font-size:12px}
.fin-entry{display:flex;align-items:center;gap:12px;padding:17px 22px;border-bottom:1px solid var(--line);min-width:0}
.fin-entry:last-child{border-bottom:0}
.fin-entry-detail{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.fin-entry-detail strong{font-size:13px;font-weight:670;overflow-wrap:anywhere}
.fin-entry-detail small{color:var(--muted);font-size:11px}
.fin-type{font-size:10px;border-radius:6px;padding:6px 8px;background:#ecf3ee;color:var(--forest);white-space:nowrap}
.fin-type.out{background:#f6f4f5;color:#913e7b}
.fin-type.deposit{background:#f6f0e3;color:#826328}
.fin-value{font-size:14px;white-space:nowrap;color:var(--forest)}
.fin-value.out{color:var(--ink)}
.fin-empty{padding:25px;color:var(--muted)}
.fin-record .pbody{padding:20px 22px}
.fin-form{display:flex;flex-direction:column;gap:14px}
.fin-form .field{min-width:0}
.fin-form .field label{display:block;margin-bottom:6px;font-weight:600;font-size:12px}
.fin-form .field input,.fin-form .field select{width:100%;min-width:0;min-height:42px;border:1px solid #dce2dd;border-radius:8px;padding:9px 11px;background:white;color:var(--ink)}
.fin-form .field input:focus,.fin-form .field select:focus{outline:2px solid #9e4486;outline-offset:1px}
.fin-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fin-submit{width:100%;margin-top:5px}
.fin-hint{font-size:11px;color:var(--muted);line-height:1.6;margin:0}
.order-cost-link{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:16px 20px;margin-top:16px;background:#f5f7f4;border:1px solid var(--line);border-radius:10px;font-size:12px}
.order-cost-link strong{font-size:15px;margin-left:auto}
@media(max-width:1050px){.finance-layout{grid-template-columns:1fr}}
@media(max-width:700px){.finance-summary{flex-wrap:wrap}.finance-summary>div{flex:1 1 33%;padding:15px 12px}.finance-summary-link{width:100%;border-top:1px solid var(--line)}.overview-finance{padding:15px}.fin-entry{flex-wrap:wrap;padding:13px 15px}.fin-value{margin-left:auto}.fin-two{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.fin-two{grid-template-columns:1fr}.fin-type{font-size:9px}.finance-summary strong{font-size:20px}}


/* Dashboard UX refinement: calm hierarchy, actionable KPIs and responsive content */
.dashboard-home{--dash-edge:#e1e8e2}
.dashboard-home .admhead{margin-bottom:5px}
.dashboard-home .admhead h1{font-size:clamp(32px,3vw,39px)}
.dashboard-heading{margin:0 0 23px}
.dashboard-today{display:block;font-size:11px;color:#87968b;margin-top:5px;font-weight:650;letter-spacing:.1px}
.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.dashboard-metric{display:flex;flex-direction:column;min-width:0;min-height:158px;background:#fff;border:1px solid var(--dash-edge);border-radius:14px;padding:19px 19px 14px;transition:border-color .16s,box-shadow .16s,transform .16s;text-decoration:none}
.dashboard-metric:hover,.dashboard-metric:focus-visible{border-color:#9eb4a5;box-shadow:0 10px 26px rgba(35,61,46,.07);transform:translateY(-1px)}
.dashboard-metric-icon{height:31px;width:31px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#eef3ef;color:#416352;margin-bottom:14px}
.dashboard-metric-icon .ui-icon{width:18px;height:18px}
.dashboard-metric-label{font-size:12px;line-height:1.3;font-weight:670;color:#53645a}
.dashboard-metric>strong{font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:35px;letter-spacing:-1px;line-height:1.15;color:#213c2d;margin:6px 0 11px}
.dashboard-metric-foot{display:flex;justify-content:space-between;gap:4px;color:#7f9085;font-size:11px;margin-top:auto;line-height:1.35}
.dashboard-metric-foot>span{font-size:15px;line-height:1;flex:none;color:#416352}
.dashboard-two-cols{display:grid;grid-template-columns:minmax(0,1.26fr) minmax(0,1fr);gap:16px;align-items:stretch;margin-bottom:17px}
.dashboard-panel{background:#fff;border:1px solid var(--dash-edge);border-radius:14px;overflow:hidden;min-width:0}
.dashboard-panel-top{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid #e8ece8}
.dashboard-panel-top h2{font:700 15px/1.3 Inter,'Segoe UI',Arial,sans-serif;color:#263a2e;letter-spacing:-.2px;margin:0}
.dashboard-panel-top p{font-size:11px;line-height:1.4;color:#809086;margin:4px 0 0}
.dashboard-panel-top>a{font-size:12px;font-weight:700;color:#38604d;white-space:nowrap;text-decoration:none}
.dashboard-panel-top>a:hover,.dashboard-task-link:hover,.dashboard-order-link:hover{text-decoration:underline;text-underline-offset:3px}
.dashboard-task,.dashboard-event{display:flex;align-items:center;gap:14px;padding:16px 22px;min-height:75px;border-bottom:1px solid #edf0ed}
.dashboard-task:last-child,.dashboard-event:last-child{border-bottom:0}
.dashboard-priority{flex:none;height:9px;width:9px;border-radius:50%;background:#bc9561}
.dashboard-priority.sage{background:#73a18a}.dashboard-priority.rose{background:#9d4385}
.dashboard-task-copy,.dashboard-event-copy{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}
.dashboard-task-copy strong,.dashboard-event-copy strong{font-size:13px;color:#293b30;font-weight:690;line-height:1.25}
.dashboard-task-copy>span,.dashboard-event-copy small{font-size:11.5px;color:#829188;line-height:1.35;overflow-wrap:anywhere}
.dashboard-task-link{font-size:11px;font-weight:700;color:#365b48;border:1px solid #dde8df;border-radius:8px;padding:9px 11px;white-space:nowrap;flex:none;text-decoration:none}
.dashboard-task-link>span{padding-left:8px}
.dashboard-event{display:flex;text-decoration:none;color:inherit;transition:background .15s}
.dashboard-event:hover,.dashboard-event:focus-visible{background:#f8faf8}
.dashboard-event-date{height:50px;width:50px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:0;border-radius:9px;background:#f0f4ef;flex:none;color:#345242}
.dashboard-event-date strong{font-size:20px;font-family:Georgia,'Times New Roman',serif;line-height:1.07}
.dashboard-event-date small{font-size:9px;text-transform:uppercase;letter-spacing:.6px;font-weight:760}
.dashboard-event-arrow{font-size:17px;color:#779182;flex:none}
.dashboard-empty{padding:34px 22px;display:flex;flex-direction:column;gap:7px;align-items:flex-start;min-height:160px;justify-content:center}
.dashboard-empty.compact{min-height:150px}
.dashboard-empty-icon{height:36px;width:36px;background:#e8f1ea;border-radius:9px;color:#4a705a;display:grid;place-items:center;margin-bottom:5px}
.dashboard-empty-icon .ui-icon{height:19px;width:19px}
.dashboard-empty strong{font-size:13px}.dashboard-empty p{font-size:12px;line-height:1.55;color:#829188;margin:0}
.dashboard-rental-strip,.dashboard-money-strip{display:flex;align-items:center;gap:16px;border:1px solid #dce8df;background:linear-gradient(90deg,#f1f6f2,#fafcf9);border-radius:13px;padding:18px 21px;text-decoration:none;color:#2e4939;min-width:0;transition:border-color .16s,background .16s}
.dashboard-rental-strip:hover,.dashboard-money-strip:hover{border-color:#a2c0ac;background:#eef5ef}
.dashboard-rental-symbol{display:grid;place-items:center;width:42px;height:42px;flex:none;background:#dfece3;border-radius:11px}
.dashboard-rental-symbol .ui-icon{width:23px;height:23px}
.dashboard-rental-copy,.dashboard-money-label{display:flex;flex-direction:column;gap:4px;min-width:0}
.dashboard-rental-copy>strong,.dashboard-money-label>strong{font-size:13px;font-weight:750;color:#294b39}
.dashboard-rental-copy>small,.dashboard-money-label>small{font-size:11.5px;color:#74877a;line-height:1.4}
.dashboard-rental-totals{font-size:12px;color:#596f60;display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;margin-left:auto;text-align:right}
.dashboard-rental-totals b{color:#2d5940;font-size:16px}
.dashboard-rental-totals i{display:block;width:3px;height:3px;border-radius:50%;background:#9aac9f;margin:0 4px}
.dashboard-strip-arrow{font-size:19px;flex:none;margin-left:8px}
.dashboard-orders{margin:18px 0}
.dashboard-table-wrap{overflow-x:auto;max-width:100%}
.dashboard-orders .datatable{min-width:650px;width:100%;font-size:12px}
.dashboard-orders .datatable th{padding:13px 19px;font-size:10px;letter-spacing:1px}
.dashboard-orders .datatable td{padding:15px 19px;vertical-align:middle}
.dashboard-orders .datatable td:first-child{white-space:nowrap}
.dashboard-order-link{font-weight:760;color:#37634d;text-decoration:none}
.dashboard-order-link>span{font-size:12px;margin-left:3px;color:#92ac9c}
.dashboard-cell-title{display:block;font-size:12px;color:#24382b}
.dashboard-cell-sub{display:block;color:#89988d;margin-top:2px;font-size:11px}
.dashboard-money-strip{background:#fff;border-color:var(--dash-edge);margin-top:0;padding:19px 22px}
.dashboard-money-figures{display:flex;gap:clamp(15px,3vw,48px);flex-wrap:wrap;align-items:center;margin-left:auto}
.dashboard-money-figures>span{display:flex;flex-direction:column;gap:2px;color:#7a8a7f;font-size:11px}
.dashboard-money-figures b{font-size:16px;color:#2e4e3b;font-weight:720}
.dashboard-money-link{white-space:nowrap;font-size:12px;font-weight:730;color:#35644d}
@media(max-width:1250px){.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-metric{min-height:135px}.dashboard-two-cols{grid-template-columns:1fr}.dashboard-rental-totals{justify-content:flex-start}}
@media(max-width:970px){.dashboard-home .admhead{gap:13px}.dashboard-money-figures{gap:18px}}
@media(max-width:700px){.dashboard-home .admhead{align-items:flex-start;flex-direction:column}.dashboard-heading{margin-bottom:17px}.dashboard-metrics{gap:9px}.dashboard-metric{min-height:131px;padding:13px}.dashboard-metric-icon{margin-bottom:8px}.dashboard-metric>strong{font-size:29px}.dashboard-metric-foot{font-size:10px}.dashboard-panel-top{padding:17px 16px}.dashboard-task,.dashboard-event{padding:15px 16px;gap:9px}.dashboard-task-link{padding:9px 8px;font-size:10px}.dashboard-task-link>span{padding-left:2px}.dashboard-rental-strip{flex-wrap:wrap;padding:16px}.dashboard-rental-totals{margin:0;flex-basis:100%;justify-content:flex-start}.dashboard-strip-arrow{display:none}.dashboard-money-strip{flex-wrap:wrap;padding:17px}.dashboard-money-figures{margin:0;flex-basis:100%;justify-content:space-between}.dashboard-money-link{margin-left:auto}.dashboard-today{font-size:10px}}
@media(max-width:380px){.dashboard-metric-label{font-size:11px}.dashboard-task-link{max-width:105px;white-space:normal;line-height:1.35;text-align:center}.dashboard-money-figures b{font-size:14px}}
@media(prefers-reduced-motion:reduce){.dashboard-metric,.dashboard-event,.dashboard-rental-strip,.dashboard-money-strip{transition:none}}


/* Compact mobile admin navigation and discoverable order-table overflow */
.admin-mobile-nav{display:none}
.dashboard-table-hint{display:none}
@media(max-width:670px){
 .aside-nav{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px}
 .aside-nav .sidebar-brand{margin:0;flex:none}
 .aside-nav .logo{width:105px;height:58px;margin:0}
 .aside-nav nav{display:none}
 .admin-mobile-nav{display:block;margin-left:auto;flex:1;max-width:224px;min-width:0}
 .admin-mobile-nav select{display:block;width:100%;min-height:42px;background:white;border:1px solid #dce6de;border-radius:10px;color:var(--forest);font:650 13px Inter,'Segoe UI',Arial,sans-serif;padding:10px 32px 10px 12px}
 .admin-top .crumb{display:none}
 .admin-top{display:flex;justify-content:flex-end}
 .dashboard-table-hint{display:block;font-size:11px;color:#728b7b;margin:0;padding:9px 16px;background:#f8faf8;text-align:right;border-bottom:1px solid var(--line)}
}


/* Client-review entry point: concise orientation without interfering with the store */
.demo-banner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 18px;line-height:1.4;text-align:center;padding:8px 14px}
.demo-banner a{font-weight:750;color:#753363;text-decoration:underline;text-underline-offset:3px}
.client-review{max-width:1120px;margin:0 auto;padding:clamp(30px,5vw,70px) clamp(20px,4vw,48px) 90px}
.review-intro{max-width:760px;margin:0 0 35px}
.review-intro h1{font-size:clamp(37px,4.6vw,63px);line-height:1.08;margin:15px 0 18px;color:var(--ink)}
.review-intro p{color:#596960;font-size:16px;line-height:1.75;max-width:670px;margin:0}
.review-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:60px}
.review-choice{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(25px,3.4vw,38px);min-height:247px;border:1px solid #dbe5dd;border-radius:17px;background:#fff;transition:border-color .16s,transform .16s,box-shadow .16s}
.review-choice:hover,.review-choice:focus-visible{border-color:#84ab91;transform:translateY(-2px);box-shadow:0 9px 28px #233b2c11}
.review-choice-admin{background:#edf3ee}
.review-choice-kicker{color:#788d7e;font-size:10px;font-weight:800;letter-spacing:1.7px}
.review-choice-heading{font:400 clamp(26px,3vw,35px)/1.2 Georgia,'Times New Roman',serif;margin:23px 0 10px;color:#213c2c}
.review-choice-heading span{font:400 19px/1 Arial,sans-serif;color:#78927f}
.review-choice-desc{max-width:380px;color:#66756b;font-size:13px;line-height:1.7}
.review-choice-link{font-weight:750;font-size:12px;color:var(--plum);margin-top:auto;padding-top:21px}
.review-guide-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:19px}
.review-guide-heading h2{font-size:34px;margin:8px 0 0}
.review-guide-heading>p{color:var(--muted);max-width:275px;font-size:12px;line-height:1.6;margin:0 0 4px}
.review-step-list{border:1px solid var(--line);border-radius:15px;background:#fff;overflow:hidden}
.review-step-list>a{display:flex;align-items:center;gap:22px;min-height:91px;padding:17px 26px;border-bottom:1px solid var(--line);transition:background-color .15s}
.review-step-list>a:last-child{border-bottom:0}
.review-step-list>a:hover,.review-step-list>a:focus-visible{background:#f3f7f3}
.review-step-no{font:400 23px Georgia,serif;color:#8a9e90;min-width:35px}
.review-step-text{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.review-step-text>strong{font-size:14px;color:#274031}
.review-step-text>small{font-size:12px;color:#77847b;line-height:1.5}
.review-step-arrow{color:var(--plum);font-size:21px}
.review-explanation{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:26px 0 35px;padding:20px 24px;border:1px solid #e7e6dc;background:#f6f4ec;border-radius:13px}
.review-explanation strong,.review-feedback strong{font-size:13px}
.review-explanation p,.review-feedback p{max-width:720px;color:#68776d;font-size:12px;line-height:1.7;margin:5px 0 0}
.review-explanation button{flex:none}
.review-feedback{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--line);padding-top:24px}
.review-feedback .btn{flex:none}
@media(max-width:760px){.review-choices{grid-template-columns:1fr;margin-bottom:43px}.review-choice{min-height:210px}.review-guide-heading{display:block}.review-guide-heading>p{max-width:none;margin:7px 0 0}.review-step-list>a{min-height:79px;padding:15px 16px;gap:14px}.review-step-no{font-size:20px;min-width:25px}.review-explanation,.review-feedback{align-items:flex-start;flex-direction:column}.review-explanation button,.review-feedback .btn{align-self:stretch}.review-intro p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.review-choice,.review-step-list>a{transition:none}.review-choice:hover{transform:none}}

/* Admin interactive review polish */
.qa-form{margin:0 0 20px}.qa-form>.pbody{padding:18px 22px 21px}
.qa-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.qa-grid>label{font-size:12px;font-weight:670;display:flex;flex-direction:column;gap:6px;min-width:0}
.qa-grid input,.qa-grid select{width:100%;min-height:44px;border:1px solid #dbe2dc;border-radius:9px;background:white;padding:10px 12px;color:var(--ink)}
.qa-form-actions{grid-column:1/-1;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.qa-form-actions span{font-size:11px;color:var(--muted)}
.qa-table-wrap{overflow-x:auto;margin:0 -20px}.qa-table-wrap .datatable{min-width:790px}.qa-order-link{font-weight:750;color:var(--forest);text-decoration:underline;text-underline-offset:3px}
.qa-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:19px}.qa-filter{border:1px solid #d8e2da;border-radius:25px;background:#fff;padding:9px 15px;color:#5a6c5f;font-size:12px;font-weight:650}
.qa-filter span{margin-left:5px;color:#839287}.qa-filter.active{background:#e8f1ea;color:#2b5944;border-color:#b6d0be}
.qa-vendor-row{border-radius:0;color:var(--ink);cursor:pointer}.qa-vendor-row:hover{background:#f1f6f2!important}
.qa-delivery-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 0;border-bottom:1px solid var(--line)}.qa-delivery-row:last-child{border-bottom:0}
.qa-delivery-row strong{display:block;font-size:13px}.qa-delivery-row small{display:block;color:var(--muted);font-size:11px;margin-top:4px}
.qa-delivery-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.qa-completed{margin:19px 0}.qa-empty{padding:20px;color:var(--muted);font-size:12px}
@media(max-width:850px){.qa-grid{grid-template-columns:1fr}.qa-delivery-actions{width:100%;margin-left:0}}@media(max-width:540px){.qa-form>.pbody{padding:15px}.qa-delivery-actions .btn{flex:1}}

.qa-scroll-button{background:none;border:0;padding:2px 0;color:var(--forest);cursor:pointer}
button.rental-kpi{font:inherit;color:inherit;text-align:left;cursor:pointer}
.qa-editor-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
@media(max-width:1100px){.qa-editor-grid{grid-template-columns:minmax(0,1fr)}}
.qa-delivery-row .btn:focus-visible,.qa-filter:focus-visible,.qa-order-link:focus-visible{outline:3px solid #9a4282;outline-offset:2px}

/* Party Pack package editor — visual hierarchy and compact direct manipulation */
.pkg-admin{min-width:0}.pkg-chooser{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin:0 0 19px;flex-wrap:wrap}
.pkg-chooser>label{font-size:12px;font-weight:750;color:#4e6557}.pkg-chooser>select{min-height:43px;min-width:200px;max-width:310px;flex:1;border:1px solid #d7e1da;border-radius:9px;background:#fff;padding:9px 12px;color:var(--ink)}
.pkg-chooser>span{font-size:12px;color:var(--muted);margin-right:auto}
.pkg-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(310px,.86fr);gap:20px;align-items:start}
.pkg-main,.pkg-sidebar{min-width:0;display:flex;flex-direction:column;gap:20px}
.pkg-admin .phead{display:flex;gap:14px;align-items:center;justify-content:space-between}
.pkg-admin .phead h3{font-family:inherit;font-weight:780;font-size:15px;letter-spacing:0;margin:0}
.pkg-admin .phead p{margin:4px 0 0}
.pkg-step-number{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#edf3ed;color:#466b53;font-size:11px;font-weight:800;flex:none}
.pkg-form{padding:23px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.pkg-form .field{min-width:0}.pkg-form .field>label,.pkg-add .field>label{display:block;color:#42594a;font-weight:720;font-size:12px;margin:0 0 7px}
.pkg-form input,.pkg-form textarea,.pkg-add input,.pkg-add select,.pkg-item-field input,.pkg-item-field select{width:100%;min-height:43px;border:1px solid #dce5de;background:#fff;color:var(--ink);border-radius:8px;padding:10px 11px}
.pkg-form textarea{min-height:84px;resize:vertical}.pkg-span-2{grid-column:span 2}
.pkg-items{padding:6px 22px}.pkg-item-row{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--line);min-width:0;flex-wrap:wrap}
.pkg-item-row:last-child{border:0}.pkg-item-image{width:53px;height:53px;border-radius:9px;object-fit:cover;flex:none}
.pkg-item-name{flex:1;min-width:148px}.pkg-item-name strong{display:block;font-size:12px;line-height:1.5}.pkg-item-name small{display:block;color:var(--muted);margin-top:3px;font-size:11px}
.pkg-item-field{display:flex;flex-direction:column;gap:4px;color:#738176;font-size:10px;font-weight:700;min-width:85px}
.pkg-item-field input{width:88px}.pkg-item-field select{width:112px}.pkg-item-remove{min-height:38px!important;align-self:flex-end}
.pkg-empty{margin:18px 0;font-size:13px;color:var(--muted)}
.pkg-add{background:#f8faf8;border-top:1px solid var(--line);padding:19px 22px;display:grid;grid-template-columns:minmax(0,1fr) 90px 126px auto;align-items:end;gap:10px}
.pkg-add .field{min-width:0}.pkg-add-button{white-space:nowrap}.pkg-help{font-size:11px;line-height:1.6;color:#7a8a7e;margin:0;padding:12px 22px 18px}
.pkg-media-body{padding:18px}.pkg-cover{height:238px;border-radius:11px;background:#f2f3ef;overflow:hidden;position:relative}
.pkg-cover-photo{width:100%;height:100%;object-fit:cover}.pkg-cover-label{position:absolute;top:12px;left:12px;color:#314a3a;background:#ffffffed;border-radius:6px;padding:6px 10px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.7px}
.pkg-file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.pkg-upload-control{width:100%;margin-top:12px;cursor:pointer;position:relative}.pkg-upload-control:focus-within,.pkg-gallery-add:focus-within{outline:3px solid #9a4282;outline-offset:2px}
.pkg-gallery-title{display:flex;justify-content:space-between;gap:10px;margin:17px 0 9px}.pkg-gallery-title strong{font-size:12px}.pkg-gallery-title span{font-size:11px;color:var(--muted)}
.pkg-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.pkg-gallery-photo,.pkg-gallery-add{position:relative;min-height:93px;border-radius:9px;overflow:hidden;background:#f3f5f2;border:1px solid #dce5dc}
.pkg-gallery-photo img{width:100%;height:95px;object-fit:cover}
.pkg-gallery-photo>button:not(.pkg-make-cover){position:absolute;right:5px;top:5px;width:26px;height:26px;border:0;background:#fff;color:#813b6e;border-radius:50%;font-size:19px;line-height:1}
.pkg-make-cover{width:100%;background:#fff;border:0;border-top:1px solid var(--line);font-size:10px;font-weight:700;color:#356248;padding:7px 4px}
.pkg-gallery-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;font-size:11px;color:#42604c;text-align:center;padding:9px}
.pkg-gallery-add>span{font-size:23px;line-height:1}.pkg-storage-note{font-size:11px;line-height:1.55;color:#86764a;background:#faf5e8;border-radius:8px;margin:16px 0 0;padding:11px 12px}
.pkg-preview-body{padding:18px}.pkg-preview-cover{display:block;width:100%;height:180px;object-fit:cover;border-radius:9px}
.pkg-preview-copy{padding:16px 0}.pkg-preview-copy .serif{font-size:25px;margin:7px 0}.pkg-preview-copy p{margin:0 0 8px;font-size:12px;color:var(--muted)}.pkg-preview-copy>strong{font-size:16px;color:var(--ink)}
.pkg-preview-button{width:100%}.pkg-bottom-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:22px 0 5px}.pkg-bottom-actions span{font-size:11px;color:var(--muted)}
@media(max-width:1230px){.pkg-layout{grid-template-columns:1fr}.pkg-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.pkg-chooser>span{display:none}}
@media(max-width:850px){.pkg-add{grid-template-columns:repeat(2,minmax(0,1fr))}.pkg-sidebar{grid-template-columns:1fr}.pkg-add-button{align-self:end}}
@media(max-width:620px){.pkg-form{grid-template-columns:1fr;padding:16px}.pkg-span-2{grid-column:auto}.pkg-chooser{padding:14px}.pkg-chooser>select{max-width:100%;flex:1 1 100%}.pkg-chooser>button{width:100%}.pkg-items{padding:7px 14px}.pkg-item-row{align-items:flex-start}.pkg-item-name{min-width:calc(100% - 68px)}.pkg-item-field{flex:1;min-width:96px}.pkg-item-field input,.pkg-item-field select{width:100%}.pkg-item-remove{margin-left:auto}.pkg-add{padding:14px;grid-template-columns:1fr 1fr}.pkg-add>.field:first-child{grid-column:span 2}.pkg-add-button{grid-column:span 2}.pkg-media-body{padding:14px}.pkg-bottom-actions{flex-direction:column;align-items:stretch}.pkg-bottom-actions .btn{width:100%}}

/* Product gallery attached to uploaded package media */
.public-pkg-media{min-width:0}.public-pkg-media>.feature-photo{width:100%;object-fit:cover;max-height:570px}.public-pkg-thumbs{display:flex;gap:9px;margin-top:12px;flex-wrap:wrap}.public-pkg-thumb{display:block;width:83px;height:74px;border:2px solid transparent;padding:3px;border-radius:10px;background:#fff;cursor:pointer}.public-pkg-thumb.selected,.public-pkg-thumb:focus-visible{border-color:#734366}.public-pkg-thumb img{display:block;width:100%;height:100%;object-fit:cover;border-radius:6px}.public-pkg-illustration{color:#87938b;font-size:11px;line-height:1.5;margin:11px 0 0}

.create-package-dialog{border:1px solid #dae4dc;border-radius:16px;background:#fff;padding:0;max-width:min(520px,calc(100vw - 28px));width:100%;max-height:90vh;overflow:auto;color:var(--ink);box-shadow:0 26px 75px #182e2638}
.create-package-dialog::backdrop{background:#172a22a3}
.create-package-dialog form{margin:0}
.create-package-head{display:flex;justify-content:space-between;gap:15px;align-items:start;padding:30px 30px 0}
.create-package-head h2{font-size:35px;margin:10px 0 0;line-height:1.12}
.create-package-close{display:grid;place-items:center;border:1px solid #dce5de;border-radius:9px;background:#fff;color:#587161;font-size:25px;height:36px;width:36px;flex:none}
.create-package-hint{font-size:13px;line-height:1.65;color:#6d7c71;margin:13px 30px 23px}
.create-package-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;padding:0 30px 20px}
.create-package-fields .field{min-width:0}
.create-package-fields label{display:block;font-size:12px;font-weight:700;margin-bottom:7px}
.create-package-fields input,.create-package-fields select{width:100%;height:44px;border:1px solid #d7e2d9;background:#fff;border-radius:9px;color:var(--ink);padding:9px 12px}
.create-package-fields [aria-invalid="true"]{border-color:#a83d8b}
.create-package-full{grid-column:1/-1}
.create-package-optional{font-size:11px;color:#829286;font-weight:400}
.create-package-error{margin:0 30px 16px;padding:10px 12px;background:#f8f7f8;color:#99397f;border-radius:8px;font-size:12px}
.create-package-error[hidden]{display:none}
.create-package-footer{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding:18px 30px 10px}
.create-package-footer .btn{min-width:120px}
.create-package-note{margin:0 30px 25px;color:#85978a;font-size:11px}
.pkg-draft-tag,.pkg-live-tag{display:inline-flex;border-radius:6px;padding:5px 8px;margin-right:10px;font-size:11px;font-weight:700}
.pkg-draft-tag{background:#f9f0df;color:#937128}
.pkg-live-tag{background:#e9f4ec;color:#2c694b}
.pkg-photo-empty,.pkg-preview-empty,.pkg-public-empty{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(145deg,#f1f4ef,#e8efe9);color:#6c816e;text-align:center;font-size:13px;padding:20px}
.pkg-preview-empty{height:180px;border-radius:9px}.pkg-public-empty{height:430px;border-radius:12px}
@media(max-width:560px){.create-package-head{padding:22px 20px 0}.create-package-hint{margin:12px 20px 20px}.create-package-fields{grid-template-columns:1fr;gap:14px;padding:0 20px 16px}.create-package-footer{padding:16px 20px 10px}.create-package-footer .btn{min-width:0;flex:1}.create-package-note{margin:0 20px 20px}.create-package-dialog{max-height:calc(100dvh - 20px)}}

/* Flexible guest count */
.pkg-item-field select{min-width:134px}.pkg-form .field>label{line-height:1.4}#guest-limits{display:block;margin-top:7px}
@media(max-width:620px){.pkg-item-field select{min-width:0;width:100%}}


/* 2026-10-27 Admin UX system: consistent spacing and restrained controls */
.admin{background:#f8faf8}
.adminmain{max-width:1540px;padding:30px clamp(20px,3vw,46px) 72px}
.adminmain>*{min-width:0}
.admin-top{margin-bottom:25px;padding-bottom:14px}
.admhead{align-items:center;margin-bottom:23px;gap:18px}
.admhead>div:first-child{min-width:0}
.admhead h1{font-size:clamp(29px,2.7vw,37px);letter-spacing:-.035em;line-height:1.16;margin:7px 0 8px}
.admhead p{font-size:13px;line-height:1.6;max-width:650px}
.admhead>div:last-child:not(:first-child){display:flex;gap:10px;justify-content:flex-end;align-items:center;flex-wrap:wrap}
.adminmain .btn{min-height:40px;border-radius:9px;font-size:12px;font-weight:690;white-space:normal;text-align:center;padding:9px 14px}
.adminmain .btn.small{min-height:35px;padding:7px 11px;font-size:11.5px}
.adminmain .btn:hover{transform:none}
.adminmain .admin-panel,.adminmain .panel,.ux-rental-primary,.ux-rental-utility{border:1px solid #e2e9e3;border-radius:13px;box-shadow:none;background:#fff}
.admin-panel .phead{padding:20px 22px 17px}
.admin-panel .pbody{padding:0 22px 20px}
.admin-panel .phead h3{font-size:16px}
.adminmain .field input:not([type=checkbox]),.adminmain .field select,.adminmain .field textarea{min-height:42px;border-radius:8px}
.aside-nav .sideitem{min-height:40px;gap:12px}
.aside-nav .sideitem.active{font-weight:750}
.aside-nav nav{scrollbar-width:thin}
.adminmain .datatable th{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#7b8c80;font-weight:760}
.adminmain .datatable td{vertical-align:middle}
@media(max-width:1100px){.adminmain{padding:26px 23px 55px}}
@media(max-width:670px){.adminmain{padding:20px 15px 44px}.admhead{align-items:flex-start}.admhead>div:last-child{justify-content:flex-start}.admin-top{margin-bottom:17px}.admin-panel .phead{padding:17px 16px}.admin-panel .pbody{padding:0 16px 17px}}

/* A rental operations list, not an entire page of expanded forms */
.ux-rentals{--ux-border:#e4eae5;--ux-text:#2b4035;min-width:0}
.ux-rental-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--ux-border);border:1px solid var(--ux-border);border-radius:12px;overflow:hidden;margin:0 0 22px}
.ux-rental-metrics>div{background:#fff;padding:19px 24px;display:flex;flex-direction:column;gap:4px}
.ux-rental-metrics span{font-size:12px;font-weight:700;color:#576d5c}
.ux-rental-metrics strong{font-size:31px;line-height:1.2;color:#234633;font-weight:650;font-variant-numeric:tabular-nums}
.ux-rental-metrics small{font-size:11px;color:#89988d}
.ux-rental-metrics>div.ux-rental-metric-alert{background:#fafafa}
.ux-rental-metrics .ux-rental-metric-alert strong{color:#a54c38}
.ux-rental-primary{overflow:hidden;margin-bottom:18px;min-width:0}
.ux-rental-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:23px 25px 19px}
.ux-rental-section-head h2{font:400 26px/1.2 Georgia,'Times New Roman',serif;letter-spacing:-.025em;color:var(--ux-text);margin:0}
.ux-rental-section-head p{font-size:12px;color:#86958a;margin:7px 0 0;line-height:1.55}
.ux-rental-section-count{font-size:11px;color:#77877b;white-space:nowrap}
.ux-rental-toolbar{display:flex;align-items:center;gap:16px;justify-content:space-between;flex-wrap:wrap;padding:14px 24px;border-top:1px solid var(--ux-border);border-bottom:1px solid var(--ux-border);background:#fbfcfb}
.ux-rental-filters{display:flex;gap:5px;flex-wrap:wrap;align-items:center}
.ux-rental-filter{display:inline-flex;gap:7px;align-items:center;border:1px solid transparent;background:transparent;color:#5a7162;border-radius:8px;min-height:36px;padding:7px 10px;font-weight:700;font-size:11.5px}
.ux-rental-filter span{color:#8da093;font-size:10.5px;font-variant-numeric:tabular-nums}
.ux-rental-filter.active{background:#e8f1ea;border-color:#d3e4d7;color:#26543a}
.ux-rental-filter:hover:not(.active){background:#edf3ee}
.ux-rental-filter:focus-visible,.ux-rental-booking summary:focus-visible,.ux-rental-stock-item summary:focus-visible,.ux-rental-utility summary:focus-visible{outline:3px solid #9a4282;outline-offset:-3px}
.ux-rental-search{display:flex;gap:7px;align-items:center}
.ux-rental-search input{width:190px;min-width:0;min-height:36px;padding:8px 10px;border:1px solid #dbe4dd;border-radius:8px;background:#fff;color:var(--ink);font-size:12px}
.ux-rental-search .btn.small{min-height:36px}
.ux-rental-clear{border:0;background:none;color:#607769;text-decoration:underline;text-underline-offset:2px;font-size:11px;padding:8px}
.ux-rental-column-head,.ux-rental-booking-summary{display:grid;grid-template-columns:minmax(170px,1.45fr) minmax(150px,1.25fr) 90px 55px 130px 75px;align-items:center;gap:12px}
.ux-rental-column-head{background:#fff;padding:11px 23px;border-bottom:1px solid var(--ux-border);color:#96a397;text-transform:uppercase;letter-spacing:.065em;font-size:10px;font-weight:760}
.ux-rental-booking{border-bottom:1px solid var(--ux-border)}
.ux-rental-booking:last-child{border-bottom:0}
.ux-rental-booking-summary{list-style:none;cursor:pointer;min-height:92px;padding:13px 23px;color:var(--ux-text);background:#fff}
.ux-rental-booking-summary::-webkit-details-marker,.ux-rental-stock-summary::-webkit-details-marker,.ux-rental-utility>summary::-webkit-details-marker{display:none}
.ux-rental-booking-summary::marker,.ux-rental-stock-summary::marker,.ux-rental-utility>summary::marker{content:''}
.ux-rental-booking-summary:hover{background:#fbfdfa}
.ux-rental-booking[open]>.ux-rental-booking-summary{background:#f6faf7}
.ux-rental-booking.ux-rental-late>.ux-rental-booking-summary{box-shadow:inset 3px 0 #a13f87}
.ux-rental-item{display:flex;align-items:center;gap:12px;min-width:0}
.ux-rental-item>img{width:49px;height:49px;flex:none;border-radius:9px;object-fit:cover;background:#ecf1ed}
.ux-rental-item>span,.ux-rental-customer,.ux-rental-due,.ux-rental-quantity{min-width:0;display:flex;flex-direction:column;gap:5px}
.ux-rental-booking-summary strong,.ux-rental-stock-summary strong{display:block;color:#2c4334;font-size:12.5px;line-height:1.4;font-weight:730;overflow-wrap:anywhere}
.ux-rental-booking-summary small,.ux-rental-stock-summary small{display:block;font-size:11px;color:#8a988e;line-height:1.45;overflow-wrap:anywhere}
.ux-rental-quantity{font-variant-numeric:tabular-nums}
.ux-rental-quantity strong{font-size:15px}
.ux-rental-status .flag{font-size:10.5px;white-space:nowrap}
.ux-rental-expand{font-size:11px;color:#426a50;font-weight:750;white-space:nowrap;justify-self:end}
.ux-rental-expand span{font-size:17px;display:inline-block;transition:transform .15s}
.ux-rental-booking[open] .ux-rental-expand span,.ux-rental-stock-item[open] .ux-rental-expand span{transform:rotate(180deg)}
.ux-rental-detail{padding:19px 24px 22px 84px;background:#f8faf8;border-top:1px solid #e5ebe6}
.ux-rental-detail-top{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:15px}
.ux-rental-detail-top strong{font-size:13px}
.ux-rental-detail-top p{color:#859489;font-size:11.5px;margin:4px 0 0}
.ux-rental-order-link{color:#366148;font-size:12px;font-weight:700;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
.ux-rental-asset-labels{padding:11px 13px;background:#fff;border:1px solid #e3e9e4;border-radius:8px;font-size:11px;display:flex;gap:15px;align-items:center;margin-bottom:16px}
.ux-rental-asset-labels span{color:#839387}
.ux-rental-asset-labels strong{overflow-wrap:anywhere;color:#355442}
.ux-rental-detail-form{display:grid;grid-template-columns:minmax(130px,1fr) minmax(150px,.8fr) auto;gap:10px;align-items:end}
.ux-rental-detail-form label,.ux-rental-dates label,.ux-rental-edit-row label{display:flex;flex-direction:column;gap:7px;color:#6e8072;font-size:11px;font-weight:750;min-width:0}
.ux-rental-detail-form input,.ux-rental-detail-form select,.ux-rental-dates input,.ux-rental-edit-row input{min-height:40px;border:1px solid #dce4dd;border-radius:8px;background:#fff;padding:8px 11px;font-size:12px;color:var(--ink);width:100%;min-width:0}
.ux-rental-detail-form .btn{min-height:40px;white-space:nowrap}
.ux-rental-empty{text-align:center;padding:48px 24px;color:#6f8777}.ux-rental-empty strong{color:#365640;font-size:14px}.ux-rental-empty p{font-size:12px;margin:8px 0 0}
.ux-rental-inventory .ux-rental-section-head{border-bottom:1px solid var(--ux-border)}
.ux-rental-stock-header,.ux-rental-stock-summary{display:grid;grid-template-columns:minmax(180px,1fr) 72px 72px 94px 100px;align-items:center;gap:14px}
.ux-rental-stock-header{padding:10px 24px;border-bottom:1px solid var(--ux-border);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#94a297}
.ux-rental-stock-item{border-bottom:1px solid var(--ux-border)}
.ux-rental-stock-item:last-child{border-bottom:0}
.ux-rental-stock-summary{list-style:none;padding:15px 24px;cursor:pointer;min-height:83px}
.ux-rental-stock-summary:hover{background:#f9fcf9}
.ux-rental-stock-count{font-variant-numeric:tabular-nums}.ux-rental-stock-count b{display:block;font-size:15px}.ux-rental-stock-count small{display:block;color:#8e9a90;font-size:10px}
.ux-rental-unit-list{padding:10px 24px 18px 84px;background:#f8faf8;border-top:1px solid var(--ux-border)}
.ux-rental-unit{display:grid;grid-template-columns:105px 114px minmax(0,1fr) 75px;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #e5ebe5;font-size:11px}
.ux-rental-unit:last-child{border-bottom:0}.ux-rental-unit>b{color:#3a5f48;font-size:11px}.ux-rental-unit>span:not(.flag){color:#718175;overflow-wrap:anywhere}.ux-rental-unit>small{font-size:10px;color:#8b9a8f;text-align:right}
.ux-rental-utilities{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.ux-rental-utility{overflow:hidden;min-width:0}
.ux-rental-utility>summary{list-style:none;cursor:pointer;padding:19px 22px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.ux-rental-utility>summary:hover{background:#f9fbf9}
.ux-rental-utility>summary strong,.ux-rental-utility>summary small{display:block}.ux-rental-utility>summary strong{font-size:14px}.ux-rental-utility>summary small{font-size:11px;color:#849388;margin-top:5px;line-height:1.45}
.ux-rental-utility-toggle{font-size:11px;white-space:nowrap;color:#477054;font-weight:730}
.ux-rental-utility[open] .ux-rental-utility-toggle{font-size:0}.ux-rental-utility[open] .ux-rental-utility-toggle::after{content:'Close ↑';font-size:11px}
.ux-rental-utility-content{padding:19px 22px;border-top:1px solid var(--ux-border)}
.ux-rental-dates{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}
.ux-rental-availability-wrap{max-width:100%;overflow-x:auto;margin-top:16px}.ux-rental-availability-wrap .datatable{min-width:450px}
.ux-rental-availability-wrap .datatable th,.ux-rental-availability-wrap .datatable td{padding:11px 9px}
.ux-rental-table-link{border:0;background:none;color:#3d7054;text-decoration:underline;text-underline-offset:3px;font-size:11px;font-weight:730}
.ux-rental-edit-row{display:grid;grid-template-columns:minmax(100px,1fr) 94px 94px;gap:12px;padding:11px 0;border-bottom:1px solid var(--ux-border);align-items:end}
.ux-rental-edit-row strong{font-size:12px;align-self:center}
.ux-rental-stock-save{display:flex;justify-content:flex-end;margin:15px 0}
.ux-rental-disclaimer{font-size:11px;color:#8a998d;line-height:1.6;margin:17px 2px 0}
@media(max-width:1200px){.ux-rental-utilities{grid-template-columns:1fr}.ux-rental-column-head,.ux-rental-booking-summary{grid-template-columns:minmax(130px,1.6fr) minmax(100px,1.2fr) 75px 44px 94px 65px;gap:9px}.ux-rental-booking-summary{padding:12px 16px}.ux-rental-column-head{padding:10px 16px}.ux-rental-item>img{width:44px;height:44px}}
@media(max-width:870px){.ux-rental-toolbar{align-items:stretch}.ux-rental-search{width:100%}.ux-rental-search input{flex:1}.ux-rental-column-head{display:none}.ux-rental-booking-summary{grid-template-columns:minmax(145px,1.4fr) minmax(125px,1fr) 90px 76px;gap:12px}.ux-rental-quantity{display:none}.ux-rental-status{grid-column:3}.ux-rental-expand{grid-column:4}.ux-rental-due{grid-column:3;grid-row:2}.ux-rental-booking-summary{min-height:96px}.ux-rental-stock-summary{grid-template-columns:minmax(150px,1fr) 60px 60px 70px}.ux-rental-stock-header{display:none}.ux-rental-stock-summary>.ux-rental-expand{display:none}.rp-rentals .ux-rental-stock-summary>.ux-rental-expand{grid-column:5;grid-row:1}}
@media(max-width:670px){.ux-rental-metrics>div{padding:15px 12px}.ux-rental-metrics strong{font-size:25px}.ux-rental-metrics span{font-size:11px}.ux-rental-metrics small{font-size:10px}.ux-rental-section-head{padding:19px 16px 15px}.ux-rental-section-head h2{font-size:23px}.ux-rental-toolbar{padding:11px 12px}.ux-rental-filters{width:100%;overflow-x:auto;flex-wrap:nowrap}.ux-rental-filter{white-space:nowrap}.ux-rental-booking-summary{padding:14px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto;row-gap:9px;min-height:0}.ux-rental-item{grid-column:1;grid-row:1}.ux-rental-customer{grid-column:1;grid-row:2}.ux-rental-due{grid-column:1;grid-row:3}.ux-rental-due strong,.ux-rental-due small{display:inline}.ux-rental-status{grid-column:2;grid-row:1}.ux-rental-expand{grid-column:2;grid-row:3}.ux-rental-detail{padding:17px 16px}.ux-rental-detail-top{flex-direction:column;gap:8px}.ux-rental-detail-form{grid-template-columns:1fr}.ux-rental-stock-summary{padding:13px 15px;grid-template-columns:minmax(140px,1fr) 50px 50px;gap:8px}.ux-rental-stock-summary .ux-rental-stock-count:nth-of-type(4){display:none}.ux-rental-unit-list{padding:9px 15px}.ux-rental-unit{grid-template-columns:95px 1fr;gap:6px}.ux-rental-unit>span:not(.flag),.ux-rental-unit>small{grid-column:2;text-align:left}.ux-rental-utility>summary{padding:17px}.ux-rental-utility-content{padding:15px}.ux-rental-dates{grid-template-columns:1fr 1fr}.ux-rental-dates .btn{grid-column:1/-1}}

/* Simplified orders and catalogue workspace */
.ux-order-panel,.ux-products-list,.ux-product-form{overflow:hidden}
.ux-order-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:1px solid #e4ece5;padding:13px 20px;background:#fbfdfb}
.ux-order-table-wrap,.ux-product-table-wrap{overflow-x:auto;max-width:100%}
.ux-orders-table{min-width:690px}.ux-products-list .datatable{min-width:575px}
.ux-orders-table td,.ux-products-list .datatable td{padding:15px 18px;border-top:1px solid #edf1ed}
.ux-orders-table th,.ux-products-list .datatable th{padding:12px 18px}
.ux-order-ref,.ux-order-visit a,.ux-text-action{color:#36654a;font-weight:740;font-size:12px}
.ux-order-ref:hover,.ux-order-visit a:hover,.ux-text-action:hover{text-decoration:underline;text-underline-offset:3px}
.ux-order-primary,.ux-order-secondary{display:block;line-height:1.4}
.ux-order-primary{font-size:13px;color:#304c3a}.ux-order-secondary{font-size:11px;color:#89988b;margin-top:4px}
.ux-order-visit{text-align:right;white-space:nowrap}.ux-order-empty{color:#7c8e7f;font-size:12px;padding:27px}
.ux-products-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}
.ux-products-layout.editing{grid-template-columns:minmax(0,1.3fr) minmax(310px,.8fr)}
.ux-product-name{display:flex;gap:12px;min-width:180px;align-items:center}
.ux-product-name img{flex:none;height:48px;width:48px;border-radius:9px;object-fit:cover}
.ux-product-name strong,.ux-product-name small{display:block;line-height:1.45}
.ux-product-name strong{font-size:12px}.ux-product-name small{font-size:11px;color:#879789;margin-top:3px}
.ux-text-action{border:0;background:none;cursor:pointer;padding:5px}
.ux-icon-close{border:1px solid #e1e8e2;border-radius:8px;background:#fff;font-size:21px;width:33px;height:33px;color:#52715b;cursor:pointer}
.ux-product-form-body{padding:0 22px 22px;display:flex;flex-direction:column;gap:15px}
.ux-product-form-body .field label{font-size:12px;font-weight:700;display:block;margin-bottom:6px}
.ux-product-form-body .field input,.ux-product-form-body .field select{width:100%;min-height:42px;border:1px solid #dce5de;border-radius:8px;padding:9px 11px}
.ux-product-form-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ux-product-form-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #e8eee9;padding-top:16px}
@media(max-width:1130px){.ux-products-layout.editing{grid-template-columns:1fr}}
@media(max-width:670px){.ux-order-toolbar{padding:12px 13px}.ux-product-form-body{padding:0 16px 16px}.ux-product-form-pair{grid-template-columns:1fr}}

/* Vendor requests and deliveries: next step without clutter */
.ux-vendor-filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.ux-vendors-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(310px,.8fr);gap:18px;align-items:start}
.ux-vendors-layout .admin-panel{overflow:hidden}
.ux-vendor-list{padding:0 0 8px}
.ux-vendor-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;border:0;border-bottom:1px solid #e9eee9;background:#fff;padding:17px 22px;min-height:68px}
.ux-vendor-row:last-child{border-bottom:0}.ux-vendor-row:hover{background:#f8fbf8}
.ux-vendor-row.selected{background:#eff5f0;box-shadow:inset 3px 0 #5a9170}
.ux-vendor-copy{min-width:0;flex:1}.ux-vendor-copy strong,.ux-vendor-copy small{display:block;line-height:1.45}
.ux-vendor-copy strong{font-size:12.5px;color:#2e4c39}.ux-vendor-copy small{font-size:11px;color:#8a988e;margin-top:4px}
.ux-vendor-detail{padding:4px 22px 22px}.ux-vendor-service{font-size:25px;margin:8px 0}
.ux-vendor-detail-line{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid #e9eee9;font-size:12px}
.ux-vendor-detail-line>span:first-child{color:#819387}.ux-vendor-detail>.form-help{margin:19px 0}
.ux-delivery-panel{overflow:hidden;margin-bottom:17px}
.ux-delivery-row{display:flex;align-items:center;gap:18px;padding:17px 22px;min-height:74px;border-bottom:1px solid #e8eee9}
.ux-delivery-row:last-child{border-bottom:0}
.ux-delivery-main{min-width:0;flex:1}.ux-delivery-main strong,.ux-delivery-main small{display:block}
.ux-delivery-main strong{font-size:12.5px}.ux-delivery-main small{font-size:11px;color:#8a998d;margin-top:5px}
.ux-delivery-status{flex:none}.ux-delivery-action{display:flex;align-items:center;justify-content:flex-end;gap:16px;min-width:225px}
.ux-delivery-hint{font-size:11px;color:#a17b4d}
.ux-delivery-completed{background:#fff;border:1px solid #e2eae3;border-radius:12px;overflow:hidden}
.ux-delivery-completed>summary{display:flex;justify-content:space-between;gap:16px;list-style:none;cursor:pointer;padding:19px 23px;font-size:13px;font-weight:730}
.ux-delivery-completed>summary span{color:#7c8c80}
.ux-delivery-completed>.ux-delivery-list{border-top:1px solid #e2eae3}
@media(max-width:1130px){.ux-vendors-layout{grid-template-columns:1fr}}
@media(max-width:670px){.ux-vendor-row{padding:15px 16px}.ux-delivery-row{padding:14px 16px;align-items:flex-start;flex-wrap:wrap}.ux-delivery-status{margin-left:auto}.ux-delivery-action{width:100%;min-width:0;justify-content:flex-start}.ux-vendor-detail{padding:0 16px 17px}}

/* Intermediate widths: keep records readable alongside the navigation */
@media(max-width:780px){
 .ux-rental-booking-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 12px;padding:14px 16px;min-height:0}
 .ux-rental-item{grid-column:1;grid-row:1}
 .ux-rental-customer{grid-column:1;grid-row:2}
 .ux-rental-due{grid-column:1;grid-row:3}
 .ux-rental-due strong,.ux-rental-due small{display:inline}
 .ux-rental-status{grid-column:2;grid-row:1}
 .ux-rental-expand{grid-column:2;grid-row:3}
 .ux-rental-detail{padding:17px 16px}
 .ux-rental-detail-form{grid-template-columns:1fr}
 .ux-rental-detail-top{flex-direction:column;gap:8px}
 .ux-rental-metrics>div{padding:14px 12px}
 .ux-rental-metrics strong{font-size:26px}
}
@media(max-width:460px){
 .ux-rental-metrics{gap:0}
 .ux-rental-metrics small{font-size:9.5px}
 .ux-rental-metrics span{font-size:10px}
 .ux-rental-metrics strong{font-size:22px}
 .ux-rental-metrics>div{padding:13px 9px}
 .ux-rental-stock-summary{grid-template-columns:minmax(120px,1fr) 43px 43px;gap:6px}
 .ux-rental-stock-count b{font-size:13px}
 .ux-rental-section-head{align-items:flex-start;flex-direction:column;gap:6px}
 .ux-rental-search{flex-wrap:wrap}
 .ux-rental-search input{min-width:125px}
 .ux-order-toolbar .ux-rental-filters{overflow-x:auto;flex-wrap:nowrap;max-width:100%;padding-bottom:3px}
}

/* Visual QA fix: do not vertically centre admin content on short pages.
   The legacy grid item's margin:auto caused Orders/Deliveries to float mid-screen. */
.adminmain{margin:0 auto;align-self:start}

/* Phone-first records keep Edit and Open actions visible without sideways scrolling */
.ux-order-mobile-list,.ux-product-mobile-list{display:none}
@media(max-width:670px){
 .ux-order-table-wrap,.ux-product-table-wrap{display:none}
 .ux-order-mobile-list,.ux-product-mobile-list{display:block}
 .ux-mobile-order{display:flex;flex-direction:column;gap:9px;padding:15px 16px;border-bottom:1px solid #e8eee9;text-decoration:none;color:inherit}
 .ux-mobile-order:last-child,.ux-mobile-product:last-child{border-bottom:0}
 .ux-mobile-order:hover,.ux-mobile-order:focus-visible{background:#f6faf7}
 .ux-mobile-order-top{display:flex;align-items:center;justify-content:space-between;gap:9px}
 .ux-mobile-order-top strong{font-size:12.5px;color:#284934}
 .ux-mobile-order-detail{font-size:11px;color:#748778}
 .ux-mobile-order-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:#7b8c7f}
 .ux-mobile-order-foot b{font-size:12px;color:#37664a}
 .ux-mobile-product{padding:15px 16px;border-bottom:1px solid #e8eee9}
 .ux-mobile-product-head{display:flex;align-items:center;gap:10px}
 .ux-mobile-product-head img{height:48px;width:48px;flex:none;object-fit:cover;border-radius:9px}
 .ux-mobile-product-head>span:nth-child(2){flex:1;min-width:0}
 .ux-mobile-product-head strong,.ux-mobile-product-head small{display:block}
 .ux-mobile-product-head strong{font-size:12.5px;color:#294837}
 .ux-mobile-product-head small{font-size:10.5px;color:#829688;margin-top:4px}
 .ux-mobile-product-foot{padding:10px 0 0 58px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:#5b7666}
 .ux-products-layout.editing .ux-product-form{order:-1}
}

/* 2026-10-27 Product inventory: inline editable sheet, one save/discard action */
.pp-product-sheet{border:1px solid #dfe8e2;border-radius:14px;background:#fff;overflow:visible;box-shadow:0 2px 12px rgba(35,59,43,.025);min-width:0}
.pp-sheet-heading{display:flex;justify-content:space-between;align-items:start;gap:20px;padding:25px 26px 18px;border-bottom:1px solid #ecf0ed}
.pp-sheet-heading h2{font:400 25px/1.2 Georgia,serif;color:#274333;letter-spacing:-.02em;margin:0}
.pp-sheet-heading p{margin:7px 0 0;color:#87978a;font-size:12px;line-height:1.55}
.pp-sheet-count{white-space:nowrap;font-size:11px;color:#869589}
.pp-products-table-viewport{overflow-x:auto;max-width:100%}
.pp-products-table{border-collapse:collapse;width:100%;table-layout:fixed}
.pp-products-table th{padding:13px 16px;text-transform:uppercase;font-size:10px;letter-spacing:.07em;color:#819186;font-weight:750;text-align:left;background:#fbfcfb;border-bottom:1px solid #e9eeea}
.pp-products-table th:nth-child(1){width:30%}.pp-products-table th:nth-child(2){width:11%}.pp-products-table th:nth-child(3){width:13%}.pp-products-table th:nth-child(4){width:15%}.pp-products-table th:nth-child(5){width:14%}.pp-products-table th:nth-child(6){width:17%}
.pp-products-table td{padding:14px 16px;border-bottom:1px solid #ecf0ed;font-size:12px;color:#526659;vertical-align:middle}
.pp-products-table tbody tr:last-child td{border-bottom:0}
.pp-product-identity-body{display:flex;align-items:center;gap:12px;min-width:0}
.pp-product-identity-body>img{height:48px;width:48px;object-fit:cover;border-radius:9px;flex:none}
.pp-product-identity-body>div{min-width:0}
.pp-product-name{font-size:12.5px;color:#274433;font-weight:760;text-align:left;padding:0;border:none;background:none;line-height:1.5;cursor:pointer}
.pp-product-name:hover{text-decoration:underline;text-underline-offset:3px}
.pp-product-identity-body>div>span{display:block;font-size:11px;color:#91a094;margin-top:3px}
.pp-product-cell{min-width:0}
.pp-bulk-input{height:40px;width:100%;border:1px solid #e0e7e1;border-radius:8px;background:#fff;font:600 13px/1.3 inherit;color:#2d4938;padding:9px 10px;min-width:0;transition:border-color .14s,box-shadow .14s}
.pp-bulk-input:hover{border-color:#bacfc0}
.pp-bulk-input:focus-visible{outline:0;border-color:#558569;box-shadow:0 0 0 3px #dceadf}
.pp-input-wrap{display:flex;align-items:center;gap:0;position:relative}
.pp-input-wrap>span{position:absolute;left:11px;color:#91a395;font-size:12px}
.pp-input-wrap .pp-bulk-input{padding-left:26px}
.pp-product-secondary>span{color:#91a094;font-size:10.5px;line-height:1.5;display:block}
.pp-product-row.is-dirty{background:#fbfdf9}
.pp-sheet-footnote{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 25px;border-top:1px solid #ecf0ed;font-size:11px;color:#8a998c;line-height:1.5}
.pp-sheet-footnote a{font-weight:730;white-space:nowrap;color:#416f52}
.pp-products-savebar{position:sticky;bottom:14px;background:#244937;color:#fff;margin:10px 15px 15px;padding:15px 19px;border-radius:11px;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 10px 25px #24493738}
.pp-products-savebar[hidden]{display:none}
.pp-products-savebar>div:first-child{display:flex;flex-direction:column;gap:3px}
.pp-products-savebar strong{font-size:13px;color:#fff}.pp-products-savebar>div>span{font-size:11px;color:#c6d8cb}
.pp-products-save-actions{display:flex;align-items:center;gap:9px}
.pp-products-savebar .btn{background:#fff;border-color:#dce9df;color:#294a36}
.pp-products-savebar .btn.dark{background:#b9d4bf;color:#193b29;border-color:#b9d4bf}
.pp-product-details{margin-top:18px}
.pp-product-details .pbody{padding:18px 23px}
.pp-product-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.pp-product-detail-grid label{font-size:11px;font-weight:750}
.pp-product-detail-grid input,.pp-product-detail-grid select{border:1px solid #e0e8e2;border-radius:8px;min-height:41px;padding:8px 11px;width:100%;color:#264331}
.pp-product-detail-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}
@media(max-width:1040px){.pp-products-table{min-width:760px}.pp-product-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 .pp-sheet-heading{padding:20px 17px 16px}
 .pp-products-table-viewport{overflow:visible}
 .pp-products-table,.pp-products-table tbody,.pp-products-table tr,.pp-products-table td{display:block;width:100%;min-width:0}
 .pp-products-table thead{display:none}
 .pp-products-table tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 9px;padding:17px;border-bottom:1px solid #e7eee9}
 .pp-products-table td{border:0;padding:0;min-width:0}
 .pp-products-table .pp-product-identity{grid-column:1/-1}
 .pp-products-table .pp-product-kind{display:none}
 .pp-products-table .pp-product-cell::before{content:attr(data-label);display:block;font-size:10px;line-height:1.4;color:#8c9b8e;margin-bottom:6px;font-weight:750}
 .pp-products-table .pp-product-secondary{grid-column:1/-1}
 .pp-product-secondary>span{font-size:10px}
 .pp-products-savebar{margin:9px 11px 11px;bottom:9px;padding:12px;gap:10px}
 .pp-products-savebar .btn{padding:9px 11px;font-size:11px}
 .pp-products-save-actions{gap:6px}
 .pp-sheet-footnote{padding:13px 16px;flex-direction:column;align-items:start;gap:6px}
 .pp-product-detail-grid{grid-template-columns:1fr}
}

/* Rentals: stock-first workspace with a single secondary booking view */
.rp-rentals{min-width:0}
.rp-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #e3eae4;border-radius:13px;background:white;margin:2px 0 20px;overflow:hidden}
.rp-summary>div{display:flex;flex-direction:column;gap:7px;padding:17px 22px;border-right:1px solid #edf1ed}
.rp-summary>div:last-child{border-right:0}
.rp-summary span{font-size:11px;font-weight:750;color:#879789}
.rp-summary strong{font-size:28px;font-weight:630;color:#284a35;line-height:1.25;font-variant-numeric:tabular-nums}
.rp-summary .rp-warning strong{color:#a74f40}
.rp-tabs{display:flex;align-items:center;gap:25px;border-bottom:1px solid #dfe7e0;margin:0 0 21px;flex-wrap:wrap}
.rp-tab{font-size:13px;background:transparent;border:0;border-bottom:2px solid transparent;padding:12px 2px 14px;color:#7b907f;cursor:pointer;font-weight:720}
.rp-tab.active{color:#2b543a;border-color:#417650}
.rp-tab:hover{color:#2f6041}
.rp-tab:focus-visible{outline:2px solid #9c4384;outline-offset:2px}
.rp-tab-pane[hidden]{display:none}
.rp-panel{border:1px solid #e1e9e2;border-radius:13px;overflow:hidden;background:white;min-width:0}
.rp-panel-head{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:24px 25px 21px}
.rp-panel-head h2{font:400 27px/1.2 Georgia,serif;color:#294536;margin:0}
.rp-panel-head p{font-size:12px;color:#839489;margin:7px 0 0;line-height:1.55}
.rp-panel-head>span{font-size:11px;color:#86968a;white-space:nowrap}
.rp-panel-foot{border-top:1px solid #e7eee8;padding:17px 24px;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:11px;color:#88988d}
.rp-panel-foot a{color:#3c7151;font-weight:760;text-decoration:none}
.rp-panel-foot a:hover{text-decoration:underline}
.rp-availability{border:1px solid #e1e9e2;border-radius:12px;background:white;margin-top:17px;overflow:hidden}
.rp-availability summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;padding:19px 24px;list-style:none}
.rp-availability summary::marker{content:''}.rp-availability summary::-webkit-details-marker{display:none}
.rp-availability summary strong,.rp-availability summary small{display:block}
.rp-availability summary strong{font-size:13px;color:#2b4b38}
.rp-availability summary small{font-size:11px;color:#89998c;margin-top:5px;line-height:1.55}
.rp-availability summary>span{font-size:11px;color:#3d7151;white-space:nowrap;font-weight:720}
.rp-availability-body{border-top:1px solid #e9efe9;padding:19px 24px}
.rp-availability-body .form-help{margin-top:11px}
.rp-rentals .ux-rental-stock-header,.rp-rentals .ux-rental-stock-summary{grid-template-columns:minmax(180px,1fr) 72px 72px 96px 90px}
.rp-rentals .ux-rental-stock-summary{min-height:84px}
.rp-rentals .ux-rental-stock-item .ux-rental-expand{display:block}
@media(max-width:800px){
 .rp-summary>div{padding:14px 13px}
 .rp-summary strong{font-size:24px}
 .rp-rentals .ux-rental-stock-header,.rp-rentals .ux-rental-stock-summary{grid-template-columns:minmax(135px,1fr) 55px 55px 79px 60px;gap:8px}
 .rp-panel-head{padding:20px 17px}
 .rp-rentals .ux-rental-stock-summary{padding:13px 17px}
 .rp-rentals .ux-rental-stock-header{padding:10px 17px}
}
@media(max-width:590px){
 .rp-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
 .rp-summary>div{border-bottom:1px solid #edf1ed}
 .rp-summary>div:nth-child(even){border-right:0}
 .rp-summary>div:nth-child(n+3){border-bottom:0}
 .rp-tabs{gap:20px}
 .rp-panel-head{padding:18px 15px;flex-wrap:wrap;align-items:start}
 .rp-panel-head h2{font-size:24px}
 .rp-rentals .ux-rental-stock-header{display:none}
 .rp-rentals .ux-rental-stock-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;min-height:92px}
 .rp-rentals .ux-rental-stock-summary .ux-rental-stock-count:nth-of-type(4){display:flex}
 .rp-rentals .ux-rental-stock-summary .ux-rental-expand{display:none}
 .rp-panel-foot{padding:15px;flex-wrap:wrap}
 .rp-availability summary{padding:16px}
 .rp-availability-body{padding:15px}
}

.pp-product-error{background:#f8f7f8;color:#a33d43;border:1px solid #e6d0e0;padding:12px 16px;border-radius:8px;font-size:12px;line-height:1.6;margin:12px 16px}
.pp-product-error[hidden]{display:none}
.pp-bulk-input[aria-invalid="true"]{border-color:#ba565d;box-shadow:0 0 0 2px #e6e2e5}
/* Explain stock conflicts at the specific rental input, not only below the table. */
.pp-stock-error{display:block;margin-top:7px;color:#a33d43;font-size:11px;line-height:1.45;font-weight:600;overflow-wrap:anywhere}
.pp-stock-error[hidden]{display:none}
.pp-product-cell:has(.pp-stock-error:not([hidden])){vertical-align:top}


/* Browser QA: keep staged Save and Discard fully visible on a narrow screen */
body:has(.pp-products-savebar:not([hidden])) #toast{bottom:112px;max-width:min(420px,calc(100vw - 28px));text-align:center}
@media(max-width:700px){
 .pp-products-savebar{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:11px;margin:10px 11px 11px;padding:13px 14px;bottom:8px;min-width:0}
 .pp-products-savebar>div:first-child{width:100%;min-width:0;display:flex;flex-direction:row;align-items:baseline;justify-content:space-between;gap:8px}
 .pp-products-savebar strong{font-size:12px;white-space:nowrap}
 .pp-products-savebar>div:first-child span{font-size:10px;text-align:right}
 .pp-products-save-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;width:100%}
 .pp-products-save-actions .btn{display:block;white-space:nowrap!important;width:100%;min-width:0;text-align:center;min-height:40px;padding:9px 5px;font-size:11px}
 body:has(.pp-products-savebar:not([hidden])) #toast{left:14px;right:14px;bottom:160px;transform:none;width:auto;max-width:none;padding:10px 14px;font-size:11px}
}

/* Editing product details must open above the long inventory table, not below it */
.pp-product-details{margin:0 0 18px}


/* Rental interaction refinement: calm quantity-first operations and intentional chevrons */
.rp-chevron{display:inline-block;width:17px;height:17px;flex:none;vertical-align:middle;transition:transform .17s ease;stroke-linecap:round}
.ux-rental-expand{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;font-size:11px}
.ux-rental-stock-item[open]>.ux-rental-stock-summary .rp-chevron,.ux-rental-booking[open]>.ux-rental-booking-summary .rp-chevron,.rp-advanced-labels[open]>summary .rp-chevron,.rp-availability[open]>summary .rp-chevron{transform:rotate(180deg)}
.rp-availability summary .rp-availability-label{display:inline-flex;align-items:center;gap:5px;color:#436b51;font-size:11px;font-weight:720}
.rp-availability[open] summary .rp-availability-label{font-size:11px}
.rp-availability[open] summary .rp-availability-label::after{content:none}
.rp-stock-detail{padding:16px 22px 18px 84px;background:#f8fbf8;border-top:1px solid #e9eee9}
.rp-stock-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px}
.rp-stock-detail-head>span{color:#798c7d;font-size:11px}
.rp-stock-detail-actions{display:flex;gap:15px;align-items:center;margin:13px 0 14px}
.rp-stock-detail-actions a,.rp-stock-detail-actions button{padding:0;border:0;background:transparent;color:#356b48;font-weight:720;font-size:11px;text-decoration:underline;text-underline-offset:3px}
.rp-advanced-labels{border-top:1px solid #e1e9e2;margin-top:14px}
.rp-advanced-labels>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;padding:13px 0 9px;color:#557260;font-size:11.5px;font-weight:710}
.rp-advanced-labels>summary::-webkit-details-marker{display:none}
.rp-advanced-labels>summary>span{display:inline-flex;align-items:center;gap:6px;color:#819486;font-size:10.5px;font-weight:500}
.rp-advanced-labels>p{font-size:11px;color:#829386;line-height:1.6;margin:5px 0 11px}
.rp-optional-ids{display:flex;flex-direction:column;gap:7px}
.rp-optional-ids label{display:flex;flex-direction:column;gap:6px;font-size:11px;color:#607966;font-weight:700}
.rp-optional-ids input{min-height:39px;border:1px solid #dce7de;border-radius:8px;background:white;padding:9px 11px;font-size:12px}
.rp-optional-ids>span{font-size:11px;color:#899a8b;line-height:1.55;overflow-wrap:anywhere}
.rp-stock-labels .ux-rental-unit-list{padding:0 8px;background:transparent;border:0}
.rp-booking-quantity{display:flex;flex-direction:column;gap:5px;color:#778c7c;font-size:11px;font-weight:700}
.rp-booking-quantity strong{font-size:18px;font-variant-numeric:tabular-nums;color:#2d4937}
.rp-handover-form{grid-template-columns:100px minmax(170px,1fr) auto}
.rp-quantity-form{grid-template-columns:minmax(120px,.6fr) minmax(165px,.9fr) auto}
.rp-rentals .ux-rental-stock-summary{cursor:pointer}
.rp-rentals .ux-rental-stock-item[open]>.ux-rental-stock-summary{background:#f7faf7}
@media(max-width:840px){.rp-stock-detail{padding:15px 18px}.rp-handover-form,.rp-quantity-form{grid-template-columns:1fr}.rp-stock-detail-head{align-items:flex-start;flex-direction:column}.rp-rentals .ux-rental-expand{font-size:10px}}
@media(max-width:580px){.rp-stock-detail{padding:14px 15px}.rp-stock-detail-actions{flex-direction:column;align-items:flex-start;gap:11px}.rp-advanced-labels>summary{min-height:40px}.rp-rentals .ux-rental-stock-summary .ux-rental-expand{display:flex;grid-column:1/-1;justify-self:end}}
@media(prefers-reduced-motion:reduce){.rp-chevron{transition:none}}

/* Release audit — intermediate tablet storefront navigation */
@media(max-width:980px){
 .top .nav-actions>a.btn{display:none}
 .top .nav-actions{min-width:0;flex-shrink:0}
 .top{min-width:0}
}

/* Release audit — accessible settings form, one input beneath each policy on phones */
.settingrow>div:first-child{min-width:0}
.settingrow .field{flex:none;min-width:130px}
.settingrow .field input{width:100%;min-height:43px;max-width:none;text-align:left}
@media(max-width:720px){
 .settingrow{display:grid;grid-template-columns:1fr;align-items:start;gap:11px;padding:17px 0}
 .settingrow .field{width:100%;min-width:0}
 .settingrow .field input{width:100%;max-width:100%;min-height:44px}
 .settingrow p{line-height:1.6}
}

/* Packages: only one Save in the bottom action bar, publication is secondary */
.pkg-chooser>button[data-action="save-package"]{display:none}
.pkg-chooser>button[data-action="publish-package"],.pkg-chooser>button[data-action="unpublish-package"]{
 background:transparent!important;border:1px solid #dfe8df!important;
 color:#3e6b4f!important;box-shadow:none!important;min-height:36px;
 font-weight:690;padding:7px 12px
}
.pkg-chooser>button[data-action="unpublish-package"]{color:#798b7c!important}
@media(max-width:620px){
 .pkg-chooser>button[data-action="publish-package"],.pkg-chooser>button[data-action="unpublish-package"]{width:auto!important}
 .pkg-chooser{gap:11px}
}

.ux-delivery-completed>summary>span{display:inline-flex;align-items:center;gap:8px}
.ux-delivery-completed>summary .rp-chevron{width:16px;height:16px}
.ux-delivery-completed[open]>summary .rp-chevron{transform:rotate(180deg)}
.ux-delivery-completed>summary:focus-visible{outline:3px solid #9c4384;outline-offset:-3px}

/* Final rental phone refinement: chevron stays beside the item, not on a dangling row */
@media(max-width:590px){
 .rp-rentals .ux-rental-stock-summary{position:relative;padding:13px 15px;grid-template-columns:repeat(3,minmax(0,1fr));row-gap:11px;min-height:104px}
 .rp-rentals .ux-rental-stock-summary .ux-rental-expand{display:flex;position:absolute;right:13px;top:19px;transform:none;font-size:0;grid-column:auto;min-width:19px;padding:0}
 .rp-rentals .ux-rental-stock-summary .ux-rental-expand .rp-chevron{width:18px;height:18px}
 .rp-rentals .ux-rental-item{min-width:0}
 .rp-rentals .ux-rental-item strong{overflow-wrap:anywhere}
}

/* Rental inventory: show date-aware capacity in the primary row. */
.rp-change-dates{border:0;padding:0 2px;background:transparent;color:#356b48;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:inherit;font-weight:750}
.rp-change-dates:focus-visible{outline:2px solid #9c4384;outline-offset:2px;border-radius:3px}
.rp-can-book b{color:#285d42}
.rp-can-book-empty b{color:#a54c38}
.rp-rentals .ux-rental-item small{max-width:100%;line-height:1.55}
@media(max-width:590px){
 .rp-rentals .ux-rental-stock-summary .ux-rental-stock-count{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:5px 0 0 4px;border-top:1px solid #edf1ed}
 .rp-rentals .ux-rental-stock-summary .ux-rental-stock-count:nth-of-type(4){display:flex}
 .rp-rentals .ux-rental-stock-summary .ux-rental-item{grid-column:1/-1;min-width:0;padding-right:25px}
}

/* Customer rental preflight: inline capacity, date feedback and disabled quantity controls. */
.cart-stock-caption{display:block;font-size:11px;line-height:1.5;color:#60796a;margin:2px 0 6px}
.cart-stock-status{margin:12px 0 16px}
.cart-stock-status .notice{margin:0;padding:12px 14px;line-height:1.5}
.drawer .quantity button:disabled{cursor:not-allowed;color:#9da89e;background:#f4f5f2;opacity:.65}

/* Keep confirming or declining a pending sample rental request equally accessible. */
.pp-order-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
@media(max-width:590px){.pp-order-actions{width:100%}.pp-order-actions .btn{flex:1 1 150px;text-align:center}}

/* Order lifecycle decisions: prominent reason and recoverable deletion, not a destructive popup. */
.pp-lifecycle-panel{margin:18px 0 22px;border:1px solid #d7e1d8}
.pp-lifecycle-panel .phead{align-items:flex-start}
.pp-lifecycle-panel .phead h3{margin:0 0 7px}
.pp-lifecycle-panel .pbody{padding-top:12px}
.pp-lifecycle-panel textarea{display:block;width:100%;min-height:92px;max-width:750px;resize:vertical;box-sizing:border-box;margin:9px 0;padding:12px;border:1px solid #bbcabe;border-radius:9px;font:inherit;color:#223a2c;background:#fff}
.pp-lifecycle-panel textarea:focus-visible{outline:2px solid #416a53;outline-offset:2px}
.pp-lifecycle-panel .pp-order-actions{margin-top:14px}
.pp-audit-item{display:grid;gap:4px;padding:11px 0;border-bottom:1px solid #e6ebe7}
.pp-audit-item:last-child{border-bottom:0}
.pp-audit-item strong{text-transform:capitalize;color:#28483b}
.pp-audit-item small{color:#63776b;font-size:12px}
.pp-audit-item p{margin:0;color:#344b41;overflow-wrap:anywhere}
@media(max-width:590px){.pp-lifecycle-panel .pbody{padding:15px}.pp-lifecycle-panel textarea{font-size:16px}}

/* Curated Party Pack customer experience — composable items, calm editorial layout. */
.pp-discovery .page-head,.pp-individual .page-head{max-width:780px}
.pp-event-filter{display:flex;flex-wrap:wrap;align-items:center;gap:15px;margin:8px 0 30px}
.pp-event-filter>span{color:#60776a;font-size:13px;font-weight:700}
.pp-event-filter .chips{margin:0;gap:8px}
.pp-style-card .tilebody p{font-size:13px;color:#748275;line-height:1.5;margin:4px 0 12px}
.pp-build-own{display:flex;justify-content:space-between;gap:26px;align-items:center;margin:44px 0 25px;padding:28px 32px;border-radius:18px;background:#f1f3ef;border:1px solid #e0e7df}
.pp-build-own h2{font-size:29px;margin:6px 0 8px;color:#2d4738}
.pp-build-own p{margin:0;color:#637368;max-width:570px}
.pp-full{width:100%;display:inline-flex;justify-content:center;text-align:center}
.pp-includes{display:grid;gap:10px;margin:20px 0 24px}
.pp-included{display:flex;align-items:center;gap:12px;border:1px solid #e4e9e3;border-radius:10px;padding:8px}
.pp-included img{width:58px;height:58px;border-radius:7px;object-fit:cover}
.pp-included span{display:grid;gap:5px}
.pp-included strong{font-size:14px}
.pp-included small{color:#708176;font-size:12px}
.pp-builder-intro{display:grid;grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:22px;margin:24px 0 30px}
.pp-builder-intro h1{margin:6px 0 10px;color:#2e493a;line-height:1.1}
.pp-builder-intro p{max-width:650px;color:#6d7d70;margin:0}
.pp-builder-cover img{width:100%;aspect-ratio:1.3;object-fit:cover;border-radius:16px}
.pp-builder-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(285px,350px);align-items:start;gap:26px}
.pp-builder-section-head{display:flex;align-items:baseline;gap:12px;justify-content:space-between}
.pp-builder-section-head h2{font-size:30px;margin:0}
.pp-builder-section-head>span{font-size:12px;color:#728677}
.pp-builder-main{min-width:0}
.pp-pack-line{display:grid;grid-template-columns:96px minmax(0,1fr);gap:17px;align-items:start;padding:22px 2px;border-bottom:1px solid #e5ebe5;transition:opacity .15s}
.pp-pack-line.is-removed{opacity:.6}
.pp-pack-item-photo{width:96px;height:96px;object-fit:cover;border-radius:12px}
.pp-pack-item-body{display:grid;gap:11px;min-width:0}
.pp-pack-item-heading{display:flex;gap:15px;justify-content:space-between;align-items:start}
.pp-pack-item-heading>div{display:grid;gap:5px}
.pp-pack-item-heading strong{color:#2b4034;font-size:17px}
.pp-pack-item-heading span,.pp-pack-unit-price{color:#738278;font-size:12px}
.pp-pack-line-controls{display:flex;gap:18px;align-items:end;justify-content:space-between;flex-wrap:wrap}
.pp-pack-switch{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:600;color:#3c5745;cursor:pointer}
.pp-pack-switch input{width:17px;height:17px;accent-color:#436b54}
.pp-pack-included-label{color:#617868;font-size:12px;font-weight:700}
.pp-pack-quantity{display:flex;align-items:center;gap:9px;font-size:13px;color:#5e7064}
.pp-pack-quantity input{width:86px;height:42px;box-sizing:border-box;padding:6px 10px;text-align:center;font:inherit;font-weight:700;border:1px solid #d6ded7;border-radius:9px;background:#fff;color:#293f32}
.pp-pack-print,.pp-product-print{display:grid;gap:7px;color:#506a59;font-size:12px;font-weight:600}
.pp-pack-print input,.pp-product-print input{border:1px solid #d7e0d8;border-radius:9px;padding:11px 12px;background:white;min-width:0;font:inherit;color:#293f32}
.pp-rental-note{font-size:12px;color:#688272;line-height:1.5}
.pp-pack-error{color:#a53e3c}
.pp-builder-date,.pp-builder-extras{border:1px solid #e1e9e2;border-radius:14px;padding:22px;margin:25px 0;background:#fafbf8}
.pp-builder-date h3,.pp-builder-extras h3{font-size:23px;margin:0 0 14px}
.pp-builder-date label{display:inline-grid;gap:6px;min-width:170px;margin:0 12px 12px 0;font-size:13px;color:#47624f;font-weight:700}
.pp-builder-date input{background:#fff;border:1px solid #d5e0d6;border-radius:9px;padding:10px;font:inherit;color:#263e32;min-height:43px}
.pp-builder-extras p{color:#687b6f}
.pp-builder-summary{position:sticky;top:20px;padding:27px;border:1px solid #dce6dd;border-radius:18px;background:#fff;box-shadow:0 15px 40px #304b3b0b}
.pp-builder-summary h2{font-size:30px;margin:10px 0 25px}
.pp-builder-summary .notice{margin:14px 0}
.pp-builder-summary>.btn{margin:18px 0 6px}
.pp-individual-card .copy{display:grid;gap:9px}
.pp-individual-card .btn{width:100%;margin-top:auto}
.pp-product-print{margin:5px 0}
.pp-party-bar{position:fixed;right:24px;bottom:22px;z-index:90;display:flex;align-items:center;gap:19px;padding:12px 13px 12px 19px;background:#fff;border:1px solid #dce6dd;border-radius:16px;box-shadow:0 18px 45px #1b352936}
.pp-party-bar>span{display:grid;gap:2px;color:#294739}
.pp-party-bar small{color:#607669;font-size:12px}
.pp-cart-components{display:block;color:#5c7868;font-size:12px;line-height:1.6;margin:5px 0}
.pp-edit-pack{display:inline-block;background:transparent;border:0;padding:4px 0;text-align:left;color:#346148;text-decoration:underline;text-underline-offset:3px;font:inherit;font-size:12px;cursor:pointer}
.pp-pack-tag{font-size:12px;color:#688274}
.pp-cart-name{display:block;color:#576e60;margin:5px 0}
.pp-occasion-field{border:0;padding:0;margin:0;min-width:0}
.pp-occasion-field legend{font-size:13px;color:#506855;font-weight:700;padding:0 0 10px}
.pp-occasion-options{display:flex;flex-wrap:wrap;gap:8px}
.pp-occasion-options label{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid #dce5dd;border-radius:7px;color:#3a5944;font-size:12px}
.pp-occasion-options input{accent-color:#496f59}
.pp-order-lines{display:grid;gap:8px;margin:12px 0;padding:12px;background:#f5f8f5;border-radius:10px;font-size:13px}
.pp-order-lines ul{margin:8px 0 0;padding-left:24px;color:#566c5c}
@media(max-width:980px){.pp-builder-layout{grid-template-columns:1fr}.pp-builder-summary{position:static;max-width:none}.pp-builder-intro{grid-template-columns:minmax(0,1fr) 145px}}
@media(max-width:640px){
 .pp-event-filter{align-items:stretch;display:block}
 .pp-event-filter>span{display:block;margin:0 0 12px}
 .pp-build-own{padding:22px;display:block;margin:24px 0}
 .pp-build-own .btn{margin-top:18px;width:100%}
 .pp-builder-intro{grid-template-columns:1fr;gap:14px}
 .pp-builder-cover{max-height:190px;overflow:hidden;border-radius:14px}
 .pp-builder-cover img{aspect-ratio:2.5}
 .pp-pack-line{grid-template-columns:72px minmax(0,1fr);gap:12px;padding:18px 0}
 .pp-pack-item-photo{width:72px;height:72px}
 .pp-pack-item-heading{display:grid;gap:5px}
 .pp-pack-line-controls{gap:12px}
 .pp-pack-quantity{width:100%;justify-content:space-between}
 .pp-pack-quantity input{width:95px}
 .pp-builder-summary{padding:20px}
 .pp-builder-date,.pp-builder-extras{padding:17px}
 .pp-builder-date label{display:grid;margin-right:0;width:100%}
 .pp-party-bar{left:12px;right:12px;bottom:10px;justify-content:space-between;padding:9px 10px 9px 13px;border-radius:13px}
 .pp-party-bar .btn{padding:12px;white-space:nowrap}
 .pp-party-bar small{font-size:11px}
 .pp-individual-card .btn{min-height:44px}
 .footer{padding-bottom:100px}
}

.pp-pack-added{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:10px 0 24px;border:1px solid #a6c7ab;border-radius:14px;background:#f1f7f0;padding:18px 22px;color:#2c5038}
.pp-pack-added strong{font-size:15px}
.pp-pack-added p{font-size:13px;color:#5a7462;margin:5px 0 0}
.pp-pack-added-actions{display:flex;flex-wrap:wrap;gap:9px}
@media(max-width:640px){.pp-pack-added{display:grid;padding:16px}.pp-pack-added-actions{display:grid;grid-template-columns:1fr 1fr}.pp-pack-added-actions .btn{padding:10px 9px;text-align:center;white-space:normal}}

.pp-custom-events{display:grid;gap:6px;margin-top:12px;color:#4c6553;font-size:12px;font-weight:700}
.pp-custom-events input{width:100%;box-sizing:border-box;border:1px solid #d9e5db;border-radius:9px;padding:11px;font:inherit;color:#27402f;background:white}

/* Focused Party Pack discovery — five instant choices, everything else optional. */
.pp-calm-discovery .page-head{max-width:780px}
.pp-calm-discovery .page-head p{max-width:680px;line-height:1.65}
.pp-discovery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 20px;margin:18px 0 22px;background:#f7f8f5;border:1px solid #e5eae4;border-radius:15px}
.pp-discovery-toolbar strong{font-size:14px;color:#2d4938}
.pp-discovery-toolbar p{margin:4px 0 0;font-size:12px;color:#718175}
.pp-simple-filters{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-width:0}
.pp-filter-chips{display:flex;flex-wrap:wrap;gap:6px}
.pp-filter-chip{border:1px solid transparent;background:transparent;color:#45614f;border-radius:50px;padding:9px 12px;min-height:38px;font:inherit;font-size:12px;font-weight:650;cursor:pointer;white-space:nowrap}
.pp-filter-chip:hover{background:#e8eeea}
.pp-filter-chip.is-selected{background:#335a45;border-color:#335a45;color:#fff}
.pp-filter-chip:focus-visible,.pp-more-filter select:focus-visible{outline:2px solid #9c4384;outline-offset:3px}
.pp-more-filter select{border:1px solid #d6e1d8;border-radius:9px;color:#365844;background:#fff;min-height:40px;max-width:190px;font:inherit;font-size:12px;padding:8px 10px}
.pp-results-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#415b4a;font-size:13px;font-weight:700;margin:18px 0}
.pp-results-heading span:last-child{font-size:12px;font-weight:400;color:#87938a}
.pp-curated-grid{row-gap:24px}
.pp-no-results{padding:18px;color:#60766a}

/* Builder: overview first, exactly one open area at a time. */
.pp-builder-instruction{margin:7px 0 17px;color:#708076;font-size:13px;line-height:1.6}
.pp-party-group{background:#fff;border:1px solid #e1e9e1;border-radius:15px;overflow:hidden;margin-bottom:12px}
.pp-party-group.is-open{border-color:#cbded0;box-shadow:0 9px 25px #26483307}
.pp-party-group-trigger{width:100%;background:#fff;border:0;display:flex;align-items:center;gap:14px;min-height:95px;padding:17px 18px;cursor:pointer;text-align:left;font:inherit;color:inherit}
.pp-party-group-trigger:hover{background:#f8faf7}
.pp-party-group-trigger:focus-visible{outline:2px solid #4d775a;outline-offset:-4px}
.pp-group-heading{display:flex;flex:1;flex-direction:column;gap:5px;min-width:0}
.pp-group-heading strong{font-size:17px;font-weight:680;color:#2f4d3c}
.pp-group-heading small{font-size:12px;color:#738477;line-height:1.4}
.pp-group-photos{display:flex;align-items:center;flex-shrink:0;padding-left:9px}
.pp-group-photos img{height:38px;width:38px;border:2px solid white;border-radius:10px;object-fit:cover;margin-left:-9px;box-shadow:0 1px 4px #1b372718}
.pp-group-count{font-size:12px;color:#64776a;white-space:nowrap}
.pp-group-symbol{font-size:21px;line-height:1;display:flex;align-items:center;justify-content:center;flex:0 0 27px;height:27px;background:#eff4ef;border-radius:50%;color:#426c51}
.pp-party-group-content{padding:0 18px 7px;border-top:1px solid #edf1ed}
.pp-party-group-content[hidden]{display:none}
.pp-party-group-content .pp-pack-line{grid-template-columns:74px minmax(0,1fr);gap:15px;padding:17px 0}
.pp-party-group-content .pp-pack-item-photo{width:74px;height:74px;border-radius:10px}
.pp-party-group-content .pp-pack-item-heading strong{font-size:15px}
.pp-party-group-content .pp-pack-line:last-child{border-bottom:0}
.pp-item-name{max-width:420px;padding-top:3px}
.pp-item-name summary{width:fit-content;color:#346048;font-size:12px;font-weight:650;cursor:pointer;list-style:none}
.pp-item-name summary::-webkit-details-marker{display:none}
.pp-item-name summary:before{content:'+';display:inline-block;margin-right:7px}
.pp-item-name[open] summary:before{content:'−'}
.pp-item-name .pp-pack-print{margin-top:13px}
.pp-item-name small{display:block;font-size:11px;color:#77857b;margin-top:6px}
@media(max-width:1050px){
 .pp-discovery-toolbar{align-items:flex-start;flex-direction:column;gap:10px}
 .pp-simple-filters{width:100%}
}
@media(max-width:720px){
 .pp-discovery-toolbar{padding:14px;margin:14px 0 20px}
 .pp-filter-chips{gap:4px}
 .pp-filter-chip{min-height:38px;padding:8px 11px}
 .pp-party-group-trigger{flex-wrap:wrap;min-height:85px;gap:9px;padding:15px}
 .pp-group-heading{flex:1 1 calc(100% - 54px)}
 .pp-group-symbol{order:1}
 .pp-group-photos{order:2;padding-left:0;flex:0 0 auto}
 .pp-group-count{order:3;margin-left:auto}
 .pp-party-group-content{padding:0 14px 7px}
 .pp-results-heading span:last-child{display:none}
}
@media(max-width:425px){
 .pp-group-heading strong{font-size:15px}
 .pp-group-heading small{font-size:11px}
 .pp-group-photos img{width:32px;height:32px}
 .pp-group-count{font-size:11px}
 .pp-party-group-content .pp-pack-line{grid-template-columns:58px minmax(0,1fr);gap:10px}
 .pp-party-group-content .pp-pack-item-photo{width:58px;height:58px}
 .pp-party-group-content .pp-pack-item-heading{flex-wrap:wrap;gap:4px}
 .pp-party-group-content .pp-pack-item-body{gap:8px}
 .pp-party-group-content .pp-pack-quantity input{width:72px}
}


/* Roizy-approved fixed bundle: one preparation choice, core items first, extras tucked away. */
.pp-preparation{padding:24px 26px;margin:4px 0 27px;background:#f7f9f5;border:1px solid #e0e7df;border-radius:17px}
.pp-preparation-heading h2{font-size:25px;line-height:1.2;margin:7px 0;color:#2b4738}
.pp-preparation-heading p{margin:0 0 18px;color:#687d6e;font-size:13px;line-height:1.55}
.pp-prep-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.pp-prep-option{display:grid;grid-template-columns:18px minmax(0,1fr);column-gap:12px;row-gap:7px;padding:18px;border:1px solid #dce5dc;border-radius:13px;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s;color:#294634;min-width:0}
.pp-prep-option:hover{border-color:#adc4b1}
.pp-prep-option.is-chosen{border-color:#456e54;box-shadow:0 0 0 1px #456e54}
.pp-prep-option:focus-within{outline:2px solid #9bb6a3;outline-offset:2px}
.pp-prep-option input{width:18px;height:18px;margin:2px 0 0;accent-color:#40664e}
.pp-prep-title{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:baseline}
.pp-prep-title strong{font-size:15px;color:#2b4939}
.pp-prep-title b{font-size:15px;white-space:nowrap;color:#2d4d3b}
.pp-prep-option small{grid-column:2;display:block;color:#768779;line-height:1.55;font-size:12px}
.pp-optional-group{margin-top:22px;border-style:solid;border-color:#d9e2db;background:#fff}
.pp-optional-group .pp-party-group-trigger{min-height:89px}
.pp-optional-group .pp-group-heading strong{color:#34543f}
.pp-pack-preparation{display:block;font-weight:700;color:#506e5b;margin:4px 0 7px;font-size:12px}
.pp-pack-line.is-removed{opacity:1}
.pp-optional-group .pp-pack-line.is-removed .pp-pack-item-photo{opacity:.7}
@media(max-width:720px){
 .pp-preparation{padding:17px;margin:0 0 22px;border-radius:13px}
 .pp-preparation-heading h2{font-size:22px}
 .pp-prep-choices{grid-template-columns:1fr;gap:9px}
 .pp-prep-option{padding:14px;column-gap:10px}
 .pp-prep-title{align-items:center}
}


/* 28 Oct 2026: editorial Party Pack builder.
   Deliberately scoped to .ppb-page; no legacy admin or laptop layout changes. */
.ppb-page{max-width:1536px;margin:0 auto;padding:0 24px 58px;color:#283b33}
.ppb-page,.ppb-page *{box-sizing:border-box}
.ppb-page .ppb-stepper{display:flex;align-items:center;justify-content:center;gap:14px;padding:15px 12px 21px;min-height:64px;color:#879289;font-size:12px;letter-spacing:.02em}
.ppb-step{display:flex;align-items:center;gap:9px;white-space:nowrap}
.ppb-step b{display:grid;place-items:center;flex:none;width:29px;height:29px;border:1px solid #d3dad2;border-radius:50%;font-size:11px;font-weight:700;background:#fff}
.ppb-step.is-current{color:#2d4b3b;font-weight:700}
.ppb-step.is-current b{background:#284937;border-color:#284937;color:#fff}
.ppb-step-line{width:34px;height:1px;background:#d8dfd7}
.ppb-hero{position:relative;overflow:hidden;height:258px;border-radius:18px;margin:0 0 22px;background:#e9e4dc;isolation:isolate}
.ppb-hero-image{width:100%;height:100%;object-fit:cover;object-position:center 51%;display:block}
.ppb-hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(250,249,246,.97) 0%,rgba(250,249,246,.9) 22%,rgba(250,249,246,.55) 37%,transparent 67%)}
.ppb-hero-content{position:absolute;z-index:2;top:27px;left:42px;bottom:24px;display:flex;flex-direction:column;align-items:start;max-width:390px}
.ppb-back{font-size:12px;color:#436752;text-decoration:none;margin-bottom:auto}
.ppb-back:hover{text-decoration:underline}
.ppb-kicker{font-weight:750;letter-spacing:.16em;font-size:10px;color:#667b69;margin-bottom:4px}
.ppb-hero h1{font-size:clamp(39px,4.2vw,60px);line-height:1.02;margin:3px 0 9px;color:#253f31;letter-spacing:-.035em}
.ppb-hero p{font-size:14px;line-height:1.55;max-width:345px;margin:0 0 5px;color:#52695b;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ppb-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(318px,360px);gap:22px;align-items:start}
.ppb-main,.ppb-sidebar{min-width:0}
.ppb-section-intro{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:2px 2px 17px}
.ppb-section-intro .eyebrow{font-size:10px;color:#8b817d;letter-spacing:.13em}
.ppb-section-intro h2{font-size:clamp(22px,2.3vw,29px);line-height:1.2;margin:4px 0 5px;color:#273e32}
.ppb-section-intro p{font-size:12px;line-height:1.58;color:#718075;max-width:570px;margin:0}
.ppb-set-count{font-size:11px;white-space:nowrap;color:#607969;background:#eef3ee;padding:7px 10px;border-radius:30px}
.ppb-groups{display:grid;gap:9px}
.ppb-page .ppb-group{margin:0;border:1px solid #e2e9e2;border-radius:14px;background:white;overflow:hidden;box-shadow:0 2px 11px rgba(23,50,34,.025)}
.ppb-page .ppb-group.is-open{border-color:#ccdcd0;box-shadow:0 8px 22px rgba(23,50,34,.04)}
.ppb-page .ppb-group-trigger{padding:14px 18px;min-height:78px;display:flex;gap:15px;align-items:center;width:100%;border:0;background:#fff;color:inherit;text-align:left;cursor:pointer}
.ppb-page .ppb-group-trigger:hover{background:#fbfcfa}
.ppb-page .ppb-group-trigger:focus-visible{outline:2px solid #486e54;outline-offset:-3px}
.ppb-category-icon{display:grid;place-items:center;flex:0 0 41px;width:41px;height:41px;border-radius:11px;background:#f3f6f1;color:#385e49}
.ppb-category-icon svg{height:22px;width:22px}
.ppb-page .ppb-group-title{flex:1 1 auto;min-width:0}
.ppb-page .ppb-group-title strong{font:600 20px/1.2 Georgia,'Times New Roman',serif;letter-spacing:-.018em;color:#253e30}
.ppb-page .ppb-group-title small{font-size:12px;line-height:1.4;color:#829087;margin-top:5px}
.ppb-count{flex:0 0 auto;color:#617e6a!important;font-size:12px!important;white-space:normal;text-align:right;max-width:190px}
.ppb-expand-icon{display:grid;place-items:center;width:27px;height:27px;flex:0 0 27px;border-radius:50%;background:#f1f5f1;color:#3c5e47;font-size:20px;line-height:1}
.ppb-page .ppb-group-content{padding:0 15px 16px;background:#fff;border-top:1px solid #ecf0ec}
.ppb-page .ppb-group-content[hidden]{display:none}
.ppb-product-subhead{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:14px 2px 10px;font-size:12px;color:#405b46}
.ppb-product-subhead strong{font-size:12px}
.ppb-product-subhead span{font-size:11px;color:#829287}
.ppb-extras-subhead{border-top:1px solid #eef0ec;padding-top:14px;margin-top:16px}
.ppb-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ppb-product{border:1px solid #e7ece5;background:#fff;border-radius:11px;padding:7px;min-width:0;display:flex;flex-direction:column;gap:7px}
.ppb-product:hover{border-color:#d3dfd4}
.ppb-product.is-unselected{background:#fcfcfb}
.ppb-product-media{position:relative;overflow:hidden;border-radius:7px;aspect-ratio:1.42;background:#eff1ec}
.ppb-product-photo{display:block;width:100%;height:100%;object-fit:cover}
.ppb-product-check{position:absolute;top:7px;left:7px;display:grid;place-items:center;width:21px;height:21px;border-radius:6px;background:#406a50;color:white;border:1px solid #ffffffaa;font-size:13px;font-weight:700;box-shadow:0 1px 4px #0002}
.ppb-product.is-unselected .ppb-product-check{background:#fff;color:#45614e;border-color:#d8dfd7}
.ppb-product-info{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0;padding:3px 2px 3px}
.ppb-product-info>strong{font-size:12px;line-height:1.32;color:#2a4034;min-height:31px}
.ppb-product-meta{font-size:11px;color:#78877d;line-height:1.4;min-height:27px}
.ppb-toggle{display:flex;align-items:center;gap:7px;color:#3f614e;font-size:11px;font-weight:650;cursor:pointer;min-height:26px}
.ppb-toggle input{width:16px;height:16px;accent-color:#456c51}
.ppb-included-label{display:flex;align-items:center;gap:7px;font-size:11px;color:#58806a;min-height:26px}
.ppb-included-label span{font-size:12px}
.ppb-quantity{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;border:1px solid #e3e9e2;background:#fafbf9;border-radius:9px;height:39px;margin-top:auto;overflow:hidden}
.ppb-quantity button{border:0;background:transparent;color:#344d3d;cursor:pointer;font-size:18px;line-height:1;width:100%;height:100%;min-width:0}
.ppb-quantity button:hover:not(:disabled){background:#e6eee6}
.ppb-quantity button:disabled{color:#b6c2b8;cursor:not-allowed}
.ppb-quantity input{border:0;background:transparent;text-align:center;min-width:0;width:100%;padding:3px 0;color:#253b2f;font-size:12px;font-weight:700;appearance:textfield;-moz-appearance:textfield}
.ppb-quantity input::-webkit-inner-spin-button,.ppb-quantity input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.ppb-quantity:focus-within{outline:2px solid #6e9b7c;outline-offset:1px}
.ppb-name{margin-top:5px;min-width:0}
.ppb-name summary{font-size:11px!important;line-height:1.3}
.ppb-name .pp-pack-print{margin-top:8px}
.ppb-name .pp-pack-print input{width:100%;font-size:12px;padding:9px}
.ppb-name small{font-size:10px}
.ppb-rental-caption{font-size:10px;line-height:1.4;color:#60796b}
.ppb-vendor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:15px}
.ppb-vendor{border:1px solid #e5ebe4;border-radius:11px;padding:8px;min-width:0}
.ppb-vendor-image{width:100%;height:133px;object-fit:cover;border-radius:7px;display:block}
.ppb-vendor-info{display:grid;gap:5px;padding:9px 3px 5px}
.ppb-vendor-info strong{font-size:13px;color:#283f32}
.ppb-vendor-info small{font-size:11px;color:#738579}
.ppb-vendor-action{min-height:38px;margin-top:8px;font-size:11px;font-weight:700;border-radius:8px;border:1px solid #cddfd2;background:#f4f8f3;color:#345e43;padding:8px;cursor:pointer}
.ppb-vendor-action:hover{background:#e7f0e7}
.ppb-vendor-action.selected{background:#315e43;color:#fff}
.ppb-vendor-note,.ppb-empty{font-size:12px;color:#667e6e;line-height:1.65;margin:14px 4px 3px}
.ppb-browse-link,.ppb-more-items{font-size:12px;color:#375f46;text-decoration:none}
.ppb-more-items{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:14px;padding:15px 19px;border:1px solid #e2e9e0;border-radius:11px;background:#f8faf6}
.ppb-browse-link:hover,.ppb-more-items:hover{text-decoration:underline}
.ppb-sidebar{position:sticky;top:18px;background:#fff;border:1px solid #e3e9e2;border-radius:17px;padding:22px;box-shadow:0 12px 35px #2c46350a}
.ppb-sidebar-head{margin:0 0 15px}
.ppb-sidebar-head .eyebrow{font-size:10px;color:#839286}
.ppb-sidebar-head h2{font:600 23px/1.2 Georgia,'Times New Roman',serif;color:#2c4235;margin:7px 0 5px}
.ppb-sidebar-head p{font-size:12px;color:#7b8a80;margin:0}
.ppb-prep-options{display:grid;gap:9px}
.ppb-prep{display:grid;grid-template-columns:19px minmax(0,1fr) auto;align-items:start;gap:10px;border:1px solid #e0e8e1;border-radius:11px;padding:13px 11px;cursor:pointer;transition:border-color .12s,background .12s;min-width:0}
.ppb-prep:hover{border-color:#abc7b1}
.ppb-prep.is-selected{border-color:#5a8366;background:#f2f7f2;box-shadow:0 0 0 1px #9db6a3 inset}
.ppb-prep input{margin:2px 0 0;width:18px;height:18px;accent-color:#346c4d}
.ppb-prep-text{display:grid;gap:4px;min-width:0}
.ppb-prep-text strong{font-size:13px;color:#2f4236}
.ppb-prep-text small{font-size:11px;color:#748478;line-height:1.42}
.ppb-prep>b{font-size:12px;white-space:nowrap;color:#2b4435}
.ppb-prices{margin-top:21px;border-top:1px solid #e9eee8;padding-top:16px}
.ppb-prices h3{font-size:14px;color:#2d4536;margin:0 0 9px}
.ppb-prices>div{display:flex;align-items:baseline;justify-content:space-between;gap:13px;margin:11px 0;font-size:12px;color:#586d5f}
.ppb-prices>div strong{color:#344c3b;font-size:12px;white-space:nowrap;font-weight:700}
.ppb-prices .ppb-total{border-top:1px solid #e5eae5;padding-top:15px;margin-top:17px;font-weight:700;color:#283f32;font-size:14px}
.ppb-prices .ppb-total strong{font-size:23px;color:#263d2e;letter-spacing:-.02em}
.ppb-pending-quote{font-size:11px;line-height:1.5;color:#93387b;background:#fff8ef;padding:10px;border-radius:9px;margin:10px 0}
.ppb-continue{width:100%;min-height:49px;display:flex;align-items:center;justify-content:center;gap:13px;margin:16px 0 10px;border-radius:10px;font-size:14px;font-weight:700}
.ppb-continue span{font-size:20px}
.ppb-date-panel{margin:0;padding:15px;border:1px solid #e1e8e2;border-radius:11px;background:#fafbf9}
.ppb-date-field{display:grid;gap:8px;font-size:12px;font-weight:700;color:#3d5945;min-width:0;width:100%}
.ppb-date-field input{width:100%;height:43px;min-width:0;border:1px solid #d9e2d8;border-radius:8px;background:#fff;padding:8px 11px;font-size:13px;font:inherit;color:#344b3c}
.ppb-date-field+ .ppb-date-field{margin-top:12px}
.ppb-date-note{font-size:11px;color:#697f70;line-height:1.55;margin:9px 0 0}
.ppb-sidebar-note{font-size:11px;line-height:1.55;color:#819084;margin:15px 1px 0}
.ppb-added{margin-bottom:17px}
@media(max-width:1250px){
 .ppb-content{grid-template-columns:minmax(0,1fr) 326px;gap:16px}
 .ppb-products{grid-template-columns:repeat(3,minmax(0,1fr))}
 .ppb-page{padding-left:18px;padding-right:18px}
 .ppb-sidebar{padding:17px}
}
@media(max-width:1020px){
 .ppb-content{grid-template-columns:minmax(0,1fr) 290px}
 .ppb-section-intro{display:block}
 .ppb-set-count{display:inline-block;margin-top:10px}
 .ppb-page .ppb-group-trigger{gap:10px;padding:13px}
 .ppb-count{max-width:125px;font-size:11px!important}
 .ppb-vendor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
 .ppb-page{padding:0 15px 40px}
 .ppb-content{grid-template-columns:1fr;gap:17px}
 .ppb-sidebar{position:static}
 .ppb-hero{height:230px}
 .ppb-hero-content{left:29px}
 .ppb-products{grid-template-columns:repeat(3,minmax(0,1fr))}
 .ppb-section-intro{margin-top:1px}
}
@media(max-width:580px){
 .ppb-page{padding:0 12px 32px}
 .ppb-page .ppb-stepper{gap:6px;padding:10px 3px 14px}
 .ppb-step{gap:5px;font-size:10px}
 .ppb-step b{width:25px;height:25px;font-size:10px}
 .ppb-step-line{width:11px}
 .ppb-hero{height:206px;border-radius:12px;margin-bottom:16px}
 .ppb-hero-content{left:21px;right:12px;top:17px;bottom:19px;max-width:290px}
 .ppb-hero::after{background:linear-gradient(90deg,rgba(250,249,246,.97),rgba(250,249,246,.78) 52%,rgba(250,249,246,.02))}
 .ppb-hero h1{font-size:38px}
 .ppb-hero p{font-size:12px;max-width:260px}
 .ppb-page .ppb-group-trigger{min-height:72px;gap:8px;padding:12px}
 .ppb-category-icon{width:33px;height:33px;flex-basis:33px;border-radius:8px}
 .ppb-category-icon svg{width:19px;height:19px}
 .ppb-page .ppb-group-title strong{font-size:17px}
 .ppb-page .ppb-group-title small{font-size:10px}
 .ppb-count{font-size:10px!important;max-width:73px}
 .ppb-expand-icon{width:24px;height:24px;flex-basis:24px}
 .ppb-page .ppb-group-content{padding:0 10px 12px}
 .ppb-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .ppb-product{padding:6px}
 .ppb-product-subhead{font-size:11px}
 .ppb-product-subhead span{font-size:10px}
 .ppb-product-info>strong{font-size:12px}
 .ppb-product-meta{min-height:24px}
 .ppb-quantity{grid-template-columns:35px minmax(0,1fr) 35px}
 .ppb-vendor-grid{grid-template-columns:1fr}
 .ppb-vendor{display:grid;grid-template-columns:102px 1fr;gap:11px}
 .ppb-vendor-image{height:100%;max-height:128px}
 .ppb-more-items{display:block;line-height:1.7}
 .ppb-more-items strong{display:block}
 .ppb-sidebar{padding:17px;border-radius:14px}
}
@media(max-width:355px){
 .ppb-step-line{width:5px}
 .ppb-step{font-size:9px}
 .ppb-hero h1{font-size:33px}
 .ppb-count{display:none}
 .ppb-products{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ppb-product-info>strong{font-size:11px}
 .ppb-quantity{grid-template-columns:29px minmax(0,1fr) 29px}
}
@media(prefers-reduced-motion:reduce){.ppb-product,.ppb-prep{transition:none}}


/* Package occasion taxonomy: readable multiple selection, never a single-select menu. */
.create-package-dialog{max-width:min(590px,calc(100vw - 28px))}
.create-package-occasion-field{min-width:0;border:0;padding:0;margin:1px 0 0}
.create-package-occasion-field legend{font-size:13px;font-weight:750;color:#354d3d;padding:0 0 3px}
.create-package-occasion-help,.pp-occasion-explainer{font-size:12px;line-height:1.55;color:#738479;margin:3px 0 12px}
.create-package-fields .create-package-occasion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.create-package-fields .create-package-occasion-grid label,.pkg-form .pp-occasion-options label{display:flex;align-items:center;gap:10px;margin:0;min-width:0;min-height:41px;padding:10px 12px;border:1px solid #dfe8e0;border-radius:9px;background:#fff;color:#4b6452;cursor:pointer;font-size:12px;font-weight:650;line-height:1.25;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}
.create-package-fields .create-package-occasion-grid label:hover,.pkg-form .pp-occasion-options label:hover{border-color:#9bbba3;background:#f8faf7}
.create-package-fields .create-package-occasion-grid label:has(input:checked),.pkg-form .pp-occasion-options label:has(input:checked){border-color:#668d74;background:#eff6ef;color:#2b5139;box-shadow:0 0 0 1px #bfd4c4 inset}
.create-package-fields .create-package-occasion-grid label:focus-within,.pkg-form .pp-occasion-options label:focus-within{outline:2px solid #658a6d;outline-offset:2px}
.create-package-fields .create-package-occasion-grid input,.pkg-form .pp-occasion-options input{width:17px;height:17px;min-width:17px;min-height:17px;flex:0 0 17px;padding:0;margin:0;accent-color:#42694e;border-radius:3px;cursor:pointer}
.create-package-extra-label{display:block;margin:13px 0 6px;color:#4b6553;font-size:12px;font-weight:700}
.create-package-occasion-field>input[type=text]{width:100%;height:43px;border:1px solid #dbe5dd;border-radius:9px;padding:9px 12px;color:var(--ink);font-size:13px;background:#fff}
.pp-occasion-count{font-size:11px;font-weight:700;color:#587966;margin:10px 0 2px}
.pkg-form .pp-occasion-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pkg-form .pp-custom-events{margin-top:15px}
@media(max-width:780px){.pkg-form .pp-occasion-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){
 .create-package-fields .create-package-occasion-grid,.pkg-form .pp-occasion-options{grid-template-columns:repeat(2,minmax(0,1fr))}
 .create-package-fields .create-package-occasion-grid label,.pkg-form .pp-occasion-options label{padding:9px;min-height:39px}
 .create-package-dialog{max-width:calc(100vw - 22px)}
}
@media(max-width:355px){.create-package-fields .create-package-occasion-grid,.pkg-form .pp-occasion-options{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.create-package-fields .create-package-occasion-grid label,.pkg-form .pp-occasion-options label{transition:none}}


/* 28 Oct: occasion editor reset. Explicit checkbox dimensions prevent the text-input
   min-height/padding rules from producing oversized checkmarks in admin forms. */
.pkg-form .pp-occasion-field,.create-package-fields .create-package-occasion-field{min-width:0}
.pkg-form .pp-occasion-field legend,.create-package-fields .create-package-occasion-field legend{font-weight:750;font-size:13px;line-height:1.4;letter-spacing:0;color:#314e3d}
.pkg-form .pp-occasion-explainer,.create-package-fields .create-package-occasion-help{font-size:12px;line-height:1.5;color:#718475;margin:3px 0 16px}
.pkg-form .pp-occasion-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.create-package-fields .create-package-occasion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.pkg-form .pp-occasion-options label,.create-package-fields .create-package-occasion-grid label{min-height:45px;min-width:0;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #dae4db;border-radius:10px;background:#fff;color:#466050;font-weight:650;line-height:1.4;font-size:12px;cursor:pointer;white-space:normal}
.pkg-form .pp-occasion-options label:has(input:checked),.create-package-fields .create-package-occasion-grid label:has(input:checked){background:#eef5ef;border-color:#81a38a;color:#2c533b;box-shadow:inset 0 0 0 1px #d1e3d4}
.pkg-form .pp-occasion-options input[type="checkbox"],.create-package-fields .create-package-occasion-grid input[type="checkbox"]{
 appearance:none!important;-webkit-appearance:none!important;box-sizing:border-box!important;display:grid!important;place-items:center!important;
 width:18px!important;min-width:18px!important;max-width:18px!important;height:18px!important;min-height:18px!important;max-height:18px!important;
 flex:0 0 18px!important;padding:0!important;margin:0!important;border:1.5px solid #a6b6aa!important;
 border-radius:5px!important;background:#fff!important;transform:none!important;box-shadow:none!important;cursor:pointer!important
}
.pkg-form .pp-occasion-options input[type="checkbox"]:checked,.create-package-fields .create-package-occasion-grid input[type="checkbox"]:checked{background:#3d624b!important;border-color:#3d624b!important}
.pkg-form .pp-occasion-options input[type="checkbox"]:checked::after,.create-package-fields .create-package-occasion-grid input[type="checkbox"]:checked::after{content:"";width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-1px) rotate(-45deg)}
.pkg-form .pp-occasion-options input[type="checkbox"]:focus-visible,.create-package-fields .create-package-occasion-grid input[type="checkbox"]:focus-visible{outline:3px solid #7ca88a;outline-offset:3px}
.pp-extra-occasion-area{min-width:0;margin-top:16px;padding-top:15px;border-top:1px solid #e7ede6}
.pp-add-occasion-label{display:block!important;font-size:12px!important;color:#395544!important;font-weight:750!important;margin:0 0 8px!important}
.pp-extra-occasion-list{display:flex;flex-wrap:wrap;gap:7px}
.pp-extra-occasion-list:empty{display:none}
.pp-extra-occasion{display:inline-flex;gap:8px;align-items:center;max-width:100%;background:#edf4ef;border:1px solid #cbded0;border-radius:8px;color:#30503d;font-size:12px;font-weight:700;padding:7px 8px 7px 11px}
.pp-extra-occasion>span{min-width:0;overflow-wrap:anywhere}
.pp-extra-occasion button{display:grid;place-items:center;flex:none;width:22px;height:22px;border:0;border-radius:5px;color:#4a6953;background:#dbe9de;font-size:17px;line-height:1;cursor:pointer}
.pp-extra-occasion button:hover{background:#c9dfcc}
.pp-extra-occasion-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:center}
.pkg-form .pp-extra-occasion-entry input,.create-package-fields .pp-extra-occasion-entry input{box-sizing:border-box!important;min-width:0;width:100%;height:42px;min-height:42px;padding:9px 12px;border:1px solid #d8e3d9;border-radius:9px;color:#314837;background:white;font-size:12px;line-height:1.4}
.pp-add-occasion-button{display:inline-flex;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:9px 15px;border:1px solid #9bb9a2;border-radius:9px;background:#f2f8f3;color:#315640;font-size:12px;font-weight:750;white-space:nowrap;cursor:pointer}
.pp-add-occasion-button:hover{background:#e5f1e7;border-color:#729e7b}
.pp-add-occasion-button>span{font-size:18px;line-height:1}
.pp-add-occasion-button:focus-visible,.pp-extra-occasion button:focus-visible{outline:2px solid #4f8060;outline-offset:2px}
.pp-occasion-feedback{font-size:11px;line-height:1.4;color:#6e8372;min-height:0;margin:7px 0 0}
.pp-occasion-feedback:empty{display:none}
.pkg-form .pp-occasion-count,.create-package-fields .pp-occasion-count{margin:11px 0 0;color:#587662;font-size:11px;font-weight:750}
.create-package-fields .create-package-occasion-field .pp-extra-occasion-area{padding-top:12px;margin-top:13px}
@media(max-width:1400px){.pkg-form .pp-occasion-options{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1050px){.pkg-form .pp-occasion-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){
 .pkg-form .pp-occasion-options,.create-package-fields .create-package-occasion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pkg-form .pp-occasion-options label,.create-package-fields .create-package-occasion-grid label{padding:9px;min-height:43px;font-size:11px}
 .pp-extra-occasion-entry{grid-template-columns:minmax(0,1fr)}
 .pp-add-occasion-button{width:100%}
}
@media(max-width:345px){.pkg-form .pp-occasion-options,.create-package-fields .create-package-occasion-grid{grid-template-columns:1fr}}


/* Product photography editor — clean primary photo, quieter optional secondary photo. */
.pp-product-details .pbody{padding:0}
.pp-product-photo-editor{padding:24px 26px 20px}
.pp-product-photo-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}
.pp-product-photo-intro .eyebrow{font-size:10px;letter-spacing:.16em;color:#8a9a8d}
.pp-product-photo-intro h4{font:500 23px/1.2 Georgia,'Times New Roman',serif;letter-spacing:-.03em;margin:6px 0 7px;color:#2d4335}
.pp-product-photo-intro p{color:#728477;font-size:12px;line-height:1.6;margin:0;max-width:600px}
.pp-photo-demo-tag{white-space:nowrap;font-size:10px;font-weight:700;color:#617769;border:1px solid #dce6dd;background:#f8faf7;padding:6px 9px;border-radius:20px}
.pp-product-photo-slots{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.pp-product-photo-slot{min-width:0;border:1px solid #dfe8e0;border-radius:14px;background:#fcfdfa;padding:12px;display:grid;grid-template-rows:auto auto auto;gap:9px}
.pp-product-photo-slot:first-child{background:#f8fbf8;border-color:#d0dfd2}
.pp-product-photo-preview{position:relative;display:flex;flex-direction:column;gap:5px;justify-content:center;align-items:center;min-height:180px;height:clamp(180px,15vw,245px);border:1px dashed #cadace;border-radius:10px;background:#f1f5f0;overflow:hidden;color:#68806d;font-size:12px}
.pp-product-photo-preview.has-photo{border:0;background:#e9eee6}
.pp-product-photo-preview img{width:100%;height:100%;object-fit:cover;display:block}
.pp-product-photo-empty-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;font-size:25px;color:#6a9477;background:white;margin-bottom:5px}
.pp-product-photo-slot-copy{display:grid;gap:4px;min-height:56px}
.pp-product-photo-slot-copy strong{font-size:13px;color:#36513e}
.pp-product-photo-slot-copy small{font-size:11px;line-height:1.55;color:#829185}
.pp-product-photo-slot-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px}
.pp-product-upload-button{border-color:#a9c5b0;background:#fff;color:#375c45;position:relative;font-size:12px}
.pp-product-upload-button:hover{background:#eaf3ec}
.pp-product-photo-slot-actions>.quiet{font-size:12px;padding:7px 9px;color:#7b6274}
.pp-product-photo-status{min-height:0;margin:8px 1px 0;font-size:11px;color:#4b7859}
.pp-product-photo-status:empty{display:none}
.pp-product-photo-note{color:#819185;font-size:11px;margin:12px 0 0;line-height:1.5}
.pp-product-fields-head{border-top:1px solid #ecf0e9;padding:20px 26px 0;display:grid;gap:3px}
.pp-product-fields-head strong{font-size:15px;color:#2c4536}
.pp-product-fields-head small{font-size:11px;color:#788b7c}
.pp-product-details .pp-product-detail-grid{padding:19px 26px 13px;gap:17px}
.pp-product-details .pp-product-detail-actions{margin:4px 26px 24px}
.pp-product-photo-empty{display:grid;place-items:center;background:#eff4ef;color:#8a9b8f;font-size:11px;text-align:center;min-height:70px}
/* Storefront photography: secondary image is decorative until an explicit touch request. */
.pp-individual-card{min-width:0}
.pp-product-photo-stack{position:relative;display:block;width:100%;height:180px;overflow:hidden;background:#eff2ec;isolation:isolate}
.pp-individual-card .pp-product-photo-stack>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pp-individual-card .pp-product-photo-stack>.pp-product-secondary{opacity:0;transition:opacity .24s ease}
.pp-individual-card .pp-product-photo-stack.has-secondary:hover>.pp-product-secondary,.pp-individual-card .pp-product-photo-stack.has-secondary.show-secondary>.pp-product-secondary{opacity:1}
.pp-product-view-button{position:absolute;z-index:2;right:9px;bottom:9px;border:1px solid #dae5db;border-radius:30px;padding:7px 11px;background:#fffffff0;color:#304b38;font-size:11px;font-weight:700;box-shadow:0 2px 9px #243d3020;cursor:pointer;opacity:0;transition:opacity .2s}
.pp-product-photo-stack:focus-within .pp-product-view-button,.pp-product-photo-stack:hover .pp-product-view-button{opacity:1}
.pp-product-view-button:focus-visible{opacity:1}
.pp-individual-card .pp-product-photo-stack .pp-product-photo-empty{height:100%}
/* Party builder uses the same optional alternate photography, but not extra cards. */
.ppb-page .ppb-product-media{position:relative}
.ppb-page .ppb-product-media .ppb-product-secondary{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .24s ease}
.ppb-page .ppb-product-media:hover>.ppb-product-secondary,.ppb-page .ppb-product-media.show-secondary>.ppb-product-secondary{opacity:1}
.ppb-page .ppb-product-media .ppb-product-check{z-index:3}
.ppb-page .ppb-product-media .pp-product-view-button{z-index:4}
@media(hover:none){
 .pp-product-view-button{opacity:1}
 .pp-individual-card .pp-product-photo-stack.has-secondary:hover>.pp-product-secondary,.ppb-page .ppb-product-media:hover>.ppb-product-secondary{opacity:0}
 .pp-individual-card .pp-product-photo-stack.has-secondary.show-secondary>.pp-product-secondary,.ppb-page .ppb-product-media.show-secondary>.ppb-product-secondary{opacity:1}
}
@media(max-width:800px){
 .pp-product-photo-editor{padding:18px}
 .pp-product-details .pp-product-detail-grid{padding:16px 18px}
 .pp-product-fields-head{padding:16px 18px 0}
 .pp-product-details .pp-product-detail-actions{margin:8px 18px 19px}
 .pp-product-photo-preview{min-height:165px;height:180px}
}
@media(max-width:580px){
 .pp-product-photo-intro{display:block}
 .pp-photo-demo-tag{display:inline-block;margin-top:12px}
 .pp-product-photo-slots{grid-template-columns:1fr;gap:12px}
 .pp-product-photo-slot{grid-template-columns:120px minmax(0,1fr);grid-template-rows:auto auto;align-items:start;column-gap:12px}
 .pp-product-photo-preview{grid-row:1/3;min-height:150px;height:150px}
 .pp-product-photo-slot-copy{min-height:0}
 .pp-product-photo-slot-actions{align-self:end}
 .pp-product-photo-slot-actions .btn{font-size:11px;padding:7px 10px}
 .pp-product-photo-note{font-size:10px}
 .pp-product-photo-stack{height:145px}
}
@media(max-width:390px){.pp-product-photo-slot{grid-template-columns:1fr}.pp-product-photo-preview{grid-row:auto;height:175px}.pp-product-photo-slots{gap:10px}}
@media(prefers-reduced-motion:reduce){.pp-product-view-button,.pp-product-photo-stack .pp-product-secondary,.ppb-product-media .ppb-product-secondary{transition:none!important}}

/* Give the native dropdown indicator breathing room in the product editor. */
.pp-product-detail-grid select{box-sizing:border-box;padding-right:32px!important;background-position:right 14px center}

/* Match the product dropdown spacing in the package picker. */
.pkg-chooser>select{box-sizing:border-box;padding-right:34px!important;background-position:right 14px center}

/* Individual items: align all purchase actions on one baseline, regardless of personalisation fields. */
.pp-individual-card{display:flex;flex-direction:column}
.pp-individual-card>.copy{display:flex;flex:1;flex-direction:column;align-items:stretch}
.pp-individual-card>.copy>.btn[data-action^="add:"]{margin-top:auto}
.pp-individual-card>.copy>.pp-product-print{margin-top:auto;margin-bottom:12px}
.pp-individual-card>.copy>.pp-product-print+.btn[data-action^="add:"]{margin-top:0}


/* Party Pack homepage: six modern illustrated occasion medallions.
   Keep this scoped to the homepage to avoid touching admin occasion chips. */
.occasions.occ-icon-grid{
 display:grid;
 grid-template-columns:repeat(6,minmax(0,1fr));
 gap:clamp(12px,1.7vw,28px);
 align-items:start;
}
.occasions.occ-icon-grid .occ-icon-link{
 display:flex;
 flex-direction:column;
 align-items:center;
 gap:13px;
 min-width:0;
 padding:0 0 7px;
 text-align:center;
 text-decoration:none;
 color:#2a3d35;
 background:transparent;
 transform:none;
}
.occasions.occ-icon-grid .occ-icon-link:hover{transform:none}
.occasions.occ-icon-grid .occ-medallion{
 display:grid;
 place-items:center;
 width:100%;
 max-width:198px;
 aspect-ratio:1;
 border-radius:50%;
 background:var(--occ-pastel,#e1ece9);
 color:#263e35;
 position:relative;
 isolation:isolate;
 transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;
 box-shadow:inset 0 0 0 1px rgba(51,70,58,.015);
}
.occasions.occ-icon-grid .occ-tone-sea{--occ-pastel:#e0eeed}
.occasions.occ-icon-grid .occ-tone-blush{--occ-pastel:#ebe8ea}
.occasions.occ-icon-grid .occ-tone-sage{--occ-pastel:#e4e9d9}
.occasions.occ-icon-grid .occ-tone-lavender{--occ-pastel:#e8e3e6}
.occasions.occ-icon-grid .occ-tone-peach{--occ-pastel:#fae8d7}
.occasions.occ-icon-grid .occ-tone-blue{--occ-pastel:#dcebf2}
.occasions.occ-icon-grid .occ-line-icon{
 display:block;
 width:62%;
 height:62%;
 max-width:126px;
 max-height:126px;
 flex:none;
 overflow:visible;
}
.occasions.occ-icon-grid .occ-icon-caption{
 display:flex;
 flex-wrap:nowrap;
 align-items:center;
 justify-content:center;
 gap:8px;
 width:100%;
 min-height:26px;
 font-size:clamp(13px,1.15vw,18px);
 line-height:1.4;
 font-weight:700;
 letter-spacing:-.015em;
 color:#2b4035;
 white-space:nowrap;
}
.occasions.occ-icon-grid .occ-small-arrow{
 display:inline-block;
 font-size:1.18em;
 font-weight:500;
 line-height:1;
 transition:transform .2s ease;
}
@media(hover:hover) and (pointer:fine){
 .occasions.occ-icon-grid .occ-icon-link:hover .occ-medallion{
  transform:translateY(-4px);
  box-shadow:0 13px 24px rgba(39,67,48,.085),inset 0 0 0 1px rgba(51,70,58,.02);
 }
 .occasions.occ-icon-grid .occ-icon-link:hover .occ-small-arrow{transform:translateX(3px)}
}
.occasions.occ-icon-grid .occ-icon-link:focus-visible{
 outline:2px solid #557862;
 outline-offset:5px;
 border-radius:14px;
}
@media(max-width:970px){
 .occasions.occ-icon-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 18px}
 .occasions.occ-icon-grid .occ-medallion{max-width:180px}
 .occasions.occ-icon-grid .occ-icon-caption{font-size:16px}
}
@media(max-width:670px){
 .occasions.occ-icon-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 16px}
 .occasions.occ-icon-grid .occ-medallion{max-width:165px}
 .occasions.occ-icon-grid .occ-icon-link{gap:10px}
 .occasions.occ-icon-grid .occ-icon-caption{font-size:14px;gap:5px}
}
@media(max-width:380px){
 .occasions.occ-icon-grid{gap:20px 12px}
 .occasions.occ-icon-grid .occ-medallion{max-width:145px}
 .occasions.occ-icon-grid .occ-icon-caption{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
 .occasions.occ-icon-grid .occ-medallion,
 .occasions.occ-icon-grid .occ-small-arrow{transition:none}
}


/* Refined silver-on-pastel icon system: consistent material, softness and scale.
   SVGs remain fully inline vectors and change size sharply on all devices. */
.occasions.occ-icon-grid .occ-medallion{
 color:#515c5a;
}
.occasions.occ-icon-grid .occ-refined-icon{
 width:73%;
 height:73%;
 max-width:145px;
 max-height:145px;
 overflow:visible;
 filter:drop-shadow(0 1.3px 1px rgba(47,56,53,.09));
}
.occasions.occ-icon-grid .occ-refined-icon .occ-engrave{
 fill:none;
 stroke:#596160;
 stroke-width:1.75;
 stroke-linejoin:round;
 stroke-linecap:round;
}
.occasions.occ-icon-grid .occ-refined-icon .occ-metal{
 fill:var(--occ-silver);
 stroke:#626b69;
}
.occasions.occ-icon-grid .occ-refined-icon .occ-soft{
 fill:#e0e3e1;
 stroke:#687170;
}
.occasions.occ-icon-grid .occ-refined-icon .occ-cutout{
 fill:var(--occ-pastel,#f2f3f0);
 stroke:#747d7b;
 stroke-width:1.1;
}
.occasions.occ-icon-grid .occ-refined-icon .occ-highlight{
 fill:none;
 stroke:#fff;
 stroke-width:1.2;
 opacity:.63;
}
.occasions.occ-icon-grid .occ-refined-icon .occ-fine{
 fill:none;
 stroke:#737b79;
 stroke-width:1.05;
 opacity:.8;
}
.occasions.occ-icon-grid .occ-refined-icon .occ-number{
 fill:var(--occ-silver);
 stroke:#58615e;
 stroke-width:.6;
 paint-order:stroke fill;
}
.occasions.occ-icon-grid .occ-refined-icon .occ-flower{
 fill:#e8eae8;
 stroke:#727a78;
 stroke-width:1.25;
}
.occasions.occ-icon-grid .occ-refined-icon .occ-flower-core{
 fill:#939c9a;
 stroke:#6b7371;
}
@media(max-width:500px){
 .occasions.occ-icon-grid .occ-refined-icon{
  width:75%;
  height:75%;
 }
}

/* Shop by occasion — exact approved artwork traced into scalable SVG paths.
   Larger silhouettes restore the graceful proportions of the visual reference. */
.occasions.occ-icon-grid .occ-approved-icon{
 width:90%;
 height:90%;
 max-width:none;
 max-height:none;
 display:block;
 flex:none;
 overflow:visible;
 filter:none;
}
@media(max-width:580px){
 .occasions.occ-icon-grid .occ-approved-icon{width:90%;height:90%}
}


/* OCCASION SIGNATURE MOTION — independent SVG elements, not card wobble.
   Each short scene plays once per hover/focus or once when revealed on touch.
   Original traced contours remain exactly aligned at rest. */
.occ-icon-grid .occ-approved-icon .occ-moving-scissor-blade,
.occ-icon-grid .occ-approved-icon .occ-flower-left,
.occ-icon-grid .occ-approved-icon .occ-flower-right,
.occ-icon-grid .occ-approved-icon .occ-pram-rolling,
.occ-icon-grid .occ-approved-icon .occ-wheel-left,
.occ-icon-grid .occ-approved-icon .occ-wheel-right,
.occ-icon-grid .occ-approved-icon .occ-tefillin-moving-strap,
.occ-icon-grid .occ-approved-icon .occ-flame-left,
.occ-icon-grid .occ-approved-icon .occ-flame-middle,
.occ-icon-grid .occ-approved-icon .occ-flame-right{
 transform-box:view-box;
}
.occ-icon-grid .occ-approved-icon .occ-moving-scissor-blade{transform-origin:148px 158px}
.occ-icon-grid .occ-approved-icon .occ-flower-left{transform-origin:87px 213px}
.occ-icon-grid .occ-approved-icon .occ-flower-right{transform-origin:235px 208px}
.occ-icon-grid .occ-approved-icon .occ-pram-rolling{transform-origin:155px 197px}
.occ-icon-grid .occ-approved-icon .occ-wheel-left{transform-origin:104px 244px}
.occ-icon-grid .occ-approved-icon .occ-wheel-right{transform-origin:210px 244px}
.occ-icon-grid .occ-approved-icon .occ-tefillin-moving-strap{transform-origin:210px 124px}
.occ-icon-grid .occ-approved-icon .occ-flame-left{transform-origin:139px 78px}
.occ-icon-grid .occ-approved-icon .occ-flame-middle{transform-origin:165px 78px}
.occ-icon-grid .occ-approved-icon .occ-flame-right{transform-origin:192px 78px}
.occ-icon-grid .occ-scissors-finish,
.occ-icon-grid .occ-candle-smoke,
.occ-icon-grid .occ-kiddush-glint,
.occ-icon-grid .occ-wine-surface,
.occ-icon-grid .occ-tefillin-strap-glint{opacity:0;pointer-events:none}
.occ-icon-grid .occ-scissors-finish{transform-origin:140px 157px}
.occ-icon-grid .occ-candle-smoke{transform-origin:165px 75px}
.occ-icon-grid .occ-kiddush-glint{transform-origin:165px 135px}
.occ-icon-grid .occ-wine-surface{transform-origin:163px 94px}
.occ-icon-grid .occ-tefillin-strap-glint{transform-origin:210px 180px}

@keyframes pp-occasion-snipping{
 0%,100%{transform:rotate(0deg)}
 28%{transform:rotate(-7deg)}
 54%{transform:rotate(4deg)}
 71%{transform:rotate(-2deg)}
}
@keyframes pp-occasion-snip-accent{
 0%,30%,90%,100%{opacity:0;transform:scale(.92)}
 52%,65%{opacity:.8;transform:scale(1.05)}
}
@keyframes pp-occasion-bloom-left{
 0%,100%{transform:rotate(0deg) scale(1)}
 28%{transform:rotate(-5deg) scale(.94)}
 65%{transform:rotate(3deg) scale(1.045)}
}
@keyframes pp-occasion-bloom-right{
 0%,100%{transform:rotate(0deg) scale(1)}
 30%{transform:rotate(5deg) scale(.95)}
 69%{transform:rotate(-3deg) scale(1.045)}
}
@keyframes pp-occasion-pram-roll{
 0%,100%{transform:translateX(0) rotate(0deg)}
 27%{transform:translateX(4px) rotate(.6deg)}
 62%{transform:translateX(8px) rotate(-.65deg)}
 83%{transform:translateX(3px) rotate(.25deg)}
}
@keyframes pp-occasion-wheel-roll{
 0%,100%{transform:rotate(0deg)}
 60%{transform:rotate(50deg)}
 86%{transform:rotate(60deg)}
}
@keyframes pp-occasion-flame-out{
 0%,30%{opacity:1;transform:translateY(0) scale(1)}
 42%{opacity:.9;transform:translateX(2px) scale(.86,1.16)}
 59%{opacity:.55;transform:translateX(-3px) scale(.66,.72)}
 82%,100%{opacity:0;transform:translateY(-9px) scale(.2,.12)}
}
@keyframes pp-occasion-smoke{
 0%,45%{opacity:0;transform:translateY(2px)}
 66%{opacity:.65;transform:translateY(-4px)}
 100%{opacity:0;transform:translateY(-20px)}
}
@keyframes pp-occasion-silver-glint{
 0%,100%{opacity:0;transform:translateX(-7px)}
 28%{opacity:0}
 60%{opacity:.78;transform:translateX(3px)}
 80%{opacity:0;transform:translateX(9px)}
}
@keyframes pp-occasion-wine-swirl{
 0%,100%{opacity:0;transform:translateX(0) rotate(0deg)}
 22%{opacity:.55;transform:translateX(-4px) rotate(-2deg)}
 55%{opacity:.7;transform:translateX(4px) rotate(2deg)}
 80%{opacity:.35;transform:translateX(-2px) rotate(-1deg)}
}
@keyframes pp-occasion-strap-settle{
 0%,100%{opacity:0;transform:translate(0,0)}
 19%{opacity:.65}
 35%{opacity:.85;transform:translate(4px,-3px)}
 63%{opacity:.8;transform:translate(-2px,3px)}
 88%{opacity:.1;transform:translate(0,0)}
}
/* Hover and accessible focus share the same one-shot animation.
   Mobile scroll reveal is activated once by an IntersectionObserver. */
@media(prefers-reduced-motion:no-preference){
 .occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-moving-scissor-blade,
 .occ-icon-grid .occ-icon-link.occ-motion-running .occ-moving-scissor-blade{
  animation:pp-occasion-snipping 1050ms cubic-bezier(.35,.02,.2,1) both;
  animation-delay:var(--occ-reveal-delay,0ms);
 }
 .occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-scissors-finish,
 .occ-icon-grid .occ-icon-link.occ-motion-running .occ-scissors-finish{
  animation:pp-occasion-snip-accent 1050ms ease-out both;
  animation-delay:var(--occ-reveal-delay,0ms);
 }
 .occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-flower-left,
 .occ-icon-grid .occ-icon-link.occ-motion-running .occ-flower-left{
  animation:pp-occasion-bloom-left 1150ms cubic-bezier(.2,.8,.2,1) both;
  animation-delay:var(--occ-reveal-delay,0ms);
 }
 .occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-flower-right,
 .occ-icon-grid .occ-icon-link.occ-motion-running .occ-flower-right{
  animation:pp-occasion-bloom-right 1150ms cubic-bezier(.2,.8,.2,1) both;
  animation-delay:var(--occ-reveal-delay,0ms);
 }
 .occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-pram-rolling,
 .occ-icon-grid .occ-icon-link.occ-motion-running .occ-pram-rolling{
  animation:pp-occasion-pram-roll 1300ms cubic-bezier(.25,.7,.2,1) both;
  animation-delay:var(--occ-reveal-delay,0ms);
 }
 .occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-wheel-left,
 .occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-wheel-right,
 .occ-icon-grid .occ-icon-link.occ-motion-running .occ-wheel-left,
 .occ-icon-grid .occ-icon-link.occ-motion-running .occ-wheel-right{
  animation:pp-occasion-wheel-roll 1300ms ease-in-out both;
  animation-delay:var(--occ-reveal-delay,0ms);
 }
 .occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) :is(.occ-flame-left,.occ-flame-middle,.occ-flame-right),
 .occ-icon-grid .occ-icon-link.occ-motion-running :is(.occ-flame-left,.occ-flame-middle,.occ-flame-right){
  animation:pp-occasion-flame-out 1450ms ease-out both;
  animation-delay:var(--occ-reveal-delay,0ms);
 }
 .occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-candle-smoke,
 .occ-icon-grid .occ-icon-link.occ-motion-running .occ-candle-smoke{
  animation:pp-occasion-smoke 1450ms ease-out both;
  animation-delay:var(--occ-reveal-delay,0ms);
 }
 .occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-kiddush-glint,
 .occ-icon-grid .occ-icon-link.occ-motion-running .occ-kiddush-glint{
  animation:pp-occasion-silver-glint 1250ms ease-in-out both;
  animation-delay:var(--occ-reveal-delay,0ms);
 }
 .occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-wine-surface,
 .occ-icon-grid .occ-icon-link.occ-motion-running .occ-wine-surface{
  animation:pp-occasion-wine-swirl 1250ms ease-in-out both;
  animation-delay:var(--occ-reveal-delay,0ms);
 }
 .occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-tefillin-strap-glint,
 .occ-icon-grid .occ-icon-link.occ-motion-running .occ-tefillin-strap-glint{
  animation:pp-occasion-strap-settle 1250ms ease-in-out both;
  animation-delay:var(--occ-reveal-delay,0ms);
 }
}
@media(prefers-reduced-motion:reduce){
 .occ-icon-grid .occ-approved-icon *,
 .occ-icon-grid .occ-approved-icon{animation:none!important;transition:none!important}
 .occ-icon-grid .occ-scissors-finish,.occ-icon-grid .occ-candle-smoke,
 .occ-icon-grid .occ-kiddush-glint,.occ-icon-grid .occ-wine-surface,
 .occ-icon-grid .occ-tefillin-strap-glint{opacity:0!important}
}


@keyframes pp-occasion-moving-strap{
 0%,100%{transform:translate(0,0) rotate(0deg)}
 23%{transform:translate(-1px,-2px) rotate(-2.5deg)}
 54%{transform:translate(3px,1px) rotate(2.2deg)}
 78%{transform:translate(-1px,1px) rotate(-.7deg)}
}
@media(prefers-reduced-motion:no-preference){
 .occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-tefillin-moving-strap,
 .occ-icon-grid .occ-icon-link.occ-motion-running .occ-tefillin-moving-strap{
  animation:pp-occasion-moving-strap 1250ms cubic-bezier(.25,.75,.25,1) both;
  animation-delay:var(--occ-reveal-delay,0ms);
 }
}


/* No legacy-homepage flash while the async cinematic story starts.
   Boot/loading show a quiet branded state; only WebGL failure or reduced motion
   explicitly reveals the accessible static fallback. */
.pp-scroll-story .pp-scroll-host[data-story-state="boot"]>.pp-static-hero,
.pp-scroll-story .pp-scroll-host[data-story-state="loading"]>.pp-static-hero{
 display:none;
}
.pp-scroll-story .pp-story-loading{
 display:none;
 align-items:center;
 justify-content:center;
 flex-direction:column;
 gap:16px;
 min-height:max(570px,calc(100svh - 78px));
 padding:32px 22px;
 text-align:center;
 background:#f2eff1;
 color:#733763;
}
.pp-scroll-story .pp-scroll-host:not(.ppx)[data-story-state="boot"]>.pp-story-loading,
.pp-scroll-story .pp-scroll-host:not(.ppx)[data-story-state="loading"]>.pp-story-loading{
 display:flex;
}
.pp-scroll-story .pp-story-loading-indicator{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:9px;
 height:20px;
}
.pp-scroll-story .pp-story-loading-indicator i{
 display:block;
 width:7px;
 height:7px;
 border-radius:50%;
 background:#874275;
 opacity:.28;
 animation:pp-story-load-pulse 1.25s ease-in-out 7;
}
.pp-scroll-story .pp-story-loading-indicator i:nth-child(2){animation-delay:.16s}
.pp-scroll-story .pp-story-loading-indicator i:nth-child(3){animation-delay:.32s}
.pp-scroll-story .pp-story-loading-message{
 font:600 12px/1.5 "DM Sans",Arial,sans-serif;
 letter-spacing:.085em;
}
@keyframes pp-story-load-pulse{
 0%,70%,100%{opacity:.26;transform:scale(.9)}
 35%{opacity:.95;transform:scale(1.12)}
}
@media(prefers-reduced-motion:reduce){
 .pp-scroll-story .pp-story-loading-indicator i{animation:none;opacity:.55}
}

/* Party Pack 3D unwrapping story. Scope deliberately ends before the existing
   six-icon occasion section: original navigation and store styling unchanged. */
.pp-scroll-story{position:relative;background:#f2eff1;isolation:isolate}
.pp-scroll-host{position:relative;min-height:570px}
.pp-scroll-host.ppx{min-height:0}
.pp-scroll-host .pp-static-hero{min-height:max(570px,calc(100svh - 78px))}
#shop-by-occasion{scroll-margin-top:90px}
.pp-scroll-story .ppx-stage{z-index:1}
.pp-scroll-story .ppx-copy{max-width:min(560px,87vw)}
.pp-scroll-story .ppx-copy h1{line-height:1.02}
.pp-scroll-story .ppx-copy .ppx-ctas{align-items:center}
.pp-scroll-story .ppx-copy .ppx-btn{min-height:50px}
.pp-scroll-story .ppx-stage .pp-scroll-skip{
 position:absolute;
 top:98px;
 right:clamp(14px,3vw,46px);
 z-index:9;
 border:1px solid rgba(63,39,57,.18);
 background:rgba(255,252,254,.88);
 color:#5e1c4c;
 padding:9px 15px;
 border-radius:999px;
 box-shadow:0 6px 28px rgba(63,39,57,.10);
 backdrop-filter:blur(12px);
 -webkit-backdrop-filter:blur(12px);
 font:700 12px/1.4 "DM Sans",Arial,sans-serif;
 letter-spacing:.025em;
 cursor:pointer;
 transition:background .2s ease,transform .2s ease,box-shadow .2s ease;
}
.pp-scroll-story .ppx-stage .pp-scroll-skip:hover{
 background:#fff;
 transform:translateY(-2px);
 box-shadow:0 9px 26px rgba(63,39,57,.16);
}
.pp-scroll-story .ppx-stage .pp-scroll-skip:focus-visible{
 outline:3px solid #943f7d;
 outline-offset:3px;
}
.pp-scroll-story .ppx.ppx-dark .pp-scroll-skip{background:rgba(255,248,251,.92)}
@media(max-width:800px){
 .pp-scroll-story .ppx-copy{max-width:calc(100vw - 48px);bottom:clamp(100px,17svh,180px)}
 .pp-scroll-story .ppx-copy h1{font-size:clamp(42px,10vw,68px)}
 .pp-scroll-story .ppx-copy .ppx-ctas{gap:8px}
 .pp-scroll-story .ppx-copy .ppx-btn{padding:0 18px;font-size:13px;min-height:43px}
 .pp-scroll-story .ppx-stage .pp-scroll-skip{top:90px;right:14px;font-size:11px;padding:8px 12px}
}
@media(max-width:430px){
 .pp-scroll-story .ppx-copy{bottom:80px}
 .pp-scroll-story .ppx-copy h1{font-size:clamp(40px,11vw,57px)}
 .pp-scroll-story .ppx-copy .ppx-ctas{flex-wrap:wrap}
 .pp-scroll-story .ppx-stage .pp-scroll-skip{top:83px}
}
@media(prefers-reduced-motion:reduce){
 .pp-scroll-story .ppx-grain,.pp-scroll-story .ppx-cue i{animation:none!important}
 .pp-scroll-story .ppx-stage .pp-scroll-skip{transition:none}
}


/* Mobile 3D cover: keep the opening headline/actions above the gift rather than
   overlapping it or pushing checkout links below the visible viewport. The
   sticky stage leaves room for Party Pack's own 78px navigation. */
@media(max-width:640px){
 .pp-scroll-story .ppx-stage{height:calc(100svh - 78px);top:78px}
 .pp-scroll-story .ppx-copy{
  left:clamp(18px,6vw,25px);top:108px;bottom:auto;
  width:calc(100vw - 38px);max-width:344px;transform:none
 }
 .pp-scroll-story .ppx-copy h1{
  font-size:clamp(36px,10vw,42px);line-height:.98;margin:10px 0 12px
 }
 .pp-scroll-story .ppx-copy .ppx-ctas{margin-top:16px;gap:8px}
 .pp-scroll-story .ppx-copy .ppx-btn{padding:0 11px;font-size:12px;min-height:42px}
}


/* Compact individual catalogue cards; optional print details belong in the Add flow. */
.pp-individual .cardrow{align-items:stretch}
.pp-individual-card{display:flex;flex-direction:column;min-width:0}
.pp-individual-card>.copy{display:flex;flex:1;flex-direction:column;gap:0;padding:16px 18px 18px}
.pp-individual-card>.copy>h4{font-size:16px;line-height:1.35;margin:6px 0 7px}
.pp-individual-card>.copy>p{margin:0 0 14px}
.pp-individual-card .pp-product-custom-hint{display:inline-flex;align-self:flex-start;margin-top:auto;margin-bottom:12px;border-radius:5px;background:#eef3ee;color:#557564;padding:4px 8px;font-size:11px;font-weight:650}
.pp-individual-card>.copy>.btn[data-action^="add:"]{margin-top:auto;min-height:45px}
.pp-individual-card>.copy>.pp-product-custom-hint+.btn[data-action^="add:"]{margin-top:0}
dialog.pp-personalise-dialog{border:0;border-radius:18px;padding:0;width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 34px);color:var(--ink);overflow:hidden;box-shadow:0 32px 100px rgba(20,32,27,.22)}
dialog.pp-personalise-dialog::backdrop{background:rgba(22,33,28,.61);backdrop-filter:blur(4px)}
.pp-personalise-inner{position:relative;overflow:auto;max-height:calc(100dvh - 34px);background:#fff;padding:36px}
.pp-personalise-inner .eyebrow{color:#7d476f}
.pp-personalise-inner h2{font-size:clamp(30px,5vw,38px);line-height:1.05;margin:11px 30px 14px 0}
.pp-personalise-inner p{margin:0 0 24px;font-size:14px;line-height:1.7;color:#64716a}
.pp-personalise-inner label{display:block;font-weight:700;font-size:13px;color:#344d40;margin:0 0 8px}
.pp-personalise-inner label span{font-weight:400;color:#89968f}
.pp-personalise-inner input{width:100%;min-height:48px;border:1px solid #ccd8cf;background:#fcfcfb;border-radius:9px;padding:10px 13px;font-size:14px;color:var(--ink)}
.pp-personalise-actions{display:flex;gap:10px;margin:23px 0 15px}
.pp-personalise-actions .btn{flex:1;min-width:0}
.pp-personalise-inner small{display:block;color:#86938a;font-size:12px;line-height:1.5}
.pp-personalise-close{position:absolute;right:17px;top:15px;border:0;border-radius:50%;background:#f1f4f0;color:#55665b;width:34px;height:34px;font-size:23px;line-height:1;display:grid;place-items:center}
.pp-personalise-close:hover{background:#e7eee9}
@media(max-width:420px){.pp-personalise-inner{padding:29px 23px}.pp-personalise-actions{flex-wrap:wrap}.pp-personalise-actions .btn{flex:1 1 135px}}


/* Editorial individual-item catalogue preview. Photography stays replaceable in admin. */
.pp-individual .cardrow{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:clamp(17px,1.6vw,25px);
 align-items:stretch;
}
.pp-individual-card{
 border:1px solid #e2e6df;
 border-radius:15px;
 overflow:visible;
 isolation:isolate;
 background:#fff;
 box-shadow:0 3px 11px rgba(37,56,41,.035);
 transition:box-shadow .28s ease,border-color .28s ease,transform .28s ease;
}
.pp-individual-media{position:relative;isolation:isolate;min-width:0}
.pp-individual-card .pp-product-photo-stack{
 height:auto;aspect-ratio:1.62;
 min-height:160px;
 border-radius:14px 14px 0 0;
 overflow:hidden;
 background:#f0f1ec;
}
.pp-individual-card .pp-product-photo-stack>img{
 width:100%;height:100%;
 object-fit:cover;
 transform:scale(1);
 transition:transform .34s cubic-bezier(.2,.65,.3,1),opacity .24s ease;
}
.pp-individual-category-mark{
 position:absolute;z-index:3;
 width:47px;height:47px;left:21px;bottom:-22px;
 display:grid;place-items:center;
 border:3px solid #fff;border-radius:50%;
 color:#835176;background:#f9f8f9;
 box-shadow:0 4px 14px rgba(44,44,37,.11);
 pointer-events:none;
}
.pp-individual-category-mark svg{width:22px;height:22px;display:block}
.pp-individual-card>.copy{padding:34px 20px 20px}
.pp-individual-card>.copy>.eyebrow{
 color:#78877e;letter-spacing:1.7px;font-size:10px;
}
.pp-individual-card>.copy>h4{font-size:17px;line-height:1.28;margin:9px 0 8px;color:#273d33}
.pp-individual-card>.copy>p{font-size:12px;line-height:1.65;color:#728176;margin:0 0 15px}
.pp-individual-card>.copy>.btn[data-action^="add:"]{border-radius:8px;min-height:46px}
.pp-individual-card .pp-product-view-button{right:12px;bottom:12px;z-index:4}
@media(hover:hover) and (pointer:fine){
 .pp-individual-card:hover,.pp-individual-card:focus-within{
  border-color:#d5dacf;box-shadow:0 18px 34px rgba(35,53,42,.1);
  transform:translateY(-3px);
 }
 .pp-individual-card:hover .pp-product-photo-stack>img,
 .pp-individual-card:focus-within .pp-product-photo-stack>img{transform:scale(1.055)}
 .pp-individual-card:hover>.copy>.btn[data-action^="add:"]{filter:brightness(.96)}
}
@media(max-width:800px){
 .pp-individual .cardrow{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .pp-individual-card .pp-product-photo-stack{min-height:145px}
}
@media(max-width:520px){
 .pp-individual .cardrow{grid-template-columns:1fr;gap:19px}
 .pp-individual-card .pp-product-photo-stack{aspect-ratio:1.7;min-height:0}
 .pp-individual-card>.copy{padding:32px 18px 18px}
 .pp-individual-category-mark{left:18px;width:43px;height:43px;bottom:-20px}
}
@media(prefers-reduced-motion:reduce){
 .pp-individual-card,.pp-individual-card .pp-product-photo-stack>img{transition:none!important;transform:none!important}
}

/* Seeded mock JPGs include baked-in icons from old catalogue screenshots.
   Reframe only these demo shots. Roizy's uploads always display uncropped. */
.pp-individual-card .pp-legacy-demo-crop .pp-product-photo-stack>.pp-product-primary{
 transform-origin:50% 0%;
 transform:translateY(-11px) scale(1.52);
}
@media(hover:hover) and (pointer:fine){
 .pp-individual-card:hover .pp-legacy-demo-crop .pp-product-photo-stack>.pp-product-primary,
 .pp-individual-card:focus-within .pp-legacy-demo-crop .pp-product-photo-stack>.pp-product-primary{
  transform:translateY(-11px) scale(1.58);
 }
}
@media(prefers-reduced-motion:reduce){
 .pp-individual-card .pp-legacy-demo-crop .pp-product-photo-stack>.pp-product-primary{
  transform:translateY(-11px) scale(1.52)!important;
 }
}

/* ===== Occasion icons: plum & gold line art with physical micro-interactions ===== */
.occasions.occ-icon-grid .occ-pp-icon{display:block;width:80%;height:80%;max-width:164px;max-height:164px;overflow:visible;filter:drop-shadow(0 2px 3px rgba(70,50,65,.1))}
.occasions.occ-icon-grid .occ-medallion{box-shadow:inset 0 0 0 1px rgba(134,45,110,.06),inset 0 -14px 30px rgba(255,255,255,.35)}
.occ-pp-icon .ppi-blade-a,.occ-pp-icon .ppi-blade-b{transform-origin:156px 172px}
.occ-pp-icon .ppi-lock-cut{transform-origin:154px 110px}
.occ-pp-icon .ppi-draw{stroke-dasharray:1;stroke-dashoffset:0}
.occ-pp-icon .ppi-pram{transform-origin:156px 262px}
.occ-pp-icon .ppi-wheel{transform-origin:var(--cx) var(--cy)}
.occ-pp-icon .ppi-bow{transform-origin:156px 178px}
.occ-pp-icon .ppi-heart,.occ-pp-icon .ppi-confetti,.occ-pp-icon .ppi-sparkle{opacity:0}
.occ-pp-icon .ppi-heart{transform-origin:206px 80px}
.occ-pp-icon .ppi-flame{transform-origin:var(--fx) var(--fy)}
.occasions.occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-pp-icon .ppi-blade-a{animation:pp-occasion-snip-a 1.1s cubic-bezier(.4,0,.2,1)}
.occasions.occ-icon-grid .occ-icon-link.occ-motion-running .occ-pp-icon .ppi-blade-a{animation:pp-occasion-snip-a 1.1s cubic-bezier(.4,0,.2,1)}
.occasions.occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-pp-icon .ppi-blade-b{animation:pp-occasion-snip-b 1.1s cubic-bezier(.4,0,.2,1)}
.occasions.occ-icon-grid .occ-icon-link.occ-motion-running .occ-pp-icon .ppi-blade-b{animation:pp-occasion-snip-b 1.1s cubic-bezier(.4,0,.2,1)}
.occasions.occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-pp-icon .ppi-lock-cut{animation:pp-occasion-lock-fall 1.5s cubic-bezier(.3,0,.3,1)}
.occasions.occ-icon-grid .occ-icon-link.occ-motion-running .occ-pp-icon .ppi-lock-cut{animation:pp-occasion-lock-fall 1.5s cubic-bezier(.3,0,.3,1)}
.occasions.occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-pp-icon .ppi-leaf{animation:pp-occasion-leaf 1s cubic-bezier(.2,.9,.3,1.3) calc(var(--i)*55ms) both}
.occasions.occ-icon-grid .occ-icon-link.occ-motion-running .occ-pp-icon .ppi-leaf{animation:pp-occasion-leaf 1s cubic-bezier(.2,.9,.3,1.3) calc(var(--i)*55ms) both}
.occasions.occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-pp-icon .ppi-draw{animation:pp-occasion-draw 1.1s cubic-bezier(.6,0,.2,1)}
.occasions.occ-icon-grid .occ-icon-link.occ-motion-running .occ-pp-icon .ppi-draw{animation:pp-occasion-draw 1.1s cubic-bezier(.6,0,.2,1)}
.occasions.occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-pp-icon .ppi-draw-2{animation:pp-occasion-draw 1.1s .18s cubic-bezier(.6,0,.2,1) both}
.occasions.occ-icon-grid .occ-icon-link.occ-motion-running .occ-pp-icon .ppi-draw-2{animation:pp-occasion-draw 1.1s .18s cubic-bezier(.6,0,.2,1) both}
.occasions.occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-pp-icon .ppi-pram{animation:pp-occasion-pram-rock 1.5s cubic-bezier(.45,0,.3,1)}
.occasions.occ-icon-grid .occ-icon-link.occ-motion-running .occ-pp-icon .ppi-pram{animation:pp-occasion-pram-rock 1.5s cubic-bezier(.45,0,.3,1)}
.occasions.occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-pp-icon .ppi-wheel{animation:pp-occasion-wheel-roll 1.5s cubic-bezier(.45,0,.3,1)}
.occasions.occ-icon-grid .occ-icon-link.occ-motion-running .occ-pp-icon .ppi-wheel{animation:pp-occasion-wheel-roll 1.5s cubic-bezier(.45,0,.3,1)}
.occasions.occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-pp-icon .ppi-bow{animation:pp-occasion-bow 1.5s ease-in-out}
.occasions.occ-icon-grid .occ-icon-link.occ-motion-running .occ-pp-icon .ppi-bow{animation:pp-occasion-bow 1.5s ease-in-out}
.occasions.occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-pp-icon .ppi-heart{animation:pp-occasion-heart 1.5s .2s ease-out both}
.occasions.occ-icon-grid .occ-icon-link.occ-motion-running .occ-pp-icon .ppi-heart{animation:pp-occasion-heart 1.5s .2s ease-out both}
.occasions.occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-pp-icon .ppi-flame{animation:pp-occasion-flicker 1.3s calc(var(--i)*90ms) ease-in-out both}
.occasions.occ-icon-grid .occ-icon-link.occ-motion-running .occ-pp-icon .ppi-flame{animation:pp-occasion-flicker 1.3s calc(var(--i)*90ms) ease-in-out both}
.occasions.occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-pp-icon .ppi-confetti{animation:pp-occasion-confetti 1.2s calc(.25s + var(--i)*40ms) cubic-bezier(.15,.7,.3,1) both}
.occasions.occ-icon-grid .occ-icon-link.occ-motion-running .occ-pp-icon .ppi-confetti{animation:pp-occasion-confetti 1.2s calc(.25s + var(--i)*40ms) cubic-bezier(.15,.7,.3,1) both}
.occasions.occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-pp-icon .ppi-sparkle{animation:pp-occasion-sparkle 1.2s calc(.3s + var(--i)*160ms) ease-out both}
.occasions.occ-icon-grid .occ-icon-link.occ-motion-running .occ-pp-icon .ppi-sparkle{animation:pp-occasion-sparkle 1.2s calc(.3s + var(--i)*160ms) ease-out both}
@keyframes pp-occasion-snip-a{0%,100%{transform:rotate(0)}20%{transform:rotate(17deg)}38%{transform:rotate(-3deg)}58%{transform:rotate(17deg)}78%{transform:rotate(0)}}
@keyframes pp-occasion-snip-b{0%,100%{transform:rotate(0)}20%{transform:rotate(-17deg)}38%{transform:rotate(3deg)}58%{transform:rotate(-17deg)}78%{transform:rotate(0)}}
@keyframes pp-occasion-lock-fall{0%,36%{transform:none;opacity:1}62%{transform:translate(10px,74px) rotate(24deg);opacity:0}63%{transform:translate(0,-10px);opacity:0}100%{transform:none;opacity:1}}
@keyframes pp-occasion-leaf{0%{transform:scale(1)}30%{transform:scale(.72) rotate(-6deg)}70%{transform:scale(1.16) rotate(3deg)}100%{transform:scale(1)}}
@keyframes pp-occasion-draw{0%{stroke-dashoffset:0;opacity:1}14%{stroke-dashoffset:0;opacity:0}16%{stroke-dashoffset:1;opacity:1}100%{stroke-dashoffset:0;opacity:1}}
@keyframes pp-occasion-pram-rock{0%,100%{transform:none}25%{transform:translateX(9px) rotate(-3deg)}50%{transform:translateX(-5px) rotate(2deg)}75%{transform:translateX(3px) rotate(-1deg)}}
@keyframes pp-occasion-wheel-roll{0%{transform:rotate(0)}25%{transform:rotate(80deg)}50%{transform:rotate(-30deg)}75%{transform:rotate(20deg)}100%{transform:rotate(0)}}
@keyframes pp-occasion-bow{0%,100%{transform:none}30%{transform:rotate(-10deg) scale(1.1)}60%{transform:rotate(8deg)}}
@keyframes pp-occasion-heart{0%{opacity:0;transform:translateY(8px) scale(.4)}35%{opacity:1;transform:translateY(-6px) scale(1)}100%{opacity:0;transform:translateY(-34px) scale(.9)}}
@keyframes pp-occasion-flicker{0%,100%{transform:scale(1)}15%{transform:scale(1.35,1.5) rotate(-4deg);filter:drop-shadow(0 0 6px #f3c96b)}35%{transform:scale(.85,.9) rotate(5deg)}55%{transform:scale(1.25,1.4) rotate(-3deg);filter:drop-shadow(0 0 8px #f3c96b)}80%{transform:scale(1.05) rotate(1deg)}}
@keyframes pp-occasion-confetti{0%{opacity:0;transform:none}10%{opacity:1}75%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(220deg)}}
@keyframes pp-occasion-sparkle{0%{opacity:0;transform:scale(.2) rotate(0)}40%{opacity:1;transform:scale(1.2) rotate(45deg)}100%{opacity:0;transform:scale(.6) rotate(90deg)}}
@media(prefers-reduced-motion:reduce){.occasions.occ-icon-grid .occ-pp-icon *{animation:none!important}}
.occasions.occ-icon-grid .occ-medallion:has(.occ-pp-icon){overflow:hidden}
.occ-pp-icon .ppi-blade-a,.occ-pp-icon .ppi-blade-b{transform-origin:156px 174px}
.occ-pp-icon .ppi-lock-cut{transform-origin:156px 120px}
.occ-pp-icon .ppi-strap{stroke-dasharray:1;stroke-dashoffset:0}
.occasions.occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-pp-icon .ppi-strap{animation:pp-occasion-strap-wrap 2.2s cubic-bezier(.5,0,.3,1)}
.occasions.occ-icon-grid .occ-icon-link.occ-motion-running .occ-pp-icon .ppi-strap{animation:pp-occasion-strap-wrap 2.2s cubic-bezier(.5,0,.3,1)}
.occasions.occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-pp-icon .ppi-strap-2{animation:pp-occasion-strap-wrap 2.2s .15s cubic-bezier(.5,0,.3,1) both}
.occasions.occ-icon-grid .occ-icon-link.occ-motion-running .occ-pp-icon .ppi-strap-2{animation:pp-occasion-strap-wrap 2.2s .15s cubic-bezier(.5,0,.3,1) both}
@keyframes pp-occasion-strap-wrap{0%{stroke-dashoffset:0;opacity:1}18%{stroke-dashoffset:0;opacity:0}20%{stroke-dashoffset:1;opacity:1}100%{stroke-dashoffset:0;opacity:1}}
.occ-pp-icon .ppi-breath{transform-origin:156px 128px}
.occ-pp-icon .ppi-yawn{opacity:0;transform-origin:156px 121px}
.occ-pp-icon .ppi-smile{transform-origin:156px 122px}
.occ-pp-icon .ppi-z path{opacity:0}
.occasions.occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-pp-icon .ppi-breath{animation:pp-occasion-baby-breathe 2.4s ease-in-out}
.occasions.occ-icon-grid .occ-icon-link.occ-motion-running .occ-pp-icon .ppi-breath{animation:pp-occasion-baby-breathe 2.4s ease-in-out}
.occasions.occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-pp-icon .ppi-yawn{animation:pp-occasion-baby-yawn 2.4s ease-in-out}
.occasions.occ-icon-grid .occ-icon-link.occ-motion-running .occ-pp-icon .ppi-yawn{animation:pp-occasion-baby-yawn 2.4s ease-in-out}
.occasions.occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-pp-icon .ppi-smile{animation:pp-occasion-baby-smile 2.4s ease-in-out}
.occasions.occ-icon-grid .occ-icon-link.occ-motion-running .occ-pp-icon .ppi-smile{animation:pp-occasion-baby-smile 2.4s ease-in-out}
.occasions.occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-pp-icon .ppi-z path{animation:pp-occasion-baby-z 2.4s ease-out}
.occasions.occ-icon-grid .occ-icon-link.occ-motion-running .occ-pp-icon .ppi-z path{animation:pp-occasion-baby-z 2.4s ease-out}
.occasions.occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-pp-icon .ppi-z path+path{animation:pp-occasion-baby-z 2.4s .35s ease-out both}
.occasions.occ-icon-grid .occ-icon-link.occ-motion-running .occ-pp-icon .ppi-z path+path{animation:pp-occasion-baby-z 2.4s .35s ease-out both}
@keyframes pp-occasion-baby-breathe{0%,100%{transform:none}22%{transform:scale(1.035) translateY(-1px)}45%{transform:none}62%{transform:scale(1.05) translateY(-1.5px) rotate(-2deg)}82%{transform:rotate(1deg)}}
@keyframes pp-occasion-baby-yawn{0%,48%,92%,100%{opacity:0;transform:scale(.3)}60%,78%{opacity:1;transform:scale(1.25,1.4)}}
@keyframes pp-occasion-baby-smile{0%,46%,94%,100%{opacity:1}52%,88%{opacity:0}}
@keyframes pp-occasion-baby-z{0%,55%{opacity:0;transform:none}72%{opacity:1}100%{opacity:0;transform:translate(10px,-16px)}}
.occ-pp-icon .ppi-confetti{transform-box:fill-box;transform-origin:center}

/* Semantic icon correction: Bris = carriage, Kiddush = ceremonial wine cup. */
.occ-pp-icon .ppi-wine{transform-origin:156px 87px}
.occasions.occ-icon-grid .occ-icon-link:is(:hover,:focus-visible) .occ-pp-icon .ppi-wine,
.occasions.occ-icon-grid .occ-icon-link.occ-motion-running .occ-pp-icon .ppi-wine{animation:pp-occasion-kiddush-glint 1.25s ease-in-out}
@keyframes pp-occasion-kiddush-glint{0%,100%{transform:translateY(0);opacity:1}28%{transform:translateY(-2px) scaleX(.94);opacity:.7}61%{transform:translateY(1px) scaleX(1.04);opacity:1}}
@media(prefers-reduced-motion:reduce){.occasions.occ-icon-grid .ppi-wine{animation:none!important}}


/* Claude's original opening frame, displayed only while WebGL initialises.
   All status text remains available to screen readers. */
.pp-scroll-story .pp-story-loading{
 background:#f2eff1 url('assets/hero-poster-wide.webp') no-repeat 50% 0/auto 100vh;
}
@media(max-width:800px){
 .pp-scroll-story .pp-story-loading{background-image:url('assets/hero-poster-tall.webp')}
}
.pp-scroll-story .pp-story-loading>.pp-story-loading-indicator,
.pp-scroll-story .pp-story-loading>.pp-story-loading-message{
 position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;
}
