/*
Theme Name: Pentagram
*/

body {
            font-family: 'Jost', sans-serif;
            scroll-behavior: smooth;
        }
        h1, h2, h3, .font-serif {
            font-family: 'Playfair Display', serif;
        }
        h2 {
            line-height: 1.35 !important;
        }
        .gold-accent { color: #C5A059; }
        .bg-navy { background-color: #0A1128; }
        .border-gold { border-color: #C5A059; }
                @keyframes fadeIn {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }
        @keyframes pageLoad {
            from { opacity: 0; }
            to   { opacity: 1; }
        }
        @keyframes pageLoadNav {
            from { opacity: 0; }
            to   { opacity: 1; }
        }
        .page-load-hidden {
            opacity: 0;
        }
        .page-load-visible {
            animation: pageLoad 0.7s ease-out forwards;
        }
        #main-nav.page-load-visible {
            animation-name: pageLoadNav;
            animation-delay: 0s;
        }
        #main-hero.page-load-visible {
            animation-delay: 0.2s;
        }

        @keyframes pageLoad {
            from { opacity: 0; }
            to   { opacity: 1; }
        }
        .page-load-hidden { opacity: 0; }
        .page-load-visible { animation: pageLoad 0.7s ease-out forwards; }
        #main-nav.page-load-visible { animation-delay: 0s; }
        #page-hero.page-load-visible { animation-delay: 0.2s; }

        .text-navy { color: #0A1128; }
        .text-gold-accent { color: #C5A059; }
        .bg-gold-accent { background-color: #C5A059; }

form label {
    font-weight:600;
    font-size: 11px;
    text-transform: uppercase;
    color: #9ca3af;
    letter-spacing: 1px;
}

form input {
    border-bottom:1px solid #d1d5db;
    width:100%;
    padding:10px 0px;
    margin-bottom:20px
}

form textarea {
    border-bottom:1px solid #d1d5db;
    width:100%
}

form .wpcf7-submit {
    border:0px;
    background-color: #0a1128;
    color:#fff;
    font-size:11px;
    letter-spacing:1px;
    font-weight:500;
    width:auto;
    padding:10px 30px;
    text-transform: uppercase;
}

form .wpcf7-list-item {
    margin:0px;
    margin-top:10px
}

form .wpcf7-list-item input{
    width:auto;
    float:left;margin-right:10px
}

.wpcf7-list-item label {
    display:flex
}

.wpcf7-list-item-label {
    display: inline-block;
    text-transform: none;
    font-weight: 400;
    font-size: 11px;
    line-height: 18px;
    margin-bottom: 20px;
}

        /* Typografia treści artykułu */
        .prose-article h2 {
            font-family: 'Playfair Display', serif;
            font-size: 1.6rem;
            color: #0A1128;
            margin-top: 2.5rem;
            margin-bottom: 1rem;
            line-height: 1.35;
        }
        .prose-article p {
            color: #4b5563;
            font-size: 1.05rem;
            line-height: 1.85;
            margin-bottom: 1.25rem;
        }
        .prose-article ul {
            margin: 1.25rem 0 1.5rem 0;
            list-style: none;
            padding: 0;
        }
        .prose-article ul li {
            color: #4b5563;
            font-size: 1.05rem;
            line-height: 1.75;
            padding: 0.4rem 0 0.4rem 1.5rem;
            position: relative;
            border-bottom: 1px solid #f3f4f6;
        }
        .prose-article ul li::before {
            content: '';
            position: absolute;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background-color: #C5A059;
        }

        /* Subtelne przejścia */
        .nav-link {
            position: relative;
            font-size: 13px;
            transition: color 0.3s ease;
        }
        .nav-link::after {
            content: '';
            position: absolute;
            width: 0;
            height: 1px;
            bottom: -2px;
            left: 0;
            background-color: #C5A059;
            transition: width 0.3s ease;
        }
        .nav-link:hover::after {
            width: 100%;
        }
        
        .hero-gradient {
            position: relative;
            overflow: hidden;
        }
        .hero-gradient::before {
            content: '';
            position: absolute;
            inset: 0;
            background-image: url('img/herobg.avif');
            background-size: cover;
            background-position: center;
            animation: heroZoom 7s ease-in-out infinite alternate;
            z-index: 0;
        }
        .hero-gradient::after {
            content: '';
            position: absolute;
            inset: 0;
            background: rgba(10, 17, 40, 0.8);
            z-index: 1;
        }
        .hero-gradient > * {
            position: relative;
            z-index: 2;
        }
        @keyframes heroZoom {
            from { transform: scale(1); }
            to   { transform: scale(1.05); }
        }

        .hero-arrow {
            position: absolute;
            bottom: 30px;
            left: 50%;
            transform: translateX(-50%);
            z-index: 10;
            opacity: 0.85;
            animation: arrowBounce 1.8s ease-in-out infinite;
            transition: opacity 0.3s;
        }
        .hero-arrow:hover {
            opacity: 1;
        }
        @keyframes arrowBounce {
            0%, 100% { transform: translateX(-50%) translateY(0); }
            50%       { transform: translateX(-50%) translateY(8px); }
        }

        .article-card:hover img {
            transform: scale(1.05);
        }

        .spec-card {
            border-top: 3px solid transparent;
            transition: border-color 0.3s ease, box-shadow 0.3s ease;
        }
        .spec-card:hover {
            border-top-color: #C5A059;
            box-shadow: 0 8px 32px rgba(10, 17, 40, 0.08);
        }

        /* Scroll reveal */
        .scroll-reveal {
            opacity: 0;
            transform: translateY(35px);
            transition: opacity 0.7s ease, transform 0.7s ease;
        }
        .scroll-reveal.visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* Fullscreen mobile menu */
        .mobile-menu-hidden {
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.4s ease;
        }
        .mobile-menu-open {
            opacity: 1;
            pointer-events: all;
        }
        .mobile-nav-link {
            font-family: 'Playfair Display', serif;
            font-size: clamp(1.05rem, 3.3vw, 1.6rem);
            color: white;
            text-decoration: none;
            letter-spacing: 0.05em;
            position: relative;
            transition: color 0.3s ease;
        }
        .mobile-nav-link::after {
            content: '';
            position: absolute;
            width: 0;
            height: 1px;
            bottom: -4px;
            left: 50%;
            transform: translateX(-50%);
            background: #C5A059;
            transition: width 0.3s ease;
        }
        .mobile-nav-link:hover { color: #C5A059; }
        .mobile-nav-link:hover::after { width: 100%; }
        .hero-btn {
            display: inline-block;
            padding: 16px 40px;
            border: 1px solid white;
            color: white;
            font-size: 12px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.2em;
            transition: border-color 0.3s ease, color 0.3s ease;
        }
        .hero-btn:hover {
            border-color: #C5A059;
            color: #C5A059;
        }

        @media (max-width: 782px) {
            .py-32 {
                padding-top: 2.5rem !important;
                padding-bottom: 2.5rem !important;
            }

.text-4xl {
    font-size: 1.65rem !important;
}

.gap-20 {
    gap: 1rem !important;
}

.mb-20 {
    margin-bottom: 2rem !important;
}

#publikacje .items-end {
    align-items: flex-start !important;
}

.mb-16 {
    margin-bottom: 2rem !important;
}

.gap-12 {
    gap: 1.5rem !important;
}

.gap-16 {
    gap: 2rem !important;
}

        }