/* 입시 히어로 섹션 배경 */
.admissions-hero {
    background: no-repeat center/100% url("../img/placeholders/admissions_hero_bg_q.jpg");
}

/* 전체 너비 섹션 조정 */
.noon-unique-value-section,
.roadmap-solution-section {
    padding-left: 0;
    padding-right: 0;
    width: 100%;
}

/* 눈 사진학원만의 특별한 가치 영역 */
.noon-unique-value-section {
    padding-top: 100px;
    padding-bottom: 100px;
    background: url("../img/placeholders/subtle_studio_bg.png") no-repeat center center;

    background-color: rgba(255, 255, 255, 0.8);
    background-blend-mode: soft-light;
    text-align: center;
}
.noon-unique-value-section h2 {
    margin-bottom: 25px;
}
.noon-unique-value-section .intro-text {
    color: #666;
    margin: 0 auto 60px auto;
}

/* 차별화 카드 그리드 */
.value-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    max-width: 1200px;
    margin: 0 auto;
}

/* 차별화 카드 */
.value-card {
    background-color: #fff;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    padding: 40px;
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.value-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.15);
}
.value-card .icon-box {
    width: 70px;
    height: 70px;
    margin-bottom: 30px;
    background-color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
}
.value-card .icon-box img {
    width: 80px;
    height: 80px;
}
.value-card h3 {
    font-weight: 800;
    margin-bottom: 18px;
}
.value-card p {
    color: #555;
    flex-grow: 1;
}
.value-card p strong {
    color: #d84141;
}

/* 로드맵·솔루션 섹션 기본 스타일 */
.roadmap-solution-section {
    padding-top: 100px;
    padding-bottom: 100px;
    text-align: center;
    background: url("../img/placeholders/22.jpg") no-repeat center center / cover;
    /*background-color: rgba(240, 240, 240, 0.95);*/ /* 멍하니님의 원래 주석 유지 */
    background-blend-mode: soft-light;
}
.roadmap-solution-section .intro-text {
    margin-bottom: 50px;
}

/* 탭 UI 스타일 */
.solution-tabs {
    max-width: 1200px;
    margin: 0 auto;
}
.solution-tabs .tab-list {
    list-style: none;
    display: flex;
    justify-content: center;
    gap: 2rem;
    padding: 0;
    flex-wrap: wrap;
}
.solution-tabs .tab-list li {
    cursor: pointer;
    padding: 0.5rem 1.5rem;
    border-radius: 8px 8px 0 0;
    font-weight: 700;
    color: #555;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    user-select: none;
    background-color: #f9f9f9;
    transition: background-color 0.3s ease, color 0.3s ease;
    white-space: nowrap;
}
.solution-tabs .tab-list li .tab-icon {
    font-size: 1.2rem;
}
.solution-tabs .tab-list li.active,
.solution-tabs .tab-list li[aria-selected="true"] {
    background-color: #d84141;
    color: #fff;
    border-bottom: 2px solid #d84141;
}
.solution-tabs .tab-list li:hover:not(.active) {
    background-color: #eee;
    color: #000;
}

/* 탭 콘텐츠 */
.tab-content {
    display: none;
    animation: fadeIn 0.3s ease;
    background-color: #fff;
    border-radius: 8px;
    padding: 20px;
}
.tab-content.active {
    display: block;
}

/* 페이드인 애니메이션 */
@keyframes fadeIn {
    from {opacity: 0;}
    to {opacity: 1;}
}

/* 콘텐츠블록 스타일 */
.content-block {
    /*margin-top: 30px;
    padding-top: 20px;*/ /* 멍하니님의 원래 주석 유지 */
    border-top: 1px dashed #eee;
}
.content-block:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}
.content-block .sub-heading.mt-40 {
    margin-top: 30px;
}

