/*! 파트너센터 공통 묶음(css_ui) — _src/libs/bundle.mjs 가 www/lib/bundle.php 목록대로 만든 것. 고칠 것은 원본 파일 · 다시 만들기 node _src/libs/bundle.mjs */
/* ── lib/css/layout.css ── */
@charset "utf-8";
/* perfect-scrollbar · dropify · tagator · Chart CSS 는 쓰는 화면만 partner/head.sub.php 가 이 파일 앞에 링크(576th — 옛 @import 다섯 줄, multi-select 는 안 써서 지움) */
/* 예약 목록·판매관리·예약 View 문자전송 창 · 승선명부 · 정산관리 표만 쓰는 규칙은 2026-11-01(코드 정리 추천 5) partner/css/reserve_list.css · settlement.css · login.css(로그인 화면) 로 옮겼다 — 그 화면만 받는다. 남은 것은 모든 화면이 쓰는 틀·공통 부품. */

/* ── 부트스트랩 5 전환(2026-10-27, 1단계 호환) — 3 에 있던 모양 가운데 화면들이 아직 기대는 것. 2단계에서 화면마다 5 방식으로 바꾸며 걷어낸다 ──
   · .form-inline(101곳) — 3 의 한 줄 폼(입력칸·고르기·단추를 글자처럼 나란히)
   · [data-bs-toggle="buttons"](54곳) — 3 의 단추 묶음 고르기(label.btn 안 체크·라디오를 숨김 — active 는 layout.js btnGroups)
   · 3 의 reboot — 제목·이름표·문단·구분선·표 여백 · 굵은 글자 700
   · .btn-sm · .btn-outline-secondary 는 _src/bootstrap/scss/bootstrap.scss(부트스트랩 믹스인) */
