:root{--puyp-navy:#20266f;--puyp-deep:#12184d;--puyp-blue:#4c63e6;--puyp-text:#172033;--puyp-muted:#6d7689;--puyp-line:#e6e9f0;--puyp-soft:#f7f8fc;--puyp-green:#067647;--puyp-red:#b42318}
.puyp-be{max-width:1240px;margin:24px auto 110px;padding:0 18px;color:var(--puyp-text);font-family:inherit}.puyp-be *{box-sizing:border-box}.puyp-be button,.puyp-be input{font:inherit}.puyp-kicker{font-size:12px;font-weight:900;letter-spacing:.12em;color:var(--puyp-navy)}
.puyp-hero{display:grid;grid-template-columns:minmax(0,.8fr) minmax(520px,1.2fr);gap:28px;align-items:center;padding:34px 0 28px}.puyp-hero h1{font-size:clamp(38px,5vw,62px);line-height:.98;color:var(--puyp-deep);margin:8px 0 12px;letter-spacing:-.035em}.puyp-hero p{font-size:17px;line-height:1.55;color:var(--puyp-muted);margin:0;max-width:520px}.puyp-smart-search{background:#fff;border:1px solid var(--puyp-line);border-radius:24px;padding:18px;box-shadow:0 14px 38px rgba(25,36,88,.07)}.puyp-search-label{font-size:11px;font-weight:950;letter-spacing:.16em;color:var(--puyp-muted);margin:0 0 9px}.puyp-search-row{display:grid;grid-template-columns:180px 1fr;gap:10px}.puyp-date-pill,.puyp-search-box{height:54px;border:1px solid #d8deea;border-radius:14px;background:#fafbff;display:flex;align-items:center;gap:9px;padding:0 13px;position:relative}.puyp-date-pill{cursor:pointer;overflow:hidden}.puyp-date-pill input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.puyp-date-pill b{font-size:14px;color:var(--puyp-deep);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.puyp-search-box input{border:0;outline:0;background:transparent;width:100%;font-size:16px;color:var(--puyp-text)}.puyp-quick-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.puyp-quick{border:1px solid #dce1ed;background:#fff;color:#3f4962;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:850;cursor:pointer}.puyp-quick.active{background:var(--puyp-navy);border-color:var(--puyp-navy);color:#fff}.puyp-date-note{font-size:12px;color:var(--puyp-green);margin-top:11px}
.puyp-discover,.puyp-results{margin-top:10px}.puyp-section-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:18px 0 14px}.puyp-section-head span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:var(--puyp-muted)}.puyp-section-head h2{font-size:30px;color:var(--puyp-deep);margin:3px 0 0}.puyp-text-btn{border:0;background:transparent;color:var(--puyp-navy);font-weight:900;cursor:pointer;padding:8px 0}.puyp-cat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.puyp-cat-card{border:1px solid var(--puyp-line);border-radius:22px;background:#fff;padding:0;text-align:left;overflow:hidden;cursor:pointer;transition:.18s}.puyp-cat-card:hover{transform:translateY(-2px);border-color:#cbd2ee;box-shadow:0 12px 28px rgba(31,43,104,.08)}.puyp-cat-photo{aspect-ratio:4/3;background:#edf0f7;position:relative;overflow:hidden}.puyp-cat-photo img{width:100%;height:100%;object-fit:cover;display:block}.puyp-cat-photo>span{display:none}.puyp-cat-photo.no-photo{display:grid;place-items:center;background:linear-gradient(135deg,#eef1fb,#f8f3ff)}.puyp-cat-photo.no-photo>span{display:block;font-size:48px}.puyp-cat-card>div:last-child{padding:14px 15px 16px;display:flex;justify-content:space-between;align-items:center;gap:10px}.puyp-cat-card strong{font-size:17px;color:var(--puyp-deep)}.puyp-cat-card small{font-size:11px;color:var(--puyp-muted)}
.puyp-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.puyp-product{border:1px solid var(--puyp-line);border-radius:22px;background:#fff;overflow:hidden;min-width:0;display:flex;flex-direction:column;transition:.18s}.puyp-product:hover{border-color:#cbd2ee;box-shadow:0 12px 30px rgba(31,43,104,.07)}.puyp-product.is-unavailable{opacity:.72}.puyp-img-shell{position:relative;aspect-ratio:16/11;border:0;padding:0;background:#eef1f7;overflow:hidden;width:100%;cursor:pointer}.puyp-product-img,.puyp-detail-img{width:100%;height:100%;object-fit:cover;display:block}.puyp-photo-fallback{display:none;position:absolute;inset:0;place-items:center;text-align:center;background:linear-gradient(135deg,#edf1fb,#f8f3ff);color:#8c95aa}.puyp-photo-fallback span{font-size:42px}.puyp-photo-fallback small{display:block;font-weight:800;margin-top:6px}.puyp-img-shell.no-photo .puyp-photo-fallback{display:grid}.puyp-photo-action{position:absolute;right:10px;bottom:10px;background:rgba(255,255,255,.94);border-radius:999px;padding:6px 10px;font-size:11px;font-weight:900;color:var(--puyp-deep)}.puyp-product-copy{padding:14px;display:flex;flex-direction:column;gap:7px;flex:1}.puyp-card-meta{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:10px;font-weight:950;letter-spacing:.06em;color:#78829a;text-transform:uppercase}.puyp-card-meta span{letter-spacing:0;text-transform:none;border-radius:999px;padding:4px 7px}.puyp-card-meta .ok{background:#ecfdf3;color:var(--puyp-green)}.puyp-card-meta .no{background:#fff1f0;color:var(--puyp-red)}.puyp-product h3{font-size:18px;line-height:1.18;margin:0;color:var(--puyp-deep)}.puyp-card-price{font-size:21px;font-weight:950;color:var(--puyp-navy)}.puyp-product p{font-size:13px;line-height:1.45;color:var(--puyp-muted);margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.puyp-card-actions{display:grid;grid-template-columns:.75fr 1.25fr;gap:8px;margin-top:auto;padding-top:5px}.puyp-primary,.puyp-secondary{min-height:43px;border:0;border-radius:12px;padding:10px 13px;font-weight:900;cursor:pointer}.puyp-primary{background:var(--puyp-navy);color:#fff}.puyp-secondary{background:#f0f2ff;color:var(--puyp-navy)}.puyp-primary.selected{background:#edf7f0;color:var(--puyp-green)}.puyp-primary:disabled{opacity:.55;cursor:not-allowed}.puyp-empty{grid-column:1/-1;padding:30px;text-align:center;background:var(--puyp-soft);border-radius:18px;color:var(--puyp-muted)}
.puyp-party-bar{position:fixed;z-index:9000;bottom:14px;left:50%;transform:translateX(-50%);width:min(760px,calc(100% - 24px));background:var(--puyp-deep);color:#fff;border:0;border-radius:17px;padding:12px 16px;display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center;box-shadow:0 14px 36px rgba(17,25,79,.3);cursor:pointer}.puyp-party-bar span{display:flex;gap:10px;align-items:center}.puyp-party-bar small{opacity:.72}.puyp-party-bar strong{font-size:18px}.puyp-party-bar em{font-style:normal;font-weight:900}.puyp-cart-backdrop{position:fixed;inset:0;background:rgba(12,18,40,.42);z-index:9100;opacity:0;pointer-events:none;transition:.15s}.puyp-cart-backdrop.open{opacity:1;pointer-events:auto}.puyp-cart-drawer{position:fixed;z-index:9200;right:0;top:0;bottom:0;width:min(430px,94vw);background:#fff;padding:20px;transform:translateX(102%);transition:.2s;overflow:auto;box-shadow:-10px 0 40px rgba(12,18,40,.2)}.puyp-cart-drawer.open{transform:translateX(0)}.puyp-cart-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--puyp-line);padding-bottom:12px}.puyp-cart-head span{font-size:12px;color:var(--puyp-muted);font-weight:800}.puyp-cart-head h2{margin:2px 0;color:var(--puyp-deep)}.puyp-cart-head button{border:0;background:#f1f3f7;border-radius:50%;width:40px;height:40px;font-size:24px}.puyp-cart-tip{background:#f2f4ff;color:#495272;border-radius:12px;padding:10px 12px;font-size:12px;margin:12px 0}.puyp-cart-row{display:grid;grid-template-columns:58px 1fr 34px;gap:10px;align-items:start;padding:12px 0;border-bottom:1px solid var(--puyp-line)}.puyp-cart-img{width:58px;height:58px;border-radius:10px;background:#edf0f6;overflow:hidden;display:grid;place-items:center}.puyp-cart-img img{width:100%;height:100%;object-fit:cover}.puyp-cart-img>span{display:none}.puyp-cart-img.no-photo>span{display:block}.puyp-cart-row>div:nth-child(2){display:grid;gap:3px}.puyp-cart-row strong{font-size:14px}.puyp-cart-row span{font-size:12px;color:var(--puyp-navy);font-weight:800}.puyp-cart-row small{font-size:10px;color:var(--puyp-red)}.puyp-cart-row>button{border:0;background:#fff1f0;color:var(--puyp-red);border-radius:50%;width:32px;height:32px;font-size:19px}.puyp-summary{padding:14px 0;display:grid;gap:7px}.puyp-summary>div{display:flex;justify-content:space-between}.puyp-summary .saving{color:var(--puyp-green)}.puyp-summary .total{font-size:20px;font-weight:950;border-top:1px solid var(--puyp-line);padding-top:10px}.puyp-cart-actions{display:grid;gap:8px}.puyp-cart-actions p,.puyp-staging-note{font-size:11px;color:var(--puyp-muted);line-height:1.4}.puyp-staging-note{margin-top:10px;background:#f4f5f8;border-radius:10px;padding:9px}
.puyp-modal-backdrop{position:fixed;z-index:9500;inset:0;background:rgba(12,18,40,.55);display:grid;place-items:center;padding:18px}.puyp-modal{width:min(920px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:24px;display:grid;grid-template-columns:1.05fr 1fr;position:relative}.puyp-modal-close{position:absolute;right:10px;top:10px;width:42px;height:42px;border:0;background:#fff;border-radius:50%;font-size:25px;z-index:2}.puyp-detail-photo{aspect-ratio:auto;min-height:420px}.puyp-detail-copy{padding:34px}.puyp-category-label{font-size:10px;font-weight:950;letter-spacing:.08em;color:#7b8498;text-transform:uppercase}.puyp-detail-copy h2{font-size:32px;line-height:1.05;color:var(--puyp-deep);margin:7px 0}.puyp-detail-price{font-size:24px;font-weight:950;color:var(--puyp-navy);margin-bottom:12px}.puyp-detail-copy>p{color:var(--puyp-muted);line-height:1.6}.puyp-detail-status{border-radius:10px;padding:9px 10px;margin:12px 0;font-size:13px;font-weight:850}.puyp-detail-status.ok{background:#ecfdf3;color:var(--puyp-green)}.puyp-detail-status.no{background:#fff1f0;color:var(--puyp-red)}.puyp-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.puyp-date-panel{border-top:1px solid var(--puyp-line);margin-top:18px;padding-top:14px}.puyp-date-panel-head{display:flex;justify-content:space-between;align-items:center}.puyp-date-panel-head button{border:0;background:transparent;font-size:20px}.puyp-date-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:10px}.puyp-date-grid button{border:1px solid var(--puyp-line);background:#fff;border-radius:10px;padding:8px 4px;display:grid;text-align:center;color:var(--puyp-navy);cursor:pointer}.puyp-date-grid span{font-size:9px;color:var(--puyp-muted)}.puyp-date-grid b{font-size:11px}.puyp-alert{padding:12px 14px;border-radius:12px;margin:10px auto;max-width:1180px}.puyp-alert.warn{background:#fff7e6;color:#7a4a00}.puyp-toast{position:fixed;z-index:9700;top:18px;left:50%;transform:translateX(-50%);background:var(--puyp-deep);color:#fff;border-radius:999px;padding:10px 14px;font-size:12px;font-weight:850}
@media(max-width:980px){.puyp-hero{grid-template-columns:1fr;padding-top:18px}.puyp-hero>div:first-child{text-align:center}.puyp-hero p{margin:auto}.puyp-cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.puyp-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.puyp-be{padding:0 12px;margin-top:10px}.puyp-hero{gap:16px}.puyp-hero h1{font-size:38px}.puyp-smart-search{padding:13px;border-radius:18px}.puyp-search-row{grid-template-columns:1fr}.puyp-date-pill{height:48px}.puyp-search-box{height:50px}.puyp-cat-grid{grid-template-columns:1fr 1fr;gap:10px}.puyp-cat-card>div:last-child{padding:10px;display:grid}.puyp-cat-card strong{font-size:14px}.puyp-product-grid{grid-template-columns:1fr 1fr;gap:9px}.puyp-product{border-radius:16px}.puyp-img-shell{aspect-ratio:1/1}.puyp-product-copy{padding:10px}.puyp-product h3{font-size:14px}.puyp-card-price{font-size:17px}.puyp-product p,.puyp-card-meta>span:first-child{display:none}.puyp-card-actions{grid-template-columns:1fr}.puyp-card-actions .puyp-secondary{display:none}.puyp-primary{min-height:40px;font-size:12px}.puyp-party-bar small{display:none}.puyp-party-bar{grid-template-columns:1fr auto;gap:8px}.puyp-party-bar em{display:none}.puyp-modal{grid-template-columns:1fr}.puyp-detail-photo{min-height:260px;aspect-ratio:16/10}.puyp-detail-copy{padding:20px}.puyp-detail-copy h2{font-size:25px}.puyp-modal-actions{grid-template-columns:1fr}.puyp-date-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.puyp-section-head h2{font-size:24px}}
/* v0.3.1 visual refinement */
.puyp-hero-simple{display:block;max-width:760px;padding-top:22px;padding-bottom:6px}
.puyp-hero-simple h1{font-size:48px;max-width:700px;margin-bottom:8px}
.puyp-smart-search-simple{max-width:none;padding:18px 20px;border-radius:18px;margin:6px 0 22px;box-shadow:0 10px 28px rgba(31,43,104,.06)}
.puyp-date-row{display:flex;align-items:end;gap:18px;flex-wrap:wrap;margin-bottom:12px}
.puyp-date-row label{display:grid;gap:6px;min-width:250px}
.puyp-date-row label>span{font-size:12px;font-weight:900;color:var(--puyp-deep)}
.puyp-date-row input[type=date]{height:46px;border:1px solid var(--puyp-line);border-radius:11px;background:#fff;padding:0 13px;font:inherit;font-weight:800;color:var(--puyp-deep)}
.puyp-date-row .puyp-date-note{margin:0 0 11px;font-size:13px;color:var(--puyp-muted)}
.puyp-date-note.muted{color:#8c95aa}
.puyp-search-box-wide{width:100%;height:50px;margin-bottom:12px}
.puyp-quick-row{align-items:center}
.puyp-quick-label{font-size:12px;font-weight:900;color:var(--puyp-muted);margin-right:2px}
.puyp-img-shell{aspect-ratio:4/3;background:#fff;padding:10px}
.puyp-product-img{object-fit:contain;object-position:center;width:100%;height:100%;display:block}
.puyp-cat-photo{background:#fff;padding:8px}
.puyp-cat-photo img{object-fit:contain;object-position:center}
.puyp-detail-photo{min-height:0;aspect-ratio:4/3;background:#fff;padding:24px;display:grid;place-items:center}
.puyp-detail-img{object-fit:contain;object-position:center;max-height:430px}
.puyp-cart-img{background:#fff;padding:3px}
.puyp-cart-img img{object-fit:contain}
.puyp-product{box-shadow:0 4px 16px rgba(31,43,104,.035)}
.puyp-product-copy{padding:15px 15px 16px}
.puyp-card-actions{padding-top:9px}
.puyp-photo-action{right:12px;bottom:12px}
@media(max-width:620px){.puyp-hero-simple{padding-top:10px}.puyp-hero-simple h1{font-size:34px}.puyp-smart-search-simple{padding:13px;margin-bottom:16px}.puyp-date-row{display:grid;gap:4px}.puyp-date-row label{min-width:0}.puyp-date-row .puyp-date-note{margin:0 0 6px}.puyp-quick-label{width:100%}.puyp-img-shell{aspect-ratio:1/1;padding:6px}.puyp-detail-photo{aspect-ratio:4/3;padding:16px}.puyp-detail-img{max-height:300px}}

/* v0.3.2 month availability calendar */
.puyp-calendar-panel{margin-top:18px;border-top:1px solid var(--puyp-line);padding-top:18px}
.puyp-calendar-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.puyp-calendar-top>div:first-child{display:grid;gap:2px}
.puyp-calendar-eyebrow{font-size:10px;font-weight:950;letter-spacing:.09em;text-transform:uppercase;color:var(--puyp-muted)}
.puyp-calendar-top strong{font-size:20px;color:var(--puyp-deep)}
.puyp-calendar-nav{display:flex;gap:6px}
.puyp-calendar-nav button{width:38px;height:38px;border:1px solid var(--puyp-line);border-radius:10px;background:#fff;color:var(--puyp-navy);font-size:22px;line-height:1;cursor:pointer}
.puyp-calendar-nav button:disabled{opacity:.3;cursor:not-allowed}
.puyp-calendar-legend{display:flex;gap:16px;align-items:center;margin:11px 0 9px;font-size:11px;color:var(--puyp-muted)}
.puyp-calendar-legend span{display:flex;align-items:center;gap:6px}
.puyp-calendar-legend i{width:10px;height:10px;border-radius:50%;display:inline-block;border:1px solid var(--puyp-line)}
.puyp-calendar-legend i.available{background:#eaf8ef;border-color:#a8dbb7}
.puyp-calendar-legend i.unavailable{background:#e8eaf0;border-color:#d6d9e1}
.puyp-calendar-weekdays,.puyp-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.puyp-calendar-weekdays{margin-bottom:5px}
.puyp-calendar-weekdays span{text-align:center;font-size:10px;font-weight:900;color:#7c8495;padding:4px 0}
.puyp-cal-blank{min-height:42px}
.puyp-cal-day{min-height:42px;border:1px solid var(--puyp-line);border-radius:9px;background:#fff;color:var(--puyp-deep);font:inherit;font-weight:850;cursor:pointer;display:grid;place-items:center;padding:0}
.puyp-cal-day.available{background:#f5fbf7;border-color:#b9dfc4}
.puyp-cal-day.available:hover{border-color:var(--puyp-accent);box-shadow:inset 0 0 0 1px var(--puyp-accent)}
.puyp-cal-day.unavailable{background:#eef0f4;border-color:#e1e3e8;color:#a7acb7;cursor:not-allowed;text-decoration:none}
.puyp-cal-day.today{box-shadow:inset 0 0 0 2px #c7cad3}
.puyp-cal-day.selected{background:var(--puyp-deep);border-color:var(--puyp-deep);color:#fff;box-shadow:none}
.puyp-cal-day span{font-size:13px}
.puyp-calendar-loading{padding:30px 10px;text-align:center;color:var(--puyp-muted);font-size:13px}
@media(max-width:620px){.puyp-calendar-top strong{font-size:18px}.puyp-calendar-nav button{width:36px;height:36px}.puyp-calendar-weekdays,.puyp-calendar-grid{gap:3px}.puyp-cal-day,.puyp-cal-blank{min-height:39px}.puyp-cal-day{border-radius:8px}.puyp-calendar-legend{margin-top:9px}}

/* v0.4.0 guided bundles */
.puyp-bundle-chip{font-weight:900}
.puyp-cat-bundle .puyp-cat-photo{background:linear-gradient(145deg,#f6f4ff,#fff8ef)}
.puyp-bundle-ideas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:10px 0 30px}
.puyp-bundle-card{border:1px solid var(--puyp-line);border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 5px 18px rgba(31,43,104,.04)}
.puyp-bundle-photo-row{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--puyp-line);min-height:170px}
.puyp-bundle-thumb{background:#fff;display:grid;place-items:center;padding:10px;min-width:0}
.puyp-bundle-thumb img{width:100%;height:160px;object-fit:contain;object-position:center}
.puyp-bundle-thumb span{font-size:34px}
.puyp-bundle-copy{padding:16px;display:grid;gap:9px}
.puyp-bundle-eyebrow{font-size:10px;font-weight:950;letter-spacing:.09em;color:var(--puyp-muted)}
.puyp-bundle-card h3{margin:0;color:var(--puyp-deep);font-size:20px}
.puyp-bundle-card p{margin:0;color:var(--puyp-muted);font-size:13px;line-height:1.45}
.puyp-bundle-items{display:grid;gap:4px;font-size:12px;color:var(--puyp-navy)}
.puyp-bundle-price{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-top:4px}
.puyp-bundle-price span{display:flex;align-items:baseline;gap:8px}.puyp-bundle-price s{color:var(--puyp-muted);font-size:12px}.puyp-bundle-price b{font-size:21px;color:var(--puyp-deep)}.puyp-bundle-price em{font-style:normal;font-weight:900;font-size:11px;color:var(--puyp-green);background:#edf9f1;padding:5px 8px;border-radius:999px}
.puyp-bundle-builder{border-top:1px solid var(--puyp-line);padding-top:26px;margin-top:10px}
.puyp-bundle-guide{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;background:#f7f8fc;border:1px solid var(--puyp-line);border-radius:18px;padding:18px;margin:12px 0 14px}
.puyp-guide-copy strong{font-size:17px;color:var(--puyp-deep)}.puyp-guide-copy p{margin:5px 0 0;color:var(--puyp-muted);font-size:13px;line-height:1.5;max-width:680px}
.puyp-bundle-live{text-align:right;display:grid;gap:2px}.puyp-bundle-live span{font-size:11px;color:var(--puyp-muted);font-weight:850}.puyp-bundle-live b{font-size:25px;color:var(--puyp-deep)}.puyp-bundle-live em{font-style:normal;font-size:11px;color:var(--puyp-green);font-weight:850}
.puyp-bundle-filter-row{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.puyp-mini-chip{border:1px solid var(--puyp-line);background:#fff;color:var(--puyp-navy);border-radius:999px;padding:8px 11px;font-weight:800;font-size:11px;cursor:pointer}
.puyp-bundle-picks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.puyp-bundle-pick{border:1px solid var(--puyp-line);background:#fff;border-radius:15px;padding:8px;text-align:left;display:grid;grid-template-columns:58px 1fr auto;grid-template-rows:auto auto;gap:3px 8px;align-items:center;color:var(--puyp-deep);cursor:pointer}.puyp-bundle-pick.selected{border-color:var(--puyp-accent);box-shadow:inset 0 0 0 1px var(--puyp-accent);background:#fafaff}.puyp-bundle-pick-img{grid-row:1/3;width:58px;height:58px;border-radius:10px;background:#fff;display:grid;place-items:center;overflow:hidden}.puyp-bundle-pick-img img{width:100%;height:100%;object-fit:contain}.puyp-bundle-pick>span{font-size:12px;font-weight:850;line-height:1.2}.puyp-bundle-pick>b{font-size:12px}.puyp-bundle-pick>em{grid-column:3;font-style:normal;font-size:10px;font-weight:900;color:var(--puyp-accent)}
.puyp-bundle-selection{position:sticky;bottom:86px;z-index:20;margin-top:14px;border:1px solid var(--puyp-line);border-radius:16px;background:#fff;padding:12px;box-shadow:0 10px 30px rgba(31,43,104,.12);display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.puyp-bundle-selection>div{display:flex;gap:6px;flex-wrap:wrap}.puyp-bundle-selection>div>span{background:#f3f4f8;border-radius:999px;padding:6px 7px 6px 10px;font-size:11px;font-weight:800}.puyp-bundle-selection span button{border:0;background:transparent;color:var(--puyp-muted);font-weight:900;cursor:pointer}
@media(max-width:980px){.puyp-bundle-ideas{grid-template-columns:1fr 1fr}.puyp-bundle-picks{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.puyp-bundle-ideas{grid-template-columns:1fr}.puyp-bundle-guide{grid-template-columns:1fr}.puyp-bundle-live{text-align:left}.puyp-bundle-picks{grid-template-columns:1fr 1fr}.puyp-bundle-pick{grid-template-columns:48px 1fr;grid-template-rows:auto auto auto}.puyp-bundle-pick-img{width:48px;height:48px}.puyp-bundle-pick>em{grid-column:2}.puyp-bundle-selection{grid-template-columns:1fr;bottom:78px}.puyp-bundle-selection>.puyp-primary{width:100%}}

/* v0.5.0 customer experience + official bundle catalog */
.puyp-be{--puyp-deep:#18236a;--puyp-navy:#24306f;--puyp-accent:#6658e8;--puyp-line:#e7e8ef;--puyp-muted:#697189;--puyp-green:#177a42;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#161b34}
.puyp-be button,.puyp-be input{font-family:inherit}
.puyp-hero-simple{padding-top:14px}.puyp-hero-simple h1{font-size:clamp(38px,4vw,58px);line-height:1.02;letter-spacing:-.035em;color:#17205f}.puyp-hero-simple p{font-size:16px;max-width:620px;line-height:1.55}
.puyp-smart-search-simple{background:#fff;border:1px solid #ececf2;box-shadow:0 14px 42px rgba(25,32,88,.055);border-radius:22px;padding:18px 20px}
.puyp-search-box-wide{border-color:#dedfe7;background:#fafbfc}.puyp-search-box-wide:focus-within{border-color:#8e85ed;box-shadow:0 0 0 3px rgba(102,88,232,.09)}
.puyp-quick{border-color:#dedfe7;background:#fff;color:#31395f}.puyp-quick.active,.puyp-quick:hover{background:#f0efff;color:#29206f;border-color:#c8c3ff}.puyp-bundle-chip{background:#fff7ec;border-color:#f3d8ad;color:#75450d}
.puyp-cat-grid{gap:18px}.puyp-cat-card{border:1px solid #e7e8ee;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 8px 24px rgba(25,32,88,.045);transition:transform .15s ease,box-shadow .15s ease}.puyp-cat-card:hover{transform:translateY(-2px);box-shadow:0 13px 32px rgba(25,32,88,.08)}.puyp-cat-card>div:last-child{padding:12px 15px 15px}.puyp-cat-card strong{font-size:17px}.puyp-cat-card small{color:#7a8193}
.puyp-cat-bundle{background:linear-gradient(180deg,#fffaf0,#fff)}.puyp-cat-bundle .puyp-cat-photo span{font-size:54px}
.puyp-product-grid{gap:18px}.puyp-product{border-color:#e7e8ee;border-radius:22px;box-shadow:0 7px 22px rgba(25,32,88,.045);overflow:hidden}.puyp-product-copy{padding:16px 17px 18px}.puyp-product h3{font-size:18px;letter-spacing:-.01em}.puyp-card-meta{font-size:10px;letter-spacing:.06em}.puyp-card-price{font-size:22px}.puyp-product-copy p{font-size:12.5px;line-height:1.45;color:#737b90;max-height:3.7em;overflow:hidden}.puyp-card-actions{gap:8px}.puyp-primary,.puyp-secondary{border-radius:12px;min-height:44px}.puyp-primary{background:#5d50e6;border-color:#5d50e6;color:#fff}.puyp-primary:hover{background:#4f43cf}.puyp-secondary{background:#fff;border-color:#dfe1e8;color:#333c67}
.puyp-section-head{align-items:end}.puyp-section-head h2{letter-spacing:-.025em}.puyp-section-sub{margin:7px 0 0;color:#737b90;font-size:14px;line-height:1.5;max-width:650px}
.puyp-official-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:14px 0 30px}
.puyp-official-bundle{display:grid;grid-template-columns:42% 1fr;min-height:270px;border:1px solid #e7e8ef;border-radius:24px;background:#fff;overflow:hidden;box-shadow:0 10px 30px rgba(25,32,88,.055)}
.puyp-official-bundle.active{border-color:#a69ff5;box-shadow:0 0 0 2px rgba(102,88,232,.09),0 10px 30px rgba(25,32,88,.06)}
.puyp-official-media{position:relative;background:linear-gradient(145deg,#f8f8fb,#fff);min-height:270px;overflow:hidden}
.puyp-official-photo{position:absolute;background:#fff;border:1px solid #ececf2;border-radius:18px;display:grid;place-items:center;overflow:hidden;padding:6px;box-shadow:0 7px 18px rgba(25,32,88,.08)}
.puyp-official-photo img{width:100%;height:100%;object-fit:contain}.puyp-official-photo span{font-size:30px}.puyp-official-photo.p1{width:72%;height:66%;left:8%;top:8%;z-index:3}.puyp-official-photo.p2{width:58%;height:54%;right:2%;bottom:5%;z-index:4}.puyp-official-photo.p3{width:42%;height:38%;right:5%;top:5%;z-index:2}.puyp-official-photo.p4{width:37%;height:34%;left:4%;bottom:3%;z-index:1}
.puyp-official-copy{padding:22px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}.puyp-official-copy h3{margin:5px 0 7px;font-size:25px;line-height:1.08;color:#17205f;letter-spacing:-.02em}.puyp-official-copy p{margin:0 0 12px;color:#70788c;font-size:13px}.puyp-official-mini{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.puyp-official-mini span{font-size:10px;font-weight:800;color:#525b75;background:#f4f5f8;border-radius:999px;padding:5px 8px;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.puyp-official-copy .puyp-primary{width:100%}
.puyp-official-chooser{border:1px solid #dedfe9;border-radius:24px;background:#fafaff;padding:22px;margin:0 0 34px}.puyp-official-chooser-head{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:16px}.puyp-official-chooser-head>div>span{font-size:10px;font-weight:950;letter-spacing:.09em;color:#6658e8}.puyp-official-chooser-head h2{margin:4px 0;font-size:27px;color:#17205f}.puyp-official-chooser-head p{margin:0;color:#737b90;font-size:13px}
.puyp-official-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.puyp-official-option{border:1px solid #e2e3eb;background:#fff;border-radius:16px;padding:9px;display:grid;grid-template-columns:64px 1fr auto;gap:10px;align-items:center;text-align:left;color:#17205f;cursor:pointer}.puyp-official-option.selected{border-color:#786df0;background:#f5f3ff;box-shadow:inset 0 0 0 1px #786df0}.puyp-official-option-img{width:64px;height:64px;border-radius:12px;background:#fff;overflow:hidden;display:grid;place-items:center}.puyp-official-option-img img{width:100%;height:100%;object-fit:contain}.puyp-official-option>div:nth-child(2){display:grid;gap:3px;min-width:0}.puyp-official-option strong{font-size:12px;line-height:1.2}.puyp-official-option span{font-size:12px;color:#5f6880}.puyp-official-option em{font-style:normal;font-size:19px;font-weight:900;color:#6658e8}
.puyp-official-footer{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:16px;padding-top:15px;border-top:1px solid #e2e3eb}.puyp-official-footer>div{display:grid;gap:3px}.puyp-official-footer strong{font-size:14px}.puyp-official-footer span{font-size:12px;color:#737b90}.puyp-official-footer .puyp-primary{min-width:240px}
.puyp-bundle-builder{border-top:0;padding-top:4px}.puyp-bundle-guide{background:#fff;border:1px solid #e7e8ef;border-radius:20px;box-shadow:none}.puyp-bundle-picks{gap:12px}.puyp-bundle-pick{border-color:#e5e6ed;border-radius:16px}.puyp-bundle-selection{position:relative;bottom:auto;z-index:1;box-shadow:none;border-color:#dedfe8;background:#fafaff;margin-top:15px}
.puyp-party-bar{left:50%;transform:translateX(-50%);width:min(620px,calc(100% - 28px));border-radius:17px;bottom:16px;background:#17205f;color:#fff;border:0;box-shadow:0 12px 34px rgba(20,25,72,.28);padding:11px 14px}.puyp-party-bar b,.puyp-party-bar strong,.puyp-party-bar em{color:#fff}.puyp-party-bar small{color:#d8dcff}.puyp-cart-drawer{border-left:1px solid #ececf1;box-shadow:-18px 0 46px rgba(20,25,72,.16)}
@media(max-width:980px){.puyp-official-grid{grid-template-columns:1fr}.puyp-official-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.puyp-smart-search-simple{border-radius:16px;padding:13px}.puyp-official-bundle{grid-template-columns:1fr}.puyp-official-media{min-height:210px}.puyp-official-copy{padding:18px}.puyp-official-copy h3{font-size:22px}.puyp-official-options{grid-template-columns:1fr}.puyp-official-footer{display:grid}.puyp-official-footer .puyp-primary{min-width:0;width:100%}.puyp-official-chooser{padding:16px}.puyp-official-chooser-head{display:grid}.puyp-party-bar{bottom:10px}}


/* v0.5.1 official bundle composition */
.puyp-bundle-role{margin:18px 0 24px}.puyp-bundle-role-head{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.puyp-bundle-role-head span{font-size:11px;font-weight:800;letter-spacing:.12em;color:#68708a}.puyp-bundle-role-head h3{margin:0;font-size:20px}.puyp-official-chooser>.puyp-bundle-role+.puyp-bundle-role{padding-top:18px;border-top:1px solid #e8eaf1}

/* v0.5.2 bundle chooser + image-fit hotfix */
.puyp-official-media{display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:1fr 1fr!important;gap:8px!important;padding:14px!important;background:#f8f9fc!important;min-height:250px!important}
.puyp-official-photo,.puyp-official-photo.p1,.puyp-official-photo.p2,.puyp-official-photo.p3,.puyp-official-photo.p4{position:static!important;width:auto!important;height:auto!important;min-height:100px!important;border-radius:14px!important;background:#fff!important;padding:8px!important;display:grid!important;place-items:center!important;overflow:hidden!important;box-shadow:none!important}
.puyp-official-photo img{width:100%!important;height:100%!important;max-height:120px!important;object-fit:contain!important;object-position:center!important}
.puyp-official-backdrop{position:fixed;inset:0;z-index:99999;background:rgba(13,20,49,.52);display:flex;align-items:center;justify-content:center;padding:24px}
.puyp-official-chooser{width:min(980px,96vw);max-height:88vh;background:#fff;border-radius:24px;box-shadow:0 28px 90px rgba(11,18,50,.28);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;padding:0!important;margin:0!important;border:0!important}
.puyp-official-chooser-head{padding:22px 24px 16px;border-bottom:1px solid #e8eaf1;display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.puyp-official-chooser-head h2{margin:3px 0 5px;font-size:28px;color:#17205f}.puyp-official-chooser-head p{margin:0;color:#68708a}.puyp-official-chooser-head>div>span{font-size:10px;font-weight:900;letter-spacing:.12em;color:#68708a}
.puyp-modal-x{border:0;background:#f2f3f7;color:#303759;border-radius:50%;width:42px;height:42px;font-size:25px;line-height:1;cursor:pointer;flex:0 0 auto}
.puyp-official-scroll{overflow:auto;padding:2px 24px 18px}
.puyp-bundle-role{margin:18px 0 24px}.puyp-bundle-role+.puyp-bundle-role{padding-top:20px;border-top:1px solid #e8eaf1}
.puyp-bundle-role-head{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}.puyp-bundle-role-head span{font-size:10px;font-weight:900;letter-spacing:.12em;color:#68708a}.puyp-bundle-role-head h3{margin:0;font-size:20px;color:#17205f}
.puyp-official-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
.puyp-official-option{min-height:122px!important;border:1px solid #e2e3eb!important;background:#fff!important;border-radius:18px!important;padding:10px!important;display:grid!important;grid-template-columns:120px minmax(0,1fr) auto!important;gap:12px!important;align-items:center!important;text-align:left!important;color:#17205f!important;cursor:pointer!important}
.puyp-official-option.selected{border-color:#786df0!important;background:#f7f5ff!important;box-shadow:inset 0 0 0 1px #786df0!important}
.puyp-official-option-img{width:120px!important;height:100px!important;border-radius:14px!important;background:#f8f9fc!important;overflow:hidden!important;display:grid!important;place-items:center!important;padding:8px!important}
.puyp-official-option-img img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important}
.puyp-official-option-copy{display:grid;gap:5px;min-width:0}.puyp-official-option-copy strong{font-size:14px;line-height:1.25}.puyp-official-option-copy span{font-size:13px;color:#5f6880;font-weight:800}
.puyp-official-option em{font-style:normal;font-size:11px;font-weight:900;color:#6658e8;white-space:nowrap}
.puyp-official-footer{padding:16px 24px;border-top:1px solid #e8eaf1;background:#fbfbfd;display:flex;justify-content:space-between;gap:18px;align-items:center}.puyp-official-footer>div{display:grid;gap:3px}.puyp-official-footer span{font-size:12px;color:#68708a}.puyp-official-footer .puyp-primary{min-width:240px}
/* Full-unit image fit across option and shopping views */
.puyp-product .puyp-img-shell,.puyp-detail-photo,.puyp-cat-photo,.puyp-bundle-pick-img,.puyp-cart-img{background:#fafbfe!important}
.puyp-product-img,.puyp-detail-img,.puyp-cat-photo img,.puyp-bundle-pick-img img,.puyp-cart-img img{object-fit:contain!important;object-position:center!important;padding:8px;box-sizing:border-box}
@media(max-width:760px){.puyp-official-backdrop{padding:10px}.puyp-official-chooser{width:100%;max-height:92vh;border-radius:18px}.puyp-official-chooser-head{padding:17px}.puyp-official-scroll{padding:0 14px 14px}.puyp-official-options{grid-template-columns:1fr!important}.puyp-official-option{grid-template-columns:92px minmax(0,1fr) auto!important}.puyp-official-option-img{width:92px!important;height:82px!important}.puyp-official-footer{display:grid;padding:14px 17px}.puyp-official-footer .puyp-primary{width:100%;min-width:0}}

/* v0.6.0 Party Planning Experience + Hoppy */
.puyp-be{--puyp-ink:#17205f;--puyp-purple:#6c4df6;--puyp-pink:#ff5fa2;--puyp-aqua:#22c7d6;--puyp-yellow:#ffc94a;--puyp-green:#42c987}
.puyp-hero-simple{position:relative;overflow:hidden;border-radius:28px;padding:30px;background:linear-gradient(135deg,#fff0f7 0%,#f5f2ff 45%,#eafcff 100%);border:0!important;box-shadow:0 12px 34px rgba(58,45,145,.08)}
.puyp-hero-simple:before,.puyp-hero-simple:after{content:"";position:absolute;border-radius:999px;pointer-events:none;opacity:.7}.puyp-hero-simple:before{width:110px;height:110px;background:#ffd658;right:-24px;top:-34px}.puyp-hero-simple:after{width:72px;height:72px;background:#ff79b2;right:80px;bottom:-40px}
.puyp-hero h1{font-size:clamp(31px,5vw,52px)!important;letter-spacing:-.04em!important;line-height:.98!important}.puyp-kicker{color:#7b4ff4!important}.puyp-hero p{font-size:15px!important;max-width:640px}
.puyp-smart-search-simple{border:0!important;background:#fff!important;box-shadow:0 12px 32px rgba(25,32,95,.07)!important;border-radius:22px!important}
.puyp-quick-row{gap:8px!important}.puyp-quick{border:0!important;background:#f2f3f8!important;color:#30385e!important;border-radius:999px!important;padding:9px 13px!important}.puyp-quick:nth-of-type(4n+1){background:#fff0f6!important}.puyp-quick:nth-of-type(4n+2){background:#ebfbfd!important}.puyp-quick:nth-of-type(4n+3){background:#fff8df!important}.puyp-quick:nth-of-type(4n+4){background:#f1edff!important}.puyp-quick.active{background:var(--puyp-purple)!important;color:#fff!important}
.puyp-cat-grid{gap:14px!important}.puyp-cat-card{border:0!important;border-radius:22px!important;box-shadow:0 9px 25px rgba(26,32,91,.075)!important;overflow:hidden!important;transition:transform .18s ease,box-shadow .18s ease}.puyp-cat-card:nth-child(4n+1){background:#fff0f6!important}.puyp-cat-card:nth-child(4n+2){background:#eafcff!important}.puyp-cat-card:nth-child(4n+3){background:#fff8de!important}.puyp-cat-card:nth-child(4n+4){background:#f3efff!important}.puyp-cat-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(26,32,91,.11)!important}.puyp-cat-photo{border-radius:18px!important;background:rgba(255,255,255,.82)!important}
.puyp-product{border:0!important;border-radius:22px!important;box-shadow:0 8px 24px rgba(25,32,95,.07)!important;overflow:hidden!important;background:#fff!important}.puyp-product-copy{padding:16px!important}.puyp-product h3{color:var(--puyp-ink)!important}.puyp-img-shell{border:0!important;background:linear-gradient(145deg,#f9fafc,#fff)!important}.puyp-primary{border:0!important;border-radius:13px!important;background:linear-gradient(135deg,#684df6,#8a5cf7)!important;color:#fff!important;box-shadow:0 6px 14px rgba(105,77,246,.2)!important;transition:transform .14s ease,box-shadow .14s ease}.puyp-primary:not(:disabled):active{transform:scale(.97)}.puyp-secondary{border:1px solid #e6e7ee!important;border-radius:13px!important;background:#fff!important;color:#343c61!important}
.puyp-card-meta .ok{background:#e8fbf2!important;color:#1b8a5b!important;border:0!important}.puyp-card-meta .no{background:#f1f2f5!important;color:#7c8292!important;border:0!important}
.puyp-official-bundle{border:0!important;box-shadow:0 10px 30px rgba(28,31,95,.085)!important}.puyp-official-bundle:nth-child(4n+1){background:linear-gradient(145deg,#fff8e5,#fff)!important}.puyp-official-bundle:nth-child(4n+2){background:linear-gradient(145deg,#f4efff,#fff)!important}.puyp-official-bundle:nth-child(4n+3){background:linear-gradient(145deg,#eafcff,#fff)!important}.puyp-official-bundle:nth-child(4n+4){background:linear-gradient(145deg,#fff0f6,#fff)!important}.puyp-official-copy>span:first-child{display:inline-flex;background:#fff1b9;color:#7d5d00;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:900}.puyp-bundle-guide{background:linear-gradient(135deg,#fff4fa,#f4f1ff 50%,#eefdff)!important;border:0!important;box-shadow:0 8px 24px rgba(28,31,95,.06)!important}
.puyp-party-bar{background:linear-gradient(100deg,#5038dc,#7f55f7 55%,#d54e9c)!important;border:0!important;box-shadow:0 14px 38px rgba(65,45,181,.32)!important}.puyp-party-bar.celebrate{animation:puyp-party-pop .75s ease}@keyframes puyp-party-pop{0%{transform:translateX(-50%) scale(1)}35%{transform:translateX(-50%) scale(1.045)}70%{transform:translateX(-50%) scale(.99)}100%{transform:translateX(-50%) scale(1)}}
.puyp-toast{background:#17205f!important;color:#fff!important;border:0!important;border-radius:14px!important;box-shadow:0 8px 24px rgba(10,15,60,.2)!important}
/* Hoppy */
.puyp-hoppy-fab{position:fixed;right:18px;bottom:86px;z-index:9994;border:0;border-radius:999px;background:linear-gradient(135deg,#ffda58,#ff8bb7);color:#3c2851;box-shadow:0 10px 28px rgba(83,51,105,.22);display:flex;align-items:center;gap:8px;padding:9px 14px 9px 9px;cursor:pointer;font-weight:900}.puyp-hoppy-fab span{display:grid;place-items:center;width:35px;height:35px;background:#fff;border-radius:50%;font-size:22px}.puyp-hoppy-fab b{font-size:12px}
.puyp-hoppy-backdrop{position:fixed;inset:0;z-index:99995;background:rgba(16,21,54,.42)}.puyp-hoppy-panel{position:fixed;z-index:99996;right:16px;bottom:16px;width:min(420px,calc(100% - 32px));max-height:min(720px,calc(100% - 32px));overflow:auto;background:#fff;border-radius:26px;box-shadow:0 30px 90px rgba(15,19,62,.3);border:0}.puyp-hoppy-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:16px 18px;background:linear-gradient(100deg,#f4efff,#fff0f7,#fff7d9);border-bottom:1px solid rgba(100,80,170,.09)}.puyp-hoppy-head>div{display:grid;gap:2px}.puyp-hoppy-head span{font-size:9px;font-weight:950;letter-spacing:.13em;color:#7651e7}.puyp-hoppy-head b{font-size:17px;color:#17205f}.puyp-hoppy-head button{width:40px;height:40px;border:0;border-radius:50%;background:#fff;color:#424968;font-size:24px;cursor:pointer}.puyp-hoppy-body{padding:18px}.puyp-hoppy-intro{display:grid;grid-template-columns:58px 1fr;gap:12px;align-items:center;background:linear-gradient(135deg,#fff8df,#fff0f7);padding:14px;border-radius:18px}.puyp-hoppy-avatar{width:58px;height:58px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:35px;box-shadow:0 5px 16px rgba(40,30,90,.08)}.puyp-hoppy-intro strong,.puyp-hoppy-body h3{color:#17205f}.puyp-hoppy-intro p,.puyp-hoppy-body p{color:#6d748b;font-size:13px;line-height:1.45;margin:4px 0 0}.puyp-hoppy-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.puyp-hoppy-actions button{min-height:58px;border:0;border-radius:15px;background:#f6f7fa;color:#293159;font-weight:850;font-size:12px;text-align:left;padding:11px;cursor:pointer}.puyp-hoppy-actions button:nth-child(5n+1){background:#f1edff}.puyp-hoppy-actions button:nth-child(5n+2){background:#eafcff}.puyp-hoppy-actions button:nth-child(5n+3){background:#fff3e6}.puyp-hoppy-actions button:nth-child(5n+4){background:#fff0f6}.puyp-hoppy-actions button:nth-child(5n+5){background:#fff8db}.puyp-hoppy-back button{border:0;background:transparent;color:#6658e8;font-weight:900;padding:0;cursor:pointer}.puyp-hoppy-recs{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px}.puyp-hoppy-recs>button{border:1px solid #ececf2;background:#fff;border-radius:15px;padding:8px;text-align:left;display:grid;grid-template-columns:54px 1fr;grid-template-rows:auto auto;gap:2px 8px;cursor:pointer}.puyp-hoppy-recs>button>span{grid-row:1/3;width:54px;height:54px;background:#f7f8fb;border-radius:11px;display:grid;place-items:center;overflow:hidden;font-size:24px}.puyp-hoppy-recs img{width:100%;height:100%;object-fit:contain;padding:4px;box-sizing:border-box}.puyp-hoppy-recs b{font-size:11px;line-height:1.15;color:#17205f;align-self:end}.puyp-hoppy-recs small{font-size:11px;color:#6658e8;font-weight:900;align-self:start}
@media(max-width:620px){.puyp-hero-simple{padding:22px 18px;border-radius:22px}.puyp-hoppy-fab{right:12px;bottom:79px;padding-right:11px}.puyp-hoppy-panel{right:8px;bottom:8px;width:calc(100% - 16px);max-height:calc(100% - 16px);border-radius:22px}.puyp-hoppy-actions{grid-template-columns:1fr 1fr}.puyp-hoppy-recs{grid-template-columns:1fr}.puyp-product-grid{gap:10px!important}.puyp-product{border-radius:18px!important}}
@media(prefers-reduced-motion:reduce){.puyp-party-bar.celebrate{animation:none}.puyp-primary,.puyp-cat-card{transition:none!important}}
/* 0.7.1: uncropped equipment, accessible controls and safe-area clearance. */
.puyp-be { padding-bottom: max(180px, calc(150px + env(safe-area-inset-bottom))); }
.puyp-product { position:relative; }
.puyp-favorite { position:absolute; top:12px; right:12px; z-index:2; width:44px; height:44px; border:1px solid #d9cfea; border-radius:50%; background:#fff; color:#66329a; font-size:26px; cursor:pointer; }
.puyp-favorite.active { background:#fceaf5; color:#ac1761; }
.puyp-be .puyp-product-img,.puyp-be .puyp-detail-img,.puyp-be .puyp-official-photo img,.puyp-be .puyp-bundle-pick-img img { object-fit:contain !important; object-position:center; }
.puyp-transport { margin:16px 0; padding:16px; border-radius:14px; background:#f4f0fa; color:#342346; overflow-wrap:anywhere; }
.puyp-transport p { margin:8px 0; }
.puyp-swap-label { display:block; font-size:12px; max-width:100%; }
.puyp-swap-label select { display:block; min-height:44px; max-width:180px; width:100%; }
.puyp-be button:focus-visible,.puyp-be select:focus-visible { outline:3px solid #8241bd; outline-offset:3px; }
.puyp-be button { touch-action:manipulation; }
.puyp-party-bar { bottom:max(12px, env(safe-area-inset-bottom)); }
.puyp-bundle-live { overflow-wrap:anywhere; }
@media(max-width:600px) {
 .puyp-party-bar { gap:8px; flex-wrap:wrap; padding:12px 16px; }
 .puyp-party-bar strong { font-size:16px; }
 .puyp-party-bar small { white-space:normal; }
 .puyp-party-bar small { display:block !important; }
 .puyp-party-bar > span { min-width:0; }
 .puyp-party-bar em { display:inline !important; }
 .puyp-card-actions { display:grid !important; grid-template-columns:1fr !important; gap:8px; }
 .puyp-card-actions .puyp-secondary { display:flex !important; align-items:center; justify-content:center; min-height:44px; }
 .puyp-cart-row { grid-template-columns:58px minmax(0,1fr) 32px; }
 .puyp-swap-label { grid-column:2; }
 .puyp-cart-drawer { padding-bottom:max(24px,env(safe-area-inset-bottom)); }
 .puyp-hoppy-fab { bottom:130px; }
 .puyp-bundle-picks { max-height:480px; overflow-y:auto; }
}
@media(prefers-reduced-motion:reduce) {
 .puyp-be *, .puyp-be *::before, .puyp-be *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}

/* 0.7.2: intrinsic name widths must never widen the custom picker grid. */
.puyp-be .puyp-bundle-pick {
 width:100%; max-width:100%; min-width:0; min-height:72px; box-sizing:border-box;
 white-space:normal; overflow-wrap:anywhere;
 grid-template-columns:48px minmax(0,1fr); grid-template-rows:auto auto auto;
 gap:6px 10px; padding:10px;
}
.puyp-be .puyp-bundle-pick > * { min-width:0; max-width:100%; box-sizing:border-box; }
.puyp-be .puyp-bundle-pick-img { grid-column:1; grid-row:1/4; width:48px; height:58px; }
.puyp-be .puyp-bundle-pick > span { grid-column:2; grid-row:1; white-space:normal; overflow-wrap:anywhere; font-size:14px; line-height:1.35; }
.puyp-be .puyp-bundle-pick > b { grid-column:2; grid-row:2; font-size:14px; line-height:1.35; }
.puyp-be .puyp-bundle-pick > em { grid-column:2; grid-row:3; font-size:13px; line-height:1.35; white-space:normal; }
.puyp-be .puyp-bundle-pick-img img { width:100%; height:100%; object-fit:contain!important; }

/* 0.7.3: Hoppy must fit its panel, not impose intrinsic desktop columns. */
.puyp-be .puyp-hoppy-panel { box-sizing:border-box; min-width:0; }
.puyp-be .puyp-hoppy-body, .puyp-be .puyp-hoppy-head > div,
.puyp-be .puyp-hoppy-actions, .puyp-be .puyp-hoppy-recs { min-width:0; max-width:100%; box-sizing:border-box; }
.puyp-be .puyp-hoppy-intro { grid-template-columns:58px minmax(0,1fr); }
.puyp-be .puyp-hoppy-intro > *, .puyp-be .puyp-hoppy-recs > button > * { min-width:0; overflow-wrap:anywhere; }
.puyp-be .puyp-hoppy-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
.puyp-be .puyp-hoppy-actions button, .puyp-be .puyp-hoppy-recs > button {
 min-width:0; max-width:100%; box-sizing:border-box; white-space:normal; overflow-wrap:anywhere;
}
.puyp-be .puyp-hoppy-actions button { font-size:14px; line-height:1.4; min-height:58px; padding:12px; }
.puyp-be .puyp-hoppy-recs { grid-template-columns:repeat(2,minmax(0,1fr)); }
.puyp-be .puyp-hoppy-recs > button { grid-template-columns:54px minmax(0,1fr); }
.puyp-be .puyp-hoppy-head button, .puyp-be .puyp-modal-x, .puyp-be .puyp-modal-close,
.puyp-be .puyp-calendar-nav button {
 width:44px; height:44px; min-width:44px; min-height:44px; padding:0; box-sizing:border-box; flex:0 0 44px;
}
.puyp-be .puyp-calendar-top { flex-wrap:wrap; gap:8px; }
.puyp-be .puyp-cal-day, .puyp-be .puyp-cal-blank { min-height:44px; }
.puyp-be .puyp-cal-day { min-width:0; }
@media(max-width:620px) {
 .puyp-be .puyp-hoppy-actions, .puyp-be .puyp-hoppy-recs { grid-template-columns:minmax(0,1fr); }
}

/* v0.7.5 checkout discoverability + official-bundle clarity */
.puyp-party-bar em{white-space:nowrap}.puyp-checkout-cta{display:flex!important;flex-direction:column;gap:2px;text-decoration:none}.puyp-checkout-cta small{font-size:11px;font-weight:650;opacity:.84}.puyp-checkout-cta.disabled{opacity:.5;pointer-events:none}.puyp-bundle-replace-note{display:block;margin-top:7px;padding:8px 10px;border-radius:9px;background:#fff6e5;color:#744b00;font-weight:700;line-height:1.35}.puyp-cart-actions>.puyp-primary{min-height:56px}
@media(max-width:680px){.puyp-party-bar{grid-template-columns:1fr auto;gap:8px 12px}.puyp-party-bar span{grid-column:1/2;display:grid;gap:1px}.puyp-party-bar strong{grid-column:2/3;grid-row:1/2}.puyp-party-bar em{grid-column:1/3;grid-row:2/3;text-align:center;background:rgba(255,255,255,.12);border-radius:9px;padding:6px 8px;font-size:12px}.puyp-cart-drawer{width:min(440px,100vw);padding:16px}.puyp-cart-head{position:sticky;top:-16px;background:#fff;z-index:3;padding-top:12px}.puyp-cart-actions{position:sticky;bottom:-16px;background:#fff;padding:12px 0 16px;z-index:2;border-top:1px solid var(--puyp-line)}}

/* v0.7.7 tray simplification + responsiveness */
.puyp-be-busy{cursor:progress}.puyp-be-busy .puyp-cart-drawer button,.puyp-be-busy .puyp-cart-drawer a{pointer-events:none;opacity:.72}
.puyp-cart-row{grid-template-columns:58px minmax(0,1fr) auto!important;gap:12px;align-items:center}.puyp-cart-item-copy{min-width:0;display:grid;gap:3px}.puyp-cart-item-copy strong{overflow-wrap:anywhere}.puyp-remove-item{min-height:40px;border:1px solid #f0c8c4;background:#fff7f6;color:#a62b20;border-radius:10px;padding:8px 11px;font-weight:850;cursor:pointer}.puyp-remove-item:hover{background:#fff0ee}.puyp-continue-shopping{display:inline-flex;align-items:center;justify-content:flex-start;border:0;background:transparent;color:var(--puyp-navy);font-weight:900;padding:4px 0 12px;cursor:pointer}@media(max-width:600px){.puyp-cart-row{grid-template-columns:58px minmax(0,1fr) auto!important}.puyp-remove-item{min-width:72px;padding:8px}.puyp-continue-shopping{min-height:42px}}

/* 0.7.8: compact, non-clipping Party Tray controls + faster perceived mutation state. */
.puyp-cart-row{grid-template-columns:58px minmax(0,1fr)!important;align-items:start!important}
.puyp-cart-item-copy .puyp-remove-item{justify-self:start;margin-top:4px;min-height:30px!important;width:auto!important;min-width:0!important;padding:4px 8px!important;border:0!important;background:transparent!important;color:#a62b20!important;border-radius:7px!important;font-size:12px!important;font-weight:850!important;text-decoration:underline;text-underline-offset:2px}
.puyp-cart-item-copy .puyp-remove-item:hover{background:#fff1f0!important;text-decoration:none}
.puyp-be-busy .puyp-cart-drawer{cursor:progress}.puyp-be-busy .puyp-cart-drawer .puyp-remove-item{opacity:.55}
@media(max-width:600px){.puyp-cart-row{grid-template-columns:50px minmax(0,1fr)!important}.puyp-cart-img{width:50px;height:50px}.puyp-cart-item-copy .puyp-remove-item{min-height:28px!important;padding:3px 7px!important}}

.puyp-knowledge{display:grid;gap:10px;margin:16px 0;padding:14px;border:1px solid #e5e7eb;border-radius:14px;background:#fafafa}.puyp-knowledge strong{display:block;margin-bottom:3px}.puyp-knowledge p{margin:0}.puyp-resource-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:7px}.puyp-resource-link{display:inline-flex;align-items:center;padding:8px 11px;border:1px solid #7c4dff;border-radius:999px;text-decoration:none;font-weight:700}

/* v0.7.11 Rental Knowledge on the customer booking page */
.puyp-fact-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 10px}.puyp-fact-chips span{display:inline-flex;align-items:center;max-width:100%;padding:5px 8px;border-radius:999px;background:#f4f2ff;color:#4d427e;font-size:11px;font-weight:800;line-height:1.2}
.puyp-knowledge{background:#fff!important;border:0!important;padding:0!important;gap:14px!important}.puyp-detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.puyp-detail-facts>div{padding:11px 12px;border-radius:12px;background:#f7f8fb;display:grid;gap:2px}.puyp-detail-facts span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#747b8f;font-weight:900}.puyp-detail-facts b{font-size:13px;color:#17205f;overflow-wrap:anywhere}.puyp-detail-section{padding:13px 14px;border-radius:13px;background:#fafafa}.puyp-detail-section>strong{display:block;margin-bottom:5px;color:#17205f}.puyp-detail-section p{margin:0;color:#555d73}.puyp-detail-vehicle{background:#eefaf7}.puyp-vehicle-chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.puyp-vehicle-chips span{background:#fff;border:1px solid #ccebe2;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:850;color:#225e50}.puyp-detail-vehicle small{display:block;margin-top:6px;font-weight:800;color:#225e50}.puyp-resource-link.primary{background:#684df6;color:#fff;border-color:#684df6}.puyp-cart-facts{color:#6c7285!important;font-size:11px!important;line-height:1.3}
@media(max-width:560px){.puyp-detail-facts{grid-template-columns:1fr}.puyp-fact-chips span{font-size:10px}.puyp-detail-section{padding:11px 12px}}


/* v0.7.12 guided date-first shopping + consistent media */
.puyp-smart-search.needs-date{border:2px solid #e4ddff;box-shadow:0 12px 30px rgba(86,72,180,.08)}
.puyp-guided-step{display:flex;gap:11px;align-items:center;margin:0 0 12px;color:#17205f}.puyp-guided-step>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#6d5ce7;color:#fff;font-weight:950}.puyp-guided-step>div{display:grid;gap:2px}.puyp-guided-step strong{font-size:14px}.puyp-guided-step small{font-size:11px;color:#6d748b}.puyp-date-note.guided{font-weight:800;color:#5d55a6}.puyp-need-date{background:#5f55d9!important}
.puyp-product .puyp-img-shell{height:250px!important;aspect-ratio:auto!important;background:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:12px!important;box-sizing:border-box!important;overflow:hidden!important}
.puyp-product .puyp-product-img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;padding:0!important}
.puyp-detail-photo{min-height:340px!important;max-height:430px!important;background:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:16px!important;box-sizing:border-box!important}
.puyp-detail-photo .puyp-detail-img{width:100%!important;height:100%!important;max-height:398px!important;object-fit:contain!important;object-position:center!important;padding:0!important}
@media(max-width:680px){.puyp-product .puyp-img-shell{height:220px!important}.puyp-guided-step{align-items:flex-start}.puyp-guided-step small{line-height:1.35}.puyp-detail-photo{min-height:260px!important}}
\n\n/* v0.7.13: fast first paint + readable Party tray */\n.puyp-party-bar{grid-template-columns:minmax(145px,1fr) auto auto!important;column-gap:18px!important;row-gap:6px!important}\n.puyp-tray-party{display:grid!important;gap:1px!important;min-width:0}.puyp-tray-party b,.puyp-tray-party small{white-space:normal}\n.puyp-tray-money{display:flex!important;align-items:center!important;gap:10px!important;white-space:nowrap!important}\n.puyp-tray-total{font-size:18px;font-weight:950}.puyp-tray-save{display:inline-flex;padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.16);font-size:12px;font-weight:900}\n.puyp-tray-action{padding-left:4px;white-space:nowrap!important}\n.puyp-fast-load{min-height:520px;padding:18px 0}.puyp-fast-load-head{height:92px;border-radius:18px;background:#f6f4ff;margin-bottom:20px;animation:puypPulse 1.2s ease-in-out infinite}.puyp-fast-load-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.puyp-fast-load-grid i{height:330px;border-radius:18px;background:#f5f6f8;animation:puypPulse 1.2s ease-in-out infinite}@keyframes puypPulse{50%{opacity:.55}}\n@media(max-width:760px){.puyp-party-bar{grid-template-columns:minmax(0,1fr) auto!important}.puyp-tray-party{grid-column:1}.puyp-tray-money{grid-column:2;justify-content:flex-end;gap:6px!important}.puyp-tray-action{grid-column:1/3!important;text-align:center!important;background:rgba(255,255,255,.12);border-radius:9px;padding:6px 8px!important}.puyp-tray-save{font-size:11px;padding:3px 6px}.puyp-fast-load-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.puyp-fast-load-grid i{height:280px}}\n@media(max-width:430px){.puyp-tray-money{display:grid!important;justify-items:end!important;gap:2px!important}.puyp-tray-total{font-size:16px}.puyp-tray-save{background:transparent;padding:0;font-size:10px}.puyp-fast-load-grid i{height:240px}}\n@media(prefers-reduced-motion:reduce){.puyp-fast-load-head,.puyp-fast-load-grid i{animation:none}}\n\n\n/* v0.7.14: single-line compact Party tray */
.puyp-party-bar{grid-template-columns:minmax(145px,1fr) auto!important;gap:12px!important;padding:10px 14px!important}
.puyp-tray-money{display:flex!important;align-items:center!important;gap:9px!important;white-space:nowrap!important}
.puyp-tray-link{font-size:12px;font-weight:900;white-space:nowrap;opacity:.96}
.puyp-party-bar .puyp-tray-action{display:none!important}
@media(max-width:680px){.puyp-party-bar{grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important}.puyp-tray-party small{display:none!important}.puyp-tray-money{gap:6px!important}.puyp-tray-link{font-size:11px}.puyp-tray-total{font-size:16px}.puyp-tray-save{font-size:10px;padding:3px 6px}}
@media(max-width:430px){.puyp-party-bar{padding:9px 11px!important}.puyp-tray-party b{font-size:13px}.puyp-tray-money{display:flex!important;justify-content:flex-end!important;gap:5px!important}.puyp-tray-link{max-width:92px;white-space:normal;line-height:1.05;text-align:right}.puyp-tray-save{background:rgba(255,255,255,.15);padding:2px 5px!important}}
/* v0.7.15: make date-specific unavailability unmistakable without hiding the rental. */
.puyp-product.is-unavailable{border:2px solid rgba(164,78,78,.28);background:#fffafa}
.puyp-product.is-unavailable .puyp-product-img{opacity:.58;filter:grayscale(.22)}
.puyp-unavailable-banner{position:absolute;left:14px;right:14px;bottom:18px;z-index:3;display:flex;align-items:center;justify-content:center;min-height:42px;padding:9px 12px;border-radius:12px;background:rgba(74,31,31,.92);color:#fff;font-size:13px;font-weight:800;line-height:1.2;text-align:center;box-shadow:0 5px 18px rgba(0,0,0,.14)}
.puyp-product.is-unavailable .puyp-card-meta .no{background:#fde8e8;color:#9a2f2f;border:1px solid #efb9b9;font-weight:800}
.puyp-unavailable-copy{display:block;color:#8b3131;font-weight:700;line-height:1.4}
.puyp-product.is-unavailable .puyp-alt-date{background:#fff;color:#6842dc;border:1px solid #8f72ef;box-shadow:none}
.puyp-product.is-unavailable .puyp-alt-date:hover{background:#f6f2ff}
@media (max-width:640px){.puyp-unavailable-banner{left:10px;right:10px;bottom:14px;font-size:12px;min-height:38px}.puyp-product.is-unavailable{border-width:1.5px}}

/* v0.7.17: conflicted Party items stay visible for recovery but never look payable. */
.puyp-party-bar.needs-update{background:linear-gradient(100deg,#6f3d31,#9a5948 58%,#b56a55)!important}
.puyp-tray-alert{display:inline-flex;padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.18);font-size:11px;font-weight:950;white-space:nowrap}
.puyp-cart-conflict{display:grid;gap:3px;margin:12px 0;padding:12px 13px;border:1px solid #ecc7bd;border-radius:12px;background:#fff7f3;color:#79372b;font-size:12px;line-height:1.35}
.puyp-cart-conflict strong{font-size:13px}.puyp-cart-row.is-conflicted{background:#fffafa;margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:10px}.puyp-conflict-copy{font-size:11px!important;line-height:1.35!important;color:#a13e31!important;font-weight:750}.puyp-reprice-note{color:#76584d;font-size:12px}.puyp-reprice-note b{font-size:11px;text-align:right}.puyp-checkout-cta.disabled{cursor:not-allowed}
@media(max-width:680px){.puyp-party-bar.needs-update .puyp-tray-money{gap:5px!important}.puyp-tray-alert{font-size:10px;padding:3px 5px}.puyp-party-bar.needs-update .puyp-tray-total{font-size:13px}}

/* v0.7.18 pickup/return clarity */
.puyp-date-journey{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid #ded7ff;border-radius:14px;background:#faf9ff;min-width:310px}.puyp-date-journey span{display:flex;flex-direction:column;gap:2px}.puyp-date-journey small{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#6d6687}.puyp-date-journey strong{font-size:14px;color:#201a4d}.puyp-date-journey b{color:#7b4cff}.puyp-calendar-help{margin:8px 0 12px;color:#6d6687;font-size:13px}.puyp-date-row{align-items:end;flex-wrap:wrap}@media(max-width:700px){.puyp-date-journey{width:100%;min-width:0;justify-content:space-between}.puyp-date-journey strong{font-size:13px}}

.puyp-bundle-empty{display:grid;gap:5px;padding:16px 18px;margin:8px 0 18px;border:1px solid #ebe7ff;border-radius:16px;background:#faf9ff;color:var(--puyp-navy)}
.puyp-bundle-empty span{font-size:13px;color:var(--puyp-muted)}

.puyp-bundles .puyp-section-head{scroll-margin-top:110px}

.puyp-fast-load{min-height:260px}

a.puyp-quick,a.puyp-cat-card{text-decoration:none}
a.puyp-quick{display:inline-flex;align-items:center;justify-content:center}

.puyp-saved-help{padding:9px 10px!important;margin:7px 0 0!important;border-radius:10px;background:#f7f5ff;color:#5f5872!important}

.puyp-build-your-own-note{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  margin:22px 0 8px;padding:20px 22px;border:1px solid #e8e3ff;border-radius:18px;
  background:linear-gradient(135deg,#fbf9ff 0%,#f4fbff 100%);
}
.puyp-build-your-own-note h3{margin:4px 0 6px;color:var(--puyp-navy)}
.puyp-build-your-own-note p{margin:0;max-width:720px;color:var(--puyp-muted);line-height:1.5}
.puyp-mini-label{font-size:10px;font-weight:900;letter-spacing:.12em;color:#6d42ff}
.puyp-browse-build{white-space:nowrap}
@media(max-width:760px){
  .puyp-build-your-own-note{align-items:flex-start;flex-direction:column}
  .puyp-browse-build{width:100%}
}

/* v0.7.33 stable frontend rollback with server-side Featured Bundle cache repair. */

/* v0.7.34 restores the proven direct Booknetic Featured Bundle merchandising source from v0.5.2. */

/* v0.7.35: known-good v0.5.1 Featured Bundle discovery transplanted into modern engine. */

/* v0.7.36: fast production Featured Bundle snapshot; PI refreshes off-request. */

/* v0.7.37: full verified Featured Bundle catalog snapshot, no service rejoin. */

/* v0.7.38: live public catalog is authoritative for officialBundles. */

/* v0.7.39: fast bundle snapshot endpoint decoupled from full catalog latency. */

/* v0.7.40: bundle feed uses the shared API client; no aggressive browser abort. */

.puyp-bundle-copy-debug{margin-top:10px;border:1px solid #6d43ff;background:#fff;color:#5b35e8;padding:8px 12px;border-radius:10px;cursor:pointer}

/* v0.7.42: restores isMerchExcluded helper used by bundle rendering. */

/* v0.7.43: restores officialBundleChooser() injection into Bundles view. */

/* v0.7.45 stable rollback: behavior restored from known-good v0.7.43. */

/* v0.7.46: fast first render; live availability remains authoritative. */

/* v0.7.47 bundle paint optimization */
.puyp-official-card img,
.puyp-official-choice img{
  content-visibility:auto;
}
.puyp-official-card{
  contain:layout paint style;
}
.puyp-official-grid{
  content-visibility:auto;
  contain-intrinsic-size:900px;
}

/* v0.7.48 bundle date-first chooser */
.puyp-bundle-date-box{margin:16px 24px 0;padding:16px;border:1px solid #e8e3ff;border-radius:16px;background:linear-gradient(135deg,#faf9ff,#f6fbff)}
.puyp-bundle-date-copy{display:grid;gap:4px;margin-bottom:12px}
.puyp-bundle-date-copy>span{font-size:11px;font-weight:800;letter-spacing:.12em;color:#7048ff}
.puyp-bundle-date-copy>strong{font-size:16px}
.puyp-bundle-date-copy>small{color:#69738d}
.puyp-bundle-date-fields{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}
.puyp-bundle-date-fields label{display:grid;gap:5px;font-size:12px;font-weight:700}
.puyp-bundle-date-fields input{min-height:44px;border:1px solid #ddd8ef;border-radius:10px;padding:0 10px;background:#fff}
.puyp-bundle-date-status{margin-top:9px;font-size:12px;color:#53617a}
.puyp-bundle-date-first{margin:24px;min-height:150px;border:1px dashed #dcd5ff;border-radius:16px;display:grid;place-content:center;text-align:center;gap:6px;background:#fcfbff}
.puyp-bundle-date-first strong{font-size:18px;color:#172052}
.puyp-bundle-date-first span{color:#6a748c}
@media(max-width:720px){.puyp-bundle-date-box{margin:12px 14px 0}.puyp-bundle-date-fields{grid-template-columns:1fr 1fr}.puyp-bundle-date-fields button{grid-column:1/-1}}

/* v0.7.49 bundle modal polish + availability messaging */
.puyp-official-chooser{overflow:hidden}
.puyp-official-scroll{position:relative;overflow:auto;overscroll-behavior:contain}
.puyp-bundle-date-sticky{position:sticky;top:0;z-index:8;background:#fff;padding-top:1px;border-bottom:1px solid #eeeaf9}
.puyp-bundle-date-sticky .puyp-bundle-date-box{margin-top:12px;margin-bottom:12px;box-shadow:0 8px 18px rgba(63,48,140,.06)}
.puyp-bundle-unavailable{margin:24px;padding:24px;border:1px solid #f0d7a6;border-radius:18px;background:#fffaf0;display:grid;gap:9px}
.puyp-bundle-unavailable strong{font-size:20px;color:#352b14}
.puyp-bundle-unavailable span{color:#6d6248;line-height:1.45}
.puyp-bundle-unavailable .puyp-secondary{justify-self:start;margin-top:4px}
@media(max-width:720px){
  .puyp-bundle-date-sticky{top:0}
  .puyp-bundle-date-sticky .puyp-bundle-date-box{margin:8px 10px 10px}
}

/* v0.7.51: do not show a false unavailable state before live availability finishes */
.puyp-bundle-checking{margin:24px;padding:28px;border:1px solid #e7e2ff;border-radius:18px;background:#fbfaff;display:grid;grid-template-columns:auto 1fr;column-gap:12px;row-gap:4px;align-items:center}
.puyp-bundle-checking strong{font-size:18px;color:#20275b}
.puyp-bundle-checking>span:last-child{grid-column:2;color:#68738b}
.puyp-mini-spinner{width:22px;height:22px;border:3px solid #e8e3ff;border-top-color:#7248ff;border-radius:50%;animation:puyp-spin .8s linear infinite;grid-row:1/3}
@keyframes puyp-spin{to{transform:rotate(360deg)}}

/* v0.7.52: compact bundle dates when dates are already known */
.puyp-bundle-date-compact{
  margin:10px 16px;padding:10px 12px;border:1px solid #ece8fb;border-radius:12px;
  background:#fbfaff;display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.puyp-bundle-date-compact>div{display:flex;align-items:baseline;gap:9px;min-width:0}
.puyp-bundle-date-compact span{font-size:10px;font-weight:800;letter-spacing:.11em;color:#7048ff;white-space:nowrap}
.puyp-bundle-date-compact strong{font-size:13px;color:#26315f}
.puyp-date-link{appearance:none;border:0;background:transparent;color:#6546e8;font-weight:700;cursor:pointer;padding:6px 4px;white-space:nowrap}
.puyp-date-link:hover{text-decoration:underline}
@media(max-width:640px){
 .puyp-bundle-date-compact{align-items:flex-start}
 .puyp-bundle-date-compact>div{display:grid;gap:2px}
}

/* v0.7.55 item-detail polish */
.puyp-parsed-details{margin:16px 0}
.puyp-parsed-details>div{display:grid;grid-template-columns:minmax(110px,150px) 1fr;gap:12px;align-items:start;padding:9px 0;border-bottom:1px solid rgba(90,72,180,.12)}
.puyp-parsed-details>div:last-child{border-bottom:0}
.puyp-parsed-details span{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;font-weight:700}
.puyp-parsed-details b{font-size:14px;color:#1f255f;line-height:1.45}
.puyp-detail-blurb{line-height:1.6}
@media(max-width:640px){.puyp-parsed-details>div{grid-template-columns:1fr;gap:3px}}

/* v0.7.58 compact detail formatting */
.puyp-parsed-details{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 14px;
  margin:14px 0 16px;
}
.puyp-parsed-details>div{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  min-height:0;
  padding:10px 12px;
  border:1px solid rgba(90,72,180,.10);
  border-radius:12px;
  background:#f7f7fb;
}
.puyp-parsed-details span{
  flex:0 0 auto;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#74798a;
  font-weight:800;
  line-height:1.35;
}
.puyp-parsed-details b{
  flex:1 1 auto;
  min-width:0;
  text-align:right;
  font-size:14px;
  color:#1f255f;
  line-height:1.35;
  font-weight:850;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}
.puyp-detail-copy .puyp-transport{margin-top:12px}
@media(max-width:760px){
 .puyp-parsed-details{grid-template-columns:1fr}
 .puyp-parsed-details>div{align-items:center}
}

/* v0.7.59 lightweight rental media */
.puyp-rental-media{margin:14px 0 16px}
.puyp-video-thumb{position:relative;display:block;width:100%;padding:0;border:0;border-radius:14px;overflow:hidden;background:#10131c;cursor:pointer;text-align:left}
.puyp-video-thumb img{width:100%;aspect-ratio:16/9;display:block;object-fit:cover;opacity:.86}
.puyp-video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-56%);width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.96);color:#e62117;font-size:23px;padding-left:3px;box-shadow:0 8px 24px rgba(0,0,0,.28)}
.puyp-video-caption{position:absolute;left:14px;right:14px;bottom:11px;color:#fff;font-size:13px;font-weight:900;text-shadow:0 2px 8px rgba(0,0,0,.65)}
.puyp-full-details{display:inline-flex;margin-top:10px;font-size:13px;font-weight:850;color:#4d38c3;text-decoration:none}
.puyp-full-details:hover{text-decoration:underline}
.puyp-video-backdrop{position:fixed;inset:0;z-index:9999;background:rgba(7,9,18,.84);display:grid;place-items:center;padding:18px}
.puyp-video-modal{position:relative;width:min(900px,96vw)}
.puyp-video-close{position:absolute;right:0;top:-44px;width:38px;height:38px;border:0;border-radius:50%;background:#fff;color:#202556;font-size:26px;line-height:1;cursor:pointer}
.puyp-video-frame{position:relative;padding-top:56.25%;background:#000;border-radius:15px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.4)}
.puyp-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:640px){.puyp-video-play{width:46px;height:46px;font-size:19px}.puyp-video-caption{font-size:12px}}

/* v0.7.60 full-width pickup vehicle fact */
.puyp-parsed-details .puyp-fact-wide{
  grid-column:1 / -1;
}
.puyp-parsed-details .puyp-pickup-fact{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  align-items:center;
  gap:16px;
}
.puyp-parsed-details .puyp-pickup-fact b{
  text-align:left;
  line-height:1.45;
}
@media(max-width:760px){
  .puyp-parsed-details .puyp-pickup-fact{
    grid-template-columns:1fr;
    gap:4px;
    align-items:start;
  }
  .puyp-parsed-details .puyp-pickup-fact b{
    text-align:left;
  }
}
