/* Typography Base Styles */
.post-content {
    font-size: 16px;
    color: #555;
}

.post-content strong {
    font-weight: 700;
}

/* Headings */
.post-content h1, 
.post-content h2, 
.post-content h3, 
.post-content h4, 
.post-content h5, 
.post-content h6 {
    margin: 30px 0 20px 0;
    line-height: 1.2;
    font-weight: 700;
    color: #555;
}

.post-content h1 { font-size: 22px; }
.post-content h2 { font-size: 20px; }
.post-content h3 { font-size: 18px; }
.post-content h4 { font-size: 16px; }
.post-content h5 { font-size: 14px; }
.post-content h6 { font-size: 12px; }

/* Paragraphs and Spacing */
.post-content p {
    margin: 0 0 20px 0;
}

.post-content p:empty{
    display: none !important;
}

/* Lists */
.post-content ul,
.post-content ol {
    margin: 20px 0 20px 30px;
    padding: 0;
}

.post-content ul {
    list-style: disc;
}

.post-content ol {
    list-style: decimal;
}

.post-content li > ul,
.post-content li > ol {
    margin: 10px 0 10px 30px;
}

/* Blockquotes */
.post-content blockquote {
    margin: 30px 0;
    padding: 20px 30px;
    border-left: 4px solid #4a90e2;
    background-color: #f7f9fc;
    font-style: italic;
    font-size: 14px;
}

.post-content blockquote p:last-child {
    margin-bottom: 0;
}

/* Links */
.post-content a, 
article .post-header a,
.post-excerpt a{
    color: #0073aa;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 0.2s ease;
}

.post-content a:hover, 
article .post-header a:hover,
.post-excerpt a:hover{
    border-bottom-color: #0073aa;
}

/* Code Blocks */
.post-content pre {
    background: #f2f2f2;
    padding: 20px;
    border-radius: 3px;
    overflow-x: auto;
    margin: 25px 0;
    font-family: 'Consolas', Monaco, 'Andale Mono', monospace;
    font-size: 14px;
}

.post-content code {
    background: #f2f2f2;
    padding: 0.2em 0.4em;
    border-radius: 3px;
    font-family: 'Consolas', Monaco, 'Andale Mono', monospace;
    font-size: 14px;
}

.post-content p code {
    font-size: 16px;
}

.post-content pre code {
    background-color: transparent;
}

/* Tables */
.post-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 25px 0;
}

.post-content th,
.post-content td {
    padding: 12px;
    border: 1px solid #ddd;
    text-align: left;
}

.post-content th {
    background-color: #f5f5f5;
    font-weight: 500;
}

/* Images and Captions */
.post-content img {
    max-width: 100%;
    height: auto;
    margin: 0 0 20px 0;
    border-radius: 5px;
    padding: 10px;
    background-color: #fff;
    border: 1px solid #d1d1d1;
    box-sizing: border-box;
}

.post-content figure {
    margin: 0 0 20px 0;
}

.post-content figcaption {
    font-size: 12px;
    color: #888;
    text-align: center;
    margin-top: 8px;
}

/* Definition Lists */
.post-content dl {
    margin: 25px 0;
}

.post-content dt {
    font-weight: 500;
    margin-top: 15px;
}

.post-content dd {
    margin-left: 30px;
    margin-top: 8px;
}

/* Horizontal Rule */
.post-content hr {
    border: none;
    border-top: 1px solid #e7e7e7;
    margin: 30px 0;
}

/* Small and Sub/Sup Text */
.post-content small {
    font-size: 0.85em;
}

.post-content sub,
.post-content sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

.post-content sup { top: -0.5em; }
.post-content sub { bottom: -0.25em; }

.post-content iframe, .post-content video{
    display: block;
    width: 100%;
    margin-bottom: 20px;
}

.post-content .aligncenter{
    margin: 0 auto 20px auto;
    display:block;
}

.post-content p:last-child,
.post-content > ul:last-child,
.post-content > ol:last-child,
.post-content blockquote:last-child,
.post-content pre:last-child,
.post-content table:last-child,
.post-content figure:last-child,
.post-content hr:last-child,
.post-content img:last-child,
.post-content iframe:last-child,
.post-content video:last-child{
    margin-bottom: 0;
}

.post-content img.aligncenter, .post-content img.alignnone{
    display:block;
    max-width:100%;
    margin:0 auto;
}

.post-content img.wpt-img-no{
    padding:0;
    border-radius:0;
    border:none;
    background-color:transparent;
}

.wp-caption.aligncenter{
    max-width: 100%;
}