:root {
    scroll-behavior: smooth;
}

body {
    color: rgba(var(--color-primary-rgb), 1);
}

a {
    color: var(--color-links);
    text-decoration: none;
}

a:hover {
    color: var(--color-links-hover);
    text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-primary);
}

#main {
    margin-top: 90px;
}


/*--------------------------------------------------------------
# Sections & Section Header
--------------------------------------------------------------*/

section {
    padding: 15px 0;
    overflow: hidden;
}

.section-header {
    border-bottom: 2px solid var(--color-black);
}

.section-header h2 {
    font-size: 50px;
    color: var(--color-black);
}

.section-header p {
    margin-bottom: 0;
}


/*--------------------------------------------------------------
# Scroll top button
--------------------------------------------------------------*/

.scroll-top {
    position: fixed;
    visibility: hidden;
    opacity: 0;
    right: 15px;
    bottom: 15px;
    z-index: 99999;
    background: var(--color-primary);
    width: 40px;
    height: 40px;
    border-radius: 4px;
    transition: all 0.4s;
}

.scroll-top i {
    font-size: 24px;
    color: #fff;
    line-height: 0;
}

.scroll-top:hover {
    background: rgba(var(--color-primary-rgb), 0.8);
    color: #fff;
}

.scroll-top.active {
    visibility: visible;
    opacity: 1;
}


/*--------------------------------------------------------------
# Page title
--------------------------------------------------------------*/

.page-title {
    font-size: 70px;
    color: var(--color-black);
}


/* Form Input Fieldds */

.form-control:active,
.form-control:focus {
    outline: none;
    box-shadow: none;
    border-color: var(--color-black);
}

.btn:active,
.btn:focus {
    outline: none;
}

.btn.btn-primary {
    background-color: var(--color-black);
    color: var(--color-white);
    border-color: var(--color-black);
}


/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/

.header {
    height: 60px;
    transition: all 0.5s;
    z-index: 997;
    background: #f2f2f2;
}

.header.sticked {
    height: 50px;
}

.header .logo img {
    max-height: 40px;
    margin-right: 6px;
}

.header .logo h1,
.header .logo .site-title {
    font-size: 30px;
    font-weight: 700;
    color: var(--color-default);
    font-family: var(--font-primary);
}

.search-form-wrap {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 9;
    transition: 0.3s all ease;
    visibility: hidden;
    opacity: 0;
}

.search-form-wrap .search-form {
    position: relative;
}

.search-form-wrap .search-form .form-control {
    width: 300px;
    border: none;
    box-shadow: 0 15px 20px -10px rgba(var(--color-black-rgb), 0.1);
    padding-left: 40px;
    padding-right: 40px;
}

.search-form-wrap .search-form .form-control:active,
.search-form-wrap .search-form .form-control:focus {
    outline: none;
    box-shadow: none;
}

.search-form-wrap .search-form .icon {
    position: absolute;
    left: 0;
    top: 7px;
    opacity: 0.5;
    left: 10px;
}

.search-form-wrap .search-form .btn {
    position: absolute;
    top: 2px;
    right: 4px;
    padding: 0;
    margin: 0;
    line-height: 1;
    font-size: 30px;
}

.search-form-wrap .search-form .btn:active,
.search-form-wrap .search-form .btn:focus {
    outline: none;
    box-shadow: none;
}

.search-form-wrap.active {
    visibility: visible;
    opacity: 1;
}

section {
    scroll-margin-top: 70px;
}


/*--------------------------------------------------------------
# Desktop Navigation 
--------------------------------------------------------------*/

@media (min-width: 1280px) {
    .navbar {
        padding: 0;
    }
    .navbar ul {
        margin: 0;
        padding: 0;
        display: flex;
        list-style: none;
        align-items: center;
    }
    .navbar li {
        position: relative;
    }
    .navbar a,
    .navbar a:focus {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 0 10px 30px;
        font-family: var(--font-default);
        font-size: 16px;
        font-weight: 500;
        color: rgba(var(--color-default-rgb), 1);
        white-space: nowrap;
        transition: 0.3s;
    }
    .navbar a i,
    .navbar a:focus i {
        font-size: 12px;
        line-height: 0;
        margin-left: 5px;
    }
    .navbar a:hover,
    .navbar .active,
    .navbar .active:focus,
    .navbar li:hover>a {
        color: var(--color-default);
    }
    .navbar .getstarted,
    .navbar .getstarted:focus {
        background: var(--color-primary);
        padding: 8px 20px;
        margin-left: 30px;
        border-radius: 4px;
        color: var(--color-white);
    }
    .navbar .getstarted:hover,
    .navbar .getstarted:focus:hover {
        color: var(--color-white);
        background: rgba(var(--color-primary-rgb), 0.8);
    }
    .navbar .dropdown ul {
        display: block;
        position: absolute;
        left: 14px;
        top: calc(100% + 30px);
        margin: 0;
        padding: 10px 0;
        z-index: 99;
        opacity: 0;
        visibility: hidden;
        background: var(--color-white);
        box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25);
        transition: 0.3s;
        border-radius: 4px;
    }
    .navbar .dropdown ul li {
        min-width: 200px;
    }
    .navbar .dropdown ul a {
        padding: 10px 20px;
        font-size: 15px;
        text-transform: none;
        font-weight: 400;
    }
    .navbar .dropdown ul a i {
        font-size: 12px;
    }
    .navbar .dropdown ul a:hover,
    .navbar .dropdown ul .active:hover,
    .navbar .dropdown ul li:hover>a {
        color: var(--color-primary);
    }
    .navbar .dropdown:hover>ul {
        opacity: 1;
        top: 100%;
        visibility: visible;
    }
    .navbar .dropdown .dropdown ul {
        top: 0;
        left: calc(100% - 30px);
        visibility: hidden;
    }
    .navbar .dropdown .dropdown:hover>ul {
        opacity: 1;
        top: 0;
        left: 100%;
        visibility: visible;
    }
}

@media (min-width: 1280px) and (max-width: 1366px) {
    .navbar .dropdown .dropdown ul {
        left: -90%;
    }
    .navbar .dropdown .dropdown:hover>ul {
        left: -100%;
    }
}

.mobile-nav-toggle {
    display: none;
}


/*--------------------------------------------------------------
# Mobile Navigation
--------------------------------------------------------------*/

@media (max-width: 1279px) {
    .navbar {
        padding: 0;
        z-index: 9997;
    }
    .navbar ul {
        display: none;
        position: absolute;
        inset: 55px 15px 15px 15px;
        padding: 10px 0;
        margin: 0;
        border-radius: 10px;
        background-color: var(--color-white);
        overflow-y: auto;
        transition: 0.3s;
        z-index: 9998;
    }
    .navbar a,
    .navbar a:focus {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        font-family: var(--font-primary);
        font-size: 15px;
        font-weight: 600;
        color: var(--color-primary);
        white-space: nowrap;
        transition: 0.3s;
    }
    .navbar a i,
    .navbar a:focus i {
        font-size: 12px;
        line-height: 0;
        margin-left: 5px;
    }
    .navbar a:hover,
    .navbar .active,
    .navbar .active:focus,
    .navbar li:hover>a {
        color: var(--color-primary);
    }
    .navbar .dropdown ul,
    .navbar .dropdown .dropdown ul {
        position: static;
        display: none;
        z-index: 99;
        padding: 10px 0;
        margin: 10px 20px;
        background: var(--color-white);
        transition: all 0.5s ease-in-out;
        box-shadow: 0px 0px 30px rgba(var(--color-black-rgb), 0.1);
    }
    .navbar .dropdown>.dropdown-active,
    .navbar .dropdown .dropdown>.dropdown-active {
        display: block;
    }
    .mobile-nav-toggle {
        display: inline-block;
        color: var(--color-secondary);
        font-size: 28px;
        cursor: pointer;
        line-height: 0;
        transition: 0.5s;
    }
    .mobile-nav-toggle.bi-x {
        color: var(--color-black);
    }
    .mobile-nav-active {
        overflow: hidden;
    }
    .mobile-nav-active .mobile-nav-toggle {
        position: fixed;
        top: 15px;
        right: 15px;
        z-index: 9999;
        color: var(--color-white);
    }
    .mobile-nav-active .navbar {
        position: fixed;
        overflow: hidden;
        inset: 0;
        background: rgba(var(--color-black-rgb), 0.6);
        transition: 0.3s;
    }
    .mobile-nav-active .navbar>ul {
        display: block;
    }
}


/*--------------------------------------------------------------
# Posts
--------------------------------------------------------------*/

.post-entry-1 {
    margin-bottom: 30px;
}

.post-entry-1 img {
    margin-bottom: 30px;
}

.post-entry-1 h2 {
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.2;
    font-weight: 500;
}

.post-entry-1 h2 a {
    color: var(--color-black);
}

.post-entry-1.lg h2 {
    font-size: 40px;
    line-height: 1;
}

.post-meta {
    font-size: 11px;
    letter-spacing: 0.07rem;
    text-transform: uppercase;
    font-weight: 600;
    font-family: var(--font-secondary);
    color: rgba(var(--color-black-rgb), 0.4);
    margin-bottom: 10px;
}

@media (max-width: 768px) {
    .custom-border {
        border: none !important;
    }
}

.author .photo {
    margin-right: 10px;
}

.author .photo img {
    width: 40px;
    border-radius: 50%;
    margin-bottom: 0;
}

.author .name h3 {
    margin: 0;
    padding: 0;
    font-size: 15px;
    font-family: var(--font-secondary);
}

.trending {
    border: 1px solid rgba(var(--color-black-rgb), 0.1);
}

.trending>h3 {
    color: var(--color-black);
    padding: 20px;
    border-bottom: 1px solid rgba(var(--color-black-rgb), 0.1);
}

.trending .trending-post {
    padding: 0;
    margin: 0;
}

.trending .trending-post li {
    padding: 0;
    margin: 0;
    list-style: none;
    display: block;
}

.trending .trending-post li a {
    display: block;
    padding: 20px;
    border-bottom: 1px solid rgba(var(--color-black-rgb), 0.1);
    position: relative;
    overflow: hidden;
}

.trending .trending-post li a .number {
    position: absolute;
    z-index: -1;
    font-size: 5rem;
    left: -10px;
    top: -20px;
    font-weight: 700;
    color: rgba(var(--color-black-rgb), 0.05);
}

.trending .trending-post li a h3 {
    font-size: 18px;
    color: rgba(var(--color-black-rgb), 0.9);
}

.trending .trending-post li a .author {
    color: rgba(var(--color-black-rgb), 0.7);
    font-weight: 500;
}

.trending .trending-post li a:hover h3 {
    color: rgba(var(--color-black-rgb), 1);
}

.trending .trending-post li:last-child a {
    border-bottom: none;
}

.post-entry-2 {
    margin-bottom: 30px;
}

