/**
 * Theme Name: Blocksy Child
 * Description: Blocksy Child theme
 * Author: Creative Themes
 * Template: blocksy
 * Text Domain: blocksy
 */

/* ==========================================================================
   Google Fonts - Noto Serif KR
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@400;700&display=swap');

/* ==========================================================================
   CSS Custom Properties (Design Tokens)
   ========================================================================== */
:root {
    /* Font Family */
    --sg-font-serif: 'Noto Serif KR', serif;

    /* Text Colors */
    --sg-color-text-primary: #333333;
    --sg-color-text-secondary: #666666;
    --sg-color-text-tertiary: #999999;
    --sg-color-text-disabled: #d0d0d0;
    --sg-color-text-white: #ffffff;
    --sg-color-text-black: #000000;

    /* Point Colors */
    --sg-color-solar-amber: #ffc84a;
    --sg-color-solar-amber-hover: #e6b23f;
    --sg-color-cosmic-blue: #3a4bff;
    --sg-color-cosmic-blue-hover: #2f3edb;
    --sg-color-inferno-orange: #ff5a3c;
    --sg-color-inferno-orange-hover: #e94e34;

    /* Component Colors */
    --sg-color-box-fill-light: #f3f3f3;
    --sg-color-box-stroke: #d0d0d0;
    --sg-color-box-fill-dark: #333333;

    /* Background Colors */
    --sg-color-bg-light: #fafaf8;
    --sg-color-bg-dark: #222222;

    /* Typography - Desktop (Default) */
    --sg-h1-size: 32px;
    --sg-h1-weight: 700;
    --sg-h1-line-height: 41.6px;

    --sg-h2-size: 28px;
    --sg-h2-weight: 700;
    --sg-h2-line-height: 37.8px;

    --sg-h3-size: 24px;
    --sg-h3-weight: 700;
    --sg-h3-line-height: 33.6px;

    --sg-h4-size: 20px;
    --sg-h4-weight: 700;
    --sg-h4-line-height: 28px;

    --sg-body-size: 16px;
    --sg-body-weight: 400;
    --sg-body-line-height: 32px;

    --sg-sub-size: 14px;
    --sg-sub-weight: 400;
    --sg-sub-line-height: 22.4px;

    --sg-caption-size: 12px;
    --sg-caption-weight: 400;
    --sg-caption-line-height: 16.8px;

    /* Spacing */
    --sg-spacing-xs: 4px;
    --sg-spacing-sm: 8px;
    --sg-spacing-md: 12px;
    --sg-spacing-lg: 16px;
    --sg-spacing-xl: 24px;

    /* Border Radius */
    --sg-radius-sm: 2px;
    --sg-radius-md: 5px;
}

/* ==========================================================================
   Mobile Typography (Max-width: 767px)
   ========================================================================== */
@media (max-width: 767px) {
    :root {
        --sg-h1-size: 24px;
        --sg-h1-line-height: 31.2px;

        --sg-h2-size: 20px;
        --sg-h2-line-height: 27px;

        --sg-h3-size: 18px;
        --sg-h3-line-height: 25.2px;

        --sg-h4-size: 18px;
        --sg-h4-line-height: 25.2px;

        --sg-body-line-height: 25.6px;
    }
}

/* ==========================================================================
   Base Typography Styles (Non-Elementor Areas Only)
   Excludes: Elementor widgets, Elementor editor, elements with Elementor classes
   ========================================================================== */

/* Apply font-family to body (Elementor can override when needed) */
body {
    font-family: var(--sg-font-serif);
    color: var(--sg-color-text-primary);
     -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.single-post .e-con>.e-con-inner {
    max-width: 640px;
}


:root {
    --real-header-h: 58px;
}


/* 기본(PC 포함) */
body:not(.home):not(.error404) #main-container .site-main {
    margin-top: 0;
}

body.error404 #main-container .site-main {
    margin-top: 0px !important;
}

body.blog #main-container .site-main,
body.archive #main-container .site-main {
    margin-top: 58px;
}

body.single-post #main-container .site-main,
body.page-template:not(.home) #main-container .site-main {
    margin-top: 0;
}

/* 모바일 오버라이드 */
@media (max-width: 767px) {

    body:not(.home):not(.error404) #main-container .site-main,
    body.blog #main-container .site-main,
    body.archive #main-container .site-main,
    body.single-post #main-container .site-main,
    body.page-template:not(.home) #main-container .site-main {
        margin-top: 0;
    }
}

/* ==========================================================================
   Legal response team — Elementor document 31390
   ========================================================================== */
.elementor[data-elementor-id="31390"] {
    --vds-legal-primary: #007773;
    --vds-legal-primary-strong: #005a57;
    --vds-legal-ink: #182526;
    --vds-legal-muted: #526261;
    --vds-legal-line: #d8e2e1;
    padding-bottom: 80px;
    background: #f8f7f5;
    color: var(--vds-legal-ink);
    font-family: "Noto Sans KR", sans-serif;
}

.elementor[data-elementor-id="31390"] > .e-con.e-parent {
    padding-inline: 24px !important;
}

.elementor[data-elementor-id="31390"] > .e-con.e-parent > .e-con-inner {
    width: min(1120px, 100%) !important;
    max-width: 1120px !important;
}

.elementor[data-elementor-id="31390"] [data-id="1f78604"] {
    padding-top: 64px !important;
    padding-bottom: 26px !important;
}

.elementor[data-elementor-id="31390"] [data-id="75649fe"] {
    text-align: center;
}

.elementor[data-elementor-id="31390"] [data-id="75649fe"] .elementor-heading-title {
    margin: 0;
    color: var(--vds-legal-ink) !important;
    font-family: "Noto Serif KR", serif !important;
    font-size: clamp(34px, 4.2vw, 52px) !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: -.045em !important;
}

.elementor[data-elementor-id="31390"] img.emoji {
    display: inline-block !important;
    width: 1.1em !important;
    min-width: 0 !important;
    max-width: 1.1em !important;
    height: 1.1em !important;
    min-height: 0 !important;
    max-height: 1.1em !important;
    margin: 0 .12em !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    object-fit: contain !important;
    vertical-align: -.14em !important;
}

.elementor[data-elementor-id="31390"] [data-id="cb6423a"] > .elementor-widget-container,
.elementor[data-elementor-id="31390"] [data-id="357d05b"] > .elementor-widget-container {
    padding: 32px 36px;
    border: 1px solid var(--vds-legal-line);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(23, 55, 53, .07);
}

.elementor[data-elementor-id="31390"] [data-id="cb6423a"] > .elementor-widget-container {
    border-left: 5px solid #b78535;
    background: #fffaf1;
}

.elementor[data-elementor-id="31390"] [data-id="cb6423a"] h3,
.elementor[data-elementor-id="31390"] [data-id="357d05b"] h3 {
    margin: 0 0 18px;
    color: var(--vds-legal-ink) !important;
    font-family: "Noto Serif KR", serif !important;
    font-size: 25px !important;
    line-height: 1.45 !important;
    word-break: keep-all;
}

.elementor[data-elementor-id="31390"] [data-id="cb6423a"] p,
.elementor[data-elementor-id="31390"] [data-id="357d05b"] p,
.elementor[data-elementor-id="31390"] [data-id="357d05b"] li {
    color: var(--vds-legal-muted) !important;
    font-size: 16px !important;
    line-height: 1.85 !important;
    word-break: keep-all;
}

.elementor[data-elementor-id="31390"] [data-id="f4cbc10"] {
    padding-block: 28px !important;
}

.elementor[data-elementor-id="31390"] [data-id="f4cbc10"] > .e-con-inner {
    display: grid !important;
    padding: 32px !important;
    grid-template-columns: minmax(0, 1fr) 290px;
    align-items: center;
    gap: 34px;
    border: 1px solid var(--vds-legal-line);
    border-top: 3px solid var(--vds-legal-primary);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(23, 55, 53, .07);
}

.elementor[data-elementor-id="31390"] [data-id="ec21e27"] {
    color: var(--vds-legal-muted) !important;
    font-size: 15px;
    line-height: 1.8;
}

.elementor[data-elementor-id="31390"] [data-id="ec21e27"] h4 {
    margin: 0 0 12px;
    color: var(--vds-legal-primary-strong) !important;
    font-family: "Noto Serif KR", serif !important;
    font-size: 24px !important;
}

.elementor[data-elementor-id="31390"] [data-id="90bbb50"] > .elementor-widget-container {
    overflow: hidden;
    border-radius: 12px;
}

.elementor[data-elementor-id="31390"] [data-id="90bbb50"] img {
    display: block;
    width: 100% !important;
    height: 360px !important;
    object-fit: cover;
    object-position: center top;
}

.elementor[data-elementor-id="31390"] [data-id="357d05b"] ol {
    margin: 0;
    padding-left: 24px;
}

.elementor[data-elementor-id="31390"] [data-id="357d05b"] li {
    margin-bottom: 12px;
    padding-left: 5px;
}

.elementor[data-elementor-id="31390"] [data-id="357d05b"] blockquote {
    margin: 24px 0 0;
    padding: 20px 24px;
    border-left: 4px solid var(--vds-legal-primary);
    border-radius: 0 10px 10px 0;
    background: #f1f7f6;
}

.elementor[data-elementor-id="31390"] [data-id="357d05b"] blockquote p {
    margin: 0;
}

@media (max-width: 900px) {
    .elementor[data-elementor-id="31390"] [data-id="f4cbc10"] > .e-con-inner {
        grid-template-columns: minmax(0, 1fr);
    }

    .elementor[data-elementor-id="31390"] [data-id="90bbb50"] {
        width: min(320px, 100%);
        margin-inline: auto;
    }
}

@media (max-width: 767px) {
    .elementor[data-elementor-id="31390"] {
        padding-bottom: 56px;
    }

    .elementor[data-elementor-id="31390"] > .e-con.e-parent {
        padding-inline: 16px !important;
    }

    .elementor[data-elementor-id="31390"] [data-id="1f78604"] {
        padding-top: 38px !important;
    }

    .elementor[data-elementor-id="31390"] [data-id="75649fe"] .elementor-heading-title {
        font-size: 31px !important;
    }

    .elementor[data-elementor-id="31390"] [data-id="cb6423a"] > .elementor-widget-container,
    .elementor[data-elementor-id="31390"] [data-id="357d05b"] > .elementor-widget-container,
    .elementor[data-elementor-id="31390"] [data-id="f4cbc10"] > .e-con-inner {
        padding: 24px 20px !important;
        border-radius: 11px;
    }

    .elementor[data-elementor-id="31390"] [data-id="cb6423a"] h3,
    .elementor[data-elementor-id="31390"] [data-id="357d05b"] h3 {
        font-size: 21px !important;
    }

    .elementor[data-elementor-id="31390"] [data-id="cb6423a"] p,
    .elementor[data-elementor-id="31390"] [data-id="357d05b"] p,
    .elementor[data-elementor-id="31390"] [data-id="357d05b"] li {
        font-size: 15px !important;
        line-height: 1.75 !important;
    }
}
/* ==========================================================================
   Professional education programs — healthcare (116) and beauty (108)
   Keep all Elementor widgets, copy and image URLs intact.
   ========================================================================== */
.elementor[data-elementor-id="116"],
.elementor[data-elementor-id="108"] {
    --vds-program-primary: #007773;
    --vds-program-primary-strong: #005a57;
    --vds-program-accent: #b6ddd9;
    --vds-program-ink: #182526;
    --vds-program-muted: #526261;
    --vds-program-line: #d8e2e1;
    --vds-program-surface: #ffffff;
    padding-bottom: 76px;
    background: #f8f7f5;
    color: var(--vds-program-ink);
    font-family: "Noto Sans KR", sans-serif;
}

.elementor[data-elementor-id="116"] > .e-con.e-parent,
.elementor[data-elementor-id="108"] > .e-con.e-parent {
    padding-inline: 24px !important;
}

.elementor[data-elementor-id="116"] > .e-con.e-parent > .e-con-inner,
.elementor[data-elementor-id="108"] > .e-con.e-parent > .e-con-inner {
    width: min(1120px, 100%) !important;
    max-width: 1120px !important;
}

.elementor[data-elementor-id="116"] .elementor-widget-spacer,
.elementor[data-elementor-id="108"] .elementor-widget-spacer {
    display: none !important;
}

/* Page title */
.elementor[data-elementor-id="116"] [data-id="44c999"],
.elementor[data-elementor-id="108"] [data-id="48faa4df"] {
    padding-top: 64px !important;
    padding-bottom: 14px !important;
}

.elementor[data-elementor-id="116"] [data-id="54eaba0b"],
.elementor[data-elementor-id="108"] [data-id="287f8304"] {
    text-align: center;
}

.elementor[data-elementor-id="116"] [data-id="54eaba0b"] .elementor-heading-title,
.elementor[data-elementor-id="108"] [data-id="287f8304"] .elementor-heading-title {
    margin: 0;
    color: var(--vds-program-ink) !important;
    font-family: "Noto Serif KR", serif !important;
    font-size: clamp(34px, 4.2vw, 52px) !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: -.045em !important;
    word-break: keep-all;
}

.elementor[data-elementor-id="116"] [data-id="5112ec27"],
.elementor[data-elementor-id="108"] [data-id="5ef97c0d"] {
    width: 74px;
    margin: 0 auto 34px;
}

.elementor[data-elementor-id="116"] [data-id="5112ec27"] .elementor-divider,
.elementor[data-elementor-id="108"] [data-id="5ef97c0d"] .elementor-divider {
    padding: 0 !important;
}

.elementor[data-elementor-id="116"] [data-id="5112ec27"] .elementor-divider-separator,
.elementor[data-elementor-id="108"] [data-id="5ef97c0d"] .elementor-divider-separator {
    width: 74px !important;
    border-block-start: 3px solid var(--vds-program-primary) !important;
}

/* Hero image */
.elementor[data-elementor-id="116"] [data-id="63c4b403"],
.elementor[data-elementor-id="108"] [data-id="428d5d6e"] {
    padding-bottom: 46px !important;
}

.elementor[data-elementor-id="116"] [data-id="787f6952"] > .elementor-widget-container,
.elementor[data-elementor-id="108"] [data-id="73c1736f"] > .elementor-widget-container {
    overflow: hidden;
    border-radius: 18px;
    background: #dcebea;
    box-shadow: 0 18px 44px rgba(23, 55, 53, .12);
}

.elementor[data-elementor-id="116"] [data-id="787f6952"] img,
.elementor[data-elementor-id="108"] [data-id="73c1736f"] img {
    display: block;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 7;
    object-fit: cover;
}

/* Program section heading */
.elementor[data-elementor-id="116"] [data-id="43941b5b"],
.elementor[data-elementor-id="108"] [data-id="43f7c41d"] {
    padding-bottom: 24px !important;
}

.elementor[data-elementor-id="116"] [data-id="3480c248"],
.elementor[data-elementor-id="108"] [data-id="4a817290"] {
    text-align: center;
}

.elementor[data-elementor-id="116"] [data-id="3480c248"] .elementor-heading-title,
.elementor[data-elementor-id="108"] [data-id="4a817290"] .elementor-heading-title {
    margin: 0;
    color: var(--vds-program-ink) !important;
    font-family: "Noto Serif KR", serif !important;
    font-size: clamp(26px, 3.2vw, 38px) !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    letter-spacing: -.035em !important;
    word-break: keep-all;
}

/* Intro and individual course cards */
.elementor[data-elementor-id="116"] .elementor-widget-text-editor > .elementor-widget-container,
.elementor[data-elementor-id="108"] .elementor-widget-text-editor > .elementor-widget-container {
    padding: 34px 38px;
    border: 1px solid var(--vds-program-line);
    border-top: 3px solid var(--vds-program-primary);
    border-radius: 14px;
    background: var(--vds-program-surface);
    box-shadow: 0 11px 30px rgba(23, 55, 53, .065);
}

.elementor[data-elementor-id="116"] .elementor-widget-text-editor,
.elementor[data-elementor-id="108"] .elementor-widget-text-editor,
.elementor[data-elementor-id="116"] .elementor-widget-text-editor p,
.elementor[data-elementor-id="108"] .elementor-widget-text-editor p,
.elementor[data-elementor-id="116"] .elementor-widget-text-editor li,
.elementor[data-elementor-id="108"] .elementor-widget-text-editor li {
    color: var(--vds-program-muted) !important;
    font-family: "Noto Sans KR", sans-serif !important;
    font-size: 16px !important;
    line-height: 1.9 !important;
    word-break: keep-all;
}

.elementor[data-elementor-id="116"] .elementor-widget-text-editor p,
.elementor[data-elementor-id="108"] .elementor-widget-text-editor p {
    margin: 0 0 14px;
}

.elementor[data-elementor-id="116"] .elementor-widget-text-editor p:last-child,
.elementor[data-elementor-id="108"] .elementor-widget-text-editor p:last-child {
    margin-bottom: 0;
}

.elementor[data-elementor-id="116"] .elementor-widget-text-editor p:first-child,
.elementor[data-elementor-id="108"] .elementor-widget-text-editor p:first-child {
    margin-bottom: 18px;
    color: var(--vds-program-primary-strong) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
}

.elementor[data-elementor-id="116"] .elementor-widget-text-editor h4,
.elementor[data-elementor-id="108"] .elementor-widget-text-editor h4 {
    margin: 30px 0 12px;
    color: var(--vds-program-ink) !important;
    font-family: "Noto Serif KR", serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
}

.elementor[data-elementor-id="116"] .elementor-widget-text-editor strong,
.elementor[data-elementor-id="108"] .elementor-widget-text-editor strong {
    color: var(--vds-program-ink);
    font-weight: 700;
}

.elementor[data-elementor-id="116"] .elementor-widget-text-editor ul,
.elementor[data-elementor-id="108"] .elementor-widget-text-editor ul {
    margin: 12px 0 20px;
    padding: 16px 20px 16px 42px;
    border-radius: 10px;
    background: #f2f7f6;
}

.elementor[data-elementor-id="116"] .elementor-widget-text-editor li,
.elementor[data-elementor-id="108"] .elementor-widget-text-editor li {
    margin-bottom: 7px;
    padding-left: 3px;
}

.elementor[data-elementor-id="116"] .elementor-widget-text-editor li:last-child,
.elementor[data-elementor-id="108"] .elementor-widget-text-editor li:last-child {
    margin-bottom: 0;
}

/* Subtle separators between the existing Elementor course containers. */
.elementor[data-elementor-id="116"] .elementor-widget-divider:not([data-id="5112ec27"]),
.elementor[data-elementor-id="108"] .elementor-widget-divider:not([data-id="5ef97c0d"]) {
    margin-block: 10px;
}

.elementor[data-elementor-id="116"] .elementor-widget-divider:not([data-id="5112ec27"]) .elementor-divider,
.elementor[data-elementor-id="108"] .elementor-widget-divider:not([data-id="5ef97c0d"]) .elementor-divider {
    padding: 10px 0 !important;
}

.elementor[data-elementor-id="116"] .elementor-widget-divider:not([data-id="5112ec27"]) .elementor-divider-separator,
.elementor[data-elementor-id="108"] .elementor-widget-divider:not([data-id="5ef97c0d"]) .elementor-divider-separator {
    width: 100% !important;
    border-block-start: 1px solid var(--vds-program-line) !important;
}

