/* ============================================
   이벤트 리스트
   ============================================ */
.dm-event-list {font-family:var(--dm-font); font-size:15px; color:var(--dm-text); line-height:1.6; letter-spacing:-0.2px; background:#fff; width:100%; max-width:1400px; padding:80px 20px 100px; box-sizing:border-box; margin:0 auto;}
.dm-event-list *, .dm-event-list *::before, .dm-event-list *::after {box-sizing:border-box;}
.dm-event-list a {text-decoration:none; color:inherit; transition:color 0.2s;}

/* ============================================
   페이지 헤드
   ============================================ */
.dm-event-head {text-align:center; margin-bottom:50px;}
.dm-event-eyebrow {display:inline-block; font-size:14px; font-weight:500; color:var(--dm-primary); letter-spacing:3px; margin-bottom:16px; text-transform:uppercase;}
.dm-event-page-title {margin:0 0 16px 0; font-size:44px; font-weight:700; color:var(--dm-text); line-height:1.3; letter-spacing:-0.8px;}
.dm-event-page-desc {margin:0; font-size:16px; font-weight:400; color:var(--dm-text-sub); line-height:1.7; letter-spacing:-0.2px;}

/* ============================================
   카테고리 (카테고리2 숨김)
   ============================================ */
.dm-event-list .kboard-category.category-pc .kboard-category-list:nth-of-type(2) {display:none !important;}
.dm-event-list .kboard-category.category-mobile select[name="category2"] {display:none !important;}

.dm-event-list .kboard-category.category-pc {display:flex !important; justify-content:center !important; margin-bottom:50px !important; padding:0 !important; background:transparent !important; width:100% !important;}
.dm-event-list .kboard-category.category-pc .kboard-category-list {display:flex !important; flex-wrap:wrap !important; justify-content:center !important; gap:10px !important; padding:0 !important; margin:0 !important; list-style:none !important;}
.dm-event-list .kboard-category.category-pc .kboard-category-list li {margin:0 !important; padding:0 !important;}
.dm-event-list .kboard-category.category-pc .kboard-category-list li a {display:inline-flex !important; align-items:center !important; padding:11px 26px !important; border-radius:50px !important; background-color:#fff !important; color:var(--dm-text-sub) !important; font-size:14px !important; font-weight:500 !important; border:1px solid var(--dm-border) !important; letter-spacing:-0.2px !important; transition:all 0.2s !important; text-decoration:none !important; box-shadow:0 2px 6px rgba(30, 42, 74, 0.03) !important;}
.dm-event-list .kboard-category.category-pc .kboard-category-list li a:hover {color:var(--dm-primary) !important; border-color:var(--dm-primary) !important;}
.dm-event-list .kboard-category.category-pc .kboard-category-list li.kboard-category-selected a {background-color:var(--dm-accent) !important; color:#fff !important; font-weight:700 !important; border-color:var(--dm-accent) !important; box-shadow:0 4px 12px rgba(30, 42, 74, 0.15) !important;}

/* ============================================
   이벤트 그리드
   ============================================ */
.dm-event-grid {display:grid; grid-template-columns:repeat(4, 1fr); gap:28px; margin-bottom:40px;}

/* ============================================
   이벤트 카드
   ============================================ */
.dm-event-card {position:relative; background:#fff; border-radius:var(--dm-radius); overflow:hidden; transition:all 0.3s ease; display:flex; flex-direction:column;}
.dm-event-card > a {display:block; text-decoration:none; color:inherit; height:100%;}
.dm-event-card:hover {transform:translateY(-6px);}

.dm-event-card-notice .dm-event-thumb {box-shadow:0 0 0 2px var(--dm-primary);}

/* ============================================
   썸네일 (3:4 세로)
   ============================================ */
.dm-event-thumb {position:relative; width:100%; aspect-ratio:3/4; overflow:hidden; background:var(--dm-accent-light); border-radius:var(--dm-radius); box-shadow:var(--dm-shadow-sm); transition:all 0.3s ease;}
.dm-event-card:hover .dm-event-thumb {box-shadow:var(--dm-shadow-hover);}
.dm-event-thumb img {position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; transition:transform 0.5s ease;}
.dm-event-card:hover .dm-event-thumb img {transform:scale(1.04);}
.dm-event-thumb-empty {width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:var(--dm-text-light); background:linear-gradient(135deg, #f4f6fb 0%, #eef2f9 100%);}

/* ============================================
   뱃지
   ============================================ */
/* 진행중 뱃지 */
.dm-event-badge {position:absolute; top:14px; left:14px; display:inline-flex; align-items:center; gap:6px; padding:6px 14px; background:rgba(255, 255, 255, 0.95); color:var(--dm-primary); font-size:12px; font-weight:700; border-radius:50px; letter-spacing:-0.1px; z-index:2; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); box-shadow:0 4px 10px rgba(30, 42, 74, 0.12);}
.dm-event-badge-dot {display:inline-block; width:6px; height:6px; background:var(--dm-primary); border-radius:50%; animation:dm-event-pulse 1.5s ease-in-out infinite;}
@keyframes dm-event-pulse {
	0%, 100% {opacity:1; transform:scale(1);}
	50% {opacity:0.6; transform:scale(0.85);}
}

/* 공지 뱃지 */
.dm-event-badge-notice {position:absolute; top:14px; right:14px; padding:6px 14px; background:var(--dm-primary); color:#fff; font-size:12px; font-weight:700; border-radius:4px; letter-spacing:0.5px; z-index:2; box-shadow:0 4px 10px rgba(255, 107, 26, 0.3);}

/* ============================================
   마감 오버레이
   ============================================ */
.dm-event-expired-overlay {position:absolute; inset:0; background:rgba(26, 34, 56, 0.75); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; z-index:3; border-radius:var(--dm-radius); backdrop-filter:blur(2px); -webkit-backdrop-filter:blur(2px);}
.dm-event-expired-text {font-family:Georgia, serif; font-size:28px; font-weight:700; color:#fff; letter-spacing:3px; text-transform:uppercase; line-height:1;}
.dm-event-expired-sub {font-size:12px; font-weight:500; color:rgba(255, 255, 255, 0.75); letter-spacing:-0.2px; padding:5px 14px; background:rgba(255, 255, 255, 0.1); border:1px solid rgba(255, 255, 255, 0.2); border-radius:50px; backdrop-filter:blur(4px);}

.dm-event-expired .dm-event-title, .dm-event-expired .dm-event-desc, .dm-event-expired .dm-event-date {opacity:0.45;}

/* ============================================
   카드 본문
   ============================================ */
.dm-event-body {padding:18px 6px 6px; display:flex; flex-direction:column; gap:8px;}
.dm-event-title {margin:0; font-size:16px; font-weight:700; color:var(--dm-text); line-height:1.45; letter-spacing:-0.3px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; text-overflow:ellipsis; word-break:keep-all; transition:color 0.2s;}
.dm-event-card:hover .dm-event-title {color:var(--dm-primary);}
.dm-event-desc {margin:0; font-size:13px; font-weight:400; color:var(--dm-text-sub); line-height:1.6; letter-spacing:-0.2px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; text-overflow:ellipsis; word-break:keep-all;}
.dm-event-date {display:inline-flex; align-items:center; gap:5px; margin-top:2px; font-size:12px; font-weight:500; color:var(--dm-text-muted); letter-spacing:-0.2px; font-variant-numeric:tabular-nums;}
.dm-event-date svg {flex-shrink:0; color:var(--dm-primary); opacity:0.7;}

/* ============================================
   페이지네이션
   ============================================ */
.dm-event-pagination {padding:40px 0 20px; text-align:center;}
.dm-event-pagination-list {display:inline-flex; padding:0; margin:0; list-style:none; gap:6px; align-items:center; justify-content:center;}
.dm-event-pagination-list li {display:block; margin:0;}
.dm-event-pagination-list a, .dm-event-pagination-list span {display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:40px; padding:0 10px; border-radius:50%; background:#fff; border:1px solid var(--dm-border); font-size:14px; font-weight:500; color:var(--dm-text-sub); font-variant-numeric:tabular-nums; text-decoration:none; transition:all 0.2s;}
.dm-event-pagination-list a:hover {border-color:var(--dm-primary); color:var(--dm-primary);}
.dm-event-pagination-list li.active a, .dm-event-pagination-list li.active span, .dm-event-pagination-list a.active, .dm-event-pagination-list .active a, .dm-event-pagination-list .active span {color:#fff !important; background:var(--dm-accent); border-color:var(--dm-accent);}

/* ============================================
   글쓰기 버튼
   ============================================ */
.dm-event-control {display:flex; justify-content:flex-end; padding:20px 0 0;}
.dm-event-write-btn {display:inline-flex; align-items:center; gap:6px; padding:14px 32px; font-size:14px; font-weight:600; color:#fff !important; background-color:var(--dm-primary); border:1px solid var(--dm-primary); border-radius:var(--dm-radius-pill); text-decoration:none; letter-spacing:-0.2px; box-shadow:0 6px 16px rgba(255, 107, 26, 0.2); transition:all 0.25s;}
.dm-event-write-btn::before {content:'+'; font-size:18px; font-weight:400; line-height:1;}
.dm-event-write-btn:hover {background-color:var(--dm-primary-hover); border-color:var(--dm-primary-hover); color:#fff !important; transform:translateY(-2px); box-shadow:0 8px 20px rgba(255, 107, 26, 0.3);}

/* entry-title 숨김 */
body:has(.dm-event-list) .page-header,
body:has(.dm-event-list) .entry-title {display:none !important;}
body:has(.dm-event-list) .page-content {max-width:none !important; width:100% !important; padding:0 !important; margin:0 !important;}

/* ============================================
   반응형
   ============================================ */
@media screen and (max-width: 1200px) {
	.dm-event-grid {grid-template-columns:repeat(3, 1fr); gap:24px;}
}
@media screen and (max-width: 1024px) {
	.dm-event-list {padding:60px 30px 80px;}
	.dm-event-page-title {font-size:34px;}
	.dm-event-grid {grid-template-columns:repeat(3, 1fr); gap:20px;}
	.dm-event-expired-text {font-size:24px;}
}
@media screen and (max-width: 768px) {
	.dm-event-list {padding:50px 16px 70px;}
	.dm-event-head {margin-bottom:36px;}
	.dm-event-eyebrow {font-size:12px; letter-spacing:2px; margin-bottom:12px;}
	.dm-event-page-title {font-size:26px; margin-bottom:12px;}
	.dm-event-page-desc {font-size:14px;}
	
	.dm-event-list .kboard-category.category-pc {margin-bottom:36px !important;}
	.dm-event-list .kboard-category.category-pc .kboard-category-list {justify-content:flex-start !important; flex-wrap:nowrap !important; overflow-x:auto; padding-bottom:8px !important; gap:8px !important; -webkit-overflow-scrolling:touch; scrollbar-width:none;}
	.dm-event-list .kboard-category.category-pc .kboard-category-list::-webkit-scrollbar {display:none;}
	.dm-event-list .kboard-category.category-pc .kboard-category-list li {flex-shrink:0;}
	.dm-event-list .kboard-category.category-pc .kboard-category-list li a {padding:9px 20px !important; font-size:13px !important;}
	
	.dm-event-grid {grid-template-columns:repeat(2, 1fr); gap:14px;}
	.dm-event-body {padding:14px 4px 4px; gap:6px;}
	.dm-event-title {font-size:14px;}
	.dm-event-desc {font-size:12px; -webkit-line-clamp:1;}
	.dm-event-date {font-size:11px;}
	.dm-event-badge, .dm-event-badge-notice {font-size:10px; padding:4px 10px; top:10px;}
	.dm-event-badge {left:10px;}
	.dm-event-badge-notice {right:10px;}
	.dm-event-expired-text {font-size:18px; letter-spacing:2px;}
	.dm-event-expired-sub {font-size:10px; padding:4px 10px;}
	
	.dm-event-pagination {padding:30px 0 10px;}
	.dm-event-pagination-list a, .dm-event-pagination-list span {min-width:36px; height:36px; font-size:13px;}
	.dm-event-write-btn {padding:12px 26px; font-size:13px;}
}
@media screen and (max-width: 480px) {
	.dm-event-grid {gap:12px;}
	.dm-event-body {padding:12px 2px 2px;}
	.dm-event-title {font-size:13px;}
}

/* ============================================
   이벤트 뷰 페이지
   ============================================ */
.dm-event-doc {font-family:var(--dm-font); width:100%; max-width:1400px; margin:0 auto; padding:60px 20px 140px; box-sizing:border-box; color:var(--dm-text); line-height:1.6; letter-spacing:-0.2px; background:#fff;}
.dm-event-doc *, .dm-event-doc *::before, .dm-event-doc *::after {box-sizing:border-box;}
.dm-event-doc a {text-decoration:none; color:inherit; transition:color 0.2s;}
.dm-event-doc button {font-family:inherit; cursor:pointer;}

/* entry-title 숨김 */
body:has(.dm-event-doc) .page-header,
body:has(.dm-event-doc) .entry-title {display:none !important;}
body:has(.dm-event-doc) .page-content {max-width:none !important; width:100% !important; padding:0 !important; margin:0 !important;}

.dm-event-doc-wrap {background:#fff; border:1px solid var(--dm-border); border-radius:20px; overflow:visible; padding:50px 60px;}

/* ============================================
   상단 헤드
   ============================================ */
.dm-event-doc-head {padding-bottom:30px; border-bottom:1px solid var(--dm-border-light); margin-bottom:32px;}
.dm-event-doc-head-top {display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:20px; flex-wrap:wrap;}
.dm-event-doc-head-left {display:flex; gap:8px; align-items:center;}

.dm-event-doc-status {display:inline-flex; align-items:center; gap:6px; padding:6px 14px; font-size:12px; font-weight:700; border-radius:50px; letter-spacing:-0.1px;}
.dm-event-doc-status-dot {display:inline-block; width:6px; height:6px; border-radius:50%; background:currentColor;}
.dm-event-doc-status-active {background:var(--dm-primary-light); color:var(--dm-primary); border:1px solid var(--dm-primary-border);}
.dm-event-doc-status-active .dm-event-doc-status-dot {animation:dm-event-pulse 1.5s ease-in-out infinite;}
.dm-event-doc-status-expired {background:#f4f6fb; color:var(--dm-text-muted); border:1px solid var(--dm-border);}

.dm-event-doc-period {display:inline-flex; align-items:center; gap:8px; padding:8px 18px; background:var(--dm-bg); border:1px solid var(--dm-border); border-radius:50px; font-size:13px; font-weight:600; color:var(--dm-text-sub); letter-spacing:-0.2px; font-variant-numeric:tabular-nums;}
.dm-event-doc-period svg {color:var(--dm-primary); flex-shrink:0;}

.dm-event-doc-title {margin:0 0 14px 0 !important; padding:0 !important; font-size:30px !important; font-weight:700 !important; color:var(--dm-text) !important; line-height:1.4 !important; letter-spacing:-0.7px !important; border:none !important; word-break:keep-all;}
.dm-event-doc-subtitle {margin:0; font-size:15px; font-weight:400; color:var(--dm-text-sub); line-height:1.7; letter-spacing:-0.2px;}

/* ============================================
   시술 리스트 (담기)
   ============================================ */
.dm-event-doc-products {display:flex; flex-direction:column; gap:12px; margin-bottom:36px;}
.dm-event-doc-product {background:#fff; border:1px solid var(--dm-border); border-radius:16px; overflow:hidden; transition:all 0.2s;}
.dm-event-doc-product:hover {border-color:var(--dm-primary); box-shadow:var(--dm-shadow-sm);}
.dm-event-doc-product:has(input:checked) {border-color:var(--dm-primary); background:var(--dm-primary-light); box-shadow:0 0 0 2px var(--dm-primary);}

.dm-event-doc-product-row {display:flex; align-items:center; gap:18px; padding:22px 26px; cursor:pointer; margin:0;}
.dm-event-product-check {flex-shrink:0; width:22px; height:22px; margin:0; accent-color:var(--dm-primary); cursor:pointer;}

.dm-event-doc-product-info {flex:1; min-width:0;}
.dm-event-doc-product-name {margin:0 0 6px 0; font-size:16px; font-weight:700; color:var(--dm-text); line-height:1.5; letter-spacing:-0.3px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; word-break:keep-all;}
.dm-event-doc-product-desc {margin:0; font-size:13px; font-weight:400; color:var(--dm-text-sub); line-height:1.5; letter-spacing:-0.2px;}

.dm-event-doc-product-price {display:flex; flex-direction:column; align-items:flex-end; gap:2px; flex-shrink:0; text-align:right;}
.dm-event-doc-product-discount {font-size:12px; font-weight:700; color:var(--dm-primary); letter-spacing:-0.1px;}
.dm-event-doc-product-original {font-size:12px; color:var(--dm-text-light); text-decoration:line-through; font-weight:500;}
.dm-event-doc-product-sale {font-size:20px; font-weight:700; color:var(--dm-primary); letter-spacing:-0.3px; font-variant-numeric:tabular-nums; margin-top:2px;}

/* ============================================
   본문 (이벤트 상세)
   ============================================ */
.dm-event-doc-content {font-size:16px; line-height:1.9; color:var(--dm-text-sub); letter-spacing:-0.2px; padding:16px 0 0;}
.dm-event-doc-content p {margin:0 0 18px 0;}
.dm-event-doc-content img {max-width:100%; height:auto; border-radius:10px; margin:16px 0; display:block;}
.dm-event-doc-content strong {color:var(--dm-text); font-weight:700;}
.dm-event-doc-content h2 {margin:40px 0 18px 0 !important; padding-bottom:14px !important; font-size:22px !important; font-weight:700 !important; color:var(--dm-text) !important; border-bottom:1px solid var(--dm-border-light) !important;}
.dm-event-doc-content h3 {margin:32px 0 14px 0 !important; font-size:18px !important; font-weight:700 !important; color:var(--dm-text) !important;}

/* ============================================
   예약 섹션 (STEP 1, 2, 3)
   ============================================ */
.dm-event-reserve {margin-top:40px; max-height:0; overflow:hidden; opacity:0; transition:max-height 0.5s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.3s ease; display:flex; flex-direction:column; gap:20px;}
.dm-event-reserve.is-open {max-height:4000px; opacity:1;}

.dm-event-reserve-step {background:#fff; border:1px solid var(--dm-border); border-radius:20px; overflow:hidden;}
.dm-event-reserve-step-head {display:flex; align-items:center; gap:14px; padding:24px 28px; border-bottom:1px solid var(--dm-border-light); flex-wrap:wrap;}
.dm-event-reserve-step-num {display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; background:var(--dm-primary); color:#fff; font-size:15px; font-weight:700; border-radius:50%; flex-shrink:0; box-shadow:0 4px 10px rgba(255, 107, 26, 0.25);}
.dm-event-reserve-step-title {margin:0; font-size:20px; font-weight:700; color:var(--dm-text); letter-spacing:-0.4px; flex:1; min-width:0;}
.dm-event-reserve-step-count {color:var(--dm-primary); font-weight:700; font-size:17px; margin-left:4px;}

.dm-event-reserve-check-all {display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:500; color:var(--dm-text-sub); cursor:pointer; letter-spacing:-0.2px;}
.dm-event-reserve-check-all input {width:16px; height:16px; margin:0; accent-color:var(--dm-primary); cursor:pointer;}

.dm-event-reserve-step-body {padding:24px 28px;}

/* 선택된 시술 리스트 */
.dm-event-selected-list {list-style:none; margin:0 0 18px 0; padding:0; display:flex; flex-direction:column; gap:8px;}
.dm-event-selected-item {background:var(--dm-bg); border:1px solid var(--dm-border-light); border-radius:10px; padding:14px 18px;}
.dm-event-selected-label {display:flex; align-items:center; gap:12px; margin:0; cursor:pointer;}
.dm-event-selected-label input {width:18px; height:18px; margin:0; accent-color:var(--dm-primary); flex-shrink:0;}
.dm-event-selected-name {flex:1; font-size:14px; font-weight:600; color:var(--dm-text); letter-spacing:-0.2px;}
.dm-event-selected-price {font-size:12px; color:var(--dm-text-muted); font-weight:500; flex-shrink:0;}
.dm-event-selected-empty {padding:24px; background:var(--dm-bg); border:1px dashed var(--dm-border); border-radius:10px; text-align:center; font-size:13px; color:var(--dm-text-muted); letter-spacing:-0.2px;}

.dm-event-reserve-notice {padding:14px 18px; background:var(--dm-bg); border-radius:10px; font-size:12px; line-height:1.7; color:var(--dm-text-muted); letter-spacing:-0.2px;}

/* ============================================
   캘린더 + 시간
   ============================================ */
.dm-event-reserve-datetime {display:grid; grid-template-columns:1fr 1fr; gap:20px;}

.dm-event-calendar {background:var(--dm-bg); border-radius:14px; padding:20px 22px;}
.dm-event-calendar-head {display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; gap:10px;}
.dm-event-calendar-month {font-size:15px; font-weight:700; color:var(--dm-text); letter-spacing:-0.3px;}
.dm-event-calendar-nav {display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; background:#fff; border:1px solid var(--dm-border); border-radius:50%; color:var(--dm-text-sub); transition:all 0.2s; padding:0;}
.dm-event-calendar-nav:hover {background:var(--dm-primary); border-color:var(--dm-primary); color:#fff;}

.dm-event-calendar-weekdays {display:grid; grid-template-columns:repeat(7, 1fr); gap:2px; margin-bottom:6px; padding:0 2px;}
.dm-event-calendar-weekdays span {text-align:center; padding:6px 0; font-size:11px; font-weight:700; color:var(--dm-text-muted); letter-spacing:0.5px;}
.dm-event-calendar-weekdays .is-sun {color:#e24b4a;}
.dm-event-calendar-weekdays .is-sat {color:var(--dm-primary);}

.dm-event-calendar-days {display:grid; grid-template-columns:repeat(7, 1fr); gap:2px; padding:0 2px;}
.dm-event-calendar-day {display:inline-flex; align-items:center; justify-content:center; aspect-ratio:1/1; background:transparent; border:none; border-radius:50%; font-size:13px; font-weight:500; color:var(--dm-text); font-family:inherit; font-variant-numeric:tabular-nums; transition:all 0.15s; cursor:pointer; padding:0;}
.dm-event-calendar-day:hover:not(:disabled):not(.is-empty) {background:#fff; color:var(--dm-primary);}
.dm-event-calendar-day.is-sun {color:#e24b4a;}
.dm-event-calendar-day.is-sat {color:var(--dm-primary);}
.dm-event-calendar-day.is-past {color:var(--dm-text-light); cursor:not-allowed; text-decoration:line-through;}
.dm-event-calendar-day.is-today {background:#fff; color:var(--dm-primary); font-weight:700;}
.dm-event-calendar-day.is-active {background:var(--dm-primary) !important; color:#fff !important; font-weight:700; box-shadow:0 4px 10px rgba(255, 107, 26, 0.3);}
.dm-event-calendar-day.is-empty {cursor:default; pointer-events:none;}

.dm-event-time {background:var(--dm-bg); border-radius:14px; padding:20px 22px;}
.dm-event-time-head {margin-bottom:14px;}
.dm-event-time-title {margin:0 0 4px 0; font-size:15px; font-weight:700; color:var(--dm-text); letter-spacing:-0.3px;}
.dm-event-time-desc {font-size:12px; color:var(--dm-text-muted); font-weight:500; letter-spacing:-0.2px;}

.dm-event-time-grid {display:grid; grid-template-columns:repeat(4, 1fr); gap:6px;}
.dm-event-time-btn {padding:10px 0; background:#fff; border:1px solid var(--dm-border); border-radius:8px; font-size:13px; font-weight:500; color:var(--dm-text-sub); font-variant-numeric:tabular-nums; transition:all 0.15s; font-family:inherit;}
.dm-event-time-btn:hover:not(:disabled) {border-color:var(--dm-primary); color:var(--dm-primary);}
.dm-event-time-btn.is-active {background:var(--dm-primary) !important; border-color:var(--dm-primary) !important; color:#fff !important; font-weight:700; box-shadow:0 4px 10px rgba(255, 107, 26, 0.25);}
.dm-event-time-btn.is-disabled, .dm-event-time-btn:disabled {background:var(--dm-bg); color:var(--dm-text-light); cursor:not-allowed; text-decoration:line-through;}

/* ============================================
   STEP 3 - 고객 정보
   ============================================ */
.dm-event-reserve-form {display:flex; flex-direction:column; gap:10px; margin-bottom:20px;}
.dm-event-reserve-form-row {display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.dm-event-input, .dm-event-textarea {width:100%; padding:13px 16px; font-size:14px; font-weight:500; color:var(--dm-text); background:#fff; border:1px solid var(--dm-border); border-radius:10px; outline:none; transition:all 0.2s; font-family:inherit; letter-spacing:-0.2px;}
.dm-event-input:focus, .dm-event-textarea:focus {border-color:var(--dm-primary); box-shadow:0 0 0 3px rgba(255, 107, 26, 0.08);}
.dm-event-textarea {resize:vertical; min-height:80px; line-height:1.6;}
.dm-event-input::placeholder, .dm-event-textarea::placeholder {color:var(--dm-text-light); font-weight:400;}

.dm-event-reserve-agree {display:flex; flex-direction:column; gap:10px; margin-bottom:24px;}
.dm-event-reserve-agree-item {display:flex; align-items:center; gap:10px; font-size:13px; color:var(--dm-text-sub); cursor:pointer; letter-spacing:-0.2px; line-height:1.5;}
.dm-event-reserve-agree-item input {width:18px; height:18px; margin:0; accent-color:var(--dm-primary); flex-shrink:0;}
.dm-event-reserve-agree-link {font-size:12px; color:var(--dm-primary); text-decoration:underline; margin-left:4px;}
.dm-event-reserve-agree-link:hover {color:var(--dm-primary-hover);}

.dm-event-reserve-total {display:flex; align-items:baseline; justify-content:center; gap:18px; padding:22px 24px; background:var(--dm-primary-light); border:1px solid var(--dm-primary-border); border-radius:14px; margin-bottom:14px;}
.dm-event-reserve-total-label {font-size:14px; font-weight:500; color:var(--dm-text-sub); letter-spacing:-0.2px;}
.dm-event-reserve-total-price {font-size:24px; font-weight:700; color:var(--dm-primary); letter-spacing:-0.5px; font-variant-numeric:tabular-nums;}

.dm-event-reserve-notice-gray {padding:14px 18px; background:var(--dm-bg); border-radius:10px; font-size:12px; line-height:1.7; color:var(--dm-text-muted); letter-spacing:-0.2px; margin-bottom:22px;}

.dm-event-reserve-submit-wrap {display:flex; justify-content:center;}
.dm-event-reserve-submit {display:inline-flex; align-items:center; justify-content:center; gap:6px; min-width:280px; padding:18px 36px; background:var(--dm-primary); color:#fff; border:none; border-radius:50px; font-size:15px; font-weight:700; letter-spacing:-0.3px; box-shadow:0 8px 20px rgba(255, 107, 26, 0.25); transition:all 0.25s; font-family:inherit;}
.dm-event-reserve-submit:hover {background:var(--dm-primary-hover); transform:translateY(-2px); box-shadow:0 12px 28px rgba(255, 107, 26, 0.35);}

/* ============================================
   하단 액션 (좋아요/인쇄)
   ============================================ */
.dm-event-doc-action {display:flex; justify-content:space-between; align-items:center; padding:30px 0 0; margin-top:32px; border-top:1px solid var(--dm-border-light); gap:10px; flex-wrap:wrap;}
.dm-event-doc-action .left, .dm-event-doc-action .right {display:flex; gap:8px;}
.dm-event-doc-btn-action {display:inline-flex; align-items:center; gap:6px; padding:10px 18px; background:#fff; color:var(--dm-text-sub); border:1px solid var(--dm-border); border-radius:50px; font-size:13px; font-weight:500; transition:all 0.2s; letter-spacing:-0.2px;}
.dm-event-doc-btn-action:hover {background:var(--dm-primary-light); color:var(--dm-primary); border-color:var(--dm-primary);}

/* ============================================
   이전/다음
   ============================================ */
.dm-event-doc-navi {display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:30px 0;}
.dm-event-doc-navi-item a {display:flex; align-items:center; gap:14px; padding:20px 24px; background:#fff; border:1px solid var(--dm-border); border-radius:14px; text-decoration:none; color:var(--dm-text-sub); transition:all 0.2s; height:100%;}
.dm-event-doc-navi-item a:hover {border-color:var(--dm-primary); color:var(--dm-primary); transform:translateY(-2px); box-shadow:var(--dm-shadow-sm);}
.dm-event-doc-navi-prev a {justify-content:flex-start;}
.dm-event-doc-navi-next a {justify-content:flex-end; text-align:right;}
.dm-event-doc-navi-arrow {display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; flex-shrink:0; color:var(--dm-primary); background:var(--dm-primary-light); border-radius:50%; transition:all 0.2s;}
.dm-event-doc-navi-item a:hover .dm-event-doc-navi-arrow {background:var(--dm-primary); color:#fff;}
.dm-event-doc-navi-info {display:flex; flex-direction:column; gap:4px; min-width:0; flex:1;}
.dm-event-doc-navi-info-right {align-items:flex-end; text-align:right;}
.dm-event-doc-navi-label {font-size:11px; font-weight:700; color:var(--dm-primary); text-transform:uppercase; letter-spacing:1px;}
.dm-event-doc-navi-title {font-size:14px; font-weight:500; color:var(--dm-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; width:100%;}
.dm-event-doc-navi-empty {display:flex; flex-direction:column; gap:4px; padding:20px 24px; background:var(--dm-bg); border:1px dashed var(--dm-border); border-radius:14px; opacity:0.5;}
.dm-event-doc-navi-next .dm-event-doc-navi-empty {align-items:flex-end; text-align:right;}
.dm-event-doc-navi-empty .dm-event-doc-navi-label {color:var(--dm-text-muted);}
.dm-event-doc-navi-empty .dm-event-doc-navi-title {color:var(--dm-text-light); font-size:13px;}

/* ============================================
   하단 컨트롤
   ============================================ */
.dm-event-doc-ctrl {display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap;}
.dm-event-doc-ctrl .left, .dm-event-doc-ctrl .right {display:flex; gap:8px; flex-wrap:wrap;}
.dm-event-doc-ctrl-btn {display:inline-flex; align-items:center; justify-content:center; gap:6px; height:46px; padding:0 26px; border-radius:50px; font-size:14px; font-weight:600; letter-spacing:-0.2px; text-decoration:none; transition:all 0.25s;}
.dm-event-doc-ctrl-list {background:var(--dm-primary) !important; color:#fff !important; border:1px solid var(--dm-primary); box-shadow:0 4px 12px rgba(255, 107, 26, 0.2);}
.dm-event-doc-ctrl-list:hover {background:var(--dm-primary-hover) !important; transform:translateY(-2px); box-shadow:0 6px 16px rgba(255, 107, 26, 0.3);}
.dm-event-doc-ctrl-edit {background:#fff !important; color:var(--dm-text-sub) !important; border:1px solid var(--dm-border);}
.dm-event-doc-ctrl-edit:hover {background:var(--dm-accent) !important; color:#fff !important; border-color:var(--dm-accent);}
.dm-event-doc-ctrl-delete {background:#fff !important; color:var(--dm-text-muted) !important; border:1px solid var(--dm-border);}
.dm-event-doc-ctrl-delete:hover {background:#e24b4a !important; color:#fff !important; border-color:#e24b4a;}

/* ============================================
   하단 플로팅 바 🔥
   ============================================ */
.dm-event-floating {position:fixed; bottom:20px; left:50%; transform:translateX(-50%) translateY(calc(100% + 40px)); width:calc(100% - 40px); max-width:960px; z-index:999; transition:transform 0.4s cubic-bezier(0.22, 1, 0.36, 1); pointer-events:none;}
.dm-event-floating.is-visible {transform:translateX(-50%) translateY(0); pointer-events:auto;}

.dm-event-floating-inner {display:flex; align-items:center; gap:14px; padding:14px 16px 14px 26px; background:var(--dm-accent); border-radius:60px; box-shadow:0 12px 32px rgba(30, 42, 74, 0.25), 0 4px 12px rgba(30, 42, 74, 0.15);}

.dm-event-floating-info {flex:1; display:flex; align-items:center; gap:10px; color:#fff; min-width:0; flex-wrap:wrap;}
.dm-event-floating-label {font-size:13px; font-weight:500; color:rgba(255, 255, 255, 0.7); letter-spacing:-0.2px;}
.dm-event-floating-count {font-size:16px; font-weight:700; color:#fff; letter-spacing:-0.3px;}
.dm-event-floating-count span {color:var(--dm-primary); margin-right:2px;}
.dm-event-floating-sep {display:inline-block; width:1px; height:14px; background:rgba(255, 255, 255, 0.2);}
.dm-event-floating-price {font-size:16px; font-weight:700; color:#fff; font-variant-numeric:tabular-nums; letter-spacing:-0.3px;}
.dm-event-floating-price span {color:var(--dm-primary); margin-right:2px;}

.dm-event-floating-btn {display:inline-flex; align-items:center; gap:8px; padding:13px 26px; background:var(--dm-primary); color:#fff; border:none; border-radius:50px; font-size:14px; font-weight:700; letter-spacing:-0.3px; cursor:pointer; transition:all 0.25s; font-family:inherit; flex-shrink:0; box-shadow:0 4px 12px rgba(255, 107, 26, 0.3);}
.dm-event-floating-btn:hover {background:var(--dm-primary-hover); transform:translateY(-1px); box-shadow:0 8px 18px rgba(255, 107, 26, 0.4);}
.dm-event-floating-btn svg {transition:transform 0.2s;}
.dm-event-floating-btn:hover svg {transform:translateX(3px);}

/* ============================================
   반응형
   ============================================ */
@media screen and (max-width: 1024px) {
	.dm-event-doc {padding:50px 20px 140px;}
	.dm-event-doc-wrap {padding:40px 40px;}
	.dm-event-doc-title {font-size:26px !important;}
	.dm-event-doc-product-name {font-size:15px;}
	.dm-event-doc-product-sale {font-size:18px;}
}

@media screen and (max-width: 768px) {
	.dm-event-doc {padding:40px 16px 130px;}
	.dm-event-doc-wrap {padding:28px 22px; border-radius:16px;}
	
	.dm-event-doc-head {margin-bottom:26px; padding-bottom:22px;}
	.dm-event-doc-head-top {margin-bottom:16px;}
	.dm-event-doc-period {padding:7px 14px; font-size:12px;}
	.dm-event-doc-title {font-size:20px !important; letter-spacing:-0.5px !important;}
	.dm-event-doc-subtitle {font-size:13px;}
	
	/* 시술 카드 */
	.dm-event-doc-product-row {padding:16px 18px; gap:12px; flex-wrap:wrap;}
	.dm-event-product-check {width:20px; height:20px;}
	.dm-event-doc-product-info {flex:1 1 auto; min-width:0; width:calc(100% - 34px);}
	.dm-event-doc-product-name {font-size:14px; -webkit-line-clamp:2;}
	.dm-event-doc-product-desc {font-size:12px;}
	.dm-event-doc-product-price {flex-direction:row; align-items:center; gap:8px; flex-wrap:wrap; width:100%; justify-content:flex-end; padding-left:32px;}
	.dm-event-doc-product-sale {font-size:17px; order:1;}
	.dm-event-doc-product-original {font-size:11px; order:2;}
	.dm-event-doc-product-discount {font-size:11px; order:3;}
	
	/* 본문 */
	.dm-event-doc-content {font-size:14px; line-height:1.8;}
	
	/* 예약 */
	.dm-event-reserve-step-head {padding:18px 20px; gap:10px;}
	.dm-event-reserve-step-num {width:30px; height:30px; font-size:13px;}
	.dm-event-reserve-step-title {font-size:16px;}
	.dm-event-reserve-step-count {font-size:14px;}
	.dm-event-reserve-step-body {padding:18px 20px;}
	
	.dm-event-reserve-datetime {grid-template-columns:1fr; gap:14px;}
	.dm-event-calendar, .dm-event-time {padding:16px 18px;}
	.dm-event-calendar-day {font-size:12px;}
	.dm-event-time-grid {grid-template-columns:repeat(3, 1fr);}
	.dm-event-time-btn {padding:9px 0; font-size:12px;}
	
	.dm-event-reserve-form-row {grid-template-columns:1fr;}
	.dm-event-reserve-total {flex-direction:column; gap:6px; padding:18px; text-align:center;}
	.dm-event-reserve-total-price {font-size:22px;}
	.dm-event-reserve-submit {width:100%; min-width:0; padding:16px 24px; font-size:14px;}
	
	/* 하단 */
	.dm-event-doc-action {padding-top:24px;}
	.dm-event-doc-navi {grid-template-columns:1fr;}
	.dm-event-doc-ctrl {flex-direction:column-reverse;}
	.dm-event-doc-ctrl .left, .dm-event-doc-ctrl .right {width:100%; justify-content:center;}
	.dm-event-doc-ctrl-btn {flex:1; height:44px; font-size:13px;}
	
	/* 플로팅바 */
	.dm-event-floating {bottom:12px; width:calc(100% - 24px);}
	.dm-event-floating-inner {padding:10px 12px 10px 20px; border-radius:50px; gap:10px;}
	.dm-event-floating-label {font-size:12px;}
	.dm-event-floating-count, .dm-event-floating-price {font-size:14px;}
	.dm-event-floating-sep {height:12px;}
	.dm-event-floating-btn {padding:10px 18px; font-size:13px;}
	.dm-event-floating-btn span {display:none;}
	.dm-event-floating-btn::before {content:'예약'; font-weight:700;}
}

@media screen and (max-width: 480px) {
	.dm-event-floating-inner {padding:10px 10px 10px 16px;}
	.dm-event-floating-info {gap:6px;}
	.dm-event-floating-label {display:none;}
}

/* ============================================
   이벤트 에디터 (글쓰기)
   ============================================ */
.dm-event-editor {font-family:var(--dm-font); width:100%; max-width:1000px; margin:0 auto; padding:80px 20px 100px; box-sizing:border-box; color:var(--dm-text); line-height:1.6; letter-spacing:-0.2px; background:#fff;}
.dm-event-editor *, .dm-event-editor *::before, .dm-event-editor *::after {box-sizing:border-box;}

/* entry-title 숨김 */
body:has(.dm-event-editor) .page-header,
body:has(.dm-event-editor) .entry-title {display:none !important;}
body:has(.dm-event-editor) .page-content {max-width:none !important; width:100% !important; padding:0 !important; margin:0 !important;}

/* ============================================
   페이지 헤드
   ============================================ */
.dm-event-editor-head {text-align:center; margin-bottom:40px;}
.dm-event-editor-eyebrow {display:inline-block; font-size:14px; font-weight:500; color:var(--dm-primary); letter-spacing:3px; margin-bottom:16px; text-transform:uppercase;}
.dm-event-editor-page-title {margin:0 0 14px 0; font-size:36px; font-weight:700; color:var(--dm-text); line-height:1.3; letter-spacing:-0.7px;}
.dm-event-editor-page-desc {margin:0; font-size:15px; font-weight:400; color:var(--dm-text-sub); line-height:1.6; letter-spacing:-0.2px;}

/* ============================================
   에디터 래퍼
   ============================================ */
.dm-event-editor-form {margin:0; padding:0;}
.dm-event-editor-wrap {background:#fff; border:1px solid var(--dm-border); border-radius:20px; padding:40px 50px; margin-bottom:20px;}
.dm-event-editor-fields {display:flex; flex-direction:column; gap:22px;}

/* ============================================
   필드 공통 (kboard 기본 구조 오버라이드)
   ============================================ */
.dm-event-editor .kboard-attr-row {display:flex !important; flex-direction:column !important; margin:0 !important; padding:0 !important; background:transparent !important; border:none !important; float:none !important;}
.dm-event-editor .attr-name {display:block !important; width:100% !important; margin:0 0 10px 0 !important; padding:0 !important; font-size:14px !important; font-weight:700 !important; color:var(--dm-text) !important; letter-spacing:-0.2px; text-align:left !important; float:none !important;}
.dm-event-editor .attr-name::after {content:''; display:inline-block; width:4px; height:4px; background:var(--dm-primary); border-radius:50%; margin-left:6px; vertical-align:middle; margin-bottom:2px;}
.dm-event-editor .attr-value {display:block !important; width:100% !important; margin:0 !important; padding:0 !important; float:none !important;}

/* 인풋 / 셀렉트 / 텍스트에리어 */
.dm-event-editor input[type=text],
.dm-event-editor input[type=email],
.dm-event-editor input[type=password],
.dm-event-editor input[type=number],
.dm-event-editor input[type=url],
.dm-event-editor input[type=tel],
.dm-event-editor input[type=date],
.dm-event-editor select,
.dm-event-editor textarea {width:100% !important; padding:13px 16px !important; font-size:14px !important; font-weight:500 !important; color:var(--dm-text) !important; background-color:#fff !important; border:1px solid var(--dm-border) !important; border-radius:var(--dm-radius-sm) !important; outline:none !important; transition:all 0.2s !important; margin:0 !important; font-family:inherit !important; letter-spacing:-0.2px; box-shadow:none !important; line-height:1.5 !important;}
.dm-event-editor input[type=text]:hover,
.dm-event-editor input[type=email]:hover,
.dm-event-editor input[type=password]:hover,
.dm-event-editor input[type=tel]:hover,
.dm-event-editor input[type=date]:hover,
.dm-event-editor select:hover,
.dm-event-editor textarea:hover {border-color:#c8d1df !important;}
.dm-event-editor input[type=text]:focus,
.dm-event-editor input[type=email]:focus,
.dm-event-editor input[type=password]:focus,
.dm-event-editor input[type=number]:focus,
.dm-event-editor input[type=url]:focus,
.dm-event-editor input[type=tel]:focus,
.dm-event-editor input[type=date]:focus,
.dm-event-editor select:focus,
.dm-event-editor textarea:focus {border-color:var(--dm-primary) !important; box-shadow:0 0 0 3px rgba(255, 107, 26, 0.08) !important;}
.dm-event-editor input::placeholder,
.dm-event-editor textarea::placeholder {color:var(--dm-text-light); font-weight:400;}

/* 셀렉트 화살표 */
.dm-event-editor select {appearance:none !important; -webkit-appearance:none !important; background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important; background-repeat:no-repeat !important; background-position:right 16px center !important; background-color:#fff !important; padding-right:44px !important; cursor:pointer !important;}

/* 텍스트에리어 */
.dm-event-editor textarea {min-height:400px !important; padding:16px !important; line-height:1.8 !important; resize:vertical; font-family:inherit !important;}

/* ============================================
   이벤트 날짜 2컬럼 배치
   ============================================ */
.dm-event-editor .dm-event-editor-field-date {position:relative;}
.dm-event-editor .dm-event-editor-field-date .attr-value {position:relative;}
.dm-event-editor .dm-event-editor-field-date .attr-value::before {content:''; position:absolute; left:16px; top:50%; transform:translateY(-50%); width:16px; height:16px; background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ff6b1a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-size:contain; pointer-events:none; z-index:2;}
.dm-event-editor .dm-event-editor-field-date input[type=text],
.dm-event-editor .dm-event-editor-field-date input[type=date] {padding-left:42px !important;}

/* 이벤트 설명 필드 강조 */
.dm-event-editor .dm-event-editor-field-desc .attr-name::before {content:'✨'; margin-right:4px; font-size:14px;}

/* ============================================
   파일 업로드 (썸네일)
   ============================================ */
.dm-event-editor input[type=file] {width:100%; padding:14px 16px; margin:0; background:var(--dm-bg); border:2px dashed var(--dm-border); border-radius:var(--dm-radius-sm); font-size:13px; color:var(--dm-text-sub); cursor:pointer; transition:all 0.2s; font-family:inherit;}
.dm-event-editor input[type=file]:hover {border-color:var(--dm-primary); background:var(--dm-primary-light);}
.dm-event-editor input[type=file]::-webkit-file-upload-button {padding:6px 14px; margin-right:14px; background:var(--dm-accent); color:#fff; border:none; border-radius:50px; font-size:12px; font-weight:600; cursor:pointer; font-family:inherit; transition:all 0.2s;}
.dm-event-editor input[type=file]::-webkit-file-upload-button:hover {background:var(--dm-primary);}
.dm-event-editor input[type=file]::file-selector-button {padding:6px 14px; margin-right:14px; background:var(--dm-accent); color:#fff; border:none; border-radius:50px; font-size:12px; font-weight:600; cursor:pointer; font-family:inherit; transition:all 0.2s;}
.dm-event-editor input[type=file]::file-selector-button:hover {background:var(--dm-primary);}

/* ============================================
   체크박스 / 라디오
   ============================================ */
.dm-event-editor input[type=checkbox],
.dm-event-editor input[type=radio] {width:18px !important; height:18px !important; margin:0 8px 0 0 !important; accent-color:var(--dm-primary); cursor:pointer; vertical-align:middle;}
.dm-event-editor label {display:inline-flex; align-items:center; font-size:14px; color:var(--dm-text-sub); cursor:pointer; margin-right:16px; letter-spacing:-0.2px;}

/* ============================================
   본문 컨텐츠 영역 (WP 에디터)
   ============================================ */
.dm-event-editor .kboard-content {border:none !important; padding:0 !important; margin:0 !important; background:transparent !important; float:none !important; width:100% !important;}
.dm-event-editor .kboard-content .wp-editor-wrap {border:1px solid var(--dm-border); border-radius:var(--dm-radius-sm); overflow:hidden;}
.dm-event-editor .kboard-content .wp-editor-wrap:hover {border-color:#c8d1df;}
.dm-event-editor .kboard-content .wp-editor-wrap:focus-within {border-color:var(--dm-primary); box-shadow:0 0 0 3px rgba(255, 107, 26, 0.08);}
.dm-event-editor .mce-toolbar-grp {background:var(--dm-bg) !important; border-bottom:1px solid var(--dm-border-light) !important;}
.dm-event-editor .mce-btn {background:transparent !important; border:1px solid transparent !important;}
.dm-event-editor .mce-btn:hover {background:#fff !important; border-color:var(--dm-border) !important;}
.dm-event-editor .mce-btn.mce-active, .dm-event-editor .mce-btn:focus {background:var(--dm-primary-light) !important; color:var(--dm-primary) !important;}
.dm-event-editor .quicktags-toolbar {background:var(--dm-bg) !important; border-bottom:1px solid var(--dm-border-light) !important; padding:8px !important;}
.dm-event-editor .quicktags-toolbar input.button {background:#fff !important; border:1px solid var(--dm-border) !important; border-radius:6px !important; padding:4px 10px !important; font-size:12px !important; color:var(--dm-text-sub) !important; margin:0 2px !important;}
.dm-event-editor .quicktags-toolbar input.button:hover {background:var(--dm-primary-light) !important; color:var(--dm-primary) !important; border-color:var(--dm-primary) !important;}

/* 미디어 버튼 */
.dm-event-editor .wp-media-buttons {padding:10px 14px !important; background:var(--dm-bg) !important; border-bottom:1px solid var(--dm-border-light) !important;}
.dm-event-editor .wp-media-buttons .button {display:inline-flex !important; align-items:center !important; padding:6px 14px !important; background:#fff !important; color:var(--dm-text) !important; border:1px solid var(--dm-border) !important; border-radius:50px !important; font-size:12px !important; font-weight:500 !important; cursor:pointer; transition:all 0.2s; font-family:inherit;}
.dm-event-editor .wp-media-buttons .button:hover {background:var(--dm-primary-light) !important; color:var(--dm-primary) !important; border-color:var(--dm-primary) !important;}

/* 미디어 탭 */
.dm-event-editor .wp-switch-editor {padding:6px 14px !important; background:transparent !important; border:none !important; font-size:12px !important; font-weight:600 !important; color:var(--dm-text-muted) !important; border-radius:6px !important; margin:4px !important;}
.dm-event-editor .wp-switch-editor.active, .dm-event-editor .wp-switch-editor:hover {background:#fff !important; color:var(--dm-primary) !important;}

/* ============================================
   첨부파일 미리보기
   ============================================ */
.dm-event-editor .kboard-attachments {padding:14px; background:var(--dm-bg); border:1px solid var(--dm-border-light); border-radius:var(--dm-radius-sm); margin-top:10px;}
.dm-event-editor .kboard-attachment-file {display:inline-flex; align-items:center; gap:6px; padding:6px 12px; background:#fff; border:1px solid var(--dm-border); border-radius:50px; font-size:12px; color:var(--dm-text-sub); margin:2px;}
.dm-event-editor .kboard-attachment-file a {color:var(--dm-text-sub);}
.dm-event-editor .kboard-attachment-remove {color:#e24b4a !important; cursor:pointer; margin-left:4px;}

/* 썸네일 미리보기 */
.dm-event-editor .kboard-thumbnail-preview, 
.dm-event-editor .kboard-editor-thumbnail {border-radius:var(--dm-radius-sm); overflow:hidden; border:1px solid var(--dm-border);}
.dm-event-editor .kboard-thumbnail-preview img {display:block; max-width:240px; border-radius:var(--dm-radius-sm);}

/* 안내 텍스트 */
.dm-event-editor .attr-desc, 
.dm-event-editor .kboard-field-desc {display:block; margin-top:8px; padding-left:2px; font-size:12px; font-weight:400; color:var(--dm-text-muted); line-height:1.5; letter-spacing:-0.1px;}

/* ============================================
   하단 버튼
   ============================================ */
.dm-event-editor-control {display:flex !important; justify-content:space-between !important; align-items:center; gap:10px; padding:20px 0 0 !important; float:none !important; flex-wrap:wrap;}
.dm-event-editor-control .left, .dm-event-editor-control .right {display:flex; gap:8px; flex-wrap:wrap; float:none !important; width:auto !important;}

.dm-event-editor-btn {display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:6px !important; height:48px !important; padding:0 28px !important; border-radius:50px !important; font-size:14px !important; font-weight:600 !important; letter-spacing:-0.2px; text-decoration:none; cursor:pointer; transition:all 0.25s; font-family:inherit; line-height:1;}

/* Ghost 버튼 (뒤로/목록) */
.dm-event-editor-btn-ghost {background:#fff !important; color:var(--dm-text-sub) !important; border:1px solid var(--dm-border) !important; box-shadow:none !important;}
.dm-event-editor-btn-ghost:hover {background:var(--dm-bg) !important; color:var(--dm-text) !important; border-color:var(--dm-accent) !important; opacity:1 !important;}

/* Submit 버튼 (이벤트 등록) */
.dm-event-editor-btn-submit {background-color:var(--dm-primary) !important; color:#fff !important; border:1px solid var(--dm-primary) !important; box-shadow:0 4px 12px rgba(255, 107, 26, 0.2) !important; padding:0 36px !important;}
.dm-event-editor-btn-submit:hover {background-color:var(--dm-primary-hover) !important; border-color:var(--dm-primary-hover) !important; color:#fff !important; transform:translateY(-2px); box-shadow:0 6px 16px rgba(255, 107, 26, 0.3) !important; opacity:1 !important;}

/* ============================================
   반응형 - 태블릿
   ============================================ */
@media screen and (max-width: 1024px) {
	.dm-event-editor {padding:60px 30px 80px;}
	.dm-event-editor-page-title {font-size:30px;}
	.dm-event-editor-wrap {padding:32px 36px;}
}

/* ============================================
   반응형 - 모바일
   ============================================ */
@media screen and (max-width: 768px) {
	.dm-event-editor {padding:50px 16px 70px;}
	.dm-event-editor-head {margin-bottom:30px;}
	.dm-event-editor-eyebrow {font-size:12px; letter-spacing:2px; margin-bottom:12px;}
	.dm-event-editor-page-title {font-size:22px;}
	.dm-event-editor-page-desc {font-size:13px;}
	
	.dm-event-editor-wrap {padding:24px 20px; border-radius:14px;}
	.dm-event-editor-fields {gap:18px;}
	.dm-event-editor .attr-name {font-size:13px !important; margin-bottom:8px !important;}
	.dm-event-editor input[type=text],
	.dm-event-editor input[type=email],
	.dm-event-editor input[type=password],
	.dm-event-editor input[type=tel],
	.dm-event-editor input[type=date],
	.dm-event-editor select,
	.dm-event-editor textarea {padding:12px 14px !important; font-size:14px !important;}
	.dm-event-editor .dm-event-editor-field-date input[type=text],
	.dm-event-editor .dm-event-editor-field-date input[type=date] {padding-left:40px !important;}
	.dm-event-editor textarea {min-height:280px !important;}
	
	.dm-event-editor-control {flex-direction:column-reverse;}
	.dm-event-editor-control .left, .dm-event-editor-control .right {width:100% !important; justify-content:center;}
	.dm-event-editor-btn {flex:1; height:46px !important; font-size:13px !important; padding:0 20px !important;}
	.dm-event-editor-btn-submit {padding:0 26px !important;}
}