/* Shared article styles traced from /blog/wedding-instagram-tips/. */
.blog-body {
    color: #333;
    font-size: 15px;
    line-height: 2.2;
}

.blog-body h1 {
    margin: 60px 0 25px;
    padding: 20px 25px;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(135deg, #0068b7, #e85534);
    color: #fff;
    font-size: clamp(24px, 3.5vw, 32px);
    font-weight: 800;
    letter-spacing: .02em;
    line-height: 1.5;
}

.blog-body h2,
.blog-body .content-heading-1 {
    margin: 55px 0 20px;
    padding: 16px 20px;
    border: 0;
    border-left: 4px solid #0068b7;
    border-radius: 0 8px 8px 0;
    background: linear-gradient(90deg, rgba(0, 104, 183, .06), transparent);
    color: #1a1a2e;
    font-size: clamp(20px, 3vw, 26px);
    font-weight: 700;
    letter-spacing: normal;
    line-height: 1.5;
}

.blog-body h2::after,
.blog-body .content-heading-1::after { content: none; }

.blog-body h3 {
    margin: 45px 0 18px;
    padding: 0 0 12px;
    border: 0;
    border-bottom: 2px solid transparent;
    border-image: linear-gradient(90deg, #0068b7, #e85534) 1;
    color: #1a1a2e;
    font-size: clamp(17px, 2.5vw, 22px);
    font-weight: 700;
    letter-spacing: normal;
    line-height: 1.5;
}

.blog-body h3::before { content: none; }
.blog-body p { margin-bottom: 20px; }
.blog-body ul,
.blog-body ol { margin: 15px 0 15px 25px; padding-left: 0; }
.blog-body li { margin-bottom: 8px; }
.blog-body figure { margin: 32px 0; text-align: center; }
.blog-body figure img { display: block; max-width: 100%; height: auto; margin: 20px auto; border-radius: 12px; }
.blog-body figcaption { margin-top: 6px; color: #777; font-size: 12px; line-height: 1.6; }
.blog-body .blog-inline-cta { margin: 32px 0; padding: 22px 24px; border-left: 4px solid #0068b7; border-radius: 0 8px 8px 0; background: #f5f7fa; }
.blog-body .blog-inline-cta p { margin: 0 0 10px; line-height: 1.8; }
.blog-body .blog-inline-cta .blog-inline-cta-title { color: #1a1a2e; font-weight: 700; }
.blog-body .blog-inline-cta a { margin-top: 6px; }
.blog-body .blog-end-cta { margin: 40px 0; text-align: center; }
.blog-body a.blog-banner-cta {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin: 32px 0;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    line-height: 0;
    overflow: hidden;
}
.blog-body a.blog-banner-cta img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
}

.blog-body a[href*="utm_medium=cta"]:not(.blog-banner-cta),
.blog-default-cta a {
    display: inline-block;
    padding: 16px 40px;
    border: 0;
    border-radius: 6px;
    background: #f97316;
    color: #fff !important;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.6;
    text-decoration: none;
    transition: opacity .2s;
}
.blog-body a[href*="utm_medium=cta"]:hover,
.blog-default-cta a:hover { opacity: .85; }
.blog-body a[href*="utm_medium=cta"]:focus-visible,
.blog-default-cta a:focus-visible { outline: 3px solid #0068b7; outline-offset: 3px; }
.blog-default-cta { margin: 40px 0; }
.blog-default-cta p { margin: 0 0 16px; color: #333; font-size: 15px; line-height: 2.2; }
.blog-author { margin-top: 40px; padding-top: 20px; border-top: 1px solid #e9e9e9; }

.author-section-label,
.blog-body .author-section-label,
.blog-body h3.author-section-label {
    margin: 0 0 12px;
    padding: 0;
    border: 0;
    color: #888;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.6;
}
.blog-body .author-section-label::before { content: none; }
.author-section,
.blog-body .author-section {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin: 8px 0;
    padding: 16px;
    border-radius: 10px;
    background: #f7f7f7;
}
.author-img,
.blog-body .author-img {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    margin: 0;
    border-radius: 50%;
    object-fit: cover;
}
.author-img--logo,
.blog-body .author-img--logo { padding: 10px; background: #fff; object-fit: contain; }
.author-figure,
.blog-body .author-figure { flex-shrink: 0; margin: 0; }
.blog-body .author-figure img { margin: 0; }
.author-info { flex: 1; min-width: 0; }
.author-info strong { display: block; margin-bottom: 2px; font-size: 15px; }
.author-info .author-title { margin-bottom: 8px; color: #666; font-size: 13px; }
.author-section .author-info p { margin: 0 0 8px; color: #555; font-size: 13px; line-height: 1.6; }
.author-info ul { margin: 0; padding: 0; list-style: none; }
.author-info li { margin: 0; padding: 1px 0; color: #555; font-size: 13px; line-height: 1.6; }
.author-section--editorial { display: block; padding: 24px; background: #f5f7fa; }
.author-heading { display: flex; align-items: center; gap: 16px; }
.author-heading .author-title { margin-bottom: 0; }
.author-proof { margin-top: 14px; padding-top: 12px; border-top: 1px solid #e6eaf0; }
.author-section .author-proof p { margin: 0; color: #687482; font-size: 12px; line-height: 1.8; }

@media (max-width: 600px) {
    .blog-body h2,
    .blog-body .content-heading-1 { padding: 14px 16px; }
    .blog-body h3 { margin-top: 38px; }
    .blog-body a[href*="utm_medium=cta"],
    .blog-default-cta a { box-sizing: border-box; width: 100%; text-align: center; }
    .author-section--editorial { padding: 18px; }
}
