:root{--primary-color: #5A6D3B;--secondary-color: #696969;--success-color: #6B8E23;--danger-color: #B22222;--light-color: #F0EFEA;--dark-color: #3C3C3B;--background-color: #ffffff;--font-family: "Poppins", sans-serif;--border-radius: 8px;--box-shadow: 0 4px 12px rgba(0, 0, 0, .08);--transition-speed: .3s}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--light-color);color:var(--dark-color);line-height:1.6}#root{display:flex;flex-direction:column;min-height:100vh}.framed-image{background-repeat:no-repeat;background-size:cover;background-position:center;width:100%;height:100%}header{background-color:var(--background-color);padding:1rem 2rem;box-shadow:0 2px 4px #0000000d;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:1000;gap:1.5rem;flex-wrap:wrap}.logo-container{display:flex;align-items:center;gap:1rem;flex-shrink:0}.logo-icon{height:50px;width:auto}header h1{font-size:1.5rem;font-weight:700;color:var(--primary-color);cursor:pointer}.cart-button{position:relative;background:none;border:none;cursor:pointer;padding:.5rem;transition:transform .2s ease;flex-shrink:0}.cart-button:active{transform:scale(.95)}.header-actions{display:flex;align-items:center;gap:1.5rem;flex-grow:1;justify-content:flex-end}.cart-icon{width:28px;height:28px;color:var(--dark-color);transition:transform var(--transition-speed) ease}.cart-button:hover .cart-icon{transform:scale(1.1)}.cart-count{position:absolute;top:-5px;right:-8px;background-color:var(--danger-color);color:#fff;border-radius:50%;width:22px;height:22px;font-size:.8rem;font-weight:600;display:flex;align-items:center;justify-content:center;border:2px solid var(--background-color);animation:count-pop .3s ease-out}.search-container{position:relative;display:flex;align-items:center;max-width:500px;width:100%}.search-icon{position:absolute;left:.8rem;width:20px;height:20px;color:#aaa;pointer-events:none}.search-input{width:100%;padding:.7rem 2.5rem;border:1px solid #ddd;border-radius:25px;font-family:var(--font-family);font-size:1rem;transition:border-color var(--transition-speed),box-shadow var(--transition-speed)}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #5a6d3b33}.search-clear-button{position:absolute;right:.5rem;background:#e0e0e0;border:none;border-radius:50%;width:24px;height:24px;cursor:pointer;font-size:1.2rem;line-height:24px;color:#666;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.search-clear-button:hover{background-color:#d0d0d0}main{flex-grow:1;padding:2rem}.carousel-container{width:100%;max-width:1200px;margin:0 auto 2rem;aspect-ratio:16 / 7;position:relative;overflow:hidden;border-radius:var(--border-radius);box-shadow:var(--box-shadow);background-color:#e0e0e0}.carousel-slide-container{display:flex;height:100%;transition:transform .5s ease-in-out}.carousel-slide-wrapper{flex-shrink:0;width:100%;height:100%}.carousel-slide{width:100%;height:100%;position:relative}.carousel-slide.clickable{cursor:pointer}.carousel-slide-image{width:100%;height:100%;background-repeat:no-repeat;background-size:cover;background-position:center center}.carousel-content{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);color:#fff;padding:3rem 2rem 2rem;text-shadow:1px 1px 3px rgba(0,0,0,.5)}.carousel-content h1{font-size:2.5rem;margin-bottom:.5rem}.carousel-content p{font-size:1.2rem}.carousel-content .price{font-size:1.5rem;font-weight:700;display:block;margin-top:.5rem}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);background-color:#00000080;color:#fff;border:none;font-size:2rem;cursor:pointer;z-index:10;padding:.5rem 1rem;transition:background-color .2s}.carousel-arrow:hover{background-color:#000c}.carousel-arrow.left{left:10px;border-radius:0 5px 5px 0}.carousel-arrow.right{right:10px;border-radius:5px 0 0 5px}.carousel-dots{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;gap:10px}.dot{width:12px;height:12px;border-radius:50%;background-color:#ffffff80;cursor:pointer;transition:background-color .3s;border:1px solid rgba(0,0,0,.2)}.dot.active{background-color:#fff}.main-controls-container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem}.category-filters{display:flex;justify-content:center;gap:.8rem;flex-wrap:wrap}.category-button{padding:.6rem 1.2rem;border:1px solid #ddd;background-color:var(--background-color);color:var(--dark-color);border-radius:20px;cursor:pointer;font-weight:500;font-size:.9rem;transition:all var(--transition-speed) ease}.category-button:hover{background-color:#e0ddd5;border-color:#ccc}.category-button.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.category-button.active-parent{background-color:#e0ddd5;border-color:#ccc;color:var(--dark-color)}.subcategory-filters{width:100%;padding:1rem 0;margin-bottom:2rem;border-bottom:1px solid #eee;display:flex;gap:.8rem;flex-wrap:wrap}.subcategory-button{font-size:.85rem;padding:.5rem 1rem;background-color:#f7f7f7}.sort-control{flex-shrink:0}.sort-select{padding:.6rem 2.5rem .6rem 1.2rem;border:1px solid #ddd;background-color:var(--background-color);color:var(--dark-color);border-radius:20px;cursor:pointer;font-weight:500;transition:all var(--transition-speed) ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='%233C3C3B' class='w-6 h-6'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m19.5 8.25-7.5 7.5-7.5-7.5' /%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;background-size:1em;font-family:var(--font-family);font-size:.9rem}.sort-select:hover{background-color:#e0ddd5;border-color:#ccc}.sort-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #5a6d3b33}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem}.no-results-message{grid-column:1 / -1;text-align:center;padding:2rem;color:var(--secondary-color);font-size:1.1rem}.product-card{background-color:var(--background-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow);overflow:hidden;cursor:pointer;transition:transform var(--transition-speed) ease,box-shadow var(--transition-speed) ease;display:flex;flex-direction:column;position:relative}.product-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #0000001a}.product-card-image{width:100%;height:250px;transition:filter var(--transition-speed) ease}.product-card-image-kit{width:100%;height:250px;object-fit:cover}.product-card-info{padding:1rem;flex-grow:1;display:flex;flex-direction:column;justify-content:space-between}.product-card-info h3{font-size:1.2rem;margin-bottom:.5rem}.product-card-info .price{font-size:1.3rem;font-weight:600;color:var(--primary-color)}.item-badge{position:absolute;padding:.3rem .6rem;border-radius:5px;font-size:.8rem;font-weight:600;z-index:2;color:#fff}.item-badge.kit-badge{background-color:var(--success-color);top:10px;right:10px}.item-badge.discount-badge{background-color:var(--danger-color);top:10px;left:10px;right:auto}.product-card.out-of-stock{opacity:.7;cursor:default}.product-card.out-of-stock:hover{transform:translateY(0);box-shadow:var(--box-shadow)}.product-card.out-of-stock .product-card-image{filter:grayscale(80%)}.item-badge.stock-badge{background-color:var(--secondary-color);top:10px;left:10px;right:auto}.stock-message-error{color:var(--danger-color);font-weight:600;margin-bottom:1.5rem}.skeleton-card{background-color:#fff;border-radius:var(--border-radius);box-shadow:var(--box-shadow);overflow:hidden}.skeleton-image{width:100%;height:250px;background-color:#e0e0e0}.skeleton-text{height:20px;width:80%;background-color:#e0e0e0;margin:1rem 1rem .5rem;border-radius:4px}.skeleton-text.short{width:50%}.skeleton-card .skeleton-image,.skeleton-card .skeleton-text{background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0,#e0e0e0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease}.modal-content{background-color:var(--background-color);border-radius:var(--border-radius);box-shadow:0 10px 30px #0003;width:90%;max-width:900px;max-height:90vh;animation:slideUp .4s ease;position:relative;overflow-y:auto}.modal-close-button{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.8rem;cursor:pointer;color:var(--secondary-color);line-height:1;z-index:10}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes cart-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes count-pop{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.cart-button.bouncing .cart-icon{animation:cart-bounce .6s ease}.product-detail{display:flex;padding:2.5rem;gap:2rem}.product-detail.kit-modal-layout{flex-direction:column}.product-detail-images{flex:1;min-width:0}.modal-image-nav-container{position:relative;margin-bottom:1rem}.product-detail-images .main-image{width:100%;border-radius:var(--border-radius);aspect-ratio:1 / 1;max-height:500px;margin:0 auto;display:block}.modal-image-nav{position:absolute;top:50%;transform:translateY(-50%);background-color:#0000004d;color:#fff;border:none;font-size:1.5rem;cursor:pointer;z-index:10;padding:.5rem;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.modal-image-nav:hover{background-color:#0009}.modal-image-nav.left{left:10px}.modal-image-nav.right{right:10px}.thumbnail-gallery{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.thumbnail-gallery img{width:60px;height:60px;object-fit:cover;border-radius:5px;cursor:pointer;border:2px solid transparent;transition:border-color var(--transition-speed)}.thumbnail-gallery img:hover{border-color:#ccc}.thumbnail-gallery img.active{border-color:var(--primary-color)}.product-detail-info{flex:1;display:flex;flex-direction:column}.product-detail-info h2{font-size:2.2rem;margin-bottom:1rem}.product-detail-info .price{font-size:1.8rem;font-weight:600;color:var(--primary-color);margin-bottom:.5rem}.product-detail-info .description{margin-bottom:1.5rem;color:#555}.price-container{display:flex;align-items:baseline;gap:.8rem;margin-bottom:1rem}.price.discounted{font-size:1.8rem;font-weight:600;color:var(--primary-color)}.price.original{font-size:1.2rem;color:var(--secondary-color);text-decoration:line-through}.discount-percentage-badge{background-color:var(--danger-color);color:#fff;padding:.3rem .7rem;font-size:1rem;font-weight:600;border-radius:var(--border-radius);line-height:1}.product-controls{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.5rem}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:500;margin-bottom:.5rem;font-size:.9rem}.form-group select,.form-group input{padding:.7rem;border:1px solid #ccc;border-radius:var(--border-radius);font-family:var(--font-family);font-size:1rem;width:100%}.form-group select.invalid,.form-group input.invalid{border-color:var(--danger-color);box-shadow:0 0 0 2px #b2222233}.product-controls .form-group input[type=number]{max-width:120px}.add-to-cart-button{padding:.8rem 1.5rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer;font-weight:600;font-size:1rem;transition:background-color var(--transition-speed) ease,transform .1s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:auto}.add-to-cart-button:disabled{opacity:1;cursor:default;background-color:var(--secondary-color)}.add-to-cart-button:hover:not(:disabled){background-color:#4b5c30}.add-to-cart-button.success{background-color:var(--success-color)}.add-to-cart-button .checkmark{font-size:1.2em;line-height:1}.kit-details{margin-bottom:1rem}.kit-details h4{margin-bottom:.5rem}.kit-configuration-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #eee}.kit-configuration-section h4{margin-bottom:1rem}.kit-product-group{margin-bottom:1.5rem}.kit-product-config-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.kit-product-config-header h5{font-size:1.1rem;font-weight:600;margin:0}.add-instance-button{background:none;border:1px solid var(--success-color);color:var(--success-color);font-size:.8rem;font-weight:600;padding:.3rem .6rem;border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-speed)}.add-instance-button:hover{background-color:var(--success-color);color:#fff}.kit-product-config-item{background-color:#f9f9f9;padding:1rem;border-radius:var(--border-radius);margin-bottom:1rem;border:1px solid #eee;position:relative}.remove-instance-button{position:absolute;top:8px;right:8px;background:#e0e0e0;border:none;color:var(--secondary-color);width:22px;height:22px;border-radius:50%;cursor:pointer;font-size:1.1rem;line-height:1}.remove-instance-button:hover{background-color:var(--danger-color);color:#fff}.kit-product-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;align-items:flex-end}.kit-product-controls .form-group{margin-bottom:0}.kit-item-quantity-input{max-width:100px}.cart-modal{max-width:500px}.cart-header{padding:1.5rem;border-bottom:1px solid #eee}.cart-header h2{font-size:1.5rem}.cart-items{padding:1.5rem;max-height:40vh;overflow-y:auto}.cart-item{display:flex;gap:1rem;margin-bottom:1rem;align-items:center;animation:fadeIn .4s ease;transition:opacity .3s ease,transform .3s ease}.cart-item.removing{opacity:0;transform:translate(50px)}.cart-item-image{width:70px;height:70px;border-radius:var(--border-radius);flex-shrink:0;object-fit:cover}.cart-item-info{flex-grow:1;min-width:0}.cart-item-info h4{font-weight:600;margin-bottom:.2rem}.cart-item-info p{font-size:.9rem;color:#666}.cart-item-price-container{margin-top:.3rem}.cart-item-price.original{font-size:.85rem;text-decoration:line-through;color:#999}.cart-item-kit-configurations{list-style:none;padding-left:0;margin-top:.5rem;font-size:.85rem;color:#555;display:flex;flex-direction:column;gap:.5rem}.cart-kit-product-group>ul{list-style:none;padding-left:1rem;font-size:.95em}.cart-item-actions{display:flex;align-items:center;gap:.5rem}.cart-item-actions button{background:#eee;border:none;border-radius:50%;width:28px;height:28px;cursor:pointer;font-weight:700;transition:transform .1s ease}.cart-item-actions button:active{transform:scale(.9)}.cart-item-remove{background:none;border:none;color:var(--danger-color);cursor:pointer;font-size:1.2rem;padding-left:.5rem}.cart-empty{text-align:center;padding:2rem;color:var(--secondary-color)}.cart-footer{padding:1.5rem;border-top:1px solid #eee;background-color:var(--light-color)}.cart-total{display:flex;justify-content:space-between;font-size:1.2rem;font-weight:600;margin-bottom:1rem}.checkout-button{width:100%;padding:1rem;background-color:var(--success-color);color:#fff;border:none;border-radius:var(--border-radius);font-size:1.1rem;font-weight:600;cursor:pointer;transition:background-color var(--transition-speed),transform .1s ease}.checkout-button:hover{background-color:#55701d}.admin-container,.admin-login{max-width:1200px;margin:2rem auto;padding:2rem;background:var(--background-color);box-shadow:var(--box-shadow);border-radius:var(--border-radius)}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #eee;flex-wrap:wrap;gap:1rem}.admin-header h2{margin-bottom:0}.admin-button-link{background:none;border:1px solid var(--secondary-color);color:var(--secondary-color);padding:.6rem 1.2rem;border-radius:var(--border-radius);cursor:pointer;font-weight:500;transition:all var(--transition-speed) ease;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.admin-button-link:hover{background:var(--secondary-color);color:#fff}.admin-login{max-width:450px}.admin-form .form-group{margin-bottom:1rem}.admin-form label{display:block;margin-bottom:.5rem;font-weight:600}.admin-form input,.admin-form textarea,.admin-form select{width:100%;padding:.8rem;border:1px solid #ccc;border-radius:var(--border-radius)}.admin-form textarea{resize:vertical;min-height:100px}.admin-button{display:inline-block;padding:.8rem 1.5rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer;font-weight:600;width:100%;margin-top:1rem;transition:transform .1s ease}.admin-button.secondary{background-color:var(--secondary-color)}.admin-button.danger{background-color:var(--danger-color)}.admin-button.danger:hover{background-color:#911c1c}.admin-button.cancel{background-color:var(--secondary-color);width:auto}.admin-button.cancel:hover{background-color:#555}.admin-button:disabled{background-color:#a0aec0;cursor:not-allowed;transform:scale(1)}.admin-form-actions{display:flex;gap:1rem;margin-top:1.5rem}.admin-form-actions .admin-button{margin-top:0}.form-group-inline{display:flex;gap:1rem;align-items:flex-start}.form-group-inline .form-group{flex:1}.admin-menu{display:flex;flex-direction:column;gap:1.5rem;max-width:400px;margin:2rem auto}.admin-menu .admin-button{padding:1.2rem;font-size:1.1rem;font-weight:600}.admin-back-button{background:none;border:none;color:var(--primary-color);font-weight:600;cursor:pointer;margin-bottom:2rem;font-size:1rem;display:flex;align-items:center;gap:.5rem}.admin-content-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem}.admin-section{background-color:#fafafa;padding:1.5rem;border-radius:var(--border-radius);border:1px solid #eee}.admin-section-header{display:flex;flex-direction:column;align-items:center;margin-bottom:1.5rem;border-bottom:1px solid #ddd;padding-bottom:1rem;gap:1rem;text-align:center}.admin-section-header h3{margin-bottom:0;border-bottom:none;padding-bottom:0}.admin-section-header .admin-button{width:auto;margin-top:0}.admin-section h3{margin-bottom:1.5rem;border-bottom:1px solid #ddd;padding-bottom:.8rem}.admin-section>p{margin-bottom:1rem;color:var(--secondary-color)}.item-list{list-style:none;max-height:400px;overflow-y:auto;padding-right:10px}.item-list li{display:flex;justify-content:space-between;align-items:center;padding:.8rem;border:1px solid #eee;border-radius:var(--border-radius);margin-bottom:.5rem;background-color:#fff;gap:.5rem}.item-list-name{flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.product-list li,.stock-list li,.highlights-admin-list li,.item-ordering-list li{justify-content:flex-start;gap:1rem}.stock-list-item{align-items:flex-start}.item-list-img{width:40px;height:40px;border-radius:4px;flex-shrink:0}.item-list-img.framed-image{background-color:#f0f0f0}.item-list-img{object-fit:cover}.item-list-details{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;flex-grow:1;min-width:0}.item-list-price{font-weight:600;color:var(--primary-color);flex-shrink:0}.item-list-actions{display:flex;gap:.5rem;flex-shrink:0}.item-list-details>.item-list-actions{margin-top:.5rem}.item-list-edit-button,.item-list-delete-button{background-color:transparent;padding:.3rem .6rem;border-radius:5px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s ease,transform .1s ease;flex-shrink:0}.item-list-edit-button{border:1px solid var(--secondary-color);color:var(--secondary-color)}.item-list-edit-button:hover{background-color:var(--secondary-color);color:#fff}.item-list-delete-button{border:1px solid var(--danger-color);color:var(--danger-color)}.item-list-delete-button:hover{background-color:var(--danger-color);color:#fff}.item-list-delete-button:disabled{background-color:var(--secondary-color);border-color:var(--secondary-color);color:#fff;cursor:not-allowed}.category-edit-form{display:flex;gap:.5rem;width:100%}.category-edit-form input{flex-grow:1;padding:.4rem;border:1px solid #ccc;border-radius:4px}.category-edit-form select{flex-basis:150px}.category-edit-form button{padding:.4rem .8rem;border:none;border-radius:4px;cursor:pointer}.category-edit-form button[type=submit]{background-color:var(--success-color);color:#fff}.category-edit-form button[type=button]{background-color:var(--secondary-color);color:#fff}.empty-list-message{padding:1rem;text-align:center;color:var(--secondary-color);background-color:#fff;border:1px dashed #ddd;border-radius:var(--border-radius)}.admin-info-message{padding:1rem;background-color:#eef2f7;border:1px solid #d0dae6;border-radius:var(--border-radius);color:#3e5a7b;margin-top:1rem;text-align:center}.image-previews{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem;margin-bottom:1rem;padding:1rem;border:1px dashed #ccc;border-radius:var(--border-radius);min-height:100px}.image-preview-item{position:relative;cursor:grab;transition:opacity .2s ease,transform .2s ease;width:100px;height:100px;border-radius:var(--border-radius);overflow:hidden;border:1px solid #eee}.image-preview-item .preview-framed-image{width:100%;height:100%;background-color:#f0f0f0}.image-preview-item img{width:100%;height:100%;object-fit:cover}.image-preview-item.dragging,.highlights-admin-list li.dragging,.item-ordering-list li.dragging{opacity:.5}.image-preview-actions{position:absolute;top:0;right:0;left:0;bottom:0;background-color:#00000080;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;opacity:0;transition:opacity .2s ease}.image-preview-item:hover .image-preview-actions{opacity:1}.remove-image-button,.edit-crop-button{background:#ffffffe6;color:var(--dark-color);border:none;border-radius:5px;cursor:pointer;font-size:.8rem;padding:.3rem .6rem}.remove-image-button{position:absolute;top:5px;right:5px;width:24px;height:24px;border-radius:50%;font-size:1rem;background-color:var(--danger-color);color:#fff}.image-order-badge{position:absolute;top:5px;left:5px;background-color:#3c3c3bb3;color:#fff;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;z-index:1;border:1px solid rgba(255,255,255,.5);-webkit-user-select:none;user-select:none}.form-group-checkbox{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.form-group-checkbox label{margin-bottom:0;font-weight:500}.form-group-checkbox input[type=checkbox]{width:auto;height:auto}.category-checklist-container{max-height:150px;overflow-y:auto;border:1px solid #ccc;padding:.8rem;border-radius:var(--border-radius);background-color:#fff}.category-checklist-item{display:flex;align-items:center;gap:.8rem;padding:.3rem 0}.category-checklist-item input[type=checkbox]{width:auto;margin:0;height:1.1em;width:1.1em;cursor:pointer}.category-checklist-item label{margin:0;font-weight:400;cursor:pointer;flex-grow:1}.product-search-input{width:100%;padding:.6rem;border:1px solid #ccc;border-radius:var(--border-radius);margin-bottom:1rem;font-size:.9rem}.product-selection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1rem;max-height:250px;overflow-y:auto;border:1px solid #ddd;padding:1rem;border-radius:var(--border-radius);background-color:#fff;margin-bottom:.5rem}.product-selection-item{position:relative;border:2px solid #eee;border-radius:var(--border-radius);cursor:pointer;text-align:center;overflow:hidden;transition:all .2s ease;padding:.5rem;display:flex;flex-direction:column;justify-content:space-between}.product-selection-item:hover{border-color:var(--primary-color);transform:translateY(-2px)}.product-selection-image{width:100%;height:80px;border-radius:5px;margin-bottom:.5rem;background-color:#f0f0f0}.product-selection-item span{font-size:.8rem;line-height:1.2;word-break:break-word}.product-selection-item.selected{border-color:var(--success-color);box-shadow:0 0 8px #6b8e2380}.product-selection-item.selected:after{content:"✓";position:absolute;top:5px;right:5px;background-color:var(--success-color);color:#fff;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;border:2px solid white}.highlights-admin-list li,.item-ordering-list li{cursor:grab}.highlights-admin-list li .item-list-details small{color:var(--secondary-color);font-size:.8rem}.drag-handle{cursor:grab;color:#ccc;font-size:1.5rem;line-height:1;margin-right:-.5rem}.image-editor-modal{max-width:600px;padding:2rem}.image-editor-modal h3{margin-bottom:1.5rem;text-align:center}.highlight-preview-container{margin-top:1rem;margin-bottom:1rem;border:1px dashed #ccc;padding:1rem;border-radius:var(--border-radius)}.admin-form-preview{background-color:#fafafa;border-style:solid;border-color:#eee}.admin-form-preview .highlight-preview-editor{cursor:default}.highlight-preview-container h4{margin-bottom:1rem;font-weight:600}.highlight-preview-editor{width:100%;aspect-ratio:16 / 7;background-color:#f0f0f0;border-radius:var(--border-radius);border:1px solid #eee;margin-bottom:1rem;overflow:hidden;position:relative;background-repeat:no-repeat}.highlight-preview-image{width:100%;height:100%;background-repeat:no-repeat;-webkit-user-select:none;user-select:none}.zoom-control{display:flex;align-items:center;gap:1rem;margin-top:1rem}.zoom-control label{font-weight:500;margin-bottom:0}.zoom-control input[type=range]{flex-grow:1}.highlight-preview-interactive-wrapper{position:relative;cursor:pointer;border:none;padding:0;background:none;display:block;width:100%;border-radius:var(--border-radius);overflow:hidden}.highlight-preview-interactive-wrapper .highlight-preview-editor{margin-bottom:0}.preview-edit-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#0000;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-speed) ease}.preview-edit-overlay span{color:#fff;background-color:#000000b3;padding:.5rem 1rem;border-radius:var(--border-radius);opacity:0;transform:translateY(10px);transition:opacity var(--transition-speed) ease,transform var(--transition-speed) ease;font-weight:500;text-align:center}.highlight-preview-interactive-wrapper:hover .preview-edit-overlay{background-color:#0006}.highlight-preview-interactive-wrapper:hover .preview-edit-overlay span{opacity:1;transform:translateY(0)}.site-footer{background-color:var(--dark-color);color:var(--light-color);padding:1.5rem 2rem;box-shadow:0 -2px 5px #0000001a;margin-top:auto}.footer-content{display:flex;justify-content:space-between;align-items:center}.footer-contact p{margin:.2rem 0;font-size:.9rem}.footer-contact a{color:#fff;text-decoration:none;transition:color var(--transition-speed)}.footer-contact a:hover{color:var(--primary-color)}.footer-admin-link{background:none;border:1px solid var(--light-color);color:var(--light-color);padding:.5rem 1rem;border-radius:var(--border-radius);cursor:pointer;font-weight:500;transition:all var(--transition-speed),transform .1s ease}.footer-admin-link:hover{background-color:var(--light-color);color:var(--dark-color)}.category-button:active,.add-to-cart-button:active:not(:disabled),.checkout-button:active,.admin-button:active:not(:disabled),.footer-admin-link:active,.item-list-edit-button:active,.item-list-delete-button:active{transform:scale(.97)}.stock-controls{display:flex;align-items:center;gap:.8rem;margin-top:.5rem}.stock-controls label{font-size:.9rem;font-weight:500;color:var(--secondary-color)}.stock-input{width:70px;padding:.4rem;border:1px solid #ccc;border-radius:5px;text-align:center;font-size:.9rem}.size-stock-list{display:flex;flex-direction:column;gap:.8rem;margin-top:.8rem;padding-left:1rem;border-left:3px solid #eee}.size-stock-item{display:flex;align-items:center;gap:1rem}.size-stock-item label{font-weight:500;margin-bottom:0;flex-basis:120px;flex-shrink:0;font-size:.9rem}.size-stock-item input{width:100px;padding:.5rem}.admin-form .form-group .form-stock-item label{font-weight:400}.category-tree{padding-left:0;list-style:none}.category-tree-item{padding-left:calc(var(--level, 0) * 25px);display:flex;align-items:center;gap:.5rem;cursor:grab;transition:background-color .2s;border-radius:var(--border-radius);border:1px solid #eee;background-color:#fff;margin-bottom:.5rem;position:relative}.category-tree-item.dragging{opacity:.5;background-color:#eaf2ff}.category-tree-item.drag-over-target{outline:2px dashed var(--primary-color);background-color:#f5f9ef}.tree-connector{color:#b0b0b0;font-family:monospace;font-size:1.2rem;line-height:1;flex-shrink:0;-webkit-user-select:none;user-select:none;width:20px;text-align:center}.top-level-drop-zone{text-align:center;padding:1rem;border:2px dashed #ccc;border-radius:var(--border-radius);color:var(--secondary-color);margin-bottom:1rem;transition:all .2s ease}.top-level-drop-zone.drag-over-target{background-color:#f5f9ef;border-color:var(--primary-color);color:var(--primary-color)}.category-delete-modal{max-width:500px;padding:2rem}.category-delete-modal h3,.category-delete-modal p{margin-bottom:1rem}.category-delete-modal .form-group{margin-top:1.5rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.item-list li,.image-preview-item{transition:background-color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease;-webkit-user-select:none;user-select:none}.item-list li.selected,.image-preview-item.selected{background-color:#eaf2ff;border-color:#4a90e2!important;transform:scale(1.03);box-shadow:0 4px 12px #0000001a;z-index:10}.item-list li.dragging-source,.image-preview-item.dragging-source{opacity:.3;background-color:#f0f0f0;transform:scale(1);box-shadow:none}.item-list li.dragging,.image-preview-item.dragging{opacity:.5}.category-tree-item.drag-over-target,.top-level-drop-zone.drag-over-target{z-index:5}@media (max-width: 960px){.admin-content-grid{grid-template-columns:1fr}.admin-section{padding:1rem}}@media (max-width: 768px){header{padding:1rem;flex-wrap:wrap;justify-content:space-between;gap:1rem}.logo-container{gap:.5rem;width:100%}header h1{font-size:1.2rem}.header-actions{width:100%;flex-grow:0;justify-content:space-between}.search-container{flex-grow:1;max-width:none}main{padding:1rem}.carousel-container{aspect-ratio:16 / 9}.carousel-content{padding:1.5rem}.carousel-content h1{font-size:1.8rem}.carousel-content p{font-size:1rem}.product-detail{flex-direction:column;padding:1.5rem}.modal-content{max-width:100%;max-height:100vh;height:100%;border-radius:0}.footer-content{flex-direction:column;gap:.8rem;text-align:center}}
