.vg-global{margin:.6rem 0}.vg-global dialog{box-sizing:border-box;width:min(680px,94vw);max-height:78dvh;overflow:auto;z-index:10000;overflow-wrap:anywhere}.vg-global header{display:flex;align-items:center;gap:.5rem;position:sticky;top:-1rem;z-index:1;padding:.5rem 0}.vg-global h2{flex:1}.vg-global label{display:flex;flex-direction:column;gap:.25rem;margin:.5rem 0}.vg-global button{margin:3px}.vg-global [data-results]{max-height:42dvh;overflow:auto}.vg-global ul{list-style:none;padding:0}.vg-global li{padding:.5rem 0}.vg-global li small,.vg-global li span{display:block}.vg-global small,.vg-global .fine{font-size:var(--ios-t-footnote);line-height:var(--ios-lh-footnote)}.vg-global dl>div{padding:.35rem}.vg-global dt{font-weight:600}.vg-global dd{margin:0 .5rem}.vg-scene-location{pointer-events:auto!important;min-height:44px;cursor:pointer}.vg-scene-location:focus-visible{outline:3px solid var(--ios-blue)}.vg-scene-location span{font-size:12px!important;max-width:145px;white-space:normal!important}
.vg-global dialog button,#shared-workshop .vg-global button{white-space:normal;overflow-wrap:anywhere;min-width:0;max-width:calc(100% - 6px);box-sizing:border-box}
/* Shared look from vg-ui.css (also the Workshop's). In Poncheo (#app) the open search is an iOS sheet: grouped background,
   a capsule search field, gray buttons with blue text, 13 px secondary labels, hairline rows. */
#app .vg-global dialog{padding:16px;border:0;border-radius:var(--ios-r);background:var(--ios-bg);color:var(--ios-label);box-shadow:var(--ios-shadow-pop);font:var(--ios-w-regular) var(--ios-t-body)/var(--ios-lh-body) var(--ios-font)}
#app .vg-global dialog::backdrop{background:var(--ios-scrim)}
#app .vg-global dialog header{background:var(--ios-bg);border-bottom:0}
#app .vg-global dialog h2{font:var(--ios-w-semibold) var(--ios-t-headline)/var(--ios-lh-headline) var(--ios-font);color:var(--ios-label)}
#app .vg-global dialog h4{margin:16px 0 6px;font:var(--ios-w-regular) var(--ios-t-footnote)/var(--ios-lh-footnote) var(--ios-font);color:var(--ios-label-2)}
#app .vg-global dialog label{gap:6px;font:var(--ios-w-regular) var(--ios-t-footnote)/var(--ios-lh-footnote) var(--ios-font);color:var(--ios-label-2)}
#app .vg-global dialog input:is([type=search],[type=text]){min-height:var(--ios-hit);padding:10px 14px 10px 38px;border:0;border-radius:var(--ios-r-full);
 background:var(--ios-fill) var(--ios-ic-search) no-repeat 13px center/17px 17px;color:var(--ios-label);caret-color:var(--ios-blue);font:var(--ios-w-regular) var(--ios-t-body)/var(--ios-lh-body) var(--ios-font);box-shadow:none}
#app .vg-global dialog input:is([type=search],[type=text])::placeholder{color:var(--ios-label-2)}
#app .vg-global dialog input:is([type=search],[type=text]):focus{box-shadow:0 0 0 2px var(--ios-blue)}
#app .vg-global dialog button:not(.vg-flow):not(.danger){min-height:var(--ios-hit);padding:0 16px;border:0;border-radius:var(--ios-r);background:var(--ios-fill);color:var(--ios-blue);box-shadow:none;
 font:var(--ios-w-semibold) var(--ios-t-subhead)/var(--ios-lh-subhead) var(--ios-font);transition:filter .12s var(--ios-ease)}
