:root{--wine:#6b2737;--wine-dark:#4a1a26;--gold:#b8860b;--cream:#faf7f2;--ink:#2b2420;--muted:#7a6f66;--line:#e5ddd2;--card:#ffffff}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;background:var(--cream);color:var(--ink);line-height:1.6}
nav{background:var(--wine-dark);padding:.7rem 1rem;display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:center}
nav a{color:#f3e5d8;text-decoration:none;font-size:.9rem;padding:.15rem .5rem;border-radius:4px}
nav a.brand{font-weight:700;font-size:1rem}
nav a:hover,nav a.active{background:rgba(255,255,255,.14)}
.hero{background:linear-gradient(135deg,var(--wine),var(--wine-dark));color:#fff;padding:2.5rem 1rem 2rem;text-align:center}
.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:2.2rem;margin:0 0 .4rem}
.hero .sub{font-style:italic;opacity:.9;margin:0 0 .8rem;font-size:1.05rem}
.hero .dates{display:inline-block;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:.25rem 1rem;font-size:.9rem}
main{max-width:880px;margin:0 auto;padding:1.5rem 1rem 3rem}
h2{font-family:Georgia,serif;color:var(--wine);margin:2.2rem 0 .8rem;font-size:1.45rem;border-bottom:2px solid var(--line);padding-bottom:.3rem}
h3{margin:.2rem 0 .5rem;font-size:1.05rem}
a{color:var(--wine)}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem;margin:1.5rem 0}
.facts div{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.8rem 1rem}
.facts b{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:.2rem}
.day,.box{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--wine);border-radius:10px;padding:1rem 1.2rem;margin:.9rem 0}
.box{border-left-color:var(--gold)}
.day h3 span{font-weight:400;font-style:italic;color:var(--muted);font-size:.92rem}
.box .byline{font-style:italic;color:var(--muted);font-size:.9rem;margin:.1rem 0 .5rem}
ul{padding-left:1.2rem}li{margin:.35rem 0}
table{width:100%;border-collapse:collapse;margin:1rem 0;background:var(--card);font-size:.92rem}
th,td{border:1px solid var(--line);padding:.55rem .7rem;text-align:left;vertical-align:top}
th{background:var(--wine);color:#fff;font-weight:600}
tr:nth-child(even) td{background:#f6f1e9}
td:first-child{font-weight:600}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:1.2rem 0}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1.1rem 1.2rem;text-decoration:none;color:var(--ink);display:block;transition:transform .12s,box-shadow .12s}
.card:hover{transform:translateY(-3px);box-shadow:0 6px 18px rgba(0,0,0,.08)}
.card h3{color:var(--wine);font-family:Georgia,serif}
.card .when{font-size:.82rem;color:var(--gold);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.card p{font-size:.92rem;color:var(--muted);margin:.4rem 0 0}
.note{background:#fdf3e3;border:1px solid #ecd9b0;border-radius:10px;padding:.9rem 1.1rem;margin:1rem 0;font-size:.95rem}
.verdict{background:var(--wine);color:#fff;border-radius:12px;padding:1.2rem 1.4rem;margin:1.5rem 0}
.verdict h3{color:#f0d9a8;margin-top:0}
.verdict a{color:#f0d9a8}
footer{text-align:center;color:var(--muted);font-size:.85rem;padding:2rem 1rem;border-top:1px solid var(--line)}
@media(max-width:600px){.hero h1{font-size:1.7rem}th,td{padding:.4rem .45rem;font-size:.82rem}}

/* Wine-matched palettes: hero, nav, headings and accents follow the glass */
body.bardolino{--wine:#a4243b;--wine-dark:#741a2b;--gold:#d4728a}   /* Bardolino red & Chiaretto rosé */
body.alba{--wine:#6e1423;--wine-dark:#470b16;--gold:#b0703c}        /* Barolo garnet & amber rim */
body.mosel{--wine:#5f7a24;--wine-dark:#42561a;--gold:#b8952b}       /* Riesling green-gold */
body.neuchatel{--wine:#b65d48;--wine-dark:#8a4335;--gold:#c9a227}   /* Œil de Perdrix salmon & Chasselas gold */
body.alsace{--wine:#8f6b00;--wine-dark:#64500a;--gold:#c9a227}      /* Alsace straw-gold */
.card{border-top:4px solid var(--wine)}
.card.t-bardolino{border-top-color:#a4243b}
.card.t-alba{border-top-color:#6e1423}
.card.t-mosel{border-top-color:#5f7a24}
.card.t-neuchatel{border-top-color:#b65d48}
.card.t-alsace{border-top-color:#8f6b00}

.map{margin:1.5rem 0}
.map img{width:100%;height:auto;border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 14px rgba(0,0,0,.06)}
