.guestbook-shell {
    max-width: 960px;
}

.guestbook-intro .page-intro {
    margin-bottom: var(--space-7);
}

.guestbook-toolbar {
    padding-block: var(--space-5);
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: var(--space-6);
    border-top: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
}

.guestbook-toolbar h2 {
    margin: 0;
    font-size: 1.35rem;
}

.guestbook-sort {
    min-width: 250px;
}

.guestbook-sort label {
    margin-bottom: var(--space-1);
    color: var(--color-text-muted);
    font-size: 0.8125rem;
    font-weight: 500;
}

.guestbook-sort select {
    min-height: 42px;
    padding-block: 7px;
}

.guestbook-status {
    margin: var(--space-7) 0 0;
}

.guestbook-status:empty {
    display: none;
}

.guestbook-list {
    border-bottom: 1px solid var(--color-border);
}

.guestbook-entry {
    padding-block: var(--space-7);
    border-bottom: 1px solid var(--color-border);
}

.guestbook-entry:last-child {
    border-bottom: 0;
}

.guestbook-entry-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-6);
}

.guestbook-entry h3 {
    margin-bottom: var(--space-1);
    font-size: 1.2rem;
}

.guestbook-date {
    margin: 0;
    font-size: 0.875rem;
}

.guestbook-rating {
    flex: 0 0 auto;
    display: flex;
    align-items: baseline;
    gap: var(--space-3);
    color: var(--color-text);
    font-weight: 600;
    white-space: nowrap;
}

.guestbook-stars {
    color: var(--color-accent);
    letter-spacing: 0.08em;
}

.guestbook-rating-value {
    font-size: 0.9rem;
}

.guestbook-stay {
    margin: var(--space-4) 0 0;
    font-size: 0.9375rem;
}

.guestbook-comment {
    max-width: 760px;
    margin: var(--space-5) 0 0;
    color: var(--color-text);
    font-size: 1.0625rem;
    line-height: 1.7;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

@media (max-width: 600px) {
    .guestbook-toolbar,
    .guestbook-entry-header {
        align-items: stretch;
        flex-direction: column;
    }

    .guestbook-toolbar {
        gap: var(--space-4);
    }

    .guestbook-sort {
        width: 100%;
        min-width: 0;
    }

    .guestbook-entry-header {
        gap: var(--space-3);
    }

    .guestbook-rating {
        white-space: normal;
    }
}
