/*
Theme Name: JNews - Child Theme
Version: 1.0.1
Theme URI: http://themeforest.net/?ref=jegtheme
Description: A basic starter child theme for customization purpose of JNews theme.
Author: Jegtheme
Author URI: http://themeforest.net/user/jegtheme?ref=jegtheme
Template: jnews
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/* ------------------------------------------------------------------------- *
 *  Theme customization starts here
/* ------------------------------------------------------------------------- */

/* Lightweight code block card for tutorial posts */
.entry-content .code-box,
.elementor-widget-container .code-box,
.entry-content .wp-block-code,
.elementor-widget-container .wp-block-code {
    margin: 1.5rem 0 !important;
}

.entry-content .code-box,
.elementor-widget-container .code-box {
    --code-surface: #2d2d2d;
    --code-border: rgba(255, 255, 255, 0.08);
    --code-text: #e5eef7;
    --code-accent: #93c5fd;
    --code-copy-bg: rgba(255, 255, 255, 0.08);

    position: relative;
    display: block;
    border-radius: 10px;
    overflow: hidden;
    background: var(--code-surface) !important;
    border: 1px solid var(--code-border) !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18) !important;
    color: var(--code-text) !important;
}

.entry-content .code-box.lang-powershell,
.elementor-widget-container .code-box.lang-powershell {
    --code-border: rgba(125, 211, 252, 0.20);
    --code-accent: #8bdeff;
    --code-copy-bg: rgba(125, 211, 252, 0.10);
}

.entry-content .code-box.lang-bash,
.elementor-widget-container .code-box.lang-bash {
    --code-border: rgba(134, 239, 172, 0.18);
    --code-accent: #9fe7bf;
    --code-copy-bg: rgba(134, 239, 172, 0.09);
}

.entry-content .code-box.lang-batch,
.elementor-widget-container .code-box.lang-batch {
    --code-border: rgba(253, 224, 71, 0.18);
    --code-accent: #f7d76a;
    --code-copy-bg: rgba(253, 224, 71, 0.09);
}

.entry-content .code-box.lang-powershell .code-box__badge,
.elementor-widget-container .code-box.lang-powershell .code-box__badge {
    color: #8bdeff;
}

.entry-content .code-box.lang-bash .code-box__badge,
.elementor-widget-container .code-box.lang-bash .code-box__badge {
    color: #9fe7bf;
}

.entry-content .code-box.lang-batch .code-box__badge,
.elementor-widget-container .code-box.lang-batch .code-box__badge {
    color: #f7d76a;
}

.entry-content .code-box.lang-powershell pre,
.elementor-widget-container .code-box.lang-powershell pre,
.entry-content .code-box.lang-powershell code,
.elementor-widget-container .code-box.lang-powershell code {
    text-shadow: 0 0 0 rgba(139,222,255,0.08);
}

.entry-content .code-box.lang-bash pre,
.elementor-widget-container .code-box.lang-bash pre,
.entry-content .code-box.lang-bash code,
.elementor-widget-container .code-box.lang-bash code {
    text-shadow: 0 0 0 rgba(159,231,191,0.08);
}

.entry-content .code-box.lang-batch pre,
.elementor-widget-container .code-box.lang-batch pre,
.entry-content .code-box.lang-batch code,
.elementor-widget-container .code-box.lang-batch code {
    text-shadow: 0 0 0 rgba(247,215,106,0.08);
}

.entry-content .code-box.code-toolbar,
.elementor-widget-container .code-box.code-toolbar {
    padding-top: 0;
}

.entry-content .code-box__header,
.elementor-widget-container .code-box__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 3.75rem 0.55rem 1rem;
    background: var(--code-surface) !important;
}

.entry-content .code-box__badge,
.elementor-widget-container .code-box__badge {
    color: var(--code-text);
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.01em;
}

.entry-content .code-box__note,
.elementor-widget-container .code-box__note {
    color: rgba(243, 244, 246, 0.58);
    font-size: 0.72rem;
    line-height: 1.2;
    white-space: nowrap;
}

.entry-content .code-box__copy,
.elementor-widget-container .code-box__copy {
    position: absolute;
    top: 0.35rem;
    right: 0.35rem;
    width: 1.65rem;
    height: 1.65rem;
    border: 0;
    border-radius: 6px;
    background: var(--code-copy-bg) !important;
    color: var(--code-text);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    z-index: 2;
}

.code-box__copy svg {
    width: 0.9rem;
    height: 0.9rem;
}

.code-box__copy:hover {
    background: rgba(255, 255, 255, 0.14);
}

