/* =========================================================================
   Web2Ink — Store Products widget : premium card styles, badges, image options
   Builds on the rich card markup (.w2i-design-card) shared by every non-"Standard"
   style. Differentiated by .w2i-design-style-{slug} on the .w2i-design-list wrapper.
   ========================================================================= */
.w2i-design-list{
  --w2i-prod-accent:#2563eb;
  --w2i-prod-ink:#0f172a;
  --w2i-prod-muted:#64748b;
  --w2i-prod-surface:#ffffff;
  --w2i-prod-surface-2:#f6f8fc;
  --w2i-prod-line:#e6eaf2;
  --w2i-prod-radius:14px;
  --w2i-prod-shadow:0 12px 34px rgba(15,23,42,.09);
  --w2i-prod-ratio:1/1;
  --w2i-prod-fit:cover;
}

/* ---- shared image ratio + fit (all rich styles) ---- */
.w2i-design-list:not(.w2i-design-style-default) .w2i-design-card-media{
  position:relative;aspect-ratio:var(--w2i-prod-ratio,1/1);background:var(--w2i-prod-surface-2);overflow:hidden;
}
.w2i-design-list:not(.w2i-design-style-default) .w2i-design-card-media>a{display:block;width:100%;height:100%;}
.w2i-design-list:not(.w2i-design-style-default) .w2i-design-card-media img{width:100%;height:100%;object-fit:var(--w2i-prod-fit,cover);transition:transform .4s ease;}

/* ---- hover effects (wrapper class from prefix_class) ---- */
.w2i-prodhover-zoom .w2i-design-card:hover .w2i-design-card-media img,
.w2i-prodhover-both .w2i-design-card:hover .w2i-design-card-media img{transform:scale(1.07);}
.w2i-prodhover-lift .w2i-design-card,
.w2i-prodhover-both .w2i-design-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.w2i-prodhover-lift .w2i-design-card:hover,
.w2i-prodhover-both .w2i-design-card:hover{transform:translateY(-5px);box-shadow:var(--w2i-prod-shadow);}

