.elementor-71942 .elementor-element.elementor-element-ed0b735{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-71942 .elementor-element.elementor-element-82deeec{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-71942 .elementor-element.elementor-element-a2ba93b{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-widget-nested-tabs.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-71942 .elementor-element.elementor-element-ab05cbb{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-71942 .elementor-element.elementor-element-a272e11{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-71942 .elementor-element.elementor-element-5ce451c > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-71942 .elementor-element.elementor-element-d756d3b{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-71942 .elementor-element.elementor-element-80e27da{--n-tabs-heading-justify-content:initial;--n-tabs-title-width:100%;--n-tabs-title-height:initial;--n-tabs-title-align-items:center;--n-tabs-title-flex-grow:1;--n-tabs-heading-wrap:wrap;--n-tabs-heading-overflow-x:initial;--n-tabs-title-white-space:initial;width:100%;max-width:100%;--n-tabs-title-gap:0px;--n-tabs-title-transition:0.3s;--n-tabs-title-color:#000000;--n-tabs-title-color-active:#030303;}.elementor-71942 .elementor-element.elementor-element-80e27da > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected='false']:not( :hover ){background:#FFFFFF;}.elementor-71942 .elementor-element.elementor-element-80e27da.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:#3987F7;border-style:none;}.elementor-71942 .elementor-element.elementor-element-80e27da.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-71942 .elementor-element.elementor-element-80e27da.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:#FFFFFF;border-style:solid;border-width:0px 0px 3px 0px;border-color:#FC5050;}.elementor-71942 .elementor-element.elementor-element-80e27da > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;border-style:none;border-radius:0px 0px 0px 0px;}.elementor-71942 .elementor-element.elementor-element-80e27da.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-71942 .elementor-element.elementor-element-80e27da.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:not( :hover ){border-style:solid;border-width:0px 0px 1px 0px;border-color:#E6E6E6;}.elementor-71942 .elementor-element.elementor-element-80e27da.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:not( :hover ) :is( span, a, i ){-webkit-text-stroke-width:0px;stroke-width:0px;-webkit-text-stroke-color:#000;stroke:#000;}.elementor-71942 .elementor-element.elementor-element-80e27da [data-touch-mode="false"] .e-n-tab-title[aria-selected="false"]:hover{--n-tabs-title-color-hover:#FFFFFF;}:where( .elementor-71942 .elementor-element.elementor-element-80e27da.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-content ) > .e-con{border-style:none;}.elementor-71942 .elementor-element.elementor-element-5c4e4c6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-71942 .elementor-element.elementor-element-62579d6{--display:flex;}@media(max-width:1024px){.elementor-71942 .elementor-element.elementor-element-a2ba93b{--grid-auto-flow:row;}}@media(min-width:768px){.elementor-71942 .elementor-element.elementor-element-82deeec{--width:60%;}.elementor-71942 .elementor-element.elementor-element-5c4e4c6{--width:40%;}}@media(max-width:767px){.elementor-71942 .elementor-element.elementor-element-a2ba93b{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-71942 .elementor-element.elementor-element-80e27da{z-index:0;--n-tabs-title-padding-top:5px;--n-tabs-title-padding-right:5px;--n-tabs-title-padding-bottom:5px;--n-tabs-title-padding-left:5px;}}/* Start custom CSS for html, class: .elementor-element-5ce451c *//* Container for the whole curriculum block */
.curriculum-container {
    max-width: 100%;
    margin: 10px auto;
    background-color: #ffffff;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    padding: 25px 30px;
}

.curriculum-container h2 {
    font-size: 1.8em;
    margin-bottom: 10px;
    color: #212529;
    /* border-bottom: 1px solid #eee; */ /* Removed border here, nav has one */
    padding-bottom: 0; /* Reset padding */
}

.curriculum-meta {
    font-size: 0.9em;
    color: #007bff; /* 파란색으로 변경 */
    margin-bottom: 25px;
    text-align: right; /* Position like the image */
    font-weight: 600; /* 약간 굵게 */
}
.curriculum-meta span + span {
    margin-left: 10px;
}


/* Accordion Styles */
.curriculum-accordion {
    border-top: 1px solid #eee; /* Separator from header/meta */
}

.accordion-item {
    border-bottom: 1px solid #e9ecef; /* Separator between items */
    margin-bottom: 0; /* Remove default margin */
}

.accordion-item:last-child {
    border-bottom: none;
}

/* Accordion Header (Summary Tag) */
.accordion-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 10px;
    cursor: pointer;
    font-weight: 600;
    color: #343a40;
    list-style: none; /* Remove default marker */
    transition: background-color 0.2s ease-in-out;
    position: relative;
    font-size: 1.05em;
}

/* Remove default arrow in Webkit browsers */
.accordion-header::-webkit-details-marker {
    display: none;
}

.accordion-header:hover {
    background-color: #f8f9fa; /* Subtle hover */
}

/* Style for the Free/Paid/Review Type Badge */
.section-type {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 0.75em;
    font-weight: bold;
    margin-right: 10px;
    color: #fff;
    text-transform: uppercase;
    vertical-align: middle; /* Align better with text */
}

.section-type.free {
    background-color: #28a745; /* Green for Free */
}

.section-type.paid {
    background-color: #007bff; /* Blue for Paid */
}

.section-type.free-review,
.section-type.paid-review {
    background-color: #ffc107; /* Orange/Yellow for Review */
    color: #333;
}


/* Accordion Icon (+/-) */
.accordion-icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    position: relative;
    margin-left: 15px;
    color: #6c757d;
    flex-shrink: 0; /* Prevent icon from shrinking */
}

.accordion-icon::before,
.accordion-icon::after {
    content: '';
    position: absolute;
    background-color: currentColor;
    transition: transform 0.25s ease-out;
}

/* Horizontal line */
.accordion-icon::before {
    top: 50%;
    left: 15%; /* Adjust position */
    width: 70%;
    height: 2px;
    margin-top: -1px;
}

/* Vertical line (forms '+') */
.accordion-icon::after {
    top: 15%;
    left: 50%;
    width: 2px;
    height: 70%;
    margin-left: -1px;
}

/* Rotate vertical line to form '-' when open */
details[open] > summary .accordion-icon::after {
    transform: rotate(90deg);
}


/* Accordion Content Area */
.accordion-content {
    padding: 15px 15px 20px 15px; /* Add padding */
    background-color: #ffffff;
    border-top: 1px dashed #eee; /* Subtle separator from header */
}

.accordion-content ul {
    list-style: none; /* Remove default bullets */
    padding-left: 0px; /* Indent list slightly */
}

.accordion-content li {
    margin-bottom: 8px;
    font-size: 0.95em;
}

.accordion-content li a {
    color: #0056b3;
    text-decoration: none;
    transition: color 0.2s ease;
}
.accordion-content li a:hover {
    color: #003d80;
    text-decoration: underline;
}

.accordion-content p { /* Style for the notice text */
    font-style: italic;
    color: #6c757d;
    margin-bottom: 10px;
    font-size: 0.9em;
    padding-left: 15px;
}

.curriculum-main-nav {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 20px;
}
.curriculum-main-nav button {
    padding: 8px 18px;
    border: none;
    background: #e9ecef;
    color: #495057;
    border-radius: 5px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}
.curriculum-main-nav button.active,
.curriculum-main-nav button:hover {
    background: #007bff;
    color: #fff;
}

/*유료 부분 CSS*/
.paid-section .accordion-content ul li {
  padding: 12px 15px;                /* 넉넉한 패딩 */
  margin-bottom: 15px;               /* 항목 간 간격 증가 */
  background: linear-gradient(145deg, #ffffff, #f0f0f0); /* 그라데이션 배경 */
  border-radius: 8px;                /* 둥근 모서리 */
  border: none;                      /* 기본 테두리 제거 */
  box-shadow: 5px 5px 10px #d9d9d9, 
             -5px -5px 10px #ffffff; /* 뉴모피즘 스타일 그림자 */
  list-style-type: none;             /* 기본 글머리 기호 제거 */
  position: relative;                /* 포지셔닝 설정 */
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); /* 부드러운 전환 효과 */
  line-height: 1.6;                  /* 행간 조정 */
  font-weight: 500;                  /* 약간 더 굵은 글꼴 */
}

.paid-section .accordion-content ul li:before {
  content: '';
  position: absolute;
  left: -5px;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  background-color: #4a90e2;        /* 강조색 */
  border-radius: 50%;               /* 원형 글머리 기호 */
  box-shadow: 0 0 8px rgba(74, 144, 226, 0.6); /* 글로우 효과 */
}

.paid-section .accordion-content ul li:hover {
  transform: translateY(-3px);      /* 호버 시 위로 살짝 이동 */
  box-shadow: 8px 8px 15px #d1d1d1, 
             -8px -8px 15px #ffffff; /* 호버 시 그림자 강화 */
}

.paid-section .accordion-content ul {
  padding-left: 0px;               /* 리스트 들여쓰기 */
  margin-top: 20px;                 /* 리스트 상단 여백 */
}

/* Style for difficulty tags */
.section-difficulty {
    display: inline-block;
    padding: 2px 8px;
    margin-left: 5px; /* Add margin to separate from type tag */
    margin-right: 8px; /* Add margin to separate from title */
    border-radius: 4px;
    font-size: 0.8em;
    font-weight: bold;
    color: white;
    vertical-align: middle; /* Align with text */
}
.section-difficulty.기초 { background-color: #4CAF50; } /* Green */
.section-difficulty.중급 { background-color: #2196F3; } /* Blue */
.section-difficulty.고급 { background-color: #f44336; } /* Red */

/* Style for the recommendation section */
.recommendation-section {
    margin-top: 30px;
    padding: 20px;
    border: 1px solid #eee;
    border-radius: 8px;
    text-align: center;
    background-color: #f9f9f9;
}
.recommendation-section h3 {
    margin-top: 0;
    font-size: 1.2em;
    color: #333;
}
.recommendation-section p {
    color: #555;
    margin-bottom: 10px;
}
.recommendation-section small {
    display: block;
    color: #777;
    margin-bottom: 15px;
}
.recommendation-section .cta-button {
    display: inline-block;
    padding: 10px 20px;
    background-color: #007bff;
    color: white;
    text-decoration: none;
    border-radius: 5px;
    font-weight: bold;
    transition: background-color 0.3s ease;
}
.recommendation-section .cta-button:hover {
    background-color: #0056b3;
}

.highlight-notice {
  background: linear-gradient(to right, #ffeb3b40, #ff980040);
  padding: 10px 15px;
  border-left: 3px solid #ff9800;
  border-radius: 4px;
  font-weight: bold;
  color: #d32f2f;
  margin: 15px 0;
  animation: pulse 1.5s infinite;
  display: inline-block;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
  font-size: 0.85em;
}

@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.03);
  }
  100% {
    transform: scale(1);
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-5ce451c *//* Container for the whole curriculum block */
.curriculum-container {
    max-width: 100%;
    margin: 10px auto;
    background-color: #ffffff;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    padding: 25px 30px;
}

.curriculum-container h2 {
    font-size: 1.8em;
    margin-bottom: 10px;
    color: #212529;
    /* border-bottom: 1px solid #eee; */ /* Removed border here, nav has one */
    padding-bottom: 0; /* Reset padding */
}

.curriculum-meta {
    font-size: 0.9em;
    color: #007bff; /* 파란색으로 변경 */
    margin-bottom: 25px;
    text-align: right; /* Position like the image */
    font-weight: 600; /* 약간 굵게 */
}
.curriculum-meta span + span {
    margin-left: 10px;
}


/* Accordion Styles */
.curriculum-accordion {
    border-top: 1px solid #eee; /* Separator from header/meta */
}

.accordion-item {
    border-bottom: 1px solid #e9ecef; /* Separator between items */
    margin-bottom: 0; /* Remove default margin */
}

.accordion-item:last-child {
    border-bottom: none;
}

/* Accordion Header (Summary Tag) */
.accordion-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 10px;
    cursor: pointer;
    font-weight: 600;
    color: #343a40;
    list-style: none; /* Remove default marker */
    transition: background-color 0.2s ease-in-out;
    position: relative;
    font-size: 1.05em;
}

/* Remove default arrow in Webkit browsers */
.accordion-header::-webkit-details-marker {
    display: none;
}

.accordion-header:hover {
    background-color: #f8f9fa; /* Subtle hover */
}

/* Style for the Free/Paid/Review Type Badge */
.section-type {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 0.75em;
    font-weight: bold;
    margin-right: 10px;
    color: #fff;
    text-transform: uppercase;
    vertical-align: middle; /* Align better with text */
}

.section-type.free {
    background-color: #28a745; /* Green for Free */
}

.section-type.paid {
    background-color: #007bff; /* Blue for Paid */
}

.section-type.free-review,
.section-type.paid-review {
    background-color: #ffc107; /* Orange/Yellow for Review */
    color: #333;
}


/* Accordion Icon (+/-) */
.accordion-icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    position: relative;
    margin-left: 15px;
    color: #6c757d;
    flex-shrink: 0; /* Prevent icon from shrinking */
}

.accordion-icon::before,
.accordion-icon::after {
    content: '';
    position: absolute;
    background-color: currentColor;
    transition: transform 0.25s ease-out;
}

/* Horizontal line */
.accordion-icon::before {
    top: 50%;
    left: 15%; /* Adjust position */
    width: 70%;
    height: 2px;
    margin-top: -1px;
}

/* Vertical line (forms '+') */
.accordion-icon::after {
    top: 15%;
    left: 50%;
    width: 2px;
    height: 70%;
    margin-left: -1px;
}

/* Rotate vertical line to form '-' when open */
details[open] > summary .accordion-icon::after {
    transform: rotate(90deg);
}


/* Accordion Content Area */
.accordion-content {
    padding: 15px 15px 20px 15px; /* Add padding */
    background-color: #ffffff;
    border-top: 1px dashed #eee; /* Subtle separator from header */
}

.accordion-content ul {
    list-style: none; /* Remove default bullets */
    padding-left: 0px; /* Indent list slightly */
}

.accordion-content li {
    margin-bottom: 8px;
    font-size: 0.95em;
}

.accordion-content li a {
    color: #0056b3;
    text-decoration: none;
    transition: color 0.2s ease;
}
.accordion-content li a:hover {
    color: #003d80;
    text-decoration: underline;
}

.accordion-content p { /* Style for the notice text */
    font-style: italic;
    color: #6c757d;
    margin-bottom: 10px;
    font-size: 0.9em;
    padding-left: 15px;
}

.curriculum-main-nav {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 20px;
}
.curriculum-main-nav button {
    padding: 8px 18px;
    border: none;
    background: #e9ecef;
    color: #495057;
    border-radius: 5px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}
.curriculum-main-nav button.active,
.curriculum-main-nav button:hover {
    background: #007bff;
    color: #fff;
}

/*유료 부분 CSS*/
.paid-section .accordion-content ul li {
  padding: 12px 15px;                /* 넉넉한 패딩 */
  margin-bottom: 15px;               /* 항목 간 간격 증가 */
  background: linear-gradient(145deg, #ffffff, #f0f0f0); /* 그라데이션 배경 */
  border-radius: 8px;                /* 둥근 모서리 */
  border: none;                      /* 기본 테두리 제거 */
  box-shadow: 5px 5px 10px #d9d9d9, 
             -5px -5px 10px #ffffff; /* 뉴모피즘 스타일 그림자 */
  list-style-type: none;             /* 기본 글머리 기호 제거 */
  position: relative;                /* 포지셔닝 설정 */
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); /* 부드러운 전환 효과 */
  line-height: 1.6;                  /* 행간 조정 */
  font-weight: 500;                  /* 약간 더 굵은 글꼴 */
}

.paid-section .accordion-content ul li:before {
  content: '';
  position: absolute;
  left: -5px;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  background-color: #4a90e2;        /* 강조색 */
  border-radius: 50%;               /* 원형 글머리 기호 */
  box-shadow: 0 0 8px rgba(74, 144, 226, 0.6); /* 글로우 효과 */
}

.paid-section .accordion-content ul li:hover {
  transform: translateY(-3px);      /* 호버 시 위로 살짝 이동 */
  box-shadow: 8px 8px 15px #d1d1d1, 
             -8px -8px 15px #ffffff; /* 호버 시 그림자 강화 */
}

.paid-section .accordion-content ul {
  padding-left: 0px;               /* 리스트 들여쓰기 */
  margin-top: 20px;                 /* 리스트 상단 여백 */
}

/* Style for difficulty tags */
.section-difficulty {
    display: inline-block;
    padding: 2px 8px;
    margin-left: 5px; /* Add margin to separate from type tag */
    margin-right: 8px; /* Add margin to separate from title */
    border-radius: 4px;
    font-size: 0.8em;
    font-weight: bold;
    color: white;
    vertical-align: middle; /* Align with text */
}
.section-difficulty.기초 { background-color: #4CAF50; } /* Green */
.section-difficulty.중급 { background-color: #2196F3; } /* Blue */
.section-difficulty.고급 { background-color: #f44336; } /* Red */

/* Style for the recommendation section */
.recommendation-section {
    margin-top: 30px;
    padding: 20px;
    border: 1px solid #eee;
    border-radius: 8px;
    text-align: center;
    background-color: #f9f9f9;
}
.recommendation-section h3 {
    margin-top: 0;
    font-size: 1.2em;
    color: #333;
}
.recommendation-section p {
    color: #555;
    margin-bottom: 10px;
}
.recommendation-section small {
    display: block;
    color: #777;
    margin-bottom: 15px;
}
.recommendation-section .cta-button {
    display: inline-block;
    padding: 10px 20px;
    background-color: #007bff;
    color: white;
    text-decoration: none;
    border-radius: 5px;
    font-weight: bold;
    transition: background-color 0.3s ease;
}
.recommendation-section .cta-button:hover {
    background-color: #0056b3;
}

.highlight-notice {
  background: linear-gradient(to right, #ffeb3b40, #ff980040);
  padding: 10px 15px;
  border-left: 3px solid #ff9800;
  border-radius: 4px;
  font-weight: bold;
  color: #d32f2f;
  margin: 15px 0;
  animation: pulse 1.5s infinite;
  display: inline-block;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
  font-size: 0.85em;
}

@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.03);
  }
  100% {
    transform: scale(1);
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-5ce451c *//* Container for the whole curriculum block */
.curriculum-container {
    max-width: 100%;
    margin: 10px auto;
    background-color: #ffffff;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    padding: 25px 30px;
}

.curriculum-container h2 {
    font-size: 1.8em;
    margin-bottom: 10px;
    color: #212529;
    /* border-bottom: 1px solid #eee; */ /* Removed border here, nav has one */
    padding-bottom: 0; /* Reset padding */
}

.curriculum-meta {
    font-size: 0.9em;
    color: #007bff; /* 파란색으로 변경 */
    margin-bottom: 25px;
    text-align: right; /* Position like the image */
    font-weight: 600; /* 약간 굵게 */
}
.curriculum-meta span + span {
    margin-left: 10px;
}


/* Accordion Styles */
.curriculum-accordion {
    border-top: 1px solid #eee; /* Separator from header/meta */
}

.accordion-item {
    border-bottom: 1px solid #e9ecef; /* Separator between items */
    margin-bottom: 0; /* Remove default margin */
}

.accordion-item:last-child {
    border-bottom: none;
}

/* Accordion Header (Summary Tag) */
.accordion-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 10px;
    cursor: pointer;
    font-weight: 600;
    color: #343a40;
    list-style: none; /* Remove default marker */
    transition: background-color 0.2s ease-in-out;
    position: relative;
    font-size: 1.05em;
}

/* Remove default arrow in Webkit browsers */
.accordion-header::-webkit-details-marker {
    display: none;
}

.accordion-header:hover {
    background-color: #f8f9fa; /* Subtle hover */
}

/* Style for the Free/Paid/Review Type Badge */
.section-type {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 0.75em;
    font-weight: bold;
    margin-right: 10px;
    color: #fff;
    text-transform: uppercase;
    vertical-align: middle; /* Align better with text */
}

.section-type.free {
    background-color: #28a745; /* Green for Free */
}

.section-type.paid {
    background-color: #007bff; /* Blue for Paid */
}

.section-type.free-review,
.section-type.paid-review {
    background-color: #ffc107; /* Orange/Yellow for Review */
    color: #333;
}


/* Accordion Icon (+/-) */
.accordion-icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    position: relative;
    margin-left: 15px;
    color: #6c757d;
    flex-shrink: 0; /* Prevent icon from shrinking */
}

.accordion-icon::before,
.accordion-icon::after {
    content: '';
    position: absolute;
    background-color: currentColor;
    transition: transform 0.25s ease-out;
}

/* Horizontal line */
.accordion-icon::before {
    top: 50%;
    left: 15%; /* Adjust position */
    width: 70%;
    height: 2px;
    margin-top: -1px;
}

/* Vertical line (forms '+') */
.accordion-icon::after {
    top: 15%;
    left: 50%;
    width: 2px;
    height: 70%;
    margin-left: -1px;
}

/* Rotate vertical line to form '-' when open */
details[open] > summary .accordion-icon::after {
    transform: rotate(90deg);
}


/* Accordion Content Area */
.accordion-content {
    padding: 15px 15px 20px 15px; /* Add padding */
    background-color: #ffffff;
    border-top: 1px dashed #eee; /* Subtle separator from header */
}

.accordion-content ul {
    list-style: none; /* Remove default bullets */
    padding-left: 0px; /* Indent list slightly */
}

.accordion-content li {
    margin-bottom: 8px;
    font-size: 0.95em;
}

.accordion-content li a {
    color: #0056b3;
    text-decoration: none;
    transition: color 0.2s ease;
}
.accordion-content li a:hover {
    color: #003d80;
    text-decoration: underline;
}

.accordion-content p { /* Style for the notice text */
    font-style: italic;
    color: #6c757d;
    margin-bottom: 10px;
    font-size: 0.9em;
    padding-left: 15px;
}

.curriculum-main-nav {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 20px;
}
.curriculum-main-nav button {
    padding: 8px 18px;
    border: none;
    background: #e9ecef;
    color: #495057;
    border-radius: 5px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}
.curriculum-main-nav button.active,
.curriculum-main-nav button:hover {
    background: #007bff;
    color: #fff;
}

/*유료 부분 CSS*/
.paid-section .accordion-content ul li {
  padding: 12px 15px;                /* 넉넉한 패딩 */
  margin-bottom: 15px;               /* 항목 간 간격 증가 */
  background: linear-gradient(145deg, #ffffff, #f0f0f0); /* 그라데이션 배경 */
  border-radius: 8px;                /* 둥근 모서리 */
  border: none;                      /* 기본 테두리 제거 */
  box-shadow: 5px 5px 10px #d9d9d9, 
             -5px -5px 10px #ffffff; /* 뉴모피즘 스타일 그림자 */
  list-style-type: none;             /* 기본 글머리 기호 제거 */
  position: relative;                /* 포지셔닝 설정 */
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); /* 부드러운 전환 효과 */
  line-height: 1.6;                  /* 행간 조정 */
  font-weight: 500;                  /* 약간 더 굵은 글꼴 */
}

.paid-section .accordion-content ul li:before {
  content: '';
  position: absolute;
  left: -5px;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  background-color: #4a90e2;        /* 강조색 */
  border-radius: 50%;               /* 원형 글머리 기호 */
  box-shadow: 0 0 8px rgba(74, 144, 226, 0.6); /* 글로우 효과 */
}

.paid-section .accordion-content ul li:hover {
  transform: translateY(-3px);      /* 호버 시 위로 살짝 이동 */
  box-shadow: 8px 8px 15px #d1d1d1, 
             -8px -8px 15px #ffffff; /* 호버 시 그림자 강화 */
}

.paid-section .accordion-content ul {
  padding-left: 0px;               /* 리스트 들여쓰기 */
  margin-top: 20px;                 /* 리스트 상단 여백 */
}

/* Style for difficulty tags */
.section-difficulty {
    display: inline-block;
    padding: 2px 8px;
    margin-left: 5px; /* Add margin to separate from type tag */
    margin-right: 8px; /* Add margin to separate from title */
    border-radius: 4px;
    font-size: 0.8em;
    font-weight: bold;
    color: white;
    vertical-align: middle; /* Align with text */
}
.section-difficulty.기초 { background-color: #4CAF50; } /* Green */
.section-difficulty.중급 { background-color: #2196F3; } /* Blue */
.section-difficulty.고급 { background-color: #f44336; } /* Red */

/* Style for the recommendation section */
.recommendation-section {
    margin-top: 30px;
    padding: 20px;
    border: 1px solid #eee;
    border-radius: 8px;
    text-align: center;
    background-color: #f9f9f9;
}
.recommendation-section h3 {
    margin-top: 0;
    font-size: 1.2em;
    color: #333;
}
.recommendation-section p {
    color: #555;
    margin-bottom: 10px;
}
.recommendation-section small {
    display: block;
    color: #777;
    margin-bottom: 15px;
}
.recommendation-section .cta-button {
    display: inline-block;
    padding: 10px 20px;
    background-color: #007bff;
    color: white;
    text-decoration: none;
    border-radius: 5px;
    font-weight: bold;
    transition: background-color 0.3s ease;
}
.recommendation-section .cta-button:hover {
    background-color: #0056b3;
}

.highlight-notice {
  background: linear-gradient(to right, #ffeb3b40, #ff980040);
  padding: 10px 15px;
  border-left: 3px solid #ff9800;
  border-radius: 4px;
  font-weight: bold;
  color: #d32f2f;
  margin: 15px 0;
  animation: pulse 1.5s infinite;
  display: inline-block;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
  font-size: 0.85em;
}

@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.03);
  }
  100% {
    transform: scale(1);
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-5ce451c *//* Container for the whole curriculum block */
.curriculum-container {
    max-width: 100%;
    margin: 10px auto;
    background-color: #ffffff;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    padding: 25px 30px;
}

.curriculum-container h2 {
    font-size: 1.8em;
    margin-bottom: 10px;
    color: #212529;
    /* border-bottom: 1px solid #eee; */ /* Removed border here, nav has one */
    padding-bottom: 0; /* Reset padding */
}

.curriculum-meta {
    font-size: 0.9em;
    color: #007bff; /* 파란색으로 변경 */
    margin-bottom: 25px;
    text-align: right; /* Position like the image */
    font-weight: 600; /* 약간 굵게 */
}
.curriculum-meta span + span {
    margin-left: 10px;
}


/* Accordion Styles */
.curriculum-accordion {
    border-top: 1px solid #eee; /* Separator from header/meta */
}

.accordion-item {
    border-bottom: 1px solid #e9ecef; /* Separator between items */
    margin-bottom: 0; /* Remove default margin */
}

.accordion-item:last-child {
    border-bottom: none;
}

/* Accordion Header (Summary Tag) */
.accordion-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 10px;
    cursor: pointer;
    font-weight: 600;
    color: #343a40;
    list-style: none; /* Remove default marker */
    transition: background-color 0.2s ease-in-out;
    position: relative;
    font-size: 1.05em;
}

/* Remove default arrow in Webkit browsers */
.accordion-header::-webkit-details-marker {
    display: none;
}

.accordion-header:hover {
    background-color: #f8f9fa; /* Subtle hover */
}

/* Style for the Free/Paid/Review Type Badge */
.section-type {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 0.75em;
    font-weight: bold;
    margin-right: 10px;
    color: #fff;
    text-transform: uppercase;
    vertical-align: middle; /* Align better with text */
}

.section-type.free {
    background-color: #28a745; /* Green for Free */
}

.section-type.paid {
    background-color: #007bff; /* Blue for Paid */
}

.section-type.free-review,
.section-type.paid-review {
    background-color: #ffc107; /* Orange/Yellow for Review */
    color: #333;
}


/* Accordion Icon (+/-) */
.accordion-icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    position: relative;
    margin-left: 15px;
    color: #6c757d;
    flex-shrink: 0; /* Prevent icon from shrinking */
}

.accordion-icon::before,
.accordion-icon::after {
    content: '';
    position: absolute;
    background-color: currentColor;
    transition: transform 0.25s ease-out;
}

/* Horizontal line */
.accordion-icon::before {
    top: 50%;
    left: 15%; /* Adjust position */
    width: 70%;
    height: 2px;
    margin-top: -1px;
}

/* Vertical line (forms '+') */
.accordion-icon::after {
    top: 15%;
    left: 50%;
    width: 2px;
    height: 70%;
    margin-left: -1px;
}

/* Rotate vertical line to form '-' when open */
details[open] > summary .accordion-icon::after {
    transform: rotate(90deg);
}


/* Accordion Content Area */
.accordion-content {
    padding: 15px 15px 20px 15px; /* Add padding */
    background-color: #ffffff;
    border-top: 1px dashed #eee; /* Subtle separator from header */
}

.accordion-content ul {
    list-style: none; /* Remove default bullets */
    padding-left: 0px; /* Indent list slightly */
}

.accordion-content li {
    margin-bottom: 8px;
    font-size: 0.95em;
}

.accordion-content li a {
    color: #0056b3;
    text-decoration: none;
    transition: color 0.2s ease;
}
.accordion-content li a:hover {
    color: #003d80;
    text-decoration: underline;
}

.accordion-content p { /* Style for the notice text */
    font-style: italic;
    color: #6c757d;
    margin-bottom: 10px;
    font-size: 0.9em;
    padding-left: 15px;
}

.curriculum-main-nav {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 20px;
}
.curriculum-main-nav button {
    padding: 8px 18px;
    border: none;
    background: #e9ecef;
    color: #495057;
    border-radius: 5px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}
.curriculum-main-nav button.active,
.curriculum-main-nav button:hover {
    background: #007bff;
    color: #fff;
}

/*유료 부분 CSS*/
.paid-section .accordion-content ul li {
  padding: 12px 15px;                /* 넉넉한 패딩 */
  margin-bottom: 15px;               /* 항목 간 간격 증가 */
  background: linear-gradient(145deg, #ffffff, #f0f0f0); /* 그라데이션 배경 */
  border-radius: 8px;                /* 둥근 모서리 */
  border: none;                      /* 기본 테두리 제거 */
  box-shadow: 5px 5px 10px #d9d9d9, 
             -5px -5px 10px #ffffff; /* 뉴모피즘 스타일 그림자 */
  list-style-type: none;             /* 기본 글머리 기호 제거 */
  position: relative;                /* 포지셔닝 설정 */
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); /* 부드러운 전환 효과 */
  line-height: 1.6;                  /* 행간 조정 */
  font-weight: 500;                  /* 약간 더 굵은 글꼴 */
}

.paid-section .accordion-content ul li:before {
  content: '';
  position: absolute;
  left: -5px;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  background-color: #4a90e2;        /* 강조색 */
  border-radius: 50%;               /* 원형 글머리 기호 */
  box-shadow: 0 0 8px rgba(74, 144, 226, 0.6); /* 글로우 효과 */
}

.paid-section .accordion-content ul li:hover {
  transform: translateY(-3px);      /* 호버 시 위로 살짝 이동 */
  box-shadow: 8px 8px 15px #d1d1d1, 
             -8px -8px 15px #ffffff; /* 호버 시 그림자 강화 */
}

.paid-section .accordion-content ul {
  padding-left: 0px;               /* 리스트 들여쓰기 */
  margin-top: 20px;                 /* 리스트 상단 여백 */
}

/* Style for difficulty tags */
.section-difficulty {
    display: inline-block;
    padding: 2px 8px;
    margin-left: 5px; /* Add margin to separate from type tag */
    margin-right: 8px; /* Add margin to separate from title */
    border-radius: 4px;
    font-size: 0.8em;
    font-weight: bold;
    color: white;
    vertical-align: middle; /* Align with text */
}
.section-difficulty.기초 { background-color: #4CAF50; } /* Green */
.section-difficulty.중급 { background-color: #2196F3; } /* Blue */
.section-difficulty.고급 { background-color: #f44336; } /* Red */

/* Style for the recommendation section */
.recommendation-section {
    margin-top: 30px;
    padding: 20px;
    border: 1px solid #eee;
    border-radius: 8px;
    text-align: center;
    background-color: #f9f9f9;
}
.recommendation-section h3 {
    margin-top: 0;
    font-size: 1.2em;
    color: #333;
}
.recommendation-section p {
    color: #555;
    margin-bottom: 10px;
}
.recommendation-section small {
    display: block;
    color: #777;
    margin-bottom: 15px;
}
.recommendation-section .cta-button {
    display: inline-block;
    padding: 10px 20px;
    background-color: #007bff;
    color: white;
    text-decoration: none;
    border-radius: 5px;
    font-weight: bold;
    transition: background-color 0.3s ease;
}
.recommendation-section .cta-button:hover {
    background-color: #0056b3;
}

.highlight-notice {
  background: linear-gradient(to right, #ffeb3b40, #ff980040);
  padding: 10px 15px;
  border-left: 3px solid #ff9800;
  border-radius: 4px;
  font-weight: bold;
  color: #d32f2f;
  margin: 15px 0;
  animation: pulse 1.5s infinite;
  display: inline-block;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
  font-size: 0.85em;
}

@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.03);
  }
  100% {
    transform: scale(1);
  }
}/* End custom CSS */