/* WRAPPER */
.ai-normal-page{
    max-width: 800px;
    margin: 0 auto;
    padding: 20px 10px;
}

/* TITLE */
.np-title{
    font-size: 28px;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 10px;
    color: #222;
}

/* META */
.np-meta{
    font-size: 13px;
    color: #777;
    margin-bottom: 15px;
}

/* THUMBNAIL */
.np-thumb img{
    width: 100%;
    height: auto;
    border-radius: 10px;
    margin-bottom: 15px;
}

/* BASE */
.np-content{
    font-size: 16px;
    line-height: 1.8;
    color: #333;
    word-wrap: break-word;
}

/* PARAGRAPH */
.np-content p{
    margin-bottom: 16px;
}

/* HEADINGS */
.np-content h1,
.np-content h2,
.np-content h3,
.np-content h4,
.np-content h5,
.np-content h6{
    margin-top: 28px;
    margin-bottom: 12px;
    font-weight: 700;
    line-height: 1.4;
}

/* LIST */
.np-content ul,
.np-content ol{
    margin: 15px 0 15px 20px;
    padding-left: 15px;
}

.np-content li{
    margin-bottom: 8px;
}

/* NESTED LIST */
.np-content ul ul,
.np-content ol ol{
    margin-top: 8px;
}

/* LINK */
.np-content a{
    color: #2b4c9a;
    text-decoration: none;
}

.np-content a:hover{
    text-decoration: underline;
}

/* IMAGE */
.np-content img{
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 15px 0;
}

/* FIGURE (GUTENBERG) */
.np-content figure{
    margin: 20px 0;
    text-align: center;
}

.np-content figcaption{
    font-size: 13px;
    color: #777;
    margin-top: 5px;
}

/* BLOCKQUOTE */
.np-content blockquote{
    border-left: 4px solid #2b4c9a;
    padding: 10px 15px;
    background: #f5f7fb;
    margin: 20px 0;
    font-style: italic;
}

/* TABLE */
.np-content table{
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    overflow-x: auto;
    display: block;
}

.np-content th,
.np-content td{
    border: 1px solid #ddd;
    padding: 10px;
    text-align: left;
    font-size: 14px;
}

.np-content th{
    background: #f0f3fa;
    font-weight: 600;
}

/* CODE */
.np-content code{
    background: #eee;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 14px;
}

/* PRE (CODE BLOCK) */
.np-content pre{
    background: #1e1e1e;
    color: #fff;
    padding: 15px;
    overflow-x: auto;
    border-radius: 8px;
    margin: 20px 0;
}

/* IFRAME / EMBED */
.np-content iframe{
    max-width: 100%;
    border: none;
    margin: 20px 0;
}

/* VIDEO */
.np-content video{
    max-width: 100%;
    border-radius: 8px;
    margin: 20px 0;
}

/* HR */
.np-content hr{
    border: none;
    border-top: 1px solid #ddd;
    margin: 30px 0;
}

/* STRONG & EMPHASIS */
.np-content strong{
    font-weight: 700;
}

.np-content em{
    font-style: italic;
}