/* ---- badges ---- */
.w2i-design-badges{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;gap:6px;z-index:3;pointer-events:none;}
.w2i-design-badge{display:inline-flex;align-items:center;height:23px;padding:0 10px;font-size:11.5px;font-weight:700;letter-spacing:.02em;border-radius:999px;color:#fff;line-height:1;}
.w2i-badge-new{background:var(--w2i-prod-accent);}
.w2i-badge-sold{background:#475569;}
.w2i-badge-low{background:#d97706;}

/* ---- widget title (reuses the category title styles) ---- */
.w2i-prod-widget-title{display:flex;align-items:center;gap:10px;margin:0 0 18px;font-size:19px;font-weight:700;line-height:1.25;color:var(--w2i-prod-ink);}
.w2i-prod-widget-title.w2i-titlestyle-accent{padding-left:12px;border-left:4px solid var(--w2i-prod-accent);}
.w2i-prod-widget-title.w2i-titlestyle-underline{display:block;padding-bottom:10px;border-bottom:2px solid var(--w2i-prod-line);}
.w2i-prod-widget-title.w2i-titlestyle-underline::after{content:"";display:block;width:48px;height:2px;background:var(--w2i-prod-accent);margin:10px 0 -12px;}
.w2i-prod-widget-title.w2i-titlestyle-pill{display:inline-flex;padding:7px 16px;background:var(--w2i-prod-surface-2);border-radius:999px;font-size:13px;letter-spacing:.04em;text-transform:uppercase;}
.w2i-prod-widget-title.w2i-titlestyle-bar::after{content:"";flex:1;height:1px;background:var(--w2i-prod-line);}

/* =====================================================================
   STYLE — Overlay (info slides up over the image)
   ===================================================================== */
.w2i-design-style-overlay .w2i-design-card{position:relative;border-radius:var(--w2i-prod-radius);overflow:hidden;box-shadow:var(--w2i-prod-shadow);}
.w2i-design-style-overlay .w2i-design-card-media{aspect-ratio:var(--w2i-prod-ratio,3/4);}
.w2i-design-style-overlay .w2i-design-card-media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,12,24,.82) 0%,rgba(8,12,24,.15) 50%,transparent 78%);opacity:.85;transition:opacity .25s;pointer-events:none;}
/* body + scrim must NOT swallow clicks — the product <a> sits beneath them (fills the media). */
.w2i-design-style-overlay .w2i-design-card-body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:16px;color:#fff;transform:translateY(8px);transition:transform .25s ease;pointer-events:none;}
.w2i-design-style-overlay .w2i-design-card-body a{pointer-events:auto;}
.w2i-design-style-overlay .w2i-design-card:hover .w2i-design-card-body{transform:translateY(0);}
.w2i-design-style-overlay .w2i-item-title i{color:#fff;font-style:normal;font-weight:700;font-size:16px;}
.w2i-design-style-overlay .w2i-item-price{color:#fff;opacity:.92;font-weight:600;}

/* =====================================================================
   STYLE — Minimal (no chrome)
   ===================================================================== */
.w2i-design-style-minimal .w2i-design-card{background:none;border:0;box-shadow:none;}
.w2i-design-style-minimal .w2i-design-card-media{border-radius:var(--w2i-prod-radius);}
.w2i-design-style-minimal .w2i-design-card-body{padding:12px 2px 0;}
.w2i-design-style-minimal .w2i-item-title i{font-style:normal;font-weight:600;font-size:14.5px;color:var(--w2i-prod-ink);}
.w2i-design-style-minimal .w2i-item-price{color:var(--w2i-prod-muted);font-size:13.5px;}

/* =====================================================================
   STYLE — Bordered
   ===================================================================== */
.w2i-design-style-bordered .w2i-design-card{background:var(--w2i-prod-surface);border:1px solid var(--w2i-prod-line);border-radius:var(--w2i-prod-radius);overflow:hidden;transition:border-color .18s,box-shadow .18s,transform .18s;}
.w2i-design-style-bordered .w2i-design-card:hover{border-color:color-mix(in srgb,var(--w2i-prod-accent) 40%,var(--w2i-prod-line));box-shadow:var(--w2i-prod-shadow);transform:translateY(-3px);}
.w2i-design-style-bordered .w2i-design-card-body{padding:13px 15px;}
.w2i-design-style-bordered .w2i-item-title i{font-style:normal;font-weight:600;font-size:15px;}

/* =====================================================================
   STYLE — Spotlight (large, centered, premium)
   ===================================================================== */
.w2i-design-style-spotlight .w2i-design-card{background:var(--w2i-prod-surface);border:1px solid var(--w2i-prod-line);border-radius:18px;overflow:hidden;text-align:center;transition:box-shadow .2s,transform .2s;}
.w2i-design-style-spotlight .w2i-design-card:hover{box-shadow:var(--w2i-prod-shadow);transform:translateY(-4px);}
.w2i-design-style-spotlight .w2i-design-card-media{aspect-ratio:var(--w2i-prod-ratio,1/1);margin:6px 6px 0;border-radius:14px;}
.w2i-design-style-spotlight .w2i-design-card-body{padding:18px 18px 22px;display:flex;flex-direction:column;align-items:center;gap:6px;}
.w2i-design-style-spotlight .w2i-design-card-footer{flex-direction:column;align-items:center;gap:4px;}
.w2i-design-style-spotlight .w2i-item-title i{font-style:normal;font-weight:700;font-size:16.5px;}
.w2i-design-style-spotlight .w2i-item-price{font-size:15px;font-weight:600;color:var(--w2i-prod-accent);}

/* =====================================================================
   STYLE — Horizontal / Compact (image left, info right)
   ===================================================================== */
.w2i-design-style-horizontal .w2i-design-card{display:flex;align-items:stretch;gap:0;background:var(--w2i-prod-surface);border:1px solid var(--w2i-prod-line);border-radius:var(--w2i-prod-radius);overflow:hidden;transition:border-color .18s,box-shadow .18s,transform .18s;}
.w2i-design-style-horizontal .w2i-design-card:hover{border-color:color-mix(in srgb,var(--w2i-prod-accent) 40%,var(--w2i-prod-line));box-shadow:var(--w2i-prod-shadow);transform:translateY(-2px);}
.w2i-design-style-horizontal .w2i-design-card-media{flex:0 0 38%;max-width:160px;aspect-ratio:var(--w2i-prod-ratio,1/1);}
.w2i-design-style-horizontal .w2i-design-card-body{flex:1;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:14px 16px;}
.w2i-design-style-horizontal .w2i-item-title i{font-style:normal;font-weight:600;font-size:15.5px;}
.w2i-design-style-horizontal .w2i-item-price{font-weight:600;color:var(--w2i-prod-accent);}

@media (max-width:560px){
  .w2i-design-style-horizontal .w2i-design-card-media{flex-basis:42%;}
}

/* =====================================================================
   "Customise →" hover CTA — defined HERE (product-styles.css is always
   enqueued with the Products widget) so it also works on stores WITHOUT an
   applied premium theme. store-themes.css is token-gated, so the old copy
   there only showed in the editor / on themed stores, and only on the
   "default" card style. This covers BOTH the default card (> div > a) and
   the rich card styles (.w2i-design-card-media > a, e.g. clean/minimal/
   spotlight/horizontal). Colours use the theme token when present, else a
   product-styles fallback. pointer-events:none keeps the product link clickable.
   ===================================================================== */
.w2i-design-list{--w2i-cta-label:"Customise \2192";}
.w2i-design-list > div > a,
.w2i-design-list .w2i-design-card-media > a{position:relative;}
.w2i-design-list > div > a::after,
.w2i-design-list .w2i-design-card-media > a::after{
  content:var(--w2i-cta-label,"Customise \2192");
  position:absolute;left:50%;bottom:14px;transform:translate(-50%,10px);
  background:var(--w2i-primary,var(--w2i-prod-accent,#2563eb));
  color:var(--w2i-on-primary,#fff);
  font-size:12.5px;font-weight:700;line-height:1;padding:11px 20px;border-radius:999px;
  opacity:0;transition:opacity .22s ease,transform .22s ease;white-space:nowrap;
  box-shadow:0 10px 24px rgba(15,23,42,.18);pointer-events:none;z-index:2;
}
.w2i-design-list > div:hover > a::after,
.w2i-design-list .w2i-design-card:hover .w2i-design-card-media > a::after{opacity:1;transform:translate(-50%,0);}
