/* ===== TYPOGRAPHY.CSS - Elegant Wedding Fonts ===== */

/* FONT LOADING OPTIMIZATION - size-adjust dla fallback */
@font-face {
    font-family: 'Poppins Fallback';
    src: local('Arial');
    ascent-override: 92%;
    descent-override: 24%;
    line-gap-override: 0%;
    size-adjust: 107%;
}

@font-face {
    font-family: 'Inter Fallback';
    src: local('Arial');
    ascent-override: 90%;
    descent-override: 22%;
    line-gap-override: 0%;
    size-adjust: 107%;
}

/* ROOT - Globalne ustawienia czcionek */
:root {
    --font-primary: 'Poppins', 'Poppins Fallback', system-ui, -apple-system, sans-serif;
    --font-secondary: 'Inter', 'Inter Fallback', system-ui, -apple-system, sans-serif;
    --font-display: 'Gilda Display', Georgia, serif;
    
    /* Lepsza typografia */
    --letter-spacing-tight: -0.025em;
    --letter-spacing-normal: 0;
    --letter-spacing-wide: 0.025em;
    --line-height-tight: 1.2;
    --line-height-normal: 1.5;
    --line-height-relaxed: 1.6;
}

/* PODSTAWOWE ELEMENTY */
body {
    font-family: var(--font-primary);
    font-weight: 400;
    line-height: var(--line-height-normal);
    letter-spacing: var(--letter-spacing-normal);
    font-feature-settings: 'kern' 1, 'liga' 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* NAVIGATION */
.logo-main {
    font-family: var(--font-display);
    font-weight: 700;
    letter-spacing: var(--letter-spacing-tight);
    font-size: 1.75rem;
}

.logo-sub {
    font-family: var(--font-primary);
    font-weight: 500;
    font-size: 0.875rem;
    letter-spacing: var(--letter-spacing-wide);
    text-transform: uppercase;
}

.nav-link {
    font-family: var(--font-primary);
    font-weight: 500;
    letter-spacing: var(--letter-spacing-wide);
    font-size: 0.9rem;
}

.nav-cta {
    font-family: var(--font-primary);
    font-weight: 600;
    letter-spacing: var(--letter-spacing-wide);
    font-size: 0.9rem;
}

/* HERO SECTION */
.hero-badge {
    font-family: var(--font-primary);
    font-weight: 600;
    letter-spacing: var(--letter-spacing-wide);
    font-size: 0.875rem;
    text-transform: uppercase;
}

.hero-title {
    font-family: var(--font-display);
    font-weight: 800;
    line-height: var(--line-height-tight);
    letter-spacing: var(--letter-spacing-tight);
}

.hero-subtitle {
    font-family: var(--font-primary);
    font-weight: 400;
    line-height: var(--line-height-relaxed);
    letter-spacing: var(--letter-spacing-normal);
    font-size: 1.125rem;
}

.service-item {
    font-family: var(--font-primary);
    font-weight: 500;
    letter-spacing: var(--letter-spacing-normal);
}

/* BUTTONS */
.btn {
    font-family: var(--font-primary);
    font-weight: 600;
    letter-spacing: var(--letter-spacing-wide);
    text-transform: none;
}

/* SECTIONS */
.section-title {
    font-family: var(--font-display);
    font-weight: 700;
    line-height: var(--line-height-tight);
    letter-spacing: var(--letter-spacing-tight);
}

.section-subtitle {
    font-family: var(--font-primary);
    font-weight: 400;
    line-height: var(--line-height-relaxed);
    letter-spacing: var(--letter-spacing-normal);
}

/* VIDEO SECTION */
.featured-video-info h2 {
    font-family: var(--font-display);
    font-weight: 600;
    letter-spacing: var(--letter-spacing-tight);
    line-height: var(--line-height-tight);
}

.featured-video-description {
    font-family: var(--font-primary);
    font-weight: 400;
    line-height: var(--line-height-relaxed);
    letter-spacing: var(--letter-spacing-normal);
}

.video-item h3 {
    font-family: var(--font-display);
    font-weight: 600;
    letter-spacing: var(--letter-spacing-tight);
    line-height: var(--line-height-tight);
}

.video-item p {
    font-family: var(--font-primary);
    font-weight: 400;
    line-height: var(--line-height-relaxed);
    letter-spacing: var(--letter-spacing-normal);
}

.video-meta {
    font-family: var(--font-secondary);
    font-weight: 500;
    letter-spacing: var(--letter-spacing-normal);
}

/* CONTACT SECTION */
.contact-info h2 {
    font-family: var(--font-display);
    font-weight: 700;
    letter-spacing: var(--letter-spacing-tight);
    line-height: var(--line-height-tight);
}

.contact-info p {
    font-family: var(--font-primary);
    font-weight: 400;
    line-height: var(--line-height-relaxed);
    letter-spacing: var(--letter-spacing-normal);
    font-size: 1.1rem;
}

/* FORMS */
.form-group label {
    font-family: var(--font-primary);
    font-weight: 600;
    letter-spacing: var(--letter-spacing-wide);
    font-size: 0.9rem;
    text-transform: uppercase;
}

.form-group input,
.form-group textarea {
    font-family: var(--font-primary);
    font-weight: 400;
    letter-spacing: var(--letter-spacing-normal);
    line-height: var(--line-height-normal);
}

.submit-btn {
    font-family: var(--font-primary);
    font-weight: 700;
    letter-spacing: var(--letter-spacing-wide);
    text-transform: uppercase;
}

/* STATUS INFO */
.status-info {
    font-family: var(--font-secondary);
    font-weight: 600;
    letter-spacing: var(--letter-spacing-wide);
    font-size: 0.875rem;
}

/* RESPONSIVE TYPOGRAPHY */
@media (max-width: 768px) {
    .hero-title {
        font-weight: 700; /* Lżejszy na mobile */
    }
    
    .hero-subtitle {
        font-size: 1rem;
        line-height: var(--line-height-relaxed);
    }
    
    .section-title {
        font-weight: 600;
    }
    
    .nav-link, .nav-cta {
        font-size: 0.85rem;
    }
}

@media (max-width: 480px) {
    .hero-badge {
        font-size: 0.8rem;
    }
    
    .service-item {
        font-size: 0.9rem;
    }
    
    .btn {
        font-size: 0.9rem;
        font-weight: 600;
    }
}

/* FONT LOADING OPTIMIZATION */

/* PREMIUM DETAILS */
h1, h2, h3, h4, h5, h6 {
    font-feature-settings: 'kern' 1, 'liga' 1, 'clig' 1;
}

p, span, div {
    font-feature-settings: 'kern' 1, 'liga' 1;
}

/* BETTER READABILITY */
.hero-content, .section-header, .contact-info {
    text-rendering: optimizeLegibility;
}