/* Atelier30 - Cart Bottom Sheet + Bottom App Nav */
:root{
  --a30-app-bg:#fbf7f5;
  --a30-app-card:#ffffff;
  --a30-app-text:#201719;
  --a30-app-muted:#8a7b7e;
  --a30-app-line:rgba(60,36,40,.10);
  --a30-app-soft:#fff1ee;
  --a30-app-rose:#ff8f84;
  --a30-app-rose2:#ffb6ad;
  --a30-app-shadow:0 22px 70px rgba(77,45,48,.18);
}
body{padding-bottom:104px!important;}

/* Backdrop */
.cart-backdrop,
.a30-cart-backdrop{
  position:fixed!important;
  inset:0!important;
  background:rgba(32,23,25,.28)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  z-index:99990!important;
  transition:opacity .24s ease, visibility .24s ease!important;
}
.cart-backdrop.show,
.a30-cart-backdrop.show,
body.cart-open .cart-backdrop,
body.cart-open .a30-cart-backdrop{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

/* Sheet */
.cart-drawer,
.a30-cart-sheet{
  position:fixed!important;
  left:50%!important;
  right:auto!important;
  bottom:12px!important;
  top:auto!important;
  transform:translateX(-50%) translateY(calc(100% + 28px))!important;
  width:min(560px, calc(100% - 20px))!important;
  max-height:min(84vh, 720px)!important;
  height:auto!important;
  background:rgba(255,255,255,.94)!important;
  color:var(--a30-app-text)!important;
  border:1px solid rgba(60,36,40,.10)!important;
  border-radius:34px!important;
  box-shadow:0 34px 95px rgba(77,45,48,.26)!important;
  backdrop-filter:blur(28px) saturate(150%)!important;
  -webkit-backdrop-filter:blur(28px) saturate(150%)!important;
  z-index:100000!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  transition:transform .32s cubic-bezier(.2,.9,.2,1)!important;
}
.cart-drawer.open,
.a30-cart-sheet.open,
body.cart-open .cart-drawer,
body.cart-open .a30-cart-sheet{
  transform:translateX(-50%) translateY(0)!important;
}
.a30-sheet-handle{
  width:48px;
  height:5px;
  border-radius:999px;
  background:rgba(32,23,25,.14);
  margin:10px auto 3px;
  flex:0 0 auto;
}

/* Head */
.cart-head,
.a30-cart-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:16px 20px 12px!important;
  border-bottom:1px solid var(--a30-app-line)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.62))!important;
}
.a30-cart-head span{display:block;color:#d66e66;font-size:.74rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px;}
.cart-head strong,
.a30-cart-head strong{display:block;font-size:1.55rem;font-weight:950;letter-spacing:-.055em;color:var(--a30-app-text)!important;}
.cart-head button,
.a30-cart-head button{
  width:42px!important;
  height:42px!important;
  border:0!important;
  border-radius:16px!important;
  background:#f5efed!important;
  color:var(--a30-app-text)!important;
  display:grid!important;
  place-items:center!important;
  font-size:1rem!important;
  font-weight:900!important;
}

/* Items */
.cart-items,
.a30-cart-items{
  padding:14px 16px!important;
  overflow-y:auto!important;
  min-height:120px!important;
  max-height:42vh!important;
  display:grid!important;
  gap:10px!important;
  scrollbar-width:none!important;
}
.cart-items::-webkit-scrollbar,.a30-cart-items::-webkit-scrollbar{display:none!important;}
.cart-items:empty{display:none!important;}
.cart-items:not(:empty) + .a30-cart-empty{display:none!important;}
.a30-cart-empty{
  padding:22px 26px 26px;
  text-align:center;
  color:var(--a30-app-muted);
}
.a30-cart-empty div{
  width:72px;height:72px;border-radius:24px;background:var(--a30-app-soft);
  display:grid;place-items:center;margin:0 auto 12px;color:#d66e66;font-size:1.75rem;
}
.a30-cart-empty strong{display:block;color:var(--a30-app-text);font-size:1.1rem;font-weight:950;letter-spacing:-.03em;}
.a30-cart-empty p{margin:7px auto 14px;max-width:330px;font-weight:650;line-height:1.45;}
.a30-cart-empty a{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--a30-app-text);color:#fff!important;text-decoration:none;padding:11px 16px;font-weight:900;}

/* Compatible styles for JS-created cart rows */
.cart-item,
.a30-cart-item,
.cart-items > div:not(.a30-cart-empty){
  background:#fff!important;
  border:1px solid var(--a30-app-line)!important;
  border-radius:24px!important;
  box-shadow:0 12px 34px rgba(77,45,48,.08)!important;
  padding:10px!important;
  display:grid!important;
  grid-template-columns:72px minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:center!important;
}
.cart-item img,
.a30-cart-item img,
.cart-items > div img{
  width:72px!important;height:72px!important;object-fit:cover!important;border-radius:19px!important;background:#f5efed!important;
}
.cart-item h4,.cart-item strong,.a30-cart-item h4,.a30-cart-item strong{
  margin:0!important;color:var(--a30-app-text)!important;font-weight:950!important;letter-spacing:-.03em!important;font-size:.96rem!important;
}
.cart-item small,.a30-cart-item small,.cart-item span,.a30-cart-item span{color:var(--a30-app-muted);font-weight:700;}
.cart-item button,
.a30-cart-item button,
.cart-items > div button{
  border:0!important;border-radius:13px!important;background:var(--a30-app-soft)!important;color:#d66e66!important;
  min-width:34px!important;height:34px!important;font-weight:950!important;
}

/* Foot */
.cart-foot,
.a30-cart-foot{
  flex:0 0 auto!important;
  padding:14px 18px 18px!important;
  border-top:1px solid var(--a30-app-line)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.76),rgba(255,246,244,.92))!important;
}
.a30-cart-summary,
.cart-total{
  background:#fff!important;
  border:1px solid var(--a30-app-line)!important;
  border-radius:24px!important;
  padding:14px 16px!important;
  margin-bottom:12px!important;
  box-shadow:0 12px 34px rgba(77,45,48,.07)!important;
}
.a30-cart-summary div,.cart-total{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;}
.a30-cart-summary span,.cart-total span{color:var(--a30-app-muted)!important;font-weight:800!important;}
.a30-cart-summary strong,.cart-total strong{color:var(--a30-app-text)!important;font-weight:950!important;font-size:1.35rem!important;letter-spacing:-.04em!important;}
.a30-cart-summary small{display:block;margin-top:4px;color:var(--a30-app-muted);font-weight:650;}
.a30-checkout-btn,
.cart-foot .btn-primary,
.cart-foot a.btn-primary{
  width:100%!important;
  height:54px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,var(--a30-app-rose2),var(--a30-app-rose))!important;
  color:#fff!important;
  text-decoration:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  font-weight:950!important;
  box-shadow:0 18px 38px rgba(255,143,132,.28)!important;
}
.a30-continue-btn{
  width:100%;height:42px;border:0;background:transparent;color:#9b6c69;font-weight:900;margin-top:6px;
}
.cart-foot > small{display:none!important;}

