/* VillageLinks 1.0.4 — графические баннеры как в утвержденном образце */
.vlinks{font-family:Inter,Roboto,"Segoe UI",Arial,sans-serif;color:#17304f}
.vlinks *{box-sizing:border-box}
.vlinks-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px}
.vlinks-eyebrow{display:block;margin-bottom:5px;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:850;color:#397056}
.vlinks-head h2{margin:0;color:#0d3c69;font-size:2rem;line-height:1.15}
.vlinks-controls{display:flex;gap:8px}
.vlinks-controls button{width:40px;height:40px;display:grid;place-items:center;border:1px solid #d7e1ea;border-radius:10px;background:#fff;color:#103b68;font-size:1.05rem;font-weight:800;cursor:pointer;transition:.18s ease}
.vlinks-controls button:hover{background:#f3f7fa;border-color:#b9c9d7}
.vlinks-controls button:disabled{opacity:.35;cursor:default}

.vlinks-row{display:flex;flex-wrap:nowrap;gap:14px;width:100%;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#c4d0db transparent;padding:1px 1px 9px}
.vlinks-row::-webkit-scrollbar{height:7px}.vlinks-row::-webkit-scrollbar-track{background:transparent}.vlinks-row::-webkit-scrollbar-thumb{background:#c4d0db;border-radius:999px}

.vlinks-card{position:relative;flex:0 0 calc((100% - 56px)/5);min-width:225px;aspect-ratio:16/9;overflow:hidden;display:flex;flex-direction:column;border:1px solid #cfd9e3;border-radius:2px;background:linear-gradient(135deg,#123d69,#0c3155);color:#fff;text-decoration:none;scroll-snap-align:start;box-shadow:0 5px 14px rgba(16,59,104,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.vlinks-card:hover{transform:translateY(-2px);border-color:#aabccc;box-shadow:0 10px 22px rgba(16,59,104,.12)}
.vlinks-card__media{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden}
.vlinks-card__media::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(180deg,transparent,rgba(5,25,45,.86))}
.vlinks-card__media img{width:100%;height:100%;object-fit:cover;display:block}
.vlinks-card__icon{width:70px;height:70px;display:grid;place-items:center;color:#f1c657;opacity:.95}
.vlinks-card__icon svg{width:62px;height:62px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.vlinks-card__caption{position:absolute;z-index:2;left:13px;right:13px;bottom:10px;color:#fff;font-size:.91rem;font-weight:850;line-height:1.25;text-shadow:0 1px 3px rgba(0,0,0,.72)}

@media(max-width:1100px){.vlinks-card{flex-basis:calc((100% - 28px)/3);min-width:235px}}
@media(max-width:650px){.vlinks-head{align-items:center}.vlinks-head h2{font-size:1.65rem}.vlinks-controls button{width:36px;height:36px}.vlinks-card{flex-basis:78%;min-width:240px}}
