/* Inner pages and editorial content. */
.tsl-container {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto
}

.page-hero {
    padding: 46px 0 38px;
    background: #f4f7fb url('../i/bg-archive.jpg') center/cover no-repeat;
    border-bottom: 1px solid #e3e8ef
}

.page-hero h1,
.article-header h1 {
    max-width: 900px;
    margin: 8px 0 0;
    color: var(--tsl-navy, #041d43);
    font-size: clamp(2rem, 4vw, 2.5rem);
    line-height: 1.18
}

.section-kicker {
    margin: 14px 0 0;
    color: var(--tsl-red, #d20b12);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase
}

.page-description {
    max-width: 760px;
    margin-top: 14px;
    color: #536176
}

.breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    color: #738096;
    font-size: .8rem
}

.breadcrumbs a {
    color: var(--tsl-navy, #041d43)
}

.content-section {
    padding: 54px 0 72px
}

.post-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px
}

.post-card {
    overflow: hidden;
    margin: 0;
    border: 1px solid #dfe5ed;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 7px 24px rgba(4, 29, 67, .06);
    transition: transform .22s, box-shadow .22s
}

.post-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 32px rgba(4, 29, 67, .12)
}

.post-card__media {
    position: relative;
    display: block;
    aspect-ratio: 16/9;
    overflow: hidden;
    background: #071f43
}

.post-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s
}

.post-card:hover .post-card__media img {
    transform: scale(1.035)
}

