:root{--primary:#4a5e45;--primary-dark:#3d4f3a;--primary-light:#5f7559;--secondary:#6b8f65;--secondary-light:#88a982;--accent-orange:#e67e22;--accent-blue:#3498db;--accent-success:#27ae60;--accent-warning:#f39c12;--bg:#f8f9fa;--bg-alt:#ffffff;--bg-dark:#e9ecef;--surface:#ffffff;--surface-raised:#ffffff;--card-bg:#ffffff;--text:#2c3e50;--text-muted:#6c757d;--text-light:#95a5a6;--border:#dee2e6;--border-light:#e9ecef;--card-shadow:0 1px 3px rgba(0,0,0,0.06);--card-shadow-hover:0 4px 12px rgba(0,0,0,0.12);--shadow-sm:0 1px 3px rgba(0,0,0,0.06);--shadow:0 2px 8px rgba(0,0,0,0.08);--shadow-md:0 4px 16px rgba(0,0,0,0.1);--shadow-lg:0 8px 32px rgba(0,0,0,0.12);--gradient-primary:linear-gradient(135deg, #4a5e45 0%, #6b8f65 100%);--gradient-hero:linear-gradient(135deg, #4a5e45 0%, #5f7559 50%, #88a982 100%);--gradient-accent:linear-gradient(135deg, #6b8f65 0%, #88a982 100%);--radius:8px;--radius-md:10px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--font-heading:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--nav-height:72px;--container:min(1200px, 100% - 2rem)}*,::after,::before{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px;height:100%}body{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.6;letter-spacing:-.011em;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%;display:flex;flex-direction:column}main{flex:1}img{max-width:100%;height:auto;display:block}a{color:var(--primary);text-decoration:none;transition:all .2s ease}a:hover{text-decoration:none;color:var(--primary-dark)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2;letter-spacing:-.02em;margin:0 0 .5em;color:var(--text)}h1{font-size:clamp(2rem, 5vw, 3.5rem);font-weight:800;line-height:1.1}h2{font-size:clamp(1.75rem, 4vw, 2.5rem);font-weight:700}h3{font-size:clamp(1.5rem, 3vw, 2rem);font-weight:600}h4{font-size:clamp(1.25rem, 2.5vw, 1.5rem)}p{margin:0 0 1em;color:var(--text);line-height:1.7}.text-muted{color:var(--text-muted)}.text-light{color:var(--text-light)}.text-display{font-size:clamp(2.5rem, 6vw, 4rem);font-weight:800;line-height:1.05;letter-spacing:-.03em}.container{width:var(--container);margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}.section{padding:2.5rem 0}@media (min-width:768px){.section{padding:3.5rem 0}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.75rem;font-family:var(--font-body);font-size:1rem;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .3s cubic-bezier(.4, 0, .2, 1);position:relative;overflow:hidden;box-shadow:var(--shadow-sm);text-decoration:none}.btn::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.2) 0,transparent 100%);opacity:0;transition:opacity .3s ease}.btn:hover::before{opacity:1}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 12px rgba(74,94,69,.25)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(74,94,69,.35)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-accent{background:linear-gradient(135deg,var(--accent-orange) 0,#d35400 100%);color:#fff;box-shadow:0 4px 12px rgba(230,126,34,.25)}.btn-accent:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(230,126,34,.35)}.btn-secondary{background:var(--gradient-accent);color:#fff;box-shadow:0 4px 12px rgba(107,143,101,.25)}.btn-secondary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(107,143,101,.35)}.btn-outline{background:0 0;color:var(--primary);border:2px solid var(--primary);box-shadow:none}.btn-outline:hover:not(:disabled){background:var(--primary);color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px rgba(74,94,69,.25)}.btn-lg{padding:1.125rem 2.25rem;font-size:1.125rem;border-radius:var(--radius-lg)}.btn-sm{padding:.625rem 1.25rem;font-size:.9375rem;border-radius:var(--radius)}.btn-icon{width:44px;height:44px;padding:0;border-radius:50%}.storefront-nav{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);box-shadow:0 2px 12px rgba(0,0,0,.08);height:auto;border-bottom:1px solid var(--border-light)}.storefront-nav .nav-inner{display:flex;align-items:center;justify-content:space-between;height:var(--nav-height);max-width:1200px;margin:0 auto;padding:0 1.5rem}.storefront-nav .logo{font-size:1.5rem;font-weight:800;font-family:var(--font-heading);color:var(--primary);letter-spacing:-.02em;display:flex;align-items:center;gap:.75rem;transition:all .3s ease;text-decoration:none}.storefront-nav .logo:hover{color:var(--primary-dark);transform:scale(1.02)}.storefront-nav .logo::before{content:'';width:36px;height:36px;background:var(--gradient-primary);border-radius:var(--radius);display:inline-block;box-shadow:0 2px 8px rgba(74,94,69,.2)}.storefront-nav .nav-links{display:none;align-items:center;gap:2rem}@media (min-width:768px){.storefront-nav .nav-links{display:flex}}.storefront-nav .nav-links a{color:var(--text);text-decoration:none;font-weight:600;font-size:.9375rem;transition:all .2s ease;position:relative;padding:.5rem 0}.storefront-nav .nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:3px;background:var(--gradient-primary);border-radius:2px;transition:width .3s ease}.storefront-nav .nav-links a:hover{color:var(--primary)}.storefront-nav .nav-links a:hover::after{width:100%}.storefront-nav .nav-dropdown{position:relative}.storefront-nav .nav-dropdown-content{display:none;position:absolute;top:100%;left:0;min-width:200px;background:var(--card-bg);box-shadow:var(--card-shadow-hover);border-radius:var(--radius);padding:.5rem 0;margin-top:0}.storefront-nav .nav-dropdown:hover .nav-dropdown-content{display:block}.storefront-nav .nav-dropdown-content a{display:block;padding:.5rem 1rem;color:var(--text)}.storefront-nav .nav-dropdown-content a:hover{color:var(--primary);opacity:1}.storefront-nav .nav-right{display:flex;align-items:center;gap:1rem}.storefront-nav .phone{color:var(--primary);font-weight:700;white-space:nowrap;padding:.625rem 1.25rem;background:rgba(74,94,69,.1);border-radius:var(--radius);transition:all .3s ease;display:flex;align-items:center;gap:.5rem;border:1px solid rgba(74,94,69,.2);text-decoration:none}.storefront-nav .phone::before{content:'📞';font-size:1.125rem}.storefront-nav .phone:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-1px);box-shadow:0 4px 12px rgba(74,94,69,.3)}.storefront-nav .cart-link{position:relative;padding:.625rem;color:var(--text);border-radius:var(--radius);transition:all .2s ease}.storefront-nav .cart-link:hover{background:var(--bg);color:var(--primary)}.storefront-nav .cart-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:700;color:#fff;background:var(--accent-orange);border-radius:999px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(230,126,34,.4);animation:badgePulse 2s ease-in-out infinite}@keyframes badgePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}.storefront-nav .cart-badge.empty{display:none}.storefront-nav .hamburger{display:flex;flex-direction:column;gap:5px;padding:8px;background:0 0;border:none;cursor:pointer}@media (min-width:768px){.storefront-nav .hamburger{display:none}}.storefront-nav .hamburger span{width:24px;height:2px;background:#fff;transition:.3s}.storefront-nav .mobile-menu{display:none;position:absolute;top:var(--nav-height);left:0;right:0;background:var(--card-bg);box-shadow:var(--card-shadow-hover);padding:1rem}.storefront-nav .mobile-menu.open{display:block}.storefront-nav .mobile-menu a{display:block;padding:.75rem;border-bottom:1px solid var(--border)}.storefront-nav .mobile-menu .nav-dropdown-content{position:static;box-shadow:none;display:none}.storefront-nav .mobile-menu .nav-dropdown.open .nav-dropdown-content{display:block}.card{background:var(--card-bg);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);overflow:hidden;transition:box-shadow .2s}.card:hover{box-shadow:var(--card-shadow-hover)}.card-img{aspect-ratio:16/10;object-fit:cover;background:var(--bg)}.card-body{padding:1.25rem}.blog-card,.category-card,.product-card{contain:layout style paint}.blog-grid,.category-grid,.product-grid{content-visibility:auto;contain-intrinsic-size:auto 400px}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem}@media (min-width:768px) and (max-width:1023px){.product-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.product-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1400px){.product-grid{grid-template-columns:repeat(4,1fr)}}.product-card{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow);overflow:hidden;transition:all .3s cubic-bezier(.4, 0, .2, 1);position:relative;border:1px solid var(--border-light);display:flex;flex-direction:column;height:100%}.product-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-8px);border-color:var(--primary-light)}.product-card .card-img-wrapper{position:relative;overflow:hidden;aspect-ratio:4/3;background:linear-gradient(135deg,var(--bg) 0,var(--bg-dark) 100%)}.product-card .card-img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.4, 0, .2, 1)}.product-card:hover .card-img{transform:scale(1.08)}.product-card .card-img-wrapper::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,transparent 0,rgba(0,0,0,.4) 100%);opacity:0;transition:opacity .3s ease}.product-card:hover .card-img-wrapper::after{opacity:1}.product-badge{position:absolute;top:12px;right:12px;background:var(--accent-orange);color:#fff;padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;z-index:2;box-shadow:0 2px 8px rgba(0,0,0,.2)}.product-card .card-body{padding:1.5rem;flex:1;display:flex;flex-direction:column}.product-card .product-category{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--primary);margin-bottom:.5rem}.product-card .product-name{font-weight:700;font-size:1.125rem;margin-bottom:.5rem;color:var(--text);line-height:1.3}.product-card .product-description{font-size:.875rem;color:var(--text-muted);margin-bottom:1rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}.product-card .product-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:auto}.product-card .product-price{color:var(--primary);font-weight:700;font-size:1.25rem}.product-card .product-price-label{font-size:.75rem;color:var(--text-muted);font-weight:500;display:block}.product-card .btn{flex:1;margin-top:0}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:2rem}@media (min-width:768px) and (max-width:1023px){.category-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.category-grid{grid-template-columns:repeat(3,1fr)}}.category-card{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow);overflow:hidden;text-decoration:none;color:inherit;transition:all .3s cubic-bezier(.4, 0, .2, 1);position:relative;border:1px solid var(--border-light);height:100%;display:flex;flex-direction:column}.category-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px);text-decoration:none;color:inherit;border-color:var(--primary)}.category-card-img-wrapper{position:relative;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,var(--primary) 0,var(--secondary) 100%)}.category-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;opacity:.9}.category-card:hover img{transform:scale(1.1);opacity:1}.category-card-img-wrapper::after{content:'';position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(180deg,transparent 0,rgba(0,0,0,.7) 100%)}.category-icon{position:absolute;top:16px;left:16px;width:48px;height:48px;background:rgba(255,255,255,.95);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;z-index:2;box-shadow:0 4px 12px rgba(0,0,0,.15);transition:all .3s ease;font-size:1.5rem}.category-card:hover .category-icon{transform:scale(1.1) rotate(5deg);background:var(--accent-orange)}.category-card-content{padding:1.25rem;flex:1;display:flex;flex-direction:column}.category-card .category-name{font-weight:700;font-size:1.25rem;margin:0 0 .5rem;color:var(--text)}.category-card .category-count{font-size:.875rem;color:var(--text-muted);margin:0;display:flex;align-items:center;gap:.375rem}.category-card .category-count::before{content:'';width:4px;height:4px;background:var(--accent-orange);border-radius:50%}.category-arrow{margin-top:auto;display:flex;align-items:center;gap:.5rem;color:var(--primary);font-weight:600;font-size:.9375rem;opacity:0;transform:translateX(-10px);transition:all .3s ease}.category-card:hover .category-arrow{opacity:1;transform:translateX(0)}.category-arrow::after{content:'→'}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:600;margin-bottom:.5rem;color:var(--text);font-size:.9375rem}.form-control{width:100%;padding:.875rem 1rem;font-size:1rem;font-family:var(--font-body);border:2px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);transition:all .3s ease}.form-control:hover{border-color:var(--primary-light)}.form-control:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 4px rgba(74,94,69,.1);background:#fff}.form-control::placeholder{color:var(--text-light)}.input-group{position:relative}.input-group .input-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.input-group .form-control{padding-left:2.75rem}textarea.form-control{min-height:120px;resize:vertical;line-height:1.6}.address-group .form-control{margin-bottom:.5rem}.address-group .form-control:last-child{margin-bottom:0}.address-row{display:flex;gap:.5rem}.address-row .form-control{flex:2;min-width:0}.address-row .address-state{flex:1;max-width:80px}.address-row .address-zip{flex:1;max-width:110px}@media (max-width:480px){.address-row{flex-wrap:wrap}.address-row .address-state,.address-row .address-zip,.address-row .form-control{flex:1 1 45%;max-width:100%}}select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%236c757d' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}input[type=checkbox],input[type=radio]{width:20px;height:20px;margin-right:.75rem;accent-color:var(--primary);cursor:pointer}.checkbox-group .option,.radio-group .option{margin-bottom:.875rem;padding:.875rem 1rem;border-radius:var(--radius-md);border:2px solid var(--border);transition:all .2s ease;cursor:pointer;display:flex;align-items:center}.checkbox-group .option:hover,.radio-group .option:hover{border-color:var(--primary);background:rgba(74,94,69,.05)}.checkbox-group .option:has(input:checked),.radio-group .option:has(input:checked){border-color:var(--primary);background:rgba(74,94,69,.1);box-shadow:0 2px 8px rgba(74,94,69,.15)}.checkbox-group label,.radio-group label{font-weight:500;cursor:pointer;flex:1;margin:0}.form-control.is-invalid{border-color:#dc3545}.form-control.is-valid{border-color:var(--accent-success)}.invalid-feedback,.valid-feedback{display:block;margin-top:.375rem;font-size:.875rem;font-weight:500}.invalid-feedback{color:#dc3545}.valid-feedback{color:var(--accent-success)}.gallery{margin-bottom:1.5rem}.gallery-hero{aspect-ratio:16/10;border-radius:var(--radius-lg);overflow:hidden;background:var(--bg);margin-bottom:.5rem}.gallery-hero img{width:100%;height:100%;object-fit:cover}.gallery-thumbs{display:flex;gap:.5rem;flex-wrap:wrap}.gallery-thumb{width:70px;height:70px;border-radius:var(--radius);overflow:hidden;cursor:pointer;border:2px solid transparent}.gallery-thumb.active{border-color:var(--primary)}.gallery-thumb img{width:100%;height:100%;object-fit:cover}.gallery-carousel{position:relative}.gallery-carousel .carousel-inner{overflow:hidden}.gallery-carousel .carousel-next,.gallery-carousel .carousel-prev{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border:none;background:rgba(0,0,0,.5);color:#fff;border-radius:50%;cursor:pointer;font-size:1.25rem;line-height:1}.gallery-carousel .carousel-prev{left:.5rem}.gallery-carousel .carousel-next{right:.5rem}.price-panel{background:var(--card-bg);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);padding:1.25rem;position:sticky;top:calc(var(--nav-height) + 1rem)}.price-panel .price-line{display:flex;justify-content:space-between;margin-bottom:.5rem}.price-panel .price-total{font-size:1.25rem;font-weight:700;color:var(--primary);border-top:1px solid var(--border);padding-top:.75rem;margin-top:.5rem}.cart-badge{font-size:11px}.storefront-footer{position:relative;background:linear-gradient(135deg,var(--primary-dark) 0,var(--primary) 50%,var(--secondary) 100%);color:rgba(255,255,255,.95);padding:4rem 0 0;margin-top:auto;overflow:hidden}.storefront-footer::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 10% 20%,rgba(255,255,255,.05) 0,transparent 50%),radial-gradient(circle at 90% 80%,rgba(255,255,255,.03) 0,transparent 50%);pointer-events:none}.storefront-footer a{color:rgba(255,255,255,.95);transition:color .3s ease}.storefront-footer a:hover{color:#fff;text-decoration:none}.storefront-footer .footer-grid{position:relative;z-index:1;display:grid;gap:2.5rem;grid-template-columns:1fr;max-width:1200px;margin:0 auto;padding:0 1.5rem}@media (min-width:600px){.storefront-footer .footer-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:900px){.storefront-footer .footer-grid{grid-template-columns:2fr 1fr 1fr 1.5fr}}.storefront-footer .footer-section h4{color:#fff;font-size:1.125rem;font-weight:700;margin-bottom:1rem;font-family:var(--font-heading);letter-spacing:-.02em}.storefront-footer .footer-section p{margin:0 0 1rem;font-size:.9rem;line-height:1.6;color:rgba(255,255,255,.85)}.storefront-footer .footer-section ul{list-style:none;padding:0;margin:0}.storefront-footer .footer-section li{margin-bottom:.75rem}.storefront-footer .footer-section li a{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem 0;font-size:.9rem}.storefront-footer .footer-section li a::before{content:'→';opacity:0;transform:translateX(-8px);transition:all .3s ease}.storefront-footer .footer-section li a:hover::before{opacity:1;transform:translateX(0)}.social-icons{display:flex;gap:1rem;margin-top:1.5rem}.social-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:rgba(255,255,255,.1);border-radius:50%;color:#fff;transition:all .3s cubic-bezier(.4, 0, .2, 1);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.social-icon:hover{background:rgba(255,255,255,.2);transform:translateY(-3px);box-shadow:0 4px 12px rgba(0,0,0,.2)}.social-icon svg{width:18px;height:18px}.newsletter-form{display:flex;gap:.5rem;margin-top:1rem}.newsletter-form input{flex:1;padding:.875rem 1rem;border:2px solid rgba(255,255,255,.2);border-radius:var(--radius-md);background:rgba(255,255,255,.1);color:#fff;font-size:.9rem;transition:all .3s ease;backdrop-filter:blur(10px)}.newsletter-form input::placeholder{color:rgba(255,255,255,.6)}.newsletter-form input:focus{outline:0;background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.4);box-shadow:0 0 0 4px rgba(255,255,255,.1)}.newsletter-form button{padding:.875rem 1.5rem;background:rgba(255,255,255,.95);color:var(--primary);border:none;border-radius:var(--radius-md);font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s cubic-bezier(.4, 0, .2, 1);white-space:nowrap}.newsletter-form button:hover{background:#fff;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.2)}.storefront-footer .footer-bottom{position:relative;z-index:1;text-align:center;padding:2rem 1.5rem;margin-top:3rem;border-top:1px solid rgba(255,255,255,.15);font-size:.875rem;color:rgba(255,255,255,.75)}.storefront-footer .footer-bottom a{color:rgba(255,255,255,.9);font-weight:500}.storefront-footer .footer-bottom a:hover{color:#fff}.hero{position:relative;background:var(--gradient-hero);color:#fff;padding:5rem 1rem;text-align:center;overflow:hidden;min-height:500px;display:flex;align-items:center;justify-content:center}.hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 50%,rgba(255,255,255,.1) 0,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.08) 0,transparent 50%);animation:heroFloat 20s ease-in-out infinite}@keyframes heroFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.05)}}.hero-content{position:relative;z-index:2;max-width:800px;margin:0 auto}.hero h1{margin-bottom:1rem;color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.2);animation:fadeInUp .8s ease-out}.hero p{font-size:1.25rem;margin-bottom:2rem;opacity:.95;line-height:1.7;animation:fadeInUp .8s ease-out .2s both}.hero .btn{animation:fadeInUp .8s ease-out .4s both;background:#fff;color:var(--primary);font-size:1.125rem;padding:1.125rem 2.5rem}.hero .btn:hover{background:var(--bg);transform:translateY(-3px) scale(1.05);box-shadow:0 8px 30px rgba(0,0,0,.2)}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-shapes{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;pointer-events:none}.hero-shape{position:absolute;opacity:.1;background:#fff;border-radius:50%}.hero-shape-1{width:300px;height:300px;top:-100px;left:-100px;animation:float1 15s ease-in-out infinite}.hero-shape-2{width:200px;height:200px;bottom:-50px;right:-50px;animation:float2 12s ease-in-out infinite}@keyframes float1{0%,100%{transform:translate(0,0)}50%{transform:translate(50px,50px)}}@keyframes float2{0%,100%{transform:translate(0,0)}50%{transform:translate(-30px,-30px)}}@media (min-width:768px){.hero{padding:7rem 1rem;min-height:600px}}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.empty-state .btn{margin-top:1rem}.loading{opacity:.7;pointer-events:none}.spinner{width:40px;height:40px;border:3px solid rgba(74,94,69,.1);border-top-color:var(--primary);border-radius:50%;animation:spin .8s cubic-bezier(.4,0,.2,1) infinite}.spinner-sm{width:24px;height:24px;border-width:2px}.spinner-lg{width:60px;height:60px;border-width:4px}@keyframes spin{to{transform:rotate(360deg)}}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease-out}.loading-overlay .spinner-container{text-align:center}.loading-overlay .loading-text{margin-top:1.5rem;color:var(--text-muted);font-size:.9rem;font-weight:500}.skeleton{background:linear-gradient(90deg,var(--bg) 0,var(--bg-dark) 50%,var(--bg) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius)}@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.skeleton-text{height:1rem;margin-bottom:.5rem;border-radius:var(--radius)}.skeleton-text:last-child{width:80%}.skeleton-text-lg{height:1.5em;width:80%}.skeleton-text-sm{height:.875em;width:40%}.category-card.skeleton,.product-card.skeleton{pointer-events:none}.skeleton-title{height:1.5rem;width:60%;margin-bottom:1rem}.skeleton-card{background:var(--surface);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow)}.skeleton-image{aspect-ratio:16/10;border-radius:var(--radius-lg);margin-bottom:1rem}.skeleton-product-card{background:var(--surface);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow)}.skeleton-product-card .skeleton-image{aspect-ratio:4/3;margin-bottom:0;border-radius:0}.skeleton-product-card .skeleton-content{padding:1.5rem}.fade-in{animation:fadeIn .5s ease-out}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in-fast{animation:fadeIn .3s ease-out}.stagger-fade-in>*{animation:fadeIn .5s ease-out backwards}.stagger-fade-in>:first-child{animation-delay:50ms}.stagger-fade-in>:nth-child(2){animation-delay:.1s}.stagger-fade-in>:nth-child(3){animation-delay:.15s}.stagger-fade-in>:nth-child(4){animation-delay:.2s}.stagger-fade-in>:nth-child(5){animation-delay:.25s}.stagger-fade-in>:nth-child(6){animation-delay:.3s}.stagger-fade-in>:nth-child(7){animation-delay:.35s}.stagger-fade-in>:nth-child(8){animation-delay:.4s}.btn.is-loading{position:relative;color:transparent;pointer-events:none}.btn.is-loading::after{content:'';position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.98)}}.pulse{animation:pulse 2s ease-in-out infinite}.subcategory-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.subcategory-tabs .tab{padding:.5rem 1rem;border-radius:var(--radius);background:var(--card-bg);border:1px solid var(--border);cursor:pointer;font-size:.9rem}.subcategory-tabs .tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.subcategory-tabs .tab:hover:not(.active){border-color:var(--primary);color:var(--primary)}.multiload-alert{background:#fff3cd;border:1px solid #ffc107;border-radius:var(--radius);padding:.75rem 1rem;margin-top:.5rem;font-size:.9rem}.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.blog-featured{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:2rem;background:var(--surface);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg);margin-bottom:2rem}.blog-featured .featured-image{position:relative;min-height:400px;background:var(--bg)}.blog-featured .featured-image img{width:100%;height:100%;object-fit:cover}.blog-featured .featured-content{padding:3rem;display:flex;flex-direction:column;justify-content:center}.blog-featured .featured-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--gradient-primary);color:#fff;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;width:fit-content;margin-bottom:1.5rem}.blog-featured .featured-title{font-size:2.5rem;font-weight:800;line-height:1.2;margin-bottom:1rem;font-family:var(--font-heading)}.blog-featured .featured-excerpt{font-size:1.125rem;color:var(--text-muted);line-height:1.6;margin-bottom:2rem}.blog-featured .featured-meta{display:flex;align-items:center;gap:1.5rem;font-size:.875rem;color:var(--text-muted)}.blog-card{position:relative;background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow);overflow:hidden;text-decoration:none;color:inherit;transition:all .3s cubic-bezier(.4, 0, .2, 1);border:1px solid var(--border-light)}.blog-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-8px);text-decoration:none;color:inherit;border-color:var(--primary-light)}.blog-card .blog-image-wrapper{position:relative;overflow:hidden;aspect-ratio:16/10;background:linear-gradient(135deg,var(--bg) 0,var(--bg-dark) 100%)}.blog-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.4, 0, .2, 1)}.blog-card:hover img{transform:scale(1.1)}.blog-card .blog-image-wrapper::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,transparent 0,rgba(0,0,0,.3) 100%);opacity:0;transition:opacity .3s ease}.blog-card:hover .blog-image-wrapper::after{opacity:1}.blog-category{position:absolute;top:1rem;left:1rem;padding:.375rem .875rem;background:var(--accent-orange);color:#fff;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;z-index:2;box-shadow:0 2px 8px rgba(0,0,0,.2)}.blog-category.category-news{background:var(--accent-blue)}.blog-category.category-tips{background:var(--accent-success)}.blog-category.category-updates{background:var(--accent-warning)}.blog-card .blog-card-body{padding:1.75rem}.blog-card .blog-meta{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;font-size:.8rem;color:var(--text-muted)}.blog-card .blog-date{display:flex;align-items:center;gap:.375rem}.blog-card .blog-date::before{content:'📅';font-size:.875rem}.blog-card .blog-read-time{display:flex;align-items:center;gap:.375rem}.blog-card .blog-read-time::before{content:'⏱';font-size:.875rem}.blog-card .blog-title{font-weight:700;font-size:1.25rem;margin-bottom:.75rem;line-height:1.3;color:var(--text);font-family:var(--font-heading)}.blog-card .blog-excerpt{font-size:.9rem;color:var(--text-muted);line-height:1.6;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.blog-card .blog-author{display:flex;align-items:center;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border-light)}.blog-card .author-avatar{width:32px;height:32px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.875rem}.blog-card .author-name{font-size:.875rem;font-weight:600;color:var(--text)}.blog-sidebar{position:sticky;top:2rem}.blog-sidebar .sidebar-widget{background:var(--surface);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow)}.blog-sidebar .widget-title{font-size:1.125rem;font-weight:700;margin-bottom:1rem;font-family:var(--font-heading)}.blog-sidebar .category-list{list-style:none;padding:0;margin:0}.blog-sidebar .category-list li{padding:.5rem 0;border-bottom:1px solid var(--border-light)}.blog-sidebar .category-list li:last-child{border-bottom:none}.blog-sidebar .category-list a{display:flex;justify-content:space-between;align-items:center;color:var(--text);text-decoration:none;transition:color .3s ease}.blog-sidebar .category-list a:hover{color:var(--primary)}.blog-sidebar .category-count{background:var(--bg);padding:.25rem .625rem;border-radius:12px;font-size:.75rem;font-weight:600;color:var(--text-muted)}@media (max-width:767px){.blog-featured{grid-template-columns:1fr}.blog-featured .featured-image{min-height:250px}.blog-featured .featured-content{padding:2rem 1.5rem}.blog-featured .featured-title{font-size:1.75rem}.blog-grid{grid-template-columns:1fr}}@media (min-width:768px){.blog-layout{grid-template-columns:1fr 260px}}@media (min-width:768px){.product-layout{grid-template-columns:1fr 360px!important}}.content-block{margin-bottom:2rem;width:100%;overflow-wrap:break-word;word-wrap:break-word}.block-hero{position:relative;border-radius:var(--radius-lg);overflow:hidden;text-align:center;padding:2rem 1rem}.block-hero img{width:100%;max-height:350px;object-fit:cover;border-radius:var(--radius-lg);display:block;margin-bottom:1rem}.block-hero h2{font-size:clamp(1.4rem, 5vw, 2.2rem);margin-bottom:.5rem}.block-hero p{font-size:clamp(.95rem, 3vw, 1.1rem)}.block-text{max-width:720px;line-height:1.7}.block-text h2{font-size:clamp(1.3rem, 4vw, 1.8rem);margin-bottom:.75rem}.block-text img{max-width:100%;height:auto}.feature-row{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.feature-row h4{font-size:1rem;margin:.5rem 0 .25rem}.feature-row p{font-size:.9rem;color:var(--text-muted,#6b7280);margin:0}.feature-row>div{padding:1rem;background:var(--surface,#f9fafb);border-radius:var(--radius)}.block-cta{padding:2rem 1.25rem;border-radius:var(--radius-lg);text-align:center}.block-cta h2{font-size:clamp(1.2rem, 4vw, 1.8rem)}.block-cta .btn{margin-top:1rem}.block-faq{max-width:720px}.block-faq details{border:1px solid #e5e7eb;border-radius:var(--radius);margin-bottom:.5rem;overflow:hidden}.block-faq details summary{padding:.875rem 1rem;cursor:pointer;font-weight:600;font-size:.95rem;list-style:none;display:flex;justify-content:space-between;align-items:center;user-select:none}.block-faq details summary::-webkit-details-marker{display:none}.block-faq details summary::after{content:'+';font-size:1.2rem;color:var(--primary)}.block-faq details[open] summary::after{content:'−'}.block-faq details p{padding:0 1rem .875rem;margin:0;color:var(--text-muted,#6b7280);line-height:1.6}.contact-block p{font-size:1rem;margin-bottom:.5rem}.contact-block a{color:var(--primary);text-decoration:none}.contact-block a:hover{text-decoration:underline}.contact-block .map-embed{border-radius:var(--radius-lg);overflow:hidden;margin-bottom:1rem}.contact-block .map-embed iframe{width:100%;height:280px;border:0;display:block}.block-image{text-align:center}.block-image img{max-width:100%;height:auto;border-radius:var(--radius)}@media (max-width:767px){.block-hero{padding:1.25rem .75rem}.block-hero img{max-height:220px}.block-cta{padding:1.5rem 1rem}.contact-block .map-embed iframe{height:220px}}.skip-to-main{position:absolute;top:-100px;left:0;background:var(--primary);color:#fff;padding:1rem 1.5rem;text-decoration:none;border-radius:0 0 var(--radius) 0;font-weight:600;z-index:10000;transition:top .3s ease}.skip-to-main:focus{top:0;outline:3px solid var(--accent-orange);outline-offset:2px}:focus{outline:0}:focus-visible{outline:3px solid var(--primary);outline-offset:3px;border-radius:var(--radius)}.btn:focus-visible{outline-color:var(--primary-dark);outline-offset:4px}a:focus-visible{outline:2px solid var(--primary);outline-offset:2px;text-decoration:underline}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:0;border-color:var(--primary);box-shadow:0 0 0 4px rgba(74,94,69,.1)}.btn:focus-visible,.category-card:focus-visible,.product-card:focus-visible{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.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}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}[aria-live=assertive],[aria-live=polite]{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}body.high-contrast :focus-visible{outline:4px solid #000;outline-offset:4px;background:#ff0;color:#000}.toast-container{position:fixed;top:2rem;right:2rem;z-index:10000;display:flex;flex-direction:column;gap:1rem;max-width:400px}.toast{background:#fff;border-radius:var(--radius-lg);box-shadow:0 8px 32px rgba(0,0,0,.15);padding:1.25rem 1.5rem;display:flex;align-items:start;gap:1rem;border-left:4px solid var(--primary);animation:slideInRight .3s ease-out,fadeOut .3s ease-out 4.7s forwards}.toast.toast-success{border-left-color:var(--accent-success)}.toast.toast-error{border-left-color:#ef4444}.toast.toast-warning{border-left-color:var(--accent-warning)}.toast.toast-info{border-left-color:var(--accent-blue)}.toast-icon{font-size:1.5rem;flex-shrink:0}.toast-content{flex:1}.toast-title{font-weight:700;margin-bottom:.25rem;color:var(--text)}.toast-message{font-size:.875rem;color:var(--text-muted);line-height:1.5}.toast-close{background:0 0;border:none;padding:0;cursor:pointer;color:var(--text-muted);font-size:1.25rem;transition:color .2s ease}.toast-close:hover{color:var(--text)}@keyframes slideInRight{from{transform:translateX(400px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes fadeOut{to{opacity:0;transform:translateX(100px)}}[data-tooltip]{position:relative;cursor:help}[data-tooltip]::before{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(-4px);padding:.5rem .875rem;background:var(--text);color:#fff;font-size:.8rem;font-weight:500;line-height:1.4;white-space:nowrap;border-radius:var(--radius);opacity:0;pointer-events:none;transition:all .2s ease;z-index:1000}[data-tooltip]::after{content:'';position:absolute;bottom:calc(100% + 2px);left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:var(--text);opacity:0;pointer-events:none;transition:opacity .2s ease}[data-tooltip]:hover::after,[data-tooltip]:hover::before{opacity:1;transform:translateX(-50%) translateY(0)}.scroll-to-top{position:fixed;bottom:2rem;right:2rem;width:48px;height:48px;background:var(--gradient-primary);color:#fff;border:none;border-radius:50%;box-shadow:var(--shadow-lg);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(100px);transition:all .3s cubic-bezier(.4, 0, .2, 1);z-index:1000}.scroll-to-top.visible{opacity:1;transform:translateY(0)}.scroll-to-top:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(74,94,69,.4)}.scroll-to-top svg{width:24px;height:24px}.btn{position:relative;overflow:hidden}.btn::after{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.5);transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn:active::after{width:300px;height:300px}@keyframes subtlePulse{0%,100%{box-shadow:0 0 0 0 rgba(74,94,69,.4)}50%{box-shadow:0 0 0 12px rgba(74,94,69,0)}}.pulse-on-update{animation:subtlePulse 2s ease-in-out}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-4px)}20%,40%,60%,80%{transform:translateX(4px)}}.shake{animation:shake .5s ease-in-out}.progress-bar{position:fixed;top:0;left:0;width:100%;height:3px;background:var(--bg);z-index:10000}.progress-bar-fill{height:100%;background:var(--gradient-primary);width:0%;transition:width .3s ease}@keyframes badgePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}.badge-animated{animation:badgePulse 2s ease-in-out infinite}@keyframes confetti-fall{to{transform:translateY(100vh) rotate(360deg);opacity:0}}.confetti{position:fixed;width:10px;height:10px;background:var(--primary);top:-10px;z-index:10000;animation:confetti-fall 3s linear forwards}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}@media (max-width:767px){.btn{min-height:48px;padding:1rem 1.5rem}.btn-sm{min-height:40px;padding:.75rem 1.25rem}.storefront-nav{padding:1rem 0}.storefront-nav .logo{font-size:1.25rem}.storefront-nav .nav-links a{padding:1rem;font-size:1.125rem;border-bottom:1px solid var(--border)}.blog-grid,.category-grid,.product-grid{grid-template-columns:1fr;gap:1.25rem}.hero{min-height:400px;padding:2rem 0}.hero h1{font-size:2rem;line-height:1.2}.hero p{font-size:1rem}.product-layout{grid-template-columns:1fr!important}.product-sidebar{position:sticky;bottom:0;left:0;right:0;background:#fff;box-shadow:0 -4px 12px rgba(0,0,0,.1);padding:1rem;z-index:100}.modal{padding:1rem;max-height:100vh}.modal-content{max-width:100%;max-height:90vh;border-radius:var(--radius-lg)}.modal-body{max-height:calc(90vh - 140px)}.form-row{flex-direction:column}.form-row>*{width:100%!important}.storefront-footer .footer-grid{grid-template-columns:1fr;gap:2rem}.newsletter-form{flex-direction:column}.newsletter-form button{width:100%}}@media (min-width:768px) and (max-width:1023px){.category-grid,.product-grid{grid-template-columns:repeat(2,1fr)}.blog-grid{grid-template-columns:repeat(2,1fr)}.container{padding-left:2rem;padding-right:2rem}.hero{min-height:450px}.hero h1{font-size:2.5rem}}@media (min-width:1400px){.container{max-width:1400px}.product-grid{grid-template-columns:repeat(4,1fr)}.blog-grid{grid-template-columns:repeat(4,1fr)}.hero{min-height:600px}.hero h1{font-size:4rem}.hero p{font-size:1.375rem}}@media (hover:none) and (pointer:coarse){.btn:hover{transform:none}.product-card:hover{transform:none}.category-card:hover{transform:none}.btn,a,button{min-height:44px}*{animation-duration:.1s!important;transition-duration:.1s!important}}@media print{.btn,.hero,.storefront-footer,.storefront-nav,button{display:none!important}body{background:#fff;color:#000}.container{max-width:100%}.card,.product-card{box-shadow:none;border:1px solid #ddd;page-break-inside:avoid}}@media (prefers-contrast:high){:root{--primary:#2d3a2b;--text:#000;--bg:#fff;--border:#000}.btn{border:2px solid currentColor}.card,.category-card,.product-card{border:2px solid var(--border)}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}.hero::before{animation:none}.skeleton{animation:none;background:var(--bg)}}