/* Engine-owned notice styling, deliberately neutral so it reads the same under every theme. */
.mb-engine-notice{font:600 14px/1.4 system-ui,sans-serif;background:#fff4c2;color:#3d2e00;border-bottom:1px solid #e0c96b;padding:8px 16px;text-align:center}
.mb-engine-notice strong{font-weight:800}
.mb-engine-notice--preview{background:#e8eef9;color:#1c2a44;border-color:#b9c7e2;font-weight:500}
.mb-engine-notice--label{background:#2b2b2b;color:#fff;border-color:#000}
.mb-engine-notice--disclaimer{background:#f3f3f3;color:#222;border-color:#ccc;font-weight:500}
/* Neutral base styles for engine-rendered body blocks; themes may refine them. */
.block-image,.engine-hero{margin:1.5em 0}
.block-image img,.engine-hero img{display:block;max-width:100%;height:auto}
.block-image figcaption,.engine-hero figcaption{font-size:.875em;opacity:.8;margin-top:.4em}
.block-image__credit{font-style:italic}
.block-comparison{margin:1.5em 0}
.block-comparison__scroll{overflow-x:auto}
.block-comparison table{border-collapse:collapse;width:100%;min-width:28em}
.block-comparison th,.block-comparison td{border:1px solid rgba(0,0,0,.18);padding:.5em .6em;text-align:left;vertical-align:top}
.block-comparison caption{text-align:left;font-weight:700;margin-bottom:.4em}
.block-comparison figcaption{font-size:.875em;margin-top:.4em}
.block-offer{border:1px solid rgba(0,0,0,.2);padding:1em;margin:1.5em 0}
.block-offer__label{font-size:.75em;text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin:0 0 .3em}
.block-offer__title{font-weight:700;margin:0 0 .3em}
.block-offer__disclosure{font-size:.875em;opacity:.85;margin-bottom:0}
.engine-sources{margin-top:2em;font-size:.9em}
.engine-sources ol{padding-left:1.4em}
/* Engine-owned subscribe/unsubscribe pages: neutral, readable under any theme. */
.mb-subscribe{max-width:36rem;margin:2rem auto;padding:0 1rem}
.mb-subscribe__form label{display:block;font-weight:600;margin-bottom:.3rem}
.mb-subscribe__form input[type=email],.mb-subscribe__form input[type=text]:not(#website){width:100%;padding:.55rem .6rem;font:inherit;border:1px solid #888;border-radius:4px}
.mb-subscribe__consent{display:flex;gap:.6rem;align-items:flex-start}
.mb-subscribe__consent label{font-weight:400;margin:0}
.mb-subscribe__form button{font:inherit;font-weight:700;padding:.55rem 1.2rem;border:0;border-radius:4px;background:#222;color:#fff;cursor:pointer}
.mb-subscribe__status{background:#e7f5ea;border:1px solid #9bcfa8;padding:.6rem .8rem}
.mb-subscribe__error{display:block;color:#a40000;font-size:.9em;margin-top:.25rem}
.mb-subscribe__note{font-size:.9em;opacity:.85}
.mb-subscribe__hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.mb-confirm{text-align:center}
.mb-confirm__icon{width:3rem;height:3rem;margin:0 auto 1rem;border-radius:50%;display:grid;place-items:center;background:#e7f5ea;color:#1f7a3a;font-size:1.6rem;font-weight:700}
.mb-confirm .mb-subscribe__status{display:inline-block}
.mb-confirm__actions{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;justify-content:center;align-items:center;margin-top:1.5rem}
.mb-confirm__primary{font-weight:700;padding:.55rem 1.2rem;border-radius:4px;background:#222;color:#fff !important;text-decoration:none}