@media (max-width: 767px) {
    .elementor[data-elementor-id="116"],
    .elementor[data-elementor-id="108"] {
        padding-bottom: 48px;
    }

    .elementor[data-elementor-id="116"] > .e-con.e-parent,
    .elementor[data-elementor-id="108"] > .e-con.e-parent {
        padding-inline: 16px !important;
    }

    .elementor[data-elementor-id="116"] [data-id="44c999"],
    .elementor[data-elementor-id="108"] [data-id="48faa4df"] {
        padding-top: 36px !important;
    }

    .elementor[data-elementor-id="116"] [data-id="54eaba0b"] .elementor-heading-title,
    .elementor[data-elementor-id="108"] [data-id="287f8304"] .elementor-heading-title {
        font-size: 32px !important;
    }

    .elementor[data-elementor-id="116"] [data-id="63c4b403"],
    .elementor[data-elementor-id="108"] [data-id="428d5d6e"] {
        padding-bottom: 32px !important;
    }

    .elementor[data-elementor-id="116"] [data-id="787f6952"] > .elementor-widget-container,
    .elementor[data-elementor-id="108"] [data-id="73c1736f"] > .elementor-widget-container {
        border-radius: 12px;
    }

    .elementor[data-elementor-id="116"] [data-id="787f6952"] img,
    .elementor[data-elementor-id="108"] [data-id="73c1736f"] img {
        aspect-ratio: 4 / 3;
    }

    .elementor[data-elementor-id="116"] [data-id="3480c248"] .elementor-heading-title,
    .elementor[data-elementor-id="108"] [data-id="4a817290"] .elementor-heading-title {
        font-size: 25px !important;
    }

    .elementor[data-elementor-id="116"] .elementor-widget-text-editor > .elementor-widget-container,
    .elementor[data-elementor-id="108"] .elementor-widget-text-editor > .elementor-widget-container {
        padding: 24px 20px;
        border-radius: 11px;
    }

    .elementor[data-elementor-id="116"] .elementor-widget-text-editor,
    .elementor[data-elementor-id="108"] .elementor-widget-text-editor,
    .elementor[data-elementor-id="116"] .elementor-widget-text-editor p,
    .elementor[data-elementor-id="108"] .elementor-widget-text-editor p,
    .elementor[data-elementor-id="116"] .elementor-widget-text-editor li,
    .elementor[data-elementor-id="108"] .elementor-widget-text-editor li {
        font-size: 15px !important;
        line-height: 1.8 !important;
    }

    .elementor[data-elementor-id="116"] .elementor-widget-text-editor p:first-child,
    .elementor[data-elementor-id="108"] .elementor-widget-text-editor p:first-child,
    .elementor[data-elementor-id="116"] .elementor-widget-text-editor h4,
    .elementor[data-elementor-id="108"] .elementor-widget-text-editor h4 {
        font-size: 19px !important;
    }

    .elementor[data-elementor-id="116"] .elementor-widget-text-editor ul,
    .elementor[data-elementor-id="108"] .elementor-widget-text-editor ul {
        padding: 14px 16px 14px 34px;
    }
}



#wpdcom .wpd-form .wpdiscuz-textarea-wrap.wpd-txt .wpd-editor-buttons-right {
    display: flex;
    align-items: center;
    margin-left: auto;
    position: relative !important;
    top: -35px!important;
    right: 15px!important;
}
	
	.wpd-form-row{
    display: inline-flex;
    justify-content: space-between;

    gap: 0 !important;
    column-gap: 0 !important;
    row-gap: 0 !important;
        top: -20px !important;
    position: relative;
}

#wpdcom .wpd-form-row .wpd-form-col-right , #wpdcom .wpd-form-row .wpd-form-col-right {
    width: 50%;
}

/* ==========================================================================
   Login Button Styles (Top Header)
   - Bright: for light backgrounds
   - Dark: for dark backgrounds
   ========================================================================== */

/* Bright Login Button (Light Background) - Default */
.login_top_bright {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    font-family: "Noto Serif KR", serif;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.4;
    /* 140% = 16.8px */
    color: #666666;
    background-color: transparent;
    border: 1px solid #666666;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

/* Bright Login Button - Hover */
.login_top_bright:hover {
    background-color: #e8e8e8;
    text-decoration: none !important;
}

/* Bright Login Button - Link Styles */
.login_top_bright a {
    color: #666666 !important;
    font-style: normal !important;
    text-decoration: none;
}

.login_top_bright:hover a {
    color: #666666 !important;
    text-decoration: none !important;
}

/* Dark Login Button (Dark Background) - Default */
.login_top_dark {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    font-family: "Noto Serif KR", serif;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.4;
    /* 140% = 16.8px */
    color: #999999;
    background-color: transparent;
    border: 1px solid #999999;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

/* Dark Login Button - Hover */
.login_top_dark:hover {
    background-color: #4a4a4a;
    text-decoration: none !important;
}

/* Dark Login Button - Link Styles */
.login_top_dark a {
    color: #999999 !important;
    font-style: normal !important;
    text-decoration: none;
}

.login_top_dark:hover a {
    color: #999999 !important;
    text-decoration: none !important;
}

body.home #main-container .site-main {
    padding-top: 0;
}


/* H1 - Applies only outside Elementor context */
.entry-content h1:not([class*="elementor"]),
.site-content h1:not([class*="elementor"]),
article h1:not([class*="elementor"]) {
    font-family: var(--sg-font-serif);
    font-size: var(--sg-h1-size);
    font-weight: var(--sg-h1-weight);
    line-height: var(--sg-h1-line-height);
    color: var(--sg-color-text-primary);
}

/* H2 - Applies only outside Elementor context */
.entry-content h2:not([class*="elementor"]),
.site-content h2:not([class*="elementor"]),
article h2:not([class*="elementor"]) {
    font-family: var(--sg-font-serif);
    font-size: var(--sg-h2-size);
    font-weight: var(--sg-h2-weight);
    line-height: var(--sg-h2-line-height);
    color: var(--sg-color-text-primary);
}

/* H3 - Applies only outside Elementor context */
.entry-content h3:not([class*="elementor"]),
.site-content h3:not([class*="elementor"]),
article h3:not([class*="elementor"]) {
    font-family: var(--sg-font-serif);
    font-size: var(--sg-h3-size);
    font-weight: var(--sg-h3-weight);
    line-height: var(--sg-h3-line-height);
    color: var(--sg-color-text-primary);
}

/* H4 - Applies only outside Elementor context */
.entry-content h4:not([class*="elementor"]),
.site-content h4:not([class*="elementor"]),
article h4:not([class*="elementor"]) {
    font-family: var(--sg-font-serif);
    font-size: var(--sg-h4-size);
    font-weight: var(--sg-h4-weight);
    line-height: var(--sg-h4-line-height);
    color: var(--sg-color-text-primary);
}

/* Body text */
.entry-content p:not([class*="elementor"]),
.site-content p:not([class*="elementor"]),
article p:not([class*="elementor"]) {
    font-family: var(--sg-font-serif);
    font-size: var(--sg-body-size);
    font-weight: var(--sg-body-weight);
    line-height: var(--sg-body-line-height);
    color: var(--sg-color-text-primary);
}

/* ==========================================================================
   Typography Utility Classes (Use explicitly in templates/Elementor)
   Prefix: .sg- (Style Guide)
   ========================================================================== */

/* Heading Classes */
.sg-h1 {
    font-family: var(--sg-font-serif) !important;
    font-size: var(--sg-h1-size) !important;
    font-weight: var(--sg-h1-weight) !important;
    line-height: var(--sg-h1-line-height) !important;
    color: var(--sg-color-text-primary) !important;
}

.sg-h2 {
    font-family: var(--sg-font-serif) !important;
    font-size: var(--sg-h2-size) !important;
    font-weight: var(--sg-h2-weight) !important;
    line-height: var(--sg-h2-line-height) !important;
    color: var(--sg-color-text-primary) !important;
}

.sg-h3 {
    font-family: var(--sg-font-serif) !important;
    font-size: var(--sg-h3-size) !important;
    font-weight: var(--sg-h3-weight) !important;
    line-height: var(--sg-h3-line-height) !important;
    color: var(--sg-color-text-primary) !important;
}

.sg-h4 {
    font-family: var(--sg-font-serif) !important;
    font-size: var(--sg-h4-size) !important;
    font-weight: var(--sg-h4-weight) !important;
    line-height: var(--sg-h4-line-height) !important;
    color: var(--sg-color-text-primary) !important;
}

/* Text Classes */
.sg-body {
    font-family: var(--sg-font-serif) !important;
    font-size: var(--sg-body-size) !important;
    font-weight: var(--sg-body-weight) !important;
    line-height: var(--sg-body-line-height) !important;
    color: var(--sg-color-text-primary) !important;
}

.sg-sub {
    font-family: var(--sg-font-serif) !important;
    font-size: var(--sg-sub-size) !important;
    font-weight: var(--sg-sub-weight) !important;
    line-height: var(--sg-sub-line-height) !important;
    color: var(--sg-color-text-primary) !important;
}

.sg-caption {
    font-family: var(--sg-font-serif) !important;
    font-size: var(--sg-caption-size) !important;
    font-weight: var(--sg-caption-weight) !important;
    line-height: var(--sg-caption-line-height) !important;
    color: var(--sg-color-text-primary) !important;
}

/* ==========================================================================
   Color Utility Classes
   ========================================================================== */

/* Text Colors */
.sg-text-primary {
    color: var(--sg-color-text-primary) !important;
}

.sg-text-secondary {
    color: var(--sg-color-text-secondary) !important;
}

.sg-text-tertiary {
    color: var(--sg-color-text-tertiary) !important;
}

.sg-text-disabled {
    color: var(--sg-color-text-disabled) !important;
}

.sg-text-white {
    color: var(--sg-color-text-white) !important;
}

.sg-text-black {
    color: var(--sg-color-text-black) !important;
}

/* Point Colors */
.sg-text-amber {
    color: var(--sg-color-solar-amber) !important;
}

.sg-text-blue {
    color: var(--sg-color-cosmic-blue) !important;
}

.sg-text-orange {
    color: var(--sg-color-inferno-orange) !important;
}

/* Background Colors */
.sg-bg-light {
    background-color: var(--sg-color-bg-light) !important;
}

.sg-bg-dark {
    background-color: var(--sg-color-bg-dark) !important;
}

.sg-bg-box-light {
    background-color: var(--sg-color-box-fill-light) !important;
}

.sg-bg-box-dark {
    background-color: var(--sg-color-box-fill-dark) !important;
}

.sg-bg-amber {
    background-color: var(--sg-color-solar-amber) !important;
}

.sg-bg-blue {
    background-color: var(--sg-color-cosmic-blue) !important;
}

.sg-bg-orange {
    background-color: var(--sg-color-inferno-orange) !important;
}

/* ==========================================================================
   Button Styles
   ========================================================================== */

/* Base Button */
.sg-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--sg-spacing-md);
    padding: 10px 20px;
    border: none;
    cursor: pointer;
    font-family: var(--sg-font-serif);
    font-size: 12px;
    font-weight: 700;
    line-height: 16.8px;
    text-decoration: none;
    transition: all 0.2s ease;
}

/* Primary Button (Solar Amber) */
.sg-btn-primary {
    padding: 12px 24px;
    background-color: var(--sg-color-solar-amber);
    color: var(--sg-color-text-white);
    font-size: 14px;
    font-weight: 700;
    border-radius: var(--sg-radius-sm);
}

.sg-btn-primary:hover {
    background-color: var(--sg-color-solar-amber-hover);
}

/* Dark Button */
.sg-btn-dark {
    padding: 10px 20px;
    background-color: var(--sg-color-box-fill-dark);
    color: var(--sg-color-text-white);
    border-radius: var(--sg-radius-sm);
}

.sg-btn-dark:hover {
    background-color: #1a1a1a;
}

/* Chip Button */
.sg-btn-chip {
    padding: 8px 16px;
    background-color: transparent;
    color: var(--sg-color-text-secondary);
    border: 1px solid var(--sg-color-box-stroke);
    border-radius: var(--sg-radius-md);
    font-size: 14px;
    font-weight: 400;
}

.sg-btn-chip:hover {
    background-color: var(--sg-color-text-secondary);
    color: var(--sg-color-text-white);
}

.sg-btn-chip.active {
    background-color: var(--sg-color-text-white);
    color: var(--sg-color-text-primary);
    border-color: var(--sg-color-text-primary);
}

/* Text Button */
.sg-btn-text {
    background: transparent;
    border: none;
    cursor: pointer;
    font-family: var(--sg-font-serif);
    font-size: 14px;
    font-weight: 400;
    color: var(--sg-color-text-primary);
    text-decoration: underline;
    padding: 0;
}

.sg-btn-text:hover {
    color: var(--sg-color-text-secondary);
}

/* Icon Button */
.sg-btn-icon {
    display: inline-flex;
    align-items: center;
    gap: var(--sg-spacing-xs);
    background: transparent;
    border: none;
    cursor: pointer;
    font-size: 12px;
    font-weight: 400;
    color: var(--sg-color-text-primary);
    padding: 0;
}

/* ==========================================================================
   Form Input Styles
   ========================================================================== */

/* Comment/Search Input */
.sg-form-input {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    background-color: var(--sg-color-box-fill-light);
    border-radius: var(--sg-radius-sm);
    gap: var(--sg-spacing-md);
}

.sg-form-input input {
    flex: 1;
    border: none;
    background: transparent;
    font-family: var(--sg-font-serif);
    font-size: 14px;
    color: var(--sg-color-text-tertiary);
    outline: none;
}

.sg-form-input input:focus {
    color: var(--sg-color-text-primary);
}

.sg-form-input input::placeholder {
    color: var(--sg-color-text-tertiary);
}

.sg-form-input button {
    padding: 4px 12px;
    background: transparent;
    border: none;
    font-family: var(--sg-font-serif);
    font-size: 12px;
    font-weight: 400;
    color: var(--sg-color-text-tertiary);
    cursor: pointer;
}

.sg-form-input.filled input {
    color: var(--sg-color-text-primary);
}

.sg-form-input.filled button {
    color: var(--sg-color-text-primary);
}

/* Text Input with Label */
.sg-input-group {
    display: flex;
    flex-direction: column;
    gap: var(--sg-spacing-sm);
}

.sg-input-label {
    font-family: var(--sg-font-serif);
    font-size: 14px;
    font-weight: 400;
    color: var(--sg-color-text-secondary);
}

.sg-input {
    padding: 12px;
    border: 1px solid var(--sg-color-box-stroke);
    border-radius: var(--sg-radius-sm);
    font-family: var(--sg-font-serif);
    font-size: 14px;
    color: var(--sg-color-text-primary);
    outline: none;
    background: transparent;
    transition: border-color 0.2s ease;
}

.sg-input:focus {
    border-color: var(--sg-color-cosmic-blue);
}

.sg-input::placeholder {
    color: var(--sg-color-text-tertiary);
}

/* ==========================================================================
   Link Styles (Non-Elementor)
   ========================================================================== */
.entry-content a:not([class*="elementor"]),
.site-content a:not([class*="elementor"]),
article a:not([class*="elementor"]) {
    color: var(--sg-color-cosmic-blue);
    text-decoration: none;
    transition: color 0.2s ease;
}

.entry-content a:not([class*="elementor"]):hover,
.site-content a:not([class*="elementor"]):hover,
article a:not([class*="elementor"]):hover {
    color: var(--sg-color-cosmic-blue-hover);
    text-decoration: underline;
}

/* ==========================================================================
   Article / Card Components
   ========================================================================== */

/* Article Chip (Menu Button Style) */
.sg-article-chip {
    display: flex;
    flex-direction: column;
    gap: var(--sg-spacing-lg);
    padding: 20px;
    transition: background-color 0.2s ease;
}

.sg-article-chip-title {
    font-family: var(--sg-font-serif);
    font-size: 24px;
    font-weight: 700;
    line-height: 33.6px;
    color: var(--sg-color-text-disabled);
    transition: color 0.2s ease;
}

.sg-article-chip-subtitle {
    font-family: var(--sg-font-serif);
    font-size: 18px;
    font-weight: 700;
    line-height: 25.2px;
    color: var(--sg-color-text-primary);
    transition: color 0.2s ease;
}

.sg-article-chip:hover {
    background-color: rgba(255, 255, 255, 0.05);
}

.sg-article-chip:hover .sg-article-chip-title,
.sg-article-chip:hover .sg-article-chip-subtitle {
    color: var(--sg-color-text-white);
}

/* ==========================================================================
   Utility Spacing Classes
   ========================================================================== */
.sg-mt-xs {
    margin-top: var(--sg-spacing-xs) !important;
}

.sg-mt-sm {
    margin-top: var(--sg-spacing-sm) !important;
}

.sg-mt-md {
    margin-top: var(--sg-spacing-md) !important;
}

.sg-mt-lg {
    margin-top: var(--sg-spacing-lg) !important;
}

.sg-mt-xl {
    margin-top: var(--sg-spacing-xl) !important;
}

.sg-mb-xs {
    margin-bottom: var(--sg-spacing-xs) !important;
}

.sg-mb-sm {
    margin-bottom: var(--sg-spacing-sm) !important;
}

.sg-mb-md {
    margin-bottom: var(--sg-spacing-md) !important;
}

.sg-mb-lg {
    margin-bottom: var(--sg-spacing-lg) !important;
}

.sg-mb-xl {
    margin-bottom: var(--sg-spacing-xl) !important;
}

.sg-pt-xs {
    padding-top: var(--sg-spacing-xs) !important;
}

.sg-pt-sm {
    padding-top: var(--sg-spacing-sm) !important;
}

.sg-pt-md {
    padding-top: var(--sg-spacing-md) !important;
}

.sg-pt-lg {
    padding-top: var(--sg-spacing-lg) !important;
}

.sg-pt-xl {
    padding-top: var(--sg-spacing-xl) !important;
}

.sg-pb-xs {
    padding-bottom: var(--sg-spacing-xs) !important;
}

.sg-pb-sm {
    padding-bottom: var(--sg-spacing-sm) !important;
}

.sg-pb-md {
    padding-bottom: var(--sg-spacing-md) !important;
}

.sg-pb-lg {
    padding-bottom: var(--sg-spacing-lg) !important;
}

.sg-pb-xl {
    padding-bottom: var(--sg-spacing-xl) !important;
}

/* ==========================================================================
   Elementor Global Override - Force Style Guide Typography
   All Elementor elements will use Noto Serif KR with style guide specs
   ========================================================================== */

/* Global font-family for all Elementor elements */
.elementor,
.elementor-widget,
[class*="elementor-element"],
[class*="elementor-widget"] {
    font-family: 'Noto Serif KR', serif !important;
}

/* Elementor Heading Widget - H1 */
.elementor-widget-heading h1.elementor-heading-title,
.elementor h1,
.elementor-widget h1 {
    font-family: 'Noto Serif KR', serif !important;
    font-size: var(--sg-h1-size) !important;
    font-weight: var(--sg-h1-weight) !important;
    line-height: var(--sg-h1-line-height) !important;
    /* color: var(--sg-color-text-primary) !important;*/
}

/* Elementor Heading Widget - H2 */
.elementor-widget-heading h2.elementor-heading-title,
.elementor h2,
.elementor-widget h2 {
    font-family: 'Noto Serif KR', serif !important;
    font-size: var(--sg-h2-size) !important;
    font-weight: var(--sg-h2-weight) !important;
    line-height: var(--sg-h2-line-height) !important;
    /*color: var(--sg-color-text-primary) !important;*/
}

/* Elementor Heading Widget - H3 */
.elementor-widget-heading h3.elementor-heading-title,
.elementor h3,
.elementor-widget h3 {
    font-family: 'Noto Serif KR', serif !important;
    font-size: var(--sg-h3-size) !important;
    font-weight: var(--sg-h3-weight) !important;
    line-height: var(--sg-h3-line-height) !important;

    /* color: var(--sg-color-text-primary) !important; */
}

/* Elementor Heading Widget - H4 */
.elementor-widget-heading h4.elementor-heading-title,
.elementor h4,
.elementor-widget h4 {
    font-family: 'Noto Serif KR', serif !important;
    font-size: var(--sg-h4-size) !important;
    font-weight: var(--sg-h4-weight) !important;
    line-height: var(--sg-h4-line-height) !important;
    /*color: var(--sg-color-text-primary) !important;*/
}

/* Elementor Text Editor Widget - Body Text */
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor p,
.elementor-widget p {
    /* font-family: 'Noto Serif KR', serif !important;
    font-size: var(--sg-body-size) !important;
    font-weight: var(--sg-body-weight) !important;
    line-height: var(--sg-body-line-height) !important;*/
    /*color: var(--sg-color-text-primary) !important;*/
}

