html.ath-cart-dialog-open{
  overflow:hidden;
}

.ath-smart-cart-layer{
  position:fixed;
  z-index:11050;
  inset:0;
  display:grid;
  place-items:center;
  padding:18px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .16s ease,visibility .16s ease;
}

.ath-smart-cart-layer.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.ath-smart-cart-backdrop{
  position:absolute;
  inset:0;
  background:rgba(27,21,15,.38);
  -webkit-backdrop-filter:blur(7px);
  backdrop-filter:blur(7px);
}

.ath-smart-cart-dialog{
  position:relative;
  width:min(560px,100%);
  max-height:min(88vh,720px);
  overflow:auto;
  padding:24px;
  border:1px solid rgba(213,187,143,.54);
  border-radius:28px;
  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.96),
      rgba(250,246,239,.92)
    );
  box-shadow:
    0 30px 90px rgba(39,29,18,.3),
    inset 0 1px 0 rgba(255,255,255,.9);
  transform:translateY(14px) scale(.985);
  transition:transform .2s cubic-bezier(.2,.72,.3,1);
}

.ath-smart-cart-layer.is-visible .ath-smart-cart-dialog{
  transform:translateY(0) scale(1);
}

.ath-smart-cart-dismiss{
  position:absolute;
  z-index:3;
  top:13px;
  inset-inline-end:13px;
  width:36px;
  height:36px;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid rgba(128,103,70,.13);
  border-radius:50%;
  background:rgba(255,255,255,.72);
  color:#463729;
  font-size:1.35rem;
  line-height:1;
  cursor:pointer;
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}

.ath-smart-cart-progress{
  position:absolute;
  top:0;
  inset-inline:24px;
  height:3px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(182,139,66,.12);
}

.ath-smart-cart-progress span{
  display:block;
  width:100%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#d4b06e,#a97c38,#e0c78e);
  transform:scaleX(0);
  transform-origin:inline-start;
}

.ath-smart-cart-layer.is-loading .ath-smart-cart-progress span{
  animation:athSmartCartProgress .75s ease-in-out infinite;
}

.ath-smart-cart-layer.is-success .ath-smart-cart-progress span{
  transform:scaleX(1);
}

.ath-smart-cart-main{
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:20px;
  align-items:center;
}

.ath-smart-cart-visual{
  position:relative;
  width:112px;
  aspect-ratio:1;
  overflow:hidden;
  border-radius:22px;
  background:
    linear-gradient(145deg,#f5ead8,#fff);
  box-shadow:0 12px 32px rgba(82,59,31,.13);
}

.ath-smart-cart-visual img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.ath-smart-cart-status-icon{
  position:absolute;
  inset-inline-end:8px;
  bottom:8px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:2px solid rgba(255,255,255,.88);
  border-radius:50%;
  background:#aa7e3c;
  color:#fff;
  box-shadow:0 7px 18px rgba(48,35,20,.2);
  font-weight:900;
}

.ath-smart-cart-layer.is-loading .ath-smart-cart-status-icon{
  animation:athSmartCartPulse .85s ease-in-out infinite;
}

.ath-smart-cart-layer.is-error .ath-smart-cart-status-icon{
  background:#a94343;
}

.ath-smart-cart-content{
  min-width:0;
  display:grid;
  gap:7px;
}

.ath-smart-cart-eyebrow{
  color:#a0783c;
  font-size:.77rem;
  font-weight:900;
  letter-spacing:.04em;
}

.ath-smart-cart-content h2{
  margin:0;
  padding-inline-end:28px;
  color:#30251b;
  font-size:clamp(1.18rem,3vw,1.55rem);
  line-height:1.3;
}

.ath-smart-cart-content p{
  margin:0;
}

.ath-smart-cart-content > p:not(.ath-smart-cart-design-name){
  color:#695e53;
  font-size:.94rem;
  line-height:1.65;
}

.ath-smart-cart-design-name{
  max-width:100%;
  overflow:hidden;
  color:#3f3124;
  font-size:.86rem;
  font-weight:800;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.ath-smart-cart-actions{
  margin-top:20px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}

.ath-smart-cart-btn{
  min-height:46px;
  padding:10px 13px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid transparent;
  border-radius:14px;
  font:800 .87rem/1.4 inherit;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
  transition:
    transform .14s ease,
    box-shadow .14s ease,
    background-color .14s ease;
}

.ath-smart-cart-btn:hover{
  transform:translateY(-1px);
}

.ath-smart-cart-btn.is-primary{
  background:#352a21;
  color:#fff;
  box-shadow:0 10px 24px rgba(50,38,27,.15);
}

.ath-smart-cart-btn.is-gold{
  background:linear-gradient(135deg,#bd9554,#9d7132);
  color:#fff;
  box-shadow:0 10px 24px rgba(157,113,50,.2);
}

.ath-smart-cart-btn.is-soft{
  border-color:rgba(163,130,82,.2);
  background:rgba(255,255,255,.66);
  color:#47392c;
}

.ath-smart-cart-guidance{
  margin:13px 0 0;
  color:#7a6e62;
  font-size:.78rem;
  line-height:1.55;
  text-align:center;
}

form[data-ath-cart-busy="1"] button[type="submit"],
form[data-ath-cart-busy="1"] button:not([type]){
  opacity:.62;
  cursor:wait;
}

@keyframes athSmartCartProgress{
  0%{transform:translateX(-100%) scaleX(.35)}
  55%{transform:translateX(20%) scaleX(.62)}
  100%{transform:translateX(100%) scaleX(.35)}
}

@keyframes athSmartCartPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(.88)}
}

@media(max-width:620px){
  .ath-smart-cart-layer{
    padding:12px;
    align-items:center;
  }

  .ath-smart-cart-dialog{
    width:100%;
    max-height:86vh;
    padding:20px 16px 17px;
    border-radius:23px;
  }

  .ath-smart-cart-main{
    grid-template-columns:82px minmax(0,1fr);
    gap:13px;
  }

  .ath-smart-cart-visual{
    width:82px;
    border-radius:17px;
  }

  .ath-smart-cart-status-icon{
    width:29px;
    height:29px;
    inset-inline-end:5px;
    bottom:5px;
  }

  .ath-smart-cart-actions{
    grid-template-columns:1fr;
    gap:7px;
    margin-top:16px;
  }

  .ath-smart-cart-btn{
    min-height:44px;
  }
}

@media(max-width:380px){
  .ath-smart-cart-main{
    grid-template-columns:68px minmax(0,1fr);
  }

  .ath-smart-cart-visual{
    width:68px;
  }

  .ath-smart-cart-content h2{
    font-size:1.08rem;
  }
}

@media(prefers-reduced-motion:reduce){
  .ath-smart-cart-layer,
  .ath-smart-cart-dialog,
  .ath-smart-cart-btn{
    transition:none;
  }

  .ath-smart-cart-layer.is-loading .ath-smart-cart-progress span,
  .ath-smart-cart-layer.is-loading .ath-smart-cart-status-icon{
    animation:none;
  }
}
