/* Scoped overrides for the existing Astra / Additional CSS block styles. */
body .entry-content .wp-block-quote,
body .entry-content .wp-block-code,
body .entry-content .wp-block-pullquote,
body .entry-content .wp-block-verse { box-sizing: border-box; max-width: 100%; }
body .entry-content .wp-block-quote {
 margin: 28px 0 !important; padding: 24px 28px !important;
 border: 0 !important; border-left: 5px solid #276965 !important;
 border-radius: 12px !important; background: #f0f6f5 !important;
 color: #252a2b !important; font-style: normal; box-shadow: none;
}
body .entry-content .wp-block-quote::before,
body .entry-content .wp-block-quote::after { content: none !important; }
body .entry-content .wp-block-quote p {
 margin: 0 0 12px !important; font-size: 1.02rem; font-weight: 550; line-height: 1.9;
 overflow-wrap: anywhere;
}
body .entry-content .wp-block-quote p:last-child { margin-bottom: 0 !important; }
body .entry-content .wp-block-quote cite { display: block; margin-top: 8px; font-size: .8rem; font-style: normal; color: #667775; }
body .entry-content pre.wp-block-code {
 position: relative; margin: 40px 0 28px !important; padding: 52px 26px 22px !important;
 background: #101729 !important; color: #eef2fa !important;
 border: 1px solid #263148 !important; border-radius: 18px !important;
 overflow: visible !important; white-space: normal !important;
}
body .entry-content pre.wp-block-code::before {
 content: 'CODE'; position: absolute !important; top: -16px !important; left: 24px !important;
 right: auto; transform: none !important; margin: 0 !important; padding: 8px 20px !important;
 border: 0; border-radius: 10px !important; background: #b9d4fa !important; color: #17345c !important;
 font: 800 .85rem/1.5 Menlo, Consolas, monospace !important; letter-spacing: .14em !important;
}
body .entry-content pre.wp-block-code > code {
 display: block !important; padding: 0 !important; margin: 0 !important;
 background: transparent !important; color: inherit !important; border: 0 !important;
 font: .82rem/2 Menlo, Consolas, monospace !important;
 white-space: pre-wrap !important; overflow-wrap: anywhere !important; word-break: normal !important;
 overflow: visible !important; max-width: 100%; min-height: 1.8em; tab-size: 2;
}
body .entry-content pre.wp-block-code .mrmad-code-copy {
 position: absolute; top: 10px; right: 14px; width: 44px; height: 44px;
 display: grid; place-items: center; padding: 0; margin: 0;
 border: 1px solid transparent; border-radius: 6px; background: transparent; color: #d5ddea; cursor: pointer;
}
body .entry-content pre.wp-block-code .mrmad-code-copy:hover:not(:disabled) { background: #263148; border-color: #667188; }
body .entry-content pre.wp-block-code .mrmad-code-copy:focus-visible { outline: 3px solid #b9d4fa; outline-offset: 2px; }
body .entry-content pre.wp-block-code .mrmad-code-copy:disabled { opacity: .4; cursor: default; }
body .entry-content pre.wp-block-code .mrmad-code-status { position: absolute; top: 20px; right: 64px; max-width: calc(100% - 88px); margin: 0; padding: 0; color: #b9d4fa; font: .72rem/1.6 sans-serif; white-space: normal; overflow-wrap: anywhere; text-align: right; pointer-events: none; }
body .entry-content .wp-block-pullquote { margin: 32px 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; text-align: left !important; }
body .entry-content .wp-block-pullquote blockquote {
 position: relative !important; box-sizing: border-box; margin: 0 !important; padding: 28px 30px !important;
 border: 2px solid #276965 !important; border-left-width: 7px !important; border-radius: 14px !important;
 background: #fff !important; box-shadow: 6px 7px 0 #f0f6f5 !important; overflow: visible !important;
 text-align: left !important; color: #252a2b !important;
}
body .entry-content .wp-block-pullquote blockquote::before { content: none !important; }
body .entry-content .wp-block-pullquote blockquote::after {
 content: '“'; content: '“' / ''; position: absolute !important; top: 10px !important; right: 20px !important;
 left: auto !important; font: 700 4.9rem/1 Georgia, 'Times New Roman', serif !important;
 color: rgba(39,105,101,.2) !important; pointer-events: none; user-select: none;
}
/* Existing site convention: first paragraph is the label, cite is the main quotation. */
body .entry-content .wp-block-pullquote blockquote > p {
 display: inline-block !important; width: auto !important; max-width: calc(100% - 64px);
 margin: 0 0 16px !important; padding: 3px 12px !important;
 border: 0 !important; border-radius: 4px !important; background: #276965 !important; color: #fff !important;
 font: 700 .72rem/1.8 -apple-system, BlinkMacSystemFont, 'PingFang TC', sans-serif !important;
 letter-spacing: .08em !important; overflow-wrap: anywhere;
}
body .entry-content .wp-block-pullquote blockquote > p::before,
body .entry-content .wp-block-pullquote cite::before,
body .entry-content .wp-block-pullquote cite::after { content: none !important; display: none !important; }
body .entry-content .wp-block-pullquote blockquote > cite {
 display: block !important; margin: 0 !important; padding: 8px 0 0 !important;
 color: #252a2b !important; font: 700 1rem/1.85 -apple-system, BlinkMacSystemFont, 'PingFang TC', sans-serif !important;
 font-style: normal !important; text-transform: none !important; overflow-wrap: anywhere;
}
body .entry-content pre.wp-block-verse {
 margin: 28px 0 !important; padding: 26px 30px !important;
 border: 1px solid #d5e4e1 !important; border-top: 4px solid #276965 !important;
 border-radius: 4px 4px 12px 12px !important; background: #fafcfb !important; color: #252a2b !important;
 font: 1.02rem/2.15 Georgia, 'Songti TC', 'Noto Serif TC', serif !important;
 white-space: pre-wrap !important; overflow-wrap: anywhere; letter-spacing: .06em; min-height: 90px;
}
@media (max-width: 650px) {
 body .entry-content .wp-block-quote { padding: 20px !important; }
 body .entry-content pre.wp-block-code { padding: 52px 20px 22px !important; }
 body .entry-content pre.wp-block-code::before { left: 20px !important; padding: 7px 16px !important; }
 body .entry-content .wp-block-pullquote blockquote { padding: 23px 20px !important; }
 body .entry-content .wp-block-pullquote blockquote > cite { font-size: 1rem !important; }
 body .entry-content .wp-block-pullquote blockquote::after { right: 16px !important; font-size: 4rem !important; }
 body .entry-content pre.wp-block-verse { padding: 24px 20px !important; }
}

/* A separate header row keeps mobile copy feedback clear of the badge and code. */
@media (max-width: 650px) {
 body .entry-content pre.wp-block-code {
  display: grid; grid-template-columns: minmax(0, 1fr) 44px; gap: 8px 6px;
  padding-top: calc(1.275rem + 16px) !important;
 }
 body .entry-content pre.wp-block-code > code {
  grid-column: 1 / -1; grid-row: 2; min-width: 0;
 }
 body .entry-content pre.wp-block-code .mrmad-code-copy {
  position: static; grid-column: 2; grid-row: 1; align-self: center;
 }
 body .entry-content pre.wp-block-code .mrmad-code-status {
  position: static; grid-column: 1; grid-row: 1; align-self: center;
  min-width: 0; max-width: none;
 }
}

/* Keep quote lists close to the content edge while preserving markers and nesting. */
body .entry-content .wp-block-quote :is(ul, ol) {
 margin-inline: 0 !important;
 padding-inline-start: .75em !important;
 padding-inline-end: 0 !important;
 margin-block: 0 12px !important;
 list-style-position: outside;
}
body .entry-content .wp-block-quote :is(ul, ol):last-child { margin-block-end: 0 !important; }

body .entry-content .wp-block-quote :is(ul, ol) :is(ul, ol) { padding-inline-start: 1.25em !important; }