/* Elementor Button Widget */
.elementor-widget-button .elementor-button,
.elementor-button {
    font-family: 'Noto Serif KR', serif !important;
}

/* Elementor Icon Box, Image Box, etc. */
.elementor-widget-icon-box .elementor-icon-box-title,
.elementor-widget-image-box .elementor-image-box-title {
    font-family: 'Noto Serif KR', serif !important;
    font-size: var(--sg-h4-size) !important;
    font-weight: var(--sg-h4-weight) !important;
    line-height: var(--sg-h4-line-height) !important;
}

.elementor-widget-icon-box .elementor-icon-box-description,
.elementor-widget-image-box .elementor-image-box-description {
    font-family: 'Noto Serif KR', serif !important;
    font-size: var(--sg-body-size) !important;
    font-weight: var(--sg-body-weight) !important;
    line-height: var(--sg-body-line-height) !important;
}

/* Elementor Tabs, Accordion, Toggle */
.elementor-widget-tabs .elementor-tab-title,
.elementor-widget-accordion .elementor-accordion-title,
.elementor-widget-toggle .elementor-toggle-title {
    font-family: 'Noto Serif KR', serif !important;
    font-size: var(--sg-h4-size) !important;
    font-weight: var(--sg-h4-weight) !important;
}

.elementor-widget-tabs .elementor-tab-content,
.elementor-widget-accordion .elementor-accordion-content,
.elementor-widget-toggle .elementor-toggle-content {
    font-family: 'Noto Serif KR', serif !important;
    font-size: var(--sg-body-size) !important;
    line-height: var(--sg-body-line-height) !important;
}

/* Elementor List Widget */
.elementor-widget-icon-list .elementor-icon-list-text {
    font-family: 'Noto Serif KR', serif !important;
    font-size: var(--sg-body-size) !important;
    line-height: var(--sg-body-line-height) !important;
}

/* Elementor Counter Widget */
.elementor-widget-counter .elementor-counter-number-wrapper,
.elementor-widget-counter .elementor-counter-title {
    font-family: 'Noto Serif KR', serif !important;
}

/* Elementor Testimonial Widget */
.elementor-widget-testimonial .elementor-testimonial-content,
.elementor-widget-testimonial .elementor-testimonial-name,
.elementor-widget-testimonial .elementor-testimonial-job {
    font-family: 'Noto Serif KR', serif !important;
}

/* ==========================================================================
   Elementor Mobile Override (max-width: 767px)
   ========================================================================== */
@media (max-width: 767px) {

    .elementor-widget-heading h1.elementor-heading-title,
    .elementor h1,
    .elementor-widget h1 {
        font-size: var(--sg-h1-size) !important;
        line-height: var(--sg-h1-line-height) !important;
    }

    .elementor-widget-heading h2.elementor-heading-title,
    .elementor h2,
    .elementor-widget h2 {
        font-size: var(--sg-h2-size) !important;
        line-height: var(--sg-h2-line-height) !important;
    }

    .elementor-widget-heading h3.elementor-heading-title,
    .elementor h3,
    .elementor-widget h3 {
        font-size: var(--sg-h3-size) !important;
        line-height: var(--sg-h3-line-height) !important;
    }

    .elementor-widget-heading h4.elementor-heading-title,
    .elementor h4,
    .elementor-widget h4 {
        font-size: var(--sg-h4-size) !important;
        line-height: var(--sg-h4-line-height) !important;
    }

    .elementor-widget-text-editor,
    .elementor-widget-text-editor p,
    .elementor p {
        line-height: var(--sg-body-line-height) !important;
    }
}

/* ==========================================================================
   Off Canvas Side Menu - FIGMA MIGRATION (Strict Styling - Ultra High Specificity)
   ========================================================================== */

/* Main Panel Container - Using body prefix to beat theme bundles */
body div#offcanvas.ct-panel.ct-header {
    --panel-width: 393px !important;
    background-color: #222222 !important;
    color: #ffffff !important;
    box-shadow: 10px 0 30px rgba(0, 0, 0, 0.5) !important;
    border: none !important;

}

body div#offcanvas.ct-panel.ct-header .ct-panel-inner {
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    background-color: #222222 !important;
    height: 100% !important;
}

/* Header/Close Button Area */
body div#offcanvas.ct-panel.ct-header .ct-panel-actions {
    height: 58px !important;
    min-height: 58px !important;
    padding: 0 1.125rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

body div#offcanvas.ct-panel.ct-header .ct-toggle-close {
    color: #ffffff !important;
    padding: 0 !important;
    width: 24px !important;
    height: 24px !important;
    background: transparent !important;
    border: none !important;
    position: static !important;
    margin: 0 !important;
}

body div#offcanvas.ct-panel.ct-header .ct-toggle-close svg {
    width: 24px !important;
    height: 24px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.5 !important;
}

/* Content Layout */
body div#offcanvas.ct-panel.ct-header .ct-panel-content {
    padding: 2.5rem 2rem !important;
    background-color: transparent !important;
    flex-grow: 1 !important;
    overflow-y: auto !important;
}

body div#offcanvas.ct-panel.ct-header .ct-panel-content-inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 3.375rem !important;
}

/* Navigation List Base */
body div#offcanvas.ct-panel.ct-header ul#menu-new-main-offcanvas,
body div#offcanvas.ct-panel.ct-header ul#menu-mobile-menu {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.5rem !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body div#offcanvas.ct-panel.ct-header .menu-item {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

/* Main Menu Links (Large) */
body div#offcanvas.ct-panel.ct-header .ct-menu-link {
    font-family: 'Noto Serif KR', serif !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    color: #ffffff !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    text-decoration: none !important;
    display: inline-block !important;
}

/* Sub-menu styling */
body div#offcanvas.ct-panel.ct-header ul.sub-menu {
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
    margin-top: 1.5rem !important;
    padding: 0 !important;
    list-style: none !important;
    background: transparent !important;
    border: none !important;
}

body div#offcanvas.ct-panel.ct-header ul.sub-menu .ct-menu-link {
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 2.0 !important;
    color: #ffffff !important;
    opacity: 0.8 !important;
    transition: opacity 0.2s ease !important;
    padding: 0 !important;
}

body div#offcanvas.ct-panel.ct-header ul.sub-menu .ct-menu-link:hover {
    opacity: 1 !important;
    background: transparent !important;
    color: #ffffff !important;
}

/* Breadcrumb/Dropdown toggle adjustments */
body div#offcanvas.ct-panel.ct-header .ct-sub-menu-parent {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

body div#offcanvas.ct-panel.ct-header .ct-toggle-dropdown-mobile {
    color: #ffffff !important;
    margin-left: 10px !important;
    opacity: 0.8 !important;
    background: transparent !important;
    border: none !important;
    width: 24px !important;
    height: 24px !important;
    padding: 0 !important;
}

/* Remove default Blocksy indicators/decoration */
body div#offcanvas.ct-panel.ct-header .ct-menu-link::before,
body div#offcanvas.ct-panel.ct-header .ct-menu-link::after,
body div#offcanvas.ct-panel.ct-header .ct-sub-menu-parent::after {
    display: none !important;
}

/* Header Text / Notice Area */
body div#offcanvas.ct-panel.ct-header .ct-header-text {
    margin-top: 1rem !important;
}

body div#offcanvas.ct-panel.ct-header .ct-header-text .entry-content p,
body div#offcanvas.ct-panel.ct-header .ct-header-text .entry-content a,
body div#offcanvas.ct-panel.ct-header .ct-header-text .entry-content strong {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #ffffff !important;
    opacity: 0.8 !important;
    font-family: 'Noto Serif KR', serif !important;
}

body div#offcanvas.ct-panel.ct-header .ct-header-text .entry-content a {
    text-decoration: underline !important;
}

/* Fix for specific Blocksy behaviors */
body div#offcanvas.ct-panel.active {
    visibility: visible !important;
}

/* Global Reset for Offcanvas content to prevent bleed from main.min.css */
body div#offcanvas.ct-panel * {
    border-color: transparent !important;
    box-shadow: none !important;
}

/* ==========================================================================
   Secondary Button Overall Overrides (Based on Brand Style Guide)
   Applying Secondary Button styles to all theme and plugin buttons.
   - Background: #F3F3F3
   - Text: #666666
   - Border: #D0D0D0
   - Hover Background: #E8E8E8
   ========================================================================== */

