.vsd-directory{--vsd-blue:#075AA2;--vsd-ink:#06234d;--vsd-line:#cbdfee;color:var(--vsd-ink);font-family:var(--vs-font-body,"DM Sans",Arial,sans-serif);width:100%;box-sizing:border-box}.vsd-directory *{box-sizing:border-box}.vsd-directory [hidden]{display:none!important}.vsd-directory .vsd-search{background:#eaf6ff;border:1px solid #cce4f5;border-radius:16px;padding:23px 27px}.vsd-directory .vsd-search label{display:block;font-size:.85rem;font-weight:600;margin-bottom:10px}.vsd-directory .vsd-search-row{display:flex;align-items:center;position:relative;gap:15px}.vsd-directory input[type=search]{display:block;min-width:0;width:100%;height:53px;padding:12px 17px 12px 46px;background:#fff;color:var(--vsd-ink);font:400 1rem var(--vs-font-body,"DM Sans",Arial,sans-serif);border:1px solid #88b6d6;border-radius:8px;appearance:none}.vsd-directory input::placeholder{color:#526b82;opacity:1}.vsd-directory input:disabled{background:#f5f9fc}.vsd-directory .vsd-search-icon{position:absolute;left:16px;top:3px;font:400 34px Arial,sans-serif;color:var(--vsd-blue);pointer-events:none}.vsd-directory .vsd-clear{flex-shrink:0;min-height:46px;padding:10px 15px;border:1px solid #075aa2;border-radius:8px;color:#075aa2;background:#fff;font:600 .83rem var(--vs-font-body,"DM Sans",Arial,sans-serif);cursor:pointer}.vsd-directory .vsd-clear:disabled{opacity:.55;cursor:default}.vsd-directory .vsd-status{font-size:.85rem;font-weight:500;margin:21px 0 16px}.vsd-directory .vsd-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.vsd-directory .vsd-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--vsd-line);border-top:3px solid #0877c9;border-radius:13px;padding:24px;background:#fff;box-shadow:0 5px 20px #075aa206}.vsd-directory .vsd-card-top{display:flex;align-items:center;gap:17px;min-height:68px}.vsd-directory .vsd-logo{width:68px;height:68px;padding:9px;display:flex;align-items:center;justify-content:center;flex:0 0 68px;background:#eaf6ff;border-radius:12px;overflow:hidden;color:#075aa2}.vsd-directory .vsd-logo img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.vsd-directory .vsd-logo svg{width:45px;height:45px}.vsd-directory h3{font:700 1.08rem/1.3 var(--vs-font-heading,"Plus Jakarta Sans",Arial,sans-serif);letter-spacing:-.025em;color:var(--vsd-ink);margin:0;overflow-wrap:anywhere}.vsd-directory .vsd-card-details{padding-top:18px;margin-top:auto}.vsd-directory .vsd-card-details:empty{display:none}.vsd-directory .vsd-address{font-size:.88rem;line-height:1.5;margin:0 0 10px;overflow-wrap:anywhere}.vsd-directory .vsd-phone{font-size:.91rem;font-weight:500;margin:0 0 12px}.vsd-directory a{color:#075aa2;text-underline-offset:3px}.vsd-directory .vsd-phone a{text-decoration:none}.vsd-directory .vsd-directions{display:inline-flex;gap:13px;align-items:center;font-size:.82rem;font-weight:600}.vsd-directory .vsd-directions-note{font-size:.72rem;line-height:1.5;color:#4b647a;margin:22px 0 0}.vsd-directory .vsd-no-results{border:1px dashed #92bedc;background:#eaf6ff;padding:27px;border-radius:12px;font-size:1rem;line-height:1.6;margin:0}.vsd-directory :is(a,button,input):focus-visible{outline:3px solid #075aa2;outline-offset:4px}.vsd-directory .vsd-logo img:not([src]){display:none}
@media(max-width:1000px){.vsd-directory .vsd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vsd-directory .vsd-card{padding:21px}.vsd-directory .vsd-card-top{gap:15px}}
@media(max-width:600px){.vsd-directory .vsd-grid{grid-template-columns:1fr;gap:15px}.vsd-directory .vsd-search{padding:18px 16px}.vsd-directory .vsd-search-row{flex-wrap:wrap;gap:10px}.vsd-directory input[type=search]{height:52px;font-size:.87rem;padding-left:40px}.vsd-directory .vsd-search-icon{left:12px;top:1px}.vsd-directory .vsd-clear{font-size:.78rem;min-height:42px;padding:9px 13px}.vsd-directory .vsd-status{font-size:.8rem;margin:18px 0 13px}.vsd-directory .vsd-card{padding:20px}.vsd-directory h3{font-size:1.08rem}.vsd-directory .vsd-directions{min-height:28px}.vsd-directory .vsd-directions-note{font-size:.69rem}}
@media(max-width:600px){.vsd-directory input[type=search]::placeholder{font-size:.78rem;letter-spacing:-.015em}}

/* Fichas: jerarquía vertical y acciones alineadas sin alturas de texto fijas. */
.vsd-directory{
 --vsd-card-pad:clamp(1.25rem,1rem + 1vw,1.75rem);
 --vsd-card-gap:clamp(.875rem,.75rem + .45vw,1.125rem);
 --vsd-grid-gap:clamp(1rem,.75rem + 1vw,1.5rem);
}
.vsd-directory .vsd-status{
 position:absolute;inline-size:1px;block-size:1px;padding:0;margin:0;
 overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;
}
.vsd-directory .vsd-grid{
 gap:var(--vsd-grid-gap);margin-block-start:clamp(1.25rem,1rem + 1vw,1.75rem);
 align-items:stretch;
}
.vsd-directory .vsd-card{
 padding:var(--vsd-card-pad);border-radius:.875rem;
 box-shadow:0 .25rem 1.25rem #075aa208;
}
.vsd-directory .vsd-card-top{
 flex-direction:column;align-items:flex-start;gap:var(--vsd-card-gap);min-height:0;
}
.vsd-directory .vsd-logo{
 inline-size:clamp(3.25rem,2.75rem + 1vw,3.75rem);
 block-size:clamp(3.25rem,2.75rem + 1vw,3.75rem);
 flex:0 0 auto;padding:.625rem;border-radius:.75rem;
}
.vsd-directory .vsd-logo svg{inline-size:100%;block-size:100%}
.vsd-directory h3{
 font-size:clamp(1.125rem,1.05rem + .25vw,1.3rem);line-height:1.35;
 font-weight:800;letter-spacing:-.025em;text-wrap:pretty;
}
.vsd-directory .vsd-card-details{
 display:flex;flex-direction:column;flex:1;gap:var(--vsd-card-gap);
 padding-block-start:var(--vsd-card-gap);margin-block-start:0;
}
.vsd-directory .vsd-address{
 display:flex;align-items:flex-start;gap:.5rem;margin:0;
 font-size:clamp(.9rem,.87rem + .1vw,.96rem);line-height:1.6;color:#405b74;
}
.vsd-directory .vsd-address svg{
 inline-size:1.125rem;block-size:1.125rem;flex:0 0 1.125rem;
 margin-block-start:.175em;color:var(--vsd-blue);
}
.vsd-directory .vsd-address-text{min-inline-size:0}
.vsd-directory .vsd-phone{margin:0;font-size:.95rem}
.vsd-directory .vsd-directions{
 display:flex;align-items:center;justify-content:space-between;gap:.75rem;
 align-self:stretch;margin-block-start:auto;min-block-size:2.875rem;
 padding:.75rem 1rem;border:1px solid var(--vsd-blue);border-radius:.5rem;
 background:var(--vsd-blue);color:#fff;font-size:.9rem;font-weight:600;
 line-height:1.4;text-decoration:none;
}
.vsd-directory .vsd-directions-label{display:inline-flex;align-items:center;gap:.5rem}
.vsd-directory .vsd-directions svg{inline-size:1.125rem;block-size:1.125rem;flex:none}
.vsd-directory .vsd-directions-arrow{font-size:1.15em;line-height:1}
.vsd-directory .vsd-directions:hover{background:#0877c9;border-color:#0877c9;color:#fff}
.vsd-directory .vsd-directions:visited{color:#fff}
.vsd-directory .vsd-no-results:not([hidden]){margin-block-start:var(--vsd-grid-gap)}

/* Dirección breve y localidad, sin tocar la dirección completa de Maps. */
.vsd-directory .vsd-address{min-block-size:3.3em}
.vsd-directory .vsd-address-text{display:flex;flex-direction:column;gap:.125rem}
.vsd-directory .vsd-address-street{display:block;overflow-wrap:anywhere}
.vsd-directory .vsd-address-locality{display:block;color:#526b82;font-size:.94em;line-height:1.5}
