/*
 Theme Name:   GP Clasica - GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      1.0
*/

:root {
    --gray: #e2e8f0;
    --darkgray:#53576F;
}
body {
    font-size:16px;
}
a {
    text-decoration: none;
}
h1, h2, h3, h4 {
    font-size:30px;
    font-weight:bold;
    line-height:1.2em;
}

h2 { font-size:24px;}
h3 { font-size:20px;}
h4 { font-size:18px;}
html {
    scroll-padding-top: 90px; 
    scroll-behavior: smooth; 
}

/* GP Basic Style */
body {
    background-color: #fff;
}
.site-header {
    background-color: #fff;
    border-bottom: 1px solid var(--gray);
    position: sticky;
    top: 0;
    z-index: 9;
}
.inside-header {
    padding: 10px 0;
}

/* Menu */
.dropdown-menu-toggle span { display:unset;}
.main-navigation ul ul {
    background:#fff!important;
    border-radius:7px;
    border:1px solid var(--gray);
    border-bottom:1px solid var(--gray)!important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}

.mobile-menu-control-wrapper .menu-toggle {
    background:none!important;
    font-size: 26px;
}
.has-inline-mobile-toggle #site-navigation.toggled {
    margin-top: 0;
    position:absolute;
    left:0;
    right:0;
    width:100%;
    top:70px;
    background:#fff;
    border-top:1px solid var(--gray);
    border-bottom:1px solid var(--gray);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}
.main-navigation ul ul:after,
.has-inline-mobile-toggle #site-navigation.toggled:after {
    content: "";
    position: absolute;
    top: -8.5px;
    right: 55px;
    border-width: 0 10px 10px 10px;
    border-style: solid;
    border-color: transparent transparent #ffffff transparent;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
}
.main-navigation ul ul:before,
.has-inline-mobile-toggle #site-navigation.toggled:before {
    content: "";
    position: absolute;
    top: -10px;
    right: 55px;
    border-width: 0 10px 10px 10px;
    border-style: solid;
    border-color: transparent transparent var(--gray) transparent;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
}
.main-navigation ul ul:after,
.main-navigation ul ul:before {
    right:auto;
    left:30px;
}

/* Ads */
.ad-above-footer,
.ad-below-header {
    margin-top:25px;
}
.custom-code-module img {
    border-radius:6px;
    width:100%;
}

/* Search Modal Pop-UP */
.search-modal-form {
    background: transparent!important;
}
.gp-modal__container input.search-field {
    margin: 0!important;
    border: none !important;
}
.search-modal-fields {
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
}

