/**
 * purso/material-library block styles.
 *
 * Scoped to .wp-block-purso-material-library — the block wrapper class
 * generated automatically by WordPress from the block name.
 *
 * Uses theme.json custom properties with hardcoded fallbacks.
 *
 * @package purso-material-library
 */

/* ── Block root — grid layout for sidebar + results ───────────────────────── */

.wp-block-purso-material-library.file-list {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 0 var(--wp--preset--spacing--70, 3rem);
}

@media (min-width: 600px) {
  .wp-block-purso-material-library.file-list {
    grid-template-columns: 25% 1fr;
  }
}

/* ── Responsive utilities ──────────────────────────────────────────────────── */

@media (min-width: 600px) {
  .wp-block-purso-material-library .hide-desktop {
    display: none !important;
  }
}

@media (max-width: 599px) {
  .wp-block-purso-material-library .hide-mobile {
    display: none !important;
  }
}

/* ── Headings ──────────────────────────────────────────────────────────────── */

.wp-block-purso-material-library h2 {
  font-size: var(--wp--preset--font-size--h-3, 2rem);
  margin-top: 0;
}

.wp-block-purso-material-library h3 {
  font-size: var(--wp--preset--font-size--h-5, 1.5rem);
  font-weight: 400;
  margin-bottom: var(--wp--preset--spacing--20, 0.5rem);
}

.wp-block-purso-material-library h4 {
  font-size: var(--wp--preset--font-size--medium, 1rem);
  font-weight: 400;
  margin-bottom: var(--wp--preset--spacing--20, 0.5rem);
}

/* ── Filter title ──────────────────────────────────────────────────────────── */

