@import"https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&display=swap";@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}html{font-size:62.5%}body{font-family:Montserrat,sans-serif;background-color:#fff;color:#333}:root{--primary-color: #0070f3;--secondary-color: #ff4081;--tertiary-color: #f5f5f5}.toast__message--top-center{top:2rem!important;left:50%!important;transform:translate(-50%)!important;right:auto!important}.home-container{max-width:1100px;margin:3rem auto;padding:2rem}.home-hero{background:var(--primary-color);color:#fff;padding:3rem 2rem 2.5rem;border-radius:14px;text-align:center;margin-bottom:3rem}.home-hero h1{font-size:3rem;font-family:Josefin Sans,sans-serif;margin-bottom:.7rem}.home-hero p{font-size:1.5rem;margin-bottom:1.2rem}.hero-cta{display:inline-block;background:var(--secondary-color);color:#fff;padding:.8rem 2.2rem;border-radius:30px;font-size:1.2rem;font-weight:700;text-decoration:none;transition:background .2s}.hero-cta:hover{background:#d81b60}.home-featured-products{margin-bottom:3rem;text-align:center}.home-featured-products h2{color:var(--primary-color);font-size:2rem;margin-bottom:1.5rem}.featured-products-list{display:flex;justify-content:center;gap:2rem;margin-bottom:2rem}.product-card{background:var(--tertiary-color);border-radius:10px;padding:2rem 1.5rem;min-width:180px;box-shadow:0 2px 8px #0000000a;font-size:1.2rem;font-weight:600;color:#333}.home-about-preview{background:#fff;border-radius:12px;box-shadow:0 2px 16px #0000000f;padding:2rem 1.5rem;text-align:center}.home-about-preview h2{color:var(--primary-color);font-size:1.7rem;margin-bottom:.7rem}.home-about-preview p{font-size:1.2rem;color:#444;margin-bottom:1rem}.about-link{color:var(--secondary-color);text-decoration:none;font-weight:700;font-size:1.1rem;transition:color .2s}.about-link:hover{color:var(--primary-color)}.featured-products-carousel{width:100vw;max-width:700px;margin:0 auto 2rem;box-sizing:border-box}.featured-products-carousel .slick-list,.featured-products-carousel .slick-track,.featured-products-carousel .slick-slide>div{width:100%!important;display:flex!important;justify-content:center;align-items:stretch;box-sizing:border-box}.featured-product-card{display:flex;flex-direction:column;align-items:center;background:var(--tertiary-color);border-radius:14px;box-shadow:0 2px 12px #00000014;padding:1.2rem 1.5rem 1.5rem;width:100%;max-width:320px;min-width:220px;height:370px;box-sizing:border-box;justify-content:flex-start}.featured-product-image{width:100%;max-width:200px;height:180px;object-fit:contain;border-radius:10px;background:#fff;box-shadow:0 1px 4px #0000000a;margin-bottom:1.2rem;display:block}.featured-product-info{text-align:center;width:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end}.featured-product-name{font-size:1.18rem;font-weight:600;color:#222;margin-bottom:.5rem}.featured-product-price{font-size:1.08rem;color:var(--primary-color);font-weight:500}.slick-dots li button:before{color:var(--primary-color);font-size:12px}.slick-arrow{z-index:2}@media (max-width: 1100px){.featured-products-list{gap:1rem}.featured-product-card{max-width:30vw;min-width:180px;height:320px}}@media (max-width: 700px){.featured-products-list{flex-direction:column;align-items:center;gap:1.2rem}.featured-product-card{max-width:98vw;min-width:unset;height:260px;padding:1.2rem .5rem 1rem}.featured-product-image{max-width:120px;height:100px}}.header-container{background:var(--primary-color);color:#fff;padding:1.5rem 0;box-shadow:0 2px 8px #0000000a;position:fixed;top:0;left:0;width:100%;z-index:1000}.header-nav{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 2rem}.nav-left,.nav-right{display:flex;align-items:center;gap:2rem}.nav-link{color:#fff;text-decoration:none;font-size:1.7rem;font-family:Josefin Sans,sans-serif;transition:color .2s;position:relative}.nav-link:hover,.nav-link.active{color:var(--secondary-color)}.cart-link{display:flex;align-items:center;position:relative}.cart-badge{background:var(--secondary-color);color:#fff;border-radius:50%;padding:.2em .6em;font-size:1.2rem;position:absolute;top:-.7em;right:-1em;font-weight:700}.account-link{margin-left:1.5rem;font-weight:700}.main-content-with-header{padding-top:80px}.footer-container{background:var(--tertiary-color);color:var(--primary-color);padding:2rem 0 1.5rem;text-align:center;border-top:1px solid #e0e0e0}.footer-content{display:flex;flex-direction:column;align-items:center;gap:.5rem}.footer-title{font-family:Josefin Sans,sans-serif;font-size:2.2rem;font-weight:700;margin-bottom:.2rem}.footer-caption{font-size:1.3rem;color:var(--secondary-color);margin-bottom:.2rem}.footer-est{font-size:1.1rem;color:#888;letter-spacing:.1em}.about-container{max-width:900px;margin:3rem auto;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 2px 16px #0000000f}.about-section{margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--tertiary-color)}.about-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.about-section h2{color:var(--primary-color);font-size:2rem;margin-bottom:.7rem;font-family:Josefin Sans,sans-serif}.about-section p,.about-section ul,.about-section blockquote{font-size:1.3rem;color:#444;margin-bottom:.5rem}.about-section ul{padding-left:1.5rem}.about-section blockquote{font-style:italic;color:var(--secondary-color);border-left:3px solid var(--secondary-color);padding-left:1rem;margin:.5rem 0}.about-quick-links a{color:var(--primary-color);text-decoration:none;margin:0 .5rem;font-weight:600;transition:color .2s}.about-quick-links a:hover{color:var(--secondary-color)}.shop-container{max-width:1200px;margin:0 auto;padding:2rem 1rem}.shop-title{text-align:center;font-size:2.5rem;margin-bottom:1.5rem;font-weight:700;letter-spacing:1px}.category-buttons{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem}.category-btn{padding:.5rem 1.5rem;border:none;background:#f0f0f0;color:#333;font-size:1rem;border-radius:20px;cursor:pointer;transition:background .2s,color .2s}.category-btn.active,.category-btn:hover{background:#333;color:#fff}.my-masonry-grid{display:flex;margin-left:-16px;width:auto}.my-masonry-grid_column{padding-left:16px;background-clip:padding-box}.product-card{background:#f3f4f6;border:1.5px solid #e0e0e0;border-radius:16px;box-shadow:0 4px 18px #0000001a;margin-bottom:24px;overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s,border .15s}.product-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 6px 24px #00000021}.product-image{width:100%;display:block;object-fit:cover;border-bottom:1px solid #f0f0f0;max-height:340px}.product-info{padding:1rem;display:flex;flex-direction:column;align-items:flex-start}.product-name{font-size:1.1rem;font-weight:600;margin:0 0 .5rem;color:#222}.product-price{font-size:1rem;color:#1a8917;font-weight:500}.product-actions{display:flex;gap:.5rem;padding:0 1rem 1rem;margin-top:auto}.buy-btn,.cart-btn{flex:1;padding:.5rem .7rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .18s,color .18s,box-shadow .18s}.buy-btn{background:var(--primary-color);color:#fff;box-shadow:0 2px 8px #0070f314}.buy-btn:hover{background:var(--secondary-color)}.cart-btn{background:#fff;color:var(--primary-color);border:1.5px solid var(--primary-color)}.cart-btn:hover{background:var(--tertiary-color);color:var(--secondary-color);border-color:var(--secondary-color)}@media (max-width: 700px){.shop-title{font-size:2rem}.category-btn{font-size:.95rem;padding:.4rem 1rem}.product-info{padding:.7rem}}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--tertiary-color);border-radius:12px;box-shadow:0 4px 24px #0000002e;padding:2rem 1.5rem 1.5rem;min-width:320px;max-width:95vw;position:relative}.modal-close-btn{position:absolute;top:1rem;right:1rem;background:var(--secondary-color);color:#fff;border:none;border-radius:50%;width:2.2rem;height:2.2rem;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.admin-products-container{max-width:600px;margin:3rem auto;background:var(--tertiary-color);border-radius:16px;box-shadow:0 2px 16px #0070f314;padding:2.5rem 2rem 2rem}.admin-products-title{text-align:center;color:var(--primary-color);font-size:2rem;margin-bottom:1.5rem;font-family:Josefin Sans,sans-serif}.admin-products-desc{text-align:center;color:#444;margin-bottom:2rem}.admin-products-placeholder{text-align:center;color:#888;font-size:1.2rem;margin-top:2rem}.admin-products-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}.admin-product-item{background:#f3f4f6;border:1.5px solid #e0e0e0;border-radius:16px;box-shadow:0 4px 18px #0000001a;overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s,border .15s;align-items:stretch}.admin-product-item:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 6px 24px #00000021}.admin-product-image{width:100%;object-fit:cover;border-bottom:1px solid #f0f0f0;max-height:220px}.admin-product-info{padding:1rem;display:flex;flex-direction:column;align-items:flex-start}.admin-product-name{font-size:1.1rem;font-weight:600;margin:0 0 .5rem;color:#222}.admin-product-category{font-size:.95rem;color:#555;margin-bottom:.5rem}.admin-product-price{font-size:1rem;color:#1a8917;font-weight:500}.admin-add-product-form{margin-top:2rem;display:flex;flex-direction:column;gap:1.2rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-control{padding:.7rem 1rem;border:1.5px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;background:#fff;color:#222;transition:border .18s}.form-control:focus{border-color:var(--primary-color);outline:none}.admin-add-btn{background:var(--primary-color);color:#fff;border:none;border-radius:8px;padding:.7rem 1.5rem;font-size:1.1rem;font-weight:600;cursor:pointer;margin-top:.5rem;transition:background .18s}.admin-add-btn:disabled{background:#b3d1f7;cursor:not-allowed}.admin-add-btn:hover:not(:disabled){background:var(--secondary-color)}.form-error{color:var(--secondary-color);font-size:.98rem;margin-top:.2rem}.form-success{color:#1a8917;font-size:1.05rem;margin-top:1rem;text-align:center;font-weight:600}@media (max-width: 600px){.admin-products-container{max-width:98vw;padding:1.2rem .5rem 1rem}}@media (max-width: 700px){.admin-products-list{grid-template-columns:1fr;gap:1rem}.admin-product-info{padding:.7rem}}.toast__dark{overflow:hidden;min-width:200px;padding:12px 22px;background:#00000acc;box-shadow:1px 2px 5px 1px #0003;border-radius:40px;color:#fff;font-size:16px;text-align:center;line-height:1.5;vertical-align:top;white-space:pre-line}.sign-up-form{max-width:400px;margin:3rem auto;background:var(--tertiary-color);border-radius:16px;box-shadow:0 2px 16px #0070f314;padding:2.5rem 2rem 2rem}.sign-up-form h2{text-align:center;color:var(--primary-color);font-size:2rem;margin-bottom:1.5rem;font-family:Josefin Sans,sans-serif}.sign-up-email-password{display:flex;flex-direction:column;gap:1.1rem;margin-bottom:1.5rem}.sign-up-email-password input,.sign-up-email-password .form-error,.sign-up-email-password .formik-field{font-size:1.1rem}.sign-up-email-password input,.sign-up-email-password .formik-field{padding:.9rem 1.1rem;border:1.5px solid #e0e0e0;border-radius:8px;outline:none;background:#fff;transition:border .2s;font-family:inherit}.sign-up-email-password input:focus,.sign-up-email-password .formik-field:focus{border-color:var(--primary-color)}.form-error{color:var(--secondary-color);font-size:1rem;margin-top:-.7rem;margin-bottom:.3rem;min-height:1.2em}.sign-up-submit-btn{display:flex;justify-content:center}.sign-up-submit-btn button{background:var(--primary-color);color:#fff;border:none;border-radius:8px;padding:.9rem 2.2rem;font-size:1.1rem;font-weight:700;cursor:pointer;transition:background .18s,box-shadow .18s;box-shadow:0 2px 8px #0070f314}.sign-up-submit-btn button:hover{background:var(--secondary-color)}@media (max-width: 600px){.sign-up-form{max-width:98vw;padding:1.2rem .5rem 1rem}}.form-section{max-width:400px;margin:3rem auto;background:var(--tertiary-color);border-radius:16px;box-shadow:0 2px 16px #0070f314;padding:2.5rem 2rem 2rem}.form-section h2{text-align:center;color:var(--primary-color);font-size:2rem;margin-bottom:1.5rem;font-family:Josefin Sans,sans-serif}.email-and-password{display:flex;flex-direction:column;gap:1.1rem;margin-bottom:1.5rem}.email-and-password input{font-size:1.1rem;padding:.9rem 1.1rem;border:1.5px solid #e0e0e0;border-radius:8px;outline:none;background:#fff;transition:border .2s;font-family:inherit}.email-and-password input:focus{border-color:var(--primary-color)}.form-section p{color:var(--secondary-color);font-size:1rem;margin-top:-.7rem;margin-bottom:.3rem;min-height:1.2em;text-align:center}.sign-in-buttons{display:flex;justify-content:center}.sign-in-buttons button{background:var(--primary-color);color:#fff;border:none;border-radius:8px;padding:.9rem 2.2rem;font-size:1.1rem;font-weight:700;cursor:pointer;transition:background .18s,box-shadow .18s;box-shadow:0 2px 8px #0070f314}.sign-in-buttons button:hover{background:var(--secondary-color)}.form-link{text-align:center;margin-top:1.2rem}.form-link a{color:var(--secondary-color);text-decoration:none;font-weight:700;font-size:1.1rem;transition:color .2s}.form-link a:hover{color:var(--primary-color)}@media (max-width: 600px){.form-section{max-width:98vw;padding:1.2rem .5rem 1rem}}.profile-container{max-width:400px;margin:3rem auto;background:var(--tertiary-color);border-radius:16px;box-shadow:0 2px 16px #0070f314;padding:2.5rem 2rem 2rem}.profile-title{text-align:center;color:var(--primary-color);font-size:2rem;margin-bottom:1.5rem;font-family:Josefin Sans,sans-serif}.profile-detail{font-size:1.1rem;margin-bottom:1rem}.profile-detail span{color:#888}.profile-logout-btn{display:block;margin:2rem auto 0;background:var(--secondary-color);color:#fff;border:none;border-radius:8px;padding:.9rem 2.2rem;font-size:1.1rem;font-weight:700;cursor:pointer;transition:background .18s,box-shadow .18s;box-shadow:0 2px 8px #0070f314}.profile-logout-btn:hover{background:var(--primary-color)}.profile-actions{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}.profile-edit-btn{background:var(--primary-color);color:#fff;border:none;border-radius:8px;padding:.9rem 2.2rem;font-size:1.1rem;font-weight:700;cursor:pointer;transition:background .18s,box-shadow .18s;box-shadow:0 2px 8px #0070f314}.profile-edit-btn:hover{background:var(--secondary-color)}.profile-delete-btn{background:#e74c3c;color:#fff;border:none;border-radius:8px;padding:.9rem 2.2rem;font-size:1.1rem;font-weight:700;cursor:pointer;transition:background .18s,box-shadow .18s;box-shadow:0 2px 8px #e74c3c14}.profile-delete-btn:hover{background:#c0392b}.profile-edit-form{display:flex;flex-direction:column;gap:1.2rem;margin-top:1.5rem}.profile-edit-form label{font-size:1.1rem;color:var(--primary-color);display:flex;flex-direction:column;gap:.5rem}.profile-edit-form input{padding:.7rem 1rem;border:1.5px solid #e0e0e0;border-radius:8px;font-size:1.1rem;outline:none;background:#fff;font-family:inherit;transition:border .2s}.profile-edit-form input:focus{border-color:var(--primary-color)}.profile-edit-actions{display:flex;gap:1rem;margin-top:1rem}.profile-error{color:var(--secondary-color);font-size:1rem;margin-bottom:.5rem;text-align:center}.profile-cancel-btn{background:#888;color:#fff;border:none;border-radius:8px;padding:.9rem 2.2rem;font-size:1.1rem;font-weight:700;cursor:pointer;transition:background .18s,box-shadow .18s;box-shadow:0 2px 8px #88888814}.profile-cancel-btn:hover{background:#555}.profile-success{color:#27ae60;font-size:1rem;margin-bottom:.5rem;text-align:center}@media (max-width: 600px){.profile-container{max-width:98vw;padding:1.2rem .5rem 1rem}}.admin-users-container{max-width:600px;margin:3rem auto;background:var(--tertiary-color);border-radius:16px;box-shadow:0 2px 16px #0070f314;padding:2.5rem 2rem 2rem}.admin-users-title{text-align:center;color:var(--primary-color);font-size:2rem;margin-bottom:1.5rem;font-family:Josefin Sans,sans-serif}.admin-users-desc{text-align:center;color:#444;margin-bottom:2rem}.admin-users-placeholder{text-align:center;color:#888;font-size:1.2rem;margin-top:2rem}@media (max-width: 600px){.admin-users-container{max-width:98vw;padding:1.2rem .5rem 1rem}}.cart-container{max-width:900px;margin:3rem auto;background:var(--tertiary-color);border-radius:16px;box-shadow:0 2px 16px #0070f314;padding:2.5rem 2rem 2rem}.cart-title{text-align:center;color:var(--primary-color);font-size:2.2rem;margin-bottom:1.5rem;font-family:Josefin Sans,sans-serif}.cart-empty{text-align:center;color:#888;font-size:1.2rem;margin-top:2rem}.cart-table{width:100%;border-collapse:collapse;margin-bottom:2rem}.cart-table th,.cart-table td{padding:.8rem .5rem;text-align:left}.cart-table th{background:#f3f4f6;color:#333;font-weight:600}.cart-table tr:not(:last-child){border-bottom:1px solid #e0e0e0}.cart-product-info{display:flex;align-items:center;gap:1rem}.cart-product-image{width:54px;height:54px;object-fit:cover;border-radius:8px;border:1px solid #e0e0e0}.cart-qty-input{width:60px;padding:.4rem .6rem;border:1.5px solid #e0e0e0;border-radius:8px;font-size:1rem;text-align:center}.cart-remove-btn{background:var(--secondary-color);color:#fff;border:none;border-radius:8px;padding:.4rem 1.1rem;font-weight:600;font-size:1rem;cursor:pointer;transition:background .18s}.cart-remove-btn:hover{background:#e6005c}.cart-summary{display:flex;align-items:center;justify-content:flex-end;gap:1.5rem;font-size:1.2rem;margin-top:1.5rem}.cart-total-label{font-weight:600;color:#333}.cart-total-value{color:var(--primary-color);font-weight:700;font-size:1.3rem}.cart-clear-btn{background:var(--primary-color);color:#fff;border:none;border-radius:8px;padding:.6rem 1.4rem;font-weight:600;font-size:1.08rem;cursor:pointer;transition:background .18s}.cart-clear-btn:hover{background:var(--secondary-color)}@media (max-width: 700px){.cart-container{padding:1.2rem .5rem 1rem}.cart-table th,.cart-table td{padding:.5rem .2rem}.cart-summary{flex-direction:column;align-items:flex-start;gap:.7rem}}
