.view-products{margin:0;padding:0}.omni-image{transition:all .3s ease;cursor:pointer}.omni-image:hover{opacity:.8;transform:scale(1.02)}.show-cursor{cursor:pointer}.btn-container{position:relative;display:inline-block}.btn-container .btn{position:absolute;top:10px;right:10px;z-index:10;opacity:0;transition:opacity .3s ease}.btn-container:hover .btn{opacity:1}.card{transition:all .3s ease;border:1px solid #e9ecef}.card:hover{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important;transform:translateY(-2px)}.card-img-top{background-color:#f8f9fa;display:flex;align-items:center;justify-content:center}.card-img-top img{transition:all .3s ease}.card-img-top:hover img{opacity:.9}.view-products .list-item{border-bottom:1px solid #e9ecef;padding:2rem 0;transition:background-color .3s ease}.view-products .list-item:hover{background-color:#f8f9fa}.view-products .list-item:last-child{border-bottom:0}.product-price{font-size:1.2rem;font-weight:600;color:#28a745}.product-price .original-price{text-decoration:line-through;color:#6c757d;font-size:1rem;margin-right:.5rem}.product-price .sale-price{color:#dc3545}.filter-container{position:relative}.filter-labels{margin-top:.5rem}.filter-labels .btn{margin-right:.25rem;margin-bottom:.25rem}.pagination{--bs-pagination-active-bg:#02b1dc;--bs-pagination-active-border-color:#02b1dc;--bs-pagination-active-color:#fff;--bs-pagination-hover-bg:#05cfaa;--bs-pagination-hover-border-color:#05cfaa;--bs-pagination-color:#02b1dc}.page-link:hover{color:#fff}.dropdown-menu{--bs-dropdown-link-active-bg:#02b1dc}.layout-controls .btn-group .btn{border-radius:0}.layout-controls .btn-group .btn:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.layout-controls .btn-group .btn:last-child{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.loading-indicator{text-align:center;padding:3rem 0;color:#6c757d}.no-results{text-align:center;padding:3rem 0}.no-results h4{color:#495057;margin-bottom:1rem}.no-results p{color:#6c757d;margin-bottom:1.5rem}.product-info{padding:1rem 0}.product-title{margin-bottom:.5rem}.product-title a{color:#495057;text-decoration:none}.product-title a:hover{color:#007bff;text-decoration:none}.product-brand{color:#6c757d;font-weight:500;margin-bottom:.5rem}.product-sku,.product-identifier{font-size:.875rem;color:#6c757d;margin-bottom:.25rem}.product-description{color:#495057;line-height:1.5;margin-bottom:1rem}@media(max-width:768px){.view-products .list-item{padding:1rem 0}.view-products .list-item .row{margin:0}.btn-container .btn{position:static;opacity:1;margin-top:.5rem}.card-img-top{height:200px!important}}@media(max-width:576px){.filter-container .input-group{margin-bottom:1rem}.layout-controls{text-align:center;margin-top:1rem}.pagination{justify-content:center;flex-wrap:wrap}.pagination .page-item{margin:.125rem}}.fade-in{animation:fadeIn .5s ease-in}@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.search-input-group{position:relative}.search-input-group .form-control:focus{border-color:#007bff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.modal-content{border-radius:.5rem;overflow:hidden}.modal-header{background-color:#f8f9fa;border-bottom:1px solid #dee2e6}.modal-body img{max-width:100%;height:auto;border-radius:.25rem}.btn:focus,.form-control:focus,.form-select:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}@media print{.btn,.pagination,.modal,.filter-container{display:none!important}.card{border:1px solid #000;break-inside:avoid;margin-bottom:1rem}.product-title a{color:#000!important;text-decoration:underline}}.product-price-component{display:inline-block;line-height:1.4}.omni-price{color:#28a745;font-weight:600;font-size:1.1rem}.omni-price-old{color:#6c757d;text-decoration:line-through;font-weight:normal;font-size:.9rem;margin-left:.25rem}.omni-promotion{color:#dc3545;font-weight:600;font-size:.95rem;background-color:#fff5f5;padding:.125rem .375rem;border-radius:.25rem;border:1px solid #f1c2c2;display:inline-block;margin-top:.25rem}.price-section{display:inline-block;margin-bottom:.25rem}.promotion-section{display:inline-block;margin-top:.25rem}.currency-price{display:inline-block;margin-right:.5rem}.point-price{display:inline-block;margin-left:.5rem}.current-price{color:#28a745;font-weight:600;font-size:1.2rem}.original-price,.compare-price{color:#6c757d;text-decoration:line-through;font-weight:normal;font-size:1rem;margin-left:.5rem}.current-points{color:#007bff;font-weight:600;font-size:1.1rem}.original-points{color:#6c757d;text-decoration:line-through;font-weight:normal;font-size:.95rem;margin-left:.5rem}.dual-payment-separator{color:#495057;font-weight:500;margin:0 .5rem;font-style:italic}.currency-symbol{margin-right:.125rem}.point-name{margin-left:.25rem;color:#6c757d;font-size:.9rem}.currency-promotion,.point-promotion{display:inline-block;background-color:#fff3cd;color:#856404;padding:.25rem .5rem;border-radius:.375rem;border:1px solid #ffeaa7;font-weight:600;font-size:.9rem;margin:.125rem}.currency-promotion{background-color:#f8d7da;color:#721c24;border-color:#f1aeb5}.off-text,.credits-text{margin-left:.25rem}@media(max-width:576px){.product-price-component{display:block;text-align:center}.omni-price{font-size:1rem}.omni-price-old{font-size:.85rem}.omni-promotion{font-size:.85rem;padding:.1rem .3rem}.current-price{font-size:1.1rem}.currency-price,.point-price{display:block;margin:.25rem 0}.dual-payment-separator{display:block;margin:.25rem 0}}@media print{.product-price-component{color:#000!important}.omni-price,.current-price{color:#000!important;font-weight:bold}.omni-price-old,.original-price,.compare-price,.original-points{color:#666!important}.omni-promotion,.currency-promotion,.point-promotion{background-color:transparent!important;border:1px solid #000!important;color:#000!important}}.product-price-component [title]{border-bottom:1px dotted #6c757d;cursor:help}.product-price-component.price-updated .omni-price,.product-price-component.price-updated .current-price{animation:priceHighlight 1s ease-in-out}@keyframes priceHighlight{0%{background-color:transparent}50%{background-color:#fff3cd}100%{background-color:transparent}}.product-price-component.on-sale .omni-promotion{animation:promotionPulse 2s infinite}@keyframes promotionPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}.product-price-component.out-of-stock{opacity:.6}.product-price-component.out-of-stock::after{content:" (Out of Stock)";color:#dc3545;font-size:.8rem;font-style:italic}@media(prefers-color-scheme:dark){.omni-price{color:#4caf50}.omni-price-old,.original-price,.compare-price{color:#999}.omni-promotion{background-color:#2d1b1b;border-color:#5a3a3a;color:#ff6b6b}.currency-promotion{background-color:#2d1b1b;border-color:#5a3a3a;color:#ff6b6b}.point-promotion{background-color:#1b2d2d;border-color:#3a5a5a;color:#4ecdc4}}.selected-price{font-weight:500}.booking-price{font-size:16px;line-height:20px;padding:10px}.booking-price ul{margin:0;padding:0;list-style-type:none}.booking-price li{padding-bottom:12px;display:flex}.booking-price .price-summary{flex-shrink:1;flex-grow:1;white-space:normal}.booking-price .price-summary-details{color:#222;display:block;text-align:left}.booking-price .price-summary-description{color:#222;display:block;text-align:left;font-size:small}.booking-price .price-summary-price{padding-left:16px;white-space:nowrap}.rating{font-size:1.2em}.price-display{font-size:1.1em;margin:10px 0}.price-option-card{transition:transform .2s ease}.card:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.original-price{text-decoration:line-through;font-size:.9em}.promotional-price{font-weight:bold}.promotion-badge{text-align:center}.price-display{text-align:center}.json-display{background-color:#f4f4f4;border:1px solid #ddd;border-radius:4px;padding:15px;margin:10px 0;overflow-x:auto;font-family:'Courier New',monospace;font-size:14px;line-height:1.4}.json-display code{background:none;padding:0;color:#333}.transaction-link{cursor:pointer;color:#0d6efd;text-decoration:none;font-family:'Courier New',monospace}.transaction-link:hover{text-decoration:underline}.transaction-item{border-bottom:1px solid #dee2e6}.transaction-item:last-child{border-bottom:0}