:root {
    --primary-color: #0073aa;
    --primary-hover: #005d87;
    --secondary-color: #6b7280;
    --text-color: #1f2937;
    --border-color: #e5e7eb;
    --dp-import-api-accent: #00c3a5;
    --dp-import-api-accent-light: #33d1b3;
    --border-radius: 6px;
    --shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    --transition: all 0.2s ease;
    interpolate-size: allow-keywords;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Główny kontener */
.dp-import-page {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;
    color: var(--text-color);
    line-height: 1.7;
    max-width: 800px;
    margin: 40px auto;
    padding: 0 20px;

    & .entry-title {
        font-size: clamp(28px, 5vw, 36px);
        font-weight: 700;
        color: var(--text-color);
        margin-bottom: 30px;
        padding-bottom: 15px;
        border-bottom: 2px solid var(--border-color);
        line-height: 1.3;
    }

    /* Nagłówki sekcji (h2, h3, h4) */
    & h2,
    & h3,
    & h4,
    & h5,
    & h6 {
        color: var(--text-color);
        margin-top: 40px;
        margin-bottom: 16px;
        line-height: 1.4;
        font-weight: 600;
    }

    & h2 {
        font-size: clamp(22px, 4vw, 28px);
        border-left: 4px solid var(--dp-import-api-accent);
        padding-left: 16px;
    }

    & h3 {
        font-size: clamp(20px, 3.5vw, 24px);
        color: var(--primary-color);
    }

    & h4 {
        font-size: clamp(18px, 3vw, 20px);
    }

    /* Akapity */
    & p {
        margin-bottom: 20px;
        font-size: 16px;
        color: var(--text-color);

        & strong {
            color: var(--text-color);
            font-weight: 600;
        }
    }

    /* Listy */
    & ol,
    & ul {
        margin-bottom: 20px;
        padding-left: 25px;
    }

    & ol {
        list-style-type: decimal;

        & ol {
            list-style-type: lower-alpha;

            & ol {
                list-style-type: lower-roman;
            }
        }
    }

    & ul {
        list-style-type: disc;

        & ul {
            list-style-type: circle;
        }
    }

    & li {
        margin-bottom: 10px;
        font-size: 16px;
        line-height: 1.6;

        /* Zagnieżdżone listy */
        & ol,
        & ul {
            margin-top: 10px;
            margin-bottom: 10px;
        }
    }

    /* Linki */
    & a {
        color: var(--dp-import-api-accent);
        text-decoration: none;
        font-weight: 500;
        transition: var(--transition);
        border-bottom: 1px solid transparent;

        &:hover,
        &:focus {
            color: var(--dp-import-api-accent-light);
            outline: none;
        }
    }

    /* Bloki kodu i cytowania */
    & code {
        background: var(--dp-import-api-accent-light);
        color: var(--dp-import-api-accent);
        padding: 3px 8px;
        border-radius: 4px;
        font-size: 15px;
        font-family: 'Courier New', Courier, monospace;
        transition: var(--transition);
        display: inline-block;

        &:hover {
            background: rgba(0, 195, 165, 0.2);
        }
    }

    & blockquote {
        border-left: 4px solid var(--dp-import-api-accent);
        margin: 20px 0;
        padding: 10px 0 10px 20px;
        font-style: italic;
        color: var(--secondary-color);
        background-color: rgba(0, 195, 165, 0.05);
        border-radius: 0 var(--border-radius) var(--border-radius) 0;
    }
}

/* Responsywność */
@media (max-width: 782px) {
    .dp-import-page {
        margin: 30px auto;
        padding: 0 15px;

        & .entry-title {
            font-size: 24px;
            margin-bottom: 20px;
        }

        & h2 {
            font-size: 20px;
        }

        & h3 {
            font-size: 18px;
        }

        & p,
        & li {
            font-size: 15px;
        }

        & .effective-date {
            font-size: 13px;
        }
    }
}

@media (max-width: 480px) {
    .dp-import-page {
        padding: 0 10px;

        & h2 {
            padding-left: 12px;
        }
    }
}
