/* Статическая выставка. Стили ограничены этой страницей. */
[data-page="virtual"] .virtual-section {
    max-width: 1290px;
    padding-top: 48px;
    padding-bottom: 64px;
}

.virtual-panel {
    padding: clamp(26px, 4vw, 52px);
    border: 1px solid rgba(255, 255, 255, .94);
    border-radius: 26px;
    background: linear-gradient(125deg, rgba(242, 249, 252, .28), rgba(250, 253, 255, .01));
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    box-shadow: 0 20px 64px rgba(24, 57, 81, .06);
}

.virtual-heading { margin-bottom: 42px; }
.virtual-heading .eyebrow { margin: 0 0 21px; font-size: 11px; line-height: 1.8; }
.virtual-heading h1 {
    margin: 0;
    font-size: clamp(36px, 4.5vw, 60px);
    line-height: 1.12;
    letter-spacing: -.055em;
    font-weight: 800;
    color: #183951;
}
.virtual-heading h1 em { font-style: normal; color: #678ea6; }
.virtual-intro { margin: 18px 0 0; font-size: 17px; line-height: 1.7; color: #648193; }

.virtual-group + .virtual-group { margin-top: 40px; }
.virtual-group-heading { display: flex; align-items: center; gap: 22px; margin-bottom: 22px; }
.virtual-group-heading h2 {
    flex-shrink: 0;
    margin: 0;
    color: #315d76;
    font-size: 25px;
    line-height: 1.35;
    letter-spacing: -.035em;
    font-weight: 800;
}
.virtual-group-rule { height: 1px; flex: 1; background: #cbdfe9; }
.virtual-group:first-of-type .virtual-group-rule { background: linear-gradient(90deg, #873b4b77, #cbdfe9); }

.virtual-grid { display: grid; gap: 18px; margin: 0; padding: 0; list-style: none; }
.virtual-grid > li { min-width: 0; margin: 0; padding: 0; }
.virtual-grid-main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.virtual-grid-sponsors { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.virtual-grid-sponsors > li { grid-column: span 2; }
.virtual-grid-sponsors > li:nth-child(4) { grid-column: 2 / span 2; }
.virtual-grid-participants { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.virtual-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-width: 0;
    overflow: hidden;
    border: 1px solid #dce8ee;
    border-radius: 17px;
    background: #fff;
    color: #315d76;
    text-decoration: none;
    box-shadow: 0 5px 18px rgba(24, 57, 81, .025);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.virtual-card:hover {
    transform: translateY(-3px);
    border-color: #b8cfdc;
    box-shadow: 0 12px 26px rgba(24, 57, 81, .08);
    color: #873b4b;
    text-decoration: none;
}
.virtual-card:focus-visible { outline: 3px solid #873b4b; outline-offset: 4px; }
.virtual-logo {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 138px;
    padding: 23px 25px;
    background: #fff;
    box-sizing: border-box;
}
.virtual-logo img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 270px;
    margin: 0;
    object-fit: contain;
    object-position: center;
}
.virtual-grid-main .virtual-logo { height: 190px; padding: 30px 38px; }
.virtual-grid-main .virtual-logo img { max-width: 340px; }
.virtual-grid-participants .virtual-logo { height: 125px; padding: 22px; }
.virtual-logo-fallback { max-width: 100%; font-size: 21px; line-height: 1.35; font-weight: 700; text-align: center; color: #52778d; overflow-wrap: anywhere; }
.virtual-grid-main .virtual-logo-fallback { font-size: 30px; }
.virtual-grid-participants .virtual-logo-fallback { font-size: 18px; }
.virtual-card-caption {
    /* display: flex;   */
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    flex: 1;
    min-height: 58px;
    padding: 13px 18px;
    border-top: 1px solid #edf2f5;
    background: #f8fbfd;
    font-size: 14px;
    font-weight: 600;
    line-height: 2.55;
    box-sizing: border-box;
}
.virtual-card-caption > span:first-child { overflow-wrap: anywhere; }
.virtual-grid-main .virtual-card-caption { min-height: 62px; padding: 16px 23px; font-size: 14px; }
.virtual-card-arrow { display: grid; place-items: center; flex-shrink: 0; width: 25px; height: 25px; border: 1px solid #d6e4ec; border-radius: 50%; color: #7196ac; }
.virtual-card-arrow .icon-arrow { width: 13px; height: 13px; }
.virtual-card:hover .virtual-card-arrow { color: #873b4b; border-color: #873b4b55; }

@media (max-width: 1000px) {
    .virtual-grid-participants { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .virtual-grid-sponsors { gap: 14px; }
    .virtual-logo { padding: 22px; }
}
@media (max-width: 760px) {
    [data-page="virtual"] .virtual-section { padding-top: 28px; padding-bottom: 40px; }
    .virtual-panel { padding: 28px; border-radius: 22px; }
    .virtual-heading { margin-bottom: 32px; }
    .virtual-heading h1 em { display: block; }
    .virtual-heading .eyebrow { font-size: 10px; }
    .virtual-grid-sponsors, .virtual-grid-participants { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
    .virtual-grid-sponsors > li, .virtual-grid-sponsors > li:nth-child(4) { grid-column: auto; }
    .virtual-grid-main { gap: 14px; }
    .virtual-grid-main .virtual-logo { height: 155px; padding: 24px; }
    .virtual-grid-main .virtual-card-caption { font-size: 12px; padding: 13px 16px; }
    .virtual-grid-main .virtual-logo-fallback { font-size: 25px; }
}
@media (max-width: 480px) {
    [data-page="virtual"] .virtual-section { width: calc(100% - 28px); padding-top: 20px; padding-bottom: 28px; }
    .virtual-panel { padding: 24px 16px; border-radius: 19px; }
    .virtual-heading { margin-bottom: 30px; }
    .virtual-heading .eyebrow { font-size: 9px; letter-spacing: .09em; margin-bottom: 18px; gap: 10px; }
    .virtual-heading .eyebrow-line { width: 20px; flex-shrink: 0; }
    .virtual-heading h1 { font-size: clamp(29px, 8.4vw, 40px); }
    .virtual-intro { font-size: 14px; margin-top: 15px; }
    .virtual-group + .virtual-group { margin-top: 30px; }
    .virtual-group-heading { gap: 13px; margin-bottom: 16px; }
    .virtual-group-heading h2 { font-size: 21px; }
    .virtual-grid-main { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .virtual-grid-main .virtual-logo { height: 155px; padding: 25px 32px; }
    .virtual-grid-main .virtual-card-caption { min-height: 52px; font-size: 13px; }
    .virtual-grid-sponsors, .virtual-grid-participants { gap: 10px; }
    .virtual-card { border-radius: 12px; }
    .virtual-logo, .virtual-grid-participants .virtual-logo { height: 101px; padding: 15px 12px; }
    .virtual-card-caption { min-height: 61px; padding: 10px 11px; font-size: 11px; gap: 6px; }
    .virtual-card-arrow { width: 20px; height: 20px; }
    .virtual-logo-fallback, .virtual-grid-participants .virtual-logo-fallback { font-size: 14px; }
}
@media (max-width: 350px) {
    .virtual-grid-sponsors, .virtual-grid-participants { grid-template-columns: minmax(0, 1fr); }
    .virtual-logo, .virtual-grid-participants .virtual-logo { height: 125px; padding: 22px; }
    .virtual-card-caption { min-height: 48px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
    .virtual-card { transition: none; }
    .virtual-card:hover { transform: none; }
}
