@charset "utf-8";
/* 私人订制 */
.dz-wrapper { width: 1200px; margin: 40px auto; font-family: -apple-system, "Microsoft YaHei", sans-serif; }
.dz-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; background: #fff; padding: 40px 50px; border-radius: 12px; box-shadow: 0 10px 40px rgba(0,0,0,0.03); }
.dz-title-box { display: flex; flex-direction: column; justify-content: center; position: relative; padding-left: 20px; }
.dz-title-box::before { content: ''; position: absolute; left: 0; top: 5px; bottom: 5px; width: 4px; background: linear-gradient(to bottom, #4dc4c4, #00706c); border-radius: 4px; }
.dz-title-box h2 { font-size: 34px; color: #1a1a1a; margin: 0 0 6px 0; font-weight: bold; letter-spacing: 3px; line-height: 1; }
.dz-title-box span { font-size: 20px; color: #00706c; font-family: "Palatino Linotype", "Book Antiqua", Palatino, serif; font-style: italic; letter-spacing: 1px; line-height: 1; font-weight: 600; }
.dz-features { display: flex; gap: 65px; }
.dz-feature-item { display: flex; flex-direction: column; align-items: center; transition: transform 0.3s ease; }
.dz-feature-item:hover { transform: translateY(-5px); }
.dz-feature-icon { width: 68px; height: 68px; background: linear-gradient(135deg, #4dc4c4, #008f8a); border-radius: 50%; display: flex; justify-content: center; align-items: center; margin-bottom: 16px; box-shadow: 0 8px 20px rgba(0,112,108,0.2); }
.dz-feature-icon svg { width: 34px; height: 34px; fill: #fff; }
.dz-feature-item span { font-size: 15px; color: #4a4a4a; font-weight: bold; letter-spacing: 1px; }
.dz-main-box { background: #fff; padding: 50px 70px; box-sizing: border-box; border-radius: 12px; box-shadow: 0 15px 40px rgba(0,0,0,0.03); }
.dz-section { display: flex; border-bottom: 1px solid #f0f0f0; padding-bottom: 45px; margin-bottom: 45px; }
.dz-section:last-child { border-bottom: none; padding-bottom: 0; margin-bottom: 0; }
.dz-sec-left { width: 190px; font-size: 22px; color: #111; flex-shrink: 0; padding-top: 8px; font-weight: bold; letter-spacing: 1px; }
.dz-sec-right { flex: 1; }
.dz-row { display: flex; align-items: center; margin-bottom: 24px; }
.dz-row:last-child { margin-bottom: 0; }
.dz-label { width: 110px; font-size: 15px; color: #555; font-weight: bold; }
.dz-input { height: 44px; background-color: #f8fafc; border: 1px solid transparent; border-radius: 6px; padding: 0 16px; font-size: 15px; color: #111; outline: none; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); box-sizing: border-box; font-weight: 500; }
.dz-input::placeholder, .dz-textarea::placeholder { color: #a0aec0; font-weight: normal; }
.dz-input:hover, .dz-textarea:hover { background-color: #f1f5f9; }
.dz-input:focus, .dz-textarea:focus { background-color: #fff; border-color: #4dc4c4; box-shadow: 0 0 0 4px rgba(77,196,196,0.1); }
.dz-input.error { border-color: #ef4444; background-color: #fef2f2; box-shadow: 0 0 0 4px rgba(239,68,68,0.1); }
.dz-input-sm { width: 160px; }
.dz-input-md { width: 340px; }
.dz-textarea { width: 100%; max-width: 680px; height: 130px; background-color: #f8fafc; border: 1px solid transparent; border-radius: 8px; padding: 16px; font-size: 15px; color: #111; outline: none; resize: vertical; transition: all 0.3s ease; box-sizing: border-box; font-family: inherit; line-height: 1.6; }
.dz-check-group { display: flex; flex-wrap: wrap; gap: 12px; }
.dz-check-label { position: relative; display: inline-block; cursor: pointer; }
.dz-check-label input { position: absolute; opacity: 0; width: 0; height: 0; }
.dz-check-btn { display: inline-block; padding: 10px 24px; border: 1px solid #e2e8f0; border-radius: 30px; color: #64748b; font-size: 14px; transition: all 0.25s ease; user-select: none; font-weight: 500; background: #fff; }
.dz-check-label:hover .dz-check-btn { border-color: #cbd5e1; background: #f8fafc; }
.dz-check-label input:checked + .dz-check-btn { border-color: #00706c; color: #00706c; background-color: #f0fdfa; font-weight: bold; box-shadow: 0 2px 10px rgba(0,112,108,0.1); }
.dz-submit-btn { background: linear-gradient(135deg, #e60012, #c8000f); color: #fff; border: none; width: 240px; height: 52px; font-size: 18px; font-weight: bold; cursor: pointer; letter-spacing: 6px; transition: all 0.3s ease; border-radius: 6px; text-indent: 6px; box-shadow: 0 6px 20px rgba(230,0,18,0.25); }
.dz-submit-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 25px rgba(230,0,18,0.35); }
.dz-submit-btn:active { transform: translateY(0); box-shadow: 0 4px 15px rgba(230,0,18,0.2); }
.dz-sep { margin: 0 15px; color: #94a3b8; }
.dz-unit { margin-left: 12px; color: #64748b; font-size: 15px; }
.custom-date-input { background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%234dc4c4" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg>') !important; background-repeat:no-repeat !important; background-position:right 14px center !important; background-size:18px !important; cursor:pointer; padding-right:40px !important; caret-color:transparent; }
.vanilla-calendar { position:absolute; z-index:1000; background-color:#fff; border:1px solid #f0f0f0; border-radius:8px; box-shadow:0 10px 40px rgba(0,0,0,0.12); width:290px; display:none; padding:0; font-family:-apple-system, "Microsoft YaHei", sans-serif; overflow:hidden; }
.vc-header { display:flex; justify-content:space-between; align-items:center; background-color:#00706c; color:#fff; padding:14px 18px; font-size:16px; font-weight:bold; }
.vc-header span { cursor:pointer; padding:0 10px; color:#fff; user-select:none; font-size:20px; font-weight:bold; transition: opacity 0.2s; }
.vc-header span:hover { opacity:0.7; }
.vc-weekdays { display:grid; grid-template-columns:repeat(7, 1fr); text-align:center; font-size:13px; color:#94a3b8; padding:15px 15px 8px; font-weight:bold; }
.vc-days { display:grid; grid-template-columns:repeat(7, 1fr); gap:6px; text-align:center; padding:0 15px 15px; }
.vc-day { height:34px; line-height:34px; border-radius:6px; cursor:pointer; font-size:14px; color:#333; transition:all 0.2s; font-weight:500; }
.vc-day:hover:not(.disabled) { background-color:#00706c; color:#fff; font-weight:bold; box-shadow: 0 4px 10px rgba(0,112,108,0.3); transform: scale(1.05); }
.vc-day.disabled { color:#cbd5e1; cursor:not-allowed; background-color:#f8fafc; }