/* 1. Base Button Styles */
.button:not(#wpadminbar *):not(.product_detail_cart *):not(.ct-search-form-controls *),
.ct-button,
.added_to_cart,
.ct-button-ghost,
[type=submit]:not(#wpadminbar *):not(.product_detail_cart *):not(.ct-search-form-controls *),
.wp-element-button:not(.ct-search-form-controls *),
.wp-block-button__link,
button.regform-button,
button[class*=ajax],
.woocommerce button.button:not(.product_detail_cart *),
.woocommerce-message .showlogin,
.woocommerce-message .restore-item,
.forminator-ui[data-design=none] .forminator-button,
.fluentform .ff-el-group button.ff-btn,
.ct-button-secondary-text {
    font-family: 'Noto Serif KR', serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    font-style: normal !important;
    line-height: normal !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    -webkit-text-decoration: none !important;
    text-decoration: none !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 12px 24px !important;
    border: 1px solid #D0D0D0 !important;
    appearance: none !important;
    cursor: pointer !important;
    -webkit-user-select: none !important;
    user-select: none !important;
    text-align: center !important;
    border-radius: 0px !important;
    transition: all .12s cubic-bezier(0.455, 0.03, 0.515, 0.955) !important;
    --has-link-decoration: var(--false);

    background-color: #333333 !important;
    color: #FFFFFF !important;
}

/* 2. Hover Button Styles */
.button:hover:not(#wpadminbar *),
.ct-button:hover,
.entry-tags a:hover,
.added_to_cart:hover,
[type=submit]:hover:not(#wpadminbar *),
.wp-element-button:hover,
.wp-block-button__link:hover,
button.regform-button:hover,
button[class*=ajax]:hover,
.woocommerce button.button:hover,
.woocommerce-message .showlogin:hover,
.woocommerce-message .restore-item:hover,
.forminator-ui[data-design=none] .forminator-button:hover,
.fluentform .ff-el-group button.ff-btn:hover {
    color: #FFFFFF !important;
    border-color: #4A4A4A !important;
    background-color: #4A4A4A !important;
}

/* Boosted specificity with :not(#wpadminbar *) to override the global 14px rule */
body .ct-header-cart .ct-cart-content .buttons .button:not(#wpadminbar *),
body .ct-header-cart .ct-cart-content .buttons a.button:not(#wpadminbar *),
body .ct-header-cart .ct-cart-content .buttons a.wc-forward:not(#wpadminbar *) {
    font-size: 12px !important;
    min-height: 40px !important;
    padding: 8px 16px !important;
}





/* Specific: Apply Coupon Button Width */
button[name="apply_coupon"] {
    min-width: 140px !important;
}

/* Specific: Product Detail Add to Cart Button (Point Color - #3A4BFF) - High Specificity Override */
.product_detail_cart .elementor-widget-container .cart button.single_add_to_cart_button.button.alt {
    background-color: #3A4BFF !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 0px !important;
}

.product_detail_cart .elementor-widget-container .cart button.single_add_to_cart_button.button.alt:hover {
    background-color: #2F3EDB !important;
    color: #FFFFFF !important;
}

/* Specific: Detail Category Link (Point Color - #3A4BFF) */
.detail_category a {
    color: #3A4BFF !important;
}

.detail_category a:hover {
    color: #2F3EDB !important;
    text-decoration: underline !important;
}


/* ==========================================================================
   Form Elements Overall Overrides (Based on Brand Style Guide)
   Applying Style Guide input styling to all theme and plugin form fields.
   - Border: #D0D0D0
   - BG: #FFFFFF
   - Font: Noto Serif KR, 16px
   - Radius: 0px (Matches Button style)
   ========================================================================== */

/* 1. Base Input, Select, Textarea Styles */
select:not(#wpadminbar *),
textarea:not(#wpadminbar *),
input:is([type=url], [type=tel], [type=text], [type=time], [type=date], [type=datetime], [type=datetime-local], [type=email], [type=number], [type=search], [type=password]):not(#wpadminbar *),
.ct-pseudo-input:not(#wpadminbar *),
fieldset .wc-stripe-elements-field,
.ff-inherit-theme-style .ff-el-form-control:not([size]):not([multiple]) {
    appearance: none !important;
    width: 100% !important;
    height: 48px !important;
    /* Consistent with button height */
    color: #333333 !important;
    padding: 12px 16px !important;
    border: 1px solid #D0D0D0 !important;
    border-radius: 0px !important;
    /* Sharp corners as per recent button update */
    background-color: #FFFFFF !important;
    font-family: 'Noto Serif KR', serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    transition: color .12s cubic-bezier(0.455, 0.03, 0.515, 0.955), border-color .12s cubic-bezier(0.455, 0.03, 0.515, 0.955), background-color .12s cubic-bezier(0.455, 0.03, 0.515, 0.955) !important;
}

/* Adjust Textarea specifically */
textarea {
    height: auto !important;
    min-height: 120px !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}

/* Adjust Select arrow/padding */
select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23666666' 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") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 18px !important;
    padding-right: 40px !important;
}

/* 2. Select2 & Dropdown Compatibility */
span.select2-dropdown,
span.select2-container .select2-selection--single,
span.select2-container .select2-selection--single .select2-selection__rendered {
    font-family: 'Noto Serif KR', serif !important;
    font-size: 16px !important;
    border-radius: 0px !important;
    border-color: #D0D0D0 !important;
}

span.select2-container .select2-selection--single {
    height: 48px !important;
    background-color: #FFFFFF !important;
    display: flex !important;
    align-items: center !important;
}

span.select2-container .select2-selection--single .select2-selection__rendered {
    padding-left: 16px !important;
    color: #333333 !important;
}

span.select2-container .select2-selection--single .select2-selection__arrow {
    height: 46px !important;
    right: 8px !important;
}

/* 3. Focus State */
select:focus:not(#wpadminbar *),
textarea:focus:not(#wpadminbar *),
input:focus:not(#wpadminbar *) {
    border-color: #333333 !important;
    outline: none !important;
}

/* 4. Fix Search Form Icon Button */
.ct-search-form .wp-element-button[data-button*=icon] {
    background: transparent !important;
    border: none !important;
    padding: 0 15px !important;
    min-height: 48px !important;
    width: auto !important;
    color: #666666 !important;
    box-shadow: none !important;
}

.ct-search-form .wp-element-button[data-button*=icon] svg {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
}

/* Ensure the loader doesn't hide the icon if not active */
.ct-search-form .ct-ajax-loader {
    display: none !important;
}

.ct-search-form .ct-ajax-loader.active {
    display: block !important;
}

/* ==========================================================================
   SINGLE POST CONTENT STYLES - Figma Migration
   Based on Figma design: 입시 아티클 홈페이지_Design
   PC: node-id=5-5217 | Mobile: node-id=5-4912
   ========================================================================== */

/* ---------------------------------------------
   CSS Custom Properties for Single Post
   --------------------------------------------- */
body.single-post {
    --sp-font-serif: 'Noto Serif KR', serif;

    /* PC Typography */
    --sp-h1-size: 32px;
    --sp-h1-weight: 700;
    --sp-h1-line-height: 1.3;

    --sp-h2-size: 28px;
    --sp-h2-weight: 700;
    --sp-h2-line-height: 1.35;

    --sp-h3-size: 24px;
    --sp-h3-weight: 700;
    --sp-h3-line-height: 1.4;

    --sp-h4-size: 20px;
    --sp-h4-weight: 700;
    --sp-h4-line-height: 1.4;

    --sp-h5-size: 18px;
    --sp-h5-weight: 700;
    --sp-h5-line-height: 1.4;

    --sp-h6-size: 16px;
    --sp-h6-weight: 700;
    --sp-h6-line-height: 1.6;

    --sp-body-size: 16px;
    --sp-body-weight: 400;
    --sp-body-line-height: 2;

    /* Colors */
    --sp-color-text-primary: #333333;
    --sp-color-text-secondary: #666666;
    --sp-color-inferno-orange: #FF5A3C;
    --sp-color-stroke: #D0D0D0;
    --sp-color-box-fill-light: #F3F3F3;
}

/* Mobile Typography Override */
@media (max-width: 767px) {
    body.single-post {
        --sp-h1-size: 24px;
        --sp-h1-line-height: 1.3;

        --sp-h2-size: 20px;
        --sp-h2-line-height: 1.35;

        --sp-h3-size: 18px;
        --sp-h3-line-height: 1.4;

        --sp-h4-size: 16px;
        --sp-h4-line-height: 1.6;

        --sp-h5-size: 16px;
        --sp-h5-line-height: 1.6;

        --sp-h6-size: 14px;
        --sp-h6-line-height: 1.6;

        --sp-body-line-height: 1.6;
    }
}

/* ---------------------------------------------
   Heading Styles: H1 - H6
   --------------------------------------------- */
body.single-post h1,
body.single-post .entry-content h1 {
    font-family: var(--sp-font-serif);
    font-size: var(--sp-h1-size);
    font-weight: var(--sp-h1-weight);
    font-style: normal;
    line-height: var(--sp-h1-line-height);
    color: var(--sp-color-text-primary);
    margin-top: 0;
    /*margin-bottom: 24px;*/
}

body.single-post h2,
body.single-post .entry-content h2 {
    font-family: var(--sp-font-serif);
    font-size: var(--sp-h2-size);
    font-weight: var(--sp-h2-weight);
    font-style: normal;
    line-height: var(--sp-h2-line-height);
    color: var(--sp-color-text-primary);
    /*margin-top: 48px;
    margin-bottom: 24px;*/
}

body.single-post h3,
body.single-post .entry-content h3 {
    font-family: var(--sp-font-serif);
    font-size: var(--sp-h3-size);
    font-weight: var(--sp-h3-weight);
    font-style: normal;
    line-height: var(--sp-h3-line-height);
    color: var(--sp-color-text-primary);
    /*margin-top: 40px;
    margin-bottom: 20px;*/
}

body.single-post h4,
body.single-post .entry-content h4 {
    font-family: var(--sp-font-serif);
    font-size: var(--sp-h4-size);
    font-weight: var(--sp-h4-weight);
    font-style: normal;
    line-height: var(--sp-h4-line-height);
    color: var(--sp-color-text-primary);
    /*margin-top: 32px;
    margin-bottom: 16px;*/
}

body.single-post h5,
body.single-post .entry-content h5 {
    font-family: var(--sp-font-serif);
    font-size: var(--sp-h5-size);
    font-weight: var(--sp-h5-weight);
    font-style: normal;
    line-height: var(--sp-h5-line-height);
    color: var(--sp-color-text-primary);
    /*margin-top: 24px;
    margin-bottom: 12px;*/
}

body.single-post h6,
body.single-post .entry-content h6 {
    font-family: var(--sp-font-serif);
    font-size: var(--sp-h6-size);
    font-weight: var(--sp-h6-weight);
    font-style: normal;
    line-height: var(--sp-h6-line-height);
    color: var(--sp-color-text-primary);
    /*margin-top: 20px;
    margin-bottom: 10px;*/
}

/* ---------------------------------------------
   Paragraph (P Tag) Styles
   --------------------------------------------- */
body.single-post .jet-listing-dynamic-field__content p,
body.single-post .entry-content p {
    font-family: var(--sp-font-serif);
    font-size: var(--sp-body-size);
    font-weight: var(--sp-body-weight);
    font-style: normal;
    line-height: var(--sp-body-line-height);
    color: var(--sp-color-text-primary);
    margin-top: 0;
    margin-bottom: 0px;
}

/* Last paragraph in section - remove bottom margin */
body.single-post .entry-content p:last-child {
    margin-bottom: 0;
}

/* ---------------------------------------------
   Horizontal Rule (HR) Styles
   --------------------------------------------- */
body.single-post hr,
body.single-post .entry-content hr {
    border: none;
    border-top: 1px solid var(--sp-color-stroke);
    margin: 48px 0;
    height: 0;
    clear: both;
}

/* ---------------------------------------------
   Quick Tip Styles
   Top/bottom border box with "Quick Dip" title
   Usage: <span class="quick_tip">...</span>
   --------------------------------------------- */
body.single-post .quick_tip {
    display: block;
    position: relative;
    align-self: stretch;

    padding: 24px 0;
    padding-top: 56px;
    /* Space for title */
    background: transparent;

    /* Top and bottom borders */
    border-top: 1px solid #D0D0D0;
    border-bottom: 1px solid #D0D0D0;

    font-family: var(--sp-font-serif);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
    /* 32px */
    color: var(--sp-color-text-primary);

    /* Block-level display for span */
    margin-top: 24px;
    margin-bottom: 24px;
    border-radius: 0;
}

/* Quick Dip Title */
body.single-post .quick_tip::before {
    content: "Quick Dip";
    display: block;
    position: absolute;
    top: 24px;
    left: 0;

    font-family: var(--sp-font-serif);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    color: #FF5A3C;

    margin-bottom: 12px;
}

/* Mobile Quick Tip */
@media (max-width: 767px) {
    body.single-post .quick_tip {
        font-size: 16px;
        line-height: 170%;
        /* Slightly tighter on mobile */
        padding-top: 52px;
    }

    body.single-post .quick_tip::before {
        font-size: 14px;
    }
}

/* ---------------------------------------------
   Blockquote2 Styles (Orange Background)
   Usage: <blockquote class="blockquote2">...</blockquote>
   --------------------------------------------- */
body.single-post blockquote.blockquote2,
body.single-post .entry-content blockquote.blockquote2 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
    align-self: stretch;

    padding: 24px 18px;
    background: rgba(255, 90, 60, 0.10);

    font-family: var(--sp-font-serif);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
    /* 32px */
    color: var(--sp-color-text-primary);

    margin: 24px 0;
    margin-left: 0;
    margin-right: 0;
    border: none;
    border-left: none;
    border-radius: 0;
    quotes: none;
}

body.single-post blockquote.blockquote2::before,
body.single-post blockquote.blockquote2::after {
    content: none;
}

/* Blockquote2 paragraph inside */
body.single-post blockquote.blockquote2 p {
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
}

/* Multiple paragraphs inside blockquote2 */
body.single-post blockquote.blockquote2 p+p {
    margin-top: 16px;
}

/* Bold inside blockquote2 */
body.single-post blockquote.blockquote2 strong,
body.single-post blockquote.blockquote2 b {
    font-weight: 700;
}

/* Mobile Blockquote2 */
@media (max-width: 767px) {

    body.single-post blockquote.blockquote2,
    body.single-post .entry-content blockquote.blockquote2 {
        font-size: 16px;
        line-height: 140%;
        /* 25.2px */
    }
}

/* ---------------------------------------------
   Standard Blockquote Styles (Left Border)
   Usage: <blockquote>...</blockquote>
   --------------------------------------------- */
body.single-post blockquote:not(.blockquote2),
body.single-post .entry-content blockquote:not(.blockquote2) {
    display: block;
    padding-left: 8px;
    padding-right: 0;
    align-self: stretch;

    border: none;
    border-left: 1px solid var(--sp-color-stroke);
    background: transparent;

    font-family: var(--sp-font-serif);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
    /* 32px */
    color: var(--sp-color-text-primary);

    margin: 24px 0;
    margin-left: 0;
    margin-right: 0;
    border-radius: 0;
    quotes: none;
}

body.single-post blockquote:not(.blockquote2)::before,
body.single-post blockquote:not(.blockquote2)::after {
    content: none;
}

/* Blockquote paragraph inside */
body.single-post blockquote:not(.blockquote2) p {
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
}

/* Multiple paragraphs inside blockquote */
body.single-post blockquote:not(.blockquote2) p+p {
    margin-top: 16px;
}

/* Bold inside blockquote */
body.single-post blockquote:not(.blockquote2) strong,
body.single-post blockquote:not(.blockquote2) b {
    font-weight: 700;
}

/* Mobile Standard Blockquote - Same styles for both PC and Mobile */
@media (max-width: 767px) {

    body.single-post blockquote:not(.blockquote2),
    body.single-post .entry-content blockquote:not(.blockquote2) {
        font-size: 16px;
        line-height: 200%;
        /* 32px */
    }
}

/* ---------------------------------------------
   Additional Content Elements
   --------------------------------------------- */

/* Images in post content */
body.single-post .entry-content img {
    max-width: 100%;
    height: auto;
    margin: 24px 0;
    display: block;
}

/* Figure and Figcaption */
body.single-post figure {
    margin: 24px 0;
}

body.single-post figcaption {
    font-family: var(--sp-font-serif);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--sp-color-text-secondary);
    text-align: center;
    margin-top: 8px;
}

/* Lists */
body.single-post ul,
body.single-post ol,
body.single-post .entry-content ul,
body.single-post .entry-content ol {
    font-family: var(--sp-font-serif);
    font-size: var(--sp-body-size);
    font-weight: var(--sp-body-weight);
    line-height: var(--sp-body-line-height);
    color: var(--sp-color-text-primary);
    margin-top: 0;
    margin-bottom: 0px;
    padding-left: 0px;
}

/* 2. 예외 처리: #header 내부의 리스트는 왼쪽 패딩을 0으로 설정 */
body.single-post #header ul,
body.single-post #header ol {
    padding-left: 0px !important;
}

/* 1. 먼저 모든 리스트에 간격 적용 */
body.single-post li,
body.single-post .entry-content li {
    margin-bottom: 8px;
}

/* 2. #header 내부의 리스트는 다시 0(또는 기존 값)으로 초기화 */
body.single-post #header li {
    margin-bottom: 0;
}

body.single-post li:last-child,
body.single-post .entry-content li:last-child {
    margin-bottom: 0;
}

/* Links within content */
body.single-post .entry-content a {
    color: #3A4BFF;
    text-decoration: none;
    transition: color 0.2s ease;
}

body.single-post .entry-content a:hover {
    color: #2F3EDB;
    text-decoration: underline;
}

/* Code and Pre */
body.single-post code,
body.single-post .entry-content code {
    font-family: 'Consolas', 'Monaco', monospace;
    font-size: 14px;
    background: var(--sp-color-box-fill-light);
    padding: 2px 6px;
    border-radius: 3px;
}

body.single-post pre,
body.single-post .entry-content pre {
    font-family: 'Consolas', 'Monaco', monospace;
    font-size: 14px;
    line-height: 1.6;
    background: var(--sp-color-box-fill-light);
    padding: 16px;
    border-radius: 0;
    overflow-x: auto;
    margin: 24px 0;
}

body.single-post pre code {
    background: transparent;
    padding: 0;
}

/* Table */
body.single-post table,
body.single-post .entry-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 24px 0;
    font-family: var(--sp-font-serif);
    font-size: var(--sp-body-size);
}

body.single-post th,
body.single-post .entry-content th {
    font-weight: 700;
    text-align: left;
    padding: 12px;
    border-bottom: 2px solid var(--sp-color-stroke);
}

body.single-post td,
body.single-post .entry-content td {
    padding: 12px;
    border-bottom: 1px solid var(--sp-color-stroke);
}

/* Strong / Bold */
body.single-post strong,
body.single-post b,
body.single-post .entry-content strong,
body.single-post .entry-content b {
    font-weight: 700;
}

/* Italic / Emphasis */
body.single-post em,
body.single-post i,
body.single-post .entry-content em,
body.single-post .entry-content i {
    font-style: italic;
}

/* Mobile Adjustments for Content Spacing */
@media (max-width: 767px) {

    body.single-post h2,
    body.single-post .entry-content h2 {
        margin-top: 40px;
        margin-bottom: 20px;
    }

    body.single-post h3,
    body.single-post .entry-content h3 {
        margin-top: 32px;
        margin-bottom: 16px;
    }

    body.single-post hr,
    body.single-post .entry-content hr {
        margin: 32px 0;
    }

    body.single-post p,
    body.single-post .entry-content p {
        margin-bottom: 20px;
    }

    body.single-post .quick_tip,
    body.single-post blockquote.blockquote2,
    body.single-post blockquote:not(.blockquote2) {
        margin: 20px 0;
    }
}


/* Specific: MFS Form Button Styles - ID Specificity Boost to override global styles */
body .mfs_form .button:not(#_override_),
body .mfs_form input[type="submit"]:not(#_override_),
body .mfs_form button:not(#_override_) {
    background-color: #333333 !important;
    color: #FFFFFF !important;
    border-color: #333333 !important;
}

body .mfs_form .button:hover:not(#_override_),
body .mfs_form input[type="submit"]:hover:not(#_override_),
body .mfs_form button:hover:not(#_override_) {
    background-color: #000000 !important;
    color: #FFFFFF !important;
    border-color: #000000 !important;
}

/* Search Modal Button Adjustments */
#search-modal form .ct-search-form-controls button {
    margin-top: 0px !important;
    top: -5px !important;
    position: relative;
    background-color: transparent !important;
    border: none !important;
    /* Ensure no border if inherited */
}

#search-modal form .ct-search-form-controls button:hover {
    background-color: transparent !important;
    /* No background on hover */
    color: #333333 !important;
    /* Change icon color to darker gray */
}

/* =========================================
   Search Results Page Styling
   ========================================= */

/* Main Container Spacing */
body.search .site-main {
    padding-top: 60px;
    padding-bottom: 60px;
    max-width: 960px;
    margin: auto;
}

/* Page Title ("...에 대한 검색 결과") */
body.search .page-title {
    font-family: 'Noto Serif KR', serif;
    font-size: 32px;
    font-weight: 700;
    color: #333333;
    margin-bottom: 40px;
    text-align: left !important;
    /* Force Left Align */
}

/* Force Left Alignment for Hero Section if needed */
body.search .hero-section {
    text-align: left !important;
    align-items: flex-start !important;
}

/* Entry Card Layout */
body.search .entry-card {
    border-bottom: 1px solid #D0D0D0;
    padding: 40px 0;
    display: flex;
    flex-direction: row;
    /* Changed to row */
    align-items: flex-start !important;
    /* Force Left Align */
    text-align: left !important;
    gap: 16px;
}

/* Remove default bottom margin for grid items in search results */
body.search [data-archive=default][data-layout=simple]>article:not(:last-child) {
    margin-bottom: 0 !important;
}

/* Category (Meta) */
body.search .entry-meta,
body.search .entry-meta a {
    font-family: "Noto Serif KR", sans-serif;
    font-size: 14px;
    color: #3A4BFF !important;
    /* Point Blue */
    font-weight: 700;
    text-decoration: none;
    margin-bottom: 4px;
}

/* Entry Title */
body.search .entry-title {
    margin: 0;
    line-height: 1.4;
}

body.search .entry-title a {
    font-family: 'Noto Serif KR', serif;
    font-size: 24px;
    /* H3 Desktop */
    font-weight: 700;
    color: #333333;
    text-decoration: none;
    transition: color 0.2s ease;
}

body.search .entry-title a:hover {
    color: #3A4BFF;
}

/* Read More Button ("더 보기") */
body.search .entry-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 48px;
    padding: 0 24px;
    border: 1px solid #D0D0D0;
    background-color: #F3F3F3;
    color: #666666;
    font-family: 'Noto Serif KR', serif;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.2s ease;
    margin-top: 26px;
    /* Increased by 10px (16px -> 26px) */
    cursor: pointer;
}

body.search .entry-button:hover {
    background-color: #E8E8E8;
    /* Hover Fill */
    color: #333333;
    border-color: #D0D0D0;
}

body.search .entry-button svg {
    width: 14px;
    height: 14px;
    fill: currentColor;
    margin-left: 4px;
}

/* Pagination */
body.search .ct-pagination {
    margin-top: 60px;
    display: flex;
    justify-content: flex-start !important;
    /* Force Left Align */
    align-items: center;
    gap: 8px;
}

body.search .ct-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border: 1px solid #D0D0D0;
    /* Navigation Stroke */
    background-color: #F3F3F3;
    /* Navigation Box */
    color: #666666;
    /* Secondary Color */
    font-family: 'Noto Serif KR', serif;
    font-size: 14px;
    font-weight: 400;
    text-decoration: none;
    transition: all 0.2s ease;
}

/* Current Page */
body.search .ct-pagination .page-numbers.current {
    background-color: #333333;
    /* Primary */
    color: #FFFFFF;
    /* White */
    border-color: #333333;
    font-weight: 700;
}

/* Hover State */
body.search .ct-pagination .page-numbers:not(.current):not(.dots):hover {
    background-color: #E8E8E8;
    color: #333333;
}

/* Dots */
body.search .ct-pagination .page-numbers.dots {
    border: none;
    background: transparent;
    color: #999999;
    cursor: default;
}

/* Next/Prev Buttons */
body.search .ct-pagination .next.page-numbers,
body.search .ct-pagination .prev.page-numbers {
    font-weight: 700;
    padding: 0 20px;
    width: auto;
}

body.search .ct-pagination .next.page-numbers svg,
body.search .ct-pagination .prev.page-numbers svg {
    width: 10px;
    height: 10px;
    margin: 0 6px;
    fill: currentColor;
}

.dodn-modal-box {
    max-width: 960px;
}

/* =========================================
   Order Complete Page Styling (Strict Figma Match)
   ========================================= */

/* 1. Hide Default WooCommerce Elements */
.woocommerce-thankyou-order-received,
.woocommerce-order-overview.order_details,
.woocommerce-column__title {
    display: none !important;
}

/* 2. Page Title Override */
.woocommerce-checkout .hero-section .page-title,
.woocommerce-order-received .hero-section .page-title {
    font-family: 'Noto Serif KR', serif;
    font-size: 32px;
    font-weight: 700;
    color: #333333;
    margin-bottom: 40px;
}

.woocommerce-order-received .ct-container-full {
    padding-top: 0;
}

.woocommerce-order-received #main-container .site-main {
    width: 960px;
    margin: auto;
}

/* 3. Custom Order Header (Order Num, Info) - Defined in thankyou.php */
.dodn-order-header-wrap {
    margin-bottom: 60px;
}

.dodn-order-number-section {
    margin-bottom: 30px;
}

.dodn-label {
    font-family: "Noto Serif KR", sans-serif;
    font-size: 12px;
    color: #999999;
    margin-bottom: 8px;
    display: block;
}

.dodn-value-lg {
    font-family: 'Noto Serif KR', serif;
    font-size: 28px !important;
    font-style: normal;
    font-weight: 700 !important;
    line-height: 135% !important;
    /* 37.8px */
}

.dodn-order-info-row {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    border-bottom: 1px solid #E5E5E5;
    padding-bottom: 20px;
    flex-direction: column;
}

.dodn-info-item {
    display: flex;
    gap: 12px;
    align-items: center;
}

.dodn-info-item .dodn-label {
    margin-bottom: 0;
    min-width: 80px;
    font-size: 14px;
    color: #666666;
}

.dodn-info-item .dodn-value {
    font-family: "Noto Serif KR", sans-serif;
    font-size: 14px;
    color: #666666;
    font-weight: 400;
}

/* 4. Section Titles (Downloads, Order Details, Customer Details) */
.woocommerce-order h2,
.woocommerce-order h3,
.woocommerce-order h4,
.msmp-email-section h4 {
    font-family: 'Noto Serif KR', serif;
    font-size: 20px;
    font-weight: 700;
    color: #333333;
    margin-top: 50px;
    margin-bottom: 20px;
}

/* 5. Tables Global Style (Downloads, Order Details) */
/* Reset borders */
table.shop_table,
table.order_details,
.bank-account-info table,
.download-table {
    border: none !important;
    border-collapse: collapse !important;
    width: 100%;
    margin-bottom: 40px;
}

table.shop_table td,
table.shop_table th,
table.order_details td,
table.order_details th,
.bank-account-info table td,
.bank-account-info table th {
    border: none !important;
    /* Reset all first */
    border-bottom: 1px solid #E5E5E5 !important;
    /* Only bottom border */
    padding: 16px 8px;
    text-align: left;
    font-size: 14px;
}

/* Header Specifics */
table.shop_table thead th,
table.order_details thead th,
.bank-account-info table th {
    font-weight: 400;
    color: #999999;
}

/* Cell Specifics */
table.shop_table td,
.bank-account-info table td {
    color: #333333;
}

/* Links (Product Names, Downloads) */
table.shop_table a,
.download-table a {
    color: #3A4BFF !important;
    text-decoration: none;
    font-weight: 400;
}

/* Remove last border if needed, or keep for consistency */
table.shop_table tr:last-child td {
    border-bottom: 1px solid #E5E5E5 !important;
}

/* 6. Order Detail Totals (Footer) */
table.shop_table tfoot th {
    font-weight: 400;
    color: #666666;
    text-align: left;
    padding-left: 8px;
}

table.shop_table tfoot td {
    text-align: right;
    font-weight: 700;
    /* Values are bold */
    color: #333333;
    padding-right: 8px;
}

/* 7. Billing Address Section */
.woocommerce-customer-details h2 {
    display: block !important;
    /* Ensure title is visible if hidden previously */
    border-bottom: none;
    padding-bottom: 0;
}

.woocommerce-customer-details address {
    border: 0;
    background-color: transparent;
    padding: 0px;
    font-family: "Noto Serif KR", sans-serif;
    font-style: normal;
    font-size: 14px;
    line-height: 1.8;
    color: #666666;
    border-radius: 4px;
}

.woocommerce-customer-details address p {
    margin: 0;
}

/* Mobile Adjustments */
@media (max-width: 767px) {
    .dodn-order-info-row {
        flex-direction: column;
        gap: 10px;
    }
}

/* =========================================
   404 Page Styling
   ========================================= */

/* Body Background */
body.error404 {
    background-color: #FAFAF8;
}

/* Main Container: Full Height & Centering */
body.error404 .site-main {
    min-height: 50vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 0 20px;
}


body.error404 .ct-no-results {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
}


/* Title ("이런! 해당 페이지를 찾을 수 없습니다.") */
body.error404 .page-title {
    font-family: 'Noto Serif KR', serif;
    font-size: 32px;
    font-weight: 700;
    color: #333333;
    line-height: 1.4;
    margin-bottom: 16px;
}

/* Description */
body.error404 .page-description {
    font-family: 'Noto Serif KR', serif;
    font-size: 16px;
    font-weight: 400;
    color: #666666;
    line-height: 1.6;
    margin-bottom: 20px;
}

/* Hide Search Form */
body.error404 .entry-content form {
    display: none !important;
}

/* Go to Main Button */
.btn-go-main {
    display: inline-flex;
    padding: 14px 24px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    background-color: #3A4BFF;
    /* Point Blue */
    color: #FFFFFF !important;
    font-family: 'Noto Serif KR', serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.6;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: background-color 0.2s ease;
    width: 100%;
}

.btn-go-main:hover {
    background-color: #2F3EDB;
    color: #FFFFFF !important;
}

/* ==========================================================================
   VDS Korea Renewal Design System & Common Classes
   ========================================================================== */
:root {
    /* Brand Colors (From Logo vds-korea_logo.png) */
    --vds-color-primary: #009A96;
    --vds-color-primary-hover: #00827F;
    --vds-color-secondary: #BFE1DE;
    --vds-color-secondary-hover: #A6D5D1;
    
    /* Typography & Text */
    --vds-font-serif: 'Noto Serif KR', serif;
    --vds-color-text-main: #333333;
    --vds-color-text-sub: #666666;
    --vds-color-text-light: #999999;
    
    /* Structure & Backgrounds */
    --vds-color-bg-light: #FAFAF8;
    --vds-color-bg-white: #FFFFFF;
    --vds-color-border-subtle: rgba(0, 0, 0, 0.04);
    
    /* Shadows */
    --vds-shadow-subtle: 0 10px 30px rgba(0, 0, 0, 0.03);
    --vds-shadow-hover: 0 20px 45px rgba(0, 154, 150, 0.08);
}

/* Section Layouts */
.vds-section {
    width: 100% !important;
    padding: 90px 20px !important;
    box-sizing: border-box !important;
    font-family: var(--vds-font-serif) !important;
}
.vds-section.bg-light {
    background-color: var(--vds-color-bg-light) !important;
}
.vds-section.bg-white {
    background-color: var(--vds-color-bg-white) !important;
}

.vds-container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
}

/* Typography Utilities */
.vds-title-sub {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--vds-color-primary) !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    margin-bottom: 12px !important;
}
.vds-title-main {
    font-size: 38px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    color: var(--vds-color-text-main) !important;
    margin-top: 0 !important;
    margin-bottom: 24px !important;
}
.vds-paragraph {
    font-size: 16px !important;
    line-height: 1.85 !important;
    color: var(--vds-color-text-sub) !important;
    margin-bottom: 16px !important;
}

/* Premium Card Components (Inspired by Haeyul Landing Page) */
.vds-card {
    background-color: var(--vds-color-bg-white) !important;
    border: 1px solid var(--vds-color-border-subtle) !important;
    border-radius: 20px !important;
    padding: 35px !important;
    box-shadow: var(--vds-shadow-subtle) !important;
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), 
                box-shadow 0.4s cubic-bezier(0.165, 0.84, 0.44, 1),
                border-color 0.4s ease !important;
    text-decoration: none !important;
    color: inherit !important;
    display: flex !important;
    box-sizing: border-box !important;
}
.vds-card:hover {
    transform: translateY(-8px) !important;
    box-shadow: var(--vds-shadow-hover) !important;
    border-color: rgba(0, 154, 150, 0.15) !important;
}

/* Card Icon Box styles */
.vds-card-icon {
    width: 64px !important;
    height: 64px !important;
    background-color: rgba(0, 154, 150, 0.06) !important;
    border-radius: 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    transition: background-color 0.3s ease, transform 0.3s ease !important;
}
.vds-card:hover .vds-card-icon {
    background-color: var(--vds-color-primary) !important;
    transform: rotate(5deg) scale(1.05) !important;
}
.vds-card-icon i {
    font-size: 24px !important;
    color: var(--vds-color-primary) !important;
    transition: color 0.3s ease !important;
}
.vds-card:hover .vds-card-icon i {
    color: var(--vds-color-bg-white) !important;
}

/* Premium Buttons */
.vds-btn {
    display: inline-block !important;
    padding: 14px 36px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--vds-color-bg-white) !important;
    background-color: var(--vds-color-primary) !important;
    border: 2px solid transparent !important;
    border-radius: 30px !important;
    text-decoration: none !important;
    text-align: center !important;
    cursor: pointer !important;
    box-shadow: 0 4px 15px rgba(0, 154, 150, 0.2) !important;
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}
.vds-btn:hover {
    background-color: var(--vds-color-primary-hover) !important;
    transform: translateY(-2px) scale(1.02) !important;
    box-shadow: 0 6px 20px rgba(0, 154, 150, 0.4) !important;
}
.vds-btn-outline {
    background-color: transparent !important;
    border: 2px solid var(--vds-color-primary) !important;
    color: var(--vds-color-primary) !important;
    box-shadow: none !important;
}
.vds-btn-outline:hover {
    background-color: var(--vds-color-primary) !important;
    color: var(--vds-color-bg-white) !important;
}
/* ==========================================================================
   Blocksy Global Sticky Header
   ========================================================================== */
body #header {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 9999;
    background-color: #ffffff;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
}

