.contact-page{background:#f6f5ef;padding-bottom:84px}.contact-intro{padding:62px 0 36px}.contact-intro h1{margin:9px 0 14px;font-size:clamp(2.8rem,5vw,4.8rem)}.contact-intro p{max-width:760px;margin:0;color:#657269;font-size:19px}.contact-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:30px;align-items:start}.host-card,.contact-form-card{background:#fff;border:1px solid #d7e0d8;border-radius:22px;box-shadow:0 18px 55px rgba(28,57,40,.08)}.host-card{padding:30px}.host-card img{display:block;width:112px;height:112px;margin-bottom:24px;border-radius:18px;object-fit:cover}.host-card h2{margin:8px 0 12px;font-size:29px}.host-card p{color:#657269}.booking-hint{display:block;margin-top:26px;padding:18px;background:#edf3ec;border-radius:12px;color:#214f38}.booking-hint strong,.booking-hint span{display:block}.booking-hint span{margin-top:7px;font-size:14px}.contact-form-card{padding:46px 50px}.contact-form-heading{display:flex;align-items:flex-start;gap:22px;margin-bottom:36px}.section-number{flex:0 0 54px;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#214f38;color:#fff;font-size:22px;font-weight:800}.contact-form-heading h2{margin:0 0 6px;font-size:clamp(2rem,3vw,3rem)}.contact-form-heading p{margin:0;color:#748078;font-size:17px}.contact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 28px}.contact-field{display:flex;min-width:0;flex-direction:column;gap:9px;margin:0;color:#314238}.field-label{display:inline-flex;align-items:baseline;gap:5px;min-height:24px;font-weight:750;font-size:15px}.field-label em,.contact-privacy em{color:#b44a3d;font-style:normal}.contact-field input,.contact-field textarea{display:block;width:100%;margin:0;border:1px solid #becdc1;border-radius:11px;background:#fff;color:#233128;font:inherit;font-size:16px;box-shadow:none}.contact-field input{height:54px;padding:10px 14px}.contact-field textarea{min-height:155px;padding:14px;resize:vertical}.contact-field input:focus,.contact-field textarea:focus{outline:0;border-color:#31704d;box-shadow:0 0 0 3px rgba(49,112,77,.13)}.contact-field-wide{grid-column:1/-1}.form-highlight{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.contact-privacy{display:flex;align-items:flex-start;gap:12px;margin:26px 0 0;color:#34443a;line-height:1.55;font-weight:400;cursor:pointer}.contact-privacy input{flex:0 0 20px;width:20px;height:20px;margin:2px 0 0;accent-color:#24563c}.contact-submit-row{display:flex;align-items:center;justify-content:space-between;gap:26px;margin-top:28px}.contact-submit-row .btn{flex:0 0 auto;min-width:220px}.contact-submit-row small{color:#748078;text-align:right}.contact-message{margin-top:24px;padding:14px 17px;border-radius:10px;font-weight:650}.contact-message.success{background:#e6f3e9;color:#1d5b37}.contact-message.error{background:#fbe9e6;color:#8d3028}.contact-form-card button.loading{opacity:.7;cursor:wait}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr}.host-card{display:grid;grid-template-columns:120px 1fr;column-gap:24px}.host-card img{grid-row:1/5}.host-card .booking-hint{grid-column:1/-1}.contact-form-card{padding:40px 34px}}
@media(max-width:620px){.contact-page{padding-bottom:50px}.contact-intro{padding:38px 0 25px}.contact-intro p{font-size:16px}.contact-content .container{width:100%;padding:0 14px}.host-card,.contact-form-card{border-radius:16px}.host-card{display:block;padding:24px 20px}.host-card img{width:88px;height:88px}.contact-form-card{padding:30px 20px}.contact-form-heading{gap:14px;margin-bottom:28px}.section-number{flex-basis:42px;width:42px;height:42px;font-size:18px}.contact-form-heading h2{font-size:2rem}.contact-form-heading p{font-size:15px}.contact-form-grid{grid-template-columns:1fr;gap:20px}.contact-field-wide{grid-column:1}.contact-field input{height:52px}.contact-submit-row{align-items:stretch;flex-direction:column}.contact-submit-row .btn{width:100%;min-width:0}.contact-submit-row small{text-align:left}}
.contact-layout:before,.contact-layout:after{display:none!important;content:none!important}
.contact-field.has-error input,.contact-field.has-error textarea{border-color:#b44438;background:#fff9f8;box-shadow:0 0 0 3px rgba(180,68,56,.1)}.contact-privacy.has-error{flex-wrap:wrap;padding:12px;border-radius:10px;background:#fff0ee;color:#812f27}.field-error{display:block;color:#a43b31;font-size:13px;font-weight:650;line-height:1.35}.contact-privacy .field-error{flex-basis:100%;margin-left:32px}.contact-message.error{border:1px solid #efc3bd}
