/* Scoped to the shared single-post template; Elementor/theme updates retain this file. */
body.single-post .elementor-550 {
    --blog-ink: #222;
    --blog-border: #e5e7eb;
    --blog-accent: #ff9d01;
}
body.single-post .elementor-550 .elementor-element-21e3d773 {
    margin-block: 48px 64px;
    padding-inline: 24px;
}
body.single-post .elementor-550 .elementor-element-d541cfe > .elementor-widget-wrap {
    padding: 0 36px 0 0;
    align-content: flex-start;
}
body.single-post .elementor-550 .elementor-widget-wpr-post-title .wpr-post-title {
    font-size: 20px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: normal;
    text-transform: uppercase;
    color: var(--blog-ink);
    text-align: left;
    text-wrap: balance;
    margin: 0;
}
body.single-post .elementor-550 .elementor-widget-wpr-post-info {
    margin: 0 0 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--blog-border);
}
body.single-post .elementor-550 .wpr-post-info li {
    color: #595959;
    font-size: 13px;
}
body.single-post .elementor-550 .wpr-featured-media-image,
body.single-post .elementor-550 .wpr-featured-media-image img {
    width: 100%;
    border-radius: 12px;
}
body.single-post .elementor-550 .wpr-featured-media-image img {
    display: block;
    height: auto;
}
body.single-post .elementor-550 .elementor-widget-wpr-post-media {
    margin-bottom: 18px;
}
body.single-post .elementor-550 .elementor-widget-wpr-post-title {
    margin-bottom: 8px;
}
body.single-post .elementor-550 .wpr-post-content {
    color: #000;
    font-size: 14px;
    line-height: 1.9;
    overflow-wrap: anywhere;
}
body.single-post .elementor-550 .wpr-post-content :is(p, li, td, th) {
    font-size: 14px;
    line-height: 1.9;
}
body.single-post .elementor-550 .wpr-post-content p { margin: 0 0 2px; line-height: 1.95; }
body.single-post .elementor-550 .wpr-post-content :is(h1, h2, h3, h4, h5, h6) {
    color: var(--blog-ink);
    font-weight: 700;
    line-height: 1.35;
    text-align: left;
    margin: 20px 0 10px;
    text-wrap: balance;
}
/* Imported articles include inline normal-weight spans inside headings. */
body.single-post .elementor-550 .wpr-post-content :is(h1, h2, h3, h4, h5, h6) :is(span, strong, b) {
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
}
/* Remind Legal's final typography rules, with 2px added to headings only. */
body.single-post .elementor-550 .wpr-post-content h1 { font-size: 22px; text-transform: uppercase; }
body.single-post .elementor-550 .wpr-post-content h2 { font-size: 20px; }
body.single-post .elementor-550 .wpr-post-content h3 { font-size: 18px; }
body.single-post .elementor-550 .wpr-post-content h4 { font-size: calc(.8rem + 4px); }
body.single-post .elementor-550 .wpr-post-content h5 { font-size: calc(.7rem + 2px); }
body.single-post .elementor-550 .wpr-post-content h6 { font-size: calc(.6rem + 2px); }
body.single-post .elementor-550 .wpr-post-content :is(h2, h3, h4, h5, h6) {
    padding-top: 20px;
    border-top: 1px solid var(--blog-border);
}
body.single-post .elementor-550 .wpr-post-content ol {
    margin: 8px 0;
    padding-left: 0;
    list-style-position: inside;
}
body.single-post .elementor-550 .wpr-post-content ol li { margin-bottom: 2px; }
body.single-post .elementor-550 .wpr-post-content .blog-inline-step {
    margin-block: 6px;
}
body.single-post .elementor-550 .wpr-post-content .blog-inline-step li {
    margin-bottom: 0;
    text-align: justify;
}
body.single-post .elementor-550 .wpr-post-content ul { list-style: none; padding-left: 5px; }
body.single-post .elementor-550 .wpr-post-content ul li { position: relative; padding-left: 18px; margin-bottom: 8px; line-height: 1.8; }
body.single-post .elementor-550 .wpr-post-content ul li::before { content: "\2192"; position: absolute; left: 0; color: #995400; font-weight: 700; }
body.single-post .elementor-550 .wpr-post-content :is(strong, b) { color: #000; font-weight: 700; }
body.single-post .elementor-550 .wpr-post-content a { color: #995400; text-decoration: none; font-weight: 600; text-underline-offset: 3px; transition: color .2s ease; }
body.single-post .elementor-550 .wpr-post-content a:hover { color: #603600; text-decoration: underline; }
body.single-post .elementor-550 a:focus-visible { outline: 2px solid #995400; outline-offset: 4px; }
body.single-post .elementor-550 .wpr-post-content table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid var(--blog-border);
    border-radius: 8px;
    margin-block: 20px;
}
body.single-post .elementor-550 .wpr-post-content :is(th, td) {
    padding: 2px 15px;
    border: 0;
    border-right: 1px solid var(--blog-border);
    border-bottom: 1px solid var(--blog-border);
    vertical-align: top;
    transition: background-color .2s ease;
    text-align: left;
    min-width: 130px;
}
body.single-post .elementor-550 .wpr-post-content th { background: #f5f8fb; color: #222; font-weight: 700; padding: 16px 18px; border-top: 4px solid var(--blog-accent); }
body.single-post .elementor-550 .wpr-post-content tr:nth-child(even) td { background: #fff8ec; }
body.single-post .elementor-550 .wpr-post-content tbody tr:is(:hover, :focus-within) > :is(td, th) { background: #ffe0ad; }
body.single-post .elementor-550 .wpr-post-content tr > :last-child { border-right: 0; }
body.single-post .elementor-550 .wpr-post-content blockquote {
    border-left: 5px solid var(--blog-accent);
    background: #fff8ec;
    padding: 20px 25px;
    border-radius: 6px;
    margin: 30px 0;
    font-style: italic;
}
body.single-post .elementor-550 .elementor-element-77bbc16e > .elementor-widget-wrap {
    padding: 24px;
    border: 1px solid var(--blog-border);
    border-radius: 12px;
    align-content: flex-start;
    align-self: flex-start;
    background: #fafafa;
}
body.single-post .elementor-550 .elementor-element-77bbc16e .elementor-heading-title {
    font-size: 20px;
    line-height: 1.4;
}
body.single-post .elementor-550 .elementor-element-77bbc16e .wpr-grid-item-title {
    font-size: 15px;
    line-height: 1.5;
}
body.single-post .elementor-550 .signage-social-connect {
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid var(--blog-border);
}
body.single-post .elementor-550 .signage-social-connect h2 {
    margin: 0 0 14px;
    color: var(--blog-ink);
    font-size: 20px;
    line-height: 1.4;
}
body.single-post .elementor-550 .signage-social-links {
    display: flex;
    gap: 10px;
}
body.single-post .elementor-550 .signage-social-links a,
body.single-post .elementor-550 .signage-blog-share a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    box-sizing: border-box;
    padding: 0;
    border: 1px solid #d7d7d7;
    border-radius: 50%;
    background: #fff;
    color: #333;
    text-decoration: none;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease;
}
body.single-post .elementor-550 .signage-social-links a:is(:hover, :focus-visible),
body.single-post .elementor-550 .signage-blog-share a:is(:hover, :focus-visible) {
    border-color: var(--blog-accent);
    background: var(--blog-accent);
    color: #111;
    transform: translateY(-2px);
}
body.single-post .elementor-550 .wpr-post-info {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 16px;
}
body.single-post .elementor-550 .signage-blog-share {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-left: auto;
    padding: 0;
}
body.single-post .elementor-550 .signage-share-label {
    color: #333;
    font-weight: 600;
}
body.single-post .elementor-550 .signage-date-label {
    color: #333;
    font-weight: 600;
}
/* Post Info adds a 5px right margin to icons; remove it inside share buttons. */
body.single-post .elementor-550 .signage-blog-share a :is(svg, i) {
    display: block;
    position: static;
    width: 16px !important;
    height: 16px !important;
    font-size: 16px !important;
    text-align: center;
    line-height: 1 !important;
    vertical-align: middle !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none;
}
body.single-post .elementor-550 .signage-blog-share a svg {
    overflow: visible;
}
body.single-post .elementor-550 .signage-share-facebook,
body.single-post .elementor-550 .signage-share-facebook :is(svg, svg path, i) { color: #1877f2 !important; fill: #1877f2 !important; }
body.single-post .elementor-550 .signage-share-instagram,
body.single-post .elementor-550 .signage-share-instagram :is(svg, svg path, i) { color: #d62976 !important; fill: #d62976 !important; }
body.single-post .elementor-550 .signage-share-linkedin,
body.single-post .elementor-550 .signage-share-linkedin :is(svg, svg path, i) { color: #0a66c2 !important; fill: #0a66c2 !important; }
body.single-post .elementor-550 .signage-share-x,
body.single-post .elementor-550 .signage-share-x :is(svg, svg path, i) { color: #111 !important; fill: #111 !important; }
body.single-post .elementor-550 .signage-share-whatsapp,
body.single-post .elementor-550 .signage-share-whatsapp :is(svg, svg path, i) { color: #25d366 !important; fill: #25d366 !important; }
body.single-post .elementor-550 .signage-share-email,
body.single-post .elementor-550 .signage-share-email :is(svg, svg path, i) { color: #d44638 !important; fill: #d44638 !important; }
body.single-post .elementor-550 .signage-social-links a:is(:hover, :focus-visible),
body.single-post .elementor-550 .signage-blog-share a:is(:hover, :focus-visible) {
    color: #fff !important;
}
body.single-post .elementor-550 .signage-social-links a:is(:hover, :focus-visible) :is(svg, svg path, i),
body.single-post .elementor-550 .signage-blog-share a:is(:hover, :focus-visible) :is(svg, svg path, i) {
    color: #fff !important;
    fill: #fff !important;
}
@media (max-width: 1024px) {
    body.single-post .elementor-550 .elementor-element-21e3d773 > .elementor-container { flex-wrap: wrap; }
    body.single-post .elementor-550 :is(.elementor-element-d541cfe, .elementor-element-77bbc16e) { width: 100%; }
    body.single-post .elementor-550 .elementor-element-d541cfe > .elementor-widget-wrap { padding: 0; }
    body.single-post .elementor-550 .elementor-element-77bbc16e { margin-top: 32px; }
}
@media (max-width: 767px) {
    body.single-post .elementor-550 .elementor-element-21e3d773 { margin-block: 28px 40px; padding-inline: 18px; }
    body.single-post .elementor-550 .wpr-post-content :is(h4, h5) { font-size: 14px; }
    body.single-post .elementor-550 .wpr-post-content :is(th, td) { padding: 12px; }
    body.single-post .elementor-550 .wpr-post-content p { line-height: 1.8; }
    body.single-post .elementor-550 .elementor-element-77bbc16e > .elementor-widget-wrap { padding: 18px; }
    body.single-post .elementor-550 .signage-blog-share {
        width: 100%;
        margin-left: 0;
    }
}

/* Small interaction details keep content readable without moving the layout. */
body.single-post .elementor-550 .elementor-element-77bbc16e .wpr-grid-item-title a {
    display: block;
    border-radius: 4px;
    transition: color .2s ease, background-color .2s ease;
}
body.single-post .elementor-550 .elementor-element-77bbc16e .wpr-grid-item-title a:is(:hover, :focus-visible) {
    color: #995400;
    background: #fff0d6;
}
body.single-post .elementor-550 .wpr-post-content img { max-width: 100%; height: auto; border-radius: 10px; }
body.single-post .elementor-550 .wpr-post-content pre { background: #1f2937; color: #fff; padding: 20px; overflow: auto; border-radius: 8px; margin: 25px 0; }
body.single-post .elementor-550 .wpr-post-content code { background: #eef2f7; color: #d63384; padding: 3px 6px; border-radius: 4px; font-size: 15px; }
body.single-post .elementor-550 .wpr-post-content pre code { background: transparent; color: inherit; }
@media (prefers-reduced-motion: reduce) {
    body.single-post .elementor-550 .wpr-post-content a,
    body.single-post .elementor-550 .wpr-post-content :is(td, th),
    body.single-post .elementor-550 .elementor-element-77bbc16e .wpr-grid-item-title a { transition: none; }
}
