.bpk-wide-catalog{width:min(1740px,calc(100vw - 28px));margin:0 0 60px 50%;transform:translateX(-50%);box-sizing:border-box;color:#10234d;font-family:Montserrat,Arial,sans-serif}.bpk-wide-catalog *{box-sizing:border-box}.bpk-wide-hero,.bpk-wide-section,.bpk-collection-hero,.bpk-home-packages{border:1px solid #ead9b7;border-radius:24px;background:linear-gradient(135deg,#fffefa,#fffaf2);box-shadow:0 16px 38px rgba(20,38,77,.06)}
.bpk-wide-hero{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,2.2fr);gap:28px;padding:28px;margin:20px 0 28px;align-items:stretch}.bpk-wide-hero-copy{padding:68px 20px 58px 2px}.bpk-wide-hero-copy>span,.bpk-wide-heading>span,.bpk-collection-hero>span{display:block;text-transform:uppercase;letter-spacing:.14em;color:#b48731;font-weight:800;font-size:12px}.bpk-wide-hero-copy h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(52px,5vw,84px);line-height:.94;margin:12px 0 22px}.bpk-wide-hero-copy p{max-width:450px;color:#657086;font-size:17px;line-height:1.65}.bpk-wide-benefits{display:flex;gap:13px 20px;flex-wrap:wrap;margin:26px 0;color:#57764a;font-size:13px}.bpk-gold-button{display:inline-flex;padding:13px 20px;border-radius:10px;background:#c89a43;color:#fff!important;font-weight:800;text-decoration:none!important;box-shadow:0 8px 18px rgba(180,126,31,.18)}
.bpk-wide-audience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.bpk-wide-audience-card{overflow:hidden;border-radius:18px;background:#fff;border:1px solid #e5e7ed;box-shadow:0 10px 24px rgba(20,38,77,.08);display:flex;flex-direction:column}.bpk-wide-audience-image{display:block;aspect-ratio:5/7;overflow:hidden;background:#eef1f5}.bpk-wide-audience-image img{width:100%;height:100%;object-fit:cover}.bpk-wide-audience-card>div{position:relative;padding:16px 50px 18px 16px;min-height:118px}.bpk-wide-audience-card h2{font:700 22px/1.15 "Playfair Display",Georgia,serif;margin:0 0 9px}.bpk-wide-audience-card p{font-size:13px;line-height:1.5;color:#687286;margin:0}.bpk-wide-audience-card>div>a{position:absolute;right:14px;bottom:18px;width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#f7f8fb;color:#173365!important;text-decoration:none!important;font-size:25px;font-weight:700}
.bpk-wide-section{padding:42px 34px;margin:28px 0}.bpk-wide-heading{text-align:center;max-width:920px;margin:0 auto 28px}.bpk-wide-heading h2{font:700 clamp(36px,4vw,56px)/1.08 "Playfair Display",Georgia,serif;margin:8px 0 10px}.bpk-wide-heading p{color:#657086;font-size:15px;line-height:1.6;margin:0}
.bpk-v2-carousel{position:relative}.bpk-v2-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 4px 12px}.bpk-v2-track::-webkit-scrollbar{display:none}.bpk-v2-arrow{position:absolute;z-index:5;top:43%;width:44px;height:44px;border-radius:50%;border:1px solid #d9bf8b;background:#fff;color:#173365;font-size:28px;box-shadow:0 7px 18px rgba(20,38,77,.12);cursor:pointer}.bpk-v2-arrow.prev{left:-22px}.bpk-v2-arrow.next{right:-22px}
.bpk-v2-card{display:flex;flex-direction:column;border:1px solid #e2e5ec;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 8px 22px rgba(20,38,77,.07)}.bpk-v2-card.is-carousel{flex:0 0 220px;scroll-snap-align:start}.bpk-v2-image{display:block;aspect-ratio:5/7;background:#f0f2f5;overflow:hidden}.bpk-v2-image img{width:100%;height:100%;object-fit:cover}.bpk-v2-card-body{display:flex;flex-direction:column;padding:15px;min-height:128px}.bpk-v2-card-body h3{font:700 19px/1.18 "Playfair Display",Georgia,serif;margin:0 0 14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:45px}.bpk-open-editor{margin-top:auto;color:#173365!important;font-weight:800;font-size:13px}
.bpk-v2-filters{display:flex;align-items:end;justify-content:center;gap:12px;flex-wrap:wrap;margin:0 auto 28px;padding:18px;border-radius:15px;background:#f8f9fc;border:1px solid #e4e8f0}.bpk-filter-field{display:grid;gap:6px;min-width:160px}.bpk-filter-field span{font-size:12px;font-weight:800;color:#33466d}.bpk-filter-field select{min-height:44px;border:1px solid #cbd4e3;border-radius:9px;background:#fff;padding:0 12px}.bpk-clear-filters{min-height:44px;border-radius:9px;border:1px solid #173365;background:#fff;color:#173365;font-weight:800;padding:0 17px;cursor:pointer}.bpk-v2-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.bpk-v2-card[hidden]{display:none}.bpk-show-more{display:block;margin:30px auto 0;min-height:48px;border:0;border-radius:10px;background:#173365;color:#fff;font-weight:800;padding:0 25px;cursor:pointer}.bpk-v2-empty{text-align:center;padding:30px;color:#687286}
.bpk-collection-hero{padding:55px 44px;margin:20px 0 28px;text-align:center}.bpk-collection-hero h1{font:700 clamp(44px,5vw,72px)/1 "Playfair Display",Georgia,serif;margin:10px 0 16px}.bpk-collection-hero p{max-width:760px;margin:0 auto 20px;color:#687286;font-size:17px}.bpk-collection-hero a{color:#173365!important;font-weight:800}
.bpk-home-packages{padding:42px 28px;margin-top:28px}.bpk-hub-package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.bpk-hub-package{position:relative;display:flex;flex-direction:column;min-height:610px;padding:28px 26px 24px;border:1px solid #e3d8c3;border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(11,35,75,.07)}.bpk-hub-package.popular{border:2px solid #c79a49}.bpk-hub-package>b{position:absolute;top:-16px;left:50%;transform:translateX(-50%);background:#c79a49;color:#fff;padding:7px 15px;border-radius:999px;font-size:12px}.bpk-hub-package h3{text-align:center;font:700 25px/1.2 "Playfair Display",Georgia,serif;margin:16px 0 8px}.bpk-hub-package>p{text-align:center;color:#687286;min-height:44px}.bpk-hub-package ul{padding-left:21px;color:#535f73;line-height:1.6}.bpk-hub-package li{margin:7px 0}.bpk-hub-package>a,.bpk-hub-package>span{display:flex;align-items:center;justify-content:center;min-height:56px;margin-top:auto;border-radius:12px;background:linear-gradient(#c79a49,#b78633);color:#fff!important;font-weight:800;text-decoration:none!important}.bpk-hub-mini-stack{position:relative;height:120px;margin:0 auto;width:210px}.bpk-hub-mini-stack i{position:absolute;left:50%;top:8px;width:78px;height:104px;border:2px solid #d6b16d;border-radius:12px;background:#fff7fb;display:grid;place-items:center;text-align:center;color:#a66e86;font:700 11px/1.2 Georgia,serif;box-shadow:0 8px 18px rgba(11,35,75,.1)}.bpk-hub-mini-stack.count-1 i{transform:translateX(-50%)}.bpk-hub-mini-stack.count-3 i:nth-child(1){transform:translateX(-92%) rotate(-10deg)}.bpk-hub-mini-stack.count-3 i:nth-child(2){transform:translateX(-50%)}.bpk-hub-mini-stack.count-3 i:nth-child(3){transform:translateX(-8%) rotate(10deg)}.bpk-hub-mini-stack.count-10 i:nth-child(1){transform:translateX(-108%) rotate(-12deg)}.bpk-hub-mini-stack.count-10 i:nth-child(2){transform:translateX(-72%) rotate(-4deg)}.bpk-hub-mini-stack.count-10 i:nth-child(3){transform:translateX(-32%) rotate(4deg)}.bpk-hub-mini-stack.count-10 i:nth-child(4){transform:translateX(4%) rotate(12deg)}.bpk-package-note{text-align:center;background:#fff;padding:13px 18px;border-radius:12px;max-width:900px;margin:22px auto 0;color:#596478}
@media(max-width:1250px){.bpk-v2-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.bpk-wide-hero{grid-template-columns:1fr}.bpk-wide-hero-copy{padding:28px 10px}.bpk-wide-audience-grid{max-width:1000px;margin:auto}}
@media(max-width:900px){.bpk-wide-catalog{width:calc(100vw - 18px)}.bpk-wide-audience-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.bpk-wide-audience-card{flex:0 0 74%;scroll-snap-align:start}.bpk-v2-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bpk-hub-package-grid{grid-template-columns:1fr}.bpk-hub-package{min-height:0}}
@media(max-width:600px){.bpk-wide-hero,.bpk-wide-section,.bpk-home-packages{padding:24px 16px}.bpk-wide-hero-copy h1{font-size:49px}.bpk-wide-audience-card{flex-basis:88%}.bpk-v2-card.is-carousel{flex-basis:68vw}.bpk-v2-arrow{display:none}.bpk-v2-grid{grid-template-columns:1fr}.bpk-v2-filters{align-items:stretch}.bpk-filter-field{width:100%}.bpk-clear-filters{width:100%}}


/* 0.7.4 visual refinement */
.bpk-catalog-active .entry-header,.bpk-catalog-active .entry-title,.bpk-catalog-active main>header{display:none!important}
.bpk-wide-audience-card{color:inherit!important;text-decoration:none!important;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.bpk-wide-audience-card:hover{transform:translateY(-4px);border-color:#d5ad5e;box-shadow:0 16px 34px rgba(20,38,77,.13)}
.bpk-wide-audience-copy{display:block;padding:17px 18px 19px;min-height:92px}
.bpk-wide-audience-copy strong{display:block;font:700 24px/1.18 "Playfair Display",Georgia,serif;color:#172d58;margin-bottom:7px}
.bpk-wide-audience-copy small{display:block;font-size:14px;line-height:1.45;color:#687286}
.bpk-wide-audience-card>div{display:none!important}

.bpk-collection-hero{padding:34px 38px;margin:18px 0 22px;border-color:#e5c98f}
.bpk-collection-hero h1{font-size:clamp(40px,4.7vw,62px);margin:7px 0 10px}
.bpk-collection-hero p{margin-bottom:0;font-size:16px}
.bpk-collection-page .bpk-wide-section{padding-top:28px}

.bpk-v2-filters-wrap{margin:0 0 32px;padding:25px 26px 23px;border:1px solid #dfbf7c;border-radius:18px;background:linear-gradient(145deg,#fffaf0,#fff8e9);box-shadow:0 10px 26px rgba(20,38,77,.055)}
.bpk-v2-filters-heading{text-align:center;margin-bottom:18px}
.bpk-v2-filters-heading span{display:block;font:700 30px/1.15 "Playfair Display",Georgia,serif;color:#172d58}
.bpk-v2-filters-heading p{margin:7px 0 0;color:#687286;font-size:14px}
.bpk-v2-filters{margin:0;padding:0;border:0;background:transparent;gap:14px;justify-content:center}
.bpk-filter-field{min-width:180px}
.bpk-filter-field span{color:#8d692b;text-transform:uppercase;letter-spacing:.06em;font-size:11px}
.bpk-filter-field select{min-height:48px;border:1px solid #d8b875;border-radius:11px;background:#fffdf8;color:#243858;font-size:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.bpk-clear-filters{min-height:48px;border:1px solid #b98a39;border-radius:11px;background:linear-gradient(#c79a49,#b78633);color:#fff;font-size:14px;padding:0 21px;box-shadow:0 7px 16px rgba(180,126,31,.18)}
.bpk-clear-filters:hover{filter:brightness(.97)}

.bpk-v2-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.bpk-v2-card:hover{transform:translateY(-3px);border-color:#d5ad5e;box-shadow:0 13px 28px rgba(20,38,77,.11)}
.bpk-v2-card-link{display:flex;flex-direction:column;height:100%;color:inherit!important;text-decoration:none!important}
.bpk-v2-card-body{display:flex;flex-direction:column;min-height:132px;padding:15px 15px 16px}
.bpk-v2-card-body strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:47px;font:700 19px/1.22 "Playfair Display",Georgia,serif;color:#172d58}
.bpk-open-editor{display:inline-flex;margin-top:auto;align-items:center;justify-content:center;min-height:38px;border-radius:9px;background:#173365;color:#fff!important;font-style:normal;font-size:13px;font-weight:800;padding:0 12px}

.bpk-home-packages{border:1px solid #ead5a7;border-radius:22px;background:linear-gradient(145deg,#fffaf0,#fff8e8);box-shadow:0 16px 36px rgba(11,35,75,.07)}
.bpk-hub-package>a,.bpk-hub-package>span{background:linear-gradient(180deg,#c79a49 0%,#b78633 100%)!important;color:#fff!important;box-shadow:0 8px 18px rgba(180,126,31,.18)}

@media(max-width:900px){.bpk-v2-filters-wrap{padding:22px 18px}.bpk-filter-field{min-width:calc(50% - 8px)}}
@media(max-width:600px){.bpk-collection-hero{padding:28px 18px}.bpk-v2-filters-wrap{padding:20px 14px}.bpk-v2-filters-heading span{font-size:26px}.bpk-filter-field{width:100%;min-width:100%}.bpk-wide-audience-copy strong{font-size:22px}}

/* 0.7.5 — stable wide catalog layout and approved component styling */
.bpk-wide-catalog{
  width:min(1760px,calc(100vw - 24px));
  margin:0 0 52px 50%;
  transform:translateX(-50%);
}

/* Homepage: copy first, then Kids → Teen → Adult, always in this order. */
.bpk-wide-hero{
  display:grid!important;
  grid-template-columns:minmax(280px,.9fr) repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  padding:24px!important;
  align-items:stretch!important;
}
.bpk-wide-hero-copy{padding:54px 10px 44px 0!important}
.bpk-wide-audience-card{min-width:0;height:100%}
.bpk-wide-audience-copy{min-height:92px!important;padding:16px 17px 18px!important}
.bpk-wide-audience-copy strong{font-size:22px!important}

/* Compact content sections. */
.bpk-wide-section{padding:30px 30px 28px!important;margin:22px 0!important}
.bpk-wide-heading{margin:0 auto 20px!important}
.bpk-wide-heading h2{margin:6px 0 8px!important}
.bpk-popular-invitations .bpk-v2-track{align-items:flex-start;padding-bottom:4px}
.bpk-popular-invitations .bpk-v2-card{height:auto!important;align-self:flex-start}
.bpk-popular-invitations .bpk-v2-card-body{min-height:118px!important;padding:14px 14px 15px!important}
.bpk-popular-invitations .bpk-v2-card.is-carousel{flex:0 0 clamp(220px,18vw,270px)!important}

/* Gallery arrows match the gold package buttons. */
.bpk-v2-arrow{
  width:46px!important;height:46px!important;
  border:1px solid #b98a39!important;
  background:linear-gradient(180deg,#c79a49 0%,#b78633 100%)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(180,126,31,.22)!important;
  font-size:27px!important;
}
.bpk-v2-arrow.prev{left:-16px!important}
.bpk-v2-arrow.next{right:-16px!important}
.bpk-v2-arrow[hidden]{display:none!important}

/* Collection pages: compact hero and filters pulled upward. */
.bpk-collection-hero{padding:25px 34px!important;margin:16px 0 16px!important}
.bpk-collection-hero h1{font-size:clamp(38px,4.3vw,58px)!important;margin:5px 0 8px!important}
.bpk-collection-hero p{font-size:15px!important;line-height:1.45!important}
.bpk-collection-page .bpk-wide-section{padding:24px 28px 28px!important;margin-top:16px!important}
.bpk-v2-filters-wrap{margin-bottom:26px!important;padding:22px 24px 21px!important}
.bpk-v2-filters-heading{margin-bottom:16px!important}
.bpk-v2-filters-heading span{font-size:28px!important}

/* Refined custom chevrons for filters. */
.bpk-filter-field select{
  -webkit-appearance:none!important;
  appearance:none!important;
  padding:0 42px 0 15px!important;
  background-color:#fffdf8!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M2 2l5 5 5-5' fill='none' stroke='%23906a2d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 15px center!important;
  background-size:14px 9px!important;
}

/* Keep result cards naturally sized and buttons aligned. */
.bpk-v2-grid{align-items:start!important}
.bpk-v2-card{height:100%}
.bpk-v2-card-body{min-height:124px!important}

/* The approved 0.6.9 package component sits inside the full-width catalog. */
.bpk-home-packages-anchor{margin:22px 0 0}
.bpk-home-packages-anchor .bpk-paid-packages{
  max-width:none!important;
  width:100%!important;
  margin:0!important;
}

@media(max-width:1320px){
  .bpk-wide-hero{grid-template-columns:1fr repeat(3,minmax(0,1fr))!important}
  .bpk-wide-hero-copy{padding:36px 8px 32px 0!important}
  .bpk-wide-hero-copy h1{font-size:clamp(48px,5vw,68px)!important}
}
@media(max-width:1080px){
  .bpk-wide-hero{grid-template-columns:1fr!important}
  .bpk-wide-hero-copy{text-align:center;padding:24px 12px!important}
  .bpk-wide-hero-copy p{margin-left:auto;margin-right:auto}
  .bpk-wide-benefits{justify-content:center}
  .bpk-wide-audience-card{width:100%}
  .bpk-wide-hero{grid-auto-flow:row}
}
@media(min-width:901px) and (max-width:1080px){
  .bpk-wide-hero{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .bpk-wide-hero-copy{grid-column:1/-1!important}
}
@media(max-width:900px){
  .bpk-wide-hero{display:flex!important;flex-direction:column!important}
  .bpk-wide-audience-card{flex:none!important}
}


/* 0.7.6 — merged collection header + filters, repaired homepage and carousel */

/* Homepage uses a reliable two-part layout: copy left, 3-card audience grid right. */
.bpk-birthday-hub .bpk-wide-hero{
  display:grid!important;
  grid-template-columns:minmax(300px,.78fr) minmax(0,2.35fr)!important;
  gap:26px!important;
  padding:26px!important;
  align-items:stretch!important;
}
.bpk-birthday-hub .bpk-wide-hero-copy{
  padding:46px 14px 38px 4px!important;
  min-width:0!important;
}
.bpk-birthday-hub .bpk-wide-hero-copy h1{
  font-size:clamp(48px,4.4vw,72px)!important;
  line-height:.96!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.bpk-birthday-hub .bpk-wide-audience-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  min-width:0!important;
  align-items:stretch!important;
}
.bpk-birthday-hub .bpk-wide-audience-card{
  width:auto!important;
  min-width:0!important;
  height:100%!important;
}
.bpk-birthday-hub .bpk-wide-audience-image{aspect-ratio:5/7!important}

/* Popular gallery: compact, balanced and always visibly a carousel. */
.bpk-birthday-hub .bpk-popular-invitations{
  padding:26px 30px 24px!important;
  min-height:0!important;
  overflow:visible!important;
}
.bpk-birthday-hub .bpk-popular-invitations .bpk-wide-heading{
  margin:0 auto 16px!important;
}
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-carousel{
  max-width:1240px!important;
  margin:0 auto!important;
  padding:0 34px!important;
}
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-track{
  gap:16px!important;
  padding:4px 2px 2px!important;
  align-items:flex-start!important;
}
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-card.is-carousel{
  flex:0 0 250px!important;
  height:auto!important;
  align-self:flex-start!important;
}
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-card-body{
  min-height:112px!important;
  padding:13px 14px 14px!important;
}
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-arrow{
  display:grid!important;
  place-items:center!important;
  top:43%!important;
}
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-arrow.prev{left:0!important}
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-arrow.next{right:0!important}
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-arrow:disabled{
  opacity:.42!important;
  cursor:default!important;
  filter:grayscale(.1)!important;
}

/* Collection page: one unified premium block instead of two stacked cards. */
.bpk-collection-page{
  margin-top:0!important;
}
.bpk-collection-combined{
  border:1px solid #e2c37f!important;
  border-radius:24px!important;
  background:linear-gradient(145deg,#fffdf8,#fff8e9)!important;
  box-shadow:0 16px 38px rgba(20,38,77,.06)!important;
  padding:30px 34px 30px!important;
  margin:10px 0 24px!important;
}
.bpk-collection-intro{
  text-align:center!important;
  padding:0 18px 20px!important;
  border-bottom:1px solid rgba(198,151,67,.24)!important;
}
.bpk-collection-intro>span{
  display:block!important;
  text-transform:uppercase!important;
  letter-spacing:.14em!important;
  color:#b48731!important;
  font-weight:800!important;
  font-size:12px!important;
}
.bpk-collection-intro h1{
  font:700 clamp(38px,4vw,58px)/1.02 "Playfair Display",Georgia,serif!important;
  margin:7px 0 8px!important;
  color:#10234d!important;
}
.bpk-collection-intro p{
  max-width:760px!important;
  margin:0 auto!important;
  color:#687286!important;
  font-size:15px!important;
  line-height:1.45!important;
}
.bpk-collection-results-shell{
  padding-top:22px!important;
}
.bpk-collection-page .bpk-v2-filters-wrap{
  margin:0 0 22px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.bpk-collection-page .bpk-v2-filters-heading{
  margin-bottom:15px!important;
}
.bpk-collection-page .bpk-v2-filters-heading span{
  font-size:26px!important;
}
.bpk-collection-page .bpk-v2-grid{
  align-items:start!important;
}
.bpk-collection-page .bpk-v2-card{
  height:auto!important;
  align-self:start!important;
}
.bpk-collection-page .bpk-v2-card-body{
  min-height:118px!important;
}

@media(max-width:1320px){
  .bpk-birthday-hub .bpk-wide-hero{
    grid-template-columns:1fr!important;
  }
  .bpk-birthday-hub .bpk-wide-hero-copy{
    text-align:center!important;
    padding:26px 20px 22px!important;
  }
  .bpk-birthday-hub .bpk-wide-hero-copy p{margin-left:auto!important;margin-right:auto!important}
  .bpk-birthday-hub .bpk-wide-benefits{justify-content:center!important}
  .bpk-birthday-hub .bpk-wide-audience-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:900px){
  .bpk-birthday-hub .bpk-wide-audience-grid{
    display:flex!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
  }
  .bpk-birthday-hub .bpk-wide-audience-card{
    flex:0 0 78%!important;
    scroll-snap-align:start!important;
  }
  .bpk-collection-combined{padding:24px 18px 26px!important;margin-top:8px!important}
}
@media(max-width:600px){
  .bpk-birthday-hub .bpk-popular-invitations{padding:22px 14px 20px!important}
  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-carousel{padding:0 4px!important}
  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-arrow{display:none!important}
  .bpk-collection-intro{padding:0 4px 17px!important}
  .bpk-collection-intro h1{font-size:38px!important}
}


/* 0.7.7 — final homepage-only layout repair. Collection pages remain unchanged. */

/* Stable desktop hero: copy on the left, Kids → Teen → Adult in one row on the right. */
@media (min-width:1101px){
  .bpk-birthday-hub .bpk-wide-hero{
    display:grid!important;
    grid-template-columns:minmax(300px,0.78fr) minmax(0,2.45fr)!important;
    gap:24px!important;
    padding:26px!important;
    align-items:stretch!important;
  }
  .bpk-birthday-hub .bpk-wide-hero-copy{
    padding:48px 12px 40px 4px!important;
    min-width:0!important;
  }
  .bpk-birthday-hub .bpk-wide-hero-copy h1{
    font-size:clamp(48px,4.2vw,70px)!important;
    line-height:.96!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }
  .bpk-birthday-hub .bpk-wide-audience-grid{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:16px!important;
    min-width:0!important;
    align-items:stretch!important;
  }
  .bpk-birthday-hub .bpk-wide-audience-card{
    flex:1 1 0!important;
    width:0!important;
    min-width:0!important;
    height:auto!important;
  }
}
@media (min-width:901px) and (max-width:1100px){
  .bpk-birthday-hub .bpk-wide-hero{
    display:block!important;
    padding:24px!important;
  }
  .bpk-birthday-hub .bpk-wide-hero-copy{
    text-align:center!important;
    padding:22px 14px 24px!important;
  }
  .bpk-birthday-hub .bpk-wide-hero-copy p{margin-left:auto!important;margin-right:auto!important}
  .bpk-birthday-hub .bpk-wide-benefits{justify-content:center!important}
  .bpk-birthday-hub .bpk-wide-audience-grid{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:15px!important;
  }
  .bpk-birthday-hub .bpk-wide-audience-card{flex:1 1 0!important;min-width:0!important}
}

/* Audience cards: same height and order, with compact copy areas. */
.bpk-birthday-hub .bpk-wide-audience-image{aspect-ratio:5/7!important}
.bpk-birthday-hub .bpk-wide-audience-copy{
  min-height:98px!important;
  padding:16px 17px 17px!important;
}
.bpk-birthday-hub .bpk-wide-audience-copy strong{font-size:22px!important}

/* Popular Invitations: compact carousel, no stretched cards or empty lower area. */
.bpk-birthday-hub .bpk-popular-invitations{
  padding:26px 28px 24px!important;
  min-height:0!important;
  overflow:hidden!important;
}
.bpk-birthday-hub .bpk-popular-invitations .bpk-wide-heading{
  margin:0 auto 18px!important;
}
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-carousel{
  position:relative!important;
  width:min(1120px,100%)!important;
  margin:0 auto!important;
  padding:0 54px!important;
  overflow:visible!important;
}
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-track{
  display:flex!important;
  gap:16px!important;
  align-items:flex-start!important;
  padding:3px 0 2px!important;
  overflow-x:auto!important;
}
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-card.is-carousel{
  flex:0 0 238px!important;
  width:238px!important;
  height:auto!important;
  min-height:0!important;
  align-self:flex-start!important;
}
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-card-link{
  height:auto!important;
}
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-card-body{
  min-height:116px!important;
  height:auto!important;
  padding:14px 14px 14px!important;
}
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-card-body strong{
  min-height:45px!important;
  margin-bottom:10px!important;
}
.bpk-birthday-hub .bpk-popular-invitations .bpk-open-editor{
  min-height:38px!important;
  margin-top:auto!important;
}
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-arrow{
  display:grid!important;
  place-items:center!important;
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:46px!important;
  height:46px!important;
  border-radius:50%!important;
  border:1px solid #b98a39!important;
  background:linear-gradient(180deg,#c79a49 0%,#b78633 100%)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(180,126,31,.22)!important;
  font-size:27px!important;
  z-index:6!important;
}
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-arrow.prev{left:2px!important}
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-arrow.next{right:2px!important}
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-arrow:disabled{opacity:.45!important}

/* All Invitations stays orderly and buttons line up. */
.bpk-birthday-hub #bpk-all-invitations .bpk-v2-grid{align-items:start!important}
.bpk-birthday-hub #bpk-all-invitations .bpk-v2-card{height:auto!important;align-self:start!important}
.bpk-birthday-hub #bpk-all-invitations .bpk-v2-card-body{min-height:124px!important}

/* Use the approved 0.6.9 package visual exactly, stretched only at the outside. */
.bpk-birthday-hub .bpk-home-packages-anchor{
  width:100%!important;
  margin:22px 0 0!important;
}
.bpk-birthday-hub .bpk-home-packages-anchor .bpk-paid-packages{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:38px 28px!important;
  border:1px solid #ead5a7!important;
  border-radius:24px!important;
  background:linear-gradient(145deg,#fffaf0,#fff8e8)!important;
  box-shadow:0 16px 36px rgba(11,35,75,.07)!important;
}
.bpk-birthday-hub .bpk-home-packages-anchor .bpk-paid-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:22px!important;
  align-items:stretch!important;
  margin-top:30px!important;
}
.bpk-birthday-hub .bpk-home-packages-anchor .bpk-paid-card{
  min-height:640px!important;
  padding:28px 26px 24px!important;
  border:1.5px solid #e3d8c3!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 10px 28px rgba(11,35,75,.07)!important;
}
.bpk-birthday-hub .bpk-home-packages-anchor .bpk-paid-card.popular{
  border:2px solid #c79a49!important;
  box-shadow:0 13px 32px rgba(180,126,31,.13)!important;
}
.bpk-birthday-hub .bpk-home-packages-anchor .bpk-paid-card>a,
.bpk-birthday-hub .bpk-home-packages-anchor .bpk-paid-card>span[data-package-buy]{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:56px!important;
  width:100%!important;
  margin-top:auto!important;
  padding:0 18px!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#c79a49 0%,#b78633 100%)!important;
  color:#fff!important;
  font-size:17px!important;
  font-weight:800!important;
  text-decoration:none!important;
  box-shadow:0 8px 18px rgba(180,126,31,.18)!important;
}
.bpk-birthday-hub .bpk-home-packages-anchor .bpk-paid-footnote{
  max-width:900px!important;
  margin:22px auto 0!important;
  padding:13px 18px!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.76)!important;
}

@media(max-width:900px){
  .bpk-birthday-hub .bpk-wide-audience-grid{
    display:flex!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
  }
  .bpk-birthday-hub .bpk-wide-audience-card{
    flex:0 0 78%!important;
    width:auto!important;
    scroll-snap-align:start!important;
  }
  .bpk-birthday-hub .bpk-home-packages-anchor .bpk-paid-grid{grid-template-columns:1fr!important}
  .bpk-birthday-hub .bpk-home-packages-anchor .bpk-paid-card{min-height:0!important}
}
@media(max-width:600px){
  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-carousel{padding:0!important}
  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-arrow{display:none!important}
  .bpk-birthday-hub .bpk-home-packages-anchor .bpk-paid-packages{padding:28px 14px!important}
}


/* 0.7.8 — final spacing, six-card carousel geometry, and package CTA repair */

/* Popular Invitations: room for six cards when available, shorter cards, arrows aligned to image center. */
.bpk-birthday-hub .bpk-popular-invitations{
  padding:22px 24px 18px!important;
  margin:20px 0!important;
}
.bpk-birthday-hub .bpk-popular-invitations .bpk-wide-heading{
  margin:0 auto 12px!important;
}
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-carousel{
  width:min(1540px,100%)!important;
  max-width:1540px!important;
  padding:0 48px!important;
}
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-track{
  gap:14px!important;
  padding:2px 0 0!important;
}
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-card.is-carousel{
  flex:0 0 clamp(190px,13.2vw,230px)!important;
  width:clamp(190px,13.2vw,230px)!important;
}
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-card-body{
  min-height:98px!important;
  padding:10px 12px 11px!important;
}
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-card-body strong{
  min-height:41px!important;
  margin:0 0 7px!important;
  font-size:17px!important;
  line-height:1.18!important;
}
.bpk-birthday-hub .bpk-popular-invitations .bpk-open-editor{
  min-height:35px!important;
  height:35px!important;
  margin-top:auto!important;
  padding:0 12px!important;
}
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-arrow{
  top:41%!important;
  width:44px!important;
  height:44px!important;
}
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-arrow.prev{left:4px!important}
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-arrow.next{right:4px!important}

/* All Invitations: reduce space between heading and cards and shorten card bottoms. */
.bpk-birthday-hub #bpk-all-invitations{
  padding:24px 28px 18px!important;
  margin:20px 0!important;
}
.bpk-birthday-hub #bpk-all-invitations .bpk-wide-heading{
  margin:0 auto 15px!important;
}
.bpk-birthday-hub #bpk-all-invitations .bpk-v2-grid{
  gap:16px!important;
}
.bpk-birthday-hub #bpk-all-invitations .bpk-v2-card-body{
  min-height:98px!important;
  padding:10px 12px 11px!important;
}
.bpk-birthday-hub #bpk-all-invitations .bpk-v2-card-body strong{
  min-height:41px!important;
  margin:0 0 7px!important;
  font-size:17px!important;
  line-height:1.18!important;
}
.bpk-birthday-hub #bpk-all-invitations .bpk-open-editor{
  min-height:35px!important;
  height:35px!important;
  padding:0 12px!important;
}

/* Collection result cards: same compact footer as the homepage cards. */
.bpk-collection-page .bpk-v2-card-body{
  min-height:98px!important;
  padding:10px 12px 11px!important;
}
.bpk-collection-page .bpk-v2-card-body strong{
  min-height:41px!important;
  margin:0 0 7px!important;
  font-size:17px!important;
  line-height:1.18!important;
}
.bpk-collection-page .bpk-open-editor{
  min-height:35px!important;
  height:35px!important;
  padding:0 12px!important;
}

/* Package block: use the approved full-width gold buttons and remove extra lower air. */
.bpk-birthday-hub .bpk-home-packages-anchor{
  margin:20px 0 0!important;
}
.bpk-birthday-hub .bpk-home-packages-anchor .bpk-paid-packages{
  padding:30px 24px 22px!important;
  margin:0!important;
}
.bpk-birthday-hub .bpk-home-packages-anchor .bpk-paid-grid{
  margin-top:24px!important;
  gap:20px!important;
}
.bpk-birthday-hub .bpk-home-packages-anchor .bpk-paid-card{
  min-height:585px!important;
  padding:24px 24px 18px!important;
}
.bpk-birthday-hub .bpk-home-packages-anchor .bpk-package-benefits{
  margin-bottom:18px!important;
}
.bpk-birthday-hub .bpk-home-packages-anchor .bpk-package-cta{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:54px!important;
  margin-top:auto!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#c79a49 0%,#b78633 100%)!important;
  color:#fff!important;
  font-size:17px!important;
  font-weight:800!important;
  line-height:1!important;
  text-align:center!important;
  text-decoration:none!important;
  box-shadow:0 8px 18px rgba(180,126,31,.18)!important;
}
.bpk-birthday-hub .bpk-home-packages-anchor .bpk-paid-footnote{
  margin:16px auto 0!important;
  padding:11px 16px!important;
}

@media(max-width:1100px){
  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-card.is-carousel{
    flex-basis:220px!important;
    width:220px!important;
  }
}
@media(max-width:600px){
  .bpk-birthday-hub .bpk-popular-invitations{padding:18px 12px 15px!important}
  .bpk-birthday-hub #bpk-all-invitations{padding:20px 14px 16px!important}
}
\n\n/* 0.7.8.95 — hard mobile viewport containment for Birthday Invitations.\n   This stylesheet is loaded only on BPK catalog pages, so clipping the page\n   viewport here does not affect unrelated WordPress pages. */\n@media (max-width: 900px) {\n  html, body {\n    max-width: 100% !important;\n    overflow-x: hidden !important;\n  }\n\n  #page, #content, #primary, main, article, .entry-content {\n    max-width: 100% !important;\n    min-width: 0 !important;\n  }\n\n  .bpk-birthday-hub.bpk-wide-catalog {\n    width: calc(100% - 16px) !important;\n    max-width: calc(100% - 16px) !important;\n    min-width: 0 !important;\n    margin: 0 auto 44px !important;\n    transform: none !important;\n    overflow-x: clip !important;\n  }\n\n  .bpk-birthday-hub .bpk-wide-hero,\n  .bpk-birthday-hub .bpk-wide-section,\n  .bpk-birthday-hub .bpk-home-packages,\n  .bpk-birthday-hub .bpk-popular-invitations,\n  .bpk-birthday-hub #bpk-all-invitations,\n  .bpk-birthday-hub .bpk-v2-carousel {\n    width: 100% !important;\n    max-width: 100% !important;\n    min-width: 0 !important;\n  }\n\n  .bpk-birthday-hub .bpk-wide-audience-grid,\n  .bpk-birthday-hub .bpk-v2-track {\n    width: 100% !important;\n    max-width: 100% !important;\n    min-width: 0 !important;\n    overflow-x: auto !important;\n    overflow-y: hidden !important;\n    overscroll-behavior-x: contain !important;\n    -webkit-overflow-scrolling: touch !important;\n  }\n\n  .bpk-birthday-hub img,\n  .bpk-birthday-hub svg,\n  .bpk-birthday-hub video,\n  .bpk-birthday-hub iframe {\n    max-width: 100% !important;\n  }\n}\n

/* 0.7.8.98 — structural Popular Invitations viewport fix.
   The scroll track now lives inside a real clipped viewport. This prevents
   Android browsers from painting carousel cards outside the beige section. */
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-carousel {
  min-width: 0 !important;
}
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-viewport {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  overflow: clip !important;
  box-sizing: border-box !important;
}
.bpk-birthday-hub .bpk-popular-invitations .bpk-v2-viewport > .bpk-v2-track {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
@media (max-width: 700px) {
  .bpk-birthday-hub .bpk-popular-invitations {
    overflow: hidden !important;
    box-sizing: border-box !important;
  }
  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-carousel {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-viewport {
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    overflow: clip !important;
    contain: paint !important;
  }
  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-viewport > .bpk-v2-track {
    display: flex !important;
    gap: 14px !important;
    padding: 3px 0 5px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-x: contain !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x proximity !important;
    touch-action: pan-x pan-y !important;
  }
  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-card.is-carousel {
    flex: 0 0 min(78vw, 300px) !important;
    width: min(78vw, 300px) !important;
    max-width: calc(100vw - 70px) !important;
    scroll-snap-align: start !important;
  }
}


/* 0.7.8.99 — mobile audience/category carousel containment.
   The Kids / Teen / Adult cards in the top Birthday Invitations hero are
   intentionally swipeable on phones, but the swipe track must remain inside
   the beige hero card and must never widen the document viewport. */
@media (max-width: 900px) {
  .bpk-birthday-hub .bpk-wide-hero {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    overflow: clip !important;
  }

  .bpk-birthday-hub .bpk-wide-audience-grid {
    display: flex !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 2px 8px !important;
    gap: 14px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scroll-padding-inline: 2px !important;
    overscroll-behavior-x: contain !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    box-sizing: border-box !important;
  }

  .bpk-birthday-hub .bpk-wide-audience-grid::-webkit-scrollbar {
    display: none !important;
  }

  .bpk-birthday-hub .bpk-wide-audience-card {
    flex: 0 0 min(82%, 340px) !important;
    width: min(82%, 340px) !important;
    max-width: calc(100% - 28px) !important;
    min-width: 0 !important;
    scroll-snap-align: start !important;
    scroll-snap-stop: normal !important;
    box-sizing: border-box !important;
  }

  .bpk-birthday-hub .bpk-wide-audience-card,
  .bpk-birthday-hub .bpk-wide-audience-image,
  .bpk-birthday-hub .bpk-wide-audience-image img,
  .bpk-birthday-hub .bpk-wide-audience-copy {
    max-width: 100% !important;
  }
}

@media (max-width: 600px) {
  .bpk-birthday-hub .bpk-wide-audience-grid {
    gap: 12px !important;
  }

  .bpk-birthday-hub .bpk-wide-audience-card {
    flex-basis: min(86%, 320px) !important;
    width: min(86%, 320px) !important;
    max-width: calc(100% - 22px) !important;
  }
}


/* 0.7.8.124 — mobile gesture + Samsung/Android light-mode hardening. */
body.bpk-catalog-active{
  color-scheme:only light;
}
@media (prefers-color-scheme: dark){
  body.bpk-catalog-active,
  body.bpk-catalog-active #page,
  body.bpk-catalog-active #content,
  body.bpk-catalog-active #primary,
  body.bpk-catalog-active main,
  body.bpk-catalog-active article,
  body.bpk-catalog-active .entry-content{
    background:#f4f6fa!important;
    color:#10234d!important;
  }
  body.bpk-catalog-active .site-header,
  body.bpk-catalog-active .ast-primary-header-bar,
  body.bpk-catalog-active .main-header-bar,
  body.bpk-catalog-active .ast-mobile-header-wrap,
  body.bpk-catalog-active .ast-mobile-header-content{
    background:#f7f2e7!important;
    color:#0b234b!important;
  }
  body.bpk-catalog-active .bpk-wide-hero,
  body.bpk-catalog-active .bpk-wide-section,
  body.bpk-catalog-active .bpk-collection-hero,
  body.bpk-catalog-active .bpk-home-packages,
  body.bpk-catalog-active .bpk-popular-invitations,
  body.bpk-catalog-active .bpk-collection-combined{
    background:#fffdf8!important;
    color:#10234d!important;
    border-color:#ead9b7!important;
  }
  body.bpk-catalog-active .bpk-wide-hero-copy h1,
  body.bpk-catalog-active .bpk-wide-heading h2,
  body.bpk-catalog-active .bpk-collection-hero h1,
  body.bpk-catalog-active .bpk-v2-card-body strong,
  body.bpk-catalog-active .bpk-wide-audience-copy strong{
    color:#10234d!important;
  }
  body.bpk-catalog-active .bpk-wide-hero-copy p,
  body.bpk-catalog-active .bpk-wide-heading p,
  body.bpk-catalog-active .bpk-wide-audience-copy p,
  body.bpk-catalog-active .bpk-v2-card-body p{
    color:#667087!important;
  }
  body.bpk-catalog-active .bpk-v2-card,
  body.bpk-catalog-active .bpk-wide-audience-card{
    background:#fff!important;
  }
}

/* Fixed 49px mobile heading could overflow narrow Samsung Internet viewports,
   especially with accessibility/text scaling. Scale by the real viewport instead. */
@media (max-width:600px){
  body.bpk-catalog-active .bpk-birthday-hub .bpk-wide-hero-copy{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    text-align:center!important;
  }
  body.bpk-catalog-active .bpk-birthday-hub .bpk-wide-hero-copy h1{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:0!important;
    text-align:center!important;
    font-size:clamp(36px,10.8vw,49px)!important;
    line-height:1.02!important;
    letter-spacing:-.02em!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
}

/* 0.7.8.125 — final mobile Popular Invitations gesture override.
   Keep native horizontal overflow, but remove snap/momentum rules that can trap
   vertical scrolling in Samsung Internet after a diagonal or rapid swipe. */
@media (max-width: 900px) and (pointer: coarse) {
  body.bpk-catalog-active .bpk-popular-invitations .bpk-v2-viewport,
  body.bpk-catalog-active .bpk-popular-invitations .bpk-v2-track,
  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-viewport,
  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-track {
    scroll-snap-type: none !important;
    scroll-behavior: auto !important;
    overscroll-behavior: auto !important;
    overscroll-behavior-x: auto !important;
    overscroll-behavior-y: auto !important;
    touch-action: auto !important;
    -webkit-overflow-scrolling: auto !important;
  }

  body.bpk-catalog-active .bpk-popular-invitations .bpk-v2-card.is-carousel,
  .bpk-birthday-hub .bpk-popular-invitations .bpk-v2-card.is-carousel {
    scroll-snap-align: none !important;
    scroll-snap-stop: normal !important;
  }
}


/* 0.7.8.126 — Samsung narrow-view title containment.
   Keep the hero title centered even when Samsung Internet applies larger
   accessibility text sizing. The title is allowed to wrap to two lines,
   but each word must remain inside the card. */
@media (max-width: 600px) {
  body.bpk-catalog-active .bpk-birthday-hub .bpk-wide-hero-copy {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    text-align: center !important;
  }

  body.bpk-catalog-active .bpk-birthday-hub .bpk-wide-hero-copy h1 {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
    text-align: center !important;
    font-size: clamp(31px, 9.4vw, 40px) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.015em !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }
}

/* 0.7.8.134 — Samsung title containment, independent of body catalog class.
   Some Samsung/forced-dark page states do not retain the expected body class,
   so apply the same mobile geometry directly to the birthday hub itself. */
@media (max-width: 600px) {
  .bpk-birthday-hub .bpk-wide-hero-copy {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    text-align: center !important;
  }

  .bpk-birthday-hub .bpk-wide-hero-copy h1 {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: center !important;
    font-size: clamp(31px, 9.4vw, 40px) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.015em !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    text-indent: 0 !important;
  }
}

/* 0.7.8.134 — Samsung hero title: independent centered lines.
   Samsung Internet can apply font boosting/text inflation in forced dark mode.
   Each line is centered by its own intrinsic width so the optical center cannot drift. */
@media (max-width: 600px) {
  .bpk-birthday-hub .bpk-wide-hero-copy,
  .bpk-birthday-hub .bpk-wide-hero-copy h1,
  .bpk-birthday-hub .bpk-wide-hero-copy .bpk-hero-title-line {
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
  }

  .bpk-birthday-hub .bpk-wide-hero-copy h1 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 14px auto 22px !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
    text-align: center !important;
    font-size: clamp(30px, 9vw, 38px) !important;
    line-height: 1.02 !important;
    overflow: visible !important;
  }

  .bpk-birthday-hub .bpk-wide-hero-copy .bpk-hero-title-line {
    display: block !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
    white-space: nowrap !important;
    text-align: center !important;
    transform: none !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
  }
}

/* 0.7.8.136 — keep the homepage hero title normal on desktop.
   Mobile rules below still turn each word into its own centered line. */
@media (min-width: 601px) {
  .bpk-birthday-hub .bpk-wide-hero-copy .bpk-hero-title-line {
    display: inline !important;
    width: auto !important;
    max-width: none !important;
    white-space: normal !important;
  }
}
