.banner-theme-default{background-color:#fed866;color:#000}.banner-theme-success{background-color:#28a745;color:#fff}.banner-theme-info{background-color:#17a2b8;color:#fff}.banner-theme-warning{background-color:#fd7e14;color:#fff}.banner-theme-danger{background-color:#dc3545;color:#fff}.banner-theme-primary{background-color:#007bff;color:#fff}.banner-theme-dark{background-color:#343a40;color:#fff}.banner-theme-light{background-color:#f8f9fa;color:#000}.banner-theme-purple{background-color:#6f42c1;color:#fff}.banner-theme-teal{background-color:#20c997;color:#fff}.banner-state-active{opacity:1;transform:translateY(0);transition:all .3s ease-in-out}.banner-state-inactive{opacity:0;transform:translateY(-100%);transition:all .3s ease-in-out}.banner-state-dismissing{opacity:0;transform:translateY(-20px);transition:all .3s ease-in-out}.banner-state-entering{animation:bannerSlideDown .3s ease-out}.banner-state-exiting{animation:bannerSlideUp .3s ease-in}.banner-size-compact{min-height:32px;padding:.4rem .8rem}.banner-size-normal{min-height:44px;padding:.6rem 1rem}.banner-size-large{min-height:56px;padding:.8rem 1.2rem}.banner-position-top{position:-webkit-sticky;position:sticky;top:0;z-index:1000}.banner-position-fixed{position:fixed;top:0;left:0;right:0;z-index:1050}.banner-position-relative{position:relative;z-index:1}.banner-layout-horizontal{display:flex;align-items:center;justify-content:center;flex-direction:row}.banner-layout-vertical{flex-direction:column}.banner-layout-centered,.banner-layout-vertical{display:flex;align-items:center;justify-content:center;text-align:center}.banner-text-title{font-weight:700;font-size:.9rem;line-height:1.3;margin:0}.banner-text-message{font-weight:400;font-size:.8rem;line-height:1.4;margin:0}.banner-text-small{font-size:.875rem}.banner-text-large{font-size:1.125rem}.banner-cta{background-color:#fff3;border:2px solid;border-radius:1.5rem;padding:.5rem 1rem;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:all .2s ease-in-out;cursor:pointer;white-space:nowrap}.banner-cta:hover{background-color:#ffffff4d;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a;text-decoration:none;color:inherit}.banner-cta:active{transform:translateY(0)}.banner-cta:focus{outline:2px solid currentColor;outline-offset:2px}.banner-close{background:none;border:none;color:inherit;cursor:pointer;padding:.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease-in-out;position:absolute;right:1rem;top:50%;transform:translateY(-50%)}.banner-close:hover{background-color:#fff3;transform:translateY(-50%) scale(1.1)}.banner-close:focus{outline:2px solid currentColor;outline-offset:2px}.banner-high-contrast{filter:contrast(1.5)}.banner-reduced-motion{animation:none!important;transition:none!important}@media (max-width:768px){.banner-layout-horizontal{flex-direction:column;gap:.5rem;text-align:center}.banner-text-title{font-size:1rem}.banner-text-message{font-size:.9rem}.banner-cta{padding:.4rem .8rem;font-size:.875rem}.banner-close{right:.5rem}.banner-size-normal{min-height:50px;padding:.75rem 1rem}.banner-size-large{min-height:70px;padding:1rem 1.5rem}}@media (max-width:480px){.banner-text-title{font-size:.9rem}.banner-cta,.banner-text-message{font-size:.8rem}.banner-cta{padding:.3rem .6rem}.banner-size-compact{min-height:35px;padding:.4rem .8rem}.banner-size-normal{min-height:45px;padding:.6rem .8rem}}@keyframes bannerSlideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes bannerSlideUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}@keyframes bannerFadeIn{0%{opacity:0}to{opacity:1}}@keyframes bannerFadeOut{0%{opacity:1}to{opacity:0}}@media print{.discount-banner{display:none!important}}@media (prefers-color-scheme:dark){.banner-theme-light{background-color:#2d3748;color:#fff}}@media (prefers-reduced-motion:reduce){.banner-close,.banner-cta,.discount-banner{animation:none!important;transition:none!important}}@media (prefers-contrast:high){.discount-banner{border:2px solid}.banner-cta{border-width:3px}}.color-picker-popover{max-width:400px}.color-picker-popover .popover-body{padding:1rem}.hover-bg-light:hover{background-color:#f8f9fa!important}.cursor-pointer{cursor:pointer}.banner-preview{transition:all .2s ease-in-out}.banner-preview:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026!important}.banner-state-entering{animation:bannerSlideDown .4s cubic-bezier(.25,.46,.45,.94)}.banner-state-exiting{animation:bannerSlideUp .3s cubic-bezier(.55,.06,.68,.19)}.banner-state-dismissing{animation:bannerFadeOut .3s ease-out}.banner-cta{position:relative;overflow:hidden}.banner-cta:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,#0000,#fff3,#0000);transition:left .5s}.banner-cta:hover:before{left:100%}.banner-theme-success .banner-cta{border-color:#fffc;background-color:#ffffff26}.banner-theme-success .banner-cta:hover{background-color:#ffffff40}.banner-theme-info .banner-cta{border-color:#fffc;background-color:#ffffff26}.banner-theme-info .banner-cta:hover{background-color:#ffffff40}.banner-theme-warning .banner-cta{border-color:#ffffffe6;background-color:#fff3}.banner-theme-warning .banner-cta:hover{background-color:#ffffff4d}.banner-theme-danger .banner-cta{border-color:#ffffffe6;background-color:#fff3}.banner-theme-danger .banner-cta:hover{background-color:#ffffff4d}.banner-theme-dark .banner-cta{border-color:#fffc;background-color:#ffffff1a}.banner-theme-dark .banner-cta:hover{background-color:#fff3}.banner-theme-light .banner-cta{border-color:#0009;background-color:#0000000d}.banner-theme-light .banner-cta:hover{background-color:#0000001a}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.banner-close:focus-visible,.banner-cta:focus-visible{outline:2px solid currentColor;outline-offset:2px;box-shadow:0 0 0 4px #ffffff4d}@media (max-width:576px){.banner-layout-horizontal{padding:.5rem}.banner-text-title{font-size:.85rem;margin-bottom:.25rem}.banner-text-message{font-size:.75rem;line-height:1.3}.banner-cta{padding:.25rem .5rem;font-size:.75rem;min-width:auto}.banner-close{right:.25rem;padding:.125rem}}.banner-loading{opacity:.7;pointer-events:none}.banner-loading:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,#0000,#fff6,#0000);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.banner-error{background-color:#f8d7da!important;color:#721c24!important;border:1px solid #f5c6cb}.banner-error .banner-cta{border-color:#721c24;color:#721c24}.banner-success{border:2px solid #28a745;box-shadow:0 0 0 3px #28a7451a}.modal-dialog-scrollable .modal-body::-webkit-scrollbar{width:6px}.modal-dialog-scrollable .modal-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.modal-dialog-scrollable .modal-body::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.modal-dialog-scrollable .modal-body::-webkit-scrollbar-thumb:hover{background:#a8a8a8}