/* Sidebar Module */
#right-sidebar {
    padding-left:15px;
    position: sticky;
    top: 80px;
    align-self: flex-start;
}
.inside-right-sidebar {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.sidebar .widget {
    margin-bottom:0;
}
.widget-area .widget {
    padding: 0;
}

.widget-title,
h1.page-title,
h1.entry-title {
    margin-bottom: 20px;
    font-size: 20px;
    line-height: 1.5;
    font-weight: bold;
    padding-bottom:10px;
    position:relative;
    border-bottom:1px solid var(--gray);
    text-transform: none;
}
h1.entry-title:after,
h1.page-title:after,
.widget-title:after {
    content:" ";
    position:absolute;
    height:1px;
    width:80px;
    left:0;
    bottom:-1px;
    background:var(--accent);
}
.gp-custom-sidebar-module .gp-module-post-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.gp-custom-sidebar-module .gp-module-post-item {
    display: flex;
    align-items: center;
    gap: 15px;
}
.gp-custom-sidebar-module.most-viewed-module .gp-module-post-item {
    display: grid;
    align-items: center;
    gap: 15px;
    grid-template-columns: 35px 1fr;
    align-items: flex-start;
}
.gp-custom-sidebar-module .most-viewed-badge {
    width: 35px;
    height: 35px;
    background: var(--accent);
    color: #fff;
    font-weight: bold;
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    position: relative;
    top: 2px;
}
.gp-custom-sidebar-module .gp-module-post-thumb {
    flex-shrink: 0;
    width: 90px;
    height: 90px;
    overflow: hidden;
}
.gp-custom-sidebar-module .gp-module-post-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius:5px;
}
.gp-custom-sidebar-module .gp-module-thumb-fallback {
    width: 100%;
    height: 100%;
    background-color: #f1f5f9;
}
.gp-custom-sidebar-module .gp-module-post-meta {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.gp-custom-sidebar-module .gp-module-post-title {
    font-size: 15px;
    line-height: 1.3;
    font-weight: 600;
    margin: 0 0 5px 0;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.gp-custom-sidebar-module .gp-module-post-title a {
    color: inherit;
    text-decoration: none;
}

.gp-custom-sidebar-module .gp-module-post-date {
    font-size: 13px;
    color:var(--darkgray);
}

/* Page Style */
.separate-containers .inside-article {
    padding:0;
}

/* Archive Style */
.page-header {
    padding:0!important;
}
.taxonomy-description {
    font-size:15px;
    margin-bottom:10px;
}
.gp-custom-archive-hero .custom-archive-inner,
.gp-custom-archive-list .custom-archive-inner {
    padding: 0 !important;
    background: transparent !important;
}
.gp-custom-archive-hero {
    margin-bottom: 35px;
}
.gp-custom-archive-hero .gp-hero-wrap {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 6px;
}
.gp-custom-archive-hero .gp-hero-image img {
    width: 100%;
    height: 450px;
    object-fit: cover;
    display: block;
}

.gp-custom-archive-hero .gp-hero-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 40px 30px 25px 30px;
    background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.3) 60%, transparent 100%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
.gp-custom-archive-hero .gp-hero-title {
    font-size: 28px;
    font-weight: 800;
    margin-bottom: 10px;
    line-height: 1.2em;
}
.gp-custom-archive-hero .gp-hero-title a {
    color: #ffffff;
    text-decoration: none;
}

.gp-custom-archive-hero .gp-hero-meta {
    color: #fff;
    font-size: 13px;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 8px;
}
.gp-author a {
    display:flex;
    gap: 5px;
    text-decoration:none;
    align-items: center;
    color: var(--contrast);
}
.gp-author svg {
    width:11px;
    height:11px;
    fill:var(--accent);
    position: relative;
    bottom: -1px;
}
.gp-hero-meta .gp-author a {
    color:#fff;
}
.gp-hero-meta .gp-author svg {
    fill:#fff;
}
.gp-custom-archive-list {
    border-bottom: 1px solid var(--gray);
    padding-bottom: 25px;
    margin-bottom: 25px;
}
.gp-custom-archive-list:last-child {
    border-bottom: none;
    margin-bottom: 0;
}
.gp-custom-archive-list .gp-list-wrap {
    display: flex;
    gap: 20px;
    align-items: center;
}
.gp-custom-archive-list .gp-list-image {
    flex-shrink: 0;
    width: 27%;
}
.gp-custom-archive-list .gp-list-image img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 6px;
    display: block;
}
.gp-custom-archive-list .gp-list-content {
    display: flex;
    flex-direction: column;
    width: 68%;
}
.gp-custom-archive-list .gp-list-title {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 8px;
    line-height: 1.3em;
}
.gp-custom-archive-list .gp-list-title a {
    color: var(--contrast);
    text-decoration: none;
}

.gp-custom-archive-list .gp-list-excerpt {
    font-size: 15px;
    color: var(--darkgray);
    margin-bottom: 15px;
    line-height: 1.6;
}

.gp-custom-archive-list .gp-list-meta {
    color: var(--contrast);
    font-size: 13px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
}

.verified-icon {
    vertical-align: middle;
    margin-right: 4px;
    margin-top: -2px;
}

/* Paginations */
.paging-navigation {
    margin: 0;
    background: none!important;
    text-align: center;
    font-size: 14px;
    padding: 15px 0 0!important;
}
.nav-links {
    display:flex;
    gap:10px;
    justify-content: center;
}
.paging-navigation span, 
.paging-navigation a {
    padding: 5px 10px !important;
    color: var(--contrast)!important;
    border-radius: 0;
    width: 37px;
    height: 37px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 5px;
    border: 1px solid var(--gray);
}
.paging-navigation span.current {
    border: 1px solid var(--accent);
    background:var(--accent);
    color:#fff!important;
}
a.prev,
a.next,
a.prev span,
a.next span {
    display: none;
}
.page-title img.avatar {
    border-radius:50px;
}

