/**
 * Jonny B GmbH – Base CSS
 * Reset, Schriften, Grundelemente
 */

/* Schriften (lokal gehostet, Variable Font – alle Gewichte in einer Datei) */
@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/open-sans/open-sans-v44-latin.woff2') format('woff2');
    font-weight: 100 900;
    font-style:  normal;
    font-display: swap;
}

/* Box-Sizing global */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: 100%;
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    font-family:    var(--font-body);
    font-size:      var(--font-size-base);
    font-weight:    var(--font-weight-regular);
    line-height:    var(--line-height-base);
    color:          var(--color-text);
    background:     var(--color-gray-100);
}

/* Zugänglichkeits-Fokus sichtbar machen */
:focus-visible {
    outline: 3px solid var(--color-primary);
    outline-offset: 3px;
}

/* Überschriften */
h1, h2, h3, h4, h5, h6 {
    font-family:    var(--font-heading);
    font-weight:    var(--font-weight-semibold);
    line-height:    var(--line-height-heading);
    color:          var(--color-gray-900);
}
h1 { font-size: var(--font-size-3xl); }
h2 { font-size: var(--font-size-2xl); }
h3 { font-size: var(--font-size-xl);  }

/* Links */
a {
    color: var(--color-primary);
    text-decoration: none;
    transition: color var(--transition-fast);
}
a:hover {
    color: var(--color-primary-dark);
}

/* Bilder */
img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Listen (global zurückgesetzt, in Komponenten nach Bedarf) */
ul, ol {
    list-style: none;
}

/* Barrierefreiheit: Skip-Link */
.skip-link {
    position: absolute;
    top: -40px;
    left: 0;
    background: var(--color-primary);
    color: var(--color-white);
    padding: var(--space-2) var(--space-4);
    z-index: 9999;
    font-weight: var(--font-weight-semibold);
    transition: top var(--transition-fast);
}
.skip-link:focus {
    top: 0;
}