/* 준비 포인트 그리드 */
.preparation-points-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
    margin: 0 auto;
    max-width: 900px;
}
.preparation-point-item {
    background-color: #fefefe;
    border-radius: 8px;
    padding: 15px 20px;
    font-weight: 600;
    color: #444;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}
.preparation-point-item .point-icon {
    font-size: 1.2em;
    color: #d84141;
    margin-right: 10px;
}

/* 로드맵 비주얼 스텝 */
.roadmap-visual-steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px; /* 데스크탑 기본 */
    position: relative;
    padding: 20px 0; /* 데스크탑 기본 */
    max-width: 1000px;
    margin: 0 auto;
}
@media (min-width: 768px) {
    .roadmap-visual-steps::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        right: 0;
        height: 2px;
        background-color: #ddd;
        z-index: 0;
    }
}
.roadmap-visual-steps .roadmap-step-card {
    background-color: #fff;
    border: 2px solid #d84141;
    border-radius: 12px;
    padding: 25px 20px; /* 데스크탑 기본 */
    text-align: center;
    box-shadow: 0 8px 20px rgba(0,0,0,0.08);
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 120px;
    transition: all 0.3s ease;
}
.roadmap-visual-steps .roadmap-step-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 25px rgba(0,0,0,0.12);
}
.roadmap-visual-steps .roadmap-step-card .step-circle {
    width: 45px;
    height: 45px;
    background-color: #d84141;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    margin-bottom: 15px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}
.roadmap-visual-steps .roadmap-step-card h3 {
    font-weight: 700;
    margin: 0;
    line-height: 1.4;
}
.roadmap-visual-steps .roadmap-step-card p {
    color: #666;
    margin-top: 8px;
    line-height: 1.5;
}

/* 솔루션 카드 가로배열 */
.solution-type-wrapper {
    margin-top: 30px;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    justify-content: center;
    align-items: flex-start;
}
.university-type-group {
    flex: 1 1 calc(50% - 15px);
    min-width: 300px;
    max-width: 600px;
    display: flex;
    flex-direction: column;
}
.type-detail-card {
    background-color: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 20px;
    margin-top: 15px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.02);
    flex-grow: 1;
}
.type-detail-card .detail-header {
    font-weight: 700;
    color: #1e1e1e;
    margin-top: 20px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    border-bottom: 1px dashed #eee;
    padding-bottom: 5px;
}
.type-detail-card .detail-header:first-child {
    margin-top: 0;
}
.type-detail-card .detail-icon {
    font-size: 1.1em;
    color: #d84141;
    margin-right: 8px;
}
.type-detail-card p {
    color: #555;
    margin-bottom: 10px;
    padding-left: 30px; /* 데스크탑 기본 */
}
.type-detail-card p strong {
    color: #d84141;
}
.type-detail-card ul.custom-list,
.type-detail-card ul.sub-list {
    list-style: none;
    padding-left: 30px; /* 데스크탑 기본 */
    margin-bottom: 10px;
    font-size: 1em;
}
.type-detail-card ul.custom-list li,
.type-detail-card ul.sub-list li {
    color: #666;
    margin-bottom: 5px;
    position: relative;
    padding-left: 20px; /* 데스크탑 기본 */
}
.type-detail-card ul.custom-list li .list-icon,
.type-detail-card ul.sub-list li .sub-list-icon {
    font-size: 1rem;
    color: #d84141;
    font-weight: bold;
}

/* 학원 환경 섹션 */
/* 멍하니님이 제공하신 코드에는 이 부분이 없으므로 포함하지 않습니다. */

/* 빠른 상담 및 문의 섹션 */
/* 멍하니님이 제공하신 코드에는 이 부분이 없으므로 포함하지 않습니다. */