.post-entry-2 .post-meta {
    font-size: 11px;
    letter-spacing: 0.07rem;
    text-transform: uppercase;
    font-weight: 600;
    font-family: var(--font-secondary);
    color: rgba(var(--color-black-rgb), 0.4);
    margin-bottom: 10px;
}

.post-entry-2 .author {
    color: rgba(var(--color-black-rgb), 0.7);
    font-weight: 500;
    margin-bottom: 20px;
    display: block;
}

.post-entry-2 .thumbnail {
    flex: 0 0 65%;
}

@media (max-width: 960px) {
    .post-entry-2 .thumbnail {
        flex: 0 0 100%;
        margin-bottom: 20px;
    }
}

.post-entry-2.half .thumbnail {
    flex: 0 0 50%;
}

@media (max-width: 768px) {
    .post-entry-2.half .thumbnail {
        flex: 0 0 100%;
        margin-bottom: 20px;
    }
}

.post-entry-2.small-img .thumbnail {
    flex: 0 0 30%;
}

@media (max-width: 768px) {
    .post-entry-2.small-img .thumbnail {
        flex: 0 0 100%;
        margin-bottom: 20px;
    }
}

.img-bg {
    height: 500px;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    background-position: center center;
}

@media (max-width: 768px) {
    .img-bg {
        height: 400px;
    }
}

.img-bg:before {
    position: absolute;
    content: "";
    background: rgb(0, 0, 0);
    background: linear-gradient(0deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0) 100%);
    opacity: 0.5;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    top: 0;
}

.img-bg .img-bg-inner {
    position: relative;
    z-index: 2;
    max-width: 700px;
    position: relative;
    padding-left: 100px;
    padding-right: 100px;
    margin-bottom: 50px;
}

@media (max-width: 768px) {
    .img-bg .img-bg-inner {
        padding-left: 30px;
        padding-right: 30px;
        margin-bottom: 50px;
    }
}

.img-bg .img-bg-inner h2,
.img-bg .img-bg-inner p {
    color: var(--color-white);
}

@media (max-width: 500px) {
    .img-bg .img-bg-inner p {
        display: none;
    }
}

.custom-swiper-button-next,
.custom-swiper-button-prev {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 9;
}

@media (max-width: 768px) {
    .custom-swiper-button-next,
    .custom-swiper-button-prev {
        display: none;
    }
}

.custom-swiper-button-next span,
.custom-swiper-button-prev span {
    font-size: 20px;
    color: rgba(var(--color-white-rgb), 0.7);
    transition: 0.3s all ease;
}

.custom-swiper-button-next:hover span,
.custom-swiper-button-next:focus span,
.custom-swiper-button-prev:hover span,
.custom-swiper-button-prev:focus span {
    color: rgba(var(--color-white-rgb), 1);
}

.custom-swiper-button-next {
    right: 40px;
}

.custom-swiper-button-prev {
    left: 40px;
}

.swiper-pagination .swiper-pagination-bullet {
    background-color: rgba(var(--color-white-rgb), 0.8);
}

.swiper-pagination .swiper-pagination-bullet-active {
    background-color: rgba(var(--color-white-rgb), 1);
}

.more {
    font-family: var(--font-secondary);
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 500;
    position: relative;
    display: inline-block;
    padding-bottom: 5px;
}

.more:before {
    content: "";
    position: absolute;
    height: 2px;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--color-black);
}

.post-content {
    padding-left: 10%;
    padding-right: 10%;
}

@media (max-width: 768px) {
    .post-content {
        padding-left: 15px;
        padding-right: 15px;
    }
}

.post-content .firstcharacter {
    float: left;
    font-family: Georgia;
    font-size: 75px;
    line-height: 60px;
    padding-top: 4px;
    padding-right: 8px;
    padding-left: 3px;
}

.post-content figure {
    position: relative;
    left: 52%;
    min-width: 990px;
    transform: translateX(-50%);
}

@media (max-width: 1255px) {
    .post-content figure {
        min-width: auto;
        left: auto !important;
        transform: none;
    }
}

.post-content figure figcaption {
    font-family: var(--font-secondary);
    font-size: 14px;
    padding: 10px 0 0 0;
}

.aside-title,
.category-title {
    text-transform: uppercase;
    letter-spacing: 0.1rem;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 30px;
    border-bottom: 2px solid var(--color-black);
}

.category-title {
    border-bottom: none;
}

.custom-pagination a {
    display: inline-block;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    border-radius: 50%;
    font-family: var(--font-secondary);
    margin: 5px;
    transition: 0.3s all ease;
}

.custom-pagination a.active {
    background: var(--color-black);
    color: var(--color-white);
}

.custom-pagination a.active:hover {
    background: rgba(var(--color-black-rgb), 0.9);
}

.custom-pagination a:hover {
    background: rgba(var(--color-black-rgb), 0.1);
}

.custom-pagination a.prev,
.custom-pagination a.next {
    width: auto !important;
    border-radius: 4px;
    padding-left: 10px;
    padding-right: 10px;
}

.custom-pagination a.prev:hover,
.custom-pagination a.next:hover {
    background: rgba(var(--color-black-rgb), 0.1);
}


/* custom tab nav on sidebar */

.aside-block {
    margin-bottom: 30px;
}

.aside-block .custom-tab-nav .nav-item {
    display: inline-block;
}

.aside-block .custom-tab-nav .nav-item button {
    color: var(--color-black);
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    border-radius: 0;
    padding-left: 0;
    padding-right: 0;
    margin-right: 20px;
}

.aside-block .custom-tab-nav .nav-item button.active {
    background-color: var(--color-black) !important;
    background-color: transparent !important;
    color: var(--color-black);
    border-bottom: 2px solid var(--color-black);
}

.link-video {
    position: relative;
}

.link-video span {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    position: absolute;
    width: 50px;
    height: 50px;
    line-height: 50px;
    border-radius: 50%;
    text-align: center;
    display: inline-block;
    background-color: rgba(var(--color-black-rgb), 0.2);
    color: var(--color-white);
}

.aside-links li {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(var(--color-black-rgb), 0.1);
}

.aside-links li a {
    display: block;
    color: rgba(var(--color-black-rgb), 0.7);
}

.aside-links li a:hover,
.aside-links li a:focus {
    color: rgba(var(--color-black-rgb), 1);
}

.aside-tags li {
    display: inline-block;
}

.aside-tags li a {
    display: inline-block;
    color: rgba(var(--color-black-rgb), 0.7);
    padding: 7px 10px;
    border: 1px solid rgba(var(--color-black-rgb), 0.1);
    margin-bottom: 3px;
    transition: 0.3s all ease;
}

.aside-tags li a:hover,
.aside-tags li a:focus {
    color: rgba(var(--color-black-rgb), 1);
    border: 1px solid rgba(var(--color-black-rgb), 0.5);
}


/*--------------------------------------------------------------
# Comments
--------------------------------------------------------------*/

.comment {
    /* Font not working in <textarea> for this version of bs */
}

.comment .avatar {
    position: relative;
    display: inline-block;
    width: 3rem;
    height: 3rem;
}

.comment .avatar-img,
.comment .avatar-initials,
.comment .avatar-placeholder {
    width: 100%;
    height: 100%;
    border-radius: inherit;
}

.comment .avatar-img {
    display: block;
    -o-object-fit: cover;
    object-fit: cover;
}

.comment .avatar-initials {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-white);
    line-height: 0;
    background-color: rgba(var(--color-black-rgba), 0.1);
}

.comment .avatar-placeholder {
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(var(--color-black-rgba), 0.1) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23fff' d='M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z'/%3e%3c/svg%3e") no-repeat center/1.75rem;
}

.comment .avatar-indicator {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 20%;
    height: 20%;
    display: block;
    background-color: rgba(var(--color-black-rgba), 0.1);
    border-radius: 50%;
}

.comment .avatar-group {
    display: inline-flex;
}

.comment .avatar-group .avatar+.avatar {
    margin-left: -0.75rem;
}

.comment .avatar-group .avatar:hover {
    z-index: 1;
}

.comment .avatar-sm,
.comment .avatar-group-sm>.avatar {
    width: 2.125rem;
    height: 2.125rem;
    font-size: 1rem;
}

.comment .avatar-sm .avatar-placeholder,
.comment .avatar-group-sm>.avatar .avatar-placeholder {
    background-size: 1.25rem;
}

.comment .avatar-group-sm>.avatar+.avatar {
    margin-left: -0.53125rem;
}

.comment .avatar-lg,
.comment .avatar-group-lg>.avatar {
    width: 4rem;
    height: 4rem;
    font-size: 1.5rem;
}

.comment .avatar-lg .avatar-placeholder,
.comment .avatar-group-lg>.avatar .avatar-placeholder {
    background-size: 2.25rem;
}

.comment .avatar-group-lg>.avatar+.avatar {
    margin-left: -1rem;
}

.comment .avatar-light .avatar-indicator {
    box-shadow: 0 0 0 2px rgba(var(--color-white-rgba), 0.75);
}

.comment .avatar-group-light>.avatar {
    box-shadow: 0 0 0 2px rgba(var(--color-white-rgba), 0.75);
}

.comment .avatar-dark .avatar-indicator {
    box-shadow: 0 0 0 2px rgba(var(--color-black-rgba), 0.25);
}

.comment .avatar-group-dark>.avatar {
    box-shadow: 0 0 0 2px rgba(var(--color-black-rgba), 0.25);
}

.comment textarea {
    font-family: inherit;
}

.comment .comment-replies-title,
.comment .comment-title {
    text-transform: uppercase;
    color: var(--color-black) !important;
    letter-spacing: 0.1rem;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 30px;
}

.comment .comment-meta .text-muted,
.comment .reply-meta .text-muted {
    font-family: var(--font-secondary);
    font-size: 12px;
}


/*--------------------------------------------------------------
# Contact
--------------------------------------------------------------*/

.contact .info-item {
    text-align: center;
}

.contact .info-item i {
    font-size: 48px;
    display: inline-block;
    margin-bottom: 10px;
    color: var(--color-primary);
}

.contact .info-item address,
.contact .info-item p {
    margin-bottom: 0;
}

.contact .info-item h3 {
    font-size: 16px;
    margin-bottom: 15px;
    font-weight: bold;
    letter-spacing: 0.1rem;
    text-transform: uppercase;
    color: var(--color-primary);
}

.contact .info-item a:hover {
    color: var(--color-primary);
}

@media (min-width: 768px) {
    .contact .info-item-borders {
        border-left: 1px solid rgba(var(--color-secondary-rgb), 0.2);
        border-right: 1px solid rgba(var(--color-secondary-rgb), 0.2);
    }
}

.contact .php-email-form {
    box-shadow: 0 0 30px rgba(var(--color-black-rgb), 0.1);
    padding: 30px;
    background: var(--color-white);
}

