/* V16.109 — product card balance + interactive before/after preview. */

/* --------------------------------------------------------------------------
   Homepage product cards — equal outer height, different internal allocation.
   Simple: the media absorbs the space. Variable: options get the space.
   -------------------------------------------------------------------------- */
.als-v1653-products__grid.als-v1690-carousel-track>.als-v1653-product-card,
.als-v1653-products__grid>.als-v1653-product-card{
  min-height:570px;
  height:570px;
  display:grid!important;
  grid-template-columns:minmax(0,1fr);
  overflow:hidden;
}
.als-v1653-products__grid .als-v1653-product-card.is-variable-product{
  grid-template-rows:260px minmax(0,1fr);
}
.als-v1653-products__grid .als-v1653-product-card.is-simple-product{
  grid-template-rows:minmax(0,1fr) auto;
}
.als-v1653-products__grid .als-v1653-product-card.is-variable-product .als-v1653-product-card__media,
.als-v1653-products__grid .als-v1653-product-card.is-simple-product .als-v1653-product-card__media{
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
}
.als-v1653-products__grid.als-v1690-carousel-track .als-v1653-product-card.is-simple-product .als-v1653-product-card__media,
.als-v1653-products__grid.als-v1690-carousel-track .als-v1653-product-card.is-variable-product .als-v1653-product-card__media{
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
}
.als-v1653-products__grid .als-v1653-product-card__media>a:first-child,
.als-v1653-products__grid .als-v1653-product-card__media>a:first-child img{
  display:block;
  width:100%;
  height:100%;
}
.als-v1653-products__grid .als-v1653-product-card__body{
  min-height:0!important;
  padding:18px 18px 20px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr);
}
.als-v1653-products__grid .als-v1653-product-card.is-variable-product .als-v1653-product-card__body{
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:12px;
}
.als-v1653-products__grid .als-v1653-product-card.is-simple-product .als-v1653-product-card__body{
  grid-template-rows:auto auto;
  gap:18px;
  align-content:end;
  min-height:142px!important;
}
.als-v1653-products__grid .als-v1653-product-card h3{
  min-height:0!important;
  margin:0!important;
  font-size:19px;
  line-height:1.45;
}
.als-v1653-products__grid .als-v1653-product-card.is-variable-product .als-v1656-variants-block{
  min-height:0!important;
  margin:0!important;
  align-self:start;
}
.als-v1653-products__grid .als-v1653-product-card.is-variable-product .als-v1656-variants{
  padding-bottom:5px;
}
.als-v1653-products__grid .als-v1653-product-card .als-v1653-btn{
  margin-top:0!important;
  align-self:end;
  width:100%;
}
.als-v1653-products__grid .als-v1653-product-card.is-simple-product .als-v1653-product-card__media img{
  object-fit:cover!important;
}
.als-v1653-products__grid .als-v1653-product-card.is-simple-product .als-v1653-product-card__viz{
  bottom:14px;
}

/* --------------------------------------------------------------------------
   PDP visualizer — real-room before/after with current product material.
   No server/AI request on page load.
   -------------------------------------------------------------------------- */
.als-v1619-product .als-v16109-visualizer{
  grid-template-columns:minmax(330px,.78fr) minmax(0,1.22fr)!important;
  gap:44px!important;
  align-items:center!important;
}
.als-v16109-visualizer-copy .als-v16109-eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 11px;
  margin-bottom:12px;
  border-radius:999px;
  background:#f3f6f2;
  color:#8a6100;
  font-size:12px;
  font-weight:800;
}
.als-v16109-visualizer-copy h2{margin-bottom:14px!important;}
.als-v16109-visualizer-copy p{margin-top:0!important;}

