/* Vino.cy Wine Club */
:root {
	--vg-wine: #7b1a33;
	--vg-wine-soft: #f7eaee;
	--vg-gold: #c99a2e;
	--vg-ink: #222;
	--vg-muted: #777;
	--vg-line: #ececec;
	--vg-card: #fff;
	--vg-radius: 14px;
}

.vg-wrap { max-width: 1100px; margin: 0 auto; color: var(--vg-ink); position: relative; }
.vg-wrap h2, .vg-wrap h3 { margin: 0 0 12px; line-height: 1.25; }
.vg-wrap h3 { font-size: 18px; }
.vg-muted { color: var(--vg-muted); font-size: 14px; }
.vg-card { background: var(--vg-card); border: 1px solid var(--vg-line); border-radius: var(--vg-radius); padding: 20px 22px; margin-bottom: 20px; box-shadow: 0 2px 10px rgba(0,0,0,.03); }
.vg-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 10px 18px; border-radius: 999px; border: 0; background: var(--vg-wine); color: #fff !important; font-weight: 600; font-size: 14px; cursor: pointer; text-decoration: none !important; line-height: 1.2; }
.vg-btn:hover { filter: brightness(1.1); }
.vg-btn[disabled] { background: #ddd; color: #777 !important; cursor: not-allowed; filter: none; }
.vg-btn-ghost { background: transparent; color: var(--vg-wine) !important; border: 1px solid var(--vg-wine); }
.vg-chip { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--vg-wine); background: var(--vg-wine-soft); padding: 3px 10px; border-radius: 999px; }

