/* Version 0.9.7 – bessere Lesbarkeit im gesamten Frontend */
body { font-size: 18px; }

.eyebrow { font-size: .86rem; line-height: 1.4; }
.btn.small { font-size: .96rem; }
.brand > small { font-size: .72rem; }
.site-nav > a:not(.btn) { font-size: 1rem; }
.capacity-badge span { font-size: .8rem; }
.feature-card p:last-child { font-size: 1rem; }
.story-stamp { font-size: .94rem; }
.location-price small { font-size: .8rem; }
.location-facts span { font-size: .9rem; }

/* Footer – Navigation und Rechtliches bewusst größer */
.footer-nav,
.footer-contact { gap: 11px; }
.footer-nav a,
.footer-contact a,
.footer-contact > span,
.footer-contact address { font-size: 1.02rem; line-height: 1.55; }
.footer-contact .footer-phone { font-size: 1.12rem; }
.site-footer .consent { font-size: .88rem; line-height: 1.55; }
.site-footer .legal { font-size: .92rem; line-height: 1.55; color: rgba(255,255,255,.68); }
.site-footer__newsletter p:last-child { font-size: 1rem; }

/* Rechtliche Seiten */
.legal-page-nav a { font-size: 1rem; }
.legal-content p,
.legal-content li { font-size: 1rem; }
.legal-updated { font-size: .92rem; }

/* Events & Tickets */
.event-card__image > span { font-size: .82rem; }
.event-card__meta { font-size: .9rem; }
.event-card__footer small { font-size: .82rem; }
.event-detail__content dt { font-size: .84rem; }
.ticket-quantity { font-size: .9rem; }

/* Checkout / Buchungsbestätigung */
.checkout-country,
.checkout-payment-note,
.checkout-submit-note { font-size: .92rem; }
.checkout-summary__persons { font-size: .9rem; }
.checkout-card label small,
.payment-option small { font-size: .9rem; line-height: 1.5; }

/* Location-Anfrage und Kalender */
.request-call small { font-size: .8rem; }
.calendar-weekdays { font-size: .82rem; }
.calendar-legend { font-size: .88rem; }
.calendar-hint { font-size: .9rem; line-height: 1.6; }
.calendar-event-popover { font-size: .84rem; }
.request-catering__intro p,
.availability-status { font-size: .98rem; }
.request-consent { font-size: .94rem; line-height: 1.55; }
.request-note { font-size: .9rem; }

/* Das Catering-Bild füllt seinen vorgesehenen Rahmen vollständig aus. */
.home-catering__image,
.location-catering__image {
    position: relative;
    min-height: 0;
    height: 500px;
}
.home-catering__image img,
.location-catering__image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
}
.location-catering__image { height: 540px; }

@media (max-width: 920px) {
    .home-catering__image,
    .location-catering__image { height: 480px; }
}

@media (max-width: 650px) {
    body { font-size: 17px; }
    .eyebrow { font-size: .84rem; }
    .brand > small { font-size: .7rem; }
    .capacity-badge span { font-size: .72rem; }
    .story-stamp { font-size: .8rem; }
    .event-kind p:last-child { font-size: .96rem; }
    .location-hero__image > span { font-size: .8rem; }
    .location-facts span { font-size: .8rem; }
    .home-catering__image,
    .location-catering__image { height: 360px; }
    .footer-nav a,
    .footer-contact a,
    .footer-contact > span,
    .footer-contact address { font-size: 1rem; }
    .site-footer .legal { font-size: .9rem; }
}


/* Version 1.2.8 – einheitliche Fließtext-Typografie auf der gesamten öffentlichen Website */
:root {
    --public-copy-size: 1rem;
    --public-copy-line-height: 1.72;
}

/* Normale redaktionelle Texte verwenden überall dieselbe Schriftgröße.
   Unterschiede werden über Abstand, Farbe und Position erzeugt – nicht über wechselnde Textgrößen. */
#main-content .lead,
#main-content p:not([class]),
#main-content .rich-copy p,
#main-content .rich-copy li,
#main-content .event-description,
#main-content .checkout-head p:last-child,
#main-content .about-team__intro,
#main-content .about-team__body p,
#main-content .equipment-outdoor__list li,
#main-content .equipment-cta p,
#main-content .collaboration-copy > p,
#main-content .collaboration-examples li {
    font-size: var(--public-copy-size);
    line-height: var(--public-copy-line-height);
}

/* Bestehende Inhaltsblöcke, die bisher abweichende Größen hatten, bewusst angleichen. */
#main-content .feature-card .rich-copy,
#main-content .event-kind .rich-copy,
#main-content .occasion-grid .rich-copy,
#main-content .public-ticket .rich-copy,
#main-content .home-closing__copy .rich-copy,
#main-content .location-catering__copy .rich-copy,
#main-content .location-cta .rich-copy,
#main-content .location-equipment-teaser .rich-copy {
    font-size: var(--public-copy-size);
    line-height: var(--public-copy-line-height);
}

/* Textabsätze erhalten eine ruhige optische Trennung, ohne die Schriftgröße zu verändern. */
#main-content .rich-copy p + p,
#main-content p:not([class]) + p:not([class]) {
    margin-top: .75em;
}

@media (max-width: 650px) {
    :root { --public-copy-size: 1rem; }
}