.post-card__media time {
    position: absolute;
    top: 0;
    left: 14px;
    display: grid;
    min-width: 52px;
    padding: 7px;
    color: #fff;
    text-align: center;
    background: var(--tsl-red, #d20b12);
    font-size: .65rem
}

.post-card__media time strong {
    font-size: 1.25rem;
    line-height: 1
}

.post-card__placeholder {
    display: grid;
    height: 100%;
    place-items: center;
    color: rgba(255, 255, 255, .24);
    font-size: 2rem;
    font-weight: 900
}

.post-card__body {
    padding: 20px
}

.post-card__meta {
    color: var(--tsl-red, #d20b12);
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase
}

.post-card h2 {
    margin: 8px 0;
    font-size: 1.08rem;
    line-height: 1.45;
    font-family: Be Vietnam Pro Bold !important;
}

.post-card h2 a {
    color: var(--tsl-navy, #041d43)
}

.post-card p {
    display: -webkit-box;
    overflow: hidden;
    margin: 0 0 15px;
    color: #59677b;
    font-size: .87rem;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3
}

.text-link {
    color: var(--tsl-navy, #041d43);
    font-size: .8rem;
    font-weight: 800
}

.navigation.pagination {
    margin-top: 36px
}

.nav-links {
    display: flex;
    justify-content: center;
    gap: 7px
}

.page-numbers {
    display: grid;
    min-width: 42px;
    height: 42px;
    padding: 0 10px;
    place-items: center;
    border: 1px solid #dce3ec;
    border-radius: 7px
}

.page-numbers.current li,
.page-numbers li:hover {
    border-radius: 7px;
    border-color: var(--tsl-red, #d20b12);
    background: var(--tsl-red, #d20b12);
    color: #fff
}

.article-header {
    padding: 40px 0 34px;
    background: #f6f8fb
}

.article-category {
    margin-top: 25px
}

.article-category a {
    color: var(--tsl-red, #d20b12);
    font-size: .76rem;
    font-weight: 800;
    text-transform: uppercase
}

.article-meta {
    display: flex;
    gap: 10px;
    margin-top: 17px;
    color: #69778a;
    font-size: .8rem
}

.article-cover {
    overflow: hidden;
    
    border-radius: 14px
}

.article-cover img {
    width: 100%;
    height: auto
}

.entry-content {
    color: #344258;
    line-height: 1.75
}
.entry-content h2, .entry-content h3, .entry-content em, .entry-content b, .entry-content strong, .entry-content h4, .entry-content h5, .entry-content h6{
    font-family: Be Vietnam Pro Bold !important;
}
.entry-content h2,
.entry-content h3 {
    color: var(--tsl-navy, #041d43);
    line-height: 1.3
}
.entry-content figcaption{
    text-align: center;
    margin-top: 15px;
    font-style: italic;
        color: #d10b13;
}
.entry-content img {
    height: auto;
    border-radius: 8px;
    display: block;
    margin: auto;
}
.entry-content figure{
    display: block;
    margin: auto;
}
.entry-content a{
    color: #d10b13;
        font-family: 'Be Vietnam Pro Bold';
}

:is(.article-container>.entry-content, .product-content .entry-content) table {
    width: 100%;
    margin: 0;
    border: 0;
    border-collapse: separate;
    border-spacing: 0;
    background: #fff;
    color: #344258;
    font-size: .94rem;
    line-height: 1.55
}

.article-container>.entry-content .content-table-scroll,
.product-content .entry-content .content-table-scroll {
    max-width: 100%;
    margin: 28px 0;
    overflow-x: auto;
    border: 1px solid #dce3ec;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(4, 29, 67, .08);
    scrollbar-color: var(--tsl-yellow, #ffc400) #eef2f6;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch
}

.content-table-scroll::-webkit-scrollbar { height: 7px }
.content-table-scroll::-webkit-scrollbar-track { background: #eef2f6 }
.content-table-scroll::-webkit-scrollbar-thumb { border-radius: 10px; background: var(--tsl-yellow, #ffc400) }
.content-table-scroll:focus-visible { outline: 3px solid rgba(255, 196, 0, .55); outline-offset: 3px }

.article-container>.entry-content .content-table-scroll table,
.product-content .entry-content .content-table-scroll table { min-width: 100% }

.article-container>.entry-content .content-table-scroll--wide table,
.product-content .entry-content .content-table-scroll--wide table { min-width: 620px }

:is(.article-container>.entry-content, .product-content .entry-content) table th,
:is(.article-container>.entry-content, .product-content .entry-content) table td {
    padding: 13px 16px;
    border: 0;
    border-right: 1px solid #e2e7ee;
    border-bottom: 1px solid #e2e7ee;
    vertical-align: middle;
    text-align: left
}

:is(.article-container>.entry-content, .product-content .entry-content) table tr>*:last-child { border-right: 0 }
:is(.article-container>.entry-content, .product-content .entry-content) table tbody tr:last-child>* { border-bottom: 0 }

:is(.article-container>.entry-content, .product-content .entry-content) table th,
:is(.article-container>.entry-content, .product-content .entry-content) table thead td {
    border-color: rgba(255, 255, 255, .16);
    background: linear-gradient(135deg, var(--tsl-navy, #041d43), #07366f);
    color: #fff;
    font-family: "Be Vietnam Pro Bold", BeVietnam, sans-serif;
    font-weight: 700
}

:is(.article-container>.entry-content, .product-content .entry-content) table thead p,
:is(.article-container>.entry-content, .product-content .entry-content) table thead b,
:is(.article-container>.entry-content, .product-content .entry-content) table thead strong { margin: 0; color: inherit }

:is(.article-container>.entry-content, .product-content .entry-content) table tbody tr:nth-child(even)>td { background: #f6f8fb }
:is(.article-container>.entry-content, .product-content .entry-content) table tbody tr { transition: background-color .2s ease }
:is(.article-container>.entry-content, .product-content .entry-content) table tbody tr:hover>td { background: #fff8dc }
:is(.article-container>.entry-content, .product-content .entry-content) table tbody td:first-child { color: var(--tsl-navy, #041d43); font-weight: 700 }
:is(.article-container>.entry-content, .product-content .entry-content) table td p { margin: 0 }

:is(.article-container>.entry-content, .product-content .entry-content) table caption {
    padding: 0 0 10px;
    color: var(--tsl-navy, #041d43);
    font-family: "Be Vietnam Pro Bold", BeVietnam, sans-serif;
    font-size: 1rem;
    text-align: left
}

.article-tags,
.post-navigation {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #e1e6ed
}

.single-article-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; align-items:start; gap:30px; padding-bottom:72px;padding-top: 40px; }
.single-article-layout>.article-container { width:auto; min-width:0; padding:0 }
.single-article-sidebar { position:sticky; top:105px; min-width:0 }
.latest-news-panel { overflow:hidden; border:1px solid #ff681f; border-radius:18px; background:#fff; box-shadow:0 12px 35px rgba(4,29,67,.08) }
.latest-news-panel>h2 { position:relative; display:flex; align-items:center; gap:16px; margin:0; padding:11px 28px 11px 15px; overflow:hidden; border-radius:18px 18px 0 0; background:radial-gradient(circle,rgb(255 103 103) 0%,rgb(209 11 19) 50%,rgb(209 11 19) 100%); color:#fff; font-family:"UTM HelvetIns",sans-serif; font-size:1rem; font-weight:100; text-transform:uppercase }
.latest-news-panel>h2::after { position:absolute; top:0; right:-24px; width:72px; height:100%; background:#03234b; content:""; transform:skewX(-27deg) }
.latest-news-panel__grid { display:grid; width:20px; height:20px; flex:0 0 20px; grid-template-columns:repeat(2,1fr); gap:4px }
.latest-news-panel__grid i { border-radius:2px; background:#fff }
.latest-news-list { padding:0 20px }
.latest-news-item { display:grid; grid-template-columns:250px minmax(0,1fr); gap:24px; padding:18px 0; border-bottom:1px solid #e4e8ee }
.latest-news-item:last-child { border-bottom:0 }
.latest-news-item__image { display:block; min-height:140px; overflow:hidden; border-radius:7px; background:#f1f4f8 }
.latest-news-item__image img { display:block; width:100%; height:100%; aspect-ratio:16/9; object-fit:cover; transition:transform .25s }
.latest-news-item:hover .latest-news-item__image img { transform:scale(1.035) }
.latest-news-item__body { align-self:center; min-width:0 }
.latest-news-item time { display:flex; align-items:center; gap:10px; margin-bottom:8px; color:#647086; font-size:.78rem }
.latest-news-item time svg { width:18px; height:18px; fill:none; stroke:#ff681f; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round }
.latest-news-item h3 { margin:0 0 6px; color:#041d43; font-family:"Be Vietnam Pro Bold",sans-serif; font-size:1.12rem; line-height:1.45 }
.latest-news-item h3 a { color:inherit }
.latest-news-item p { margin:0 0 7px; color:#59677b; font-size:.9rem; line-height:1.65 }
.latest-news-item__more { display:inline-flex; min-height:44px; align-items:center; gap:8px; color:#f05a17; font-size:.84rem }
.latest-news-item__more span { font-size:26px; line-height:1; transition:transform .2s }
.latest-news-item__more:hover span { transform:translateX(3px) }
.shop-sidebar-column .latest-news-panel { margin-top:24px; border-color:#e1e6ed; border-radius:14px }
.single-article-sidebar .latest-news-panel { margin-top:24px; border-color:#e1e6ed; border-radius:14px }
.single-article-sidebar .latest-news-list { padding:0 14px }
.single-article-sidebar .latest-news-item { grid-template-columns:82px minmax(0,1fr); gap:10px; padding:12px 0 }
.single-article-sidebar .latest-news-item__image { min-height:64px }
.single-article-sidebar .latest-news-item time { margin-bottom:3px; }
.single-article-sidebar .latest-news-item time svg { width:15px; height:15px }
.single-article-sidebar .latest-news-item h3 { margin:0; font-size:.88rem; line-height:1.4 }
.single-article-sidebar .latest-news-item p,.single-article-sidebar .latest-news-item__more { display:none }
.shop-sidebar-column .latest-news-list { padding:0 14px }
.shop-sidebar-column .latest-news-item { grid-template-columns:82px minmax(0,1fr); gap:10px; padding:12px 0 }
.shop-sidebar-column .latest-news-item__image { min-height:64px }
.shop-sidebar-column .latest-news-item time { margin-bottom:3px; }
.shop-sidebar-column .latest-news-item time svg { width:15px; height:15px }
.shop-sidebar-column .latest-news-item h3 { margin:0; font-size:.88rem; line-height:1.4 }
.shop-sidebar-column .latest-news-item p { display:none }
.shop-sidebar-column .latest-news-item__more { display:none }

@media(max-width:767px) {
	.single-article-layout { grid-template-columns:1fr; gap:32px; padding-bottom:52px }
	.single-article-sidebar { position:static; display:block }
	.single-article-sidebar .product-category-sidebar { display:block }
    .latest-news-panel { border-radius:12px }
    .latest-news-panel>h2 { padding:14px 18px; font-size:1.15rem }
    .latest-news-panel__grid { width:34px; height:34px; flex-basis:34px }
    .latest-news-list { padding:0 14px }
    .latest-news-item { grid-template-columns:112px minmax(0,1fr); gap:13px; padding:14px 0 }
    .latest-news-item__image { min-height:84px }
    .latest-news-item time { gap:6px; margin-bottom:4px; font-size:.67rem }
    .latest-news-item time svg { width:15px; height:15px }
    .latest-news-item h3 { margin-bottom:5px; font-size:.86rem; line-height:1.45 }
    .latest-news-item p { display:none }
    .latest-news-item__more { min-height:34px; font-size:.72rem }
}

.post-navigation {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 60px
}

.post-navigation>div {
    max-width: 46%
}

.empty-state {
    padding: 55px 25px;
    text-align: center;
    border: 1px dashed #cbd4df;
    border-radius: 12px
}

.error-page {
    display: grid;
    min-height: 60vh;
    place-items: center;
    padding: 70px 0;
    text-align: center
}

.error-code {
    margin: 0;
    color: var(--tsl-red, #d20b12);
    font-size: clamp(6rem, 18vw, 12rem);
    font-weight: 900;
    line-height: .8;
    opacity: .12
}

.error-page h1 {
    color: var(--tsl-navy, #041d43);
    font-size: 2.2rem
}

.error-actions {
    display: flex;
    justify-content: center;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap
}

.tsl-button {
    display: inline-flex;
    min-height: 46px;
    padding: 0 24px;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    background: var(--tsl-red, #d20b12);
    color: #fff !important;
    font-weight: 800
}

.search-form {
    display: flex;
    gap: 8px
}

.search-form label {
    margin: 0
}

.search-field {
    min-height: 46px;
    padding: 0 14px;
    border: 1px solid #ccd5e0;
    border-radius: 7px
}

.search-submit {
    min-height: 46px;
    border: 0;
    border-radius: 7px;
    background: var(--tsl-navy, #041d43);
    color: #fff;
    padding: 0 18px
}

.page-content>.entry-content {
    padding: 30px;
    background: #fff
}
body.page-id-1140 .page-content>.entry-content{
    padding: 0;
}

.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0
}

@media(max-width:900px) {
    .post-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(max-width:620px) {
    .tsl-container {
        padding-top: 15px;
        width: min(100% - 28px, 1180px)
    }

    .page-hero {
        padding: 30px 0 26px
    }

    .content-section {
        padding: 15px 0 15px
    }

    .post-grid {
        grid-template-columns: 1fr
    }

    .post-card__media {
        aspect-ratio: 16/10
    }

    .post-navigation {
        flex-direction: column;
        margin-bottom: 0;
    }

    .post-navigation>div {
        max-width: 100%
    }

    .article-header {
        padding-top: 27px
    }

    

    .entry-content {
        font-size: 1rem
    }

    .article-container>.entry-content .content-table-scroll,
    .product-content .entry-content .content-table-scroll { margin: 22px 0 }

    :is(.article-container>.entry-content, .product-content .entry-content) table { font-size: .84rem }
    :is(.article-container>.entry-content, .product-content .entry-content) table th,
    :is(.article-container>.entry-content, .product-content .entry-content) table td { padding: 11px 12px }

    .error-actions,
    .search-form {
        width: 100%
    }

    .search-field {
        min-width: 0;
        width: 100%
    }
}

@media(prefers-reduced-motion:reduce) {

    .post-card,
    .post-card__media img {
        transition: none
    }
}
