/* OBSIRIA — side cart drawer (shared: homepage + obsiria-chrome mu-plugin). One implementation. */
.ob-cartd{position:fixed;inset:0;z-index:99999;}
.ob-cartd[hidden]{display:none;}
.ob-cartd-scrim{
  position:absolute;inset:0;background:rgba(15,13,10,0.45);
  opacity:0;transition:opacity .3s cubic-bezier(0.23,1,0.32,1);
}
.ob-cartd.is-open .ob-cartd-scrim{opacity:1;}
.ob-cartd-panel{
  position:absolute;top:0;right:0;bottom:0;
  width:380px;max-width:88vw;
  background:#FAF6EC;color:#0F0D0A;
  display:flex;flex-direction:column;
  box-shadow:-12px 0 40px -18px rgba(15,13,10,0.35);
  transform:translateX(100%);
  transition:transform .3s cubic-bezier(0.23,1,0.32,1);
  font-family:'Bespoke Sans',ui-sans-serif,system-ui,-apple-system,sans-serif;
}
.ob-cartd.is-open .ob-cartd-panel{transform:translateX(0);}
@media (prefers-reduced-motion:reduce){
  .ob-cartd-scrim,.ob-cartd-panel{transition:none!important;}
}
.ob-cartd-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 22px;border-bottom:1px solid #E6E0CF;flex-shrink:0;
}
.ob-cartd-title{font-weight:600;font-size:1.02rem;letter-spacing:0.01em;color:#0F0D0A;margin:0;}
.ob-cartd-close{
  -webkit-appearance:none;appearance:none;
  background:none !important;border:0 !important;border-radius:0 !important;
  box-shadow:none !important;min-width:0 !important;min-height:0 !important;
  padding:6px !important;margin:-6px;cursor:pointer;
  color:#0F0D0A !important;font-size:1rem;line-height:1;
  font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace !important;
}
.ob-cartd-close:hover{color:#1a6c52 !important;}
.ob-cartd-body{flex:1 1 auto;overflow-y:auto;padding:8px 22px;}
.ob-cartd-body:has(.ob-cartd-empty){display:flex;flex-direction:column;justify-content:center;}
.ob-cartd-empty{padding:36px 0;text-align:center;}
.ob-cartd-empty p{margin:0 0 18px;color:#5a5550;font-size:0.94rem;}
.ob-cartd-empty a{
  display:inline-block;color:#0F0D0A;font-size:0.92rem;font-weight:500;
  border-bottom:1px solid #0F0D0A;padding-bottom:2px;text-decoration:none;
}
.ob-cartd-empty a:hover{color:#1a6c52;border-color:#1a6c52;}
.ob-cartd-item{
  display:flex;gap:14px;align-items:flex-start;
  padding:16px 0;border-bottom:1px solid #E6E0CF;
}
.ob-cartd-item:last-child{border-bottom:0;}
.ob-cartd-thumb{
  width:56px;height:56px;flex-shrink:0;background:#EDE8D9;border-radius:3px;overflow:hidden;
}
.ob-cartd-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.ob-cartd-info{flex:1 1 auto;min-width:0;}
.ob-cartd-name{
  font-size:0.9rem;font-weight:600;color:#0F0D0A;line-height:1.3;margin:0;
  display:block;text-decoration:none;
}
a.ob-cartd-name:hover{color:#1a6c52;}
.ob-cartd-meta{
  margin-top:4px;font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  font-size:0.76rem;color:#5a5550;
}
.ob-cartd-line{
  margin-top:6px;font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  font-size:0.82rem;color:#1a6c52;font-weight:500;
}
.ob-cartd-remove{
  -webkit-appearance:none;appearance:none;
  background:none !important;border:0 !important;border-radius:0 !important;
  box-shadow:none !important;min-width:0 !important;min-height:0 !important;
  padding:4px !important;margin:-4px;cursor:pointer;flex-shrink:0;
  color:#5a5550 !important;font-size:0.85rem;line-height:1;
  font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace !important;
}
.ob-cartd-remove:hover{color:#0F0D0A !important;}
.ob-cartd-remove[disabled]{opacity:0.4;cursor:default;}
.ob-cartd-foot{
  flex-shrink:0;border-top:1px solid #E6E0CF;padding:18px 22px 22px;
  background:#FAF6EC;
}
.ob-cartd-subtotal{
  display:flex;align-items:baseline;justify-content:space-between;
  margin-bottom:14px;font-size:0.92rem;color:#0F0D0A;
}
.ob-cartd-subtotal strong{
  font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  font-weight:600;color:#0d3f30;
}
.ob-cartd-actions{display:flex;flex-direction:column;gap:10px;}
.ob-cartd-btn{
  display:block;width:100%;text-align:center;text-decoration:none;
  font-size:0.9rem;font-weight:600;padding:13px 0;border-radius:2px;
  transition:background .15s ease,border-color .15s ease;
  box-sizing:border-box;
}
.ob-cartd-btn--checkout{
  background:#5ec293;border:1px solid #5ec293;color:#0d3f30;
}
.ob-cartd-btn--checkout:hover{background:#57bb8b;border-color:#57bb8b;color:#0d3f30;}
.ob-cartd-btn--cart{
  background:transparent;border:0;color:#1a6c52;font-weight:500;
  min-height:44px;display:flex;align-items:center;justify-content:center;
  text-decoration:underline;text-underline-offset:3px;
  transition:color .15s ease;
}
.ob-cartd-btn--cart:hover{color:#115440;}
.ob-cartd-loading{
  padding:36px 0;text-align:center;color:#5a5550;
  font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:0.8rem;
}
