:root{--wine:#5b0a1f;--wine-2:#7a1230;--gold:#c8a45c;--cream:#faf6ef;--ink:#1c1416;--muted:#6b5e60;--line:#ece4d6;--bg:#fffdf8;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Helvetica Neue,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.55}*,:before,:after{box-sizing:border-box}body{background:var(--bg);margin:0}#root{min-height:100vh}h1,h2,h3{color:var(--ink);letter-spacing:-.01em;margin:0;font-family:Playfair Display,Georgia,Times New Roman,serif}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.app{flex-direction:column;min-height:100vh;display:flex}.container{width:100%;max-width:1180px;margin:0 auto;padding:0 24px}.navbar{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#fffdf8eb;justify-content:space-between;align-items:center;padding:14px 28px;display:flex;position:sticky;top:0}.brand{color:var(--ink);align-items:center;gap:12px;font-family:Playfair Display,Georgia,serif;font-size:22px;display:flex}.brand-text em{color:var(--gold);font-style:italic}.nav-links{gap:28px;display:flex}.nav-links a{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:14px;transition:color .2s}.nav-links a:hover{color:var(--wine)}.cart-button{background:var(--wine);color:var(--cream);letter-spacing:.04em;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:14px;transition:background .2s;display:inline-flex;position:relative}.cart-button:hover{background:var(--wine-2)}.cart-button .cart-icon{color:#fff;flex-shrink:0;width:18px;height:18px}.cart-badge{background:var(--gold);min-width:22px;height:22px;color:var(--ink);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:700;display:inline-flex;position:absolute;top:-6px;right:-6px}@media (width<=720px){.nav-links{display:none}}.hero{align-items:center;height:88vh;min-height:540px;display:flex;position:relative;overflow:hidden}.hero-img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero-overlay{background:linear-gradient(100deg,#1c1416c7 0%,#1c141666 55%,#1c141626 100%);position:absolute;inset:0}.hero-content{max-width:640px;color:var(--cream);padding:0 64px;position:relative}.hero-brand{letter-spacing:.02em;color:var(--cream);text-shadow:0 6px 24px #00000059;margin:0 0 18px;font-family:Playfair Display,Georgia,serif;font-size:clamp(48px,7vw,92px);line-height:1}.hero-brand span{color:var(--gold);font-style:italic}.eyebrow{letter-spacing:.12em;color:var(--gold);margin-bottom:18px;font-size:22px}.hero-content h1{color:var(--cream);margin-bottom:22px;font-size:clamp(36px,5.2vw,64px);line-height:1.08}.hero-content h1 span{color:var(--cream)}.hero-sub{color:#faf6efeb;max-width:560px;margin-bottom:32px;font-size:22px;line-height:1.55}@media (width<=720px){.hero-content{padding:0 24px}.hero{height:78vh}}.cta{background:var(--wine);color:var(--cream);letter-spacing:.16em;text-transform:uppercase;border-radius:999px;padding:14px 32px;font-size:14px;font-weight:600;transition:transform .2s,background .2s;display:inline-block}.cta:hover{background:var(--wine-2);transform:translateY(-1px)}section{padding:96px 0}.section-head{text-align:center;margin-bottom:48px}.section-head h2{font-size:clamp(32px,4vw,44px)}.section-head p{color:var(--muted);margin-top:12px;font-size:19px;line-height:1.5}.two-col{grid-template-columns:1fr 1fr;align-items:center;gap:64px;display:grid}.two-col h2{margin-bottom:18px;font-size:clamp(28px,3.4vw,40px)}.two-col p{color:var(--muted);margin-bottom:14px;line-height:1.7}@media (width<=880px){.two-col{grid-template-columns:1fr;gap:36px}section{padding:64px 0}}.cantina{background:linear-gradient(180deg, var(--cream) 0%, var(--bg) 100%)}.cantina-top{grid-template-columns:1fr 1.1fr;align-items:stretch;gap:56px;display:grid}.cantina-copy{flex-direction:column;justify-content:center;gap:18px;display:flex}.cantina-copy p{color:var(--ink);margin:0;font-size:19px;line-height:1.7}.cantina-image{aspect-ratio:4/3;background:var(--cream);border-radius:18px;overflow:hidden;box-shadow:0 30px 50px -30px #5b0a1f59}.cantina-image img{object-fit:cover;width:100%;height:100%;display:block}@media (width<=880px){.cantina-top{grid-template-columns:1fr;gap:32px}}.storia{background:var(--bg)}.storia-grid{grid-template-columns:1fr 1.2fr;align-items:stretch;gap:56px;display:grid}.storia-copy{flex-direction:column;justify-content:center;gap:16px;display:flex}.storia-copy p{color:var(--ink);margin:0;font-size:19px;line-height:1.7}.storia-copy em{color:var(--wine);font-style:italic}.storia-image{aspect-ratio:3/4;background:var(--cream);border-radius:18px;overflow:hidden;box-shadow:0 30px 50px -30px #5b0a1f59}.storia-image img{object-fit:cover;width:100%;height:100%;display:block}@media (width<=880px){.storia-grid{grid-template-columns:1fr;gap:28px}.storia-image{aspect-ratio:4/3}}.filters{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:40px;display:flex}.filter{border:1px solid var(--line);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;background:#fff;border-radius:999px;padding:9px 18px;font-size:13px;transition:all .2s}.filter:hover{border-color:var(--wine);color:var(--wine)}.filter.active{background:var(--wine);color:var(--cream);border-color:var(--wine)}.wine-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:32px;display:grid}.wine-card{border:1px solid var(--line);background:#fff;border-radius:20px;flex-direction:column;padding:0;transition:border-color .2s;display:flex;overflow:hidden}.wine-card:hover{border-color:var(--wine)}.wine-image{background:linear-gradient(180deg, var(--cream) 0%, #fff 100%);justify-content:center;align-items:flex-end;height:340px;padding:12px 12px 0;display:flex;overflow:hidden}.wine-image img{object-fit:contain;filter:drop-shadow(0 18px 22px #0003);width:auto;max-width:100%;height:auto;max-height:100%}.wine-body{flex-direction:column;flex:1;gap:12px;padding:24px 28px 28px;display:flex}.wine-meta{justify-content:space-between;align-items:center;display:flex}.tag{letter-spacing:.12em;text-transform:uppercase;background:var(--cream);color:var(--muted);border-radius:999px;padding:4px 10px;font-size:11px;display:inline-block}.tag-rosso{color:var(--wine);background:#5b0a1f1a}.tag-bianco{color:#8a6c2c;background:#c8a45c2e}.tag-rosato{color:#b04a64;background:#e891a233}.tag-bollicine{color:#2c5d7a;background:#78aac82e}.tag-dolce{color:#7a4a1a;background:#ad75382e}.year{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.wine-card h3{margin:2px 0 4px;font-size:28px;line-height:1.15}.wine-desc{color:var(--ink);margin:0;font-size:15px;line-height:1.6}.wine-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;margin:6px 0 0;padding:18px 0;list-style:none;display:grid}.wine-details li{flex-direction:column;gap:4px;min-width:0;display:flex}.wine-details .detail-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;overflow-wrap:anywhere;font-size:10px;line-height:1.25}.wine-details .detail-value{color:var(--ink);overflow-wrap:anywhere;font-size:14px;font-weight:500;line-height:1.35}.wine-pairing{color:var(--muted);flex-direction:column;gap:2px;margin:0;font-size:13px;line-height:1.4;display:flex}.wine-pairing strong{color:var(--ink);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:600}.wine-buy{justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:18px;display:flex}.price{color:var(--wine);font-family:Playfair Display,serif;font-size:30px;line-height:1}.add-btn{background:var(--wine);color:var(--cream);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;padding:12px 22px;font-size:13px;transition:background .2s}.add-btn:hover{background:var(--wine-2)}.contact{background:var(--cream)}.contact-list{color:var(--ink);flex-direction:column;gap:14px;margin:18px 0 0;padding:0;list-style:none;display:flex}.contact-list li{align-items:center;gap:14px;font-size:15px;display:flex}.contact-list li svg{width:20px;height:20px;color:var(--wine);flex-shrink:0}.contact-list li a{color:inherit;align-items:center;gap:14px;text-decoration:none;transition:color .2s;display:inline-flex}.contact-list li a:hover{color:var(--wine);text-underline-offset:3px;text-decoration:underline}.contact-form{border:1px solid var(--line);background:#fff;border-radius:18px;flex-direction:column;gap:14px;padding:32px;display:flex}.contact-form h3{margin-bottom:6px;font-size:22px}.contact-form label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.contact-form input,.contact-form textarea{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:10px;outline:none;padding:12px 14px;font-family:inherit;font-size:15px;transition:border-color .2s}.contact-form textarea{resize:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--wine)}.contact-form button{align-self:flex-start}.footer{background:var(--ink);color:#faf6efb3;margin-top:auto;padding:28px 0;font-size:13px}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.footer-legal{align-items:center;gap:18px;display:flex}.footer-link{font:inherit;color:#faf6efb3;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;transition:color .2s}.footer-link:hover{color:var(--gold);text-underline-offset:3px;text-decoration:underline}.legal-overlay{z-index:200;background:#1c14168c;justify-content:center;align-items:center;padding:24px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.legal-modal{background:#fff;border-radius:18px;flex-direction:column;width:100%;max-width:720px;max-height:88vh;display:flex;overflow:hidden;box-shadow:0 30px 80px -30px #00000073}.legal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:22px 28px;display:flex}.legal-head h3{margin:0;font-family:Playfair Display,serif;font-size:24px}.legal-body{color:var(--ink);padding:24px 28px 32px;font-size:15px;line-height:1.7;overflow-y:auto}.legal-body h4{color:var(--wine);margin:20px 0 6px;font-family:Playfair Display,serif;font-size:18px}.legal-body h4:first-child{margin-top:0}.legal-body p{margin:0 0 12px}.legal-body ul{margin:0 0 12px;padding-left:20px}.legal-body li{margin-bottom:4px}.legal-body a{color:var(--wine);text-underline-offset:2px;text-decoration:underline}.legal-body .legal-meta{color:var(--muted);margin-top:24px;font-size:13px}.social-links{align-items:center;gap:14px;display:flex}.social-links a{color:#faf6efbf;border:1px solid #faf6ef2e;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:color .2s,border-color .2s,background .2s;display:inline-flex}.social-links a:hover{color:var(--ink);background:var(--gold);border-color:var(--gold)}.social-links svg{width:18px;height:18px;display:block}.cart-backdrop{z-index:90;background:#1c141666;animation:.2s fadeIn;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.cart-panel{border-left:1px solid var(--line);z-index:100;background:#fff;flex-direction:column;width:440px;max-width:96vw;height:100vh;padding:24px;transition:transform .32s;display:flex;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%);box-shadow:-20px 0 60px -30px #0000004d}.cart-panel.open{transform:translate(0)}.cart-head{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.cart-head h3{font-size:22px}.icon-btn{background:var(--cream);width:34px;height:34px;color:var(--ink);border-radius:50%;font-size:14px}.icon-btn:hover{background:var(--line)}.cart-empty{color:var(--muted);text-align:center;padding:60px 20px}.order-success{border:1px solid var(--gold);color:#5a4516;text-align:center;background:#c8a45c2e;border-radius:12px;padding:14px;font-size:14px}.cart-list{flex-direction:column;gap:14px;margin:0 0 20px;padding:0;list-style:none;display:flex}.cart-item{border:1px solid var(--line);border-radius:14px;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:16px 18px;display:grid}.cart-item-info{flex-direction:column;gap:4px;min-width:0;display:flex}.cart-item-info strong{color:var(--ink);font-family:Playfair Display,serif;font-size:17px;line-height:1.2}.cart-item-info span{color:var(--muted);font-size:13px}.qty{background:var(--cream);border-radius:999px;align-items:center;gap:8px;padding:4px 8px;display:flex}.qty button{width:22px;height:22px;color:var(--ink);background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.qty span{text-align:center;font-variant-numeric:tabular-nums;min-width:14px;font-size:14px}.trash{color:var(--muted);font-size:16px}.trash:hover{color:var(--wine)}.cart-total{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;margin-bottom:16px;padding:14px 0;display:flex}.cart-total strong{color:var(--wine);font-family:Playfair Display,serif;font-size:24px}.checkout-form{flex-direction:column;gap:18px;display:flex}.checkout-form .form-section{border:none;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.checkout-form legend{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;padding:0;font-size:11px}.checkout-form .form-row{gap:8px;display:flex}.checkout-form .form-row>input{flex:1;min-width:0}.checkout-form .field-narrow{flex:0 0 38%}.checkout-form input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:10px;outline:none;padding:11px 14px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.checkout-form input::placeholder{color:#1c141673}.checkout-form input:focus{border-color:var(--wine);box-shadow:0 0 0 3px #5b0a1f1f}.checkout-form button{margin-top:6px}@media (width<=480px){.wine-image{height:300px}}
