.common-page-container {
    display: flex
;
    flex-direction: column;
    flex-grow: 1;
}

.common-heading-h1 {
    background: var(--base-bc);
    width: 100%;
}

.common-stream-field-container {
    padding-bottom: 35px;
    flex-grow: 1;
    width: 100%;
}

.common-heading-h1,
.common-stream-field-container {
    padding-left: 30px;
    padding-right: 30px;
}

.common-stream-field-container {
    padding-top: 10px;
}

.common-heading-h1 h1 {
    color: var(--alt-color);
    font-family: var(--base-header-ff), sans-serif;
    font-size: clamp(20px, 2.5vw, 26px);
    font-weight: 700;
    line-height: 30px;
    letter-spacing: 0;
    margin-top: 0;
}

.block-heading_block h2,
.block-paragraph_block > h2 {
    color: var(--alt-color);
    font-family: var(--base-header-ff), sans-serif;
    font-size: clamp(1.125rem, 2.5vw + 0.5rem, 1.375rem);
    font-weight: 650;
    line-height: 30px;
    letter-spacing: 0;
}

.block-heading_block h3,
.block-paragraph_block > h3 {
    color: var(--alt-color);
    font-family: var(--base-header-ff), sans-serif;
    font-size: clamp(1rem, 2vw + 0.5rem, 1.25rem);
    font-weight: 600;
    line-height: 30px;
    letter-spacing: 0;
}

.block-heading_block h4,
.block-paragraph_block > h4{
    color: var(--alt-color);
    font-family: var(--base-header-ff), sans-serif;
    font-size: clamp(0.875rem, 1.5vw + 0.5rem, 1.125rem);
    font-weight: 550;
    line-height: 30px;
    letter-spacing: 0;
}

.common-stream-field-blockquote {
    border-left: 3px solid var(--alt-color);
    padding: 10px 20px 5px;
    margin-left: 20px;
    margin-right: 20px;
}

.common-stream-field-blockquote p:first-child {
    margin-bottom: 10px;
    color: var(--base-color);
    font-family: var(--base-header-ff), sans-serif;
    font-size: clamp(0.6875rem, 0.35vw + 0.625rem, 0.8125rem);
    font-weight: 500;
    line-height: 22px;
    letter-spacing: 0;
    text-align: justify;
    hyphens: manual;
}

.blockquote-attribute-name {
    color: var(--alt-color);
    font-family: var(--base-header-ff), sans-serif;
    font-size: clamp(0.625rem, 0.25vw + 0.6rem, 0.75rem);
    font-weight: 400;
    line-height: 20px;
    letter-spacing: 0;
    text-align: justify;
    hyphens: manual;
}

.block-paragraph_block {
    margin-top: 20px;
    margin-bottom: 20px;
    font-weight: 400;
    font-family: var(--base-header-ff), sans-serif;
    font-size: clamp(0.75rem, 0.6vw + 0.65rem, 0.9375rem);;
}

.block-paragraph_block ol {
    padding-left: 25px;
}

.block-paragraph_block ul {
    padding-left: 25px;
    list-style-type: disc;
}

.block-paragraph_block hr {
    border: none;
    background-color: var(--alt-color);
    height: 2px;
}

.block-paragraph_block a {
    color: var(--alt-color);
    text-decoration: underline;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.block-paragraph_block img.richtext-image.full-width {
    max-width: 800px;
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    object-fit: contain;
}

.block-paragraph_block img.richtext-image.left {
    max-width: 800px;
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto 0 0;
    object-fit: contain;
}

.block-paragraph_block img.richtext-image.right {
    max-width: 800px;
    width: 100%;
    height: auto;
    display: block;
    margin: 0 0 0 auto;
    object-fit: contain;
}

/* static/css/video-blocks.css */
.video-container {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
    height: 0;
    overflow: hidden;
    border-radius: 8px;
    background: #000;
}

.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

.video-caption {
    margin-top: 10px;
    text-align: center;
    font-style: italic;
    color: #666;
    font-size: 0.9em;
}

.video-error {
    background: #ffeaa7;
    border: 1px solid #fdcb6e;
    border-radius: 4px;
    padding: 15px;
    text-align: center;
    color: #e17055;
}

.smart-video-block {
    max-width: 800px;
    height: auto;
    margin: 30px auto;
}

.smart-video-block .video-caption {
    color: #756d6d;
    font-family: var(--base-header-ff), sans-serif;
    font-size: clamp(0.625rem, 0.25vw + 0.6rem, 0.75rem);
    font-weight: 400;
    line-height: 20px;
    letter-spacing: 0;
    hyphens: manual;
    text-align: center;
}

/* static/css/video-blocks.css */
.vk-video-wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
}

.vk-video-embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

.video-source {
    text-align: center;
    margin-top: 5px;
    font-size: 0.7em;
    color: #999;
}

