﻿<style >
/* ===== Brand tokens (tweak if needed) ===== */
:root {
    --brand-a: #0ea5e9; /* cyan */
    --brand-b: #8b5cf6; /* violet */
    --ink: #0b1020; /* dark text */
    --muted: #475569; /* muted text */
    --edge: #e5e7eb; /* light border */
    --card: #ffffff; /* white card */
    --bg: #f8fafc; /* page bg if used elsewhere */
}

/* ===== Sub-banner (breadcrumb) ===== */
.sub-banner {
    padding: clamp(16px, 3vh, 28px) 0;
    /*background: linear-gradient(135deg, var(--brand-a), var(--brand-b));*/
    color: #fff;
    box-shadow: 0 10px 24px rgba(2,6,23,.15);
}

    .sub-banner .breadcrumb {
        background: transparent;
        margin: 0;
    }

        .sub-banner .breadcrumb .breadcrumb-item a {
            color: #fff;
            text-decoration: underline;
            text-underline-offset: 2px;
        }

        .sub-banner .breadcrumb .breadcrumb-item.active,
        .sub-banner .breadcrumb .breadcrumb-item + .breadcrumb-item::before {
            color: rgba(255,255,255,.9);
        }

/* ===== Page title ===== */
.page-content .title {
    color: var(--ink);
    font-weight: 800;
    font-size: clamp(1.6rem, 3.5vw, 2.6rem);
    line-height: 1.2;
    letter-spacing: .2px;
    margin: clamp(12px, 2vh, 18px) 0 clamp(10px, 1.5vh, 14px);
    position: relative;
}

    .page-content .title::after {
        content: "";
        display: block;
        width: 84px;
        height: 4px;
        margin-top: clamp(8px, 1.2vh, 12px);
        border-radius: 999px;
        background: linear-gradient(90deg, var(--brand-a), var(--brand-b));
    }

/* ===== Top hero image (if present) ===== */
.page-content .col-lg-12 > img.img-fluid {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 16px;
    box-shadow: 0 12px 28px rgba(2,6,23,.18);
    margin-bottom: clamp(8px, 1.5vh, 14px);
}

/* ===== Article body container ===== */
.dynamic-description {
    /* Nice reading width & center */
    max-width: 980px;
    margin: 0 auto;
    color: var(--ink);
    font-size: clamp(1.02rem, 1.6vw, 1.12rem);
    line-height: 1.75;
}

    /* Reset only what’s necessary, then style—avoid wiping everything */
    .dynamic-description * {
        box-sizing: border-box;
    }

    /* Headings rhythm */
    .dynamic-description h1,
    .dynamic-description h2,
    .dynamic-description h3 {
        color: var(--ink);
        font-weight: 800;
        letter-spacing: .2px;
        line-height: 1.25;
        margin: clamp(18px, 3vh, 26px) 0 clamp(10px, 1.6vh, 14px);
    }

    .dynamic-description h1 {
        font-size: clamp(1.8rem, 4.2vw, 2.4rem);
    }

    .dynamic-description h2 {
        font-size: clamp(1.5rem, 3.4vw, 2rem);
    }

    .dynamic-description h3 {
        font-size: clamp(1.25rem, 2.6vw, 1.5rem);
    }

    /* Paragraphs & links */
    .dynamic-description p {
        margin: 0 0 1rem;
        color: var(--ink);
    }

    .dynamic-description a {
        color: var(--brand-b);
        text-decoration: underline;
        text-underline-offset: 3px;
    }

        .dynamic-description a:hover {
            color: var(--brand-a);
        }

    /* Lists */
    .dynamic-description ul,
    .dynamic-description ol {
        margin: .5rem 0 1rem 1.4rem;
    }

    .dynamic-description li {
        margin: .25rem 0;
    }

    /* Images inside content */
    .dynamic-description img {
        display: block;
        max-width: 100%;
        height: auto;
        border-radius: 14px;
        box-shadow: 0 10px 22px rgba(2,6,23,.12);
        margin: 12px auto;
    }

    .dynamic-description figure {
        margin: 1rem auto;
        text-align: center;
    }

    .dynamic-description figcaption {
        color: var(--muted);
        font-size: .95rem;
        margin-top: .5rem;
    }

    /* Quotes */
    .dynamic-description blockquote {
        margin: 1.2rem 0;
        padding: 1rem 1.25rem;
        border-left: 4px solid transparent;
        background: linear-gradient(90deg, rgba(14,165,233,.15), rgba(139,92,246,.15));
        border-image: linear-gradient(180deg, var(--brand-a), var(--brand-b)) 1;
        color: #0f172a;
        border-radius: 12px;
    }

    /* Code & pre */
    .dynamic-description code {
        background: #0f172a;
        color: #e2e8f0;
        padding: .15rem .35rem;
        border-radius: 6px;
        font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
        font-size: .95em;
    }

    .dynamic-description pre {
        background: #0b1224;
        color: #e2e8f0;
        padding: 1rem 1.1rem;
        border-radius: 12px;
        overflow: auto;
        border: 1px solid rgba(255,255,255,.08);
        box-shadow: inset 0 0 0 1px rgba(255,255,255,.03);
    }

        .dynamic-description pre code {
            background: transparent;
            padding: 0;
        }

    /* Tables: readable + scrollable on mobile */
    .dynamic-description table {
        width: 100%;
        border-collapse: collapse;
        border: 1px solid var(--edge);
        border-radius: 12px;
        overflow: hidden;
        display: block; /* enables horizontal scroll */
        overflow-x: auto;
        white-space: nowrap; /* keep columns tidy; remove if you prefer wrap */
        margin: 1rem 0;
    }

    .dynamic-description th,
    .dynamic-description td {
        padding: .75rem .9rem;
        border-bottom: 1px solid var(--edge);
    }

    .dynamic-description thead th {
        background: #0f172a;
        color: #fff;
        position: sticky;
        top: 0;
    }

    .dynamic-description tbody tr:nth-of-type(odd) {
        background: #f9fafb;
    }

    /* Horizontal rule */
    .dynamic-description hr {
        border: none;
        height: 2px;
        margin: 1.25rem 0;
        background: linear-gradient(90deg, var(--brand-a), var(--brand-b));
        opacity: .6;
    }

/* Small screens: comfy padding */
@media (max-width: 576px) {
    .page-content .title {
        font-size: 1.6rem;
    }

    .dynamic-description {
        padding: 0 .25rem;
    }
}

</style >
