.projbook-wrap { max-width: 1080px; margin: 2rem auto; padding: 0 1rem; }
.projbook-archive-header { display: grid; gap: 1rem; margin-bottom: 1.5rem; }
.projbook-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .75rem; }
.projbook-filters label { display: grid; gap: .25rem; font-size: .9rem; }
.projbook-filters button { padding: .5rem .75rem; }

.projbook-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px,1fr)); gap: 1rem; }
.projbook-card { border: 1px solid #e5e7eb; border-radius: .75rem; overflow: hidden; background: #fff; display: grid; }
.projbook-thumb img { width: 100%; height: auto; display: block; }
.projbook-card-body { padding: 1rem; display: grid; gap: .5rem; }
.projbook-card-title { margin: 0; font-size: 1.05rem; }
.projbook-card-excerpt { color: #4b5563; font-size: .95rem; }
.projbook-badges { display: flex; flex-wrap: wrap; gap: .25rem .35rem; margin-top: .25rem; }
.projbook-badge { background: #f3f4f6; border: 1px solid #e5e7eb; border-radius: 999px; padding: .1rem .5rem; font-size: .8rem; }

.projbook-single .projbook-hero { margin: 1rem 0; }
.projbook-meta dl { display: grid; gap: .25rem .75rem; grid-template-columns: 160px 1fr; margin-bottom: 1rem; }
.projbook-meta dt { font-weight: 600; color: #374151; }
.projbook-content { margin-top: 1rem; }
.projbook-speakers ul { padding-left: 1rem; list-style: disc; }
.projbook-pagination { margin-top: 1rem; }


/* Nur Archiv-Seite (CPT project) volle Breite */
.post-type-archive-project .projbook-wrap {
  max-width: none;
  width: 100%;
  padding: 0 2rem; /* optional, etwas Rand lassen */
}

.post-type-archive-project .projbook-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}


/* ---- ProjBook Booking Modal ---- */
.projbook-booking-btn { display:inline-block; padding:.6rem 1rem; border-radius:.5rem; background:#146; color:white; text-decoration:none; }
#projbook-booking-modal { position:fixed; inset:0; background:rgba(0,0,0,.4); display:none; align-items:center; justify-content:center; z-index:9999; }
#projbook-booking-modal.open { display:flex; }
#projbook-booking-modal .dialog { background:white; max-width:860px; width:100%; border-radius:1rem; padding:1rem 1.2rem; box-shadow:0 10px 30px rgba(0,0,0,.25); }
#projbook-booking-modal .head { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.6rem; }
#projbook-booking-modal .grid { display:grid; grid-template-columns: 1fr 1fr; gap:1rem; }
#projbook-booking-modal .grid .full { grid-column: 1 / -1; }
#projbook-booking-modal label { font-size:.85rem; font-weight:600; display:block; margin-bottom:.25rem; }
#projbook-booking-modal input, #projbook-booking-modal textarea, #projbook-booking-modal select { width:100%; padding:.55rem .6rem; border:1px solid #ccd; border-radius:.5rem; }
#projbook-booking-modal .actions { display:flex; gap:.6rem; justify-content:flex-end; margin-top:1rem; }
.projbook-ac-list { position:relative; background:#fff; border:1px solid #ccd; border-radius:.5rem; margin-top:.25rem; max-height:180px; overflow:auto; }
.projbook-ac-item { padding:.4rem .6rem; cursor:pointer; }
.projbook-ac-item:hover { background:#f0f4ff; }

/* Calendar */
.projbook-calendar { margin-top:.5rem; }
.projbook-cal-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:.5rem; }
.projbook-cal-head button { border:1px solid #ccd; background:#f8f8fb; border-radius:.4rem; padding:.25rem .5rem; }
.projbook-cal-grid { display:grid; grid-template-columns: repeat(7, 1fr); gap:.25rem; }
.projbook-cal-grid .wd { text-align:center; font-weight:700; padding:.25rem 0; }
.projbook-cal-grid .pad { visibility:hidden; }
.projbook-cal-grid .day { border:1px solid #e2e5ee; padding:.4rem 0; border-radius:.4rem; }
.projbook-cal-grid .day.free { background:#e9f9ef; }
.projbook-cal-grid .day.limited { background:#fffbe6; }
.projbook-cal-grid .day.full, .projbook-cal-grid .day.blocked { background:#f0f1f5; color:#999; cursor:not-allowed; }
.projbook-cal-grid .day.sel { outline:2px solid #146; }

.projbook-cal-grid .day[disabled]{ cursor:not-allowed; opacity:.6; }

/* Readability improvements */
.projbook-cal-grid .day { color:#222; }
.projbook-cal-grid .day.free { background:#e9f9ef; color:#222; }
.projbook-cal-grid .day.limited { background:#fff8d8; color:#222; }
.projbook-cal-grid .day.full, .projbook-cal-grid .day.blocked { background:#f0f1f5; color:#444; }
.projbook-cal-head button { padding: .35rem .6rem; }

/* Ensure both buttons and divs align visually */
.projbook-cal-grid .day { display:block; text-align:center; border:1px solid #e2e5ee; padding:.4rem 0; border-radius:.4rem; width:100%; }

/* Ensure day buttons do not overflow */
.projbook-cal-grid button.day { width: 100%; box-sizing: border-box; }
.projbook-cal-grid div.day { width: 100%; box-sizing: border-box; }

/* Avoid theme/global .full collisions by not using '.full' */
.projbook-cal-grid .day.unavailable { background:#f0f1f5; color:#444; }
/* In case backend or cache still returns '.full', neutralize it inside our calendar */
.projbook-cal-grid .day.full { all: unset; display:block; text-align:center; border:1px solid #e2e5ee; padding:.4rem 0; border-radius:.4rem; width:100%; background:#f0f1f5; color:#444; box-sizing:border-box; }

/* =========================================================
   Deine allgemeinen Frontend-Styles …
   (Falls du eine bestehende Datei hast, lasse deinen Inhalt
   hier stehen/oben und ergänze unten den Block.)
   ========================================================= */

/* === ProjBook Inline Booking – additions === */
.projbook-booking-inline{border:1px solid #e5e7eb;border-radius:12px;padding:16px;margin:24px 0;background:#fff}
.pbk-header h2{margin:0 0 4px;font-size:1.4rem}
.pbk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
@media (max-width:800px){.pbk-grid{grid-template-columns:1fr}}
.pbk-col label{display:block;font-weight:600;margin-bottom:4px}
.pbk-col input,.pbk-col select{width:100%;padding:8px;border:1px solid #d1d5db;border-radius:8px}
.pbk-col .hint{color:#6b7280;display:block;margin-top:4px}
.pbk-actions{margin-top:16px}
.projbook-calendar{margin-top:12px}
.projbook-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:8px}
.projbook-cal-head .label{font-weight:600}
.projbook-cal-head button{border:1px solid #d1d5db;background:#f9fafb;border-radius:8px;padding:6px 10px}
.projbook-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.projbook-cal-grid .wd{font-size:.85rem;color:#6b7280;text-align:center}
.projbook-cal-grid .day,.projbook-cal-grid .pad{height:38px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:10px;font-size:.95rem}
.projbook-cal-grid .day{cursor:default}
.projbook-cal-grid button.day{cursor:pointer}
.projbook-cal-grid .day.free{background:#ecfdf5}
.projbook-cal-grid .day.limited{background:#fef3c7}
.projbook-cal-grid .day.blocked{background:#f3f4f6;color:#9ca3af}
.projbook-cal-grid .day.sel{outline:2px solid #2563eb}
.projbook-cal-grid .day.inrange{box-shadow:inset 0 0 0 2px rgba(37,99,235,.35)}
/* Autocomplete */
.projbook-ac-list{position:relative;margin-top:4px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;max-height:220px;overflow:auto;z-index:2}
.projbook-ac-item{padding:8px 10px}
.projbook-ac-item:hover{background:#f3f4f6;cursor:pointer}

