/* reset */
html {font-size:10px;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
html, body, form, p, h1, h2, h3, h4, h5, h6 {margin:0;padding:0;}
body {font-family:sans-serif;}
html, body {-webkit-text-size-adjust:100%;}
button {cursor:pointer;background:transparent;border:0;margin:0;padding:0;}
label {display:inline-flex;align-items:center;font-size:12px;color:#555;cursor:pointer;}
input {width:100%;height:36px;box-sizing:border-box;border:1px solid #e5e5e5;border-radius:8px;font-size:13px;color:#111;background:#fff;padding-left:8px;transition:0.15s;}
input:focus {outline:0;border-color:#f4447c;box-shadow:0 0 0 3px rgba(244, 68, 124, 0.08);}
input::placeholder {color:#aaa;font-weight:300;letter-spacing:0.3px;}
input[type="file"] {width:100%;height:auto;margin:2px 0 1px;padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-size:13px;color:#333;background:#fff;}
input[type="file"]::-webkit-file-upload-button {height:35px;padding:0 16px;margin-right:14px;border:0;border-radius:4px;background:#f26b9a;color:#fff;font-size:12px;font-weight:600;cursor:pointer;}
input[type="radio"] {width:18px;height:18px;margin-right:6px;cursor:pointer;accent-color:#f26b9a;}
input[type="checkbox"] {width:15px;height:15px;margin:0 6px 0 0;cursor:pointer;accent-color:#f26b9a;}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {-webkit-appearance:none;}
input[readonly] {background:#f7f7f7;color:#555;cursor:default;}
textarea {width:100%;font-family:inherit;font-size:14px;line-height:1.5;border:1px solid #ddd;color:#111;border-radius:0;box-sizing:border-box;padding:6px 12px;transition:0.15s;}
textarea:focus {outline:0;border-color:#f4447c;box-shadow:0 0 0 3px rgba(244, 68, 124, 0.08);}
ul {list-style:none;margin:0;padding:0;}
a {text-decoration:none;color:inherit;transition:color 0.2s, opacity 0.2s;}
iframe, video {width:100%;height:100%;}
*, *::before, *::after {box-sizing:border-box;}
.pc {display:block;}
.m {display:none;}
.show {display:block;}
.hide {display:none;}
.visit-hide {visibility:hidden;}

/* 헤더 */
header.pc {width:100%;height:76px;background:#fff;border-bottom:1px solid #eee;position:sticky;top:0;z-index:1000;}
header.pc .inner {width:100%;height:100%;margin:0 auto;display:flex;align-items:center;justify-content:center;position:absolute;left:-122px;}

/* 로고 */
.logo {width:206px;height:32px;color:#111;letter-spacing:3px;line-height:1;}
.logo > img {width:100%;height:100%;}

/* 메인 */
main {display:flex;flex-direction:row-reverse;gap:0;width:100%;max-width:1440px;margin:0 auto;min-height:calc(100vh - 56px);}
main .content {flex:1;min-width:0;display:flex;flex-direction:column;}
.main-list {padding-left:20px;}

/* 푸터 */
footer {border-top:1px solid #e5e5e5;background:#fff;line-height:1.7;color:#888;text-align:center;padding:15px 0 18px;margin-top:60px;}
footer .inner {width:100%;max-width:1440px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:5px;}
footer .footer-link ul {display:flex;flex-wrap:wrap;justify-content:center;gap:24px;}
footer .footer-link ul li {position:relative;}
footer .footer-link ul li:not(:last-child)::after {content:'';display:inline-block;width:1px;height:10px;position:absolute;top:50%;right:-12px;transform:translateY(-50%);background:#e5e5e5;}
footer .footer-link a {font-size:12px;letter-spacing:1.5px;}
footer .footer-info {display:flex;flex-direction:column;gap:4px;}
footer .footer-info ul {display:flex;flex-wrap:wrap;justify-content:center;gap:12px;font-size:12px;}
footer .footer-info li {display:flex;gap:5px;}

/* 약관 */
.policy-layer {display:none;position:fixed;inset:0;z-index:10002;background:rgba(0, 0, 0, 0.5);}
.policy-layer iframe {border:none;padding:5px 10px 8px;}
.policy-layer-header {display:flex;align-items:center;justify-content:center;padding:20px;border-bottom:1px solid #eee;flex-shrink:0;}
.policy-layer-title {font-size:16px;font-weight:600;color:#111;}
.policy-layer-close {position:absolute;right:25px;font-size:20px;color:#999;}
.policy-layer-container {position:absolute;width:420px;max-width:95%;height:600px;top:50%;left:50%;transform:translate(-50%, -50%);background:#fff;border-radius:8px;display:flex;flex-direction:column;}

/* 사이드바 */
.sidebar {width:252px;border-right:1px solid #e5e5e5;background:#fff;}
.sidebar .sidebar-inner {padding:40px 30px;position:sticky;top:56px;}
.sidebar .sidebar-section {margin-bottom:24px;}
.sidebar-section::after {content:'';display:block;height:1px;background:#e5e5e5;margin:24px 0;}
.sidebar-actions {display:flex;flex-direction:column;gap:6px;}
.sidebar-search {width:100%;}
.sidebar-search .search-input {width:100%;padding:8px 12px;border:1px solid #e5e5e5;font-size:13px;font-weight:300;letter-spacing:0.3px;transition:border-color 0.2s;}
.sidebar-search .search-input:focus {border-color:#111;}
.sidebar-btn {display:block;text-align:center;padding:8px 12px;font-size:12px;font-weight:500;letter-spacing:0.8px;border:1px solid #e5e5e5;color:#111;transition:all 0.2s;}
.sidebar-btn:not(:first-child) {border-top:0;}
.sidebar-btn.primary {background:#ff6b9d;color:#fff;border-color:#ff6b9d;}
.sidebar .sidebar-label {font-size:10px;font-weight:600;letter-spacing:2.5px;color:#333;margin-bottom:10px;}
.sidebar .menu-list {display:flex;flex-direction:column;gap:2px;}
.sidebar .menu-item {display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:8px;color:#111;font-size:14px;font-weight:400;transition:all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);}
.sidebar .menu-item img {width:40px;height:40px;object-fit:cover;border-radius:50%;border:2px solid transparent;transition:border-color 0.2s, filter 0.2s;filter:grayscale(20%);}
.sidebar .menu-item span {letter-spacing:0.2px;}
.sidebar .menu-item:hover {background:#fafafa;}
.sidebar .menu-item:hover img {filter:grayscale(0%);border-color:#e5e5e5;}
.sidebar .menu-item.active {font-weight:600;padding-left:8px;}
.sidebar .menu-item.active img {filter:grayscale(0%);border-color:#ccc;}
.sidebar .sidebar-text {font-size:13px;line-height:1.75;color:#888;font-weight:300;}
.sidebar .sidebar-link {display:inline-block;margin-top:8px;font-size:12px;font-weight:500;letter-spacing:0.5px;color:#111;}
.sidebar .social-links {display:flex;gap:14px;}
.sidebar .social-link {width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e5e5;border-radius:50%;font-size:14px;color:#888;transition:all 0.2s;}
.sidebar .social-link:hover {background:#111;color:#fff;border-color:#111;}

/* 토스트 알림창 */
.chat-toast {position:fixed;bottom:80px;left:50%;transform:translateX(-50%) translateY(10px);background:#111;color:#fff;padding:10px 22px;border-radius:20px;font-size:13px;opacity:0;transition:opacity .25s, transform .25s;z-index:40000;pointer-events:none;white-space:nowrap;}
.chat-toast.error {background:#c0392b;}
.chat-toast.show {opacity:1;transform:translateX(-50%) translateY(0);}

/* 플로팅 배너 */
.floating-wrap {display:none;position:fixed;bottom:24px;right:16px;flex-direction:column;align-items:flex-end;gap:8px;z-index:10001;}
.floating-item {display:flex;align-items:center;gap:8px;}
.floating-btn {width:45px;height:45px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #eee;border-radius:50%;}
.floating-btn svg {width:18px;height:18px;color:#f4447c;stroke:currentColor;}
.floating-btn.pink {background:#ff6b9d;border-color:#ff6b9d;}
.floating-btn.pink svg {color:#fff;}

/* 채팅 버튼 플로팅 */
.chat-floating-wrap {position:relative;flex-shrink:0;}
.chat-floating-bubble {display:none;position:absolute;bottom:calc(100% + 14px);right:0;padding:8px 16px 10px 18px;background:linear-gradient(135deg, #ff6b9d 0%, #c44dff 100%);color:#fff;white-space:nowrap;border-radius:22px;box-shadow:0 6px 24px rgba(196,77,255,.4), 0 2px 8px rgba(0,0,0,.15);display:flex;align-items:center;gap:8px;z-index:10;}
.chat-floating-bubble::after {content:'';position:absolute;bottom:-7px;right:18px;border:7px solid transparent;border-top-color:#c44dff;border-bottom:0;}
.chat-floating-bubble.up {bottom:auto;top:calc(100% + 14px);}
.chat-floating-bubble.up::after {bottom:auto;top:-7px;border-top:0;border-bottom:7px solid #c44dff;}
.chat-floating-bubble[data-floating-id="chat-msg-bubble"] {right:-5px;}
.chat-floating-bubble[data-floating-id="background-setting"] {position:absolute;top:64px;right:8px;}
.chat-floating-bubble[data-floating-id="send-message"] {right:8px;}
.chat-floating-text {font-size:12px;font-weight:700;line-height:1;}
.chat-floating-close {border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:10px;color:#fff;flex-shrink:0;}

/* 기타 */
.form-control[readonly] {background-color:inherit;}
.form-group {margin-bottom:20px;}
.profile-section {text-align:center;margin-bottom:30px;}
.profile-avatar {width:90px;height:90px;border-radius:50%;margin:0 auto 18px;background:#111;display:flex;align-items:center;justify-content:center;color:#fff;font-size:36px;font-weight:bold;}
.profile-name {font-size:22px;font-weight:700;color:#333;margin-bottom:10px;}
.profile-tags {display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:18px;}
.action-buttons {display:flex;flex-direction:column;gap:12px;margin-top:auto;}

/* 버튼 */
.btn {font-size:14px;font-weight:500;padding:12px 40px;cursor:pointer;letter-spacing:0.5px;border:none;border-radius:8px;}
.btn-sm {padding:8px 20px;font-size:12px;}
.btn-row {display:flex;justify-content:center;gap:10px;padding-top:24px;}
.btn-primary {background:#111;color:#fff;}
.btn-success {background:#ff6b9d;color:#fff;}
.btn-danger {background:#e74c3c;color:#fff;}
.btn-confirm {background:#f4447c;color:#fff;}
.btn-cancel {background:#fff;color:#000;border:1px solid #e5e5e5;}

/* 폼 */
.form-row {display:flex;align-items:center;padding:13px 28px;border-bottom:1px solid #f5f5f5;}
.form-row > label, .form-row > label.main-label {width:120px;flex-shrink:0;font-size:12px;color:#999;font-weight:500;letter-spacing:0.01em;}
.form-row .btn-pay {display:inline-flex;align-items:center;justify-content:center;height:30px;padding:0 14px;margin-left:8px;background:#111;border:1px solid #111;border-radius:16px;color:#fff;font-size:12px;font-weight:600;text-decoration:none;line-height:1;cursor:pointer;transition:all 0.15s ease;}
.form-row .sub {color:#999;font-size:12px;}

/* 구분선 */
.divider {height:1px;background:#e5e5e5;margin:28px 0;}
.stats {display:flex;justify-content:space-around;margin:25px 0;}
.stat-item {text-align:center;}
.stat-value {font-size:22px;font-weight:700;color:#333;}
.stat-label {font-size:13px;color:#999;margin-top:6px;}
.highlight {font-size:inherit;background:#ff0;color:#ff5100;}

/* 알림 */
.alert {font-size:12px;padding:10px 14px;border-bottom:1px solid #f0f0f0;}
.alert.success {background:#fff5f8;color:#c0365e;}
.alert.error {background:#fff5f5;color:#c0392b;}

/* 잠금 아이콘 오버레이 */
.lock-overlay {position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;gap:6px;justify-content:center;color:#fff;pointer-events:none;text-align:center;background:rgba(0,0,0,.2);border-radius:8px;}
.lock-overlay svg {width:32px;height:32px;filter:drop-shadow(0 3px 8px rgba(0,0,0,.4));}
.lock-label {font-size:13px;font-weight:600;color:#fff;padding:3px 8px;letter-spacing:.5px;}
.lock-sub {font-size:12px;opacity:.8;font-weight:300;}

/* 동영상 아이콘 오버레이 */
.video-icon {position:absolute;bottom:10px;left:10px;width:32px;height:32px;background:rgba(0, 0, 0, 0.45);border-radius:50%;display:flex;align-items:center;justify-content:center;pointer-events:none;}
.video-icon.model {bottom:40px;}
.video-icon svg {width:22px;height:22px;margin-left:2px;}

/* 로딩 */
.scroll-loader {display:none;justify-content:center;padding-top:50px;margin-bottom:-5px;}
.scroll-loader.active {display:flex;}
.scroll-loader .spinner {width:28px;height:28px;border:2.5px solid #eee;border-top-color:#aaa;border-radius:50%;animation:spin 0.7s linear infinite;}
@keyframes spin {to {transform:rotate(360deg);} }

/* 구분선 */
.section-divider {display:flex;align-items:center;gap:16px;margin:32px 0 28px;}
.section-divider.list {margin:0 0 13px;}
.section-divider::before, .section-divider::after {content:'';flex:1;height:1px;background:#e5e5e5;}
.divider-text {font-size:11px;font-weight:600;letter-spacing:3px;color:#bbb;white-space:nowrap;}

/* 페이지네이션 */
.pagination {display:flex;justify-content:center;align-items:center;gap:4px;list-style:none;flex-wrap:wrap;padding:12px 0;}
.pagination li a {display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;padding:0 8px;font-size:13px;color:#555;background:#fff;transition:all .15s;white-space:nowrap;}
.pagination li a:hover {border-color:#f0436a;color:#f0436a;background:#fff5f7;}
.pagination li.active a {background:#f0436a;border-color:#f0436a;color:#fff;font-weight:700;pointer-events:none;}
.pagination li:first-child a:hover,
.pagination li:last-child a:hover {color:#f0436a;}

@media (max-width:799px) {
	.pc {display:none;}
	.m {display:block;}
	header .inner, footer .inner, main, main .content {width:100%;}
	label {font-size:11px;}
	input:focus {border-color:#ddd;box-shadow:unset;}
	input[type="file"] {font-size:10px;}
	input[type="file"]::-webkit-file-upload-button {height:28px;font-size:9px;}
	input[type="checkbox"] {width:14px;height:14px;margin-right:5px;}
	textarea {font-size:12px;padding:7px 8px;}
	textarea:focus {border-color:#ddd;box-shadow:unset;}
	footer {font-size:10px;line-height:1.5;color:#999;padding:12px 0;margin-top:50px;}
	footer .inner {gap:6px;}
	footer .footer-link ul {gap:12px;}
	footer .footer-link ul li:not(:last-child)::after {height:8px;right:-6px;}
	footer .footer-link a {font-size:10px;}
	footer .footer-info {display:none;width:90%;gap:2px;}
	footer .footer-info ul {flex-direction:column;align-items:center;gap:2px;}
	footer .footer-info li {font-size:10px;}
	footer .btn-footer-toggle {font-size:10px;color:#999;}
	footer .btn-footer-toggle .toggle-icon {width:8px;height:8px;}
	footer .btn-footer-toggle.open .toggle-icon {transform:rotate(180deg);}
	body.viewer-show footer {display:none;}

	.logo {font-size:22px;letter-spacing:2px;padding-left:0;}
	.main-list {width:100%;padding-top:4px;}
	.thumbnail, .card-image, .thumbnail > img, .lock-overlay {border-radius:0;}
	.lock-overlay {background:rgba(0,0,0,.35);}
	.lock-overlay svg {margin:0;width:24px;height:24px;}

	/* 게시판 */
	body .board-content {margin-top:-2px;}
	body .board-content .board {border:0;padding:0;margin-bottom:0;}
	body .board-content .board .post-header {line-height:1.5;margin-bottom:-10px;}
	body .board-content .board .post-title {font-size:15px;color:#333;}
	body .board-content .board .post-meta {font-size:12px;color:#555;border-top:0;margin-top:0;padding:0 0 10px;}
	body .board-content .board .post-hit {font-size:12px;}

	/* 모달 */
	body .model-avatar {box-shadow:unset;}
	body .model-profile-content {flex-direction:column;align-items:center;gap:20px;}
	body .model-header {justify-content:center;}
	body .model-name {font-size:20px;}
	body .model-description {text-align:center;}
	body .model-description > p {font-size:13px;line-height:1.5;}
	body .model-info {padding:16px 12px;margin:20px 0 10px;}
	body .model-info-title {font-size:18px;margin-bottom:10px;}
	body .model-info-stats {gap:12px;}
	body .model-info-stat-item {font-size:13px;}

	/* 페이지네이션 */
	.pagination li a {font-size:10px;padding:0;width:22px;height:22px;}

	/* 플로팅 배너 */
	.floating-wrap.m {display:flex;}
	
	/* gallery */
	.gallery {display:block;}
	.gallery .card {border-radius:0;}
	.gallery .card.hide {display:none;}
	.gallery .card-image {height:400px;border-radius:0;overflow:hidden;}
	.gallery .card-info {gap:0;border:0;box-shadow:unset;padding:9px 1px 10px;margin-bottom:10px;}
	
	/* 버튼 */
	.btn-sm {font-size:11px;padding:7px 14px;}
	
	/* 동영상 아이콘 오버레이 */
	.video-icon {width:22px;height:22px;left:7px;}
	.video-icon.model {bottom:33px;}
	.video-icon svg {width:12px;height:12px;}

	/* 채팅 */
	.chat-floating-bubble {padding:5px 12px 6px;gap:7px;}
	.chat-floating-bubble::after {width:9px;height:9px;}
	.chat-floating-text {font-size:11px;}
}

/* 아이폰 */
@supports (-webkit-touch-callout:none) {
  .chat-floating-text {
    position:relative;
    top:1px;
  }
}