/* language switch */
.vg-lang { display: flex; justify-content: flex-end; gap: 4px; margin-bottom: 12px; }
.vg-lang button { border: 1px solid var(--vg-line); background: #fff; border-radius: 999px; padding: 4px 12px; font-size: 12px; font-weight: 600; cursor: pointer; color: var(--vg-muted); }
.vg-lang button.is-active { background: var(--vg-wine); border-color: var(--vg-wine); color: #fff; }

/* hero */
.vg-hero { display: flex; gap: 22px; align-items: center; background: linear-gradient(135deg, #fff 0%, var(--vg-wine-soft) 100%); }
.vg-hero-icon { font-size: 64px; line-height: 1; width: 96px; height: 96px; flex: 0 0 96px; display: flex; align-items: center; justify-content: center; background: #fff; border-radius: 50%; box-shadow: 0 4px 16px rgba(123,26,51,.15); }
.vg-hero-body { flex: 1; min-width: 0; }
.vg-hero-name { font-size: 28px; margin: 8px 0 4px !important; }
.vg-hero-quip { font-style: italic; color: #555; margin: 0 0 12px; }
.vg-progress { height: 10px; background: #eee; border-radius: 999px; overflow: hidden; margin: 8px 0; }
.vg-progress span { display: block; height: 100%; background: linear-gradient(90deg, var(--vg-wine), #b3344f); border-radius: 999px; transition: width .6s ease; }

/* stats */
.vg-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 20px; }
.vg-stat { background: var(--vg-card); border: 1px solid var(--vg-line); border-radius: var(--vg-radius); padding: 16px; text-align: center; }
.vg-stat strong { display: block; font-size: 26px; color: var(--vg-wine); }
.vg-stat span { font-size: 13px; color: var(--vg-muted); }

/* achievements */
.vg-ach-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; }
.vg-ach { border: 1px solid var(--vg-line); border-radius: 12px; padding: 14px; display: flex; flex-direction: column; gap: 4px; margin: 0 !important; }
.vg-ach .vg-ach-icon { font-size: 30px; }
.vg-ach strong { font-size: 15px; }
.vg-ach small { color: var(--vg-muted); font-size: 12.5px; line-height: 1.35; }
.vg-ach em { font-size: 12px; font-style: normal; color: var(--vg-gold); font-weight: 600; margin-top: auto; }
.vg-ach.is-on { background: #fffaf0; border-color: #f0dfb4; }
.vg-ach.is-off .vg-ach-icon { filter: grayscale(1); opacity: .45; }
.vg-ach.is-off em { color: #aaa; }

.vg-two { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.vg-feed, .vg-earn { list-style: none; margin: 0 0 16px; padding: 0; }
.vg-feed li, .vg-earn li { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--vg-line); margin: 0; }
.vg-feed li:last-child, .vg-earn li:last-child { border-bottom: 0; }
.vg-feed small { display: block; color: var(--vg-muted); font-size: 12px; }
.vg-feed b, .vg-earn b { color: #2e7d32; white-space: nowrap; }
.vg-feed b.neg { color: #b3261e; }
.vg-ladder { list-style: none; margin: 0 0 16px; padding: 0; }
.vg-ladder li { display: grid; grid-template-columns: 30px 1fr; column-gap: 8px; padding: 7px 10px; border-radius: 10px; margin: 0; }
.vg-ladder li span { grid-row: span 2; font-size: 20px; }
.vg-ladder li small { color: var(--vg-muted); font-size: 12px; }
.vg-ladder li.is-done { opacity: .6; }
.vg-ladder li.is-current { background: var(--vg-wine-soft); }
.vg-toggle + .vg-toggle { margin-top: 10px; }
.vg-toggle { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; cursor: pointer; }
.vg-toggle input { margin-top: 3px; }

/* leaderboard */
.vg-tabs { display: flex; gap: 8px; margin-bottom: 16px; }
.vg-tabs a { padding: 8px 16px; border-radius: 999px; border: 1px solid var(--vg-line); text-decoration: none; color: var(--vg-ink); font-weight: 600; font-size: 14px; }
.vg-tabs a.is-active { background: var(--vg-wine); border-color: var(--vg-wine); color: #fff; }
.vg-rows { list-style: none; margin: 0; padding: 0; }
.vg-row { display: flex; align-items: center; gap: 14px; background: var(--vg-card); border: 1px solid var(--vg-line); border-radius: 12px; padding: 10px 16px; margin: 0 0 8px !important; }
.vg-row.is-me { border-color: var(--vg-wine); background: var(--vg-wine-soft); }
.vg-row.is-top1 { border-color: #e8c766; }
.vg-rank { width: 32px; text-align: center; font-weight: 700; font-size: 18px; color: var(--vg-muted); }
.vg-avatar { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
.vg-who { flex: 1; min-width: 0; }
.vg-who strong { display: block; }
.vg-who small { color: var(--vg-muted); font-size: 12.5px; }
.vg-xp { font-weight: 700; color: var(--vg-wine); white-space: nowrap; }
.vg-xp small { font-weight: 400; color: var(--vg-muted); }

/* rewards */
.vg-balance { font-size: 16px; margin-bottom: 16px; }
.vg-balance strong { font-size: 28px; color: var(--vg-wine); margin: 0 4px 0 10px; }
.vg-reward-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; }
.vg-reward { display: flex; flex-direction: column; margin: 0; }
.vg-reward img, .vg-reward-ph { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 10px; margin-bottom: 12px; }
.vg-reward-ph { display: flex; align-items: center; justify-content: center; font-size: 64px; background: var(--vg-wine-soft); }
.vg-reward p { font-size: 14px; }
.vg-reward-foot { display: flex; justify-content: space-between; align-items: center; margin: auto 0 12px; }
.vg-cost { font-weight: 700; color: var(--vg-wine); font-size: 18px; }

/* check-in button on winery pages */
.vg-checkin-btn { display: inline-flex; align-items: center; gap: 6px; margin-left: 8px; padding: 9px 18px; border-radius: 999px; border: 0; background: var(--vg-wine); color: #fff; font-weight: 600; font-size: 14px; cursor: pointer; box-shadow: 0 3px 12px rgba(123,26,51,.25); vertical-align: middle; }
.vg-checkin-btn:hover { filter: brightness(1.1); }
.vg-checkin-btn[disabled] { background: #eee; color: #666; box-shadow: none; cursor: default; }
.vg-checkin-btn.is-visited::after { content: "✓"; font-size: 12px; opacity: .8; }

/* modal + toast */
.vg-modal-overlay { position: fixed; inset: 0; background: rgba(20,10,14,.55); display: flex; align-items: center; justify-content: center; z-index: 100000; padding: 16px; }
.vg-modal { box-sizing: border-box; background: #fff; border-radius: 18px; padding: 26px 24px; width: 100%; max-width: 420px; max-height: 90vh; overflow: auto; box-shadow: 0 20px 60px rgba(0,0,0,.25); }
.vg-celebrate { animation: vg-pop .35s ease-out; }
@keyframes vg-pop { from { transform: scale(.85); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.vg-result { text-align: center; }
.vg-result-burst { font-size: 56px; line-height: 1; margin-bottom: 8px; animation: vg-bounce 1s ease-out; }
@keyframes vg-bounce { 0% { transform: translateY(20px) scale(.6); } 60% { transform: translateY(-8px) scale(1.1); } 100% { transform: none; } }
.vg-result-points { font-size: 28px; font-weight: 800; color: var(--vg-wine); margin: 4px 0 12px; }
.vg-result-grade, .vg-result-ach { display: flex; flex-direction: column; gap: 2px; background: #fffaf0; border: 1px solid #f0dfb4; border-radius: 12px; padding: 10px 12px; margin: 10px 0; text-align: left; }
.vg-result-ach { flex-direction: row; align-items: center; gap: 12px; }
.vg-result-ach .vg-ach-icon { font-size: 30px; }
.vg-result-ach span:last-child { display: flex; flex-direction: column; }
.vg-result small { color: var(--vg-gold); font-weight: 700; font-size: 11px; text-transform: uppercase; letter-spacing: .05em; }
.vg-result em { font-size: 13px; color: #666; }
.vg-safe { font-size: 12px; color: var(--vg-muted); margin: 14px 0 4px; }
.vg-actions { display: flex; gap: 10px; justify-content: center; margin-top: 14px; }
.vg-form .vg-actions { justify-content: flex-end; }
.vg-field { display: block; margin-bottom: 12px; }
.vg-field span { display: block; font-size: 13px; font-weight: 600; margin-bottom: 4px; }
.vg-field input, .vg-field textarea { box-sizing: border-box; font: inherit; width: 100%; border: 1px solid #ddd; border-radius: 10px; padding: 9px 12px; font-size: 15px; }
.vg-field textarea { min-height: 70px; }
.vg-toast { position: fixed; left: 50%; bottom: 24px; transform: translate(-50%, 20px); opacity: 0; background: #222; color: #fff; padding: 12px 18px; border-radius: 12px; font-size: 14px; z-index: 100001; max-width: calc(100% - 32px); transition: all .25s ease; box-shadow: 0 8px 24px rgba(0,0,0,.2); }
.vg-toast.is-in { transform: translate(-50%, 0); opacity: 1; }
.vg-toast.is-error { background: #7b1a33; }

.vg-login { text-align: center; }

/* user dropdown (header) */
.lhb-um li.vg-um-sep { height: 1px; background: var(--vg-line); margin: 6px 12px !important; padding: 0 !important; list-style: none; }
.lhb-um .vg-um-i { width: 15px; font-size: 14px; display: inline-block; text-align: center; margin-right: 0; }

/* mobile "Dashboard Navigation" on account pages outside the dashboard template */
.vg-mnav { display: none; margin: 0 0 20px; }
.vg-mnav-trigger { box-sizing: border-box; width: 100%; display: flex; align-items: center; gap: 10px; padding: 14px 18px; border: 0; border-radius: var(--vg-radius); background: #333; color: #fff; font-weight: 600; font-size: 15px; cursor: pointer; text-align: left; }
.vg-mnav.is-open .vg-mnav-trigger { border-radius: var(--vg-radius) var(--vg-radius) 0 0; }
.vg-mnav-panel { background: #fff; border: 1px solid var(--vg-line); border-top: 0; border-radius: 0 0 var(--vg-radius) var(--vg-radius); padding: 6px 8px 10px; }
.vg-mnav-title { margin: 12px 12px 4px !important; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #999; }
.vg-mnav-panel ul { list-style: none; margin: 0; padding: 0; }
.vg-mnav-panel li { margin: 0 !important; }
.vg-mnav-panel a { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 10px; color: #333; text-decoration: none; font-size: 15px; }
.vg-mnav-panel a svg, .vg-mnav-panel a i { width: 16px; color: var(--vg-wine); flex: 0 0 16px; }
.vg-mnav-panel li.is-active a { background: var(--vg-wine-soft); color: var(--vg-wine); font-weight: 600; }
@media (max-width: 991px) {
	.vg-mnav { display: block; }
}

/* wine passport */
.vg-passport-box { display: flex; gap: 16px; align-items: flex-start; margin: 28px 0 8px; padding: 18px 20px; border: 1px solid #f0dfb4; background: #fffaf0; border-radius: var(--vg-radius); }
.vg-passport-icon { font-size: 34px; line-height: 1; }
.vg-passport-body { flex: 1; }
.vg-passport-body p { margin: 6px 0 12px; }
.vg-stars { color: var(--vg-gold); letter-spacing: 2px; font-size: 16px; white-space: nowrap; }
.vg-note { font-style: italic; color: #555; margin: 6px 0; }
.vg-star-input { display: flex; gap: 4px; margin: 0 0 14px; }
.vg-star-input button { border: 0; background: none; font-size: 34px; line-height: 1; color: var(--vg-gold); cursor: pointer; padding: 2px; }
.vg-field-label { font-size: 13px; font-weight: 600; margin: 0 0 4px; }
.vg-mini-stats { display: flex; flex-wrap: wrap; gap: 18px; margin: 0 0 14px; color: var(--vg-muted); font-size: 14px; }
.vg-mini-stats strong { color: var(--vg-wine); font-size: 20px; margin-right: 4px; }
.vg-grapes { list-style: none; margin: 0 0 16px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.vg-grapes li { margin: 0 !important; padding: 4px 10px; border-radius: 999px; font-size: 12.5px; border: 1px dashed #ccc; color: #999; }
.vg-grapes li.is-on { border: 1px solid var(--vg-wine); background: var(--vg-wine-soft); color: var(--vg-wine); font-weight: 600; }
.vg-wines { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; }
.vg-wines li { display: grid; grid-template-columns: 56px 1fr auto; gap: 12px; align-items: start; margin: 0 !important; padding: 12px; border: 1px solid var(--vg-line); border-radius: 12px; }
.vg-wines small { display: block; color: var(--vg-muted); font-size: 12.5px; }
.vg-wine-thumb img, .vg-wine-thumb span { width: 56px; height: 56px; border-radius: 10px; object-fit: cover; display: flex; align-items: center; justify-content: center; background: var(--vg-wine-soft); font-size: 26px; }
.vg-link { border: 0; background: none; color: var(--vg-wine); font-size: 13px; cursor: pointer; text-decoration: underline; padding: 0; }
.vino-wine-card { position: relative; }
.vg-taste-pill { position: absolute; top: 8px; right: 8px; z-index: 2; border: 0; border-radius: 999px; padding: 4px 10px; font-size: 12px; font-weight: 700; background: rgba(255,255,255,.92); color: var(--vg-wine); box-shadow: 0 2px 8px rgba(0,0,0,.12); cursor: pointer; }
.vg-taste-pill.is-in { background: var(--vg-wine); color: #fff; }

/* quests */
.vg-quest-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; margin-bottom: 24px; }
.vg-quest { display: flex; flex-direction: column; margin: 0; }
.vg-quest img { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: 10px; margin-bottom: 12px; }
.vg-quest-head { display: flex; gap: 12px; align-items: center; margin-bottom: 8px; }
.vg-quest-head h4 { margin: 0; font-size: 17px; }
.vg-quest-badge { font-size: 34px; width: 54px; height: 54px; flex: 0 0 54px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--vg-wine-soft); }
.vg-quest-rule { font-weight: 600; color: var(--vg-wine); margin: 4px 0 8px; }
.vg-quest.is-done { border-color: #cfe8d2; background: #f6fbf6; }
.vg-quest.is-soon { opacity: .75; }
.vg-quest-done { color: #1e7e34; font-weight: 700; margin: auto 0 0; }
.vg-quest-banner { display: block; margin: 10px 0; padding: 8px 14px; border-radius: 12px; background: var(--vg-wine-soft); color: var(--vg-wine); font-weight: 600; font-size: 14px; }
.vg-quest-banner.is-today { background: var(--vg-wine); color: #fff; }
.vg-badge-row { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 14px; }
.vg-badge-row li { margin: 0 !important; width: 96px; text-align: center; }
.vg-badge-row span { display: flex; width: 64px; height: 64px; margin: 0 auto 6px; align-items: center; justify-content: center; font-size: 34px; border-radius: 50%; background: #fffaf0; border: 1px solid #f0dfb4; }
.vg-badge-row small { font-size: 12px; color: #555; line-height: 1.3; display: block; }
.vg-route-progress { font-size: 13px; color: var(--vg-muted); margin: 6px 0 10px; }
.vg-route-progress.is-done { color: #1e7e34; font-weight: 700; }
.vg-result-mult { display: inline-block; background: var(--vg-wine); color: #fff; border-radius: 999px; padding: 4px 12px; font-weight: 700; font-size: 13px; margin: 0 0 8px; }

@media (max-width: 767px) {
	.vg-hero { flex-direction: column; text-align: center; }
	.vg-stats { grid-template-columns: repeat(2, 1fr); }
	.vg-two { grid-template-columns: 1fr; }
	.vg-checkin-btn { margin: 8px 0 0; width: 100%; justify-content: center; }
	.vg-row { gap: 10px; padding: 10px 12px; }
	.vg-passport-box { flex-direction: column; }
	.vg-wines { grid-template-columns: 1fr; }
}

.vg-delete-row{margin:14px 0 0;font-size:13px}.vg-delete-link{color:#8a1f1f;text-decoration:underline}.vg-btn-danger{background:#b3261e!important;color:#fff!important}

/* ---- friends, groups, photos (0.5.0) ---- */
.vg-avatar { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; flex: 0 0 36px; background: #eee; }
.vg-actions-left { justify-content: flex-start !important; flex-wrap: wrap; }
.vg-link-btn { background: none; border: 0; color: var(--vg-muted); font-size: 13px; text-decoration: underline; cursor: pointer; padding: 4px 6px; }
.vg-link-btn:hover { color: var(--vg-wine); }
.vg-invite-link input { box-sizing: border-box; width: 100%; font: inherit; font-size: 14px; padding: 9px 12px; border: 1px solid #ddd; border-radius: 10px; background: #fafafa; }
.vg-row-name { flex: 1; min-width: 0; font-weight: 600; }
.vg-row-name small { font-weight: 400; color: var(--vg-muted); }
.vg-row-xp { font-weight: 700; color: var(--vg-wine); white-space: nowrap; }
.vg-rank { font-weight: 700; color: var(--vg-muted); min-width: 34px; }
.vg-tabs a { cursor: pointer; }
.vg-select { box-sizing: border-box; width: 100%; font: inherit; border: 1px solid #ddd; border-radius: 10px; padding: 9px 12px; background: #fff; }
.vg-switch { display: flex; align-items: center; gap: 6px; margin-top: 14px; font-size: 14px; }
.vg-feed { list-style: none; margin: 0; padding: 0; }
.vg-feed-item { display: flex; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--vg-line); margin: 0 !important; }
.vg-feed-item:last-child { border-bottom: 0; }
.vg-feed-icon { font-size: 22px; line-height: 1.3; }
.vg-feed-body { flex: 1; min-width: 0; font-size: 15px; }
.vg-feed-photo { display: block; margin-top: 8px; width: 160px; max-width: 100%; border-radius: 10px; cursor: zoom-in; }
.vg-group { border: 1px solid var(--vg-line); border-radius: 12px; padding: 14px 16px; margin-top: 14px; }
.vg-group-head { font-size: 16px; margin-bottom: 8px; }
.vg-group-grid { overflow-x: auto; }
.vg-group-table { border-collapse: collapse; width: 100%; font-size: 14px; }
.vg-group-table th, .vg-group-table td { padding: 6px 8px; text-align: center; border: 0 !important; }
.vg-group-table th:first-child, .vg-group-table td.vg-group-who { text-align: left; }
.vg-group-who { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.vg-group-who .vg-avatar { width: 28px; height: 28px; flex-basis: 28px; }
.vg-group-table td.is-done { color: #2e7d32; font-weight: 700; }
.vg-group-table tr.is-me { background: var(--vg-wine-soft); }
.vg-group-state { white-space: nowrap; font-size: 13px; color: var(--vg-muted); }
.vg-group-stops { margin: 8px 0 0 18px; padding: 0; font-size: 13px; color: var(--vg-muted); }
.vg-photo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 12px; margin-top: 14px; }
.vg-photo-cell { border: 1px solid var(--vg-line); border-radius: 12px; overflow: hidden; background: #fff; }
.vg-photo-cell img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; cursor: zoom-in; }
.vg-photo-gone { aspect-ratio: 1; display: flex; align-items: center; justify-content: center; font-size: 32px; background: #f3f3f3; }
.vg-photo-meta { padding: 8px 10px; font-size: 12px; display: flex; flex-direction: column; gap: 2px; }
.vg-photo-status { font-weight: 700; }
.vg-photo-cell.is-approved .vg-photo-status { color: #2e7d32; }
.vg-photo-cell.is-pending .vg-photo-status, .vg-photo-cell.is-reported .vg-photo-status { color: #a66b00; }
.vg-photo-cell.is-rejected .vg-photo-status, .vg-photo-cell.is-removed .vg-photo-status { color: #b32d2e; }
.vg-photo-preview { display: block; width: 100%; max-height: 240px; object-fit: contain; border-radius: 10px; background: #f3f3f3; margin-bottom: 12px; min-height: 60px; }
.vg-photo-view img { display: block; width: 100%; max-height: 70vh; object-fit: contain; border-radius: 10px; }
.vg-photo-view p { margin: 10px 0 0; }

/* ---- discover: recommendations + smart route (0.6.0) ---- */
.vg-filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; margin-bottom: 16px; }
.vg-filters .vg-field { margin: 0; min-width: 160px; }
.vg-filters .vg-select { min-width: 150px; }
.vg-chips { display: inline-flex; flex-wrap: wrap; gap: 6px; vertical-align: middle; }
.vg-chip-soft { text-transform: none; letter-spacing: 0; font-weight: 600; }
.vg-chip-warn { background: #fff4d6; color: #7a5200; text-decoration: none; margin: 6px 6px 0 0; }
.vg-rec-list { list-style: none; margin: 0; padding: 0; }
.vg-rec { padding: 12px 0; border-bottom: 1px solid var(--vg-line); margin: 0 !important; }
.vg-rec:last-child { border-bottom: 0; }
.vg-rec-title { font-weight: 700; font-size: 16px; color: var(--vg-ink); text-decoration: none; }
.vg-rec-title:hover { color: var(--vg-wine); }
.vg-rec-why { color: var(--vg-wine); font-size: 14px; margin: 4px 0; }
.vg-winery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; }
.vg-winery-card { display: block; border: 1px solid var(--vg-line); border-radius: 14px; overflow: hidden; text-decoration: none; color: var(--vg-ink); background: #fff; }
.vg-winery-card:hover { border-color: var(--vg-wine); }
.vg-winery-card img { display: block; width: 100%; height: 130px; object-fit: cover; }
.vg-winery-body { padding: 12px 14px; display: flex; flex-direction: column; gap: 3px; font-size: 14px; }
.vg-form-row { display: flex; flex-wrap: wrap; gap: 12px; }
.vg-form-row .vg-field { flex: 1 1 140px; margin-bottom: 8px; }
.vg-form-row input, .vg-plan-form input[type="date"], .vg-plan-form input[type="time"], .vg-card .vg-field input[type="text"] { box-sizing: border-box; font: inherit; width: 100%; border: 1px solid #ddd; border-radius: 10px; padding: 9px 12px; }
.vg-warn { color: #8a4b00; background: #fff4d6; border-radius: 10px; padding: 8px 12px; font-size: 14px; }
.vg-timeline { list-style: none; margin: 14px 0; padding: 0; }
.vg-tl-item { margin: 0 0 4px !important; }
.vg-tl-leg { font-size: 13px; color: var(--vg-muted); padding: 6px 0 6px 14px; border-left: 3px dotted #d8c3ca; margin-left: 28px; }
.vg-tl-card { display: flex; gap: 14px; border: 1px solid var(--vg-line); border-radius: 14px; padding: 12px 14px; background: #fff; }
.vg-tl-card.is-issue { border-color: #e0a100; background: #fffaf0; }
.vg-tl-time { flex: 0 0 auto; font-weight: 700; color: var(--vg-wine); font-variant-numeric: tabular-nums; min-width: 92px; }
.vg-tl-body { flex: 1; min-width: 0; font-size: 14px; }
@media (max-width: 520px) { .vg-tl-card { flex-direction: column; gap: 4px; } .vg-filters .vg-field { min-width: 100%; } }

/* ---- onboarding wizard ---- */
.vg-ob .vg-modal{max-width:520px;max-height:92vh;overflow:auto}
.vg-ob-step{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.06em;opacity:.65}
.vg-ob-dots{display:flex;gap:6px;margin:6px 0 14px}
.vg-ob-dots span{height:4px;flex:1;border-radius:2px;background:rgba(127,127,127,.25)}
.vg-ob-dots span.is-on{background:var(--vg-wine,#7b1e3a)}
.vg-ob-choices{display:flex;flex-direction:column;gap:8px;margin:8px 0 14px}
.vg-ob-choices.vg-ob-row{flex-direction:row}
.vg-btn-choice{background:transparent;border:2px solid rgba(127,127,127,.3);border-radius:12px;padding:12px 14px;text-align:left;cursor:pointer;font:inherit;color:inherit}
.vg-btn-choice.is-on{border-color:var(--vg-wine,#7b1e3a);background:rgba(123,30,58,.08)}
.vg-ob-or{margin:14px 0 6px}
.vg-ob-list{margin-top:12px;display:flex;flex-direction:column;gap:10px}
.vg-ob-card{display:flex;gap:12px;border:1px solid rgba(127,127,127,.25);border-radius:12px;padding:10px}
.vg-ob-card img{width:72px;height:72px;object-fit:cover;border-radius:8px;flex:none}
.vg-ob-card-body{display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.vg-ob-reason{font-size:13px}
.vg-ob-goal{font-size:17px;font-weight:600;margin:8px 0}
.vg-ob-actions{margin-top:16px;flex-wrap:wrap}
body.vg-modal-open{overflow:hidden}
.vg-btn-small{padding:6px 12px;font-size:13px}

/* ---- dark theme: follows the phone unless the member chose Light; or forced with Dark ---- */
@media (prefers-color-scheme: dark){
html:not([data-vg-theme="light"]){--vg-wine:#c43d5c;--vg-wine-soft:#3a1a24;--vg-gold:#d9ad45;--vg-ink:#ece8e9;--vg-muted:#a39a9d;--vg-line:#3a3537;--vg-card:#1f1d1e}
html:not([data-vg-theme="light"]) .vg-wrap{background:#161415;color:#ece8e9;padding:16px;border-radius:16px;color-scheme:dark}
html:not([data-vg-theme="light"]) .vg-btn[disabled]{background:#3a3a3a;color:#888 !important}
html:not([data-vg-theme="light"]) .vg-lang button{background:var(--vg-card)}
html:not([data-vg-theme="light"]) .vg-hero{background:linear-gradient(135deg,#232022 0%,#3a1a24 100%)}
html:not([data-vg-theme="light"]) .vg-hero-icon{background:#2b2729}
html:not([data-vg-theme="light"]) .vg-hero-quip,html:not([data-vg-theme="light"]) .vg-note,html:not([data-vg-theme="light"]) .vg-badge-row small,html:not([data-vg-theme="light"]) .vg-result em{color:#c4bcbf}
html:not([data-vg-theme="light"]) .vg-progress,html:not([data-vg-theme="light"]) .vg-avatar,html:not([data-vg-theme="light"]) .vg-checkin-btn[disabled]{background:#3a3a3a;color:#aaa}
html:not([data-vg-theme="light"]) .vg-ach.is-on,html:not([data-vg-theme="light"]) .vg-result-grade,html:not([data-vg-theme="light"]) .vg-result-ach,html:not([data-vg-theme="light"]) .vg-passport-box,html:not([data-vg-theme="light"]) .vg-tl-card.is-issue,html:not([data-vg-theme="light"]) .vg-badge-row span{background:#2e2619;border-color:#5c4a1d}
html:not([data-vg-theme="light"]) .vg-modal,html:not([data-vg-theme="light"]) .vg-mnav-panel{background:#1f1d1e;color:#ece8e9;color-scheme:dark}
html:not([data-vg-theme="light"]) .vg-field input,html:not([data-vg-theme="light"]) .vg-field textarea,html:not([data-vg-theme="light"]) .vg-select,html:not([data-vg-theme="light"]) .vg-invite-link input,html:not([data-vg-theme="light"]) .vg-form-row input,html:not([data-vg-theme="light"]) .vg-plan-form input[type="date"],html:not([data-vg-theme="light"]) .vg-plan-form input[type="time"],html:not([data-vg-theme="light"]) .vg-card .vg-field input[type="text"],html:not([data-vg-theme="light"]) .vg-input{background:#262324;border-color:#4a4446;color:#ece8e9}
html:not([data-vg-theme="light"]) .vg-mnav-panel a{color:#ddd}
html:not([data-vg-theme="light"]) .vg-grapes li{border-color:#5a5557;color:#aaa}
html:not([data-vg-theme="light"]) .vg-quest.is-done{background:#14231a;border-color:#2d5a38}
html:not([data-vg-theme="light"]) .vg-photo-cell,html:not([data-vg-theme="light"]) .vg-winery-card,html:not([data-vg-theme="light"]) .vg-tl-card{background:var(--vg-card)}
html:not([data-vg-theme="light"]) .vg-photo-gone,html:not([data-vg-theme="light"]) .vg-photo-preview{background:#2a2a2a}
html:not([data-vg-theme="light"]) .vg-chip-warn,html:not([data-vg-theme="light"]) .vg-warn{background:#4a3b12;color:#f0cf7a}
html:not([data-vg-theme="light"]) .vg-delete-link{color:#ff8a80}
html:not([data-vg-theme="light"]) .vg-btn-choice.is-on{background:rgba(196,61,92,.18)}
}
html[data-vg-theme="dark"]{--vg-wine:#c43d5c;--vg-wine-soft:#3a1a24;--vg-gold:#d9ad45;--vg-ink:#ece8e9;--vg-muted:#a39a9d;--vg-line:#3a3537;--vg-card:#1f1d1e}
html[data-vg-theme="dark"] .vg-wrap{background:#161415;color:#ece8e9;padding:16px;border-radius:16px;color-scheme:dark}
html[data-vg-theme="dark"] .vg-btn[disabled]{background:#3a3a3a;color:#888 !important}
html[data-vg-theme="dark"] .vg-lang button{background:var(--vg-card)}
html[data-vg-theme="dark"] .vg-hero{background:linear-gradient(135deg,#232022 0%,#3a1a24 100%)}
html[data-vg-theme="dark"] .vg-hero-icon{background:#2b2729}
html[data-vg-theme="dark"] .vg-hero-quip,html[data-vg-theme="dark"] .vg-note,html[data-vg-theme="dark"] .vg-badge-row small,html[data-vg-theme="dark"] .vg-result em{color:#c4bcbf}
html[data-vg-theme="dark"] .vg-progress,html[data-vg-theme="dark"] .vg-avatar,html[data-vg-theme="dark"] .vg-checkin-btn[disabled]{background:#3a3a3a;color:#aaa}
html[data-vg-theme="dark"] .vg-ach.is-on,html[data-vg-theme="dark"] .vg-result-grade,html[data-vg-theme="dark"] .vg-result-ach,html[data-vg-theme="dark"] .vg-passport-box,html[data-vg-theme="dark"] .vg-tl-card.is-issue,html[data-vg-theme="dark"] .vg-badge-row span{background:#2e2619;border-color:#5c4a1d}
html[data-vg-theme="dark"] .vg-modal,html[data-vg-theme="dark"] .vg-mnav-panel{background:#1f1d1e;color:#ece8e9;color-scheme:dark}
html[data-vg-theme="dark"] .vg-field input,html[data-vg-theme="dark"] .vg-field textarea,html[data-vg-theme="dark"] .vg-select,html[data-vg-theme="dark"] .vg-invite-link input,html[data-vg-theme="dark"] .vg-form-row input,html[data-vg-theme="dark"] .vg-plan-form input[type="date"],html[data-vg-theme="dark"] .vg-plan-form input[type="time"],html[data-vg-theme="dark"] .vg-card .vg-field input[type="text"],html[data-vg-theme="dark"] .vg-input{background:#262324;border-color:#4a4446;color:#ece8e9}
html[data-vg-theme="dark"] .vg-mnav-panel a{color:#ddd}
html[data-vg-theme="dark"] .vg-grapes li{border-color:#5a5557;color:#aaa}
html[data-vg-theme="dark"] .vg-quest.is-done{background:#14231a;border-color:#2d5a38}
html[data-vg-theme="dark"] .vg-photo-cell,html[data-vg-theme="dark"] .vg-winery-card,html[data-vg-theme="dark"] .vg-tl-card{background:var(--vg-card)}
html[data-vg-theme="dark"] .vg-photo-gone,html[data-vg-theme="dark"] .vg-photo-preview{background:#2a2a2a}
html[data-vg-theme="dark"] .vg-chip-warn,html[data-vg-theme="dark"] .vg-warn{background:#4a3b12;color:#f0cf7a}
html[data-vg-theme="dark"] .vg-delete-link{color:#ff8a80}
html[data-vg-theme="dark"] .vg-btn-choice.is-on{background:rgba(196,61,92,.18)}

/* ---- large text (member setting) ---- */
html[data-vg-size="large"] .vg-wrap,html[data-vg-size="large"] .vg-modal,html[data-vg-size="large"] .vg-toast{zoom:1.18}
html[data-vg-size="large"] .vg-btn,html[data-vg-size="large"] .vg-checkin-btn{min-height:46px}

/* ---- empty states, appearance, encyclopedia, feedback ---- */
.vg-empty-state{text-align:center;padding:22px 16px;border:1px dashed var(--vg-line);border-radius:var(--vg-radius);margin:10px 0}
.vg-empty-icon{font-size:40px;line-height:1;margin-bottom:8px}
.vg-empty-state h4{margin:0 0 6px;font-size:17px}
.vg-empty-state p{margin:0 0 12px;color:var(--vg-muted)}
.vg-empty-state .vg-actions{justify-content:center;flex-wrap:wrap}
.vg-appearance{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}
.vg-appearance label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--vg-muted);flex:1;min-width:120px}
.vg-enc h1{font-size:28px;margin:0 0 8px}
.vg-enc-search{width:100%;box-sizing:border-box;font:inherit;padding:11px 14px;border:1px solid var(--vg-line);border-radius:999px;background:var(--vg-card);color:var(--vg-ink)}
.vg-enc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:14px 0}
.vg-enc-card{display:block;text-decoration:none;color:var(--vg-ink);margin:0}
.vg-enc-card small{display:block;color:var(--vg-muted);margin-top:4px}
.vg-enc-dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px;background:var(--vg-line)}
.vg-enc-dot.is-white{background:#e8d98a}.vg-enc-dot.is-red{background:#8c1d3a}
.vg-enc-article h1{display:inline;font-size:30px}
.vg-enc-tag{font-size:18px;font-style:italic;color:var(--vg-muted);margin:10px 0 18px}
.vg-enc-article section{margin:18px 0}
.vg-enc-article h2{font-size:18px}
.vg-enc-list{list-style:none;margin:0;padding:0}
.vg-enc-list li{padding:8px 0;border-bottom:1px solid var(--vg-line)}
.vg-enc-list small{display:block;color:var(--vg-muted)}
.vg-enc-me{font-weight:600}
.vg-enc-photo{max-width:100%;height:auto;border-radius:12px}
.vg-draft{background:#fff4d6;color:#7a5200}
.vg-feedback{border-left:4px solid var(--vg-wine)}
.vg-fb-count{text-align:right;font-size:12px;color:var(--vg-muted);margin:2px 0 0}
.vg-fb-form textarea{width:100%;box-sizing:border-box;font:inherit;min-height:84px;border:1px solid var(--vg-line);border-radius:10px;padding:9px 12px;background:var(--vg-card);color:var(--vg-ink)}

@media (prefers-color-scheme: dark){
html:not([data-vg-theme="light"]) .vg-chip{color:#f2a9bb}
html:not([data-vg-theme="light"]) .vg-btn-ghost{color:#f2a9bb !important;border-color:#c43d5c}
}
html[data-vg-theme="dark"] .vg-chip{color:#f2a9bb}
html[data-vg-theme="dark"] .vg-btn-ghost{color:#f2a9bb !important;border-color:#c43d5c}

/* ---- privacy policy: page + pop-up on the sign-up form ---- */
.vg-priv h1{font-size:28px;margin:0 0 10px}
.vg-priv-body h2,.vg-priv-content h2{font-size:18px;margin:22px 0 8px}
.vg-priv-body p,.vg-priv-content p,.vg-priv-body li,.vg-priv-content li{line-height:1.55}
.vg-priv-table{overflow-x:auto;margin:10px 0}
.vg-priv-table table{border-collapse:collapse;width:100%;font-size:14px;min-width:520px}
.vg-priv-table th,.vg-priv-table td{border:1px solid var(--vg-line);padding:8px 10px;text-align:left;vertical-align:top}
.vg-priv-table th{background:var(--vg-wine-soft)}
.vg-lang a.vg-lang-link{border:1px solid var(--vg-line);background:#fff;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600;color:var(--vg-muted);text-decoration:none}
.vg-lang a.vg-lang-link.is-active{background:var(--vg-wine);border-color:var(--vg-wine);color:#fff}
.vg-priv-overlay{position:fixed;inset:0;z-index:2147483000;background:rgba(20,10,14,.6);display:flex;align-items:center;justify-content:center;padding:12px;box-sizing:border-box}
.vg-priv-box{background:#fff;color:#222;width:100%;max-width:680px;max-height:92vh;max-height:92dvh;border-radius:16px;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.35);overflow:hidden;font-family:inherit}
.vg-priv-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid #eee}
.vg-priv-title{flex:1;margin:0 !important;font-size:18px !important;line-height:1.25}
.vg-priv-lang{display:flex;gap:4px}
.vg-priv-lang button{border:1px solid #ddd;background:#fff;color:#666;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;cursor:pointer}
.vg-priv-lang button.is-active{background:#7b1a33;border-color:#7b1a33;color:#fff}
.vg-priv-x{border:0;background:#f1f1f1;color:#333;width:34px;height:34px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer}
.vg-priv-content{padding:6px 18px 14px;overflow:auto;-webkit-overflow-scrolling:touch;font-size:14px;color:#333}
.vg-priv-content .vg-priv-table table{min-width:480px;font-size:13px}
.vg-priv-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #eee}
.vg-priv-ok{width:100%;border:0;border-radius:999px;background:#7b1a33;color:#fff;font-weight:700;font-size:15px;padding:13px;cursor:pointer}
body.vg-priv-open{overflow:hidden}
@media (prefers-color-scheme: dark){
html:not([data-vg-theme="light"]) .vg-priv-box{background:#1f1d1e;color:#ece8e9}
html:not([data-vg-theme="light"]) .vg-priv-head,html:not([data-vg-theme="light"]) .vg-priv-foot{border-color:#3a3537}
html:not([data-vg-theme="light"]) .vg-priv-content{color:#d6d0d2}
html:not([data-vg-theme="light"]) .vg-priv-x,html:not([data-vg-theme="light"]) .vg-priv-lang button:not(.is-active){background:#2b2729;color:#ddd;border-color:#4a4446}
}
html[data-vg-theme="dark"] .vg-priv-box{background:#1f1d1e;color:#ece8e9}
html[data-vg-theme="dark"] .vg-priv-head,html[data-vg-theme="dark"] .vg-priv-foot{border-color:#3a3537}
html[data-vg-theme="dark"] .vg-priv-content{color:#d6d0d2}
html[data-vg-theme="dark"] .vg-priv-x,html[data-vg-theme="dark"] .vg-priv-lang button:not(.is-active){background:#2b2729;color:#ddd;border-color:#4a4446}

/* ---- check-in button: the theme restyles <button>; keep the label readable everywhere ---- */
button.vg-checkin-btn,button.vg-checkin-btn:hover,button.vg-checkin-btn:focus,button.vg-checkin-btn:active,
button.vg-checkin-btn .vg-checkin-label,button.vg-checkin-btn .vg-pin{color:#fff !important;opacity:1 !important;text-shadow:none !important;-webkit-text-fill-color:#fff !important}
button.vg-checkin-btn{background:#7b1a33 !important;font-weight:700;letter-spacing:0;text-transform:none}
button.vg-checkin-btn[disabled],button.vg-checkin-btn[disabled] .vg-checkin-label,button.vg-checkin-btn[disabled] .vg-pin{background:#e6e1e3 !important;color:#4a4044 !important;-webkit-text-fill-color:#4a4044 !important;opacity:1 !important}
html[data-vg-theme="dark"] button.vg-checkin-btn:not([disabled]){background:#a8284a !important}
html[data-vg-theme="dark"] button.vg-checkin-btn[disabled],html[data-vg-theme="dark"] button.vg-checkin-btn[disabled] .vg-checkin-label{background:#3a3537 !important;color:#d6d0d2 !important;-webkit-text-fill-color:#d6d0d2 !important}
@media (prefers-color-scheme: dark){
html:not([data-vg-theme="light"]) button.vg-checkin-btn:not([disabled]){background:#a8284a !important}
html:not([data-vg-theme="light"]) button.vg-checkin-btn[disabled],html:not([data-vg-theme="light"]) button.vg-checkin-btn[disabled] .vg-checkin-label{background:#3a3537 !important;color:#d6d0d2 !important;-webkit-text-fill-color:#d6d0d2 !important}
}

/* ranking */
.vg-rank-list{list-style:none;margin:14px 0;padding:0;display:grid;gap:10px}
.vg-rank-row{display:flex;align-items:center;gap:12px;margin:0;padding:12px 14px}
.vg-rank-n{flex:0 0 30px;font-size:20px;font-weight:700;color:var(--vg-muted);text-align:center}
.vg-rank-row.is-top .vg-rank-n{color:var(--vg-wine)}
.vg-rank-img{width:48px;height:64px;object-fit:contain;flex:0 0 48px}
.vg-rank-body{flex:1;min-width:0}
.vg-rank-name{font-weight:700;color:var(--vg-ink);text-decoration:none;display:block}
.vg-rank-body small,.vg-rank-score small{display:block;color:var(--vg-muted)}
.vg-rank-body small a{color:inherit}
.vg-rank-score{text-align:right;white-space:nowrap}
.vg-rank-score .vg-stars{color:#e0a100}
.vg-rank-demo{background:#fff3cd;color:#664d03;border-radius:8px;padding:8px 12px;font-size:14px}
.vg-rank-tag{color:#b45309}
.vg-rank-how{font-size:13px}
@media (max-width:480px){.vg-rank-img{display:none}.vg-tabs{flex-wrap:wrap}}

/* language switch + translated reviews */
.vg-lang-pill{position:fixed;left:12px;bottom:12px;z-index:9990;background:#fff;border:1px solid var(--vg-line,#ddd);border-radius:999px;padding:6px 12px;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.vg-lang-pill a,.vg-lang-inline a{text-decoration:none;font-weight:600;font-size:14px;color:inherit}
.vg-lang-inline{display:inline-block;margin:0 12px}
.vg-tr-note{display:block;font-size:12px;color:#777;margin-top:4px}
.vg-tr-note a{color:inherit;text-decoration:underline}
.vg-tr-orig{margin-top:6px;padding:8px 10px;border-left:3px solid #ddd;font-size:14px;color:#555}
html[data-vg-theme="dark"] .vg-lang-pill{background:#1d1a1b;color:#ece8e9;border-color:#3a3436}
.vg-lang-pair{display:inline-flex;align-items:center;gap:8px;margin-right:14px;font-size:14px;font-weight:600;white-space:nowrap}
.vg-lang-pair a{text-decoration:none;color:inherit;opacity:.6}
.vg-lang-pair a:hover{opacity:1}
.vg-lang-pair .vg-lang-cur{color:var(--vg-wine,#6b1f2a)}
.vg-lang-pair .vg-lang-sep{font-style:normal;opacity:.35}

/* TranslatePress floating flag switcher: not used - the language is switched via the header (desktop) or the burger menu (mobile) */
nav.trp-floating-switcher{display:none!important}
.vg-mobile-lang{display:flex!important;align-items:center;gap:12px;padding:14px 18px!important;font-size:16px;font-weight:600;border-top:1px solid var(--vg-line,#eee);margin-top:6px}
.vg-mobile-lang a{text-decoration:none;color:inherit;opacity:.6}
.vg-mobile-lang .vg-lang-cur{color:var(--vg-wine,#6b1f2a)}
.vg-mobile-lang .vg-lang-sep{font-style:normal;opacity:.35}

/* Age gate */
html.vg-age-open,html.vg-age-open body{overflow:hidden}
.vg-age{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(20,10,14,.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.vg-age-box{width:100%;max-width:380px;background:#fff;color:#2a1a1f;border-radius:18px;padding:30px 24px 24px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.45);font-family:inherit}
.vg-age-box h2{margin:0 0 10px;font-size:24px;line-height:1.25;color:var(--vg-wine,#7a1f34)}
.vg-age-box p{margin:0 0 22px;font-size:15px;line-height:1.5;color:#5b4a50}
.vg-age-btns{display:flex;gap:12px}
.vg-age-btns button{flex:1;padding:13px 0;border-radius:999px;font-size:16px;font-weight:600;cursor:pointer;border:2px solid var(--vg-wine,#7a1f34);font-family:inherit}
.vg-age-yes{background:var(--vg-wine,#7a1f34);color:#fff}
.vg-age-nobtn{background:#fff;color:var(--vg-wine,#7a1f34)}
.vg-age-no{margin-bottom:0!important}
html[data-vg-theme="dark"] .vg-age-box{background:#1d1a1b;color:#ece8e9}
html[data-vg-theme="dark"] .vg-age-box p{color:#b9aeb1}
html[data-vg-theme="dark"] .vg-age-nobtn{background:transparent;color:#ece8e9;border-color:#ece8e9}

/* App shell: bottom tab bar (mobile app only; the splash CSS is inlined by VG_Shell::boot) */
.vg-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:9980;display:flex;background:#fff;border-top:1px solid var(--vg-line,#eadfe2);box-shadow:0 -4px 16px rgba(60,20,30,.08);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px))}
.vg-tabbar.is-hidden{display:none}
.vg-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 2px;color:#8a7a80;text-decoration:none;font-size:11px;font-weight:600;line-height:1.1;-webkit-tap-highlight-color:transparent;position:relative}
.vg-tab svg{display:block;transition:transform .18s ease}
.vg-tab.is-active{color:var(--vg-wine,#7a1f34)}
.vg-tab.is-active svg{transform:translateY(-1px) scale(1.08)}
.vg-tab.is-active::before{content:"";position:absolute;top:-7px;left:50%;width:26px;height:3px;margin-left:-13px;border-radius:0 0 3px 3px;background:var(--vg-wine,#7a1f34)}
html.vg-has-tabbar body{padding-bottom:calc(66px + env(safe-area-inset-bottom,0px))!important}
html.vg-has-tabbar .vg-age{z-index:2147483000}
html[data-vg-theme="dark"] .vg-tabbar{background:#1d1a1b;border-color:#3a3436}
html[data-vg-theme="dark"] .vg-tab{color:#9b8f93}
html[data-vg-theme="dark"] .vg-tab.is-active{color:#e8b4c0}

/* Search filters (/wineries/): simple tappable lists, no nested dropdowns; no "Save search" button */
.panel-dropdown .panel-dropdown-content{height:auto!important;max-height:min(60vh,420px)!important;overflow-y:auto!important;min-height:0!important}
.vg-hidden-select{display:none!important}
.vg-opt-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.vg-opt-list li{padding:11px 14px;border-radius:10px;font-size:15px;color:#4a3d42;cursor:pointer;display:flex;align-items:center;justify-content:space-between;-webkit-tap-highlight-color:transparent}
.vg-opt-list li:hover{background:#f6eef0}
.vg-opt-list li.is-on{background:#fde8ed;color:var(--vg-wine,#7a1f34);font-weight:600}
.vg-opt-list li.is-on::after{content:"✓";font-weight:700}
.listeo-save-search-wrapper,.listeo-save-search-btn{display:none!important}

/* Mobile app: no burger (the bottom tab bar replaces it); lift floating buttons above the tab bar */
html.vg-in-app .lhb-burger,html.vg-in-app .lhb-menu-drawer-trigger,html.vg-in-app .lhb-hb-mobile-backdrop{display:none!important}
html.vg-has-tabbar .vino-route-floating-panel{bottom:calc(84px + env(safe-area-inset-bottom,0px))!important}
html.vg-has-tabbar .vg-fab,html.vg-has-tabbar .vg-checkin-fab,html.vg-has-tabbar [class*="vg-float"]{bottom:calc(84px + env(safe-area-inset-bottom,0px))!important}
html.vg-has-tabbar .vg-toast{bottom:calc(84px + env(safe-area-inset-bottom,0px))}

/* App: no breadcrumbs, no duplicated page headings on My Routes */
html.vg-in-app #breadcrumbs,html.vg-in-app nav.breadcrumbs,html.vg-in-app .breadcrumbs,
html.vg-in-app .vino-saved-routes-back,html.vg-in-app .vino-saved-routes>h2:first-child{display:none!important}
html.vg-in-app #titlebar{padding-top:18px!important;padding-bottom:18px!important}

/* App: no site footer, no dashboard navigation (tab bar replaces both) */
html.vg-in-app #footer,html.vg-in-app footer,html.vg-in-app .footer-new-bottom,
html.vg-in-app .dashboard-responsive-nav-trigger,html.vg-in-app #dashboard-nav,
html.vg-in-app .dashboard-nav,html.vg-in-app .dashboard-nav-inner{display:none!important}
html.vg-in-app #dashboard,html.vg-in-app .dashboard-content{padding-left:0!important;margin-left:0!important}

/* Single wine pages: no blog chrome (title bar, byline, author box) */
body.single-wine #titlebar,body.single-wine .post-meta,body.single-wine .about-author,
body.single-wine .post-navigation .screen-reader-text{display:none!important}

/* Bottle photos: always show the whole bottle (no crop) on wine pages and wine cards */
body.single-wine img.post-img{width:auto!important;max-width:100%!important;height:auto!important;max-height:560px!important;object-fit:contain!important;display:block;margin:0 auto 24px}
body.single-wine .blog-post .post-img,body.single-wine .blog-post .post-img-wrap{background:#f6f4f1;border-radius:12px;text-align:center}
.vino-wine-card-photo{background:#f6f4f1}
.vino-wine-card-photo img{object-fit:contain!important;padding:10px;box-sizing:border-box}

/* Wine page: reviews from Wine Passport */
.vg-reviews{margin:28px 0 8px}
.vg-reviews h3{margin:0 0 6px}
.vg-reviews-sum{margin:0 0 14px;color:#555}
.vg-review-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.vg-review{background:#faf8f6;border:1px solid #eee;border-radius:14px;padding:14px 16px}
.vg-review-head{display:flex;gap:12px;align-items:center}
.vg-review-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:none}
.vg-review .vg-stars{color:#b8860b;letter-spacing:1px}
.vg-review-note{margin:10px 0 0;line-height:1.5}
.vg-review-photo{display:inline-block;margin-top:12px;background:#f1eeea;border-radius:12px;overflow:hidden}
.vg-review-photo img{display:block;max-height:220px;width:auto;max-width:100%;object-fit:contain}
.vg-check{display:flex;align-items:center;gap:8px}
.vg-check input{width:auto}
