.agLuxeCard{
  --ag-luxe-ink:#111827;
  --ag-luxe-muted:#5f6b7a;
  --ag-luxe-gold:#F7A537;
  --ag-luxe-gold-soft:#eadcb9;
  --ag-luxe-border:rgba(247,165,55,.34);
  position:relative;
  display:flex;
  flex-direction:column;
  height:100%;
  border:1px solid var(--ag-luxe-border);
  border-radius:22px;
  overflow:hidden;
  background:#ffffff;
  box-shadow:
    0 16px 38px rgba(17,24,39,.13),
    0 2px 0 rgba(255,255,255,.85) inset;
  transition:transform .26s ease, box-shadow .26s ease, border-color .26s ease;
  cursor:pointer;
}
.agLuxeCard *{
  font-family:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
}
.agLuxeCard::before{
  content:none;
}
.agLuxeCard::after{
  content:"";
  position:absolute;
  top:0;
  left:14px;
  right:14px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg, transparent 0%, rgba(247,165,55,.82) 45%, transparent 100%);
  pointer-events:none;
}
.agLuxeGrid{
  --ag-luxe-cols:4;
  display:grid;
  grid-template-columns:repeat(var(--ag-luxe-cols), minmax(0,1fr));
  gap:22px;
  align-items:stretch;
  font-family:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
}
.agLuxeGrid--splitRight{
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
}
.agLuxeGrid--splitRight > .agLuxeCard:nth-child(1){grid-column:1;grid-row:1}
.agLuxeGrid--splitRight > .agLuxeCard:nth-child(2){grid-column:2;grid-row:1}
.agLuxeGrid--splitRight > .agLuxeCard:nth-child(3){grid-column:1;grid-row:2}
.agLuxeGrid--splitRight > .agLuxeCard:nth-child(4){grid-column:2;grid-row:2}
.agLuxeGrid--splitRight > .agLuxeCard:nth-child(5){grid-column:3 / span 2;grid-row:1 / span 2}
.agLuxeGrid--splitRight > .agLuxeCard:nth-child(5) .agLuxeCard__media{
  aspect-ratio:4/3;
  padding:var(--ag-luxe-media-pad-lg, clamp(18px, 2vw, 24px));
}
.agLuxeGrid--splitRight > .agLuxeCard:nth-child(5) .agLuxeCard__title{
  font-size:17px;
}
.agLuxeGrid .agLuxeCard{
  height:100%;
}
.agLuxeCard:hover{
  transform:translateY(-6px);
  border-color:rgba(247,165,55,.62);
  box-shadow:
    0 30px 46px rgba(17,24,39,.16),
    0 2px 0 rgba(255,255,255,.95) inset;
}
.agLuxeCard:focus,
.agLuxeCard:focus-within{
  outline:2px solid rgba(247,165,55,.55);
  outline-offset:3px;
}
.agLuxeCard__media{
  --ag-luxe-media-pad:clamp(18px, 2vw, 24px);
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  aspect-ratio:4/3;
  overflow:hidden;
  padding:var(--ag-luxe-media-pad);
  background:#ffffff;
  border-bottom:1px solid rgba(247,165,55,.22);
}
.agLuxeCard__media .agLuxeCard__img{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center center;
  display:block;
  transition:filter .24s ease;
  background:#fff;
}
.agLuxeCard:hover .agLuxeCard__media img{
  filter:saturate(1.02);
}
.agLuxeCard__badge{
  position:absolute;
  top:12px;
  left:12px;
  z-index:2;
  border-radius:999px;
  padding:6px 12px;
  background:linear-gradient(140deg,#f3e4bf 0%,#c89d50 50%,#8f6b31 100%);
  color:#111827;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  box-shadow:0 8px 18px rgba(17,24,39,.24);
  border:1px solid rgba(255,255,255,.45);
}
.agLuxeCard__featureBadges{
  position:absolute;
  top:12px;
  right:12px;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
  max-width:calc(100% - 24px);
  pointer-events:none;
}
.agLuxeCard__media.hasLeadBadge .agLuxeCard__featureBadges{
  max-width:calc(100% - 132px);
}
.agLuxeCard__featureBadge{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  max-width:100%;
  padding:7px 11px 7px 12px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.28);
  background:rgba(255,255,255,.92);
  color:#0f172a;
  font-size:10px;
  font-weight:800;
  line-height:1.15;
  text-align:right;
  box-shadow:0 10px 22px rgba(15,23,42,.12);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.agLuxeCard__featureBadge::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:999px;
  margin-right:7px;
  flex:0 0 auto;
  background:#64748b;
  box-shadow:0 0 0 3px rgba(255,255,255,.62);
}
.agLuxeCard__featureBadge--europe{
  border-color:rgba(37,99,235,.24);
  background:linear-gradient(135deg, rgba(255,255,255,.96) 0%, rgba(239,246,255,.92) 100%);
  color:#163b77;
}
.agLuxeCard__featureBadge--europe::before{
  background:#2563eb;
}
.agLuxeCard__featureBadge--eco{
  border-color:rgba(22,163,74,.24);
  background:linear-gradient(135deg, rgba(255,255,255,.96) 0%, rgba(240,253,244,.92) 100%);
  color:#166534;
}
.agLuxeCard__featureBadge--eco::before{
  background:#16a34a;
}
.agLuxeCard__body{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  gap:11px;
  padding:15px 15px 16px;
  min-height:0;
  position:relative;
  z-index:1;
}
.agLuxeCard__title{
  margin:0;
  font-size:17px;
  font-weight:800;
  line-height:1.24;
  letter-spacing:-.01em;
  min-height:2.48em;
}
.agLuxeCard__title a{
  color:var(--ag-luxe-ink);
  text-decoration:none;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.agLuxeCard__title a:hover,
.agLuxeCard__title a:focus{
  color:#8f6b31;
}
.agLuxeCard__usp{
  margin:0;
  font-size:12px;
  font-weight:700;
  color:var(--ag-luxe-muted);
  letter-spacing:.01em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.agLuxeCard__swatches{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  min-height:20px;
}
.agLuxeCard__swatch{
  appearance:none;
  -webkit-appearance:none;
  width:36px;
  height:36px;
  padding:0;
  border-radius:10px;
  border:1px solid rgba(17,24,39,.16);
  box-shadow:
    0 4px 10px rgba(17,24,39,.10),
    inset 0 0 0 1px rgba(255,255,255,.72);
  background:var(--ag-swatch-bg,#cbd5e1);
  cursor:pointer;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.agLuxeCard__swatchImg{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  box-sizing:border-box;
  padding:3px;
  display:block;
  background:linear-gradient(180deg,#ffffff 0%,#eef2f7 100%);
}
.agLuxeCard__swatch:hover{
  transform:translateY(-1px);
  box-shadow:
    0 8px 14px rgba(17,24,39,.15),
    inset 0 0 0 1px rgba(255,255,255,.84);
}
.agLuxeCard__swatch:focus{
  outline:2px solid rgba(247,165,55,.55);
  outline-offset:2px;
}
.agLuxeCard__swatch.isActive{
  border-color:rgba(247,165,55,.95);
  box-shadow:
    0 0 0 2px rgba(247,165,55,.30),
    0 8px 16px rgba(17,24,39,.17),
    inset 0 0 0 1px rgba(255,255,255,.92);
}
.agLuxeCard__swatchMore{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:30px;
  height:24px;
  border-radius:999px;
  padding:0 9px;
  background:#ffffff;
  border:1px solid rgba(247,165,55,.38);
  color:#6f5326;
  font-size:11px;
  font-weight:800;
}
.agLuxeCard__delivery{
  margin:0;
  font-size:12px;
  color:#334155;
  background:#ffffff;
  border-left:3px solid rgba(247,165,55,.72);
  border-radius:10px;
  padding:7px 9px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.agLuxeCard__delivery strong{
  color:#1f2937;
  font-weight:800;
}
.agLuxeCard__price{
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:8px;
  flex-wrap:nowrap;
  margin-top:auto;
  border-top:1px solid rgba(247,165,55,.28);
  padding-top:11px;
}
.agLuxeCard__priceLabel{
  color:#6b7280;
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  white-space:nowrap;
}
.agLuxeCard__priceValue{
  color:#0f172a;
  font-size:22px;
  font-weight:900;
  letter-spacing:-.02em;
  line-height:1;
  white-space:nowrap;
}
.agLuxeCard__priceValue .amount{
  color:#171f2e;
  font-weight:inherit;
}
.agLuxeCard__tooltip{
  position:fixed;
  z-index:999999;
  pointer-events:none;
  opacity:0;
  transform:translateY(4px);
  transition:opacity .15s ease, transform .15s ease;
  background:#111827;
  color:#f8fafc;
  border-radius:10px;
  padding:6px 9px;
  font-size:11px;
  font-weight:600;
  line-height:1.2;
  white-space:nowrap;
  border:1px solid rgba(247,165,55,.42);
  box-shadow:0 12px 26px rgba(17,24,39,.32);
}
.agLuxeCard__tooltip.isOn{
  opacity:1;
  transform:translateY(0);
}
/* Single product: related/upsell carousel with 8 visible items on desktop */
.single-product .related.products,
.single-product .up-sells.upsells.products{
  clear:both;
  width:100%;
  max-width:none;
  margin:clamp(18px,2.3vw,28px) 0 0;
}
.single-product .related.products > h2,
.single-product .up-sells.upsells.products > h2{
  display:block;
  width:100%;
  max-width:none;
  margin:0 0 12px;
  padding:0;
  line-height:1.08;
  letter-spacing:-.02em;
  font-size:clamp(26px,2.2vw,34px);
}
.single-product .related ul.products,
.single-product .upsells ul.products{
  display:flex !important;
  flex-wrap:nowrap !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  gap:10px;
  padding:0 0 12px;
  margin:0 !important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
}
.single-product .related ul.products::-webkit-scrollbar,
.single-product .upsells ul.products::-webkit-scrollbar{
  display:none;
  height:0;
}
.single-product .related ul.products li.product,
.single-product .upsells ul.products li.product{
  float:none !important;
  width:auto !important;
  margin:0 !important;
  clear:none !important;
  flex:0 0 calc((100% - 70px) / 8);
  max-width:calc((100% - 70px) / 8);
  min-width:145px;
}
/* Single product: slightly smaller cards + better full-image visibility */
.single-product .related .agLuxeCard,
.single-product .upsells .agLuxeCard{
  border-radius:16px;
}
.single-product .related .agLuxeCard__media,
.single-product .upsells .agLuxeCard__media{
  aspect-ratio:4/3;
  padding:2px;
}
.single-product .related .agLuxeCard__media .agLuxeCard__img,
.single-product .upsells .agLuxeCard__media .agLuxeCard__img{
  width:100%;
  height:100%;
  object-fit:contain !important;
  object-position:center center;
  transform:none !important;
}
.single-product .related .agLuxeCard__body,
.single-product .upsells .agLuxeCard__body{
  padding:10px 10px 11px;
  gap:7px;
}
.single-product .related .agLuxeCard__title,
.single-product .upsells .agLuxeCard__title{
  font-size:13px;
  min-height:2.6em;
}
.single-product .related .agLuxeCard__usp,
.single-product .upsells .agLuxeCard__usp{
  font-size:10px;
}
.single-product .related .agLuxeCard__swatch,
.single-product .upsells .agLuxeCard__swatch{
  width:22px;
  height:22px;
  border-radius:7px;
}
.single-product .related .agLuxeCard__swatchMore,
.single-product .upsells .agLuxeCard__swatchMore{
  min-width:24px;
  height:20px;
  padding:0 6px;
  font-size:10px;
}
.single-product .related .agLuxeCard__delivery,
.single-product .upsells .agLuxeCard__delivery{
  font-size:10px;
  padding:5px 7px;
  border-left-width:2px;
}
.single-product .related .agLuxeCard__price,
.single-product .upsells .agLuxeCard__price{
  gap:6px;
  padding-top:8px;
}
.single-product .related .agLuxeCard__priceLabel,
.single-product .upsells .agLuxeCard__priceLabel{
  font-size:9px;
  letter-spacing:.03em;
}
.single-product .related .agLuxeCard__priceValue,
.single-product .upsells .agLuxeCard__priceValue{
  font-size:14px;
}
.single-product .related .agLuxeCard__featureBadges,
.single-product .upsells .agLuxeCard__featureBadges{
  top:8px;
  right:8px;
  gap:6px;
}
.single-product .related .agLuxeCard__media.hasLeadBadge .agLuxeCard__featureBadges,
.single-product .upsells .agLuxeCard__media.hasLeadBadge .agLuxeCard__featureBadges{
  max-width:calc(100% - 98px);
}
.single-product .related .agLuxeCard__featureBadge,
.single-product .upsells .agLuxeCard__featureBadge{
  padding:5px 8px 5px 9px;
  font-size:8px;
}
.single-product .related .agLuxeCard__featureBadge::before,
.single-product .upsells .agLuxeCard__featureBadge::before{
  width:5px;
  height:5px;
  margin-right:5px;
}
@media (max-width: 1400px){
  .single-product .related ul.products li.product,
  .single-product .upsells ul.products li.product{
    flex-basis:calc((100% - 44px) / 5);
    max-width:calc((100% - 44px) / 5);
  }
}
@media (max-width: 1024px){
  .single-product .related ul.products li.product,
  .single-product .upsells ul.products li.product{
    flex-basis:calc((100% - 22px) / 3);
    max-width:calc((100% - 22px) / 3);
  }
}
@media (max-width: 767px){
  .single-product .related ul.products li.product,
  .single-product .upsells ul.products li.product{
    flex-basis:calc((100% - 10px) / 2);
    max-width:calc((100% - 10px) / 2);
    min-width:160px;
  }
}
@media (min-width: 768px){
  .agLuxeCard__title{
    height:2.48em;
    min-height:2.48em;
    max-height:2.48em;
  }
  .agLuxeCard__title a{
    max-height:2.48em;
  }
}
@media (max-width: 1024px){
  .agLuxeGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .agLuxeGrid--splitRight{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:none;
    gap:16px;
  }
  .agLuxeGrid--splitRight > .agLuxeCard{grid-column:auto!important;grid-row:auto!important}
  .agLuxeGrid--splitRight > .agLuxeCard:nth-child(5) .agLuxeCard__media{
    aspect-ratio:4/3;
    padding:var(--ag-luxe-media-pad-lg, clamp(18px, 2vw, 24px));
  }
  .agLuxeGrid--splitRight > .agLuxeCard:nth-child(5) .agLuxeCard__title{
    font-size:17px;
  }
  .agLuxeCard{border-radius:18px}
}
@media (max-width: 767px){
  .agLuxeGrid{
    display:flex;
    grid-template-columns:none;
    gap:10px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:2px 2px 12px;
    margin:0 -2px;
    scroll-snap-type:none;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
  }
  .agLuxeGrid::-webkit-scrollbar{display:none;height:0}
  .agLuxeGrid > .agLuxeCard{
    flex:0 0 calc((100% - 10px) / 2);
    max-width:calc((100% - 10px) / 2);
    min-width:168px;
  }
  .agLuxeCard__body{padding:10px 10px 11px;gap:7px}
  .agLuxeCard__title{font-size:13px;min-height:2.6em}
  .agLuxeCard__usp{font-size:10px}
  .agLuxeCard__swatches{
    gap:5px;
    min-height:22px;
    flex-wrap:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding-bottom:1px;
  }
  .agLuxeCard__swatches::-webkit-scrollbar{display:none;height:0}
  .agLuxeCard__swatch{width:22px;height:22px;border-radius:7px}
  .agLuxeCard__swatchMore{min-width:24px;height:20px;padding:0 6px;font-size:10px}
  .agLuxeCard__delivery{font-size:10px;padding:5px 7px;border-left-width:2px}
  .agLuxeCard__price{gap:6px;padding-top:8px}
  .agLuxeCard__priceLabel{font-size:9px;letter-spacing:.03em}
  .agLuxeCard__priceValue{font-size:16px}
  .agLuxeCard__media{--ag-luxe-media-pad:12px;aspect-ratio:3/2}
  .agLuxeCard__featureBadges{
    top:8px;
    right:8px;
    gap:6px;
  }
  .agLuxeCard__media.hasLeadBadge .agLuxeCard__featureBadges{
    max-width:calc(100% - 102px);
  }
  .agLuxeCard__featureBadge{
    padding:5px 8px 5px 9px;
    font-size:8px;
  }
  .agLuxeCard__featureBadge::before{
    width:5px;
    height:5px;
    margin-right:5px;
  }
}
@media (max-width: 460px){
  .agLuxeGrid > .agLuxeCard{
    flex-basis:calc((100% - 8px) / 2);
    max-width:calc((100% - 8px) / 2);
    min-width:152px;
  }
  .agLuxeCard__title{font-size:12px}
  .agLuxeCard__priceValue{font-size:15px}
}
