:root{--wine-deep: #6e2436;--wine-soft: #8a3a4d}.vins{background:var(--nude-50);min-height:100vh;padding-bottom:5rem}.vins-header{position:sticky;top:0;z-index:20;background:#f9f8f6e6;backdrop-filter:blur(10px);border-bottom:1px solid var(--nude-200)}.vins-header-inner{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;padding-bottom:1rem}.vins-brand{font-family:var(--font-serif);font-size:1.25rem;color:var(--nude-900);letter-spacing:.01em;text-decoration:none}.vins-brand small{display:block;font-family:var(--font-sans);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--soft-clay);margin-top:2px}.vins-header-link{color:var(--nude-800);text-decoration:none;font-size:.9rem}.vins-header-link:hover{color:var(--soft-clay)}.vins-hero{text-align:center;padding:4rem 0 2.5rem}.vins-hero .badge{display:inline-block;background:var(--nude-200);color:var(--nude-900);padding:.35rem .9rem;border-radius:999px;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:1rem}.vins-hero h1{font-family:var(--font-serif);font-size:clamp(2rem,5vw,3.2rem);color:var(--nude-900);margin:0 0 1rem}.vins-hero p{max-width:560px;margin:0 auto;color:var(--nude-800);line-height:1.7}.vins-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:2rem;margin-top:2rem}.vin-card{position:relative;display:flex;flex-direction:column;background:var(--white, #fff);border-radius:14px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 1px 3px #453e360f;transition:transform .3s ease,box-shadow .3s ease}.vin-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px #453e3624}.vin-card-media{aspect-ratio:3 / 4;background:var(--nude-100);display:flex;align-items:center;justify-content:center;overflow:hidden}.vin-card-media img{width:100%;height:100%;object-fit:cover}.vin-card-media .vin-placeholder{font-family:var(--font-serif);font-size:2.5rem;color:var(--nude-300)}.vin-card-body{padding:1.25rem 1.25rem 1.5rem;display:flex;flex-direction:column;gap:.35rem;flex:1}.vin-card-domaine{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--soft-clay)}.vin-card-name{font-family:var(--font-serif);font-size:1.2rem;color:var(--nude-900);line-height:1.25}.vin-card-meta{font-size:.85rem;color:var(--nude-400)}.vin-card-foot{margin-top:auto;padding-top:.9rem;display:flex;align-items:baseline;justify-content:space-between}.vin-card-price{font-family:var(--font-serif);font-size:1.3rem;color:var(--wine-deep)}.vin-tag{font-size:.72rem;padding:.2rem .6rem;border-radius:999px;letter-spacing:.06em}.vin-tag--out{background:var(--nude-200);color:var(--nude-800)}.vin-tag--in{color:var(--soft-clay)}.vin-detail{padding-top:2.5rem}.vin-back{display:inline-block;margin-bottom:1.5rem;color:var(--nude-800);text-decoration:none;font-size:.9rem}.vin-back:hover{color:var(--soft-clay)}.vin-detail-grid{display:grid;grid-template-columns:1fr;gap:2.5rem}@media(min-width:860px){.vin-detail-grid{grid-template-columns:.85fr 1fr;gap:4rem;align-items:start}}.vin-detail-photo{aspect-ratio:3 / 4;border-radius:16px;overflow:hidden;background:var(--nude-100);display:flex;align-items:center;justify-content:center;position:sticky;top:90px}.vin-detail-photo img{width:100%;height:100%;object-fit:cover}.vin-detail-photo .vin-placeholder{font-family:var(--font-serif);font-size:4rem;color:var(--nude-300)}.vin-detail-domaine{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--soft-clay);margin-bottom:.6rem}.vin-detail h1{font-family:var(--font-serif);font-size:clamp(1.9rem,4vw,2.8rem);color:var(--nude-900);line-height:1.1;margin:0 0 .75rem}.vin-detail-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.vin-chip{font-size:.78rem;background:var(--nude-100);color:var(--nude-800);padding:.3rem .8rem;border-radius:999px}.vin-detail-desc{color:var(--nude-800);line-height:1.8;margin-bottom:2rem}.vin-domaine-card{background:var(--nude-100);border-radius:14px;padding:1.5rem;margin-bottom:2rem}.vin-domaine-card h2{font-family:var(--font-serif);font-size:1.25rem;color:var(--nude-900);margin:0 0 .75rem}.vin-domaine-card .vin-domaine-photo{width:100%;height:180px;object-fit:cover;border-radius:10px;margin-bottom:1rem}.vin-domaine-card p{color:var(--nude-800);line-height:1.7;margin:0}.vin-buy{border-top:1px solid var(--nude-200);padding-top:1.75rem}.vin-buy-price{display:flex;align-items:baseline;gap:.6rem;margin-bottom:1.25rem}.vin-buy-price strong{font-family:var(--font-serif);font-size:2.2rem;color:var(--wine-deep)}.vin-buy-price span{font-size:.9rem;color:var(--nude-400)}.vin-age-check{display:flex;gap:.6rem;align-items:flex-start;background:var(--nude-50);border:1px solid var(--nude-200);border-radius:10px;padding:.9rem 1rem;margin-bottom:1rem;font-size:.88rem;color:var(--nude-800);line-height:1.5}.vin-age-check input{margin-top:2px;flex-shrink:0}.vin-buy-btn{width:100%;background:var(--wine-deep);color:#fff;border:none;padding:1rem 1.5rem;border-radius:10px;font-family:var(--font-sans);font-size:1rem;letter-spacing:.02em;cursor:pointer;transition:background .25s ease,opacity .25s ease}.vin-buy-btn:hover:not(:disabled){background:var(--wine-soft)}.vin-buy-btn:disabled{background:var(--nude-300);cursor:not-allowed}.vin-buy-out{text-align:center;padding:1rem;background:var(--nude-100);border-radius:10px;color:var(--nude-800);font-size:.95rem}.vin-buy-error{margin-top:.85rem;color:#b3261e;font-size:.88rem}.vin-legal-mention{margin-top:1rem;font-size:.78rem;color:var(--nude-400);text-align:center;letter-spacing:.02em}.vins-state{text-align:center;padding:5rem 0;color:var(--nude-800)}.vins-state h1{font-family:var(--font-serif);color:var(--nude-900)}.vin-success{max-width:560px;margin:0 auto;text-align:center;padding:5rem 0}.vin-success-icon{font-size:3rem;color:var(--wine-deep);margin-bottom:1rem}.vin-success h1{font-family:var(--font-serif);color:var(--nude-900);margin-bottom:1rem}.vin-success p{color:var(--nude-800);line-height:1.7}.vin-success-cta{display:inline-block;margin-top:1.5rem;background:var(--wine-deep);color:#fff;padding:.8rem 1.6rem;border-radius:10px;text-decoration:none}
