#fc {font-size:14px;font-family:'Pretendard', 'Noto Sans KR', 'Malgun Gothic', sans-serif}
.fc-head { background: #eee; }
.fc-day-header { padding: 0.5rem !important; font-size:11px;}
.fc-sun span, .fc-sun a.fc-day-number { color:red; }

/* 토요일을 파란색으로 표시 */
.fc-sat span, .fc-sat a.fc-day-number, .fc-day-sat .fc-day-number, .fc-daygrid-day.fc-day-sat .fc-daygrid-day-number {
  color: #1959bf !important;
}


.fc-day-grid-event {
  display: flex;
  align-items: center; /* 이벤트 박스 내부 텍스트 세로 중앙 정렬 */
}
.fc-day-grid-event .fc-content {
  display: flex;
  align-items: center; /* 내부 콘텐츠도 세로 중앙 정렬 */
  width: 100%;
}
.fc-day-grid-event .fc-title {
  white-space: normal;  /* 잘림 대신 줄바꿈 허용 */
  line-height: 2.2;
  padding: 0rem 0.5rem 0rem 0.5rem;
}

/* v5: 월간 보기 이벤트 (업그레이드/혼합 마크업 대비) */
/* TD 내부 요소들의 line-height를 25px로 재정의 (캘린더 전반에 적용) */
/* td, 날짜 숫자, 이벤트 타이틀 등 내부 텍스트의 줄간격을 통일하여 레이아웃을 안정화 */
#div_full_calendar td,
#div_full_calendar .fc-day,
#div_full_calendar .fc-daygrid-day,
#div_full_calendar .fc-day-number,
#div_full_calendar .fc-daygrid-day-number,
#div_full_calendar .fc-day-grid-event,
#div_full_calendar .fc-daygrid-event,
#div_full_calendar .fc-event,
#div_full_calendar .fc-event-title,
#div_full_calendar .fc-title {
  line-height: 25px !important;
}

.fc-daygrid-event {
  display: flex;
  align-items: center;
}
.fc-daygrid-event .fc-event-main {
  display: flex;
  align-items: center;
  width: 100%;
}
.fc-daygrid-event .fc-event-title {
  white-space: normal;
  line-height: 1.2;
}

/* 선택: 중앙 정렬 가독성을 위한 최소 높이 */
.fc-day-grid-event, .fc-daygrid-event {
  min-height: 24px;
}

/* 오늘 날짜 스타일 */
.fc-theme-standard td.fc-today,
.fc-ltr .fc-dayGrid-view td.fc-today,
td.fc-today {
  background: #d9dff0 !important; 
  border: 1px solid #5b95cf !important;
}
/* 캘린더 컨테이너 크기 제한: 너무 크게 보이는 문제 해결 */
.studio_cal {
  max-width: 980px; /* 가로 최대 너비 */
  width: 100%; /* 전체 너비에서 5% 축소 */
  margin: 0 auto; /* 중앙 정렬 */
}

#div_full_calendar {
  max-width: 980px;
  width: 100%;
  box-sizing: border-box;
  margin: 0 auto;
}

/* 캘린더 내부 스크롤 제거: 스크롤이 생기지 않도록 뷰 컨테이너와 스크롤러를 보이도록 설정 */
#div_full_calendar, #div_full_calendar .fc-view, #div_full_calendar .fc-scroller {
  overflow: visible !important;
  max-height: none !important;
}

/* 모바일에서 높이를 줄이고 스크롤이 생기지 않도록 이벤트 줄 수를 제한 */
@media (max-width: 640px) {
  #div_full_calendar {
    max-width: 100%;
  }
}

.fc-day-number, .fc-daygrid-day-number {
  font-size: 12px !important;
  line-height: 1 !important;
  padding: 0 2px !important;
}

.fc-day-grid-event, .fc-daygrid-event, .fc-event {
  min-height: 18px !important;
  padding: 2px 4px !important;
  line-height: 1 !important;
  font-size: 12px !important;
}



/* 이벤트 타이틀 줄수 제한: 셀 높은 차지 감소 */
.fc-daygrid-event .fc-event-title,
.fc-day-grid-event .fc-title {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-weight: 500;
  font-size: 12px;
}


/* 캘린더 테두리 설정 */
#div_full_calendar table {
  border-collapse: collapse !important;
}

/* TD 테두리 표시 */
#div_full_calendar td {
  /* border: 1px solid #ddd !important; */
}

#div_full_calendar th {
  border: 1px solid #ddd !important;
}

