/* Product shelves: measured against Bloom's Poppins card system, 05 Oct 2026. */
.kit-visual.kit-product-photos{display:flex!important;align-items:center;justify-content:center;gap:0;width:100%;height:100%;padding:12% 5%;background:#fff;transform:none!important}
.kit-visual.kit-product-photos>.product-photo{display:block;position:relative;flex:1;min-width:0;width:auto;height:100%;margin:0;padding:0;transform:none!important;background:#fff}
.kit-visual.kit-product-photos>.product-photo>img{width:100%;height:100%;object-fit:contain;mix-blend-mode:normal;transform:none!important}
.kit-contents{margin:22px 0;border-top:1px solid #dcecf2;padding-top:18px}
.kit-contents h2{font-size:16px!important;margin:0 0 10px!important}
.kit-contents ul{list-style:none;margin:0;padding:0}
.kit-contents li+li{border-top:1px solid #edf3f5}
.kit-contents li>a{display:flex;align-items:center;gap:12px;padding:10px 0;text-decoration:none;color:inherit}
.kit-contents li>a:hover strong{color:#009de1}
.kit-contents li .product-photo{flex:0 0 48px;width:48px;height:56px;background:#fff}
.kit-contents li .product-photo img{width:100%;height:100%;object-fit:contain}
.kit-contents strong{display:block;font-size:12px;font-weight:500;line-height:1.5}
.kit-contents small{font-size:11px;color:#6e777a}
.kit-item-price{margin-left:auto;flex-shrink:0;font-size:12px}
.kit-saving{background:#eef8fc;border-radius:10px;padding:12px;font-size:12px;color:#046b94}
.kit-saving strong{display:inline}
.pdp-price #pdp-price-note{max-width:190px;line-height:1.5;font-size:11px}
.product-card{
  --card-ink:#011016;
  --card-blue:#009de1;
  --card-surface:#f2f8fb;
  color:var(--card-ink);
  font-family:'Poppins',sans-serif;
  font-synthesis:none;
  background:var(--card-surface);
  border:0;
  --card-radius:clamp(10px,1.053vw,20px);
  --card-title:clamp(1rem,.873rem + .3175vw,1.25rem);
  --card-type:clamp(14px,calc(12.984px + .15875vw),16px);
  border-radius:0 0 var(--card-radius) var(--card-radius);
  box-shadow:none;
  overflow:visible;
  translate:none;
}
.product-card:hover{box-shadow:none;translate:none}
.product-card .product-visual{aspect-ratio:1;overflow:visible;background:#fff}
.product-card .product-image-button{display:block;width:100%;height:100%;padding:0;overflow:hidden;background:#fff}
.product-card .product-photo>img{object-fit:contain}
.product-card .product-image-button>.product-photo,
.product-card .product-image-button>.packshot,
.product-card .product-image-button>.kit-visual{transition:transform .5s cubic-bezier(.3,1,.3,1)}
.product-card:hover .product-image-button>.product-photo,
.product-card:hover .product-image-button>.packshot,
.product-card:hover .product-image-button>.kit-visual{transform:none}
.product-card .product-info{
  display:flex;flex-direction:column;align-items:center;
  background:var(--card-surface);color:var(--card-ink);
  padding:clamp(16px,1.263vw,24px) 0 0;min-height:clamp(276px,16.303vw,313px);
  border-radius:0 0 var(--card-radius) var(--card-radius);
}
.product-card .product-name{
  display:block;width:calc(100% - 2 * clamp(16px,2.105vw,40px));height:auto;min-height:2.5em;
  padding:0;margin:0;
  font-family:'Poppins',sans-serif;font-size:var(--card-title);font-weight:500;
  line-height:1.25;letter-spacing:normal;color:var(--card-ink);text-align:center;text-decoration:none;
  overflow-wrap:anywhere;word-break:normal;
}
.product-card .product-name:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.product-card .product-volume{white-space:nowrap}
.product-card .product-description{
  width:calc(100% - 2 * clamp(16px,2.105vw,40px));min-height:42px;
  margin:24px 0 16px;padding:0;
  font-size:12px;font-weight:400;line-height:14px;letter-spacing:normal;color:#666;
}
.product-card .product-price{margin:0;font-size:var(--card-type);font-weight:500;line-height:1.2;color:var(--card-blue);letter-spacing:normal}
.product-card .price-detail{font-size:10px;font-weight:400;line-height:12px;margin:8px 20px 40px;color:#504147;text-align:center}
.product-card .add-button{
  display:flex;align-items:center;justify-content:center;
  flex:none;width:90%;min-height:48px;height:48px;
  margin: auto 0 0;padding:12px 24px;gap:8px;
  border:0;border-radius:60px;
  font-family:'Poppins',sans-serif;font-size:var(--card-type);font-weight:500;line-height:1;letter-spacing:normal;
  background:var(--card-blue);color:#fefefe;
  transition:background-color .3s,color .3s,box-shadow .3s;
}
.product-card .add-button:active{scale:.98}
.product-card .add-button svg{width:24px;height:24px;stroke-width:1;transition:transform .3s}
.product-card .add-button:hover svg{transform:translateX(2px)}
.product-card .product-badge{top:20px;left:20px;padding:10px 16px;border-radius:60px;font-size:12px;font-weight:600;line-height:14px;max-width:calc(100% - 96px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--card-blue);color:#fff}
.product-card .favorite{top:20px;right:20px;width:38px;height:34px;border-radius:30px;background:#fbfbfb;box-shadow:none;color:var(--card-ink)}
.product-card .favorite svg{width:18px;height:18px}
.product-card .favorite.selected{color:var(--card-blue)}
.product-card .visual-caption{display:none}
product-card-gallery{display:block;position:relative;width:100%;height:100%}
.product-card product-card-gallery .product-image-button{touch-action:pan-y pinch-zoom}
.card-gallery-track{display:flex;width:100%;height:100%;transition:transform .3s cubic-bezier(.25,.8,.25,1)}
.card-gallery-slide{display:block;flex:0 0 100%;width:100%;height:100%;overflow:hidden}
.card-gallery-slide img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.card-gallery-dots{
  position:absolute;z-index:3;left:50%;bottom:-14px;transform:translateX(-50%);
  display:flex;align-items:center;justify-content:center;gap:0;
  height:28px;padding:0 16px;border-radius:18px 18px 0 0;
  background:var(--card-surface,#f2f8fb);color:var(--card-ink,#011016);
  opacity:0;visibility:hidden;transition:opacity .18s,visibility .18s;
}
product-card-gallery:hover .card-gallery-dots,
product-card-gallery:focus-within .card-gallery-dots{opacity:1;visibility:visible}
.card-gallery-dot{display:grid;place-items:center;flex:none;width:24px;height:28px;padding:0;border:0;background:transparent;color:inherit;cursor:pointer}
.card-gallery-dot>span{width:4px;height:4px;background:currentColor;border-radius:50%;transition:width .15s,height .15s}
.card-gallery-dot[aria-pressed="true"]>span{width:8px;height:8px;border:2px solid currentColor;background:transparent}
.card-gallery-dot:focus-visible{outline:2px solid var(--card-blue,#009de1);outline-offset:-2px;border-radius:10px}
.product-gallery.approved-gallery{align-self:start}
.approved-gallery .gallery-tile{background:#fff}
/* Square, edge-to-edge product-page photos; preserve originals in the lightbox. */
.product-gallery>.gallery-tile{aspect-ratio:1/1}
.product-gallery>.gallery-tile>.product-photo{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0}
.product-gallery>.gallery-tile>.product-photo>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.essentials-section .product-card .product-info{min-height:288px}
.mini-product h3,.mini-product h3 button,.featured-product h3{font-family:'Poppins',sans-serif;font-weight:500;letter-spacing:normal;color:#011016}
.mini-product h3,.mini-product h3 button{font-size:14px;line-height:18px}
.featured-product h3{font-size:16px;line-height:20px}
.mini-note{font-size:12px;line-height:14px;color:#666}
.featured-product>p,.featured-slide>p{font-size:12px;line-height:16px;color:#666}
@media(min-width:1280px){.product-card .product-info{min-height:313px}}
@media(max-width:760px){
  .product-card .product-info,.essentials-section .product-card .product-info{padding-top:16px;min-height:313px}
  .product-card .product-name{font-size:16px;line-height:20px;width:calc(100% - 32px);min-height:80px}
  .product-card .product-description{width:calc(100% - 32px);font-size:12px;line-height:15px;min-height:75px;margin:16px 0;overflow-wrap:anywhere}
  .product-card .product-price{font-size:14px;line-height:17px}
  .product-card .price-detail{font-size:10px;line-height:12px;margin:8px 16px 28px}
  .product-card .add-button{height:48px;min-height:48px;padding:10px 8px;font-size:14px;line-height:16px;gap:7px}
  .product-card .add-button svg{width:19px;height:19px}
  .product-card .product-badge{top:10px;left:8px;font-size:8px;line-height:10px;padding:7px 8px;max-width:calc(100% - 48px)}
  .product-card .favorite{top:9px;right:6px;width:28px;height:27px}
  .product-card .favorite svg{width:15px;height:15px}
  .mini-product h3,.mini-product h3 button{font-size:13px;line-height:17px}
}
@media(hover:none){.card-gallery-dots{opacity:1;visibility:visible;height:36px;bottom:-14px}.card-gallery-dot{width:32px;height:36px}}
@media(prefers-reduced-motion:reduce){.product-card *{transition:none!important}.product-card .add-button:hover svg{transform:none}}
