.product-card{display:flex;flex-direction:column;background:var(--color-cream);border-radius:4px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease}.product-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000014}.product-card__image{width:100%;aspect-ratio:1 / 1;object-fit:cover;display:block}.product-card__body{padding:1.25rem;display:flex;flex-direction:column;gap:.5rem;flex-grow:1}.product-card__name{font-family:Libre Baskerville,serif;font-size:1.1rem;color:var(--color-wine);margin:0}.product-card__description{font-size:.9rem;color:var(--color-cocoa);line-height:1.5;margin:0;flex-grow:1}.product-card__price{font-family:Libre Baskerville,serif;font-size:1.15rem;color:var(--color-wine);font-weight:700;margin:0;margin-top:.5rem}.shop{max-width:1200px;margin:0 auto;padding:3rem 1.5rem}.shop__title{font-family:Libre Baskerville,serif;font-size:2.5rem;color:var(--color-wine);margin:0 0 .5rem}.shop__subtitle{font-size:1.1rem;color:var(--color-cocoa);margin:0}@media (prefers-color-scheme: dark){:root{color-scheme:light}}:root{--bg: #faf7f2;--bg-alt: #f2ece3;--color-cream: #f2ece3;--color-wine: #733440;--color-cocoa: #5e3a27;--color-blush: #dcae96;--muted: #8a7060;--border: #d9cfc4;--shadow: rgba(90, 60, 40, .08);--radius: 12px;--radius-sm: 6px;--container: 1160px;--space: 1rem;--font-body: "Libre Baskerville", serif;--font-ui: system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}img{display:block;max-width:100%}body{font-family:var(--font-body);background:var(--bg);color:var(--color-cocoa);min-height:100vh;line-height:1.6}a{color:var(--color-wine);text-decoration:none}h1,h2,h3,h4{color:var(--color-wine);line-height:1.25}h1{font-size:clamp(1.8rem,4vw,2.8rem)}h2{font-size:clamp(1.4rem,3vw,2rem)}h3{font-size:1.15rem}p{line-height:1.7}.container{max-width:var(--container);margin:0 auto;padding:0 1.5rem}.section{padding:4rem 0}.section-alt{background:var(--bg-alt)}.grid{display:grid;gap:var(--space);grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.grid-auto{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.75rem}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}@media (max-width: 680px){.grid-2{grid-template-columns:1fr}}.btn{display:inline-block;padding:.65rem 1.5rem;border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:.9rem;font-weight:600;cursor:pointer;border:2px solid transparent;transition:background .18s,color .18s,border-color .18s,transform .12s;text-decoration:none}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--color-wine);color:#fff;border-color:var(--color-wine)}.btn-primary:hover{background:var(--color-cocoa);border-color:var(--color-cocoa)}.btn-outline{background:transparent;color:var(--color-wine);border-color:var(--color-wine)}.btn-outline:hover{background:var(--color-wine);color:#fff}.card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;position:relative;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-3px);box-shadow:0 8px 24px var(--shadow)}.navbar{position:sticky;top:0;z-index:100;background:var(--bg);border-bottom:1px solid var(--border)}.navbar__inner{max-width:var(--container);margin:0 auto;padding:0 1.5rem;height:64px;display:flex;align-items:center;justify-content:space-between}.navbar__logo img{height:48px;width:auto}.navbar__logo span{font-size:1.3rem;font-weight:700;color:var(--color-wine)}.navbar__links{display:flex;align-items:center;gap:1.75rem;list-style:none}.navbar__links a{font-family:var(--font-ui);font-size:.9rem;font-weight:500;color:var(--color-cocoa);padding-bottom:2px;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.navbar__links a:hover,.navbar__links a.active{color:var(--color-wine);border-bottom-color:var(--color-wine)}.navbar__toggle{display:none;background:none;border:none;cursor:pointer;font-size:1.5rem;color:var(--color-wine);padding:.25rem}@media (max-width: 700px){.navbar__toggle{display:block}.navbar__links{display:none;position:absolute;top:64px;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--border);flex-direction:column;align-items:flex-start;padding:1rem 1.5rem;gap:1rem}.navbar__links.open{display:flex}}.hero{background:var(--bg-alt);min-height:52vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:5rem 1.5rem}.hero__content{max-width:620px}.hero__content h1{font-size:clamp(2rem,5vw,3rem);color:var(--color-wine);margin-bottom:1.25rem;line-height:1.2}.hero__content p{color:var(--muted);font-size:1.1rem;margin-bottom:2rem;line-height:1.7}.hero__cta{display:inline-block;background:var(--color-wine);color:#fff;padding:.75rem 2rem;border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:.95rem;font-weight:600;letter-spacing:.02em;transition:background .2s ease}.hero__cta:hover{background:var(--color-cocoa)}.site-footer{background:var(--color-cocoa);color:#ffffffbf;padding:3rem 0 1.5rem;font-family:var(--font-ui);font-size:.9rem}.footer__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:2rem;margin-bottom:2rem}.footer__brand h3{color:#fff;margin-bottom:.5rem;font-size:1rem}.footer__brand p{color:#fff9;font-size:.85rem;line-height:1.6}.footer__col h4{color:#fff;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.75rem}.footer__col ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}.footer__col a{color:#ffffffa6;transition:color .15s}.footer__col a:hover{color:#fff}.footer__bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:1.25rem;text-align:center;color:#fff6;font-size:.8rem}.shop{max-width:var(--container);margin:0 auto;padding:3rem 1.5rem}.shop__header{text-align:center;margin-bottom:3rem}.shop__title{font-family:var(--font-body);font-size:2.5rem;color:var(--color-wine);margin:0 0 .5rem}.shop__subtitle{font-size:1.1rem;color:var(--muted);margin:0}.shop__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:2rem}.product-card{display:flex;flex-direction:column;background:var(--bg);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:inherit;border:1px solid var(--border);transition:transform .2s ease,box-shadow .2s ease}.product-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px var(--shadow)}.product-card__image{width:100%;aspect-ratio:1 / 1;object-fit:cover;display:block;background:var(--bg-alt)}.product-card__body{padding:1.25rem;display:flex;flex-direction:column;gap:.4rem;flex-grow:1}.product-card__name{font-family:var(--font-body);font-size:1.05rem;color:var(--color-wine);margin:0}.product-card__description{font-size:.88rem;color:var(--muted);line-height:1.5;margin:0;flex-grow:1}.product-card__price{font-family:var(--font-body);font-size:1.1rem;color:var(--color-wine);font-weight:700;margin:.35rem 0 0}.loading-state,.error-state,.empty-state{text-align:center;padding:4rem 1rem;color:var(--muted)}.loading-state span,.error-state span,.empty-state span{display:block;font-size:2.5rem;margin-bottom:1rem}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-family:var(--font-ui);font-size:.85rem;font-weight:600;margin-bottom:.4rem;color:var(--color-cocoa)}.form-input{width:100%;padding:.6rem .85rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.95rem;background:var(--bg);color:var(--color-cocoa);transition:border-color .15s}.form-input:focus{outline:none;border-color:var(--color-wine)}.faq-item{border-bottom:1px solid var(--border)}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1.1rem 0;background:none;border:none;cursor:pointer;text-align:left;font-family:var(--font-body);font-size:1rem;color:var(--color-cocoa);gap:1rem}.faq-question:hover{color:var(--color-wine)}.faq-answer{padding:0 0 1.1rem;color:var(--muted);line-height:1.7;font-size:.95rem}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem}.divider{border:none;border-top:2px solid var(--color-blush);width:48px;margin:.75rem 0}.text-center{text-align:center}.text-muted{color:var(--muted)}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}
