
caption {
    overflow: hidden;
    width: 1px;
    height: 1px;
    padding: 0;
    margin-top: -1px;
    font-size: 0;
    line-height: 0;
    text-indent: -9999px;
}

input[type=text],
input[type=password], 
input[type=number],
select,
textarea {
		display:block;
    width: 100%;
    max-width: 90%;
    padding: 12px 15px;
    border: 1px solid #ddd;
    background-color: #fff;
    font-size: 16px;
    color: #333;
    border-radius: 6px;
    box-sizing: border-box;
    transition: all 0.3s;
}


input[type=text]:focus,
input[type=password]:focus,
input[type=number]:focus,
select:focus,
textarea:focus {
    outline: none;
    border-color: var(--color-primary, #C6A66A);
    box-shadow: 0 0 0 3px rgba(189, 132, 107, 0.15);
}

input[type=radio],
input[type=checkbox] {
    width: 20px;
    height: 20px;
    border: 1px solid #ccc;
    vertical-align: middle;
    margin-right: 6px; 
    cursor: pointer;
}

input[type=text].short,
input[type=number].short {
    width: 120px;
}
input[type=text].idshort{
	display:inline-block;
	width:50%;
	}
select {
    width: 290px;
    height: 48px;
    padding-left: 15px;
    cursor: pointer;
}

textarea {
    min-height: 180px;
    line-height: 1.6;
    margin: 10px 0;
}


section.board{
	max-width:1200px;
	margin:0 auto;
	}


.table_list {
    width: 90%;
    margin: 0 auto;
    table-layout: fixed;
    border-collapse: collapse;
}

.table_list thead th {
    height: 55px;
    background: #fcfbf9; /* 은은한 크림베이지 톤 헤더 */
    border-top: 2px solid #222; /* 얇지만 명확한 블랙 마감 */
    border-bottom: 1px solid #ddd;
    font-size: 16px;
    font-weight: 600;
    color: #222;
    text-align: center;       /* 가로 가운데 정렬 */
    vertical-align: middle;   /* 세로 가운데 정렬 */
}

.table_list tbody td {
    padding: 15px 10px;
    border-bottom: 1px solid #eaeaea;
    font-size: 15px;
    color: #555;
    vertical-align: middle;
    text-align: center; 
}

/* 후손 선택자 정렬 최적화 (2번째 칸: 제목 영역 좌측 정렬) */
.table_list tbody td:nth-child(2) {
    font-size: 17px;
    text-align: left;
    font-weight: 500;
    color: #222;
}

.table_list a {
    text-decoration: none;
    color: inherit;
    transition: color 0.2s;
}

.table_list a:hover {
    color: var(--color-primary, #C6A66A);
    text-decoration: underline;
}

/* 게시판용 배지/태그 세팅 */
.table_list tbody td span.notice {
    display: inline-block;
    font-size: 12px;
    color: var(--color-primary, #C6A66A);
    border: 1px solid var(--color-primary, #C6A66A);
    border-radius: 4px;
    font-weight: 500;
    padding: 2px 6px;
}

.table_list tbody td span.date,
.table_list tbody td span.name,
.table_list tbody td span.hit {
    display: inline-block;
    font-size: 14px;
    color: #888;
    margin-right: 15px;
}


.table_photolist {
    width: 100%;
    border-collapse: collapse;
}

.table_photolist thead th {
    height: 55px;
    background: #fcfbf9;
    border-top: 2px solid #222;
    border-bottom: 1px solid #ddd;
    font-size: 16px;
}

.table_photolist tbody td {
    padding: 20px 10px;
    border-bottom: 1px solid #eaeaea;
}

.table_photolist tbody td a {
    display: block;
    width: 95%;
    margin: 0 auto;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    transition: transform 0.2s, box-shadow 0.2s;
}

.table_photolist tbody td a:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 15px rgba(0,0,0,0.06);
}

.table_photolist tbody td a img {
    display: block;
    width: 100%;
    height: 180px;
    object-fit: cover; /* 사진 비율 깨짐 원천 방지 */
}


.table_read {
    width: 90%;
    border-collapse: collapse;
    margin:0 auto;
}

.table_read thead th{
    padding: 15px 20px;
    text-align: left;
    background: #fcfbf9;
    border-top: 2px solid #222;
    border-bottom: 1px solid #ddd;
    font-size: 20px;
    font-weight: 500;
    color: #222;    
    align-items: center;
    display: flex; 
    justify-content: space-between; 
    align-items: center; /* 세로 중앙 정렬 */
}
.table_read thead th .subject {}
.table_read thead th .meta {	
    font-size: 15px;     
    font-weight: 400;  
    color: #888;     
    letter-spacing: 0;
}


.table_read thead td {
    padding: 15px 20px;
    text-align: left;
    background: #fcfbf9;
    border-top: 2px solid #222;
    border-bottom: 1px solid #ddd;
    font-size: 20px;
    font-weight: 500;
    color: #222;    
    align-items: center;
}
.table_read thead th b { font-weight: 700; }

.table_read tbody tr td {
    padding: 15px 25px;
    text-align: left;
    border-bottom: 1px solid #ddd;
    font-size:16px;
    line-height:1.8;
    color:#222;
}

.table_read tbody tr td.info1 {
    font-size: 14px;
    color: #666;
    background-color: #fafafa;
    border-bottom: 1px solid #eee;
    padding: 10px 25px;
}

.table_read tbody tr td.info1 span {
    display: inline-block;
    font-weight: 600;
    margin-right: 8px;
    margin-left: 15px;
    color: #333;
}
.table_read tbody tr td.info1 span:first-child { margin-left: 0; }

.table_read tbody tr td img {
    display: block;
    margin: 0 auto 30px auto;
    max-width: 90%;
}

.table_read tbody tr td.answer {
    background: #fdfcfb;
    padding: 40px 25px;
}

.table_read tbody tr td.answer > p {
    max-width: 95%;
    margin: 0 auto 30px auto;
    text-align: left;
    font-size: 16px;
    font-weight: 500;
    color: var(--color-primary, #C6A66A);
    background: #fff;
    line-height: 1.6;
    border: 1px dashed var(--color-primary, #C6A66A);
    border-radius: 12px;
    padding: 20px;
}

.table_read tbody tr td.answer div p {
    margin: 0 0 1em 0;
    text-align: left;
    font-size: 16px;
    font-weight: 500;
    color: var(--text, #30323A);
    line-height: 1.6;
    border: none;
    background: none;
    padding: 0;
}

.table_read td iframe {
    width: 100%;              /* 기본적으로 부모 영역(모바일)에 꽉 차게 설정 */
    max-width: 960px;         /* 단, PC에서는 최대 960px까지만 커지도록 제한 */
    aspect-ratio: 16 / 9;     /* 960x540의 비율인 16:9 영상 비율을 강제 유지 */
    height: auto !important;  /* HTML에 적힌 기본 height="315" 값을 무시 (비율에 맞춤) */
    display: block;           /* 이미지/영상 하단에 생기는 미세한 여백 제거 */
    border: none;
    margin: 0 auto;
    
}


.table_write {
    width: 90%;
    border-collapse: collapse;
    border-top: 2px solid #222;
    border-bottom: 1px solid #222;
    margin:0 auto;
}

.table_write th,
.table_write td {
    padding: 15px 20px;
    border-bottom: 1px solid #eee;
    font-size: 15px;
}

.table_write th {
    background: #fcfbf9;
    text-align: center;
    font-weight: 600;
    color: #222;
    width: 150px;
}

.table_write td { text-align: left; }

.table_write td img {
    display: block;
    max-width: 80%;
    margin: 15px 0;
    border-radius: 6px;
}
.table_write td p.comment{
	font-size:14px;
	color:#C6A66A;
	line-height:1.5;
	}
.table_write td p.comment b{
	font-weight:600;
	}	
/* ID중복체크 등 폼 내부 간이 버튼 */
.table_write td a.idcheck {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 120px;
    height: 36px;
    border: 1px solid var(--color-primary, #C6A66A);
    background-color: #fff;
    font-size: 14px;
    font-weight: 500;
    color: var(--color-primary, #C6A66A);
    border-radius: 4px;
    text-decoration: none;
    transition: all 0.2s;
}
.table_write td a.idcheck:hover {
    background-color: var(--color-primary, #C6A66A);
    color: #fff;
}
.table_write td span.date{
	font-weight:600;
	color:var(--point);
	font-size:17px;
	}
.table_write td select{
	display:inline-block;
	margin-right:5px;
	}
.table_write td select.year{
	width:100px;
	}
.table_write td select.date{
	width:80px;
	}	
	
/* Flatpickr 달력 내 공휴일/일요일 빨간색 강제 적용 */
    .flatpickr-day.red-holiday {
        color: #ff4d4f !important; /* 기본 회색을 덮어쓰기 위해 !important 사용 */
        font-weight: bold;
    }


/* 갤러리 전체 래퍼 (최대 1000px) */
.gallery-table-wrap {
    max-width: 1000px;
    margin: 0 auto;
    border-top: 4px solid #c6a66a; /* 상단 두꺼운 선 (이미지 톤에 맞춤) */
    border-bottom: 4px solid #c6a66a; /* 하단 두꺼운 선 */
    background-color: #fff;
}

/* 갤러리 리스트 (Grid 적용) */
.gallery-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* PC: 1줄에 4개 */
}

/* 갤러리 아이템 (테이블 셀 역할) */
.gallery-item {
    border-right: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
    padding: 40px 10px 30px; /* 내부 여백 */
    text-align: center;
}

/* 우측 끝 아이템은 우측 선 제거 */
.gallery-item:nth-child(4n) {
    border-right: none;
}

/* 마지막 줄 아이템들은 하단 선 제거 (래퍼의 하단 선과 겹치지 않게) */
.gallery-list > .gallery-item:nth-last-child(-n+4) {
    border-bottom: none;
}

/* 썸네일 영역 */
.gallery-item .thumb {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 25px;
}

/* 썸네일 이미지 (150x271 비율 유지) */
.gallery-item .thumb img {
    width: 150px;
    height: 271px;
    object-fit: cover; /* 이미지가 찌그러지지 않게 꽉 채움 */
    display: block;
    border: none; /* 썸네일 라인 제거 */
}

/* 제목 텍스트 */
.gallery-item .title {
    font-size: 16px;
    color: #111;
    font-weight: 500;
    word-break: keep-all; /* 단어 단위로 줄바꿈 */
}

/* 마우스 오버 효과 (선택사항) */
.gallery-item a:hover .title {
    text-decoration: underline;
  }


/* 갤러리 전체 래퍼 (최대 1000px) */
.mov-table-wrap {
    max-width: 1000px;
    margin: 0 auto;
    border-top: 4px solid #c6a66a; /* 상단 두꺼운 선 (이미지 톤에 맞춤) */
    border-bottom: 4px solid #c6a66a; /* 하단 두꺼운 선 */
    background-color: #fff;
}

/* 갤러리 리스트 (Grid 적용) */
.mov-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* PC: 1줄에 4개 */
}


/* 갤러리 아이템 (테이블 셀 역할) */
.mov-item {
    border-right: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
    padding: 40px 10px 30px; /* 내부 여백 */
    text-align: center;
}

/* 우측 끝 아이템은 우측 선 제거 */
.mov-item:nth-child(3n) {
    border-right: none;
}

/* 마지막 줄 아이템들은 하단 선 제거 (래퍼의 하단 선과 겹치지 않게) */
.mov-list > .mov-item:nth-last-child(-n+3) {
    border-bottom: none;
}


/* 썸네일 영역 */
.mov-item .thumb {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 25px;
}

/* 썸네일 이미지 (150x271 비율 유지) */
.mov-item .thumb img {
    width: 280px;
    height: 150px;
    object-fit: cover; /* 이미지가 찌그러지지 않게 꽉 채움 */
    display: block;
    border: none; /* 썸네일 라인 제거 */
}

/* 제목 텍스트 */
.mov-item .title {
    font-size: 16px;
    color: #111;
    font-weight: 500;
    word-break: keep-all; /* 단어 단위로 줄바꿈 */
    line-height:1.5;
}

/* 마우스 오버 효과 (선택사항) */
.mov-item a:hover .title {
    text-decoration: underline;
  }


/*-----------------*/
/* 갤러리 리스트2 (Grid 적용) */
.mov_tv-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* PC: 1줄에 4개 */
}


/* 갤러리 아이템 (테이블 셀 역할) */
.mov_tv-item {
    border-right: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
    padding: 40px 10px 30px; /* 내부 여백 */
    text-align: center;
}

/* 우측 끝 아이템은 우측 선 제거 */
.mov_tv-item:nth-child(4n) {
    border-right: none;
}

/* 마지막 줄 아이템들은 하단 선 제거 (래퍼의 하단 선과 겹치지 않게) */
.mov_tv-list > .mov-item:nth-last-child(-n+4) {
    border-bottom: none;
}


/* 썸네일 영역 */
.mov_tv-item .thumb {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 25px;
}

/* 썸네일 이미지 (150x271 비율 유지) */
.mov_tv-item .thumb img {
    width: 110px;
    height: 83px;
    object-fit: cover; /* 이미지가 찌그러지지 않게 꽉 채움 */
    display: block;
    border: 1px solid #999;; 
    
}

/* 제목 텍스트 */
.mov_tv-item .title {
    font-size: 16px;
    color: #111;
    font-weight: 500;
    word-break: keep-all; /* 단어 단위로 줄바꿈 */
    line-height:1.5;
}

/* 마우스 오버 효과 (선택사항) */
.mov_tv-item a:hover .title {
    text-decoration: underline;
  }



.center-IDbox {
    width: 600px;
    height: 360px;
    background-color: #fff;
    border: 1px solid #e5e5e5; /* 연한 테두리 */
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
    margin:0 auto;
}

/* 2. 상단 헤더 영역 (다크 그레이 배경) */
.center-IDbox .header {
    background-color: #333333;
    padding: 22px 30px;
    display: flex;
    align-items: center;
    gap: 15px;
    border-radius: 16px;
}

.center-IDbox .header strong {
    color: #ffffff;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -0.05em;
}

.center-IDbox .header span {
    color: #ffffff;
    font-size: 15px;
    font-weight: 300;
    letter-spacing: -0.03em;
}

/* 3. 본문 컨텐츠 영역 */
.center-IDbox .content {
    flex: 1; /* 남은 높이를 모두 채움 */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 30px;
}

/* 안내 텍스트 (골드톤) */
.center-IDbox .info-text {
    color: #c6a66a; 
    font-size: 18px;
    font-weight: 500;
    margin: 0 0 15px 0;
    letter-spacing: -0.03em;
}

/* 4. 입력 폼 & 버튼 그룹 */
.center-IDbox .input-wrap {
    width: 100%;
    max-width: 380px; /* 시안 비율에 맞춘 폼 너비 */
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* 아이디 입력 인풋 */
.center-IDbox input {
    width: 100%;
    height: 48px;
    padding: 0 15px;
    border: 1px solid #c6a66a; /* 시안처럼 진하고 또렷한 테두리 */
    font-size: 16px;
    outline: none;
    box-sizing: border-box;
    margin:0 auto;
}

.center-IDbox input:focus {
    border-color: #c6a66a; /* 클릭 시 포인트 컬러로 변경 */
}

/* 로그인 버튼 */
.center-IDbox button {
    width: 100%;
    height: 50px;
    background-color: #c6a66a;
    color: #ffffff;
    border: none;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.2s;
    box-sizing: border-box;
}



/* =========================================
   온라인 예약 상단 안내 문구 박스
========================================= */
.reservation-info-box {
    max-width:90%;
    margin: 0 auto 40px auto; /* 중앙 정렬 및 테이블과의 하단 간격 */
    padding: 30px 40px;
    border: 1px solid #dcdcdc; /* 시안과 유사한 연한 회색 테두리 */
    border-radius:8px;
    background-color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-sizing: border-box;
}

/* 텍스트 리스트 영역 */
.reservation-info-box .info-text-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.reservation-info-box .info-text-list li {
    font-size: 15px;
    color: #444;
    line-height: 1.6;
    margin-bottom: 6px;
    word-break: keep-all;
}

.reservation-info-box .info-text-list li:last-child {
    margin-bottom: 0;
}

.reservation-info-box .info-text-list li strong {
    font-weight: 700;
    color: #222;
}

/* 빨간색 강조 텍스트 */
.reservation-info-box .info-text-list li.highlight {
    color: #e53e3e; /* 시안의 빨간색 톤 */
    font-size: 20px; /* 글씨 크기 키움 */
    font-weight: 400;
    margin-top: 15px; /* 위 텍스트와의 간격 확보 */
}

/* 오른쪽 예약확인 버튼 */
.reservation-info-box .btn-check-res {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 150px;
    height: 110px; /* 시안처럼 큼직한 높이 */
    background-color: var(--color-primary, #C6A66A);
    border-radius:8px;
    color: #fff;
    font-size: 18px;
    font-weight: 500;
    text-decoration: none;
    transition: opacity 0.2s;
    text-align: center;
}

.reservation-info-box .btn-check-res:hover {
    opacity: 0.85;
}


p.mark {
    margin: 0 auto 20px;
    text-align: left;
    font-size: 14px;
    color: #666;
}
p.mark sup,
.table_write th sup {
    font-weight: 700;
    color: #ff3300;
    font-size: 15px;
    top: -2px;
    margin-right: 2px;
}


.rev_1, .rev_2, .rev_3, .rev_4 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 65px;
    height: 26px;
    border-radius: 30px;
    font-size: 13px;
    font-weight: 500;
}

.rev_1 { border: 1px solid #b2b6b9; color: #656d74; } /* 대기/확인중 */
.rev_2 { border: 1px solid #7fdfe0; color: #00b0b1; } 
.rev_3 { border: 1px solid var(--color-primary, #C6A66A); color: var(--color-primary, #C6A66A); } /* 답변완료 전용 매칭 */
.rev_4 { border: 1px solid #8e7cf0; color: #6544cd; }



.new, .lock {
    font-size: 20px; 
    vertical-align: middle;
    margin-left: 4px;
    line-height: 1;
    display: inline-block; 
}

.new {
    font-size: 25px;
    color: #ff3b00; 
    /* 글자 형태의 아이콘이므로 속을 채우는 'FILL' 1을 주면 시안처럼 선명해집니다 */
    font-variation-settings: 'FILL' 1, 'wght' 300, 'GRAD' 0, 'opsz' 24;
}

.lock {
	font-size:20px;
    color: #C6A66A; /* 차분하고 세련된 소프트 그레이 */
    font-variation-settings: 'FILL' 1, 'wght' 300, 'GRAD' 0, 'opsz' 24;
}


.reply {
    display: inline-block;
    background: var(--color-primary, #C6A66A);
    color: #fff;
    padding: 4px 12px;
    font-size: 13px;
    font-weight: 500;
    border-radius: 4px;
    text-decoration: none;
}
.reply0 {
    display: inline-block;
    background: #e2e8f0;
    color: #4a5568;
    padding: 4px 12px;
    font-size: 13px;
    font-weight: 500;
    border-radius: 4px;
    text-decoration: none;
}




#pass_wrap {
    border: 1px solid #e5e7eb;
    width: 100%;
    max-width: 450px;
    border-radius: 12px;
    margin: 40px auto;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 4px 20px rgba(0,0,0,0.04);
}

#pass_wrap p.inner_txt {
    margin: 0;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    background: var(--color-primary, #C6A66A);
}

#pass_wrap input[type=password] {
    width: 80%;
    display: block;
    margin: 40px auto 15px;
}

#pass_wrap a.pass_btn,
#pass_wrap input[type=button] {
    display: block;
    width: 80%;
    height: 45px;
    background: #333;
    color: #fff;
    font-weight: 500;
    font-size: 16px;
    text-align: center;
    text-decoration: none;
    line-height: 45px;
    border: 0;
    border-radius: 6px;
    margin: 0 auto 40px;
    cursor: pointer;
    transition: background 0.2s;
}
#pass_wrap a.pass_btn:hover { background: #000; }

#telok_wrap {
    border: 2px dashed var(--color-primary, #C6A66A);
    border-radius: 12px;
    width: 100%;
    max-width: 600px;
    margin: 40px auto;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.8;
    text-align: center;
    padding: 50px 20px;
    box-sizing: border-box;
    background-color: #fdfcfb;
}





div.btn_wrap {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin: 40px auto;
}

/* 범용 100px 버튼 기본 기틀 */
div.btn_wrap a,
div.btn_wrap input[type=button] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    font-size: 16px;
    text-decoration: none;
    border: 0;
    cursor: pointer;
    transition: opacity 0.2s;
    box-sizing: border-box;
}
div.btn_wrap a:hover,
div.btn_wrap input[type=button]:hover { opacity: 0.85; }


.btn_100_b { width: 110px; height: 44px; background: var(--color-primary, #C6A66A); color: #fff; font-weight: 500; }

.btn_100_g { width: 110px; height: 44px; background: #656d74; color: #fff; font-weight: 500; }


div.btn_wrap input[type=button].btn_190_b { width: 190px; height: 50px; background: var(--color-primary, #C6A66A); color: #fff; font-weight: 600; font-size: 18px; }
div.btn_wrap input[type=button].btn_100_b { width: 120px; height: 50px; background: var(--color-primary, #C6A66A); color: #fff; font-weight: 600; font-size: 18px; }
div.btn_wrap input[type=button].btn_100_g { width: 120px; height: 50px; background: #656d74; color: #fff; font-weight: 600; font-size: 18px; }







div.search_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 20px 0;
    background: #f7f7f9;
    border-radius: 8px;
    margin: 40px auto 0;
}

div.search_wrap select {
    width: 130px;
    height: 42px;
    background: url(../img/common/select_ar.png) no-repeat right 12px center #fff;
    background-size: 12px auto;
    font-size: 15px;
    padding-left: 12px;
}

div.search_wrap input[type=text] {
    width: 320px;
    height: 42px;
    font-size: 15px;
    padding-left: 15px;
}

div.search_wrap button,
div.search_wrap input[type=submit] {
    width: 90px;
    height: 42px;
    background: #333;
    color: #fff;
    font-weight: 500;
    font-size: 15px;
    border: 0;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.2s;
}
div.search_wrap button:hover { background: #000; }


.pagi {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4px;
    margin-top: 40px;
}

.pagi a,
.pagi strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 15px;
    text-decoration: none;
    border-radius: 4px;
    box-sizing: border-box;
    transition: all 0.2s;
}

/* 링크 기본 상태 */
.pagi a {
    color: #888;
    background: #fff;
    border: 1px solid #F4F1EA;
}

/* 마우스 호버 및 현재 페이지 활성화 상태 */
.pagi a.now,
.pagi a:hover,
.pagi strong {
    color: #fff;
    background: var(--color-primary, #C6A66A);
    border: 1px solid var(--color-primary, #C6A66A);
}

/* 방향 이동 화살표 전용 스타일 */
.pagi a.first,
.pagi a.last {
	font-family: 'Material Symbols Outlined';
    font-size: 18px; /* 화살표 아이콘 크기 조절 */
    color: #a0aec0;  /* 기본 화살표 색상은 차분한 그레이 */
}

.pagi a.prev,
.pagi a.next {
	font-family: 'Material Symbols Outlined';
    font-size: 15px; /* 화살표 아이콘 크기 조절 */
    color: #a0aec0;  /* 기본 화살표 색상은 차분한 그레이 */
}

/*  화살표 아이콘 마우스 호버 스타일 보정 */
.pagi a.first:hover,
.pagi a.last:hover,
.pagi a.prev:hover,
.pagi a.next:hover {
    background-color: #fafafa; /* 배경은 연한 회색 */
    border: 1px solid var(--color-primary, #C6A66A); /* 테두리는 포인트 갈색 */
    color: var(--color-primary, #C6A66A) !important; 
}




/* 전체 박스 레이아웃 */
div#login, 
div#idpw_search {
    position: relative;
    width: 100%;
    max-width: 600px;
    margin: 50px auto;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    box-shadow: 0 4px 25px rgba(0,0,0,0.03);
    box-sizing: border-box;
    overflow: hidden; /* 추가: 상단 헤더 배경색이 둥근 모서리에 맞게 잘리도록 함 */
}

/* 상단 타이틀 헤더 */
div#login p.inner_txt {
    margin: 0;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    background: var(--color-primary, #C6A66A);
}
div#idpw_search b {
    color: #ff3300;
    font-weight: 700;
}

/* 가로 배열이었던 flex-wrap을 세로 중앙 정렬을 위한 래퍼로 수정 */
div#login .login-flex-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 40px; /* 상단 여백 */
}

/* 아이디/비번 입력 리스트 중앙 정렬 */
div#login ul {
    width: 80%; /* 버튼과 동일한 넓이로 맞춤 */
    margin: 50px auto; /* 추가: 중앙 정렬의 핵심 */
    padding: 0;
    list-style: none;
}

div#login ul li {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
}
div#login ul li:last-child { margin-bottom: 0; }

div#login ul li span {
    width: 70px;
    font-size: 16px;
    font-weight: 500;
    color: #333;
}

div#login ul li input[type=text],
div#login ul li input[type=password] {
    width: calc(100% - 70px);
    height: 42px;
    /* 입력창 기본 테두리 및 패딩(공통 CSS에 있다면 생략 가능) */
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 0 10px;
    box-sizing: border-box;
}

/* 로그인 실행 단일 버튼 구조화 */
div#login .login_btn,
div#login input[type=submit] {
    display: block;
    width: 80%; /* ul과 넓이를 동일하게 맞춤 */
    height: 50px; /* 시안처럼 큼직하게 45px -> 50px로 키움 */
    background: #333;
    color: #fff;
    font-weight: 500;
    font-size: 16px;
    text-align: center;
    text-decoration: none;
    line-height: 50px; /* 높이와 맞춤 */
    border: 0;
    border-radius: 6px;
    margin: 20px auto 40px auto; /* 위 간격 20px, 아래 간격 40px 주면서 중앙 정렬 */
    cursor: pointer;
    transition: background 0.2s;
}
div#login .login_btn:hover { background: #111; }

/* 하단 회원가입 / 정보찾기 이동 링크 바 */
div#login_btn_wrap {
    display: flex;
    justify-content: center;
    gap: 15px;
    width: 100%;
    max-width: 600px;
    margin: 20px auto;
}
div#login_btn_wrap a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 44px;
    color: #fff;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    border-radius: 6px;
}
div#login_btn_wrap a.left_btn  { background: #555; }
div#login_btn_wrap a.right_btn { background: var(--color-primary, #C6A66A); }



/*전후사진 tab*/
ul.pic_tab {
    position: relative;
    width: 90%;        /* 부모 inner-wrap에 꽉 차도록 100% 지정 */
    max-width: 1100px;  
    margin: 0 auto 40px auto;
    padding: 0;
    list-style: none;    
    display: flex;
    justify-content: center;
    gap: 10px;    
}

ul.pic_tab li { 
    flex: 1; 
    height: 50px;
}

ul.pic_tab li a {    
    display: flex;
    align-items: center;
    justify-content: center;    
    width: 100%;
    height: 100%;
    border: 1px solid #C6A66A;
    color: #C6A66A;
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    box-sizing: border-box;
    transition: all 0.2s ease; 
}

ul.pic_tab li a:hover,
ul.pic_tab li a.on {
    background: #C6A66A;
    color: #fff;
}

/*전후사진 리스트*/

ul.pic_wrap {
    position: relative;
    width:90%;
    margin: 0 auto;
    padding: 0;
    list-style: none;    
    display: flex;
    flex-wrap: wrap; 
    gap: 80px 5%; 
    justify-content: flex-start; 
}

ul.pic_wrap li {
    width: 30%; 
    height: auto;  
    margin-bottom: 0;
    text-align: center;
    box-sizing: border-box;
}

ul.pic_wrap li a {
    position: relative;
    display: block;
    width: 100%;  
    color: #222;
    text-decoration: none;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: -0.05em;
}

ul.pic_wrap li a img {
    display: block;
    width: 100%;   
    height: auto;
    aspect-ratio: 3 / 2; 
    object-fit: cover;
    margin: 0 auto 12px auto;
}


ul.pic_wrap li a p.mask {
    position: absolute;
    left: 0;
    top: 0;
    width: 50%; 
    aspect-ratio: 3 / 4; 
    background: rgba(0, 0, 0, 0.75);
    display: flex;
    flex-direction: column; 
    justify-content: center;
    align-items: center;
    gap: 8px; 
    margin: 0;
}


ul.pic_wrap li a p.mask span.material-symbols-outlined {
    font-size:40px;
    color:#fff; 
    font-family: 'Material Symbols Outlined';
}

ul.pic_wrap li a p.mask span {
    color: #fff;
    font-size: 14px;
    font-weight:400;
}

/* =========================================
   PC용 / 모바일용 리스트 화면 크기별 전환
   (.table_list / .table_list_m 중복 노출 방지)
========================================= */
.table_list_m {
    display: none;
}

@media screen and (max-width: 768px) {
    .table_list {
        display: none;
    }
    .table_list_m {
        display: table;
        width: 100%;
    }
}