#app .vg-global dialog button:not(.vg-flow):not(.danger):active:not(:disabled){transform:none;filter:brightness(.9)}
#app .vg-global dialog :focus-visible{outline:2px solid var(--ios-blue);outline-offset:2px}
#app .vg-global dialog :is(li,dl>div){border-bottom:.5px solid var(--ios-separator)}
#app .vg-global dialog :is(small,.fine){color:var(--ios-label-2)}
#app .vg-global dialog mark{background:var(--ios-blue-tint);color:inherit;box-shadow:none;border-radius:0}
#app .vg-global dialog .vg-exact{border:0;border-radius:var(--ios-r);background:var(--ios-bg-2);padding:12px var(--ios-gutter)}
/* a result: one row of text in the label colour, the title semibold (not a gray button) */
#app .vg-global [data-results] button[data-nav-ref]:not(.vg-flow):not(.danger){min-height:var(--ios-hit);margin:0;padding:6px 0;background:transparent;color:var(--ios-label);font:var(--ios-w-semibold) var(--ios-t-body)/var(--ios-lh-body) var(--ios-font)}
/* per-type counts of ALL matches: one tap narrows the search to that type (filter chips: gray capsules) */
.vg-gs-kinds{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}
.vg-gs-kinds button{min-height:40px;padding:6px 12px;border-radius:var(--ios-r-full)}
/* the apps' own full-width button skin must not stretch the type chips */
.vg-gs-kinds button,#app .vg-gs-kinds button,#shared-workshop .vg-gs-kinds button{display:inline-flex!important;width:auto!important;flex:0 0 auto!important;min-height:40px;padding:6px 14px!important;margin:0!important}
#app .vg-global dialog .vg-gs-kinds button:not(.vg-flow):not(.danger){position:relative;min-height:32px;border-radius:var(--ios-r-full);color:var(--ios-label);font:var(--ios-w-regular) var(--ios-t-subhead)/var(--ios-lh-subhead) var(--ios-font)}
/* a result title is one line of text: the app button skin (flex + gap) must not split a word around its highlight */
[data-results] button[data-nav-ref]{display:block!important;gap:0!important;text-align:left;white-space:normal}
[data-results] button[data-nav-ref] mark{display:inline;margin:0;padding:0}

/* Poncheo sheet header: the title with a plain «Cerrar» on its row; «Ubicaciones del taller» and the language are plain
   text buttons under it (iOS bar buttons, never gray chips) */
#app .vg-global dialog header{flex-wrap:wrap;column-gap:4px;row-gap:0;top:-16px;padding:8px 0}
#app .vg-global dialog header h2{flex:1 1 55%;min-width:0;margin:0}
#app .vg-global dialog header button:not(.vg-flow):not(.danger){flex:none;width:auto;margin:0;padding:0 8px;background:transparent;color:var(--ios-blue-text);font:var(--ios-w-regular) var(--ios-t-body)/var(--ios-lh-body) var(--ios-font)}
#app .vg-global dialog header [data-global="close"]{order:1;font-weight:var(--ios-w-semibold)}
#app .vg-global dialog header [data-global="places"]{order:2;margin-inline-start:-8px}
#app .vg-global dialog header [data-global="language"],#app .vg-global dialog header [data-global="collapse"]{order:3}
#app .vg-global dialog>p.fine{margin:4px 0 12px;font:var(--ios-w-regular) var(--ios-t-footnote)/var(--ios-lh-footnote) var(--ios-font)}
/* the type select: the same borderless 17 px field as the search, with the system up/down arrows */
#app .vg-global dialog select{min-height:var(--ios-hit);margin:0;padding:11px 34px 11px 12px;border:0;border-radius:var(--ios-r-s);box-shadow:none;-webkit-appearance:none;appearance:none;
 background:var(--ios-fill) var(--ios-ic-updown) no-repeat right 12px center/10px 16px;color:var(--ios-label);font:var(--ios-w-regular) var(--ios-t-body)/var(--ios-lh-body) var(--ios-font)}
#app .vg-global dialog select:focus{box-shadow:0 0 0 2px var(--ios-focus-ring)}
/* «Buscar» is the sheet's one filled button; «Actualizar búsqueda» / «Más resultados» are plain text buttons */
#app .vg-global dialog form[data-search] button.primary{width:100%;margin:4px 0 0;background:var(--ios-blue-fill);color:var(--ios-on-accent);font:var(--ios-w-semibold) var(--ios-t-body)/var(--ios-lh-body) var(--ios-font)}
#app .vg-global dialog>button:is([data-global="retry"],[data-global="more"]):not(.vg-flow):not(.danger){display:flex;width:auto;margin:4px auto 0;background:transparent;color:var(--ios-blue-text);font:var(--ios-w-regular) var(--ios-t-body)/var(--ios-lh-body) var(--ios-font)}
/* the empty-search help is a 13 px footer, not body text */
#app .vg-global [data-results]>p:not([data-total]):not(.vg-gs-kinds){margin:10px 0 0;font:var(--ios-w-regular) var(--ios-t-footnote)/var(--ios-lh-footnote) var(--ios-font);color:var(--ios-label-2)}