/* WordPress admin bar offset while logged in. */
body.admin-bar #header {
    top: 32px;
}

@media screen and (max-width: 782px) {
    body.admin-bar #header {
        top: 46px;
    }
}

/* ==========================================================================
   VDS Expert Directory — remove the duplicated outer card layer
   The inner .elementor-testimonial-wrapper remains the single visible card.
   ========================================================================== */
body .vds-expert-directory .vds-expert-card,
body .vds-expert-directory .vds-expert-card > .elementor-widget-container {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body .vds-expert-directory .vds-expert-card > .elementor-widget-container {
    height: 100%;
}
/* ==========================================================================
   Online Theory Schedule (page 184) — CSS-only VDS UI
   Source reference: 스크린샷/온라인이론-일정.html
   ========================================================================== */
body.page-id-184 .elementor-184 {
    --vds-online-primary: #006764;
    --vds-online-primary-strong: #00504d;
    --vds-online-soft: #c4e6e3;
    --vds-online-surface: #fbf9f8;
    --vds-online-surface-low: #f6f3f2;
    --vds-online-line: #d8dfde;
    --vds-online-ink: #1b1c1c;
    --vds-online-muted: #53615f;
    padding: 88px 0 110px;
    background: var(--vds-online-surface);
    color: var(--vds-online-ink);
    font-family: "Noto Sans KR", sans-serif;
}

body.page-id-184 .elementor-184 > .e-con,
body.page-id-184 .elementor-184 .e-con.e-parent {
    --padding-left: 0;
    --padding-right: 0;
}

body.page-id-184 .elementor-184 .e-con > .e-con-inner {
    width: min(1200px, calc(100% - 128px));
    max-width: 1200px;
}

body.page-id-184 .elementor-184 .elementor-element-6940ae32 {
    padding-top: 0;
}

body.page-id-184 .elementor-184 .elementor-element-4c8693c {
    text-align: center;
}

body.page-id-184 .elementor-184 .elementor-element-4c8693c .elementor-heading-title {
    margin: 0;
    color: var(--vds-online-ink) !important;
    font-family: "Noto Serif KR", serif !important;
    font-size: clamp(34px, 4vw, 48px) !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: -.045em !important;
    word-break: keep-all;
}

body.page-id-184 .elementor-184 .elementor-element-59fde403 {
    width: 74px;
    margin: 22px auto 38px;
}

body.page-id-184 .elementor-184 .elementor-element-59fde403 .elementor-divider {
    padding: 0 !important;
}

body.page-id-184 .elementor-184 .elementor-element-59fde403 .elementor-divider-separator {
    width: 74px !important;
    border-block-start: 3px solid var(--vds-online-primary) !important;
}

body.page-id-184 .elementor-184 .elementor-element-789d205b > .elementor-widget-container,
body.page-id-184 .elementor-184 .elementor-element-52a60903 > .elementor-widget-container {
    padding: clamp(26px, 4vw, 40px);
    border: 1px solid var(--vds-online-line);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 14px 36px rgba(27, 28, 28, .05);
}

body.page-id-184 .elementor-184 .elementor-element-789d205b {
    margin-bottom: 22px;
}

body.page-id-184 .elementor-184 .elementor-element-789d205b,
body.page-id-184 .elementor-184 .elementor-element-52a60903,
body.page-id-184 .elementor-184 .elementor-element-c696ff1 {
    color: var(--vds-online-muted) !important;
    font-size: 15px;
    line-height: 1.85;
    word-break: keep-all;
}

body.page-id-184 .elementor-184 .elementor-widget-text-editor p {
    margin: 0 0 14px;
}

body.page-id-184 .elementor-184 .elementor-widget-text-editor p:last-child {
    margin-bottom: 0;
}

body.page-id-184 .elementor-184 .elementor-widget-text-editor strong {
    color: var(--vds-online-ink);
    font-weight: 700;
}

body.page-id-184 .elementor-184 img.emoji {
    display: inline-block !important;
    width: 1em !important;
    min-width: 1em !important;
    max-width: 1em !important;
    height: 1em !important;
    min-height: 1em !important;
    max-height: 1em !important;
    margin: 0 .12em !important;
    vertical-align: -.12em !important;
    object-fit: contain !important;
    box-shadow: none !important;
}

/* Online registration CTA */
body.page-id-184 .elementor-184 .elementor-element-44672260,
body.page-id-184 .elementor-184 .elementor-element-5b44649a {
    display: none;
}

body.page-id-184 .elementor-184 .elementor-element-46da46d {
    margin-top: 42px;
}

body.page-id-184 .elementor-184 .elementor-element-46da46d > .e-con-inner {
    padding: 34px 34px 12px;
    border-radius: 14px 14px 0 0;
    background: linear-gradient(135deg, var(--vds-online-primary), var(--vds-online-primary-strong));
}

body.page-id-184 .elementor-184 .elementor-element-1c54e0ba > .e-con-inner {
    padding: 6px 34px 34px;
    border-radius: 0 0 14px 14px;
    background: linear-gradient(135deg, var(--vds-online-primary), var(--vds-online-primary-strong));
}

body.page-id-184 .elementor-184 .elementor-element-2b57c03c .elementor-heading-title {
    color: #fff !important;
    font-family: "Noto Sans KR", sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
}

body.page-id-184 .elementor-184 .elementor-element-38688071 {
    width: min(320px, 100%) !important;
    max-width: 320px !important;
    align-self: center;
}

body.page-id-184 .elementor-184 .elementor-element-38688071 .elementor-button {
    min-height: 54px;
    padding: 14px 28px;
    border: 2px solid #fff;
    border-radius: 8px;
    background: #fff !important;
    color: var(--vds-online-primary) !important;
    font-family: "Noto Sans KR", sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    box-shadow: 0 10px 26px rgba(0, 0, 0, .13);
    transition: transform .2s ease, box-shadow .2s ease;
}

body.page-id-184 .elementor-184 .elementor-element-38688071 .elementor-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 32px rgba(0, 0, 0, .18);
}

/* International schedule information */
body.page-id-184 .elementor-184 .elementor-element-58046fad {
    margin-top: 58px;
}

body.page-id-184 .elementor-184 .elementor-element-5dcfe1f .elementor-divider {
    padding: 0 !important;
}

body.page-id-184 .elementor-184 .elementor-element-5dcfe1f .elementor-divider-separator {
    border-block-start: 1px solid var(--vds-online-line) !important;
}

body.page-id-184 .elementor-184 .elementor-element-634c08d7 {
    margin: 34px 0 26px;
    text-align: center;
}

body.page-id-184 .elementor-184 .elementor-element-634c08d7 .elementor-heading-title {
    color: var(--vds-online-ink) !important;
    font-family: "Noto Serif KR", serif !important;
    font-size: 30px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    letter-spacing: -.035em !important;
}

body.page-id-184 .elementor-184 .elementor-element-6e6c11fc > .e-con-inner {
    display: grid !important;
    padding: 34px;
    grid-template-columns: minmax(220px, .7fr) minmax(0, 1.6fr);
    align-items: center;
    gap: 30px;
    border: 1px solid var(--vds-online-line);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 14px 36px rgba(27, 28, 28, .05);
}

body.page-id-184 .elementor-184 .elementor-element-60236c59 {
    width: 100%;
    max-width: 320px;
}

body.page-id-184 .elementor-184 .elementor-element-60236c59 .elementor-button {
    width: 100%;
    min-height: 52px;
    padding: 13px 22px;
    border: 2px solid var(--vds-online-primary);
    border-radius: 8px;
    background: var(--vds-online-primary) !important;
    color: #fff !important;
    font-family: "Noto Sans KR", sans-serif !important;
    font-weight: 700 !important;
}

body.page-id-184 .elementor-184 .elementor-element-60236c59 .elementor-button:hover {
    background: var(--vds-online-primary-strong) !important;
    border-color: var(--vds-online-primary-strong);
}

@media (max-width: 900px) {
    body.page-id-184 .elementor-184 {
        padding: 74px 0 88px;
    }

    body.page-id-184 .elementor-184 .e-con > .e-con-inner {
        width: min(100% - 48px, 720px);
    }

    body.page-id-184 .elementor-184 .elementor-element-6e6c11fc > .e-con-inner {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    body.page-id-184 .elementor-184 {
        padding: 58px 0 72px;
    }

    body.page-id-184 .elementor-184 .e-con > .e-con-inner {
        width: calc(100% - 40px);
    }

    body.page-id-184 .elementor-184 .elementor-element-4c8693c .elementor-heading-title {
        font-size: 30px !important;
    }

    body.page-id-184 .elementor-184 .elementor-element-789d205b > .elementor-widget-container,
    body.page-id-184 .elementor-184 .elementor-element-52a60903 > .elementor-widget-container {
        padding: 24px 20px;
    }

    body.page-id-184 .elementor-184 .elementor-element-789d205b,
    body.page-id-184 .elementor-184 .elementor-element-52a60903,
    body.page-id-184 .elementor-184 .elementor-element-c696ff1 {
        font-size: 14px;
        word-break: normal;
    }

    body.page-id-184 .elementor-184 .elementor-element-46da46d > .e-con-inner {
        padding: 28px 20px 10px;
    }

    body.page-id-184 .elementor-184 .elementor-element-1c54e0ba > .e-con-inner {
        padding: 6px 20px 28px;
    }

    body.page-id-184 .elementor-184 .elementor-element-2b57c03c .elementor-heading-title {
        font-size: 19px !important;
    }

    body.page-id-184 .elementor-184 .elementor-element-634c08d7 .elementor-heading-title {
        font-size: 25px !important;
    }

    body.page-id-184 .elementor-184 .elementor-element-6e6c11fc > .e-con-inner {
        padding: 24px 20px;
        gap: 22px;
    }
}
/* ==========================================================================
   Global Elementor page-title size
   The first heading in the first top-level container containing a heading is
   treated as the page title. Card and section headings remain unchanged.
   ========================================================================== */

/* Revised hero slider: mobile shows only four primary application topics. */
@media (min-width: 901px) {
  #vodderSlider .slide-2 .education-visual {
    grid-template-columns: minmax(150px, 1fr) minmax(190px, 230px) minmax(150px, 1fr) !important;
    grid-template-rows: repeat(6, minmax(60px, 1fr)) !important;
    column-gap: 20px !important;
    row-gap: 8px !important;
  }

  #vodderSlider .slide-2 .core {
    position: relative !important;
    inset: auto !important;
    translate: none !important;
    grid-column: 2;
    grid-row: 1 / -1;
    align-self: center;
    justify-self: center;
  }

  #vodderSlider .slide-2 .connector {
    grid-column: 2;
    grid-row: 1 / -1;
    align-self: center;
    justify-self: center;
  }

  #vodderSlider .slide-2 .topic {
    position: relative !important;
    inset: auto !important;
    width: min(100%, 190px) !important;
    max-width: 190px !important;
    height: auto !important;
    min-height: 50px;
    aspect-ratio: auto !important;
    border: 0 !important;
    border-radius: 999px !important;
    overflow: visible;
    margin: 0 !important;
    box-shadow: 0 11px 26px rgba(31, 73, 71, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.22) !important;
    align-self: center;
    justify-self: center;
    rotate: 0deg !important;
  }

  #vodderSlider .slide-2 .topic::before {
    display: none !important;
    content: none !important;
  }

  #vodderSlider .slide-2 .topic strong {
    font-size: 13px !important;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.025em;
    text-shadow: 0 1px 2px rgba(20, 54, 53, 0.28);
  }

  #vodderSlider .slide-2 .topic small {
    margin-top: 2px;
    font-size: 9.5px !important;
    font-weight: 700;
    line-height: 1.2;
    opacity: 1;
    text-shadow: 0 1px 2px rgba(20, 54, 53, 0.28);
  }

  #vodderSlider .slide-2 .topic-a { grid-column: 1; grid-row: 1; }
  #vodderSlider .slide-2 .topic-c { grid-column: 1; grid-row: 2; }
  #vodderSlider .slide-2 .topic-e { grid-column: 1; grid-row: 3; }
  #vodderSlider .slide-2 .topic-g { grid-column: 1; grid-row: 4; }
  #vodderSlider .slide-2 .topic-i { grid-column: 1; grid-row: 5; }
  #vodderSlider .slide-2 .topic-k { grid-column: 1; grid-row: 6; }
  #vodderSlider .slide-2 .topic-b { grid-column: 3; grid-row: 1; }
  #vodderSlider .slide-2 .topic-d { grid-column: 3; grid-row: 2; }
  #vodderSlider .slide-2 .topic-f { grid-column: 3; grid-row: 3; }
  #vodderSlider .slide-2 .topic-h { grid-column: 3; grid-row: 4; }
  #vodderSlider .slide-2 .topic-j { grid-column: 3; grid-row: 5; }
  #vodderSlider .slide-2 .topic-l { grid-column: 3; grid-row: 6; }
}

@media (min-width: 1200px) {
  #vodderSlider .slide-2 .education-visual {
    height: 500px !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    grid-template-rows: 64px 86px 86px 86px 64px !important;
    align-content: center;
    column-gap: 8px !important;
    row-gap: 8px !important;
  }

  #vodderSlider .slide-2 .core {
    grid-column: 3 / 5;
    grid-row: 2 / 5;
    width: 230px !important;
  }

  #vodderSlider .slide-2 .connector {
    grid-column: 3 / 5;
    grid-row: 2 / 5;
    width: 300px;
    height: 300px;
  }

  #vodderSlider .slide-2 .topic {
    width: min(100%, 190px) !important;
    max-width: 190px !important;
    height: 56px !important;
    min-height: 56px;
    max-height: 56px;
    aspect-ratio: auto !important;
    border: 0 !important;
    border-radius: 999px !important;
    padding: 8px 14px;
  }

  #vodderSlider .slide-2 .topic-a { grid-column: 1 / 3; grid-row: 1; }
  #vodderSlider .slide-2 .topic-b { grid-column: 3 / 5; grid-row: 1; }
  #vodderSlider .slide-2 .topic-c { grid-column: 5 / 7; grid-row: 1; }
  #vodderSlider .slide-2 .topic-d { grid-column: 1 / 3; grid-row: 2; }
  #vodderSlider .slide-2 .topic-e { grid-column: 5 / 7; grid-row: 2; }
  #vodderSlider .slide-2 .topic-f { grid-column: 1 / 3; grid-row: 3; }
  #vodderSlider .slide-2 .topic-g { grid-column: 5 / 7; grid-row: 3; }
  #vodderSlider .slide-2 .topic-h { grid-column: 1 / 3; grid-row: 4; }
  #vodderSlider .slide-2 .topic-i { grid-column: 5 / 7; grid-row: 4; }
  #vodderSlider .slide-2 .topic-j { grid-column: 1 / 3; grid-row: 5; }
  #vodderSlider .slide-2 .topic-k { grid-column: 3 / 5; grid-row: 5; }
  #vodderSlider .slide-2 .topic-l { grid-column: 5 / 7; grid-row: 5; }
  #vodderSlider .slide-2 .topic-a { margin-left: 8px !important; }
  #vodderSlider .slide-2 .topic-c { margin-left: -8px !important; }
  #vodderSlider .slide-2 .topic-d { margin-left: 12px !important; }
  #vodderSlider .slide-2 .topic-e { margin-left: -12px !important; }
  #vodderSlider .slide-2 .topic-h { margin-left: 12px !important; }
  #vodderSlider .slide-2 .topic-i { margin-left: -12px !important; }
  #vodderSlider .slide-2 .topic-j { margin-left: 8px !important; }
  #vodderSlider .slide-2 .topic-l { margin-left: -8px !important; }
}

@media (max-width: 767px) {
  #vodderSlider .slide-2 .education-visual > .topic {
    display: none !important;
  }

  #vodderSlider .slide-2 .education-visual > .topic-a,
  #vodderSlider .slide-2 .education-visual > .topic-b,
  #vodderSlider .slide-2 .education-visual > .topic-c,
  #vodderSlider .slide-2 .education-visual > .topic-d {
    display: flex !important;
    min-height: 42px;
    padding: 8px 14px;
  }

  #vodderSlider .slide-2 .education-visual > .topic span {
    display: block !important;
    width: 100%;
    font-size: 0 !important;
  }

  #vodderSlider .slide-2 .education-visual > .topic span > strong,
  #vodderSlider .slide-2 .education-visual > .topic span > small {
    display: none !important;
  }

  #vodderSlider .slide-2 .education-visual > .topic span::after {
    display: block;
    font-size: 13px;
    line-height: 1.35;
    white-space: normal;
  }

  #vodderSlider .slide-2 .topic-a span::after { content: "암 재활"; }
  #vodderSlider .slide-2 .topic-b span::after { content: "근골격계 및 스포츠 재활"; }
  #vodderSlider .slide-2 .topic-c span::after { content: "성형 및 재건 수술"; }
  #vodderSlider .slide-2 .topic-d span::after { content: "미용의학"; }

  #vodderSlider .slide-2 .core-copy span br {
    display: none !important;
  }

  #vodderSlider .slide-2 .core-copy span {
    white-space: nowrap;
  }

  #vodderSlider .slide-2 .s2-title {
    display: flex !important;
    justify-content: center;
    gap: 0.28em;
    font-size: clamp(30px, 9vw, 38px) !important;
    white-space: nowrap;
  }

  #vodderSlider .slide-2 .s2-title > span {
    display: inline-block !important;
  }

  #vodderSlider {
    position: relative;
    min-height: 820px !important;
    overflow: hidden;
  }
}

