.wsac-availability-calendar{
  --wsac-available:#eef9ee;
  --wsac-available-text:#4d8f57;
  --wsac-occupied:#5f0029;
  --wsac-dark:#17232d;
  --wsac-border:#e2e4e7;
  --wsac-muted:#f7f7f7;
  width:100%;
  margin:0 auto;
  color:var(--wsac-base-text,#111);
  font-family:var(--wsac-font-family,inherit);
}

/* Toolbar – lekki, uporządkowany jak w makiecie */
.wsac-calendar-toolbar{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:18px;
  margin-bottom:16px;
}
.wsac-calendar-controls,.wsac-calendar-views{display:flex;align-items:center;gap:8px}
.wsac-calendar-nav,.wsac-calendar-today,.wsac-calendar-view{
  height:40px;
  border:1px solid var(--wsac-border);
  border-radius:8px;
  background:var(--wsac-controls-bg,#fff);
  color:var(--wsac-controls-text,#111);
  font-family:inherit;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1!important;
  text-align:center;
  cursor:pointer;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.wsac-calendar-nav{
  width:40px;
  padding:0;
  font-size:calc(var(--wsac-controls-size-desktop,13px) + 9px);
  line-height:1!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
.wsac-calendar-today{
  padding:0 15px;
  font-size:var(--wsac-controls-size-desktop,13px);
  font-weight:600;
}
.wsac-calendar-title{
  margin:0!important;
  text-align:center;
  font-size:var(--wsac-title-size-desktop,32px);
  color:var(--wsac-title-text,#111);
  font-weight:800;
  line-height:1.1;
  text-transform:var(--wsac-title-transform,capitalize);
  white-space:nowrap;
}
.wsac-title-position-left .wsac-calendar-title{justify-self:start;text-align:left}
.wsac-title-position-center .wsac-calendar-title{justify-self:center;text-align:center}
.wsac-title-position-right .wsac-calendar-title{justify-self:end;text-align:right}
.wsac-calendar-views{
  justify-self:end;
  gap:0;
  overflow:hidden;
  border:1px solid var(--wsac-border);
  border-radius:8px;
}
.wsac-calendar-view{
  padding:0 17px;
  border:0;
  border-radius:0;
  font-size:var(--wsac-views-size-desktop,13px);
  color:var(--wsac-views-text,#111);
  background:var(--wsac-views-bg,#fff);
}
.wsac-calendar-view+.wsac-calendar-view{border-left:1px solid var(--wsac-border)}
.wsac-calendar-view.is-active{
  background:var(--wsac-views-active-bg,var(--wsac-occupied));
  color:var(--wsac-views-active-text,#fff);
}
.wsac-calendar-nav:hover,.wsac-calendar-today:hover{
  background:var(--wsac-controls-hover-bg,#fafafa)!important;
  color:var(--wsac-controls-hover-text,var(--wsac-controls-text,#111))!important;
  border-color:#cfd3d7;
}
.wsac-calendar-nav:focus,.wsac-calendar-today:focus,
.wsac-calendar-nav:focus-visible,.wsac-calendar-today:focus-visible,
.wsac-calendar-nav:active,.wsac-calendar-today:active{
  background:var(--wsac-controls-focus-bg,var(--wsac-controls-bg,#fff))!important;
  color:var(--wsac-controls-focus-text,var(--wsac-controls-text,#111))!important;
  border-color:#cfd3d7!important;
  outline:none!important;
  box-shadow:none!important;
}
.wsac-calendar-view:hover:not(.is-active){
  background:var(--wsac-views-hover-bg,#fafafa)!important;
  color:var(--wsac-views-hover-text,var(--wsac-views-text,#111))!important;
}
.wsac-calendar-nav:active,.wsac-calendar-today:active,.wsac-calendar-view:active{transform:translateY(1px)}
.wsac-calendar-nav:disabled{opacity:.3;cursor:default}

/* Kalendarz – bardziej kwadratowy i z zaokrąglonym obrysem */
.wsac-calendar-scroll{
  width:100%;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
  border:1px solid var(--wsac-border);
  border-radius:12px;
  background:#fff;
}
.wsac-calendar-table{width:100%;min-width:760px}
.wsac-calendar-weekdays,.wsac-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.wsac-calendar-weekdays span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  border-right:1px solid var(--wsac-border);
  border-bottom:1px solid var(--wsac-border);
  background:#fff;
  font-size:var(--wsac-weekday-size-desktop,16px);
  color:var(--wsac-weekday-text,#111);
  font-weight:800;
}
.wsac-calendar-weekdays span:last-child{border-right:0}
.wsac-day{
  position:relative;
  min-width:0;
  aspect-ratio:auto;
  height:var(--wsac-cell-height,112px);
  min-height:var(--wsac-cell-height,112px);
  padding:42px 7px 8px;
  border-right:1px solid var(--wsac-border);
  border-bottom:1px solid var(--wsac-border);
  background:#fff;
}
.wsac-day:nth-child(7n){border-right:0}
.wsac-calendar-grid .wsac-day:nth-last-child(-n+7){border-bottom:0}
.wsac-day-empty{background:var(--wsac-muted)}
.wsac-day-number{
  position:absolute;
  top:10px;
  right:12px;
  font-size:var(--wsac-day-number-size-desktop,22px);
  color:var(--wsac-day-number-text,#111);
  font-weight:400;
  line-height:1;
}

/* Linie dostępności – cienkie, subtelne, z kropką */
.wsac-day-status{
  display:flex;
  align-items:center;
  min-height:21px;
  margin-top:5px;
  padding:3px 7px;
  overflow:hidden;
  border-radius:5px;
  font-size:var(--wsac-house-size-desktop,10px);
  font-weight:700;
  line-height:1.15;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.wsac-day-status::before{
  content:"";
  flex:0 0 auto;
  width:7px;
  height:7px;
  margin-right:5px;
  border-radius:50%;
  background:var(--wsac-available-dot,currentColor);
}
.wsac-day-status.is-available{
  background:var(--wsac-available);
  color:var(--wsac-house-available-text,var(--wsac-available-text));
}
.wsac-day-status.is-occupied{
  background:var(--wsac-occupied);
  color:var(--wsac-house-occupied-text,#fff);
}
.wsac-day-status.is-occupied::before{background:var(--wsac-occupied-dot,#fff)}
.wsac-hide-status-dots .wsac-day-status::before{display:none}
.wsac-status-dot.is-available{background:var(--wsac-available-dot,var(--wsac-available));border:0}
.wsac-status-dot.is-occupied{background:var(--wsac-occupied-dot,var(--wsac-occupied))}
.wsac-day.is-past{background:#fbfbfb}
.wsac-day.is-past .wsac-day-number{opacity:.36}
.wsac-day.is-today{background:var(--wsac-today-cell-bg,#fff9dc)}
.wsac-day.is-today .wsac-day-number{
  display:grid;
  place-items:center;
  width:var(--wsac-today-badge-size,32px);
  height:var(--wsac-today-badge-size,32px);
  top:5px;
  right:7px;
  border-radius:50%;
  background:var(--wsac-today-badge-bg,var(--wsac-dark));
  color:var(--wsac-today-badge-text,#fff);
  font-size:var(--wsac-today-badge-font-size-desktop,17px);
}
.wsac-calendar-grid.is-week-view .wsac-day{
  aspect-ratio:auto;
  height:var(--wsac-cell-height,112px);
  min-height:var(--wsac-cell-height,112px);
}

/* Lista */
.wsac-calendar-list{width:100%;min-width:0;box-sizing:border-box}
.wsac-calendar-list:not([hidden]){display:block;width:100%}
.wsac-list-item{
  width:100%;
  box-sizing:border-box;
  display:grid;
  grid-template-columns:minmax(260px,1.3fr) minmax(220px,1fr) auto;
  align-items:center;
  gap:24px;
  min-height:68px;
  padding:12px 18px;
  border-bottom:1px solid var(--wsac-border);
  background:#fff;
}
.wsac-list-item:last-child{border-bottom:0}
.wsac-list-date{font-weight:700}
.wsac-list-house{font-size:17px}
.wsac-list-status{padding:6px 11px;border-radius:6px;background:var(--wsac-occupied);color:#fff;font-size:12px;font-weight:700}
.wsac-list-empty{padding:24px}

/* Legenda – lżejsza i spójna */
.wsac-calendar-legend{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 22px;
  margin-top:16px;
  font-size:var(--wsac-legend-size-desktop,13px);
  color:var(--wsac-legend-text,#111);
}
.wsac-calendar-legend>span{display:inline-flex;align-items:center}
.wsac-status-dot{display:inline-block;width:14px;height:14px;margin-right:7px;border-radius:4px}
.wsac-legend-house{font-weight:700}
.wsac-calendar-error{padding:14px 16px;border:1px solid #d63638;border-radius:8px;background:#fff5f5}

/* Picker dat w formularzu Elementor */
.wsac-date-input{cursor:pointer!important;background-color:#fff!important}
.wsac-date-picker{position:fixed;z-index:999999}
.wsac-date-picker-panel{padding:14px;border:1px solid #d9d9d9;border-radius:10px;background:#fff;box-shadow:0 12px 34px rgba(0,0,0,.18)}
.wsac-picker-head{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:8px;margin-bottom:10px}
.wsac-picker-head strong{text-align:center;font-size:16px;text-transform:lowercase}
.wsac-picker-nav{width:34px;height:32px;padding:0;border:0;border-radius:6px;background:#5f0029;color:#fff;font-size:22px;cursor:pointer}
.wsac-picker-nav:disabled{opacity:.25;cursor:default}
.wsac-picker-weekdays,.wsac-picker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.wsac-picker-weekdays{margin-bottom:4px}
.wsac-picker-weekdays span{text-align:center;font-size:11px;font-weight:700;color:#666}
.wsac-picker-grid button,.wsac-picker-grid .is-blank{aspect-ratio:1;min-width:0}
.wsac-picker-grid button{border:0;border-radius:5px;background:#eef7ec;color:#222;font-size:13px;cursor:pointer}
.wsac-picker-grid button:hover:not(:disabled){outline:2px solid #5f0029}
.wsac-picker-grid button:disabled{background:#f2f2f2;color:#bbb;text-decoration:line-through;cursor:not-allowed}
.wsac-picker-grid button.is-today{box-shadow:inset 0 0 0 2px #17232d}
.wsac-picker-grid button.is-selected{background:#5f0029;color:#fff}
.wsac-form-date-error{margin-top:6px;color:#b42318;font-size:12px;font-weight:600}

@media(max-width:900px){
  .wsac-calendar-toolbar{grid-template-columns:auto 1fr;gap:12px}
  .wsac-calendar-title{font-size:var(--wsac-title-size-tablet,28px)}
  .wsac-title-position-left .wsac-calendar-title{justify-self:start;text-align:left}
  .wsac-title-position-center .wsac-calendar-title{justify-self:center;text-align:center}
  .wsac-title-position-right .wsac-calendar-title{justify-self:end;text-align:right}
  .wsac-calendar-nav{font-size:calc(var(--wsac-controls-size-tablet,12px) + 9px)}
  .wsac-calendar-today{font-size:var(--wsac-controls-size-tablet,12px)}
  .wsac-calendar-view{font-size:var(--wsac-views-size-tablet,12px)}
  .wsac-calendar-weekdays span{font-size:var(--wsac-weekday-size-tablet,14px)}
  .wsac-day-number{font-size:var(--wsac-day-number-size-tablet,20px)}
  .wsac-day-status{font-size:var(--wsac-house-size-tablet,9px)}
  .wsac-day.is-today .wsac-day-number{font-size:var(--wsac-today-badge-font-size-tablet,16px)}
  .wsac-calendar-legend{font-size:var(--wsac-legend-size-tablet,12px)}
  .wsac-calendar-views{grid-column:1/-1;justify-self:stretch}
  .wsac-calendar-view{flex:1 1 0}
}
@media(max-width:720px){
  .wsac-calendar-toolbar{gap:10px;margin-bottom:12px}
  .wsac-calendar-title{font-size:var(--wsac-title-size-mobile,24px)}
  .wsac-calendar-nav{font-size:calc(var(--wsac-controls-size-mobile,11px) + 9px)}
  .wsac-calendar-today{font-size:var(--wsac-controls-size-mobile,11px)}
  .wsac-calendar-view{font-size:var(--wsac-views-size-mobile,11px)}
  .wsac-calendar-weekdays span{font-size:var(--wsac-weekday-size-mobile,11px)}
  .wsac-day-number{font-size:var(--wsac-day-number-size-mobile,16px)}
  .wsac-day-status{font-size:var(--wsac-house-size-mobile,8px)}
  .wsac-day.is-today .wsac-day-number{font-size:var(--wsac-today-badge-font-size-mobile,14px)}
  .wsac-calendar-legend{font-size:var(--wsac-legend-size-mobile,11px)}
  .wsac-calendar-controls{gap:5px}
  .wsac-calendar-nav{width:36px;height:36px;font-size:20px}
  .wsac-calendar-today{height:36px;padding:0 11px;font-size:var(--wsac-controls-size-mobile,11px)}
  .wsac-calendar-view{height:36px;padding:0 11px;font-size:var(--wsac-views-size-mobile,11px)}
  .wsac-calendar-table{min-width:720px}
  .wsac-day{min-height:102px}
  .wsac-day-status{min-height:20px}
  .wsac-calendar-list{width:100%;min-width:0}
  .wsac-date-picker{max-width:calc(100vw - 24px)}
}


/* 0.4.7 — picker: neutralizacja stylów motywu/Elementora i idealne centrowanie strzałek */
.wsac-date-picker .wsac-picker-nav{
  box-sizing:border-box!important;
  display:grid!important;
  place-items:center!important;
  width:34px!important;
  min-width:34px!important;
  max-width:34px!important;
  height:34px!important;
  min-height:34px!important;
  max-height:34px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:7px!important;
  background:var(--wsac-occupied,#5f0029)!important;
  color:#fff!important;
  font-family:inherit!important;
  font-size:22px!important;
  font-weight:400!important;
  line-height:1!important;
  text-align:center!important;
  text-indent:0!important;
  vertical-align:middle!important;
  box-shadow:none!important;
  transform:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.wsac-date-picker .wsac-picker-nav:hover:not(:disabled),
.wsac-date-picker .wsac-picker-nav:focus:not(:disabled),
.wsac-date-picker .wsac-picker-nav:focus-visible:not(:disabled),
.wsac-date-picker .wsac-picker-nav:active:not(:disabled){
  background:var(--wsac-occupied,#5f0029)!important;
  color:#fff!important;
  border:0!important;
  outline:none!important;
  box-shadow:none!important;
  transform:none!important;
}
.wsac-date-picker .wsac-picker-nav:disabled{
  opacity:.25!important;
  cursor:default!important;
}

.wsac-date-picker .wsac-picker-grid button{
  appearance:none!important;
  -webkit-appearance:none!important;
  border:0!important;
  box-shadow:none!important;
  transform:none!important;
}
.wsac-date-picker .wsac-picker-grid button:hover:not(:disabled){
  background:#eef7ec!important;
  color:#222!important;
  outline:2px solid var(--wsac-occupied,#5f0029)!important;
  outline-offset:-2px!important;
}
.wsac-date-picker .wsac-picker-grid button:focus:not(:disabled),
.wsac-date-picker .wsac-picker-grid button:focus-visible:not(:disabled),
.wsac-date-picker .wsac-picker-grid button:active:not(:disabled){
  background:#eef7ec!important;
  color:#222!important;
  outline:2px solid var(--wsac-dark,#17232d)!important;
  outline-offset:-2px!important;
  box-shadow:none!important;
  transform:none!important;
}
.wsac-date-picker .wsac-picker-grid button.is-selected,
.wsac-date-picker .wsac-picker-grid button.is-selected:hover,
.wsac-date-picker .wsac-picker-grid button.is-selected:focus,
.wsac-date-picker .wsac-picker-grid button.is-selected:active{
  background:var(--wsac-occupied,#5f0029)!important;
  color:#fff!important;
  outline:0!important;
  box-shadow:none!important;
}

/* 0.4.8 — mobile: pełne 7 dni bez poziomego scrolla */
@media(max-width:720px){
  .wsac-calendar-scroll{
    overflow-x:hidden;
  }
  .wsac-calendar-table{
    width:100%;
    min-width:0;
  }
  .wsac-calendar-weekdays,
  .wsac-calendar-grid{
    grid-template-columns:repeat(7,minmax(0,1fr));
  }
  .wsac-calendar-weekdays span{
    min-width:0;
    min-height:34px;
    padding:0 2px;
    font-size:var(--wsac-weekday-size-mobile,11px);
  }
  .wsac-day{
    min-width:0;
    height:92px;
    min-height:92px;
    padding:31px 3px 5px;
    overflow:hidden;
  }
  .wsac-day-number{
    top:7px;
    right:7px;
    font-size:var(--wsac-day-number-size-mobile,16px);
  }
  .wsac-day-status{
    min-width:0;
    min-height:17px;
    margin-top:3px;
    padding:2px 3px;
    border-radius:4px;
    font-size:var(--wsac-house-size-mobile,8px);
    line-height:1.05;
  }
  .wsac-day-status::before{
    flex:0 0 auto;
    width:5px;
    height:5px;
    margin-right:3px;
  }
}

@media(max-width:420px){
  .wsac-day{
    height:84px;
    min-height:84px;
    padding-top:28px;
  }
  .wsac-day-status{
    font-size:var(--wsac-house-size-mobile,8px);
    padding-left:2px;
    padding-right:2px;
  }
}