/* --- 반응형 미디어 쿼리 (태블릿 가로 / 작은 데스크탑) --- */
@media (max-width: 991px) {
  .noon-unique-value-section {
      padding-top: 80px;
      padding-bottom: 80px;
  }
  .value-grid {
      grid-template-columns: 1fr;
      gap: 25px;
  }
  .value-card {
      padding: 30px;
  }
  .value-card h3 { font-weight: 800; }
  .value-card .icon-box img { width: 65px; height: 65px; }

  .roadmap-solution-section {
      padding-top: 80px;
      padding-bottom: 80px;
  }
  .solution-tabs .tab-list {
    /* 요청: 태블릿 탭 메뉴 중앙 정렬 */
    gap: 20px !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    overflow-x: visible !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  .solution-tabs .tab-list li {
    padding: 0.5rem 1rem; /* 멍하니님의 원래 값 */
    flex: none !important; /* 추가: 탭 항목 너비 고정 */
    text-align: center; /* 추가: 텍스트 중앙 정렬 */
  }
  .solution-tabs .tab-list::-webkit-scrollbar {
    display: none;
  }

  .content-block {
    /*  margin-top: 25px;
      padding-top: 15px;*/ /* 멍하니님의 원래 주석 유지 */
  }
  .preparation-points-grid {
      grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
      gap: 12px;
  }
  .preparation-point-item { padding: 12px 15px; }
  .preparation-point-item .point-icon { font-size: 1.1em; margin-right: 8px;}

  .roadmap-visual-steps {
      grid-template-columns: 1fr;
      padding: 30px 20px; /* 요청: 로드맵 좌우 여백 추가 및 위아래 패딩 확대 */
      gap: 40px; /* 요청: 로드맵 간격 확대 */
  }
  .roadmap-visual-steps::before {
      content: none;
  }
  .roadmap-visual-steps .roadmap-step-card {
      min-height: 100px;
      padding: 30px 25px; /* 요청: 로드맵 카드 내부 패딩 확대 */
  }
  .roadmap-visual-steps .roadmap-step-card .step-circle {
      width: 40px;
      height: 40px;
      font-weight: 900;
      margin-bottom: 10px;
  }
  .solution-type-wrapper {
      flex-direction: column;
      gap: 20px;
  }
  .university-type-group {
      flex: 1 1 100%;
      max-width: 600px;
      margin: 0 auto;
  }
  h5.university-type-title .detail-icon { font-size: 1.1em; }
  .type-detail-card {
      padding: 15px;
  }
  .type-detail-card .detail-header {
      font-weight: 700;
      color: #1e1e1e;
      margin-top: 15px;
  }
  .type-detail-card ul.custom-list li,
  .type-detail-card ul.sub-list li { padding-left: 18px;}
  .type-detail-card ul.custom-list li .list-icon,
  .type-detail-card ul.sub-list li .sub-list-icon { font-size: 0.85em;}
}

/* --- 모바일 환경 전용 스타일 (max-width: 767px) --- */
/* 멍하니님께서 이미 해결하신 코드이며, 요청에 따라 유지합니다. */
@media (max-width: 767px) {
  /* 로드맵 솔루션 섹션 전체 좌우 여백 */
  .roadmap-solution-section {
    padding-left: 20px;
    padding-right: 20px;
  }

  /* 탭 콘텐츠 영역의 좌우 패딩 */
  .solution-tabs .tab-content {
    padding-left: 15px; /* 좌우 균등 패딩 */
    padding-right: 15px; /* 좌우 균등 패딩 */
  }

  /* 콘텐츠 블록 내부 텍스트의 좌우 패딩과 중앙 정렬 */
  .content-block {
    padding-left: 0; /* 원래 텍스트가 좌측에 고정되게 하던 패딩 초기화 */
    padding-right: 0; /* 원래 텍스트가 우측에 고정되게 하던 패딩 초기화 */
    text-align: center !important; /* 내부 텍스트 중앙 정렬 */
    margin-left: auto; /* 자동 마진으로 중앙 정렬 */
    margin-right: auto; /* 자동 마진으로 중앙 정렬 */
  }

  /* `.type-detail-card` 내 텍스트 좌우 여백 및 중앙 정렬 */
  .type-detail-card p {
    padding-left: 0 !important; /* 기존 좌측 패딩 제거 */
    text-align: center !important; /* 텍스트 중앙 정렬 */
  }

  /* `.type-detail-card ul.custom-list` 및 `.custom-list li` 좌우 여백 및 중앙 정렬 */
  .type-detail-card ul.custom-list,
  .type-detail-card ul.sub-list {
    padding-left: 0 !important; /* 기존 좌측 패딩 제거 */
    text-align: center !important; /* 리스트 텍스트 중앙 정렬 */

  }

  .type-detail-card ul.custom-list li,
  .type-detail-card ul.sub-list li {
    padding-left: 0 !important; /* 리스트 아이템 개별 좌측 패딩 제거 */
    text-align: center !important; /* 리스트 아이템 텍스트 중앙 정렬 */
    list-style-position: inside; /* 불릿/넘버링이 텍스트 안쪽으로 오게 하여 치우침 방지 */
  }


  /* 탭 메뉴 중앙 정렬 및 줄바꿈 */
  .solution-tabs .tab-list {
    justify-content: center !important;
    flex-wrap: wrap !important;
    overflow-x: visible !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    gap: 12px !important;
  }
  .solution-tabs .tab-list li {
    flex: none !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    text-align: center;
  }
  .solution-tabs .tab-list li span.tab-icon {
    font-size: 1.1em; /* common_sections.css에서 관리되는 P 태그의 상대적 크기 */
  }

  /* "🎯 무엇을 준비해야 할까요?" 위에 여백 추가 */
  /*.tab-content .content-block:first-child .sub-heading {
    margin-top: 30px !important;  첫 번째 sub-heading 위에 여백 추가
  }*/ /* 멍하니님의 원래 주석 유지 */

  /* 나머지 모바일 스타일 */
  .noon-unique-value-section { padding: 60px 0; }
  .value-card { padding: 25px; }
  .value-card h3 { font-weight: 800; margin-bottom: 12px; }
  .value-card .icon-box { width: 60px; height: 60px; margin-bottom: 20px; }
  .value-card .icon-box img { width: 60px; height: 60px; }

  .roadmap-solution-section {
      padding-top: 60px;
      padding-bottom: 60px;
  }
  .solution-tabs .tab-list {
    gap: 0.8rem;
    padding-bottom: 0px;
  }
  .solution-tabs .tab-list li {
    padding: 0.4rem 0.8rem;
  }
  .solution-tabs .tab-list li .tab-icon {
    font-size: 1em;
  }

  .content-block {
    /*  margin-top: 20px;
      padding-top: 15px;*/ /* 멍하니님의 원래 주석 유지 */
  }
  .preparation-points-grid {
      grid-template-columns: 1fr;
      gap: 8px;
  }
  .preparation-point-item { padding: 10px 12px; }
  .preparation-point-item .point-icon { font-size: 1em; margin-right: 6px;}

  .roadmap-visual-steps .roadmap-step-card {
      min-height: 80px;
      padding: 12px;
  }
  .roadmap-visual-steps .roadmap-step-card .step-circle {
      width: 30px;
      height: 30px;
      font-weight: 900;
      margin-bottom: 5px;
  }
  .university-type-group {
      padding: 15px;
      margin-bottom: 15px;
  }
  h5.university-type-title .detail-icon { font-size: 1em; }
  .type-detail-card {
      padding: 12px;
  }
  .type-detail-card .detail-header {
      font-weight: 700;
      color: #1e1e1e;
      margin-top: 12px;
      margin-bottom: 8px;
  }
  /* .type-detail-card ul.custom-list, .type-detail-card ul.sub-list 등의 패딩은 위에서 일괄 처리 */ /* 멍하니님의 원래 주석 유지 */
  .type-detail-card ul.custom-list li .list-icon,
  .type-detail-card ul.sub-list li .sub-list-icon { font-size: 1em;}




}