/* Single Post */
.single  .inside-article {
    padding:0;
}
.single .entry-header h1 {
    font-size: 32px;
    line-height: 1.2em;
    margin-bottom: 10px;
    font-weight:bold;
    border:none;
    padding-bottom:0;
}
.single .entry-header h1:after {
    display:none;
}
.single .entry-header .meta_box {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.single .entry-header .meta_box .entry-meta {
    margin-top: 0;
    font-size: 13px;
    display: flex;
    flex-direction: row-reverse;
    gap: 5px;
    color:var(--darkgray);
}
.single .entry-header .meta_box .entry-meta .byline {
    display: flex;
    gap: 2px;
    text-decoration: none;
    align-items: center;
    color: var(--contrast);
    font-weight:bold;
}
.single .entry-header .meta_box .entry-meta .byline a {
    color: var(--contrast);
}
.single .entry-header .meta_box .entry-meta .byline svg {
    width: 12px;
    height: 12px;
    fill: var(--accent);
    position: relative;
    bottom: 0px;
    margin:0;
}
.single .entry-header .meta_box .entry-meta .posted-on {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-dot' viewBox='0 0 16 16'%3E%3Cpath d='M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3'/%3E%3C/svg%3E");
    background-repeat: no-repeat !important;
    background-position: 0px center !important;
    background-size: 18px !important;
    padding-left: 18px;
    display:flex;
    align-items:center;
}
.single .entry-content { 
    font-size:16px;
    line-height:1.5em;
    margin-bottom:30px;
}
.single .entry-content a {
    color:var(--accent);
} 
.single .entry-content ol,
.single .entry-content ul {
    padding-left:1em;
    margin-left:0;
}

.gp-custom-featured-image .wp-caption-text {
    font-size:12px;
    color:var(--darkgray);
}
.gp-share-wrapper {
    position: relative;
    display: inline-block;
}
.gp-share-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    padding:0;
    background:none!important;
    font-size: 12px;
    font-weight: 600;
    color: var(--darkgray)!important;
    padding:5px 8px;
    transition: all 0.2s ease;
    border:1px solid var(--gray)!important;
    border-radius:6px;
}
.gp-share-toggle:hover {
    background-color: #f8fafc;
    border-color: #cbd5e1;
}
.gp-share-toggle svg {
    width:14px;
    height:14px;
}
.gp-share-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    background: #ffffff;
    border-radius: 8px;
    padding: 12px 0;
    min-width: 200px;
    border: 1px solid var(--gray) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.2s ease;
    z-index: 999;
}
.gp-share-dropdown.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.gp-share-dropdown .share-item, 
.gp-share-dropdown .gp-copy-link {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 8px 20px;
    font-size: 13px;
    font-weight: 500;
    color: #0f172a;
    text-decoration: none;
    background: transparent;
    border: none;
    text-align: left;
    cursor: pointer;
    transition: background 0.15s ease;
}
.gp-share-dropdown .share-item svg, 
.gp-share-dropdown .gp-copy-link svg {
    width:15px;
    height:15px;
}

.gp-share-dropdown .share-item:hover,
.gp-share-dropdown .gp-copy-link:hover {
    background-color: #f1f5f9;
}

.gp-custom-breadcrumb {
    font-size: 12px;
    margin-bottom: 10px;
    color: var(--darkgray);
}