.form-inline .form-control, .form-inline .form-select { display: inline-block; width: auto; vertical-align: middle; }
.form-inline .input-group { display: inline-flex; width: auto; vertical-align: middle; }
.form-inline .btn-group, .form-inline .form-check, .form-inline label { vertical-align: middle; }
[data-bs-toggle="buttons"] > .btn input[type="radio"], [data-bs-toggle="buttons"] > .btn input[type="checkbox"],
[data-bs-toggle="buttons"] > .btn-group > .btn input[type="radio"], [data-bs-toggle="buttons"] > .btn-group > .btn input[type="checkbox"],
[data-bs-toggle="buttons"] .btn > input[type="radio"], [data-bs-toggle="buttons"] .btn > input[type="checkbox"] { position: absolute; clip: rect(0, 0, 0, 0); pointer-events: none; }
[data-bs-toggle="buttons"] .btn { cursor: pointer; }
h1, h2, h3 { margin-top: 20px; margin-bottom: 10px; }
h4, h5, h6 { margin-top: 10px; margin-bottom: 10px; }
h1 small, h2 small, h3 small { font-size: 65%; font-weight: 400; color: #777; }   /* 3 의 제목 옆 작은 글 */
h4 small, h5 small, h6 small { font-size: 75%; font-weight: 400; color: #777; }
label { display: inline-block; max-width: 100%; margin-bottom: 5px; font-weight: 700; }
p { margin: 0 0 10px; }
hr { margin: 20px 0; border-top: 1px solid #eee; opacity: 1; }
.table { margin-bottom: 20px; --bs-table-bg: transparent; }
.table > :not(caption) > * > * { line-height: 1.428571; }   /* 3 의 표 칸 줄 높이(5 는 본문 1.6 을 물려받아 줄이 높아진다) */
.row > *:not([class^="col-"]):not([class*=" col-"]) { width: auto; flex: 0 0 auto; max-width: 100%; padding-left: 0; padding-right: 0; margin-top: 0; }   /* 3 의 .row 안 비컬럼 요소는 그냥 흐름 — 5 는 모든 자식을 폭 100% 로 */
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12 { padding-left: 15px; padding-right: 15px; }   /* .row 밖에서 쓴 col-* (3 은 float — flex 안에서는 float 가 무시돼 안전) */
:not(.row) > .col-1, :not(.row) > .col-2, :not(.row) > .col-3, :not(.row) > .col-4, :not(.row) > .col-5, :not(.row) > .col-6, :not(.row) > .col-7, :not(.row) > .col-8, :not(.row) > .col-9, :not(.row) > .col-10, :not(.row) > .col-11, :not(.row) > .col-12 { float: left; }
.form-select.btn, .form-control.btn { --bs-btn-bg: #fff; --bs-btn-color: #555; --bs-btn-border-color: #ccc; text-align: left; }   /* 고르기 칸에 .btn 을 겹쳐 쓴 곳(예약현황 상품 고르기) — 5 의 .btn 은 바탕 투명 */
.navbar-list::after { content: ''; display: table; clear: both; }   /* 아래 단추 줄 안 float(문자전송 왼쪽) — 3 의 navbar 는 clearfix 였다 */   /* 5.3 은 칸마다 흰 바탕(--bs-table-bg = body-bg)을 칠해 tr 의 색(.b-info2 등)이 가려진다 */
ul, ol { margin-bottom: 10px; }
b, strong { font-weight: 700; }
.input-group > .btn { height: auto; }
.btn { white-space: nowrap; }   /* 3 의 단추는 줄바꿈 없음(5 는 꺾인다 — 「기간추가」 같은 짧은 글이 두 줄로) */
/* 글자색 .text-success·info·warning·danger = 옛 3 의 상태 글자색(어두운 톤 — 5 는 단추 색과 같은 밝은 값이라 아이콘·글이 달라 보였다, 418th) · .text-primary 는 팔레트(#4989d3) 그대로 */
.text-success { color: color-mix(in oklch, var(--bs-success), #000 30%) !important; }   /* 456th — 브랜드 색을 어둡게(옛 3 상태 글자색 #3c763d 등 대신) */
.text-info { color: color-mix(in oklch, var(--bs-info), #000 35%) !important; }
.text-warning { color: color-mix(in oklch, var(--bs-warning), #000 30%) !important; }
.text-danger { color: color-mix(in oklch, var(--bs-danger), #000 25%) !important; }
.badge { border-radius: 999px; }   /* 2단계: 배지는 pill 로 통일(옛 .label 각진 모양 뺌) */
/* 태그 입력(layout.js yzTags — 옛 bootstrap-tagsinput) */
.yz-tags { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; min-height: 34px; padding: 3px 6px; border: 1px solid #ccc; background: #fff; cursor: text; }
.yz-tags__src { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0; pointer-events: none; }
.yz-tags__tag { display: inline-flex; align-items: center; gap: 4px; padding: 1px 4px 1px 8px; background: #337ab7; color: #fff; font-size: 12px; line-height: 20px; }
.yz-tags__x { border: 0; background: none; color: #fff; font-size: 15px; line-height: 1; padding: 0 2px; cursor: pointer; opacity: .8; }
.yz-tags__x:hover { opacity: 1; }
.yz-tags__in { flex: 1 0 60px; border: 0; outline: 0; min-width: 60px; font-size: 13px; line-height: 24px; background: transparent; }

body {
	background-color: var(--bs-light);
}

.wrapper {
	position: relative;
	width: 100%;
}
.container {
	position: relative;
	width: 100%;
	max-width: 1920px;   /* 본문 틀 최대 1920(좌우 여백 포함 — box-sizing) · 넓은 화면은 가운데 (2026-10-04 대표 지시). 설정 화면은 화면마다 960(홈페이지 관리 .vf-body · 회사 정보 .cp-wrap …) */
}
/* 본문 틀 960 — 홈페이지 관리(.vf-body)·회사 정보(.cp-wrap)처럼 본문 960 가운데(2026-10-07 대표 지시 — 변경취소·게시판·지역분류·서비스분류·공지사항, 화면이 head.php 에 알림).
   틀 여백(좌우 15 — 1280 이하 5)까지 넣어 본문이 960 */
.container.container-960 {
	max-width: 990px !important;
}
@media (max-width: 1280px) {
	.container.container-960 {
		max-width: 970px !important;
	}
}
@media (max-width: 1280px) {   /* 2단계(2026-10-27): 1,260 고정 폭 해제 — 좁은 화면은 틀이 줄고 표는 가로 스크롤(아래 「반응형」 블록) */
	.container {
		padding-left: 5px;
		padding-right: 5px;
	}
	.row {
		margin-left: -5px;
		margin-right: -5px;
	}
	.col-1,
	.col-sm-1,
	.col-md-1,
	.col-lg-1,
	.col-2,
	.col-sm-2,
	.col-md-2,
	.col-lg-2,
	.col-3,
	.col-sm-3,
	.col-md-3,
	.col-lg-3,
	.col-4,
	.col-sm-4,
	.col-md-4,
	.col-lg-4,
	.col-5,
	.col-sm-5,
	.col-md-5,
	.col-lg-5,
	.col-6,
	.col-sm-6,
	.col-md-6,
	.col-lg-6,
	.col-7,
	.col-sm-7,
	.col-md-7,
	.col-lg-7,
	.col-8,
	.col-sm-8,
	.col-md-8,
	.col-lg-8,
	.col-9,
	.col-sm-9,
	.col-md-9,
	.col-lg-9,
	.col-10,
	.col-sm-10,
	.col-md-10,
	.col-lg-10,
	.col-11,
	.col-sm-11,
	.col-md-11,
	.col-lg-11,
	.col-12,
	.col-sm-12,
	.col-md-12,
	.col-lg-12 {
		padding-left: 5px;
		padding-right: 5px;
	}
}
/* ===== 틀 색 = 부트스트랩 테마 색(2026-10-27 427th 대표 지시) =====
   「기본 틀의 배경·색은 Primary · Secondary · Success · Danger · Warning · Info · Light · Dark 위주 — 그 값을 바꾸면 공통으로 바뀌게」
   값은 _src/bootstrap/scss/bootstrap.scss 팔레트($primary … $dark · $light) → --bs-* 변수. 이 파일의 틀 색은 그 변수만 쓰고,
   조금 어둡거나 밝은 칸은 아래 --yz-* 가 테마 색을 검정·흰색과 섞어 만든다(옛 hex 와 거의 같은 값 — 괄호 안이 옛 값).
   테마 색을 바꾸면: scss 팔레트를 고쳐 빌드(단추·배지·링크까지) · 화면만 잠깐 보려면 :root 에 --bs-primary 등을 덮어써도 이 파일은 따라간다 */
:root {
	--yz-primary-dark: color-mix(in oklch, var(--bs-primary), #000 9%);    /* (#347cce) 테두리·진한 파랑 */
	--yz-primary-deep: color-mix(in oklch, var(--bs-primary), #000 28%);   /* (#1d4ed8) 고른 회차 탭 글자 */
	--yz-danger-dark: color-mix(in oklch, var(--bs-danger), #000 5%);      /* (#f53d66) */
	--yz-danger-light: color-mix(in oklch, var(--bs-danger), #fff 12%);    /* (#ff6986) */
	--yz-warning-dark: color-mix(in oklch, var(--bs-warning), #000 7%);    /* (#e67700) */
	--yz-info-dark: color-mix(in oklch, var(--bs-info), #000 6%);          /* (#8992b0) */
	--yz-dark-deep: color-mix(in srgb, var(--bs-dark), #000 30%);          /* (#1f2430) 띠 드롭다운·상태 알약 묶음 바탕 */
	--yz-dark-edge: color-mix(in srgb, var(--bs-dark), #000 16%);          /* (#242e3d) 어두운 테두리·줄 오버 */
	--yz-dark-rule: color-mix(in srgb, var(--bs-dark), #fff 10%);          /* (#424a58) 띠 안 가는 선 */
	--yz-dark-soft: color-mix(in srgb, var(--bs-dark), #fff 9%);           /* (#3f4659) 맨 위 줄·휴대폰 메뉴 */
	--yz-dark-softer: color-mix(in srgb, var(--bs-dark), #fff 16%);        /* (#4c5366) 위 머리 바탕 */
	--yz-dark-text: color-mix(in srgb, var(--bs-light), var(--bs-dark) 20%);   /* (#c9d1dc) 어두운 바탕 위 옅은 글자 */
	--yz-light-soft: color-mix(in srgb, var(--bs-light), #fff 50%);        /* (#f8f9fd · #f4f8fb) 아주 옅은 바탕 */
}
/* nav ====================================================================================*/
.navbar {
	border-radius: 0;
	background-color: var(--yz-dark-softer);
	border: 0;
	min-height: 90px;
	margin-bottom: 0;
	padding: 0;   /* 5 의 .navbar 는 가로 flex(space-between)·위아래 여백 (2026-10-27) */
	--bs-navbar-nav-link-padding-x: 20px;
}
.navbar.fixed-top {   /* 위 머리 — 두 줄(맨 위 줄 .navbar-header · 메뉴 줄 .navbar-collapse)을 세로로 쌓는다 */
	flex-direction: column;
	align-items: stretch;
}
.navbar-collapse {
	border-top: 0 !important;
	padding: 0;
	box-shadow: none;
	width: 100%;
}
.navbar-nav {
	margin: 0;
}
.navbar-header {   /* 맨 위 줄 높이 40px(2026-10-27 446th 대표 지시 — 옛 39) · 로고·단추 줄 세로 가운데 */
	background-color: var(--yz-dark-soft);
	display: flex;   /* 5: 로고 왼쪽 · 단추 줄 오른쪽(옛 float) */
	align-items: center;
	justify-content: space-between;
	height: 40px;
	padding: 0 10px;
}
.navbar-brand {   /* 로고 = 머리 줄(40px — 446th) 가운데 · 높이 24px(2026-10-24 대표 지시 — 옛 150×27 에서 10% 줄이고 위아래 여백 같게, 옛 위 6 · 아래 2) */
	display: flex;
	align-items: center;
	padding: 0 15px;
	height: 40px;
}
.navbar-brand > img {
	height: 24px;
	width: auto;
}

.navbar-main > li > .nav-link,
.navbar-main > li.show > .nav-link {
	color: #fff !important;
	position: relative;
	padding: 0 20px;
	height: 52px;
	line-height: 52px;
}
.navbar-main > li.show > .nav-link,
.navbar-main > li.show > .nav-link:hover,
.navbar-main > li.show > .nav-link:focus,
.navbar-main > li > .nav-link:hover {
	background-color: var(--bs-dark) !important;
	font-weight: 700;
	font-size: 16px;
}
.navbar-main > li > .nav-link.on {
	background-color: var(--bs-dark);
	font-weight: 700;
	font-size: 16px;
}
.navbar-main .dropdown-toggle::after { display: none; }   /* 5 의 드롭다운 화살표 — 옛 메뉴엔 없었다 */
/* 메뉴 배지 = 부트스트랩 position-absolute top-0 start-100 translate-middle badge rounded-pill bg-danger(2026-10-27 425th 대표 지시 — 글자 .nb-t 오른쪽 위 모서리, head.php $_bd) · 옛: 메뉴 칸 오른쪽 위 7px 동그라미 */
.navbar-main > li > .nav-link .nb-t > .badge { font-size: 10px; font-weight: 600; padding: .3em .5em; }
/* 위 메뉴 펼침 목록(체험단·설정·시스템 — partner/head.php) = 띠 드롭다운 목록(.type-dd__menu — 판매채널·결제 …)과 같은 모양(2026-10-31 573rd 대표 지시)
   어두운 바탕 · 글 #c9d1dc 13px · 줄 6/14 · 올리면 진한 바탕 흰 글 · 지금 화면 = 파랑 · 그림자 — 값은 .type-dd > .type-dd__menu 와 같은 변수 */
.navbar-main > li > ul.dropdown-menu {
	--bs-dropdown-bg: var(--yz-dark-deep); --bs-dropdown-color: var(--yz-dark-text); --bs-dropdown-border-color: var(--bs-dark);
	--bs-dropdown-link-color: var(--yz-dark-text); --bs-dropdown-link-hover-color: #fff; --bs-dropdown-link-hover-bg: var(--bs-dark);
	--bs-dropdown-link-active-color: #fff; --bs-dropdown-link-active-bg: var(--bs-primary);
	--bs-dropdown-item-padding-x: 14px; --bs-dropdown-item-padding-y: 6px; --bs-dropdown-padding-y: 4px; --bs-dropdown-font-size: 13px;
	padding: var(--bs-dropdown-padding-y) 0;
	background-color: var(--bs-dropdown-bg);
	border: 1px solid var(--bs-dropdown-border-color);
	box-shadow: 0 8px 20px rgba(0, 0, 0, .35);
	font-size: var(--bs-dropdown-font-size);
}
.navbar-main > li > ul.dropdown-menu > li > a {
	position: relative;
	padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
	color: var(--bs-dropdown-link-color);
	font-size: var(--bs-dropdown-font-size);
	white-space: nowrap;
}
.navbar-main > li > ul.dropdown-menu > li > a:hover, .navbar-main > li > ul.dropdown-menu > li > a:focus { color: var(--bs-dropdown-link-hover-color); background-color: var(--bs-dropdown-link-hover-bg); }
.navbar-main > li > ul.dropdown-menu > li > a.on, .navbar-main > li > ul.dropdown-menu > li > a.active { color: var(--bs-dropdown-link-active-color); background-color: var(--bs-dropdown-link-active-bg); }   /* 지금 화면 */
@media (max-width: 767px) {
	.navbar-main .show .dropdown-menu {
		position: absolute !important;
		background-color: var(--bs-dropdown-bg) !important;
		border: 1px solid var(--bs-dropdown-border-color) !important;
		box-shadow: 0 8px 20px rgba(0, 0, 0, .35) !important;
		top: 100%;
		left: 0;
		min-width: 160px;
		z-index: 1000;
	}
}

.navbar-main > li > .nav-link.code {
	padding: 6px 25px 1px 25px;
	margin: 0 10px;
}
.navbar-main > li > .nav-link.code i {
	padding: 0;
	font-size: 42px;
	color: #ffffff;
}
.navbar-main > li > .nav-link i {
	padding-right: 7px;
}
.navbar-main > li > .nav-link i.t-danger {
	position: absolute;
	right: 0;
	top: 12px;
}

.navbar-main > li.divider-vertical {   /* 설정 | 시스템 사이 세로선 (옛 head.php 인라인 값 그대로) */
	width: 1px;
	height: 20px;
	background-color: rgba(255, 255, 255, 0.2);
	border-left: 1px solid #aaa;
	margin: 15px 4px;
	padding: 0;
	float: left;
}

.navbar-search {
	background-color: var(--bs-dark);
}
/* 위 띠(검색 줄) — PC 는 한 줄로 · 휴대폰은 묶음별로 줄 바꿈 (옛 head.sub.php 인라인 <style>, 2026-10-24 옮김) */
.navbar-search .form-inline { display: flex; flex-wrap: wrap; align-items: center; }
.navbar-search .row.ptb-10 { font-family: 'Montserrat', 'Pretendard Variable', Pretendard, -apple-system, 'Malgun Gothic', sans-serif; }   /* 예약 목록 위 띠 둘째 줄(상태·판매·결제 단추 · 행 · 상품 · 검색칸 · 검색 · 초기화) = Montserrat(2026-10-24 대표 지시) — 영문·숫자만 Montserrat, 한글은 Montserrat 에 없어 다음 글꼴 Pretendard · 단추·고르기·입력칸은 부트스트랩 font: inherit 로 따라옴 */
.navbar-search .input-group { display: inline-flex; width: auto; vertical-align: middle; }
.navbar-search .input-group .form-control { width: auto; }
@media (max-width: 767px) {
	.navbar-search .form-inline { flex-direction: row; flex-wrap: wrap; align-items: center; }
	.navbar-search .form-inline > .btn-group[data-bs-toggle="buttons"] { width: 100%; margin-left: 0; margin-bottom: 3px; display: flex; flex-wrap: wrap; }   /* 단추 묶음 = 한 줄씩 */
	.navbar-search .form-inline > .btn-group:not([data-bs-toggle="buttons"]) { width: auto; margin-left: 0; margin-right: 4px; }   /* 고르기 칸 묶음 = 검색칸과 같은 줄 */
	.navbar-search .form-inline > select { width: auto !important; margin-left: 0 !important; margin-right: 4px !important; }
	.navbar-search .form-inline::after { content: ''; flex-basis: 100%; height: 0; order: 1; }   /* 초기화 단추는 다음 줄 */
	.navbar-search .form-inline > a.btn { order: 2; width: auto; margin-left: 0; margin-top: 3px; }
	.navbar-search .input-group { display: flex; flex: 0 0 auto; width: auto; }
	.navbar-search .input-group .form-control { flex: 0 0 auto; width: auto; }
}
.page-nav-title { white-space: nowrap; line-height: 30px; margin-right: 25px; }   /* 위 띠 왼쪽 메뉴 경로(head.php) */
.page-nav-title .page-nav-link { color: #fff; text-decoration: none; border-bottom: 1px dotted rgba(255, 255, 255, .55); }
.page-nav-title .page-nav-link:hover { border-bottom-style: solid; }
.page-nav-title .bi-chevron-right { font-size: 16px; margin: 0 6px; }

.sel-sedate {
	margin: 10px 0 0;
	color: #fff;
	font-family: 'Montserrat';
	font-weight: 700;
	font-size: 26px;
	letter-spacing: 1px;
	cursor: pointer;
}
.sel-sedate small {
	color: #fff;
	font-family: 'Montserrat';
	font-weight: 700;
}

.navbar-time {
	position: absolute;
	left: 0;
	top: var(--nav-h, 90px);
	padding: 10px 0;
	width: 100%;
	background-color: var(--bs-dark);
	z-index: 998;
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12),
		0 3px 1px -2px rgba(0, 0, 0, 0.2);
}

.navbar-time .btn {
	font-size: 13px;
	color: #9ca9bc;
	background-color: #1a212a;
	border: 1px solid var(--bs-dark);
	padding: 5px 20px;
	font-weight: 700;
}
.navbar-time .btn.active,
.navbar-time .btn:hover {
	background-color: #4fd1fc;
	color: #0d3846;
	box-shadow: none;
}

.head-spacer {
	height: 120px;
}

.navbar-list {
	display: block;   /* 5 의 .navbar flex(space-between) 대신 옛대로 글자 흐름(text-end 로 오른쪽) */
	background-color: var(--bs-dark);
	padding: 0;
	min-height: 50px;
	min-width: auto;
}
.navbar-list h3 {
	color: #fff;
}
.navbar-list select[name='real_time'] {
	background-color: #d6d9e3;
	color: #000;
	border: 1px solid #d6d9e3;
	border-radius: 0;
	height: 50px;
	font-size: 14px;
}
.navbar-list .btn {
	border-radius: 0;
	font-size: 14px;
	padding: 15px 22px;
	height: 50px;
	min-width: 102px;
	margin-left: 10px;
}
.navbar-list .btn:first-child {
	margin-left: 0;
}
.dropdown-time-picker .dropdown-menu {
	padding: 15px 0 50px;
	max-height: 70vh;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}
.dropdown-time-picker .dropdown-menu li {
	border-top: 1px solid #ddd;
}
.dropdown-time-picker .dropdown-menu li:first-child {
	border-top: 0;
}
.dropdown-time-picker .dropdown-menu li a {
	padding: 10px 15px;
}
.dropdown-time-picker .dropdown-menu li a h4 {
	margin: 0;
}
.dropdown-time-picker .dropdown-menu li a div {
	text-align: right;
	position: relative;
}
.dropdown-time-picker .dropdown-menu li a div span {
	position: absolute;
	left: 0;
	top: 3px;
}

.navbar-position-top {
	position: absolute;
	top: var(--nav-h, 90px);   /* 머리 높이 — layout.js headLayout() (2단계) */
	bottom: auto;
	width: 100%;
}

.footer {
	height: 90px;
	padding-top: 20px;
	text-align: center;
	font-size: 12px;
}

/* common ====================================================================================*/
.table > caption + thead > tr:first-child > th,
.table > colgroup + thead > tr:first-child > th,
.table > thead:first-child > tr:first-child > th,
.table > caption + thead > tr:first-child > td,
.table > colgroup + thead > tr:first-child > td,
.table > thead:first-child > tr:first-child > td {
	border-width: 1px;
}
.w-full {
	width: 100%;
}

.shadow {
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12),
		0 3px 1px -2px rgba(0, 0, 0, 0.2);
}
.b-info {
	background-color: #cbcfdc;
}
.b-info2 {
	background-color: #e4e6ec !important;
}
.b-success {
	background-color: #abdfab;
}
.b-success2 {
	background-color: #d9f7d9 !important;
}
.b-warning {
	background-color: #ffda78;
}
.b-warning2 {
	background-color: #fff2d0 !important;
}
.b-danger {
	background-color: #f8b0c0;
}
.b-danger2 {
	background-color: #ffedf1 !important;
}
.b-primary {
	background-color: #dfeeff !important;
}
.b-primary2 {
	background-color: #cce4ff !important;
}
.b-gray {
	background-color: #F6F6F6 !important;
}
.b-opacity {
	opacity: 0.5;
}
.bi-blue {
	background-image: radial-gradient(
		circle 248px at center,
		#16d9e3 0%,
		#30c7ec 47%,
		#46aef7 100%
	) !important;
}
.bi-green {
	background-image: linear-gradient(to bottom, #00b09b, #96c93d) !important;
}

.t-primary {
	color: var(--bs-primary) !important;
}
.t-info {
	color: var(--bs-info) !important;
}
.t-success {
	color: var(--bs-success) !important;
}
.t-warning {
	color: var(--bs-warning) !important;
}
.t-danger {
	color: var(--bs-danger) !important;
}
.t-open {
	color: #06abba !important;
}
.t-week {
	color: var(--bs-danger) !important;
}
.t-season {
	color: #63c !important;
}
.t-gray {
	color: #999 !important;
}
.t-white {
	color: #fff;
}
.t-error {
	color: var(--bs-danger) !important;
}


.font10 {
	font-size: 10px !important;
}

.font12 {
	font-size: 12px !important;
}
.font13 {
	font-size: 13px;
}


.font16 {
	font-size: 16px !important;
}


.font22 {
	font-size: 22px;
}

.font-mont {
	font-family: 'Montserrat';
	font-weight: 700 !important;
}
.fb {
	font-weight: 700;
}
.fn {
	font-weight: 400 !important;
}


.b-0 {
	border: 0;
}

.badge {
	font-size: 12px;
	font-weight: 400;
	border-radius: 0;
	padding: 2px;
}
.badge.sub {
	position: absolute;
	top: 3px;
	left: 3px;
	font-size: 10px;
}

.badge.subR {
	position: absolute;
	top: 3px;
	right: 3px;
	font-size: 10px;
}


.table-in {
	margin: 0;
}
.table-center th,
.table-center td {
	text-align: center;
}
.table-center td.lt {
	text-align: left;
}
.table-center td.rt {
	text-align: right;
}
.table-middle th,
.table-middle td {
	vertical-align: middle;
}
.table tfoot td {
	font-weight: 700;
}
.table td .input-group-text {
	font-size: 12px;
}


.dropdown-menu > li > a {
	padding: 10px 15px;
}
.collapsed i {
	transform: rotate(180deg);
	vertical-align: -15%;
}
.bi-chevron-up {
	vertical-align: 0;
}
.popover-body {
	font-size: 12px;
}

/* 단추·입력칸 모서리 = 부트스트랩 기본값(.25rem = 4px — _src/bootstrap/scss) · 2026-10-27 417th 대표 지시 「최신 디자인 느낌」 — 옛 규칙 border-radius: 0 !important(3 시절, 고르기 칸만 둥글고 단추·입력칸은 각져 섞여 있었다) 뺌. 각지게 둘 곳은 그 화면 CSS 에서 */
.btn-white,
.btn-white:hover {
	background-color: #fff;
	border-color: #ccc;
	color: #333;
}

.btn-check {
	background-color: #fff;
	border-color: #ccc;
	color: #333;
	position: relative;
}
.btn-check.active {
	background-color: var(--bs-danger);
	border-color: var(--yz-danger-dark);
	color: #fff !important;
}
.btn-check.active:before {
	content: '\f633';
	font-family: 'bootstrap-icons';
	position: absolute;
	top: 3px;
	right: 5px;
	color: #fff;
	font-size: 1.2em;
}
.btn-check2 {
	background-color: #fff;
	border-color: #ccc;
	color: #333;
	position: relative;
}
.btn-check2.active {
	background-color: var(--bs-info);
	border-color: var(--yz-info-dark);
	color: #fff !important;
}
.btn-check2.active:before {
	content: '\f633';
	font-family: 'bootstrap-icons';
	position: absolute;
	top: 3px;
	right: 5px;
	color: #fff;
	font-size: 1.2em;
}
.btn-check3 {
	background-color: #fff;
	border-color: #ccc;
	color: #333;
	position: relative;
}
.btn-check3.active {
	background-color: var(--bs-primary);
	border-color: var(--yz-primary-dark);
	color: #fff;
}
.btn-check3.active:before {
	content: '\f633';
	font-family: 'bootstrap-icons';
	position: absolute;
	top: 3px;
	right: 5px;
	color: #fff;
	font-size: 1.2em;
}

.btn-check.active:before {
	content: '\f633';
	font-family: 'bootstrap-icons';
	position: absolute;
	top: 3px;
	right: 5px;
	color: #fff;
	font-size: 1.2em;
}
.btn-check.primary.active {
	background-color: var(--bs-primary) !important;
	border-color: var(--yz-primary-dark);
	color: #fff !important;
}
.btn-check.warning.active {
	background-color: var(--bs-warning) !important;
	border-color: var(--yz-warning-dark);
	color: #fff !important;
}
.btn-check.danger.active {
	background-color: var(--bs-danger) !important;
	border-color: var(--yz-danger-dark);
	color: #fff !important;
}
.btn-check.info.active {
	background-color: var(--bs-info) !important;
	border-color: var(--yz-info-dark);
	color: #fff !important;
}
.btn-check.success.active {
	background-color: var(--bs-success) !important;
	border-color: var(--bs-success);
	color: #fff !important;
}

.navbar-search .btn-info.active {
	background-color: #5668a3;
	border-color: #4f62a1;
}

.navbar-search .btn-group-sm .btn-info {
	background-color: var(--bs-dark);
	border-color: transparent;
	border-radius: 6px 6px 0 0 !important;
	border-bottom: 0;
	margin: 0;
	font-size: 14px;
}
.navbar-search .btn-group-sm .btn-info.active {
	background-color: var(--bs-danger);
	border-color: transparent;
	border-bottom: 0;
	margin: 0;
}

.btn-sm.active:before {
	top: 0;
}

.sweet-alert {
	border-radius: 14px;   /* 모든 스윗얼럿 창 모서리 둥글게(2026-10-25 406th 대표 지시 — 405th 「가맹점이 바뀌었습니다」 창과 같게 · 단추는 사이트 규칙대로 각지게 .btn 0 !important) */
}
.sweet-alert h2 {
	font-size: 18px;
	line-height: 1.6;
	font-weight: 400;
}
/* sa-icon 안의 success 마스크(::before/::after)가 아이콘 박스 밖으로
   번져 나가 아래 제목(h2) 텍스트를 가리는 문제 방지 */
.sweet-alert .sa-icon {
	overflow: hidden;
}
.sweet-alert p {
	font-size: 14px;
}
/* 「가맹점이 바뀌었습니다」 창(tail.php check_vid — 2026-10-25 404th) — 본문은 삭제 확인 창의 빨간 글(sweetalert.css p.lead) 대신 짙은 회색 */
.sweet-alert.vd-changed p.lead { color: #444 !important; font-size: 15px !important; line-height: 1.7; }.ps {
	position: relative;
	overflow: auto;
}
.form-text {
	margin-bottom: 0;
	color: var(--bs-danger);
	font-size: 12px;
}

.form-text.inline {
	display: inline-block;
	vertical-align: middle;
	margin: 7px 0 0 8px;
}

.none {
	display: none;
}

.note {
	padding: 15px;
	background-color: var(--yz-light-soft);
	font-size: 14px;
}
.note strong {
	color: var(--bs-danger);
	font-size: 16px;
}

.modal-backdrop {
	position: fixed;
}
.modal-backdrop.show {
	opacity: 0.3;
}
.modal-content {
	border: 0;
	border-radius: 0;
}
.modal-header {
	background-color: var(--yz-light-soft);
	border-radius: 6px 6px 0 0;
	cursor: move;
}
.modal-footer {
	margin-top: 30px;
}
.modal-dialog {
	max-width: 450px;   /* 5 는 폭이 아니라 max-width (2026-10-27) */
}
@media (max-width: 767px) {
	.modal-dialog {
		max-width: none !important;
		left: auto;
	}
}

.btn-active {
	background-color: #fff !important;
	color: #000 !important;
	border-color: #bbb !important;
}

.modal-form .modal-dialog {
	max-width: 767px;
}
.modal-form .modal-header {
	background-color: var(--yz-primary-dark);
	padding: 15px 15px 13px 15px;
	border-radius: 0;
}
.modal-form .modal-header .modal-title {
	color: #fff;
}
.modal-form .modal-body {
	padding: 0;
}
.modal-form .modal-body .info {
	margin-top: 10px;
}
.modal-form .modal-body .info:first-child {
	margin-top: 0;
}

.list-sort {
	margin: 0;
	padding: 0;
	list-style: none;
}
.list-sort li {
	margin: 3px 0;
	padding: 10px 40px 10px 15px;
	border: 1px solid #ddd;
	position: relative;
}
.list-sort li::before {
	position: absolute;
	right: 15px;
	top: center;
	content: '\f283';
	font-family: 'bootstrap-icons';
	color: #333;
}

.modal-sub-title {
	padding: 15px 15px 0;
	line-height: 45px;
	border-bottom: 1px solid #ddd;
	font-size: 15px;
	font-weight: 700;
	position: relative;
}
.modal-sub-title a {
	float: right;
}

.modal-table-form {
	margin: 0 auto;
	width: 100%;
	border-collapse: collapse;
}
.modal-table-form > tbody > tr:nth-of-type(even) {
	background-color: var(--yz-light-soft);
}
.modal-table-form > tbody > tr > th {
	padding: 10px 15px;
	width: 150px;
	font-weight: 400;
}
.modal-table-form > tbody > tr > td {
	padding: 10px 15px;
}
.modal-table-form > tbody > tr > td .input-group-text {
	font-size: 12px;
}

.modal-form .modal-dialog-lg {
	max-width: 1250px;
}
.modal-form .modal-dialog-sm {
	max-width: 540px;
}
.modal-form .modal-dialog-sm .modal-table-form > tbody > tr > th {
	width: 90px;
}

.facility {
	margin: 0;
	padding: 0;
	list-style: none;
}
.facility li {
	display: inline-block;
	width: 120px;
	padding: 5px 0;
	text-align: center;
}
.facility li img {
	width: 65px;
}

.sms-modal .sms-form {
	margin: 10px 0;
}
.sms-modal .sms-form h5 {
	margin: 10px 0 5px 0;
	position: relative;
}
.sms-modal .sms-form h5 small {
	position: absolute;
	right: 0;
	bottom: 5px;
}
.sms-modal .sms-form .sms-del {
	cursor: pointer;
}
.sms-modal .sms-form .is-toggle {
	cursor: pointer;
}

.sms-modal .sms-list {
	margin-top: 0;
	padding-bottom: 10px;
	height: 430px;
}
.sms-modal .sms-list textarea {
	cursor: pointer;
}
.sms-modal .sms-list h5 {
	margin: 10px 0 5px 0;
	position: relative;
}
.sms-modal .sms-list h5 small {
	position: absolute;
	right: 0;
	bottom: 5px;
}

.sms-guide {
	margin: 20px 0 0 0;
	padding: 20px 0;
	border-top: 1px dotted #ccc;
}
.sms-guide h5 {
	margin-top: 0;
	color: var(--bs-danger);
}

/* 승선명부 */
.user-form {
	padding: 5px 0;
}
.user-form .input-group {
	display: flex;
	margin-top: 2px;
	align-items: center;
	justify-content: center;
}
.user-form .input-group-text {
	padding: 10px 12px;
	width: 70px;
	font-size: 12px;
	text-align: right;
	vertical-align: middle;
}
.user-form .form-control {
	flex: 1;
}

/* list ====================================================================================*/
.search-list {
	margin-bottom: 10px;
}

.table-list {
	background-color: #fff;
}
/* 목록 줄 마우스 오버 = 줄 전체를 감싸는 2px 테두리 #242e3d(2026-10-27 416th-b 대표 지시 — 색도 대표 지정 — 옛 tr 테두리 검정: 5 는 칸이 tr 의 테두리 색을 물려받아(reboot border-color: inherit) 칸마다 세로줄까지 검게 됐다 → 칸의 위·아래와 첫·끝 칸 바깥 선만) */
.table-list tbody tr:hover > td { border-top: 2px solid var(--yz-dark-edge); border-bottom: 2px solid var(--yz-dark-edge); }
.table-list tbody tr:hover > td:first-child { border-left: 2px solid var(--yz-dark-edge); }
.table-list tbody tr:hover > td:last-child { border-right: 2px solid var(--yz-dark-edge); }
.table-list th {
	text-align: center;
	vertical-align: middle;
	background-color: #fff;
	color: #888;
	font-weight: 400;
	height: 41px;
	border-bottom-width: 1px;
}
.table-list th a {
	color: #888;
}
/* 정렬 아이콘(td_sort — 예약 목록) = 화살표(2026-10-21 대표 결정 S3 — 옛: FontAwesome 위아래 삼각형, 정렬 안 한 칸도 늘 주황)
   평소 위아래 화살표 회색 · 고른 칸만 오름 ↑ · 내림 ↓ 주황 — 그림 bootstrap-icons arrow-down-up·arrow-up·arrow-down, 색은 바탕색(mask) · 세로 = 글자 가운데(.ty-ic 와 같은 식) */
.table-list th a:after {
	content: '';
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-left: 3px;
	vertical-align: calc(.37em - 6px);
	background-color: #b5b9bf;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M11.5 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L11 2.707V14.5a.5.5 0 0 0 .5.5m-7-14a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L4 13.293V1.5a.5.5 0 0 1 .5-.5'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M11.5 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L11 2.707V14.5a.5.5 0 0 0 .5.5m-7-14a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L4 13.293V1.5a.5.5 0 0 1 .5-.5'/%3E%3C/svg%3E") no-repeat center / contain;
}
.table-list th a.active {
	color: var(--bs-warning);
}
.table-list th a.active:after {
	background-color: var(--bs-warning);
}
.table-list th a.active.asc:after {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L7.5 2.707V14.5a.5.5 0 0 0 .5.5'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L7.5 2.707V14.5a.5.5 0 0 0 .5.5'/%3E%3C/svg%3E");
}
.table-list th a.active.desc:after {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L7.5 13.293V1.5A.5.5 0 0 1 8 1'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L7.5 13.293V1.5A.5.5 0 0 1 8 1'/%3E%3C/svg%3E");
}
.table-list td {
	text-align: center;
	vertical-align: middle;
	position: relative;
}
.table-list td.name a {
	font-weight: 700;
	color: var(--bs-primary);
	text-decoration: underline;
}
.table-list td.name i {
	position: absolute;
	top: 3px;
	right: 3px;
}
/* 쿠폰북 신청 표시 — 오른쪽 위는 메모 아이콘이 쓰므로 왼쪽 위 모서리에 붙인다 */
.table-list td.name i.yz-coupon-mark {
	left: 3px;
	right: auto;
	font-size: 12px;
	line-height: 1;
}
/* 예약 목록 — 줄 상태 색(bgclass_state: 이용완료 초록 · 환불대기 노랑 · 환불완료(예약취소) 분홍 · 예약대기·이용대기 회청 · 입금대기 파랑)이 있으면 제휴입금·취소수수료 칸(.b-gray)도 그 줄 색으로(2026-10-21 대표 지시 — 옛: 회색 칸만 늘 회색으로 남음) · 색 없는 줄·자동취소(흐림)는 회색 그대로 */
.rl-table > tbody > tr:is(.b-success2, .b-warning2, .b-danger2, .b-info2, .b-primary, .rl-white) > td.b-gray { background-color: transparent !important; }
/* 휴대폰으로 받은 예약 표시(extend/reserve.lib.php dis_re_mobile — 예약 목록 · 예약 View) — 번호와 빈칸 한 칸 */
.re-mob { display: inline-block; width: 12px; height: 12px; color: #d9480f; vertical-align: -2px; margin-right: .3em; }
.re-mob svg { display: block; width: 100%; height: 100%; fill: currentColor; }
.table-list td.hp {
	padding: 0 4px;
    white-space: nowrap;
}
.table-list td.hp i {
	position: absolute;
	top: 3px;
	left: 3px;
}
.table-list td.hp span {
	position: absolute;
	top: 3px;
	right: 3px;
	font-size: 11px;
	font-weight: 700;
	color: var(--bs-primary);
	font-family: 'tahoma';
}
.table-list td.date {
	padding: 0 4px;
    white-space: nowrap;
}
.table-list td.lt {
	text-align: left;
}
.table-list td.rt {
	text-align: right;
}
.table-list td .social-icon {
	width: 18px;
	margin-right: 5px;
	vertical-align: middle;
}

.table-list td.font-mont {
	color: #555;
	font-size: 16px;
	font-family: inherit;
	font-weight: 400;
}
.table-list td.font-mont span {
	color: #999;
	display: block;
	font-size: 13px;
}
.table-list td.font-mont small {
	float: left;
}
.table-list th label,
.table-list td label {
	margin: 0;
	padding: 0;
	display: block;
	cursor: pointer;
}
.table-list th label i,
.table-list td label i {
	margin: 0;
	padding: 0;
	width: auto;
	font-size: 24px !important;
}
.table-list > tfoot > tr > td {
	font-weight: 700;
	height: 41px;
}

.table-y-b-0 {
	border-left: 2px solid #fff;
	border-right: 2px solid #fff;
}
/* form ====================================================================================*/
.form-box h3 {
	margin: 0;
	line-height: 30px;
	padding: 0 0 5px;
	font-size: 16px;
	font-weight: 700;
	position: relative;
}


.table-form {
	margin: 0;
	width: 100%;
	border-collapse: collapse;
}
.table-form td button.is-ok {
	position: absolute;
	right: 12px;
}
.table-form td .dropdown {
	position: absolute;
	right: 12px;
	display: inline-block;
}

.table-form > thead > tr {
	background-color: #fff;
}
.table-form > thead > tr > th {
	padding: 4px 12px;
	position: relative;
	height: 42px;
	font-weight: 400;
	color: #888;
}

.table-form > tbody > tr {
	background-color: #fff;
}
.table-form > tbody > tr > th,
.table-form > tbody > tr > td {
	padding: 4px 12px;
	position: relative;
}
.table-form > tbody > tr > th {
	text-align: right;
	font-weight: 400;
	color: #888;
}
.table-form > tbody > tr > td {
	height: 42px;
}
.table-form > tbody > tr > td .input-group-text {
	background-color: #f6f6f6;
	font-size: 12px;
	font-weight: 700;
}
.table-form > tbody > tr > td .date {
	font-size: 12px;
	color: #888;
}
.table-form > tbody > tr > td .edit-font {
	font-size: 16px;
	color: var(--bs-danger);
}
.table-form > tbody > tr > td input.week {
	background-color: var(--bs-danger);
	color: #fff;
}
.table-form > tbody > tr > td input.season {
	background-color: #63c;
	color: #fff;
}

.qty-wrap {
	padding: 15px 0;
}
.qty-wrap ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: inline-block;
	width: 100%;
}
.qty-wrap ul li {
	margin: 0;
	border-top: 1px solid #ddd;
	padding: 15px 10px 10px;
}
.qty-wrap ul li:first-child {
	border: 0;
}
.qty-wrap ul li .table-cell {
	display: table-cell;
	width: 1%;
	vertical-align: middle;
}
.qty-wrap ul li .price {
	text-align: left;
	padding: 2px 0 0;
	font-size: 16px;
}
.qty-wrap ul li .price small {
	font-size: 12px;
	font-weight: 400;
}
.qty-wrap ul li .count {
	text-align: right;
}
.qty-wrap ul li .count .counter {
	font-weight: 700;
	width: 38px;
	display: inline-block;
	font-size: 16px;
	text-align: center;
}
.qty-wrap ul li .count .btn {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	padding: 0;
	font-size: 20px;
	font-family: monospace;
}
.qty-wrap ul li .count .btn.disabled {
	opacity: 0.4;
}

.qty-wrap2 {
	padding: 15px 0;
}
.qty-wrap2 ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: inline-block;
	width: 100%;
	font-size: 14px;   /* 상품정보 수정 창(qty-wrap)과 같은 크기 — 439th(옛 16) */
}
.qty-wrap2 ul li {
	margin: 0;
	border-top: 1px solid #ddd;
	padding: 15px 10px 10px;
}
.qty-wrap2 ul li:first-child {
	border: 0;
}
.qty-wrap2 ul li .table-cell {
	display: table-cell;
	width: 1%;
	vertical-align: middle;
}
.qty-wrap2 ul li .price {
	text-align: left;
	padding: 2px 0 0;
	font-size: 16px;
}
.qty-wrap2 ul li .price small {
	font-size: 12px;
	font-weight: 400;
}
.qty-wrap2 ul li .count {
	text-align: right;
}
.qty-wrap2 ul li .count .counter {
	font-weight: 700;
	width: 38px;
	display: inline-block;
	font-size: 16px;
	text-align: center;
}
.qty-wrap2 ul li .count .btn {
	width: 34px;
	height: 34px;
	border-radius: 50% !important;
	padding: 0;
	font-size: 20px;
	font-family: monospace;
}
.qty-wrap2 ul li .count .btn.disabled {
	opacity: 0.4;
}

.time.list ul {
	left: 0 !important;
	right: auto !important;
}
.time ul {
	margin: 0;
	padding: 0;
	list-style: none;
	left: auto;
	right: 0;
	width: 350px;
}
.time ul li {
	margin: 0;
	padding: 10px 15px;
	border-top: 1px dashed #ccc;
	position: relative;
	line-height: 1.4;
	cursor: pointer;
}
.time ul li:first-child {
	border-top: 0;
}
.time ul li:after {
	content: '\f28a';
	font-family: 'bootstrap-icons';
	position: absolute;
	right: 15px;
	top: 23px;
	font-size: 26px;
	color: #888;
}
.time ul li.click:after {
	content: '\f26a';
	font-family: 'bootstrap-icons';
	color: #222;
}
.time ul li.close2 {
	opacity: 0.6;
	cursor: default;
}
.time ul li.close2:after {
	content: '\f057';
}
.time ul li .time {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	color: #fff;
	line-height: 1.3;
	font-weight: 700;
	width: 52px;
	height: 59px;
	border-radius: 5px;
}
.time ul li .name {
	display: table-cell;
	vertical-align: middle;
	padding-left: 10px;
	padding-right: 30px;
}
.time ul li .name .nick {
	font-weight: 700;
	font-size: 15px;
}
.time ul li .name .ship {
	padding: 0 3px;
	color: #fff;
	font-weight: 700;
	border-radius: 3px;
}
.time ul li .name .rest strong {
	color: #055ab2;
}


.qna {
	position: relative;
	margin: 5px 0;
}
.qna .icon {
	border-radius: 50% !important;
	width: 40px;
	height: 40px;
	line-height: 40px;
	padding: 0;
	text-align: center;
	font-weight: 700;
	color: #fff;
	position: absolute;
	left: 15px;
	top: 5px;
}
.qna .icon.a {
	left: auto;
	right: 15px;
}
.qna .text {
	border-radius: 5px;
	background-color: var(--yz-light-soft);
	width: 70%;
	padding: 15px;
	margin-left: 65px;
}
.qna .text.a {
	background-color: #71a9ea;
	margin-right: 65px;
	margin-left: auto;
}
.qna span {
	display: block;
	color: #666;
	font-size: 12px;
}
.qna span.a {
	color: #fff;
}
.qna textarea {
	background-color: transparent;
	color: #fff;
	border: 0;
	padding: 5px 0;
}
.qna textarea:focus {
	background-color: #fff;
	color: #555;
	border: inherit;
}
/* 가맹점 계정의 답 칸은 읽기 전용(129th — 상담 답변은 관리자만)인데 부트스트랩 .form-control[readonly] 회색 바탕이 위 규칙을 이겨 흰 글자가 안 보였다 → 평소 모양 그대로 (2026-10-22 354th) */
.qna textarea[readonly],
.qna textarea[readonly]:focus {
	background-color: transparent;
	color: #fff;
	border: 0;
	cursor: default;
}


.tabs-log {
	border-color: #ccc;
}
.tabs-log li.active a,
.tabs-log li:hover a {
	background-color: var(--yz-light-soft) !important;
	border-color: #ccc;
	border-bottom: 1px solid #fff;
}

.smsform textarea {
	background-color: #fbec99;
	border: 0;
}
.smsform .box-body h5 {
	position: relative;
}
.smsform .box-body h5 small {
	position: absolute;
	right: 0;
}

.recom h4 {
	font-size: 14px;
}
.recom p {
	font-size: 12px;
	height: 80px;
}
.recom .info {
	position: relative;
	height: 24px;
	bottom: 0;
}
.recom .info p {
    font-size: 16px;
	font-weight: 700;
    color: var(--bs-warning);
}
.recom .info a {
	position: absolute;
	right: 0;
	top: 0;
}
.recom .link {
	position: relative;
	text-align: right;
	height: 24px;
	bottom: 26px;
}
.recom .ad {
	position: absolute;
	text-align: right;
	right: 15px;
	bottom: 0;
}


.recom .item {
    margin-left: 130px;
    height: 104px;
}
.sns {
	position: relative;
}
.sns .info {
	position: absolute;
	right: 5px;
	bottom: 5px;
}

/* 추천여행 */
.event-item {
	padding-bottom: 20px;
}
.event-item .list {
	margin-top: 10px;
	border: 1px solid #ccc;
	height: auto;
	height: 400px;
	overflow-x: hidden;
	overflow-y: auto;
}
.event-item .list p {
	padding: 30px 10px;
	text-align: center;
}
.event-item .list ul {
	margin: 0;
	padding: 0;
	list-style: none;
	overflow: hidden;
}
.event-item .list ul li {
	border-bottom: 1px solid #ddd;
	display: block;
	padding: 10px 15px;
	position: relative;
}
.event-item .list ul li img {
	position: absolute;
	left: 15px;
	top: 10px;
}
.event-item .list ul li .item {
	margin-left: 130px;
	padding-top: 5px;
	height: 92px;
	vertical-align: middle;
}
.event-item .list ul li .item-btn {
	position: absolute;
	right: 15px;
	bottom: 10px;
}

/* calendar ====================================================================================*/
.calendar-title {
	margin: 10px 0 0;
	color: #fff;
	font-family: 'Montserrat';
	font-weight: 700;
	font-size: 30px;
	letter-spacing: 1px;
}
.calendar-title small {
	color: #fff;
	font-family: 'Montserrat';
	font-weight: 700;
}
.calendar {
	background-color: #fff;
}
.calendar > table {
	margin-bottom: 0;
}
.calendar > table > thead > tr > th:nth-of-type(1),
.calendar > table > tbody > tr > td:nth-of-type(1) h4 {
	color: var(--bs-danger);
}
.calendar > table > thead > tr > th:nth-of-type(7),
.calendar > table > tbody > tr > td:nth-of-type(7) h4 {
	color: #46aef7;
}
.calendar > table > thead > tr > th {
	background: #fff;
	color: #888;
	font-weight: 400;
	text-align: center;
}
.calendar > table > tbody > tr > td {
	position: relative;
	padding: 15px 0;
	width: 14.285%;
	text-align: left;
}
.calendar > table > tbody > tr > td .overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.5);
	z-index: 2;
}
.calendar > table > tbody > tr > td .date-hide {
	display: none;
}
.calendar > table > tbody > tr > td h4 {
	margin: 0;
	font-weight: 700;
	position: relative;
	display: block;
	padding: 0 5px 10px;
	font-family: 'Montserrat';
	color: #888;
}
.calendar > table > tbody > tr > td h4 small {
	position: absolute;
	right: 0;
	top: 0;
	line-height: 1.2;
}
.calendar > table > tbody > tr > td h4 small div {
	text-align: right;
	font-size: 12px;
	font-weight: 700;
}
.calendar > table > tbody > tr > td.today {
	background-color: #fff2d0;
}
.calendar > table > tbody > tr > td ul {
	margin: 5px 0 0 0;
	padding: 0;
	list-style: none;
}
.calendar > table > tbody > tr > td ul li span {
	display: inline-block;
}
.calendar > table > tbody > tr > td ul li .con {
	float: right;
}
.calendar > table > tbody > tr > td:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 3px;
}
.calendar > table > tbody > tr > td.day:before {
	background-color: #eee;
}
.calendar > table > tbody > tr > td.open:before {
	background-color: #06abba;
}
.calendar > table > tbody > tr > td.week:before {
	background-color: var(--bs-danger);
}
.calendar > table > tbody > tr > td.week2:before {
	background-color: var(--bs-danger);
}
.calendar > table > tbody > tr > td.season:before {
	background-color: #63c;
}
.calendar > table > tbody > tr > td.close2:before {
	background-color: #777;
}

.table-stay {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 40px;
}
.table-stay > tbody > tr.time-hidden {
	opacity: 0.4;
}
.table-stay > tbody > tr > td {
	padding: 10px 5px;
	border-bottom: 1px dotted #ddd;
	font-size: 13px;
	line-height: 1.2;
}
.table-stay > tbody > tr:last-child > td {
	border-bottom: 0;
}
.table-stay > tbody > tr > td.rt {
	text-align: right;
}
.table-stay > tbody > tr > td .time {
	font-weight: 700;
	font-size: 17px;
}
.table-stay > tbody > tr > td.time-close {
	background-color: #f1f1f1;
}
.table-stay > tbody > tr > td.time-full {
	text-decoration: line-through;
	text-decoration-color: #333;
	opacity: 0.5;
}
.table-stay > tbody > tr > td.time-hidden {
	opacity: 0.4;
}
.table-stay > tbody > tr > td .div-table {
	display: table;
}
.table-stay > tbody > tr > td .div-table .price {
	display: table-cell;
	width: 1%;
	font-weight: 700;
	color: #666;
}
.table-stay > tbody > tr > td .div-table .price .sale {
	color: var(--bs-danger);
	position: relative;
}
.table-stay > tbody > tr > td .div-table .price .sale:before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: var(--yz-danger-light);
}
.table-stay > tbody > tr > td .div-table .price .sale small {
	color: var(--yz-danger-light);
}
.table-stay > tbody > tr > td .div-table .price small {
	color: #aaa;
}
.table-stay > tbody > tr > td .div-table .qty {
	display: table-cell;
	width: 1%;
	text-align: right;
	font-weight: 700;
	font-family: 'Montserrat';
	color: #888;
}
.table-stay > tbody > tr > td .div-table .qty small {
	font-weight: 400;
	color: #aaa;
}

.ui-table {
	display: table;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	border-top: 1px solid #ccc;
	z-index: 1;
}
.ui-table div {
	display: table-cell;
	width: 1%;
	padding: 10px 5px;
}
.ui-table div.lt {
	text-align: left;
}
.ui-table div.rt {
	text-align: right;
}

/* daterangepicker ====================================================================================*/
.daterangepicker table {
	border-collapse: inherit;
	border-spacing: 2px;
}
.daterangepicker th {
	font-size: 12px;
	font-weight: 400;
}
.daterangepicker td {
	position: relative;
	padding: 6px 5px 3px;
}
.daterangepicker td {
	border: 1px solid #ddd !important;
}
.daterangepicker td::after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 4px;
}
.daterangepicker td.open2::after {
	background-color: #06abba;
}
.daterangepicker td.week2::after {
	background-color: var(--bs-danger);
}
.daterangepicker td.season2::after {
	background-color: #63c;
}
.daterangepicker td.close2::after {
	background-color: #777;
}

/* paging ====================================================================================*/
.pg_wrap {
	clear: both;
	margin: 0;
	padding: 0;
	text-align: right;
}
.pg {
	margin: 0;
	padding: 0;
	display: block;
}
.pg a,
.pg_current {
	margin: 0;
	padding: 9px 15px;
	display: inline-block;
	color: #000;
	line-height: 1;
	border: 1px solid #d7d7d7;
}
.pg a:hover,
.pg_current {
	background: #7b7b7b;
	color: #fff;
}
.pg_start,
.pg_prev {
	margin: 0;
	padding: 0;
}
.pg_end,
.pg_next {
	margin: 0;
	padding: 0;
}
.sound_only {
	display: none;
}

/* main ====================================================================================*/
.main {
	margin: 0 auto;
	max-width: 1280px;
}
.main > .row {
	margin: 0 -8px;
}
.main > .row > div {
	padding: 0 8px;
}
.main > .row > div > .row {
	margin: 0 -8px;
}
.main > .row > div > .row > div {
	padding: 0 8px;
}

/* box ====================================================================================*/
.box > header small {
	color: #777;
}
.box {
	margin: 0 auto;
	margin-bottom: 16px;
	border: 1px solid #ddd;
	background-color: #fff;
	display: flex;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
}
.box > header {
	font-size: 16px;
	font-weight: 700;
	text-align: center;
	color: #888;
	display: flex;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 15px 15px 0;
	border-top-left-radius: inherit;
	border-top-right-radius: inherit;
}
.box > header div,
.box > header h1,
.box > header h2,
.box > header h3,
.box > header h4,
.box > header h5,
.box > header h6 {
	margin: 0;
	-webkit-flex: 1 1 auto;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	color: inherit;
}
.box-body {
	position: relative;
	margin: 20px 0;
	padding: 0 15px;
	border-bottom-left-radius: inherit;
	border-bottom-right-radius: inherit;
	-webkit-flex: 1 1 auto;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto !important;
	-webkit-flex-basis: auto;
	-ms-flex-preferred-size: auto !important;
	flex-basis: auto;
}
.box-body2 {
	padding: 20px 15px;
	display: flex;
}
.box-body2 div {
	flex: 1;
}
.box-body2 div h4 {
	font-size: 16px;
	font-weight: 700;
	color: #888;
	text-align: center;
}

/* preloader ========================================================================================*/
#preloader {
	bottom: 0;
	display: none;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 9999;
}
.loader-heart {
	display: inline-block;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-top: -96px;   /* 상자 192 의 반 — 옛 -32 는 64 상자 기준이라 오른쪽·아래로 64 밀려 있었다(2026-10-15) */
	margin-left: -96px;
	width: 192px;
	height: 192px;
	animation: heart 1.2s infinite cubic-bezier(0.215, 0.61, 0.355, 1);
}
@keyframes heart {
	0% {
		transform: scale(0.95);
	}
	5% {
		transform: scale(1.1);
	}
	39% {
		transform: scale(0.85);
	}
	45% {
		transform: scale(1);
	}
	60% {
		transform: scale(0.95);
	}
	100% {
		transform: scale(0.9);
	}
}

/* 모바일 modal */
.modal-mobile {
	width: 100%;
	max-width: 100%;
	height: 100%;
}
.modal-mobile .modal-header .btn-close {
	width: 2em;
	height: 2em;
}
.modal-mobile .form-control {
	height: auto !important;
	line-height: normal !important;
	font-size: 48px !important;
	padding: 16px 32px !important;
}
.modal-mobile .btn {
	height: auto !important;
	line-height: normal !important;
	font-size: 48px !important;
	padding: 16px 32px !important;
}
.modal-mobile .time-picker h4 {
	font-size: 48px !important;
}
.modal-mobile .time-picker h4 small {
	font-size: 48px !important;
}
.modal-mobile .time-picker div {
	font-size: 48px !important;
}
.qty-wrap2 .title {
	font-size: 18px;
}
.qty-wrap2 .title p {
	font-size: 40px;
	color: #f00;
	font-weight: 500
}
.modal-mobile .qty-wrap2 .title {
	font-size: 48px !important;
}
.modal-mobile .qty-wrap2 .title span {
	font-size: 48px !important;
}
.modal-mobile .qty-wrap2 .title p {
	font-size: 80px !important;
	font-weight: 600
}
.modal-mobile .qty-wrap2 ul li {
	font-size: 40px !important;
}
.modal-mobile .qty-wrap2 ul li .price {
	font-size: 36px !important;
}
.modal-mobile .qty-wrap2 ul li .price small {
	font-size: 36px !important;
}
.modal-mobile .qty-wrap2 ul li .count .counter {
	font-size: 48px !important;
}
.modal-mobile .qty-wrap2 ul li .count .btn {
	width: 90px;
	height: 90px !important;
}

.modal-mobile .daterangepicker .calendar {
	font-size: 48px !important;
	max-width: none;
}
.modal-mobile .daterangepicker .calendar .calendar-table {
	padding-right: 0;
}
.modal-mobile .daterangepicker .calendar td {
	min-width: 120px;
	height: 120px;
}
.modal-mobile .daterangepicker .calendar th {
	min-width: 120px;
	height: 120px;
	font-size: 48px;
}
.required-field {
    background-image: linear-gradient(225deg, var(--bs-danger) 0%, var(--bs-danger) 50%, transparent 50%, transparent 100%);
    background-repeat: no-repeat;
    background-size: 10px 10px;
    background-position: top right;
}

/* 예약 형태 아이콘(2026-10-20 — extend/config.php type_icon() · 회차형 파랑 · 당일권 초록 · 기간형 주황, 채널 .ty-ic 와 같은 색) */
/* 예약 목록 줄 체크칸 = 판매 구분 동그라미(extend/config.php dis_is_vendor · 2026-10-21 대표 지시): 연한 무지개 빨주노초파남보 · 네이버 = 초록
   고르면(숨은 체크칸 :checked) 그 색으로 진하게 채우고 흰 글자(노랑만 진한 글자) · 맨 위 전체 선택 = 빈 동그라미 */
.rl-ck { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; width: 22px; height: 22px; border-radius: 50%; border: 1.5px solid #c9ced6; background: #fff; color: #555; font: 700 9px/1 'tahoma', sans-serif; letter-spacing: -0.2px; vertical-align: middle; cursor: pointer; transition: background .12s, color .12s, border-color .12s; }
.rl-ck.c-red { background: #fdeeee; border-color: #f0b9b9; color: #c0392b; }
.rl-ck.c-orange { background: #fdf1e6; border-color: #f0c79f; color: #c25e12; }
.rl-ck.c-yellow { background: #fdf7dc; border-color: #e6d07a; color: #8a6d00; }
.rl-ck.c-green { background: #e9f5ec; border-color: #a9d4b3; color: #2e7d32; }
.rl-ck.c-blue { background: #e9f1fb; border-color: #a9c4e9; color: #1f5fa8; }
.rl-ck.c-indigo { background: #eeedfa; border-color: #bab6ea; color: #3f3a9e; }
.rl-ck.c-violet { background: #f4ecfa; border-color: #d2b8e6; color: #7a3fa0; }
input[type="checkbox"].d-none:checked + .rl-ck { background: #555; border-color: #555; color: #fff; }
input[type="checkbox"].d-none:checked + .rl-ck.c-red { background: #d9534f; border-color: #d9534f; }
input[type="checkbox"].d-none:checked + .rl-ck.c-orange { background: #e67e22; border-color: #e67e22; }
input[type="checkbox"].d-none:checked + .rl-ck.c-yellow { background: #f1c40f; border-color: #f1c40f; color: #4a3b00; }
input[type="checkbox"].d-none:checked + .rl-ck.c-green { background: #3c9a4e; border-color: #3c9a4e; }
input[type="checkbox"].d-none:checked + .rl-ck.c-blue { background: #2f74c0; border-color: #2f74c0; }
input[type="checkbox"].d-none:checked + .rl-ck.c-indigo { background: #4b45b0; border-color: #4b45b0; }
input[type="checkbox"].d-none:checked + .rl-ck.c-violet { background: #8e4fbf; border-color: #8e4fbf; }
.ty-ic { display: inline-block; width: 12px; height: 12px; margin-right: 5px; vertical-align: calc(.37em - 6px); flex: none; }   /* 바탕 동그라미 없음(2026-10-21 대표 지시) · 12px(307th) · 세로 = 글자 가운데(글자 크기 따라 — 숫자·한글 가운데의 중간, 13·14px 글자에서 ±0.35px 안 · 2026-10-21 「아래로 쏠림」 고침 · 6px = 아이콘 높이 반) */
.ty-ic svg { display: block; width: 100%; height: 100%; fill: currentColor; }
.ty-ic.is-time { color: #185FA5; }
.ty-ic.is-date { color: #3B6D11; }
.ty-ic.is-open { color: #c0620a; }
/* 예약 목록 「결제」 칸 그림(extend/config.php pay_svg · dis_pg_method — 2026-10-26 412th 대표 지시): ARS 카드+전화 · 가상계좌 cash-coin · 머니·포인트 currency-exchange+P
   SVG 상자 = 글자 1em · 아래 0.143em = 폰트어썸 글리프와 같은 자리(신용카드는 폰트어썸 그대로) · 색 = t-* 글자색 */
.pay-ic { display: inline-block; line-height: 1; font-style: normal; }
.pay-ic > svg { display: inline-block; width: 1em; height: 1em; vertical-align: -.143em; fill: currentColor; }
.badge.pay-nlab { border-radius: 3px; }   /* 네이버 결제 셋(NVBANK·NCARD·NPAY — NPAY 와 같은 초록) · FREE — 모서리 살짝 둥글게(전체 .badge 은 0) */
.table-list td .label-payment { font-size: 19px; line-height: 20px; vertical-align: top; }   /* 목록 결제 칸 그림 14 → 19px — 결제 칸 첫 줄(20px) 안이라 줄 높이 그대로(412th) */
.table-list td .bi-credit-card.label-payment { font-size: 14px; }   /* 신용카드만 옛 크기 14px(대표 지시 — 412th-e) · 줄 높이 20px 그대로 */
.table-list td .pay-ic.pay-cash, .table-list td .pay-ic.pay-point, .table-list td .pay-ic.pay-ars { font-size: 15px; }   /* 가상계좌·머니·포인트·ARS신용 그림 높이 15px(대표 지시 — 412th-g · 폭은 그림 비율대로 — ARS 17px) */
.table-list td .pay-ic { display: inline-flex; align-items: center; height: 20px; }   /* SVG 그림도 20px 줄 가운데 */
.table-list td .pay-ic > svg { vertical-align: top; }
.t-point { color: #8e44ad !important; }
/* 띠 드롭다운(extend/config.php type_select_html) = 부트스트랩 dropdown 컴포넌트 · 단추·목록 바탕 #1f2430(띠 상태 알약 묶음과 같은 색) · 단추 글 흰색 · 목록 글 #c9d1dc(2026-10-27 424th 대표 지시) */
.type-dd { position: relative; display: inline-block; vertical-align: middle; }
.type-dd .type-dd__sel { display: none; }
.type-dd > .type-dd__btn { display: flex !important; align-items: center; gap: 6px; width: 100%; text-align: left;
	--bs-btn-color: #fff; --bs-btn-bg: var(--yz-dark-deep); --bs-btn-border-color: var(--yz-dark-deep); --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--bs-dark); --bs-btn-hover-border-color: #3a4152;
	--bs-btn-active-color: #fff; --bs-btn-active-bg: var(--bs-dark); --bs-btn-active-border-color: var(--bs-primary); --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb); }
.type-dd > .type-dd__btn::after { flex: none; margin-left: auto; }   /* 부트스트랩 dropdown-toggle 화살표 = 오른쪽 끝 */
.type-dd > .type-dd__btn.show { border-color: var(--bs-primary); }
.type-dd__btn .type-dd__n { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.type-dd__btn .type-dd__n.is-ph { color: inherit; }
.type-dd__btn .type-dd__k { font-weight: 500; color: #7fb0e6; }
.type-dd .type-dd__k:empty { display: none; }
.type-dd__dot { flex: none; display: inline-block; width: 8px; height: 8px; border-radius: 50%; }   /* 상품 색(옛 이름 글자색 — 어두운 바탕에서 안 보여 점으로) */
.type-dd > .type-dd__menu { --bs-dropdown-bg: var(--yz-dark-deep); --bs-dropdown-color: var(--yz-dark-text); --bs-dropdown-border-color: var(--bs-dark); --bs-dropdown-link-color: var(--yz-dark-text); --bs-dropdown-link-hover-color: #fff; --bs-dropdown-link-hover-bg: var(--bs-dark);
	--bs-dropdown-link-active-color: #fff; --bs-dropdown-link-active-bg: var(--bs-primary); --bs-dropdown-item-padding-x: 14px; --bs-dropdown-item-padding-y: 6px; --bs-dropdown-padding-y: 4px; --bs-dropdown-font-size: 13px;
	min-width: 100%; max-height: 60vh; overflow-y: auto; box-shadow: 0 8px 20px rgba(0, 0, 0, .35); }
.type-dd__menu .dropdown-item { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.type-dd__menu .dropdown-item .type-dd__n { flex: 1; }
.type-dd__menu .dropdown-item .type-dd__k { min-width: 18px; margin-left: 10px; text-align: right; font-weight: 500; color: #8b95a7; }
.type-dd__menu .dropdown-item.active .type-dd__k, .type-dd__menu .dropdown-item:hover .type-dd__k { color: #fff; }

/* ── 2단계 공통 틀(2026-10-27) — 머리(PC 두 줄 · 휴대폰 오프캔버스) · 반응형 틀 · 부품 ── */
/* 메뉴 줄(.navbar-oc > .nav-body — 2026-10-28 491st 부터 오프캔버스 아님, 모든 폭에서 펼친 줄) */
.navbar-oc .navbar-main { width: 100%; flex-wrap: wrap; }   /* 메뉴가 넘치면 다음 줄로(1,260 고정 폭 해제) */
#top-nav .navbar-oc .nav-body { display: block; }
/* 휴대폰 — 맨 위 줄 48 · 오프캔버스 메뉴 · 검색 띠 접기 · 아래 단추 줄 · 틀 */
@media (max-width: 767.98px) {   /* 휴대폰 머리·오프캔버스·검색 띠 접기·아래 단추 줄(465th — 옛 991.98, 태블릿 768~991 은 PC 모양) */
	.navbar { min-height: 0; }
	.navbar-header { height: 48px; padding: 0 6px; }
	.navbar-brand { padding: 0 6px; height: 48px; }
	.navbar-brand > img { height: 20px; }
	/* 검색 띠 — 휴대폰 줄(.band-head = 경로 제목 복사본 + 「검색 ▾」)만 보이고, 펼치면 띠 안 모든 것을 한 줄에 하나씩 */
	.navbar-search > .band-head { display: flex; align-items: center; gap: 8px; padding: 6px 10px; }
	.navbar-search > .band-head .band-title { margin-right: auto; color: #fff; font-weight: 700; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.navbar-search > .band-head .band-title .page-nav-link { color: #fff; text-decoration: none; }
	.navbar-search > .band-head .bi-chevron-right { font-size: 11px; margin: 0 4px; color: #9aa3b5; }
	.navbar-search > :not(.band-head) { display: none; }
	.navbar-search.is-open > :not(.band-head) { display: block !important; padding: 0 10px 8px; }
	.navbar-search.is-open .form-inline { padding: 0; }
	.navbar-search.is-open .form-inline > * { display: block; width: 100%; margin: 3px 0; }
	.navbar-search.is-open .form-inline > .page-nav-title { display: none !important; }
	.navbar-search.is-open .row > [class*="col-"] { width: 100%; flex: 0 0 100%; max-width: 100%; }
	.navbar-search.is-open .sel-sedate { font-size: 22px; margin: 4px 0; }
	.navbar-search.is-open .navbar-time { position: static; width: auto; padding: 6px 0; }
	.navbar-search.is-open .form-inline > .input-group { display: flex !important; }
	.navbar-search.is-open .form-inline > .input-group .form-control { flex: 1 1 auto !important; width: auto !important; }
	.navbar-search.is-open .form-inline > .btn-group { display: flex; flex-wrap: wrap; }
	.navbar-search.is-open .form-inline > .btn-group > .btn { flex: 1 1 auto; }
	.navbar-search.is-open .form-inline > select, .navbar-search.is-open .form-inline > .form-select { width: 100% !important; }
	.navbar-search.is-open .form-inline > .type-dd { width: 100% !important; }
	.navbar-search.is-open .form-inline::after { display: none; }
	/* 아래 단추 줄 */
	.navbar-list { display: flex; flex-wrap: nowrap; gap: 4px; padding: 6px; min-height: 0; overflow-x: auto; scrollbar-width: none; }
	.navbar-list .btn { height: auto; min-width: 0; padding: 9px 12px; margin: 0; font-size: 13px; flex: 0 0 auto; white-space: nowrap; }
	.navbar-list .btn:first-child { margin: 0; }
	.navbar-list h3 { font-size: 16px; margin: 6px 4px; }
	.navbar-list select[name='real_time'] { height: 38px; }
	.navbar-list::after { display: none; }
}
@media (max-width: 991.98px) {   /* 태블릿까지 — 본문 틀 가로 스크롤 · 목록 표 최소 폭 */
	/* 본문 틀 — 넓은 표는 가로 스크롤(목록 표는 최소 폭을 둬 글자가 세로로 서지 않게 — 예약 목록 카드형은 다음 묶음) */
	.container { padding-left: 10px; padding-right: 10px; overflow-x: auto; }
	.table-list, .pl .pl-table, .rl-table, .table-bordered.table-list { min-width: 880px; }
	.calendar > table { min-width: 720px; }
	.container.container-960 { max-width: none !important; }
	.row { margin-left: -5px; margin-right: -5px; }
	.footer { height: 70px; }
}
@media (max-width: 575.98px) {   /* 휴대폰 — 본문 .row 의 칸(col-*)은 한 줄에 하나씩(옛 col-xs 가 col- 이 되어 휴대폰에서도 나란히 섰다) · 검색 띠·머리는 위 규칙 */
	.container .row > [class*="col-"] { flex: 0 0 100%; width: 100%; max-width: 100%; }
}
@media (max-width: 767.98px) {   /* 창(모달)은 휴대폰에서 전체 화면 — 531st-i: 부트스트랩 5.3 .modal-fullscreen 방식(머리·꼬리 고정 · 본문만 안에서 스크롤 · 옛 414th 는 창 전체가 쪽처럼 늘어 저장 단추가 맨 아래로 밀렸다) · 찾기 창(rl-smodal)은 가운데 카드 그대로 */
	.modal:not(.rl-smodal) .modal-dialog { width: 100vw !important; max-width: none !important; height: 100%; margin: 0; }
	.modal:not(.rl-smodal) .modal-dialog .modal-content { height: 100%; min-height: 0; border: 0; border-radius: 0; }
	.modal:not(.rl-smodal) .modal-content > form { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; }   /* 머리·본문·꼬리를 폼이 감싼 창(고객정보 수정 등) */
	.modal:not(.rl-smodal) .modal-header, .modal:not(.rl-smodal) .modal-footer { flex-shrink: 0; }
	.modal:not(.rl-smodal) .modal-body { flex: 1 1 auto; overflow-y: auto; -webkit-overflow-scrolling: touch; }
	/* 창 안 이름표 표(.table-form — 머리 줄 없는 것) = 이름표 위 · 내용 아래로 쌓기(좁은 왼쪽 칸에 글이 세로로 서던 것) */
	.modal .modal-body .table-form:not(:has(thead)) > tbody > tr > th, .modal .modal-body .table-form:not(:has(thead)) > tbody > tr > td { display: block; width: 100%; height: auto; text-align: left; }
	.modal .modal-body .table-form:not(:has(thead)) > tbody > tr { height: auto; }
	.modal .modal-body .table-form:not(:has(thead)) > tbody > tr > th { padding: 10px 12px 2px !important; border-bottom: 0; background: transparent !important; font-size: 12px; color: #667085; }
	.modal .modal-body .table-form:not(:has(thead)) > tbody > tr > td { padding: 4px 12px 10px; }
	.modal .modal-body .table-form:not(:has(thead)) > tbody > tr > th:empty { display: none; }
	.modal .modal-body .table-form:not(:has(thead)) .form-inline { display: flex; flex-wrap: wrap; gap: 6px; }
	.modal .modal-body .table-form:not(:has(thead)) .form-inline > .form-control, .modal .modal-body .table-form:not(:has(thead)) .form-inline > .form-select { flex: 1 1 140px; width: auto; min-width: 0; margin: 0; }
	.modal .modal-body .table-form:not(:has(thead)) > tbody > tr > * { border-left: 0; border-right: 0; border-top: 0; }   /* 쌓은 칸의 옆 선이 오른쪽 끝에 토막으로 남지 않게 */
	.modal .qty-wrap, .modal .qty-wrap > ul { display: block; width: 100%; }
	.modal .modal-body .table-form:not(:has(thead)) td > .row { margin-left: 0; margin-right: 0; row-gap: 6px; }   /* 칸 안 줄(환불요청 은행·계좌·예금주) — 칸이 한 줄에 하나라 좌우 음수 여백·칸 여백을 걷음 */
	.modal .modal-body .table-form:not(:has(thead)) td > .row > [class*="col-"] { padding-left: 0 !important; padding-right: 0 !important; }
	.modal .qty-wrap ul li { display: flex; align-items: center; gap: 8px; padding: 12px 0 10px; }   /* 인원 줄 = 글 왼쪽 · −수+ 오른쪽 한 줄(옛 table-cell 1% 라 + 가 아래로 떨어짐) */
	.modal .qty-wrap ul li .table-cell { display: block; width: auto; }
	.modal .qty-wrap ul li .price { flex: 1 1 auto; min-width: 0; }
	.modal .qty-wrap ul li .count, .modal .qty-wrap ul li > :last-child { flex: 0 0 auto; white-space: nowrap; margin-left: auto; }
}
/* bootstrap-icons 수식어(옛 fa-lg · fa-fw · fa-2x · fa-4x · fa-spin · fa-rotate-90) */
.bi-lg { font-size: 1.33333em; line-height: .75em; vertical-align: -15%; }
.bi-2x { font-size: 2em; }
.bi-4x { font-size: 4em; }
.bi-fw { display: inline-block; width: 1.28571em; text-align: center; }
.bi-rotate-90 { display: inline-block; transform: rotate(90deg); }
.bi-spin { display: inline-block; animation: bi-spin 1s linear infinite; }
@keyframes bi-spin { from { transform: rotate(0); } to { transform: rotate(360deg); } }

/* ── 2단계 묶음 ② 예약 목록 시안 안 A(2026-10-27 419th — 대표 결정 「예약전체 추천 시안으로」): 구조·위치·내용 그대로, 부품 모양만 ──
   PC: 위 띠(.rl-band — reserve_all_ship.php·reserve_ship.php·refund_ship.php 의 .container) 둘째 줄 상태 단추 묶음 = 알약 묶음(segmented) · 드롭다운·검색칸·단추 높이 32 ·
       표 「현재상태」 = 알약(extend/config.php dis_isok_ship 의 rl-st-*) · 합계 줄(tr.rl-sum-row — reserve_list.php) · 쪽 번호 · 아래 고정 단추 줄은 그대로(색만 옛 값)
   휴대폰(767.98 아래): 날짜 줄(첫 줄)은 늘 보이고 「검색 ▾」가 그 줄 오른쪽 · 상태 단추 묶음 = 가로로 미는 칩(건수 숫자는 507th 에 지움) · 나머지 거름은 펼쳤을 때 · 아래 단추 줄(.rl-nav) = 흰 바탕·같은 폭 */
.navbar-search .rl-band .row.ptb-10 .form-inline > .btn-group[data-bs-toggle="buttons"] { display: inline-flex; background: var(--yz-dark-deep); border-radius: 6px; padding: 2px; gap: 2px; vertical-align: middle; }
.navbar-search .rl-band .row.ptb-10 .form-inline > .btn-group[data-bs-toggle="buttons"] > .btn.btn-info { margin: 0; border: 0; border-radius: 4px; background: transparent; color: var(--yz-dark-text); font-size: 13px; line-height: 1.5; padding: 4px 11px; box-shadow: none; white-space: nowrap; }
.navbar-search .rl-band .row.ptb-10 .form-inline > .btn-group[data-bs-toggle="buttons"] > .btn.btn-info:hover { background: var(--bs-dark); color: #fff; }
.navbar-search .rl-band .row.ptb-10 .form-inline > .btn-group[data-bs-toggle="buttons"] > .btn.btn-info.active { background: var(--bs-primary); color: #fff; }
.navbar-search .rl-band .row.ptb-10 .form-select, .navbar-search .rl-band .row.ptb-10 .form-control, .navbar-search .rl-band .row.ptb-10 .type-dd__btn { height: 32px; padding: 3px 8px; font-size: 13px; }
.navbar-search .rl-band .row.ptb-10 .form-select { padding-right: 28px; }
.navbar-search .rl-band .row.ptb-10 .input-group .btn, .navbar-search .rl-band .row.ptb-10 > .form-inline > a.btn { height: 32px; padding: 0 10px; font-size: 13px; line-height: 1; }
.navbar-search .rl-band .btn { display: inline-flex; align-items: center; justify-content: center; }   /* 띠 안 모든 단추 = 글·아이콘 세로 가운데(2026-10-27 424th 대표 지시 「초기화 단추와 텍스트가 세로 가운데가 아니다 — 전부 확인」 — 옛: 높이 32 에 위 여백만 3px 이라 글이 위로 쏠렸다) */
.navbar-search .rl-band .btn .bi { line-height: 1; }
.navbar-search .rl-band .rl-days > .btn { --bs-btn-color: var(--yz-dark-text); --bs-btn-border-color: transparent; }   /* 이전·다음 = 평소 글자 색이 상태 단추(이용대기·이용완료·당일불착)와 같고 테두리 없음 · 마우스를 올리면 원래 흰 단추(btn-outline-light)(2026-10-28 467th 대표 지시) */
.navbar-search .rl-band .type-dd__btn { --bs-btn-color: var(--yz-dark-text); }   /* 띠 드롭다운(판매채널·결제·(행)·상품전체·차례) 평소 글자 = 상태 단추(이용대기·이용완료·당일불착)와 같은 색(2026-10-28 468th 대표 지시 — 옛 흰색, 펼친 목록·고른 글자 색은 그대로) */
.navbar-search > .container.rl-band .type-dd > .type-dd__btn { border-radius: 999px; padding-left: 12px !important; padding-right: 12px !important; }   /* 띠 드롭다운(차례·판매채널·결제·(행)·상품전체) 좌우 둥글게(2026-10-28 472nd 대표 지시) */
.navbar-search .rl-band .row.ptb-10 .input-group .form-control { height: 32px; }
/* 현재상태 = 부트스트랩 단추 색 그대로(2026-10-27 425th 대표 지시 — 옛 419th 알약 색 걷음): 이용대기 btn-outline-secondary · 이용완료 btn-success · 당일불착 btn-secondary · 환불대기 btn-outline-warning · 환불완료 btn-warning · 입금대기 btn-primary · 자동취소·기간만료 btn-outline-secondary — 모두 같은 크기 */
.rl-table td.rl-ok .btn { min-width: 66px; height: 26px; padding: 0 8px; font-size: 12px; font-weight: 500; line-height: 1; display: inline-flex; align-items: center; justify-content: center; }
.rl-table > tbody > tr.rl-sum-row > td, .rl-table > tfoot > tr.rl-sum-row > td { background: #f8fafc; font-weight: 500; }   /* 합계 줄 셋 — 이용대기·이용완료 n건 합계 500 · 전체 600(아래) · 위 선 1px(2026-10-27 425th 대표 지시 — 옛 2px #cfd4dc) */
.rl-table > tfoot > tr.rl-sum-row > td { font-weight: 600; }
.navbar-search > .rl-tabs { display: flex; align-items: center; gap: 2px; padding: 0 14px; background: #fff; border-bottom: 1px solid #e4e7ec; font-family: 'Montserrat', 'Pretendard Variable', Pretendard, -apple-system, 'Malgun Gothic', sans-serif; }   /* 회차 탭 줄(2026-10-27 420th 안 1 — 띠 아래 흰 줄, _reserve_query.php rl_time_buttons) */
.navbar-search > .rl-tabs .lab { font-size: 12px; color: #667085; margin-right: 6px; white-space: nowrap; }
.navbar-search > .rl-tabs label.t { display: inline-flex; align-items: center; margin: 0; padding: 10px 14px 7px; font-size: 14px; font-weight: 400; color: #475467; border-bottom: 3px solid transparent; white-space: nowrap; cursor: pointer; }
.navbar-search > .rl-tabs label.t .tm { font-weight: 700; color: #344054; }   /* 시간 굵게 · 인원 얇게(2026-10-27 423rd 대표 지시) */
.navbar-search > .rl-tabs label.t:hover { color: #242424; }
.navbar-search > .rl-tabs label.t.on { color: var(--yz-primary-deep); font-weight: 700; border-bottom-color: var(--bs-primary); }
.navbar-search > .rl-tabs label.t.on .tm { color: var(--yz-primary-deep); }
.navbar-search > .rl-tabs .right { margin-left: auto; padding: 8px 0 8px 12px; font-size: 15px; color: #475467; white-space: nowrap; flex: 0 0 auto; }   /* 「이용대기 n명 · 이용완료 n명」 15px(425th — 옛 13px) · 탭이 많아도 줄지 않음 */
.navbar-search > .rl-tabs .right b { color: #242424; }
.navbar-search > .rl-tabs .right .t-success b { color: inherit; }
@media (min-width: 768px) {   /* 띠 = 한 줄(2026-10-27 421st 대표 지시 「시안처럼 날짜가 한 줄에」): 경로 제목 › 날짜 · (이전·다음) · 차례 · 상태 알약 · 판매채널 · 결제 · (행) · 상품 · 검색 — 좁으면(1280) 거름 묶음이 다음 줄로 */
	.navbar-search > .container.rl-band { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; padding-top: 8px; padding-bottom: 8px; }
	.navbar-search > .container.rl-band > .row { width: auto; margin: 0; flex: 0 0 auto; }
	.navbar-search > .container.rl-band > .row > [class*="col-"] { width: auto; flex: 0 0 auto; max-width: none; padding: 0; }
	.navbar-search > .container.rl-band > .row.ptb-10 { padding: 0 !important; border-top: 0 !important; flex: 1 1 auto; min-width: 0; max-width: 100%; }   /* 거름 줄은 남는 폭에서 줄바꿈(1280 — 안 그러면 검색칸이 오른쪽 밖으로) */
	.navbar-search > .container.rl-band > .row.ptb-10 > .form-inline { flex: 1 1 auto; min-width: 0; max-width: 100%; }
	.navbar-search > .container.rl-band .rl-top { display: flex; align-items: center; gap: 10px; }
	.navbar-search > .container.rl-band .rl-top > .page-nav-title { margin-right: 0; line-height: 1; }
	.navbar-search > .container.rl-band .rl-top > .ml-10 { margin-left: 0 !important; vertical-align: middle !important; }
	.navbar-search > .container.rl-band .sel-sedate { display: inline-flex; align-items: center; margin: 0; font-size: 24px; letter-spacing: 0; line-height: 1; }   /* 날짜 24px(2026-10-27 424th 대표 지시 — 옛 18) · 화살표는 옛 크기 그대로 */
	.navbar-search > .container.rl-band .sel-sedate small { font-size: 15px; }   /* 연도도 세로 가운데(424th) */
	.navbar-search > .container.rl-band .sel-sedate > .bi { font-size: 18px; margin-left: 4px; }
	.navbar-search > .container.rl-band .rl-sale-h { margin: 0; font-size: 18px; line-height: 1; }
	.navbar-search > .container.rl-band .rl-days > .btn { height: 26px; padding: 0 8px; font-size: 12px; line-height: 1; border-radius: 4px; }   /* 이전·다음 = 따로 떨어진 작은 btn-outline-light(2026-10-27 425th 대표 지시 — 사이 4px gap-1 · 12px · 옛 붙은 60×31) */
	.navbar-search > .container.rl-band .rl-days .bi { font-size: 10px; }
	.navbar-search > .container.rl-band .rl-ord .type-dd__btn { height: 32px; padding: 0 10px; font-size: 13px; font-weight: 400; --bs-btn-color: var(--yz-dark-text); }   /* 차례 드롭다운(424th) — 글자 색·굵기 = 상태 단추(이용대기·이용완료·당일불착)와 같게(2026-10-28 466th 대표 지시 — 옛 흰색·700) */
}
/* 띠 둘째 묶음 간격 = 한 값 10px(2026-10-27 422nd 대표 지시 「상품전체와 검색폼 간격도 다른 폼과 같게」 — 옛: 행·상품·검색칸이 붙어 있었다) · 검색 단추 = 드롭다운과 같은 흰 단추 */
@media (min-width: 768px) {
	.navbar-search .rl-band .row.ptb-10 > .form-inline { column-gap: 6px; row-gap: 6px; }   /* 판매채널·결제·(행)·상품전체·검색폼 사이 6px(2026-10-27 425th 대표 지시 — 옛 10px) */
	.navbar-search .rl-band .row.ptb-10 > .form-inline > .btn-group[data-bs-toggle="buttons"] { margin-right: 4px !important; }   /* 상태 알약 묶음 → 판매채널만 10px 그대로 */
	.navbar-search .rl-band .row.ptb-10 > .form-inline > * { margin-left: 0 !important; margin-right: 0; }
}
/* 검색바 = 흰 둥근 칸 하나 + 오른쪽 안쪽 둥근 돋보기 단추(2026-10-28 470th 대표 지시 · 그림 예 「Search… (Q)」) — 누르거나 엔터 = 검색 · 예약완료·예약전체·판매관리·환불관리(.input-group.rl-search) · 옛 469th 회색 칸·468th 검색 단추 줄을 바꿈 */
.navbar-search .rl-band .input-group.rl-search { position: relative; flex-wrap: nowrap; }
.navbar-search .rl-band .row.ptb-10 .input-group.rl-search > .form-control { height: 32px; padding: 0 38px 0 14px; border: 1px solid #fff; border-radius: 999px; background: #fff; color: #242424; font-size: 13px; box-shadow: none; }
.navbar-search .rl-band .row.ptb-10 .input-group.rl-search > .form-control::placeholder { color: #98a2b3; opacity: 1; }
.navbar-search .rl-band .row.ptb-10 .input-group.rl-search > .form-control:focus { border-color: #fff; box-shadow: 0 0 0 3px rgba(var(--bs-primary-rgb), .45); }
.navbar-search .rl-band .row.ptb-10 .input-group.rl-search > .search-submit { position: absolute; top: 3px; right: 3px; z-index: 5; width: 26px; height: 26px; padding: 0; margin: 0; border-radius: 50%;
	--bs-btn-color: #fff; --bs-btn-bg: var(--yz-dark-deep); --bs-btn-border-color: var(--yz-dark-deep); --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--bs-dark); --bs-btn-hover-border-color: var(--bs-dark); --bs-btn-active-color: #fff; --bs-btn-active-bg: var(--bs-dark); --bs-btn-active-border-color: var(--bs-dark); }
.navbar-search .rl-band .input-group.rl-search > .search-submit .fa-ic { margin: 0; font-size: 12px; }
@media (min-width: 768px) { .navbar-search .rl-band .row.ptb-10 .input-group.rl-search > .form-control { width: 200px !important; } }
/* 검색 단추 = 초기화와 같은 회색 btn-info(2026-10-27 425th 대표 지시 — 옛 422nd 흰 단추 걷음) */
.navbar-search .rl-band .input-group > .search-submit .bi { font-size: 12px; margin-right: 2px; }
/* 머리 두 줄(.navbar-header · 메뉴 줄 .navbar-oc)·회차 탭 줄(.rl-tabs) 내용 = 본문 틀(.container — 최대 1920 · 좌우 15, 1280 이하 5)과 같은 자리(2026-10-27 422nd 대표 지시) · 바탕색은 화면 끝까지, 안쪽만 좁힘 — 50% - 945px = (100% - 1920) / 2 + 15 */
@media (min-width: 768px) {
	.navbar-header, #top-nav .navbar-oc .nav-body, .navbar-search > .rl-tabs { padding-left: max(15px, calc(50% - 945px)); padding-right: max(15px, calc(50% - 945px)); }
	.navbar-header > .navbar-brand { padding-left: 0; }   /* 로고 왼쪽 끝 = 띠 날짜 왼쪽 끝 */
}
@media (min-width: 768px) and (max-width: 1280px) {
	.navbar-header, #top-nav .navbar-oc .nav-body, .navbar-search > .rl-tabs { padding-left: 5px; padding-right: 5px; }
}
#rl-list .pg_wrap { margin-top: 10px; }
#rl-list .pg a, #rl-list .pg_current { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; height: 30px; margin-left: 4px; padding: 0 8px; border: 1px solid #e4e7ec; border-radius: 6px; background: #fff; color: #333; font-size: 13px; line-height: 1; }
#rl-list .pg a:hover { background: #f2f6fc; color: #333; }
#rl-list .pg_current { background: var(--bs-primary); border-color: var(--bs-primary); color: #fff; }
@media (max-width: 767.98px) {
	.navbar-search:has(> .container.rl-band) > .band-head { position: absolute; right: 6px; top: 7px; padding: 0; z-index: 2; }   /* 「검색 ▾」 = 날짜 줄 오른쪽 끝 */
	.navbar-search:has(> .container.rl-band) > .band-head .band-title { display: none; }
	.navbar-search > .container.rl-band { display: block !important; padding: 0 10px; }
	.navbar-search > .container.rl-band > .row { margin: 0; }
	.navbar-search > .container.rl-band > .row > .col-10, .navbar-search > .container.rl-band > .row > .col-12 { padding: 0; width: 100%; flex: 0 0 100%; max-width: 100%; }
	.navbar-search > .container.rl-band .rl-top { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; padding: 7px 90px 7px 0; }   /* 날짜 줄(세 화면의 .rl-top) — 오른쪽 90px 는 「검색 ▾」 자리 */
	.navbar-search > .container.rl-band .rl-top > .page-nav-title { display: none; }   /* 경로 제목은 휴대폰 날짜 줄에 없음(421st) */
	.navbar-search > .container.rl-band .sel-sedate { margin: 0; font-size: 20px; letter-spacing: 0; }
	.navbar-search > .container.rl-band .sel-sedate small { font-size: 13px; font-weight: 400; color: var(--yz-dark-text); }
	.navbar-search > .container.rl-band .rl-ord .type-dd__btn { height: 30px; padding: 0 8px; font-size: 13px; --bs-btn-color: var(--yz-dark-text); }
	.navbar-search > .container.rl-band .rl-sale-h { margin: 6px 0; font-size: 20px; }
	.navbar-search > .container.rl-band > .row.ptb-10 { padding: 0 !important; border-top: 1px solid var(--yz-dark-rule); }
	.navbar-search > .container.rl-band > .row.ptb-10 > .form-inline { padding: 6px 0; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }   /* 접힌 채 = 상태 칩 줄(가로로 밈) */
	.navbar-search:not(.is-open) > .container.rl-band > .row.ptb-10 > .form-inline > :not(.btn-group[data-bs-toggle="buttons"]) { display: none !important; }
	.navbar-search .rl-band .row.ptb-10 .form-inline > .btn-group[data-bs-toggle="buttons"] { width: auto; margin: 0 6px 0 0; padding: 0; gap: 6px; background: transparent; flex: 0 0 auto; display: inline-flex; flex-wrap: nowrap !important; }
	.navbar-search .rl-band .row.ptb-10 .form-inline > .btn-group[data-bs-toggle="buttons"] > .btn.btn-info { background: #fff; color: #475467; border: 1px solid #e4e7ec; border-radius: 999px; padding: 4px 11px; font-size: 13px; }
	.navbar-search .rl-band .row.ptb-10 .form-inline > .btn-group[data-bs-toggle="buttons"] > .btn.btn-info.active { background: #e3edfb; border-color: #b9d0f0; color: var(--yz-primary-deep); }
	.navbar-search.is-open > .container.rl-band > .row.ptb-10 > .form-inline { flex-wrap: wrap !important; overflow: visible; }   /* 펼침 = 칩 줄 + 거름 한 줄에 하나씩 */
	.navbar-search.is-open .rl-band .row.ptb-10 .form-inline > .btn-group[data-bs-toggle="buttons"] { flex-wrap: wrap; gap: 6px; margin: 3px 0; }
	.navbar-search.is-open .rl-band .row.ptb-10 .form-inline > .btn-group[data-bs-toggle="buttons"] > .btn { flex: 0 0 auto; }
	.navbar-search.is-open .rl-band .row.ptb-10 .form-inline > a.btn { display: inline-flex !important; align-items: center; justify-content: center; width: auto !important; }   /* 초기화 — 위 「한 줄에 하나(display: block)」 규칙이 세로 가운데를 깨서(424th) */
	.rl-table > tfoot > tr.rl-sum-row > td .rl-itchk { margin: 0 10px 0 0; }   /* 카드 합계 줄 — 스위치와 「전체 n건 합계」 사이 */
	.navbar-search > .rl-tabs { display: flex !important; flex-wrap: wrap; padding: 0 10px; }   /* 회차 탭 줄 — 휴대폰도 늘(접힌 띠 규칙이 숨기는 것을 되살림) · 탭은 .rl-tsw 한 줄에서 손가락으로 좌우(425th) */
	.navbar-search > .rl-tabs .rl-tsw { flex: 1 1 0; }
	.navbar-search > .rl-tabs .rl-tarr { display: none; }
	.navbar-search > .rl-tabs label.t { padding: 8px 10px; font-size: 13px; }
	.navbar-search > .rl-tabs .right { flex: 0 0 100%; margin: 0; padding: 4px 0 6px; font-size: 12px; }
}

/* ===== 하단 처리 막대 = 떠 있는 흰 막대(2026-10-27 430th 대표 결정 「A」) =====
   예약완료·예약전체·판매관리·환불관리(.navbar-list.rl-nav — 두 묶음 div) · 예약 View(.vw-nav — 단추가 바로 안, .sp 가 왼쪽·오른쪽을 가름)
   화면 끝까지 꽉 찬 어두운 띠 대신 아래에서 14px 떠 있는 흰 둥근 카드 · 그림자 · 왼쪽 「n건 선택」(.rl-selcnt — _reserve_frag.php rlSelCount) · 단추 차례·색 그대로 + 아이콘 · 늘 떠 있음 */
/* 자리 = 화면 오른쪽 아래(2026-10-27 432nd 대표 지시 — 430th 는 가운데 · 폭 1180) · 폭 = 가운데였을 때와 같은 min(1180, 화면 − 32)(434th 대표 지시 「가운데 떠 있을 때 크기로 우측에 붙여」 · 「문자전송·시간변경과 이용완료·당일불착·환불요청은 다른 유형이라 거리가 있어야」 — 두 묶음을 양 끝으로) */
.navbar-list.rl-nav { left: auto; right: 16px; bottom: 14px; margin: 0; width: min(1180px, calc(100% - 32px)); min-width: 0; max-width: none; min-height: 0; display: flex; align-items: center; gap: 8px;
	padding: 8px 10px 8px 16px; background: #fff; border: 1px solid #e4e7ec; border-radius: 14px; box-shadow: 0 10px 30px rgba(16, 24, 40, .14), 0 2px 6px rgba(16, 24, 40, .06); }
.navbar-list.rl-nav > div { display: flex; align-items: center; gap: 8px; width: auto; max-width: none; padding: 0; margin: 0; }
.navbar-list.rl-nav > div:first-child { flex: 1 1 auto; }   /* 왼쪽 묶음이 남는 폭을 먹어 오른쪽 묶음을 끝으로(434th) */
.navbar-list.rl-nav > div:last-child { flex: 0 0 auto; justify-content: flex-end; }
.navbar-list.rl-nav .sp { flex: 1 1 auto; }   /* 예약 View — 문자전송 ↔ 처리 단추를 양 끝으로(434th) */
.navbar-list.rl-nav .btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 38px; min-width: 0; margin: 0; padding: 0 14px; border-radius: 10px; font-size: 14px; font-weight: 600; line-height: 1; white-space: nowrap; }
.navbar-list.rl-nav .btn .bi, .navbar-list.rl-nav .btn .fa-ic { font-size: 15px; line-height: 1; }
.navbar-list.rl-nav .dropdown-time-picker { margin: 0 !important; }
.navbar-list.rl-nav .dropdown-time-picker > .btn { border-radius: 10px; }   /* 시간변경 = 목록이 달린 단추 묶음(btn-group)이라 부트스트랩이 오른쪽 모서리를 각지게 해 잘린 것처럼 보였다(2026-10-27 433rd 대표님 발견) */
.rl-selcnt { display: inline-flex; align-items: center; gap: 6px; margin-right: 4px; font-size: 14px; font-weight: 600; color: #344054; white-space: nowrap; }
.rl-selcnt b { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; height: 24px; padding: 0 7px; border-radius: 999px; background: var(--bs-primary); color: #fff; font-size: 13px; font-weight: 700; }
.rl-selcnt.is-zero { color: #98a2b3; }
.rl-selcnt.is-zero b { background: #d0d5dd; }
body:has(.navbar-list.rl-nav) { padding-bottom: 76px; }   /* 마지막 줄·쪽 번호가 막대에 가리지 않게 */
/* 왼쪽 묶음 단추(문자전송·시간변경·승선명부) = 늘 같은 크기로 왼쪽에 붙음(2026-10-27 435th 대표 지시 — 좁아질 때 문자전송만 늘어나던 것) */
.navbar-list.rl-nav > div:first-child > .btn, .navbar-list.rl-nav > div:first-child > .dropdown-time-picker { flex: 0 0 auto; }
@media (max-width: 767.98px) {   /* 휴대폰 — 한 줄(435th 대표 지시): 「n건 선택」은 숫자만 · 왼쪽 묶음(문자전송·시간변경·승선명부, 예약 View 문자전송) = 아이콘만 같은 크기 정사각 · 오른쪽 처리 단추는 남는 폭을 나눠 가짐 */
	.navbar-list.rl-nav { left: 8px; right: 8px; bottom: 8px; width: auto; max-width: none; min-width: 0; flex-wrap: nowrap; overflow: visible; padding: 6px; gap: 6px; }
	.navbar-list.rl-nav > div { flex-wrap: nowrap; gap: 5px; min-width: 0; }
	.navbar-list.rl-nav > div:first-child { flex: 0 0 auto; }
	.navbar-list.rl-nav > div:last-child { flex: 1 1 auto; min-width: 0; }
	.navbar-list.rl-nav .rl-selcnt { font-size: 0; margin: 0 2px 0 2px; gap: 0; }   /* 「건 선택」 글은 숨기고 숫자 동그라미만 */
	.navbar-list.rl-nav .rl-selcnt b { font-size: 12px; min-width: 22px; height: 22px; padding: 0 6px; }
	.navbar-list.rl-nav .btn { height: 36px; padding: 0 6px; gap: 3px; font-size: 12px; border-radius: 9px; }
	.navbar-list.rl-nav .btn .bi, .navbar-list.rl-nav .btn .fa-ic { font-size: 13px; }
	.navbar-list.rl-nav > div:first-child .btn, .vw-nav > .btn:first-child { width: 36px; padding: 0; font-size: 0; gap: 0; }   /* 아이콘만 — 글은 font-size 0(화면낭독기·단추 글 읽기 $(this).text() 는 그대로) */
	.navbar-list.rl-nav > div:first-child .btn .bi, .vw-nav > .btn:first-child .bi, .navbar-list.rl-nav > div:first-child .btn .fa-ic, .vw-nav > .btn:first-child .fa-ic { font-size: 17px; }
	.navbar-list.rl-nav > div:last-child > .btn, .vw-nav > .sp ~ .btn, .vw-nav > .sp ~ a.btn { flex: 1 1 0; min-width: 0; white-space: nowrap; overflow: hidden; }
	.navbar-list.rl-nav .sp { display: block; flex: 0 0 0; }
	.navbar-list.rl-nav .dropdown-time-picker { flex: 0 0 auto; }
	body:has(.navbar-list.rl-nav) { padding-bottom: 70px; }
}
@media (max-width: 767.98px) {   /* 휴대폰 예약 목록 = 줄마다 카드 — 줄 오버 선(431st 칸 안쪽 그림자)이 칸마다 그려져 카드 안이 줄투성이였다(2026-10-27 435th 대표님 발견) → 칸 선은 없애고 카드 테두리만 진하게 */
	.table-list.rl-table tbody tr:hover > td { box-shadow: none !important; }
	.rl-table > tbody > tr:hover { border-color: var(--yz-dark-edge); }
}
/* 날짜 창 이전·다음 화살표 = bootstrap-icons 글꼴(2026-10-27 438th — FontAwesome 을 빼(414th) 옛 fa-chevron 그림이 비어 있었다) */
.daterangepicker th.prev i, .daterangepicker th.next i { font-family: "bootstrap-icons"; font-style: normal; font-weight: normal; line-height: 1; }
.daterangepicker th.prev i::before { content: "\f284"; }
.daterangepicker th.next i::before { content: "\f285"; }
.daterangepicker .calendar-time i.fa-clock-o { display: none; }
/* 창(모달) 공통 — 2026-10-27 439th 대표 지시 「모든 수정·등록 창 같은 크기(large) · 모서리 둥글게 · 단추는 목록 단추와 같은 모양」
   크기 : 수정·등록 창 = 부트스트랩 large 800px(옛 767 · 작은 창 540) · 넓은 보기 창(modal-dialog-lg 1250 — 문자전송·예약현황 일별·체험단 공고/현황·메세지 기록·정산 상세)은 그대로
   모서리 : 14px(알림창 sweetalert 와 같음 — 406th) · 휴대폰 전체 화면 창은 각지게 */
.modal-form .modal-dialog:not(.modal-dialog-lg) { max-width: 800px; }
.modal .modal-content { border-radius: 14px; }
.modal .modal-header { border-radius: 14px 14px 0 0; }
.modal .modal-footer { border-radius: 0 0 14px 14px; }
.modal .btn { --bs-btn-border-radius: 10px; --bs-btn-font-weight: 600; }
.modal .btn-sm { --bs-btn-border-radius: 8px; }
.modal .modal-footer .btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 38px; min-width: 80px; padding: 0 14px; font-size: 14px; line-height: 1; white-space: nowrap; }
.modal .modal-footer .btn .bi { font-size: 15px; line-height: 1; }
@media (max-width: 767.98px) {
	.modal .modal-content, .modal .modal-header, .modal .modal-footer { border-radius: 0; }
}
/* 상품·시간 고르기 레이어 = 날짜 창과 같은 폭·모양(270px · 옅은 테두리) — 체험단·네이버예약 등록 창은 단추 가운데(is-center) · 상품정보 수정 창은 단추 왼쪽 끝(날짜 창처럼) */
.modal .dropdown-time-picker .dropdown-menu { width: 270px; min-width: 0; padding: 4px; border-radius: 10px; box-shadow: 0 8px 24px rgba(16, 24, 40, .14); }
.modal .dropdown-time-picker.is-center .dropdown-menu { left: 50%; right: auto; transform: translateX(-50%); }
.modal .dropdown-time-picker .dropdown-menu li a { padding: 8px 10px; border-radius: 6px; }
.modal .dropdown-time-picker .dropdown-menu li a h4 { font-size: 15px; font-weight: 600; }
.modal .dropdown-time-picker .dropdown-menu li a h4 small { font-size: 12px; color: #667085; }
.modal .dropdown-time-picker .dropdown-menu li a div { font-size: 12px; }
/* 회차 탭 좌우 단추 = 원 안 화살표 · 바탕 primary · 화살표 흰색 · PC 마우스 끌기(2026-10-27 440th 대표 지시 — reserve_list.php) */
.navbar-search > .rl-tabs .rl-tarr { width: 26px; height: 26px; margin: 0 4px; border-radius: 50%; background: var(--bs-primary); color: #fff; font-size: 18px; line-height: 1; box-shadow: 0 1px 3px rgba(16, 24, 40, .18); }
.navbar-search > .rl-tabs .rl-tarr:hover { background: var(--yz-primary-dark); color: #fff; }
.navbar-search > .rl-tabs .rl-tarr .bi { line-height: 1; }
@media (hover: hover) and (pointer: fine) {
	.navbar-search > .rl-tabs .rl-tsc { cursor: grab; }
	.navbar-search > .rl-tabs .rl-tsc.is-drag { cursor: grabbing; user-select: none; }
	.navbar-search > .rl-tabs .rl-tsc.is-drag label.t { cursor: grabbing; }
}
/* 「새 예약 n건 새로 고침」 글 0.85rem(440th 대표 지시) */
.navbar-search > .rl-tabs .right .rl-new { --bs-btn-font-size: .85rem; font-size: .85rem; }
/* 회차 탭 인원 = 회색 숫자 11px(2026-10-27 441st 대표 지시 · 뱃지는 「너무 튄다」로 빼고 숫자만 — 442nd) · 고른 탭은 primary 글자 */
.navbar-search > .rl-tabs label.t .cnt { margin-left: 5px; font-size: 11px; font-weight: 400; color: #667085; }
.navbar-search > .rl-tabs label.t.on .cnt { color: var(--bs-primary); }
/* 회차 탭 = 좌우 둥근 단추(2026-10-27 442nd 대표 지시 — 예약전체 휴대폰 시안처럼) · 고른 회차 = 연파랑 바탕·파랑 테두리·파랑 글자 · 나머지 = 흰 바탕·회색 테두리 · 옛 밑줄 탭 대신 */
.navbar-search > .rl-tabs { padding-top: 9px; padding-bottom: 9px; }   /* 단추가 들어가 줄을 조금 키움(대표 지시) */
.navbar-search > .rl-tabs .rl-tsc { gap: 6px; padding: 1px 0; }
.navbar-search > .rl-tabs label.t { height: 30px; padding: 0 13px; border: 1px solid #d0d5dd; border-radius: 999px; background: #fff; font-size: 13px; line-height: 1; }
.navbar-search > .rl-tabs label.t:hover { border-color: #98a2b3; background: #f9fafb; }
.navbar-search > .rl-tabs label.t.on { border-color: var(--bs-primary); background: #eaf2fc; color: var(--yz-primary-deep); }
.navbar-search > .rl-tabs label.t.on .tm { color: var(--yz-primary-deep); }
@media (max-width: 767.98px) {
	.navbar-search > .rl-tabs label.t { height: 28px; padding: 0 11px; font-size: 12px; }
}
/* 맨 위 줄 · 접속자 오프캔버스(2026-10-27 443rd 대표 지시 — 시안 _src/mockup/header-oc 를 고침, head.php)
   맨 위 줄 = 로고 · 지금 접속 표시(업종 색 알약 | 가맹점) · (오른쪽) 관리 · 홈페이지 · 접속자 단추 · 미리보기 중이면 노란 표시 */
.navbar-header { gap: 10px; }
.hd-where { display: inline-flex; align-items: center; min-width: 0; height: 26px; padding: 0 12px 0 3px; border-radius: 999px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .14); color: #fff; font-size: 13px; font-weight: 600; white-space: nowrap; }
.hd-where .gb { display: inline-flex; align-items: center; height: 20px; padding: 0 9px; margin-right: 8px; border-radius: 999px; font-size: 11px; font-weight: 700; color: #fff; flex: 0 0 auto; }
.hd-where .nm { overflow: hidden; text-overflow: ellipsis; }
.gb-ship { background: #ff8400; } .gb-trip { background: #1c7ed6; } .gb-stay { background: #12b886; } .gb-dish { background: #e64980; } .gb-main { background: #7048e8; } .gb-adm { background: #212529; border: 1px solid rgba(255, 255, 255, .28); }
.hd-right { margin-left: auto; display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.hd-me { display: inline-flex; align-items: center; gap: 7px; height: 30px; padding: 0 3px 0 3px; border-radius: 999px; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .16); color: #fff; font-size: 12px; font-weight: 600; cursor: pointer; white-space: nowrap; }
.hd-me:hover, .hd-me[aria-expanded="true"] { background: #fff; color: #242424; border-color: #fff; }
/* 접속자 오프캔버스(관리자) — 위 = 이름·로그아웃 아이콘 · 한 줄 = 문자잔액 | 다른 레벨로 보기(접기) · 아래 = 업종 탭 · 찾기 · 목록(남는 높이 모두, 목록만 스크롤) */
.me-oc { --bs-offcanvas-width: 440px; --bs-offcanvas-bg: #fff; border-left: 0 !important; border-radius: 16px 0 0 16px; box-shadow: -16px 0 40px rgba(16, 24, 40, .22); }
.me-oc .me-hd { display: flex; align-items: center; gap: 10px; padding: 16px 16px 14px; border-bottom: 1px solid #eef0f4; }
.me-oc .me-hd .btn-close { margin-left: auto; filter: none; opacity: .6; }
.me-oc .me-bd { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; gap: 10px; padding: 12px 16px 14px; }
.hd-me-pop .me-row { display: flex; gap: 8px; }
.hd-me-pop .me-sms, .hd-me-pop .me-lv-tg { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 12px; border: 1px solid #eaecf0; border-radius: 10px; background: #fff; color: #344054; font-size: 13px; text-decoration: none; white-space: nowrap; }
.hd-me-pop .me-sms { flex: 1 1 0; min-width: 0; }   /* 문자잔액 : 다른 레벨로 보기 = 50 : 50(444th) */
.hd-me-pop .me-sms .bi { color: #667085; }
.hd-me-pop .me-sms .v { font-weight: 700; color: #242424; }
.hd-me-pop .me-lv-tg { flex: 1 1 0; min-width: 0; font-weight: 600; }
.hd-me-pop .me-lv-tg > span { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; text-align: left; }
.hd-me-pop .me-lv-tg b { color: #c77700; }
.hd-me-pop .me-lv-tg i { transform: none; }   /* 공통 .collapsed i 회전(옛 접기 화살표) 막기 */
.hd-me-pop .me-lv-tg .cv { font-size: 11px; transition: transform .15s; }
.hd-me-pop .me-lv-tg:not(.collapsed) .cv { transform: rotate(180deg); }
.hd-me-pop .me-sms:hover, .hd-me-pop .me-lv-tg:hover { background: #f9fafb; }
.hd-me-pop .me-lv { display: flex; flex-wrap: wrap; gap: 6px; padding: 2px 0 2px; }
.hd-me-pop .me-lv a { height: 28px; padding: 0 11px; border-radius: 999px; border: 1px solid #d0d5dd; display: inline-flex; align-items: center; font-size: 12px; font-weight: 600; color: #344054; background: #fff; text-decoration: none; }
.hd-me-pop .me-lv a:hover { border-color: #98a2b3; }
.hd-me-pop .me-lv a.on { background: #242424; border-color: #242424; color: #fff; }
.me-oc .me-tabs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 2px; padding: 3px; border-radius: 10px; background: #f2f4f7; }
.me-oc .me-tabs button { height: 32px; border: 0; border-radius: 8px; background: transparent; color: #475467; font-size: 13px; font-weight: 600; white-space: nowrap; }
.me-oc .me-tabs button.on { background: #fff; color: #242424; box-shadow: 0 1px 3px rgba(16, 24, 40, .14); }
.me-oc .me-find { position: relative; }
.me-oc .me-find .bi { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #98a2b3; font-size: 13px; }
.me-oc .me-find input { width: 100%; height: 36px; border: 1px solid #d0d5dd; border-radius: 10px; padding: 0 12px 0 34px; font-size: 13px; outline: 0; }
.me-oc .me-find input:focus { border-color: var(--bs-primary); box-shadow: 0 0 0 3px rgba(var(--bs-primary-rgb), .15); }
.me-oc .me-list { position: relative; flex: 1 1 auto; min-height: 0; overflow-y: auto; margin: 0 0 0 -6px; padding: 0 2px; overscroll-behavior: contain; scrollbar-width: thin; }
.me-oc .me-it { display: flex; align-items: center; gap: 10px; height: 42px; padding: 0 12px; border-radius: 10px; color: #242424; font-size: 14px; text-decoration: none; }
.me-oc .me-it:hover { background: #f5f8fd; }
.me-oc .me-it .dt { width: 7px; height: 7px; flex: none; border-radius: 50%; background: #d0d5dd; }
.me-oc .me-it .nm { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.me-oc .me-it.on { background: #eaf2fc; font-weight: 700; cursor: default; }
.me-oc .me-it.on .dt { background: var(--bs-primary); box-shadow: 0 0 0 3px rgba(var(--bs-primary-rgb), .2); }
.me-oc .me-it .tag { font-size: 11px; font-weight: 700; height: 20px; padding: 0 8px; border-radius: 999px; display: inline-flex; align-items: center; background: #fff; color: var(--yz-primary-deep); }
.me-oc .me-empty, .me-oc .me-note { padding: 18px 8px; color: #98a2b3; font-size: 13px; text-align: center; }
.me-oc .me-note { text-align: left; color: #667085; background: #f9fafb; border-radius: 10px; }
@media (max-width: 767.98px) {
	.navbar-header { gap: 6px; }
	.hd-where { height: 28px; font-size: 12px; max-width: calc(100vw - 168px); }
	.hd-me { padding: 0 2px; height: 30px; }
	.hd-me .lv { display: none; }   /* 휴대폰 = 로고 동그라미만 */
	.hd-right { gap: 4px; }
	.me-oc { --bs-offcanvas-width: 100%; border-radius: 0; }
}
/* 맨 위 줄·접속자 오프캔버스 2(2026-10-27 444th 대표 지시) — 지금 접속 표시 = 관리자는 오프캔버스를 여는 단추 · 접속자 칩 = 요즘핫플 로고 + 레벨 · 바로 옆 로그아웃 · 휴대폰 로고 = logo-loader.png · 종 지움 */
.hd-where.is-btn { cursor: pointer; gap: 0; padding-right: 8px; transition: background .12s, color .12s; }
.hd-where.is-btn .cv { margin-left: 8px; font-size: 10px; opacity: .8; }
.hd-where.is-btn:hover, .hd-where.is-btn[aria-expanded="true"] { background: #fff; color: #242424; border-color: #fff; }
/* 업종 다섯 + 관리 — 넓으면 한 줄(관리 = 오른쪽 끝 진한 단추) · 좁으면 관리가 윗줄 한 칸 · 관리를 열면 찾기·ㄱㄴㄷ 숨김 */
.me-oc .me-nav { container-type: inline-size; }
.me-oc .me-nav-r { display: flex; flex-wrap: wrap; gap: 8px; }
.me-oc .me-nav-r > .me-tabs { flex: 1 1 100%; }
.me-oc .me-mgr-tg { order: -1; display: flex; align-items: center; gap: 8px; width: 100%; height: 38px; padding: 0 12px; border: 0; border-radius: 10px; background: var(--bs-dark); color: #fff; font-size: 13px; font-weight: 700; }
.me-oc .me-mgr-tg em { font-style: normal; font-weight: 500; font-size: 12px; color: #c9d1dc; }
.me-oc .me-mgr-tg .cv { margin-left: auto; font-size: 11px; transition: transform .15s; }
.me-oc .me-mgr-tg:hover { background: var(--yz-dark-soft); }
.me-oc .me-mgr-tg.on { background: var(--bs-primary); }
.me-oc .me-mgr-tg.on em { color: #fff; }
.me-oc .me-mgr-tg.on .cv { transform: rotate(180deg); }
@container (min-width: 400px) {   /* 넓으면 업종 다섯 오른쪽에 관리 */
	.me-oc .me-nav-r > .me-tabs { flex: 1 1 0; min-width: 0; }
	.me-oc .me-mgr-tg { order: 2; width: auto; flex: 0 0 auto; height: 38px; }
}
.me-oc.is-mgr .me-find, .me-oc.is-mgr .me-idx { display: none; }
.me-oc .me-box { flex: 1 1 auto; min-height: 0; display: flex; gap: 4px; }
.me-oc .me-idx { flex: 0 0 24px; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 2px 0; overflow-y: auto; scrollbar-width: none; }
.me-oc .me-idx button { flex: 1 1 0; min-height: 0; max-height: 26px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: #475467; font-size: 11px; font-weight: 700; line-height: 1; }
.me-oc .me-idx button:hover:not(:disabled) { background: #eaf2fc; color: var(--yz-primary-deep); }
.me-oc .me-idx button:disabled { color: #d0d5dd; cursor: default; }
.me-oc .me-it.is-mgr i { color: #667085; font-size: 14px; }
.me-oc .me-it.is-mgr.on i { color: var(--yz-primary-deep); }
/* 사용자 단추·레이어 · 홈페이지 원(2026-10-27 445th 대표 지시) — 사용자 단추 = 검정 원(레벨 첫 글자) + 레벨 이름 ▾ · 누르면 레이어(이름 · 관리자는 문자잔액 | 다른 레벨로 보기 · 로그아웃)
   다른 레벨로 보는 중 = 빨강 단추 「운영모드…」 · 홈페이지 = 흰 원 아이콘(지금 접속 표시 왼쪽) · 오프캔버스 = 제목 줄 + 업종 다섯·관리 + 찾기 + 목록 */
.navbar-brand > img.brand-m { height: 28px; width: 28px; flex: none; }   /* 휴대폰 로고 = 정사각 28 — flex 에 눌려 18×28 로 찌그러지던 것(447th) */
.hd-home { width: 28px; height: 28px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #fff; color: #242424; font-size: 14px; text-decoration: none; }
.hd-home:hover { background: #eaf2fc; color: var(--yz-primary-deep); }
.hd-me { padding: 0 9px 0 3px; }
.hd-me .av { width: 24px; height: 24px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #111; color: #fff; font-size: 12px; font-weight: 700; }
.hd-me .cv { font-size: 10px; opacity: .8; }
.hd-me.is-preview { background: var(--bs-danger); border-color: var(--bs-danger); color: #fff; }
.hd-me.is-preview:hover, .hd-me.is-preview[aria-expanded="true"] { background: var(--yz-danger-dark); border-color: var(--yz-danger-dark); color: #fff; }
.hd-me-pop { width: 320px; margin-top: 6px !important; padding: 8px; border: 0; border-radius: 12px; box-shadow: 0 12px 32px rgba(16, 24, 40, .2); }
.hd-me-pop .who { padding: 6px 8px 10px; border-bottom: 1px solid #eef0f4; margin-bottom: 8px; }
.hd-me-pop .who b { display: block; font-size: 14px; color: #242424; }
.hd-me-pop .who small { font-size: 12px; color: #667085; }
.hd-me-pop .me-row { margin-bottom: 8px; }
.hd-me-pop .me-lv { padding: 0 0 8px; }
.hd-me-pop .out { display: flex; align-items: center; gap: 8px; height: 38px; padding: 0 10px; border-radius: 8px; color: var(--bs-danger); font-size: 14px; font-weight: 600; text-decoration: none; border-top: 1px solid #eef0f4; }
.hd-me-pop .out:hover { background: #fff5f5; }
.me-oc .me-hd { display: flex; align-items: center; padding: 16px 16px 12px; border-bottom: 1px solid #eef0f4; }
.me-oc .me-hd b { font-size: 15px; color: #242424; }
.me-oc .me-idx button { flex: 0 0 22px; width: 22px; height: 22px; max-height: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }   /* ㄱㄴㄷ = 원형 단추(445th) */
.me-oc .me-idx button.on { background: var(--bs-primary); color: #fff; }
.me-oc .me-it.hit { background: #fff8e6; transition: background .6s; }

/* 446th(2026-10-27 대표 지시) — 맨 위 줄 40px · 오른쪽 단추 셋 높이 30 · 아이콘·글자 가운데 · 홈 = 문자전송(primary) 색 · 오프캔버스 로고 · 관리|업종 · 탭 고름 = primary · ㄱㄴㄷ 두 배 · 고른 글자 노란 표시 유지 · 업종별 점 색 */
.hd-right { height: 40px; }
.hd-home, .hd-where, .hd-me { height: 30px; line-height: 1; box-sizing: border-box; vertical-align: middle; }
.hd-home { width: 30px; background: var(--bs-primary); color: #fff; border: 0; font-size: 15px; }
.hd-home:hover { background: var(--yz-primary-dark); color: #fff; }
.hd-home .bi, .hd-where .bi, .hd-me .bi { display: inline-flex; align-items: center; justify-content: center; line-height: 1; }
.hd-home .bi::before, .hd-where .bi::before, .hd-me .bi::before { vertical-align: 0; line-height: 1; }
.hd-where { align-items: center; }
.hd-where .gb { line-height: 1; }
.hd-where .nm { line-height: 1.2; }
.hd-me .av { line-height: 1; padding-top: 1px; }
.hd-me .lv { line-height: 1.2; }
@media (max-width: 767.98px) {
	.hd-where { height: 30px; }
	.hd-right { height: 48px; }
}
.me-oc .me-hd .me-logo { height: 30px; width: 30px; display: block; }   /* 검정 로고 · 바탕 없음(447th) · 30px(449th) */
.me-oc .me-mgr-tg { justify-content: center; background: var(--bs-secondary); }
.me-oc .me-mgr-tg:hover { background: var(--yz-dark-soft); }
.me-oc .me-mgr-tg.on, .me-oc .me-mgr-tg.on:hover { background: var(--bs-primary); }
.me-oc .me-mgr-tg em { color: #fff; font-size: 13px; font-weight: 700; }
.me-oc .me-mgr-tg .sep { opacity: .6; font-weight: 400; }
.me-oc .me-tabs button.on { background: var(--bs-primary); color: #fff; box-shadow: none; }
.me-oc .me-tabs button.on[data-g="stay"] { background: #12b886; } .me-oc .me-tabs button.on[data-g="trip"] { background: #1c7ed6; } .me-oc .me-tabs button.on[data-g="dish"] { background: #e64980; }
.me-oc .me-tabs button.on[data-g="main"] { background: #7048e8; } .me-oc .me-tabs button.on[data-g="ship"] { background: #ff8400; }   /* 고른 업종 = 목록 점 색(447th) */
.me-oc .me-idx { flex: 0 0 48px; gap: 4px; }
.me-oc .me-idx button { flex: 0 0 44px; width: 44px; height: 44px; font-size: 15px; }
.me-oc .me-it.hit { background: #fff3c4; transition: none; }
.me-oc .me-it .dt.gb-ship { background: #ff8400; } .me-oc .me-it .dt.gb-trip { background: #1c7ed6; } .me-oc .me-it .dt.gb-stay { background: #12b886; }
.me-oc .me-it .dt.gb-dish { background: #e64980; } .me-oc .me-it .dt.gb-main { background: #7048e8; } .me-oc .me-it .dt.gb-adm { background: #212529; }
.me-oc .me-it.on .dt { box-shadow: 0 0 0 3px rgba(0, 0, 0, .12); }

/* 449th — ㄱㄴㄷ 원형 단추 = 늘 옅은 바탕 · 마우스를 올리면 진하게(고른 글자 파랑 그대로) */
.me-oc .me-idx button:not(:disabled):not(.on) { background: #f0f2f5; }
.me-oc .me-idx button:hover:not(:disabled):not(.on) { background: #d9dee6; color: #1d2939; }
/* 449th — 관리 아코디언: 「관리」 아래 펼친 링크 · 열리면 업종 가맹점 목록(찾기·목록·색인) 닫힘 */
.me-oc .me-mgr-list { display: flex; flex-direction: column; gap: 2px; padding: 8px 0 2px; }
.me-oc.is-mgr .me-box { display: none; }
/* 450th — 관리 = 맨 윗줄 한 칸 → 바로 아래 아코디언 → 업종 탭(넓은 화면도 같은 차례) */
.me-oc .me-nav-r > .me-mgr-tg, .me-oc .me-nav-r > .me-mgr-box, .me-oc .me-nav-r > .me-tabs { flex: 1 1 100% !important; width: 100%; }
.me-oc .me-nav-r > .me-mgr-tg { order: 0 !important; }
.me-oc .me-nav-r > .me-mgr-box { order: 1; }
.me-oc .me-nav-r > .me-tabs { order: 2; }
.me-oc .me-mgr-list { padding: 0 0 4px; }
/* 451st — Font Awesome 7 SVG(fa_icon) · 메뉴 설정·시스템 · 검색 단추 */
.fa-ic { display: inline-block; height: 1em; overflow: visible; vertical-align: -.125em; flex: none; }
.fa-nav { margin-right: .4em; }
.navbar-search .rl-band .input-group > .search-submit .fa-ic { font-size: 12px; margin-right: 2px; }
/* 455th — 띠 드롭다운 폭 = 글자 수만큼(판매채널·결제·상품) · 긴 상품명은 260px 에서 「…」 */
.type-dd.is-auto { width: auto; max-width: 260px; }
.type-dd.is-auto > .type-dd__btn .type-dd__n { flex: 0 1 auto; }
/* 465th — 768 이상(태블릿·PC): 메뉴 줄(.navbar-oc)·검색 띠(.rl-band)는 줄바꿈 대신 가로로 밀어 봄(대표 지시) — 스크롤바는 숨김, 손가락·휠(Shift)·끌기로 */
@media (min-width: 768px) {
	#top-nav .navbar-oc .nav-body { overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
	#top-nav .navbar-oc .nav-body::-webkit-scrollbar { display: none; }
	.navbar-oc .navbar-main { flex-wrap: nowrap; width: max-content; min-width: 100%; }
	.navbar-oc .navbar-main > li { flex: none; white-space: nowrap; }
	.navbar-search > .container.rl-band { flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
	.navbar-search > .container.rl-band::-webkit-scrollbar { display: none; }
	.navbar-search > .container.rl-band > .row.ptb-10 { flex: 0 0 auto; max-width: none; }
	.navbar-search > .container.rl-band > .row.ptb-10 > .form-inline { flex-wrap: nowrap; flex: 0 0 auto; max-width: none; }
	.navbar-search > .container.rl-band .form-inline > * { flex: none; }
	#top-nav .navbar-oc .nav-body a, .navbar-search > .container.rl-band a { -webkit-user-drag: none; }   /* 끌어 밀기 — 링크를 브라우저가 끌어 가지 않게 */
	#top-nav .navbar-oc .nav-body.is-dragging, .navbar-search > .container.rl-band.is-dragging { cursor: grabbing; user-select: none; }
	#top-nav .navbar-oc .nav-body.is-dragging *, .navbar-search > .container.rl-band.is-dragging * { cursor: grabbing !important; pointer-events: none; }
	.yz-slide-dd { position: fixed; z-index: 1060; margin: 0; }   /* 가로로 밀리는 줄 안 드롭다운 = 화면 기준 자리(줄이 잘라 내지 않게) — lib/js/layout.js slideDropdowns() */
}
/* 465th — 태블릿(768~991): 목록 표 머리 칸은 한 줄(글자가 세로로 서지 않게) — 표가 넓어지면 본문 틀(.container)이 가로로 밀림 */
@media (min-width: 768px) and (max-width: 991.98px) {
	.table-list > thead > tr > th, .pl-table > thead > tr > th, .table-list > tbody > tr > th { white-space: nowrap; }
	.table-list, .pl-table { width: auto; min-width: 100%; }
}
/* 473rd(2026-10-28 대표 지시) — 맨 위 줄 · 띠 · 종류 탭 */
.hd-right { align-items: center; }
.hd-home { width: auto; height: 30px; padding: 0 2px; border: 0; border-radius: 0; background: none; color: #fff; font-size: 24px; }   /* 홈페이지 = fa-home 아이콘만(배경 없음) · 크기 24(2026-10-29 492nd 대표 지시 — 옛 18) */
.hd-home:hover { background: none !important; color: var(--yz-dark-text); }
.hd-home .fa-ic { margin: 0; vertical-align: 0; }
.hd-where, .hd-where.is-btn { height: 30px; padding: 0; border: 0; border-radius: 0; background: none; color: #fff; }   /* 가맹점명 글자만 — 단추 모양 없음 */
.hd-where.is-btn:hover, .hd-where.is-btn[aria-expanded="true"] { background: none !important; color: var(--yz-dark-text); border: 0; }
@media (min-width: 768px) {
	.navbar-header > .navbar-brand.d-md-flex { padding-left: 4px; }   /* 로고 왼쪽 4px */
	.navbar-search > .container.rl-band .rl-top { padding-left: 10px; }   /* 날짜 왼쪽 10px */
}
.navbar-search > .rl-tabs .lab { margin-left: 10px; }   /* 「종류」(옛 「회차」) 왼쪽 10px */
.navbar-search > .rl-tabs label.t { height: 34px; }
@media (max-width: 767.98px) { .navbar-search > .rl-tabs label.t { height: 34px; } }
/* 상태 단추(전체·이용대기·이용완료·당일불착 …) 묶음·단추 좌우 둥글게 */
.navbar-search .rl-band .row.ptb-10 .form-inline > .btn-group[data-bs-toggle="buttons"] { border-radius: 999px; }
.navbar-search .rl-band .row.ptb-10 .form-inline > .btn-group[data-bs-toggle="buttons"] > .btn.btn-info { border-radius: 999px; padding-left: 13px; padding-right: 13px; }
/* 474th(2026-10-28 대표 지시) — 하단 처리 막대 단추 모두 좌우 둥글게(예약완료·예약전체·판매관리·환불관리·예약 View) */
.navbar-list.rl-nav .btn, .navbar-list.rl-nav .dropdown-time-picker > .btn { border-radius: 999px !important; }
@media (min-width: 768px) { .navbar-list.rl-nav .btn { padding: 0 16px; } }
/* 475th(2026-10-28 대표 지시) — 예약 목록 띠 검색 = 접힌 둥근 단추 + 검색어 칩 → 누르거나 F1 = 가운데 큰 검색 창(partner/_reserve_frag.php · _reserve_query.php rl_search_html) */
.rl-search2 { display: inline-flex; align-items: center; gap: 6px; vertical-align: middle; }
.rl-sbtn { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; background: #fff; cursor: pointer; flex: none; }
.rl-sbtn .in { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; background: var(--yz-dark-deep); color: #fff; font-size: 12px; }
.rl-sbtn:hover .in { background: var(--bs-dark); }
.rl-sbtn .fa-ic { margin: 0; }
.rl-schip { display: inline-flex; align-items: center; gap: 4px; height: 28px; max-width: 180px; padding: 0 4px 0 12px; border-radius: 999px; background: #eaf2fc; color: var(--yz-primary-deep); font-size: 13px; font-weight: 600; }
.rl-schip .tx { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rl-schip .x { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: inherit; font-size: 16px; line-height: 1; cursor: pointer; }
.rl-schip .x:hover { background: rgba(var(--bs-primary-rgb), .15); }
.rl-smodal .modal-dialog { max-width: 680px; }
.rl-smodal .modal-content { position: relative; padding: 44px 28px 18px; border: 0; border-radius: 24px; }
.rl-smodal .rl-sclose { position: absolute; top: 14px; right: 16px; filter: none; }
.rl-smodal .rl-sform { position: relative; }
.rl-smodal .rl-sform > .form-control { height: 64px; padding: 0 76px 0 26px; border: 2px solid #d0d5dd; border-radius: 999px; font-size: 22px; box-shadow: none; }
.rl-smodal .rl-sform > .form-control:focus { border-color: var(--bs-primary); box-shadow: 0 0 0 4px rgba(var(--bs-primary-rgb), .2); }
.rl-smodal .rl-sform > .search-submit { position: absolute; top: 8px; right: 8px; width: 48px; height: 48px; padding: 0; border: 0; border-radius: 50%; background: var(--yz-dark-deep); color: #fff; font-size: 20px; display: inline-flex; align-items: center; justify-content: center; }
.rl-smodal .rl-sform > .search-submit:hover { background: var(--bs-dark); }
.rl-smodal .rl-sform > .search-submit .fa-ic { margin: 0; }
@media (max-width: 767.98px) {
	.modal.rl-smodal .modal-dialog { margin: 0 12px; width: auto; min-height: 100%; align-items: center; }   /* 공통 「창 = 전체 화면」(414th) 대신 가운데 카드 */
	.modal.rl-smodal .modal-dialog .modal-content { min-height: 0; padding: 40px 14px 14px; border-radius: 20px; }
	.rl-smodal .rl-sform > .form-control { height: 52px; font-size: 17px; padding: 0 62px 0 18px; }
	.rl-smodal .rl-sform > .search-submit { width: 40px; height: 40px; top: 6px; right: 6px; font-size: 16px; }
}
/* 476th(2026-10-28 대표 지시) — 맨 위 줄 · 접속자 오프캔버스 */
.hd-where, .hd-where.is-btn { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 12px; border: 1px solid rgba(255, 255, 255, .28); border-radius: 999px; background: var(--yz-dark-deep) !important; color: #fff; font-size: 13px; font-weight: 600; }   /* 가맹점 = 사용자 단추와 같은 둥근 모양 · 진한 바탕 + 밝은 테(사용자 단추 = 옅은 바탕)로 구분 */
.hd-where:not(.is-btn) { cursor: default; }   /* 가맹점 이하 = 표시만 */
.hd-where.is-btn { padding-right: 9px; cursor: pointer; }
.hd-where.is-btn:hover, .hd-where.is-btn[aria-expanded="true"] { background: #fff !important; border-color: #fff !important; color: #242424; }
.hd-where .gb { height: auto; padding: 0; margin: 0; background: none; font-size: 13px; font-weight: 700; color: inherit; }
.hd-where .sep { opacity: .5; font-weight: 400; }
.hd-where .cv { margin-left: 2px; font-size: 10px; opacity: .8; }
.me-oc { border-radius: 0; }   /* 왼쪽 위·아래 둥근 모서리 뺌 */
.me-oc .me-mgrs { display: flex; flex-wrap: wrap; gap: 6px; flex: 1 1 100%; }
.me-oc .me-mg { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 12px 0 5px; border: 1px solid #d0d5dd; border-radius: 999px; background: #fff; color: #344054; font-size: 13px; font-weight: 600; white-space: nowrap; }
.me-oc .me-mg .k { display: inline-flex; align-items: center; height: 24px; padding: 0 9px; border-radius: 999px; background: #242424; color: #fff; font-size: 11px; font-weight: 700; }
.me-oc .me-mg:hover { border-color: #98a2b3; background: #f9fafb; }
.me-oc .me-mg.on { border-color: var(--bs-primary); background: #eaf2fc; color: var(--yz-primary-deep); cursor: default; }
.me-oc .me-tabs { display: flex; flex-wrap: wrap; gap: 6px; padding: 0; background: none; border-radius: 0; }
.me-oc .me-tabs button { height: 32px; padding: 0 14px; border: 1px solid #d0d5dd; border-radius: 999px; background: #fff; color: #475467; }
.me-oc .me-tabs button:hover { border-color: #98a2b3; }
.me-oc .me-tabs button.on { border-color: transparent; color: #fff; }
/* 477th(2026-10-28 대표 지시) */
.hide { display: none !important; }   /* 권한표 「가림」 = auth() 가 붙이는 hide — 부트스트랩 3 에만 있던 규칙이라 5(413th) 뒤로 가림 메뉴·단추가 다 보였다 */
.hd-where.gb-ship, .hd-where.gb-trip, .hd-where.gb-dish, .hd-where.gb-stay, .hd-where.gb-main { border-color: transparent !important; }   /* 가맹점 단추 = 업종 색(오프캔버스 업종 단추와 같은 색) · 관리 모드(gb-adm) = 검정 그대로 */
.hd-where.gb-ship { background: #ff8400 !important; } .hd-where.gb-trip { background: #1c7ed6 !important; } .hd-where.gb-dish { background: #e64980 !important; }
.hd-where.gb-stay { background: #12b886 !important; } .hd-where.gb-main { background: #7048e8 !important; }
.hd-where.is-btn:hover, .hd-where.is-btn[aria-expanded="true"] { background: #fff !important; color: #242424; }
/* F1 예약자 찾기(477th — partner/tail.php #yz-find · 모양은 475th 검색 창 .rl-smodal 그대로) */
.yz-find .yf-res:empty { display: none; }
.yz-find .yf-res { margin-top: 12px; }
.yz-find .yf-none { padding: 14px; border-radius: 14px; background: #fff5f5; color: var(--bs-danger); font-size: 15px; font-weight: 600; text-align: center; }
.yz-find .yf-none.is-wait { background: #f9fafb; color: #667085; font-weight: 400; }
.yz-find .yf-list { display: flex; flex-direction: column; gap: 6px; max-height: 50vh; overflow-y: auto; }
.yz-find .yf-it { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; padding: 10px 14px; border: 1px solid #eaecf0; border-radius: 14px; color: #242424; font-size: 14px; text-decoration: none; }
a.yz-find .yf-it:hover, .yz-find a.yf-it:hover { border-color: var(--bs-primary); background: #f5f8fd; }
.yz-find .yf-it .nm { font-weight: 700; }
.yz-find .yf-it .hp, .yz-find .yf-it .dy, .yz-find .yf-it .cx { color: #667085; font-size: 13px; }
.yz-find .yf-it .st { display: inline-flex; align-items: center; height: 22px; padding: 0 9px; border-radius: 999px; font-size: 12px; font-weight: 700; background: #f2f4f7; color: #475467; }
.yz-find .yf-it .st-ok { background: #e7f6ec; color: #1a7f45; } .yz-find .yf-it .st-cancel { background: #fff1e6; color: #b54708; }
.yz-find .yf-it .it { order: 9; flex: 1 1 100%; color: #98a2b3; font-size: 13px; }   /* 코스 13px(522nd 대표 지시 — 옛 12) */
.yz-find .yf-it .go { margin-left: auto; color: var(--yz-primary-deep); font-size: 13px; font-weight: 700; }
.yz-find .yf-it.is-lock { background: #f9fafb; }
.yz-find .yf-warn { margin-top: 4px; padding: 0 4px; color: #b54708; font-size: 12px; text-align: center; }   /* 「Warning ·」 뺌 · 가운데(478th) */
/* 478th(2026-10-28 대표 지시) — 오프캔버스: 관리 단추 한 줄(좌우로 밈 — 휠·끌기 lib/js/layout.js slideRows) · 아래 구분선 · 가맹점 찾기 · 업종 단추 · 목록 / 휴대폰도 홈 단추 */
.me-oc .me-mgrs { flex-wrap: nowrap; min-width: 0; max-width: 100%; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; padding-bottom: 12px; border-bottom: 1px solid #eaecf0; }
.me-oc .me-mgrs::-webkit-scrollbar { display: none; }
.me-oc .me-mgrs.is-dragging { cursor: grabbing; user-select: none; }
.me-oc .me-mgrs.is-dragging * { pointer-events: none; }
.me-oc .me-mg { flex: none; height: 40px; padding: 0 14px 0 6px; font-size: 14px; }
.me-oc .me-mg .k { height: 28px; padding: 0 10px; font-size: 12px; }
.me-oc .me-tabs-w .me-tabs { display: flex; flex-wrap: wrap; gap: 6px; }
@media (max-width: 767.98px) {
	.hd-where { max-width: calc(100vw - 210px); }   /* 홈 단추 자리만큼(478th) */
	.hd-home { padding: 0 4px; }
}
/* 479th — F1 예약자 찾기 줄 바탕: 이용 전 예약완료 = 흰색 · 취소(예약취소·자동취소) = 연한 회색 · 지난 예약완료 등은 그대로 */
.yz-find .yf-it.is-up { background: #fff; }
.yz-find .yf-it.is-cx { background: #eef0f3; }
.yz-find a.yf-it.is-cx:hover { background: #e4e7ec; }
/* 480th(2026-10-28 대표 지시) — 하단 처리 막대 흰 바탕 좌우 둥글게(옛 14px) · 둥근 끝에 단추가 닿지 않게 좌우 여백 조금 더 */
.navbar-list.rl-nav { border-radius: 999px; padding: 8px 2px 8px 16px; }   /* 여백 위 8 · 오른쪽 2 · 아래 8 · 왼쪽 16(483rd 대표 지시 — 옛 좌우 14) */
.yz-find .yf-it .yf-ch { flex: none; cursor: inherit; }   /* 판매채널 동그라미(482nd) — 현재상태 왼쪽 */
/* 맨 위로 단추(484th — partner/tail.php · 485th 오른쪽) — 화면 아래 오른쪽 · 아래 단추 줄이 있으면 그 위·오른쪽 끝 맞춤(스크립트가 bottom·right) */
.yz-top { position: fixed; right: 16px; bottom: 16px; z-index: 1035; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: var(--bs-dark); color: #fff; font-size: 20px; box-shadow: 0 6px 18px rgba(16, 24, 40, .25); opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .2s, transform .2s, visibility .2s; cursor: pointer; }
.yz-top.is-on { opacity: .9; visibility: visible; transform: none; }
.yz-top:hover { opacity: 1; background: var(--yz-dark-deep); }
.yz-top .bi { line-height: 1; }
/* 486th — 맨 위로 = fa-angle-double-up · 결제 칸 가상계좌 = fa-money · 머니·포인트 = fa-database(쌓인 동전) */
.yz-top .fa-ic { margin: 0; font-size: 22px; }
.table-list td .pay-ic .fa-ic { margin: 0; vertical-align: 0; }
/* 489th(2026-10-28 대표 지시) — 휴대폰도 메뉴 줄(예약전체·판매관리·예약완료 …)이 늘 보이고 좌우로 밈 · 왼쪽 오프캔버스 메뉴는 안 씀(head.php navbar-expand —
   491st 오프캔버스·옛 휴대폰 규칙 지움) · 줄 안 드롭다운 = 화면 기준 자리(.yz-slide-dd — 모든 폭) */
.yz-slide-dd { position: fixed !important; z-index: 1060; margin: 0 !important; }
@media (max-width: 767.98px) {
	#top-nav .navbar-oc .nav-body { display: block; padding: 0 4px; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
	#top-nav .navbar-oc .nav-body::-webkit-scrollbar { display: none; }
	#top-nav .navbar-oc .navbar-main { flex-direction: row; flex-wrap: nowrap; width: max-content; min-width: 100%; }
	#top-nav .navbar-oc .navbar-main > li { flex: none; white-space: nowrap; }
	#top-nav .navbar-main > li > .nav-link, #top-nav .navbar-main > li.show > .nav-link { height: 44px; line-height: 44px; padding: 0 13px; font-size: 14px; }
	#top-nav .navbar-main > li > .nav-link:hover, #top-nav .navbar-main > li > .nav-link.on, #top-nav .navbar-main > li.show > .nav-link { font-size: 14px; }
}
/* 490th(2026-10-28 대표 지시) — 가로로 밀리는 줄 마우스 끌기 = 모든 폭(PC 창을 768 아래로 줄인 휴대폰 모양도 — lib/js/layout.js slideRows) */
#top-nav .navbar-oc .nav-body a, #top-nav .rl-band a, .navbar-list a { -webkit-user-drag: none; }
#top-nav .navbar-oc .nav-body.is-dragging, #top-nav .rl-band.is-dragging, #top-nav .rl-band .form-inline.is-dragging, .navbar-list.is-dragging { cursor: grabbing; user-select: none; }
#top-nav .navbar-oc .nav-body.is-dragging *, #top-nav .rl-band.is-dragging *, #top-nav .rl-band .form-inline.is-dragging *, .navbar-list.is-dragging * { cursor: grabbing !important; pointer-events: none; }
/* 494th(2026-10-29 대표 지시) — PC 검색 둥근 단추 테두리 1px(옛 3 — 안 원 26 → 30) · 초기화 = 같은 크기 둥근 단추 + 되돌리기 아이콘(fa-rotate-left) · 휴대폰 펼친 띠는 글 「초기화」 그대로 */
/* 524th — 아래 둥근 검색·초기화 단추는 모든 폭(휴대폰 펼친 띠도 PC 와 같은 단추 · 옛: 768 이상만, 휴대폰은 「초기화」 글 단추·검색 테두리 3px) */
.rl-sbtn .in { width: 30px; height: 30px; }
.navbar-search .rl-band .row.ptb-10 .form-inline a.btn.rl-reset { width: 32px !important; height: 32px; padding: 0; margin-left: 6px; border: 0; border-radius: 50%; background: #fff; flex: none; }
.rl-reset .in { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: var(--yz-dark-deep); color: #fff; font-size: 13px; }
.rl-reset:hover .in { background: var(--bs-dark); }
.rl-reset .fa-ic { margin: 0; }
.rl-reset .tx { display: none; }
/* 496th(2026-10-29 대표 지시) — F1 예약자 찾기 창 = 투명한 창에 위 줄(왼쪽 기간 · 오른쪽 ×) + 검색바만 · 찾은 것 = 검색바 아래 18px 흰 둥근 상자(검색바와 같은 폭) — 목록 안 검색 창(.rl-smodal)은 그대로 */
.modal.yz-find.rl-smodal .modal-dialog .modal-content { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; min-height: 0; }
.yz-find .yf-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 8px 12px; }
.yz-find .yf-date { display: inline-flex; align-items: center; margin: 0; font-size: 24px; letter-spacing: 0; line-height: 1; }   /* 목록 날짜(.navbar-search .rl-band .sel-sedate)와 같은 글 */
.yz-find .yf-date small { font-size: 15px; }
.yz-find .yf-date > .bi { font-size: 18px; margin-left: 4px; }
.yz-find .yf-head .rl-sclose { position: static; flex: none; filter: invert(1) grayscale(100%) brightness(200%); opacity: .9; }
.yz-find .yf-head .rl-sclose:hover { opacity: 1; }
.yz-find .rl-sform > .form-control { border-color: #fff; }
.yz-find .yf-res { margin-top: 18px; padding: 12px; border-radius: 20px; background: #fff; box-shadow: 0 10px 30px rgba(16, 24, 40, .18); }
.yz-find .yf-res .yf-list { max-height: 55vh; }
.yz-find .daterangepicker { color: #242424; }
@media (min-width: 768px) { .yz-find .daterangepicker { width: max-content; max-width: none; } }   /* PC = 바로가기 + 두 달이 한 줄(창 폭 680 에 눌려 둘째 달이 아래로 내려가던 것) */
body.yf-open .modal-backdrop.show { opacity: .7; }   /* 창 바탕이 없어 뒤 화면을 더 어둡게 — 흰 기간 글·검색바가 잘 보이게 */
@media (max-width: 767.98px) {
	.yz-find .yf-date { font-size: 20px; }
	.yz-find .yf-date small { font-size: 13px; }
	.yz-find .yf-res { padding: 8px; border-radius: 16px; }
}
/* 498th(2026-10-29 대표 지시) — 달력(daterangepicker — 목록 날짜·F1 찾기 기간·정산 등 모든 달력) 전체 상자 모서리 둥글게 · 바로가기 목록 폭 133(옛 160 — 휴대폰 한 줄 모양은 그대로 100%) */
.daterangepicker { border-radius: 14px; }
.daterangepicker .ranges { margin: 10px 8px 4px; }   /* 503rd 대표 지시(옛 15px 4px 4px) — 목록 날짜·F1 찾기 기간 달력 공통 */
@media (min-width: 564px) { .daterangepicker .ranges ul { width: 137px; } }   /* 503rd 대표 지시 137(502nd 145 · 498th 133) */
/* 500th(2026-10-29 대표 지시) — F1 찾기 검색바 자리 고정(501st 목록 검색 창 #rl-smodal 도 .yz-find 로 같은 모양·자리): 가운데 정렬(찾은 것이 늘면 검색바가 위로 밀림) 대신 「찾은 것이 가장 길 때(목록 55vh)」 전체가 가운데 오는 자리에 늘 두고, 찾은 것은 아래로만 펼침
   위 여백 = (화면 − 기간 줄·검색바·간격 약 142px − 55vh − 상자 여백) ÷ 2 · 휴대폰은 검색바 52 라 약 100px */
.modal.yz-find .modal-dialog { margin-top: max(24px, calc(22.5vh - 71px)); }
@media (max-width: 767.98px) { .modal.yz-find.rl-smodal .modal-dialog { align-items: flex-start; min-height: 0; margin-top: max(16px, calc(22.5vh - 50px)); } }
@media (min-width: 768px) { .yz-find .yf-head { min-height: 24px; } }   /* 501st — 위 줄 높이 = F1 기간 글(24) · 목록 검색 창(× 만)도 같은 자리 */
/* 507th(2026-10-29 대표 지시) — 휴대폰 예약전체: 예약완료·예약취소의 하위 단추(.rl-subg — 전체·이용대기… / 전체·환불대기…)는 상태 줄(전체·예약완료·예약취소·입금대기·자동취소) 오른쪽이 아니라 그 아래 따로 한 줄
   두 줄 모두 넘치면 가로로 밈(손가락 · PC 창을 좁혀도 마우스 휠·끌기 — lib/js/layout.js slideRows) · 펼친 띠(.is-open)는 옛 모양 그대로 */
@media (max-width: 767.98px) {
	.navbar-search:not(.is-open) > .container.rl-band > .row.ptb-10 > .form-inline { flex-wrap: wrap !important; overflow: visible; row-gap: 6px; }
	.navbar-search:not(.is-open) .rl-band .row.ptb-10 .form-inline > .btn-group[data-bs-toggle="buttons"] { flex: 0 0 100%; max-width: 100%; margin: 0 !important; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
	.navbar-search:not(.is-open) .rl-band .row.ptb-10 .form-inline > .btn-group[data-bs-toggle="buttons"]::-webkit-scrollbar { display: none; }
	.navbar-search:not(.is-open) .rl-band .row.ptb-10 .form-inline > .btn-group[data-bs-toggle="buttons"] > .btn { flex: 0 0 auto; white-space: nowrap; }   /* 부트스트랩 .btn-group > .btn 늘고 줄기(flex 1 1 auto) 대신 글 폭 그대로 — 넘치면 밈 */
}
#top-nav .rl-band .form-inline > .btn-group[data-bs-toggle="buttons"].is-dragging { cursor: grabbing; user-select: none; }
#top-nav .rl-band .form-inline > .btn-group[data-bs-toggle="buttons"].is-dragging * { cursor: grabbing !important; pointer-events: none; }
/* 508th(2026-10-29 대표 지시) — 휴대폰 상태 줄(전체·예약완료·예약취소·입금대기·자동취소) = PC 와 같은 알약 묶음(어두운 둥근 바탕 · 고른 것 파랑)
   하위 줄(.rl-subg — 예약완료·예약취소 아래)은 하위 메뉴로 보이게: 왼쪽 「└」 이음 선 · 바탕 없는 글 탭 · 고른 것 = 흰 굵은 글 + 파란 밑줄 */
@media (max-width: 767.98px) {
	.navbar-search .rl-band .row.ptb-10 .form-inline > .btn-group[data-bs-toggle="buttons"]:not(.rl-subg) { background: var(--yz-dark-deep); padding: 2px; gap: 2px; border-radius: 999px; }
	.navbar-search .rl-band .row.ptb-10 .form-inline > .btn-group[data-bs-toggle="buttons"]:not(.rl-subg) > .btn.btn-info { background: transparent; border: 0; color: var(--yz-dark-text); padding: 4px 13px; }
	.navbar-search .rl-band .row.ptb-10 .form-inline > .btn-group[data-bs-toggle="buttons"]:not(.rl-subg) > .btn.btn-info.active { background: var(--bs-primary); color: #fff; }
	.navbar-search .rl-band .row.ptb-10 .form-inline > .btn-group[data-bs-toggle="buttons"].rl-subg { position: relative; padding: 0 0 0 24px; gap: 4px; background: transparent; }
	.navbar-search .rl-band .row.ptb-10 .form-inline > .btn-group[data-bs-toggle="buttons"].rl-subg::before { content: ''; position: absolute; left: 10px; top: 2px; width: 9px; height: 13px; border-left: 2px solid #6b7486; border-bottom: 2px solid #6b7486; border-bottom-left-radius: 5px; }
	.navbar-search .rl-band .row.ptb-10 .form-inline > .btn-group[data-bs-toggle="buttons"].rl-subg > .btn.btn-info { background: transparent; border: 0; border-bottom: 2px solid transparent; border-radius: 0 !important; color: var(--yz-dark-text); padding: 4px 9px 5px; font-size: 13px; }
	.navbar-search .rl-band .row.ptb-10 .form-inline > .btn-group[data-bs-toggle="buttons"].rl-subg > .btn.btn-info.active { background: transparent; color: #fff; font-weight: 700; border-bottom-color: var(--bs-primary); }
	.navbar-search.is-open .rl-band .row.ptb-10 .form-inline > .btn-group[data-bs-toggle="buttons"].rl-subg { flex: 0 0 100%; flex-wrap: wrap !important; }   /* 펼친 띠도 하위 줄은 따로 한 줄(판매채널이 옆에 붙지 않게) */
}
/* 509th(2026-10-29 대표 결정 「A안」 — 시안 그림 두 가지 중) — PC(768 이상) 하위 단추(.rl-subg — 예약완료·예약취소 오른쪽) = 회색 「›」 + 바탕 없는 글 탭 · 고른 것 흰 굵은 글 + 파란 밑줄(휴대폰 하위 줄과 같은 탭 · 휴대폰은 「└」) */
@media (min-width: 768px) {
	.navbar-search .rl-band .row.ptb-10 .form-inline > .btn-group[data-bs-toggle="buttons"].rl-subg { position: relative; margin-left: 6px !important; padding: 0 0 0 24px; gap: 2px; background: transparent; }
	.navbar-search .rl-band .row.ptb-10 .form-inline > .btn-group[data-bs-toggle="buttons"].rl-subg::before { content: '›'; position: absolute; left: 6px; top: 50%; transform: translateY(-58%); color: #8a93a6; font-size: 22px; line-height: 1; }
	.navbar-search .rl-band .row.ptb-10 .form-inline > .btn-group[data-bs-toggle="buttons"].rl-subg > .btn.btn-info { background: transparent; border-bottom: 2px solid transparent; border-radius: 0 !important; padding: 4px 9px; color: var(--yz-dark-text); }
	.navbar-search .rl-band .row.ptb-10 .form-inline > .btn-group[data-bs-toggle="buttons"].rl-subg > .btn.btn-info:hover { background: transparent; color: #fff; }
	.navbar-search .rl-band .row.ptb-10 .form-inline > .btn-group[data-bs-toggle="buttons"].rl-subg > .btn.btn-info.active { background: transparent; color: #fff; font-weight: 700; border-bottom-color: var(--bs-primary); }
}
/* 510th(2026-10-29 대표 지시) — 예약 목록: 수기 등록 = 펜(511th bi-pen · 510th fa-pencil)을 이용일 글 바로 뒤(간격 조금) · 고정가 「고」 = 이용일 칸이 아니라 판매가 금액 앞, 둥근 상자(「고 66,000」) */
.re-direct { width: auto; height: auto; margin-left: 3px; vertical-align: -1px; line-height: 1; }
.re-direct .bi { font-size: 10px; line-height: 1; }   /* 511th — bi-pen(510th fa-pencil) · 512th 대표 지시 조금 작게 12 → 10 */
.badge.rl-fix { position: static; display: inline-block; margin: 0; padding: 2px 2px; border-radius: 4px; font-size: 10px; line-height: 1; vertical-align: 1px; }   /* 뒤 빈칸 하나(dis_is_price) = 금액과 간격 */
@media (max-width: 767.98px) { .navbar-list.rl-nav { padding-right: 8px !important; padding-left: 8px !important; } }   /* 531st-i 왼쪽도 8px(대표 지시 — 옛 16) · 517th 대표 지시 8px · 516th(2026-10-29 대표 지시) — 휴대폰 하단 처리 막대 오른쪽 여백 = PC 와 같게(마지막 단추 ~ 흰 막대 끝 11px · 옛 3px 로 단추가 오른쪽에 붙어 보임) */   /* ← 하단 처리 막대는 모든 목록 화면이 쓴다(2026-11-01 추천 5 — 예약 목록 CSS 로 옮겼다가 되돌림) */
/* 519th(2026-10-29 대표 지시) — 휴대폰 하단 처리 막대 선택 수 숫자를 동그라미 세로 가운데(숫자 글꼴이 위로 1px 떠 보임 — 위 여백 2px 로 아래로 1px) · 맨 위로 단추 위 검색 단추(.yz-top-find — F1 찾기 창) */
@media (max-width: 767.98px) { .navbar-list.rl-nav .rl-selcnt b { padding-top: 1px; } }   /* 휴대폰만(PC 는 원래 가운데) */
.yz-top-find .fa-ic { font-size: 18px; }
/* 524th(2026-10-29 대표 지시) — 휴대폰 위 띠: 날짜 · 차례(시간순·예약순·이름순) 한 줄(오른쪽 「검색 ▾」 자리 70 — 옛 90 이라 360 폭에서 차례가 다음 줄) · 「검색 ▾」 흰 테두리 없음 ·
   펼쳐도 상태 줄(전체·예약완료…)·하위 줄이 그 자리 그대로(접힌 띠와 같은 여백 6 · 단추 사이 6) · 판매채널·결제·상품전체·검색·초기화 = 한 줄 */
@media (max-width: 767.98px) {
	.navbar-search > .container.rl-band .rl-top { flex-wrap: nowrap; padding-right: 70px; }   /* 날짜 · (이전·다음) · 차례 한 줄 — 532nd 예약관리도(옛: 이전·다음이 있으면 줄바꿈해 차례가 아래 줄로) */
	.navbar-search > .container.rl-band .rl-top .rl-days > .btn { font-size: 0; gap: 0; padding: 0 7px; }   /* 532nd 휴대폰 이전·다음 = 화살표만(글은 font-size 0 · 이름은 aria-label) */
	.navbar-search > .container.rl-band .rl-top .rl-days .bi { font-size: 12px; }
	.navbar-search > .container.rl-band .rl-top > .sel-sedate { flex: none; }
	.navbar-search > .band-head .band-toggle, .navbar-search > .band-head .band-toggle:hover, .navbar-search > .band-head .band-toggle:active, .navbar-search > .band-head .band-toggle:focus { border-color: transparent; background: transparent; color: #fff; box-shadow: none; }
	.navbar-search.is-open .rl-band .row.ptb-10 > .form-inline { padding: 6px 0 !important; row-gap: 6px; column-gap: 6px; align-items: center; }
	.navbar-search.is-open .rl-band .row.ptb-10 > .form-inline > .btn-group[data-bs-toggle="buttons"] { flex: 0 0 100%; max-width: 100%; margin: 0 !important; flex-wrap: nowrap !important; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
	.navbar-search.is-open .rl-band .row.ptb-10 > .form-inline > .btn-group[data-bs-toggle="buttons"] > .btn { flex: 0 0 auto; white-space: nowrap; }
	.navbar-search.is-open .rl-band .row.ptb-10 > .form-inline > :not(.btn-group[data-bs-toggle="buttons"]):not(input) { display: inline-flex; width: auto !important; margin: 0; flex: 0 0 auto; }
	.navbar-search.is-open .rl-band .row.ptb-10 > .form-inline > .btn-group > .type-dd, .navbar-search.is-open .rl-band .row.ptb-10 > .form-inline > .btn-group > .type-dd > .type-dd__btn { width: auto !important; }
	.navbar-search.is-open .rl-band .row.ptb-10 > .form-inline > a.btn.rl-reset { margin: 0 !important; }
}
/* 525th(2026-10-29 대표 지시) — 휴대폰 펼친 위 띠 거름 줄 = 한 줄 · 좌우로 밈(검색어 칩이 붙어도 줄바꿈 없음 — .rl-filt 는 lib/js/layout.js rlFilt 가 휴대폰에서만 만듦) */
@media (max-width: 767.98px) {
	.navbar-search.is-open .rl-band .row.ptb-10 > .form-inline > .rl-filt { display: flex; flex: 0 0 100%; width: 100%; min-width: 0; max-width: 100%; margin: 0; flex-wrap: nowrap; align-items: center; gap: 6px; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
	.navbar-search.is-open .rl-band .row.ptb-10 > .form-inline > .rl-filt::-webkit-scrollbar { display: none; }
	.navbar-search.is-open .rl-band .row.ptb-10 > .form-inline > .rl-filt > * { display: inline-flex; flex: 0 0 auto; width: auto; margin: 0 !important; }
	.navbar-search.is-open .rl-band .row.ptb-10 > .form-inline > .rl-filt > .btn-group > .type-dd, .navbar-search.is-open .rl-band .row.ptb-10 > .form-inline > .rl-filt > .btn-group > .type-dd > .type-dd__btn { width: auto !important; }
	.navbar-search.is-open .rl-band .row.ptb-10 > .form-inline > .rl-filt .rl-schip { max-width: none; }
	#top-nav .rl-band .rl-filt.is-dragging { cursor: grabbing; user-select: none; }
	#top-nav .rl-band .rl-filt.is-dragging * { cursor: grabbing !important; pointer-events: none; }
}
/* 532nd-d(2026-10-30 대표 지시) — 문자잔액 = 오프캔버스 관리 단추 위 오른쪽(누르면 알리고 충전 새 창 · 옛: 사용자 단추 레이어) · 다른 레벨로 보는 중(가맹점 레벨) 사용자 레이어 = 「돌아가기」 한 줄 · 다른 레벨로 보기 줄이 한 칸이면 꽉 차게 */
.me-oc .me-sms-r { display: flex; justify-content: flex-end; margin: 0 0 8px; }
.me-oc .me-sms { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 12px; border: 1px solid #eaecf0; border-radius: 999px; background: #fff; color: #475467; font-size: 13px; text-decoration: none; white-space: nowrap; }
.me-oc .me-sms .v { font-weight: 700; color: #242424; }
.me-oc .me-sms .bi { color: #667085; font-size: 13px; }
.me-oc .me-sms .bi-box-arrow-up-right { font-size: 11px; }
.me-oc .me-sms:hover { background: #f9fafb; color: #242424; }
.hd-me-pop .me-back { display: flex; align-items: center; gap: 6px; height: 36px; margin-bottom: 8px; padding: 0 12px; border: 1px solid #f3c6c6; border-radius: 10px; background: #fff5f5; color: #b42318; font-weight: 600; text-decoration: none; }
.hd-me-pop .me-back:hover { background: #ffe9e9; color: #b42318; }
/* 532nd-g(2026-10-30 대표 지시) — 위 띠 검색 단추(.rl-sbtn — _reserve_query.php) = 테두리 없는 검정 원 + 검색 아이콘만(옛: 흰 원 32 안에 짙은 남색 원 30 — 흰 테 1px 가 보였다) */
.rl-sbtn { background: transparent; }
.rl-sbtn .in { width: 32px; height: 32px; background: #000; color: #fff; font-size: 13px; }
.rl-sbtn:hover .in { background: #333; }
/* 532nd-h(2026-10-30 대표 지시) — PC 머리 홈페이지 아이콘 = 0.85em(24px → 약 20px) · 휴대폰은 그대로 24 */
@media (min-width: 768px) { .hd-home .fa-ic { font-size: .85em; } }

/* 끌어 순서(SortableJS — layout.js yzSortable, 2026-11-01 추천 3): 제자리에 남는 줄 .yz-ghost 는 화면마다 정한 자리 표시 클래스(pf-sort-ph·cb-sort-ph·nt-sort-ph·si-ph)의 점선 상자만 보이게 내용을 숨긴다 */
.yz-ghost:not(tr) > * { visibility: hidden; }
tr.yz-ghost > td > * { visibility: hidden; }

/* ── partner/css/yz_modal.css ── */
/* 파트너센터 수정 창 공통 틀 .yz-modal — 2026-10-30 539th 대표 지시 「상품정보 수정 창 모양을 파트너센터 전체 수정 창에 공통으로」
   값 = 예약 View 「상품정보 수정」 창(523rd 문자전송 창 모양 · 531st-d Large 800): 폭 800 · 둥근 20 · 흰 머리(제목 18 굵게 · 검정 닫기) · 회색 몸통 · 흰 둥근 표 · 입력칸 둥근 10 · 알약 단추 꼬리.
   휴대폰 = 전체화면 · 머리·꼬리 고정 · 몸통만 스크롤. 쓰는 곳: 예약 View #form-modal · 예약현황 창 셋(판매상품설정·특가설정·예약기간 설정) — 새 수정 창은 <div class="modal fade modal-form yz-modal"> 로.
   공통 .modal-form 규칙(lib/css/layout.css — 파란 머리·흰 닫기)보다 뒤에 실리고 선택자를 더 길게 둬 이긴다(head.sub.php 가 layout.css 다음에 싣는다) */
.modal.yz-modal .modal-dialog.modal-lg { max-width: 800px; }
.modal.yz-modal .modal-dialog.modal-xl { max-width: 1140px; }   /* 큰 창 = 늘 Extra large(540th 대표 지시 — 일별설정) */
.modal.yz-modal .modal-content { border: 0; border-radius: 20px; overflow: hidden; }
.modal.modal-form.yz-modal .modal-header { background: #fff; border-bottom: 1px solid #eaecf0; border-radius: 0; padding: 16px 22px; }
.modal.modal-form.yz-modal .modal-header .modal-title { color: #1d2939; font-size: 18px; font-weight: 700; }
.modal.modal-form.yz-modal .modal-header .btn-close { filter: none; opacity: .6; }
.modal.modal-form.yz-modal .modal-header .btn-close:hover { opacity: 1; }
.modal.modal-form.yz-modal .modal-body { background: #f5f6f8; padding: 18px 20px !important; }
.modal.yz-modal .modal-body > .table, .modal.yz-modal .modal-body > form > .table { background: #fff; border: 1px solid #eaecf0; border-radius: 16px; overflow: hidden; border-collapse: separate; border-spacing: 0; margin-bottom: 0; }
.modal.yz-modal .modal-body > .table > tbody > tr > th, .modal.yz-modal .modal-body > form > .table > tbody > tr > th { background: #fafbfc; color: #475467; font-size: 13px; font-weight: 600; }
.modal.yz-modal .modal-body > .table > tbody > tr:last-child > *, .modal.yz-modal .modal-body > form > .table > tbody > tr:last-child > * { border-bottom: 0; }
.modal.yz-modal .modal-body > .table > tbody > tr > *:first-child, .modal.yz-modal .modal-body > form > .table > tbody > tr > *:first-child { border-left: 0; }
.modal.yz-modal .modal-body > .table > tbody > tr > *:last-child, .modal.yz-modal .modal-body > form > .table > tbody > tr > *:last-child { border-right: 0; }
.modal.yz-modal .modal-body > .table > tbody > tr:first-child > *, .modal.yz-modal .modal-body > form > .table > tbody > tr:first-child > * { border-top: 0; }
.modal.yz-modal .form-control, .modal.yz-modal .form-select { border-radius: 10px; border-color: #d0d5dd; }
.modal.yz-modal .form-control:focus, .modal.yz-modal .form-select:focus { border-color: var(--bs-primary); box-shadow: 0 0 0 3px rgba(var(--bs-primary-rgb), .15); }
.modal.modal-form.yz-modal .modal-footer { background: #fff; border-top: 1px solid #eaecf0; padding: 12px 20px; margin-top: 0; }
.modal.yz-modal .modal-footer .btn { border-radius: 999px; padding: 8px 24px; font-weight: 600; }
.modal.yz-modal .modal-footer .btn-navy { background: var(--bs-primary); border-color: var(--bs-primary); color: #fff; }
.modal.yz-modal .note { background: #fff; border: 1px solid #eaecf0; border-radius: 14px; padding: 10px 14px; }
.modal.yz-modal .form-text { font-size: 12px; color: #667085; margin-top: 4px; }
@media (max-width: 767.98px) {   /* 휴대폰 — 전체화면 · 머리·꼬리 고정 */
	.modal.yz-modal .modal-dialog { margin: 0; max-width: none; width: 100%; height: 100%; }
	.modal.yz-modal .modal-content { border-radius: 0; height: 100%; display: flex; flex-direction: column; }
	.modal.yz-modal .modal-header, .modal.yz-modal .modal-footer { flex: none; }
	.modal.modal-form.yz-modal .modal-body { flex: 1 1 auto; overflow-y: auto; padding: 12px !important; }
	.modal.yz-modal .modal-footer { display: flex; gap: 8px; }
	.modal.yz-modal .modal-footer .btn { flex: 1 1 0; }
}

/* ── partner/css/yz_pick.css ── */
/* 파트너센터 고르기 부품 YZP(2026-10-30 549th — js/yz_pick.js): 어두운 배경 .yzp-bd · 휴대폰 달력 모달 .daterangepicker.cal-one · 시간 고르기 모달 .yzp-tm
   층: 창(bs modal 1055) < 배경 9990 < 시간 모달 9995 < 달력(daterangepicker.css 9999) */
.yzp-bd { position: fixed; inset: 0; background: rgba(0, 0, 0, .45); z-index: 9990; }

/* ── 시간 고르기 모달(PC·휴대폰) ── */
.yzp-tm { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 9995; width: min(92vw, 420px); max-height: 86vh; display: flex; flex-direction: column; background: #fff; border-radius: 16px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3); overflow: hidden; }
.yzp-tm__h { display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; border-bottom: 1px solid #eaecf0; font-size: 16px; color: #1d2939; }
.yzp-tm__x { border: 0; background: transparent; font-size: 26px; line-height: 1; color: #667085; padding: 0 4px; cursor: pointer; }
.yzp-tm__list { flex: 1 1 auto; overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 6px 0; }
.yzp-tm__row { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; padding: 12px 18px; border: 0; border-top: 1px solid #f2f4f7; background: #fff; text-align: left; cursor: pointer; }
.yzp-tm__row:first-child { border-top: 0; }
.yzp-tm__row:hover, .yzp-tm__row:focus-visible { background: #f5f8ff; outline: 0; }
.yzp-tm__row.is-off { background: #f6f7f9; color: #98a2b3; }
.yzp-tm__row.is-off h4, .yzp-tm__row.is-off h4 small { color: #98a2b3 !important; }
.yzp-tm__row.is-hid { background: repeating-linear-gradient(-45deg, #d4d4d4 0 5px, transparent 5px 10px); }   /* 숨김 회차 = 예약현황 달력과 같은 빗금(590th — css/date_calendar.css .cal-sl.hid) */
.yzp-tm__row .cal-off, .yzp-tm__row .cal-hid { align-self: center; font-size: 11px; font-weight: 600; border-radius: 4px; padding: 0 6px; line-height: 17px; }   /* 「마감」(사용자 마감만)·「숨김」 표지 — 예약현황 달력과 같은 색 */
.yzp-tm__row .cal-off { color: #fff; background: #667085; }
.yzp-tm__row .cal-hid { color: #667085; background: #e4e7ec; }
.yzp-tm__row h4 { margin: 0; font-size: 18px; font-weight: 700; line-height: 1.2; display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.yzp-tm__row h4 small { font-size: 13px; font-weight: 500; color: #475467; }
.yzp-tm__row > div { flex: none; font-size: 13px; color: #475467; white-space: nowrap; }
.yzp-tm__none { padding: 28px 18px; text-align: center; color: #667085; font-size: 14px; }
.yzp-tm__f { padding: 10px 14px; border-top: 1px solid #eaecf0; display: flex; }
.yzp-tm__f .btn { flex: 1 1 0; height: 40px; border-radius: 999px; font-weight: 600; }

/* ── 휴대폰 달력 모달 ── */
@media (max-width: 767.98px) {
	.daterangepicker.cal-one { position: fixed; top: 50%; left: 50%; right: auto; bottom: auto; transform: translate(-50%, -50%); margin: 0; width: min(92vw, 340px); max-width: none; padding: 10px 8px 8px; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3); }
	.daterangepicker.cal-one::before, .daterangepicker.cal-one::after { display: none; }   /* 말풍선 꼬리 없음 */
	.daterangepicker.cal-one .calendar.right { display: none; }   /* 한 달만 */
	.daterangepicker.cal-one .calendar.left { float: none; width: 100%; max-width: none; margin: 0; }
	.daterangepicker.cal-one .calendar.left .calendar-table { width: 100%; }
	.daterangepicker.cal-one .calendar.left .calendar-table > table { width: 100%; }
	.daterangepicker.cal-one th.prev, .daterangepicker.cal-one th.next { font-size: 16px; cursor: pointer; }
	.daterangepicker.cal-one td.active, .daterangepicker.cal-one td.active:hover { background-color: var(--bs-primary); color: #fff; font-weight: 700; }   /* 시작·끝 날짜 또렷하게 */
	.daterangepicker.cal-one td.in-range { background-color: #e3edfb; }
	.daterangepicker.cal-one .cal-one-sel { margin: 8px 2px 0; padding: 9px 12px; border-radius: 10px; background: #f5f6f8; font-size: 13px; color: #475467; text-align: center; min-height: 36px; }   /* 고른 기간 줄 — 달을 넘겨도 시작·끝이 보임(549th 대표 지적) */
	.daterangepicker.cal-one .cal-one-sel b { color: #1d2939; }
	.daterangepicker.cal-one .cal-one-x { padding: 10px 2px 0; display: flex; }   /* 날짜 하나 고르기 달력의 [취소](적용은 날짜를 누르면 바로) */
	.daterangepicker.cal-one .cal-one-x .btn { flex: 1 1 0; height: 38px; border-radius: 999px; font-size: 14px; font-weight: 600; }
	.daterangepicker.cal-one .ranges { float: none; width: 100%; margin: 0; }
	.daterangepicker.cal-one .ranges ul { display: none; }
	.daterangepicker.cal-one .range_inputs { display: flex; gap: 8px; padding: 10px 2px 0; }
	.daterangepicker.cal-one .range_inputs .btn { flex: 1 1 0; height: 38px; border-radius: 999px; font-size: 14px; font-weight: 600; margin: 0; }
	.daterangepicker.cal-one .range_inputs .btn.hide { display: none; }
	.daterangepicker.cal-one .range_inputs .cancelBtn { order: 1; } .daterangepicker.cal-one .range_inputs .applyBtn { order: 2; }   /* 창 꼬리와 같은 차례 — 왼쪽 취소 · 오른쪽 적용 */
	.yzp-tm { width: 92vw; }
}
