:root{--wine:#5a4198;--ink:#173f2a;--muted:#5d6860;--paper:#f6f8f4;--line:#d5dfd2;--purple:#5a4198;--leaf:#afda7b;--forest:#134d32}
body{font-family:Arial,Helvetica,sans-serif;background:var(--paper)}
header{background:var(--purple);padding:23px max(28px,calc((100vw - 1188px)/2));border-bottom:5px solid var(--leaf);gap:25px}
.brand{display:block;line-height:0;flex:0 1 310px}.brand img{display:block;width:100%;height:auto}.event{color:#fff;font-weight:bold;white-space:nowrap}.event span{color:#d9efc1;font-weight:normal;margin-top:3px}
main{max-width:1260px}.intro{padding:28px 0;gap:28px}.intro-copy{flex:1}.eyebrow{color:var(--purple);letter-spacing:1.8px;font-size:12px}h1{font:normal 42px/1.08 Georgia,serif;letter-spacing:-1px;color:var(--forest);max-width:650px;margin:12px 0 16px}.intro>div>p:last-child{color:var(--muted)}
.cover-mini{height:auto;width:100px;display:block;transform:rotate(3deg);box-shadow:5px 7px 0 #d9e5d2;flex:none;margin-right:10px}.edition{display:none}
nav{gap:0;border-bottom:2px solid var(--forest);margin-bottom:22px}nav button{padding:15px 25px;color:var(--forest);border-bottom:0}nav button.active{color:#fff;background:var(--forest)}#savedCount{background:#dfeacd;color:var(--forest)}
label>span{font-weight:600;color:var(--forest)}input,select,textarea{border-radius:3px;border-color:#bacab5}input:focus,select:focus,textarea:focus{border-color:var(--purple)}
.advanced{background:#edf3e7;border:0;border-left:4px solid var(--leaf);border-radius:0}.advanced summary{color:var(--forest)}.extra-filters{gap:20px}.results-meta{margin-top:20px}.text-button{color:var(--purple)}
.cards{gap:18px}.card{border-radius:3px;border:1px solid var(--line);border-top:4px solid var(--leaf);padding:25px;min-height:220px;transition:border-color .15s,box-shadow .15s}.card:hover{border-color:#8c79b3;box-shadow:0 4px 14px #173f2a0b}.region-label{color:var(--purple);font-weight:600;letter-spacing:1.4px}.card h2{font-size:28px;color:var(--forest);margin-top:17px;overflow-wrap:anywhere}.heart{border-color:#d6cfE5;color:var(--purple);width:44px;height:44px}.heart[aria-pressed=true]{background:var(--purple);border-color:var(--purple)}.card-bottom{border-top:1px solid #edf1ea;margin-top:20px;padding-top:15px;gap:10px}.card-bottom button{color:var(--purple)}
footer{border-top:3px solid var(--leaf);padding-top:24px}footer strong{color:var(--forest)}dialog{border-radius:5px;border-top:7px solid var(--leaf);background:#f8faf5}dialog::backdrop{background:#183627b3}dialog h2,dialog h3{color:var(--forest)}.close{color:var(--purple)}.company-facts{background:#edf3e7;padding:16px 19px;border-left:3px solid var(--leaf);line-height:1.7}.company-facts p{margin:5px 0}.wine{border-radius:3px;border-top:3px solid var(--purple);padding:20px}.wine strong{color:var(--forest);font-size:23px;line-height:1.3}.wine-facts{gap:18px}.wine-facts dd{color:var(--forest)}.reaction{border-radius:5px}.reaction[aria-pressed=true]{background:#eee8f8;border-color:var(--purple);color:#433077}.primary{background:var(--purple);border-radius:3px}.match-label{color:var(--purple)!important}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#7658b0}#notice:not(:empty){background:var(--forest)}
@media(max-width:850px){header{padding:20px 28px}.cover-mini{display:block}h1{font-size:38px}.brand{max-width:280px}}
@media(max-width:540px){header{padding:20px;gap:15px}.brand{flex-basis:210px}.event{font-size:12px;letter-spacing:.8px}.event span{font-size:12px;white-space:normal}.intro{gap:16px;padding:26px 0}.cover-mini{width:70px;margin-right:2px;box-shadow:3px 4px 0 #d9e5d2}h1{font-size:32px;margin:10px 0 12px;letter-spacing:-.6px}.eyebrow{font-size:12px;letter-spacing:.9px}.intro-copy>p:last-child{font-size:14px}nav button{padding:13px 14px;font-size:14px}nav{gap:0}.card{padding:22px;min-height:200px}.card h2{font-size:27px}.advanced{padding:14px}.wine{padding:16px}dialog{padding:21px}.company-facts{padding:13px}.filters{gap:12px}}
@media(prefers-reduced-motion:reduce){.card{transition:none}}

.pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin:28px 0;flex-wrap:wrap}.pagination[hidden]{display:none}.pagination button{border:1px solid var(--purple);border-radius:3px;padding:12px 16px;color:var(--purple);background:#fff;font:inherit;cursor:pointer}.pagination button:disabled{opacity:.4;cursor:default}.pagination span{font-size:14px;color:var(--muted)}.event-partners{margin-top:30px;padding:16px;background:#fff}.event-partners img{display:block;width:100%;height:auto}@media(max-width:540px){.pagination{gap:12px}.pagination span{order:-1;flex-basis:100%;text-align:center}.event-partners{padding:6px}}

/* Official award artwork, framed from the supplied postcards. */
.award-icon.chiocciola{width:52.650px;height:36.450px;background-image:url("assets/award-chiocciola.jpg");background-size:145.800px 145.800px;background-position:-64.800px -20.250px}
.award-icon.bottiglia{width:13.845px;height:39.150px;background-image:url("assets/award-bottiglia.jpg");background-size:103.126px 103.126px;background-position:-45.832px -7.161px}
.award-icon.moneta{width:37.051px;height:39.150px;background-image:url("assets/award-moneta.jpg");background-size:151.004px 151.004px;background-position:-67.116px -27.264px}
.award-icon.top{width:27.434px;height:26.969px;background-image:url("assets/award-top.jpg");background-size:100.436px 100.436px;background-position:-44.638px -17.670px}
.award-icon.top-buy{width:43.088px;height:26.872px;background-image:url("assets/award-top-buy.jpg");background-size:100.075px 100.075px;background-position:-44.478px -13.899px}
.award-icon.slow{width:50.907px;height:38.027px;background-image:url("assets/award-slow.jpg");background-size:132.480px 132.480px;background-position:-58.880px -11.040px}
.award-icon.slow-buy{width:50.427px;height:37.668px;background-image:url("assets/award-slow-buy.jpg");background-size:131.230px 131.230px;background-position:-58.324px -10.936px}
.award-icon{display:block;background-repeat:no-repeat;flex-shrink:0}.company-award,.wine-award-row{display:flex;align-items:center;gap:12px}.company-award{margin:16px 0;color:var(--purple);font-size:14px;font-weight:bold;min-height:58px}.award-wines{border-top:1px solid var(--line);padding-top:14px;margin-top:16px}.award-wines-title{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);margin:0 0 12px}.wine-award-row{margin:12px 0}.wine-award-row>div{min-width:0}.wine-award-row b{display:block;font-size:12px;color:var(--purple);line-height:1.4;margin-bottom:4px}.wine-award-row p{font-size:14px;line-height:1.4;margin:0;overflow-wrap:anywhere}.card-bottom{margin-top:auto}.card{display:flex;flex-direction:column}.card>.location{margin-bottom:8px}.award-wines{margin-bottom:20px}

.wine-award-row{display:block;margin:16px 0}.wine-award-heading{display:flex;align-items:center;gap:12px;margin-bottom:10px}.wine-award-heading b{margin:0}.wine-award-row p{font-size:15px;line-height:1.45;overflow-wrap:break-word}

.footer-rule{border:0;border-top:2px solid var(--leaf);margin:28px 0}.footer-rule+.event-partners{margin-top:0}.collaboration-credit{text-align:center;padding:0 0 12px}.collaboration-credit p{font-size:14px;color:var(--forest);line-height:1.5;margin:0 0 18px}.collaboration-credit a{display:inline-block;max-width:100%;background:#fff;padding:14px 18px;border-radius:3px}.collaboration-credit img{display:block;width:260px;max-width:100%;height:auto}

.award-wines-empty{visibility:hidden}@supports(grid-template-rows:subgrid){.card{display:grid;grid-template-rows:subgrid;grid-row:span 6;row-gap:0}.card-bottom{align-self:end}.company-award{align-self:start}}

.wine-award-heading{min-height:83px;align-items:flex-start}

/* Compact, readable two-column cards on phones. */
@media (min-width:360px) and (max-width:540px){
 main{padding-inline:12px}
 .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px}
 .card{min-width:0;min-height:0;padding:12px 10px;border-top-width:3px}
 .card .region-label{font-size:11px;line-height:1.35;letter-spacing:.35px;padding-right:38px;min-height:38px;overflow-wrap:anywhere}
 .card .heart{top:6px;right:4px;width:44px;height:44px;border:0;background:transparent}
 .card .heart[aria-pressed=true]{background:var(--purple)}
 .card h2{font-size:20px;line-height:1.15;margin:6px 0}
 .card h2 button{min-height:44px;width:100%}
 .card>.location{font-size:13px;line-height:1.35;margin:0 0 6px;overflow-wrap:anywhere}
 .card .company-award{margin:6px 0;min-height:58px}
 .card .award-wines{padding-top:8px;margin:6px 0 10px}
 .card .award-wines-title{font-size:10px;letter-spacing:.6px;margin-bottom:6px}
 .card .wine-award-row{margin:8px 0 0}
 .card .wine-award-heading{margin-bottom:5px}
 .card .wine-award-row p{font-size:14px;line-height:1.35;overflow-wrap:anywhere}
 .card .card-bottom{flex-direction:column;align-items:stretch;gap:2px;padding-top:8px;font-size:12px}
 .card .card-bottom button{min-height:44px;text-align:left;font-size:14px;padding:8px 0}
}

.card h2{font-weight:700}.card h2 button:hover{text-decoration:underline;text-underline-offset:3px}

/* Smaller awards, with a slightly larger winery mark. */
.company-award,.card .company-award{min-height:44px;margin-block:5px}
.wine-award-heading,.card .wine-award-heading{min-height:39px;margin-bottom:5px}

.detail-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:16px}.detail-actions #detailSave{font-size:14px;padding:10px 13px;min-height:44px;margin:0}.detail-company-award{display:flex;align-items:center}

nav .ticket-link{display:flex;align-items:center;justify-content:center;margin-left:auto;padding:13px 20px;background:var(--purple);color:white;font-weight:bold;text-decoration:none;text-align:center;min-height:48px}nav .ticket-link:hover{background:#49327f}nav button{min-width:0}@media(max-width:540px){nav{display:grid;grid-template-columns:1fr 1.12fr 1.08fr}nav button,nav .ticket-link{font-size:14px;line-height:1.25;padding:11px 6px;min-height:52px}nav .ticket-link{margin:0}#savedCount{margin-left:2px;padding:1px 5px}}

.novelty-logo{display:inline-block;width:65px;height:auto;vertical-align:middle;margin-left:4px;object-fit:contain}.card .novelty-logo{width:58px}#detailTitle .novelty-logo{width:76px}
