* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
    background: #F7FAFC;
    color: #2D3748;
    min-height: 100vh;
}

.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

.header {
    background: white;
    /* padding: 10px 16px; */
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    position: sticky;
    top: 0;
    z-index: 100;
}

.header-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.back-btn {
    background: none;
    border: none;
    color: #4A5568;
    cursor: pointer;
    padding: 4px;
    border-radius: 50%;
    transition: background-color 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.back-btn:hover {
    background: #EDF2F7;
}

.header-title {
    font-size: 18px;
    font-weight: 700;
    color: #2D3748;
}

.search-btn {
    background: none;
    border: none;
    color: #4A5568;
    cursor: pointer;
    padding: 6px;
    border-radius: 50%;
    transition: background-color 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.search-btn:hover {
    background: #EDF2F7;
}

.study-type-tabs {
    display: flex;
    gap: 0;
    /* margin-top: 8px; */
    overflow-x: auto;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE and Edge */
}

.study-type-tabs::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Opera */
}

.study-type-tab {
    flex: 0 0 auto; /* 고정 너비 */
    min-width: 90px; /* 최소 너비 */
    padding: 6px;
    background: none;
    border: none;
    font-size: 14px;
    font-weight: 600;
    color: #718096;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.study-type-tab.active {
    color: #8B5DBA;
    /* border: 1px solid #8b5cf6; */
    border-bottom-color: #8B5DBA;
    background: #fff;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
}

.main-content {
    padding: 20px;
    padding-bottom: 100px;
}

/* 미용상담 물어보살 스타일 */
.page-banner {
    background: linear-gradient(135deg, #8B5DBA 0%, #6B46C1 100%);
    color: white;
    padding: 40px 20px;
    text-align: center;
    position: relative;
    overflow: hidden;
    margin: 0 -20px 0;
}

.page-banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url('https://images.unsplash.com/photo-1560066984-138dadb4c035?w=800&q=80');
    background-size: cover;
    background-position: center;
    opacity: 0.15;
}

.banner-content {
    position: relative;
    z-index: 1;
}

.banner-icon {
    font-size: 64px;
    margin-bottom: 16px;
    color: white;
}

.banner-title {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 8px;
}

.banner-desc {
    font-size: 16px;
    opacity: 0.9;
    line-height: 1.4;
}

.category-tabs {
    background: white;
    margin: 0 -20px 20px;
    padding: 0 20px;
    display: flex;
    gap: 15px;
    overflow-x: auto;
    border-bottom: 1px solid #E2E8F0;
    justify-content: space-between;
}

.category-tab {
    padding: 16px 0;
    font-size: 14px;
    font-weight: 600;
    color: #718096;
    border: none;
    background: none;
    cursor: pointer;
    white-space: nowrap;
    border-bottom: 2px solid transparent;
    transition: all 0.3s ease;
    position: relative;
}

.category-tab.active {
    color: #8B5DBA;
    border-bottom-color: #8B5DBA;
}

.category-tabs::-webkit-scrollbar {
    display: none;
}

.section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 24px 0 16px;
}

.section-title {
    font-size: 18px;
    font-weight: 700;
    color: #2D3748;
}

.view-all {
    font-size: 14px;
    color: #8B5DBA;
    text-decoration: none;
    font-weight: 500;
}

.question-list {
    background: white;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.question-item {
    padding: 20px;
    border-bottom: 1px solid #F1F5F9;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.question-item:last-child {
    border-bottom: none;
}

.question-item:hover {
    background: #F8FAFC;
}

.question-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 12px;
}

.question-meta {
    display: flex;
    align-items: center;
    gap: 8px;
}

.category-tag {
    background: #EDF2F7;
    color: #4A5568;
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 600;
}

.category-tag.daily {
    background: linear-gradient(135deg, #8B5DBA 0%, #6B46C1 100%);
    color: white;
}

.category-tag.urgent {
    background: #FED7D7;
    color: #C53030;
}

.category-tag.hair {
    background: #E6FFFA;
    color: #285E61;
}

.category-tag.color {
    background: #FFF5E6;
    color: #C05621;
}

.category-tag.perm {
    background: #EBF4FF;
    color: #3182CE;
}

.question-title {
    font-size: 16px;
    font-weight: 600;
    color: #2D3748;
    line-height: 1.4;
    margin-bottom: 8px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.question-preview {
    font-size: 14px;
    color: #718096;
    line-height: 1.4;
    margin-bottom: 12px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.question-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 12px;
    color: #A0AEC0;
}

.question-author {
    display: flex;
    align-items: center;
    gap: 8px;
}

.author-avatar {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: linear-gradient(135deg, #8B5DBA 0%, #6B46C1 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 12px;
    font-weight: 600;
}

.question-stats {
    display: flex;
    align-items: center;
    gap: 12px;
}

.stat {
    display: flex;
    align-items: center;
    gap: 4px;
}

/* 미용레시피 스타일 */
.recipe-category-tabs {
    background: white;
    margin: 0 -20px 20px;
    padding: 0 20px;
    display: flex;
    gap: 15px;
    overflow-x: auto;
    border-bottom: 1px solid #E2E8F0;
    justify-content: space-between;
}

.recipe-category-tab {
    padding: 16px 0;
    font-size: 14px;
    font-weight: 600;
    color: #718096;
    border: none;
    background: none;
    cursor: pointer;
    white-space: nowrap;
    border-bottom: 2px solid transparent;
    transition: all 0.3s ease;
}

.recipe-category-tab.active {
    color: #8B5DBA;
    border-bottom-color: #8B5DBA;
}

.recipe-category-tabs::-webkit-scrollbar {
    display: none;
}

.recipe-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.recipe-item {
    background: white;
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    cursor: pointer;
    transition: all 0.3s ease;
}

.recipe-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.1);
}

.recipe-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 12px;
}

.recipe-tags {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.recipe-tag {
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 4px;
}

.recipe-tag.new {
    background: #C6F6D5;
    color: #22543D;
}

.recipe-tag.popular {
    background: #FEEBC8;
    color: #C05621;
}

.recipe-date {
    font-size: 12px;
    color: #A0AEC0;
    display: flex;
    align-items: center;
    gap: 4px;
}

.recipe-title {
    font-size: 16px;
    font-weight: 700;
    color: #2D3748;
    margin-bottom: 8px;
    line-height: 1.4;
}

.recipe-preview {
    font-size: 14px;
    color: #718096;
    line-height: 1.4;
    margin-bottom: 12px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.recipe-image {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 12px;
    margin-bottom: 12px;
}

.recipe-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 12px;
    color: #A0AEC0;
}

.recipe-author {
    display: flex;
    align-items: center;
    gap: 8px;
}

.recipe-stats {
    display: flex;
    align-items: center;
    gap: 12px;
}

.empty-state {
    text-align: center;
    padding: 60px 20px;
    color: #718096;
}

.empty-icon {
    font-size: 64px;
    margin-bottom: 16px;
    opacity: 0.5;
    color: #CBD5E0;
}

.empty-title {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 8px;
    color: #4A5568;
}

.empty-desc {
    font-size: 14px;
    line-height: 1.5;
}

.fab {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, #8B5DBA 0%, #6B46C1 100%);
    border: none;
    border-radius: 50%;
    color: white;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(139, 93, 186, 0.4);
    transition: all 0.3s ease;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.fab:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(139, 93, 186, 0.6);
}

.tab-content {
    display: none;
    margin-top: 0;
}

.tab-content.active {
    display: block;
}

/* 미용실매매 스타일 */
.salon-type-tabs {
    display: flex;
    width: 100%;
    /* background: white; */
    border-bottom: 1px solid #f1f5f9;
    padding: 0;
    gap: 0;
    overflow-x: auto;
    scrollbar-width: none;
}

.salon-type-tabs::-webkit-scrollbar {
    display: none;
}

.salon-type-tab {
    padding: 14px 20px;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    font-size: 15px;
    font-weight: 500;
    color: #64748b;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.3s ease;
}

.salon-type-tab.active {
    color: #8B5CF6;
    border-bottom-color: #8B5CF6;
    font-weight: 600;
}

body.salon-main-page .header {
    padding: 0;
}

body.salon-main-page .header .main-nav {
    display: none;
}

body.salon-main-page .main-content {
    /* max-width: 414px; */
    margin: 0 auto;
    padding-bottom: 84px;
}

.salon-filter-section.is-hidden {
    display: none;
}

a.salon-type-tab,
a.salon-sort-btn,
a.salon-register-btn,
a.salon-kakao-btn,
a.salon-submit-btn,
a.salon-detail-action-icon-btn,
a.salon-detail-inquiry-btn,
a.salon-item,
a.salon-latest-item {
    text-decoration: none;
    color: inherit;
}

.salon-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.salon-item {
    background: white;
    border-radius: 12px;
    padding: 16px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    cursor: pointer;
    transition: all 0.3s ease;
}

.salon-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}

.salon-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 12px;
}

