.category-page{background-color:var(--primary-color);min-height:100vh;position:relative}.category-hero{background-position:50%;background-size:cover;justify-content:center;align-items:center;height:60vh;min-height:400px;display:flex;position:relative}.category-hero-overlay{background:#0006;width:100%;height:100%;position:absolute;top:0;left:0}.category-hero-content{z-index:2;text-align:center;color:#fff;max-width:800px;padding:0 20px;position:relative}.category-hero-content h1{margin-bottom:20px;font-family:Playfair Display,serif;font-size:4rem;font-weight:400}.hero-divider{background-color:var(--accent-color);width:60px;height:2px;margin:0 auto 20px}.category-hero-content p{font-family:Raleway,sans-serif;font-size:1.2rem;line-height:1.6}.category-description{background-color:#fff;padding:31px 0;overflow:visible}.category-description p{color:var(--text-light);word-wrap:break-word;overflow-wrap:break-word;white-space:normal;max-width:800px;text-overflow:unset;min-height:20px;margin:0 auto;font-family:Raleway,sans-serif;font-size:1.1rem;line-height:1.8;visibility:visible!important;opacity:1!important;display:block!important}.container{max-width:1200px;margin:0 auto;padding:0 20px}.products-grid-container{padding:80px 0}.products-grid-container h2{text-align:center;color:var(--text-color);margin-bottom:20px;font-family:Playfair Display,serif;font-size:2.5rem;font-weight:400}.section-divider{justify-content:center;align-items:center;margin:30px auto 50px;display:flex}.divider-line{background-color:var(--accent-color);opacity:.5;flex-grow:1;height:1px}.divider-icon{justify-content:center;align-items:center;margin:0 20px;display:flex}.products-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:30px;display:grid}.product-card{background-color:#fff;transition:all .3s;box-shadow:0 5px 15px #0000000d}.product-card:hover{transform:translateY(-10px);box-shadow:0 10px 25px #0000001a}.product-image{height:250px;position:relative;overflow:hidden}.product-image img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.product-card:hover .product-image img{transform:scale(1.1)}.product-overlay{opacity:0;background-color:#0000004d;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .3s;display:flex;position:absolute;top:0;left:0}.product-card:hover .product-overlay{opacity:1}.view-details-btn{color:#fff;border:1px solid var(--accent-color);cursor:pointer;background-color:#0000;padding:12px 24px;font-family:Raleway,sans-serif;font-size:.9rem;text-decoration:none;transition:all .3s}.view-details-btn:hover{background-color:var(--accent-color)}.product-info{padding:20px}.product-name{color:var(--text-color);margin-bottom:5px;font-family:Playfair Display,serif;font-size:1.3rem}.product-origin{color:var(--accent-color);margin-bottom:10px;font-family:Raleway,sans-serif;font-size:.9rem;display:block}.product-description{color:var(--text-light);font-family:Raleway,sans-serif;font-size:.9rem;line-height:1.6}.loading-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;display:flex}.loading-spinner{border:3px solid var(--secondary-color);border-top:3px solid var(--accent-color);border-radius:50%;width:50px;height:50px;margin-bottom:20px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container p{color:var(--text-light);font-family:Raleway,sans-serif;font-size:1.1rem}.error-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:800px;min-height:60vh;margin:0 auto;padding:40px 20px;display:flex}.error-container h2{color:var(--text-color);margin-bottom:20px;font-family:Playfair Display,serif;font-size:2rem}.error-message{text-align:left;background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;margin-bottom:30px;padding:20px}.error-message p{color:#856404;margin-bottom:10px;font-family:Raleway,sans-serif;font-size:.95rem;line-height:1.6}.error-message p:last-child{margin-bottom:0}.error-actions{flex-wrap:wrap;justify-content:center;gap:15px;display:flex}.back-link,.retry-button{background-color:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:12px 25px;font-family:Raleway,sans-serif;font-size:.9rem;text-decoration:none;transition:all .3s;display:inline-block}.back-link:hover,.retry-button:hover{background-color:#b38f2d;transform:translateY(-2px)}.retry-button{background-color:#007bff}.retry-button:hover{background-color:#0056b3}.no-products{text-align:center;background-color:#fff;border-radius:8px;padding:60px 20px;box-shadow:0 5px 15px #0000000d}.no-products h3{color:var(--text-color);margin-bottom:15px;font-family:Playfair Display,serif;font-size:1.5rem}.no-products p{color:var(--text-light);margin-bottom:15px;font-family:Raleway,sans-serif;font-size:1rem}.no-products p:last-child{margin-bottom:0}.featured-badge{background-color:var(--accent-color);color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:4px 8px;font-family:Raleway,sans-serif;font-size:.7rem;font-weight:600;position:absolute;top:10px;left:10px}.product-price{color:var(--accent-color);margin:10px 0 5px;font-family:Raleway,sans-serif;font-size:1rem;font-weight:600}.product-availability{color:var(--text-light);font-family:Raleway,sans-serif;font-size:.8rem;font-style:italic}@media (max-width:768px){.category-hero{height:50vh}.category-hero-content h1{font-size:3rem}.category-hero-content p{font-size:1rem}.category-description{padding:20px 0}.category-description p{word-wrap:break-word;overflow-wrap:break-word;white-space:normal;text-overflow:unset;background-color:#ffffff1a;min-height:20px;padding:0 15px;font-size:1rem;line-height:1.7;visibility:visible!important;opacity:1!important;display:block!important}.products-grid-container h2{font-size:2rem}.error-actions{flex-direction:column;align-items:center}.back-link,.retry-button{text-align:center;width:200px}.loading-container,.error-container{min-height:50vh;padding:20px}.error-container h2{font-size:1.5rem}.error-message{padding:15px}}@media (max-width:480px){.category-description{padding:15px 0}.category-description p{word-wrap:break-word;overflow-wrap:break-word;white-space:normal;text-overflow:unset;background-color:#ffffff1a;min-height:20px;padding:0 10px;font-size:.95rem;line-height:1.6;visibility:visible!important;opacity:1!important;display:block!important}}
