/* Shared reading rhythm */
.vk-inner-content #firstLaneText { font-size: 16px; line-height: 1.68; }
.vk-article, .vk-article-side { min-width: 0; }
#firstLaneText > .vk-article:only-child { grid-column: 1 / -1; width: 100%; max-width: 970px; }
#firstLaneText .vk-article > h2 { margin: 1.5em 0 .45em; font-size: clamp(21px, 2.2vw, 29px); }
#firstLaneText .vk-article > :first-child { margin-top: 0; }
#firstLaneText .vk-article p { margin-block: 0 .85em; }
#firstLaneText .vk-article :is(ul, ol) { padding-inline-start: 1.3em; }
#firstLaneText .vk-article li + li { margin-top: .28em; }
.vk-info-card {
    box-sizing: border-box;
    padding: clamp(16px, 2.2vw, 24px);
    border: 1px solid #d9e5f0;
    border-radius: 10px;
    background: #f5f8fc;
}
.vk-info-card h2 { margin: 0 0 10px; font-size: clamp(18px, 1.75vw, 22px); color: #0c3365; }
.vk-info-card h3 { margin: 14px 0 5px; font-size: 16px; color: #0c3365; }
.vk-info-card p { margin: 0 0 11px; }
.vk-home-content a.vk-action,
.vk-inner-content #firstLaneText a.vk-action {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 43px;
    padding: 8px 15px;
    border-radius: 6px;
    color: #fff;
    background: #082e64;
    font-size: 14px;
    font-weight: 720;
    text-decoration: none;
}
.vk-home-content a.vk-action:is(:hover,:focus-visible),
.vk-inner-content #firstLaneText a.vk-action:is(:hover,:focus-visible) { background: #174f87; color: #fff; }
.vk-disclosure {
    border-top: 1px solid #dbe6f0;
}
.vk-disclosure summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .8em;
    padding: 12px 0;
    color: #113960;
    font-size: 15px;
    font-weight: 720;
    cursor: pointer;
    list-style: none;
}
.vk-disclosure summary::-webkit-details-marker { display: none; }
.vk-disclosure summary::after {
    content: '';
    width: .52em;
    height: .52em;
    flex: 0 0 auto;
    margin: -.24em .35em 0 0;
    border: solid currentColor;
    border-width: 0 1.5px 1.5px 0;
    transform: rotate(45deg);
}
.vk-disclosure[open] > summary::after { transform: rotate(225deg); margin-top: .25em; }
.vk-disclosure summary:is(:hover,:focus-visible) { text-decoration: underline; text-underline-offset: .22em; }
.vk-disclosure[open] > div { padding: 0 0 10px; }
.vk-round-icon {
    box-sizing: border-box;
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid #ccdaea;
    background: #edf4fb;
}
.vk-round-icon img { display: block; width: 20px; height: 20px; }
.vk-contact-tab { right: max(16px, env(safe-area-inset-right)); }

