/* --- GRID CONTAINER --- */
.afe-grid-container { 
    display: grid; 
    grid-template-columns: repeat(auto-fill, minmax(384px, 1fr)); 
    grid-gap: 3rem;
	font-family: 'Inter';
	font-weight: 400;
	font-size: 1rem;
	line-height: 1;
}

/* --- KORTET (CARD) --- */
.afe-card { 
    display: grid; 
    grid-template-rows: 256px 1fr auto;
}

/* --- BILDE / FIGUR --- */
.afe-figure {
	border: 1px solid #000;
	border-radius: 1rem;
	overflow: hidden;
}

.afe-figure .afe-card-img { 
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
    display: block;
}

/* --- KORT INNHOLD --- */
.afe-card-body {
	display: grid;
	grid-template-rows: auto 1fr auto;
    padding: 1rem; 
}

.afe-card-title {
	font-size: 1.125rem;
	line-height: 1.25rem;
	font-weight: 500;
}

/* --- KATEGORIER --- */
.afe-categories {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.afe-card-desc {
	font-size: .875rem;
	font-weight: 300;
	line-height: 1.5;
	margin: .5rem 0 1rem 0;
}

.afe-card-meta {
	display: grid;
	grid-gap: .25rem;
	padding-top: 1rem;
	border-top: 1px solid #000;
	font-size: .875rem;
	line-height: 1.25;
}

.afe-date,
.afe-loc {
	display: grid;
	grid-template-columns: 1rem auto;
	align-items: center;
	grid-gap: .25rem;
}

.afe-date:before {
	content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M520-496v-144q0-17-11.5-28.5T480-680q-17 0-28.5 11.5T440-640v159q0 8 3 15.5t9 13.5l132 132q11 11 28 11t28-11q11-11 11-28t-11-28L520-496ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-400Zm0 320q133 0 226.5-93.5T800-480q0-133-93.5-226.5T480-800q-133 0-226.5 93.5T160-480q0 133 93.5 226.5T480-160Z"/></svg>');
	width: 1rem;
	height: 1rem;
}

.afe-loc:before {
	content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M480-186q122-112 181-203.5T720-552q0-109-69.5-178.5T480-800q-101 0-170.5 69.5T240-552q0 71 59 162.5T480-186Zm0 79q-14 0-28-5t-25-15q-65-60-115-117t-83.5-110.5q-33.5-53.5-51-103T160-552q0-150 96.5-239T480-880q127 0 223.5 89T800-552q0 45-17.5 94.5t-51 103Q698-301 648-244T533-127q-11 10-25 15t-28 5Zm0-453Zm0 80q33 0 56.5-23.5T560-560q0-33-23.5-56.5T480-640q-33 0-56.5 23.5T400-560q0 33 23.5 56.5T480-480Z"/></svg>');
	width: 1rem;
	height: 1rem;
}

/* --- KNAPPERAD --- */
.afe-btn-row {
    display: flex;
    gap: .5rem;
}

.afe-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .5rem;
    text-align: center;
    border-radius: .5rem;
    cursor: pointer;
}

/* Sekundærknapp (Les mer) */
.afe-btn-secondary {
    background-color: #fff;
    border: 1px solid #000;
}

/* Primærknapp (Kjøp billetter) */
.afe-btn-primary {
    background-color: #000;
    color: #fff !important;
}

/* --- PAGINERING STYLES --- */
.afe-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .5rem;
    margin-top: 3rem;
	padding-top: 1rem;
	border-top: 1px solid #000;
    flex-wrap: wrap;
}

/* Felles stil for alle knapper */
.afe-page-btn, 
.afe-page-number {
	min-width: 2.5rem;
	background-color: #fff;
	padding: .25rem .5rem;
    border: 1px solid #000;
    cursor: pointer;
    font-size: 1rem;
    border-radius: .5rem;
	font-weight: 400;
}

/* Aktiv side (Nåværende side) */
.afe-page-number.active {
    background-color: #000;
    color: #fff;
    cursor: default;
}

/* Disabled knapper */
.afe-page-btn:disabled {
    border-color: #00000040;
    cursor: not-allowed;
}

/* Ellipsene (...) */
.afe-dots {
    padding: .25rem .5rem;
    letter-spacing: 1px;
}