/* vn-contact-info — Contact quick bar, "Contact Information" card, "Tour & Office Hours" card
   Source: Rest of pages/Contact (.con-quickbar 134px #eaf1f9 with a 2px #B3D1FF rule; .card-a #eaf1f9;
   .card-b #f6faff, 19px radius, 24.5px headings, 16.6px rows). */

.vn-cinfo {
    --vn-cinfo-rule: #B3D1FF;
    font-family: var(--vn-font-body);
    color: var(--vn-navy);
}

.vn-cinfo a { color: inherit; text-decoration: none; }
.vn-cinfo a:hover,
.vn-cinfo a:focus-visible { text-decoration: underline; }

/* ── Bar ── */

.vn-cinfo-layout-bar .vn-cinfo {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    min-height: 134px;
    padding: 12px 24px;
    background-color: var(--vn-mist);
}

.vn-cinfo .vn-cinfo__bar-item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    min-width: 0;
    padding: 12px 24px;
}

.vn-cinfo__bar-item + .vn-cinfo__bar-item { border-left: 2px solid var(--vn-cinfo-rule); }

.vn-cinfo .vn-cinfo__bar-icon { display: flex; justify-content: center; width: 33px; height: 44px; color: #03256A; }
.vn-cinfo__bar-icon svg { display: block; width: auto; max-width: 100%; height: 100%; fill: currentColor; }

.vn-cinfo__bar-text {
    font-size: 24.5px;
    font-weight: 600;
    line-height: 1.32;
}

/* ── Card + hours ── */

.vn-cinfo-layout-card .vn-cinfo,
.vn-cinfo-layout-hours .vn-cinfo {
    max-width: 536px;
    padding: 41px 56px 48px;
    border-radius: 19px;
    background-color: var(--vn-mist);
}

.vn-cinfo-layout-hours .vn-cinfo { padding: 33px 43px 44px 46px; background-color: #F6FAFF; }

.vn-cinfo .vn-cinfo__heading {
    margin: 0 0 28px;
    font-family: var(--vn-font-body);
    font-size: 24.5px;
    font-weight: 600;
    line-height: 1.32;
    letter-spacing: 2.2px;
    color: inherit;
}

.vn-cinfo-layout-hours .vn-cinfo .vn-cinfo__heading { font-weight: 700; margin-bottom: 30px; }

.vn-cinfo__row {
    display: flex;
    align-items: center;
    gap: 22px;
    padding-left: 4px;
}

.vn-cinfo__row + .vn-cinfo__row { margin-top: 52px; }

.vn-cinfo__badge {
    display: flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    border-radius: 14px;
    background-color: var(--vn-white);
    color: #03256A;
}

.vn-cinfo__badge .vn-icon { display: flex; justify-content: center; width: 28px; height: 40px; }
.vn-cinfo__badge svg { display: block; width: auto; max-width: 100%; height: 100%; fill: currentColor; }

.vn-cinfo .vn-cinfo__label,
.vn-cinfo .vn-cinfo__value { margin: 0; font-size: 16.6px; line-height: 1.4; }

.vn-cinfo .vn-cinfo__label { font-weight: 600; letter-spacing: 1.2px; }
.vn-cinfo .vn-cinfo__value { font-weight: 300; }

.vn-cinfo .vn-cinfo__intro {
    max-width: 421px;
    margin: 0 0 30px;
    font-size: 14.2px;
    line-height: 1.32;
}

.vn-cinfo__hours { margin: 0; }

.vn-cinfo__hours-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 0;
}

.vn-cinfo__hours-row + .vn-cinfo__hours-row { border-top: 1px solid rgba(179, 209, 255, 0.55); }

.vn-cinfo .vn-cinfo__day,
.vn-cinfo .vn-cinfo__time {
    margin: 0;
    font-size: 16.6px;
    line-height: 1.4;
    letter-spacing: 1.2px;
}

.vn-cinfo .vn-cinfo__day { font-weight: 600; }
.vn-cinfo .vn-cinfo__time { font-weight: 400; text-align: right; }

@media (max-width: 1024px) {
    .vn-cinfo__bar-text { font-size: 20px; }
    .vn-cinfo .vn-cinfo__bar-item { gap: 16px; }
    .vn-cinfo-layout-card .vn-cinfo,
    .vn-cinfo-layout-hours .vn-cinfo { max-width: none; }
}

@media (max-width: 767px) {
    .vn-cinfo-layout-bar .vn-cinfo { grid-template-columns: 1fr; padding: 16px 20px; }
    .vn-cinfo__bar-item + .vn-cinfo__bar-item { border-left: none; border-top: 2px solid var(--vn-cinfo-rule); }
    .vn-cinfo .vn-cinfo__bar-item { justify-content: flex-start; padding: 14px 4px; }
    .vn-cinfo__bar-text { font-size: 18px; }
    .vn-cinfo-layout-card .vn-cinfo,
    .vn-cinfo-layout-hours .vn-cinfo { padding: 28px 22px; }
    .vn-cinfo__row + .vn-cinfo__row { margin-top: 28px; }
}
