/* assets/css/availability-engine.css — FINAL STYLE */
.av-public-calendar,.av-owner-calendar{
  width:100%;background:#fff;border:1px solid rgba(24,20,14,.10);border-radius:28px;
  padding:24px;box-shadow:8px 8px 0 rgba(15,18,24,.08);font-family:inherit;color:#111827
}
.av-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:18px}
.av-head h2,.av-head h3{margin:0;font-size:clamp(24px,3vw,38px);line-height:1;letter-spacing:-.06em;color:#17130b}
.av-year-nav{display:flex;gap:8px;flex-wrap:wrap}
.av-year-nav a,.av-year-nav button,.av-range-form button{
  border:0;background:#17130b;color:#fff;font-weight:900;padding:10px 13px;border-radius:999px;text-decoration:none;cursor:pointer
}

/* LEGENDA STATUSÓW */
.av-legend,
.av-status-legend,
.av-calendar-legend{
  display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px;padding:0;align-items:center
}
.av-legend span,
.av-status-legend span,
.av-calendar-legend span,
.av-legend .av-status,
.av-status-legend .av-status{
  display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;
  font-size:12px;font-weight:950;background:#f8fafc;border:1px solid #e5e7eb;color:#334155
}
.av-legend i,
.av-status-legend i,
.av-calendar-legend i{
  width:13px;height:13px;border-radius:999px;display:inline-block;border:1px solid rgba(15,23,42,.14)
}
.av-legend .available i,.av-status-legend .available i,.av-calendar-legend .available i{background:#dcfce7}
.av-legend .pending i,.av-status-legend .pending i,.av-calendar-legend .pending i{background:#dbeafe}
.av-legend .reserved i,.av-status-legend .reserved i,.av-calendar-legend .reserved i{background:#fee2e2}
.av-legend .blocked i,.av-status-legend .blocked i,.av-calendar-legend .blocked i{background:#ffedd5}
.av-legend .selected i,.av-status-legend .selected i,.av-calendar-legend .selected i{background:#fde68a}

/* KWARTAŁY / ROZWIJANE SEKCJE */
.av-quarters,
.av-quarter-list,
.av-year-quarters{
  display:grid;gap:12px;margin:18px 0
}
.av-quarter,
.av-quarter-card,
.av-quarter-toggle,
.av-accordion-item{
  background:#fff;border:1px solid rgba(24,20,14,.10);border-radius:22px;
  overflow:hidden;box-shadow:0 10px 28px rgba(20,16,10,.05)
}
.av-quarter summary,
.av-quarter-card summary,
.av-quarter-toggle,
.av-accordion-title,
.av-quarter-head{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:16px 18px;background:linear-gradient(135deg,#fff8e7,#fff);color:#17130b;
  font-size:16px;font-weight:950;letter-spacing:-.02em;border:0;width:100%;text-align:left
}
.av-quarter summary::-webkit-details-marker,
.av-quarter-card summary::-webkit-details-marker{display:none}
.av-quarter summary:after,
.av-quarter-card summary:after,
.av-accordion-title:after,
.av-quarter-head:after{
  content:"Rozwiń";font-size:11px;text-transform:uppercase;letter-spacing:.08em;
  color:#6d5420;background:#fff;border:1px solid rgba(200,164,93,.24);padding:7px 10px;border-radius:999px
}
.av-quarter[open] summary:after,
.av-quarter-card[open] summary:after{content:"Zwiń"}
.av-quarter-content,
.av-accordion-content{
  padding:16px;border-top:1px solid rgba(24,20,14,.08)
}

.av-year-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
    align-items:start;
}
.av-month-card{
    border:1px solid #e5e7eb;
    background:#fff;
    border-radius:24px;
    padding:20px;
    min-width:0;
    box-shadow:0 8px 24px rgba(0,0,0,.05);
}
.av-quarter-content .av-year-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
}
.av-month-card h3{margin:0 0 12px;font-size:20px;letter-spacing:-.04em}
.av-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.av-weekday{font-size:11px;font-weight:950;color:#6b7280;text-align:center;padding:4px 0}
.av-empty{min-height:46px}
.av-day{
  min-height:46px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;text-align:left;padding:6px;
  font-family:inherit;user-select:none;transition:.15s ease;border-radius:10px;color:#111827
}
.av-day b{display:block;font-size:13px;line-height:1.1}
.av-day small{display:block;margin-top:3px;font-size:9px;line-height:1.15;color:#64748b}
.av-day.available{background:#f8fff9;border-color:#c9efd4}
.av-day.blocked{background:#fff3e8;border-color:#f6c28b}
.av-day.reserved{background:#fff0f0;border-color:#f4b4b4}
.av-day.pending{background:#eef6ff;border-color:#a9cdfc}
.av-day.selected,.av-day.range,.av-day.in-range{background:#fff8db;border-color:#facc15;box-shadow:inset 0 0 0 2px rgba(250,204,21,.35)}
.av-day:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,0,0,.08)}

.av-range-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}
.av-range-form input,.av-range-form select{min-height:42px;border:1px solid #e5e7eb;border-radius:12px;padding:0 10px}
@media(max-width:900px){
    .av-quarter-content .av-year-grid{
        grid-template-columns:1fr;
    }
}
@media(max-width:760px){
  .av-year-grid{
    grid-template-columns:1fr;
  }

  .av-quarter-content .av-year-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:560px){
  .av-public-calendar,.av-owner-calendar{padding:14px;border-radius:20px}
  .av-calendar-grid{gap:4px}
  .av-day{min-height:42px;padding:5px}
  .av-day b{font-size:12px}
  .av-day small{font-size:8px}
  .av-quarter summary,.av-quarter-card summary,.av-quarter-toggle,.av-accordion-title,.av-quarter-head{font-size:14px;padding:13px}
}
