.form {

    background: var(--color-surface);
    padding: var(--space-xl);

    border-radius: var(--radius-large);
    box-shadow: var(--shadow-soft);

    display: flex;
    flex-direction: column;
    gap: var(--space-l);
}

.form div {

    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.form textarea {
    min-height: 300px;
    resize: vertical;
}

.form select {
    width: 100%;
    padding: 10px 14px;
    font-size: 16px;
    font-family: inherit;
    padding: 16px;
    color: #333;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 14px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    box-sizing: border-box;
}


.label {

    font-size: var(--font-size-small);
}

.input, .textarea {

    padding: var(--space-m);

    border-radius: var(--radius-medium);
    border: 1px solid var(--color-border);

    font-size: var(--font-size-normal);
}

.input:focus {

    outline: none;
    border-color: var(--color-primary);
}

.button {

    margin-top: var(--space-m);
    padding: var(--space-m);

    border: none;
    border-radius: var(--radius-medium);

    background: var(--color-primary);
    color: white;

    font-size: var(--font-size-large);
    cursor: pointer;
}

.button:active {
    transform: scale(0.98);
}

.story-grid {

    display: grid;
    grid-template-columns: 1fr;

    gap: var(--space-l);
}

@media (min-width: 768px) {

    .story-grid {
        grid-template-columns: repeat(3, 1fr);
    }

}

.story-card {

    background: var(--color-surface);

    border-radius: var(--radius-large);

    overflow: hidden;

    box-shadow: var(--shadow-soft);

    transition: transform 0.15s ease;
}

.story-card a {
    text-decoration: none;
    color: inherit;
}

.story-card img {

    width: 100%;
    height: 160px;

    object-fit: cover;
}

.story-card h2 {

    font-size: var(--font-size-normal);

    padding: var(--space-m);
}

.story-card:active {
    transform: scale(0.98);
}

.icon-button {
    color: var(--color-text);

    border: none;
    background: none;

    font-size: 20px;

    cursor: pointer;

    padding: var(--space-s);
}


.pagination {

    display: flex;
    justify-content: center;

    gap: var(--space-m);

    margin-top: var(--space-xl);
}

.pagination a,
.pagination span {

    display: flex;
    align-items: center;
    justify-content: center;

    width: 36px;
    height: 36px;

    border-radius: 50%;

    border: 1px solid var(--color-border);

    text-decoration: none;
    color: var(--color-text);
}

.pagination .current {

    background: var(--color-primary);
    color: white;
    border: none;
}

.scroll-top {

    position: fixed;

    bottom: 20px;
    right: 20px;

    width: 44px;
    height: 44px;

    border-radius: 50%;

    border: none;

    background: var(--color-primary);
    color: white;

    font-size: 20px;

    box-shadow: var(--shadow-soft);

    cursor: pointer;
}

.story {

    max-width: 700px;
    margin: auto;

    display: flex;
    flex-direction: column;
    gap: var(--space-l);
}

.back-link {

    text-decoration: none;
    color: var(--color-primary);

    font-size: var(--font-size-small);
}

.story-header {

    display: flex;
    flex-direction: column;
    gap: var(--space-s);
}

.labels {

    display: flex;
    flex-wrap: wrap;
    gap: var(--space-s);
}

.labels a {

    padding: 4px 10px;

    font-size: var(--font-size-small);

    background: var(--color-primary-soft);

    border-radius: var(--radius-small);

    text-decoration: none;
    color: var(--color-text);
}

.story-image {
    
    display: inline-block;
    transition: transform 0.1s linear;
    border-radius: var(--radius-large);
    position: sticky;
    top: 57px;
    width: 100%;
    transform-origin: top left;
    box-shadow: var(--shadow-soft);
    z-index: 10;
}

.story-image img {
    border-radius: var(--radius-large);
    display: block;

    width: 100%;
}


.story-text {

    font-size: 18px;

    line-height: 1.7;

    display: flex;
    flex-direction: column;

    gap: var(--space-m);
}

.character {

    max-width: 700px;
    margin: auto;

    display: flex;
    flex-direction: column;
    gap: var(--space-l);
}

.character-image img {

    width: 100%;

    border-radius: var(--radius-large);

    box-shadow: var(--shadow-soft);
}

.character-facts {

    display: grid;

    grid-template-columns: auto 1fr;

    gap: var(--space-s) var(--space-m);
}

.character-facts div {
    display: contents;
}

.character-facts dt {

    font-weight: 600;
}

.character-facts dd {

    margin: 0;
}

.character-section {

    display: flex;
    flex-direction: column;

    gap: var(--space-s);
}

.character-section h2 {

    font-size: var(--font-size-large);
}

.character-section p {

    line-height: 1.7;
}

.form-actions {

    margin-top: var(--space-l);

    display: flex;
    justify-content: center;
    gap: var(--space-m);
}

.form-btn {

    padding: var(--space-m) var(--space-l);

    border: none;
    text-decoration: none;
    border-radius: var(--radius-medium);

    background: var(--color-primary);

    color: white;

    font-size: var(--font-size-normal);

    cursor: pointer;
}

.label-cloud {

    display: flex;
    flex-wrap: wrap;

    justify-content: center;
    align-items: center;

    gap: var(--space-m);

    padding: var(--space-l);

}

.label-item {

    text-decoration: none;

    padding: 6px 12px;

    border-radius: var(--radius-medium);

    background: var(--color-primary-soft);

    color: var(--color-text);

    transition: transform 0.15s ease;

    font-size: calc(14px + 22px * var(--weight));

}

.label-item:hover {

    transform: scale(1.1);

}

.label-cloud {

    max-width: 700px;
    margin: auto;

    line-height: 2.2;

}

.label-item {

    background: hsl(
        230,
        60%,
        calc(92% - 20% * var(--weight))
        );

}

.admin-header {

    display: flex;
    justify-content: space-between;
    align-items: center;

    margin-bottom: var(--space-l);

}

.admin-grid {

    display: grid;

    grid-template-columns: 1fr;

    gap: var(--space-l);

}

@media (min-width: 768px) {

    .admin-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}

@media (min-width: 1100px) {

    .admin-grid {
        grid-template-columns: repeat(3, 1fr);
    }

}

.admin-card {

    background: var(--color-surface);

    border-radius: var(--radius-large);

    overflow: hidden;

    box-shadow: var(--shadow-soft);

    display: flex;
    flex-direction: column;

}

.admin-card-image img {

    width: 100%;
    height: 140px;

    object-fit: cover;

}

.admin-card-body {

    padding: var(--space-m);

    display: flex;
    flex-direction: column;

    gap: var(--space-m);

}

.admin-card-title {

    font-size: var(--font-size-normal);
}

.entry-id {

    color: var(--color-text-soft);
}

.admin-actions {

    display: flex;
    flex-wrap: wrap;

    gap: var(--space-s);
}

.admin-actions > a,
.admin-actions > form > button {
    display: inline-flex;            /* gleiche Basis für Layout */
    align-items: center;
    justify-content: center;

    padding: 6px 12px;               /* gleiche Höhe + Breite */
    border-radius: var(--radius-small);
    border: none;

    font-size: var(--font-size-small);
    cursor: pointer;

    text-decoration: none;           /* für <a> */
    box-sizing: border-box;          /* sichert gleiche Größe */
}

.admin-actions > a i,
.admin-actions > form > button i {
    margin-right: 4px;
    display: inline-block;
}

.admin-actions > form {
    display: inline-block;           /* Formular inline mit Links */
    margin: 0;                       /* kein extra Margin */
}

.admin-actions > form > button {
    height: 36px;                   /* fixe Höhe, optional */
    line-height: 1;                  /* verhindert extra Padding */
}

.btn {

    padding: 6px 10px;

    border-radius: var(--radius-small);

    text-decoration: none;

    border: none;

    cursor: pointer;

    font-size: var(--font-size-small);

}

.btn-primary {
    background: var(--color-primary);
    color: white;
}

.btn-secondary {
    background: #e6e9f5;
}

.btn-warning {
    background: #ffd466;
}

.btn-danger {
    background: #ff6b6b;
    color: white;
}

.history-list {

    list-style: none;
    padding: 0;
    margin: 0;

    display: flex;
    flex-direction: column;

    gap: var(--space-m);

}

.history-item {

    background: var(--color-surface);

    border-radius: var(--radius-large);

    padding: var(--space-m);

    box-shadow: var(--shadow-soft);

}

.history-meta {

    display: flex;

    justify-content: space-between;

    font-size: var(--font-size-small);

    color: var(--color-text-soft);

    margin-bottom: var(--space-s);

}

.history-action {

    background: #e8ecff;

    padding: 2px 8px;

    border-radius: var(--radius-small);

    font-weight: 600;

}

.history-action[data-action="create"] {
    background:#c8f7d4;
}
.history-action[data-action="update"] {
    background:#fff2c8;
}
.history-action[data-action="delete"] {
    background:#ffd6d6;
}

.history-title {

    font-size: var(--font-size-normal);

    margin-bottom: var(--space-s);

}

.history-preview {

    font-size: var(--font-size-small);

    color: var(--color-text);

    line-height: 1.5;

}