.fc-ltr .fc-dayGrid-view .fc-day-top .fc-day-number{float: none !important; margin-left: 5px; font-weight: 500; font-size: 10px !important; letter-spacing: -0.4px; color: #222;}
.fc-sun,
.fc-ltr .fc-dayGrid-view .fc-day-top:first-child .fc-day-number{color: #0f86a1 !important;}
.fc-ltr .fc-dayGrid-view td.fc-today{position: relative; border: 0 !important; background: none !important; color: #fff !important; }
.fc-ltr .fc-dayGrid-view td.fc-today span{position: relative; color: #fff;}
.fc-ltr .fc-dayGrid-view td.fc-today span::before{content:''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: inline-block; width: 22px; height: 22px; border-radius: 50%; background: #333; z-index: -1;}
.fc-ltr .fc-dayGrid-view td.fc-today .fc-day-number{color: #fff;}
.fc-day-grid-event{margin: 0 2px 2px !important;}
.fc-dayGrid-view .fc-body .fc-row{border-bottom: 1px solid #eee !important;}

@media (max-width: 1200px){
	.fc-daygrid-event .fc-event-title, .fc-day-grid-event .fc-title{font-size: 12px;}
	#div_full_calendar td,
	#div_full_calendar .fc-event,
	#div_full_calendar .fc-title{line-height: 1 !important;}
	.fc-day-grid-event,
	.fc-daygrid-event,
	.fc-event{min-height: 0 !important; padding: 5px 4px !important;}
}

@media (max-width: 480px){
	.fc-toolbar.fc-header-toolbar{margin-bottom: 12px;}
}

/* =============================================================================
   [2026-09-29] 구글 캘린더 방식 : 칸당 일정 최대 3줄 + "+N건"
     장기 일정은 시작일 ~ 마감일까지 이어진 막대로 그린다.
     넘치는 줄은 list.d_a.php 가 숨기고, 맨 아래 줄(tr.sch-more-row)에
     날짜별 "+N건" 링크를 넣는다. 누르면 그날 일정 목록 팝업이 뜬다.
     (이전의 시작/마감 화살표 모양은 폐기)
   ============================================================================= */
.fc-day-grid-event{ border-radius: 3px; }

.fc-content-skeleton tr.sch-more-row td{ padding: 0 2px 4px; }
a.sch-more{
	display: block;
	padding: 3px 6px;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.35 !important;
	color: #2b65fe;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease;
}
a.sch-more:hover,
a.sch-more:focus-visible,
a.sch-more.is_open{ background: #eef2fb; color: #1f4fd0; }

/* 그날 일정 목록 팝업 (날짜 칸 옆에 뜬다) */
.sch_day_pop{
	position: fixed; top: 0; left: 0; z-index: 900;
	width: 290px; max-height: 60vh; display: flex; flex-direction: column;
	border: 1px solid #e3e6ef; border-radius: 12px; background: #fff;
	box-shadow: 0 10px 34px rgba(4,14,41,.18); overflow: hidden;
}
.sch_day_pop[hidden]{ display: none !important; }
.sch_day_pop .sdp_head{
	display: flex; align-items: center; justify-content: space-between; gap: 8px;
	padding: 12px 10px 12px 14px; border-bottom: 1px solid #eef0f5; background: #f7f9ff;
}
.sch_day_pop .sdp_title{ font-weight: 700; font-size: 15px; color: #111; }
.sch_day_pop .sdp_close{
	flex: 0 0 auto; width: 26px; height: 26px; padding: 0; border: 0; border-radius: 50%;
	background: none; font-size: 18px; line-height: 1; color: #888; cursor: pointer; transition: all .2s ease;
}
.sch_day_pop .sdp_close:hover{ background: #e8ebf3; color: #222; }
.sch_day_pop .sdp_list{ overflow-y: auto; padding: 8px; margin: 0; list-style: none; }
.sch_day_pop .sdp_list li + li{ margin-top: 5px; }
.sch_day_pop .sdp_item{
	display: block; padding: 9px 11px; border-radius: 8px;
	font-size: 13px; line-height: 1.45; text-decoration: none; transition: filter .2s ease;
}
.sch_day_pop .sdp_item:hover{ filter: brightness(.94); }
.sch_day_pop .sdp_item .sdp_ico{ width: 14px; height: 14px; margin-right: 4px; vertical-align: -2px; }
.sch_day_pop .sdp_item .sdp_subject{
	font-weight: 600; word-break: keep-all;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.sch_day_pop .sdp_item .sdp_range{
	display: block; margin-top: 3px; font-style: normal; font-size: 12px; opacity: .72;
}

@media (max-width: 780px){
	.sch_day_pop{ width: calc(100vw - 32px); max-width: 320px; }
}
