/* Scope all source-derived card rules to the provider and its sale badge. */
.ancient-card,.ancient-card * { box-sizing: border-box; }
.ancient-card {
  position:relative; display:flex; flex-direction:column; height:100%;
  padding:var(--ancient-card-padding,20px); border-radius:var(--ancient-card-radius,20px);
  background:var(--ancient-card-bg,#fff); color:var(--ancient-card-ink,#2b4b55);
  font-family:var(--ancient-card-font,proxima-nova,Arial,sans-serif); text-align:left;
}
.ancient-card__media { position:relative; overflow:hidden; flex:none; aspect-ratio:1/1; border-radius:7px; background:var(--ancient-card-image-bg,#f5f5f5); }
.ancient-card__image-link { display:block; position:absolute; inset:0; text-decoration:none; }
.ancient-card__image { position:absolute; inset:0; display:block; width:100%; height:100%; margin:0; object-fit:contain; transition:opacity .25s ease; }
.ancient-card__image--secondary { opacity:0; }
@media (hover:hover) { .ancient-card:hover .ancient-card__image--secondary { opacity:1; } }
.ancient-card:focus-within .ancient-card__image--secondary { opacity:1; }
.ancient-card__badge,.ancient-card__stock {
  position:absolute; z-index:2; top:0; left:0; max-width:100%; padding:4px 10px;
  border-radius:4px; background:var(--ancient-card-badge-bg,#9edaec);
  color:var(--ancient-card-badge-ink,#1f1f1f); font:600 13px/1.5 var(--ancient-card-font,proxima-nova,Arial,sans-serif);
}
.ancient-card__stock { top:auto; bottom:0; background:#333; color:#fff; }
.ancient-card__content { display:flex; flex:1; flex-direction:column; min-width:0; padding-top:24px; }
.ancient-card__title { margin:0 0 8px; font:400 var(--ancient-card-title-size,17px)/24px var(--ancient-card-font,proxima-nova,Arial,sans-serif); overflow-wrap:anywhere; letter-spacing:normal; text-transform:none; }
.ancient-card__title a { color:var(--ancient-card-title-ink,#252525); text-decoration:none; }
.ancient-card__title a:hover,.ancient-card__title a:focus-visible { color:var(--ancient-card-ink,#2b4b55); text-decoration:underline; }
.ancient-card__rating { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin:2px 0 8px; color:#2b4b55; font-size:13px; }
.ancient-card__rating .star-rating { float:none; margin:0; color:#2b4b55; }
.ancient-card__price,.ancient-card .price { display:block; margin:8px 0 0; color:var(--ancient-card-ink,#2b4b55); font:700 var(--ancient-card-price-size,16px)/24px var(--ancient-card-font,proxima-nova,Arial,sans-serif); }
.ancient-card__price del { color:#858585; opacity:1; font-weight:400; }
.ancient-card__price ins { color:inherit; text-decoration:none; }
.ancient-card__actions { display:grid; gap:8px; margin-top:auto; padding-top:14px; }
.ancient-card .ancient-card__buy,.ancient-card .ancient-card__quick {
  display:flex; align-items:center; justify-content:center; width:100%; min-height:42px; margin:0;
  padding:9px 12px; border:1px solid var(--ancient-card-button-bg,#2b4b55); border-radius:999px;
  background:var(--ancient-card-button-bg,#2b4b55); color:var(--ancient-card-button-ink,#fff);
  font:600 14px/20px var(--ancient-card-font,proxima-nova,Arial,sans-serif); letter-spacing:normal; text-align:center; text-decoration:none; text-transform:none;
}
.ancient-card .ancient-card__quick { background:transparent; color:var(--ancient-card-button-bg,#2b4b55); }
.ancient-card .ancient-card__buy:hover,.ancient-card .ancient-card__buy:focus-visible { background:#fff; color:var(--ancient-card-button-bg,#2b4b55); }
.ancient-card .ancient-card__quick:hover,.ancient-card .ancient-card__quick:focus-visible { background:var(--ancient-card-button-bg,#2b4b55); color:var(--ancient-card-button-ink,#fff); }
.ancient-card a:focus-visible { outline:2px solid #165372; outline-offset:3px; }
/* The slot renders the theme's sale flash as an outer hook. Retain any independent New labels, suppress only its duplicate sale label. */
.product-small > .col-inner:has(> .ancient-card) > .badge-container .badge:has(.on-sale) { display:none!important; }
.product-small > .col-inner:has(> .ancient-card) > .badge-container { top:20px!important; left:auto!important; right:20px!important; }
.product .badge-container .ancient-storefront-badge .badge-inner.on-sale,.ancient-storefront-badge .badge-inner.on-sale { min-width:0!important; min-height:0!important; width:auto!important; height:auto!important; padding:4px 10px!important; border:0!important; border-radius:4px!important; background:var(--ancient-card-badge-bg,#9edaec)!important; color:var(--ancient-card-badge-ink,#1f1f1f)!important; font:600 13px/1.5 var(--ancient-card-font,proxima-nova,Arial,sans-serif)!important; }
.ancient-storefront-badge .onsale { position:static!important; padding:0!important; background:transparent!important; color:inherit!important; font:inherit!important; }
.ancient-storefront-badge.is-hidden { display:none!important; }
@media(max-width:767px) {
  .ancient-card { padding:var(--ancient-card-mobile-padding,10px); }
  .ancient-card__content { padding-top:24px; }
  .ancient-card__badge,.ancient-card__stock { padding:2px 8px; font-size:12px; line-height:1.5; }
  .ancient-card .ancient-card__buy,.ancient-card .ancient-card__quick { min-height:40px; padding:8px; font-size:12px; }
  .product-small > .col-inner:has(> .ancient-card) > .badge-container { top:10px!important; right:10px!important; }
}
@media(prefers-reduced-motion:reduce) { .ancient-card__image { transition:none; } }
