
.roxc-flycart-overlay{
  position:fixed;inset:0;z-index:999990;background:var(--roxf-overlay,rgba(0,0,0,.42));
  opacity:0;transition:opacity .22s ease
}
.roxc-flycart-overlay.is-open{opacity:1}
.roxc-flycart{
  position:fixed;top:0;bottom:0;z-index:999991;width:min(var(--roxf-width,430px),calc(100vw - 18px));
  background:var(--roxf-bg,#fff);color:var(--roxf-text,#202124);
  box-shadow:0 0 45px rgba(0,0,0,.16);visibility:hidden;transition:transform .28s ease,opacity .22s ease;
  font-family:inherit
}
.roxc-flycart--right{right:0;transform:translateX(105%)}
.roxc-flycart--left{left:0;transform:translateX(-105%)}
.roxc-flycart.is-open{visibility:visible;transform:translateX(0)}
.roxc-flycart--fade{transform:none!important;opacity:0}
.roxc-flycart--fade.is-open{opacity:1}
.roxc-flycart--rounded.roxc-flycart--right{border-radius:18px 0 0 18px}
.roxc-flycart--rounded.roxc-flycart--left{border-radius:0 18px 18px 0}
.roxc-flycart-open{overflow:hidden!important}
.roxc-flycart-inner{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;position:relative;overflow:hidden}
.roxc-flycart-head{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 15px;border-bottom:1px solid #edf0f2}
.roxc-flycart-kicker{display:block;margin-bottom:2px;color:var(--roxf-muted,#777);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}
.roxc-flycart-head h3{margin:0!important;color:var(--roxf-text,#202124)!important;font-size:20px!important;line-height:1.2!important;font-weight:850!important}
.roxc-flycart-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;margin-left:4px;border-radius:99px;background:var(--roxf-accent,#222);color:#fff;font-size:10px;vertical-align:2px}
.roxc-flycart-close{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid #e4e7e9;border-radius:10px;background:#fff;color:#555;cursor:pointer}
.roxc-flycart-close svg,.roxc-flycart-remove svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.roxc-flycart-body{min-height:0;overflow-y:auto;padding:6px 18px;scrollbar-width:thin}
.roxc-flycart-items{display:flex;flex-direction:column}
.roxc-flycart-item{display:grid;grid-template-columns:82px minmax(0,1fr);gap:13px;padding:14px 0;border-bottom:1px solid #edf0f2}
.roxc-flycart-thumb{width:82px;height:82px;border:1px solid #edf0f2;border-radius:10px;overflow:hidden;background:#fff}
.roxc-flycart-thumb img{display:block;width:100%!important;height:100%!important;object-fit:contain!important}
.roxc-flycart-item-main{min-width:0}
.roxc-flycart-name{display:block;margin:1px 0 5px;color:var(--roxf-text,#202124)!important;font-size:12px!important;line-height:1.35!important;font-weight:750!important;text-decoration:none!important}
.roxc-flycart-price{color:var(--roxf-text,#202124);font-size:12px;font-weight:850}
.roxc-flycart-price .amount{font-size:inherit!important;color:inherit!important}
.roxc-flycart-item-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px}
.roxc-flycart-qty{display:grid;grid-template-columns:30px 38px 30px;height:32px;border:1px solid #dde1e4;border-radius:8px;overflow:hidden;background:#fff}
.roxc-flycart-qty button,.roxc-flycart-qty input{height:30px!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#fff!important;color:#333!important;text-align:center!important;font:750 12px/30px inherit!important;box-shadow:none!important}
.roxc-flycart-qty input{width:38px!important;border-left:1px solid #edf0f2!important;border-right:1px solid #edf0f2!important;-moz-appearance:textfield}
.roxc-flycart-qty input::-webkit-outer-spin-button,.roxc-flycart-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.roxc-flycart-remove{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:8px;background:transparent;color:#a34b45;cursor:pointer}
.roxc-flycart-remove:hover{background:#fff1f0}
.roxc-flycart-foot{padding:15px 20px 18px;border-top:1px solid #e8ebed;background:var(--roxf-bg,#fff)}
.roxc-flycart-subtotal{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.roxc-flycart-subtotal span{color:var(--roxf-muted,#777);font-size:12px;font-weight:700}
.roxc-flycart-subtotal strong{font-size:18px;font-weight:850;color:var(--roxf-text,#202124)}
.roxc-flycart-subtotal .amount{font-size:inherit!important;color:inherit!important}
.roxc-flycart-total-note{margin-top:3px;color:var(--roxf-muted,#777);font-size:9px;text-align:right}
.roxc-flycart-actions{display:grid;grid-template-columns:1fr 1.15fr;gap:8px;margin-top:13px}
.roxc-flycart-btn{display:flex!important;align-items:center!important;justify-content:center!important;min-height:43px!important;padding:8px 12px!important;border-radius:9px!important;font-size:11px!important;font-weight:800!important;text-decoration:none!important}
.roxc-flycart-btn--secondary{border:1px solid #dfe3e6!important;background:#fff!important;color:#333!important}
.roxc-flycart-btn--primary{border:1px solid var(--roxf-accent,#222)!important;background:var(--roxf-accent,#222)!important;color:#fff!important}
.roxc-flycart-continue{display:block;margin:10px auto 0;padding:5px 8px;border:0;background:transparent;color:var(--roxf-muted,#777);font-size:10px;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.roxc-flycart-empty{display:flex;min-height:100%;flex-direction:column;align-items:center;justify-content:center;padding:35px 20px;text-align:center}
.roxc-flycart-empty-icon{font-size:32px;margin-bottom:10px}.roxc-flycart-empty strong{font-size:15px}.roxc-flycart-empty p{margin:5px 0 8px;color:var(--roxf-muted,#777);font-size:11px}
.roxc-flycart-undo{position:absolute;left:16px;right:16px;bottom:16px;z-index:5;padding:11px 13px;border-radius:9px;background:#202428;color:#fff;font-size:11px;box-shadow:0 8px 25px rgba(0,0,0,.18)}
.roxc-flycart-undo-btn{float:right;padding:0;border:0;background:transparent;color:#fff;font-size:11px;font-weight:850;text-decoration:underline;cursor:pointer}
.roxc-flycart-loader{position:absolute;inset:0;z-index:10;background:rgba(255,255,255,.62);display:grid;place-items:center}
.roxc-flycart-loader[hidden]{display:none!important}.roxc-flycart-loader span{width:28px;height:28px;border:3px solid #dfe3e6;border-top-color:var(--roxf-accent,#222);border-radius:50%;animation:roxfspin .65s linear infinite}
@keyframes roxfspin{to{transform:rotate(360deg)}}
@media(max-width:520px){
 .roxc-flycart{width:min(94vw,430px)}
 .roxc-flycart-item{grid-template-columns:72px minmax(0,1fr)}
 .roxc-flycart-thumb{width:72px;height:72px}
 .roxc-flycart-actions{grid-template-columns:1fr}
}


/* Rox Fly Cart 0.5.1 — instant opening */
.roxc-flycart.is-open .roxc-flycart-loader{
  background:rgba(255,255,255,.38);
  backdrop-filter:blur(.5px);
}


/* Rox cart icon shortcode */
.roxc-cart-icon{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    line-height:1;
    cursor:pointer;
    vertical-align:middle;
}

.roxc-cart-icon .roxc-cart-icon-symbol{
    display:block;
    color:var(--roxc-cart-icon-color,#202020);
}

.roxc-cart-icon svg.roxc-cart-icon-symbol{
    width:auto;
    max-width:none;
}


.roxc-cart-icon-count{
    position:absolute;
    top:-6px;
    right:-9px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:18px;
    height:18px;
    padding:0 5px;
    box-sizing:border-box;
    border-radius:999px;
    background:var(--roxc-cart-count-bg,#202020);
    color:var(--roxc-cart-count-color,#fff);
    font-family:Arial,Helvetica,sans-serif;
    font-size:11px;
    font-weight:600;
    line-height:1;
    pointer-events:none;
}

.roxc-cart-icon:focus-visible{
    outline:2px solid currentColor;
    outline-offset:4px;
    border-radius:4px;
}