.gp-custom-breadcrumb ol {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.gp-custom-breadcrumb li { display: inline; }
.gp-custom-breadcrumb a { color: var(--contrast); text-decoration: none; font-weight: 500; }
.gp-custom-breadcrumb .sep { margin: 0 5px; color: #999; }
.gp-custom-breadcrumb .current { color: var(--darkgray); }

.gp-custom-tags {
    margin-bottom: 30px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.gp-custom-tags .tag-pill {
    background-color: #f1f5f9;
    color: #333;
    padding: 6px 14px;
    font-size: 13px;
    font-weight: 600;
    border-radius: 4px;
    text-decoration: none;
    text-transform: capitalize;
    transition: background-color 0.2s ease;
}

.gp-custom-tags .tag-pill:hover { background-color: #e2e8f0; }

.gp-custom-author-box {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 30px 0 0;
    margin-bottom: 30px;
    border-top: 1px solid var(--gray);
}

.gp-custom-author-box .author-avatar img {
    border-radius: 50%;
    width: 60px;
    height: 60px;
    object-fit: cover;
    display: block;
}

.gp-custom-author-box .author-info { flex: 1; }
.gp-custom-author-box .author-name { margin: 0 0 5px 0; font-size: 18px; font-weight: 700; }
.gp-custom-author-box .author-name a { color: #111; text-decoration: none; }
.gp-custom-author-box .author-bio { margin: 0; font-size: 15px; line-height: 1.6; color: #555; }

.single footer.entry-meta { display:none;}
.gp-custom-related-posts .related-title {
    font-size: 20px;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 25px;
    padding-bottom: 10px;
    border-bottom: 2px solid #111;
    display: inline-block;
}

.related-posts-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
}

.related-item {
    display: flex;
    gap: 15px;
    align-items: center;
}

.related-thumb { width: 120px; flex-shrink: 0; }
.related-thumb img, .related-fallback {
    width: 100%;
    aspect-ratio: 16 / 16;
    object-fit: cover;
    border-radius: 4px;
    display: block;
}
.related-fallback { background-color: #f1f5f9; }
.related-meta { display: flex; flex-direction: column; }
.related-date { font-size: 12px; color: var(--darkgray); margin-bottom: 4px; }
.related-post-title { font-size: 15px; font-weight: 700; line-height: 1.4; margin: 0; }
.related-post-title a { color: var(--contrast); text-decoration: none; }


.gp-custom-toc {
    background-color: #fff;
    border-radius: 8px;
    margin: 35px 0;
    color: var(--contrast);
    border: 1px solid var(--gray);
}

.gp-toc-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding:15px 25px;
    border-bottom:1px solid var(--gray);
}
.gp-toc-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 20px;
    font-weight: 700;
}
.gp-toc-body {
    padding:25px;
}
.gp-toc-body ul {
    padding-left:0!important;
}

.gp-toc-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.gp-toc-list li {
    margin-bottom: 12px;
}

.gp-toc-list li:last-child {
    margin-bottom: 0;
}

.gp-toc-list a {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    text-decoration: none;
    color: var(--accent);
    font-size: 16px;
    font-weight:500;
    line-height: 1.5;
    transition: color 0.2s ease;
}

.gp-toc-list a:hover {
    color: #000;
}

.gp-toc-list a svg {
    margin-top: 4px;
    flex-shrink: 0;
    color: #4b5563;
}

.gp-toc-h3 {
    margin-left: 25px;
}

.gp-toc-h4 {
    margin-left: 50px;
}
.gp-single-inarticle-ad {
    margin:25px 0;
}

/* Comment */
.comments-area {
    border-top: 1px solid var(--gray);
    padding: 20px 0px 0!important;
    margin-top: 25px;
    font-size: 14px;
    background: none!important;
}
.comment-content {
    padding: 0;
    border: none;
    margin: 8px 0;
    padding: 10px 0!Important;
    border-radius: 8px;
}
.comment-content p {
    margin-bottom: 10px;
        line-height: 21px;
}
.comment-list .reply a {
    border-radius: 20px;
    padding: 2px 10px;
    border: 1px solid #f1f1f1;
}
.comment-list article {
    border: none;
    padding: 0!important;
    margin: 0!important;
}
.comment-list li.depth-1 {
    border: 0px solid #f1f1f1!important;
    padding: 0px!important;
}
.comment .children {
    padding-left: 30px;
    margin: 20px 0 20px 20px!important;
    border-left: 0 dotted rgba(0,0,0,.09)!important;
    border-bottom: none !important;
}
.comment-respond {
    margin-top: 40px;
}
.comment-form input, 
.comment-form textarea {
    border-radius: 5px!Important;
    width:100%;
}
.comment-form input#submit,
.comment-form input#wp-comment-cookies-consent {
    width:auto;
}
.entry-meta.comment-metadata {
    font-size:12px;
}

/* Site Footer*/
.site-footer {
    border-top:1px solid var(--gray);
    padding:30px 0;
    margin-top:25px;
}
.site-footer .inside-site-info {
    padding:0;
    flex-direction: column;
    gap:6px;
}
.gp-custom-footer-menu {
    margin-bottom: 10px;
}
.gp-footer-inline-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px; /* Jarak antar menu */
}

.gp-footer-inline-list li {
    margin: 0;
}
.gp-footer-inline-list a {
    color: inherit;
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
    transition: color 0.2s ease;
}

.gp-footer-inline-list a:hover {
    color:var(--accent);
}
.copyright-bar {
    font-size:12px;
}


@media only screen and (max-width: 1200px) {
    .gb_wrapper,
    .inside-header,
    .site-content,
    .ad-below-header,
    .site-footer,
    .ad-above-footer {
        padding-left:40px!important;
        padding-right:40px!important;
    }
}

@media only screen and (max-width: 768px) {
    .site-logo {
        position: absolute;
    }
    .main-navigation .main-nav ul li a {
        line-height: 50px;
        border-bottom:1px solid var(--gray);
    }
    .has-inline-mobile-toggle .mobile-menu-control-wrapper {
        position: absolute;
        right: 40px;
    }
    .inside-header {
        height:70px;
        padding-top:0;
        padding-bottom:0;
    }
    .main-navigation ul ul {
        background:#f1f1f1!important;
        border-radius:0px;
        border:0px solid var(--gray);
        border-bottom:0px solid var(--gray)!important;
        box-shadow:none;
    }
    .main-navigation ul ul:before,
    .main-navigation ul ul:after {
        display:none;
    }
    #right-sidebar {
        padding-left:0;
        padding-top:35px;
        position:static;
    }
}

@media only screen and (max-width: 767px) {
    .has-inline-mobile-toggle .mobile-menu-control-wrapper {
        right: 10px;
    }
    .gb_wrapper,
    .inside-header,
    .site-content,
    .ad-below-header,
    .site-footer,
    .ad-above-footer {
        padding-left:20px!important;
        padding-right:20px!important;
    }
    .has-inline-mobile-toggle #site-navigation.toggled:after,
    .has-inline-mobile-toggle #site-navigation.toggled:before {
        right: 30px;
    }
    
    .ad-below-header { margin-top:20px;}
    .gp-custom-archive-hero { margin-bottom:25px;}
    .gp-custom-archive-hero .gp-hero-image img { height: 220px; }
    .gp-custom-archive-hero .gp-hero-title { font-size:18px;}
    .gp-custom-archive-hero .gp-hero-meta,
    .gp-custom-sidebar-module .gp-module-post-date { font-size:12px;}
    .gp-custom-archive-list .gp-list-wrap { gap: 15px; align-items: center;}
    .gp-custom-archive-list .gp-list-image { width: 31%;}
    .gp-custom-archive-list .gp-list-title { font-size:15px;}
    .gp-custom-archive-list .gp-list-excerpt { display:none;}
    .gp-custom-archive-list {
        padding-bottom: 20px;
        margin-bottom: 20px;
    }
    .gp-custom-archive-list .gp-list-title a { 
        overflow: hidden;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
    }
    .paging-navigation span, 
    .paging-navigation a {
        width: 28px;
        height: 28px;
        font-size: 12px;
    }
    #right-sidebar {
        padding-top:20px;
    }
    .gp-footer-inline-list {
        row-gap: 6px;
    }
    .gp-footer-inline-list a {
        font-size:14px;
    }
    .single .entry-header .meta_box .entry-meta {
        font-size:12px;
    }
    .single .entry-header .meta_box .entry-meta .byline svg {
        width: 11px;
        height: 11px;
    }
    .related-posts-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .related-thumb {
        width: 90px;
    }
    .gp-author svg {
        bottom:0;
    }
}