.salon-tags {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.salon-tag {
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
}

.salon-tag.urgent {
    background: #FEE2E2;
    color: #DC2626;
}

.salon-tag.new {
    background: #DBEAFE;
    color: #2563EB;
}

.salon-tag.featured {
    background: #FEF3C7;
    color: #D97706;
}

.salon-tag.popular {
    background: #FEF3C7;
    color: #D97706;
}

.salon-like {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.salon-like .material-symbols-outlined {
    font-size: 24px;
    color: #94a3b8;
}

.salon-like.active .material-symbols-outlined {
    color: #ef4444;
}

.salon-title {
    font-size: 18px;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 8px;
    line-height: 1.4;
}

.salon-location {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 14px;
    color: #64748b;
    margin-bottom: 12px;
}

.salon-location .material-symbols-outlined {
    font-size: 16px;
}

.salon-image {
    width: 100%;
    height: 200px;
    border-radius: 8px;
    object-fit: cover;
    margin-bottom: 12px;
}

.salon-info {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin-bottom: 12px;
}

.salon-info-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #64748b;
}

.salon-info-item .material-symbols-outlined {
    font-size: 18px;
    color: #8B5CF6;
}

.salon-price {
    font-size: 20px;
    font-weight: 700;
    color: #8B5CF6;
    margin-bottom: 8px;
}

.salon-description {
    font-size: 14px;
    color: #64748b;
    line-height: 1.5;
    margin-bottom: 12px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.salon-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 12px;
    border-top: 1px solid #f1f5f9;
}

.salon-date {
    font-size: 12px;
    color: #94a3b8;
}

.salon-views {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: #94a3b8;
}

.salon-views .material-symbols-outlined {
    font-size: 16px;
}

.salon-register-btn {
    width: 100%;
    padding: 16px;
    background: linear-gradient(135deg, #8B5CF6 0%, #7C3AED 100%);
    color: white;
    border: none;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    /* margin-bottom: 16px; */
    transition: all 0.3s ease;
}

.salon-register-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.3);
}

.salon-kakao-inquiry-section {
    background: #FEE500;
    border-radius: 12px;
    padding: 20px;
    text-align: center;
    margin-bottom: 16px;
}

.salon-kakao-inquiry-title {
    font-size: 18px;
    font-weight: 700;
    color: #3C1E1E;
    margin-bottom: 8px;
}

.salon-kakao-inquiry-desc {
    font-size: 14px;
    color: #3C1E1E;
    margin-bottom: 16px;
}

.salon-kakao-btn {
    background: #3C1E1E;
    color: white;
    border: none;
    border-radius: 8px;
    padding: 12px 24px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.salon-kakao-btn:hover {
    background: #2a1515;
}

.salon-kakao-btn .material-symbols-outlined {
    font-size: 20px;
    vertical-align: middle;
}

.salon-register-info {
    background: white;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 16px;
}

.salon-register-info h3 {
    font-size: 18px;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 12px;
}

.salon-register-info ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.salon-register-info li {
    padding: 8px 0;
    font-size: 14px;
    color: #64748b;
    line-height: 1.6;
}

.salon-register-info li span {
    color: #8B5CF6;
    margin-right: 8px;
}

.salon-special-register {
    background: linear-gradient(135deg, #8B5CF6 0%, #7C3AED 100%);
    border-radius: 12px;
    padding: 20px;
    text-align: center;
    color: white;
}

.salon-special-register-title {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 8px;
}

.salon-special-register-desc {
    font-size: 13px;
    opacity: 0.9;
    margin-bottom: 16px;
}

.salon-special-register-btn {
    background: white;
    color: #8B5CF6;
    border: none;
    border-radius: 8px;
    padding: 12px 24px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.salon-special-register-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

.salon-fab .material-symbols-outlined {
    font-size: 28px;
}

/* 미용실매매 검색/필터 스타일 */
.salon-filter-section {
    margin-bottom: 20px;
}

.salon-search-container {
    background: #F7FAFC;
    border-radius: 12px;
    padding: 0;
    margin-top: 16px;
    margin-bottom: 16px;
}

.salon-basic-search {
    display: flex;
    gap: 8px;
    align-items: center;
    width: 100%;
    margin-bottom: 10px;
}

.salon-search-input {
    flex: 1;
    padding: 12px 16px;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    font-size: 14px;
    background: white;
    color: #4A5568;
    font-family: 'Pretendard', sans-serif;
    min-width: 0;
    height: 44px;
    box-sizing: border-box;
}

.salon-search-input:focus {
    outline: none;
    border-color: #8B5CF6;
}

.salon-search-input::placeholder {
    color: #A0AEC0;
}

.salon-search-btn-main {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    min-width: 44px;
    background: linear-gradient(135deg, #8B5CF6 0%, #7C3AED 100%);
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 0;
}

.salon-search-btn-main:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.3);
}

.salon-search-btn-main .material-symbols-outlined {
    font-size: 20px;
}

.salon-detail-search-toggle {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    min-width: 44px;
    padding: 0;
    background: white;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.salon-detail-search-toggle:hover {
    background: #EDF2F7;
    border-color: #8B5CF6;
}

.salon-detail-search-toggle .material-symbols-outlined {
    line-height: 1;
}

.salon-detail-search-toggle .material-symbols-outlined:first-child {
    font-size: 18px;
}

.salon-detail-search-toggle .material-symbols-outlined:last-child {
    font-size: 16px;
    transition: transform 0.3s ease;
}

.salon-detail-search-toggle.active .material-symbols-outlined:last-child {
    transform: rotate(180deg);
}

.salon-detail-search-content {
    display: none;
    background: white;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 12px;
    border: 1px solid #E2E8F0;
}

.salon-detail-search-content.active {
    display: block;
}

.salon-filter-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.salon-filter-select {
    padding: 10px 12px;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    font-size: 14px;
    background: white;
    color: #4A5568;
    font-family: 'Pretendard', sans-serif;
    cursor: pointer;
    transition: border-color 0.3s ease;
}

.salon-filter-select:focus {
    outline: none;
    border-color: #8B5CF6;
}

.salon-filter-options {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.salon-filter-option-btn {
    padding: 8px 16px;
    border: 1px solid #E2E8F0;
    border-radius: 20px;
    background: white;
    color: #64748b;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
}

.salon-filter-option-btn:hover {
    border-color: #8B5CF6;
    color: #8B5CF6;
}

.salon-filter-option-btn.active {
    background: #8B5CF6;
    border-color: #8B5CF6;
    color: white;
}

.salon-sort-section {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    border-radius: 12px;
    margin-bottom: 16px;
    /* box-shadow: 0 1px 3px rgba(0,0,0,0.05); */
}

.salon-sort-buttons {
    display: flex;
    gap: 8px;
}

.salon-sort-btn {
    padding: 6px 10px;
    border: 1px solid #E2E8F0;
    border-radius: 6px;
    background: white;
    color: #64748b;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
}

.salon-sort-btn:hover {
    border-color: #8B5CF6;
    color: #8B5CF6;
}

.salon-sort-btn.active {
    background: #8B5CF6;
    border-color: #8B5CF6;
    color: white;
}

.salon-view-options {
    display: flex;
    gap: 8px;
    align-items: center;
}

.salon-view-option {
    display: flex;
    padding: 6px 10px;
    border: 1px solid #E2E8F0;
    border-radius: 6px;
    background: white;
    color: #64748b;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    gap: 2px;
}

.salon-view-option:hover {
    border-color: #8B5CF6;
    color: #8B5CF6;
}

.salon-view-option.active {
    background: #8B5CF6;
    border-color: #8B5CF6;
    color: white;
}

.salon-empty-state {
    text-align: center;
    padding: 60px 20px;
    color: #94a3b8;
}

.salon-empty-icon {
    font-size: 64px;
    margin-bottom: 16px;
    opacity: 0.5;
    color: #CBD5E0;
}

.salon-empty-title {
    font-size: 16px;
    font-weight: 600;
    color: #64748b;
    margin-bottom: 8px;
}

.salon-empty-desc {
    font-size: 14px;
    color: #94a3b8;
}

/* 미용실매매 애니메이션 */
.salon-item-animate {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.5s ease;
}

.salon-item-visible {
    opacity: 1;
    transform: translateY(0);
}

/* 미용실 매물 등록 폼 스타일 */
.salon-form-section {
    background: white;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 16px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.salon-section-title {
    font-size: 16px;
    font-weight: 700;
    color: #333;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.salon-section-title .material-symbols-outlined {
    color: #8B5CF6;
    font-size: 20px;
}

.salon-required {
    color: #dc2626;
}

.salon-form-group {
    margin-bottom: 16px;
}

.salon-form-group:last-child {
    margin-bottom: 0;
}

.salon-form-label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #333;
    margin-bottom: 8px;
}

.salon-form-input,
.salon-form-textarea,
.salon-form-select {
    width: 100%;
    padding: 12px;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    font-size: 14px;
    font-family: 'Pretendard', sans-serif;
    background: white;
    color: #4A5568;
    transition: all 0.3s ease;
}

.salon-form-input:focus,
.salon-form-textarea:focus,
.salon-form-select:focus {
    outline: none;
    border-color: #8B5CF6;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.1);
}

.salon-form-textarea {
    min-height: 120px;
    resize: vertical;
    line-height: 1.6;
}

.salon-form-help {
    font-size: 12px;
    color: #64748b;
    margin-top: 6px;
}

.sd-addr-row {
    display: flex;
    gap: 8px;
}

.sd-addr-row .salon-form-input {
    flex: 1;
}

.sd-find-btn {
    min-width: 88px;
    height: 44px;
    border: 1px solid #8B5CF6;
    background: #8B5CF6;
    color: #fff;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
}

.salon-image-upload-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-top: 12px;
}

.salon-image-upload-item {
    aspect-ratio: 1;
    border: 2px dashed #E2E8F0;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: relative;
    background: #F8FAFC;
    transition: all 0.3s ease;
    overflow: hidden;
}

.salon-image-upload-item:hover {
    border-color: #8B5CF6;
    background: #FAF5FF;
}

.salon-image-upload-item.salon-main-image {
    grid-row: span 2;
    grid-column: span 2;
}

.salon-upload-icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

.salon-upload-icon .material-symbols-outlined {
    font-size: 32px;
    color: #94a3b8;
}

.salon-upload-text {
    font-size: 12px;
    color: #64748b;
    text-align: center;
    margin-top: 4px;
}

.salon-uploaded-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 6px;
    position: absolute;
    top: 0;
    left: 0;
}

.salon-image-remove {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 24px;
    height: 24px;
    background: rgba(0,0,0,0.6);
    color: white;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: none;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    z-index: 10;
    transition: all 0.3s ease;
}

.salon-image-upload-item:hover .salon-image-remove {
    display: flex;
}

.salon-image-remove:hover {
    background: rgba(220, 38, 38, 0.8);
}

.salon-hidden-file-input {
    display: none;
}

.salon-type-select-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}

.salon-type-select-item {
    padding: 12px;
    border: 2px solid #E2E8F0;
    border-radius: 8px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease;
    background: white;
}

.salon-type-select-item input[type="radio"] {
    display: none;
}

.salon-type-select-item span {
    font-size: 14px;
    font-weight: 500;
    color: #64748b;
}

.salon-type-select-item input[type="radio"]:checked + span {
    color: #8B5CF6;
    font-weight: 600;
}

.salon-type-select-item:has(input[type="radio"]:checked) {
    border-color: #8B5CF6;
    background: #FAF5FF;
}

.salon-checkbox-item {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.salon-checkbox-item input[type="checkbox"] {
    display: none;
}

.salon-checkmark {
    width: 20px;
    height: 20px;
    border: 2px solid #E2E8F0;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    background: white;
}

.salon-checkbox-item input[type="checkbox"]:checked + .salon-checkmark {
    background: #8B5CF6;
    border-color: #8B5CF6;
}

.salon-checkbox-item input[type="checkbox"]:checked + .salon-checkmark .material-symbols-outlined {
    display: block;
    color: white;
    font-size: 14px;
}

.salon-checkbox-item input[type="checkbox"]:checked + .salon-checkmark .material-symbols-outlined {
    display: block;
}

.salon-checkmark .material-symbols-outlined {
    display: none;
}

.salon-checkbox-label {
    font-size: 14px;
    color: #333;
}

.salon-radio-group {
    display: flex;
    gap: 16px;
}

.salon-radio-item {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.salon-radio-item input[type="radio"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
    accent-color: #8B5CF6;
}

.salon-radio-item span {
    font-size: 14px;
    color: #333;
}

.salon-notice-box {
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    padding: 16px;
}

.salon-notice-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #333;
    margin-bottom: 12px;
}

.salon-notice-title .material-symbols-outlined {
    color: #8B5CF6;
    font-size: 18px;
}

.salon-notice-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.salon-notice-list li {
    font-size: 13px;
    color: #64748b;
    line-height: 1.8;
    padding-left: 16px;
    position: relative;
}

.salon-notice-list li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: #8B5CF6;
}

.salon-form-submit-section {
    display: flex;
    padding: 20px 0 40px;
    gap: 10px;
}

.salon-submit-btn {
    width: 100%;
    padding: 16px;
    background: linear-gradient(135deg, #8B5CF6 0%, #7C3AED 100%);
    color: white;
    border: none;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.salon-submit-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.3);
}

.salon-submit-btn:active {
    transform: translateY(0);
}

/* 최신 매물 정보 리스트 스타일 */
.salon-latest-section {
    margin-top: 24px;
    padding: 0;
}

.salon-latest-title {
    font-size: 18px;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 16px;
}

.salon-latest-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    background: white;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.salon-latest-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    border-bottom: 1px solid #f1f5f9;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.salon-latest-item:last-child {
    border-bottom: none;
}

