/* Accordion containers */
.qp-school { border:1px solid #ddd; margin-bottom:10px; }
.qp-accordion-header {
  margin:0; padding:10px; background:#eee; cursor:pointer; position:relative; font-size:18px;
}
.qp-accordion-header::after {
  content: "▶"; position:absolute; right:12px; top:50%; transform:translateY(-50%); transition:transform .3s ease; font-size:14px; color:#555;
}
.qp-school.open > .qp-accordion-header::after { transform:translateY(-50%) rotate(90deg); }
.qp-school-content { display:none; padding:10px; }
.qp-school.open .qp-school-content { display:block; }

/* Tabs wrapper */
.qp-tabs { margin: 16px 0; }

/* Tab buttons (your plugin uses .tab-buttons) */
.tab-buttons {
  list-style:none; padding:0; margin:0 0 10px; display:flex; flex-wrap:wrap; gap:10px; justify-content:center;
}
.tab-buttons li {
  padding:8px 14px; cursor:pointer; background:#eee; border:1px solid #ccc; border-radius:4px; user-select:none;
}
.tab-buttons li.active { background:#0073aa; color:#fff; border-color:#0073aa; }

/* Tab content panels (your plugin uses .tab-content) */
.tab-content { display:none; }
.tab-content.active {
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  padding:0;
}

/* Paper item card */
.qp-item {
  border:1px solid #ccc; border-radius:6px; background:#fafafa; text-align:center;
  padding:8px; box-shadow:0 1px 3px rgba(0,0,0,.1);
  flex:0 0 calc((100% - (16px * 4)) / 5);   /* 5 per row on desktop */
  max-width:calc((100% - (16px * 4)) / 5);
  min-width:140px;
}
.qp-item strong { display:block; margin-bottom:10px; font-size:16px; color:#333; }
.qp-item .qp-download {
  display:inline-block; margin:0 0 6px 0; padding:6px 8px; background:#0073aa; color:#fff; text-decoration:none!important; border-radius:4px; font-size:14px;
}
.qp-item .qp-download:hover { background:#005a87; }

/* Tablet: 2 per row */
@media (max-width: 992px) {
  .qp-item {
    flex:0 0 calc((100% - 16px) / 2);
    max-width:calc((100% - 16px) / 2);
  }
}

/* Mobile: 2 per row, smaller text, keep last item same width */
@media (max-width: 600px) {
  .qp-item {
    flex:0 0 calc((100% - 16px) / 2);
    max-width:calc((100% - 16px) / 2);
  }
  .qp-item strong { font-size:14px; }
  .qp-item .qp-download { font-size:12px; padding:4px 6px; }
  .qp-accordion-header { font-size:16px; }
}
