/* Lista sem bullets */
.acfsr-lista .acfsr-ul { margin:0; padding-left:0; list-style:none; }

/* Grid com colunas & alinhamento controlado */
.acfsr-grid {
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  justify-content: var(--acfsr-justify, flex-start); /* flex-start | center | flex-end */
}

/* Largura dos cards por nº de colunas */
.acfsr-grid .acfsr-item {
  width: calc((100% - (var(--acfsr-cols, 1) - 1) * 16px) / var(--acfsr-cols, 1));
  max-width: 100%;
}

.acfsr-item {
	border: 1px solid #eee;
	padding: 12px;
	border-radius: 8px;
	background: #fff;
	margin-bottom: 15px;
}

.acfsr-title {
	margin: 0 0 6px;
	font-size: 1.05rem;
}

.acfsr-field p {
    font-weight: bold;
    font-size: 18px;
}

.acfsr-desc {
	font-size: .95rem;
}

.acfsr-img {
	margin: 8px 0;
}

.acfsr-gallery {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 6px 0;
}

.acfsr-gal-thumb {
	display: block;
}

.acfsr-file,
.acfsr-link {
	margin: 6px 0;
}

.acfsr-file a {
    text-decoration: underline !important;
}

.acfsr-pagination a {
	display: inline-block;
	padding: 4px 8px;
	border: 1px solid #ddd;
	margin-right: 4px;
	border-radius: 4px;
	text-decoration: none;
}

.acfsr-pagination a.current {
	background: #f0f0f0;
	pointer-events: none;
}

.acfsr-subrepeater .acfsr-sublist {
	margin: 6px 0 0 18px;
}

/* Alinhamento por classes (fallback às vars) */
.acfsr-grid.acfsr-align-start  { justify-content:flex-start; }
.acfsr-grid.acfsr-align-center { justify-content:center; }
.acfsr-grid.acfsr-align-end    { justify-content:flex-end; }

/* Colunas por classes (1–6) como fallback às vars */
.acfsr-grid.acfsr-cols-1 .acfsr-item { width: 100%; }
.acfsr-grid.acfsr-cols-2 .acfsr-item { width: calc((100% - 16px) / 2); }
.acfsr-grid.acfsr-cols-3 .acfsr-item { width: calc((100% - 2*16px) / 3); }
.acfsr-grid.acfsr-cols-4 .acfsr-item { width: calc((100% - 3*16px) / 4); }
.acfsr-grid.acfsr-cols-5 .acfsr-item { width: calc((100% - 4*16px) / 5); }
.acfsr-grid.acfsr-cols-6 .acfsr-item { width: calc((100% - 5*16px) / 6); }


/* === MEDIA (card horizontal) === */
.acfsr-media { display: grid; gap: 16px; }
.acfsr-media-item {
  display: flex; gap: 16px; padding: 12px; border:1px solid #eee; border-radius:8px; background:#fff;
}
.acfsr-media-title { margin: 0 0 6px; font-weight:600; }

/* === TABLE === */
.acfsr-table { width:100%; border-collapse: collapse; }
.acfsr-table th, .acfsr-table td { border:1px solid #e5e5e5; padding:8px 10px; vertical-align: top; }
.acfsr-table thead th { background:#fafafa; text-align:left; font-weight:600; }
.acfsr-table-gallery { display:flex; flex-wrap:wrap; gap:6px; }

/* === ACCORDION === */
.acfsr-accordion { display: grid; gap: 10px; }
.acfsr-acc-item { border:1px solid #eee; border-radius:8px; background:#fff; padding: 0 12px; }
.acfsr-acc-summary { cursor:pointer; padding:12px 0; font-weight:600; outline:none; list-style:none; }
.acfsr-acc-content { padding: 0 0 12px 0; }

/* === MEDIA como grid flex (usa as mesmas variáveis/classes que o .acfsr-grid) === */
.acfsr-media {
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  justify-content: var(--acfsr-justify, flex-start);
}
.acfsr-media .acfsr-item {
  width: calc((100% - (var(--acfsr-cols, 1) - 1) * 16px) / var(--acfsr-cols, 1));
  max-width: 100%;
}

/* === Accordion: setinhas à direita (puro CSS) === */
.acfsr-acc-summary {
  position: relative;
  padding-right: 26px; /* espaço para a seta */
}
.acfsr-acc-summary::after {
  content: "";
  position: absolute;
  right: 6px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-50%) rotate(-45deg); /* fechada */
  transition: transform .18s ease;
  opacity: .8;
}
.acfsr-acc-item[open] .acfsr-acc-summary::after {
  transform: translateY(-50%) rotate(45deg); /* aberta */
}