.entry-content .code-box pre,
.elementor-widget-container .code-box pre,
.entry-content .wp-block-code pre,
.elementor-widget-container .wp-block-code pre,
.entry-content .wp-block-code code,
.elementor-widget-container .wp-block-code code {
    margin: 0;
    background: transparent !important;
    color: var(--code-text) !important;
}

.entry-content .code-box pre,
.elementor-widget-container .code-box pre,
.entry-content .wp-block-code pre,
.elementor-widget-container .wp-block-code pre {
    padding: 0.35rem 1rem 1.1rem;
    overflow-x: auto;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: 0.88rem;
    line-height: 1.7;
    tab-size: 4;
    border: 0 !important;
    box-shadow: none !important;
}

.entry-content .code-box.is-single-line pre,
.elementor-widget-container .code-box.is-single-line pre {
    padding-bottom: 0.9rem;
    min-height: 0;
}

.entry-content .code-box.is-single-line code,
.elementor-widget-container .code-box.is-single-line code {
    display: inline-block;
    white-space: pre;
}

.entry-content .code-box code,
.entry-content .wp-block-code code,
.elementor-widget-container .code-box code,
.elementor-widget-container .wp-block-code code {
    font-family: inherit;
    font-size: inherit;
    white-space: pre;
    word-break: normal;
    background: transparent !important;
    padding: 0 !important;
    border: 0 !important;
}

.entry-content .code-box .token.comment,
.elementor-widget-container .code-box .token.comment {
    color: #97a6b8;
}

.entry-content .code-box .token.keyword,
.elementor-widget-container .code-box .token.keyword {
    color: #8bdeff;
}

.entry-content .code-box .token.string,
.elementor-widget-container .code-box .token.string {
    color: #9fe7bf;
}

.entry-content .code-box .token.variable,
.elementor-widget-container .code-box .token.variable {
    color: #f7b7c4;
}

.entry-content .code-box.lang-powershell .token.variable,
.elementor-widget-container .code-box.lang-powershell .token.variable {
    color: #a7f3d0;
}

.entry-content .code-box.lang-powershell .token.function,
.elementor-widget-container .code-box.lang-powershell .token.function {
    color: #8bdeff;
}

.entry-content .code-box.lang-powershell .token.namespace,
.elementor-widget-container .code-box.lang-powershell .token.namespace {
    color: #c4b5fd;
}

.entry-content .code-box.lang-powershell .token.boolean,
.elementor-widget-container .code-box.lang-powershell .token.boolean {
    color: #f7d76a;
}

.entry-content .code-box.lang-powershell .token.punctuation,
.elementor-widget-container .code-box.lang-powershell .token.punctuation {
    color: #d1d8e4;
}

.entry-content .code-box .token.number,
.elementor-widget-container .code-box .token.number {
    color: #f7d76a;
}

.entry-content .code-box .token.operator,
.elementor-widget-container .code-box .token.operator {
    color: #d8b4fe;
}

.entry-content .code-box .token.punctuation,
.elementor-widget-container .code-box .token.punctuation {
    color: #c9d3df;
}

.entry-content .code-box.lang-bash .token.keyword,
.elementor-widget-container .code-box.lang-bash .token.keyword {
    color: #9fe7bf;
}

.entry-content .code-box.lang-bash .token.variable,
.elementor-widget-container .code-box.lang-bash .token.variable {
    color: #8bdeff;
}

.entry-content .code-box.lang-batch .token.keyword,
.elementor-widget-container .code-box.lang-batch .token.keyword {
    color: #f7d76a;
}

.entry-content .code-box.lang-batch .token.variable,
.elementor-widget-container .code-box.lang-batch .token.variable {
    color: #f7b7c4;
}

.entry-content .code-box.lang-batch .token.string,
.elementor-widget-container .code-box.lang-batch .token.string {
    color: #a5c8ff;
}

.entry-content .code-box pre::-webkit-scrollbar,
.entry-content .wp-block-code pre::-webkit-scrollbar {
    height: 10px;
}

.entry-content .code-box pre::-webkit-scrollbar-thumb,
.entry-content .wp-block-code pre::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.18);
    border-radius: 999px;
}

.entry-content .code-box pre::-webkit-scrollbar-track,
.entry-content .wp-block-code pre::-webkit-scrollbar-track {
    background: transparent !important;
}

