@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700;800&family=Lora:wght@400;500;600;700&family=Source+Sans+Pro:wght@300;400;600;700&display=swap";.hero-section{position:relative;min-height:520px;border-radius:0;overflow:hidden;display:grid;place-items:center;margin-bottom:0}.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.02)}.hero-overlay{position:absolute;inset:0;background:#00000059}.hero-content{position:relative;z-index:2;text-align:center;padding:2.5rem 3rem;width:min(900px,92vw);background:#c9b59ce6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;border:1px solid rgba(255,255,255,.2)}.hero-title{color:#fff;font-size:clamp(2rem,4vw,3.5rem);line-height:1.1;margin:0 0 1rem;text-shadow:0 4px 12px rgba(0,0,0,.3)}.hero-subtitle{color:#fffffff2;font-size:clamp(1.05rem,2vw,1.5rem);margin:0 0 2rem}.btn-large{padding:1.125rem 3rem;font-size:1.15rem;font-weight:600;box-shadow:0 4px 16px #c9b59c80}.btn-large:hover{box-shadow:0 6px 24px #c9b59cb3}@media(max-width:768px){.hero-section{min-height:420px;margin-bottom:0}.hero-content{padding:2rem 1.5rem}.btn-large{padding:1rem 2.5rem;font-size:1.05rem}}@media(max-width:480px){.hero-section{min-height:360px}.hero-content{padding:1.75rem 1.25rem}}.features-section{padding:4rem 0;background:#fff}.feature-card{background:#fff;padding:2.5rem 2rem;border-radius:16px;text-align:center;box-shadow:0 2px 12px #c9b59c1a;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid #EFE9E3;height:100%}.feature-card:hover{transform:translateY(-6px);box-shadow:0 12px 28px #c9b59c33;border-color:#d9cfc7}.feature-icon{font-size:3.5rem;margin-bottom:1.25rem;display:inline-block}.feature-card h3{font-size:1.35rem;margin-bottom:.75rem;color:#2d2d2d;font-weight:700}.feature-card p{color:#5a5a5a;font-size:1rem;line-height:1.6;margin:0}@media(max-width:768px){.features-section{padding:3rem 0}.feature-card{padding:2rem 1.5rem}.feature-icon{font-size:3rem}.feature-card h3{font-size:1.2rem}.feature-card p{font-size:.95rem}}.categories-section{padding:4rem 0;background:#f9f8f6}.categories-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;margin-top:2rem}@media(max-width:1024px){.categories-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}}@media(max-width:640px){.categories-section{padding:3rem 0}.categories-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}}@media(max-width:480px){.categories-grid{grid-template-columns:1fr;gap:1rem}}.category-card{text-decoration:none;color:inherit;border:1px solid #EFE9E3;border-radius:18px;background:#fff;padding:2.5rem 1.75rem;min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #c9b59c14}.category-card:visited{color:inherit}.category-card:hover{transform:translateY(-6px);box-shadow:0 16px 32px #c9b59c26;border-color:#d9cfc7;background:#f9f8f6}.category-card:focus-visible{outline:3px solid rgba(201,181,156,.4);outline-offset:3px}.category-icon{width:64px;height:64px;border-radius:999px;display:grid;place-items:center;font-size:2rem;background:#efe9e3;box-shadow:0 4px 12px #c9b59c1a;transition:all .3s}.category-card:hover .category-icon{transform:scale(1.1);background:#c9b59c;color:#fff}.category-card h3{margin:0;font-size:1.15rem;font-weight:700;letter-spacing:.3px;color:#2d2d2d}@media(max-width:768px){.category-card{padding:2rem 1.5rem;min-height:120px}.category-icon{width:56px;height:56px;font-size:1.75rem}.category-card h3{font-size:1.05rem}}@media(max-width:480px){.category-card{padding:1.75rem 1.25rem;min-height:110px}.category-icon{width:52px;height:52px;font-size:1.5rem}.category-card h3{font-size:1rem}}.categories-grid-horizontal{display:flex;gap:1.5rem;overflow-x:auto;padding:1rem 0;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.categories-grid-horizontal::-webkit-scrollbar{height:8px}.categories-grid-horizontal::-webkit-scrollbar-track{background:#efe9e3;border-radius:10px}.categories-grid-horizontal::-webkit-scrollbar-thumb{background:#c9b59c;border-radius:10px}.categories-grid-horizontal .category-card{flex:0 0 auto;min-width:200px;scroll-snap-align:start}@media(max-width:768px){.categories-grid-horizontal{gap:1rem;padding:.5rem 0}.categories-grid-horizontal .category-card{min-width:150px;padding:1.5rem 1rem}.categories-grid-horizontal .category-icon{width:48px;height:48px}}@media(max-width:480px){.categories-grid-horizontal .category-card{min-width:140px;padding:1.25rem .75rem}}.featured-products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;max-width:100%;margin:0 auto}.product-card-featured:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001f!important}@media(min-width:769px)and (max-width:1024px){.featured-products-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem}}@media(max-width:768px){.featured-products-grid{grid-template-columns:repeat(2,1fr)!important;gap:1rem!important;padding:0 .5rem}.product-card-featured{font-size:.9rem}}@media(max-width:480px){.featured-products-grid{gap:.75rem!important}}@keyframes spin{to{transform:rotate(360deg)}}.lazy-fade-in{animation:fadeIn .8s ease-out forwards}.lazy-slide-up{animation:slideUp .8s ease-out forwards}.animate-fade-in{animation:fadeIn .8s ease-out forwards}.animate-slide-up{animation:slideUp .8s ease-out forwards;transition:opacity .6s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.product-detail{max-width:1200px;margin:0 auto;padding:2rem}.product-container{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.product-gallery{position:sticky;top:2rem}.image-viewer{position:relative;width:100%;aspect-ratio:1;background:#f5f5f5;border-radius:12px;overflow:hidden;margin-bottom:1rem}.main-image{width:100%;height:100%;object-fit:contain;display:block}.no-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#999}.nav-button{position:absolute;top:50%;transform:translateY(-50%);background:#ffffffe6;border:none;width:48px;height:48px;border-radius:50%;font-size:2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 2px 8px #0000001a}.nav-button:hover{background:#fff;box-shadow:0 4px 12px #00000026}.nav-left{left:1rem}.nav-right{right:1rem}.image-indicator{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);background:#000000b3;color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.875rem}.thumbnails{display:flex;gap:.75rem;overflow-x:auto;padding:.5rem 0}.thumbnail{width:80px;height:80px;object-fit:cover;border-radius:8px;cursor:pointer;border:2px solid transparent;transition:all .2s;flex-shrink:0}.thumbnail:hover{border-color:#ddd}.thumbnail.active{border-color:#333}.product-info{padding:1rem 0}.product-title{font-size:2rem;margin-bottom:1rem;color:#333}.product-price{font-size:1.75rem;font-weight:700;color:#2c3e50;margin-bottom:1.5rem}.product-description{margin-bottom:2rem}.product-description h3{font-size:1.25rem;margin-bottom:.75rem;color:#555}.product-description p{line-height:1.6;color:#666}.product-details{background:#f9f9f9;padding:1rem;border-radius:8px;margin-bottom:2rem}.product-details p{margin:.5rem 0;color:#666}.add-to-cart-btn{width:100%;padding:1rem;background:#333;color:#fff;border:none;border-radius:8px;font-size:1.125rem;font-weight:600;cursor:pointer;transition:background .2s}.add-to-cart-btn:hover{background:#555}@media(max-width:768px){.product-container{grid-template-columns:1fr;gap:2rem}.product-gallery{position:static}.nav-button{width:40px;height:40px;font-size:1.5rem}.nav-left{left:.5rem}.nav-right{right:.5rem}.thumbnail{width:60px;height:60px}}.loading,.error{text-align:center;padding:3rem;font-size:1.25rem}.product-description{white-space:pre-wrap;line-height:1.8}.product-description h3{margin-bottom:1rem;font-size:1.25rem;font-weight:700;color:#1f2937}.product-description p{margin-bottom:1rem}.product-description ul,.product-description ol{margin-left:1.5rem;margin-bottom:1rem}.product-description li{margin-bottom:.5rem}:root{--font-heading: "Playfair Display", serif;--font-body: "Lora", serif;--font-sans: "Source Sans Pro", sans-serif;--color-primary: #9b7961;--color-primary-dark: #7a5d4e;--color-accent: #c4a995;--color-cream: #f5f0eb;--color-beige: #e8dfd6;--color-warm-white: #faf8f5;--color-text: #4a3829;--color-text-medium: #6b5847;--color-text-light: #8a7969;--color-accent-green: #a8b89d;--color-border: #d4c4b5}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-warm-white);color:var(--color-text);line-height:1.7;font-size:16px}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:1.2;color:var(--color-text);letter-spacing:-.3px}h1{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:800;margin-bottom:1.5rem}h2{font-size:clamp(2rem,4vw,2.5rem);font-weight:700;margin-bottom:1.25rem}h3{font-size:clamp(1.5rem,3vw,1.75rem);font-weight:600;margin-bottom:1rem}p,li,span,label,input,button,select,textarea{font-family:var(--font-sans)}p{font-weight:400;line-height:1.8;color:var(--color-text-medium)}nav{background:#fff;box-shadow:0 2px 12px #9b796114;position:sticky;top:0;z-index:100;border-bottom:1px solid var(--color-border)}nav .flex{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 2rem;max-width:1400px;margin:0 auto}.logo{display:flex;align-items:center;gap:.75rem;font-family:var(--font-heading);font-size:1.75rem;font-weight:700;color:var(--color-primary);text-decoration:none;letter-spacing:.5px;transition:transform .3s}.logo:hover{transform:scale(1.02)}.nav-links{display:flex;gap:2rem;list-style:none;align-items:center}.nav-links a{color:var(--color-text);text-decoration:none;font-weight:500;font-size:1rem;padding:.5rem 1rem;border-radius:8px;transition:all .3s ease;position:relative}.nav-links a:hover{color:var(--color-primary);background:var(--color-cream)}.nav-links a:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--color-primary);transition:all .3s;transform:translate(-50%)}.nav-links a:hover:after{width:60%}.hero{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;padding:5rem 2rem;text-align:center;box-shadow:inset 0 -100px 100px #0000000d;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><path d="M50 10 L60 30 L80 30 L65 45 L70 65 L50 50 L30 65 L35 45 L20 30 L40 30 Z" fill="rgba(255,255,255,0.02)"/></svg>');opacity:.3}.hero h1{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.2);position:relative;z-index:1}.hero p{font-size:1.35rem;margin-bottom:2.5rem;opacity:.95;max-width:700px;margin-left:auto;margin-right:auto;position:relative;z-index:1;color:#fff}.hero .flex{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;position:relative;z-index:1}button,.btn{padding:1rem 2rem;border:none;border-radius:10px;font-weight:600;font-size:1.05rem;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block;box-shadow:0 4px 15px #0000001a;letter-spacing:.3px}.btn-primary{background:#fff;color:var(--color-primary);border:2px solid transparent}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 25px #9b79614d;background:var(--color-cream)}.btn-success{background:var(--color-accent-green);color:#fff;border:2px solid transparent}.btn-success:hover{transform:translateY(-3px);box-shadow:0 8px 25px #a8b89d66;background:#96a889}.btn-danger{background:#c67b5c;color:#fff}.btn-danger:hover{transform:translateY(-3px);box-shadow:0 8px 25px #c67b5c66;background:#b36b4d}button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.feature-card{background:#fff;padding:3rem 2rem;border-radius:16px;text-align:center;box-shadow:0 4px 20px #9b796114;transition:all .3s ease;border:1px solid var(--color-border)}.feature-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px #9b796126;border-color:var(--color-accent)}.feature-icon{font-size:3.5rem;margin-bottom:1.5rem}.feature-card h3{color:var(--color-text)}.feature-card p{color:var(--color-text-medium);font-size:1.05rem}.product-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #9b796114;transition:all .4s cubic-bezier(.4,0,.2,1);cursor:pointer;border:1px solid var(--color-border)}.product-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 20px 50px #9b796133;border-color:var(--color-primary)}.product-image{width:100%;height:280px;object-fit:cover;background:var(--color-cream);transition:transform .5s}.product-card:hover .product-image{transform:scale(1.1)}.product-info{padding:1.75rem}.product-title{font-size:1.35rem;font-weight:700;margin-bottom:.75rem;color:var(--color-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-price{font-size:1.75rem;font-weight:800;color:var(--color-primary);margin-bottom:.75rem}.product-rating{color:#d4a574;font-size:1.1rem;font-weight:600}.grid{display:grid;gap:2.5rem;margin:3rem auto;max-width:1400px;padding:0 2rem}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1024px){.grid-cols-4,.grid-cols-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}.hero h1{font-size:2.5rem}.nav-links{gap:1rem}}input,select,textarea{width:100%;padding:1rem 1.25rem;border:2px solid var(--color-border);border-radius:10px;font-size:1.05rem;transition:all .3s ease;margin-bottom:1.25rem;background:#fff;color:var(--color-text)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px #9b79611a;background:var(--color-warm-white)}label{display:block;font-weight:700;margin-bottom:.75rem;color:var(--color-text);font-size:1.05rem}.card{background:#fff;border-radius:16px;padding:2.5rem;box-shadow:0 4px 20px #9b796114;transition:all .3s ease;border:1px solid var(--color-border)}.card:hover{box-shadow:0 12px 40px #9b79611f;transform:translateY(-5px)}footer{background:var(--color-text);color:var(--color-beige);padding:4rem 2rem 2rem;margin-top:auto;border-top:4px solid var(--color-primary)}footer .grid{max-width:1400px;margin:0 auto 3rem}footer h3{color:#fff;font-size:1.35rem;margin-bottom:1.5rem}footer ul{list-style:none}footer ul li{margin-bottom:.75rem}footer a{color:var(--color-beige);text-decoration:none;transition:all .3s;font-size:1.05rem}footer a:hover{color:#fff;padding-left:5px}footer .text-center{border-top:1px solid rgba(212,196,181,.2);padding-top:2rem;color:var(--color-beige);opacity:.8}.max-w-7xl{max-width:1400px;margin:0 auto;padding:0 2rem}section{padding:4rem 0}.text-center{text-align:center}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-4{gap:1.5rem}.gap-8{gap:2.5rem}.mt-8{margin-top:3rem}.mb-8{margin-bottom:3rem}.p-8{padding:3rem}.loading{text-align:center;padding:5rem;font-size:1.5rem;color:var(--color-primary);font-weight:600}table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #9b796114;border:1px solid var(--color-border)}thead{background:var(--color-primary);color:#fff}th,td{padding:1.25rem 1.5rem;text-align:left}th{font-weight:700;font-size:1.05rem}tr:nth-child(2n){background:var(--color-cream)}tr:hover{background:var(--color-beige)}.alert-success{background:#d1f4e0;color:#1e5d3d;padding:1rem;border-radius:12px;margin-bottom:1.5rem;font-weight:600;border:1px solid var(--color-accent-green)}.alert-error{background:#f4d1d1;color:#5d1e1e;padding:1rem;border-radius:12px;margin-bottom:1.5rem;font-weight:600;border:1px solid #c67b5c}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}*{transition:opacity .3s ease,transform .3s ease}