body:not(.home) .elementor[data-elementor-type="wp-page"]
> .e-con:nth-child(1 of :has(.elementor-widget-heading))
> .e-con-inner
> .elementor-widget-heading:nth-child(1 of .elementor-widget-heading)
> .elementor-widget-container
> .elementor-heading-title,
body:not(.home) .elementor[data-elementor-type="wp-page"]
> .e-con:nth-child(1 of :has(.elementor-widget-heading))
> .elementor-widget-heading:nth-child(1 of .elementor-widget-heading)
> .elementor-widget-container
> .elementor-heading-title,
body:not(.home) .elementor .vds-page-title .elementor-heading-title,
body:not(.home) .elementor .elementor-widget-heading.vds-page-title .elementor-heading-title {
  font-size: 2rem !important;
}

body:not(.home) .elementor[data-elementor-type="wp-page"]
> .e-con:nth-child(1 of :has(.elementor-widget-heading))
> .e-con-inner
> .elementor-widget-heading:nth-child(1 of .elementor-widget-heading)
.elementor-heading-title font,
body:not(.home) .elementor[data-elementor-type="wp-page"]
> .e-con:nth-child(1 of :has(.elementor-widget-heading))
> .elementor-widget-heading:nth-child(1 of .elementor-widget-heading)
.elementor-heading-title font {
  font-size: inherit !important;
}

/* ==========================================================================
   About Vodder School Korea — Elementor document 124
   ========================================================================== */

.elementor[data-elementor-id="124"] {
  --vds-about-ink: #17343a;
  --vds-about-muted: #52696e;
  --vds-about-teal: #007b78;
  --vds-about-teal-soft: #e9f5f3;
  --vds-about-gold: #ad936a;
  background:
    radial-gradient(circle at 100% 0, rgba(0, 123, 120, 0.08), transparent 28rem),
    #f7f8f6;
  padding: 72px 24px 96px;
}

.elementor[data-elementor-id="124"] > .e-con {
  width: 100%;
  max-width: 1180px;
  margin-inline: auto;
}

.elementor[data-elementor-id="124"] > .e-con > .e-con-inner {
  width: 100%;
  max-width: none;
}

.elementor[data-elementor-id="124"] [data-id="2b9e4c37"] {
  padding: 0 !important;
}

.elementor[data-elementor-id="124"] [data-id="48656350"] {
  text-align: center;
}

.elementor[data-elementor-id="124"] [data-id="48656350"] .elementor-heading-title {
  color: var(--vds-about-ink) !important;
  font-family: "Noto Serif KR", serif !important;
  font-size: clamp(36px, 5vw, 58px);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.05em;
}

.elementor[data-elementor-id="124"] [data-id="48656350"] .elementor-heading-title font {
  font-family: inherit !important;
}

.elementor[data-elementor-id="124"] [data-id="56e1f1fa"] {
  max-width: 76px;
  margin: 26px auto 54px;
  padding: 0 !important;
}

.elementor[data-elementor-id="124"] [data-id="62e50443"] {
  margin: 0 !important;
}

.elementor[data-elementor-id="124"] [data-id="62e50443"] .elementor-divider-separator {
  width: 76px !important;
  border-color: var(--vds-about-teal) !important;
  border-top-width: 3px !important;
}

/* The spacer is redundant; the Slides widget itself is rendered dynamically. */
.elementor[data-elementor-id="124"] [data-id="8da783a"] {
  display: none !important;
}

.elementor[data-elementor-id="124"] [data-id="33ab0f31"] {
  display: flex !important;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto 58px;
  padding: 0 !important;
  overflow: hidden;
  border-radius: 22px;
  background: #dcebea;
  box-shadow: 0 22px 54px rgba(24, 57, 60, 0.13);
}

.elementor[data-elementor-id="124"] [data-id="33ab0f31"] > .e-con-inner,
.elementor[data-elementor-id="124"] [data-id="45cc2a87"],
.elementor[data-elementor-id="124"] [data-id="45cc2a87"] > .elementor-widget-container,
.elementor[data-elementor-id="124"] [data-id="45cc2a87"] .elementor-swiper,
.elementor[data-elementor-id="124"] [data-id="45cc2a87"] .elementor-slides-wrapper {
  width: 100% !important;
  max-width: none !important;
}

.elementor[data-elementor-id="124"] [data-id="45cc2a87"] .elementor-slides-wrapper,
.elementor[data-elementor-id="124"] [data-id="45cc2a87"] .swiper-slide {
  min-height: clamp(420px, 42vw, 590px) !important;
}

.elementor[data-elementor-id="124"] [data-id="45cc2a87"] .swiper-slide {
  overflow: hidden;
  border-radius: 22px;
}

.elementor[data-elementor-id="124"] [data-id="45cc2a87"] .swiper-slide-bg {
  background-position: center !important;
  background-size: cover !important;
}

.elementor[data-elementor-id="124"] [data-id="45cc2a87"] .swiper-slide-inner {
  padding: clamp(28px, 6vw, 72px);
}

.elementor[data-elementor-id="124"] [data-id="45cc2a87"] .elementor-slide-heading {
  font-family: "Noto Serif KR", serif;
  font-size: clamp(30px, 4vw, 52px);
  line-height: 1.25;
  letter-spacing: -0.045em;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.18);
}

.elementor[data-elementor-id="124"] [data-id="45cc2a87"] .elementor-slide-description {
  max-width: 680px;
  font-size: clamp(15px, 1.6vw, 19px);
  line-height: 1.7;
  word-break: keep-all;
}

.elementor[data-elementor-id="124"] [data-id="45cc2a87"] .elementor-slide-button {
  border: 0;
  border-radius: 999px;
  background: var(--vds-about-teal);
  font-weight: 700;
}

.elementor[data-elementor-id="124"] [data-id="45cc2a87"] .elementor-swiper-button {
  width: 46px;
  height: 46px;
  border: 1px solid rgba(255, 255, 255, 0.65);
  border-radius: 50%;
  background: rgba(0, 77, 75, 0.46);
  color: #fff;
}

.elementor[data-elementor-id="124"] [data-id="45cc2a87"] .swiper-pagination-bullet {
  width: 9px;
  height: 9px;
  background: #fff;
  opacity: 0.6;
}

.elementor[data-elementor-id="124"] [data-id="45cc2a87"] .swiper-pagination-bullet-active {
  width: 28px;
  border-radius: 999px;
  opacity: 1;
}

.elementor[data-elementor-id="124"] [data-id="6a603c36"] {
  margin-bottom: 24px;
  padding: 0 !important;
}

.elementor[data-elementor-id="124"] [data-id="4afc4126"] {
  max-width: 920px;
  margin-inline: auto;
  text-align: center;
}

.elementor[data-elementor-id="124"] [data-id="4afc4126"] .elementor-heading-title {
  color: var(--vds-about-teal) !important;
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.035em;
  word-break: keep-all;
}

.elementor[data-elementor-id="124"] [data-id="272de0cd"],
.elementor[data-elementor-id="124"] [data-id="19e2d37c"] {
  padding: 0 !important;
}

.elementor[data-elementor-id="124"] [data-id="4c4f2a17"],
.elementor[data-elementor-id="124"] [data-id="199b9891"] {
  width: 100%;
  margin: 0;
}

.elementor[data-elementor-id="124"] [data-id="4c4f2a17"] > .elementor-widget-container,
.elementor[data-elementor-id="124"] [data-id="199b9891"] > .elementor-widget-container {
  padding: clamp(28px, 5vw, 58px);
  border: 1px solid #dce6e4;
  border-top: 4px solid var(--vds-about-teal);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 48px rgba(24, 57, 60, 0.08);
  color: var(--vds-about-muted);
  font-size: 16px;
  line-height: 1.9;
  word-break: keep-all;
}

.elementor[data-elementor-id="124"] [data-id="199b9891"] > .elementor-widget-container {
  margin-top: 28px;
  border-top-color: var(--vds-about-gold);
}

.elementor[data-elementor-id="124"] [data-id="4c4f2a17"] p,
.elementor[data-elementor-id="124"] [data-id="199b9891"] p {
  margin: 0 0 20px;
}

.elementor[data-elementor-id="124"] [data-id="4c4f2a17"] p:first-child {
  padding: 22px 24px;
  border-left: 4px solid var(--vds-about-gold);
  border-radius: 0 12px 12px 0;
  background: #fbf7ef;
  color: #42585d;
  font-size: 17px;
}

.elementor[data-elementor-id="124"] [data-id="4c4f2a17"] p > b:first-child,
.elementor[data-elementor-id="124"] [data-id="199b9891"] p > b:first-child,
.elementor[data-elementor-id="124"] [data-id="199b9891"] p > strong:first-child {
  display: block;
  margin: 36px 0 12px;
  color: var(--vds-about-ink);
  font-family: "Noto Serif KR", serif;
  font-size: 23px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.035em;
}

.elementor[data-elementor-id="124"] [data-id="4c4f2a17"] p:first-child > strong:first-child,
.elementor[data-elementor-id="124"] [data-id="4c4f2a17"] p:nth-child(2) > strong:first-child {
  display: inline;
  margin: 0;
  font-family: inherit;
  font-size: inherit;
}

.elementor[data-elementor-id="124"] [data-id="4c4f2a17"] strong,
.elementor[data-elementor-id="124"] [data-id="199b9891"] strong {
  color: #244d52;
  font-weight: 700;
}

.elementor[data-elementor-id="124"] [data-id="4c4f2a17"] em {
  color: var(--vds-about-teal);
  font-style: normal;
}

.elementor[data-elementor-id="124"] [data-id="4c4f2a17"] ul,
.elementor[data-elementor-id="124"] [data-id="199b9891"] ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
  margin: 8px 0 26px;
  padding: 0;
  list-style: none;
}

.elementor[data-elementor-id="124"] [data-id="4c4f2a17"] li,
.elementor[data-elementor-id="124"] [data-id="199b9891"] li {
  position: relative;
  min-height: 50px;
  margin: 0;
  padding: 13px 16px 13px 42px;
  border: 1px solid #dbe8e6;
  border-radius: 11px;
  background: var(--vds-about-teal-soft);
  color: #34565a;
  line-height: 1.55;
}

.elementor[data-elementor-id="124"] [data-id="4c4f2a17"] li::before,
.elementor[data-elementor-id="124"] [data-id="199b9891"] li::before {
  position: absolute;
  top: 13px;
  left: 16px;
  color: var(--vds-about-teal);
  content: "✓";
  font-weight: 800;
}

.elementor[data-elementor-id="124"] [data-id="5d5e5f1"],
.elementor[data-elementor-id="124"] [data-id="7e8091fd"] {
  display: none !important;
}

.elementor[data-elementor-id="124"] img.emoji {
  display: inline-block !important;
  width: 1.1em !important;
  min-width: 1.1em !important;
  height: 1.1em !important;
  margin: 0 0.2em !important;
  object-fit: contain;
  vertical-align: -0.15em;
}

.elementor[data-elementor-id="124"] u,
.elementor[data-elementor-id="124"] [style*="text-decoration: underline"] {
  text-decoration-color: rgba(0, 123, 120, 0.45) !important;
  text-decoration-thickness: 3px !important;
  text-underline-offset: 4px;
}

