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