.video-source small {
    opacity: 0.7;
}

@media (max-width: 768px) {
    .video-container {
        border-radius: 4px;
    }
}

.block-image_block figure {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 20px auto;
    max-width: 800px;
    width: 100%;
}

.block-image_block figure picture {
    max-width: 100%;

}

.block-image_block figure img {
    height: auto;
    display: block;
    border-radius: 8px;
    object-fit: contain;
}

.block-image_block figcaption {
    margin-top: 12px;
    text-align: center;
    color: #756d6d;
    line-height: 1.4;
    font-style: italic;
    max-width: 100%;
    padding: 0 10px;
    font-family: var(--base-header-ff), sans-serif;
    font-size: clamp(0.625rem, 0.25vw + 0.6rem, 0.75rem);
    font-weight: 400;
    letter-spacing: 0;
    hyphens: manual;
}

.download-document-block {
    display: flex;
    justify-content: space-between;
    border-bottom: 2px solid #f6f6f6;
    align-items: center;
    margin: 0 auto 15px;
    gap: 20px;
}

.document-title {
    color: var(--base-color);
    font-family: var(--base-header-ff), sans-serif;
    font-size: clamp(0.6875rem, 0.35vw + 0.625rem, 0.8125rem);
    font-weight: 400;
    line-height: 22px;
    letter-spacing: 0;

    word-break: break-all;
    overflow-wrap: break-word;
    hyphens: auto;
}

.document-meta {
    color: var(--base-color);
    font-family: var(--base-header-ff), sans-serif;
    font-size: clamp(0.625rem, 0.2vw + 0.575rem, 0.6875rem);
    font-weight: 400;
    line-height: 18px;
    letter-spacing: 0;
    text-align: justify;
    hyphens: manual;
    display: flex;
    flex-wrap: nowrap;
}

.document-meta span {
    white-space: nowrap;
}

.document-link {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    align-items: center;
}

.document-title:hover {
    color: var(--alt-color);
    transition: color 0.3s ease;
}

.document-icon {
    display: flex;
    width: 26px;
    height: 26px;
    flex-shrink: 0;
}

.doc-icon {
    width: 100%;
    height: 100%;
    object-fit: contain;

}

.document-download-button {
    display: flex;
    gap: 5px;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
}

.download-button {
    color: var(--alt-color);
}

.block-table table {
    width: 80%;
    border-collapse: collapse;
    font-family: var(--base-header-ff), sans-serif;
    font-size: 12px;
    line-height: 1.5;
    background: white;
    border: 3px solid #418ab3;
    margin: 20px auto;
    border-radius: 15px;
}

.block-table table caption {
    font-family: var(--base-header-ff), sans-serif;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 600;
}

.block-table table thead {
    background: #418ab3;
}

.block-table table th {
    padding: 12px 4px;
    text-align: left;
    font-weight: 500;
    font-size: 15px;
    font-family: var(--base-header-ff), sans-serif;
    color: #ffffff;
    border-bottom: 1px solid #418ab3;
    border-right: 1px solid #d8e9f1;
    text-transform: none;
}

.block-table table th:last-child {
    border-right: none;
}

.block-table table tbody tr {
    border-bottom: 1px solid #e5e7eb;
    transition: background-color 0.2s ease;
}

.block-table table tbody tr:nth-child(even) td {
    background: #d8e9f1;
}

.block-table table tbody tr:hover td {
    background: #8abbd5;
}

.block-table table tbody tr:last-child {
    border-bottom: 2px solid #418ab3;
}

.block-table table td {
    padding: 14px 12px;
    border-right: 1px solid #d8e9f1;
    border-bottom: 1px solid #d8e9f1;
    vertical-align: top;
    color: #000000;
    background: #ffffff;
    font-weight: 400;
    font-size: 14px;

}

.block-table table td:last-child {
    border-right: none;
}

.block-table table td h3 {
    font-size: 15px;
    font-weight: 700;
    color: var(--alt-color);
    margin: 8px 0 6px 0;
    line-height: 1.3;
}

.block-table table td h3:first-child,
.block-table table td h4:first-child {
    margin-top: 0;
}

.block-table table td h4 {
    font-size: 14px;
    font-weight: 600;
    color: var(--alt-color);
    margin: 6px 0 4px 0;
    line-height: 1.3;
}

.block-table table td ul {
    list-style: circle;
    padding-left: 20px;
}

.block-table table td ol {
    padding-left: 10px;
}

.block-table table td p a {
    color: var(--alt-color);
    text-decoration: underline;
}

@media (max-width: 900px) {
    .view-container, .footer--view-container {
        width: 95%;
        margin-left: auto;
        margin-right: auto;
    }
}

@media(max-width: 768px) {
    .block-table {
        overflow-x: auto;
         width: 100%;
    }
}
