/* ==========================
   Responsive Navigation
========================== */

@media (max-width: 768px) {
	
	/* weitere Regeln */
	.site-header__navigation {
		border-top: 0;
		border-bottom: 1px solid var(--color-border);
	}

    .menu-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;

        width: max-content;
        margin: 0.75rem auto;
        padding: 0.65rem 1rem;

        border: 1px solid var(--color-border);
        border-radius: var(--radius);

        background: var(--color-white);
        color: var(--color-primary);

        font-family: var(--font-secondary);
        font-size: 1rem;
        font-weight: 500;

        cursor: pointer;
    }

    .primary-menu {
		display: none;
		flex-direction: column;
		align-items: center;
		gap: 0;
    }

    .primary-menu.is-open {
        display: flex;
    }

    .primary-menu li {
        width: 100%;
        text-align: center;
    }

    .primary-menu li:not(:last-child)::after {
        display: none;
    }

    .primary-menu a {
		display: block;
		padding: 0.5rem 1rem;
    }
	
	.card-grid {
		grid-template-columns: 1fr;
	}
	
	.hero {
    padding-top: 3rem;
		padding-bottom: 3rem;
	}
	
	.hero__title {
		font-size: clamp(2.2rem, 9vw, 3rem);
	}
	
	.hero__description {
		max-width: 32rem;
		font-size: 1.1rem;
		line-height: 1.6;
	}
	
	.hero__actions {
		flex-direction: column;
		align-items: center;
		gap: 0.75rem;
	}
	
	.hero__actions .button {
		min-width: 180px;
		padding: 0.8rem 1.25rem;
	}

    .home-about {
        padding-block: 3rem;
    }

    .card {
        min-height: 0;
    }

    .card__content {
        padding: 1.75rem;
    }
}

@media (max-width: 420px) {

    .primary-menu a {
		padding: 0.5rem 1rem;
	}
	
	.card {
		min-height: 0;
	}
	
	.card__content {
		padding: 1.5rem;
	}
	
	.hero__title {
        font-size: 2rem;
    }

    .hero__description {
        font-size: 1rem;
    }

    .hero__actions .button {
        width: 100%;
        max-width: 260px;
    }
	
	.section-heading__title {
		font-size: 1.8rem;
	}
	
	.form-check {
		align-items: flex-start;
		gap: 0.65rem;
	}

	.form-check__input {
		flex: 0 0 auto;
		margin-top: 0.25rem;
	}
	
    .book-entry__navigation {
		flex-direction: column;
		align-items: stretch;
		gap: 1rem;

		margin-top: 2rem;
		margin-bottom: 1.5rem;

		padding-top: 1.25rem;
		padding-bottom: 0.75rem;
	}

	.book-entry__navigation a:first-child {
		text-align: left;
	}

	.book-entry__navigation a:last-child {
		text-align: right;
	}
}