/* Existing paper #f9f7f3, ivory #fffdf9, sand #ede6db, cocoa #5f4741,
   ink #3b312a. Onest stays unchanged; only the new gift scene is editorial. */
.refinement-warm#top .welcome-gifts-layout { display:block; width:100%; }
.welcome-gifts-scene { position:relative; width:100%; max-width:1000px; margin:0 auto; padding-bottom:40px; min-width:0; }
.welcome-gifts-scene picture, .welcome-gifts-scene img { display:block; width:100%; height:auto; }
.welcome-gifts-labels { list-style:none; margin:0; padding:0; }
.welcome-gifts-labels li { position:absolute; transform:translateX(-50%); font-size:13px; font-weight:500; line-height:1.35; white-space:nowrap; padding:5px 12px; background:#fffdf9; color:#3b312a; border-radius:100px; }
/* Top labels sit in the clear gaps between products, never over the puppy. */
.welcome-gifts-labels .gift-bed { left:18%; top:calc(39.2% - 15.68px); }
.welcome-gifts-labels .gift-bowl { left:84%; top:calc(54.5% - 21.8px); }
.welcome-gifts-labels .gift-food { left:18%; bottom:0; }
.welcome-gifts-labels .gift-toy { left:86%; bottom:0; }
.refinement-warm#top .calc-progress-fill { width:25%; }
.refinement-warm#top #catalog .puppy-photo-gallery .puppy-gallery-slide { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.puppy-photo-gallery { touch-action:pan-y; }
.refinement-warm#top #catalog .puppy-photo-open { position:absolute; inset:0; display:block; width:100%; height:100%; margin:0; padding:0; border:0; border-radius:0; background:#ede6db; cursor:zoom-in; }
.refinement-warm#top #catalog .puppy-photo-open img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; transform:none; }
.refinement-warm#top #catalog .puppy-photo-open img[hidden] { display:none!important; }
.refinement-warm#top #catalog .puppy-photo-open:focus-visible { outline:3px solid #5f4741; outline-offset:-5px; }
.puppy-photo-zoom { position:absolute; top:12px; right:12px; display:grid; place-items:center; width:32px; height:32px; border:1px solid #e0d5c6; border-radius:50%; background:#fffdf9; color:#5f4741; pointer-events:none; }
.puppy-photo-zoom svg { width:18px; height:18px; }
.refinement-warm#top #lightbox { background:rgba(33,28,25,.96); }
.refinement-warm#top #lightbox .lightbox-frame { width:min(1100px,calc(100vw - 140px)); height:calc(100dvh - 150px); touch-action:pan-y; }
.refinement-warm#top #lightbox img { object-fit:contain; object-position:center; }
.lightbox-caption { position:absolute; inset:auto 70px 24px; display:flex; justify-content:center; align-items:center; gap:16px; color:#fffdf9; font-size:14px; line-height:1.5; text-align:center; pointer-events:none; }
#lightboxCount { white-space:nowrap; }
.lightbox-arrow[hidden] { display:none!important; }
.lightbox-close:focus-visible, .lightbox-arrow:focus-visible { outline:2px solid #fffdf9; outline-offset:4px; }
.refinement-warm#top #catalog .puppy-photo-gallery .puppy-gallery-slide--contain { object-fit:contain; object-position:center!important; background:#ede6db; }
.refinement-warm#top #catalog .catalog-color-note { margin:-8px 0 26px; font-size:13px; line-height:1.5; color:#756c63; }
.puppy-gallery-controls { position:absolute; inset:auto 12px 12px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.puppy-gallery-arrow { display:grid; place-items:center; width:40px; height:40px; padding:0; border:1px solid #e0d5c6; border-radius:50%; background:#fffdf9; color:#5f4741; font:400 25px/1 var(--font); cursor:pointer; }
.puppy-gallery-arrow:hover { background:#ede6db; }
.puppy-gallery-arrow:focus-visible { outline:2px solid #5f4741; outline-offset:3px; }
.puppy-gallery-status { padding:6px 11px; border-radius:100px; background:#fffdf9; color:#3b312a; font-size:12px; line-height:1.4; }
.refinement-warm#top #address .contact-map-link { justify-content:center; max-width:100%; margin-top:14px; white-space:normal; text-align:center; }
@media(min-width:601px) {
  .refinement-warm#top #catalog .puppy-body:not(:has(.catalog-source))::after { content:""; height:20.8px; margin-top:16px; flex-shrink:0; }
}
@media(max-width:900px) {
  .welcome-gifts-scene { padding-bottom:0; }
  .welcome-gifts-labels { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:16px; }
  .welcome-gifts-labels li { position:static; transform:none; white-space:normal; text-align:center; align-self:center; }
}
@media(max-width:600px) {
  .refinement-warm#top #lightbox { padding:12px; }
  .refinement-warm#top #lightbox .lightbox-frame { width:calc(100vw - 24px); height:calc(100dvh - 170px); }
  .refinement-warm#top #lightbox .lightbox-arrow { top:auto; bottom:32px; transform:none; }
  .lightbox-caption { inset:auto 60px 40px; flex-direction:column; gap:4px; font-size:12px; }
  .welcome-gifts-scene { max-width:340px; }
  .welcome-gifts-labels { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 12px; }
  .welcome-gifts-labels li { font-size:12px; }
}