@media (max-width: 640px) {
    .contact .php-email-form {
        padding: 20px;
    }
}

.contact .php-email-form .error-message {
    display: none;
    color: var(--color-white);
    background: var(--color-red);
    text-align: left;
    padding: 15px;
    font-weight: 600;
}

.contact .php-email-form .error-message br+br {
    margin-top: 25px;
}

.contact .php-email-form .sent-message {
    display: none;
    color: var(--color-white);
    background: var(--color-green);
    text-align: center;
    padding: 15px;
    font-weight: 600;
}

.contact .php-email-form .loading {
    display: none;
    background: var(--color-white);
    text-align: center;
    padding: 15px;
}

.contact .php-email-form .loading:before {
    content: "";
    display: inline-block;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    margin: 0 10px -6px 0;
    border: 3px solid var(--color-green);
    border-top-color: var(--color-white);
    animation: animate-loading 1s linear infinite;
}

.contact .php-email-form .form-group {
    margin-bottom: 20px;
}

.contact .php-email-form input,
.contact .php-email-form textarea {
    padding: 10px 14px;
    border-radius: 0;
    box-shadow: none;
    font-size: 15px;
}

.contact .php-email-form input::focus,
.contact .php-email-form textarea::focus {
    background-color: var(--color-primary);
}

.contact .php-email-form button[type=submit] {
    background: var(--color-primary);
    border: 0;
    padding: 10px 30px;
    color: #fff;
    transition: 0.4s;
    cursor: pointer;
}

.contact .php-email-form button[type=submit]:hover {
    background: rgba(var(--color-primary-rgb), 0.8);
}

@keyframes animate-loading {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}


/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/

.footer {
    overflow: hidden;
    background: rgba(var(--color-black-rgb), 0.9);
    font-size: 16px;
    color: rgba(var(--color-white-rgb), 0.7);
}

.footer .footer-content {
    padding: 60px 0;
}

.footer a.footer-link-more {
    color: rgba(var(--color-white-rgb), 0.7);
    display: inline-block;
    position: relative;
}

.footer a.footer-link-more:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: var(--color-white);
}

.footer a.footer-link-more:hover {
    color: rgba(var(--color-white-rgb), 1);
}

.footer .footer-heading {
    color: var(--color-white);
    margin-bottom: 20px;
    padding-bottom: 10px;
    font-size: 18px;
}

.footer .footer-blog-entry li {
    margin-bottom: 20px;
    display: block;
}

.footer .footer-blog-entry li a .post-meta {
    font-size: 10px;
    letter-spacing: 0.07rem;
    text-transform: uppercase;
    font-weight: 400;
    font-family: var(--font-secondary);
    color: rgba(var(--color-white-rgb), 0.4);
    margin-bottom: 0px;
}

.footer .footer-blog-entry li a img {
    flex: 0 0 50px;
    width: 50px;
}

.footer .footer-links li {
    margin-bottom: 10px;
}

.footer .footer-links li a {
    color: rgba(var(--color-white-rgb), 0.7);
}

.footer .footer-links li a:hover,
.footer .footer-links li a:focus {
    color: rgba(var(--color-white-rgb), 1);
}

.footer .footer-legal {
    background: var(--color-black);
    padding: 40px 0;
}

.footer .footer-legal .social-links a {
    text-align: center;
    display: inline-block;
    width: 40px;
    height: 40px;
    background-color: rgba(var(--color-white-rgb), 0.09);
    border-radius: 50%;
    color: var(--color-white);
    line-height: 40px;
}

.footer .footer-legal .social-links a:hover {
    background-color: rgba(var(--color-white-rgb), 0.2);
}

.footer .copyright strong {
    font-weight: 400;
}

.footer .credits {
    padding-top: 6px;
    font-size: 13px;
}

.footer .credits a {
    color: var(--color-white);
}

.std {
    width: 100%;
    height: 180px;
    object-fit: cover;
}

/* Editorial redesign: newspaper-inspired treatment for a Uganda audience. */
body {
    background: #fff;
    color: #121212;
    font-family: var(--font-default);
    -webkit-font-smoothing: antialiased;
}

a {
    color: #121212;
}

a:hover {
    color: #555;
}

#main {
    margin-top: 124px;
}

.header {
    height: auto;
    background: #fff;
    border-bottom: 1px solid #121212;
    box-shadow: none;
}

.header.sticked {
    height: auto;
}

.edition-bar {
    min-height: 22px;
    border-bottom: 1px solid #e2e2e2;
    color: #555;
    font-family: var(--font-secondary);
    font-size: 11px;
    font-weight: 600;
}

.masthead {
    min-height: 48px;
    position: relative;
}

.header .logo {
    color: #121212;
    flex: 1;
    text-align: center;
}

.header .logo img {
    max-height: 26px;
    margin-right: 8px;
}

.header .logo h1,
.header .logo .site-title {
    color: #121212;
    font-family: var(--font-primary);
    font-size: clamp(24px, 3vw, 34px);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    margin: 0;
}

.search-link,
.support-link {
    min-width: 96px;
    color: #121212;
    font-family: var(--font-secondary);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
}

.support-link {
    text-align: right;
}

.navbar {
    border-top: 1px solid #121212;
}

.navbar ul {
    gap: 0;
    overflow-x: auto;
    scrollbar-width: none;
    white-space: nowrap;
}

.navbar ul::-webkit-scrollbar {
    display: none;
}

@media (min-width: 1280px) {
    .navbar ul {
        justify-content: flex-start;
        width: 100%;
    }

    .navbar a,
    .navbar a:focus {
        padding: 7px 13px;
        color: #121212;
        font-family: var(--font-secondary);
        font-size: 12px;
        font-weight: 600;
        letter-spacing: 0;
    }

    .navbar a:hover,
    .navbar li:hover > a {
        color: #555;
    }
}

.front-page-kicker {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
    padding: 10px 0;
    border-top: 1px solid #121212;
    border-bottom: 1px solid #d8d8d8;
    color: #555;
    font-family: var(--font-secondary);
    font-size: 12px;
    font-weight: 600;
}

.front-page-kicker span:first-child {
    color: #9b1c1f;
    text-transform: uppercase;
}

section {
    padding: 12px 0;
}

.category-section .row,
.posts .row {
    --bs-gutter-x: 26px;
}

.border-start,
.custom-border {
    border-color: #d8d8d8 !important;
}

.post-entry-1 {
    margin-bottom: 24px;
    padding-bottom: 18px;
    border-bottom: 1px solid #d8d8d8;
}

.post-entry-1 img {
    width: 100%;
    margin-bottom: 12px;
    filter: saturate(0.95) contrast(1.02);
}

.post-entry-1 h2 {
    margin-bottom: 10px;
    color: #121212;
    font-family: var(--font-primary);
    font-size: 22px;
    font-weight: 700;
    line-height: 1.12;
}

.post-entry-1 h2 a:hover,
.post-entry-2 h3 a:hover,
.single-post h1 a:hover {
    color: #555;
}

.post-entry-1 p,
.post-entry-2 p,
.article-standfirst {
    color: #555;
    font-family: var(--font-primary);
    font-size: 16px;
    line-height: 1.55;
}

.post-meta {
    color: #666;
    font-family: var(--font-secondary);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0;
}

.post-meta .date {
    color: #9b1c1f;
}

.author,
.author .name h3 {
    color: #555;
    font-family: var(--font-secondary);
    font-size: 12px;
    font-weight: 600;
}

.post-entry-1.lg h2,
.category-section .col-lg-8 .post-entry-1 h2 {
    font-size: clamp(34px, 4vw, 52px);
    line-height: 0.98;
}

.category-section .col-lg-8 .post-entry-1 img {
    max-height: 440px;
    object-fit: cover;
}

.trending {
    border: 1px solid #121212;
}

.trending > h3 {
    padding: 12px 16px;
    border-bottom: 1px solid #121212;
    font-family: var(--font-secondary);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.trending .trending-post li a {
    padding: 16px;
}

.trending .trending-post li a .number {
    z-index: 0;
    color: rgba(0, 0, 0, 0.06);
    font-family: var(--font-primary);
}

.trending .trending-post li a h3 {
    position: relative;
    z-index: 1;
    font-family: var(--font-primary);
    font-size: 18px;
    font-weight: 700;
}

.sponsored-strip {
    border-top: 1px solid #d8d8d8;
    padding-top: 12px;
}

.home-top-section {
    padding-top: 18px;
}

.home-lead-column .post-entry-1 {
    padding-left: 18px;
}

.home-lead-column .post-entry-1 img {
    min-height: 360px;
    max-height: 500px;
    object-fit: cover;
}

.home-support-column .post-entry-1 h2,
.home-quick-column .post-entry-1 h2 {
    font-size: 20px;
    line-height: 1.12;
}

.home-quick-column .post-entry-1 img {
    height: 150px;
    object-fit: cover;
}

.home-read-link,
.home-marketplace-link {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    color: #9b1c1f;
    font-family: var(--font-secondary);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.home-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
    padding: 14px 0 10px;
    border-top: 1px solid #121212;
    border-bottom: 1px solid #d8d8d8;
}

.home-section-heading span {
    color: #121212;
    font-family: var(--font-secondary);
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
}

.home-section-heading a {
    color: #9b1c1f;
    font-family: var(--font-secondary);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.home-market-banner figure {
    border-top: 1px solid #d8d8d8;
    border-bottom: 1px solid #d8d8d8;
    padding: 12px 0;
}

.home-market-banner img {
    max-height: 260px;
    object-fit: contain;
}

.home-marketplace-section {
    padding: 22px 0;
}

.home-marketplace-section .sponsored-strip {
    border-top: 1px solid #121212;
    border-bottom: 1px solid #d8d8d8;
    padding: 12px 0;
}

.home-marketplace-link {
    border: 1px solid #121212;
    color: #121212;
    min-height: 36px;
    padding: 0 12px;
}

.home-organized-front {
    padding-top: 18px;
}

.home-front-grid {
    display: grid;
    grid-template-columns: minmax(210px, 0.8fr) minmax(0, 1.75fr) minmax(260px, 0.9fr);
    gap: 28px;
    align-items: start;
}

.home-block-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 38px;
    border-top: 1px solid #121212;
    border-bottom: 1px solid #d8d8d8;
    margin-bottom: 12px;
}

.home-block-heading span,
.home-block-heading a {
    font-family: var(--font-secondary);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.home-block-heading a {
    color: #9b1c1f;
}

.home-brief-column {
    display: grid;
    align-content: start;
}

.home-brief {
    border-bottom: 1px solid #d8d8d8;
    padding: 0 0 15px;
    margin-bottom: 15px;
}

.home-brief a,
.home-main-lead a,
.home-story-card a,
.home-trend-link {
    color: #121212;
}

.home-brief h3 {
    margin: 5px 0 7px;
    font-family: var(--font-primary);
    font-size: 21px;
    font-weight: 800;
    line-height: 1.08;
}

.home-brief span {
    color: #666;
    font-family: var(--font-secondary);
    font-size: 12px;
    font-weight: 700;
}

.home-main-lead {
    border-left: 1px solid #121212;
    border-right: 1px solid #d8d8d8;
    padding: 0 24px 18px;
}

.home-main-lead img {
    width: 100%;
    height: min(42vw, 480px);
    min-height: 360px;
    object-fit: cover;
    margin-bottom: 15px;
}

.home-main-lead h1 {
    margin: 8px 0 12px;
    font-family: var(--font-primary);
    font-size: clamp(38px, 4.5vw, 64px);
    font-weight: 800;
    line-height: 0.98;
}

.home-main-lead p {
    color: #555;
    font-family: var(--font-primary);
    font-size: 18px;
    line-height: 1.55;
}

.home-lead-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-top: 1px solid #d8d8d8;
    padding-top: 12px;
}

.home-lead-footer span,
.home-lead-footer a {
    font-family: var(--font-secondary);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.home-lead-footer a {
    color: #9b1c1f;
}

.home-trending-panel {
    display: grid;
    align-content: start;
}

.home-trend-link {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
    border-bottom: 1px solid #d8d8d8;
    padding: 13px 0;
}

.home-trend-link em {
    color: #9b1c1f;
    font-family: var(--font-primary);
    font-size: 32px;
    font-style: normal;
    font-weight: 800;
    line-height: 1;
}

.home-trend-link strong,
.home-trend-link small {
    display: block;
}

.home-trend-link strong {
    font-family: var(--font-primary);
    font-size: 18px;
    font-weight: 800;
    line-height: 1.14;
}

.home-trend-link small {
    color: #666;
    font-family: var(--font-secondary);
    font-size: 11px;
    font-weight: 800;
    margin-top: 5px;
}

.home-latest-section {
    padding-top: 28px;
}

.home-latest-grid {
    display: grid;
    grid-template-columns: minmax(280px, 0.85fr) minmax(0, 1.35fr) minmax(240px, 0.7fr);
    gap: 28px;
    align-items: start;
}

.home-latest-feature {
    border-right: 1px solid #d8d8d8;
    padding-right: 22px;
}

.home-story-card {
    border-bottom: 1px solid #d8d8d8;
    padding-bottom: 18px;
    margin-bottom: 18px;
}

.home-story-card img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    margin-bottom: 10px;
}

.home-story-card h3 {
    margin: 6px 0 8px;
    font-family: var(--font-primary);
    font-size: 22px;
    font-weight: 800;
    line-height: 1.08;
}

.home-story-card p {
    color: #555;
    font-family: var(--font-primary);
    line-height: 1.5;
}

.home-story-card.large h3 {
    font-size: 31px;
    line-height: 1.04;
}

.home-latest-river {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 22px;
}

.home-latest-river .home-story-card a {
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr);
    gap: 14px;
}

