
/* ==========================================================
   Aafiyora v4.4 Cart + Checkout Conversion Edition
   ========================================================== */
:root{
  --a50-forest:#263728;
  --a50-text:#52604F;
  --a50-muted:#6F7A69;
  --a50-cream:#FFF8EC;
  --a50-white:#FFFFFF;
  --a50-sage:#EAF1E6;
  --a50-gold:#C9A45C;
  --a50-line:rgba(38,55,40,.12);
  --a50-shadow:0 24px 70px rgba(38,55,40,.12);
  --a50-shadow-strong:0 42px 120px rgba(38,55,40,.20);
}

.aafi-v44-cart-drawer{
  position:fixed;
  inset:0;
  z-index:99998;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .24s ease, visibility .24s ease;
}
.aafi-v44-cart-drawer.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.aafi-v44-cart-backdrop{
  position:absolute;
  inset:0;
  background:rgba(28,40,29,.42);
  backdrop-filter:blur(10px);
}
.aafi-v44-cart-panel{
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:min(460px,94vw);
  background:linear-gradient(180deg,#FFF8EC,#F3E9D5);
  box-shadow:var(--a50-shadow-strong);
  transform:translateX(100%);
  transition:transform .28s ease;
  overflow:auto;
}
.aafi-v44-cart-drawer.is-visible .aafi-v44-cart-panel{
  transform:translateX(0);
}
.aafi-v44-cart-head{
  position:sticky;
  top:0;
  z-index:2;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:22px;
  background:rgba(255,248,236,.94);
  border-bottom:1px solid var(--a50-line);
  backdrop-filter:blur(14px);
}
.aafi-v44-cart-head span{
  color:var(--a50-gold);
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.aafi-v44-cart-head h3{
  margin:.35rem 0 0;
  color:var(--a50-forest);
  font-family:var(--font-heading, Georgia, serif);
  font-size:2rem;
  line-height:1.05;
}
.aafi-v44-cart-head button{
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:var(--a50-forest);
  color:var(--a50-cream);
  font-size:1.45rem;
  cursor:pointer;
}
.aafi-v44-cart-progress{
  margin:18px;
  padding:16px;
  border-radius:22px;
  background:#fff;
  border:1px solid var(--a50-line);
  box-shadow:0 16px 46px rgba(38,55,40,.08);
}
.aafi-v44-cart-progress p{
  margin:0 0 10px;
  color:var(--a50-forest)!important;
  font-weight:850;
}
.aafi-v44-cart-progress div{
  height:10px;
  border-radius:999px;
  background:rgba(38,55,40,.10);
  overflow:hidden;
}
.aafi-v44-cart-progress div span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--a50-sage),var(--a50-gold));
}
.aafi-v44-cart-items{
  display:grid;
  gap:12px;
  padding:0 18px 18px;
}
.aafi-v44-cart-item{
  display:grid;
  grid-template-columns:78px 1fr;
  gap:12px;
  padding:12px;
  border-radius:22px;
  background:#fff;
  border:1px solid var(--a50-line);
  box-shadow:0 16px 42px rgba(38,55,40,.07);
}
.aafi-v44-cart-item img{
  width:78px;
  height:78px;
  border-radius:18px;
  object-fit:cover;
  background:var(--a50-sage);
}
.aafi-v44-cart-item a:first-child{
  display:block;
  color:var(--a50-forest)!important;
  font-weight:950;
  text-decoration:none!important;
  line-height:1.2;
}
.aafi-v44-cart-item span{
  display:block;
  margin-top:4px;
  color:var(--a50-text)!important;
  font-size:.9rem;
  font-weight:800;
}
.aafi-v44-remove{
  display:inline-flex;
  margin-top:8px;
  color:#9B4D3B!important;
  font-weight:900;
  font-size:.85rem;
}
.aafi-v44-upsell{
  margin:0 18px 18px;
  padding:16px;
  border-radius:24px;
  background:linear-gradient(145deg,#FFFFFF,#F5EFDF);
  border:1px solid var(--a50-line);
  box-shadow:0 18px 52px rgba(38,55,40,.08);
}
.aafi-v44-upsell > strong{
  display:block;
  color:var(--a50-forest);
  font-size:1.08rem;
  margin-bottom:4px;
}
.aafi-v44-upsell p{
  margin:0 0 12px;
  color:var(--a50-text)!important;
  font-size:.92rem;
}
.aafi-v44-upsell-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}
.aafi-v44-upsell-grid a{
  display:grid;
  gap:5px;
  text-decoration:none!important;
  color:var(--a50-forest)!important;
}
.aafi-v44-upsell-grid img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:14px;
  background:var(--a50-sage);
}
.aafi-v44-upsell-grid span{
  color:var(--a50-forest)!important;
  font-size:.78rem;
  font-weight:950;
  line-height:1.2;
}
.aafi-v44-upsell-grid small{
  color:var(--a50-muted);
  font-weight:800;
}
.aafi-v44-cart-summary,
.aafi-v44-cart-empty{
  margin:18px;
  padding:18px;
  border-radius:24px;
  background:#fff;
  border:1px solid var(--a50-line);
  box-shadow:0 18px 52px rgba(38,55,40,.08);
}
.aafi-v44-cart-summary div:first-child{
  display:flex;
  justify-content:space-between;
  gap:12px;
  color:var(--a50-forest);
  font-weight:950;
  font-size:1.05rem;
}
.aafi-v44-cart-summary p,
.aafi-v44-cart-empty p{
  color:var(--a50-text)!important;
  margin:12px 0;
}
.aafi-v44-cart-summary .btn,
.aafi-v44-cart-empty .btn{
  width:100%;
  justify-content:center;
  margin-top:8px;
}
.aafi-v44-checkout-conversion{
  margin:16px 0;
  padding:18px;
  border-radius:22px;
  background:linear-gradient(145deg,#fff,#F8EEDC);
  border:1px solid var(--a50-line);
  box-shadow:0 16px 46px rgba(38,55,40,.08);
}
.aafi-v44-checkout-conversion strong{
  display:block;
  color:var(--a50-forest);
  font-size:1.1rem;
  margin-bottom:6px;
}
.aafi-v44-checkout-conversion p{
  color:var(--a50-text)!important;
  margin:0 0 12px;
}
.aafi-v44-checkout-conversion div{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.aafi-v44-checkout-conversion span{
  padding:.5rem .7rem;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--a50-line);
  color:var(--a50-forest);
  font-size:.78rem;
  font-weight:950;
}
@media(max-width:760px){
  .aafi-v44-cart-panel{width:100vw}
  .aafi-v44-upsell-grid{grid-template-columns:repeat(2,1fr)}
}
