/* Cartly – side cart */
.cartly{--cartly-accent:#4f46e5;position:fixed;inset:0;z-index:100000;color:#0f172a;font-size:15px;line-height:1.4}
.cartly[hidden]{display:none}
.cartly__overlay{position:absolute;inset:0;background:rgba(15,23,42,.45);opacity:0;transition:opacity .25s}
.cartly__panel{position:absolute;top:0;bottom:0;right:0;width:min(420px,100%);background:#fff;display:flex;flex-direction:column;box-shadow:-20px 0 50px rgba(15,23,42,.18);transform:translateX(100%);transition:transform .25s ease;outline:0}
.cartly--left .cartly__panel{right:auto;left:0;transform:translateX(-100%);box-shadow:20px 0 50px rgba(15,23,42,.18)}
.cartly.is-open .cartly__overlay{opacity:1}.cartly.is-open .cartly__panel{transform:none}
html.cartly-lock{overflow:hidden}
.cartly__head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #e2e8f0}
.cartly__title{margin:0!important;font-size:19px!important;font-weight:800;display:flex;align-items:center;gap:8px;color:inherit}
.cartly__n{background:var(--cartly-accent);color:#fff;border-radius:99px;font-size:12px;padding:2px 8px;font-weight:700}
.cartly__close{background:none!important;border:0!important;font-size:30px!important;line-height:1!important;cursor:pointer;color:#475569!important;padding:2px 8px!important;border-radius:8px}
.cartly__close:hover{background:#f1f5f9!important}
.cartly__ship{padding:12px 20px;background:color-mix(in srgb,var(--cartly-accent) 7%,#fff);border-bottom:1px solid #e2e8f0}
.cartly__ship[hidden]{display:none}
.cartly__ship p{margin:0 0 8px!important;font-weight:600;font-size:14px}
.cartly__bar{display:block;height:7px;border-radius:9px;background:#e2e8f0;overflow:hidden}
.cartly__bar i{display:block;height:100%;width:0;background:var(--cartly-accent);border-radius:9px;transition:width .4s}
.cartly__ship.is-ok i{background:#16a34a}
.cartly__body{flex:1;overflow-y:auto;padding:6px 20px 16px}
.cartly__items,.cartly__cross ul{list-style:none;margin:0!important;padding:0!important}
.cartly__item,.cartly__cs{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px solid #f1f5f9;position:relative;margin:0}
.cartly__img{flex:0 0 68px;height:68px;border-radius:10px;overflow:hidden;background:#f1f5f9;display:block}
.cartly__img img{width:100%;height:100%;object-fit:cover;display:block;margin:0!important}
.cartly__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.cartly__name{color:#0f172a!important;font-weight:700;text-decoration:none!important;padding-right:22px}
.cartly__var{color:#64748b;font-size:13px}
.cartly__row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px}
.cartly__qty{display:inline-flex;align-items:center;border:1px solid #cbd5e1;border-radius:10px;overflow:hidden}
.cartly__qty button{background:#fff!important;border:0!important;width:32px;height:32px;font-size:18px!important;cursor:pointer;color:#0f172a!important;padding:0!important;line-height:1}
.cartly__qty button:hover{background:#f1f5f9!important}.cartly__qty button:disabled{opacity:.3;cursor:default}
.cartly__qty span{min-width:30px;text-align:center;font-weight:700}
.cartly__price{font-weight:800}
.cartly__rm{position:absolute;top:12px;right:0;background:none!important;border:0!important;color:#94a3b8!important;font-size:22px!important;cursor:pointer;padding:0 4px!important;line-height:1}
.cartly__rm:hover{color:#dc2626!important}
.cartly__empty{text-align:center;padding:50px 10px;color:#64748b}.cartly__empty[hidden]{display:none}
.cartly__empty svg{width:48px;height:48px;color:#cbd5e1}
.cartly__cross{margin-top:18px}.cartly__cross[hidden]{display:none}
.cartly__cross h3{font-size:15px!important;margin:0 0 4px!important;font-weight:800;color:inherit}
.cartly__cs .cartly__img{flex-basis:52px;height:52px}
.cartly__add{align-self:center;background:#fff!important;color:var(--cartly-accent)!important;border:1.5px solid var(--cartly-accent)!important;border-radius:9px!important;padding:6px 12px!important;font-weight:700!important;cursor:pointer;font-size:14px!important}
.cartly__add:hover{background:var(--cartly-accent)!important;color:#fff!important}
.cartly__foot{border-top:1px solid #e2e8f0;padding:16px 20px 20px;background:#fff}.cartly__foot[hidden]{display:none}
.cartly__sub{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 4px!important;font-size:17px}
.cartly__sub strong{font-size:20px}
.cartly__note{color:#64748b;font-size:13px;margin:0 0 14px!important}
.cartly__btn{display:block;text-align:center;background:var(--cartly-accent);color:#fff!important;text-decoration:none!important;font-weight:700;padding:14px;border-radius:12px;font-size:16px}
.cartly__btn:hover{filter:brightness(1.08)}
.cartly__btn--ghost{display:inline-block;background:#fff;color:var(--cartly-accent)!important;border:2px solid var(--cartly-accent);padding:10px 18px;margin-top:8px}
.cartly__link{display:block;text-align:center;margin-top:10px;color:#475569!important;font-weight:600;font-size:14px}
.cartly__loading{position:absolute;left:0;right:0;top:0;height:3px;overflow:hidden;opacity:0;transition:opacity .2s}
.cartly__loading:after{content:"";position:absolute;top:0;bottom:0;width:40%;background:var(--cartly-accent);animation:cartly-load 1s infinite linear}
.cartly.is-busy .cartly__loading{opacity:1}.cartly.is-busy .cartly__body,.cartly.is-busy .cartly__foot{opacity:.65;pointer-events:none}
@keyframes cartly-load{from{left:-40%}to{left:100%}}
.cartly-fab{position:fixed;bottom:22px;right:22px;z-index:99990;width:58px;height:58px;border-radius:50%!important;border:0!important;background:var(--cartly-accent,#4f46e5)!important;color:#fff!important;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 12px 28px rgba(15,23,42,.28);padding:0!important}
.cartly-fab--left{right:auto;left:22px}
.cartly-fab:hover{transform:translateY(-2px)}
.cartly-fab .cartly-count{position:absolute;top:-4px;right:-4px;background:#0f172a;color:#fff;border-radius:99px;min-width:22px;height:22px;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 6px;border:2px solid #fff}
.cartly-fab .cartly-count.is-zero{display:none}
.cartly-open .cartly-count{display:inline-block;background:var(--cartly-accent,#4f46e5);color:#fff;border-radius:99px;padding:0 7px;font-size:12px;margin-left:4px}
@media(prefers-reduced-motion:reduce){.cartly__panel,.cartly__overlay{transition:none}}
