﻿:root {
	--primary: #58BD38;
	--primary-dark: #4a9f2e;
	--card-bg: rgba(255, 255, 255, 0.78);
	--card-border: rgba(255, 255, 255, 0.65);
	--card-shadow: 0 8px 40px rgba(0, 0, 0, 0.07);
	--text-primary: #2c3329;
	--text-secondary: #5a6556;
	--text-muted: #8a9485;
	--input-bg: rgba(255, 255, 255, 0.55);
	--input-border: rgba(180, 195, 175, 0.5);
	--input-focus-border: rgba(88, 189, 56, 0.7);
	--input-focus-shadow: 0 0 0 5px rgba(88, 189, 56, 0.12);
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif;
	background: linear-gradient(160deg, #f2f5f1 0%, #f7f8f5 30%, #f4f7f2 55%, #f1f4ef 75%, #f5f7f3 100%);
	background-attachment: fixed;
	min-height: 100vh;
	display: flex; align-items: center; justify-content: center;
	padding: 30px 20px; -webkit-tap-highlight-color: transparent;
}
.main-container {
	width: 100%;
	max-width: 900px;
	display: flex;
	flex-direction: column;
	gap: 22px;
	position: relative;
	z-index: 1;
	padding-bottom: 50px;
}
.page-header { text-align: center; padding: 20px 10px 20px 10px; }
.page-header h1 {
	font-size: 36px;
	font-weight: bold;

color: var(--text-primary); 		line-height: 48px;
	margin-bottom: 15px;
}
.page-header .subtitle { font-size: 1rem; color: var(--text-muted); }
.glass-card {
	background: var(--card-bg);
	backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
	border: 1px solid var(--card-border); 	border-radius: 24px;

	box-shadow: var(--card-shadow), inset 0 1px 0 rgba(255,255,255,0.7);
	padding: 50px 80px 80px 80px;
	transition: all 0.35s;
	position: relative;
	
}
.glass-card::after {
	content: ''; position: absolute; top: 0; left: 24px; right: 24px; height: 1px;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,0.7) 30%, rgba(255,255,255,0.8) 50%, rgba(255,255,255,0.7) 70%, transparent);
	border-radius: 50%; pointer-events: none;
}
.notice-bar {
	display: flex; align-items: flex-start; gap: 12px;
	background: rgba(255,251,235,0.62); backdrop-filter: blur(12px);
	border: 1px solid rgba(220,200,140,0.5); border-radius: 16px;
	padding: 20px 40px 30px 40px; font-size: 15px; color: #7a6830; line-height: 28px;
}
.notice-bar strong { color: #5c4a1f; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 30px; }
.form-group { display: flex; flex-direction: column; gap: 6px; }
.form-label { font-size: 0.96rem; font-weight: 600; color: var(--text-secondary); display: flex; align-items: center; gap: 7px; }
.form-label .label-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--primary); box-shadow: 0 0 7px rgba(88,189,56,0.2); }
select {
	appearance: none; -webkit-appearance: none;
	background: var(--input-bg); backdrop-filter: blur(8px);
	border: 1.5px solid var(--input-border); border-radius: 13px;
	padding: 12px 16px; font-size: 0.98rem; font-family: inherit; color: var(--text-primary);
	cursor: pointer; width: 100%; box-shadow: 0 1px 3px rgba(0,0,0,0.03);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='9' viewBox='0 0 13 9'%3E%3Cpath d='M1.5 1.8L6.5 6.8L11.5 1.8' stroke='%238a9485' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 15px center; padding-right: 40px;
}
select:focus { outline: none; border-color: var(--input-focus-border); box-shadow: var(--input-focus-shadow); }
.switch-row {
	display: flex; align-items: center; justify-content: space-between;
	padding: 11px 16px; background: var(--input-bg); backdrop-filter: blur(8px);
	border-radius: 13px; border: 1.5px solid var(--input-border);
	cursor: pointer; user-select: none; box-shadow: 0 1px 3px rgba(0,0,0,0.03); min-height: 48px;
}
.switch-row .switch-label-text { font-size: 0.95rem; color: var(--text-primary); font-weight: 500; }
.switch-track {
	width: 50px; height: 29px; background: #d5dcd2; border-radius: 15px;
	position: relative; transition: all 0.3s; flex-shrink: 0; box-shadow: inset 0 1px 3px rgba(0,0,0,0.1);
}
.switch-track.active { background: var(--primary); box-shadow: 0 0 12px rgba(88,189,56,0.25); }
.switch-track::after { content: ''; position: absolute; top: 3px; left: 3px; width: 23px; height: 23px; background: #fff; border-radius: 50%; transition: all 0.3s; }
.switch-track.active::after { left: 24px; }
.btn-row { display: flex; justify-content: center; gap: 20px; margin-top: 50px; }
.btn { min-width: 220px; padding: 15px 25px; border-radius: 15px; font-size: 18px; font-weight: bold; cursor: pointer; border: none; transition: all 0.3s; }
.btn-primary { background: linear-gradient(135deg, var(--primary), #4ea532); color: #fff; box-shadow: 0 7px 24px rgba(88,189,56,0.38); }
.btn-primary:hover { box-shadow: 0 12px 32px rgba(88,189,56,0.48); transform: translateY(-2px); }
.btn-secondary { background: rgba(255,255,255,0.45); backdrop-filter: blur(12px); color: var(--text-secondary); border: 1.5px solid rgba(180,195,175,0.55); }
.result-area { text-align: center; padding: 6px 4px; }
.result-price { font-size: 2.6rem; font-weight: 800; color: var(--primary-dark); display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; }
.placeholder-price-style { font-size: 1.56rem; font-weight: 800; color: var(--primary-dark); text-align: center; }

.result-detail { margin-top: 16px; font-size: 0.9rem; color: var(--text-muted); line-height: 1.7; background: rgba(255,255,255,0.90); border-radius: 12px; padding: 20px 25px; backdrop-filter: blur(8px); text-align: left; box-shadow: var(--card-shadow), inset 0 1px 0 rgba(255,255,255,0.5);}
.result-detail span { color: var(--text-secondary); font-weight: 500; }
.result-placeholder-inner { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 190px; gap: 14px; }
.result-tag { display: inline-block; background: rgba(88,189,56,0.08); color: #3d7a25; font-size: 15px; padding: 8px 20px; border-radius: 22px; margin-top: 10px; }
.age-indicator {
	display: inline-flex; align-items: center; gap: 5px; font-size: 0.82rem; font-weight: 500;
	background: rgba(255,255,255,0.7); padding: 4px 11px; border-radius: 22px;
	border: 1px solid rgba(200,210,195,0.55); margin-left: 5px; white-space: nowrap;
}
.age-indicator.fresh { color: #3d7a25; } .age-indicator.old { color: #b88a3a; } .age-indicator.vintage { color: #c06050; }
.year-warning { background: rgba(255,240,210,0.75); border: 1px solid rgba(220,180,100,0.65); border-radius: 12px; padding: 12px 16px; margin-bottom: 14px; color: #8a5d1c; font-size: 0.88rem; text-align: left; }

.footer-note {
	color: #333333;
	font-size: 16px;
	text-align: center;
	line-height: 32px;
	padding: 10px 30px;
}



@media (max-width: 620px) {
	.main-container {
		gap: 15px;
	}
	.notice-bar {
		padding: 20px 20px 30px 20px; 
	}
	.page-header h1 {
		font-size: 28px;
		margin-bottom: 10px;
	}
	.form-grid { grid-template-columns: 1fr; } 
	.glass-card { padding: 30px 30px; }
	.glass-card-2 { padding: 30px 20px; }
	.btn-row { flex-direction: column; align-items: center; gap: 12px; }
	.btn-row button { width: 100%; max-width: 280px; }
	.result-area { padding: 6px 0px 30px 0px; }
	.placeholder-price-style { font-size: 20px;}
	.result-price { font-size: 28px !important; }
	
}



/* ========== 同城二手钢琴咨询版块样式 ========== */
.consult-header {
    text-align: center;
    padding-bottom: 20px;
    margin-bottom: 8px;
    border-bottom: 1px solid rgba(180, 195, 175, 0.35);
}
.consult-header h3 {
    font-size: 1.8rem;
    font-weight: bold;
	line-height: 1.5;
    color: #2c3329;
    margin-bottom: 10px;
}
.consult-header p {
    font-size: 0.9rem;
    color: #8a9485;
	margin-bottom: 10px;
}

/* 咨询表单网格（与主表单一致，但可单独微调间距） */
.consult-form-grid {
    gap: 16px;
}

/* 通用输入框、文本域样式（与原有 select 框视觉统一） */
.form-input,
.form-textarea {
    appearance: none;
    -webkit-appearance: none;
    background: rgba(255, 255, 255, 0.55);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1.5px solid rgba(180, 195, 175, 0.5);
    border-radius: 13px;
    padding: 12px 16px;
    font-size: 0.98rem;
    font-family: inherit;
    color: #2c3329;
    width: 100%;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
    outline: none;
    transition: all 0.25s ease;
}
.form-textarea {
    resize: vertical;
    min-height: 80px;
}
.form-input:focus,
.form-textarea:focus {
    border-color: rgba(88, 189, 56, 0.7);
    box-shadow: 0 0 0 5px rgba(88, 189, 56, 0.12);
    background: rgba(255, 255, 255, 0.72);
}

/* 咨询表单中跨整行的项目 */
.consult-full-width {
    grid-column: 1 / -1;
}

/* 咨询提交按钮行 */
.consult-btn-row {
    margin-top: 16px;
}
.consult-btn-row .btn {
    min-width: 200px;
    max-width: 280px;
}

/* 手机端适配 */
@media (max-width: 620px) {
    .consult-form-grid {
        gap: 14px;
    }
    .consult-btn-row {
        margin-top: 12px;
    }
    .consult-btn-row .btn {
        width: 100%;
        max-width: 100%;
    }
}
