/* Party Pack | occasion gallery
   Approved desktop layout: four evenly spaced circular photos on each of two
   rows. Scoped entirely to the homepage, leaving the full occasion picker,
   catalogue, filtering, and administration untouched. */
body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery{
 box-sizing:border-box;
 display:block;
 width:100%;
 max-width:none;
 margin:0;
 padding:clamp(68px,5vw,94px) clamp(25px,5vw,92px) clamp(84px,6vw,110px);
 background:#f9f9f9;
 color:#211a1f;
}
body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .section-head{
 display:block;
 width:100%;
 max-width:none;
 margin:0 auto clamp(62px,5.3vw,96px);
 text-align:center;
}
body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .section-head h2{
 margin:0;
 font-family:"Playfair Display", "Times New Roman", Georgia, serif;
 font-size:clamp(42px,4.4vw,68px);
 font-weight:400;
 letter-spacing:-.045em;
 line-height:1.08;
 color:#171216;
 text-wrap:balance;
}
body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .occ-icon-grid{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:clamp(48px,5.1vw,86px) clamp(20px,3vw,58px);
 align-items:start;
 justify-items:stretch;
 width:100%;
 max-width:1640px;
 margin:0 auto;
}
body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .occ-icon-link{
 display:flex;
 flex-direction:column;
 align-items:center;
 width:100%;
 max-width:none;
 min-width:0;
 gap:clamp(24px,2.15vw,37px);
 padding:0;
 margin:0;
 color:#211a1f;
 text-decoration:none;
 text-align:center;
}
body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .occ-medallion{
 box-sizing:border-box;
 flex:none;
 display:block;
 width:min(100%,clamp(169px,13vw,245px));
 height:auto;
 max-width:245px;
 aspect-ratio:1;
 margin:0;
 border:0;
 border-radius:50%;
 overflow:hidden;
 background:#ece8eb;
 box-shadow:none;
 transform:none;
 transition:transform .28s cubic-bezier(.25,.75,.2,1),box-shadow .28s ease;
}
body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .pp-occasion-photo,
body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .pp-occasion-photo>img{
 width:100%;
 height:100%;
 border-radius:50%;
}
body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .pp-occasion-photo>img{
 object-fit:cover;
 object-position:center;
 transform:scale(1.001);
 transition:transform .35s ease;
}
body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .pp-occasion-photo>img[data-occasion-photo="Kiddush"]{object-position:50% 56%}
body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .pp-occasion-photo>img[data-occasion-photo="Bris"]{object-position:50% 42%}
body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .pp-occasion-photo>img[data-occasion-photo="Upsherin"]{object-position:50% 55%}
body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .pp-occasion-photo>img[data-occasion-photo="Birthday"]{object-position:50% 58%}
body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .occ-icon-caption{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 flex-wrap:nowrap;
 gap:13px;
 min-height:26px;
 width:auto;
 max-width:100%;
 margin:0;
 font:500 clamp(15px,1.35vw,21px)/1.3 "Outfit",Inter,sans-serif;
 letter-spacing:-.015em;
 color:#211a1f;
 white-space:nowrap;
}
body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .occ-small-arrow{
 display:inline-block;
 font-size:1.05em;
 line-height:1;
 font-weight:400;
 transition:transform .2s ease;
}
@media(hover:hover) and (pointer:fine){
 body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .occ-icon-link:hover .occ-medallion{
  transform:translateY(-2px);
  box-shadow:0 9px 22px rgba(70,41,62,.08);
 }
 body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .occ-icon-link:hover img{
  transform:scale(1.055);
 }
 body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .occ-icon-link:hover .occ-small-arrow{
  transform:translateX(3px);
 }
}
body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .occ-icon-link:focus-visible{
 outline:2px solid #994282;
 outline-offset:7px;
 border-radius:4px;
}
/* Desktop reference is explicitly 4 × 2, even on normal 1280px laptops.
   Only reduce columns when there genuinely isn't enough room for circles. */
@media(max-width:1050px){
 body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery{
  padding-inline:clamp(20px,5vw,54px);
 }
 body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .occ-icon-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:710px;
  column-gap:clamp(22px,5vw,70px);
  row-gap:42px;
 }
 body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .occ-medallion{
  width:min(100%,215px);
 }
}
@media(max-width:540px){
 body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery{
  padding:58px 14px 68px;
 }
 body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .section-head{
  margin-bottom:39px;
 }
 body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .section-head h2{
  font-size:clamp(36px,9vw,49px);
 }
 body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .occ-icon-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:33px 15px;
 }
 body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .occ-icon-link{
  gap:13px;
 }
 body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .occ-medallion{
  width:min(100%,179px);
 }
 body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .occ-icon-caption{
  font-size:clamp(12px,3.3vw,15px);
  gap:7px;
 }
}
@media(prefers-reduced-motion:reduce){
 body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .occ-medallion,
 body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .occ-small-arrow,
 body.pp-editorial-shop #shop-by-occasion.pp-home-occasion-gallery .pp-occasion-photo>img{
  transition:none!important;
 }
}
