/* ═══════════════════════════════════════════════════════
   OWFR Primary Care Portal – Styles
   Plugin: owfr-primary-care-portal
   ═══════════════════════════════════════════════════════ */

.owfr-pcp { font-family: inherit; margin: 0 auto; max-width: 100%; box-sizing: border-box; }
.owfr-pcp *, .owfr-pcp *::before, .owfr-pcp *::after { box-sizing: border-box; }

/* ── Toolbar ───────────────────────────────────────────── */
.owfr-pcp-toolbar {
  position: sticky; top: 0; z-index: 40; display: flex; align-items: center; gap: 0.6rem;
  background: #fff; border-bottom: 1px solid rgba(0,107,63,0.18); padding: 0.6rem 0.75rem;
  margin-bottom: 1rem; border-radius: 8px;
}
.owfr-pcp-btn {
  font-family: inherit; cursor: pointer; border: 1px solid #006B3F; background: #fff; color: #006B3F;
  border-radius: 6px; padding: 0.45rem 0.9rem; font-size: 0.85rem; font-weight: 600; transition: all .15s ease;
}
.owfr-pcp-btn:hover { background: #006B3F; color: #fff; }
.owfr-pcp-btn[aria-pressed="true"] { background: #006B3F; color: #fff; }
.owfr-pcp-save-status { margin-left: auto; font-size: 0.8rem; color: #006B3F; opacity: 0; transition: opacity .3s ease; }
.owfr-pcp-save-status.is-visible { opacity: 1; }
.owfr-pcp-save-status.is-error { color: #b3261e; }

/* ── Category ──────────────────────────────────────────── */
.owfr-pcp-category { margin: 0 0 2.25rem 0; }
.owfr-pcp-category-header {
  display: flex; align-items: center; gap: 0.5rem; padding-bottom: 0.4rem; margin-bottom: 0.9rem;
  border-bottom: 3px solid; border-image: linear-gradient(90deg, #006B3F 0%, rgba(0,107,63,0.08) 100%) 1;
}
.owfr-pcp-category-header .owfr-pcp-title {
  font-size: 1.35rem !important; font-weight: 800 !important; color: #006B3F !important; margin: 0 !important; flex: 1 1 auto;
}
.owfr-pcp-subsection-header .owfr-pcp-title { font-size: 1.05rem !important; font-weight: 700 !important; color: #006B3F !important; margin: 0 !important; flex: 1 1 auto; }

.owfr-pcp-cat-actions, .owfr-pcp-sub-actions { align-items: center; gap: 0.4rem; flex-wrap: wrap; }
.owfr-pcp-cat-actions:not([hidden]), .owfr-pcp-sub-actions:not([hidden]) { display: flex; }
.owfr-pcp-btn-sm {
  font-family: inherit; cursor: pointer; border: 1px solid rgba(0,107,63,0.4); background: #fff; color: #006B3F;
  border-radius: 5px; padding: 0.25rem 0.55rem; font-size: 0.72rem; font-weight: 600; white-space: nowrap;
}
.owfr-pcp-btn-sm:hover { background: rgba(0,107,63,0.08); }
.owfr-pcp-btn-sm.owfr-pcp-danger { border-color: rgba(179,38,30,0.4); color: #b3261e; }
.owfr-pcp-btn-sm.owfr-pcp-danger:hover { background: rgba(179,38,30,0.08); }

/* ── Drag handle ───────────────────────────────────────── */
.owfr-pcp-drag-handle { cursor: grab; color: #999; font-size: 0.95rem; line-height: 1; padding: 0 0.15rem; user-select: none; }
.owfr-pcp-drag-handle:active { cursor: grabbing; }
.owfr-pcp-dragging { opacity: 0.4; }
.owfr-pcp-drop-target { box-shadow: inset 0 0 0 2px #006B3F; border-radius: 6px; }

/* ── Card list (loose cards + subsection cards) ───────────── */
.owfr-pcp-card-list { list-style: none; margin: 0 0 1rem 0; padding: 0; display: flex; flex-direction: column; gap: 0.4rem; }
.owfr-pcp-card-list:empty { display: none; }
[data-editable="1"] .owfr-pcp-card-list:empty { display: block; min-height: 2.2rem; border: 1px dashed rgba(0,107,63,0.3); border-radius: 6px; }

.owfr-pcp-card-link {
  display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap; background: #f8faf9;
  border: 1px solid rgba(0,107,63,0.12); border-radius: 6px; padding: 0.55rem 0.75rem;
}
.owfr-pcp-card-title { color: #006B3F; font-weight: 600; text-decoration: none; font-size: 0.92rem; }
a.owfr-pcp-card-title:hover { text-decoration: underline; }
.owfr-pcp-card-date { font-size: 0.78rem; color: #555; background: rgba(0,107,63,0.08); border-radius: 4px; padding: 0.1rem 0.45rem; }
.owfr-pcp-expand-toggle {
  display: none; background: none; border: none; color: #006B3F; cursor: pointer; padding: 0 0.2rem;
  font-size: 0.85rem; align-items: center; transition: transform .15s ease;
}

/* Collapsed cards (e.g. Lunch & Learn): title only until expanded */
.owfr-pcp-card-list.owfr-pcp-collapsed-cards .owfr-pcp-card-link .owfr-pcp-card-date { display: none; }
.owfr-pcp-card-list.owfr-pcp-collapsed-cards .owfr-pcp-card-link.is-expanded .owfr-pcp-card-date { display: inline-flex; }
.owfr-pcp-card-list.owfr-pcp-collapsed-cards .owfr-pcp-expand-toggle { display: inline-flex; }
.owfr-pcp-card-list.owfr-pcp-collapsed-cards .owfr-pcp-card-link.is-expanded .owfr-pcp-expand-toggle { transform: rotate(180deg); }

/* Note card */
.owfr-pcp-note {
  background: rgba(0,107,63,0.05); border-left: 3px solid #006B3F; border-radius: 4px;
  padding: 0.6rem 0.8rem; font-size: 0.88rem; color: #333; display: flex; align-items: center; gap: 0.5rem;
}
.owfr-pcp-note a { color: #006B3F; font-weight: 600; }
.owfr-pcp-note-body { flex: 1 1 auto; }

/* ── Subsections ───────────────────────────────────────── */
.owfr-pcp-subsections { display: flex; flex-direction: column; gap: 1rem; }
.owfr-pcp-subsection { background: #fff; border: 1px solid rgba(0,107,63,0.14); border-radius: 8px; padding: 0.8rem 0.9rem; }
.owfr-pcp-subsection-header { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.5rem; }
.owfr-pcp-collapse-toggle {
  background: none; border: none; cursor: pointer; color: #006B3F; padding: 0.1rem 0.2rem; display: flex; align-items: center;
}
.owfr-pcp-chevron { display: inline-block; transition: transform .15s ease; }
.owfr-pcp-subsection.is-collapsed .owfr-pcp-chevron { transform: rotate(-90deg); }
.owfr-pcp-subsection.is-collapsed .owfr-pcp-subsection-body { display: none; }
.owfr-pcp-description { font-size: 0.85rem; color: #555; margin: 0 0 0.6rem 0; }
.owfr-pcp-description:empty { display: none; }
.owfr-pcp-edit-mode .owfr-pcp-description:empty { display: block; min-height: 1.1rem; opacity: 0.45; }
.owfr-pcp-edit-mode .owfr-pcp-description:empty::before { content: 'Add a short description…'; }

/* ── Admin edit mode ───────────────────────────────────── */
.owfr-pcp[data-editable="1"].owfr-pcp-edit-mode .owfr-pcp-title,
.owfr-pcp[data-editable="1"].owfr-pcp-edit-mode .owfr-pcp-description,
.owfr-pcp[data-editable="1"].owfr-pcp-edit-mode .owfr-pcp-note-body {
  outline: 1px dashed rgba(0,107,63,0.4); border-radius: 4px; padding: 0.1rem 0.3rem; cursor: text;
}
.owfr-pcp[data-editable="1"].owfr-pcp-edit-mode .owfr-pcp-title:focus,
.owfr-pcp[data-editable="1"].owfr-pcp-edit-mode .owfr-pcp-description:focus,
.owfr-pcp[data-editable="1"].owfr-pcp-edit-mode .owfr-pcp-note-body:focus {
  outline: 2px solid #006B3F; background: #fffef2;
}
.owfr-pcp-input {
  font-family: inherit; font-size: 0.8rem; border: 1px solid rgba(0,107,63,0.35); border-radius: 4px;
  padding: 0.25rem 0.45rem; min-width: 150px;
}
.owfr-pcp-admin-fields { gap: 0.4rem; flex-wrap: wrap; }
.owfr-pcp-admin-fields:not([hidden]) { display: flex; }
.owfr-pcp-icon-btn {
  background: none; border: none; color: #b3261e; font-size: 1.1rem; line-height: 1; cursor: pointer; padding: 0 0.25rem;
  margin-left: auto;
}
.owfr-pcp-add-inline { margin-top: 0.5rem; }

/* Sortable placeholder inserted while dragging */
.owfr-pcp-drop-line { height: 3px; background: #006B3F; border-radius: 2px; margin: 0.2rem 0; }

@media (max-width: 600px) {
  .owfr-pcp-toolbar { flex-wrap: wrap; }
  .owfr-pcp-category-header, .owfr-pcp-subsection-header { flex-wrap: wrap; }
}
