/* Ben's Tute Post Builder 1.2.0 — scoped, responsive post styles. */
.benau-song-post { --benau-ink: #233247; --benau-muted: #58677d; --benau-coral: #ff5b57; color: var(--benau-ink); }
.benau-song-post *, .benau-song-post *::before, .benau-song-post *::after { box-sizing: border-box; }
.benau-song-post .benau-introduction { font-size: 1.06em; line-height: 1.75; margin: 0 0 24px; }
.benau-song-post .benau-video-section { margin: 22px auto 34px; }
/* Smaller than the article column on wide themes; still fluid on narrow screens. */
.benau-song-post .benau-video-frame { position: relative; width: min(100%, 760px); aspect-ratio: 16 / 9; margin-inline: auto; overflow: hidden; border-radius: 14px; background: #101827; box-shadow: 0 9px 28px rgba(19,35,52,.12); }
.benau-song-post .benau-video-frame iframe { display: block; border: 0; width: 100%; height: 100%; position: absolute; inset: 0; }
.benau-song-post .benau-song-columns { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(210px, .85fr); align-items: start; gap: 18px; margin: 20px 0 30px; }
.benau-song-post .benau-songsheet-panel, .benau-song-post .benau-chords-panel { min-width: 0; margin: 0; padding: 19px; border-radius: 13px; border: 1px solid #dce4ef; background: #fff; box-shadow: 0 3px 15px #1027400a; }
.benau-song-post .benau-songsheet-panel h2, .benau-song-post .benau-chords-panel h2 { margin: 0 0 14px; font-size: clamp(1rem, 2.2vw, 1.17rem); line-height: 1.35; }
.benau-song-post .benau-songsheet-excerpt { font-family: 'Roboto Mono','Courier New',monospace !important; font-size: 13px; font-weight: 400; line-height: 1.75; font-variant-ligatures: none; white-space: pre; tab-size: 4; overflow: auto; max-width: 100%; padding: 14px; background: #f7f9fc; border: 1px solid #e7ecf2; border-radius: 8px; color: #1e2c3b; }
.benau-song-post .benau-songsheet-excerpt * { font-family: inherit !important; }
.benau-song-post .benau-songsheet-excerpt p, .benau-song-post .benau-songsheet-excerpt div { margin: 0; padding: 0; }
.benau-song-post .benau-songsheet-excerpt strong, .benau-song-post .benau-songsheet-excerpt b { font-weight: 700 !important; }
.benau-song-post .benau-songsheet-excerpt em, .benau-song-post .benau-songsheet-excerpt i { font-style: italic !important; }
.benau-song-post .benau-songsheet-excerpt u { text-decoration: underline !important; }
.benau-song-post .benau-chord-viewer { min-width: 0; overflow-wrap: anywhere; }
/* Specific song CTA uses the site's existing [ben_patreon] shortcode, with no global link/button overrides. */
.benau-song-post .benau-document-cta { margin: 29px 0 32px; padding: 24px clamp(18px, 3vw, 30px); text-align: center; border: 1px solid #d7e4f0; background: #f3f8fd; border-radius: 15px; }
.benau-song-post .benau-document-cta h2 { font-size: clamp(1.25rem, 2.5vw, 1.65rem); line-height: 1.25; margin: 0 0 9px; color: #172e47; }
.benau-song-post .benau-document-cta p { margin: 0 auto 15px; line-height: 1.65; max-width: 630px; color: #4a6077; }
.benau-song-post .benau-document-shortcode { text-align: center; }
/* General membership CTA: a separate, high-contrast button and an explicit value proposition. */
.benau-song-post .benau-membership-section { position: relative; isolation: isolate; padding: clamp(24px, 4vw, 40px); border-radius: 20px; color: #fff; background: linear-gradient(135deg,#132840 0%,#1d3951 67%,#294759 100%); overflow: hidden; margin: 30px 0 22px; box-shadow: 0 14px 34px rgba(20,40,56,.16); }
.benau-song-post .benau-membership-section::before { content: ''; position: absolute; right: -100px; top: -130px; width: 310px; height: 310px; background: radial-gradient(circle,rgba(255,128,109,.18),transparent 70%); z-index: -1; pointer-events: none; }
.benau-song-post .benau-membership-kicker { font-size: 11px; letter-spacing: .15em; font-weight: 800; color: #ffa99c; margin-bottom: 12px; }
.benau-song-post .benau-membership-section h2 { color: #fff; font-size: clamp(1.55rem, 3.1vw, 2.1rem); letter-spacing: -.025em; line-height: 1.18; margin: 0 0 13px; max-width: 700px; }
.benau-song-post .benau-membership-section > p:not(.benau-membership-note) { font-size: 1.02em; line-height: 1.7; color: #e0eaf3; max-width: 700px; margin: 0 0 18px; }
.benau-song-post .benau-membership-benefits { display: flex; flex-wrap: wrap; padding: 0; margin: 0 0 24px; gap: 9px; list-style: none; }
.benau-song-post .benau-membership-benefits li { display: inline-flex; align-items: center; gap: 7px; padding: 7px 11px; border: 1px solid rgba(255,255,255,.2); border-radius: 40px; background: rgba(255,255,255,.08); color: #f3f7fc; font-size: 1em; line-height: 1.35; }
.benau-song-post .benau-membership-benefits li::before { content: '✓'; color: #ffc2b5; font-weight: 800; }
.benau-song-post a.benau-membership-button, .benau-song-post a.benau-membership-button:visited { display: inline-flex; max-width: 100%; min-height: 54px; align-items: center; justify-content: center; gap: 19px; padding: 15px 21px; border-radius: 12px; color: #fff !important; background: #e94e55; border: 1px solid #fa7473; box-shadow: 0 7px 18px rgba(7,13,25,.19); text-decoration: none !important; text-align: center; font-size: 1.01em; font-weight: 800; line-height: 1.35; }
.benau-song-post a.benau-membership-button:hover { color: #fff !important; background: #d83b44; border-color: #ff8887; box-shadow: 0 9px 23px rgba(7,13,25,.25); transform: translateY(-1px); }
.benau-song-post a.benau-membership-button:focus-visible { outline: 3px solid #ffddd5; outline-offset: 3px; }
.benau-song-post .benau-membership-arrow { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; min-width: 28px; border-radius: 50%; background: rgba(255,255,255,.2); font-size: 19px; line-height: 1; }
.benau-song-post .benau-membership-section .benau-membership-note { color: #c9d5e1; margin: 12px 0 0; font-size: .77em; line-height: 1.5; }
/* Keep earlier 1.0.x posts looking reasonable without overriding any shortcode's buttons. */
.benau-song-post .benau-youtube-link { margin-top: 11px; font-size: .87em; }
.benau-song-post .benau-inline-cta { margin: 25px 0 30px; padding: 17px 20px; border-left: 4px solid #235aa5; background: #edf3fc; border-radius: 0 10px 10px 0; }
.benau-song-post .benau-patreon-section { padding: 25px 24px; border-radius: 16px; border: 1px solid #dce6f5; background: #f0f5fd; margin: 35px 0 25px; }
.benau-song-post a.benau-patreon-button, .benau-song-post a.benau-patreon-button:visited { display: inline-block; background: #235aa5; padding: 13px 20px; border-radius: 9px; color: #fff; text-decoration: none; font-weight: 700; }
@media (max-width: 780px) { .benau-song-post .benau-song-columns { grid-template-columns: minmax(0, 1fr); } .benau-song-post .benau-songsheet-panel, .benau-song-post .benau-chords-panel { padding: 15px; } }
@media (max-width: 480px) { .benau-song-post .benau-membership-section { border-radius: 14px; } .benau-song-post a.benau-membership-button { width: 100%; gap: 12px; } .benau-song-post .benau-document-cta { padding: 21px 14px; } }
@media (prefers-reduced-motion: no-preference) { .benau-song-post a.benau-membership-button { transition: background-color .15s ease, box-shadow .15s ease, transform .15s ease; } }

/* New v1.2.0 learning content — all selectors scoped to generated song posts. */
.benau-song-post .benau-tuning-callout { display: flex; gap: 13px; align-items: center; margin: 0 0 23px; padding: 15px 19px; background: #eef6ff; border: 1px solid #bfdbfb; border-left: 4px solid #2375b4; border-radius: 11px; }
.benau-song-post .benau-tuning-callout .benau-tuning-icon { flex: 0 0 auto; font-size: 27px; color: #286c9f; line-height: 1; }
.benau-song-post .benau-tuning-callout p { margin: 0; line-height: 1.55; }
.benau-song-post .benau-tuning-callout a, .benau-song-post .benau-tuning-callout a:visited { color: #155f99; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.benau-song-post .benau-tuning-callout a:hover { color: #0e4977; }
.benau-song-post .benau-tuning-callout a:focus-visible { outline: 3px solid #8fc7ef; outline-offset: 3px; }
.benau-song-post .benau-song-specific-intro { margin: -12px 0 27px; line-height: 1.7; }
.benau-song-post .benau-video-section > h2 { margin: 0 0 14px; font-size: clamp(1.2rem, 2.5vw, 1.5rem); }
.benau-song-post .benau-song-facts { margin: 29px 0 20px; }
.benau-song-post .benau-song-facts > h2, .benau-song-post .benau-learning-section > h2 { margin: 0 0 14px; font-size: clamp(1.2rem, 2.5vw, 1.5rem); }
.benau-song-post .benau-song-facts-list { display: flex; flex-wrap: wrap; gap: 9px; padding: 0; margin: 0 0 14px; list-style: none; }
.benau-song-post .benau-song-facts-list li { margin: 0; padding: 8px 11px; background: #f4f7fc; border: 1px solid #e0e8f2; border-radius: 7px; }
.benau-song-post .benau-song-facts > p { margin: 0 0 14px; color: var(--benau-muted); line-height: 1.65; }
.benau-song-post .benau-learning-section { margin: 25px 0 35px; }
.benau-song-post .benau-learning-section p { line-height: 1.7; }
.benau-song-post .benau-learning-part { margin: 23px 0; }
.benau-song-post .benau-learning-part h3 { margin: 0 0 10px; font-size: 1.13rem; }
.benau-song-post .benau-learning-part p { margin: 0 0 12px; }
.benau-song-post .benau-progression { white-space: pre-wrap; overflow-wrap: anywhere; font: 600 14px/1.8 'Roboto Mono','Courier New',monospace; padding: 15px 17px; border: 1px solid #dce6f0; background: #f7f9fc; border-radius: 9px; }
.benau-song-post .benau-practice-tip { border-left: 3px solid #2375b4; padding: 12px 17px; background: #f5f9fe; border-radius: 0 9px 9px 0; }
.benau-song-post .benau-learning-reminder { color: var(--benau-muted); }
@media (max-width: 480px) { .benau-song-post .benau-tuning-callout { padding: 12px; gap: 9px; } .benau-song-post .benau-song-facts-list { display: block; } .benau-song-post .benau-song-facts-list li { margin-bottom: 7px; } }
