.findPage{width:min(var(--panelMaxW),calc(100dvw - 24px));margin:0 auto;padding-bottom:18px}
.findPage [hidden]{display:none!important}
.findExploreHeader{display:flex;align-items:end;justify-content:space-between;padding:8px 2px 4px}
.findExploreHeader span,.findSectionHead span{display:block;color:var(--appBlue);font-size:.61rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase}
.findExploreHeader h1{margin:2px 0 0;color:var(--appText);font-size:1.72rem;line-height:1;font-weight:980;letter-spacing:-.055em}
.findSavedShortcut{width:42px;height:42px;border:1px solid color-mix(in srgb,var(--appText) 10%,transparent);border-radius:14px;display:grid;place-items:center;background:var(--appPanel);color:var(--appText);box-shadow:0 8px 22px rgba(0,0,0,.07)}
.findToolbar{position:sticky;top:0;z-index:8;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:10px 0;background:color-mix(in srgb,var(--appBg) 90%,transparent);backdrop-filter:blur(18px) saturate(1.35);-webkit-backdrop-filter:blur(18px) saturate(1.35)}
.findPage.isSearching .findToolbar{grid-template-columns:42px minmax(0,1fr) 42px}
.findSearch{height:48px;min-width:0;display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid color-mix(in srgb,var(--appText) 11%,transparent);border-radius:17px;background:color-mix(in srgb,var(--appPanel) 96%,transparent);box-shadow:0 8px 24px rgba(0,0,0,.07)}
.findSearch:focus-within{border-color:color-mix(in srgb,var(--appBlue) 58%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--appBlue) 12%,transparent),0 8px 24px rgba(0,0,0,.07)}
.findSearch>i{color:var(--appBlue)}
.findSearch input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--appText);font:inherit;font-size:.91rem;font-weight:790}
.findSearch input::placeholder{color:color-mix(in srgb,var(--appMuted) 78%,transparent)}
.findClearBtn,.findBackBtn,.findFilterBtn{border:0;display:grid;place-items:center;color:var(--appText);background:var(--appPanel)}
.findClearBtn{width:28px;height:28px;border-radius:999px;color:var(--appMuted)}
.findBackBtn,.findFilterBtn{width:42px;height:48px;border-radius:15px;border:1px solid color-mix(in srgb,var(--appText) 10%,transparent);box-shadow:0 7px 20px rgba(0,0,0,.06)}
.findHero{position:relative;min-height:238px;margin:2px 0 20px;overflow:hidden;border-radius:27px;background:var(--findHeroPhoto) center/cover no-repeat;border:1px solid color-mix(in srgb,var(--appText) 10%,transparent);box-shadow:0 18px 42px rgba(0,0,0,.15)}
.findHeroShade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,9,18,.86),rgba(6,9,18,.38) 72%,rgba(6,9,18,.1))}
.findHeroContent{position:relative;z-index:1;max-width:570px;padding:28px;color:#fff}
.findHeroContent>span{font-size:.61rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.76)}
.findHeroContent h2{margin:7px 0 9px;max-width:460px;font-size:clamp(1.55rem,5vw,2.55rem);line-height:.98;letter-spacing:-.05em}
.findHeroContent p{max-width:510px;margin:0;color:rgba(255,255,255,.82);font-size:.78rem;line-height:1.42;font-weight:720}
.findHeroContent button{min-height:40px;margin-top:18px;padding:0 15px;border:0;border-radius:13px;background:#fff;color:#111827;font-weight:930}.findHeroContent button i{margin-left:6px}
.findDiscoverSection{margin:0 0 24px}.findSectionHead{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:0 2px 11px}.findSectionHead h2{margin:3px 0 0;color:var(--appText);font-size:1.08rem;line-height:1.05;font-weight:960;letter-spacing:-.035em}.findSectionHead button{border:0;background:transparent;color:var(--appBlue);font-size:.72rem;font-weight:920}
.findCategoryGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.findCategoryCard{min-width:0;border:0;background:transparent;color:var(--appText);text-align:left;font:inherit;font-size:.68rem;font-weight:900}.findCategoryPhoto{display:block;width:100%;aspect-ratio:1/1;margin-bottom:7px;border-radius:18px;background:var(--findCategoryPhoto) center/cover no-repeat;border:1px solid color-mix(in srgb,var(--appText) 9%,transparent);box-shadow:0 9px 24px rgba(0,0,0,.09)}.findCategoryCard>span:last-child{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.findRail{display:flex;gap:11px;overflow-x:auto;padding:1px 2px 9px;scroll-snap-type:x proximity;scrollbar-width:none}.findRail::-webkit-scrollbar{display:none}.findRailCard{flex:0 0 min(72dvw,245px);scroll-snap-align:start}
.findCollectionGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.findCollectionCard{position:relative;min-height:126px;overflow:hidden;display:flex;align-items:flex-end;padding:15px;border:0;border-radius:20px;background:color-mix(in srgb,var(--appBlue) 8%,var(--appPanel));color:#fff;text-align:left;box-shadow:0 12px 28px rgba(0,0,0,.13)}.findCollectionMedia{position:absolute;inset:0;background:var(--findCollectionPhoto) center/cover no-repeat}.findCollectionCard:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(5,8,15,.08),rgba(5,8,15,.82))}.findCollectionArt{display:none}.findCollectionCopy{position:relative;z-index:2;display:block;padding-right:24px}.findCollectionCopy strong{display:block;font-size:.88rem;font-weight:950}.findCollectionCopy small{display:block;margin-top:4px;color:rgba(255,255,255,.76);font-size:.62rem;line-height:1.25;font-weight:720}.findCollectionArrow{position:absolute;z-index:2;right:13px;top:13px;width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:rgba(255,255,255,.88);color:#111827}
.findQuickRow{display:flex;gap:8px;overflow-x:auto;padding:1px 0 14px;scrollbar-width:none;scroll-snap-type:x proximity}.findQuickRow::-webkit-scrollbar{display:none}.findQuickChip{flex:0 0 auto;min-height:38px;display:flex;align-items:center;gap:7px;padding:0 13px 0 6px;border:1px solid color-mix(in srgb,var(--appText) 10%,transparent);border-radius:999px;background:var(--appPanel);color:var(--appMuted);font-size:.72rem;font-weight:900}.findQuickChip.isActive{background:var(--appText);color:var(--appBg);border-color:var(--appText)}.findQuickThumb{width:27px;height:27px;flex:0 0 27px;border-radius:999px;background:var(--findQuickPhoto) center/cover no-repeat}.findQuickThumb i{display:none}
.findResultsHead{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:0 2px 12px}.findResultsHead h2{margin:0;color:var(--appText);font-size:1.12rem;font-weight:960;letter-spacing:-.035em}.findResultsHead small{display:block;margin-top:4px;color:var(--appMuted);font-size:.72rem;font-weight:800}.findSortSelect{max-width:145px;height:35px;border:1px solid color-mix(in srgb,var(--appText) 10%,transparent);border-radius:11px;padding:0 28px 0 10px;background:var(--appPanel);color:var(--appText);font:inherit;font-size:.68rem;font-weight:850}
.findResults{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.findResultCard{min-width:0;overflow:hidden;display:flex;flex-direction:column;border:1px solid color-mix(in srgb,var(--appText) 10%,transparent);border-radius:19px;background:var(--appPanel);box-shadow:0 10px 28px rgba(0,0,0,.08)}.findResultPhoto{position:relative;width:100%;aspect-ratio:1.25/1;overflow:hidden;background:var(--findPhoto) center/cover no-repeat;background-color:color-mix(in srgb,var(--appBlue) 12%,var(--appPanel))}.findResultPhoto:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.3));pointer-events:none}.findFavoriteBtn{position:absolute;z-index:2;top:8px;right:8px;width:32px;height:32px;border:0;border-radius:999px;display:grid;place-items:center;background:rgba(255,255,255,.88);color:#141722;box-shadow:0 5px 15px rgba(0,0,0,.13)}.findFavoriteBtn.isActive{color:#e53270}.findStockBadge{position:absolute;z-index:2;left:8px;bottom:8px;max-width:calc(100% - 16px);padding:5px 8px;border-radius:999px;background:rgba(10,12,18,.68);color:#fff;font-size:.59rem;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.findResultBody{display:flex;flex-direction:column;flex:1;padding:10px}.findResultType{color:var(--appBlue);font-size:.58rem;font-weight:950;text-transform:uppercase;letter-spacing:.055em}.findResultBody h3{margin:4px 0 0;color:var(--appText);font-size:.86rem;line-height:1.08;font-weight:950;letter-spacing:-.025em}.findResultBody p{display:-webkit-box;margin:6px 0 0;color:var(--appMuted);font-size:.67rem;line-height:1.25;font-weight:700;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.findResultFooter{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:10px}.findResultFooter strong{min-width:0;color:var(--appText);font-size:.72rem;font-weight:930;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.findResultFooter strong small{color:var(--appMuted);font-size:.55rem}.findResultBtn{flex:0 0 auto;width:34px;height:34px;border:0;border-radius:11px;display:grid;place-items:center;background:var(--appBlue);color:#fff}
.findEmpty{min-height:245px;border:1px dashed color-mix(in srgb,var(--appText) 16%,transparent);border-radius:20px;display:grid;place-items:center;align-content:center;gap:8px;padding:20px;color:var(--appMuted);text-align:center}.findEmpty i{font-size:1.55rem}.findEmpty strong{color:var(--appText)}.findEmpty p{margin:0;max-width:260px;font-size:.72rem;line-height:1.4}.findEmpty button{min-height:38px;border:0;border-radius:999px;padding:0 15px;background:var(--appText);color:var(--appBg);font-weight:900}
.catalogImageError{position:relative;background-image:none!important;background-color:rgba(127,127,127,.12)!important}.catalogImageError::after{content:attr(data-image-error);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:12px;font-size:12px;font-weight:700;line-height:1.25;color:currentColor;background:rgba(255,255,255,.76)}
@media(max-width:640px){.findPage{width:100dvw;padding:0 12px 18px}.findCategoryGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.findCategoryPhoto{border-radius:15px}.findCategoryCard{font-size:.61rem}.findHero{min-height:218px;border-radius:23px}.findHeroContent{padding:22px}.findCollectionCard{min-height:118px}.findSortSelect{display:none}}
@media(min-width:641px){.findCategoryGrid{grid-template-columns:repeat(7,minmax(0,1fr))}.findRailCard{flex-basis:235px}.findResults{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1025px){.findResults{grid-template-columns:repeat(4,minmax(0,1fr))}.findCollectionGrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(hover:hover){.findCategoryCard,.findCollectionCard,.findResultCard{transition:transform .2s ease,box-shadow .2s ease}.findCategoryCard:hover,.findCollectionCard:hover,.findResultCard:hover{transform:translateY(-3px)}}
@media(prefers-color-scheme:dark){.catalogImageError::after{background:rgba(15,18,24,.82)}}


/* RENTAL_WINDOW_PARITY_V002: contained horizontal rental fields matching the booking reference. */
.findDateGate{width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow:hidden!important}
.findDateFields{width:100%!important;min-width:0!important;max-width:100%!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;box-sizing:border-box!important}
.findDateField,.findDateValue{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
.findDateValue strong,.findDateValue small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#findDateApply{grid-column:1/-1;width:100%!important;max-width:100%!important;box-sizing:border-box!important}
@media(max-width:430px){.findDateGate{padding-inline:14px!important}.findDateFields{gap:8px!important}.findDateField>span{font-size:10px!important}.findDateValue{padding-inline:10px!important}.findDateValue strong{font-size:12px!important}.findDateValue small{font-size:9px!important}}


/* DATE_REQUIRED_AVAILABILITY_V001
   Inventory can be browsed before dates are chosen, but no stock/availability
   claim is shown until a complete rental window has been applied. */
.findPage.needsRentalDates .findStockBadge,
.findPage.needsRentalDates #findAvailableSection{display:none!important}

/* MEDIA_CONTAINMENT_V001
   Keep every visual surface painted inside its own card and prevent malformed
   or oversized images from escaping the Explore layout. */
.findPage,
.findPage *{box-sizing:border-box}
.findPage img,
.findPage picture,
.findPage video,
.findPage canvas,
.findPage svg{max-width:100%;max-height:100%}
.findPage img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.findHero,
.findCategoryPhoto,
.findQuickThumb,
.findCollectionCard,
.findResultCard,
.findResultPhoto,
.findRailCard{min-width:0;max-width:100%;overflow:hidden;contain:layout paint;isolation:isolate;background-clip:padding-box}
.findCategoryCard,
.findCollectionCard,
.findResultCard{max-width:100%}
.findRail{max-width:100%;min-width:0;overscroll-behavior-inline:contain}
.findResultPhoto,
.findCategoryPhoto,
.findQuickThumb,
.findHero,
.findCollectionCard{background-origin:padding-box;background-clip:padding-box}

/* EXPLORE_MEDIA_CONTAINMENT_V002
   Keep product media and carousel cards fully inside the Explore content area.
   Product images use contain so the complete inventory item remains visible. */
.findPage,
.findDiscoverSection,
#findFeaturedSection,
#findAvailableSection,
.findResults,
.findRail{
  min-width:0;
  max-width:100%;
}
.findDiscoverSection,
#findFeaturedSection,
#findAvailableSection{
  overflow:hidden;
  contain:layout paint;
}
.findRail{
  width:100%;
  padding-inline:0;
  scroll-padding-inline:0;
}
.findRailCard{
  flex:0 0 calc((100% - 11px) / 2);
  width:calc((100% - 11px) / 2);
  max-width:calc((100% - 11px) / 2);
  min-width:0;
}
.findResultCard{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
}
.findResultPhoto{
  width:100%;
  max-width:100%;
  overflow:hidden;
  background-size:contain!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
.findResultPhoto img,
.findRailCard img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}
@media(max-width:420px){
  .findRailCard{
    flex-basis:calc((100% - 9px) / 2);
    width:calc((100% - 9px) / 2);
    max-width:calc((100% - 9px) / 2);
  }
}

/* PRODUCT_DETAILS_FULLSCREEN_V003
   Mobile product details are a real app screen, not a partial sheet. */
html.findProductOpen,
body.findProductOpen{overflow:hidden!important;overscroll-behavior:none!important}
body.findProductOpen{position:fixed!important;inset:0!important;width:100%!important;height:100dvh!important;touch-action:none}
.findProductOverlay{position:fixed;z-index:2147482000;inset:0;display:flex;align-items:flex-end;justify-content:center;background:rgba(7,10,20,.48);opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease;overflow:hidden;overscroll-behavior:contain}
.findProductOverlay.isOpen{opacity:1;visibility:visible}
.findProductSheet{position:relative;width:min(760px,calc(100% - 24px));height:min(92dvh,900px);max-height:92dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid color-mix(in srgb,var(--appText) 11%,transparent);border-radius:28px 28px 0 0;background:var(--appBg);color:var(--appText);box-shadow:0 -24px 70px rgba(0,0,0,.3);transform:translateY(34px);transition:transform .24s cubic-bezier(.22,.72,.2,1);isolation:isolate}
.findProductOverlay.isOpen .findProductSheet{transform:translateY(0)}
.findProductTopbar{position:relative;z-index:5;min-width:0;min-height:62px;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid color-mix(in srgb,var(--appText) 9%,transparent);background:color-mix(in srgb,var(--appBg) 91%,transparent);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.findProductTopbar>span{min-width:0;text-align:center;font-size:.84rem;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.findProductClose,.findProductShare,.findProductSave{width:44px;height:44px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--appText) 11%,transparent);border-radius:15px;background:var(--appPanel);color:var(--appText);font-size:1.1rem}
.findProductScroll{min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scrollbar-width:none;touch-action:pan-y}
.findProductScroll::-webkit-scrollbar{display:none}
.findProductGallery{position:relative;width:100%;min-width:0;aspect-ratio:1.18/1;overflow:hidden;background:color-mix(in srgb,var(--appBlue) 8%,var(--appPanel));contain:layout paint;touch-action:pan-y}
.findProductHeroImage{position:absolute;inset:0;max-width:100%;max-height:100%;background:var(--findProductPhoto) center/contain no-repeat;transform:none!important}
.findProductDots{position:absolute;z-index:2;left:50%;bottom:14px;display:flex;gap:6px;transform:translateX(-50%);padding:6px 8px;border-radius:999px;background:rgba(10,12,20,.42);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.findProductDots:empty{display:none}.findProductDots button{width:7px;height:7px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.48)}.findProductDots button.isActive{width:20px;background:#fff}
.findProductContent{min-width:0;padding:20px 18px calc(24px + env(safe-area-inset-bottom,0px))}
.findProductHeading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.findProductHeading>div{min-width:0}.findProductHeading span{display:block;color:var(--appBlue);font-size:.68rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.findProductHeading h2{margin:5px 0 0;font-size:clamp(1.55rem,7vw,2.2rem);line-height:1.02;letter-spacing:-.045em;overflow-wrap:anywhere}.findProductSave{flex:0 0 44px}.findProductSave.isActive{color:#e53270}
.findProductPrice{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px}.findProductPrice strong{font-size:1.16rem}.findProductPrice strong small{color:var(--appMuted);font-size:.68rem}.findProductPrice>span{display:flex;align-items:center;gap:5px;color:var(--appText);font-size:.78rem;font-weight:900}.findProductPrice .bi-star-fill{color:#f0a600}
.findProductSummary{margin:14px 0 0;color:var(--appMuted);font-size:.92rem;line-height:1.55;font-weight:680}
.findProductCallout{display:flex;gap:12px;margin-top:18px;padding:15px;border:1px solid color-mix(in srgb,var(--appBlue) 22%,transparent);border-radius:18px;background:color-mix(in srgb,var(--appBlue) 8%,var(--appPanel))}.findProductCallout>i{color:var(--appBlue);font-size:1.1rem}.findProductCallout b{display:block;font-size:.8rem}.findProductCallout p{margin:3px 0 9px;color:var(--appMuted);font-size:.77rem;line-height:1.38}.findProductCallout p:last-child{margin-bottom:0}
.findProductSection{margin-top:24px}.findProductSection h3{margin:0 0 11px;font-size:1rem;letter-spacing:-.02em}.findProductFacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.findProductFact{min-width:0;display:flex;align-items:flex-start;gap:9px;padding:12px;border:1px solid color-mix(in srgb,var(--appText) 9%,transparent);border-radius:15px;background:var(--appPanel)}.findProductFact>i{flex:0 0 auto;color:var(--appBlue)}.findProductFact span{min-width:0}.findProductFact small{display:block;color:var(--appMuted);font-size:.6rem;font-weight:850}.findProductFact b{display:block;margin-top:3px;font-size:.72rem;line-height:1.25;overflow-wrap:anywhere}
.findProductIncluded{display:grid;gap:8px}.findProductIncluded span{display:flex;align-items:flex-start;gap:9px;color:var(--appMuted);font-size:.78rem;line-height:1.35}.findProductIncluded i{color:#20b66a;font-size:1rem}
.findProductChoices{display:grid;gap:10px}.findProductChoices>div{padding:13px;border:1px solid color-mix(in srgb,var(--appText) 9%,transparent);border-radius:15px;background:var(--appPanel)}.findProductChoices b{font-size:.8rem}.findProductChoices p,.findProductChoices span{display:block;margin:4px 0 0;color:var(--appMuted);font-size:.7rem;line-height:1.35}
.findProductImportant{padding:15px;border-radius:18px;background:color-mix(in srgb,#f3a500 10%,var(--appPanel));border:1px solid color-mix(in srgb,#f3a500 24%,transparent)}.findProductImportant p{display:flex;gap:8px;margin:8px 0 0;color:var(--appMuted);font-size:.76rem;line-height:1.4}.findProductFinePrint{margin:22px 0 0;color:var(--appMuted);font-size:.66rem;line-height:1.4;text-align:center}
.findProductActions{position:relative;z-index:6;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid color-mix(in srgb,var(--appText) 9%,transparent);background:color-mix(in srgb,var(--appBg) 92%,transparent);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.findProductActions>div{min-width:0}.findProductActions small{display:block;color:var(--appMuted);font-size:.58rem;font-weight:850}.findProductActions strong{display:block;min-width:0;margin-top:2px;font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.findProductAdd{min-height:48px;border:0;border-radius:15px;padding:0 18px;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--appBlue);color:#fff;font-weight:950;white-space:nowrap}
@media(max-width:640px){
  .findProductOverlay{display:block;background:var(--appBg)}
  .findProductSheet{position:absolute;inset:0;width:100dvw;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;box-shadow:none;transform:translateX(20px);grid-template-rows:auto minmax(0,1fr) auto}
  .findProductOverlay.isOpen .findProductSheet{transform:translateX(0)}
  .findProductTopbar{min-height:calc(58px + env(safe-area-inset-top,0px));padding-top:calc(8px + env(safe-area-inset-top,0px));padding-inline:12px}
  .findProductGallery{aspect-ratio:1/1;max-height:52dvh}
  .findProductContent{padding-inline:16px}
  .findProductActions{grid-template-columns:minmax(0,1fr) minmax(148px,auto);padding-inline:12px}
  .findProductAdd{padding-inline:14px}
}
@media(max-width:370px){.findProductFacts{grid-template-columns:1fr}.findProductActions{grid-template-columns:minmax(0,.8fr) minmax(138px,1.2fr)}.findProductAdd{font-size:.78rem}}
@media(min-width:641px){.findProductOverlay{padding:24px}.findProductSheet{border-radius:28px;align-self:center}.findProductGallery{max-height:500px}}


/* PRODUCT_DETAILS_CART_CONTROL_V001
   Rental dates must layer above the item screen, and cart quantity remains editable in place. */
.findProductCartControl{min-width:0;display:flex;justify-content:flex-end}
.findProductCartControl>.findProductAdd{width:100%;min-width:168px}
.findProductQuantity{width:min(100%,240px);min-height:50px;display:grid;grid-template-columns:48px minmax(70px,1fr) 48px;align-items:stretch;overflow:hidden;border:1px solid color-mix(in srgb,var(--appBlue) 42%,transparent);border-radius:16px;background:var(--appPanel);box-shadow:0 12px 28px rgba(24,182,255,.12)}
.findProductQuantity>button{border:0;background:color-mix(in srgb,var(--appBlue) 10%,var(--appPanel));color:var(--appBlue);font-size:1rem;font-weight:950;touch-action:manipulation}
.findProductQuantity>button:active{background:color-mix(in srgb,var(--appBlue) 18%,var(--appPanel));transform:scale(.96)}
.findProductQuantity label{min-width:0;display:grid;place-content:center;padding:4px 6px;text-align:center;border-inline:1px solid color-mix(in srgb,var(--appText) 9%,transparent)}
.findProductQuantity label span{display:block;color:var(--appMuted);font-size:.5rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.findProductQuantityInput{display:block;width:100%;min-width:0;margin:1px 0 0;padding:0;border:0;outline:0;background:transparent;color:var(--appText);font:inherit;font-size:1rem;font-weight:950;text-align:center;-webkit-appearance:none;appearance:none}
.findProductQuantityInput:focus{color:var(--appBlue)}
@media(max-width:370px){.findProductQuantity{grid-template-columns:42px minmax(58px,1fr) 42px}.findProductCartControl>.findProductAdd{min-width:142px}}

/* Customer-facing item customization */
.findProductSectionHeading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.findProductSectionHeading h3{margin:0}
.findProductSectionHeading p{margin:4px 0 0;color:var(--appMuted);font-size:.7rem;line-height:1.35}
.findAddonSelectionStatus{flex:0 0 auto;color:var(--appBlue);font-size:.65rem;font-weight:900}
.findAddonGroups{display:grid;gap:14px}
.findAddonGroup{min-width:0;margin:0;padding:14px;border:1px solid color-mix(in srgb,var(--appText) 10%,transparent);border-radius:18px;background:var(--appPanel)}
.findAddonGroup.hasError{border-color:#e04f66;box-shadow:0 0 0 3px color-mix(in srgb,#e04f66 12%,transparent)}
.findAddonGroup legend{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:0}
.findAddonGroup legend>span{font-size:.82rem;font-weight:950}
.findAddonGroup legend sup{display:inline-block;margin-left:7px;padding:3px 6px;border-radius:999px;background:color-mix(in srgb,var(--appBlue) 12%,var(--appPanel));color:var(--appBlue);font-size:.46rem;line-height:1;text-transform:uppercase;letter-spacing:.05em;vertical-align:middle}
.findAddonGroup legend>small{color:var(--appMuted);font-size:.56rem;font-weight:800;text-align:right}
.findAddonGroup>p{margin:7px 0 11px;color:var(--appMuted);font-size:.68rem;line-height:1.4}
.findAddonOptions{display:grid;gap:8px;margin-top:10px}
.findAddonOption{width:100%;min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:11px 12px;border:1px solid color-mix(in srgb,var(--appText) 9%,transparent);border-radius:14px;background:color-mix(in srgb,var(--appBg) 65%,var(--appPanel));color:var(--appText);text-align:left}
.findAddonOption.isSelected{border-color:color-mix(in srgb,var(--appBlue) 68%,transparent);background:color-mix(in srgb,var(--appBlue) 9%,var(--appPanel));box-shadow:0 8px 22px rgba(26,173,255,.1)}
.findAddonOptionVisual{width:28px;height:28px;display:grid;place-items:center;flex:0 0 28px}
.findAddonSwatch{width:25px;height:25px;display:block;border:2px solid color-mix(in srgb,var(--appText) 16%,transparent);border-radius:999px;background:var(--addon-color,#fff);box-shadow:inset 0 0 0 2px rgba(255,255,255,.28)}
.findAddonOptionCopy{min-width:0;display:block}
.findAddonOptionCopy b{display:block;font-size:.73rem;line-height:1.25;overflow-wrap:anywhere}
.findAddonOptionCopy small{display:block;margin-top:3px;color:var(--appMuted);font-size:.6rem;line-height:1.35;overflow-wrap:anywhere}
.findAddonOption em,.findAddonQuantityRow>em{color:var(--appMuted);font-size:.6rem;font-style:normal;font-weight:850;white-space:nowrap}
.findAddonCheck{width:23px;height:23px;display:grid;place-items:center;border-radius:999px;background:var(--appBlue);color:#fff;font-size:.7rem;opacity:0;transform:scale(.72);transition:opacity .16s ease,transform .16s ease}
.findAddonOption.isSelected .findAddonCheck{opacity:1;transform:scale(1)}
.findAddonQuantityRow{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 11px;border:1px solid color-mix(in srgb,var(--appText) 9%,transparent);border-radius:14px;background:color-mix(in srgb,var(--appBg) 65%,var(--appPanel))}
.findAddonQuantityRow.isSelected{border-color:color-mix(in srgb,var(--appBlue) 55%,transparent);background:color-mix(in srgb,var(--appBlue) 8%,var(--appPanel))}
.findAddonQuantityRow .findAddonOptionCopy{display:flex;align-items:center;gap:9px}
.findAddonQuantityControl{display:grid;grid-template-columns:34px 38px 34px;height:36px;overflow:hidden;border:1px solid color-mix(in srgb,var(--appText) 10%,transparent);border-radius:11px;background:var(--appBg)}
.findAddonQuantityControl button{border:0;background:transparent;color:var(--appBlue);font-size:.9rem}
.findAddonQuantityControl input{min-width:0;width:100%;padding:0;border:0;border-inline:1px solid color-mix(in srgb,var(--appText) 8%,transparent);outline:0;background:transparent;color:var(--appText);font:inherit;font-size:.72rem;font-weight:950;text-align:center;-webkit-appearance:none;appearance:none}
.findProductAddonPriceNote{display:block;margin-top:2px;color:var(--appBlue);font-size:.52rem;font-weight:850}
.findAddonGroupError{margin-top:8px;color:#e04f66;font-size:.62rem;font-weight:800}
.activeCartAddonSummary{display:-webkit-box;margin-top:4px;color:var(--appMuted);font-size:.58rem;font-style:normal;line-height:1.3;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:390px){.findAddonQuantityRow{grid-template-columns:minmax(0,1fr) auto}.findAddonQuantityControl{grid-template-columns:31px 34px 31px}.findAddonOption{grid-template-columns:auto minmax(0,1fr) auto auto;gap:8px}.findAddonOption>em,.findAddonQuantityRow>em{display:block;font-size:.56rem}.findAddonCheck{grid-column:4}.findAddonOptionVisual{grid-row:1}}

/* Keep the customer's choices immediately below the item's price. */
.findProductCustomizerPrimary{margin-top:14px;border-color:color-mix(in srgb,var(--appBlue) 24%,transparent);background:color-mix(in srgb,var(--appBlue) 3%,var(--appPanel));box-shadow:0 12px 30px rgba(24,182,255,.07)}
.findProductPriorityLabel{display:block;margin-bottom:4px;color:var(--appBlue);font-size:.54rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.findProductCustomizerPrimary+.findProductSummary{margin-top:20px}

/* Selected add-on image preview feedback */
.findProductHeroImage.isOptionPreview{
  animation:findOptionPreviewPulse .26s ease-out;
}
@keyframes findOptionPreviewPulse{
  0%{opacity:.68;transform:scale(.992)}
  100%{opacity:1;transform:scale(1)}
}

/* Merchandising discovery sections */
.findMerchChipGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.findMerchChip{min-height:78px;border:1px solid var(--line,rgba(255,255,255,.12));border-radius:22px;background:var(--panel,#111725);color:inherit;display:flex;align-items:center;gap:12px;padding:16px;text-align:left}.findMerchChip>i:first-child{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:rgba(80,170,255,.14)}.findMerchChip span{display:grid;gap:3px;flex:1}.findMerchChip strong{font-size:15px}.findMerchChip small{opacity:.68}.findEventBuilderCard{width:100%;border:1px solid rgba(111,146,255,.3);border-radius:28px;padding:20px;display:flex;align-items:center;gap:16px;text-align:left;color:inherit;background:linear-gradient(135deg,rgba(52,178,255,.18),rgba(235,75,218,.18))}.findEventBuilderIcon{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:rgba(255,255,255,.12);font-size:23px}.findEventBuilderCard>span:nth-child(2){display:grid;gap:4px;flex:1}.findEventBuilderCard small{text-transform:uppercase;letter-spacing:.14em;font-weight:800;opacity:.7}.findEventBuilderCard strong{font-size:18px}.findEventBuilderCard em{font-style:normal;font-size:13px;line-height:1.4;opacity:.72}@media(max-width:430px){.findMerchChipGrid{grid-template-columns:1fr 1fr}.findMerchChip{padding:13px;min-height:72px}.findEventBuilderCard{padding:17px}.findEventBuilderCard em{display:none}}

.findPackageLiveSection{order:-5}.findPackageLiveSection .findRail{grid-auto-columns:minmax(270px,360px)}.findPackageLiveSection .findExploreCard{border-color:rgba(57,174,255,.28);box-shadow:0 18px 50px rgba(0,112,255,.1)}

/* SEARCH_BAR_POLISH_V001
   Refines the Explore search field without changing search behavior. */
.findToolbar{
  padding:12px 0 14px;
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.findSearch{
  position:relative;
  height:58px;
  gap:12px;
  padding:0 18px;
  border:1px solid color-mix(in srgb,var(--appBlue) 12%,var(--appText) 8%);
  border-radius:22px;
  background:
    linear-gradient(135deg,
      color-mix(in srgb,var(--appPanel) 98%,var(--appBlue) 2%),
      color-mix(in srgb,var(--appPanel) 98%,var(--appPink) 2%));
  box-shadow:
    0 14px 34px rgba(22,35,74,.10),
    inset 0 1px 0 rgba(255,255,255,.72);
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease,background .2s ease;
  overflow:hidden;
}
.findSearch::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(110deg,rgba(25,182,255,.035),transparent 45%,rgba(239,82,199,.035));
}
.findSearch:focus-within{
  border-color:color-mix(in srgb,var(--appBlue) 52%,transparent);
  background:var(--appPanel);
  box-shadow:
    0 0 0 4px color-mix(in srgb,var(--appBlue) 10%,transparent),
    0 17px 38px rgba(22,35,74,.13),
    inset 0 1px 0 rgba(255,255,255,.78);
  transform:translateY(-1px);
}
.findSearch>i{
  position:relative;
  z-index:1;
  flex:0 0 auto;
  color:var(--appBlue);
  font-size:1.18rem;
  filter:drop-shadow(0 3px 8px color-mix(in srgb,var(--appBlue) 22%,transparent));
}
.findSearch input{
  position:relative;
  z-index:1;
  font-size:clamp(.91rem,4vw,1rem);
  font-weight:760;
  letter-spacing:-.018em;
}
.findSearch input::placeholder{
  color:color-mix(in srgb,var(--appMuted) 72%,transparent);
  opacity:1;
}
.findClearBtn{
  position:relative;
  z-index:1;
  width:31px;
  height:31px;
  border:1px solid color-mix(in srgb,var(--appText) 7%,transparent);
  background:color-mix(in srgb,var(--appPanel) 82%,transparent);
  box-shadow:0 5px 14px rgba(12,20,42,.07);
}
@media (prefers-color-scheme:dark){
  .findSearch{
    border-color:color-mix(in srgb,var(--appText) 14%,transparent);
    background:
      linear-gradient(135deg,
        color-mix(in srgb,var(--appPanel) 96%,var(--appBlue) 4%),
        color-mix(in srgb,var(--appPanel) 96%,var(--appPink) 4%));
    box-shadow:
      0 15px 38px rgba(0,0,0,.28),
      inset 0 1px 0 rgba(255,255,255,.055);
  }
  .findSearch::before{
    background:linear-gradient(110deg,rgba(25,182,255,.055),transparent 45%,rgba(239,82,199,.05));
  }
  .findSearch:focus-within{
    border-color:color-mix(in srgb,var(--appBlue) 58%,transparent);
    background:color-mix(in srgb,var(--appPanel) 98%,transparent);
    box-shadow:
      0 0 0 4px color-mix(in srgb,var(--appBlue) 12%,transparent),
      0 18px 42px rgba(0,0,0,.34),
      inset 0 1px 0 rgba(255,255,255,.07);
  }
  .findClearBtn{
    background:color-mix(in srgb,var(--appPanel) 88%,var(--appText) 2%);
  }
}
@media(max-width:640px){
  .findToolbar{padding:10px 0 12px}
  .findSearch{height:56px;border-radius:21px;padding-inline:17px}
}

/* SEARCH_PARENT_TRANSPARENT_V003
   Removes blur and background only from the parent toolbar.
   The actual search field keeps its existing filled background, border, shadow and focus styling. */
.findToolbar{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-shadow:none !important;
}
@media (prefers-color-scheme:dark){
  .findToolbar{
    background:transparent !important;
    background-color:transparent !important;
    background-image:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    box-shadow:none !important;
  }
}

.activeCartPackageSummary{display:block;margin-top:5px;font-style:normal;font-size:11px;line-height:1.45;color:var(--muted,#6f7482)}.activeCartPackageSummary strong{font-size:inherit;color:inherit}

/* PACKAGE_CUSTOMER_DETAILS_V002
   Makes package contents, quantities, retail value, and savings explicit. */
.findPackageSavingsHero{display:flex;align-items:center;gap:12px;margin:12px 0 2px;padding:13px 14px;border:1px solid color-mix(in srgb,var(--appPink) 28%,transparent);border-radius:18px;background:color-mix(in srgb,var(--appPink) 7%,var(--appPanel));box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 62%,transparent)}
.findPackageSavingsHero>i{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:color-mix(in srgb,var(--appPink) 12%,var(--appPanel));color:var(--appPink);font-size:1rem}
.findPackageSavingsHero span{display:grid;gap:2px}.findPackageSavingsHero small{color:var(--appMuted);font-size:.56rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.findPackageSavingsHero strong{color:var(--appText);font-size:.86rem;font-weight:950}
.findPackageContents{border-color:color-mix(in srgb,var(--appBlue) 19%,transparent);background:color-mix(in srgb,var(--appBlue) 3%,var(--appPanel))}
.findPackageItemCount{align-self:flex-start;padding:6px 9px;border:1px solid color-mix(in srgb,var(--appBlue) 18%,transparent);border-radius:999px;background:color-mix(in srgb,var(--appBlue) 7%,var(--appPanel));color:var(--appBlue);font-size:.55rem;font-weight:900;white-space:nowrap}
.findPackageComponentList{display:grid;gap:9px;margin-top:12px}
.findPackageComponent{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px;border:1px solid color-mix(in srgb,var(--appText) 8%,transparent);border-radius:16px;background:color-mix(in srgb,var(--appBg) 62%,var(--appPanel));box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 50%,transparent)}
.findPackageComponentImage{width:52px;height:52px;display:grid;place-items:center;overflow:hidden;border-radius:13px;background:var(--package-component-photo) center/cover no-repeat,color-mix(in srgb,var(--appBlue) 8%,var(--appPanel));color:var(--appBlue)}
.findPackageComponentImage[style*="url('')"]{background:color-mix(in srgb,var(--appBlue) 8%,var(--appPanel))}.findPackageComponentImage>i{font-size:1rem;opacity:.55}
.findPackageComponentCopy{min-width:0;display:grid;gap:2px}.findPackageComponentCopy strong{overflow:hidden;color:var(--appText);font-size:.72rem;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.findPackageComponentCopy span{color:var(--appBlue);font-size:.62rem;font-weight:900}.findPackageComponentCopy small{color:var(--appMuted);font-size:.53rem;font-weight:750}
.findPackageComponentPrice{display:grid;justify-items:end;gap:2px;text-align:right}.findPackageComponentPrice b{color:var(--appText);font-size:.7rem;font-weight:950}.findPackageComponentPrice small{color:var(--appMuted);font-size:.5rem;font-weight:750;white-space:nowrap}
.findPackagePricing{border-color:color-mix(in srgb,var(--appPink) 18%,transparent);background:color-mix(in srgb,var(--appPink) 3%,var(--appPanel))}
.findPackagePriceRows{display:grid;gap:0;margin-top:12px;overflow:hidden;border:1px solid color-mix(in srgb,var(--appText) 8%,transparent);border-radius:16px;background:color-mix(in srgb,var(--appBg) 62%,var(--appPanel))}
.findPackagePriceRows>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 13px;border-bottom:1px solid color-mix(in srgb,var(--appText) 7%,transparent)}.findPackagePriceRows>div:last-child{border-bottom:0}.findPackagePriceRows span{color:var(--appMuted);font-size:.64rem;font-weight:820}.findPackagePriceRows strong{color:var(--appText);font-size:.72rem;font-weight:950}.findPackagePriceRows .isSavings{background:color-mix(in srgb,var(--appPink) 8%,transparent)}.findPackagePriceRows .isSavings span,.findPackagePriceRows .isSavings strong{color:var(--appPink)}.findPackagePriceRows .isNoSavings strong{font-size:.62rem}
.findPackageFooterSavings{display:block;margin-top:2px;color:var(--appPink);font-size:.53rem;font-weight:900}
@media(max-width:390px){.findPackageComponent{grid-template-columns:46px minmax(0,1fr) auto;gap:9px}.findPackageComponentImage{width:46px;height:46px}.findPackageItemCount{font-size:.5rem}.findPackageComponentCopy strong{font-size:.68rem}.findPackageComponentPrice b{font-size:.66rem}}


.findProductAddWrap,.findProductQuantityWrap{display:grid;justify-items:stretch;gap:6px;min-width:min(100%,240px)}
.findPackageQuantityAvailability{display:block;color:var(--appMuted);font-size:.65rem;font-weight:800;line-height:1.25;text-align:center}
.findProductAdd.isUnavailable{cursor:not-allowed;opacity:.58;filter:saturate(.45)}
.findProductQuantity>button:disabled{cursor:not-allowed;opacity:.38;transform:none}


/* CATALOG_IMAGE_REVEAL_V002
   Keep every protected catalog image covered until it has fully loaded and
   decoded. The loading surface uses the same particle-based Infinis infinity
   animation as the platform's existing full-screen loader. */
.findHero,
.findCategoryPhoto,
.findQuickThumb,
.findCollectionMedia,
.findResultPhoto,
.findPackageMedia,
.findDetailMedia,
.findProductHeroImage,
.findPackageComponentImage{
  position:relative;
}
.catalogImageLoading{
  background-image:none!important;
  background-color:color-mix(in srgb,var(--appBlue) 7%,var(--appPanel))!important;
}
.catalogInfinityLoader{
  position:absolute;
  z-index:40;
  inset:0;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:inherit;
  pointer-events:none;
  background:color-mix(in srgb,var(--appPanel) 94%,var(--appBlue) 6%);
  opacity:1;
  transition:opacity .22s ease;
}
.catalogInfinityLoader canvas{
  display:block;
  width:min(46%,92px);
  height:auto;
  aspect-ratio:1.75/1;
  overflow:visible;
  filter:drop-shadow(0 0 8px color-mix(in srgb,var(--appBlue) 30%,transparent));
}
.catalogInfinityLoader.isLeaving{opacity:0}
.catalogImageReady{animation:catalogImageReveal .24s ease-out both}
@keyframes catalogImageReveal{from{opacity:.72}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
  .catalogImageReady{animation:none}
  .catalogInfinityLoader{transition-duration:.08s}
}

}

/* PACKAGE_COMPONENT_IMAGE_CONTAINMENT_V001
   Keep package inventory thumbnails fully inside their dedicated image div. */
.findPackageComponentImage{
  position:relative;
  isolation:isolate;
  overflow:hidden!important;
  contain:paint;
  clip-path:inset(0 round 13px);
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:contain!important;
}
.findPackageComponentImage::before,
.findPackageComponentImage::after{
  max-width:100%;
  max-height:100%;
  overflow:hidden;
}
.findPackageComponentImage>img,
.findPackageComponentImage>picture,
.findPackageComponentImage>picture>img,
.findPackageComponentImage>canvas,
.findPackageComponentImage>video{
  display:block;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:inherit;
  overflow:hidden;
}
.findPackageComponentImage>.catalogInfinityLoader{
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  overflow:hidden!important;
  border-radius:inherit;
  clip-path:inset(0 round 13px);
}
.findPackageComponentImage>.catalogInfinityLoader canvas{
  width:min(64%,72px)!important;
  height:auto!important;
  max-width:72px!important;
  max-height:42px!important;
  overflow:hidden!important;
}
@media(max-width:390px){
  .findPackageComponentImage{clip-path:inset(0 round 12px)}
  .findPackageComponentImage>.catalogInfinityLoader{clip-path:inset(0 round 12px)}
}

/* PACKAGE_COMPONENT_THUMBNAIL_INSET_V002
   Keep the actual inventory artwork comfortably inside the thumbnail frame.
   The background image resolves inside the padded content box, while the
   rounded image div remains the clipping boundary. */
.findPackageComponentImage{
  box-sizing:border-box!important;
  padding:6px!important;
  background-origin:content-box!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:contain!important;
}
.findPackageComponentImage>i{
  display:none!important;
}
.findPackageComponentImage>.catalogInfinityLoader{
  inset:0!important;
  margin:0!important;
}
@media(max-width:390px){
  .findPackageComponentImage{padding:5px!important}
}

/* Included package items open their own product detail overlay while preserving the package position. */
.findProductOverlay.hasChildProduct{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.findPackageComponent[role="button"]{cursor:pointer;transition:transform .16s ease,border-color .16s ease,background-color .16s ease}
.findPackageComponent[role="button"]:active{transform:scale(.985)}
.findPackageComponent[role="button"]:focus-visible{outline:3px solid color-mix(in srgb,var(--appBlue) 42%,transparent);outline-offset:2px}
@media(hover:hover){.findPackageComponent[role="button"]:hover{border-color:color-mix(in srgb,var(--appBlue) 35%,transparent);background:color-mix(in srgb,var(--appBlue) 6%,var(--appPanel))}}

.findCalendarGrid button.isCartFull{box-shadow:inset 0 -4px 0 #2f9e44}.findCalendarGrid button.isCartPartial{box-shadow:inset 0 -4px 0 #f59f00}.findCalendarGrid button.isCartLow{box-shadow:inset 0 -4px 0 #e8590c}.findCalendarGrid button:disabled.isCartLow{opacity:.42;filter:saturate(.6)}