.salon-latest-item:hover {
    background: #F8FAFC;
}

.salon-latest-thumb {
    width: 80px;
    height: 80px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    background: #F1F5F9;
}

.salon-latest-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.salon-latest-content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.salon-latest-meta {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #64748b;
    flex-wrap: wrap;
}

.salon-latest-location {
    color: #64748b;
}

.salon-meta-separator {
    color: #CBD5E0;
}

.salon-latest-area {
    color: #64748b;
}

.salon-urgent-tag {
    display: flex;
    align-items: center;
    gap: 4px;
    color: #DC2626;
    font-weight: 600;
    font-size: 13px;
}

.salon-urgent-tag .material-symbols-outlined {
    font-size: 16px;
    color: #DC2626;
}

.salon-latest-title-text {
    font-size: 14px;
    font-weight: 500;
    color: #1e293b;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.salon-latest-badges {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.salon-price-badge,
.salon-premium-badge {
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    background: #475569;
    color: white;
}

.salon-premium-badge {
    background: #475569;
}

.salon-latest-like {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.salon-latest-like .material-symbols-outlined {
    font-size: 20px;
    color: #94a3b8;
}

.salon-latest-like:hover .material-symbols-outlined {
    color: #ef4444;
}

.salon-latest-like.active .material-symbols-outlined {
    color: #ef4444;
}

@media (max-width: 480px) {
    .main-content {
        padding: 0 16px;
        padding-bottom: 80px;
    }

    .question-item {
        padding: 16px;
    }

    .question-title {
        font-size: 15px;
    }

    .question-preview {
        font-size: 13px;
    }

    .recipe-item {
        padding: 16px;
    }

    .recipe-title {
        font-size: 15px;
    }

    .fab {
        width: 56px;
        height: 56px;
        bottom: 150px;
        right: 16px;
    }
}

/* MARKET 페이지 스타일 */
/* Market 페이지 전용 body 스타일 */
body.market-page {
    background-color: #f8f9fa;
    color: #333;
    width: 100%;
    max-width: 414px;
    margin: 0 auto;
    padding-bottom: 80px;
}

/* Market 페이지 전용 header 스타일 */
body.market-page .header {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 414px;
    padding: 16px;
}

body.market-page .header-title {
    font-size: 20px;
    color: #333;
}

.market-header-icons {
    display: flex;
    gap: 16px;
}

.market-header-icons .material-icons {
    color: #64748b;
    cursor: pointer;
    position: relative;
}

.market-cart-badge {
    position: absolute;
    top: -6px;
    right: -6px;
    background: #ef4444;
    color: white;
    border-radius: 50%;
    width: 16px;
    height: 16px;
    font-size: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
}

/* Market 검색바 */
.market-search-bar {
    display: flex;
    align-items: center;
    background: #f1f5f9;
    border-radius: 25px;
    padding: 12px 16px;
    gap: 8px;
}

.market-search-bar .material-icons {
    color: #94a3b8;
    font-size: 20px;
}

.market-search-bar input {
    border: none;
    background: none;
    flex: 1;
    font-size: 14px;
    outline: none;
    color: #333;
}

.market-search-bar input::placeholder {
    color: #94a3b8;
}

/* Market 카테고리 탭 */
.market-category-tabs {
    background: white;
    /* margin-top: 120px; */
    padding: 16px;
    display: flex;
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: none;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    position: sticky;
    top: 51px;
    z-index: 89;
}

.market-category-tabs::-webkit-scrollbar {
    display: none;
}

.market-category-tab {
    padding: 8px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    white-space: nowrap;
    font-size: 13px;
    color: #64748b;
    background: white;
    display: flex;
    align-items: center;
    gap: 2px;
    cursor: pointer;
    letter-spacing: -.5px;
    transition: all 0.3s ease;
}

.market-category-tab:hover {
    border-color: #8B5CF6;
    color: #8B5CF6;
}

.market-category-tab.active {
    background: #8B5CF6;
    color: white;
    border-color: #8B5CF6;
}

.market-category-tab .material-icons {
    font-size: 18px;
}

/* Market 필터 섹션 */
.market-filter-section {
    background: white;
    padding: 16px;
    margin-top: 50px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    position: sticky;
    z-index: 90;
}

.market-search-container {
    margin-bottom: 0;
}

.market-basic-search {
    display: flex;
    gap: 8px;
    align-items: center;
}

.market-search-input {
    flex: 1;
    padding: 12px 16px;
    border: 1px solid #e2e8f0;
    border-radius: 25px;
    font-size: 14px;
    outline: none;
}

.market-search-input:focus {
    border-color: #8B5CF6;
}

.market-search-btn-main,
.market-detail-search-toggle {
    width: 40px;
    height: 40px;
    border: none;
    background: #8B5CF6;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
}

.market-search-btn-main:hover,
.market-detail-search-toggle:hover {
    background: #7C3AED;
}

.market-detail-search-toggle {
    background: #f1f5f9;
    color: #64748b;
}

.market-detail-search-toggle.active {
    background: #8B5CF6;
    color: white;
}

.market-detail-search-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.market-detail-search-content.show {
    max-height: 500px;
    margin-top: 12px;
}

.market-filter-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.market-filter-select {
    padding: 10px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 13px;
    background: white;
    cursor: pointer;
    outline: none;
}

.market-filter-select:focus {
    border-color: #8B5CF6;
}

.market-sort-section {
    margin-top: 0;
    padding-top: 12px;
}

.market-sort-buttons {
    display: flex;
    gap: 8px;
}

.market-sort-btn {
    flex: 1;
    padding: 8px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    background: white;
    color: #64748b;
    font-size: 13px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.market-sort-btn.active {
    background: #8B5CF6;
    color: white;
    border-color: #8B5CF6;
}

.market-sort-btn:hover {
    border-color: #8B5CF6;
    color: #8B5CF6;
}

.market-sort-btn.active:hover {
    background: #7C3AED;
    color: white;
}

/* Market 필터 바 */
.market-filter-bar {
    padding: 12px 16px;
    /* background: white; */
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #f1f5f9;
    border-bottom: 1px solid #f1f5f9;
}

.market-result-count {
    font-size: 14px;
    color: #64748b;
}

.market-result-count strong {
    color: #8B5CF6;
    font-weight: 600;
}

/* Market 상품 그리드 */
.market-product-grid {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 0;
}

.market-product-card {
    background: white;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    display: flex;
    flex-direction: column;
    padding: 12px;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.market-product-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}

.market-product-title-area {
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid #f1f5f9;
}

.market-product-content {
    display: flex;
    gap: 12px;
}

.market-product-image {
    width: 120px;
    min-width: 120px;
    height: 120px;
    background: linear-gradient(135deg, #8B5CF6 0%, #EC4899 100%);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    overflow: hidden;
}

.market-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.market-product-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    padding: 4px 8px;
    background: rgba(139, 92, 246, 0.9);
    color: white;
    font-size: 11px;
    font-weight: 600;
    border-radius: 12px;
}

.market-product-badge.sale {
    background: rgba(239, 68, 68, 0.9);
}

.market-product-badge.new {
    background: rgba(37, 99, 235, 0.9);
}

.market-product-like {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 28px;
    height: 28px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.market-product-like .material-icons {
    color: #ef4444;
    font-size: 16px;
}

.market-product-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-width: 0;
}

.market-product-seller {
    font-size: 12px;
    color: #94a3b8;
    margin-bottom: 4px;
}

.market-product-name {
    font-size: 16px;
    font-weight: 700;
    color: #333;
    line-height: 1.4;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.market-product-description {
    font-size: 12px;
    color: #64748b;
    margin-bottom: 8px;
    line-height: 1.4;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.market-product-rating {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 8px;
}

.market-product-rating .material-icons {
    color: #fbbf24;
    font-size: 14px;
}

.market-product-rating span {
    font-size: 12px;
    color: #64748b;
}

.market-product-price {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.market-price-original {
    font-size: 11px;
    color: #94a3b8;
    text-decoration: line-through;
}

.market-price-current {
    display: flex;
    align-items: center;
    gap: 4px;
}

.market-price-discount {
    font-size: 13px;
    font-weight: 700;
    color: #ef4444;
}

.market-price-amount {
    font-size: 15px;
    font-weight: 700;
    color: #333;
}

.market-product-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 8px;
    margin-top: auto;
    border-top: 1px solid #f1f5f9;
}

.market-product-card.hidden {
    display: none;
}

.market-product-delivery {
    font-size: 11px;
    color: #8B5CF6;
    font-weight: 600;
}

.market-product-sales {
    font-size: 11px;
    color: #94a3b8;
}

/* Market 미용실매매 리스트 스타일 */
.market-salon-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 16px;
    padding-top: 0;
}

.market-salon-item {
    background: white;
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    cursor: pointer;
    transition: all 0.3s ease;
}

.market-salon-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.1);
}

.market-salon-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 12px;
}

.market-salon-tags {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.market-salon-tag {
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 600;
}

.market-salon-tag.urgent {
    background: #FED7D7;
    color: #C53030;
}

.market-salon-tag.new {
    background: #C6F6D5;
    color: #22543D;
}

.market-salon-tag.featured {
    background: #FEEBC8;
    color: #C05621;
}

.market-salon-like {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
}

.market-salon-like .material-icons {
    color: #ef4444;
    font-size: 20px;
}

.market-salon-title {
    font-size: 16px;
    font-weight: 700;
    color: #333;
    margin-bottom: 8px;
}

.market-salon-location {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    color: #64748b;
    margin-bottom: 12px;
}

.market-salon-location .material-icons {
    font-size: 16px;
}

.market-salon-image {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 12px;
    margin-bottom: 12px;
}

.market-salon-info {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin-bottom: 12px;
}

.market-salon-info-item {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    color: #64748b;
}

.market-salon-info-item .material-icons {
    font-size: 16px;
}

.market-salon-price {
    font-size: 15px;
    font-weight: 700;
    color: #8B5CF6;
    margin-bottom: 8px;
}

.market-salon-description {
    font-size: 13px;
    color: #64748b;
    line-height: 1.4;
    margin-bottom: 12px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.market-salon-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 12px;
    color: #94a3b8;
}

.market-salon-views {
    display: flex;
    align-items: center;
    gap: 4px;
}

.market-salon-views .material-icons {
    font-size: 14px;
}

.market-salon-item.hidden {
    display: none;
}

.market-cart-link,
.market-mypage-link {
    text-decoration: none;
    color: inherit;
    position: relative;
}

.market-product-badge-free {
    background: rgba(34, 197, 94, 0.9) !important;
}

.market-price-free {
    color: #22c55e !important;
    font-weight: 700 !important;
}

@media (max-width: 480px) {
    body.market-page {
        padding-bottom: 80px;
    }

    body.market-page .header {
        padding: 12px 16px;
    }

    .market-product-card {
        padding: 10px;
    }

    .market-product-image {
        width: 100px;
        min-width: 100px;
        height: 100px;
    }

    .market-product-name {
        font-size: 15px;
    }

    .market-salon-item {
        padding: 16px;
    }

    .market-salon-title {
        font-size: 15px;
    }
}

/* SALON RECOMMEND 페이지 스타일 */
/* Recommend 페이지 전용 body 스타일 */
body.recommend-page {
    background-color: #f8f9fa;
    color: #333;
    width: 100%;
    max-width: 414px;
    margin: 0 auto;
    padding-bottom: 80px;
}

/* Recommend 페이지 전용 header 스타일 */
body.recommend-page .header {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    /* max-width: 414px; */
    padding: 16px;
}

body.recommend-page .header-title {
    font-size: 20px;
    color: #333;
}

.recommend-header-icons {
    display: flex;
    gap: 16px;
}

.recommend-header-icons .material-icons {
    color: #64748b;
    cursor: pointer;
}

/* Recommend 검색바 */
.recommend-search-bar {
    display: flex;
    align-items: center;
    background: #f1f5f9;
    border-radius: 25px;
    padding: 12px 16px;
    gap: 8px;
    margin-top: 15px;
}

.recommend-search-bar .material-icons {
    color: #94a3b8;
    font-size: 20px;
}

.recommend-search-bar input {
    border: none;
    background: none;
    flex: 1;
    font-size: 14px;
    outline: none;
    color: #333;
}

.recommend-search-bar input::placeholder {
    color: #94a3b8;
}

/* Recommend 필터 탭 */
.recommend-filter-tabs {
    background: white;
    margin-top: 110px;
    padding: 16px;
    display: flex;
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: none;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.recommend-filter-tabs::-webkit-scrollbar {
    display: none;
}

.recommend-filter-tab {
    padding: 8px 16px;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    white-space: nowrap;
    font-size: 14px;
    color: #64748b;
    background: white;
    cursor: pointer;
    transition: all 0.3s ease;
}

.recommend-filter-tab:hover {
    border-color: #8B5CF6;
    color: #8B5CF6;
}

.recommend-filter-tab.active {
    background: #8B5CF6;
    color: white;
    border-color: #8B5CF6;
}

/* Recommend 지역 필터 */
.recommend-location-filter {
    background: white;
    padding: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #f1f5f9;
}

.recommend-location-current {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #333;
}

.recommend-location-current .material-icons {
    color: #8B5CF6;
    font-size: 18px;
}

/* Recommend 살롱 카드 리스트 */
.recommend-salon-list {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.recommend-salon-card {
    background: white;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.recommend-salon-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}

.recommend-salon-image {
    width: 100%;
    height: 200px;
    background: linear-gradient(135deg, #8B5CF6 0%, #EC4899 100%);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.recommend-salon-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.recommend-salon-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background: rgba(139, 92, 246, 0.9);
    color: white;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}

.recommend-salon-like {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.3s ease;
}

.recommend-salon-like:hover {
    background: rgba(255, 255, 255, 1);
}

.recommend-salon-like .material-icons {
    color: #ef4444;
    font-size: 20px;
}

.recommend-salon-info {
    padding: 16px;
}

.recommend-salon-name {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin-bottom: 8px;
}

.recommend-salon-rating {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.recommend-rating-stars {
    display: flex;
    align-items: center;
    gap: 2px;
}

.recommend-rating-stars .material-icons {
    color: #fbbf24;
    font-size: 16px;
}

.recommend-rating-score {
    font-size: 14px;
    font-weight: 600;
    color: #333;
}

.recommend-rating-count {
    font-size: 12px;
    color: #94a3b8;
}

.recommend-salon-location {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    color: #64748b;
    margin-bottom: 12px;
}

.recommend-salon-location .material-icons {
    font-size: 16px;
}

.recommend-salon-tags {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.recommend-salon-tag {
    padding: 4px 10px;
    background: #f1f5f9;
    color: #64748b;
    font-size: 12px;
    border-radius: 12px;
}

.recommend-salon-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 12px;
    border-top: 1px solid #f1f5f9;
}

.recommend-salon-designer {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #64748b;
}

.recommend-salon-designer .material-icons {
    font-size: 18px;
}

.recommend-salon-distance {
    font-size: 12px;
    color: #8B5CF6;
    font-weight: 600;
}

/* Recommend 플로팅 버튼 */
.recommend-floating-btn {
    position: fixed;
    bottom: 90px;
    right: calc(50% - 190px);
    width: 56px;
    height: 56px;
    background: #8B5CF6;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.4);
    z-index: 99;
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.recommend-floating-btn:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 16px rgba(139, 92, 246, 0.5);
}

.recommend-floating-btn .material-icons {
    color: white;
    font-size: 28px;
}

@media (max-width: 480px) {
    body.recommend-page {
        padding-bottom: 80px;
    }

    body.recommend-page .header {
        padding: 12px 16px;
    }

    .recommend-salon-card {
        border-radius: 10px;
    }

    .recommend-salon-name {
        font-size: 15px;
    }

    .recommend-floating-btn {
        right: calc(50% - 175px);
        width: 52px;
        height: 52px;
    }
}

/* PRODUCT DETAIL 페이지 스타일 */
/* Product Detail 페이지 전용 body 스타일 */
body.product-detail-page {
    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, sans-serif;
    background-color: #f8f9fa;
    color: #333;
    width: 100%;
    /* max-width: 414px; */
    margin: 0 auto;
    padding-bottom: 80px;
}

/* Product Detail 페이지 전용 header 스타일 */
body.product-detail-page .header {
    background: white;
    padding: 16px;
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    /* max-width: 414px; */
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.product-detail-back-btn {
    color: #64748b;
    cursor: pointer;
}

.product-detail-header-right {
    display: flex;
    gap: 16px;
    align-items: center;
}

.product-detail-header-right .material-icons {
    color: #64748b;
    cursor: pointer;
}

.product-detail-more-container {
    position: relative;
}

.product-detail-more-btn {
    color: #64748b;
    cursor: pointer;
}

.product-detail-more-menu {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 8px;
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    min-width: 160px;
    display: none;
    flex-direction: column;
    overflow: hidden;
    z-index: 200;
}

.product-detail-more-menu-show {
    display: flex;
}

.product-detail-more-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    font-size: 14px;
    color: #333;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s ease;
}

.product-detail-more-item:hover {
    background: #f8fafc;
}

.product-detail-more-item .material-icons {
    font-size: 20px;
    color: #64748b;
}

/* Product Detail 상품 이미지 갤러리 */
.product-detail-product-gallery {
    margin-top: 60px;
    position: relative;
    background: white;
}

.product-detail-main-image {
    width: 100%;
    aspect-ratio: 1;
    background: linear-gradient(135deg, #8B5CF6 0%, #EC4899 100%);
    position: relative;
    overflow: hidden;
}

.product-detail-main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-detail-image-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    padding: 6px 12px;
    background: rgba(139, 92, 246, 0.9);
    color: white;
    font-size: 12px;
    font-weight: 600;
    border-radius: 20px;
}

.product-detail-image-badge-sale {
    background: rgba(239, 68, 68, 0.9);
}

.product-detail-image-badge-new {
    background: rgba(37, 99, 235, 0.9);
}

.product-detail-image-like {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.product-detail-image-like .material-icons {
    color: #ef4444;
    font-size: 20px;
}

.product-detail-thumbnail-list {
    display: flex;
    gap: 8px;
    padding: 12px 16px;
    overflow-x: auto;
    background: white;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.product-detail-thumbnail-list::-webkit-scrollbar {
    display: none;
}

.product-detail-thumbnail-item {
    width: 60px;
    height: 60px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    border: 2px solid transparent;
    cursor: pointer;
    transition: border-color 0.3s ease;
}

.product-detail-thumbnail-item-active {
    border-color: #8B5CF6;
}

.product-detail-thumbnail-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Product Detail 상품 정보 */
.product-detail-product-info-section {
    background: white;
    padding: 20px 16px;
    margin-bottom: 8px;
}

.product-detail-product-seller {
    font-size: 13px;
    color: #94a3b8;
    margin-bottom: 8px;
}

.product-detail-product-name {
    font-size: 20px;
    font-weight: 700;
    color: #333;
    margin-bottom: 12px;
    line-height: 1.4;
}

.product-detail-product-rating {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
}

.product-detail-product-rating .material-icons {
    color: #fbbf24;
    font-size: 18px;
}

.product-detail-product-rating span {
    font-size: 14px;
    color: #64748b;
}

.product-detail-product-price {
    padding: 16px;
    background: #f8fafc;
    border-radius: 12px;
    margin-bottom: 16px;
}

.product-detail-price-original {
    font-size: 14px;
    color: #94a3b8;
    text-decoration: line-through;
    margin-bottom: 4px;
}

.product-detail-price-current {
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.product-detail-price-discount {
    font-size: 16px;
    font-weight: 700;
    color: #ef4444;
}

.product-detail-price-amount {
    font-size: 24px;
    font-weight: 700;
    color: #333;
}

.product-detail-product-delivery-info {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 16px;
    border-top: 1px solid #f1f5f9;
}

.product-detail-delivery-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #64748b;
}

.product-detail-delivery-item .material-icons {
    font-size: 18px;
    color: #8B5CF6;
}

/* Product Detail 상품 옵션 */
.product-detail-product-options-section {
    background: white;
    padding: 20px 16px;
    margin-bottom: 8px;
}

.product-detail-option-group {
    margin-bottom: 20px;
}

.product-detail-option-label {
    font-size: 14px;
    font-weight: 600;
    color: #333;
    margin-bottom: 12px;
}

.product-detail-option-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.product-detail-option-item {
    padding: 12px;
    border: 2px solid #e2e8f0;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.product-detail-option-item:hover {
    border-color: #8B5CF6;
}

.product-detail-option-item-selected {
    border-color: #8B5CF6;
    background: rgba(139, 92, 246, 0.05);
}

.product-detail-option-name {
    font-size: 14px;
    font-weight: 600;
    color: #333;
    margin-bottom: 4px;
}

.product-detail-option-price {
    font-size: 13px;
    color: #8B5CF6;
    font-weight: 600;
}

/* Product Detail 상품 상세 설명 */
.product-detail-product-detail-section {
    background: white;
    padding: 20px 16px;
    margin-bottom: 8px;
}

.product-detail-section-title {
    font-size: 16px;
    font-weight: 700;
    color: #333;
    margin-bottom: 16px;
}

.product-detail-detail-content {
    font-size: 14px;
    color: #64748b;
    line-height: 1.7;
    white-space: pre-line;
}

.product-detail-detail-image {
    width: 100%;
    border-radius: 12px;
    margin: 16px 0;
}

.product-detail-detail-image img {
    width: 100%;
    border-radius: 12px;
}

/* Product Detail 리뷰 섹션 */
.product-detail-review-section {
    background: white;
    padding: 20px 16px;
    margin-bottom: 8px;
}

.product-detail-review-summary {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    background: #f8fafc;
    border-radius: 12px;
    margin-bottom: 20px;
}

.product-detail-review-score {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.product-detail-score-number {
    font-size: 32px;
    font-weight: 700;
    color: #333;
}

.product-detail-score-stars {
    display: flex;
    gap: 2px;
}

.product-detail-score-stars .material-icons {
    color: #fbbf24;
    font-size: 16px;
}

.product-detail-review-stats {
    flex: 1;
}

.product-detail-review-stat-item {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    font-size: 13px;
}

.product-detail-review-stat-label {
    color: #64748b;
}

.product-detail-review-stat-value {
    color: #333;
    font-weight: 600;
}

.product-detail-review-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.product-detail-review-item {
    padding-bottom: 16px;
    border-bottom: 1px solid #f1f5f9;
}

.product-detail-review-item:last-child {
    border-bottom: none;
}

.product-detail-review-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.product-detail-review-user {
    font-size: 14px;
    font-weight: 600;
    color: #333;
}

.product-detail-review-rating {
    display: flex;
    gap: 2px;
}

.product-detail-review-rating .material-icons {
    font-size: 14px;
    color: #fbbf24;
}

.product-detail-review-content {
    font-size: 14px;
    color: #64748b;
    line-height: 1.6;
    margin-bottom: 8px;
}

.product-detail-review-date {
    font-size: 12px;
    color: #94a3b8;
}

/* Product Detail 셀러 정보 */
.product-detail-seller-info-section {
    background: white;
    padding: 20px 16px;
    margin-bottom: 8px;
}

.product-detail-seller-card {
    display: flex;
    gap: 16px;
    padding: 16px;
    background: #f8fafc;
    border-radius: 12px;
}

.product-detail-seller-avatar {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: linear-gradient(135deg, #8B5CF6 0%, #EC4899 100%);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 24px;
    font-weight: 600;
}

.product-detail-seller-info {
    flex: 1;
}

.product-detail-seller-name {
    font-size: 15px;
    font-weight: 600;
    color: #333;
    margin-bottom: 6px;
}

.product-detail-seller-rating {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    color: #64748b;
    margin-bottom: 8px;
}

.product-detail-seller-rating .material-icons {
    color: #fbbf24;
    font-size: 14px;
}

.product-detail-seller-link {
    font-size: 13px;
    color: #8B5CF6;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.3s ease;
}

.product-detail-seller-link:hover {
    color: #7C3AED;
}

/* Product Detail 하단 구매 버튼 */
.product-detail-bottom-actions {
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    /* max-width: 414px; */
    background: white;
    padding: 16px;
    box-shadow: 0 -2px 8px rgba(0,0,0,0.1);
    display: flex;
    gap: 12px;
    z-index: 100;
}

.product-detail-action-icon-btn {
    width: 48px;
    height: 48px;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: white;
    cursor: pointer;
    text-decoration: none;
    color: inherit;
    transition: all 0.3s ease;
}

.product-detail-action-icon-btn:hover {
    background: #f8fafc;
}

.product-detail-action-icon-btn .material-icons {
    color: #64748b;
    font-size: 24px;
}

.product-detail-purchase-btn {
    flex: 1;
    background: #8B5CF6;
    color: white;
    border: none;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
    transition: background 0.3s ease;
}

.product-detail-purchase-btn:hover {
    background: #7C3AED;
}

.product-detail-purchase-btn .material-icons {
    color: white;
}

@media (max-width: 480px) {
    body.product-detail-page {
        padding-bottom: 80px;
    }

    body.product-detail-page .header {
        padding: 12px 16px;
    }

    .product-detail-product-name {
        font-size: 18px;
    }

    .product-detail-price-amount {
        font-size: 22px;
    }
}

/* SELLER STORE 페이지 스타일 */
/* Seller Store 페이지 전용 body 스타일 */
body.seller-store-page {
    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, sans-serif;
    background-color: #f8f9fa;
    color: #333;
    width: 100%;
    /* max-width: 414px; */
    margin: 0 auto;
    padding-bottom: 80px;
}

/* Seller Store 페이지 전용 header 스타일 */
body.seller-store-page .header {
    background: white;
    padding: 16px;
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    /* max-width: 414px; */
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.seller-store-back-btn {
    color: #64748b;
    cursor: pointer;
}

.seller-store-header-right {
    display: flex;
    gap: 16px;
    align-items: center;
}

.seller-store-header-right .material-icons {
    color: #64748b;
    cursor: pointer;
}

/* Seller Store 판매자 프로필 */
.seller-store-seller-profile {
    background: linear-gradient(135deg, #8B5CF6 0%, #EC4899 100%);
    padding: 80px 20px 32px;
    color: white;
}

.seller-store-profile-header {
    display: flex;
    gap: 20px;
    margin-bottom: 24px;
}

.seller-store-profile-logo {
    width: 80px;
    height: 80px;
    border-radius: 16px;
    border: 3px solid white;
    overflow: hidden;
    flex-shrink: 0;
    background: white;
}

.seller-store-profile-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.seller-store-profile-info {
    flex: 1;
}

.seller-store-profile-name {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 8px;
}

.seller-store-profile-category {
    font-size: 14px;
    opacity: 0.9;
    margin-bottom: 12px;
}

.seller-store-profile-badges {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.seller-store-profile-badge {
    padding: 4px 10px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
}

.seller-store-profile-stats {
    display: flex;
    gap: 24px;
    margin-bottom: 20px;
}

.seller-store-stat-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.seller-store-stat-value {
    font-size: 20px;
    font-weight: 700;
}

.seller-store-stat-label {
    font-size: 13px;
    opacity: 0.8;
}

.seller-store-profile-actions {
    display: flex;
    gap: 12px;
}

.seller-store-action-btn {
    flex: 1;
    padding: 12px;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    cursor: pointer;
    border: none;
    transition: all 0.3s ease;
}

.seller-store-action-btn-primary {
    background: white;
    color: #8B5CF6;
}

.seller-store-action-btn-primary:hover {
    background: #f3e8ff;
}

.seller-store-action-btn-secondary {
    background: rgba(255, 255, 255, 0.2);
    color: white;
}

.seller-store-action-btn-secondary:hover {
    background: rgba(255, 255, 255, 0.3);
}

.seller-store-action-btn .material-icons {
    font-size: 18px;
    color: inherit;
}

/* Seller Store 스토어 소개 */
.seller-store-store-intro {
    background: white;
    padding: 20px 16px;
    margin-bottom: 8px;
}

.seller-store-section-title {
    font-size: 16px;
    font-weight: 700;
    color: #333;
    margin-bottom: 12px;
}

.seller-store-intro-text {
    font-size: 14px;
    color: #64748b;
    line-height: 1.7;
}

/* Seller Store 스토어 정보 */
.seller-store-store-info {
    background: white;
    padding: 20px 16px;
    margin-bottom: 8px;
}

.seller-store-info-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.seller-store-info-card {
    padding: 16px;
    background: #f8fafc;
    border-radius: 12px;
    text-align: center;
}

.seller-store-info-icon {
    width: 48px;
    height: 48px;
    margin: 0 auto 12px;
    background: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.seller-store-info-icon .material-icons {
    color: #8B5CF6;
    font-size: 24px;
}

.seller-store-info-label {
    font-size: 12px;
    color: #64748b;
    margin-bottom: 4px;
}

.seller-store-info-value {
    font-size: 16px;
    font-weight: 700;
    color: #333;
}

/* Seller Store 탭 메뉴 */
.seller-store-tab-menu {
    background: white;
    padding: 0 16px;
    display: flex;
    border-bottom: 1px solid #f1f5f9;
    position: sticky;
    top: 64px;
    z-index: 99;
}

.seller-store-tab-item {
    flex: 1;
    padding: 16px 0;
    text-align: center;
    font-size: 14px;
    font-weight: 500;
    color: #64748b;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.seller-store-tab-item:hover {
    color: #8B5CF6;
}

.seller-store-tab-item-active {
    color: #8B5CF6;
    border-bottom-color: #8B5CF6;
    font-weight: 700;
}

/* Seller Store 상품 리스트 */
.seller-store-product-section {
    background: white;
    padding: 20px 16px;
    margin-bottom: 8px;
}

.seller-store-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
    position: relative;
}

.seller-store-product-count {
    font-size: 14px;
    color: #64748b;
}

.seller-store-product-count strong {
    color: #8B5CF6;
    font-weight: 700;
}

.seller-store-sort-btn {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 6px 12px;
    background: #f1f5f9;
    border-radius: 16px;
    font-size: 13px;
    color: #64748b;
    cursor: pointer;
    transition: all 0.3s ease;
}

.seller-store-sort-btn:hover {
    background: #e2e8f0;
    color: #8B5CF6;
}

.seller-store-sort-btn .material-icons {
    font-size: 16px;
}

.seller-store-sort-menu {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 8px;
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    min-width: 120px;
    display: none;
    flex-direction: column;
    overflow: hidden;
    z-index: 200;
}

.seller-store-sort-menu-show {
    display: flex;
}

.seller-store-sort-item {
    padding: 12px 16px;
    font-size: 14px;
    color: #333;
    cursor: pointer;
    transition: background 0.2s ease;
}

.seller-store-sort-item:hover {
    background: #f8fafc;
}

.seller-store-product-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.seller-store-product-card {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
    background: white;
    cursor: pointer;
    transition: all 0.3s ease;
}

.seller-store-product-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.seller-store-product-image {
    width: 100%;
    height: 160px;
    background: linear-gradient(135deg, #8B5CF6 0%, #EC4899 100%);
    position: relative;
}

.seller-store-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.seller-store-product-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    padding: 4px 8px;
    background: rgba(239, 68, 68, 0.9);
    color: white;
    font-size: 11px;
    font-weight: 600;
    border-radius: 12px;
}

.seller-store-product-like {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 28px;
    height: 28px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.3s ease;
}

.seller-store-product-like:hover {
    background: rgba(255, 255, 255, 1);
}

.seller-store-product-like .material-icons {
    font-size: 16px;
    color: #ef4444;
}

.seller-store-product-info {
    padding: 12px;
}

.seller-store-product-name {
    font-size: 13px;
    color: #333;
    margin-bottom: 8px;
    line-height: 1.4;
    height: 36px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.seller-store-product-rating {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 8px;
}

.seller-store-product-rating .material-icons {
    color: #fbbf24;
    font-size: 14px;
}

.seller-store-product-rating span {
    font-size: 12px;
    color: #64748b;
}

.seller-store-product-price {
    display: flex;
    align-items: center;
    gap: 6px;
}

.seller-store-price-discount {
    font-size: 13px;
    font-weight: 700;
    color: #ef4444;
}

.seller-store-price-amount {
    font-size: 15px;
    font-weight: 700;
    color: #333;
}

/* Seller Store 리뷰 섹션 */
.seller-store-review-section {
    background: white;
    padding: 20px 16px;
    margin-bottom: 8px;
}

.seller-store-review-summary {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    background: #f8fafc;
    border-radius: 12px;
    margin-bottom: 20px;
}

.seller-store-review-score {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.seller-store-score-number {
    font-size: 32px;
    font-weight: 700;
    color: #333;
}

.seller-store-score-stars {
    display: flex;
    gap: 2px;
}

.seller-store-score-stars .material-icons {
    color: #fbbf24;
    font-size: 16px;
}

.seller-store-review-stats {
    flex: 1;
}

.seller-store-review-stat-item {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    font-size: 13px;
}

.seller-store-review-stat-label {
    color: #64748b;
}

.seller-store-review-stat-value {
    color: #333;
    font-weight: 600;
}

.seller-store-review-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.seller-store-review-item {
    padding: 16px;
    background: #f8fafc;
    border-radius: 12px;
}

.seller-store-review-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
}

.seller-store-review-user {
    font-size: 14px;
    font-weight: 600;
    color: #333;
}

.seller-store-review-rating {
    display: flex;
    gap: 2px;
}

.seller-store-review-rating .material-icons {
    font-size: 14px;
    color: #fbbf24;
}

.seller-store-review-product {
    font-size: 12px;
    color: #94a3b8;
    margin-bottom: 8px;
}

.seller-store-review-content {
    font-size: 14px;
    color: #64748b;
    line-height: 1.6;
    margin-bottom: 8px;
}

.seller-store-review-date {
    font-size: 12px;
    color: #94a3b8;
}

/* Seller Store 공지사항 */
.seller-store-notice-section {
    background: white;
    padding: 20px 16px;
    margin-bottom: 8px;
}

.seller-store-notice-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.seller-store-notice-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px;
    background: #f8fafc;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.3s ease;
}

.seller-store-notice-item:hover {
    background: #f1f5f9;
}

.seller-store-notice-title {
    font-size: 14px;
    color: #333;
    font-weight: 500;
}

.seller-store-notice-date {
    font-size: 12px;
    color: #94a3b8;
}

/* Seller Store 하단 네비게이션 */
.seller-store-bottom-nav {
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    /* max-width: 414px; */
    background: white;
    padding: 12px 0;
    box-shadow: 0 -2px 8px rgba(0,0,0,0.1);
    display: flex;
    justify-content: space-around;
    z-index: 100;
}

.seller-store-nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    color: #94a3b8;
    font-size: 11px;
    text-decoration: none;
    transition: color 0.3s ease;
}

.seller-store-nav-item:hover {
    color: #8B5CF6;
}

.seller-store-nav-item-active {
    color: #8B5CF6;
}

.seller-store-nav-item .material-icons {
    font-size: 24px;
}

@media (max-width: 480px) {
    body.seller-store-page {
        padding-bottom: 80px;
    }

    body.seller-store-page .header {
        padding: 12px 16px;
    }

    .seller-store-profile-name {
        font-size: 20px;
    }

    .seller-store-product-name {
        font-size: 12px;
    }
}

/* SALON DETAIL 페이지 스타일 */
body.salon-detail-page {
    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, sans-serif;
    background-color: #f8f9fa;
    color: #333;
    width: 100%;
    max-width: 414px;
    margin: 0 auto;
    padding-bottom: 80px;
}

body.salon-detail-page .header,
body.salon-detail-page .bottom-nav,
body.salon-inquiry-page .header,
body.salon-inquiry-page .bottom-nav {
    display: none !important;
}

/* Salon Detail 헤더 */
.salon-detail-header {
    background: white;
    padding: 16px;
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 414px;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.salon-detail-back-btn {
    background: none;
    border: none;
    color: #64748b;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.salon-detail-back-btn .material-icons {
    font-size: 24px;
    color: #64748b;
}

.salon-detail-header-right {
    display: flex;
    gap: 16px;
}

.salon-detail-share-btn,
.salon-detail-more-btn {
    background: none;
    border: none;
    color: #64748b;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.salon-detail-share-btn .material-icons,
.salon-detail-more-btn .material-icons {
    font-size: 24px;
    color: #64748b;
}

/* 미용실 이미지 갤러리 */
.salon-detail-gallery {
    margin-top: 60px;
    position: relative;
    background: white;
}

.salon-detail-main-image {
    width: 100%;
    aspect-ratio: 4/3;
    background: linear-gradient(135deg, #8B5CF6 0%, #EC4899 100%);
    position: relative;
    overflow: hidden;
}

.salon-detail-main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.salon-detail-image-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    padding: 6px 12px;
    background: rgba(37, 99, 235, 0.9);
    color: white;
    font-size: 12px;
    font-weight: 600;
    border-radius: 20px;
}

.salon-detail-image-like {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    cursor: pointer;
    padding: 0;
}

.salon-detail-image-like .material-icons {
    color: #ef4444;
    font-size: 20px;
}

.salon-detail-thumbnail-list {
    display: flex;
    gap: 8px;
    padding: 12px 16px;
    overflow-x: auto;
    background: white;
}

.salon-detail-thumbnail-list::-webkit-scrollbar {
    display: none;
}

.salon-detail-thumbnail-item {
    width: 60px;
    height: 60px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    border: 2px solid transparent;
    cursor: pointer;
    background: transparent;
    padding: 0;
}

.salon-detail-thumbnail-item.salon-detail-thumbnail-item-active {
    border-color: #8B5CF6;
}

.salon-detail-thumbnail-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 미용실 기본 정보 */
.salon-detail-info-section {
    background: white;
    padding: 20px 16px;
    margin-bottom: 8px;
}

.salon-detail-broker {
    font-size: 13px;
    color: #94a3b8;
    margin-bottom: 8px;
}

.salon-detail-name {
    font-size: 20px;
    font-weight: 700;
    color: #333;
    margin-bottom: 12px;
    line-height: 1.4;
}

.salon-detail-price {
    padding: 16px;
    background: #f8fafc;
    border-radius: 12px;
    margin-bottom: 16px;
}

.salon-detail-price-label {
    font-size: 13px;
    color: #64748b;
    margin-bottom: 8px;
}

.salon-detail-price-amount {
    font-size: 24px;
    font-weight: 700;
    color: #8B5CF6;
}

.salon-detail-specs {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-top: 16px;
    border-top: 1px solid #f1f5f9;
}

.salon-detail-spec-item {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    color: #64748b;
}

.salon-detail-spec-item .material-icons {
    font-size: 20px;
    color: #8B5CF6;
}

.salon-detail-spec-label {
    min-width: 80px;
    font-weight: 600;
    color: #333;
}

/* 위치 정보 */
.salon-detail-location-section {
    background: white;
    padding: 20px 16px;
    margin-bottom: 8px;
}

.salon-detail-section-title {
    font-size: 16px;
    font-weight: 700;
    color: #333;
    margin-bottom: 16px;
}

.salon-detail-location-info {
    padding: 16px;
    background: #f8fafc;
    border-radius: 12px;
    margin-bottom: 12px;
}

.salon-detail-location-address {
    font-size: 14px;
    color: #333;
    margin-bottom: 8px;
    font-weight: 600;
}

.salon-detail-location-detail {
    font-size: 13px;
    color: #64748b;
    line-height: 1.6;
}

.salon-detail-location-map {
    width: 100%;
    height: 200px;
    border-radius: 12px;
    overflow: hidden;
    background: #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
    font-size: 14px;
}

/* 상세 정보 */
.salon-detail-detail-section {
    background: white;
    padding: 20px 16px;
    margin-bottom: 8px;
}

.salon-detail-detail-content {
    font-size: 14px;
    color: #64748b;
    line-height: 1.7;
    white-space: pre-line;
}

.salon-detail-detail-image {
    width: 100%;
    border-radius: 12px;
    margin: 16px 0;
}

.salon-detail-detail-image img {
    width: 100%;
    border-radius: 12px;
}

.salon-detail-info-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin-top: 16px;
}

.salon-detail-info-card {
    padding: 16px;
    background: #f8fafc;
    border-radius: 12px;
    text-align: center;
}

.salon-detail-info-icon {
    width: 48px;
    height: 48px;
    margin: 0 auto 12px;
    background: linear-gradient(135deg, #8B5CF6 0%, #EC4899 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.salon-detail-info-icon .material-icons {
    color: white;
    font-size: 24px;
}

.salon-detail-info-label {
    font-size: 12px;
    color: #64748b;
    margin-bottom: 4px;
}

.salon-detail-info-value {
    font-size: 16px;
    font-weight: 700;
    color: #333;
}

/* 매매 조건 */
.salon-detail-condition-section {
    background: white;
    padding: 20px 16px;
    margin-bottom: 8px;
}

.salon-detail-condition-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.salon-detail-condition-item {
    display: flex;
    gap: 12px;
    padding: 12px;
    background: #f8fafc;
    border-radius: 8px;
}

.salon-detail-condition-icon {
    width: 40px;
    height: 40px;
    background: #e2e8f0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.salon-detail-condition-icon .material-icons {
    color: #8B5CF6;
    font-size: 20px;
}

.salon-detail-condition-info {
    flex: 1;
}

.salon-detail-condition-label {
    font-size: 13px;
    color: #64748b;
    margin-bottom: 4px;
}

.salon-detail-condition-value {
    font-size: 14px;
    font-weight: 600;
    color: #333;
}

/* 중개사 정보 */
.salon-detail-broker-info-section {
    background: white;
    padding: 20px 16px;
    margin-bottom: 8px;
}

.salon-detail-broker-card {
    display: flex;
    gap: 16px;
    padding: 16px;
    background: #f8fafc;
    border-radius: 12px;
}

.salon-detail-broker-avatar {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: linear-gradient(135deg, #8B5CF6 0%, #EC4899 100%);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 24px;
    font-weight: 600;
}

.salon-detail-broker-info {
    flex: 1;
}

.salon-detail-broker-name {
    font-size: 15px;
    font-weight: 600;
    color: #333;
    margin-bottom: 6px;
}

.salon-detail-broker-contact {
    font-size: 13px;
    color: #64748b;
    margin-bottom: 8px;
}

.salon-detail-broker-link {
    font-size: 13px;
    color: #8B5CF6;
    font-weight: 600;
    text-decoration: none;
}

.salon-detail-broker-link:hover {
    text-decoration: underline;
}

/* 하단 문의 버튼 */
.salon-detail-bottom-actions {
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 414px;
    background: white;
    padding: 16px;
    box-shadow: 0 -2px 8px rgba(0,0,0,0.1);
    display: flex;
    gap: 12px;
    z-index: 100;
}

.salon-detail-action-icon-btn {
    width: 48px;
    height: 48px;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: white;
    cursor: pointer;
    padding: 0;
    transition: all 0.3s ease;
}

.salon-detail-action-icon-btn:hover {
    border-color: #8B5CF6;
    background: #faf5ff;
}

.salon-detail-action-icon-btn .material-icons {
    color: #64748b;
    font-size: 24px;
}

.salon-detail-inquiry-btn {
    flex: 1;
    background: #8B5CF6;
    color: white;
    border: none;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.salon-detail-inquiry-btn:hover {
    background: #7C3AED;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.4);
}

.salon-detail-inquiry-btn .material-icons {
    color: white;
}

/* Salon Detail 반응형 디자인 */
@media (max-width: 480px) {
    body.salon-detail-page {
        padding-bottom: 80px;
    }

    .salon-detail-info-section,
    .salon-detail-location-section,
    .salon-detail-detail-section,
    .salon-detail-condition-section,
    .salon-detail-broker-info-section {
        padding: 16px;
    }

    .salon-detail-thumbnail-item {
        width: 50px;
        height: 50px;
    }
}

/* ============================================
   RECIPE SORT SELECT
   ============================================ */

.recipe-sort-select {
    padding: 6px 12px;
    border: 1px solid #E2E8F0;
    border-radius: 6px;
    font-size: 14px;
    color: #2D3748;
    background: white;
    cursor: pointer;
    transition: all 0.3s ease;
}

.recipe-sort-select:hover {
    border-color: #8B5DBA;
}

.recipe-sort-select:focus {
    outline: none;
    border-color: #8B5DBA;
    box-shadow: 0 0 0 3px rgba(139, 93, 186, 0.1);
}

/* ============================================
   SEARCH POPUP
   ============================================ */

.search-popup {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: white;
    z-index: 9999;
    display: none;
    flex-direction: column;
}

.search-popup.active {
    display: flex;
}

.search-popup-content {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.search-popup-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-bottom: 1px solid #E2E8F0;
    background: white;
    position: sticky;
    top: 0;
    z-index: 10;
}

.search-close-btn {
    background: none;
    border: none;
    color: #4A5568;
    cursor: pointer;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.search-input-wrapper {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    background: #F7FAFC;
    border-radius: 8px;
    padding: 8px 12px;
}

.search-icon {
    color: #8B5DBA;
    font-size: 20px;
}

.search-input {
    flex: 1;
    border: none;
    background: none;
    font-size: 15px;
    color: #2D3748;
    outline: none;
}

.search-input::placeholder {
    color: #A0AEC0;
}

.search-clear-btn {
    background: none;
    border: none;
    color: #A0AEC0;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.search-clear-btn .material-symbols-outlined {
    font-size: 18px;
}

.search-popup-body {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
}

.search-section {
    margin-bottom: 32px;
}

.search-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.search-section-title {
    font-size: 16px;
    font-weight: 700;
    color: #2D3748;
}

.search-clear-all-btn {
    background: none;
    border: none;
    color: #8B5DBA;
    font-size: 13px;
    cursor: pointer;
    padding: 4px 8px;
}

.search-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.search-tag {
    display: flex;
    align-items: center;
    gap: 6px;
    background: #F7FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 20px;
    padding: 6px 12px;
    font-size: 14px;
    color: #2D3748;
}

.search-tag-text {
    cursor: pointer;
}

.search-tag-text:hover {
    color: #8B5DBA;
}

.search-tag-delete {
    background: none;
    border: none;
    color: #A0AEC0;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.search-tag-delete .material-symbols-outlined {
    font-size: 16px;
}

.no-recent-search {
    color: #A0AEC0;
    font-size: 14px;
    text-align: center;
    padding: 20px;
}

.popular-search-list {
    display: flex;
    gap: 0px;
    flex-wrap: wrap;
}

.popular-search-item {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px;
    background: white;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.popular-search-item:hover {
    background: #F7FAFC;
}

.popular-rank {
    width: 16px;
    height: 16px;
    background: linear-gradient(135deg, #8B5DBA 0%, #6B46C1 100%);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 700;
}

.popular-keyword {
    flex: 1;
    font-size: 15px;
    color: #2D3748;
}

.search-results {
    margin-top: 20px;
}

.search-result-item {
    padding: 16px;
    background: #F7FAFC;
    border-radius: 8px;
    margin-bottom: 12px;
}

.search-result-title {
    font-size: 15px;
    font-weight: 600;
    color: #2D3748;
    margin-bottom: 6px;
}

.search-result-desc {
    font-size: 14px;
    color: #718096;
}

.search-result-summary {
    font-size: 15px;
    font-weight: 600;
    color: #8B5DBA;
    padding: 12px 0;
    border-bottom: 1px solid #E2E8F0;
    margin-bottom: 16px;
}

.search-category-section {
    margin-bottom: 24px;
}

.search-category-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 700;
    color: #2D3748;
    padding: 8px 0;
    margin-bottom: 8px;
    border-bottom: 1px solid #E2E8F0;
}

.search-category-title .material-symbols-outlined {
    font-size: 18px;
    color: #8B5DBA;
}

.search-result-item {
    padding: 12px;
    background: white;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    margin-bottom: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.search-result-item:hover {
    background: #F7FAFC;
    border-color: #8B5DBA;
    transform: translateX(4px);
}

.search-result-meta {
    font-size: 12px;
    color: #A0AEC0;
    margin-top: 6px;
}

.search-highlight {
    background: #FEF3C7;
    color: #92400E;
    padding: 2px 4px;
    border-radius: 3px;
    font-weight: 600;
}

.no-search-result {
    text-align: center;
    padding: 60px 20px;
}

.no-search-result .empty-icon {
    color: #CBD5E0;
    margin-bottom: 16px;
}

.no-search-result .empty-title {
    font-size: 16px;
    font-weight: 600;
    color: #4A5568;
    margin-bottom: 8px;
}

.no-search-result .empty-desc {
    font-size: 14px;
    color: #A0AEC0;
}

/* ============================================
   WRITE PAGE STYLES
   ============================================ */

.write-content {
    padding: 20px;
    max-width: 800px;
    margin: 0 auto;
    padding-bottom: 100px;
}

.write-section {
    background: white;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 16px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.write-label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #2D3748;
    margin-bottom: 8px;
}

.required {
    color: #E53E3E;
}

.write-input,
.write-select,
.write-textarea {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #E2E8F0;
    border-radius: 8px;
    font-size: 15px;
    font-family: 'Pretendard', sans-serif;
    transition: all 0.3s ease;
    background: white;
}

.write-input:focus,
.write-select:focus,
.write-textarea:focus {
    outline: none;
    border-color: #8B5DBA;
    box-shadow: 0 0 0 3px rgba(139, 93, 186, 0.1);
}

.write-textarea {
    resize: vertical;
    line-height: 1.6;
    min-height: 200px;
}

.write-select {
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234A5568' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    padding-right: 18px;
}

.char-count {
    text-align: right;
    font-size: 12px;
    color: #A0AEC0;
    margin-top: 6px;
}

.image-upload-area {
    border: 2px dashed #E2E8F0;
    border-radius: 12px;
    padding: 40px 20px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease;
    background: #F7FAFC;
}

.image-upload-area:hover {
    border-color: #8B5DBA;
    background: #EDF2F7;
}

.upload-text {
    font-size: 15px;
    font-weight: 500;
    color: #4A5568;
    margin-top: 12px;
}

.upload-desc {
    font-size: 12px;
    color: #A0AEC0;
    margin-top: 4px;
}

.image-preview-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 12px;
    margin-top: 16px;
}

.image-preview-item {
    position: relative;
    aspect-ratio: 1;
    border-radius: 8px;
    overflow: hidden;
    background: #F7FAFC;
}

.image-preview-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.image-remove-btn {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 24px;
    height: 24px;
    background: rgba(0, 0, 0, 0.7);
    color: white;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.image-remove-btn:hover {
    background: rgba(0, 0, 0, 0.9);
    transform: scale(1.1);
}

.image-remove-btn .material-symbols-outlined {
    font-size: 16px;
}

.submit-header-btn {
    background: #8B5DBA;
    color: white;
    border: none;
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.submit-header-btn:hover {
    background: #6B46C1;
    transform: translateY(-1px);
}

@media (max-width: 768px) {
    .write-content {
        padding: 16px;
        padding-bottom: 80px;
    }

    .write-section {
        padding: 16px;
        margin-bottom: 12px;
    }

    .image-preview-list {
        grid-template-columns: repeat(3, 1fr);
        gap: 8px;
    }
}

/* ============================================
   MARKET PAGE CART BADGE
   ============================================ */

.market-cart-badge {
    position: absolute;
    top: -8px;
    right: -8px;
    background: #E53E3E;
    color: white;
    border-radius: 10px;
    padding: 2px 6px;
    font-size: 11px;
    font-weight: 700;
    min-width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.market-cart-link {
    position: relative;
}