/* JO Harmonia: article shell and opt-in reading panels; preserve Elementor layout. */
body.jo-single-harmonia {
 --jo-breadcrumb-link: #c5d0da;
 --jo-breadcrumb-current: #c5d0da;
 --jo-breadcrumb-accent: #e1c477;
 --jo-breadcrumb-divider: #e1c477;
 --jo-blog-ink: #172033;
 --jo-blog-muted: #606a78;
}
body.jo-single-harmonia #main.site-main {
 padding-bottom: 64px;
 background: radial-gradient(ellipse at 0 0,rgba(12,61,84,.6),transparent 48%),#08111f;
}
body.jo-single-harmonia #main > .jo-single-codex-layout,
body.jo-single-harmonia .jo-blog-single__breadcrumbs { width: min(1180px,calc(100% - 48px)); max-width: none; }
body.jo-single-harmonia .jo-blog-single__breadcrumbs { padding-top: 16px; margin-bottom: 28px !important; }
body.jo-single-harmonia .jo-blog-single__breadcrumbs .breadcrumbs::after { display: none; }
body.jo-single-harmonia .jo-single-codex-row { gap: 32px; }
body.jo-single-harmonia .blog-post-single-item {
 padding: 32px; border: 1px solid #e7dfce; border-radius: 18px; background: #fbfaf7;
 box-shadow: 0 16px 40px rgba(0,0,0,.14); color: #344050;
 font-family: 'Source Sans Pro',Arial,sans-serif; font-size: 18px; line-height: 1.75;
}
body.jo-single-harmonia .jo-single-redesign > .item_wrapper > .blog-post_content { padding: 0; }
body.jo-single-harmonia .jo-single-redesign .blog-post_content > .blog-post_title {
 margin: 0 0 24px; color: #172033; font: 600 clamp(28px,2.8vw,40px)/1.23 Raleway,Arial,sans-serif;
 letter-spacing: -.8px; overflow-wrap: break-word;
}
/* Direct children cover classic posts; Elementor controls its own typography/layout. */
body.jo-single-harmonia .blog-post_content > :is(h2,h3,h4) { color: #172033; font-family: Raleway,Arial,sans-serif; font-weight: 600; }
body.jo-single-harmonia .blog-post_content > p { font-size: 18px; line-height: 1.8; }
body.jo-single-harmonia .blog-post_content > blockquote { border-left: 3px solid #e1c477; border-radius: 0 12px 12px 0; background: #f3efe5; color: #344050; }
body.jo-single-harmonia .jo-single-meta {
 gap: 16px; padding: 20px 0; margin: 0 0 28px; border: 0; border-block: 1px solid #e7dfce;
 border-radius: 0; background: transparent; box-shadow: none; color: #344050;
}
body.jo-single-harmonia .jo-single-meta__items { gap: 12px 20px; }
body.jo-single-harmonia .jo-single-meta__item { display: grid; gap: 3px; font-size: 14px; }
body.jo-single-harmonia .jo-single-meta__item::after { display: none; }
body.jo-single-harmonia .jo-single-meta__label { color: #606a78; font-size: 11px; letter-spacing: .6px; font-weight: 600; }
body.jo-single-harmonia .jo-single-meta__item :is(a,time),
body.jo-single-harmonia .jo-single-meta__item > span:last-child { color: #344050; font-weight: 600; }
body.jo-single-harmonia .jo-single-sidebar { font-family: 'Source Sans Pro',Arial,sans-serif; }
body.jo-single-harmonia .jo-single-sidebar__inner { gap: 24px; }
body.jo-single-harmonia .jo-single-sidebar__panel {
 padding: 24px; border: 1px solid #e7dfce; border-radius: 18px; background: #fbfaf7;
 color: #344050; box-shadow: 0 16px 40px rgba(0,0,0,.14);
}
body.jo-single-harmonia .jo-single-sidebar h2 { color: #172033; font: 600 23px/1.3 Raleway,Arial,sans-serif; letter-spacing: -.4px; }
body.jo-single-harmonia .jo-single-sidebar p { color: #606a78; font-size: 16px; line-height: 1.65; font-weight: 400; }
body.jo-single-harmonia .jo-single-sidebar__eyebrow { color: #806315; font-size: 11px; font-weight: 600; letter-spacing: 1.2px; }
body.jo-single-harmonia .jo-single-sidebar__about-head { gap: 14px; }
body.jo-single-harmonia .jo-single-sidebar__about-head h2 { font-size: 21px; }
body.jo-single-harmonia .jo-single-sidebar__panel--morning-live {
 background: radial-gradient(ellipse at 100% 0,rgba(12,61,84,.85),transparent 75%),#08111f; border-color: rgba(225,196,119,.45);
}
body.jo-single-harmonia .jo-single-sidebar__panel--morning-live h2 { color: #fff; font-size: 27px; }
body.jo-single-harmonia .jo-single-sidebar__panel--morning-live p { color: #c5d0da; }
body.jo-single-harmonia .jo-single-sidebar__panel--morning-live .jo-single-sidebar__eyebrow { color: #e1c477; }
body.jo-single-harmonia .jo-single-sidebar__morning-time { display: block; margin: 8px 0; color: #e1c477; font: 600 48px/1.1 Raleway,Arial,sans-serif; }
body.jo-single-harmonia .jo-single-sidebar__topics a,
body.jo-single-harmonia .jo-single-sidebar__post { border-color: #e7dfce; background: transparent; border-radius: 8px; }
body.jo-single-harmonia .jo-single-sidebar__post strong { font-size: 16px; font-weight: 600; line-height: 1.4; }
body.jo-single-harmonia .jo-single-sidebar__post em { font-size: 13px; }
body.jo-single-harmonia .jo-single-sidebar__privacy { font-size: 13px; }
body.jo-single-harmonia .jo-single-sidebar__newsletter-form :is(input[type='text'],input[type='email']) { min-height: 48px; border-color: #d9d3c6; background: #fff; font: 400 16px/1.4 'Source Sans Pro',Arial,sans-serif; }
body.jo-single-harmonia :is(.jo-single-related-upgrade__card,.jo-single-latest-after-comments__featured,.jo-single-latest-after-comments__secondary) { border-radius: 18px; border-color: #e7dfce; background: #fbfaf7; }
body.jo-single-harmonia :is(.jo-single-related-upgrade__head,.jo-single-latest-after-comments__head) { border-color: rgba(225,196,119,.25); padding-bottom: 22px; margin-bottom: 24px; }
body.jo-single-harmonia :is(.jo-single-related-upgrade,.jo-single-latest-after-comments) h2 { color: #fff; font: 600 30px/1.3 Raleway,Arial,sans-serif; }
body.jo-single-harmonia .jo-single-related-upgrade__head p { color: #c5d0da; font-weight: 400; }
body.jo-single-harmonia :is(.jo-single-related-upgrade__eyebrow,.jo-single-latest-after-comments__eyebrow) { color: #e1c477; letter-spacing: 1px; font-weight: 600; }
body.jo-single-harmonia :is(.jo-single-related-upgrade__title,.jo-single-latest-after-comments__featured-title) { font-family: Raleway,Arial,sans-serif; font-weight: 600; }
body.jo-single-harmonia #comments { padding: 28px; border: 1px solid #e7dfce; border-radius: 18px; background: #fbfaf7; color: #344050; }
/* Same buttons and interaction states as the home page, scoped outside article widgets. */
body.jo-single-harmonia :is(.jo-single-sidebar__button,.jo-single-sidebar__topics a,.jo-single-sidebar__newsletter-form input[type='submit'],.jo-single-sidebar__newsletter-form button,.jo-single-meta__hub,.jo-single-meta__chip) {
 min-height: 46px; padding: 12px 16px; border: 1px solid var(--jo-button-border); border-radius: 8px;
 background: var(--jo-button-gold-gradient); color: var(--jo-button-color); -webkit-text-fill-color: var(--jo-button-color);
 box-shadow: 0 14px 30px rgba(201,162,39,.32),inset 0 1px 0 rgba(255,255,255,.42);
 font-family: 'Source Sans Pro',Arial,sans-serif; font-size: 15px; font-weight: 800; line-height: 1.15;
 text-transform: none; text-shadow: var(--jo-button-text-shadow); text-align: center;
}
body.jo-single-harmonia :is(.jo-single-sidebar__button,.jo-single-sidebar__topics a,.jo-single-sidebar__newsletter-form input[type='submit'],.jo-single-sidebar__newsletter-form button,.jo-single-meta__hub,.jo-single-meta__chip):hover {
 background: var(--jo-button-hover-gradient); color: var(--jo-button-color);
 box-shadow: 0 16px 32px rgba(12,61,84,.28),inset 0 1px 0 rgba(255,255,255,.12); transform: none;
}
body.jo-single-harmonia :is(.jo-single-sidebar,.jo-single-meta) :is(a,button,input):focus-visible { outline: 3px solid #fff; outline-offset: 3px; box-shadow: var(--jo-button-focus-shadow); }
@media (max-width: 899px) {
 body.jo-single-harmonia .jo-single-sidebar-container { margin-top: 0; }
}
@media (max-width: 767px) {
 body.jo-single-harmonia #main > .jo-single-codex-layout,
 body.jo-single-harmonia .jo-blog-single__breadcrumbs { width: calc(100% - 32px); }
 body.jo-single-harmonia .blog-post-single-item { padding: 22px 16px; }
 body.jo-single-harmonia .jo-single-sidebar__panel { padding: 24px 20px; }
 body.jo-single-harmonia .jo-single-meta__items { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; }
 body.jo-single-harmonia .jo-single-meta__chips { flex-wrap: wrap; }
 body.jo-single-harmonia .jo-single-meta__chip { white-space: normal; }
 body.jo-single-harmonia #comments { padding: 24px 18px; }
}

/* Dark editorial cards: scoped to recommendations, discussion and the sidebar.
 * Match the sticky courses banner: #0c2933 with a #208c8540 glow. */
body.jo-single-harmonia :is(.jo-single-related-upgrade,.jo-single-latest-after-comments,.jo-single-sidebar,#comments) {
 --jo-blog-ink: #f5f2eb;
 --jo-blog-muted: #b4c2d0;
 --jo-blog-gold-deep: #e1c477;
 --jo-blog-teal: #91c8ca;
 --jo-card-line: rgba(225,196,119,.25);
 color: #c6dcde;
}
body.jo-single-harmonia :is(.jo-single-related-upgrade__card,.jo-single-latest-after-comments__featured,.jo-single-latest-after-comments__secondary,.jo-single-sidebar__panel,#comments) {
 background: radial-gradient(ellipse at 0 0,#208c8540,transparent 65%),#0c2933;
 border: 1px solid var(--jo-card-line);
 box-shadow: 0 16px 40px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.045);
 color: #c6dcde;
}
body.jo-single-harmonia :is(.jo-single-related-upgrade__card,.jo-single-latest-after-comments__featured,.jo-single-latest-after-comments__secondary):is(:hover,:focus-within) {
 border-color: rgba(225,196,119,.65);
 box-shadow: 0 20px 44px rgba(0,0,0,.3),0 0 24px rgba(32,140,133,.16);
}
body.jo-single-harmonia :is(.jo-single-related-upgrade__media,.jo-single-latest-after-comments__featured-media) { border-bottom: 1px solid var(--jo-card-line); background: #0c2933; }
body.jo-single-harmonia :is(.jo-single-related-upgrade__body,.jo-single-latest-after-comments__featured-body) { padding: 22px; gap: 4px; }
body.jo-single-harmonia :is(.jo-single-related-upgrade__excerpt,.jo-single-latest-after-comments__excerpt) { color: #c6dcde; font-size: 15px; line-height: 1.7; }
body.jo-single-harmonia :is(.jo-single-related-upgrade__meta,.jo-single-latest-after-comments__meta,.jo-single-latest-after-comments__secondary-meta) { font-weight: 600; }
body.jo-single-harmonia :is(.jo-single-related-upgrade__chip,.jo-single-latest-after-comments__chip) {
 background: rgba(225,196,119,.09); border-color: rgba(225,196,119,.3); color: #e1c477; font-weight: 600; white-space: normal;
}
body.jo-single-harmonia .jo-single-related-upgrade__link { color: #e1c477; padding-top: 20px; font-weight: 600; letter-spacing: .5px; }
body.jo-single-harmonia .jo-single-related-upgrade__link:hover { color: #fff0bf; }
body.jo-single-harmonia .jo-single-latest-after-comments__secondary { padding: 12px; }
body.jo-single-harmonia .jo-single-latest-after-comments__secondary strong { font-weight: 600; line-height: 1.4; }
body.jo-single-harmonia .jo-single-sidebar h2 { color: #f5f2eb; }
body.jo-single-harmonia .jo-single-sidebar p { color: #c6dcde; }
body.jo-single-harmonia .jo-single-sidebar__eyebrow { color: #e1c477; }
body.jo-single-harmonia .jo-single-sidebar__avatar-frame { border-color: rgba(225,196,119,.55); background: #0c2933; box-shadow: 0 0 24px rgba(225,196,119,.09); }
body.jo-single-harmonia .jo-single-sidebar__post { border-color: rgba(225,196,119,.16); background: rgba(5,24,29,.4); padding: 14px 12px; }
body.jo-single-harmonia .jo-single-sidebar__post:hover { border-color: rgba(225,196,119,.55); background: rgba(32,140,133,.18); }
body.jo-single-harmonia .jo-single-sidebar__event-title { color: #f5f2eb; font: 600 20px/1.4 Raleway,Arial,sans-serif; }
body.jo-single-harmonia .jo-single-sidebar__event-pill { background: rgba(225,196,119,.08); border-color: rgba(225,196,119,.25); color: #d4e0e8; }
body.jo-single-harmonia .jo-single-sidebar__event-price { color: #e1c477; }
body.jo-single-harmonia .jo-single-sidebar__privacy a { color: #e1c477; }
body.jo-single-harmonia .jo-single-sidebar__newsletter-form :is(input[type='text'],input[type='email']),
body.jo-single-harmonia #comments #respond :is(input[type='text'],input[type='email'],input[type='url'],textarea) {
 background: #081f26; border: 1px solid rgba(225,196,119,.3); color: #f5f2eb; border-radius: 8px;
}
body.jo-single-harmonia .jo-single-sidebar__newsletter-form input::placeholder,
body.jo-single-harmonia #comments :is(input,textarea)::placeholder { color: #aebdcc; opacity: 1; }
body.jo-single-harmonia #comments { margin-top: 32px; padding: 24px; }
body.jo-single-harmonia #comments #respond { margin: 0; padding: 0; background: transparent; border: 0; box-shadow: none; }
body.jo-single-harmonia #comments #respond .comment-reply-title { margin: 0 0 8px; font-size: 26px; line-height: 1.3; }
body.jo-single-harmonia #comments #respond :is(.logged-in-as,.comment-notes,.must-log-in) { margin: 0 0 14px; line-height: 1.5; }
body.jo-single-harmonia #comments #respond .must-log-in:last-child { margin-bottom: 0; }
body.jo-single-harmonia #comments #respond textarea { height: 96px; min-height: 96px; margin-bottom: 14px; resize: vertical; }
body.jo-single-harmonia #comments #respond :is(input[type='text'],input[type='email'],input[type='url'],textarea):focus { background: #081f26; border-color: #e1c477; outline: 2px solid rgba(225,196,119,.35); outline-offset: 2px; }
body.jo-single-harmonia #comments #respond .form-submit { margin: 0; padding-top: 0; }
body.jo-single-harmonia #comments :is(.comment-reply-title,.comments-title,.comment-author,.comment-author a) { color: #f5f2eb; font-family: Raleway,Arial,sans-serif; font-weight: 600; }
body.jo-single-harmonia #comments :is(p,label,.comment-content,.comment-notes,.comment-metadata) { color: #c6dcde; }
body.jo-single-harmonia #comments :is(.must-log-in,.logged-in-as,.comment-content,.comment-metadata) a { color: #e1c477; }
body.jo-single-harmonia #comments .comment-body { background: transparent; border-color: rgba(225,196,119,.2); }
body.jo-single-harmonia :is(.jo-single-related-upgrade,.jo-single-latest-after-comments,#comments) a:focus-visible { outline: 2px solid #e1c477; outline-offset: 4px; }
body.jo-single-harmonia .jo-single-latest-after-comments__head-link {
 min-height: 46px; padding: 12px 18px; border: 1px solid var(--jo-button-border); border-radius: 8px;
 background: var(--jo-button-gold-gradient); color: var(--jo-button-color);
 box-shadow: 0 14px 30px rgba(201,162,39,.32),inset 0 1px 0 rgba(255,255,255,.42);
 font: 800 15px/1.15 'Source Sans Pro',Arial,sans-serif; text-transform: none; text-shadow: var(--jo-button-text-shadow);
}
body.jo-single-harmonia .jo-single-latest-after-comments__head-link:hover {
 background: var(--jo-button-hover-gradient); color: var(--jo-button-color);
 box-shadow: 0 16px 32px rgba(12,61,84,.28),inset 0 1px 0 rgba(255,255,255,.12);
}
@media (max-width: 767px) {
 body.jo-single-harmonia #comments { padding: 20px 18px; }
 body.jo-single-harmonia :is(.jo-single-related-upgrade__body,.jo-single-latest-after-comments__featured-body) { padding: 20px; }
}

/* Reading panels live inside text widgets; Elementor sections/columns are untouched. */
body.jo-single-harmonia .jo-reading-section {
 --jo-reading-ink: #344050;
 --jo-reading-heading: #172033;
 --jo-reading-accent: #806315;
 padding: clamp(22px,3vw,36px);
 margin: 24px 0;
 border: 1px solid #e7dfce;
 border-radius: 18px;
 background: #fbfaf7;
 color: var(--jo-reading-ink);
 font: 400 18px/1.8 'Source Sans Pro',Arial,sans-serif;
 overflow-wrap: break-word;
}
body.jo-single-harmonia .jo-reading-section--green {
 --jo-reading-ink: #c6dcde;
 --jo-reading-heading: #fff8e6;
 --jo-reading-accent: #e1c477;
 background: radial-gradient(ellipse at 0 0,#208c8540,transparent 65%),#0c2933;
 border-color: rgba(225,196,119,.3);
 box-shadow: 0 12px 28px rgba(8,17,31,.12);
}
body.jo-single-harmonia .jo-reading-section > :first-child { margin-top: 0; }
body.jo-single-harmonia .jo-reading-section > :last-child { margin-bottom: 0; }
body.jo-single-harmonia .jo-reading-section :is(p,li) { color: var(--jo-reading-ink); font: inherit; }
body.jo-single-harmonia .jo-reading-section > p { margin: 0 0 .8em; }
body.jo-single-harmonia .jo-reading-section :is(h2,h3,h4) {
 color: var(--jo-reading-heading); font-family: Raleway,Arial,sans-serif; font-weight: 600;
 line-height: 1.3; margin: 0 0 24px; letter-spacing: -.4px;
}
body.jo-single-harmonia .jo-reading-section h2 { font-size: clamp(25px,2.3vw,32px); }
body.jo-single-harmonia .jo-reading-section h3 { font-size: clamp(22px,2vw,27px); }
body.jo-single-harmonia .jo-reading-section :is(strong,b) { color: var(--jo-reading-heading); font-weight: 600; }
body.jo-single-harmonia .jo-reading-section a { color: var(--jo-reading-accent); text-decoration: underline; text-underline-offset: 4px; }
body.jo-single-harmonia .jo-reading-section a:focus-visible { outline: 2px solid var(--jo-reading-accent); outline-offset: 4px; }
body.jo-single-harmonia .jo-reading-section :is(ul,ol) { margin: 18px 0 24px; padding-left: 24px; }
body.jo-single-harmonia .jo-reading-section li { padding-left: 4px; margin-bottom: 8px; }
body.jo-single-harmonia .jo-reading-section li::marker { color: var(--jo-reading-accent); }
body.jo-single-harmonia .jo-reading-section blockquote {
 margin: 24px 0; padding: 16px 0 16px 22px; border: 0; border-left: 3px solid var(--jo-reading-accent);
 border-radius: 0; background: transparent; color: var(--jo-reading-heading); box-shadow: none;
 font: 600 21px/1.6 Raleway,Arial,sans-serif;
}
body.jo-single-harmonia .jo-reading-section blockquote::before { display: none; }
body.jo-single-harmonia .jo-reading-section blockquote p { color: inherit; font: inherit; margin: 0; }
@media (max-width: 767px) {
 body.jo-single-harmonia .jo-reading-section { padding: 22px 18px; font-size: 17px; line-height: 1.75; margin-block: 18px; }
}

/* Compact metadata: a single desktop row, wrapping naturally on narrow articles. */
body.jo-single-harmonia .jo-single-meta { gap: 8px; align-items: center; padding-block: 10px; margin-bottom: 16px; }
body.jo-single-harmonia section.jo-single-meta a.jo-single-meta__hub { flex: 0 0 104px; min-width: 0; width: auto; height: 46px; min-height: 46px; box-sizing: border-box; padding: 6px; align-content: center; gap: 2px; }
body.jo-single-harmonia .jo-single-meta__hub span { font-size: 9px; }
body.jo-single-harmonia .jo-single-meta__hub strong { font-size: 11px; line-height: 1.2; white-space: nowrap; }
body.jo-single-harmonia .jo-single-meta__chips { flex: 0 1 auto; min-width: 0; max-width: 100%; gap: 5px; margin: 0; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; }
body.jo-single-harmonia .jo-single-meta__chip { flex: 0 0 auto; min-width: 0; height: 46px; box-sizing: border-box; text-align: center; }
body.jo-single-harmonia .jo-single-meta__items { flex: 1 1 350px; display: grid; grid-template-columns: max-content max-content max-content auto; gap: 8px; width: auto; align-items: center; justify-content: space-between; }
body.jo-single-harmonia .jo-single-meta__item { font-size: 12px; line-height: 1.25; gap: 3px; }
body.jo-single-harmonia .jo-single-meta__label { font-size: 9px; letter-spacing: .6px; margin: 0; }
body.jo-single-harmonia .jo-single-meta__item--views {
 box-sizing: border-box; height: 46px; padding: 5px 8px; border: 1px solid rgba(225,196,119,.5); border-radius: 10px;
 background: radial-gradient(ellipse at 0 0,#208c8540,transparent 65%),#0c2933;
 box-shadow: inset 0 1px 0 rgba(255,255,255,.08); text-align: center;
}
body.jo-single-harmonia .jo-single-meta__item--views .jo-single-meta__label { color: #e1c477; font-size: 8px; }
body.jo-single-harmonia .jo-single-meta__item--views .jo-single-meta__views-value { display: inline-flex; align-items: center; justify-content: center; gap: 7px; color: #fff8e6; font-size: 17px; line-height: 1.1; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
body.jo-single-harmonia .jo-single-meta__views-icon { flex: 0 0 20px; color: #e1c477; }
@media (max-width: 767px) {
 body.jo-single-harmonia section.jo-single-meta a.jo-single-meta__hub { flex-basis: 100%; }
 body.jo-single-harmonia .jo-single-meta__chips { flex-basis: 100%; }
 body.jo-single-harmonia .jo-single-meta__chip { font-size: 14px; }
 body.jo-single-harmonia .jo-single-meta__items { flex-basis: 100%; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
 body.jo-single-harmonia .jo-single-meta__item { font-size: 14px; }
 body.jo-single-harmonia .jo-single-meta__label { font-size: 10px; }
 body.jo-single-harmonia .jo-single-meta__item--views { justify-self: start; min-width: 96px; }
}
body.jo-single-harmonia section.jo-single-meta a.jo-single-meta__chip { padding: 6px 8px; font-size: 12px; line-height: 1.2; white-space: nowrap; overflow-wrap: normal; }
body.jo-single-harmonia .jo-single-meta__item--views .jo-single-meta__views-value [data-jo-post-views] { color: #fff8e6; }
@media (min-width: 768px) {
 body.jo-single-harmonia section.jo-single-meta a.jo-single-meta__chip { font-size: 12px; }
}

body.jo-single-harmonia .jo-single-sidebar__newsletter-status {
 display: flex; align-items: center; gap: 12px; margin: 22px 0 16px; padding: 16px;
 border: 1px solid rgba(225,196,119,.4); border-radius: 12px;
 background: rgba(32,140,133,.14); color: #fff8e6;
}
body.jo-single-harmonia .jo-single-sidebar__newsletter-status svg { flex: 0 0 24px; color: #e1c477; }
body.jo-single-harmonia .jo-single-sidebar__newsletter-status strong { font: 600 17px/1.4 'Source Sans Pro',Arial,sans-serif; color: inherit; }

/* Event facts stay in one row; unusually long place names remain scrollable. */
body.jo-single-harmonia .jo-single-sidebar__event-meta {
 flex-wrap: nowrap; gap: 6px; max-width: 100%; overflow-x: auto;
 scrollbar-width: thin; scrollbar-color: rgba(225,196,119,.45) transparent;
}
body.jo-single-harmonia .jo-single-sidebar__event-pill {
 flex: 0 0 auto; white-space: nowrap; font-size: 11px; padding: 6px 8px;
}

/* A green gallery frame around the opening image; the full artwork stays visible. */
body.jo-single-harmonia .jo-single-redesign .jo-article-cover-frame {
 position: relative; box-sizing: border-box; padding: 12px;
 border: 1px solid rgba(225,196,119,.55); border-radius: 24px;
 background: radial-gradient(ellipse at 0 0,rgba(32,140,133,.55),transparent 65%),linear-gradient(135deg,#174b43,#0c2933 58%,#1a5144);
 box-shadow: 0 18px 36px rgba(12,41,51,.18),0 0 22px rgba(32,140,133,.12),inset 0 1px 0 rgba(255,255,255,.14);
}
body.jo-single-harmonia .jo-article-cover-frame::before {
 content: ''; position: absolute; inset: 5px; border: 1px solid rgba(225,196,119,.28);
 border-radius: 19px; pointer-events: none;
}
body.jo-single-harmonia .jo-article-cover-frame .elementor-image { margin: 0; }
body.jo-single-harmonia .jo-article-cover-frame img {
 display: block; max-width: 100%; height: auto; margin-inline: auto; border-radius: 13px;
}
@media (max-width: 767px) {
 body.jo-single-harmonia .jo-single-redesign .jo-article-cover-frame { padding: 8px; border-radius: 19px; }
 body.jo-single-harmonia .jo-article-cover-frame::before { inset: 3px; border-radius: 15px; }
 body.jo-single-harmonia .jo-article-cover-frame img { border-radius: 11px; }
}

/* Course recommendation: plum/burgundy inspired by the reference quotation. */
body.jo-single-harmonia .jo-course-random-banner__card {
 background: radial-gradient(ellipse at 15% 0,rgba(179,65,105,.32),transparent 65%),linear-gradient(120deg,#351329 0%,#701027 52%,#3d142f 100%);
 border-color: rgba(225,196,119,.7);
 box-shadow: 0 18px 38px rgba(66,13,36,.22),inset 0 1px 0 rgba(255,235,216,.1);
}
body.jo-single-harmonia .jo-course-random-banner__card:is(:hover,:focus-visible) {
 background: radial-gradient(ellipse at 15% 0,rgba(202,84,125,.4),transparent 70%),linear-gradient(120deg,#451833 0%,#821632 52%,#501c3d 100%);
 border-color: #e1c477;
 box-shadow: 0 22px 44px rgba(66,13,36,.28),0 8px 28px rgba(135,35,77,.25),inset 0 1px 0 rgba(255,235,216,.14);
}
/* Local hover exception requested for this burgundy advert only. */
body.jo-single-harmonia .jo-course-random-banner__card:is(:hover,:focus-visible) .jo-course-random-banner__cta {
 background: linear-gradient(180deg,#672443 0%,#4a142e 54%,#301024 100%);
 border-color: #e1c477; color: #fff8e6;
 box-shadow: 0 12px 26px rgba(48,16,36,.3),inset 0 1px 0 rgba(255,235,216,.18);
}
body.jo-single-harmonia .jo-course-random-banner__media { background: #351329; border-color: rgba(225,196,119,.4); }
body.jo-single-harmonia .jo-course-random-banner__meta-item { background: rgba(39,10,29,.4); border-color: rgba(225,196,119,.45); }
body.jo-single-harmonia .jo-course-random-banner__text { color: #ead8de; }
body.jo-single-harmonia .jo-course-random-banner__eyebrow,
body.jo-single-harmonia .jo-course-random-banner__meta-label { color: #f0d891; }

/* Match the FS33 shop frame in the footer directory. */
body.jo-single-harmonia .jo-fs33-premium-banner {
 border: 1px solid #38bdf8;
 box-shadow: 0 10px 30px rgba(0,0,0,.2),inset 0 0 24px rgba(56,189,248,.06);
}
body.jo-single-harmonia .jo-fs33-premium-banner:hover {
 border-color: #7dd3fc;
 box-shadow: 0 10px 30px rgba(0,0,0,.2),0 0 20px rgba(56,189,248,.14);
}

/* Continue the article palette through the current-reading footer strip. */
body.jo-single-harmonia .jo-single-footer-current {
 background: #08111f; border-top-color: rgba(225,196,119,.15); color: #c6dcde;
}
body.jo-single-harmonia .jo-single-footer-current__inner {
 background: radial-gradient(ellipse at 0 0,#208c8540,transparent 65%),#0c2933;
 border: 1px solid rgba(225,196,119,.3); border-radius: 18px;
 box-shadow: 0 16px 40px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.05);
}
body.jo-single-harmonia .jo-single-footer-current__media { background: #081f26; border: 1px solid rgba(225,196,119,.3); }
body.jo-single-harmonia .jo-single-footer-current__eyebrow { color: #e1c477; font-weight: 600; letter-spacing: 1px; }
body.jo-single-harmonia .jo-single-footer-current__title { color: #fff8e6; font-family: Raleway,Arial,sans-serif; font-weight: 600; line-height: 1.35; }
body.jo-single-harmonia .jo-single-footer-current__meta { color: #c6dcde; font-weight: 600; }
body.jo-single-harmonia .jo-single-footer-current__meta span + span::before { background: #e1c477; }
body.jo-single-harmonia .jo-single-footer-current__top-button {
 border-radius: 8px; background: var(--jo-button-gold-gradient);
 box-shadow: 0 14px 30px rgba(201,162,39,.32),inset 0 1px 0 rgba(255,255,255,.42);
 font: 800 15px/1.15 'Source Sans Pro',Arial,sans-serif; text-transform: none;
}
body.jo-single-harmonia .jo-single-footer-current__top-button:hover {
 background: var(--jo-button-hover-gradient);
 box-shadow: 0 16px 32px rgba(12,61,84,.28),inset 0 1px 0 rgba(255,255,255,.12);
}

/* The shared FS33 banner becomes a vertical card beneath the morning live card. */
body.jo-single-harmonia .jo-single-sidebar .jo-fs33-premium-banner {
 width: 100%; margin: 0; border-radius: 18px;
}
body.jo-single-harmonia .jo-single-sidebar .jo-fs33-premium-banner__link {
 display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: none;
 gap: 14px; padding: 24px; text-align: left;
}
body.jo-single-harmonia .jo-single-sidebar .jo-fs33-premium-banner__link > * { grid-column: auto; grid-row: auto; min-width: 0; }
body.jo-single-harmonia .jo-single-sidebar .jo-fs33-premium-banner__logo-wrap { display: flex; width: 72px; height: 72px; }
body.jo-single-harmonia .jo-single-sidebar .jo-fs33-premium-banner__logo { width: 62px; height: 62px; }
body.jo-single-harmonia .jo-single-sidebar .jo-fs33-premium-banner__eyebrow { white-space: normal; font-size: 11px; letter-spacing: 1px; }
body.jo-single-harmonia .jo-single-sidebar .jo-fs33-premium-banner__title {
 display: block; margin: 0; white-space: normal; overflow: visible;
 font: 600 24px/1.3 Raleway,Arial,sans-serif;
}
body.jo-single-harmonia .jo-single-sidebar .jo-fs33-premium-banner__text {
 display: block; margin: 0; white-space: normal; overflow: visible;
 font: 400 16px/1.65 'Source Sans Pro',Arial,sans-serif;
}
body.jo-single-harmonia .jo-single-sidebar .jo-fs33-premium-banner__cta {
 display: inline-flex; width: 100%; height: auto; min-height: 46px; margin: 4px 0 0; padding: 12px 16px;
 border: 1px solid transparent; border-radius: 8px;
 background: #0ea5ff; color: #fff;
 box-shadow: 0 10px 20px rgba(14,165,255,.22);
 font: 800 15px/1.15 'Source Sans Pro',Arial,sans-serif; text-transform: none;
 text-shadow: var(--jo-button-text-shadow); white-space: normal;
}
body.jo-single-harmonia .jo-single-sidebar .jo-fs33-premium-banner__link:is(:hover,:focus-visible) .jo-fs33-premium-banner__cta {
 background: #0369a1; color: #fff;
 box-shadow: 0 12px 24px rgba(14,165,255,.28);
}

/* Reserve the scrollbar's own gutter: flush with card borders, never over them. */
@media (min-width: 900px) {
 body.jo-single-harmonia .jo-single-codex-row > .jo-single-sidebar-container {
  margin-right: 0;
  padding-right: 0;
  scrollbar-gutter: stable;
  scrollbar-width: auto;
  scrollbar-color: auto;
 }
}

@media (min-width: 900px) {
 body.jo-single-harmonia .jo-single-sidebar-container::-webkit-scrollbar { width: 7px; }
}
