/*
 * Structural styles for VentryHub blocks so they stay usable with any theme.
 * All visual styling (colours, borders, shadows, type) lives in the VentryHub
 * theme stylesheet, which targets the same class names.
 */
[hidden] { display: none !important; }
.vh-directory__grid, .vh-chips, .vh-tile-grid, .vh-linklist, .vh-story-list, .vh-related-cards, .vh-flow__items, .vh-sync-list, .vh-tags { list-style: none; margin: 0; padding: 0; }
.vh-directory__grid, .vh-related-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 14px; }
.vh-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.vh-form { display: grid; gap: 18px; }
.vh-form__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 16px; }
.vh-form input[type="text"], .vh-form input[type="email"], .vh-form input[type="url"], .vh-form select, .vh-form textarea { width: 100%; box-sizing: border-box; }
.vh-form__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.vh-calc { display: grid; gap: 22px; }
.vh-calc__plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 22px; }
.vh-qty { display: inline-flex; }
.vh-flow__root { position: relative; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 32px; }
.vh-flow__svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.vh-flow__col { flex: 1 1 260px; display: grid; gap: 12px; }
.vh-flow__node, .vh-flow__hub { font: inherit; text-align: left; cursor: pointer; }
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; }
