.elementor-2608 .elementor-element.elementor-element-25bb266{--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;border-style:none;--border-style:none;--margin-top:20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-2608 .elementor-element.elementor-element-78cd50a{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2608 .elementor-element.elementor-element-78cd50a.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2608 .elementor-element.elementor-element-a9e186d{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:none;--border-style:none;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2608 .elementor-element.elementor-element-a9e186d.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2608 .elementor-element.elementor-element-387f725{--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;border-style:none;--border-style:none;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2608 .elementor-element.elementor-element-a2cac86{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:none;--border-style:none;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2608 .elementor-element.elementor-element-a2cac86.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2608 .elementor-element.elementor-element-9f6c8e0{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:15px 0px 0px 0px;}.elementor-2608 .elementor-element.elementor-element-9f6c8e0.elementor-element{--align-self:flex-end;}.elementor-2608 .elementor-element.elementor-element-9958311{--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-2608 .elementor-element.elementor-element-80913f9{--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;--margin-top:0px;--margin-bottom:50px;--margin-left:0px;--margin-right:0px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}:root{--page-title-display:none;}@media(max-width:1400px){.elementor-2608 .elementor-element.elementor-element-78cd50a{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2608 .elementor-element.elementor-element-a2cac86{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2608 .elementor-element.elementor-element-9f6c8e0{padding:20px 0px 0px 0px;}}@media(max-width:767px){.elementor-2608 .elementor-element.elementor-element-25bb266{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-2608 .elementor-element.elementor-element-80913f9{--margin-top:0px;--margin-bottom:50px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2608 .elementor-element.elementor-element-d3d8f12{margin:-30px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}}@media(min-width:768px){.elementor-2608 .elementor-element.elementor-element-25bb266{--content-width:1500px;}.elementor-2608 .elementor-element.elementor-element-78cd50a{--width:70%;}.elementor-2608 .elementor-element.elementor-element-a9e186d{--width:30%;}.elementor-2608 .elementor-element.elementor-element-9958311{--content-width:1530px;}.elementor-2608 .elementor-element.elementor-element-80913f9{--content-width:1530px;}}@media(max-width:1400px) and (min-width:768px){.elementor-2608 .elementor-element.elementor-element-78cd50a{--width:50%;}.elementor-2608 .elementor-element.elementor-element-a9e186d{--width:50%;}}/* Start custom CSS for text-editor, class: .elementor-element-d3d8f12 *//* ===============================
   차량 운행 스케줄 CSS (최종 통합/정리본 + 정렬 보정 포함)
   - PC 노선표 폰트: 17px
   - 태블릿: 16px
   - 모바일: 13px
   - ✅ '노선' 칸(th) 넓이 완전 통일 (table-layout:fixed)
   - ✅ 모바일에서 글자/내용 안 짤림 (overflow/ellipsis/nowrap 정리)
   - ✅ 제목 파란 세로줄/텍스트 정렬 + 시간라인 정렬
   =============================== */

/* 전체 래퍼 */
.schedule-wrap{
  max-width:1500px;
  margin:0 auto;
  padding:28px 18px;
  font-family:'Noto Sans KR', sans-serif;
  color:#1f2937;
  box-sizing:border-box;
}

/* ===============================
   섹션 타이틀 (파란 세로줄 + 텍스트 정렬)
   - border-left 대신 ::before로 "높이 고정 + 중앙정렬" 안정화
   =============================== */
.area-title{
  position:relative;
  margin:0 0 16px;
  padding-left:18px;

  font-size:27px;
  font-weight:600;
  letter-spacing:-0.3px;

  display:flex;
  align-items:center;     /* ✅ 세로 중앙정렬 */
  gap:10px;

  border-left:none;       /* ✅ 기존 제거 */
}

.area-title::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:6px;
  height:26px;            /* ✅ 파란 세로줄 높이 (원하면 여기만 조절) */
  background:#2563eb;
  border-radius:3px;
}
.area-title .sub{
  font-size:15px;
  font-weight:600;
  color:#64748b;
}

/* ===============================
   시간 타이틀 (오전/오후 뱃지 + 9시/17시 + 라인 정렬)
   =============================== */
.time-title{
  display:flex;
  align-items:center;     /* ✅ 한 줄 기준선 정렬 */
  gap:10px;
  margin:18px 0 10px;
  padding-left:18px;
  font-size:20px;
  font-weight:800;
  color:#0f172a;
  text-align:left;
  box-sizing:border-box;
}

/* (오전)/(오후) 뱃지 */
.time-title::before{
  content:"(오전)";
  display:inline-flex;
  align-items:center;
  height:22px;            /* ✅ 뱃지 높이 고정으로 정렬 안정화 */
  padding:0 10px;
  font-size:13px;
  font-weight:800;
  border-radius:999px;
  line-height:1;
  letter-spacing:-0.2px;
  background:rgba(16,185,129,.12);
  color:#059669;
  border:1px solid rgba(16,185,129,.25);
}

/* 라인 */
.time-title::after{
  content:"";
  flex:1;
  height:2px;
  margin-left:6px;
  background:linear-gradient(90deg, rgba(37,99,235,.6), rgba(37,99,235,.15), rgba(37,99,235,.05));
  border-radius:999px;
}

/* 오후 */
.time-title.pm::before{
  content:"(오후)";
  background:rgba(249,115,22,.12);
  color:#ea580c;
  border:1px solid rgba(249,115,22,.25);
}
.time-title.pm::after{
  background:linear-gradient(90deg, rgba(249,115,22,.6), rgba(249,115,22,.15), rgba(249,115,22,.05));
}

/* ===============================
   노선표 카드 (오전/오후 BG + 바깥 패딩 3px)
   =============================== */
.route-card{
  margin-left:18px;
  width:calc(100% - 18px);
  padding:3px;
  border-radius:14px;
  box-sizing:border-box;
}
.route-card.am{
  background:rgba(16,185,129,.10);
  border:1px solid rgba(16,185,129,.22);
}
.route-card.pm{
  background:rgba(249,115,22,.10);
  border:1px solid rgba(249,115,22,.22);
}

/* ===============================
   테이블 기본
   =============================== */
table.info-table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
  border-top:2px solid #64748b;
  font-family:'Noto Sans KR', sans-serif;
  box-sizing:border-box;
}

/* 카드 안 테이블 (PC/태블릿 라운드) */
.route-card table.info-table.route-table{
  margin:0;
  width:100%;
  border-radius:12px;
  overflow:hidden;
}

/* 노선표 폭 흔들림 방지 */
table.info-table.route-table{
  table-layout:fixed;
  width:100%;
}

/* ===============================
   PC 기본 폰트/패딩
   =============================== */
table.info-table th,
table.info-table td{
  border-bottom:1px solid #e5e7eb;
  padding:14px 16px;
  font-size:17px;        /* ✅ PC 글자 크기 */
  line-height:1.75;
  vertical-align:top;
}

/* '노선' 칸(th) 폭 통일 */
table.info-table.route-table th{
  width:110px;
  min-width:110px;
  max-width:110px;
  background:#f1f5f9;
  font-weight:800;
  color:#111827;
  text-align:center;
  white-space:nowrap;
  overflow:visible;
  text-overflow:clip;
}

/* 노선 내용(td) */
table.info-table.route-table td{
  background:#fff;
  color:#374151;
  text-align:left;

  word-break:keep-all;
  overflow-wrap:anywhere;

  overflow:visible;
  text-overflow:clip;
}

/* 마지막 줄 */
table.info-table tr:last-child th,
table.info-table tr:last-child td{
  border-bottom:0;
}

/* ===============================
   태블릿: 16px (769~1024)
   =============================== */
@media (min-width:769px) and (max-width:1024px){
  .schedule-wrap{ padding:24px 16px; }
  .area-title{ font-size:26px; }
  .time-title{ font-size:18px; }

  table.info-table th,
  table.info-table td{
    font-size:16px;
    padding:12px 14px;
  }

  table.info-table.route-table th{
    width:100px;
    min-width:100px;
    max-width:100px;
  }
}

/* ===============================
   모바일: 13px (<=768) + 안짤림 + 노선 폭 통일
   =============================== */
@media (max-width:768px){
  .schedule-wrap{ padding:20px 14px; }

  .area-title{
    font-size:22px;
    margin:34px 0 14px;
    padding-left:14px;
  }
  .area-title::before{
    height:22px;          /* ✅ 모바일에서 세로줄 살짝 짧게 */
    width:5px;
  }
  .area-title .sub{ font-size:13px; }

  .time-title{
    font-size:17px;
    padding-left:14px;
  }

  .route-card{
    margin-left:14px;
    width:calc(100% - 14px);
  }

  table.info-table th,
  table.info-table td{
    font-size:13px;       /* ✅ 모바일 글자 크기 */
    padding:10px 10px;
  }

  /* 모바일은 잘림 방지 우선 */
  .route-card table.info-table.route-table{
    overflow:visible;
  }

  table.info-table.route-table th{
    width:88px;
    min-width:88px;
    max-width:88px;
  }

  table.info-table.route-table td{
    white-space:normal !important;
    word-break:break-word !important;
    overflow-wrap:anywhere !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }
}

/* ===============================
   Elementor/테마 덮어쓰기 대비 (폰트/굵기 확실히)
   - 필요 없으면 삭제 가능
   =============================== */
@media (min-width:1025px){
  body .route-card table.info-table.route-table th,
  body .route-card table.info-table.route-table td{
    font-size:17px !important;
  }
  body .route-card table.info-table.route-table th{ font-weight:800 !important; }
  body .route-card table.info-table.route-table td{ font-weight:600 !important; }
}
@media (min-width:769px) and (max-width:1024px){
  body .route-card table.info-table.route-table th,
  body .route-card table.info-table.route-table td{
    font-size:16px !important;
  }
  body .route-card table.info-table.route-table th{ font-weight:800 !important; }
  body .route-card table.info-table.route-table td{ font-weight:600 !important; }
}
@media (max-width:768px){
  body .route-card table.info-table.route-table th,
  body .route-card table.info-table.route-table td{
    font-size:13px !important;
  }
  body .route-card table.info-table.route-table th{ font-weight:800 !important; }
  body .route-card table.info-table.route-table td{ font-weight:600 !important; }
}/* End custom CSS */