/* V16.48 — slider normalization + source-grounded FAQ presentation. */

/* --------------------------------------------------------------------------
   Slider image normalization
   Force every hero/banner carousel media frame to occupy the full viewport
   area. This intentionally overrides generic img/max-width/contain rules.
   -------------------------------------------------------------------------- */
.als-v1629-smart-hero,
.als-v1629-hero-track,
.als-v1629-hero-slide,
.als-v1643-banner-track,
.als-v1643-banner-slide,
.als-v1643-home-carousel__track,
.als-v1643-home-slide{
  overflow:hidden!important;
}
.als-v1629-hero-slide>picture,
.als-v1629-hero-slide>picture>img,
.als-v1629-hero-slide>img,
.als-v1643-banner-slide>picture,
.als-v1643-banner-slide>picture>img,
.als-v1643-banner-slide img,
.als-v1643-home-slide img,
.als-v1648-normalized-slide>img,
.als-v1648-normalized-slide>picture,
.als-v1648-normalized-slide>picture>img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  min-width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:100%!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  margin:0!important;
  padding:0!important;
}
.als-v1643-banner-slide>picture,
.als-v1648-normalized-slide>picture{
  overflow:hidden!important;
}

/* If a legacy component applies inline contain rules, this extra selector wins. */
[data-v1629-hero-slide] img,
[data-v1643-slide] img{
  object-fit:cover!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
}

/* Keep text baked into campaign artwork readable while still removing gutters. */
@media (min-width:768px){
  .als-v1629-hero-slide>img{object-position:center!important;}
}
@media (max-width:767px){
  .als-v1629-hero-slide>img,
  .als-v1643-banner-slide img,
  .als-v1643-home-slide img{object-position:center!important;}
}

/* --------------------------------------------------------------------------
   FAQ shared experience
   -------------------------------------------------------------------------- */
.als-v1648-faq{
  padding:82px 0;
  background:#f7f6f1;
  border-top:1px solid rgba(0,78,41,.07);
  border-bottom:1px solid rgba(0,78,41,.07);
}
.als-v1648-faq__shell{
  width:min(100%,1320px);
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);
  gap:52px;
  align-items:start;
}
.als-v1648-faq__head{
  position:sticky;
  top:calc(var(--als-v1644-sticky-offset, 130px) + 20px);
}
.als-v1648-faq__head>span{
  display:inline-flex;
  color:#b88619;
  font-size:13px;
  font-weight:800;
  margin-bottom:10px;
}
.als-v1648-faq__head h2{
  margin:0 0 14px;
  color:#004e29;
  font-size:clamp(28px,3vw,43px);
  line-height:1.2;
}
.als-v1648-faq__head p{
  margin:0;
  color:#667169;
  font-size:15px;
  line-height:1.9;
}
.als-v1648-faq__list{
  background:#fff;
  border:1px solid rgba(0,78,41,.1);
  border-radius:24px;
  padding:4px 22px;
  box-shadow:0 16px 42px rgba(18,51,32,.05);
}
.als-v1648-faq__list details{
  border-bottom:1px solid #e4e7e4;
}
.als-v1648-faq__list details:last-child{border-bottom:0;}
.als-v1648-faq__list summary{
  list-style:none;
  cursor:pointer;
  min-height:64px;
  padding:17px 2px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  color:#173d2a;
  font-size:16px;
  line-height:1.7;
  font-weight:800;
}
.als-v1648-faq__list summary::-webkit-details-marker{display:none;}
.als-v1648-faq__list summary>span{
  width:32px;
  height:32px;
  flex:0 0 32px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#eef5f1;
  color:#006338;
  font-size:22px;
  transition:transform .22s ease,background .22s ease,color .22s ease;
}
.als-v1648-faq__list details[open] summary>span{
  transform:rotate(45deg);
  background:#006338;
  color:#fff;
}
.als-v1648-faq__list details>div{padding:0 44px 18px 2px;}
html[dir="ltr"] .als-v1648-faq__list details>div{padding:0 2px 18px 44px;}
.als-v1648-faq__list p{
  margin:0;
  color:#5c6961;
  font-size:15px;
  line-height:1.95;
}

/* Product page: follow the existing inner shell instead of expanding outside it. */
.als-v1619-product .als-v1648-faq{
  margin:68px 0 0;
  padding:54px 34px;
  border-radius:28px;
  border:1px solid rgba(0,78,41,.08);
}
.als-v1619-product .als-v1648-faq__shell{max-width:none;}

/* Category pages use a standard page-width shell. */
.als-v169-category .als-v1648-faq__shell,
.als-v1630-carpet-main .als-v1648-faq__shell,
.als-v1639-customer-service .als-v1648-faq__shell{
  width:min(calc(100% - 40px),1320px);
}

.als-v1630-carpet-main .als-v1648-faq{
  background:#fbfaf6;
}
.als-v1639-customer-service .als-v1648-faq{
  background:#f3f7f4;
}

@media(max-width:900px){
  .als-v1648-faq{padding:60px 0;}
  .als-v1648-faq__shell{grid-template-columns:1fr;gap:24px;}
  .als-v1648-faq__head{position:static;}
  .als-v1619-product .als-v1648-faq{padding:38px 20px;margin-top:48px;}
}
@media(max-width:600px){
  .als-v1648-faq{padding:48px 0;}
  .als-v1648-faq__list{border-radius:18px;padding:2px 15px;}
  .als-v1648-faq__list summary{font-size:14px;min-height:58px;padding:14px 0;gap:12px;}
  .als-v1648-faq__list summary>span{width:28px;height:28px;flex-basis:28px;font-size:19px;}
  .als-v1648-faq__list details>div,
  html[dir="ltr"] .als-v1648-faq__list details>div{padding:0 0 16px;}
  .als-v1648-faq__list p{font-size:14px;}
  .als-v169-category .als-v1648-faq__shell,
  .als-v1630-carpet-main .als-v1648-faq__shell,
  .als-v1639-customer-service .als-v1648-faq__shell{width:min(calc(100% - 28px),1320px);}
}
