/* Company section alignment fixes — reuse global theme heading styles. */
.vsh-company-main > h1,
.vsh-company-main .vsh-company-page h1,
.vsh-company-main .panel-layout h1 {
    max-width: none;
    color: inherit;
    font-family: var(--second-font);
    font-size: 2.25rem;
    font-weight: 100;
    line-height: 1.2;
}

.vsh-company-main > h2,
.vsh-company-main .vsh-company-page h2,
.vsh-company-main .panel-layout h2 {
    max-width: none;
    color: inherit;
    font-family: var(--second-font);
    font-size: 1.875rem;
    font-weight: 100;
    line-height: 1.2;
}

.vsh-company-main > h3,
.vsh-company-main .vsh-company-page h3,
.vsh-company-main .panel-layout h3 {
    color: inherit;
    font-family: var(--second-font);
    font-size: 1.625rem;
    font-weight: 100;
    line-height: 1.2;
}

.vsh-company-main > p,
.vsh-company-main .vsh-company-page > p,
.vsh-company-main .panel-layout p,
.vsh-company-main .vsh-company-lead,
.vsh-company-main .siteorigin-widget-tinymce {
    max-width: none;
}

.vsh-company-main .wp-caption,
.vsh-company-main > figure,
.vsh-company-main .vsh-company-page > figure {
    width: 100% !important;
    max-width: none !important;
}

.vsh-company-main .wp-caption img,
.vsh-company-main > figure img,
.vsh-company-main .vsh-company-page > figure img {
    display: block;
    width: 100%;
    height: auto;
}

.vsh-company-main .vsh-company-page,
.vsh-company-main .panel-layout,
.vsh-company-main .siteorigin-widget-tinymce {
    width: 100%;
    max-width: none;
}

/* Standalone company images follow the same left content inset as headings and text. */
.vsh-company-main > figure,
.vsh-company-main > .wp-caption,
.vsh-company-main .vsh-company-page > figure,
.vsh-company-main .vsh-company-page > .wp-caption {
    box-sizing: border-box;
    width: calc(100% - 44px) !important;
    margin-left: 44px;
}

@media (max-width: 1180px) {
    .vsh-company-main > figure,
    .vsh-company-main > .wp-caption,
    .vsh-company-main .vsh-company-page > figure,
    .vsh-company-main .vsh-company-page > .wp-caption {
        width: calc(100% - 32px) !important;
        margin-left: 32px;
    }
}

@media (max-width: 781px) {
    .vsh-company-main > figure,
    .vsh-company-main > .wp-caption,
    .vsh-company-main .vsh-company-page > figure,
    .vsh-company-main .vsh-company-page > .wp-caption {
        width: calc(100% - 24px) !important;
        margin-left: 24px;
    }
}

/* Text sections keep text inset, while highlighted blocks can use full width. */
.vsh-company-main .vsh-company-text-block {
    box-sizing: border-box;
    width: 100% !important;
    margin-left: 0 !important;
}

.vsh-company-main .vsh-company-text-block > h1,
.vsh-company-main .vsh-company-text-block > h2,
.vsh-company-main .vsh-company-text-block > h3,
.vsh-company-main .vsh-company-text-block > p,
.vsh-company-main .panel-layout .panel-grid-cell > div:not([class]) > h1,
.vsh-company-main .panel-layout .panel-grid-cell > div:not([class]) > h2,
.vsh-company-main .panel-layout .panel-grid-cell > div:not([class]) > h3,
.vsh-company-main .panel-layout .panel-grid-cell > div:not([class]) > p {
    box-sizing: border-box;
    padding-left: 44px;
}

@media (max-width: 1180px) {
    .vsh-company-main .vsh-company-text-block > h1,
    .vsh-company-main .vsh-company-text-block > h2,
    .vsh-company-main .vsh-company-text-block > h3,
    .vsh-company-main .vsh-company-text-block > p,
    .vsh-company-main .panel-layout .panel-grid-cell > div:not([class]) > h1,
    .vsh-company-main .panel-layout .panel-grid-cell > div:not([class]) > h2,
    .vsh-company-main .panel-layout .panel-grid-cell > div:not([class]) > h3,
    .vsh-company-main .panel-layout .panel-grid-cell > div:not([class]) > p {
        padding-left: 32px;
    }
}

@media (max-width: 781px) {
    .vsh-company-main .vsh-company-text-block > h1,
    .vsh-company-main .vsh-company-text-block > h2,
    .vsh-company-main .vsh-company-text-block > h3,
    .vsh-company-main .vsh-company-text-block > p,
    .vsh-company-main .panel-layout .panel-grid-cell > div:not([class]) > h1,
    .vsh-company-main .panel-layout .panel-grid-cell > div:not([class]) > h2,
    .vsh-company-main .panel-layout .panel-grid-cell > div:not([class]) > h3,
    .vsh-company-main .panel-layout .panel-grid-cell > div:not([class]) > p {
        padding-left: 24px;
    }
}

/* Highlighted list blocks use the full available content width. */
.vsh-company-main > ul,
.vsh-company-main > ol,
.vsh-company-main .vsh-company-page > ul,
.vsh-company-main .vsh-company-page > ol,
.vsh-company-main .panel-layout ul,
.vsh-company-main .panel-layout ol,
.vsh-company-main .vsh-company-text-block > ul,
.vsh-company-main .vsh-company-text-block > ol {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
}