/* Meeting rooms */
.vk-room-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 18px 0 13px; align-items: start; }
.vk-room-card { overflow: hidden; border: 1px solid #d9e5f0; border-radius: 10px; background: #fff; }
.vk-room-photo { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; object-position: center 55%; }
.vk-room-card-body { padding: clamp(13px, 2.3vw, 23px); }
.vk-room-card h3 { margin: 0; font-size: clamp(18px, 2vw, 22px); }
.vk-room-rates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 14px 0; }
.vk-room-rates div + div { padding-left: 12px; border-left: 1px solid #dbe6f0; }
.vk-room-rates dt { color: #435c77; font-size: 13px; line-height: 1.3; }
.vk-room-rates dd { margin: 4px 0 0; color: #082e64; font-size: clamp(16px, 2vw, 21px); font-weight: 760; }
.vk-room-rates dd span { font-size: 12px; font-weight: 550; white-space: nowrap; }
.vk-room-details { margin-top: 14px; font-size: 14px; }
.vk-room-details h4 { margin: 0 0 7px; color: #0c3365; }
.vk-room-plan { display: block; width: 100%; height: auto; margin-bottom: 14px; }
.vk-room-note { color: #435c77; font-size: 14px; }
.vk-rooms-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 14px 0 24px; }
.vk-rooms-gallery img { display: block; width: 100%; height: auto; border-radius: 7px; }

/* Contact and map */
.vk-contact-channels,
#firstLaneText .vk-contact-benefits ul {
    display: grid;
    gap: 12px;
    padding: 0;
    margin: 14px 0;
    list-style: none;
}
.vk-contact-channels li,
.vk-contact-benefits li { display: grid; grid-template-columns: 36px minmax(0, 1fr); align-items: center; gap: 9px 12px; }
.vk-contact-channels a { font-size: 14px; }
#firstLaneText .vk-contact-number { color: #082e64; font-size: 21px; font-weight: 750; text-decoration: none; }
#firstLaneText .vk-contact-number:hover { text-decoration: underline; }
.vk-contact-directions { display: flex; flex-wrap: wrap; gap: 5px 16px; font-size: 13px; }
.vk-contact-page #firstLaneText .vk-form-area { margin-top: 0; }
.vk-contact-page #firstLaneText .vk-form-area > h2 { margin-top: 0; font-size: 25px; }
.vk-contact-benefits { margin-top: clamp(26px, 4vw, 44px); }
.vk-contact-benefits h2 { font-size: clamp(21px, 2vw, 26px); }
#firstLaneText .vk-contact-benefits li { margin: 0; padding-bottom: 10px; border-bottom: 1px solid #e3ebf3; font-size: 15px; }
.vk-map-card h2 { margin-top: 0; }
.vk-map-card iframe { display: block; box-sizing: border-box; width: 100%; height: clamp(245px, 37vw, 440px); border: 1px solid #dae5f1; border-radius: 8px; }

/* Registered-office options and prices */
.vk-seat-comparison, .vk-seat-offer, .vk-location-panel { margin: 23px 0; }
.vk-seat-comparison ul { margin: 10px 0 0; }
.vk-location-panel h2 { margin: 0 0 10px; font-size: clamp(20px, 2.2vw, 26px); }
#firstLaneText .vk-location-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 0; margin: 0; list-style: none; }
#firstLaneText .vk-location-grid li { margin: 0; }
#firstLaneText .vk-location-grid a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 13px;
    border: 1px solid #dbe6f0;
    border-radius: 5px;
    color: #0c3365;
    font-size: 14px;
    font-weight: 680;
    text-decoration: none;
}
#firstLaneText .vk-location-grid a:is(:hover,:focus-visible) { background: #eef5fd; text-decoration: underline; }
.vk-price-date { color: #304f70; font-size: 14px; font-weight: 700; }
.vk-price-section h2:first-child { margin-top: 0; }
.vk-price-section .vk-price-note { font-size: 14px; color: #415a75; }
#firstLaneText .vk-price-list { padding: 0; }
#firstLaneText .vk-price-list li { padding: 11px 8px; margin: 0; line-height: 1.55; }
#firstLaneText .vk-price-highlight { background: #f0f6fd; }
.vk-postal-rates { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; margin: 13px 0; }
.vk-postal-rates div { padding: 10px; border: 1px solid #dbe6f0; border-radius: 5px; }
.vk-postal-rates dt { color: #405b79; font-size: 13px; }
.vk-postal-rates dd { margin: 2px 0 0; color: #0c3365; font-weight: 770; }
.vk-price-oneoff strong { color: #0c3365; font-size: 19px; }
.vk-price-extra p, .vk-price-extra li { font-size: 15px; }
.vk-price-extra h4 { margin: 12px 0 6px; color: #0c3365; }

@media (max-width: 850px) {
    .vk-contact-page #firstLaneText { row-gap: 20px; }
}
@media (max-width: 620px) {
    .vk-room-grid, #firstLaneText .vk-location-grid { grid-template-columns: 1fr; }
    .vk-room-card-body { padding: 16px; }
    .vk-postal-rates { grid-template-columns: 1fr; gap: 0; }
    .vk-postal-rates div { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 5px 12px; padding: 8px 0; border: 0; border-bottom: 1px solid #dbe6f0; border-radius: 0; }
    .vk-postal-rates dd { margin: 0; }
}

/* Homepage reading, resources and news */
.vk-home-content .vk-home-article {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(255px, 29%);
    gap: clamp(22px, 4vw, 56px);
    align-items: start;
    font-size: 16px;
}
.vk-home-content .vk-home-article > :is(.left,.right) { float: none; width: auto; padding: 0; }
.vk-home-content .vk-home-article > .left > h2 { margin: 0 0 9px; }
.vk-home-intro { color: #3e5771; margin: 0 0 17px; }
.vk-home-content .vk-home-article .vk-feature-list li { font-size: 15px; }
.vk-home-content .vk-home-reading h2 { font-size: clamp(19px, 1.8vw, 24px); }
.vk-home-reading p, .vk-home-reading > div > div { margin: 9px 0; }
.vk-related-links { padding-left: 20px; }
.vk-home-side { display: grid; gap: 13px; }
.vk-home-content .vk-home-side .vk-info-card h2 { font-size: 19px; margin: 0 0 7px; }
.vk-home-content .vk-home-side .vk-feature-list { margin: 0; }
.vk-home-content .vk-home-side .vk-feature-list li {
    grid-template-columns: 34px minmax(0, 1fr);
    border-top: 0;
    padding: 9px 0;
    font-size: 13px;
    line-height: 1.55;
}
.vk-home-content .vk-home-side .vk-feature-list li:last-child { border-bottom: 0; }
.vk-home-side .vk-feature-icon { width: 33px; height: 33px; }
.vk-home-side .vk-feature-icon img { width: 17px; height: 17px !important; }
.vk-home-side p { font-size: 14px; }
.vk-home-phone a { font-size: 20px; font-weight: 760; text-decoration: none; }
.vk-home-hours { margin: 10px 0; font-size: 14px; }
.vk-home-hours div { display: flex; justify-content: space-between; gap: 5px 12px; flex-wrap: wrap; }
.vk-home-hours dd { margin: 0; font-weight: 710; }
.vk-home-content .vk-districts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; padding: 0; margin: 10px 0; list-style: none; }
.vk-home-content .vk-districts li { padding: 0; }
.vk-home-content .vk-districts a { display: block; padding: 5px 1px; border: 1px solid #d6e4f2; border-radius: 4px; background: #fff; font-size: 13px; text-align: center; text-decoration: none; }
.vk-home-content .vk-districts a:hover { text-decoration: underline; background: #edf5ff; }
#novinky-email .vk-form { padding: 0; border: 0; border-radius: 0; background: transparent; }
.vk-home-resources { display: grid; gap: 8px 12px; padding: 5px 2px; font-size: 14px; }
.vk-home-media { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; border-top: 1px solid #dbe6f0; }
.vk-home-content .vk-home-media h3 { font-size: 13px; margin: 4px 0 9px; }
.vk-home-media img { display: block; width: auto; max-width: 92px !important; height: auto; }
.vk-home-teasers, .vk-news {
    width: min(1160px, calc(100% - clamp(32px, 8vw, 120px)));
    margin: 0 auto;
    padding: clamp(27px, 4vw, 44px) 0;
    border-top: 1px solid #dce5ef;
}
.vk-home-content :is(.vk-news,.vk-home-teasers) h2 { margin: 0 0 12px; color: #0b3567; font-size: clamp(21px, 2.3vw, 29px); line-height: 1.25; }
.vk-home-teasers > div, .vk-news-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(13px,2vw,23px); }
.vk-home-teaser, .vk-news-grid .vk-news-card { overflow: hidden; border: 1px solid #dce6f0; border-radius: 8px; background: #fff; }
.vk-home-teaser { display: flex; flex-direction: column; }
.vk-home-teaser img, .vk-news-grid .vk-news-card img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 1; object-fit: cover; }
.vk-home-teaser > div, .vk-news-grid .vk-news-card > div { padding: 13px 16px 17px; }
.vk-home-teaser > div { display: flex; flex-direction: column; flex: 1; }
.vk-home-teaser h3, .vk-news-card h3 { margin: 0 0 5px; font-size: 17px; line-height: 1.35; }
.vk-home-teaser p, .vk-news-card p { margin: 3px 0 9px; color: #334d68; font-size: 14px; line-height: 1.58; }
.vk-home-teaser h3 a, .vk-news-card h3 a { color: #143c6c; text-decoration: none; }
.vk-home-teaser h3 a:is(:hover,:focus-visible), .vk-news-card h3 a:is(:hover,:focus-visible) { text-decoration: underline; text-underline-offset: .18em; }
.vk-home-teaser .vk-text-link { align-self: start; margin-top: auto; color: #174f87; font-weight: 680; font-size: 14px; }
.vk-news-heading { display: flex; flex-wrap: wrap; align-items: start; justify-content: space-between; gap: 7px 15px; margin-bottom: 15px; }
.vk-home-content .vk-news-heading h2 { margin-bottom: 4px; }
.vk-news-heading p { margin: 0; color: #3c5673; }
.vk-news-heading nav { display: flex; gap: 9px 14px; font-size: 14px; }
.vk-news-heading a { color: #174f87; }
.vk-news-card time { display: block; margin: 0 0 5px; color: #4c647d; font-size: 12px; font-weight: 650; }
.vk-news-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 24px; }
.vk-news-list article { border-bottom: 1px solid #e0e8f2; padding: 11px 0; }
@media (max-width: 900px) {
    .vk-home-content .vk-home-article { grid-template-columns: 1fr; }
    .vk-home-side { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; }
}
@media (max-width: 650px) {
    .vk-home-side, .vk-home-teasers > div, .vk-news-grid, .vk-news-list { grid-template-columns: 1fr; }
}

.vk-compare-table { overflow-x: auto; margin-block: 16px 22px; }
.vk-compare-table table { width: 100%; min-width: 580px; border-collapse: collapse; font-size: 14px; line-height: 1.5; }
.vk-compare-table caption { padding: 0 0 8px; color: #0c3365; font-weight: 750; text-align: left; }
.vk-compare-table :is(th,td) { padding: 8px 10px; border: 1px solid #dce6f1; vertical-align: top; text-align: left; }
.vk-compare-table thead { color: #fff; background: #082e64; }
.vk-compare-table tbody th { color: #143969; font-weight: 680; }
.vk-compare-table tbody tr:nth-child(even) { background: #f4f8fc; }
.vk-compare-prices { margin-block: 16px; }

@media (min-width: 851px) {
    .vk-contact-page .vk-article { grid-area: 1 / 1; }
    .vk-contact-page .vk-contact-side { grid-area: 1 / 2; }
}

/* Published postage examples and current news */
#postovne { scroll-margin-top: 18px; }
.vk-current-postage {
    margin: 16px 0 3px;
    padding: 12px 14px;
    background: #f5f8fc;
    border: 1px solid #dbe6f0;
    border-radius: 7px;
}
.vk-current-postage h3 { margin: 0 0 6px; }
.vk-postage-table table { width: 100%; margin: 0 0 9px; border-collapse: collapse; table-layout: fixed; }
.vk-postage-table caption { text-align: left; color: #0c3365; padding: 6px 0; font-weight: 700; }
.vk-postage-table :is(th,td) { padding: 7px 6px; border-top: 1px solid #dbe6f0; text-align: left; vertical-align: top; font-size: 14px; }
.vk-postage-table th { color: #153e6b; }
.vk-postage-table th:first-child { width: 37%; }
.vk-news-grid .vk-current-news .vk-round-icon { width: 39px; height: 39px; margin-bottom: 9px; }
.vk-news-grid .vk-current-news .vk-round-icon img { width: 21px; height: 21px; aspect-ratio: 1; object-fit: contain; }
.vk-news-grid .vk-current-news > div { padding: 16px 17px 19px; }
#firstLaneText > .vk-news-article:only-child { max-width: 790px; }
@media (max-width: 430px) {
    .vk-current-postage { padding: 9px; }
    .vk-postage-table :is(th,td) { padding: 6px 4px; font-size: 12px; overflow-wrap: normal; }
}

.vk-news-archive { margin-top: 24px; }
.vk-news-archive > h3 { margin: 0 0 5px; color: #0c3365; font-size: clamp(19px, 2vw, 24px); }
.vk-news-archive > p { margin: 0 0 12px; color: #405b79; }
.vk-news-list .vk-news-card h4 { margin: 0 0 4px; font-size: 16px; line-height: 1.38; }
.vk-news-list .vk-news-card h4 a { color: #143c6c; text-decoration: none; }
.vk-news-list .vk-news-card h4 a:is(:hover,:focus-visible) { text-decoration: underline; text-underline-offset: .18em; }

/* Keep the photographs above the white cutouts in the original image files. */
.vk-home-teaser > img {
    aspect-ratio: 9 / 4;
    object-position: center top;
}
#vk-finder-form label[for="vk-finder-date"] { display: block; }
#vk-finder-date { display: block; margin-top: 5px; }
.vk-date-hint { font-weight: 400; }

@media (max-width: 640px) {
    /* Navigation and contact controls should not cover reading content. */
    .vk-contact-tab { display: none; }
    .vk-navigation { flex-wrap: wrap; column-gap: 10px; row-gap: 0; min-height: 61px; }
    .vk-navigation .vk-mobile-toggle { min-height: 44px; font-weight: 600; }
    .vk-brand img { width: 56px; }
    .vk-header-social { display: none; }
    .vk-utility-inner { gap: 3px; padding-block: 6px; }
    .vk-utility h1, .vk-utility .vk-masthead-label { font-size: 11px; }
    .vk-portal summary { font-size: 12px; }
    .vk-portal-form input { font-size: 16px; }
    .vk-navigation #vk-primary-nav {
        position: static;
        order: 2;
        flex: 0 0 100%;
        max-height: none;
        overflow: visible;
        padding: 2px 0 8px;
        background: transparent;
        box-shadow: none;
    }
    .vk-menu > li { gap: 0; }
    .vk-menu > li > a {
        display: flex;
        flex: 1 1 0;
        align-items: center;
        min-width: 0;
        min-height: 44px;
        padding: 8px 6px 8px 0;
    }
    .vk-menu > li > a::after { width: 35px; }
    .vk-menu-expand { flex: 0 0 44px; min-height: 44px; }
    .vk-navigation .vk-subnav {
        padding: 3px 0 6px 12px;
        background: transparent;
        border: 0;
        border-radius: 0;
        border-inline-start: 2px solid #7997ba;
        box-shadow: none;
        color: #eaf3ff;
    }
    .vk-navigation .vk-subnav a {
        display: flex;
        align-items: center;
        min-height: 44px;
        padding: 7px 9px;
        font-size: 14px;
    }
    .vk-navigation .vk-subnav a:is(:hover, :focus-visible) { background: #ffffff19; }

    #vk-finder-form { gap: 8px; }
    #vk-finder-form label { font-size: 13px; }
    #vk-finder-form :is(label:first-child, label[for="vk-finder-date"], .vk-finder-submit) { grid-column: 1 / -1; }
    #vk-finder-form :is(select, input) { min-height: 44px; font-size: 16px; padding-inline: 8px; }
    #vk-finder-form input[type="date"] { max-width: 100%; min-inline-size: 0; }
    #vk-finder-form input[type="date"]::-webkit-date-and-time-value { text-align: start; min-height: 1.35em; }
    #vk-finder-form .vk-finder-submit { min-height: 44px; width: 100%; font-size: 15px !important; }
    .vk-date-hint { color: #536880; }
    .vk-hero .vk-hero-main { padding: 24px 0 18px; gap: 10px; }
    .vk-hero-main .vk-hero-slide h2 { font-size: clamp(32px, 8.1vw, 46px); font-weight: 600; line-height: 1.1; margin-bottom: 9px; }
    .vk-hero-slide p { margin-bottom: 12px; }
    .vk-hero-main .vk-slide-controls { margin-top: 3px; }
    .vk-hero-main .vk-slide-controls button { min-height: 44px; }
    .vk-hero .vk-hero-contact {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 3px 8px;
        align-items: center;
        width: 100%;
        padding: 11px 12px;
    }
    .vk-hero .vk-hero-contact .vk-hero-phone a { font-size: 22px; font-weight: 750; white-space: nowrap; }
    .vk-hero .vk-hero-contact .vk-hero-reception { min-height: 44px; font-size: 13px; margin: 0; gap: 5px; }
    .vk-hero .vk-hero-guarantee { grid-column: 1 / -1; margin: 0; padding-top: 7px; }
    .vk-home-content .vk-home-media { padding: 12px 0 0; gap: 16px; }
    .vk-home-content .vk-home-media img[alt="GoPay"] { width: 100%; max-width: 149px !important; }
    .vk-home-content .vk-comparison-inner { padding-block: 22px; gap: 9px; }
    .vk-comparison .vk-comparison-symbol { width: 44px; }
    .vk-comparison .vk-comparison-links { margin-top: 12px; }
    .vk-comparison .vk-comparison-links a { min-height: 44px; display: inline-flex; align-items: center; }
    .vk-home-content .vk-package-cards .vk-package-copy .popis { color: #f3f7ff; }
    .vk-form :is(input:not([type="checkbox"]), select, textarea) { font-size: 16px; }
    .vk-footer { padding: 25px 0 max(24px, env(safe-area-inset-bottom)); }
    .vk-footer .vk-footer-legal { padding-bottom: 0; }
    .vk-footer .vk-footer-contact { grid-template-columns: 1fr; gap: 12px; }
    .vk-footer .vk-footer-logo img { width: 65px; }
    .vk-footer .vk-footer-social a { min-width: 44px; min-height: 44px; }
}

@media (max-width: 374px) {
    .vk-hero .vk-hero-contact { grid-template-columns: 1fr; }
    .vk-hero .vk-hero-contact .vk-hero-reception { justify-self: start; }
}
