/* Venues follows the planner's fixed working scale. Photography is confined to covers. */
#section-venues{--vw-gap:16px}
#venueSummary{margin-bottom:20px}
.vw-workspace{min-width:0;font:400 15px/1.5 var(--font-ui);color:var(--ink)}
.vw-workspace *, .vw-dialog *{box-sizing:border-box}
.vw-workspace button,.vw-dialog button,.vw-workspace input,.vw-dialog input,.vw-workspace select,.vw-dialog select,.vw-dialog textarea{font-family:var(--font-ui)}
.vw-workspace button,.vw-dialog button{cursor:var(--planner-cursor-pointer, pointer)}
.vw-workspace svg,.vw-editor svg{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.vw-workspace h2{font:600 1.8rem/1.2 var(--font-heading);margin:0 0 12px;text-wrap:balance;overflow-wrap:anywhere}
.vw-workspace h3,.vw-dialog h3{font:600 1.15rem/1.3 var(--font-heading);margin:0 0 14px}
.vw-workspace p{margin:6px 0 14px;overflow-wrap:anywhere}
.vw-workspace .btn,.vw-dialog .btn{min-height:40px;font-size:.82rem;white-space:normal}
.vw-workspace .btn:disabled,.vw-dialog .btn:disabled{cursor:not-allowed;opacity:.55}
.vw-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.vw-toolbar.planner-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;margin-bottom:20px}
.vw-toolbar-start{display:flex;align-items:center;gap:12px;min-width:0}
.vw-view,.vw-criteria-tabs,.vw-context-tabs,.vw-venue-switch{display:flex;align-items:center;gap:4px}
.vw-view button,.vw-criteria-tabs button,.vw-context-tabs button,.vw-venue-switch button{border:0;border-radius:var(--radius-control);background:transparent;color:var(--ink);font:600 .82rem/1.3 var(--font-ui);min-height:38px;padding:8px 12px;transition:background .18s ease,color .18s ease}
.vw-criteria-tabs button[aria-pressed=true],.vw-context-tabs button[aria-pressed=true],.vw-venue-switch button[aria-pressed=true]{background:var(--accent-soft);color:var(--ink)}
.vw-venue-switch{flex-wrap:wrap}
.vw-venue-switch button{max-width:280px;overflow-wrap:anywhere}
.vw-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 20px;padding:4px 12px 22px;margin-bottom:20px;border-bottom:1px solid var(--border)}
.vw-filters[hidden],.vw-dialog [hidden]{display:none!important}
.vw-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}
.vw-option{position:relative;border:1px solid var(--border);border-radius:var(--radius-surface,8px);overflow:hidden;background:var(--surface);min-width:0;transition:border-color .18s ease,background .18s ease}
.vw-option:hover,.vw-option:focus-within{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}
.vw-photo-button,.vw-detail-photo{display:block;width:100%;padding:0;border:0;background:var(--surface-alt);color:var(--ink);overflow:hidden}
.vw-cover{display:block;position:relative;overflow:hidden;aspect-ratio:3/2;background:var(--surface-alt);color:var(--ink-muted)}
.vw-cover img{display:block;width:100%;height:100%;object-fit:cover;transform-origin:center}
.vw-cover-empty{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.86rem}
.vw-cover-empty svg{width:20px;height:20px}
.vw-cover-failed{display:grid;place-items:center;min-height:80px}
.vw-cover-failed img{font:400 .85rem/1.5 var(--font-ui);height:auto;transform:none!important;filter:none!important}
.vw-option-body{padding:16px}
.vw-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:.8rem;color:var(--ink-muted)}
.vw-status{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;color:var(--ink)}
.vw-status[data-status=Booked]{color:var(--success)}
.vw-status[data-status=Chosen]{font-weight:700}
.vw-name{display:block;text-align:left;padding:0;border:0;background:transparent;color:var(--ink);font:600 1.2rem/1.3 var(--font-heading)!important;margin:8px 0 4px;overflow-wrap:anywhere}
.vw-option p{font-size:.86rem;color:var(--ink-muted)}
.vw-option-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 12px}
.vw-option-facts .vw-fact:last-child{grid-column:1/-1}
.vw-fact{min-width:0}
.vw-fact dt{font-size:.82rem;color:var(--ink-muted);margin:0 0 4px}
.vw-fact dd{margin:0;color:var(--ink);overflow-wrap:anywhere;white-space:pre-line}
.vw-missing,.vw-fact dd.vw-missing{color:var(--ink-muted)}
.vw-option .vw-inclusions{min-height:40px;margin-bottom:14px}
.vw-option-actions{display:flex;align-items:center;justify-content:space-between;gap:4px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:10px}
.vw-check{display:flex;align-items:center;gap:8px;min-height:44px;font-size:.86rem;cursor:var(--planner-cursor-pointer, pointer);color:var(--ink)}
.vw-check input,.vw-table input,.vw-directory-row input{flex-shrink:0;width:18px;height:18px;accent-color:var(--accent)}
.vw-options-compact{display:flex;flex-direction:column;gap:0}
.vw-option-compact{display:grid;grid-template-columns:140px minmax(0,1fr);width:100%;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:16px 0;background:transparent}
.vw-option-compact .vw-photo-button{align-self:start;border-radius:var(--radius-surface)}
.vw-option-compact .vw-option-body{padding:0 0 0 18px}
.vw-option-compact .vw-option-facts{display:flex;flex-wrap:wrap;margin:8px 0;gap:16px}
.vw-option-compact .vw-inclusions{display:none}
.vw-table-wrap{border:1px solid var(--border);border-radius:var(--radius-surface);overflow:hidden}
.vw-table{width:100%;table-layout:fixed;border-collapse:collapse;background:var(--surface);font-size:.9rem}
.vw-table th{text-align:left;font:600 .78rem/1.3 var(--font-ui);color:var(--ink-muted);background:var(--surface-alt);padding:14px 10px}
.vw-table td{padding:14px 10px;border-top:1px solid var(--border);vertical-align:middle;overflow-wrap:anywhere}
.vw-table th:first-child{width:70px}.vw-table th:nth-child(2){width:25%}.vw-table th:last-child{width:120px}
.vw-table .vw-name{font:600 .95rem/1.4 var(--font-ui)!important;margin:0}
.vw-table small{display:block;color:var(--ink-muted);margin-top:4px}
.vw-table tbody tr:hover{background:var(--surface-alt)}
.vw-table .btn{padding:4px 6px;min-height:36px}
.vw-table .vw-status{display:block}
.vw-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.vw-section-head h3,.vw-section-head p{margin:0}
.vw-empty{padding:48px 20px;text-align:center;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-surface)}
.vw-notice{padding:12px 0;border-bottom:1px solid var(--border);margin:0 0 18px;color:var(--ink)}
.vw-group{margin-bottom:24px}
.vw-group>summary,.vw-alternatives>summary,.vw-detail-section>summary{cursor:var(--planner-cursor-pointer, pointer);font:600 1.1rem/1.4 var(--font-ui);min-height:48px;padding:12px 0;color:var(--ink)}
.vw-alternatives{margin-top:28px;border-top:1px solid var(--border)}
.vw-alternatives>summary span,.vw-group>summary span{font-weight:400;color:var(--ink-muted);margin-left:8px}
.vw-detail{background:var(--glass-bg,var(--surface));border:1px solid var(--border);border-radius:var(--radius-panel);overflow:hidden}
.vw-detail-header{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;padding:20px;border-bottom:1px solid var(--border)}
.vw-detail-photo .vw-cover{height:140px;aspect-ratio:auto;border-radius:var(--radius-surface)}
.vw-detail-heading{padding:0;align-self:center;min-width:0}
.vw-detail-heading h2{margin:6px 0;font-size:1.5rem}
.vw-detail-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;padding:0 20px 16px}
.vw-detail-main,.vw-detail-aside{min-width:0}
.vw-detail-section{padding:18px 0;border-bottom:1px solid var(--border);min-width:0}
.vw-detail-section:last-child{border-bottom:0}
.vw-detail-section>summary{padding:0;font-size:1.15rem;font-family:var(--font-heading);min-height:32px}
.vw-detail-section[open]>summary{margin-bottom:16px}
.vw-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;margin:0 0 8px}
.vw-contact{margin:0}
.vw-contact strong,.vw-contact small{display:block;overflow-wrap:anywhere}
.vw-contact small,.vw-caption{color:var(--ink-muted);font-size:.86rem;line-height:1.5}
.vw-contact .vw-actions{margin-top:6px}
.vw-contact .btn{display:inline-flex;align-items:center;gap:6px;text-decoration:none;text-align:left;overflow-wrap:anywhere;max-width:100%}
.vw-linked-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:10px 0;border-bottom:1px solid var(--border)}
.vw-linked-row>span{flex:1;min-width:100px;overflow-wrap:anywhere}.vw-linked-row small{display:block;font-size:.8rem;color:var(--ink-muted)}
.vw-comparison{padding:20px;color:var(--ink);font:400 15px/1.5 var(--font-ui)}
.vw-criteria-tabs{margin:20px 0}
.vw-comparison-grid{display:grid;grid-template-columns:130px repeat(var(--vw-compare-count),minmax(0,1fr));margin:18px 0 24px}
.vw-comparison-header,.vw-comparison-cell,.vw-comparison-label{padding:14px 12px;border-bottom:1px solid var(--border);min-width:0;overflow-wrap:anywhere}
.vw-comparison-label{font-size:.84rem;color:var(--ink-muted);align-content:center}
.vw-comparison-header h3{margin:12px 0 6px;overflow-wrap:anywhere}
.vw-comparison-header .vw-cover{border-radius:var(--radius-surface)}
.vw-comparison-header .btn{display:block;margin-top:12px;width:100%}
.vw-comparison-cell{font-size:.9rem;white-space:pre-line}
.vw-phone-label{display:none}
.vw-stats-carousel{min-width:0}
.vw-stats{--vw-stats-visible:4;display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-padding-inline:22px;margin:-22px;padding:22px;}
.vw-stats::-webkit-scrollbar{display:none}
.vw-stat.stat{box-shadow:none;background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;flex:0 0 calc((100% - 42px)/4);min-width:0;min-height:148px;padding:18px 12px;scroll-snap-align:start;border-radius:var(--radius-surface);transition:transform .18s ease,background .18s ease}
.vw-stat .stat-label{font:600 .85rem/1.3 var(--font-ui);text-transform:none;letter-spacing:normal;color:var(--ink-muted)}
.vw-stat .stat-value{font:600 1.65rem/1.2 var(--font-heading);margin:10px 0 8px;overflow-wrap:anywhere;text-transform:none;max-width:100%}
.vw-stat .stat-sub{font:400 .8rem/1.4 var(--font-ui);color:var(--ink-muted);overflow-wrap:anywhere}
.vw-stat-dots{display:flex;justify-content:center;gap:3px;min-height:12px;margin-top:4px}
.vw-stat-dots button{position:relative;width:32px;height:32px;border:0;background:none;cursor:var(--planner-cursor-pointer, pointer)}
.vw-stat-dots button::before{content:'';display:block;margin:auto;width:6px;height:6px;border-radius:999px;background:var(--border)}
.vw-stat-dots button[aria-current=true]::before{background:var(--accent);width:18px}
.vw-field{position:relative;display:flex;flex-direction:column;gap:5px;min-width:0;color:var(--ink)}
.vw-field>span{display:flex;align-items:center;gap:6px;font-size:.82rem;font-weight:600;color:var(--ink-muted)}
.vw-workspace .vw-field input:not([type=range]),.vw-workspace .vw-field select,.vw-editor .vw-field input:not([type=range]),.vw-editor .vw-field select,.vw-editor .vw-field textarea{width:100%;min-width:0;min-height:40px;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:7px 2px;background:transparent;color:var(--ink);font:400 15px/1.5 var(--font-ui);box-shadow:none;transition:border-color .18s ease,background .18s ease}
.vw-field input:hover,.vw-field select:hover,.vw-field textarea:hover{border-bottom-color:var(--ink-muted)}
.vw-field input:focus,.vw-field select:focus,.vw-field textarea:focus{border-bottom-color:var(--accent);outline:2px solid var(--accent);outline-offset:3px}
.vw-field textarea{resize:vertical;min-height:76px}
.vw-field input[type=range]{width:100%;height:30px;accent-color:var(--accent)}
.vw-field:has(select)::after{content:"";pointer-events:none;position:absolute;right:8px;bottom:17px;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
.vw-field select{padding-right:26px}
.vw-filters .vw-field:has(select[aria-expanded="true"])::after{transform:rotate(225deg)}
.vw-filters .vw-field select{min-height:44px}
.vw-field-wide{grid-column:1/-1}
.vw-dialog.modal{width:min(640px,calc(100vw - 40px));max-width:640px;padding:0;max-height:calc(100dvh - 48px);overflow:hidden;background:var(--glass-bg,var(--surface));color:var(--ink)}
.vw-dialog .guest-editor-banner,.vw-compare-dialog .guest-editor-banner{margin:0!important;flex-shrink:0}
.vw-editor{display:flex;flex-direction:column;min-height:0;max-height:calc(100dvh - 120px);font:400 15px/1.5 var(--font-ui)}
.vw-editor-head{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--border);flex-shrink:0}
.vw-editor-head h2{margin:0;font:600 1.6rem/1.25 var(--font-heading)}
.vw-editor-head p{margin:4px 0 0;color:var(--ink-muted);font-size:.86rem}
.vw-editor-head .modal-close-x{position:static;flex-shrink:0}
.vw-editor-layout{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.vw-editor-form{padding:0 24px 24px;overflow-y:auto;overscroll-behavior:contain;min-height:0}
.vw-editor-section{padding:16px 0;border-bottom:1px solid var(--border);scroll-margin-top:65px}
.vw-editor-section:last-child{border:0}
.vw-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
.vw-editor-context{display:none;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.vw-editor[data-context=open] .vw-editor-form{display:none}
.vw-editor[data-context=open] .vw-editor-context{display:block}
.vw-editor[data-context=open] .vw-editor-layout{min-height:320px}
.vw-context-head{background:transparent;padding:10px 20px;border-bottom:1px solid var(--border)}
.vw-context-body{padding:20px;min-width:0}
.vw-context-back{display:inline-flex}
.vw-editor-footer{flex-shrink:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:14px 24px;border-top:1px solid var(--border);background:transparent}
.vw-footer-spacer{flex:1}
.vw-editor-footer [data-verror]{width:100%;margin:0;color:var(--danger);font-size:.86rem}
.vw-editor-footer [data-verror]:empty{display:none}
.vw-date-open{position:absolute;right:0;bottom:0;width:40px;height:40px;display:grid;place-items:center;border:0;background:transparent;color:var(--ink-muted)}
.vw-editor .vw-field input[type=date]{padding-right:42px}
.vw-editor input[type=date]::-webkit-calendar-picker-indicator{display:none}
.vw-date-host{margin:16px 0}
.vw-date-host .themed-date-picker.is-embedded{width:100%;max-width:100%;box-shadow:none}
.vw-stat-meter{display:block;width:80px;height:3px;border-radius:3px;background:var(--border);margin-top:12px;overflow:hidden}
.vw-stat-meter i{display:block;height:100%;background:var(--accent);border-radius:inherit}
.vw-photo-preview .vw-cover{aspect-ratio:2.6;max-height:180px}
.vw-photo-preview{border-radius:var(--radius-surface);overflow:hidden;margin-bottom:14px}
.vw-photo-library{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}
.vw-library-choice{position:relative;min-width:0;padding:0;border:2px solid transparent;border-radius:var(--radius-surface);overflow:hidden;background:var(--surface);color:var(--ink);text-align:left}
.vw-library-choice img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.vw-library-choice>span:not(.vw-library-check){display:block;font-size:.78rem;padding:6px;line-height:1.3}
.vw-library-choice[aria-pressed=true]{border-color:var(--accent)}
.vw-library-check{display:none;position:absolute;top:4px;right:4px;background:var(--accent);color:var(--accent-on);border-radius:50%;width:22px;height:22px;text-align:center}
.vw-library-choice[aria-pressed=true] .vw-library-check{display:block}
.vw-photo-filters{display:flex;gap:6px;overflow:auto;padding:4px;margin:12px -4px}
.vw-photo-filters>button{border:2px solid transparent;padding:8px 12px;min-height:40px;flex:0 0 auto;font-size:.82rem;border-radius:var(--radius-control);background:var(--surface);color:var(--ink)}
.vw-photo-filters>button[aria-pressed=true]{border-color:var(--accent)}
.vw-upload{display:flex;flex-direction:column;gap:12px;padding:20px 0}
.vw-upload input{max-width:100%;font-size:.86rem}
.vw-directory-group{margin-top:18px}
.vw-directory-row{display:flex;align-items:center;gap:12px;min-height:54px;padding:10px 0;border-bottom:1px solid var(--border);cursor:var(--planner-cursor-pointer, pointer)}
.vw-directory-row>span:not(.vw-avatar){flex:1;min-width:0}
.vw-directory-row strong,.vw-directory-row small{display:block;overflow-wrap:anywhere}
.vw-directory-row small{color:var(--ink-muted);font-size:.8rem}
.vw-directory-row:has(:checked){background:var(--accent-soft)}
.vw-avatar{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border-radius:50%;background:var(--surface);font-size:.75rem}
.vw-selected-contact{display:inline-block;padding:5px 8px;margin:10px 6px 0 0;font-size:.8rem;background:var(--accent-soft);border-radius:var(--radius-control)}
.vw-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px;margin-bottom:18px}
.vw-choice-list{display:flex;flex-direction:column;gap:12px;margin:20px 0}
.vw-choice-list button{text-align:left;justify-content:start;white-space:normal;min-height:60px}
.vw-choice-list small{display:block;font-weight:400;margin-top:4px}

.vw-contact-strip{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:16px 20px;border-bottom:1px solid var(--border)}
.vw-linked-details{grid-column:1/-1}
.vw-record-menu{position:relative;font:500 .82rem/1.4 var(--font-ui)}
.vw-record-menu summary{cursor:var(--planner-cursor-pointer, pointer);padding:10px;min-height:40px}
.vw-record-menu>div{display:flex;flex-wrap:wrap;gap:4px}
.vw-venue-switch:empty{display:none}
.vw-venue-switch{margin-bottom:12px}
.vw-editor-section>summary{cursor:var(--planner-cursor-pointer, pointer);min-height:28px;display:list-item;font:600 .9rem/1.5 var(--font-ui);color:var(--ink)}
.vw-editor-section[open]>summary{margin-bottom:18px}
.vw-more-details{padding:14px 0}
.vw-more-details>summary{cursor:var(--planner-cursor-pointer, pointer);min-height:28px;font:600 .9rem/1.5 var(--font-ui)}
.vw-more-details>summary span{font-weight:400;color:var(--ink-muted);margin-left:8px}
.vw-add-short{display:none}
.vw-toolbar .btn{display:inline-flex;align-items:center;gap:6px}
.vw-cover-control{margin-top:18px}
.vw-cover-trigger{display:flex;align-items:center;gap:12px;border:0;background:transparent;color:var(--ink);padding:0;font:500 .85rem/1.4 var(--font-ui)}
.vw-cover-trigger [data-vcover-small]{display:block;width:80px;border-radius:var(--radius-control);overflow:hidden}
.vw-cover-trigger .vw-cover{aspect-ratio:1.6}
.vw-cover-trigger .vw-cover-empty span{display:none}
.vw-compare-tray{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;margin-bottom:18px;border-bottom:1px solid var(--border)}
.vw-compare-tray p{margin:4px 0 0}
.vw-compare-dialog.modal{display:flex;flex-direction:column;overflow:hidden;width:min(1100px,calc(100vw - 32px));max-width:1100px;padding:0;background:var(--glass-bg,var(--surface))}
.vw-compare-dialog .guest-editor-banner{flex-shrink:0}
.vw-compare-dialog .vw-comparison{min-height:0;overflow-y:auto}
.vw-compare-pair{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.vw-comparison summary{cursor:var(--planner-cursor-pointer, pointer);min-height:44px;padding:12px 0;font-weight:600}
.vw-comparison h2{margin:0;font:600 1.5rem/1.2 var(--font-heading)}
.vw-compare-dialog svg{width:16px;height:16px;fill:none;stroke:currentColor}
.vw-comparison .vw-field select{width:100%;min-height:44px;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--border);font:inherit}
@media(max-width:1200px){
 .vw-options{grid-template-columns:repeat(2,minmax(0,1fr))}
 .vw-toolbar.planner-toolbar{gap:8px}.vw-toolbar-start{gap:8px}
 .vw-toolbar .btn{padding-left:10px;padding-right:10px}
 .vw-comparison-grid{grid-template-columns:90px repeat(var(--vw-compare-count),minmax(0,1fr))}
 .vw-comparison-header,.vw-comparison-cell,.vw-comparison-label{padding:12px 8px}
}
@media(max-width:1050px){
 .vw-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
 .vw-dialog.modal{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:var(--radius-panel)}
 .vw-editor{max-height:calc(100dvh - 85px)}
 .vw-editor-head{padding:14px 16px}.vw-editor-head h2{font-size:1.4rem}
 .vw-editor-form{padding:0 16px 18px}
 .vw-context-head{padding:8px 14px}.vw-context-body{padding:16px}
 .vw-editor-footer{padding:12px;gap:8px}.vw-editor-footer .btn{min-height:44px}
 .vw-field-grid{gap:16px 14px}
 .vw-editor .vw-field input:not([type=range]),.vw-editor .vw-field select,.vw-editor .vw-field textarea{font-size:16px}
 .vw-editor .vw-context-tabs button{min-height:44px;padding:8px}
 .vw-compare-pair{display:grid}
 .vw-comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .vw-comparison-label{display:none}.vw-phone-label{display:block;font-size:.76rem;color:var(--ink-muted);margin-bottom:6px}
 .vw-comparison-header h3{font:600 1rem/1.3 var(--font-heading)}
 .vw-comparison-header,.vw-comparison-cell{padding:12px 8px}
 .vw-comparison{padding:14px}
 .vw-comparison .btn{min-height:44px;white-space:normal}
}
@media(max-width:600px){
 #venueSummary{margin-bottom:16px}
 .vw-stats{--vw-stats-visible:2;gap:10px}.vw-stat.stat{flex-basis:calc((100% - 10px)/2);min-height:148px;padding:14px 10px}.vw-stat .stat-value{font-size:1.35rem}.vw-stat-dots button{width:44px;height:40px}
 .vw-toolbar.planner-toolbar{padding:8px;gap:4px;flex-wrap:wrap}
 .vw-toolbar-start{gap:2px;flex:0 0 auto}
 .vw-toolbar [data-va="filters"],.vw-toolbar [data-va="compare-start"]{width:44px;justify-content:center;padding:8px}
 .vw-toolbar .vw-action-label{display:none}
 .vw-toolbar [data-va="add"]{white-space:nowrap;min-width:44px;justify-content:center;gap:0}
 .vw-toolbar>.vw-actions{gap:0;flex:0 0 auto;flex-wrap:nowrap}
 .vw-toolbar .btn{min-height:44px;padding:7px;font-size:.76rem}
 .vw-options{display:flex;flex-direction:column;gap:14px}.vw-option{display:grid;grid-template-columns:88px minmax(0,1fr);border:1px solid var(--border);border-radius:var(--radius);padding:14px;width:100%;background:var(--surface)}
 .vw-photo-button{border-radius:var(--radius-surface);align-self:start}.vw-option .vw-cover{aspect-ratio:1}.vw-cover-empty{font-size:.7rem;flex-direction:column;padding:8px;text-align:center}
 .vw-option-body,.vw-option-compact .vw-option-body{padding:0 0 0 12px}.vw-name{font-size:1.05rem!important;margin-top:4px}
 .vw-option-facts{display:flex;flex-wrap:wrap;gap:8px 14px;margin:10px 0}.vw-option-facts dt{font-size:.76rem}.vw-option-facts dd{font-size:.86rem}.vw-option .vw-inclusions{display:none}
 .vw-option-actions{margin-left:-100px;margin-top:14px;padding-top:8px}.vw-option .btn{min-height:44px}
 .vw-filters{grid-template-columns:1fr 1fr;gap:16px;padding:0 4px 20px}
 .vw-venue-switch button{max-width:100%;min-height:44px}
 .vw-detail-header{grid-template-columns:72px minmax(0,1fr);gap:12px;padding:16px}
 .vw-detail-photo{align-self:start;border-radius:var(--radius-surface)}.vw-detail-photo .vw-cover{height:88px}
 .vw-detail-heading h2{font-size:1.3rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
 .vw-detail-heading p{font-size:.85rem}
 .vw-detail-heading .vw-actions{margin-top:10px}
 .vw-detail-layout{grid-template-columns:1fr;padding:0 16px 12px;gap:0}
 .vw-contact-strip{padding:14px 16px}
 .vw-facts{gap:12px}.vw-detail .btn{min-height:44px}
 .vw-compare-tray{align-items:flex-start;flex-direction:column}
}
@media(max-width:360px){
 .vw-field-grid,.vw-facts{grid-template-columns:1fr}.vw-field-wide{grid-column:auto}
 .vw-photo-library{grid-template-columns:1fr 1fr}.vw-check-grid{grid-template-columns:1fr}
 .vw-toolbar .vw-add-short{display:inline}
 .vw-toolbar .vw-add-full{display:none}
}
@media(prefers-reduced-motion:reduce){.vw-workspace *,.vw-dialog *,.vw-compare-dialog *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Venue map and ordering share the planner control scale. */
.vw-order-hint{font:400 .8rem/1.4 var(--font-ui);color:var(--ink-muted);margin:0 0 12px!important}
.vw-card-tools{position:absolute;z-index:2;left:10px;right:10px;top:10px;display:flex;justify-content:space-between;align-items:center;gap:8px;pointer-events:none}
.vw-card-tools button{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;gap:0;min-width:38px;min-height:38px;padding:8px;border:1px solid var(--glass-edge,var(--border));border-radius:var(--radius-pill);background:var(--glass-bg-strong,var(--surface));color:var(--ink);font:600 .8rem/1.3 var(--font-ui)}
.vw-card-tools svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.vw-drag-handle{cursor:grab!important;touch-action:none}
.vw-drag-handle:disabled{cursor:var(--planner-cursor-default, default)!important;opacity:.55}
.vw-card-edit span{max-width:0;overflow:hidden;opacity:0;white-space:nowrap;transition:max-width 240ms cubic-bezier(.4,0,.2,1),opacity 200ms ease-out,margin 240ms cubic-bezier(.4,0,.2,1)}
.vw-option:hover .vw-card-edit span,.vw-option:focus-within .vw-card-edit span{max-width:110px;margin-left:7px;opacity:1}
.vw-dragging{opacity:.4}
.vw-drag-ghost{position:fixed!important;z-index:var(--z-modal,1000);pointer-events:none!important;opacity:.92;max-height:420px;overflow:hidden;transform:rotate(1deg);box-shadow:var(--shadow-lg)}
.vw-drop-before::after,.vw-drop-after::after{content:'';position:absolute;inset-block:0;width:3px;background:var(--accent);z-index:3;pointer-events:none}
.vw-drop-before::after{left:0}.vw-drop-after::after{right:0}
.vw-order-menu{position:fixed;inset:auto;margin:0;width:180px;padding:6px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--glass-bg-strong,var(--surface));color:var(--ink);z-index:var(--z-popover,1100)}
.vw-order-menu button{display:block;width:100%;padding:12px;border:0;border-radius:var(--radius-control);text-align:left;background:transparent;color:var(--ink);font:500 .85rem/1.3 var(--font-ui);cursor:var(--planner-cursor-pointer, pointer)}
.vw-order-menu button:hover,.vw-order-menu button:focus-visible{background:var(--accent-soft)}.vw-order-menu button:disabled{opacity:.45}
.vw-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:18px;align-items:start}
.vw-map-canvas,.vw-location-map{height:440px;min-width:0;isolation:isolate;border-radius:var(--radius-surface);background:var(--surface-alt);border:1px solid var(--border);overflow:hidden}
[data-venue-map-surface].leaflet-container .leaflet-tile-pane{filter:var(--venue-tile-filter,none)}
/* Map tiles are a continuous raster, not the planner's framed content images. */
[data-venue-map-surface].leaflet-container img.leaflet-tile{padding:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;outline:0!important;mix-blend-mode:normal;max-width:none!important;max-height:none!important}
[data-venue-map-surface][data-appearance=dark]{--venue-tile-filter:invert(1) hue-rotate(180deg) saturate(.5) brightness(.85)}
[data-venue-map-surface][data-appearance=minimal]{--venue-tile-filter:grayscale(1) saturate(0) contrast(.8) brightness(1.08)}
[data-venue-map-surface].leaflet-container .leaflet-control-attribution{font:400 10px/1.4 var(--font-ui);background:var(--surface);color:var(--ink);max-width:100%}
[data-venue-map-surface].leaflet-container .leaflet-control-attribution a{color:var(--ink)}
[data-venue-map-surface].leaflet-container .leaflet-control-zoom{border:1px solid var(--glass-edge,var(--border));border-radius:var(--radius-control);overflow:hidden;box-shadow:none;backdrop-filter:blur(16px)}
[data-venue-map-surface].leaflet-container .leaflet-control-zoom a{width:38px;height:38px;line-height:38px;font:400 22px/38px var(--font-ui);background:var(--glass-bg-strong,var(--surface));color:var(--ink);border-color:var(--border)}
[data-venue-map-surface].leaflet-container .leaflet-control-zoom a:hover{background:var(--accent-soft)}
.vw-map-marker{background:none;border:0}
.vw-map-pin{display:grid;place-items:center;width:34px;height:34px;border:2px solid var(--ink);border-radius:50%;background:var(--surface);color:var(--ink);font:700 15px/1 var(--font-ui)}
.vw-map-pin.is-selected{background:var(--accent);color:var(--accent-on);border-color:var(--accent)}
.vw-map-pin.is-approximate{border-style:dashed}
.vw-map-marker:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.vw-map-places{border:1px solid var(--border);border-radius:var(--radius-surface);padding:0 14px;background:var(--glass-bg,var(--surface));min-width:0;max-height:440px;overflow-y:auto}
.vw-map-places>summary{cursor:var(--planner-cursor-pointer, pointer);font:600 .86rem/1.4 var(--font-ui);padding:16px 0;min-height:48px}
.vw-map-places h3{font:500 .78rem/1.4 var(--font-ui);color:var(--ink-muted);padding:16px 0 6px;margin:0}
.vw-map-places h3 span{font-weight:400;color:var(--ink-muted)}
.vw-map-place{border-top:1px solid var(--border);padding:10px 0}
.vw-map-place>button:first-child{display:flex;align-items:center;gap:10px;text-align:left;width:100%;background:none;border:0;color:var(--ink);padding:4px 0;min-height:44px;cursor:var(--planner-cursor-pointer, pointer);font:400 .84rem/1.4 var(--font-ui)}
.vw-map-place strong,.vw-map-place span{display:block;overflow-wrap:anywhere}.vw-map-place span{font-size:.78rem;color:var(--ink-muted);margin-top:3px}
.vw-map-place>button:first-child:hover,.vw-map-place>button:first-child:focus-visible{background:var(--accent-soft);border-radius:var(--radius-control)}
.vw-map-place .vw-map-place-photo{flex:0 0 42px;width:42px;margin:0;overflow:hidden;border-radius:var(--radius-control)}
.vw-map-place-photo .vw-cover{aspect-ratio:1}.vw-map-place-photo .vw-cover-empty span{display:none}
.vw-map-place .vw-map-place-identity{min-width:0;margin:0}.vw-map-place-identity strong{color:var(--ink);font-weight:600;font-size:.84rem}
.vw-map-place>.btn{margin:4px 0 0 52px;min-height:36px;padding:4px 8px;font-size:.76rem}
.vw-map-stage{position:relative;min-width:0}
.vw-map-preview{position:absolute;z-index:1;left:14px;right:14px;bottom:30px;width:calc(100% - 28px);max-width:520px;padding:4px 16px;max-height:260px;overflow:auto;border:1px solid var(--glass-edge,var(--border));border-radius:var(--radius-surface);background:var(--glass-bg-strong,var(--surface));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.vw-map-preview-close{position:absolute;top:6px;right:6px;z-index:2;width:36px;height:36px;border:0;border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);font-size:22px;cursor:var(--planner-cursor-pointer, pointer)}
.vw-map-preview-item h3{padding-right:30px;text-transform:none;letter-spacing:normal}
.vw-map-preview-item{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid var(--border)}
.vw-map-preview-item:last-child{border-bottom:0}.vw-map-preview-item .vw-actions{gap:4px;margin-top:10px}.vw-map-preview-item .vw-actions .btn{padding:6px 8px;min-height:34px;font-size:.76rem;text-decoration:none}.vw-map-preview-item .vw-actions a{background:var(--accent-soft);color:var(--ink)}
.vw-map-preview-cover .vw-cover{aspect-ratio:1;border-radius:var(--radius-control)}
.vw-map-preview-item h3{font:600 1.1rem/1.3 var(--font-heading);margin:0 0 5px;overflow-wrap:anywhere}
.vw-map-preview-item p{font-size:.82rem;margin:4px 0 8px}
.vw-location-dialog.modal{width:min(640px,calc(100vw - 24px));max-width:640px;padding:0;background:var(--glass-bg,var(--surface));overflow:auto}
.vw-location-dialog .guest-editor-banner{margin:0!important}
.vw-location-picker{padding:20px 24px 0;color:var(--ink);font:400 15px/1.5 var(--font-ui)}
.vw-location-picker h2{font:600 1.35rem/1.3 var(--font-heading);text-transform:none;letter-spacing:normal;margin:0}
.vw-location-picker .vw-section-head{margin-bottom:8px}.vw-location-picker .modal-close-x{position:static;flex-shrink:0}.vw-location-picker .btn{font:600 .82rem/1.4 var(--font-ui);min-height:40px}.vw-location-picker .vw-caption{margin:6px 0 12px}.vw-location-picker [data-vlocation-status]:empty{display:none}
.vw-location-dialog .vw-location-picker .vw-field input{border:0;border-bottom:1px solid var(--border);border-radius:0;min-height:44px;background:transparent;color:var(--ink);font:400 16px/1.4 var(--font-ui);width:100%;padding:8px 0;appearance:none;box-shadow:none;background-image:none}
.vw-location-picker [data-vlocation-search]{display:flex;align-items:end;gap:12px;margin:16px 0}
.vw-location-picker [data-vlocation-search] .vw-field{flex:1}
.vw-location-picker footer{position:sticky;bottom:0;z-index:3;background:var(--surface);display:flex;align-items:center;gap:8px;padding:14px 24px;margin:16px -24px 0;border-top:1px solid var(--border)}
.vw-location-picker summary{cursor:var(--planner-cursor-pointer, pointer);font-size:.85rem;min-height:44px;padding:10px 0}
.vw-location-map{height:240px;margin-top:10px}
.vw-location-choice{font-size:.85rem;padding:12px 0;overflow-wrap:anywhere}
.vw-location-results{display:flex;flex-direction:column;max-height:200px;overflow:auto}
.vw-location-result{padding:12px;border:0;border-bottom:1px solid var(--border);background:transparent;text-align:left;cursor:var(--planner-cursor-pointer, pointer);color:var(--ink);font:400 .85rem/1.4 var(--font-ui)}
.vw-location-result strong,.vw-location-result span{display:block;overflow-wrap:anywhere}.vw-location-result span{font-size:.78rem;color:var(--ink-muted)}
.vw-location-result:hover,.vw-location-result[aria-pressed=true]{background:var(--accent-soft)}
@media(max-width:900px){.vw-map-layout{grid-template-columns:minmax(0,1fr) 220px}}
@media(max-width:760px){
 .vw-map-layout{grid-template-columns:1fr;gap:8px}.vw-map-canvas{height:340px}.vw-map-places{max-height:320px}
 .vw-map-preview{max-height:240px;left:8px;right:8px;width:calc(100% - 16px);padding:4px 12px}.vw-map-preview-close{width:44px;height:44px}
 .vw-location-picker{padding:16px 16px 0}.vw-location-map{height:230px}.vw-location-picker footer{flex-wrap:wrap;margin-inline:-16px;padding:12px 16px}.vw-location-picker .btn,.vw-map-preview-item .vw-actions .btn,.vw-map-place>.btn{min-height:44px}
 [data-venue-map-surface].leaflet-container .leaflet-control-zoom a{width:44px;height:44px;line-height:44px}
}
@media(max-width:600px){
 .vw-card-tools{position:static;grid-column:1/-1;grid-row:2;margin:10px 0 0;justify-content:space-between}
 .vw-card-tools button{min-height:44px;min-width:44px}.vw-card-edit span{max-width:none;opacity:1;margin-left:7px}
 .vw-option>.vw-photo-button{grid-column:1;grid-row:1}.vw-option>.vw-option-body{grid-column:2;grid-row:1}
 .vw-drop-before::after,.vw-drop-after::after{width:100%;height:3px;inset-inline:0;inset-block:auto}.vw-drop-before::after{top:0}.vw-drop-after::after{bottom:0}
 .vw-toolbar-start{min-width:0;flex:0 0 100%;width:100%}
 .vw-toolbar .guest-view-switch{margin-inline:0;justify-content:start;width:max-content;max-width:none;overflow:visible}
 .vw-toolbar>.vw-actions{margin-left:auto}
}
@media(max-width:400px){
 .vw-location-picker footer{display:grid;grid-template-columns:1fr 1.35fr;gap:6px 8px}
 .vw-location-picker footer .vw-footer-spacer{display:none}
 .vw-location-picker footer [data-vlocation-remove]{grid-column:1/-1;justify-self:start;padding:4px 8px}
 .vw-location-picker footer [data-vlocation-confirm]{grid-column:2}
}
@media(prefers-reduced-motion:reduce){.vw-card-edit span{transition:none}.vw-drag-ghost{transform:none}}

.vw-address-field{position:relative;min-width:0}
.vw-address-suggestions{position:absolute;z-index:5;top:100%;left:0;right:0;padding:12px;border:1px solid var(--glass-edge,var(--border));border-radius:var(--radius-control);background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:var(--ink)}
.vw-address-suggestions[hidden]{display:none}
.vw-address-suggestions [role=listbox]{max-height:200px;overflow:auto}
.vw-address-suggestions [role=option]{padding:10px;min-height:44px;cursor:var(--planner-cursor-pointer, pointer);border-radius:var(--radius-control);font:400 .85rem/1.4 var(--font-ui);overflow-wrap:anywhere}
.vw-address-suggestions [role=option]:hover,.vw-address-suggestions [aria-selected=true]{background:var(--accent-soft)}
.vw-address-suggestions strong,.vw-address-suggestions small{display:block}.vw-address-suggestions small{color:var(--ink-muted);margin-top:3px}

/* Venue location and appearance use the planner dialog and gallery primitives. */
.vw-location-callout{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:12px 0;border-bottom:1px solid var(--border)}
.vw-location-callout>div{min-width:0}.vw-location-callout .vw-caption{margin:0}.vw-location-callout>button{flex-shrink:0}
.vw-map-link-help .vw-caption{margin:0 0 6px}.vw-map-link-help .btn{padding-left:0}
.vw-map-workspace{position:relative}.vw-map-feedback{position:absolute;top:12px;left:58px;right:12px;z-index:2;display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--glass-bg-strong,var(--surface));backdrop-filter:blur(16px);border-radius:var(--radius-control)}.vw-map-feedback[hidden]{display:none}.vw-map-feedback .vw-caption{margin:0}
[data-venue-map-surface][data-appearance=sage]{--venue-tile-filter:sepia(.35) hue-rotate(35deg) saturate(.6)}
[data-venue-map-surface][data-appearance=sand]{--venue-tile-filter:sepia(.65) saturate(.55)}
[data-venue-map-surface][data-appearance=blush]{--venue-tile-filter:sepia(.3) hue-rotate(125deg) saturate(.55)}
[data-venue-map-surface][data-appearance=lavender]{--venue-tile-filter:hue-rotate(55deg) saturate(.6)}
[data-venue-map-surface][data-appearance=ocean]{--venue-tile-filter:saturate(1.35) contrast(.95)}
.vw-map-appearance-dialog.modal{width:min(560px,calc(100vw - 24px));max-width:560px;padding:0;overflow:auto;background:var(--glass-bg-strong,var(--surface));backdrop-filter:blur(20px)}
.vw-map-appearance-dialog .guest-editor-banner{margin:0!important}.vw-map-appearance-dialog .menu-appearance-heading{padding:20px 24px 12px}
.vw-map-appearance-dialog .menu-appearance-heading h2{font:600 1.5rem/1.25 var(--font-heading);text-transform:none}
.vw-map-palette-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:4px 24px 20px}
.vw-map-palette-grid button{display:flex;flex-direction:column;min-width:0;width:100%;padding:10px;border:1px solid transparent;border-radius:var(--radius-control);background:transparent;color:var(--ink);cursor:var(--planner-cursor-pointer, pointer);transition:border-color 180ms,background 180ms}
.vw-map-palette-grid button:hover{background:var(--surface-alt)}
.vw-map-palette-grid button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.vw-map-colour-swatch{display:flex;width:100%;height:38px;overflow:hidden;border-radius:4px}
.vw-map-colour-swatch i:first-child{width:60%;background:var(--map-land)}.vw-map-colour-swatch i:last-child{flex:1;background:var(--map-water)}
.vw-map-palette-label{display:flex;justify-content:space-between;align-items:center;gap:4px;width:100%;padding-top:8px;font:500 .8rem/1.4 var(--font-ui);text-align:left}
.vw-map-palette-grid button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}
.vw-map-palette-check{visibility:hidden}.vw-map-palette-grid [aria-pressed=true] .vw-map-palette-check{visibility:visible}
.vw-map-ruled-option{margin:0 24px 16px;padding-top:12px;border-top:1px solid var(--border);font-size:.82rem}.vw-map-appearance-dialog .menu-appearance-footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.8rem}
.vw-location-picker .vw-location-results:not(:empty){margin-bottom:12px;border:1px solid var(--border);border-radius:var(--radius-control)}
.vw-address-suggestions{animation:venue-pop-in 180ms ease-out}.vw-order-menu{animation:venue-pop-in 180ms ease-out}
@keyframes venue-pop-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.vw-map-palette-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 16px 16px;gap:10px}.vw-map-appearance-dialog .menu-appearance-heading{padding:18px 16px 10px}.vw-location-callout{align-items:flex-start;flex-wrap:wrap}.vw-toolbar [data-va=map-appearance] span{display:inline}.vw-map-appearance-dialog .menu-appearance-footer{padding:14px 16px}.vw-map-ruled-option{margin:0 16px 14px}}
@media(prefers-reduced-motion:reduce){.vw-address-suggestions,.vw-order-menu{animation:none}.vw-map-palette-grid button{transition:none}}
/* Map 2 is a vector atlas: geography carries colour, planner surfaces carry controls. */
.va-stage{border:1px solid var(--border);border-radius:var(--radius-surface);background:var(--glass-bg,var(--surface));overflow:hidden}
.va-stage .va-canvas{position:relative;width:100%;height:auto;aspect-ratio:1000/550;min-height:260px;border:0;border-radius:0;background:#faf8f4;touch-action:none}
.vw-workspace .va-svg{display:block;width:100%;height:100%;position:absolute;inset:0;max-width:none;fill:none;stroke:none;touch-action:none}
.va-sphere{fill:var(--va-water);stroke:var(--va-border);stroke-width:.65;vector-effect:non-scaling-stroke}
.va-country{fill:var(--va-land);stroke:var(--va-border);stroke-width:.65;vector-effect:non-scaling-stroke;cursor:var(--planner-cursor-pointer, pointer);transition:fill 150ms ease}
.va-country.has-venue{fill:color-mix(in srgb,var(--va-pin) 15%,var(--va-land))}.va-country:hover{fill:color-mix(in srgb,var(--va-pin) 25%,var(--va-land))}
.va-region{fill:transparent;stroke:var(--va-border);stroke-width:.5;vector-effect:non-scaling-stroke;pointer-events:none}.va-region.is-region{fill:color-mix(in srgb,var(--va-pin) 24%,var(--va-land))}
.va-labels{pointer-events:none}.va-labels text{font:500 11px var(--font-ui);fill:var(--ink);paint-order:stroke;stroke:var(--va-land);stroke-width:3px;stroke-linejoin:round}
.va-pin{cursor:var(--planner-cursor-pointer, pointer);outline:none}.va-pin-hit{fill:transparent;stroke:none}.va-pin-dot{fill:var(--va-pin);stroke:var(--surface);stroke-width:2}.va-pin-symbol{fill:var(--surface);stroke:none;font:700 10px var(--font-ui);pointer-events:none}.va-pin-label{fill:var(--ink);paint-order:stroke;stroke:var(--va-land);stroke-width:3px;stroke-linejoin:round;font:600 12px var(--font-ui);pointer-events:none}
.va-pin:hover .va-pin-dot,.va-pin:focus-visible .va-pin-dot{stroke:var(--ink);stroke-width:3}.va-pin:focus-visible .va-pin-hit{stroke:var(--ink);stroke-width:2}
.va-controls{position:absolute;right:12px;bottom:16px;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius-control);background:var(--glass-bg-strong,var(--surface));backdrop-filter:blur(16px)}
.va-controls button{display:grid;place-items:center;width:40px;height:40px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--ink);font:400 22px var(--font-ui)}.va-controls button:last-child{border:0}.va-controls button:hover{background:var(--accent-soft)}
.va-stage .vw-map-preview{max-width:min(520px,calc(100% - 84px));bottom:14px}
.vw-workspace .va-note{position:absolute;left:12px;bottom:8px;right:65px;margin:0;padding:6px 8px;border-radius:var(--radius-control);font:400 .78rem/1.4 var(--font-ui);color:var(--ink);background:var(--glass-bg-strong,var(--surface));pointer-events:none}.va-note:empty{display:none}
.va-colour-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 24px 18px}.va-colour-fields label{display:flex;align-items:center;gap:8px;min-width:0;font:500 .8rem/1.4 var(--font-ui);color:var(--ink)}.va-colour-fields input[type=color]{width:30px;height:32px;padding:2px;border:1px solid var(--border);border-radius:var(--radius-control);background:transparent;cursor:var(--planner-cursor-pointer, pointer)}
@media(max-width:760px){.va-controls button{width:44px;height:44px}.va-controls{top:66px;bottom:auto}.va-stage .vw-map-preview{position:relative;left:0;right:0;bottom:0;width:100%;max-width:none;max-height:260px;border:0;border-top:1px solid var(--border);border-radius:0}.va-colour-fields{grid-template-columns:repeat(2,minmax(0,1fr));margin-inline:16px}.va-colour-fields label{min-height:44px}}
@media(prefers-reduced-motion:reduce){.va-country{transition:none}}

.va-appearance-dialog .vw-map-palette-choice{padding:8px;border:1px solid var(--border);background:var(--surface);overflow:hidden}
.va-appearance-dialog .vw-map-palette-choice[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}
.va-appearance-dialog .va-palette-preview{display:block;width:100%;height:auto;aspect-ratio:2;border-radius:6px;stroke:none}
.va-palette-preview path{fill:var(--preview-land);stroke:var(--ink-muted);stroke-width:.22}.va-palette-preview circle{fill:var(--accent);stroke:var(--surface);stroke-width:1}
.va-appearance-dialog .vw-map-palette-label{padding:8px 2px 1px}

.va-download.menu-preview-glass{position:absolute;right:12px;top:12px;z-index:2}
.va-stage:hover .va-download,.va-stage:focus-within .va-download{opacity:1}
.va-download:disabled{cursor:wait}
@media(hover:none){.va-download.menu-preview-glass{opacity:1}}
@media(prefers-reduced-motion:reduce){.va-download.menu-preview-glass{transition:none}}
