:root {
    --bg-primary: #F8FAFC;
    --bg-surface: #FFFFFF;
    --bg-secondary: #F1F5F9;
    --color-primary: #0F172A;
    --color-secondary: #334155;
    --color-accent-one: #2563EB;
    --color-accent-two: #EA580C;
    --color-border: #E2E8F0;
    --color-muted: #94A3B8;
}

* {
    box-sizing: border-box;
}

body {
    font-family: 'Noto Sans KR', sans-serif;
    background-color: var(--bg-primary);
    color: var(--color-primary);
    margin: 0;
    padding: 0;
    line-height: 1.5;
}

.text-muted {
    color: #94A3B8 !important;
}

.font-orbit {
    font-family: 'Noto Sans KR', sans-serif;
}

.brand-logo-font {
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.magazine-container {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

/* ===== header ===== */
.site-header-block {
    box-sizing: border-box;
}

.site-header-block a {
    text-decoration: none;
}

.site-header-block .js-header-mobile-menu.is-active {
    display: block;
}

/* ===== hero ===== */
.nex-hero {
    position: relative;
    background-color: #0F172A;
}

.nex-hero .nex-hero__video {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.nex-hero h1,
.nex-hero h2,
.nex-hero h3 {
    overflow-wrap: anywhere;
    hyphens: auto;
}

@media (max-width: 767px) {
    .nex-hero .grid {
        grid-template-columns: 1fr;
    }
}

/* ===== main-news-block ===== */
.nexalone-main-news {
    font-family: 'Noto Sans KR', sans-serif;
}

.nexalone-main-news .news-card {
    transition: border-color 0.2s ease;
}

.nexalone-main-news .news-card:hover {
    border-color: #2563EB;
}

.nexalone-main-news .card-action-btn {
    transition: background-color 0.2s ease, color 0.2s ease;
}

.nexalone-main-news .break-keep {
    word-break: keep-all;
    overflow-wrap: anywhere;
}

@media (max-width: 767px) {
    .nexalone-main-news .news-card {
        width: 100%;
    }
}

/* ===== editorial-standards ===== */
.nx-editorial-block {
    word-break: keep-all;
    overflow-wrap: anywhere;
}

.nx-editorial-block .js-tab-btn.active {
    background-color: #0F172A;
    color: #FFFFFF;
    border-color: #0F172A;
}

.nx-editorial-block .js-tab-btn:not(.active):hover {
    background-color: #F1F5F9;
    color: #2563EB;
    border-color: #2563EB;
}

/* ===== categories-grid ===== */
.category-grid-section {
    font-family: 'Noto Sans KR', sans-serif;
}

.category-grid-section .category-card {
    min-width: 0;
    word-break: keep-all;
    overflow-wrap: anywhere;
}

@media (max-width: 767px) {
    .category-grid-section .category-grid-view-all {
        width: 100%;
        justify-content: space-between;
        padding-top: 0.5rem;
        border-top: 1px dashed #E2E8F0;
    }
}

/* ===== afisha ===== */
.nx-afisha h2,
.nx-afisha h3 {
    font-family: 'Noto Sans KR', sans-serif;
    overflow-wrap: anywhere;
    hyphens: auto;
}

.nx-afisha .js-afisha-filter.active {
    background-color: #0F172A;
    color: #FFFFFF;
    border-color: #0F172A;
}

.nx-afisha .js-afisha-filter:not(.active) {
    background-color: #FFFFFF;
    color: #475569;
    border-color: #E2E8F0;
}

.nx-afisha .js-afisha-filter:not(.active):hover {
    border-color: #0F172A;
    color: #0F172A;
}

@media (max-width: 767px) {
    .nx-afisha article {
        width: 100%;
    }
}

/* ===== newsletter ===== */
.nexalone-newsletter-block .newsletter-input::placeholder {
    color: #64748B;
    opacity: 1;
}

.nexalone-newsletter-block .newsletter-input:-ms-input-placeholder {
    color: #64748B;
}

.nexalone-newsletter-block .newsletter-input::-ms-input-placeholder {
    color: #64748B;
}

.nexalone-newsletter-block .newsletter-submit-btn:focus-visible {
    outline: 2px solid #2563EB;
    outline-offset: 2px;
}

/* ===== footer ===== */
.nexalone-footer a:focus-visible {
    outline: 2px solid #2563EB;
    outline-offset: 2px;
}

/* ===== PAGE: privacy ===== */
#privacy-content.policy-content { width: 100%; max-width: 1000px; margin: 0 auto; padding: 2rem 1rem 4rem 1rem; color: #334155; line-height: 1.7; overflow-wrap: anywhere; hyphens: auto; } #privacy-content .policy-intro-box { background-color: #FFFFFF; border-left: 4px solid #2563EB; padding: 1.25rem 1.5rem; margin-bottom: 2rem; border-radius: 2px; box-shadow: 0 1px 3px rgba(0,0,0,0.05); } #privacy-content .policy-list { list-style-type: disc; margin-left: 1.5rem; margin-bottom: 1.5rem; } #privacy-content .policy-list li { margin-bottom: 0.5rem; color: #475569; font-size: 0.9375rem; line-height: 1.6; } #privacy-content .policy-list li strong { color: #0F172A; } #privacy-content .policy-contact-card { border: 1px solid #E2E8F0; } @media (max-width: 767px) { #privacy-content.policy-content { padding: 1.25rem 0.75rem 2.5rem 0.75rem; } #privacy-content .policy-list { margin-left: 1.125rem; } #privacy-content .policy-list li { font-size: 0.875rem; } }

/* ===== PAGE: terms ===== */
#privacy-content.policy-content { width: 100%; max-width: 860px; margin: 0 auto; padding: 2rem 1rem; overflow-wrap: anywhere; hyphens: auto; } #privacy-content .policy-section h2 { color: #0F172A; } #privacy-content .policy-section p { color: #475569; } #privacy-content .policy-section a { color: #2563EB; } #privacy-content .policy-section a:hover { color: #0F172A; }

/* ===== PAGE: disclaimer ===== */
.policy-content { width: 100%; max-width: 920px; margin: 0 auto; padding: 2rem 1rem; box-sizing: border-box; color: #334155; font-family: 'Noto Sans KR', sans-serif; overflow-wrap: anywhere; word-break: break-word; hyphens: auto; } @media (min-width: 768px) { .policy-content { padding: 4rem 1.5rem; } } .policy-content .policy-inner { background-color: #FFFFFF; border-radius: 4px; padding: 1.5rem 1.25rem; border: 1px solid #E2E8F0; } @media (min-width: 768px) { .policy-content .policy-inner { padding: 3rem 2.5rem; } } .policy-content .policy-effective-date { font-size: 0.8125rem; color: #64748B; margin-bottom: 1.25rem; letter-spacing: 0.02em; } .policy-content .policy-lead { font-size: 0.9375rem; line-height: 1.7; color: #1E293B; margin-bottom: 1.5rem; font-weight: 400; } @media (min-width: 768px) { .policy-content .policy-lead { font-size: 1rem; line-height: 1.75; } } .policy-content .policy-divider { width: 100%; height: 1px; background-color: #E2E8F0; margin: 2rem 0; } .policy-content h2 { color: #0F172A; font-size: 1rem; font-weight: 400; line-height: 1.3; margin-top: 1.75rem; margin-bottom: 0.875rem; letter-spacing: -0.01em; } @media (min-width: 768px) { .policy-content h2 { font-size: 1.375rem; margin-top: 2.25rem; margin-bottom: 1rem; } } .policy-content p { font-size: 0.875rem; line-height: 1.7; color: #475569; margin-bottom: 1rem; } @media (min-width: 768px) { .policy-content p { font-size: 0.9375rem; line-height: 1.75; } } .policy-content ul { list-style-type: disc; padding-left: 1.25rem; margin-bottom: 1.25rem; } .policy-content li { font-size: 0.875rem; line-height: 1.65; color: #475569; margin-bottom: 0.625rem; } @media (min-width: 768px) { .policy-content li { font-size: 0.9375rem; line-height: 1.7; } } .policy-content strong { color: #0F172A; } .policy-content .policy-link { color: #2563EB; text-decoration: underline; text-underline-offset: 3px; word-break: break-all; } .policy-content .policy-link:hover { color: #1D4ED8; }

/* ===== PAGE: cookies ===== */
#privacy-content.policy-content { width: 100%; max-width: 1000px; margin: 0 auto; padding: 2rem 1rem; overflow-wrap: anywhere; hyphens: auto; } @media (min-width: 768px) { #privacy-content.policy-content { padding: 3.5rem 1.5rem; } } #privacy-content.policy-content h2 { line-height: 1.3; } #privacy-content.policy-content p { line-height: 1.7; } #privacy-content.policy-content .policy-list { list-style-type: disc; padding-left: 1.25rem; } #privacy-content.policy-content .policy-section { border-bottom: 1px solid #E2E8F0; padding-bottom: 2rem; } #privacy-content.policy-content .policy-section:last-child { border-bottom: none; padding-bottom: 0; }

/* ===== PAGE: main-news ===== */
.nex-news-section .js-news-card{transition:box-shadow 0.2s ease,border-color 0.2s ease}.nex-news-section .js-news-card:hover{border-color:#CBD5E1}.nex-news-section .js-filter-btn.active{background-color:#0F172A;color:#FFFFFF;border-color:#0F172A}.nex-news-section input::placeholder{color:#94A3B8;opacity:1}@media(max-width:767px){.nex-news-section .split-row{flex-direction:column}}

/* ===== PAGE: categories ===== */
.categories-section input::placeholder, .categories-section textarea::placeholder { color: #94A3B8; opacity: 1; } .categories-section .tariff-card.active { border-color: #2563EB; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); } @media (min-width: 1024px) { .categories-section .stagger-middle { margin-top: 48px; } } @media (max-width: 767px) { .categories-section .staggered-grid { grid-template-columns: 1fr; } .categories-section .stagger-col { margin-top: 0 !important; } }

/* ===== PAGE: popular-articles ===== */
.nx-popular-articles-section { font-family: 'Noto Sans KR', sans-serif; }
.nx-popular-articles-section .nx-article-card { border: 1px solid #E2E8F0; }
.nx-popular-articles-section .nx-card-media { display: block; position: relative; }
.nx-popular-articles-section .nx-card-media img { width: 100%; height: 100%; object-fit: cover; }
.nx-popular-articles-section .nx-title-link { color: #0F172A; text-decoration: none; }
.nx-popular-articles-section .nx-title-link:hover { color: #2563EB; }
.nx-popular-articles-section .nx-card-btn { text-decoration: none; font-family: 'Noto Sans KR', sans-serif; }
@media (max-width: 767px) {
  .nx-popular-articles-section .grid { grid-template-columns: 1fr; }
}

/* ===== PAGE: search ===== */
.search-page-section input::placeholder {
  color: #94A3B8;
  opacity: 1;
}
.search-page-section select {
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 1em;
  padding-right: 2.25rem;
}
.search-page-section .js-tag-btn.is-active {
  background-color: #2563EB;
  color: #FFFFFF;
}
@media (max-width: 767px) {
  .search-page-section .js-results-grid {
    grid-template-columns: 1fr;
  }
}

.main-comment-card {
    font-family: 'Noto Sans KR', sans-serif;
    background-color: #FFFFFF;
    border-bottom: 1px solid #E2E8F0;
}

.main-comment-card .comment-avatar {
    width: 3rem;
    height: 3rem;
    min-width: 3rem;
    object-fit: cover;
    background: linear-gradient(135deg, #0F172A 0%, #2563EB 100%);
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
}

.main-comment-card .comment-author {
    color: #0F172A;
}

.main-comment-card .comment-body {
    color: #334155;
    line-height: 1.625;
}

.main-comment-card .comment-action-btn:focus-visible,
.main-comment-card .comment-reply-btn:focus-visible {
    outline: 2px solid #2563EB;
    outline-offset: 2px;
}

.reply-comment-card {
    font-family: 'Noto Sans KR', sans-serif;
    background-color: #F8FAFC;
    border-left: 2px solid #2563EB;
    border-bottom: 1px solid #E2E8F0;
}

.reply-comment-card .reply-avatar {
    width: 2.5rem;
    height: 2.5rem;
    min-width: 2.5rem;
    object-fit: cover;
    background: linear-gradient(135deg, #1E293B 0%, #EA580C 100%);
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
}

.reply-comment-card .reply-author {
    color: #0F172A;
}

.reply-comment-card .reply-body {
    color: #475569;
    line-height: 1.5;
}

.reply-comment-card .reply-action-btn:focus-visible {
    outline: 2px solid #2563EB;
    outline-offset: 2px;
}


/* ===== PAGE TEMPLATE: categories-list ===== */
.site-header-block {
    box-sizing: border-box;
}

.site-header-block a {
    text-decoration: none;
}

.site-header-block .js-header-mobile-menu.is-active {
    display: block;
}

.nex-detail-hero h1,
.nex-detail-hero h2,
.nex-detail-hero h3,
.nex-detail-main h1,
.nex-detail-main h2,
.nex-detail-main h3 {
    overflow-wrap: anywhere;
    hyphens: auto;
}

.nex-detail-main .nex-content-section p {
    overflow-wrap: anywhere;
}

@media (max-width: 767px) {

    .nex-detail-main .nex-data-table,
    .nex-detail-main .nex-data-table tbody,
    .nex-detail-main .nex-data-table tr,
    .nex-detail-main .nex-data-table th,
    .nex-detail-main .nex-data-table td {
        display: block;
        width: 100%;
    }

    .nex-detail-main .nex-data-table th {
        border-right: none;
        border-bottom: 1px solid #E2E8F0;
        padding-bottom: 4px;
    }

    .nex-detail-main .nex-data-table td {
        padding-top: 4px;
    }
}

.nexalone-footer a:focus-visible {
    outline: 2px solid #2563EB;
    outline-offset: 2px;
}

/* ===== PAGE TEMPLATE: popular-articles-list ===== */
.site-header-block {
    box-sizing: border-box;
}

.site-header-block a {
    text-decoration: none;
}

.site-header-block .js-header-mobile-menu.is-active {
    display: block;
}

.detail-hero h1,
.detail-hero h2,
.detail-hero p {
    overflow-wrap: anywhere;
    hyphens: auto;
}

.editorial-container {
    overflow-wrap: anywhere;
    hyphens: auto;
}

.editorial-container .editorial-dropcap {
    float: left;
    font-size: 42px;
    line-height: 0.85;
    padding-top: 4px;
    padding-right: 10px;
    padding-bottom: 2px;
    color: #0F172A;
    font-weight: bold;
}

.editorial-container .editorial-prose p {
    line-height: 1.75;
}

.editorial-facts-list {
    list-style: none;
    padding-left: 0;
    margin: 0;
}

.nexalone-footer a:focus-visible {
    outline: 2px solid #2563EB;
    outline-offset: 2px;
}

/* mobile-text-guard */
@media (max-width: 767px) {
  h1, h2, h3, h4, h5, h6, p, li, dt, dd, blockquote, figcaption, td, th, label {
    overflow-wrap: anywhere;
  }
  a, button, .btn {
    overflow-wrap: anywhere;
    white-space: normal;
  }
  img, video, iframe {
    max-width: 100%;
  }
}
