:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: #e74c3c;--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-toast-width: 320px;--toastify-toast-background: #fff;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient( to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55 );--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error)}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;padding:4px;width:var(--toastify-toast-width);box-sizing:border-box;color:#fff}.Toastify__toast-container--top-left{top:1em;left:1em}.Toastify__toast-container--top-center{top:1em;left:50%;transform:translate(-50%)}.Toastify__toast-container--top-right{top:1em;right:1em}.Toastify__toast-container--bottom-left{bottom:1em;left:1em}.Toastify__toast-container--bottom-center{bottom:1em;left:50%;transform:translate(-50%)}.Toastify__toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width : 480px){.Toastify__toast-container{width:100vw;padding:0;left:0;margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:0;transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:0;transform:translate(0)}.Toastify__toast-container--rtl{right:0;left:initial}}.Toastify__toast{position:relative;min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:4px;box-shadow:0 1px 10px #0000001a,0 2px 15px #0000000d;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;max-height:var(--toastify-toast-max-height);overflow:hidden;font-family:var(--toastify-font-family);cursor:default;direction:ltr;z-index:0}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{margin:auto 0;-ms-flex:1 1 auto;flex:1 1 auto;padding:6px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.Toastify__toast-body>div:last-child{word-break:break-word;-ms-flex:1;flex:1}.Toastify__toast-icon{-webkit-margin-end:10px;margin-inline-end:10px;width:20px;-ms-flex-negative:0;flex-shrink:0;display:-ms-flexbox;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.7s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}@media only screen and (max-width : 480px){.Toastify__toast{margin-bottom:0;border-radius:0}}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;-ms-flex-item-align:start;align-self:flex-start}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:5px;z-index:var(--toastify-z-index);opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:perspective(400px)}30%{transform:perspective(400px) rotateX(-20deg);opacity:1}to{transform:perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideOutRight{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(110%,0,0)}}@keyframes Toastify__slideOutLeft{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(-110%,0,0)}}@keyframes Toastify__slideOutDown{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.preferences-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.preferences-modal{background:var(--bg-primary);border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow:hidden;box-shadow:0 8px 32px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--border-color);position:relative}.modal-header h2{position:absolute;left:50%;transform:translate(-50%);margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.back-button,.close-button{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:opacity .2s;z-index:1}.back-button:hover,.close-button:hover{opacity:.7}.preferences-content{padding:1.5rem}.preference-item{margin-bottom:1.5rem;cursor:pointer}.preference-item:last-of-type{margin-bottom:0}.preference-item label{display:block;color:var(--text-primary);font-size:.9rem;font-weight:500;margin-bottom:.5rem}.preference-value{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--input-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.95rem;transition:all .2s}.preference-value:hover{background:var(--bg-tertiary);border-color:var(--accent-primary)}.preference-flag{font-size:1.2rem}.chevron{margin-left:auto;opacity:.6}.save-button{width:calc(100% - 3rem);margin:1rem 1.5rem;padding:1rem;background:#fff;color:#1a1a1a;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.save-button:hover{background:#f0f0f0}body.dark-mode .save-button{background:#fff;color:#1a1a1a}body.dark-mode .save-button:hover{background:#f0f0f0}.selection-modal{max-width:400px;height:80vh;display:flex;flex-direction:column}.search-bar{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);background:var(--input-bg)}.search-bar svg{color:var(--text-secondary);flex-shrink:0}.search-bar input{flex:1;background:none;border:none;color:var(--text-primary);font-size:1rem;outline:none}.search-bar input::placeholder{color:var(--text-tertiary)}.options-list{flex:1;overflow-y:auto;padding:.5rem 0}.option-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;cursor:pointer;transition:background .2s;position:relative}.option-item:hover,.option-item.selected{background:var(--bg-tertiary)}.option-flag{font-size:1.5rem;width:2rem;text-align:center}.currency-symbol{font-size:1.2rem;font-weight:600;width:2rem;text-align:center}.option-name{flex:1;color:var(--text-primary);font-size:.95rem}.check-icon{color:var(--accent-primary);flex-shrink:0}.options-list::-webkit-scrollbar{width:6px}.options-list::-webkit-scrollbar-track{background:var(--bg-secondary)}.options-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.options-list::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}@media (max-width: 768px){.preferences-modal{width:95%;max-height:95vh}.selection-modal{height:85vh}}.navbar{background:var(--bg-primary);color:var(--text-primary);width:100%;position:sticky;top:0;z-index:1000;box-shadow:0 2px 10px var(--shadow);transition:background-color .3s ease,color .3s ease}.navbar-top{padding:1rem 2rem;border-bottom:1px solid var(--border-color)}.navbar-top-container{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2rem}.navbar-logo{font-size:1.8rem;font-weight:700;color:var(--accent-primary);text-decoration:none;white-space:nowrap;transition:color .3s ease}.navbar-logo:hover{color:var(--accent-secondary)}.navbar-search{flex:1;max-width:600px;display:flex;align-items:center;position:relative}.search-input{width:100%;padding:.75rem 3rem .75rem 1rem;background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;color:var(--text-primary);font-size:.95rem;outline:none;transition:all .3s}.search-input::placeholder{color:var(--text-tertiary)}.search-input:focus{background:var(--input-bg);border-color:var(--accent-primary)}.search-button{position:absolute;right:.5rem;background:transparent;border:none;color:var(--text-primary);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:opacity .3s}.search-button:hover{opacity:.7}.navbar-actions{display:flex;align-items:center;gap:1.5rem;white-space:nowrap}.action-item{display:flex;align-items:center;gap:.5rem;color:var(--text-primary);text-decoration:none;font-size:.95rem;transition:opacity .3s;cursor:pointer;background:none;border:none;font-family:inherit}.action-item:hover{opacity:.8}.action-item svg{flex-shrink:0}.cart-item{color:var(--accent-primary)}.cart-item:hover{color:var(--accent-secondary)}.cart-icon-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.cart-badge{position:absolute;top:-8px;right:-8px;background:var(--accent-primary);color:#fff;border-radius:10px;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;padding:0 6px;border:2px solid var(--bg-primary)}.separator{width:1px;height:24px;background:var(--border-color)}.language-currency{display:flex;align-items:center;gap:.5rem;color:var(--text-primary);font-size:.95rem;padding:.5rem;border-radius:4px;transition:background .2s}.language-currency.clickable{cursor:pointer}.language-currency.clickable:hover{background:var(--bg-tertiary)}.flag-icon{font-size:1.2rem}.theme-toggle{background:transparent;border:none;color:var(--text-primary);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:all .3s}.theme-toggle:hover{color:var(--accent-primary);transform:rotate(15deg)}.theme-toggle:hover{opacity:.8}.user-menu{display:flex;align-items:center;gap:1rem}.logout-btn{padding:.5rem 1rem;background:var(--input-bg);border-radius:4px;transition:background .3s ease}.logout-btn:hover{background:var(--bg-tertiary)}.navbar-bottom{padding:.75rem 2rem;background:var(--bg-tertiary);border-top:1px solid var(--border-color)}.navbar-bottom-container{max-width:1400px;margin:0 auto;display:flex;align-items:center;gap:2rem;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.navbar-bottom-container::-webkit-scrollbar{display:none}.nav-item{display:flex;align-items:center;gap:.5rem;color:var(--text-primary);text-decoration:none;font-size:.9rem;transition:opacity .3s;white-space:nowrap;padding:.5rem 0}.nav-item:hover{opacity:.8}.nav-item svg{flex-shrink:0}@media (max-width: 1024px){.navbar-top-container{flex-wrap:wrap}.navbar-search{order:3;max-width:100%;width:100%}.navbar-actions{gap:1rem}}@media (max-width: 768px){.navbar-top{padding:1rem}.navbar-bottom{padding:.75rem 1rem}.navbar-actions{gap:.75rem;font-size:.85rem}.action-item span,.language-currency span{display:none}.navbar-bottom-container{gap:1.5rem}}.homepage{width:100%;background:var(--bg-secondary);min-height:calc(100vh - 200px);padding:2rem 0;transition:background-color .3s ease}.homepage-loading{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 200px);background:var(--bg-secondary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}.loading-spinner{font-size:1.2rem}.gift-card-category{margin-bottom:3rem;padding:0 2rem;max-width:1400px;margin-left:auto;margin-right:auto}.category-header{margin-bottom:1.5rem}.category-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0;transition:color .3s ease}.category-container{position:relative;display:flex;align-items:center;gap:1rem}.scroll-button{background:var(--input-bg);border:1px solid var(--border-color);color:var(--text-primary);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s;flex-shrink:0;z-index:2}.scroll-button:hover{background:var(--bg-tertiary);border-color:var(--accent-primary);transform:scale(1.1)}.scroll-button:active{transform:scale(.95)}.scroll-button svg{width:20px;height:20px}.gift-cards-row{display:flex;gap:1.5rem;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;flex:1;padding:.5rem 0}.gift-cards-row::-webkit-scrollbar{display:none}.gift-card-item{flex:0 0 200px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;text-decoration:none;color:var(--text-primary);transition:all .3s;cursor:pointer;display:flex;flex-direction:column;box-shadow:0 2px 8px var(--shadow)}.gift-card-item:hover{transform:translateY(-5px);background:var(--bg-tertiary);border-color:var(--accent-primary);box-shadow:0 8px 20px var(--shadow)}.gift-card-image-container{position:relative;width:100%;height:150px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}.gift-card-image{width:100%;height:100%;object-fit:contain;padding:1rem}.gift-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700;color:#333;background:#f0f0f0}.discount-badge{position:absolute;top:8px;left:8px;background:gold;color:#333;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:700;z-index:1}.gift-card-info{padding:1rem;display:flex;flex-direction:column;gap:.5rem;background:var(--card-bg);min-height:80px;border-top:1px solid var(--border-color)}body.light-mode .gift-card-info{background:#fff}body.light-mode .gift-card-name,body.light-mode .gift-card-price,body.light-mode .gift-card-rating{color:#1a1a1a!important}body.light-mode .no-rating{color:#666!important}body.dark-mode .gift-card-info{background:#2a2a2a}body.dark-mode .gift-card-name,body.dark-mode .gift-card-price,body.dark-mode .gift-card-rating{color:#fff!important}body.dark-mode .no-rating{color:#fffc!important}.gift-card-name{font-size:1rem;font-weight:600;margin:0;color:var(--text-primary)!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .3s ease}.gift-card-price{font-size:.9rem;color:var(--text-secondary)!important;margin:0;transition:color .3s ease}.gift-card-rating{font-size:.85rem;color:var(--text-secondary)!important;display:flex;align-items:center;gap:.25rem;transition:color .3s ease}.no-rating{color:var(--text-tertiary)!important;font-size:.8rem;transition:color .3s ease}.pagination-dots{display:flex;justify-content:center;gap:.5rem;margin-top:1rem}.dot{width:8px;height:8px;border-radius:50%;background:var(--border-color);transition:all .3s}.dot.active{background:var(--accent-primary);width:24px;border-radius:4px}@media (max-width: 768px){.gift-card-category{padding:0 1rem}.category-title{font-size:1.25rem}.scroll-button{width:35px;height:35px}.gift-card-item{flex:0 0 180px}.gift-card-image-container{height:120px}}.search-results-header{padding:2rem;text-align:center;max-width:1400px;margin:0 auto}.search-results-header h2{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.search-results-header p{font-size:1rem;color:var(--text-secondary)}.search-results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem;padding:1rem;max-width:1400px;margin:0 auto}.no-results{text-align:center;padding:4rem 2rem;max-width:600px;margin:0 auto}.no-results p{font-size:1.2rem;color:var(--text-primary);margin-bottom:.5rem}.no-results-suggestion{font-size:1rem;color:var(--text-secondary);font-style:italic}@media (max-width: 768px){.search-results-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.search-results-header h2{font-size:1.5rem}}@media (max-width: 480px){.category-container{gap:.5rem}.scroll-button{display:none}.gift-cards-row{padding:0}.gift-card-item{flex:0 0 160px}.search-results-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}}.gift-card-detail{min-height:100vh;background:var(--bg-primary);color:var(--text-primary);padding:2rem 0}.detail-container{max-width:1400px;margin:0 auto;padding:0 2rem}.product-main{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-bottom:3rem;padding:2rem;background:var(--card-bg);border-radius:12px}.product-image-section{display:flex;align-items:center;justify-content:center}.product-image-wrapper{width:100%;max-width:500px;aspect-ratio:1;background:var(--bg-tertiary);border-radius:12px;display:flex;align-items:center;justify-content:center;padding:2rem;border:1px solid var(--border-color)}.product-image{width:100%;height:100%;object-fit:contain;border-radius:8px}.product-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:8rem;font-weight:700;color:var(--accent-primary);background:var(--bg-tertiary);border-radius:8px}.product-info-section{display:flex;flex-direction:column;gap:1.5rem}.product-title{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin:0}.product-rating{display:flex;align-items:center;gap:1rem}.rating-stars{display:flex;gap:.25rem}.rating-stars-large{display:flex;gap:.25rem;font-size:1.5rem}.star{color:#ddd;font-size:1.2rem}.star.filled{color:gold}.star.half{color:gold;opacity:.5}.rating-text{color:var(--text-secondary);font-size:.9rem}.product-tags{display:flex;gap:.75rem;flex-wrap:wrap}.tag{padding:.5rem 1rem;background:var(--bg-tertiary);color:var(--text-primary);border-radius:6px;font-size:.9rem;font-weight:500}.product-description-preview{color:var(--text-secondary);line-height:1.6;font-size:1rem}.amount-selection{display:flex;flex-direction:column;gap:.75rem}.amount-label{font-weight:600;color:var(--text-primary);font-size:1rem}.amount-input-group{display:flex;align-items:center;gap:1rem}.amount-select{padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:6px;background:var(--input-bg);color:var(--text-primary);font-size:1rem;font-weight:600;cursor:pointer;min-width:150px}.amount-conversion{color:var(--text-secondary);font-size:.9rem}.action-buttons{display:flex;gap:1rem;margin-top:1rem}.btn-add-to-cart,.btn-buy-now{flex:1;padding:1rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .3s}.btn-add-to-cart{background:var(--accent-primary);color:#fff}.btn-add-to-cart:hover{background:var(--accent-secondary);transform:translateY(-2px)}.btn-buy-now{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-buy-now:hover{background:var(--input-bg);border-color:var(--accent-primary)}.feature-highlights{display:flex;gap:2rem;margin-top:1rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.feature-item{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.9rem}.feature-icon{width:32px;height:32px;background:var(--bg-tertiary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.description-section,.reviews-section{margin-bottom:2rem;background:var(--card-bg);border-radius:12px;padding:1.5rem}.section-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:none;color:var(--text-primary);font-size:1.2rem;font-weight:600;cursor:pointer;padding:.5rem 0}.section-toggle svg{transition:transform .3s}.section-toggle svg.expanded{transform:rotate(180deg)}.description-content{margin-top:1rem;color:var(--text-secondary);line-height:1.8;padding-top:1rem;border-top:1px solid var(--border-color)}.reviews-content{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.reviews-summary{display:grid;grid-template-columns:250px 1fr;gap:3rem;margin-bottom:2rem}.average-rating{display:flex;flex-direction:column;align-items:center;gap:.5rem}.rating-number{font-size:3rem;font-weight:700;color:var(--text-primary)}.rating-count{color:var(--text-secondary);font-size:.9rem}.rating-distribution{display:flex;flex-direction:column;gap:.75rem}.rating-bar-item{display:flex;align-items:center;gap:1rem}.rating-bar-item span{width:20px;color:var(--text-secondary);font-size:.9rem}.rating-bar{flex:1;height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.rating-bar-fill{height:100%;background:var(--accent-primary);transition:width .3s}.reviews-sort{margin-bottom:1.5rem}.sort-button{padding:.5rem 1rem;background:var(--input-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:.9rem}.reviews-list{display:flex;flex-direction:column;gap:1.5rem}.review-item{padding:1rem;background:var(--bg-tertiary);border-radius:8px}.review-header{display:flex;gap:1rem;margin-bottom:.75rem}.review-avatar{width:40px;height:40px;border-radius:50%;background:var(--accent-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}.review-info{flex:1}.review-author{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.review-rating{display:flex;align-items:center;gap:.5rem}.review-date{color:var(--text-tertiary);font-size:.85rem;margin-left:.5rem}.review-text{color:var(--text-secondary);line-height:1.6;margin:0}.related-cards-section{margin-top:3rem;padding:2rem;background:var(--card-bg);border-radius:12px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h2{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.see-all-link{color:var(--accent-primary);text-decoration:underline;font-size:.9rem;cursor:pointer}.related-cards-carousel{display:flex;gap:1.5rem;overflow-x:auto;padding-bottom:1rem;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.related-cards-carousel::-webkit-scrollbar{height:6px}.related-cards-carousel::-webkit-scrollbar-track{background:transparent}.related-cards-carousel::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.related-card-item{min-width:200px;text-decoration:none;color:inherit;background:var(--bg-tertiary);border-radius:8px;overflow:hidden;transition:transform .3s}.related-card-item:hover{transform:translateY(-4px)}.related-card-image{width:100%;aspect-ratio:1;background:var(--bg-primary);position:relative;display:flex;align-items:center;justify-content:center;padding:1rem}.related-card-image img{width:100%;height:100%;object-fit:contain}.related-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700;color:var(--accent-primary)}.related-card-badge{position:absolute;top:.5rem;left:.5rem;background:gold;color:#000;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:700}.related-card-info{padding:1rem}.related-card-name{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.related-card-rating{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.85rem}.related-card-rating .star{font-size:.9rem}.related-card-price{color:var(--text-secondary);font-size:.9rem}@media (max-width: 968px){.product-main{grid-template-columns:1fr}.reviews-summary{grid-template-columns:1fr;gap:1.5rem}.feature-highlights{flex-direction:column;gap:1rem}}@media (max-width: 768px){.detail-container{padding:0 1rem}.product-main{padding:1rem}.action-buttons{flex-direction:column}}.cart-page{min-height:100vh;background:var(--bg-primary);color:var(--text-primary);padding:2rem 0}.cart-container{max-width:1400px;margin:0 auto;padding:0 2rem}.cart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--border-color)}.cart-header h1{font-size:2rem;font-weight:700;color:var(--text-primary);margin:0}.cart-count{color:var(--text-secondary);font-size:1rem}.cart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background:var(--card-bg);border-radius:12px}.empty-icon{color:var(--text-tertiary);margin-bottom:1.5rem}.cart-empty h2{font-size:1.5rem;color:var(--text-primary);margin:0 0 .5rem}.cart-empty p{color:var(--text-secondary);margin:0 0 2rem}.btn-browse{padding:.75rem 2rem;background:var(--accent-primary);color:#fff;text-decoration:none;border-radius:8px;font-weight:600;transition:all .3s}.btn-browse:hover{background:var(--accent-secondary);transform:translateY(-2px)}.cart-content{display:grid;grid-template-columns:1fr 400px;gap:2rem}.cart-items-section{background:var(--card-bg);border-radius:12px;padding:1.5rem}.cart-items{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.cart-item{display:flex;gap:1.5rem;padding:1.5rem;background:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border-color)}.cart-item-image{width:120px;height:120px;flex-shrink:0;background:var(--bg-primary);border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--border-color)}.cart-item-image img{width:100%;height:100%;object-fit:contain}.cart-item-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700;color:var(--accent-primary);background:var(--bg-tertiary)}.cart-item-details{flex:1;display:flex;flex-direction:column;gap:.75rem}.cart-item-header{display:flex;justify-content:space-between;align-items:flex-start}.cart-item-name{font-size:1.25rem;font-weight:600;color:var(--text-primary);text-decoration:none;transition:color .3s}.cart-item-name:hover{color:var(--accent-primary)}.remove-btn{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color .3s;border-radius:4px}.remove-btn:hover{color:#f44;background:#ff44441a}.cart-item-meta{display:flex;gap:.75rem;flex-wrap:wrap}.cart-item-category,.cart-item-provider{padding:.25rem .75rem;background:var(--bg-primary);color:var(--text-secondary);border-radius:4px;font-size:.85rem}.cart-item-actions{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.quantity-controls{display:flex;align-items:center;gap:.75rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;padding:.5rem}.quantity-btn{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .3s}.quantity-btn:hover:not(:disabled){background:var(--bg-tertiary)}.quantity-btn:disabled{opacity:.5;cursor:not-allowed}.quantity-value{min-width:30px;text-align:center;font-weight:600;color:var(--text-primary)}.cart-item-price{text-align:right}.price-main{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.price-conversion{font-size:.85rem;color:var(--text-secondary);margin-top:.25rem}.cart-actions-bottom{display:flex;gap:1rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.btn-clear-cart{padding:.75rem 1.5rem;background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-weight:600;transition:all .3s}.btn-clear-cart:hover{background:var(--bg-tertiary);border-color:#f44;color:#f44}.btn-continue-shopping{padding:.75rem 1.5rem;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;text-decoration:none;font-weight:600;transition:all .3s;display:inline-block}.btn-continue-shopping:hover{background:var(--input-bg);border-color:var(--accent-primary)}.cart-summary{position:sticky;top:2rem;height:fit-content}.summary-card{background:var(--card-bg);border-radius:12px;padding:1.5rem;border:1px solid var(--border-color)}.summary-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 1.5rem}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;color:var(--text-secondary)}.summary-row span:first-child{color:var(--text-secondary)}.summary-row span:last-child{color:var(--text-primary);font-weight:600}.summary-divider{height:1px;background:var(--border-color);margin:1rem 0}.summary-total{margin-top:.5rem;padding-top:1rem;border-top:2px solid var(--border-color)}.summary-total span:first-child{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.summary-total>div{text-align:right}.total-inr{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.total-usd{font-size:.9rem;color:var(--text-secondary);margin-top:.25rem}.btn-checkout{width:100%;padding:1rem;background:var(--accent-primary);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;margin-top:1.5rem;transition:all .3s}.btn-checkout:hover:not(:disabled){background:var(--accent-secondary);transform:translateY(-2px)}.btn-checkout:disabled{opacity:.6;cursor:not-allowed;transform:none}.summary-note{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem;background:var(--bg-tertiary);border-radius:6px;font-size:.85rem;color:var(--text-secondary)}.summary-note svg{flex-shrink:0;color:var(--accent-primary)}@media (max-width: 968px){.cart-content{grid-template-columns:1fr}.cart-summary{position:static}}@media (max-width: 768px){.cart-container{padding:0 1rem}.cart-header{flex-direction:column;align-items:flex-start;gap:.5rem}.cart-item{flex-direction:column}.cart-item-image{width:100%;height:200px}.cart-item-actions{flex-direction:column;align-items:stretch;gap:1rem}.cart-item-price{text-align:left}.cart-actions-bottom{flex-direction:column}}.auth-container{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 200px);padding:2rem;margin-top:0}.auth-card{background:var(--card-bg);padding:2rem;border-radius:10px;box-shadow:0 4px 6px var(--shadow);width:100%;max-width:400px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);transition:background-color .3s ease,border-color .3s ease,color .3s ease}.auth-card h2{text-align:center;margin-bottom:2rem;color:var(--text-primary);font-size:2rem;transition:color .3s ease}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:600;transition:color .3s ease}.form-group input{width:100%;padding:.75rem;background:var(--input-bg);border:2px solid var(--input-border);border-radius:5px;font-size:1rem;color:var(--text-primary);transition:all .3s}.form-group input::placeholder{color:var(--text-tertiary)}.form-group input:focus{outline:none;border-color:var(--accent-primary);background:var(--input-bg)}.btn-submit{width:100%;padding:.75rem;background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);color:#fff;border:none;border-radius:5px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.auth-link{text-align:center;margin-top:1.5rem;color:var(--text-tertiary);transition:color .3s ease}.auth-link a{color:var(--accent-primary);text-decoration:none;font-weight:600;transition:color .3s ease}.auth-link a:hover{text-decoration:underline}.auth-method-toggle{display:flex;gap:.5rem;margin-bottom:1.5rem;border-radius:5px;overflow:hidden;border:2px solid var(--border-color)}.auth-method-toggle button{flex:1;padding:.5rem 1rem;background:var(--input-bg);border:none;cursor:pointer;font-size:.9rem;font-weight:600;color:var(--text-primary);transition:all .3s}.auth-method-toggle button.active{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);color:#fff}.auth-method-toggle button:hover{background:var(--bg-tertiary)}.auth-method-toggle button.active:hover{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%)}.btn-link{width:100%;margin-top:.5rem;padding:.5rem;background:transparent;color:var(--accent-primary);border:none;cursor:pointer;font-size:.9rem;text-decoration:underline;transition:color .3s ease}.btn-link:hover{opacity:.8}#recaptcha-container{margin-bottom:1rem}.dashboard{padding:2rem;min-height:80vh}.dashboard h1{text-align:center;margin-bottom:3rem;color:#333;font-size:2.5rem}.empty-state{text-align:center;padding:4rem;background:#fff;border-radius:10px;box-shadow:0 4px 6px #0000001a}.empty-state p{font-size:1.25rem;color:#666;margin-bottom:2rem}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.card-item{background:#fff;padding:1.5rem;border-radius:10px;box-shadow:0 4px 6px #0000001a}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.card-header h3{color:#333;font-size:1.5rem}.status{padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:600}.status.active{background:#d4edda;color:#155724}.status.used{background:#f8d7da;color:#721c24}.status.expired{background:#e2e3e5;color:#383d41}.card-details p{margin-bottom:.5rem;color:#666}.card-details strong{color:#333}.admin-header{background:var(--card-bg);border-bottom:1px solid var(--border-color);padding:1rem 0;position:sticky;top:0;z-index:1000;box-shadow:0 2px 4px var(--shadow)}.admin-header-container{max-width:1400px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.admin-header-logo{font-size:1.5rem;font-weight:700;color:var(--accent-primary);text-decoration:none;transition:color .3s ease}.admin-header-logo:hover{color:var(--accent-hover)}.admin-header-actions{display:flex;align-items:center;gap:1rem}.admin-theme-toggle{background:transparent;border:1px solid var(--border-color);border-radius:8px;padding:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-primary);transition:all .3s ease}.admin-theme-toggle:hover{background:var(--bg-secondary);border-color:var(--accent-primary)}.admin-logout-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--accent-primary);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.9rem}.admin-logout-btn:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 8px var(--shadow)}.admin-logout-btn svg{width:18px;height:18px}body.light-mode .admin-header{background:#fff;border-bottom-color:#e0e0e0}body.light-mode .admin-theme-toggle{border-color:#e0e0e0}body.light-mode .admin-theme-toggle:hover{background:#f5f5f5;border-color:var(--accent-primary)}body.dark-mode .admin-header{background:#2a2a2a;border-bottom-color:#ffffff26}body.dark-mode .admin-theme-toggle{border-color:#ffffff40}body.dark-mode .admin-theme-toggle:hover{background:#ffffff1a;border-color:var(--accent-primary)}.api-integrations{padding:2rem;background:var(--bg-secondary);min-height:100vh}.api-integrations-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.api-integrations-header h2{color:var(--text-primary);margin:0}.provider-selector{display:flex;align-items:center;gap:1rem}.provider-selector label{color:var(--text-primary);font-weight:600}.provider-selector select{padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;background:var(--card-bg);color:var(--text-primary);font-size:1rem;cursor:pointer;min-width:200px}.provider-info{background:var(--card-bg);padding:1rem 1.5rem;border-radius:8px;margin-bottom:1.5rem;border-left:4px solid var(--accent-primary)}.provider-info p{color:var(--text-secondary);margin:0 0 .5rem}.provider-info a{color:var(--accent-primary);text-decoration:none;font-weight:600}.provider-info a:hover{text-decoration:underline}.api-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid var(--border-color)}.api-tabs button{padding:.75rem 1.5rem;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--text-secondary);font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:-2px}.api-tabs button:hover{color:var(--text-primary);background:var(--bg-secondary)}.api-tabs button.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.api-content{background:var(--card-bg);padding:2rem;border-radius:10px;box-shadow:0 4px 6px var(--shadow)}.config-tab h3,.catalog-tab h3,.balance-tab h3,.orders-tab h3{color:var(--text-primary);margin-bottom:1.5rem}.config-form{max-width:600px}.form-group input[type=text],.form-group input[type=password]{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;background:var(--input-bg);color:var(--text-primary);font-size:1rem}.form-group input[type=text]:focus,.form-group input[type=password]:focus{outline:none;border-color:var(--accent-primary)}.form-group small.form-help{display:block;margin-top:.25rem;color:var(--text-tertiary);font-size:.85rem}.form-group input[type=checkbox]{margin-right:.5rem;cursor:pointer}.form-actions{display:flex;gap:1rem;margin-top:2rem}.form-actions button{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.form-actions button:first-child{background:var(--accent-primary);color:#fff}.form-actions button:first-child:hover{background:var(--accent-hover)}.form-actions button:last-child{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.form-actions button:last-child:hover{background:var(--bg-primary)}.form-actions button:disabled{opacity:.5;cursor:not-allowed}.connection-test{margin-top:1rem;padding:1rem;border-radius:8px;display:flex;align-items:center;gap:.5rem}.connection-test.success{background:#00c8001a;color:#00c800;border:1px solid rgba(0,200,0,.3)}.connection-test.error{background:#ff00001a;color:#f44;border:1px solid rgba(255,0,0,.3)}.catalog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.catalog-actions{display:flex;gap:1rem}.catalog-actions button{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.catalog-actions button:first-child{background:var(--accent-primary);color:#fff}.catalog-actions button:first-child:hover{background:var(--accent-hover)}.catalog-actions .import-btn{background:#28a745;color:#fff}.catalog-actions .import-btn:hover{background:#218838}.catalog-actions button:disabled{opacity:.5;cursor:not-allowed}.vouchers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;margin-top:1.5rem}.voucher-card{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:10px;padding:1rem;cursor:pointer;transition:all .3s ease;position:relative}.voucher-card:hover{border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow)}.voucher-card.selected{border-color:var(--accent-primary);background:#009f501a}.voucher-checkbox{position:absolute;top:.5rem;right:.5rem}.voucher-checkbox input{width:20px;height:20px;cursor:pointer}.voucher-image{width:100%;height:150px;object-fit:cover;border-radius:8px;margin-bottom:1rem}.voucher-info h4{color:var(--text-primary);margin:0 0 .5rem;font-size:1.1rem}.voucher-category{color:var(--text-secondary);font-size:.9rem;margin:0 0 .5rem}.voucher-amount{color:var(--accent-primary);font-weight:600;margin:0}.balance-display{text-align:center;padding:3rem}.balance-amount{margin-bottom:2rem}.balance-value{font-size:3rem;font-weight:700;color:var(--accent-primary)}.balance-display button{padding:.75rem 2rem;background:var(--accent-primary);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer}.balance-display button:hover{background:var(--accent-hover)}.orders-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.orders-header button{padding:.75rem 1.5rem;background:var(--accent-primary);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer}.orders-header button:hover{background:var(--accent-hover)}.orders-header button:disabled{opacity:.5;cursor:not-allowed}.orders-table{overflow-x:auto}.orders-table table{width:100%;border-collapse:collapse}.orders-table th,.orders-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.orders-table th{background:var(--bg-secondary);font-weight:600}.order-status{padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase}.order-status.pending{background:#ffc107;color:#000}.order-status.completed,.order-status.success{background:#28a745;color:#fff}.order-status.failed,.order-status.error{background:#dc3545;color:#fff}.empty-state{text-align:center;padding:3rem;color:var(--text-secondary)}.empty-state button{margin-top:1rem;padding:.75rem 1.5rem;background:var(--accent-primary);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer}.empty-state button:hover{background:var(--accent-hover)}.loading{text-align:center;padding:2rem;color:var(--text-secondary)}body.light-mode .voucher-card{background:#f8f9fa}body.light-mode .voucher-card.selected{background:#009f501a}body.dark-mode .voucher-card{background:#2a2a2a}body.dark-mode .voucher-card.selected{background:#009f5033}.manage-gift-cards{padding:2rem}.cards-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.cards-header h2{color:var(--text-primary);margin:0}.btn-primary{padding:.75rem 1.5rem;background:var(--accent-primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:all .3s}.btn-primary:hover:not(:disabled){background:var(--accent-secondary);transform:translateY(-2px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.card-form-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.card-form-content{background:var(--bg-primary);border-radius:8px;padding:2rem;max-width:700px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px var(--shadow)}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.form-header h3{color:var(--text-primary);margin:0}.close-btn{background:none;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;transition:color .3s}.close-btn:hover{color:var(--text-primary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group label{display:block;color:var(--text-primary);font-weight:600;margin-bottom:.5rem}.form-group input[type=text],.form-group input[type=number],.form-group input[type=url],.form-group input[type=file],.form-group textarea,.form-group select{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:4px;background:var(--input-bg);color:var(--text-primary);font-size:1rem;transition:border-color .3s}.form-group input[type=checkbox]{width:auto;margin-right:.5rem}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.btn-secondary{padding:.75rem 1.5rem;background:var(--input-bg);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;font-weight:600;transition:all .3s}.btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--accent-primary)}.cards-list{margin-top:2rem}.cards-list table{width:100%;border-collapse:collapse;background:var(--card-bg);border-radius:8px;overflow:hidden}.cards-list th,.cards-list td{padding:1rem;text-align:left;border-bottom:1px solid var(--border-color)}.cards-list th{background:var(--bg-tertiary);color:var(--text-primary);font-weight:600}.cards-list td{color:var(--text-secondary)}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600}.status-badge.active{background:#00a85533;color:var(--accent-primary)}.status-badge.inactive{background:#f003;color:#f44}.btn-edit,.btn-delete{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-weight:600;margin-right:.5rem;transition:all .3s}.btn-edit{background:var(--accent-primary);color:#fff}.btn-edit:hover{background:var(--accent-secondary)}.btn-delete{background:#f44;color:#fff}.btn-delete:hover{background:#c00}.no-cards{text-align:center;color:var(--text-tertiary);padding:3rem;background:var(--card-bg);border-radius:8px}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.cards-header{flex-direction:column;gap:1rem;align-items:flex-start}}.admin-panel{min-height:100vh;background:var(--bg-secondary)}.admin-panel .container{max-width:1400px;margin:0 auto;padding:2rem}.admin-panel h1{text-align:center;margin-bottom:2rem;color:var(--text-primary);font-size:2.5rem;transition:color .3s ease}.tabs{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.tabs button{padding:.75rem 2rem;border:2px solid var(--accent-primary);background:var(--card-bg);color:var(--accent-primary);border-radius:5px;font-weight:600;cursor:pointer;transition:all .3s}.tabs button:hover{background:var(--bg-secondary)}.tabs button.active{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);color:#fff;border-color:var(--accent-primary)}.admin-content{background:var(--card-bg);padding:2rem;border-radius:10px;box-shadow:0 4px 6px var(--shadow);transition:background-color .3s ease,box-shadow .3s ease}.admin-content h2{margin-bottom:1.5rem;color:var(--text-primary);transition:color .3s ease}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse}thead{background:var(--bg-secondary)}th,td{padding:1rem;text-align:left;border-bottom:1px solid var(--border-color);color:var(--text-primary);transition:color .3s ease,border-color .3s ease}th{font-weight:600;color:var(--text-primary)}.btn-delete{padding:.5rem 1rem;background:#dc3545;color:#fff;border:none;border-radius:5px;cursor:pointer;font-weight:600;transition:opacity .3s}.btn-delete:hover{opacity:.8}.create-custom{padding:2rem;min-height:80vh}.create-custom h1{text-align:center;margin-bottom:3rem;color:var(--text-primary);font-size:2.5rem}.custom-card-form{max-width:700px;margin:0 auto;background:var(--card-bg);padding:2rem;border-radius:10px;box-shadow:0 4px 6px var(--shadow)}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:600}.form-group input[type=text],.form-group input[type=number],.form-group input[type=email],.form-group input[type=url],.form-group input[type=file],.form-group input[type=date],.form-group textarea,.form-group select{width:100%;padding:.75rem;border:2px solid var(--border-color);border-radius:5px;font-size:1rem;font-family:inherit;transition:border-color .3s;background:var(--input-bg);color:var(--text-primary)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--accent-primary)}.form-group input[type=checkbox]{width:auto;margin-right:.5rem;cursor:pointer}.template-select{margin-top:.5rem;width:100%}.form-section{margin-top:2rem;padding:1.5rem;background:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border-color)}.form-section h3{color:var(--text-primary);margin-bottom:1rem;font-size:1.2rem;font-weight:600}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}@media (max-width: 768px){.form-row{grid-template-columns:1fr}}.advanced-options{margin-top:2rem;padding:1.5rem;background:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border-color)}.advanced-options h3{color:var(--text-primary);margin-bottom:1rem;font-size:1.2rem}.btn-submit{width:100%;padding:.75rem;background:var(--accent-primary);color:#fff;border:none;border-radius:5px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;margin-top:1rem}.btn-submit:hover:not(:disabled){background:var(--accent-secondary);transform:translateY(-2px);box-shadow:0 4px 8px var(--shadow)}.btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.image-preview{margin-top:.5rem;display:flex;flex-direction:column;gap:.5rem}.preview-image{max-width:200px;max-height:150px;border-radius:4px;border:1px solid var(--border-color);object-fit:cover;display:block}.remove-image-btn{padding:.5rem 1rem;background:#f44;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;width:fit-content;transition:background .3s}.remove-image-btn:hover{background:#c00}.upload-progress{margin-top:.5rem}.progress-bar{width:100%;height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden;margin-bottom:.25rem}.progress-fill{height:100%;background:var(--accent-primary);transition:width .3s ease}.progress-text{font-size:.85rem;color:var(--text-secondary)}.redeem-card{padding:2rem;min-height:80vh}.redeem-card h1{text-align:center;margin-bottom:3rem;color:#333;font-size:2.5rem}.redeem-form{max-width:500px;margin:0 auto;background:#fff;padding:2rem;border-radius:10px;box-shadow:0 4px 6px #0000001a}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:600}.form-group input{width:100%;padding:.75rem;border:2px solid #ddd;border-radius:5px;font-size:1rem;text-align:center;letter-spacing:.2rem;transition:border-color .3s}.form-group input:focus{outline:none;border-color:#667eea}.btn-submit{width:100%;padding:.75rem;background:linear-gradient(135deg,#009f50,#084);color:#fff;border:none;border-radius:5px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .3s}.btn-submit:hover:not(:disabled){opacity:.9}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.redeem-success{max-width:500px;margin:2rem auto;background:#d4edda;padding:2rem;border-radius:10px;border:1px solid #c3e6cb}.redeem-success h2{color:#155724;margin-bottom:1rem}.card-details p{margin-bottom:.5rem;color:#155724}.card-details strong{color:#0c5460}.App{min-height:100vh}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--bg-tertiary: #e8e8e8;--text-primary: #1a1a1a;--text-secondary: #333333;--text-tertiary: #666666;--accent-primary: #00a855;--accent-secondary: #008844;--accent-hover: #007733;--border-color: #e0e0e0;--shadow: rgba(0, 0, 0, .1);--card-bg: #ffffff;--input-bg: #f9f9f9;--input-border: #ddd}body.light-mode{background-color:var(--bg-secondary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}body.dark-mode{--bg-primary: #1a1a1a;--bg-secondary: #1a1a1a;--bg-tertiary: #2a2a2a;--text-primary: #ffffff;--text-secondary: #ffffff;--text-tertiary: rgba(255, 255, 255, .8);--accent-primary: #00ff88;--accent-secondary: #00cc6f;--accent-hover: #00b85c;--border-color: rgba(255, 255, 255, .15);--shadow: rgba(0, 0, 0, .3);--card-bg: #2a2a2a;--input-bg: rgba(255, 255, 255, .1);--input-border: rgba(255, 255, 255, .25);background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
