.wrap.wide{max-width:1080px}
.th-name{font-size:20px;color:var(--gold);font-weight:700;margin:-4px 0 8px}
.soon-box{background:var(--paper);border:1px dashed var(--gold);border-radius:18px;padding:20px 20px 10px;margin:26px 0}
.soon-box h2{font-family:"Playfair Display",Georgia,serif;color:var(--green);margin:0 0 6px}
.featured{margin:10px 0 30px}.featured .rank{color:var(--gold);font-weight:800;font-size:14px;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}
.region h2{font-family:"Playfair Display",Georgia,serif;color:var(--green);font-size:24px;margin:30px 0 10px;border-bottom:2px solid var(--line);padding-bottom:6px}
.prov{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.prov a{display:flex;flex-direction:column;gap:2px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px 12px;text-decoration:none;color:var(--ink);height:100%;position:relative}
.prov a:hover{border-color:var(--green2)}
.prov .en{font-weight:700;font-size:15px;line-height:1.3}.prov .th{font-size:14px;color:var(--muted)}
.prov a.is-live{background:linear-gradient(135deg,#1f4d3c,#2f6b54);color:#fff;border-color:transparent}.prov a.is-live .th{color:#cfe8da}
.prov .live{display:inline-block;margin-top:4px;background:var(--gold);color:#fff;font-size:12px;font-weight:700;padding:1px 8px;border-radius:999px;width:max-content}
.shop-cards .card{cursor:pointer}
.shop-cards .photo-credit{font-size:12px;color:var(--muted);margin:10px 0 0;line-height:1.45;border-top:1px dashed var(--line);padding-top:8px}
.shop-cards .card .b p{margin:0 0 8px}
.shop-cards .en-sub{font-size:14px;color:var(--muted)}
.lead-in .note{font-size:14px;color:var(--muted);margin:20px 0 30px}
.shop-cards .card .b{min-width:0}
.shop-cards .photo-credit{overflow-wrap:anywhere;word-break:break-word}
/* Card photo: if the file fails to load (e.g. 404) the image collapses and a panel in the card colour
   covers the broken-image icon. CSS only: the site CSP blocks inline onerror handlers. */
.shop-cards .card img.shop-photo{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:cover;font-size:0;line-height:0;color:transparent;position:relative;overflow:hidden}
.shop-cards .card img.shop-photo::before{content:"";position:absolute;inset:0;background:var(--paper)}