@media (max-width: 767px) {
  .elementor[data-elementor-id="124"] {
    padding: 48px 16px 64px;
  }

  .elementor[data-elementor-id="124"] [data-id="48656350"] .elementor-heading-title {
    font-size: 34px;
  }

  .elementor[data-elementor-id="124"] [data-id="56e1f1fa"] {
    margin: 20px auto 38px;
  }

  .elementor[data-elementor-id="124"] [data-id="33ab0f31"] {
    margin-bottom: 40px;
    border-radius: 15px;
  }

  .elementor[data-elementor-id="124"] [data-id="45cc2a87"] .elementor-slides-wrapper,
  .elementor[data-elementor-id="124"] [data-id="45cc2a87"] .swiper-slide {
    min-height: 420px !important;
  }

  .elementor[data-elementor-id="124"] [data-id="45cc2a87"] .swiper-slide {
    border-radius: 15px;
  }

  .elementor[data-elementor-id="124"] [data-id="45cc2a87"] .swiper-slide-inner {
    padding: 28px 24px 56px;
  }

  .elementor[data-elementor-id="124"] [data-id="45cc2a87"] .elementor-slide-heading {
    font-size: 30px;
  }

  .elementor[data-elementor-id="124"] [data-id="45cc2a87"] .elementor-swiper-button {
    width: 38px;
    height: 38px;
    font-size: 16px;
  }

  .elementor[data-elementor-id="124"] [data-id="4afc4126"] .elementor-heading-title {
    font-size: 24px;
  }

  .elementor[data-elementor-id="124"] [data-id="4c4f2a17"] > .elementor-widget-container,
  .elementor[data-elementor-id="124"] [data-id="199b9891"] > .elementor-widget-container {
    padding: 26px 20px;
    border-radius: 15px;
    font-size: 15px;
    line-height: 1.82;
  }

  .elementor[data-elementor-id="124"] [data-id="4c4f2a17"] p:first-child {
    padding: 18px;
    font-size: 15px;
  }

  .elementor[data-elementor-id="124"] [data-id="4c4f2a17"] p > b:first-child,
  .elementor[data-elementor-id="124"] [data-id="199b9891"] p > b:first-child,
  .elementor[data-elementor-id="124"] [data-id="199b9891"] p > strong:first-child {
    margin-top: 30px;
    font-size: 20px;
  }

  .elementor[data-elementor-id="124"] [data-id="4c4f2a17"] ul,
  .elementor[data-elementor-id="124"] [data-id="199b9891"] ul {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   Education schedule index — Elementor document 23
   ========================================================================== */

.elementor[data-elementor-id="23"] {
  --vds-schedule-ink: #17333a;
  --vds-schedule-muted: #607278;
  --vds-schedule-teal: #007b78;
  --vds-schedule-line: #d7e2e1;
  background: #f8f7f4;
  padding-bottom: 88px;
}

.elementor[data-elementor-id="23"] [data-id="4cb86d73"] {
  display: none !important;
}

.elementor[data-elementor-id="23"] [data-id="64a9d289"] {
  width: 100%;
  max-width: 1248px;
  margin-inline: auto;
  padding: 76px 24px 0 !important;
}

.elementor[data-elementor-id="23"] [data-id="4dc2da9"] {
  max-width: 920px;
  margin-inline: auto;
  text-align: center;
}

.elementor[data-elementor-id="23"] [data-id="4dc2da9"] .elementor-heading-title {
  margin: 0;
  color: var(--vds-schedule-ink);
  font-family: "Noto Serif KR", serif;
  font-size: clamp(34px, 4.2vw, 54px);
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: -0.045em;
  word-break: keep-all;
}

.elementor[data-elementor-id="23"] [data-id="4dc2da9"]::after {
  display: block;
  width: 72px;
  height: 3px;
  margin: 26px auto 0;
  background: var(--vds-schedule-teal);
  content: "";
}

.elementor[data-elementor-id="23"] [data-id="5076d692"] {
  max-width: 780px;
  margin: 34px auto 0;
  text-align: center;
}

.elementor[data-elementor-id="23"] [data-id="5076d692"] .elementor-widget-container,
.elementor[data-elementor-id="23"] [data-id="5076d692"] p {
  color: var(--vds-schedule-muted);
  font-size: 17px;
  font-weight: 500;
  line-height: 1.8;
  word-break: keep-all;
}

.elementor[data-elementor-id="23"] [data-id="5076d692"] p:last-child {
  margin-bottom: 0;
}

.elementor[data-elementor-id="23"] [data-id="546229e0"] {
  width: 100%;
  max-width: 920px;
  margin: 30px auto 48px;
}

.elementor[data-elementor-id="23"] [data-id="546229e0"] .elementor-widget-container {
  padding: 22px 28px;
  border: 1px solid #eadfca;
  border-left: 4px solid #b89b69;
  border-radius: 12px;
  background: #fffaf0;
  box-shadow: 0 12px 30px rgba(31, 50, 51, 0.06);
  text-align: center;
}

.elementor[data-elementor-id="23"] [data-id="546229e0"] h4,
.elementor[data-elementor-id="23"] [data-id="546229e0"] .vc_custom_heading {
  margin: 0 !important;
  color: #6d5732;
  font-size: 17px !important;
  font-weight: 700;
  line-height: 1.65;
  word-break: keep-all;
}

.elementor[data-elementor-id="23"] [data-id="28ff1650"] {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  width: 100%;
  align-items: stretch;
}

.elementor[data-elementor-id="23"] [data-id="75c54953"],
.elementor[data-elementor-id="23"] [data-id="2b50bf22"],
.elementor[data-elementor-id="23"] [data-id="42b4a184"] {
  display: flex !important;
  flex-direction: column;
  width: 100% !important;
  min-width: 0;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid var(--vds-schedule-line);
  border-top: 4px solid var(--vds-schedule-teal);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 14px 38px rgba(25, 55, 57, 0.08);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.elementor[data-elementor-id="23"] [data-id="75c54953"]:hover,
.elementor[data-elementor-id="23"] [data-id="2b50bf22"]:hover,
.elementor[data-elementor-id="23"] [data-id="42b4a184"]:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 46px rgba(25, 55, 57, 0.13);
}

.elementor[data-elementor-id="23"] [data-id="1df88f8f"],
.elementor[data-elementor-id="23"] [data-id="42679401"],
.elementor[data-elementor-id="23"] [data-id="1989f561"] {
  flex: 1 1 auto;
  width: 100%;
}

.elementor[data-elementor-id="23"] [data-id="1df88f8f"] .elementor-widget-container,
.elementor[data-elementor-id="23"] [data-id="42679401"] .elementor-widget-container,
.elementor[data-elementor-id="23"] [data-id="1989f561"] .elementor-widget-container {
  height: 100%;
  padding: 30px 30px 18px;
}

.elementor[data-elementor-id="23"] .elementor-image-box-wrapper {
  height: 100%;
}

.elementor[data-elementor-id="23"] .elementor-image-box-title {
  margin: 0 0 18px;
  color: var(--vds-schedule-ink);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: -0.025em;
  word-break: keep-all;
}

.elementor[data-elementor-id="23"] .elementor-image-box-description {
  margin: 0;
  color: var(--vds-schedule-muted);
  font-size: 15px;
  line-height: 1.8;
  word-break: keep-all;
}

.elementor[data-elementor-id="23"] [data-id="15b53c8"],
.elementor[data-elementor-id="23"] [data-id="64abb605"],
.elementor[data-elementor-id="23"] [data-id="1e958862"] {
  width: 100%;
  margin-top: auto;
  padding: 0 30px 30px;
}

.elementor[data-elementor-id="23"] [data-id="15b53c8"] .elementor-button,
.elementor[data-elementor-id="23"] [data-id="64abb605"] .elementor-button,
.elementor[data-elementor-id="23"] [data-id="1e958862"] .elementor-button {
  display: flex;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  align-items: center;
  border: 1px solid var(--vds-schedule-teal);
  border-radius: 999px;
  background: var(--vds-schedule-teal);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  box-shadow: none;
}

.elementor[data-elementor-id="23"] [data-id="15b53c8"] .elementor-button:hover,
.elementor[data-elementor-id="23"] [data-id="64abb605"] .elementor-button:hover,
.elementor[data-elementor-id="23"] [data-id="1e958862"] .elementor-button:hover {
  background: #006462;
  border-color: #006462;
  color: #fff;
}

@media (max-width: 1024px) {
  .elementor[data-elementor-id="23"] [data-id="28ff1650"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .elementor[data-elementor-id="23"] [data-id="42b4a184"] {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767px) {
  .elementor[data-elementor-id="23"] {
    padding-bottom: 56px;
  }

  .elementor[data-elementor-id="23"] [data-id="64a9d289"] {
    padding: 50px 16px 0 !important;
  }

  .elementor[data-elementor-id="23"] [data-id="4dc2da9"] .elementor-heading-title {
    font-size: clamp(29px, 9vw, 38px);
    line-height: 1.35;
  }

  .elementor[data-elementor-id="23"] [data-id="4dc2da9"]::after {
    width: 52px;
    margin-top: 20px;
  }

  .elementor[data-elementor-id="23"] [data-id="5076d692"] {
    margin-top: 25px;
  }

  .elementor[data-elementor-id="23"] [data-id="5076d692"] .elementor-widget-container,
  .elementor[data-elementor-id="23"] [data-id="5076d692"] p {
    font-size: 15px;
  }

  .elementor[data-elementor-id="23"] [data-id="546229e0"] {
    margin: 24px auto 34px;
  }

  .elementor[data-elementor-id="23"] [data-id="546229e0"] .elementor-widget-container {
    padding: 18px 20px;
    text-align: left;
  }

  .elementor[data-elementor-id="23"] [data-id="546229e0"] h4,
  .elementor[data-elementor-id="23"] [data-id="546229e0"] .vc_custom_heading {
    font-size: 15px !important;
  }

  .elementor[data-elementor-id="23"] [data-id="28ff1650"] {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .elementor[data-elementor-id="23"] [data-id="42b4a184"] {
    grid-column: auto;
  }

  .elementor[data-elementor-id="23"] [data-id="1df88f8f"] .elementor-widget-container,
  .elementor[data-elementor-id="23"] [data-id="42679401"] .elementor-widget-container,
  .elementor[data-elementor-id="23"] [data-id="1989f561"] .elementor-widget-container {
    padding: 25px 22px 14px;
  }

  .elementor[data-elementor-id="23"] .elementor-image-box-title {
    font-size: 20px;
  }

  .elementor[data-elementor-id="23"] [data-id="15b53c8"],
  .elementor[data-elementor-id="23"] [data-id="64abb605"],
  .elementor[data-elementor-id="23"] [data-id="1e958862"] {
    padding: 0 22px 24px;
  }
}

/* ==========================================================================
   Training locations — EduUp Seoul (153) and EduSky Busan (138)
   ========================================================================== */
.elementor[data-elementor-id="153"],
.elementor[data-elementor-id="138"] {
    --vds-location-primary: #007773;
    --vds-location-primary-strong: #005a57;
    --vds-location-ink: #182526;
    --vds-location-muted: #526261;
    --vds-location-line: #d8e2e1;
    padding-bottom: 80px;
    background: #f8f7f5;
    color: var(--vds-location-ink);
    font-family: "Noto Sans KR", sans-serif;
}

.elementor[data-elementor-id="153"] > .e-con.e-parent,
.elementor[data-elementor-id="138"] > .e-con.e-parent {
    padding-inline: 24px !important;
}

.elementor[data-elementor-id="153"] > .e-con.e-parent > .e-con-inner,
.elementor[data-elementor-id="138"] > .e-con.e-parent > .e-con-inner {
    width: min(1120px, 100%) !important;
    max-width: 1120px !important;
}

.elementor[data-elementor-id="153"] .elementor-widget-spacer,
.elementor[data-elementor-id="138"] .elementor-widget-spacer {
    display: none !important;
}

/* Location title */
.elementor[data-elementor-id="153"] [data-id="681d2518"],
.elementor[data-elementor-id="138"] [data-id="1e147f38"] {
    padding-top: 64px !important;
    padding-bottom: 14px !important;
}

.elementor[data-elementor-id="153"] [data-id="4bdc3eee"],
.elementor[data-elementor-id="138"] [data-id="61a37a7e"] {
    text-align: center;
}

.elementor[data-elementor-id="153"] [data-id="4bdc3eee"] .elementor-heading-title,
.elementor[data-elementor-id="138"] [data-id="61a37a7e"] .elementor-heading-title {
    margin: 0;
    color: var(--vds-location-ink) !important;
    font-family: "Noto Serif KR", serif !important;
    font-size: clamp(34px, 4.2vw, 52px) !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: -.045em !important;
    word-break: keep-all;
}

.elementor[data-elementor-id="153"] [data-id="55375f96"],
.elementor[data-elementor-id="138"] [data-id="2d21fac9"] {
    width: 74px;
    margin: 0 auto 34px;
}

.elementor[data-elementor-id="153"] [data-id="55375f96"] .elementor-divider,
.elementor[data-elementor-id="138"] [data-id="2d21fac9"] .elementor-divider {
    padding: 0 !important;
}

.elementor[data-elementor-id="153"] [data-id="55375f96"] .elementor-divider-separator,
.elementor[data-elementor-id="138"] [data-id="2d21fac9"] .elementor-divider-separator {
    width: 74px !important;
    border-block-start: 3px solid var(--vds-location-primary) !important;
}

/* Map card */
.elementor[data-elementor-id="153"] [data-id="1c0972ab"],
.elementor[data-elementor-id="138"] [data-id="548a2504"] {
    padding-bottom: 22px !important;
}

.elementor[data-elementor-id="153"] .elementor-widget-google_maps > .elementor-widget-container,
.elementor[data-elementor-id="138"] .elementor-widget-google_maps > .elementor-widget-container {
    overflow: hidden;
    border: 1px solid var(--vds-location-line);
    border-radius: 16px;
    background: #dcebea;
    box-shadow: 0 16px 40px rgba(23, 55, 53, .1);
}

.elementor[data-elementor-id="153"] .elementor-widget-google_maps iframe,
.elementor[data-elementor-id="138"] .elementor-widget-google_maps iframe {
    display: block;
    width: 100% !important;
    height: 460px !important;
    border: 0;
}

/* Address and map actions */
.elementor[data-elementor-id="153"] [data-id="640cf557"] > .e-con-inner,
.elementor[data-elementor-id="138"] [data-id="29f38ef6"] > .e-con-inner {
    display: grid !important;
    padding: 24px 28px !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;
    border: 1px solid var(--vds-location-line);
    border-left: 4px solid var(--vds-location-primary);
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(23, 55, 53, .06);
}

.elementor[data-elementor-id="153"] [data-id="4ee3a661"],
.elementor[data-elementor-id="138"] [data-id="77146245"] {
    width: 100% !important;
    min-width: 0;
}

.elementor[data-elementor-id="153"] [data-id="5e8e23ee"],
.elementor[data-elementor-id="138"] [data-id="5e6306e0"] {
    color: var(--vds-location-muted) !important;
    font-size: 16px;
    line-height: 1.75;
    word-break: keep-all;
}

.elementor[data-elementor-id="153"] [data-id="5e8e23ee"] p,
.elementor[data-elementor-id="138"] [data-id="5e6306e0"] p {
    margin: 0;
}

.elementor[data-elementor-id="153"] [data-id="5e8e23ee"] strong,
.elementor[data-elementor-id="138"] [data-id="5e6306e0"] strong {
    display: block;
    margin-bottom: 4px;
    color: var(--vds-location-ink);
    font-size: 19px;
}

.elementor[data-elementor-id="153"] [data-id="23c436e1"],
.elementor[data-elementor-id="138"] [data-id="54e17df7"] {
    display: flex !important;
    width: auto !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px !important;
}

.elementor[data-elementor-id="153"] [data-id="275e4abb"] .elementor-button,
.elementor[data-elementor-id="153"] [data-id="2d7705f7"] .elementor-button,
.elementor[data-elementor-id="138"] [data-id="36701f2c"] .elementor-button,
.elementor[data-elementor-id="138"] [data-id="67f9a7ab"] .elementor-button {
    min-height: 46px;
    padding: 12px 20px !important;
    border: 2px solid var(--vds-location-primary) !important;
    border-radius: 999px !important;
    background: var(--vds-location-primary) !important;
    color: #fff !important;
    font-family: "Noto Sans KR", sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}

.elementor[data-elementor-id="153"] [data-id="2d7705f7"] .elementor-button,
.elementor[data-elementor-id="138"] [data-id="67f9a7ab"] .elementor-button {
    background: #fff !important;
    color: var(--vds-location-primary) !important;
}

.elementor[data-elementor-id="153"] [data-id="275e4abb"] .elementor-button:hover,
.elementor[data-elementor-id="153"] [data-id="2d7705f7"] .elementor-button:hover,
.elementor[data-elementor-id="138"] [data-id="36701f2c"] .elementor-button:hover,
.elementor[data-elementor-id="138"] [data-id="67f9a7ab"] .elementor-button:hover {
    background: var(--vds-location-primary-strong) !important;
    border-color: var(--vds-location-primary-strong) !important;
    color: #fff !important;
}

/* Existing Elementor separators between information cards. */
.elementor[data-elementor-id="153"] [data-id="64fff009"],
.elementor[data-elementor-id="153"] [data-id="600923c8"],
.elementor[data-elementor-id="153"] [data-id="cdeb704"],
.elementor[data-elementor-id="138"] [data-id="8678a7f"],
.elementor[data-elementor-id="138"] [data-id="373000c"] {
    margin-block: 14px;
}

.elementor[data-elementor-id="153"] [data-id="64fff009"] .elementor-divider,
.elementor[data-elementor-id="153"] [data-id="600923c8"] .elementor-divider,
.elementor[data-elementor-id="153"] [data-id="cdeb704"] .elementor-divider,
.elementor[data-elementor-id="138"] [data-id="8678a7f"] .elementor-divider,
.elementor[data-elementor-id="138"] [data-id="373000c"] .elementor-divider {
    padding: 0 !important;
}

.elementor[data-elementor-id="153"] [data-id="64fff009"] .elementor-divider-separator,
.elementor[data-elementor-id="153"] [data-id="600923c8"] .elementor-divider-separator,
.elementor[data-elementor-id="153"] [data-id="cdeb704"] .elementor-divider-separator,
.elementor[data-elementor-id="138"] [data-id="8678a7f"] .elementor-divider-separator,
.elementor[data-elementor-id="138"] [data-id="373000c"] .elementor-divider-separator {
    width: 100% !important;
    border-block-start: 1px solid var(--vds-location-line) !important;
}

/* Hours, phone and business information cards. */
.elementor[data-elementor-id="153"] .elementor-widget-icon-box > .elementor-widget-container,
.elementor[data-elementor-id="138"] .elementor-widget-icon-box > .elementor-widget-container {
    height: 100%;
    padding: 22px 26px;
    border: 1px solid var(--vds-location-line);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 9px 26px rgba(23, 55, 53, .055);
}

.elementor[data-elementor-id="153"] .elementor-icon-box-wrapper,
.elementor[data-elementor-id="138"] .elementor-icon-box-wrapper {
    display: flex;
    align-items: center;
    gap: 16px;
    text-align: left;
}

.elementor[data-elementor-id="153"] .elementor-icon-box-icon,
.elementor[data-elementor-id="138"] .elementor-icon-box-icon {
    margin: 0 !important;
}

.elementor[data-elementor-id="153"] .elementor-icon-box-icon .elementor-icon,
.elementor[data-elementor-id="138"] .elementor-icon-box-icon .elementor-icon {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border-radius: 50%;
    background: #e8f3f2;
    color: var(--vds-location-primary) !important;
    fill: var(--vds-location-primary) !important;
}

.elementor[data-elementor-id="153"] .elementor-icon-box-icon svg,
.elementor[data-elementor-id="138"] .elementor-icon-box-icon svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}

.elementor[data-elementor-id="153"] .elementor-icon-box-title,
.elementor[data-elementor-id="138"] .elementor-icon-box-title {
    margin: 0 !important;
    color: var(--vds-location-ink) !important;
    font-family: "Noto Sans KR", sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.65 !important;
    word-break: keep-all;
}

.elementor[data-elementor-id="153"] [data-id="288b9327"],
.elementor[data-elementor-id="138"] [data-id="378236a6"] {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: minmax(180px, .45fr) minmax(0, 1.55fr);
    align-items: stretch;
    gap: 16px !important;
}

@media (max-width: 767px) {
    .elementor[data-elementor-id="153"],
    .elementor[data-elementor-id="138"] {
        padding-bottom: 56px;
    }

    .elementor[data-elementor-id="153"] > .e-con.e-parent,
    .elementor[data-elementor-id="138"] > .e-con.e-parent {
        padding-inline: 16px !important;
    }

    .elementor[data-elementor-id="153"] [data-id="681d2518"],
    .elementor[data-elementor-id="138"] [data-id="1e147f38"] {
        padding-top: 38px !important;
    }

    .elementor[data-elementor-id="153"] [data-id="4bdc3eee"] .elementor-heading-title,
    .elementor[data-elementor-id="138"] [data-id="61a37a7e"] .elementor-heading-title {
        font-size: 31px !important;
    }

    .elementor[data-elementor-id="153"] .elementor-widget-google_maps iframe,
    .elementor[data-elementor-id="138"] .elementor-widget-google_maps iframe {
        height: 340px !important;
    }

    .elementor[data-elementor-id="153"] [data-id="640cf557"] > .e-con-inner,
    .elementor[data-elementor-id="138"] [data-id="29f38ef6"] > .e-con-inner {
        padding: 22px 20px !important;
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }

    .elementor[data-elementor-id="153"] [data-id="23c436e1"],
    .elementor[data-elementor-id="138"] [data-id="54e17df7"] {
        width: 100% !important;
        justify-content: stretch;
    }

    .elementor[data-elementor-id="153"] [data-id="275e4abb"],
    .elementor[data-elementor-id="153"] [data-id="2d7705f7"],
    .elementor[data-elementor-id="138"] [data-id="36701f2c"],
    .elementor[data-elementor-id="138"] [data-id="67f9a7ab"] {
        flex: 1 1 calc(50% - 5px);
    }

    .elementor[data-elementor-id="153"] [data-id="275e4abb"] .elementor-button,
    .elementor[data-elementor-id="153"] [data-id="2d7705f7"] .elementor-button,
    .elementor[data-elementor-id="138"] [data-id="36701f2c"] .elementor-button,
    .elementor[data-elementor-id="138"] [data-id="67f9a7ab"] .elementor-button {
        width: 100%;
        justify-content: center;
    }

    .elementor[data-elementor-id="153"] .elementor-widget-icon-box > .elementor-widget-container,
    .elementor[data-elementor-id="138"] .elementor-widget-icon-box > .elementor-widget-container {
        padding: 20px;
    }

    .elementor[data-elementor-id="153"] [data-id="288b9327"],
    .elementor[data-elementor-id="138"] [data-id="378236a6"] {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* ==========================================================================
   EduUp Seoul Schedule (Elementor 160)
   Preserve Elementor's original monthly layout and dimensions.
   ========================================================================== */
.elementor.elementor-160 {
    --vds-edu-primary: #007773;
    --vds-edu-ink: #172326;
    --vds-edu-muted: #526064;
    --vds-edu-line: #d8e2e1;
    --vds-edu-surface: #ffffff;
}

/* Remove only empty source-template spacers. */
.elementor.elementor-160 [data-id="62225a0b"],
.elementor.elementor-160 [data-id="14afa8cd"] {
    display: none !important;
}

/* Full-width title section without a card surface. */
.elementor.elementor-160 [data-id="6414f42f"] {
    padding: 48px 24px 18px !important;
}

.elementor.elementor-160 [data-id="6414f42f"] > .e-con-inner {
    width: min(1200px, 100%) !important;
    max-width: 1200px !important;
    padding: 24px 0 !important;
}

.elementor.elementor-160 [data-id="116df3d1"] {
    text-align: center;
}

.elementor.elementor-160 [data-id="116df3d1"] .elementor-heading-title {
    margin: 0;
    color: var(--vds-edu-ink) !important;
    font-family: "Noto Serif KR", serif !important;
    font-size: clamp(30px, 4vw, 48px) !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: -.04em !important;
    word-break: keep-all;
}

/* Accent line. */
.elementor.elementor-160 [data-id="2ca035ce"] {
    padding: 0 24px !important;
}

.elementor.elementor-160 [data-id="2ca035ce"] > .e-con-inner {
    width: min(1200px, 100%) !important;
    max-width: 1200px !important;
}

.elementor.elementor-160 [data-id="91985f5"] {
    width: 72px;
    margin: 6px auto 18px;
}

.elementor.elementor-160 [data-id="91985f5"] .elementor-divider {
    padding: 0 !important;
}

.elementor.elementor-160 [data-id="91985f5"] .elementor-divider-separator {
    width: 72px !important;
    border-block-start: 3px solid var(--vds-edu-primary) !important;
}

/* Description and contact form one full-width information card. */
.elementor.elementor-160 [data-id="49df34d"],
.elementor.elementor-160 [data-id="349d8bec"] {
    padding-inline: 24px !important;
}

.elementor.elementor-160 [data-id="49df34d"] > .e-con-inner,
.elementor.elementor-160 [data-id="349d8bec"] > .e-con-inner {
    width: min(1200px, 100%) !important;
    max-width: 1200px !important;
    background: var(--vds-edu-surface);
}

.elementor.elementor-160 [data-id="49df34d"] > .e-con-inner {
    padding: 30px 38px 12px !important;
    border: 1px solid var(--vds-edu-line);
    border-bottom: 0;
    border-radius: 16px 16px 0 0;
}

.elementor.elementor-160 [data-id="349d8bec"] > .e-con-inner {
    padding: 12px 38px 30px !important;
    border: 1px solid var(--vds-edu-line);
    border-top: 0;
    border-radius: 0 0 16px 16px;
    box-shadow: 0 14px 38px rgba(22, 49, 48, .07);
}

.elementor.elementor-160 [data-id="261c9f78"] {
    text-align: center;
}

.elementor.elementor-160 [data-id="261c9f78"] .elementor-heading-title {
    margin: 0;
    color: var(--vds-edu-muted) !important;
    font-family: "Noto Sans KR", sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.7 !important;
    word-break: keep-all;
}

.elementor.elementor-160 [data-id="7857dd27"] > .elementor-widget-container {
    width: 100%;
    padding: 20px 26px;
    border-left: 4px solid var(--vds-edu-primary);
    border-radius: 9px;
    background: #f3f8f7;
}

.elementor.elementor-160 [data-id="7857dd27"] h5,
.elementor.elementor-160 [data-id="7857dd27"] p {
    margin: 0;
    color: var(--vds-edu-ink) !important;
    font-family: "Noto Sans KR", sans-serif !important;
    font-size: 17px !important;
    line-height: 1.75 !important;
    overflow-wrap: anywhere;
}

/* Monthly cards: surface and line only; retain original size and layout. */
.elementor.elementor-160 [data-id="435a9eb9"],
.elementor.elementor-160 [data-id="6577416"],
.elementor.elementor-160 [data-id="6578ef1"],
.elementor.elementor-160 [data-id="dbbe215"],
.elementor.elementor-160 [data-id="e208508"],
.elementor.elementor-160 [data-id="60bc8ee"],
.elementor.elementor-160 [data-id="56d8fdf"],
.elementor.elementor-160 [data-id="67b6be3"],
.elementor.elementor-160 [data-id="caf5a36"],
.elementor.elementor-160 [data-id="87df4a6"],
.elementor.elementor-160 [data-id="9c87e83"],
.elementor.elementor-160 [data-id="89f6af3"],
.elementor.elementor-160 [data-id="ae10fe8"] {
    box-sizing: border-box;
    overflow: hidden;
    border: 1px solid var(--vds-edu-line) !important;
    border-top: 3px solid var(--vds-edu-primary) !important;
    border-radius: 12px !important;
    background: var(--vds-edu-surface) !important;
    box-shadow: 0 10px 28px rgba(22, 49, 48, .065);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.elementor.elementor-160 [data-id="435a9eb9"]:hover,
.elementor.elementor-160 [data-id="6577416"]:hover,
.elementor.elementor-160 [data-id="6578ef1"]:hover,
.elementor.elementor-160 [data-id="dbbe215"]:hover,
.elementor.elementor-160 [data-id="e208508"]:hover,
.elementor.elementor-160 [data-id="60bc8ee"]:hover,
.elementor.elementor-160 [data-id="56d8fdf"]:hover,
.elementor.elementor-160 [data-id="67b6be3"]:hover,
.elementor.elementor-160 [data-id="caf5a36"]:hover,
.elementor.elementor-160 [data-id="87df4a6"]:hover,
.elementor.elementor-160 [data-id="9c87e83"]:hover,
.elementor.elementor-160 [data-id="89f6af3"]:hover,
.elementor.elementor-160 [data-id="ae10fe8"]:hover {
    border-color: var(--vds-edu-primary) !important;
    box-shadow: 0 16px 34px rgba(0, 119, 115, .11);
    transform: translateY(-2px);
}

/* Blog link below the monthly cards. */
.elementor.elementor-160 [data-id="294163e8"] {
    padding: 32px 24px 0 !important;
}

.elementor.elementor-160 [data-id="294163e8"] > .e-con-inner {
    width: min(1200px, 100%) !important;
    max-width: 1200px !important;
}

.elementor.elementor-160 [data-id="c4e43b5"] {
    text-align: center !important;
}

.elementor.elementor-160 [data-id="c4e43b5"] .elementor-button,
.elementor.elementor-160 [data-id="32c8dbbe"] .elementor-button {
    min-height: 52px;
    padding: 14px 26px !important;
    border: 2px solid var(--vds-edu-primary) !important;
    border-radius: 999px !important;
    background: var(--vds-edu-primary) !important;
    color: #fff !important;
    font-family: "Noto Sans KR", sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    box-shadow: 0 9px 22px rgba(0, 119, 115, .15);
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.elementor.elementor-160 [data-id="c4e43b5"] .elementor-button:hover,
.elementor.elementor-160 [data-id="32c8dbbe"] .elementor-button:hover {
    background: #fff !important;
    color: var(--vds-edu-primary) !important;
    transform: translateY(-2px);
}

.elementor.elementor-160 [data-id="60f1e083"] {
    margin-top: 38px;
}

.elementor.elementor-160 [data-id="60f1e083"] .elementor-divider {
    padding: 0 !important;
}

.elementor.elementor-160 [data-id="60f1e083"] .elementor-divider-separator {
    width: 100% !important;
    border-block-start: 1px solid var(--vds-edu-line) !important;
}

/* Worldwide course schedule section. */
.elementor.elementor-160 [data-id="3abf27c2"] {
    padding: 42px 24px 22px !important;
}

.elementor.elementor-160 [data-id="3abf27c2"] > .e-con-inner {
    width: min(1200px, 100%) !important;
    max-width: 1200px !important;
}

.elementor.elementor-160 [data-id="6459b970"] {
    text-align: center;
}

.elementor.elementor-160 [data-id="6459b970"] .elementor-heading-title {
    margin: 0;
    color: var(--vds-edu-ink) !important;
    font-family: "Noto Serif KR", serif !important;
    font-size: clamp(25px, 3vw, 34px) !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    letter-spacing: -.035em !important;
    word-break: keep-all;
}

.elementor.elementor-160 [data-id="72471d4f"] {
    padding: 0 24px 72px !important;
}

.elementor.elementor-160 [data-id="72471d4f"] > .e-con-inner {
    display: grid !important;
    width: min(1200px, 100%) !important;
    max-width: 1200px !important;
    padding: 34px !important;
    grid-template-columns: minmax(230px, .7fr) minmax(0, 1.6fr);
    align-items: center;
    gap: 34px;
    border: 1px solid var(--vds-edu-line);
    border-radius: 16px;
    background: #f7faf9;
    box-shadow: 0 14px 36px rgba(22, 49, 48, .065);
}

.elementor.elementor-160 [data-id="32c8dbbe"] {
    text-align: center !important;
}

.elementor.elementor-160 [data-id="32c8dbbe"] .elementor-button {
    width: 100%;
    justify-content: center;
}

.elementor.elementor-160 [data-id="4dc3f04d"] {
    color: var(--vds-edu-muted) !important;
    font-family: "Noto Sans KR", sans-serif;
    font-size: 15px;
    line-height: 1.85;
}

.elementor.elementor-160 [data-id="4dc3f04d"] p {
    margin-block: 0 14px;
}

.elementor.elementor-160 [data-id="4dc3f04d"] ul {
    margin: 0 0 14px;
    padding-left: 22px;
}

.elementor.elementor-160 [data-id="4dc3f04d"] strong {
    color: var(--vds-edu-ink);
}

/* Prevent WordPress emoji images from inheriting content-image dimensions. */
.elementor.elementor-160 [data-id="4dc3f04d"] img.emoji {
    display: inline-block !important;
    width: 1.1em !important;
    min-width: 0 !important;
    max-width: 1.1em !important;
    height: 1.1em !important;
    min-height: 0 !important;
    max-height: 1.1em !important;
    margin: 0 .12em !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    object-fit: contain !important;
    vertical-align: -.14em !important;
}

@media (max-width: 767px) {
    .elementor.elementor-160 [data-id="6414f42f"] {
        padding: 26px 16px 12px !important;
    }

    .elementor.elementor-160 [data-id="2ca035ce"],
    .elementor.elementor-160 [data-id="49df34d"],
    .elementor.elementor-160 [data-id="349d8bec"] {
        padding-inline: 16px !important;
    }

    .elementor.elementor-160 [data-id="6414f42f"] > .e-con-inner {
        padding: 18px 0 !important;
    }

    .elementor.elementor-160 [data-id="116df3d1"] .elementor-heading-title {
        font-size: 28px !important;
    }

    .elementor.elementor-160 [data-id="49df34d"] > .e-con-inner {
        padding: 24px 20px 10px !important;
        border-radius: 12px 12px 0 0;
    }

    .elementor.elementor-160 [data-id="349d8bec"] > .e-con-inner {
        padding: 10px 20px 24px !important;
        border-radius: 0 0 12px 12px;
    }

    .elementor.elementor-160 [data-id="261c9f78"] .elementor-heading-title {
        font-size: 16px !important;
    }

    .elementor.elementor-160 [data-id="7857dd27"] > .elementor-widget-container {
        padding: 16px 18px;
    }

    .elementor.elementor-160 [data-id="7857dd27"] h5,
    .elementor.elementor-160 [data-id="7857dd27"] p {
        font-size: 15px !important;
    }

    .elementor.elementor-160 [data-id="294163e8"],
    .elementor.elementor-160 [data-id="3abf27c2"],
    .elementor.elementor-160 [data-id="72471d4f"] {
        padding-inline: 16px !important;
    }

    .elementor.elementor-160 [data-id="6459b970"] .elementor-heading-title {
        font-size: 24px !important;
    }

    .elementor.elementor-160 [data-id="72471d4f"] {
        padding-bottom: 44px !important;
    }

    .elementor.elementor-160 [data-id="72471d4f"] > .e-con-inner {
        padding: 24px 20px !important;
        grid-template-columns: minmax(0, 1fr);
        gap: 22px;
        border-radius: 12px;
    }

    .elementor.elementor-160 [data-id="4dc3f04d"] {
        font-size: 14px;
        line-height: 1.75;
    }
}

/* ==========================================================================
   EduSky Busan Schedule (Elementor 160)
   Uses the same UI while preserving EduSky's original monthly layout and dimensions.
   ========================================================================== */
.elementor.elementor-145 {
    --vds-edu-primary: #007773;
    --vds-edu-ink: #172326;
    --vds-edu-muted: #526064;
    --vds-edu-line: #d8e2e1;
    --vds-edu-surface: #ffffff;
}

/* Remove only empty source-template spacers. */
.elementor.elementor-145 [data-id="ed7199f"],
.elementor.elementor-145 [data-id="13b79577"] {
    display: none !important;
}

/* Full-width title section without a card surface. */
.elementor.elementor-145 [data-id="7ff5b2c0"] {
    padding: 48px 24px 18px !important;
}

.elementor.elementor-145 [data-id="7ff5b2c0"] > .e-con-inner {
    width: min(1200px, 100%) !important;
    max-width: 1200px !important;
    padding: 24px 0 !important;
}

.elementor.elementor-145 [data-id="e6b5779"] {
    text-align: center;
}

.elementor.elementor-145 [data-id="e6b5779"] .elementor-heading-title {
    margin: 0;
    color: var(--vds-edu-ink) !important;
    font-family: "Noto Serif KR", serif !important;
    font-size: clamp(30px, 4vw, 48px) !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: -.04em !important;
    word-break: keep-all;
}

/* Accent line. */
.elementor.elementor-145 [data-id="20c4f54c"] {
    padding: 0 24px !important;
}

.elementor.elementor-145 [data-id="20c4f54c"] > .e-con-inner {
    width: min(1200px, 100%) !important;
    max-width: 1200px !important;
}

.elementor.elementor-145 [data-id="53251919"] {
    width: 72px;
    margin: 6px auto 18px;
}

.elementor.elementor-145 [data-id="53251919"] .elementor-divider {
    padding: 0 !important;
}

.elementor.elementor-145 [data-id="53251919"] .elementor-divider-separator {
    width: 72px !important;
    border-block-start: 3px solid var(--vds-edu-primary) !important;
}

/* Description and contact form one full-width information card. */
.elementor.elementor-145 [data-id="38c41d96"],
.elementor.elementor-145 [data-id="50a46415"] {
    padding-inline: 24px !important;
}

.elementor.elementor-145 [data-id="38c41d96"] > .e-con-inner,
.elementor.elementor-145 [data-id="50a46415"] > .e-con-inner {
    width: min(1200px, 100%) !important;
    max-width: 1200px !important;
    background: var(--vds-edu-surface);
}

.elementor.elementor-145 [data-id="38c41d96"] > .e-con-inner {
    padding: 30px 38px 12px !important;
    border: 1px solid var(--vds-edu-line);
    border-bottom: 0;
    border-radius: 16px 16px 0 0;
}

.elementor.elementor-145 [data-id="50a46415"] > .e-con-inner {
    padding: 12px 38px 30px !important;
    border: 1px solid var(--vds-edu-line);
    border-top: 0;
    border-radius: 0 0 16px 16px;
    box-shadow: 0 14px 38px rgba(22, 49, 48, .07);
}

.elementor.elementor-145 [data-id="320bd0e5"] {
    text-align: center;
}

.elementor.elementor-145 [data-id="320bd0e5"] .elementor-heading-title {
    margin: 0;
    color: var(--vds-edu-muted) !important;
    font-family: "Noto Sans KR", sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.7 !important;
    word-break: keep-all;
}

.elementor.elementor-145 [data-id="1e3839b9"] > .elementor-widget-container {
    width: 100%;
    padding: 20px 26px;
    border-left: 4px solid var(--vds-edu-primary);
    border-radius: 9px;
    background: #f3f8f7;
}

.elementor.elementor-145 [data-id="1e3839b9"] h5,
.elementor.elementor-145 [data-id="1e3839b9"] p {
    margin: 0;
    color: var(--vds-edu-ink) !important;
    font-family: "Noto Sans KR", sans-serif !important;
    font-size: 17px !important;
    line-height: 1.75 !important;
    overflow-wrap: anywhere;
}

/* Monthly cards: surface and line only; retain original size and layout. */
.elementor.elementor-145 [data-id="30f21698"],
.elementor.elementor-145 [data-id="73030a5e"],
.elementor.elementor-145 [data-id="7dc60d3"],
.elementor.elementor-145 [data-id="3137ca5"],
.elementor.elementor-145 [data-id="2dfcd3a"],
.elementor.elementor-145 [data-id="817ec3d"],
.elementor.elementor-145 [data-id="d50d422"],
.elementor.elementor-145 [data-id="020cf15"],
.elementor.elementor-145 [data-id="d999bb3"],
.elementor.elementor-145 [data-id="d999bb3"],
.elementor.elementor-145 [data-id="d999bb3"],
.elementor.elementor-145 [data-id="d999bb3"],
.elementor.elementor-145 [data-id="d999bb3"] {
    box-sizing: border-box;
    overflow: hidden;
    border: 1px solid var(--vds-edu-line) !important;
    border-top: 3px solid var(--vds-edu-primary) !important;
    border-radius: 12px !important;
    background: var(--vds-edu-surface) !important;
    box-shadow: 0 10px 28px rgba(22, 49, 48, .065);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.elementor.elementor-145 [data-id="30f21698"]:hover,
.elementor.elementor-145 [data-id="73030a5e"]:hover,
.elementor.elementor-145 [data-id="7dc60d3"]:hover,
.elementor.elementor-145 [data-id="3137ca5"]:hover,
.elementor.elementor-145 [data-id="2dfcd3a"]:hover,
.elementor.elementor-145 [data-id="817ec3d"]:hover,
.elementor.elementor-145 [data-id="d50d422"]:hover,
.elementor.elementor-145 [data-id="020cf15"]:hover,
.elementor.elementor-145 [data-id="d999bb3"]:hover,
.elementor.elementor-145 [data-id="d999bb3"]:hover,
.elementor.elementor-145 [data-id="d999bb3"]:hover,
.elementor.elementor-145 [data-id="d999bb3"]:hover,
.elementor.elementor-145 [data-id="d999bb3"]:hover {
    border-color: var(--vds-edu-primary) !important;
    box-shadow: 0 16px 34px rgba(0, 119, 115, .11);
    transform: translateY(-2px);
}

/* Blog link below the monthly cards. */
.elementor.elementor-145 [data-id="6c983637"] {
    padding: 32px 24px 0 !important;
}

.elementor.elementor-145 [data-id="6c983637"] > .e-con-inner {
    width: min(1200px, 100%) !important;
    max-width: 1200px !important;
}

.elementor.elementor-145 [data-id="c63072a"] {
    text-align: center !important;
}

.elementor.elementor-145 [data-id="c63072a"] .elementor-button,
.elementor.elementor-145 [data-id="2dc377c"] .elementor-button {
    min-height: 52px;
    padding: 14px 26px !important;
    border: 2px solid var(--vds-edu-primary) !important;
    border-radius: 999px !important;
    background: var(--vds-edu-primary) !important;
    color: #fff !important;
    font-family: "Noto Sans KR", sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    box-shadow: 0 9px 22px rgba(0, 119, 115, .15);
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.elementor.elementor-145 [data-id="c63072a"] .elementor-button:hover,
.elementor.elementor-145 [data-id="2dc377c"] .elementor-button:hover {
    background: #fff !important;
    color: var(--vds-edu-primary) !important;
    transform: translateY(-2px);
}

.elementor.elementor-145 [data-id="4cdd93c6"] {
    margin-top: 38px;
}

.elementor.elementor-145 [data-id="4cdd93c6"] .elementor-divider {
    padding: 0 !important;
}

.elementor.elementor-145 [data-id="4cdd93c6"] .elementor-divider-separator {
    width: 100% !important;
    border-block-start: 1px solid var(--vds-edu-line) !important;
}

/* Worldwide course schedule section. */
.elementor.elementor-145 [data-id="3bc6a961"] {
    padding: 42px 24px 22px !important;
}

.elementor.elementor-145 [data-id="3bc6a961"] > .e-con-inner {
    width: min(1200px, 100%) !important;
    max-width: 1200px !important;
}

.elementor.elementor-145 [data-id="5de1c079"] {
    text-align: center;
}

.elementor.elementor-145 [data-id="5de1c079"] .elementor-heading-title {
    margin: 0;
    color: var(--vds-edu-ink) !important;
    font-family: "Noto Serif KR", serif !important;
    font-size: clamp(25px, 3vw, 34px) !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    letter-spacing: -.035em !important;
    word-break: keep-all;
}

.elementor.elementor-145 [data-id="2a3c0292"] {
    padding: 0 24px 72px !important;
}

.elementor.elementor-145 [data-id="2a3c0292"] > .e-con-inner {
    display: grid !important;
    width: min(1200px, 100%) !important;
    max-width: 1200px !important;
    padding: 34px !important;
    grid-template-columns: minmax(230px, .7fr) minmax(0, 1.6fr);
    align-items: center;
    gap: 34px;
    border: 1px solid var(--vds-edu-line);
    border-radius: 16px;
    background: #f7faf9;
    box-shadow: 0 14px 36px rgba(22, 49, 48, .065);
}

.elementor.elementor-145 [data-id="2dc377c"] {
    text-align: center !important;
}

.elementor.elementor-145 [data-id="2dc377c"] .elementor-button {
    width: 100%;
    justify-content: center;
}

.elementor.elementor-145 [data-id="48f9f2d3"] {
    color: var(--vds-edu-muted) !important;
    font-family: "Noto Sans KR", sans-serif;
    font-size: 15px;
    line-height: 1.85;
}

.elementor.elementor-145 [data-id="48f9f2d3"] p {
    margin-block: 0 14px;
}

.elementor.elementor-145 [data-id="48f9f2d3"] ul {
    margin: 0 0 14px;
    padding-left: 22px;
}

.elementor.elementor-145 [data-id="48f9f2d3"] strong {
    color: var(--vds-edu-ink);
}

/* Prevent WordPress emoji images from inheriting content-image dimensions. */
.elementor.elementor-145 [data-id="48f9f2d3"] img.emoji {
    display: inline-block !important;
    width: 1.1em !important;
    min-width: 0 !important;
    max-width: 1.1em !important;
    height: 1.1em !important;
    min-height: 0 !important;
    max-height: 1.1em !important;
    margin: 0 .12em !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    object-fit: contain !important;
    vertical-align: -.14em !important;
}

@media (max-width: 767px) {
    .elementor.elementor-145 [data-id="7ff5b2c0"] {
        padding: 26px 16px 12px !important;
    }

    .elementor.elementor-145 [data-id="20c4f54c"],
    .elementor.elementor-145 [data-id="38c41d96"],
    .elementor.elementor-145 [data-id="50a46415"] {
        padding-inline: 16px !important;
    }

    .elementor.elementor-145 [data-id="7ff5b2c0"] > .e-con-inner {
        padding: 18px 0 !important;
    }

    .elementor.elementor-145 [data-id="e6b5779"] .elementor-heading-title {
        font-size: 28px !important;
    }

    .elementor.elementor-145 [data-id="38c41d96"] > .e-con-inner {
        padding: 24px 20px 10px !important;
        border-radius: 12px 12px 0 0;
    }

    .elementor.elementor-145 [data-id="50a46415"] > .e-con-inner {
        padding: 10px 20px 24px !important;
        border-radius: 0 0 12px 12px;
    }

    .elementor.elementor-145 [data-id="320bd0e5"] .elementor-heading-title {
        font-size: 16px !important;
    }

    .elementor.elementor-145 [data-id="1e3839b9"] > .elementor-widget-container {
        padding: 16px 18px;
    }

    .elementor.elementor-145 [data-id="1e3839b9"] h5,
    .elementor.elementor-145 [data-id="1e3839b9"] p {
        font-size: 15px !important;
    }

    .elementor.elementor-145 [data-id="6c983637"],
    .elementor.elementor-145 [data-id="3bc6a961"],
    .elementor.elementor-145 [data-id="2a3c0292"] {
        padding-inline: 16px !important;
    }

    .elementor.elementor-145 [data-id="5de1c079"] .elementor-heading-title {
        font-size: 24px !important;
    }

    .elementor.elementor-145 [data-id="2a3c0292"] {
        padding-bottom: 44px !important;
    }

    .elementor.elementor-145 [data-id="2a3c0292"] > .e-con-inner {
        padding: 24px 20px !important;
        grid-template-columns: minmax(0, 1fr);
        gap: 22px;
        border-radius: 12px;
    }

    .elementor.elementor-145 [data-id="48f9f2d3"] {
        font-size: 14px;
        line-height: 1.75;
    }
}
