/* MediShop v22 — UI Components (scroll-top, flyout, toast, search results) */
#ms-scroll-top{position:fixed;bottom:24px;right:24px;width:42px;height:42px;border-radius:50%;background:#009639;color:#fff;border:none;font-size:20px;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;z-index:9990;box-shadow:0 3px 10px rgba(0,0,0,.25);}
    #ms-scroll-top.visible{opacity:1;pointer-events:auto;}
    #ms-scroll-top:hover{background:#007a2f;transform:translateY(-2px);}
    @media(max-width:700px){#ms-scroll-top{display:none!important;}}
    #ms-cart-flyout{position:fixed;bottom:80px;right:20px;z-index:9995;background:#009639;color:#fff;border-radius:12px;padding:14px 18px;box-shadow:0 4px 20px rgba(0,0,0,.2);transform:translateY(20px) scale(.95);opacity:0;pointer-events:none;transition:all .35s cubic-bezier(.34,1.56,.64,1);}
    #ms-cart-flyout.visible{transform:translateY(0) scale(1);opacity:1;pointer-events:auto;}
    .ms-flyout-inner{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;}
    .ms-flyout-link{color:#fff;text-decoration:none;background:rgba(255,255,255,.2);padding:4px 10px;border-radius:6px;}
    .ms-flyout-close{background:none;border:none;color:#fff;cursor:pointer;font-size:16px;padding:0;line-height:1;}
    /* Urgency badge */
    .ms-urgency-badge{display:flex;align-items:center;gap:6px;font-size:12px;color:#e85d04;background:#fff8f5;border:1px solid #ffd0b5;border-radius:6px;padding:7px 12px;margin-top:12px;font-weight:600;}
    .ms-urg-dot{width:8px;height:8px;border-radius:50%;background:#e85d04;display:inline-block;animation:ms-pulse 1.2s infinite;}
    @keyframes ms-pulse{0%,100%{opacity:1}50%{opacity:.4}}
    /* Search results */
    #ms-search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:9999;max-height:360px;overflow-y:auto;display:none;}
    #ms-search-results.open{display:block;}
    .ms-sr-item{display:flex;align-items:center;gap:10px;padding:10px 14px;text-decoration:none;color:#222;border-bottom:1px solid #f0f0f0;transition:background .15s;}
    .ms-sr-item:hover,.ms-sr-item.active{background:#f0fdf4;}
    .ms-sr-item img{width:40px;height:40px;object-fit:contain;border-radius:4px;border:1px solid #eee;}
    .ms-sr-no-img{font-size:24px;width:40px;text-align:center;}
    .ms-sr-name{font-size:13px;font-weight:600;display:block;}
    .ms-sr-name mark{background:#fff3cd;padding:0 2px;border-radius:2px;}
    .ms-sr-price{font-size:12px;color:#009639;font-weight:700;}
    .ms-sr-view-all{display:block;padding:10px 14px;font-size:12px;color:#009639;text-decoration:none;background:#f9fafb;border-top:1px solid #e8e8e8;font-weight:600;}
    .ms-sr-view-all:hover{background:#f0fdf4;}
    .ms-sr-empty{padding:14px;font-size:13px;color:#999;text-align:center;}
    /* Spinner in add-to-cart button */
    .ms-btn-spinner{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:ms-spin .7s linear infinite;}
    @keyframes ms-spin{to{transform:rotate(360deg)}}
    /* Cart count pulse */
    @keyframes ms-cart-pulse{0%{transform:scale(1)}50%{transform:scale(1.5)}100%{transform:scale(1)}}
    .ms-cart-pulse{animation:ms-cart-pulse .4s ease;}
    /* Toast */
    .ms-toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(20px);background:#222;color:#fff;padding:12px 22px;border-radius:8px;font-size:13px;font-weight:600;z-index:99999;opacity:0;transition:all .35s;pointer-events:none;white-space:nowrap;}
    .ms-toast.visible{opacity:1;transform:translateX(-50%) translateY(0);}
    .ms-toast-success{background:#009639;}
    .ms-toast-error{background:#e53935;}