/* Shared public forms: predictable sizing, including native iOS date controls.
   Native date padding/width issue: https://bugs.webkit.org/show_bug.cgi?id=301648 */
body.owner-refresh :is(.hero-inquiry,.package-inquiry-form,.application-form),
body.owner-refresh :is(.hero-inquiry,.package-inquiry-form,.application-form) :is(label,fieldset,.form-row,.date-control) {
  min-width:0;
  min-inline-size:0;
  max-width:100%;
  box-sizing:border-box;
}
body.owner-refresh :is(.package-inquiry-form,.application-form) .form-row {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 20px;
}
body.owner-refresh :is(.hero-inquiry,.package-inquiry-form,.application-form) label {
  gap:8px;
  line-height:1.5;
}
body.owner-refresh :is(.hero-inquiry,.package-inquiry-form,.application-form) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea) {
  display:block;
  box-sizing:border-box;
  width:100%;
  inline-size:100%;
  min-width:0;
  min-inline-size:0;
  max-width:100%;
  margin:0;
  padding:var(--field-padding,14px);
  border:1px solid var(--field-border,#71826A);
  border-radius:4px;
  background-color:var(--field-bg,#1F211E);
  color:var(--field-text,#E2E8CE);
  font:400 16px/1.5 var(--sans);
  letter-spacing:0;
  -webkit-appearance:none;
  appearance:none;
}
body.owner-refresh :is(.hero-inquiry,.package-inquiry-form,.application-form) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select) {
  height:54px;
  min-height:54px;
}
body.owner-refresh :is(.hero-inquiry,.package-inquiry-form,.application-form) textarea {
  min-height:112px;
  resize:vertical;
}
body.owner-refresh :is(.hero-inquiry,.package-inquiry-form,.application-form) select {
  --field-padding:14px 44px 14px 14px;
  padding-right:44px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23E2E8CE' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 13px center;
  background-size:20px;
  text-overflow:ellipsis;
}
body.owner-refresh :is(.hero-inquiry,.package-inquiry-form,.application-form) :is(input,select,textarea):focus-visible {
  --field-border:#F58A07;
  border-color:#F58A07;
  outline:2px solid #F58A07;
  outline-offset:3px;
}
body.owner-refresh :is(.hero-inquiry,.package-inquiry-form,.application-form) [aria-invalid=true] {
  --field-border:#F58A07;
  border-color:#F58A07;
}
body.owner-refresh :is(.hero-inquiry,.package-inquiry-form,.application-form) ::placeholder {
  color:#ACBFA4;
  opacity:1;
}
body.owner-refresh .date-control {
  display:block;
  position:relative;
  width:100%;
  isolation:isolate;
}
body.owner-refresh :is(.hero-inquiry,.package-inquiry-form) .date-control>input {
  /* Keep padding off the native host; iOS can add it outside width:100%. */
  --field-padding:0;
  -webkit-appearance:none;
  appearance:none;
  padding:0;
  text-align:left;
}
.date-control>input::-webkit-date-and-time-value { text-align:left; min-height:24px; padding:0 44px 0 14px; }
.date-control>input::-webkit-datetime-edit { padding:0 44px 0 14px; min-width:0; }
.date-control>input::-webkit-calendar-picker-indicator { position:absolute; inset:0; width:100%; height:100%; padding:0; margin:0; opacity:0; cursor:pointer; }
.date-control>.ui-icon { position:absolute; width:19px; height:19px; top:50%; right:15px; transform:translateY(-50%); color:#ACBFA4; pointer-events:none; }
.date-control .date-placeholder { display:none; position:absolute; inset:1px 42px 1px 15px; align-items:center; font:400 16px/1.5 var(--sans); color:#ACBFA4; pointer-events:none; white-space:nowrap; }
body.owner-refresh .date-control.is-empty:not(:focus-within)>input { --field-text:transparent; color:transparent; }
.date-control.is-empty:not(:focus-within)>input::-webkit-datetime-edit { color:transparent; }
.date-control.is-empty:not(:focus-within) .date-placeholder { display:flex; }
body.owner-refresh .field-label-line { display:flex; align-items:baseline; flex-wrap:wrap; gap:5px 8px; }
body.owner-refresh .field-label-line .optional { margin:0; font-size:12px; line-height:inherit; }
body.owner-refresh .application-form .resume-upload { margin-bottom:24px; }
body.owner-refresh :is(.package-inquiry-form,.application-form) .field-error { display:block; margin-top:2px; line-height:1.6; overflow-wrap:anywhere; }
body.owner-refresh :is(.hero-inquiry,.package-inquiry-form,.application-form) :is(input,select,textarea,button) { scroll-margin-block:100px; }
body.owner-refresh .package-inquiry-form .inquiry-group+ .inquiry-group { margin-top:6px; padding-top:22px; }
body.owner-refresh .package-inquiry-form .inquiry-group legend { float:left; margin-bottom:20px; }
body.owner-refresh .package-inquiry-form .inquiry-group::after { content:""; display:table; clear:both; }
body.owner-refresh .package-inquiry-form .inquiry-group>legend+* { clear:both; }

@media(max-width:760px) {
  body.owner-refresh :is(.package-inquiry-form,.application-form) .form-row { grid-template-columns:minmax(0,1fr); gap:0; }
}
@media(max-width:640px) {
  body.owner-refresh .owner-hero .hero-inquiry { grid-template-columns:minmax(0,1fr); gap:20px; padding:24px 20px; border-radius:6px; }
  body.owner-refresh .hero-inquiry label { grid-column:1/-1; font-size:13px; }
  body.owner-refresh .hero-inquiry .planner-title h2 { font-size:36px; }
  body.owner-refresh .hero-inquiry .planner-title p { font-size:13px; line-height:1.65; }
  body.owner-refresh .hero-inquiry .button { margin-top:2px; min-height:54px; }
  body.owner-refresh .hero-inquiry>.hero-form-note { font-size:12px; }
  body.owner-refresh .inquiry-layout>.booking-panel { padding:24px 20px; border-radius:6px; }
  body.owner-refresh .package-inquiry #booking-context { padding:14px 15px; margin-bottom:26px; font-size:13px; line-height:1.65; }
  body.owner-refresh :is(.package-inquiry-form,.application-form) label { margin-bottom:22px; font-size:14px; }
  body.owner-refresh .package-inquiry-form .inquiry-group { margin-bottom:26px; }
  body.owner-refresh .package-inquiry-form .inquiry-group legend { font-size:31px; margin-bottom:22px; }
  body.owner-refresh .package-inquiry-form .checkbox { font-size:13px; gap:12px; }
  body.owner-refresh :is(.package-inquiry-form,.application-form) .button[type=submit] { width:100%; min-width:0; min-height:54px; justify-content:space-between; }
  body.owner-refresh .resume-upload { padding:16px; min-width:0; }
  body.owner-refresh .resume-upload input[type=file] { min-width:0; width:100%; font-size:14px; padding:8px; }
  body.owner-refresh .resume-upload input[type=file]::file-selector-button { max-width:100%; margin-right:10px; padding:11px; font-size:13px; }
  body.owner-refresh .resume-selection-row { flex-wrap:wrap; gap:8px 16px; }
}
@media(max-width:360px) {
  body.owner-refresh .owner-hero .hero-inquiry,
  body.owner-refresh .inquiry-layout>.booking-panel { padding:22px 16px; }
}
@media(forced-colors:active) {
  body.owner-refresh .date-control>.ui-icon { color:ButtonText; }
  body.owner-refresh .date-control.is-empty:not(:focus-within)>input { --field-text:FieldText; color:FieldText; }
  .date-control.is-empty:not(:focus-within) .date-placeholder { display:none; }
  body.owner-refresh :is(.hero-inquiry,.package-inquiry-form,.application-form) select { appearance:auto; background-image:none; }
}
