/* Scoped enquiry additions. The original footer and villa calendars retain their layout. */
#inquiry-form .ch-inquiry-calendar,
#inquiry-form .ch-inquiry-contacts,
.ch-quick-inquiry { --ch-inquiry-copy: 17px; font-family: var(--sans, sans-serif); }
#inquiry-form .ch-inquiry-calendar { border: 1px solid var(--line, #dcded5); background: #fffdf8; padding: 22px 18px; margin: 0; min-width: 0; }
#inquiry-form .ch-inquiry-calendar h3 { font: 400 30px/1.2 var(--serif, serif); margin: 0 0 12px; letter-spacing: normal; }
#inquiry-form .ch-inquiry-calendar p,
#inquiry-form .ch-inquiry-calendar-legend,
#inquiry-form .ch-inquiry-contacts .ch-inquiry-contact-help,
.ch-calendar-email-hint,
.ch-quick-inquiry p { font-size: var(--ch-inquiry-copy, 17px); line-height: 1.7; letter-spacing: normal; }
#inquiry-form .ch-inquiry-calendar p { margin: 10px 0; }
#inquiry-form .ch-inquiry-calendar-status { color: var(--muted, #5d6458); }
#inquiry-form .ch-inquiry-calendar-rules { padding-bottom: 12px; border-bottom: 1px solid var(--line, #dcded5); }
#inquiry-form .ch-inquiry-date-modes { display: flex; gap: 8px; margin: 18px 0 10px; }
#inquiry-form .ch-inquiry-date-modes button { flex: 1; font: 500 15px/1.4 var(--sans, sans-serif); padding: 10px 8px; background: transparent; border: 1px solid #a3ad97; border-radius: 2px; color: var(--ink, #273629); min-height: 44px; }
#inquiry-form .ch-inquiry-date-modes button[aria-pressed="true"] { color: #fff; background: #3e533d; border-color: #3e533d; }
#inquiry-form .ch-inquiry-calendar-controls { display: grid; grid-template-columns: 44px minmax(0,1fr) 44px; align-items: center; gap: 8px; margin: 14px 0; text-align: center; }
#inquiry-form .ch-inquiry-calendar-controls span { font: 500 17px/1.35 var(--sans, sans-serif); }
#inquiry-form .ch-inquiry-calendar-controls button { min-height: 44px; border: 1px solid #a3ad97; background: transparent; color: var(--ink, #273629); font-size: 22px; }
#inquiry-form .ch-inquiry-month { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 4px; }
#inquiry-form .ch-calendar-weekday { text-align: center; font-size: 13px; padding: 7px 0; color: var(--muted, #5d6458); }
#inquiry-form .ch-calendar-day { position: relative; padding: 5px 0; min-width: 0; min-height: 38px; border: 1px solid #c8d3bf; border-radius: 2px; color: #263e25; background: #e5eddf; font: 400 16px/1.3 var(--sans, sans-serif); letter-spacing: normal; cursor: pointer; }
#inquiry-form .ch-calendar-day.ch-day-busy,
#inquiry-form .ch-calendar-day.ch-day-change { background: #dfcbc1; color: #673f31; border-color: #d1b8ab; }
#inquiry-form .ch-calendar-day.ch-day-arrival { background: linear-gradient(135deg,#e5eddf 49%,#dfcbc1 51%); }
#inquiry-form .ch-calendar-day.ch-day-departure { background: linear-gradient(135deg,#dfcbc1 49%,#e5eddf 51%); }
#inquiry-form .ch-calendar-day:disabled { cursor: default; opacity: .62; }
#inquiry-form .ch-calendar-day.ch-day-closed { background: #eeeae2; border-color: #e0ddd6; color: #77756d; opacity: .7; }
#inquiry-form .ch-calendar-day.ch-season-saturday { box-shadow: inset 0 -3px 0 #8b7229; font-weight: 600; }
#inquiry-form .ch-calendar-day.ch-day-selected { outline: 2px solid #344b32; outline-offset: -2px; font-weight: 700; opacity: 1; }
#inquiry-form .ch-calendar-day:not(:disabled):hover { border-color: #344b32; outline: 1px solid #344b32; }
#inquiry-form .ch-inquiry-calendar-legend { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 18px; }
#inquiry-form .ch-inquiry-calendar-legend span { display: inline-flex; align-items: center; gap: 8px; }
#inquiry-form .ch-inquiry-calendar-legend span:before { content: ''; display: inline-block; flex: 0 0 14px; width: 14px; height: 14px; border: 1px solid #b7bba9; background: #e5eddf; }
#inquiry-form .ch-inquiry-calendar-legend .ch-legend-busy:before { background: #dfcbc1; }
#inquiry-form .ch-inquiry-calendar-legend .ch-legend-change:before { background: linear-gradient(135deg,#dfcbc1 49%,#e5eddf 51%); }
#inquiry-form .ch-inquiry-retry { min-height: 44px; padding: 8px 0; font-size: 16px; text-align: left; }
#inquiry-form .ch-inquiry-contacts { border: 0; border-top: 1px solid var(--line, #dcded5); padding: 20px 0 0; margin: 0; min-width: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px 24px; }
#inquiry-form .ch-inquiry-contacts legend { padding: 0 10px 0 0; font-size: 16px; font-weight: 500; }
#inquiry-form .ch-inquiry-contacts .ch-inquiry-contact-help { grid-column: 1/-1; margin: 0; }
#inquiry-form .ch-inquiry-contacts label { min-width: 0; }
#inquiry-form .ch-inquiry-contacts label > span { font-size: 15px; line-height: 1.5; }
#inquiry-form .ch-inquiry-contacts input { width: 100%; font-size: 17px; }
#inquiry-form [aria-invalid="true"], .ch-quick-inquiry [aria-invalid="true"] { border-color: #9b3f2d; }
#inquiry-form #form-error[data-ch-state="success"], .ch-quick-inquiry [data-ch-state="success"] { color: #2f562d; }
#inquiry-form #form-error[data-ch-state], .ch-quick-inquiry .ch-inquiry-feedback { font-size: 16px; line-height: 1.65; }
.calendar-panel .ch-calendar-email { width: 100%; margin-top: 16px; white-space: normal; text-align: left; gap: 15px; font-size: 16px; line-height: 1.55; }
.calendar-panel .ch-calendar-email-hint { margin-top: 24px; }
#ch-villa-calendar { scroll-margin-top: 165px; }
.ch-quick-inquiry { width: min(600px,calc(100vw - 28px)); max-width: 600px; max-height: calc(100dvh - 28px); margin: auto; padding: 34px; border: 1px solid #d5d7c9; border-radius: 3px; color: var(--ink, #273629); background: #fcfaf4; overflow-y: auto; overscroll-behavior: contain; }
.ch-quick-inquiry::backdrop { background: rgb(20 30 20 / 62%); }
.ch-quick-inquiry .ch-quick-inquiry-close { display: flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; margin: -15px -15px 0 auto; border: 0; background: transparent; color: inherit; font-size: 30px; line-height: 1; }
.ch-quick-inquiry h2 { margin: 0 0 16px; font: 400 clamp(30px,6vw,40px)/1.15 var(--serif, serif); letter-spacing: normal; }
.ch-quick-inquiry .ch-quick-inquiry-summary { padding: 16px 0; border-top: 1px solid var(--line, #dcded5); border-bottom: 1px solid var(--line, #dcded5); margin: 0 0 24px; }
.ch-quick-inquiry form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; padding: 0; margin: 0; border: 0; background: transparent; }
.ch-quick-inquiry label { display: block; min-width: 0; }
.ch-quick-inquiry label > span { display: block; font-size: 15px; line-height: 1.5; margin-bottom: 7px; }
.ch-quick-inquiry input, .ch-quick-inquiry select, .ch-quick-inquiry textarea { box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; min-height: 46px; border: 0; border-bottom: 1px solid #a3ad97; border-radius: 0; background: transparent; padding: 9px 0; color: inherit; font: 400 17px/1.5 var(--sans, sans-serif); }
.ch-quick-inquiry label:has(textarea), .ch-quick-inquiry .ch-inquiry-feedback, .ch-quick-inquiry-actions { grid-column: 1/-1; }
.ch-quick-inquiry .ch-inquiry-feedback { margin: 0; }
.ch-quick-inquiry .ch-inquiry-feedback:empty { display: none; }
.ch-quick-inquiry .ch-inquiry-feedback[data-ch-state="error"] { color: #963e2e; }
.ch-quick-inquiry-actions { display: grid; gap: 10px; }
.ch-quick-inquiry-actions button { width: 100%; min-height: 49px; font-size: 16px; line-height: 1.5; text-align: left; white-space: normal; gap: 16px; }
.ch-quick-inquiry-actions .solid-button { color: #fff; background: var(--ink, #273629); border: 1px solid var(--ink, #273629); }
.ch-quick-inquiry-actions .text-link { justify-content: space-between; }
#inquiry-form .ch-inquiry-calendar button:focus-visible,
.ch-calendar-email:focus-visible,
.ch-quick-inquiry :is(button,input,select,textarea):focus-visible { outline: 3px solid #7a6022; outline-offset: 3px; }
#inquiry-form .ch-inquiry-calendar [hidden], #inquiry-form .ch-inquiry-contacts [hidden] { display: none !important; }
.ch-calendar-email:disabled, .ch-quick-inquiry button:disabled { opacity: .55; cursor: default; }
@media (max-width:760px) {
  #inquiry-form .ch-inquiry-calendar, #inquiry-form .ch-inquiry-contacts, .ch-quick-inquiry { --ch-inquiry-copy: 16px; }
  #inquiry-form .ch-inquiry-calendar { padding: 18px 10px; }
  #inquiry-form .ch-inquiry-month { gap: 3px; }
  #inquiry-form .ch-inquiry-contacts { grid-template-columns: 1fr; }
  #inquiry-form .ch-inquiry-contacts input, .ch-quick-inquiry input, .ch-quick-inquiry select, .ch-quick-inquiry textarea { font-size: 16px; }
  .ch-quick-inquiry { padding: 24px 20px; }
  .calendar-panel .ch-calendar-email-hint { font-size: 16px; }
  .ch-quick-inquiry form { grid-template-columns: 1fr; gap: 18px; }
  .ch-quick-inquiry label:has(textarea), .ch-quick-inquiry .ch-inquiry-feedback, .ch-quick-inquiry-actions { grid-column: auto; }
}
