.wpgens-loyalty-container{position:relative;padding:48px 24px;max-width:1024px;margin:auto}.wpgens-default-button{all:unset;outline:0!important;border:0!important;text-decoration:none!important;cursor:pointer;font-size:14px;height:36px;line-height:36px;padding:0 24px;margin:0;text-align:center;min-width:60px;display:inline;border-radius:4px;transition:opacity 0.2s ease-in-out;background-color:#444;color:#fff}.wpgens-loyalty-button{all:unset;outline:0!important;border:0!important;text-decoration:none!important;cursor:pointer;font-size:14px;height:36px;line-height:36px;padding:0 24px;margin:0;text-align:center;min-width:60px;display:inline;border-radius:4px;transition:opacity 0.2s ease-in-out;background-color:var(--branding-color,#444);color:#fff}.wpgens-loyalty-button:hover{opacity:.8}.wpgens-loyalty-button:disabled{cursor:unset;opacity:.3}.wpgens-loyalty-button.used{background-color:#e5e7eb;color:#6b7280;cursor:default}.wpgens-loyalty-button.available{background-color:#dcfce7;color:#166534}.wpgens-loyalty-ranks-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin:24px 0}.wpgens-loyalty-rank-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:24px;transition:all 0.3s ease;position:relative}.wpgens-loyalty-rank-card:hover{border-color:#d1d5db;box-shadow:0 4px 6px -1px rgb(0 0 0 / .1),0 2px 4px -1px rgb(0 0 0 / .06)}.wpgens-loyalty-rank-card.current-rank{border-color:var(--branding-color,#be8b3b);background:linear-gradient(145deg,#fff 0%,var(--branding-color-bg,#fefbf3) 100%)}.wpgens-loyalty-rank-header{text-align:center;margin-bottom:20px}.wpgens-loyalty-rank-badge{display:flex;justify-content:center;margin-bottom:16px}.wpgens-loyalty-rank-image{width:48px;height:48px;object-fit:contain;border-radius:8px}.wpgens-loyalty-rank-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#f3f4f6;color:#6b7280}.wpgens-loyalty-rank-card .wpgens-loyalty-rank-icon{background:var(--branding-color-light,#fef3c7);color:var(--branding-color,#be8b3b)}.wpgens-loyalty-rank-title{font-size:20px;font-weight:700;margin:0 0 8px 0;color:#111827}.wpgens-loyalty-current-badge{background:var(--branding-color,#be8b3b);color:#fff;font-size:12px;font-weight:600;padding:4px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px;display:inline-block;margin-bottom:8px}.wpgens-loyalty-rank-requirement{font-size:14px;color:#6b7280;font-weight:500}.wpgens-loyalty-rank-rewards{border-top:1px solid #f3f4f6;padding-top:20px}.wpgens-loyalty-rewards-title{font-size:16px;font-weight:600;margin:0 0 12px 0;color:#374151}.wpgens-loyalty-rewards-list{list-style:none;margin:0;padding:0}.wpgens-loyalty-reward-item{padding:8px 0}.wpgens-loyalty-reward-item:first-child{padding-top:0}.wpgens-loyalty-reward-text{display:flex;flex-direction:column;gap:2px}.wpgens-loyalty-reward-title{font-size:14px;font-weight:500;color:#374151}.wpgens-loyalty-reward-description{font-size:13px;color:#6b7280}.wpgens-loyalty-no-rewards{font-size:14px;color:#9ca3af;font-style:italic;margin:0;text-align:center;padding:16px 0}.wpgens-loyalty-rank-progress{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;margin-top:32px}.wpgens-loyalty-rank-progress h4{margin:0 0 16px 0;font-size:18px;font-weight:600;color:#111827}.wpgens-loyalty-progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.wpgens-loyalty-next-rank{font-size:14px;font-weight:600;color:#374151}.wpgens-loyalty-points-needed{font-size:14px;color:#6b7280}.wpgens-loyalty-progress-bar{width:100%;height:8px;background:#f3f4f6;border-radius:4px;overflow:hidden}.wpgens-loyalty-progress-fill{height:100%;background:var(--branding-color,linear-gradient(90deg,#be8b3b 0%,#d4af47 100%));border-radius:4px;transition:width 0.3s ease}.wpgens-loyalty-no-ranks{text-align:center;padding:48px 24px;color:#6b7280}.wpgens-loyalty-no-ranks p{margin:0;font-size:16px}.wpgens-loyalty-reward-item.claimed{opacity:.7;position:relative}.wpgens-loyalty-reward-claimed-badge{display:inline-block;background:#10b981;color:#fff;font-size:11px;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;margin-left:8px}.wpgens-loyalty-claim-rewards-section{margin-top:16px;padding-top:16px;border-top:1px solid #f3f4f6;text-align:center}.wpgens-loyalty-claim-rewards-btn.claiming{position:relative;color:transparent!important}.wpgens-loyalty-claim-rewards-btn.claiming::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:16px;height:16px;border:2px solid #fff;border-top:2px solid #fff0;border-radius:50%;animation:wpgens-spin 1s linear infinite}@keyframes wpgens-spin{0%{transform:translate(-50%,-50%) rotate(0deg)}100%{transform:translate(-50%,-50%) rotate(360deg)}}@media (max-width:768px){.wpgens-loyalty-ranks-container{grid-template-columns:1fr;gap:16px;margin:16px 0}.wpgens-loyalty-rank-card{padding:20px}.wpgens-loyalty-rank-header{margin-bottom:16px}.wpgens-loyalty-rank-title{font-size:18px}.wpgens-loyalty-progress-info{flex-direction:column;align-items:flex-start;gap:4px}}.wpgens-loyalty-message{padding:1em;margin:1em 0;border-radius:4px;border:1px solid}.wpgens-loyalty-message.success{background:#f7fff7;border-color:#c3e6cb;color:#155724}.wpgens-loyalty-message.error{background:#fff7f7;border-color:#f5c6cb;color:#721c24}.wpgens-loyalty-landing{padding:0;margin:auto}.wpgens-loyalty-landing p{font-size:16px;line-height:24px;margin:0 0 12px;color:#000}.wpgens-loyalty-landing .wpgens-loyalty-subsection-title{font-weight:600;margin-bottom:6px;color:#000}.wpgens-loyalty-landing .wpgens-loyalty-subsection-desc{color:#000}.wpgens-loyalty-section{text-align:center;padding:40px 0;background-color:#fafafa}.wpgens-loyalty-section-hero{text-align:center;margin-bottom:60px}.wpgens-loyalty-section-icon{margin-bottom:20px}.wpgens-loyalty-section-hero svg{width:48px;height:48px;margin:auto;color:var(--branding-color,#be8b3b)}.wpgens-loyalty-section-title{font-size:26px;margin:24px 0 12px}.wpgens-loyalty-section-description{max-width:640px;margin:auto}.wpgens-loyalty-landing .success{color:#038a03}.wpgens-loyalty-landing .error{color:red}.wpgens-loyalty-tabs{margin:0 0 24px}.wpgens-loyalty-tabs span{cursor:pointer;color:#000;display:inline-block;margin:0 12px;font-size:17px;text-transform:uppercase;letter-spacing:1px;font-weight:600}.wpgens-loyalty-tabs span:hover,.wpgens-loyalty-tabs span.tab-active{text-decoration:none!important;color:var(--branding-color,#000);text-decoration:underline}.wpgens-loyalty-listing{margin:0;padding:0}.wpgens-loyalty-listing-earn{margin:0;padding:0;text-indent:0;display:flex;flex-flow:row wrap;justify-content:center;list-style:none;line-height:1}.wpgens-loyalty-listing-earn li{margin:0 16px 32px;padding:32px 0 0;text-indent:0;list-style-type:none;box-sizing:border-box;display:flex;flex-flow:column wrap;align-items:center;text-align:center;width:200px;position:relative;color:#333;border-bottom:1px solid #000;transition:all 0.2s ease-in-out}.wpgens-loyalty-listing-earn li:hover{background-color:#fff}.wpgens-loyalty-listing-earn li .wpgens-loyalty-listing-cost{text-transform:uppercase;font-weight:600;font-size:18px;margin:24px 0 18px}.wpgens-loyalty-listing-earn li .wpgens-loyalty-listing-title{padding-bottom:18px;line-height:1.2;display:flex;align-items:center;gap:4px}.wpgens-loyalty-listing-title a{color:var(--branding-color,#000)}.wpgens-loyalty-listing-earn li svg{max-height:38px;max-width:38px}.wpgens-loyalty-listing-redeem{margin:0;padding:0;text-indent:0;display:flex;flex-flow:row wrap;justify-content:center;list-style:none;line-height:1}.wpgens-loyalty-listing-redeem li{margin:16px;padding:24px;list-style-type:none;box-sizing:border-box;display:flex;flex-flow:row wrap;justify-content:space-between;width:100%;max-width:480px;align-items:center;text-align:left;position:relative;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg width='100%' height='100%' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%' height='100%' fill='none' stroke='%23AEAEAEFF' strokeWidth='2' stroke-dasharray='6%2c 14' stroke-dashoffset='0' strokeLinecap='square'/%3e%3c/svg%3e");color:#333;transition:all 0.2s ease-in-out}.wpgens-loyalty-listing-redeem li:hover{background-color:#fff}.wpgens-loyalty-listing-redeem li .wpgens-loyalty-listing-redeem-info{display:flex;flex-direction:row}.wpgens-loyalty-listing-redeem li .wpgens-loyalty-reward-icon{margin-right:24px}.wpgens-loyalty-listing-redeem li .wpgens-loyalty-listing-title{max-width:215px;margin-bottom:12px}.wpgens-loyalty-listing-redeem li svg{height:38px;width:38px}.wpgens-loyalty-listing-redeem li .wpgens-loyalty-reward-expiry,.wpgens-loyalty-listing-redeem li .wpgens-loyalty-reward-amount{display:block;font-size:14px;color:#6b7280;margin-top:4px}.wpgens-loyalty-points-boxes{display:flex;flex-direction:row}.wpgens-loyalty-points-box{margin:12px;padding:24px;box-sizing:border-box;display:flex;flex-direction:column;width:100%;min-height:160px;align-items:center;text-align:left;position:relative;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg width='100%' height='100%' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%' height='100%' fill='none' stroke='%23AEAEAEFF' strokeWidth='2' stroke-dasharray='6%2c 14' stroke-dashoffset='0' strokeLinecap='square'/%3e%3c/svg%3e");color:#333;transition:all 0.2s ease-in-out}.wpgens-loyalty-points-box-value{margin-bottom:24px;font-weight:600;font-size:21px}.wpgens-loyalty-history-container{margin:12px}.wpgens-loyalty-history{background-color:#fff;padding:24px;margin-top:12px;width:100%;text-align:left;border:0;border-spacing:0;border-collapse:separate;text-transform:capitalize}.wpgens-loyalty-history thead th{font-size:16px;display:table-cell!important;border:0;border-bottom:1px solid #ddd;line-height:26px;height:26px;font-weight:400;padding:15px}.wpgens-loyalty-history tbody td{border:0;display:table-cell!important;line-height:26px;height:26px;padding:12px;font-size:15px}.wpgens-loyalty-points-earn{color:#28a745}.wpgens-loyalty-points-spend,.wpgens-loyalty-points-expire{color:#dc3545}.wpgens-loyalty-no-history{text-align:center;padding:20px}.wpgens-product-single-earning-notice{display:inline-flex;align-items:center;border-radius:6px;background-color:#f5f5f5;padding:8px 16px;margin:10px 0;gap:8px;font-size:15px}.wpgens-points-only-price{display:inline-flex;align-items:center;gap:6px;font-size:24px;font-weight:600;color:var(--branding-color,#be8b3b);background:var(--branding-color-bg,#fef3c7);padding:8px 16px;border-radius:8px;border:2px solid var(--branding-color,#be8b3b)}.wpgens-cart-points-price{display:inline-flex;align-items:center;gap:4px;font-weight:600;color:var(--branding-color,#be8b3b)}#review_form .wpgens-product-single-earning-notice{margin-bottom:24px}.wpgens-product-single-earning-notice svg{flex-shrink:0}.wpgens-product-earning-notice-icon{display:inline-block;vertical-align:middle;flex-shrink:0}.wpgens-product-earning-notice-icon svg{display:block}.wpgens-product-earning-notice-icon img{display:block}.wpgens-points-earning-notice{margin:16px 0}.wpgens-points-earning-notice-inner{margin:0 16px;display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;text-align:center}.woocommerce-checkout-review-order .wpgens-points-earning-notice-inner{margin:0}.woocommerce-cart .wpgens-points-earning-notice-inner{max-width:100%;margin:0}.woocommerce-cart .wpgens-points-earning-notice-inner .wpgens-points-earning-notice-icon{display:none}.wpgens-points-earning-notice-icon{display:flex;align-items:center;justify-content:center;margin-bottom:4px}.wpgens-points-earning-notice-icon svg{flex-shrink:0}.wpgens-points-earning-notice-content{display:flex;flex-direction:column;gap:4px}.wpgens-points-earning-notice-title{margin:0;font-size:16px;font-weight:600;color:#212529;line-height:1.4}.wpgens-points-earning-notice-subtitle{color:#6c757d;font-size:14px;line-height:1.5}.wpgens-points-redemption-block{margin-bottom:20px}.wpgens-points-redemption-block h4{margin-top:0;margin-bottom:8px;font-size:16px;font-weight:600}.wpgens-points-redemption-block p{margin-bottom:12px}.wpgens-accordion h3{padding:16px;margin:0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:16px;font-weight:600;background-color:#f8f9fa;border:1px solid #ddd;border-radius:4px}.wpgens-accordion-title{flex:1}.wpgens-accordion .caret{transition:transform 0.3s ease}.wpgens-accordion.show .caret{transform:rotate(180deg)}.wpgens-accordion-inner{padding:16px;overflow:hidden;transition:max-height 0.3s ease;border:1px solid #ddd;border-top:none;border-radius:0 0 4px 4px}.wpgens-points-user-balance{margin-bottom:16px;font-size:14px}.wpgens-points-instructions{margin-bottom:16px;font-size:14px}.wpgens-redeem-points-form-field{display:flex;flex-wrap:wrap;margin:0 -5px}.wpgens-col-left-half{padding:0 5px;flex:1}.wpgens-form-control-wrapper input{width:100%;padding:8px;border:1px solid #d3d3d3;border-radius:3px;box-shadow:none;height:42px}.wpgens_points_btn_wrap{display:flex;align-items:flex-end}.wpgens_points_btn_wrap .wpgens-loyalty-button{width:100%;height:42px}.wpgens-points-guest-message{margin-bottom:15px;color:#666;font-size:14px;line-height:1.5}.wpgens-points-login-button-wrapper{width:100%;text-align:center}.wpgens-loyalty-login-button{box-sizing:border-box;display:inline-block;width:100%;padding:0 12px;color:#fff;text-decoration:none;border-radius:4px;text-align:center;transition:background-color 0.2s ease}.wpgens-loyalty-login-button:hover{color:#fff;text-decoration:none}.wpgens-loyalty-guest-message{margin-bottom:24px}.wpgens-loyalty-guest-message a{padding:0 16px;width:auto}.wpgens-loyalty-button.coupon-code{cursor:pointer;transition:all 0.2s ease;position:relative;display:inline-block;user-select:all;text-transform:none!important}.wpgens-loyalty-button.coupon-code:hover{transform:translateY(-2px);box-shadow:0 2px 4px rgb(0 0 0 / .1)}.wpgens-loyalty-button.coupon-code:active{transform:translateY(0)}.wpgens-loyalty-button.coupon-code::before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border-radius:6px;background:#fff0;z-index:-1;transition:background 0.2s}.wpgens-loyalty-button.coupon-code:hover::before{background:rgb(0 0 0 / .03)}.wpgens-loyalty-button.redeeming{min-width:100px;cursor:wait}.wpgens-loyalty-button.coupon-code[title="Copied to clipboard!"]::after{content:"✓";display:inline-block;margin-left:6px;font-weight:700}.wpgens-loyalty-birthday-button{display:inline-block;padding:8px 16px;background-color:#444;color:#fff;text-decoration:none;border-radius:4px;font-size:14px;transition:opacity 0.2s ease-in-out;margin-top:10px}.wpgens-loyalty-birthday-button:hover{opacity:.8;color:#fff;text-decoration:none}.wpgens-loyalty-refer-a-friend{margin-top:36px;text-align:left}.wpgens-raf-body{flex-shrink:0;max-width:480px;margin:0 auto;width:100%}.wpgens-raf-text{max-width:480px;margin:0 auto;padding:0 0 24px 0}.wpgens-raf-text img{max-width:100%}.wpgens-raf-text h2{font-weight:600;margin-top:0}.wpgens-raf-text p{margin-bottom:0}.wpgens-raf-reward{padding:16px;display:flex;justify-content:space-around;border-radius:8px;background-color:var(--branding-color-bg);color:var(--branding-color);font-size:16px;border:1px solid var(--branding-color)}.wpgens-raf-reward>div{display:flex;align-items:center}.wpgens-raf-reward div span{display:inline-block;margin-left:12px;font-size:24px;font-weight:600}.wpgens-raf-reward>span{display:inline-block;margin:6px 24px;border-right:1px solid var(--branding-color);opacity:.3}.wpgens-raf-field{position:relative;display:flex;flex-direction:column;margin:18px 0}.wpgens-raf-field input,.wpgens-raf-field button{width:100%;background-color:#f2f5f7;border:1px solid #ddd;box-shadow:none;border-radius:8px;box-sizing:border-box;padding:0 12px;line-height:46px;height:46px}.wpgens-raf-field input{padding-right:46px}.wpgens-raf-field--email input{margin-bottom:5px}.wpgens-raf-field input[type='submit'],.wpgens-raf-field button{border:0;background-color:var(--branding-color);color:#fff;cursor:pointer}.wpgens-raf-field input[type='submit']:hover,.wpgens-raf-field button:hover{opacity:.85}.wpgens-raf-field .wpgens-raf-send-emails{margin-bottom:0;border-radius:8px;line-height:30px}.wpgens-raf-field label{font-size:15px;font-weight:600;margin-bottom:5px}.wpgens-raf-field--input svg{cursor:pointer;position:absolute;bottom:10px;right:12px}.wpgens-raf-field--input .wpgens-copy-icon:hover{opacity:.5}.wpgens-referral_share{display:flex;gap:12px}.wpgens-referral_share a{box-sizing:border-box;padding:12px;background-color:var(--branding-color-bg,#fef3c7);flex-basis:0%;flex-grow:1;flex-shrink:1;height:48px;max-width:48px;border-radius:8px;border:1px solid var(--branding-color)}.wpgens-referral_share a:hover{opacity:.6}.wpgens-raf-field--email form{position:relative}.wpgens-raf-field--email #js--wpgens-email-clone,.wpgens-raf-field--email #js--wpgens-email-remove{position:absolute;top:-30px;right:0;width:24px;height:24px;background:var(--branding-color);color:#fff;border-radius:50%;text-decoration:none;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700}.wpgens-raf-field--email #js--wpgens-email-remove{right:30px}.wpgens-raf-submit-success{position:absolute;bottom:0;left:0;right:0;background:#22c55e;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;min-width:48px;min-height:48px}.wpgens-raf-no-orders{text-align:center;padding:40px 20px;color:#6b7280;font-size:16px}@media screen and (max-width:667px){.wpgens-referral_share{display:block}.wpgens-referral_share .wpgens-referral_share__wade{display:none!important}.wpgens-raf-two-columns{flex-direction:column}}@media screen and (min-width:667px){.wpgens-referral_share__wa,.wpgens-referral_share__msg{display:none!important}}@keyframes wpgens-loyalty-spinner{to{transform:rotate(360deg)}}.wpgens-loyalty-spinner{position:relative;margin:auto;height:40px}.wpgens-loyalty-spinner:before{content:"";box-sizing:border-box;position:absolute;top:50%;left:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;border-radius:50%;border-top:2px solid #07d;border-right:2px solid #fff0;animation:wpgens-loyalty-spinner 0.6s linear infinite}.redeeming .wpgens-loyalty-spinner{height:20px;margin:0 auto}.redeeming .wpgens-loyalty-spinner:before{width:16px;height:16px;margin-top:-8px;margin-left:-8px;border-width:2px}@media (max-width:768px){.wpgens-loyalty-tabs span{display:block;margin:12px 0}.wpgens-loyalty-listing-redeem li{text-align:center;flex-flow:column;height:auto}.wpgens-loyalty-listing-redeem li .wpgens-loyalty-listing-redeem-info{flex-direction:column;margin-bottom:24px}.wpgens-loyalty-listing-redeem li .wpgens-loyalty-reward-icon{margin:0 0 24px}.wpgens-loyalty-listing-redeem li .wpgens-loyalty-listing-title{margin-bottom:16px}.wpgens-loyalty-points-boxes{flex-direction:column}.wpgens-loyalty-points-box{max-width:none;width:100%;margin:12px 0}.wpgens-loyalty-history-container{margin:0}.wpgens-loyalty-conversion-notice{flex-direction:column}.wpgens-loyalty-conversion-text{margin-bottom:10px}}