#appBg,#appBg .fade,.card-loading{top:0;right:0;bottom:0;left:0}body{font-family:'BR Omny',sans-serif;background:var(--background-color)}[x-cloak]{display:none!important}.container{max-width:var(--content-width)!important}.bg-content{background:var(--content-color)}.bg-content-light{background:var(--content-light-color)}.bg-secondary{background:var(--secondary-color)}.bg-primary{background:var(--primary-color)}.text-primary{color:var(--primary-color)}.border-content-light{border-color:rgb(255 255 255 / 10%)!important}.btn-shine{position:relative;overflow:hidden}#appBg,#appBg .fade,.card-loading{position:absolute}.btn-shine:hover:before{animation:.5s linear shine;background-color:rgba(255,255,255,10%);content:"";height:300px;left:-100px;position:absolute;top:-100px;transform:rotate(30deg);width:10%}.custom-avatar{overflow:hidden;border-radius:10px}#paynow{max-width:38px;margin:0 auto;padding-top:5px}#paynow path{fill:#ffffff}#appBg{max-height:400px;overflow:hidden;opacity:var(--hero-opacity)}#appBg img{width:100%;height:100%;object-fit:cover;object-position:var(--hero-position)}#appBg .fade{background:linear-gradient(0deg,var(--background-color),transparent)}#storeApp{position:relative;z-index:5}.gift-icon{box-shadow:0 0 20px #29292ed6;cursor:pointer;background:#ffffff29;font-size:14px!important;backdrop-filter:blur(15px);border:1px solid #ffffff36}.modal-nav{padding-right:15px!important;padding-left:5px!important}.modal-nav::-webkit-scrollbar{width:8px!important;border-radius:100px!important;overflow:hidden}.modal-nav::-webkit-scrollbar-track{background:#3f3f46;border-radius:100px!important}.modal-nav::-webkit-scrollbar-thumb{background:#888;border-radius:100px!important}.modal-nav i{color:#fff}.card-loading{background:var(--background-color);z-index:5;opacity:.85}.loader{width:48px;height:48px;border:5px solid #fff;border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:1s linear infinite rotation}#notification-alert .font-medium{text-transform:capitalize}.sidebar .top-customer{order:2}.sidebar .recent-payments{order:3}.sidebar .giftcards{order:10}.sidebar .text-block{order:15}@keyframes shine{0%{left:-100px}to{left:calc(100% + 100px)}}@keyframes rotation{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@media only screen and (max-width:768px){.sidebar .store-menu-toggle,.view--home #mobile-secondary{display:none!important}}button, .btn {cursor: pointer;}

/* Price display.
   The struck-through price is now rendered ONLY when PayNow reports an active
   sale (see category.html / product.html). It used to be printed on every
   product as price x 1.3, which was a reference price nothing had ever sold at. */
.store-current-price{color:#9af07a!important;text-shadow:0 0 10px rgb(154 240 122 / 35%),0 0 22px rgb(154 240 122 / 18%)}
.store-original-price{color:#f87171!important;font-size:.78em;line-height:1.2;text-decoration-line:line-through;text-decoration-thickness:2px}
.store-navigation-link:hover{color:#9af07a!important}

/* Floating cart */
.floating-cart-button{position:fixed;top:1.5rem;right:1.5rem;z-index:40;display:flex;align-items:center;gap:.6rem;border:1px solid rgb(154 240 122 / 65%);border-radius:9999px;background:#9af07a;color:#10150f;padding:.8rem 1.15rem;font-weight:800;box-shadow:0 0 12px rgb(154 240 122 / 55%),0 0 30px rgb(154 240 122 / 25%);animation:floating-cart-drift 3s ease-in-out infinite;transition:transform .2s ease,box-shadow .2s ease}
.floating-cart-button:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 0 16px rgb(154 240 122 / 75%),0 0 38px rgb(154 240 122 / 35%)}
.floating-cart-count{display:inline-flex;min-width:1.35rem;height:1.35rem;align-items:center;justify-content:center;border-radius:9999px;background:#10150f;color:#9af07a;font-size:.75rem}
@keyframes floating-cart-drift{0%,100%{translate:0 0}50%{translate:0 5px}}
@media only screen and (max-width:768px){.floating-cart-button{top:1rem;right:1rem;padding:.7rem .9rem}.floating-cart-button span:not(.floating-cart-count){display:none}}

/* Base availability banner; Storm styling is in storm.css. */
.store-promo-banner{position:sticky;top:0;z-index:35;display:flex;min-height:3.25rem;align-items:center;justify-content:center;gap:1rem;padding:.65rem 7rem .65rem 1rem;background:linear-gradient(90deg,#fde047,#facc15,#fde047);color:#111827!important;font-weight:700;box-shadow:0 6px 24px rgb(250 204 21 / 20%);text-decoration:none}
.store-promo-label{border-radius:9999px;background:#111827;color:#fde047;padding:.35rem .7rem;text-transform:uppercase;font-size:.72rem;letter-spacing:.06em;white-space:nowrap}
.store-promo-banner strong{border-radius:9999px;background:#dc2626;color:#fff;padding:.32rem .65rem;font-variant-numeric:tabular-nums;box-shadow:0 0 12px rgb(220 38 38 / 40%);white-space:nowrap}
.store-promo-cta{display:inline-flex;align-items:center;gap:.4rem;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.store-promo-banner+.floating-cart-button{top:4.65rem}
@media only screen and (max-width:768px){.store-promo-banner{justify-content:flex-start;gap:.55rem;padding:.55rem 4.2rem .55rem .65rem;font-size:.72rem;overflow:hidden}.store-promo-cta{display:none}.store-promo-label{font-size:.6rem}.store-promo-banner+.floating-cart-button{top:4.2rem}}

/* Seasonal navigation and product treatment lives in storm.css. */

/* Homepage storefront cards */
.home-cat-card{transition:transform .25s ease,box-shadow .25s ease}

/* Config-driven product flags (Product Badges section in the template config).
   Slug-matched in category.html / product.html so which product is flagged is a
   dashboard change, not a template edit. */
.product-flag{position:absolute;z-index:3;top:.75rem;left:.75rem;display:inline-flex;align-items:center;gap:.35rem;border-radius:9999px;padding:.34rem .68rem;font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 4px 15px rgb(0 0 0 / 32%)}
.product-flag--popular{background:#f97316;color:#fff}
.product-flag--value{background:#9af07a;color:#10150f}
@media only screen and (max-width:768px){.product-flag{font-size:.6rem;padding:.3rem .55rem}}