/* Bottom app nav */
.a30-bottom-appnav{
  position:fixed!important;
  left:50%!important;
  right:auto!important;
  bottom:14px!important;
  transform:translateX(-50%)!important;
  width:min(430px, calc(100% - 28px))!important;
  height:72px!important;
  background:rgba(255,255,255,.90)!important;
  border:1px solid rgba(60,36,40,.10)!important;
  border-radius:28px!important;
  box-shadow:0 18px 50px rgba(77,45,48,.16)!important;
  backdrop-filter:blur(22px)!important;
  -webkit-backdrop-filter:blur(22px)!important;
  display:grid!important;
  grid-template-columns:repeat(5,1fr)!important;
  padding:8px!important;
  z-index:99980!important;
}
.a30-bottom-appnav a{
  position:relative!important;
  border-radius:20px!important;
  color:#9b8d90!important;
  text-decoration:none!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
  font-size:.66rem!important;
  font-weight:900!important;
  background:transparent!important;
  transform:none!important;
  transition:.18s ease!important;
}
.a30-bottom-appnav a i{font-size:1.15rem!important;line-height:1!important;}
.a30-bottom-appnav a.active,
.a30-bottom-appnav a:hover{background:var(--a30-app-soft)!important;color:#d66e66!important;}
.a30-bottom-appnav b{
  position:absolute;right:12px;top:8px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;
  background:linear-gradient(135deg,var(--a30-app-rose2),var(--a30-app-rose));color:#fff;font-size:.62rem;display:grid;place-items:center;border:2px solid #fff;
}
@media(max-width:520px){
  .cart-drawer,.a30-cart-sheet{width:calc(100% - 14px)!important;bottom:7px!important;border-radius:30px!important;max-height:86vh!important;}
  .a30-bottom-appnav{width:calc(100% - 22px)!important;bottom:10px!important;height:70px!important;border-radius:25px!important;}
  .a30-bottom-appnav a span{font-size:.62rem!important;}
}
