/* css/topic-widget.css */

.topic {
  display: flex;
  flex-wrap: wrap;
}
.topic .topic-image {
  height: 100%;
  position: relative;
  overflow: hidden;
  width: 300px;
}

.topic {
display: flex;
flex-wrap: wrap;
}

.topic .topic-image {
height: 100%;
position: relative;
overflow: hidden;
width: 300px;
}

.topic .topic-header:before {
content: '';
display: block;
z-index: 2;
background: linear-gradient(45deg, hsl(0deg 0% 6.3% / 64%) 0%, hsl(0deg 0% 0% / 64%) 100%);
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.topic .topic-header {
position: relative;
border-radius: 10px;
overflow: hidden;
margin-right: 10px;
}

.topic .topic-header-title {
color: #fff;
font-weight: bold;
text-transform: uppercase;
font-size: 24px;
text-align: center;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
z-index: 2;
display: flex;
align-items: center;
justify-content: center;
margin: 0;
}

.topic .widget-content {
flex: 1;
--dot-space: 5px;
display: grid;
}
.topic .topic-item {
display: grid;
grid-template-columns: auto 1fr;
grid-gap: 10px;
}

.topic .topic-left {
position: relative;
}

.topic .topic-line {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
}

.topic .topic-line:before {
content: '';
display: block;
height: 100%;
width: 1px;
border-right: 1px dashed #757575;
}

.topic .topic-dot {
position: relative;
z-index: 2;
border: 5px solid #fdfdfd;
}

.topic .topic-dot:before {
content: '';
display: block;
width: 10px;
height: 10px;
border-radius: 50%;
background-color: #fdfdfd;
border: 3px solid #212121;
}

.topic .topic-text h2 {
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
line-height: 140%;
font-weight: 700;
margin: 0;
font-size: 14px;
}

.topic .topic-text a {
color: #212121;
transition: all .25s;
-moz-transition: all .25s;
-webkit-transition: all .25s;
-o-transition: all .25s;
}

.topic .topic-text {
padding-bottom: 30px;
line-height: 140%;
display: grid;
grid-gap: 4px;
position: relative;
}

.topic .topic-time {
font-weight: normal;
color: #757575;
font-size: 12px;
}
.topic-more a {
text-transform: capitalize;
padding: 6px 14px;
margin-top: -2px;
border-radius: 10px;
color: #fff;
background: var(--primary);
font-weight: 700;
-webkit-appearance: none;
text-align: center;
display: inline-block;
transition: all .25s;
-moz-transition: all .25s;
-webkit-transition: all .25s;
-o-transition: all .25s;
}
.topic .topic-text a:hover {
color: var(--primary);
}
.topic .topic-more {
position: relative;
}
.topic-more a:hover {
background-color: #212121;
}
.topic-item:hover .topic-dot:before {
border-color: var(--primary);
}

.widget.tags .topic-hashtag {
display: flex;
justify-content: center;
align-items: center;
height: 40px;
width: 40px;
position: relative;
background: #212121;
}

.widget.tags .topic-hashtag .topic-icon {
width: 16px;
height: 18px;
fill: var(--primary);
}

.widget.tags .topic-hashtag .topic-arrow {
position: absolute;
top: 0;
right: -8px;
width: 10px;
fill: #212121;
height: 40px;
}
body.darkmode,
body.darkmode .menu-utama nav,
body.darkmode .topic .topic-dot:before {
background: #222;
}
body.darkmode, body.darkmode .popularpos .popularpos-text a, body.darkmode .list .list-text a, body.darkmode .topic .topic-text a, body.darkmode .widget-footer a, body.darkmode .widget-footer .trigger, body.darkmode .populartag .popular-title a, body.darkmode .menu-utama nav ul li a, body.darkmode .menu-atas ul > li > a, body.darkmode .widget-author .aut-name, body.darkmode .post-title, body.darkmode .post-content, body.darkmode .showall-page a, body.darkmode .bacajuga .bacajuga-item a, body.darkmode .breadcrumbs li a:hover, body.darkmode .post-author a:hover, body.darkmode .paginationPostLink .post-page-numbers.current, body.darkmode .indeks .indeks-text a, body.darkmode .commentAuthorName, body.darkmode .comments-pagination a, body.darkmode .comments-pagination span.current, body.darkmode .page-nav ul li a, body.darkmode .error-box .error-desc, body.darkmode .redaksi .author-name, body.darkmode .redaksi .author-name a, .darkmode .video-text a, .darkmode .infografis-text a, body.darkmode .widget-title, body.darkmode .comment-reply-title {
color: #fff;
}
body.darkmode .indeks .indeks-summary, body.darkmode .list .list-date, body.darkmode .topic .topic-time, body.darkmode .popularpos .popularpos-date, body.darkmode .widget-author .aut-desc, body.darkmode .post-time, body.darkmode .post-author, body.darkmode .bacajuga .bacajuga-title, body.darkmode .post-author a, body.darkmode .post-featured figcaption, body.darkmode .widget-author .aut-medsos-label, body.darkmode .share-label, body.darkmode .indeks .indeks-date, body.darkmode .post-content figcaption, body.darkmode .comment-notes, body.darkmode .comment-form-cookies-consent label, body.darkmode .commentBodyText, body.darkmode .notfound-desc, p.logged-in-as, body.darkmode .commentBodyFooter a, body.darkmode .header-date, body.darkmode .header-mode svg {
color: #999;
}
body.darkmode a, body.darkmode .menu-utama nav ul li.current-menu-item > a, body.darkmode .list .list-text a:hover, body.darkmode .menu-atas ul > li > a:hover, body.darkmode .menu-utama nav ul li .sub-menu li a:hover, body.darkmode .populartag .popular-title a:hover, body.darkmode .popularpos .popularpos-text a:hover, body.darkmode .indeks .indeks-text a:hover, body.darkmode .topic .topic-text a:hover, body.darkmode .page-nav ul li a:hover, body.darkmode .page-nav ul li.current_page_item a, body.darkmode .bacajuga .bacajuga-item a:hover, .darkmode .video-text a:hover, .infografis-text a:hover {
color: var(--primary);
}
body.darkmode .topic-item:hover .topic-dot:before {
border-color: var(--primary);
}
body.darkmode .topic .topic-dot {
border-color: #222;
}
body.darkmode .topic .topic-dot:before {
border-color: #fff;
}
body.darkmode .topic-more a {
color: #212121;
}
body.darkmode .topic-more a:hover, body.darkmode .widget-footer a:hover, body.darkmode .header .search-icon:hover, body.darkmode .loading, body.darkmode .btn-form-indeks:hover, body.darkmode .widget-footer .trigger:hover {
background-color: #fff;
color: #222;
}
body.darkmode .widget.tags .topic-hashtag .topic-arrow {
fill: #333;
}

/* css mobile */
@media (max-width: 768px) {
.topic {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
}

.topic .topic-image {
    height: 172px;
    position: relative;
    overflow: hidden;
    width: 100%;
}

.topic .topic-header:before {
    content: '';
    display: block;
    z-index: 2;
    background: rgba(0,0,0,0.5);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.topic .topic-header {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 15px;
}

.topic .topic-header-title {
    color: #fff;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 24px;
    text-align: center;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}

.topic .widget-content {
    flex: 1;
    --dot-space: 5px;
    display: grid;
}
.topic .topic-item {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-gap: 10px;
}

.topic .topic-left {
    position: relative;
}

.topic .topic-line {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
}

.topic .topic-line:before {
    content: '';
    display: block;
    height: 100%;
    width: 1px;
    border-right: 1px dashed #757575;
}

.topic .topic-dot {
    position: relative;
    z-index: 2;
    border: 5px solid #fdfdfd;
}

.topic .topic-dot:before {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #fdfdfd;
    border: 3px solid #212121;
}

.topic .topic-text h2 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 140%;
    font-weight: 700;
    margin: 0;
    font-size: 14px;
}

.topic .topic-text a {
    color: #212121;
    transition: all .25s;
    -moz-transition: all .25s;
    -webkit-transition: all .25s;
    -o-transition: all .25s;
}

.topic .topic-text {
    padding-bottom: 30px;
    line-height: 140%;
    display: grid;
    grid-gap: 4px;
    position: relative;
}

.topic .topic-time {
    font-weight: normal;
    color: #757575;
    font-size: 12px;
}
.topic-more a {
    text-transform: capitalize;
    padding: 6px 14px;
    margin-top: -2px;
    border-radius: 10px;
    color: #fff;
    background: var(--primary);
    font-weight: 700;
    -webkit-appearance: none;
    text-align: center;
    display: inline-block;
    transition: all .25s;
    -moz-transition: all .25s;
    -webkit-transition: all .25s;
    -o-transition: all .25s;
}
.topic .topic-text a:hover {
    color: var(--primary);
}
.topic .topic-more {
    position: relative;
}
.topic-more a:hover {
    background-color: #212121;
}
.topic-item:hover .topic-dot:before {
    border-color: var(--primary);
}
.widget.tags .topic-hashtag {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 40px;
    width: 40px;
    position: relative;
    background: #212121;
}

.widget.tags .topic-hashtag .topic-icon {
    width: 16px;
    height: 18px;
    fill: var(--primary);
}

.widget.tags .topic-hashtag .topic-arrow {
    position: absolute;
    top: 0;
    right: -8px;
    width: 10px;
    fill: #212121;
    height: 40px;
}
body.darkmode .content, body.darkmode .topic .topic-dot:before, body.darkmode .sidebarmenu {
    background: #1e1e1e;
}
body.darkmode .topic-item:hover .topic-dot:before {
    border-color: var(--primary);
}
body.darkmode .topic .topic-dot {
    border-color: #222;
}
body.darkmode .topic .topic-dot:before {
    border-color: #fff;
}
body.darkmode .topic-more a {
    color: #212121;
}
body.darkmode .widget.tags .topic-hashtag .topic-arrow {
    fill: #333;
}
}

/* Branding untuk single post dengan tag golkar */
body.branding-golkar {
  background: #FFD700; /* kuning */
  background-image: url('../assets/bg-golkar.png'); /* opsional */
  background-size: cover;
}

.mtw-brand-header {
  text-align: center;
  padding: 20px;
  background: rgba(255,255,255,0.8);
  border-radius: 12px;
  margin-bottom: 20px;
}

.mtw-brand-logo {
  max-height: 80px;
  margin-bottom: 10px;
}

.mtw-brand-title {
  font-size: 24px;
  font-weight: bold;
  margin: 0 0 5px 0;
}

.mtw-brand-desc {
  font-size: 14px;
  color: #333;
}
