.login-help button{border:0;background:none;padding:0;color:#424047;font:700 10px 'Mulish',sans-serif;text-decoration:underline;text-underline-offset:3px}
.contact-dialog{width:min(660px,calc(100% - 32px));max-height:92svh;margin:auto;padding:0;overflow:auto;overscroll-behavior:contain;border:1px solid #efdbce;border-radius:26px;background:radial-gradient(ellipse at 100% 0,#f3d5c5a0,transparent 60%),#fdf8f4;box-shadow:0 28px 100px #49382b35;color:#424047;font-family:'Mulish',sans-serif}
.contact-dialog::backdrop{background:#40363066;backdrop-filter:blur(7px)}
.contact-top{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 26px;border-bottom:1px solid #eddbce}
.contact-top>span{font-size:10px;letter-spacing:.16em;color:#8d7365;font-weight:700}
.contact-top>button{width:42px;height:42px;border:0;border-radius:50%;background:#ffffff88;color:#645650;font-size:28px;line-height:1}
.contact-body{padding:26px 34px 30px}
.contact-body h2{font:600 clamp(24px,4vw,32px)/1.25 'Poppins',sans-serif;letter-spacing:-.045em;margin:0 0 12px}
.contact-intro{font-size:14px;line-height:1.65;margin:0 0 24px;color:#82746b}
.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.contact-fields label{font-size:12px;font-weight:700;line-height:1.5}
.contact-fields label>span{font-size:10px;font-weight:400;color:#938276}
.contact-fields input,.contact-fields select,.contact-fields textarea{display:block;width:100%;min-width:0;margin-top:7px;padding:11px 13px;border:1px solid #e8d8cc;border-radius:11px;background:#ffffffed;color:#424047;font:400 16px/1.5 'Mulish',sans-serif}
.contact-fields input,.contact-fields select{min-height:46px}
.contact-fields textarea{resize:vertical;min-height:115px;max-height:300px}
.contact-fields input:focus,.contact-fields select:focus,.contact-fields textarea:focus{outline:2px solid #bd8e76;outline-offset:2px;border-color:transparent}
.contact-wide{grid-column:1/-1}
.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-privacy{font-size:11px;line-height:1.6;color:#82746b;margin:15px 0}
.contact-submit{display:flex;width:100%;min-height:48px;align-items:center;justify-content:space-between;gap:12px;padding:12px 19px;border:1px solid #dfa58a;border-radius:13px;background:linear-gradient(115deg,#f4c4ae,#e7ac90);color:#393331;font:700 14px 'Mulish',sans-serif}
.contact-submit:hover{background:linear-gradient(115deg,#efb79b,#e3a182)}
.contact-submit:disabled{opacity:.65;cursor:wait}
.contact-status{font-size:12px;line-height:1.65;color:#87553f;margin:0 0 14px}
.contact-status:empty{display:none}
.contact-booking{border-top:1px solid #eddbce;padding-top:18px;margin:22px 0 0;color:#82746b;font-size:12px;line-height:1.8;text-align:center}
.contact-booking a{display:inline-block;color:#544840;font-weight:700;text-underline-offset:3px}
.contact-success{text-align:center;padding:20px 0}
.contact-check{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#f1d5c4;color:#725541;font-size:25px}
.contact-success h3{font:600 22px 'Poppins',sans-serif;letter-spacing:-.03em;margin:18px 0 10px}
.contact-success p{font-size:14px;line-height:1.7;color:#82746b}
.contact-success button{border:0;border-bottom:1px solid #b88e78;background:none;color:#645650;padding:8px 0;margin-top:14px;font:700 13px 'Mulish',sans-serif}
.contact-dialog [hidden]{display:none!important}
.contact-dialog button:focus-visible,.contact-dialog a:focus-visible,.login-help button:focus-visible{outline:2px solid #424047;outline-offset:4px}
@media(min-width:481px) and (max-height:850px){
  .contact-dialog{max-height:calc(100svh - 24px)}
  .contact-top{padding:8px 24px}.contact-top>button{width:36px;height:36px}
  .contact-body{padding:18px 28px}
  .contact-body h2{font-size:28px;margin-bottom:8px}
  .contact-intro{margin-bottom:16px;font-size:13px}
  .contact-fields{gap:12px 16px}
  .contact-fields input,.contact-fields select{min-height:42px;padding:8px 12px;margin-top:5px}
  .contact-fields textarea{height:92px;min-height:80px;padding:9px 12px;margin-top:5px}
  .contact-privacy{margin:10px 0;font-size:10px}
  .contact-booking{padding-top:12px;margin-top:14px;font-size:11px}
}
@media(min-width:481px) and (max-height:700px){
  .contact-body{padding:14px 24px}.contact-body h2{font-size:24px}
  .contact-intro{margin-bottom:12px}.contact-fields{gap:9px 14px}
  .contact-fields textarea{height:75px;min-height:75px}
  .contact-fields input,.contact-fields select{min-height:38px;padding:6px 10px}
  .contact-submit{min-height:44px}.contact-booking{margin-top:10px;padding-top:8px}
}
@media(max-width:480px){.contact-dialog{width:calc(100% - 20px);max-height:94svh;border-radius:20px}.contact-top{padding:10px 18px}.contact-body{padding:22px}.contact-fields{grid-template-columns:1fr;gap:14px}.contact-intro{margin-bottom:20px}}