.home-latest-river .home-story-card img {
    width: 130px;
    height: 98px;
    aspect-ratio: auto;
}

.home-latest-river .home-story-card p {
    font-size: 14px;
    margin-bottom: 0;
}

.home-market-banner {
    display: block;
    border-top: 1px solid #d8d8d8;
    border-bottom: 1px solid #d8d8d8;
    padding: 14px 0;
}

.home-market-banner img {
    width: 100%;
    max-height: 250px;
    object-fit: contain;
}

.home-reader-sidebar {
    display: grid;
    gap: 14px;
}

.home-reader-box {
    border: 1px solid #d8d8d8;
    padding: 16px;
    background: #fff;
}

.home-reader-box h3 {
    margin: 5px 0 9px;
    font-family: var(--font-primary);
    font-size: 24px;
    font-weight: 800;
    line-height: 1.05;
}

.home-reader-box p {
    color: #555;
    line-height: 1.5;
}

.home-reader-box > a {
    color: #9b1c1f;
    font-family: var(--font-secondary);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.home-category-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.home-category-links a {
    min-height: 34px;
    border: 1px solid #d8d8d8;
    color: #121212;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-secondary);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.home-main-lead h1,
.home-brief h3,
.home-trend-link strong,
.front-popular-list strong,
.home-story-card h3,
.archive-card h2 {
    overflow-wrap: anywhere;
}

.home-brief h3,
.home-trend-link strong,
.front-popular-list strong,
.home-story-card h3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.home-brief h3,
.home-trend-link strong {
    -webkit-line-clamp: 3;
}

.front-popular-list strong,
.home-story-card h3 {
    -webkit-line-clamp: 2;
}

.home-story-card p,
.home-main-lead p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.home-story-card p {
    -webkit-line-clamp: 3;
}

.home-main-lead p {
    -webkit-line-clamp: 4;
}

.save-article-button,
.article-action-row a,
.native-ad-card a,
.product-actions a,
.newsletter-panel button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    border: 1px solid #121212;
    background: #fff;
    color: #121212;
    padding: 0 12px;
    font-family: var(--font-secondary);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.save-article-button.is-saved,
.product-actions a:first-child,
.newsletter-panel button {
    background: #121212;
    color: #fff;
}

.save-article-button {
    width: 36px;
    min-width: 36px;
    height: 36px;
    min-height: 36px;
    padding: 0;
    border-color: #d8d8d8;
    border-radius: 50%;
    font-size: 16px;
    line-height: 1;
}

.save-article-button:hover {
    border-color: #121212;
    color: #9b1c1f;
}

.save-article-button.is-saved {
    border-color: #9b1c1f;
    background: #fff;
    color: #9b1c1f;
}

.home-card-actions,
.article-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: space-between;
}

.home-card-actions > a,
.home-brief span a,
.home-lead-footer span a {
    color: #666;
    font-family: var(--font-secondary);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.native-ad-section {
    padding: 18px 0;
}

.native-ad-card,
.category-native-slot {
    border: 1px solid #121212;
    padding: 18px;
    background: #fbfaf7;
}

.native-ad-card span,
.category-native-slot span {
    color: #9b1c1f;
    display: block;
    font-family: var(--font-secondary);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.native-ad-card strong,
.category-native-slot strong {
    display: block;
    margin-top: 5px;
    font-family: var(--font-primary);
    font-size: 26px;
    font-weight: 800;
    line-height: 1.05;
}

.native-ad-card p,
.category-native-slot p {
    color: #555;
    margin: 8px 0 12px;
}

.native-ad-card div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.category-native-slot,
.category-commerce-widget {
    margin: 18px 0 24px;
}

.product-page {
    padding: 28px 0 60px;
}

.product-hero {
    border-top: 1px solid #121212;
    border-bottom: 1px solid #d8d8d8;
    padding: 28px 0;
    max-width: 980px;
}

.product-hero h1 {
    max-width: 840px;
    margin: 8px 0 14px;
    font-family: var(--font-primary);
    font-size: clamp(40px, 5vw, 72px);
    font-weight: 800;
    line-height: 0.98;
}

.product-hero p {
    max-width: 760px;
    color: #444;
    font-family: var(--font-primary);
    font-size: 19px;
    line-height: 1.6;
}

.product-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.product-section-heading {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    margin: 24px 0 14px;
    padding: 12px 0;
    border-top: 1px solid #121212;
    border-bottom: 1px solid #d8d8d8;
}

.product-section-heading span,
.product-section-heading small {
    font-family: var(--font-secondary);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.membership-grid,
.commerce-grid,
.archive-card-grid,
.topic-directory-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 24px;
}

.membership-grid article,
.commerce-grid article,
.archive-card,
.briefing-panel,
.home-reader-box {
    border: 1px solid #d8d8d8;
    background: #fff;
    padding: 16px;
}

.membership-grid article.featured {
    border-color: #121212;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
}

.membership-grid span,
.commerce-grid span,
.archive-card span {
    color: #9b1c1f;
    font-family: var(--font-secondary);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.membership-grid h2,
.commerce-grid h2,
.archive-card h2,
.premium-explainer h2 {
    font-family: var(--font-primary);
    font-size: 26px;
    font-weight: 800;
    line-height: 1.05;
    margin: 8px 0;
}

.archive-card img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    margin-bottom: 10px;
}

.briefing-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(260px, 0.75fr);
    gap: 22px;
    margin-top: 24px;
}

.saved-articles-list {
    display: grid;
    gap: 10px;
}

.saved-articles-list a {
    border-bottom: 1px solid #d8d8d8;
    color: #121212;
    padding-bottom: 10px;
}

.saved-articles-list strong,
.saved-articles-list span {
    display: block;
}

.muted-note {
    color: #666;
}

.topic-chip-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.topic-chip-grid a {
    min-height: 36px;
    border: 1px solid #d8d8d8;
    color: #121212;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 12px;
    font-family: var(--font-secondary);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.live-feed {
    display: grid;
    gap: 0;
    margin-top: 24px;
    max-width: 880px;
}

.live-feed article {
    display: grid;
    grid-template-columns: 80px minmax(0, 1fr);
    gap: 18px;
    border-top: 1px solid #d8d8d8;
    padding: 16px 0;
}

.live-feed time {
    color: #9b1c1f;
    font-family: var(--font-secondary);
    font-weight: 900;
}

.live-feed h2 {
    font-family: var(--font-primary);
    font-size: 24px;
    font-weight: 800;
    line-height: 1.08;
}

.newsletter-panel {
    border: 1px solid #121212;
    padding: 18px;
    margin-top: 24px;
}

.newsletter-panel label {
    display: block;
    font-family: var(--font-secondary);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.newsletter-panel div {
    display: flex;
    gap: 8px;
    margin-top: 10px;
}

.newsletter-panel input {
    flex: 1;
    min-height: 42px;
    border: 1px solid #d8d8d8;
    padding: 0 12px;
}

.form-message {
    border: 1px solid #d8d8d8;
    margin-bottom: 12px;
    padding: 10px 12px;
    font-family: var(--font-secondary);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.form-message.is-success {
    border-color: #0f7a3b;
    color: #0f7a3b;
}

.form-message.is-error {
    border-color: #9b1c1f;
    color: #9b1c1f;
}

.author-profile-hero {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    gap: 24px;
    align-items: center;
}

.author-profile-hero > img {
    width: 160px;
    height: 160px;
    object-fit: cover;
    border: 1px solid #d8d8d8;
}

.sponsored-label {
    color: #666;
    font-family: var(--font-secondary);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
}

.card {
    border-radius: 0;
}

.card img,
.rounded {
    border-radius: 0 !important;
}

.editorial-section-header {
    border-top: 3px double #121212;
    border-bottom: 1px solid #d8d8d8;
    padding: 18px 0 12px;
}

.editorial-section-header h2 {
    color: #121212;
    font-size: clamp(34px, 5vw, 54px);
    line-height: 1;
    margin: 0 0 8px;
}

.editorial-section-header p {
    color: #555;
    font-family: var(--font-secondary);
    font-size: 14px;
}

.post-entry-2 {
    border-bottom: 1px solid #d8d8d8;
    padding-bottom: 22px;
}

.post-entry-2 h3 {
    font-family: var(--font-primary);
    font-size: 28px;
    font-weight: 700;
    line-height: 1.1;
}

.post-entry-2.small-img .thumbnail {
    flex: 0 0 34%;
}

.single-post h1 {
    color: #121212;
    font-family: var(--font-primary);
    font-size: clamp(38px, 5vw, 64px);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.04;
}

.article-standfirst {
    max-width: 720px;
    color: #444;
    font-size: 20px;
}

.single-post figure img {
    border-radius: 0;
}

.article-body {
    color: #121212;
    font-family: var(--font-primary);
    font-size: 19px;
    line-height: 1.7;
}

.article-body p {
    margin-bottom: 1.15em;
}

.article-sponsor {
    margin: 24px 0;
    padding: 12px 0;
    border-top: 1px solid #d8d8d8;
    border-bottom: 1px solid #d8d8d8;
}

.article-sponsor span {
    display: block;
    margin-bottom: 8px;
    color: #777;
    font-family: var(--font-secondary);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

.article-sponsor img {
    width: 100%;
    height: auto;
}

.dantty-ad-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 220px;
    gap: 18px;
    align-items: center;
    padding: 18px;
    border: 1px solid #121212;
    background: #fbfaf7;
    color: #121212;
}

.dantty-ad-card:hover {
    color: #121212;
    background: #f4f1ea;
}

.dantty-ad-copy strong {
    display: block;
    margin-bottom: 8px;
    font-family: var(--font-primary);
    font-size: 24px;
    line-height: 1.1;
}

.dantty-ad-copy p {
    margin: 0 0 12px;
    color: #555;
    font-family: var(--font-secondary);
    font-size: 14px;
    line-height: 1.45;
}

.dantty-ad-copy em,
.dantty-ad-strip em,
.sponsored-product-cta {
    display: inline-block;
    color: #9b1c1f;
    font-family: var(--font-secondary);
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
    text-transform: uppercase;
}

.dantty-ad-card img {
    width: 100%;
    max-height: 150px;
    object-fit: contain;
}

.dantty-ad-strip {
    border-top: 1px solid #121212;
    border-bottom: 1px solid #121212;
}

.dantty-ad-strip a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 16px 0;
    color: #121212;
}

.dantty-ad-strip span {
    color: #777;
    font-family: var(--font-secondary);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.dantty-ad-strip strong {
    flex: 1;
    font-family: var(--font-primary);
    font-size: 22px;
}

.sponsored-intro {
    color: #666;
    font-family: var(--font-secondary);
    font-size: 13px;
}

.sponsored-product-card {
    display: block;
    height: 100%;
    overflow: hidden;
    border: 1px solid #d8d8d8 !important;
    background: #fff;
    color: #121212;
    transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.sponsored-product-card:hover {
    border-color: #121212 !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
    color: #121212;
}

.sponsored-product-image {
    min-height: 145px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, #fbfaf7 0%, #f2efe8 100%);
}

.sponsored-product-image img {
    max-height: 130px;
    max-width: 90%;
    object-fit: contain;
}

.sponsored-products-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.sponsored-products-sidebar {
    display: grid;
    gap: 12px;
}

.sponsored-products-sidebar .sponsored-product-card {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
}

.sponsored-products-sidebar .sponsored-product-image {
    min-height: 110px;
}

.sponsored-products-sidebar .sponsored-product-image img {
    max-height: 90px;
}

.sponsored-product-body {
    padding: 12px;
}

.sponsored-product-body strong,
.sponsored-product-body em,
.sponsored-product-body small,
.sponsored-product-brand {
    display: block;
}

.sponsored-product-brand {
    color: #666;
    font-family: var(--font-secondary);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.sponsored-product-body strong {
    margin-top: 4px;
    color: #121212;
    font-family: var(--font-secondary);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.25;
}

.sponsored-product-body em {
    margin-top: 8px;
    color: #0f7a3b;
    font-family: var(--font-secondary);
    font-size: 15px;
    font-style: normal;
    font-weight: 900;
}

.sponsored-product-body small {
    margin-top: 8px;
    color: #9b1c1f;
    font-family: var(--font-secondary);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.sponsored-skeleton {
    min-height: 210px;
    padding: 14px;
    border: 1px solid #e2e2e2;
    background: #fff;
}

.sponsored-products-sidebar .sponsored-skeleton {
    min-height: 118px;
}

.sponsored-skeleton span,
.sponsored-skeleton strong,
.sponsored-skeleton em {
    display: block;
    border-radius: 0;
    background: linear-gradient(90deg, #f1f1f1 0%, #fafafa 45%, #eeeeee 100%);
    background-size: 220% 100%;
    animation: sponsoredPulse 1.25s ease-in-out infinite;
}

.sponsored-skeleton span {
    height: 118px;
    margin-bottom: 14px;
}

.sponsored-products-sidebar .sponsored-skeleton span {
    height: 64px;
}

.sponsored-skeleton strong {
    height: 14px;
    width: 82%;
    margin-bottom: 10px;
}

.sponsored-skeleton em {
    height: 12px;
    width: 48%;
}

.sponsored-fallback {
    display: block;
    padding: 18px;
    border: 1px solid #121212;
    background: #fbfaf7;
    color: #121212;
}

.sponsored-fallback span,
.sponsored-fallback strong,
.sponsored-fallback em {
    display: block;
}

.sponsored-fallback span {
    color: #9b1c1f;
    font-family: var(--font-secondary);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.sponsored-fallback strong {
    margin-top: 6px;
    font-family: var(--font-primary);
    font-size: 22px;
    line-height: 1.1;
}

.sponsored-fallback em {
    margin-top: 10px;
    color: #9b1c1f;
    font-family: var(--font-secondary);
    font-size: 12px;
    font-style: normal;
    font-weight: 900;
    text-transform: uppercase;
}

.sponsored-image-fallback {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: #9b1c1f;
    color: #fff;
    font-family: var(--font-primary);
    font-size: 28px;
    font-weight: 700;
}

@keyframes sponsoredPulse {
    0% {
        background-position: 0% 0;
    }
    100% {
        background-position: -220% 0;
    }
}

.comment-alert {
    margin-bottom: 20px;
    padding: 12px 14px;
    border-left: 4px solid #121212;
    background: #f7f7f7;
    color: #121212;
    font-family: var(--font-secondary);
    font-size: 14px;
}

.comment-alert-success {
    border-left-color: #0f7a3b;
    background: #f0faf4;
}

.comment-alert-error {
    border-left-color: #9b1c1f;
    background: #fff5f5;
}

.comment-body {
    color: #333;
    font-family: var(--font-primary);
    font-size: 17px;
    line-height: 1.55;
}

.comment-help {
    margin-top: 8px;
    color: #666;
    font-family: var(--font-secondary);
    font-size: 12px;
}

.comment-trap {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.reading-progress {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10000;
    height: 3px;
    background: transparent;
}

.reading-progress span {
    display: block;
    width: 0;
    height: 100%;
    background: #9b1c1f;
    transition: width 0.12s linear;
}

.reader-hook-section {
    margin: 34px 0;
    padding-top: 18px;
    border-top: 1px solid #121212;
}

.reader-hook-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
    font-family: var(--font-secondary);
}

.reader-hook-heading span {
    color: #121212;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
}

.reader-hook-heading a {
    color: #9b1c1f;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.reader-hook-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.reader-hook-grid a {
    color: #121212;
}

.reader-hook-grid img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    margin-bottom: 8px;
}

.reader-hook-grid strong {
    display: block;
    font-family: var(--font-primary);
    font-size: 18px;
    line-height: 1.16;
}

.reader-hook-grid span,
.most-read-list span {
    display: block;
    margin-top: 6px;
    color: #666;
    font-family: var(--font-secondary);
    font-size: 12px;
    font-weight: 700;
}

.most-read-list {
    display: grid;
    border-top: 1px solid #d8d8d8;
}

.most-read-list a {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: baseline;
    padding: 14px 0;
    border-bottom: 1px solid #d8d8d8;
    color: #121212;
}

.most-read-list em {
    color: #9b1c1f;
    font-family: var(--font-primary);
    font-size: 28px;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
}

.most-read-list strong {
    font-family: var(--font-primary);
    font-size: 20px;
    line-height: 1.2;
}

.sticky-next-story {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 9998;
    width: min(360px, calc(100vw - 36px));
    padding: 14px 16px;
    border: 1px solid #121212;
    background: #fff;
    color: #121212;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.16);
}

.sticky-next-story span,
.sticky-next-story strong {
    display: block;
}

.sticky-next-story span {
    color: #9b1c1f;
    font-family: var(--font-secondary);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.sticky-next-story strong {
    margin-top: 4px;
    font-family: var(--font-primary);
    font-size: 18px;
    line-height: 1.15;
}

.journalist-register-section {
    padding: 34px 0 60px;
}

.journalist-register {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 420px;
    gap: 42px;
    align-items: start;
}

.journalist-register .eyebrow {
    color: #9b1c1f;
    font-family: var(--font-secondary);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.journalist-register h1 {
    margin: 12px 0 16px;
    color: #121212;
    font-family: var(--font-primary);
    font-size: clamp(38px, 5vw, 64px);
    font-weight: 700;
    line-height: 1.02;
}

.journalist-register p,
.journalist-register li {
    color: #444;
    font-family: var(--font-primary);
    font-size: 18px;
    line-height: 1.6;
}

.journalist-register-card {
    padding: 24px;
    border: 1px solid #121212;
    background: #fbfaf7;
}

.journalist-register-card h2 {
    margin-bottom: 18px;
    font-size: 26px;
}

.journalist-register-card label {
    display: block;
    margin: 12px 0 6px;
    color: #121212;
    font-family: var(--font-secondary);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.journalist-register-card input,
.journalist-register-card textarea {
    width: 100%;
    border: 1px solid #bdbdbd;
    background: #fff;
    padding: 11px 12px;
    color: #121212;
}

.journalist-register-card button {
    width: 100%;
    margin-top: 18px;
    border: 1px solid #121212;
    background: #121212;
    color: #fff;
    padding: 12px;
    font-family: var(--font-secondary);
    font-weight: 900;
    text-transform: uppercase;
}

.journalist-register-card > a {
    display: block;
    margin-top: 14px;
    text-align: center;
    color: #9b1c1f;
    font-family: var(--font-secondary);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.search-discovery-form .input-group {
    border: 1px solid #121212;
}

.search-discovery-form .form-control,
.search-discovery-form .input-group-text {
    border: 0;
    border-radius: 0;
    background: #fff;
}

.search-suggestions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.search-suggestions a {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid #d8d8d8;
    color: #121212;
    font-family: var(--font-secondary);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.search-suggestions a:hover {
    border-color: #121212;
}

.front-popular-strip {
    padding: 18px 0;
    border-top: 1px solid #121212;
    border-bottom: 1px solid #d8d8d8;
}

.front-popular-list {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}

.front-popular-list a {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 8px;
    color: #121212;
}

.front-popular-list em {
    color: #9b1c1f;
    font-family: var(--font-primary);
    font-size: 28px;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
}

.front-popular-list strong {
    display: block;
    font-family: var(--font-primary);
    font-size: 17px;
    line-height: 1.16;
}

.front-popular-list span {
    grid-column: 2;
    color: #666;
    font-family: var(--font-secondary);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.home-front-page {
    padding-top: 18px;
}

.home-edition-grid {
    display: grid;
    grid-template-columns: minmax(190px, 0.85fr) minmax(0, 2fr) minmax(230px, 0.95fr);
    gap: 28px;
    align-items: start;
}

.home-side-column,
.home-briefing-panel {
    border-left: 1px solid #d8d8d8;
    padding-left: 20px;
}

.home-side-column {
    border-left: 0;
    padding-left: 0;
}

.home-lead-story {
    border-left: 1px solid #121212;
    border-right: 1px solid #d8d8d8;
    padding: 0 24px 18px;
}

.home-lead-story a,
.home-small-card a,
.home-feature-card a,
.home-river-list a,
.home-trending-item {
    color: #121212;
}

.home-lead-story img {
    width: 100%;
    height: min(45vw, 500px);
    min-height: 360px;
    object-fit: cover;
    margin-bottom: 16px;
}

.home-lead-story h1 {
    margin: 8px 0 12px;
    font-family: var(--font-primary);
    font-size: clamp(38px, 4.4vw, 66px);
    font-weight: 800;
    line-height: 0.96;
}

.home-lead-story p {
    color: #555;
    font-family: var(--font-primary);
    font-size: 18px;
    line-height: 1.55;
}

.read-more-link,
.marketplace-link {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    color: #9b1c1f;
    font-family: var(--font-secondary);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.home-small-card {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #d8d8d8;
}

.home-small-card img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    margin-bottom: 10px;
}

.home-small-card h2 {
    margin: 6px 0 8px;
    font-family: var(--font-primary);
    font-size: 22px;
    font-weight: 800;
    line-height: 1.08;
}

.home-small-card p,
.home-river-list p,
.home-feature-card p {
    color: #555;
    font-family: var(--font-primary);
    line-height: 1.5;
}

.home-briefing-panel {
    display: grid;
    gap: 0;
}

.home-trending-item {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
    padding: 14px 0;
    border-bottom: 1px solid #d8d8d8;
}

.home-trending-item em {
    color: #9b1c1f;
    font-family: var(--font-primary);
    font-size: 34px;
    font-style: normal;
    font-weight: 800;
    line-height: 1;
}

.home-trending-item strong,
.home-trending-item span {
    grid-column: 2;
}

.home-trending-item strong {
    font-family: var(--font-primary);
    font-size: 18px;
    line-height: 1.15;
}

.home-trending-item span {
    color: #666;
    font-family: var(--font-secondary);
    font-size: 12px;
    font-weight: 700;
}

.home-river-section,
.home-sponsored-section {
    padding-top: 28px;
}

.home-river-grid {
    display: grid;
    grid-template-columns: minmax(270px, 0.85fr) minmax(0, 1.6fr);
    gap: 30px;
    border-top: 1px solid #121212;
    padding-top: 18px;
}

.home-feature-card {
    border-right: 1px solid #d8d8d8;
    padding-right: 24px;
}

.home-feature-card img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    margin-bottom: 12px;
}

.home-feature-card h2 {
    font-family: var(--font-primary);
    font-size: 30px;
    font-weight: 800;
    line-height: 1.05;
}

.home-river-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 22px;
}

.home-river-list article {
    border-bottom: 1px solid #d8d8d8;
    padding: 0 0 18px;
    margin-bottom: 18px;
}

.home-river-list a {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr);
    gap: 14px;
}

.home-river-list img {
    width: 132px;
    height: 96px;
    object-fit: cover;
}

.home-river-list h3 {
    font-family: var(--font-primary);
    font-size: 20px;
    font-weight: 800;
    line-height: 1.12;
    margin: 4px 0 6px;
}

.sponsored-heading {
    margin: 0;
    font-family: var(--font-secondary);
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
}

.about-newsroom {
    padding-top: 28px;
}

.eyebrow {
    display: inline-block;
    color: #9b1c1f;
    font-family: var(--font-secondary);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.about-hero {
    max-width: 940px;
    padding: 26px 0 34px;
    border-top: 1px solid #121212;
    border-bottom: 1px solid #d8d8d8;
}

.about-hero h1 {
    max-width: 820px;
    margin: 10px 0 18px;
    font-family: var(--font-primary);
    font-size: clamp(42px, 6vw, 78px);
    font-weight: 800;
    line-height: 0.98;
}

.about-hero p,
.about-editorial p,
.about-cta p {
    color: #444;
    font-family: var(--font-primary);
    font-size: 19px;
    line-height: 1.65;
}

.about-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.about-hero-actions a,
.about-cta-panel > a,
.search-aside-panel a,
.search-empty-state a,
.search-pagination a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    border: 1px solid #121212;
    color: #121212;
    font-family: var(--font-secondary);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.about-hero-actions a:first-child,
.about-cta-panel > a {
    background: #121212;
    color: #fff;
}

.about-principles {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    margin-top: 24px;
}

.about-principles article,
.about-checks > div,
.search-aside-panel,
.search-empty-state {
    border: 1px solid #d8d8d8;
    background: #fff;
    padding: 18px;
}

.about-principles span {
    color: #9b1c1f;
    font-family: var(--font-primary);
    font-size: 32px;
    font-weight: 800;
}

.about-principles h2,
.about-editorial h2,
.about-cta h2 {
    font-family: var(--font-primary);
    font-weight: 800;
    line-height: 1.02;
}

.about-principles h2 {
    font-size: 24px;
}

.about-editorial {
    padding: 36px 0;
}

.about-editorial h2,
.about-cta h2 {
    font-size: clamp(34px, 4vw, 54px);
}

.about-checks {
    display: grid;
    gap: 12px;
    margin-top: 20px;
}

.about-checks strong,
.about-checks span {
    display: block;
}

.about-checks strong {
    font-family: var(--font-secondary);
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
}

.about-checks span {
    color: #555;
    margin-top: 4px;
}

.about-cta-panel {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: center;
    border-top: 1px solid #121212;
    border-bottom: 1px solid #121212;
    padding: 28px 0;
}

.search-page {
    padding-top: 28px;
}

.search-hero {
    padding: 24px 0;
    border-top: 1px solid #121212;
    border-bottom: 1px solid #d8d8d8;
}

.search-hero h1 {
    max-width: 780px;
    margin: 8px 0 18px;
    font-family: var(--font-primary);
    font-size: clamp(38px, 5vw, 64px);
    font-weight: 800;
    line-height: 1;
}

.search-discovery-form {
    max-width: 860px;
}

.search-discovery-form .input-group {
    border: 1px solid #121212;
    min-height: 56px;
}

.search-discovery-form .form-control,
.search-discovery-form .input-group-text {
    min-height: 56px;
    border: 0;
    border-radius: 0;
    background: #fff;
}

.search-discovery-form .form-control {
    font-family: var(--font-primary);
    font-size: 18px;
}

.search-submit {
    color: #fff !important;
    background: #121212 !important;
    font-family: var(--font-secondary);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.search-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 290px;
    gap: 34px;
    margin-top: 28px;
}

.search-results-heading {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: end;
    margin-bottom: 16px;
}

.search-results-heading h2 {
    margin: 4px 0 0;
    font-family: var(--font-primary);
    font-size: 34px;
    font-weight: 800;
}

.search-results-heading > span {
    color: #666;
    font-family: var(--font-secondary);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.search-result-list {
    display: grid;
    gap: 0;
}

.search-result-card {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    gap: 20px;
    padding: 18px 0;
    border-top: 1px solid #d8d8d8;
}

.search-result-image img {
    width: 230px;
    height: 150px;
    object-fit: cover;
}

.search-result-body h3 {
    margin: 6px 0 8px;
    font-family: var(--font-primary);
    font-size: 28px;
    font-weight: 800;
    line-height: 1.06;
}

.search-result-body h3 a {
    color: #121212;
}

.search-result-body p {
    color: #555;
    font-family: var(--font-primary);
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 8px;
}

.search-result-author {
    color: #777;
    font-family: var(--font-secondary);
    font-size: 12px;
    font-weight: 800;
}

.search-aside {
    display: grid;
    align-content: start;
    gap: 14px;
}

.search-aside-panel h3,
.search-empty-state h3 {
    font-family: var(--font-primary);
    font-size: 24px;
    font-weight: 800;
}

.search-aside-panel p,
.search-empty-state p {
    color: #555;
}

.search-pagination {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 24px 0;
}

.search-pagination span {
    color: #555;
    font-family: var(--font-secondary);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.archive-pagination {
    display: grid;
    gap: 14px;
    margin: 28px 0 34px;
    padding: 16px 0;
    border-top: 1px solid #121212;
    border-bottom: 1px solid #d8d8d8;
}

.archive-pagination-summary {
    color: #555;
    font-family: var(--font-secondary);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.archive-pagination-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.archive-pagination-controls a,
.archive-pagination-gap,
.archive-pagination-jump button {
    min-width: 40px;
    min-height: 40px;
    border: 1px solid #d8d8d8;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    color: #121212;
    background: #fff;
    font-family: var(--font-secondary);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.archive-pagination-controls a:hover {
    border-color: #121212;
    color: #121212;
}

.archive-pagination-controls a.is-active {
    border-color: #121212;
    background: #121212;
    color: #fff;
}

.archive-pagination-controls a.is-disabled {
    pointer-events: none;
    color: #999;
    background: #f6f6f6;
}

.archive-pagination-gap {
    border-color: transparent;
    color: #777;
    min-width: 24px;
    padding: 0;
}

.archive-pagination-jump {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.archive-pagination-jump label {
    color: #555;
    font-family: var(--font-secondary);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.archive-pagination-jump input {
    width: 86px;
    min-height: 40px;
    border: 1px solid #d8d8d8;
    padding: 0 10px;
    font-family: var(--font-secondary);
    font-weight: 800;
}

.archive-pagination-jump button {
    border-color: #121212;
    background: #121212;
    color: #fff;
}

.category-result-list {
    display: grid;
    gap: 0;
}

.category-result-card {
    margin-bottom: 0;
}

.category-showcase {
    padding: 36px 0 22px;
}

.category-showcase + .category-showcase {
    border-top: 1px solid #e3e3e3;
}

.category-showcase-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    border-top: 3px solid #121212;
    border-bottom: 1px solid #e3e3e3;
    padding: 16px 0 12px;
    margin-bottom: 24px;
}

.category-showcase-header .eyebrow {
    display: inline-block;
    color: #9b1c1f;
    font-family: var(--font-secondary);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.category-showcase-header h2 {
    margin: 0;
    color: #121212;
    font-family: var(--font-primary);
    font-size: clamp(28px, 3.2vw, 40px);
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: -0.02em;
}

.category-showcase-header > a {
    color: #121212;
    font-family: var(--font-secondary);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    border-bottom: 1px solid transparent;
    transition: border-color 0.2s ease, color 0.2s ease;
}

.category-showcase-header > a:hover {
    color: #9b1c1f;
    border-color: #9b1c1f;
}

.category-showcase-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(250px, 0.8fr) minmax(250px, 0.75fr);
    gap: 28px;
    align-items: start;
}

.category-showcase a {
    color: #121212;
    text-decoration: none;
}

.category-showcase-lead {
    padding-right: 24px;
    border-right: 1px solid #e3e3e3;
}

.story-card {
    display: block;
}

.story-card-featured {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.story-card-featured:hover {
    transform: translateY(-2px);
}

.story-card-featured img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    margin-bottom: 14px;
    display: block;
}

.story-card-featured .post-meta {
    margin-bottom: 8px;
    color: #666;
    font-family: var(--font-secondary);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.story-card-featured h3 {
    margin: 0 0 10px;
    font-family: var(--font-primary);
    font-size: clamp(24px, 2.8vw, 36px);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.02em;
}

.story-card-featured p {
    color: #4a4a4a;
    font-family: var(--font-primary);
    font-size: 16px;
    line-height: 1.6;
    margin: 0 0 12px;
}

.category-showcase-author {
    display: inline-block;
    color: #666;
    font-family: var(--font-secondary);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-top: 4px;
}

.category-showcase-secondary {
    display: grid;
    gap: 18px;
}

.category-showcase-secondary article {
    padding-bottom: 16px;
    border-bottom: 1px solid #e3e3e3;
}

.story-card-compact img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    margin-bottom: 10px;
    display: block;
}

.story-card-compact .post-meta {
    margin-bottom: 6px;
    color: #666;
    font-family: var(--font-secondary);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.story-card-compact h3 {
    margin: 6px 0 0;
    font-family: var(--font-primary);
    font-size: 20px;
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -0.01em;
}

.category-showcase-rail {
    border: 1px solid #121212;
    background: #fff;
    box-shadow: 0 8px 24px rgba(18, 18, 18, 0.04);
}

.category-showcase-rail .rail-title {
    padding: 12px 14px;
    border-bottom: 1px solid #121212;
    font-family: var(--font-secondary);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #121212;
}

.category-showcase-rail a {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
    padding: 14px;
    border-bottom: 1px solid #e3e3e3;
    transition: background-color 0.2s ease;
}

.category-showcase-rail a:hover {
    background-color: #faf7f2;
}

.category-showcase-rail a:last-child {
    border-bottom: 0;
}

.category-showcase-rail em {
    color: #9b1c1f;
    font-family: var(--font-primary);
    font-size: 28px;
    font-style: normal;
    font-weight: 800;
    line-height: 1;
}

.category-showcase-rail strong,
.category-showcase-rail small {
    display: block;
}

.category-showcase-rail strong {
    font-family: var(--font-primary);
    font-size: 16px;
    font-weight: 800;
    line-height: 1.16;
}

.category-showcase-rail small {
    color: #666;
    font-family: var(--font-secondary);
    font-size: 11px;
    font-weight: 800;
    margin-top: 6px;
    letter-spacing: 0.04em;
}

@media (max-width: 991px) {
    .home-edition-grid,
    .home-river-grid,
    .home-front-grid,
    .home-latest-grid,
    .briefing-layout,
    .membership-grid,
    .commerce-grid,
    .archive-card-grid,
    .topic-directory-grid,
    .category-showcase-grid,
    .search-layout,
    .about-principles {
        grid-template-columns: 1fr;
    }

    .home-lead-story,
    .home-side-column,
    .home-briefing-panel,
    .home-feature-card,
    .home-main-lead,
    .home-latest-feature,
    .category-showcase-lead {
        border-left: 0;
        border-right: 0;
        padding-left: 0;
        padding-right: 0;
    }

    .home-side-column {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }

    .home-river-list {
        grid-template-columns: 1fr;
    }

    .home-brief-column {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0 18px;
    }

    .home-latest-river {
        grid-template-columns: 1fr;
    }

    .home-reader-sidebar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .category-showcase-secondary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .about-cta-panel,
    .category-showcase-header,
    .search-results-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .author-profile-hero {
        grid-template-columns: 120px minmax(0, 1fr);
    }

    .author-profile-hero > img {
        width: 120px;
        height: 120px;
    }
}

@media (max-width: 640px) {
    .home-side-column,
    .front-popular-list,
    .home-brief-column,
    .home-reader-sidebar,
    .membership-grid,
    .commerce-grid,
    .archive-card-grid,
    .topic-directory-grid,
    .category-showcase-secondary {
        grid-template-columns: 1fr;
    }

    .home-lead-story img {
        min-height: 260px;
        height: 68vw;
    }

    .home-main-lead img {
        min-height: 260px;
        height: 68vw;
    }

    .home-river-list a,
    .home-latest-river .home-story-card a,
    .search-result-card {
        grid-template-columns: 1fr;
    }

    .home-river-list img,
    .home-latest-river .home-story-card img,
    .search-result-image img {
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 10;
    }

    .search-discovery-form .input-group {
        display: grid;
        grid-template-columns: 44px 1fr;
    }

    .search-submit {
        grid-column: 1 / -1;
    }

    .product-hero h1 {
        font-size: 34px;
    }

    .product-hero p {
        font-size: 16px;
    }

    .author-profile-hero {
        grid-template-columns: 1fr;
    }

    .newsletter-panel div,
    .home-lead-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .live-feed article {
        grid-template-columns: 1fr;
        gap: 6px;
    }
}

@media (max-width: 767px) {
    .search-page,
    .category-archive-page {
        padding-top: 12px;
        padding-bottom: 74px;
    }

    .search-hero {
        padding: 16px 0;
        border-top: 1px solid #121212;
    }

    .search-hero h1,
    .editorial-section-header h2 {
        font-size: 32px;
        line-height: 1.02;
        margin-bottom: 12px;
    }

    .editorial-section-header {
        padding: 14px 0 10px;
        margin-bottom: 12px !important;
    }

    .editorial-section-header p {
        font-size: 13px;
        line-height: 1.45;
        margin-bottom: 0;
    }

    .search-discovery-form .input-group {
        display: grid;
        grid-template-columns: 44px minmax(0, 1fr);
        min-height: 48px;
    }

    .search-discovery-form .form-control,
    .search-discovery-form .input-group-text {
        min-height: 48px;
    }

    .search-discovery-form .form-control {
        font-size: 16px;
        min-width: 100%;
    }

    .search-submit {
        grid-column: 1 / -1;
        width: 100%;
    }

    .search-suggestions {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 4px;
        scrollbar-width: none;
    }

    .search-suggestions::-webkit-scrollbar {
        display: none;
    }

    .search-suggestions a {
        flex: 0 0 auto;
        min-height: 32px;
        font-size: 11px;
    }

    .search-layout {
        display: block;
        margin-top: 18px;
    }

    .search-results-heading {
        flex-direction: row;
        align-items: end;
        margin-bottom: 8px;
    }

    .search-results-heading h2 {
        font-size: 24px;
        line-height: 1.08;
    }

    .search-results-heading > span {
        white-space: nowrap;
        font-size: 11px;
    }

    .search-result-card,
    .category-result-card {
        grid-template-columns: 96px minmax(0, 1fr);
        gap: 12px;
        padding: 14px 0;
        display: grid !important;
    }

    .search-result-image,
    .category-result-card .thumbnail {
        width: 96px;
        margin-right: 0 !important;
    }

    .search-result-image img,
    .category-result-card .thumbnail img {
        width: 96px;
        height: 86px;
        object-fit: cover;
    }

    .search-result-body h3,
    .category-result-card h3 {
        font-size: 18px;
        line-height: 1.14;
        margin: 4px 0 6px;
    }

    .search-result-body p,
    .category-result-card p {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        font-size: 14px;
        line-height: 1.42;
        margin-bottom: 6px;
    }

    .search-result-author,
    .category-result-card .author {
        font-size: 11px;
    }

    .category-result-card .author .photo {
        display: none;
    }

    .archive-pagination {
        margin: 18px 0 24px;
        gap: 12px;
    }

    .archive-pagination-summary {
        text-align: center;
    }

    .archive-pagination-controls {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 6px;
    }

    .archive-pagination-controls a,
    .archive-pagination-gap {
        min-width: 0;
        min-height: 42px;
        padding: 0 6px;
        font-size: 11px;
    }

    .archive-pagination-gap {
        display: none;
    }

    .archive-pagination-jump {
        display: grid;
        grid-template-columns: 1fr 82px 56px;
        gap: 6px;
        align-items: center;
    }

    .archive-pagination-jump label {
        font-size: 11px;
    }

    .archive-pagination-jump input,
    .archive-pagination-jump button {
        width: 100%;
        min-height: 42px;
    }

    .search-aside {
        grid-template-columns: 1fr;
        margin-top: 18px;
    }

    .search-aside-panel {
        padding: 14px;
    }

    .search-aside-panel h3 {
        font-size: 20px;
    }
}

@media (max-width: 420px) {
    .search-result-card,
    .category-result-card {
        grid-template-columns: 84px minmax(0, 1fr);
        gap: 10px;
    }

    .search-result-image,
    .category-result-card .thumbnail {
        width: 84px;
    }

    .search-result-image img,
    .category-result-card .thumbnail img {
        width: 84px;
        height: 78px;
    }

    .archive-pagination-controls {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .archive-pagination-jump {
        grid-template-columns: 1fr;
    }
}

.socail-share-links {
    border-top: 1px solid #d8d8d8;
    border-bottom: 1px solid #d8d8d8;
    padding: 12px 0;
}

.footer {
    background: #121212;
}

@media (max-width: 1279px) {
    #main {
        margin-top: 72px;
    }

    .header .container-xl {
        position: relative;
    }

    .edition-bar,
    .support-link,
    .search-link,
    .header .masthead .logo img {
        display: none;
    }

    .masthead {
        min-height: 60px;
    }

    .header .logo {
        justify-content: flex-start !important;
        text-align: left;
    }

    .header .logo h1,
    .header .logo .site-title {
        font-size: 24px;
    }

    .navbar {
        border-top: none;
    }

    .mobile-nav-toggle {
        display: inline-block;
    }
}

@media (max-width: 768px) {
    .front-page-kicker {
        display: block;
    }

    .front-page-kicker span {
        display: block;
    }

    .post-entry-1.lg h2,
    .category-section .col-lg-8 .post-entry-1 h2 {
        font-size: 34px;
    }

    .post-entry-2.small-img .thumbnail {
        flex: 0 0 100%;
    }

    .article-standfirst {
        font-size: 18px;
    }

    .reader-hook-grid {
        grid-template-columns: 1fr 1fr;
    }

    .most-read-list a {
        grid-template-columns: 34px minmax(0, 1fr);
    }

    .most-read-list span {
        grid-column: 2;
    }

    .sticky-next-story {
        right: 10px;
        bottom: 74px;
        width: min(280px, calc(100vw - 20px));
        padding: 9px 12px;
        border-radius: 999px;
        box-shadow: 0 8px 18px rgba(0, 0, 0, 0.14);
    }

    .sticky-next-story span {
        display: inline;
        margin-right: 6px;
        font-size: 10px;
    }

    .sticky-next-story strong {
        display: inline;
        margin-top: 0;
        font-family: var(--font-secondary);
        font-size: 12px;
        font-weight: 500;
        line-height: 1.2;
    }

    .journalist-register {
        grid-template-columns: 1fr;
    }

    .front-popular-list {
        grid-template-columns: 1fr;
    }

    .dantty-ad-card {
        grid-template-columns: 1fr;
    }

    .sponsored-products-grid {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .dantty-ad-strip a {
        display: block;
    }

    .dantty-ad-strip strong,
    .dantty-ad-strip em {
        display: block;
        margin-top: 4px;
    }
}

@media (max-width: 575px) {
    .sticky-next-story {
        left: 10px;
        right: 10px;
        width: auto;
        max-width: none;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .sticky-next-story strong {
        font-weight: 500;
    }
}

/* Mobile-first news navigation */
@media (max-width: 767px) {
    #loading {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    body {
        background: #fff;
        color: #121212;
        user-select: auto;
        -webkit-user-select: auto;
    }

    .appHeader {
        height: 58px;
        border-bottom: 1px solid #121212;
        box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
    }

    .appHeader .pageTitle h1 {
        margin: 0;
        font-family: var(--font-primary);
        font-size: 22px !important;
        font-weight: 700;
        color: #121212;
        letter-spacing: 0;
    }

    .appHeader .pageTitle .image {
        height: 26px;
    }

    .appHeader .left,
    .appHeader .right,
    .appHeader .left .icon,
    .appHeader .right .icon {
        height: 58px;
    }

    #appCapsule.mobile-news-app {
        padding: 58px 0 76px;
        background: #fff;
    }

    .mobile-news-app .appContent {
        padding: 0 14px 22px;
    }

    .mobile-topbar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 14px 8px;
        border-bottom: 1px solid #e2e2e2;
        background: #fff;
        font-family: var(--font-secondary);
    }

    .mobile-topbar span,
    .mobile-topbar strong {
        display: block;
        font-size: 12px;
        line-height: 1.25;
    }

    .mobile-topbar span {
        color: #666;
    }

    .mobile-topbar strong {
        color: #9b1c1f;
        text-transform: uppercase;
    }

    .mobile-quick-nav {
        position: sticky;
        top: 58px;
        z-index: 990;
        display: flex;
        gap: 8px;
        overflow-x: auto;
        padding: 10px 14px;
        border-bottom: 1px solid #d8d8d8;
        background: rgba(255, 255, 255, 0.96);
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .mobile-quick-nav::-webkit-scrollbar,
    .mobile-category-rail::-webkit-scrollbar,
    .mobile-story-strip::-webkit-scrollbar,
    .mobile-shop-rail::-webkit-scrollbar {
        display: none;
    }

    .mobile-quick-nav a,
    .mobile-category-rail a {
        flex: 0 0 auto;
        min-height: 38px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0 14px;
        border: 1px solid #d8d8d8;
        color: #121212;
        background: #fff;
        font-family: var(--font-secondary);
        font-size: 12px;
        font-weight: 800;
        text-transform: uppercase;
    }

    .mobile-quick-nav a:first-child,
    .mobile-category-rail a:first-child {
        border-color: #121212;
    }

    .mobile-section {
        padding: 18px 0;
        border-bottom: 1px solid #d8d8d8;
    }

    .mobile-section-heading {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        margin-bottom: 12px;
        font-family: var(--font-secondary);
    }

    .mobile-section-heading span {
        color: #121212;
        font-size: 13px;
        font-weight: 900;
        text-transform: uppercase;
    }

    .mobile-section-heading a {
        color: #9b1c1f;
        font-size: 12px;
        font-weight: 800;
        text-transform: uppercase;
    }

    .mobile-category-rail,
    .mobile-story-strip,
    .mobile-shop-rail {
        display: flex;
        gap: 10px;
        overflow-x: auto;
        padding-bottom: 2px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .mobile-top-story {
        padding: 18px 0;
        border-bottom: 1px solid #121212;
    }

    .mobile-top-story a {
        display: block;
        color: #121212;
    }

    .mobile-top-story img {
        width: 100%;
        aspect-ratio: 16 / 10;
        object-fit: cover;
        margin-bottom: 12px;
    }

    .mobile-story-meta {
        display: flex;
        gap: 8px;
        align-items: center;
        color: #666;
        font-family: var(--font-secondary);
        font-size: 11px;
        font-weight: 800;
        text-transform: uppercase;
    }

    .mobile-story-meta span:first-child {
        color: #9b1c1f;
    }

    .mobile-top-story h1 {
        margin: 8px 0;
        color: #121212;
        font-family: var(--font-primary);
        font-size: 31px;
        font-weight: 700;
        line-height: 1.04;
        letter-spacing: 0;
    }

    .mobile-top-story p {
        margin: 0;
        color: #555;
        font-family: var(--font-primary);
        font-size: 16px;
        line-height: 1.55;
    }

    .mobile-story-strip a {
        flex: 0 0 74%;
        color: #121212;
    }

    .mobile-story-strip img {
        width: 100%;
        aspect-ratio: 16 / 9;
        object-fit: cover;
        margin-bottom: 8px;
    }

    .mobile-story-strip strong {
        display: block;
        color: #121212;
        font-family: var(--font-primary);
        font-size: 18px;
        line-height: 1.18;
    }

    .mobile-news-list {
        display: grid;
        gap: 14px;
    }

    .mobile-news-list.compact {
        gap: 10px;
    }

    .mobile-news-item {
        display: grid;
        grid-template-columns: 104px minmax(0, 1fr);
        gap: 12px;
        color: #121212;
        min-height: 92px;
    }

    .mobile-news-item img {
        width: 104px;
        height: 92px;
        object-fit: cover;
    }

    .mobile-news-item h2 {
        margin: 4px 0 5px;
        color: #121212;
        font-family: var(--font-primary);
        font-size: 18px;
        font-weight: 700;
        line-height: 1.15;
    }

    .mobile-news-item p {
        margin: 0;
        color: #666;
        font-family: var(--font-secondary);
        font-size: 12px;
        font-weight: 600;
    }

    .mobile-trending-list {
        display: grid;
        gap: 2px;
        border-top: 1px solid #121212;
    }

    .mobile-trending-list a {
        display: grid;
        grid-template-columns: 38px minmax(0, 1fr);
        gap: 10px;
        padding: 13px 0;
        border-bottom: 1px solid #d8d8d8;
        color: #121212;
    }

    .mobile-trending-list > a > span {
        color: #9b1c1f;
        font-family: var(--font-primary);
        font-size: 28px;
        font-weight: 700;
        line-height: 1;
    }

    .mobile-trending-list strong {
        display: block;
        font-family: var(--font-primary);
        font-size: 18px;
        line-height: 1.2;
    }

    .mobile-trending-list small {
        color: #666;
        font-family: var(--font-secondary);
        font-size: 12px;
    }

    .mobile-market {
        background: #fbfaf7;
        margin-left: -14px;
        margin-right: -14px;
        padding-left: 14px;
        padding-right: 14px;
    }

    .mobile-market-note {
        margin: -4px 0 14px;
        color: #666;
        font-family: var(--font-secondary);
        font-size: 13px;
        line-height: 1.45;
    }

    .mobile-shop-rail a {
        flex: 0 0 74px;
        color: #121212;
        text-align: center;
        font-family: var(--font-secondary);
        font-size: 11px;
        font-weight: 700;
    }

    .mobile-shop-rail img {
        width: 56px;
        height: 56px;
        object-fit: contain;
        display: block;
        margin: 0 auto 6px;
        border: 1px solid #d8d8d8;
        background: #fff;
        padding: 8px;
    }

    .mobile-products {
        display: grid;
        gap: 10px;
        margin-top: 16px;
    }

    .mobile-products a {
        display: grid;
        grid-template-columns: 82px minmax(0, 1fr);
        gap: 12px;
        padding: 10px;
        border: 1px solid #d8d8d8;
        background: #fff;
        color: #121212;
    }

    .mobile-products img {
        width: 82px;
        height: 82px;
        object-fit: contain;
    }

    .mobile-products strong,
    .mobile-products span,
    .mobile-products em {
        display: block;
    }

    .mobile-products strong {
        color: #121212;
        font-family: var(--font-secondary);
        font-size: 14px;
        font-weight: 800;
        line-height: 1.25;
    }

    .mobile-products span {
        color: #666;
        font-family: var(--font-secondary);
        font-size: 12px;
        margin-top: 4px;
    }

    .mobile-products em {
        color: #9b1c1f;
        font-family: var(--font-secondary);
        font-size: 13px;
        font-style: normal;
        font-weight: 900;
        margin-top: 6px;
    }

    .appBottomMenu {
        min-height: 64px;
        border-top: 1px solid #121212;
        box-shadow: 0 -6px 16px rgba(0, 0, 0, 0.06);
    }

    .appBottomMenu .item {
        height: 64px;
    }

    .appBottomMenu .item > a {
        height: 64px;
        color: #121212 !important;
    }

    .appBottomMenu .item i {
        font-size: 24px;
        margin-bottom: 18px;
    }

    .appBottomMenu .item span {
        bottom: 5px;
        color: #121212;
        font-family: var(--font-secondary);
        font-size: 10px;
        font-weight: 800;
    }

    .appBottomMenu .item.active:after {
        background: #9b1c1f;
    }

    .appBottomMenu .item.active > a {
        color: #9b1c1f !important;
    }
}

@media (max-width: 360px) {
    .mobile-top-story h1 {
        font-size: 28px;
    }

    .mobile-news-item {
        grid-template-columns: 92px minmax(0, 1fr);
    }

    .mobile-news-item img {
        width: 92px;
        height: 84px;
    }
}
