.contact-section{max-width:var(--content-max-width);flex-direction:column;gap:32px;margin-left:auto;margin-right:auto;display:flex}.contact-section-title{color:var(--color-text-primary);margin:0;font-size:24px;font-weight:700}.contact-guest-notice{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);color:var(--color-warning-text);border-radius:8px;align-items:center;gap:10px;padding:12px 16px;font-size:13px;font-weight:500;display:flex}.contact-guest-notice svg{flex-shrink:0}.contact-alert-error{background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error-text);border-radius:8px;align-items:center;gap:10px;padding:12px 16px;font-size:13px;font-weight:500;display:flex}.contact-alert-error svg{flex-shrink:0}.contact-form-new{flex-direction:column;gap:24px;display:flex}.contact-row-3{grid-template-columns:1fr 1fr 1fr;gap:20px;display:grid}.contact-row-2{grid-template-columns:1fr 1fr;gap:20px;display:grid}.contact-field{flex-direction:column;gap:8px;display:flex}.contact-label{color:var(--color-text-primary);font-size:13px;font-weight:500}.contact-required{color:var(--color-error-icon)}.contact-input{border:1px solid var(--color-border);background:var(--color-bg-white);width:100%;height:48px;font-size:var(--text-body-sm);font-family:var(--font-body);color:var(--color-text-primary);box-sizing:border-box;border-radius:8px;outline:none;padding:0 16px;transition:border-color .15s}.contact-input::placeholder{color:var(--color-text-placeholder)}.contact-input:focus{border-color:var(--color-primary)}.contact-input:read-only{background:var(--color-bg-light);color:var(--color-text-secondary)}.contact-input.contact-select{appearance:none;border:1px solid var(--color-border);height:48px;color:var(--color-text-primary);background:var(--color-bg-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23B0C4DE' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 14px center / 18px 18px;cursor:pointer;border-radius:8px;padding:0 44px 0 16px;font-size:14px;transition:border-color .15s}.contact-input.contact-select:hover{border-color:#cbd5e0}.contact-input.contact-select:focus{border-color:var(--color-primary);outline:none}.contact-file-input{color:var(--color-text-secondary);font-size:13px}.contact-file-input::file-selector-button{border:1px solid var(--color-border);background:var(--color-gray-50);height:36px;font-size:13px;font-family:var(--font-body);color:var(--color-text-body);cursor:pointer;border-radius:6px;margin-right:12px;padding:0 16px;transition:background .15s}.contact-file-input::file-selector-button:hover{background:#edf2f7}.contact-file-hint{color:var(--color-text-secondary);font-size:12px}.contact-textarea{border:1px solid var(--color-border);background:var(--color-bg-white);width:100%;height:180px;font-size:var(--text-body-sm);font-family:var(--font-body);color:var(--color-text-primary);resize:vertical;box-sizing:border-box;border-radius:8px;outline:none;padding:16px;transition:border-color .15s}.contact-textarea::placeholder{color:var(--color-text-placeholder)}.contact-textarea:focus{border-color:var(--color-primary)}.contact-agree{cursor:pointer;align-items:center;gap:8px;display:flex}.contact-agree input[type=checkbox]{opacity:0;width:0;height:0;position:absolute}.contact-agree-box{border:1.5px solid var(--color-border-checkbox);background:var(--color-bg-white);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;transition:background .15s,border-color .15s;display:flex}.contact-agree input[type=checkbox]:checked+.contact-agree-box{background:var(--color-primary);border-color:var(--color-primary)}.contact-agree input[type=checkbox]:checked+.contact-agree-box:after{content:"";border:solid var(--color-bg-white);border-width:0 2px 2px 0;width:5px;height:9px;margin-top:-1px;display:block;transform:rotate(45deg)}.contact-agree-label{color:var(--color-text-secondary);font-size:13px}.contact-privacy{flex-direction:column;gap:12px;display:flex}.contact-privacy-content{background:var(--color-gray-50);border:1px solid var(--color-border);border-radius:8px;padding:16px 20px}.contact-privacy-title{color:var(--color-text-body);margin:0 0 10px;font-size:13px;font-weight:600}.contact-privacy-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.contact-privacy-list li{color:var(--color-text-secondary);gap:4px;font-size:12px;line-height:1.5;display:flex}.contact-privacy-dt{color:var(--color-text-body);white-space:nowrap;font-weight:600}.contact-privacy-dt:after{content:" : "}.contact-privacy-notice{color:var(--color-text-secondary);margin:10px 0 0;font-size:12px;line-height:1.5}.contact-submit-btn{background:var(--color-primary);width:200px;height:48px;color:var(--color-bg-white);font-size:15px;font-weight:600;font-family:var(--font-body);cursor:pointer;border:none;border-radius:8px;transition:background .15s}.contact-submit-btn:hover:not(:disabled){background:var(--color-primary-hover)}.contact-submit-btn:disabled{background:var(--color-border);color:var(--color-text-placeholder);cursor:not-allowed}.contact-info-box{background:var(--color-info-bg);border:1px solid var(--color-info-border);border-radius:8px;align-items:flex-start;gap:12px;padding:16px 20px;display:flex}.contact-info-box svg{flex-shrink:0;margin-top:1px}.contact-info-content{flex-direction:column;gap:4px;display:flex}.contact-info-content strong{color:var(--color-primary-dark);font-size:13px;font-weight:600}.contact-info-content p{color:var(--color-text-secondary);margin:0;font-size:12px;font-weight:400;line-height:1.5}.contact-done{justify-content:center;align-items:center;min-height:60vh;padding:48px 24px;display:flex}.contact-done-card{text-align:center;max-width:480px}.contact-done-icon{margin-bottom:24px}.contact-done-title{color:var(--color-primary-dark);margin:0 0 12px;font-size:28px;font-weight:700}.contact-done-desc{color:var(--color-text-secondary);margin:0 0 32px;font-size:15px;line-height:1.7}.contact-done-actions{justify-content:center;gap:12px;display:flex}@media (max-width:768px){.contact-row-3,.contact-row-2{grid-template-columns:1fr}.contact-submit-btn{width:100%}}
