/* One shared customer preference calendar; not a live availability display. */
.oasis-consultation .oasis-consultation-picker {
  box-sizing: border-box;
  max-width: 540px;
  min-width: 0;
  width: 100%;
  margin: 1rem 0;
  padding: clamp(.8rem, 2vw, 1.15rem);
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  background: #fff;
}
.oasis-consultation [hidden] { display: none !important; }
.oasis-consultation .oasis-calendar-panel { max-width: 440px; }
.oasis-consultation .oasis-calendar-navigation { display: flex; align-items: center; justify-content: space-between; gap: .45rem; margin: .35rem 0 .7rem; }
.oasis-consultation .oasis-calendar-navigation button { flex: 0 0 44px; min-height: 44px; padding: .35rem .55rem; border: 1px solid #6b7b8e; border-radius: 6px; background: #fff; color: #17324d; cursor: pointer; font-size: 1.4rem; line-height: 1; }
.oasis-consultation .oasis-calendar-navigation button:disabled { opacity: .5; cursor: not-allowed; }
.oasis-consultation .oasis-calendar-month { flex: 1 1 auto; min-width: 0; text-align: center; white-space: nowrap; }
.oasis-consultation .oasis-calendar-weekdays,
.oasis-consultation .oasis-calendar-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .22rem; text-align: center; }
.oasis-consultation .oasis-calendar-weekdays { font-size: .82rem; font-weight: 700; color: #334155; margin-bottom: .25rem; }
.oasis-consultation .oasis-calendar-days button { min-width: 0; min-height: 44px; padding: .2rem; border: 1px solid #abb9c9; border-radius: 6px; background: #fff; color: #152c49; cursor: pointer; }
.oasis-consultation .oasis-calendar-days button[aria-pressed="true"] { color: #fff; background: #0b5cab; border-color: #0b5cab; font-weight: 700; }
.oasis-consultation .oasis-calendar-days button:disabled { color: #475569; background: #edf1f5; cursor: not-allowed; }
.oasis-consultation .oasis-calendar-days button:focus-visible,
.oasis-consultation .oasis-calendar-navigation button:focus-visible,
.oasis-consultation .oasis-calendar-add:focus-visible,
.oasis-consultation .oasis-calendar-remove:focus-visible,
.oasis-consultation .oasis-calendar-manual-toggle:focus-visible,
.oasis-consultation .oasis-calendar-time:focus-visible { outline: 3px solid #d18200; outline-offset: 2px; }
.oasis-consultation .oasis-calendar-time-label { display: block; margin-top: .8rem; font-weight: 600; }
.oasis-consultation .oasis-calendar-time { display: block; width: 100%; max-width: 260px; min-height: 44px; margin-top: .35rem; padding: .45rem; border: 1px solid #64748b; border-radius: 6px; background: #fff; color: #172033; }
.oasis-consultation .oasis-calendar-add,
.oasis-consultation .oasis-calendar-manual-toggle,
.oasis-consultation .oasis-calendar-remove { min-height: 44px; max-width: 100%; white-space: normal; padding: .4rem .7rem; border: 1px solid #0b5cab; border-radius: 6px; background: #fff; color: #0b5cab; cursor: pointer; }
.oasis-consultation .oasis-calendar-add { margin-top: .75rem; background: #0b5cab; color: #fff; font-weight: 700; }
.oasis-consultation .oasis-calendar-add:disabled { opacity: 1; color: #334155; background: #e2e8f0; border-color: #64748b; cursor: not-allowed; }
.oasis-consultation .oasis-calendar-count { margin: .9rem 0 .35rem; font-weight: 700; }
.oasis-consultation .oasis-calendar-choice-list { padding-left: 1.4rem; margin: 0 0 .4rem; }
.oasis-consultation .oasis-calendar-choice { padding: .4rem 0; border-bottom: 1px solid #e2e8f0; }
.oasis-consultation .oasis-calendar-choice span { display: block; }
.oasis-consultation .oasis-calendar-remove { margin-top: .25rem; font-size: .9rem; }
.oasis-consultation .oasis-calendar-selection { min-height: 1.6em; margin: .7rem 0; font-weight: 600; }
.oasis-consultation .oasis-calendar-selection:empty { display: none; }
.oasis-consultation .oasis-calendar-notice { margin: .55rem 0 0; font-size: .88rem; line-height: 1.45; }
.oasis-consultation .oasis-calendar-manual-toggle { margin-top: .8rem; }
.oasis-consultation .oasis-consultation-manual input[type="datetime-local"] { width: 100%; max-width: 300px; min-height: 44px; }
.oasis-consultation form > p > button[type="submit"] { min-height: 44px; padding: .55rem .9rem; font-weight: 700; }
.oasis-consultation form > p > button[type="submit"]:disabled { opacity: 1; color: #334155; background: #e2e8f0; border: 1px solid #64748b; cursor: not-allowed; }
@media (max-width: 380px) {
  .oasis-consultation .oasis-calendar-days button { font-size: .85rem; }
}
/* Theme button gutters and nested form padding also constrain the account
   calendar in landscape/tablet view, not just at the mobile breakpoint. */
.oasis-account-projects .oasis-consultation .oasis-workflow-form { padding-inline: 0; }
.oasis-account-projects .oasis-calendar-navigation button,
.oasis-account-projects .oasis-calendar-days button { margin: 0; }
/* My Account embeds the calendar inside an already padded project card. Avoid
   four nested mobile gutters squeezing seven date columns into a narrow strip. */
@media (max-width: 760px) {
  /* The WooCommerce account layout can keep a desktop-width content column on
     portrait screens. Scope the full-width correction to this projects page. */
  .woocommerce-account .woocommerce-MyAccount-content:has(.oasis-account-projects) {
    box-sizing: border-box;
    float: none;
    flex: 1 1 100%;
    grid-column: 1 / -1;
    max-width: 100%;
    min-width: 0;
    padding-inline: 0;
    width: 100%;
  }
  .oasis-account-projects.oasis-workflow-page { padding-inline: 0; }
  .oasis-account-projects .oasis-project-status-card { padding-inline: .45rem; }
  .oasis-account-projects .oasis-design-workflow { padding-inline: .45rem; }
  .oasis-account-projects .oasis-consultation { padding-inline: .35rem; }
  .oasis-account-projects .oasis-consultation-picker { padding: .3rem; }
  .oasis-account-projects .oasis-calendar-days,
  .oasis-account-projects .oasis-calendar-weekdays { gap: .12rem; }
  .oasis-account-projects .oasis-calendar-navigation { gap: .2rem; }
  .oasis-account-projects .oasis-calendar-days button { padding: 0; }
}