.wp-block-purso-material-library .file-list__title {
  grid-column: 1 / -1;
  color: var(--wp--preset--color--purso-turkoosi, #008fa5);
  margin-bottom: var(--wp--preset--spacing--50, 1.5rem);
  font-weight: 700;
}

/* ── FacetWP overrides ─────────────────────────────────────────────────────── */

.wp-block-purso-material-library .facetwp-facet-search {
  justify-content: flex-start;
}

.wp-block-purso-material-library .facetwp-facet-search span {
  width: 100%;
}

.wp-block-purso-material-library .facetwp-facet-search input {
  min-width: auto !important;
  width: 100%;
  height: 2.875rem;
  border: 1px solid var(--wp--preset--color--grey-mid, #d5d3d3);
  border-radius: var(--wp--custom--radius--xs, 4px);
  padding: 0.5rem 0.75rem;
  font-size: var(--wp--preset--font-size--medium, 1rem);
}

.wp-block-purso-material-library .facetwp-type-checkboxes {
  display: flex;
  flex-flow: column;
  align-items: flex-start;
}

.wp-block-purso-material-library .facetwp-type-radio {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--20, 0.5rem);
  margin-bottom: var(--wp--preset--spacing--70, 3rem) !important;
}

.wp-block-purso-material-library .facetwp-type-radio .facetwp-radio {
  padding: 0.5rem 1rem;
  font-size: 0.85rem;
  border: 1px solid var(--wp--preset--color--purso-turkoosi, #008fa5);
  border-radius: 2rem;
  color: var(--wp--preset--color--purso-turkoosi, #008fa5);
  background: transparent;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
  white-space: nowrap;
}

.wp-block-purso-material-library .facetwp-type-radio .facetwp-radio:hover {
  background: color-mix(in srgb, var(--wp--preset--color--purso-turkoosi, #008fa5) 10%, transparent);
}

.wp-block-purso-material-library .facetwp-type-radio .facetwp-radio.checked {
  background: var(--wp--preset--color--purso-turkoosi, #008fa5);
  color: #fff;
}

@media (min-width: 1024px) and (max-width: 1440px) {
  .wp-block-purso-material-library .facetwp-type-radio .facetwp-radio {
    padding: 0.5rem 0.85rem;
    font-size: 0.75rem;
  }
}

@media (min-width: 1441px) {
  .wp-block-purso-material-library .facetwp-type-radio .facetwp-radio {
    padding-left: 1.4rem;
    padding-right: 1.4rem;
    font-size: 0.8rem;
  }
}

.wp-block-purso-material-library .facetwp-facet-reset button {
  all: unset;
  cursor: pointer;
  margin-top: var(--wp--preset--spacing--40, 1rem);
  color: var(--wp--preset--color--purso-turkoosi, #008fa5);
  font-weight: 600;
  text-decoration: underline;
}

.wp-block-purso-material-library .facetwp-facet-reset button:hover,
.wp-block-purso-material-library .facetwp-facet-reset button:focus,
.wp-block-purso-material-library .facetwp-facet-reset button:active {
  text-decoration: none;
  background: none;
}

/* ── Facets sidebar ────────────────────────────────────────────────────────── */

.wp-block-purso-material-library .file-list__facets {
  align-self: start;
  margin-top: 0 !important;
}

@media (min-width: 600px) {
  .wp-block-purso-material-library .file-list__facets {
    position: sticky;
    top: 8rem;
  }
}

.wp-block-purso-material-library .file-list__facets .facetwp-depth .facetwp-checkbox {
  font-weight: normal;
}

.wp-block-purso-material-library .file-list__facets .facetwp-expand {
  display: none !important;
}

.wp-block-purso-material-library .file-list__facets__title {
  font-weight: 600;
  margin-bottom: var(--wp--preset--spacing--30, 0.75rem);
}

.wp-block-purso-material-library .file-list__facets .facetwp-facet {
  margin-bottom: var(--wp--preset--spacing--50, 1.5rem) !important;
}

.wp-block-purso-material-library .file-list__facets .facetwp-counter {
  display: none;
}

/* ── Results area ──────────────────────────────────────────────────────────── */

.wp-block-purso-material-library .file-list__results .facetwp-facet {
  justify-content: flex-start;
}

/* ── Term content overlays ─────────────────────────────────────────────────── */

.wp-block-purso-material-library .term-content {
  display: none;
  margin-top: var(--wp--preset--spacing--50, 1.5rem);
  margin-bottom: var(--wp--preset--spacing--70, 3rem);
}

.wp-block-purso-material-library .term-content.active {
  display: block;
}

/* ── File groups ───────────────────────────────────────────────────────────── */

.wp-block-purso-material-library .file-group {
  border: 1px solid var(--wp--preset--color--grey-mid, #d5d3d3);
  border-radius: var(--wp--custom--radius--s, 8px);
  padding: var(--wp--preset--spacing--40, 1rem);
  margin-bottom: var(--wp--preset--spacing--50, 1.5rem);
  background: var(--wp--preset--color--white, #fff);
}

/* ── Buttons container ─────────────────────────────────────────────────────── */

.wp-block-purso-material-library .wp-block-buttons {
  gap: 0;
  margin-bottom: 0;
}

.wp-block-purso-material-library .wp-block-buttons span {
  font-weight: 400;
  font-size: var(--wp--preset--font-size--small, 0.75rem);
  color: rgba(26, 26, 26, 0.65);
}

.wp-block-purso-material-library .wp-block-button {
  display: flex;
  align-items: center;
  gap: var(--wp--preset--spacing--40, 1rem);
}

/* ── File download links ───────────────────────────────────────────────────── */

.wp-block-purso-material-library .wp-block-button__link {
  all: unset;
  cursor: pointer;
  display: block;
  margin: 0;
  border: 0;
  text-transform: none;
  text-decoration: none;
  font-weight: 600;
  padding: 0.25rem 0.25rem 0.25rem 2rem;
  text-align: left;
  color: var(--wp--preset--color--purso-turkoosi, #008fa5);
  transition: background-color 200ms ease;
  border-radius: var(--wp--custom--radius--xs, 4px);
}

.wp-block-purso-material-library .wp-block-button__link:hover {
  color: var(--wp--preset--color--purso-turkoosi, #008fa5);
  background-color: var(--wp--preset--color--grey-light, #ededed) !important;
}

.wp-block-purso-material-library .wp-block-button__link::before {
  content: "";
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  margin-left: -1.5rem;
  margin-right: 0.25rem;
  vertical-align: -0.2em;
  background: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32v210.7l-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 242.7V32zM64 352c-35.3 0-64 28.7-64 64v32c0 35.3 28.7 64 64 64h384c35.3 0 64-28.7 64-64v-32c0-35.3-28.7-64-64-64H346.5l-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352H64zm368 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32v210.7l-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 242.7V32zM64 352c-35.3 0-64 28.7-64 64v32c0 35.3 28.7 64 64 64h384c35.3 0 64-28.7 64-64v-32c0-35.3-28.7-64-64-64H346.5l-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352H64zm368 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

/* ── Updated badge ─────────────────────────────────────────────────────────── */

.wp-block-purso-material-library .file-updated {
  background: var(--wp--preset--color--purso-turkoosi, #008fa5);
  color: var(--wp--preset--color--white, #fff);
  display: inline-block;
  padding: 0.125rem 0.5rem;
  font-weight: 600;
  font-size: var(--wp--preset--font-size--small, 0.75rem);
  border-radius: var(--wp--custom--radius--xs, 4px);
}

/* ── Admin edit link ───────────────────────────────────────────────────────── */

.wp-block-purso-material-library .edit-file {
  font-size: var(--wp--preset--font-size--small, 0.75rem);
  color: var(--wp--preset--color--grey-mid, #d5d3d3);
  text-decoration: none;
}

.wp-block-purso-material-library .edit-file:hover {
  color: var(--wp--preset--color--purso-turkoosi, #008fa5);
  text-decoration: underline;
}

/* ── Login form ────────────────────────────────────────────────────────────── */

.wp-block-purso-material-library .wp-login-inpage {
  margin-top: var(--wp--preset--spacing--50, 1.5rem);
}