.entry-content .code-box .toolbar,
.elementor-widget-container .code-box .toolbar {
    position: absolute;
    top: 0.35rem;
    right: 0.35rem;
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.entry-content .code-box .toolbar-item,
.elementor-widget-container .code-box .toolbar-item {
    display: inline-flex;
    align-items: center;
}

.entry-content .code-box .toolbar button,
.elementor-widget-container .code-box .toolbar button {
    width: 1.65rem;
    height: 1.65rem;
    border: 0;
    border-radius: 6px;
    background: var(--code-copy-bg) !important;
    color: var(--code-text);
    padding: 0;
    cursor: pointer;
}

.entry-content .code-box .toolbar button:hover,
.elementor-widget-container .code-box .toolbar button:hover,
.entry-content .code-box .toolbar button.is-copied,
.elementor-widget-container .code-box .toolbar button.is-copied,
.entry-content .code-box__copy.is-copied,
.elementor-widget-container .code-box__copy.is-copied {
    background: rgba(255, 255, 255, 0.14) !important;
}

.entry-content .code-box .toolbar button.is-copied,
.elementor-widget-container .code-box .toolbar button.is-copied,
.entry-content .code-box__copy.is-copied,
.elementor-widget-container .code-box__copy.is-copied {
    color: #a3e635 !important;
}

.entry-content .code-box.is-collapsible pre,
.elementor-widget-container .code-box.is-collapsible pre {
    position: relative;
    max-height: 14rem;
    overflow: hidden;
}

.entry-content .code-box.is-collapsed pre,
.elementor-widget-container .code-box.is-collapsed pre {
    max-height: 14rem;
}

.entry-content .code-box.is-collapsible.is-collapsed::after,
.elementor-widget-container .code-box.is-collapsible.is-collapsed::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3rem;
    background: linear-gradient(to bottom, rgba(45,45,45,0), rgba(45,45,45,0.92));
    pointer-events: none;
}

 .entry-content .code-box__footer,
.elementor-widget-container .code-box__footer {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 0.65rem 1rem 0.25rem;
    min-height: 3.1rem;
    background: linear-gradient(to bottom, rgba(45,45,45,0.00), rgba(45,45,45,0.72));
    backdrop-filter: blur(2px);
    cursor: pointer;
    user-select: none;
    z-index: 2;
}

.entry-content .code-box__toggle,
.elementor-widget-container .code-box__toggle {
    border: 0;
    background: transparent;
    color: rgba(255,255,255,0.86);
    font-size: 0.70rem;
    line-height: 1;
    padding: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    text-shadow: 0 1px 2px rgba(0,0,0,0.28);
}

.entry-content .code-box__toggle::before,
.elementor-widget-container .code-box__toggle::before {
    content: '⌄';
    display: inline-block;
    font-size: 0.78rem;
    line-height: 1;
    transform: translateY(-1px);
}

.entry-content .code-box__toggle:hover,
.elementor-widget-container .code-box__toggle:hover {
    color: rgba(255,255,255,0.95);
}

.entry-content .code-box__footer::before,
.elementor-widget-container .code-box__footer::before {
    content: '';
    position: absolute;
    inset: auto 0 0 0;
    height: 3.1rem;
    background: linear-gradient(to bottom, rgba(45,45,45,0), rgba(45,45,45,0.68));
    pointer-events: none;
}

.entry-content .code-box.is-collapsible pre,
.elementor-widget-container .code-box.is-collapsible pre {
    max-height: 12rem;
    overflow: hidden;
    padding-bottom: 2rem;
}

.entry-content .code-box.is-collapsible:not(.is-collapsed) pre,
.elementor-widget-container .code-box.is-collapsible:not(.is-collapsed) pre {
    max-height: none;
    overflow: visible;
}

.entry-content .code-box.is-collapsed pre,
.elementor-widget-container .code-box.is-collapsed pre {
    max-height: 12rem;
}

.entry-content .code-box.is-collapsible.is-collapsed::after,
.elementor-widget-container .code-box.is-collapsible.is-collapsed::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 2.7rem;
    height: 2.5rem;
    background: linear-gradient(to bottom, rgba(45,45,45,0), rgba(45,45,45,0.95));
    pointer-events: none;
}

.entry-content .code-box.is-collapsible:not(.is-collapsed)::after,
.elementor-widget-container .code-box.is-collapsible:not(.is-collapsed)::after {
    content: none;
}

.entry-content .code-box__footer .code-box__toggle,
.elementor-widget-container .code-box__footer .code-box__toggle {
    position: relative;
    z-index: 1;
}

.entry-content .code-box__footer .code-box__toggle,
.elementor-widget-container .code-box__footer .code-box__toggle {
    width: 100%;
    justify-content: center;
    min-height: 3.25rem;
    position: relative;
}