.als-v16109-compare{
  --v16109-split:50%;
  position:relative;
  min-width:0;
  padding:12px;
  border:1px solid rgba(0,78,41,.13);
  border-radius:22px;
  background:#f8f8f4;
  box-shadow:0 18px 44px rgba(20,58,39,.08);
}
.als-v16109-compare__scene{
  position:relative;
  overflow:hidden;
  aspect-ratio:955/570;
  border-radius:16px;
  background:#e9ece8;
  isolation:isolate;
  user-select:none;
  touch-action:pan-y;
}
.als-v16109-compare__before,
.als-v16109-compare__after>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.als-v16109-compare__after{
  position:absolute;
  inset:0;
  overflow:hidden;
  clip-path:inset(0 calc(100% - var(--v16109-split)) 0 0);
  z-index:2;
}
.als-v16109-compare__material{
  position:absolute;
  inset:0;
  background-image:var(--v16109-texture);
  background-repeat:repeat;
  background-size:210px auto;
  background-position:center bottom;
  opacity:.88;
  mix-blend-mode:multiply;
  filter:saturate(.9) contrast(.98) brightness(.92);
  clip-path:polygon(31% 54%,79% 54%,100% 100%,0 100%);
  transform-origin:50% 100%;
  transform:perspective(900px) rotateX(7deg) scale(1.09);
}
.als-v16109-compare.is-rug .als-v16109-compare__material{
  inset:0;
  background-repeat:no-repeat;
  background-size:58% auto;
  background-position:52% 77%;
  opacity:.96;
  mix-blend-mode:multiply;
  clip-path:polygon(30% 65%,71% 63%,81% 89%,19% 91%);
  transform:none;
  filter:saturate(.95) contrast(1.02) brightness(.92);
}
.als-v16109-compare__label{
  position:absolute;
  top:14px;
  z-index:6;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(0,50,27,.78);
  color:#fff;
  font-size:11px;
  font-weight:800;
  backdrop-filter:blur(8px);
  pointer-events:none;
}
.als-v16109-compare__label.is-before{right:14px;}
.als-v16109-compare__label.is-after{left:14px;background:rgba(198,145,17,.9);}
.als-v16109-compare__divider{
  position:absolute;
  z-index:7;
  top:0;
  bottom:0;
  left:var(--v16109-split);
  width:3px;
  margin-left:-1.5px;
  background:#fff;
  box-shadow:0 0 0 1px rgba(0,0,0,.12);
  pointer-events:none;
}
.als-v16109-compare__divider i{
  position:absolute;
  top:50%;
  left:50%;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  transform:translate(-50%,-50%) rotate(90deg);
  border-radius:50%;
  background:#fff;
  color:#00623a;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
  font-size:23px;
}
.als-v16109-compare__range{
  position:absolute;
  z-index:10;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  opacity:0;
  cursor:ew-resize;
}
.als-v16109-compare__product{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:12px 4px 2px;
}
.als-v16109-compare__product>img{
  width:54px;
  height:54px;
  object-fit:cover;
  border-radius:12px;
  border:1px solid rgba(0,78,41,.12);
  background:#fff;
}
.als-v16109-compare__product small{display:block;color:#7d887f;font-size:10px;margin-bottom:3px;}
.als-v16109-compare__product strong{display:block;color:#143f2d;font-size:14px;line-height:1.35;}
.als-v16109-compare__product>a{
  min-height:40px!important;
  padding:8px 12px!important;
  border-radius:10px!important;
  font-size:12px!important;
  white-space:nowrap;
}

@media(max-width:1100px){
  .als-v1653-products__grid.als-v1690-carousel-track>.als-v1653-product-card,
  .als-v1653-products__grid>.als-v1653-product-card{height:545px;min-height:545px;}
  .als-v1653-products__grid .als-v1653-product-card.is-variable-product{grid-template-rows:245px minmax(0,1fr);}
  .als-v1619-product .als-v16109-visualizer{grid-template-columns:1fr!important;gap:24px!important;}
}
@media(max-width:767px){
  .als-v1653-products__grid.als-v1690-carousel-track>.als-v1653-product-card,
  .als-v1653-products__grid>.als-v1653-product-card{height:535px;min-height:535px;}
  .als-v1653-products__grid .als-v1653-product-card.is-variable-product{grid-template-rows:235px minmax(0,1fr);}
  .als-v1653-products__grid .als-v1653-product-card.is-simple-product .als-v1653-product-card__body{min-height:132px!important;padding:16px!important;}
  .als-v1653-products__grid .als-v1653-product-card h3{font-size:17px;}
  .als-v16109-compare{padding:8px;border-radius:18px;}
  .als-v16109-compare__scene{border-radius:13px;aspect-ratio:4/3;}
  .als-v16109-compare__material{background-size:150px auto;clip-path:polygon(25% 54%,82% 54%,100% 100%,0 100%);}
  .als-v16109-compare__product{grid-template-columns:46px minmax(0,1fr);}
  .als-v16109-compare__product>img{width:46px;height:46px;}
  .als-v16109-compare__product>a{grid-column:1/-1;width:100%;}
}
@media(max-width:430px){
  .als-v1653-products__grid.als-v1690-carousel-track>.als-v1653-product-card,
  .als-v1653-products__grid>.als-v1653-product-card{height:510px;min-height:510px;}
  .als-v1653-products__grid .als-v1653-product-card.is-variable-product{grid-template-rows:220px minmax(0,1fr);}
}
