/* Reader utilities use La Manija's existing blue and stay inside their sections. */
.lmf-reader-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 16px; padding: 0; margin: 12px 0 24px; font-size: 13px; }
.lmf-reader-tools [hidden] { display: none !important; }
.lmf-share-footer .lmf-share-label { color: #70798a; font-size: 12px; }
.lmf-share-footer .lmf-share-link { display: inline-block; min-height: 32px; padding: 6px 0; border: 0; border-radius: 0; background: transparent !important; color: #59647a !important; font-family: inherit; font-size: 13px; font-weight: 500; line-height: 20px; text-transform: none; text-decoration: none !important; box-shadow: none; cursor: pointer; }
.lmf-share-footer .lmf-share-link:hover { color: #192568 !important; text-decoration: underline !important; }
.lmf-share-footer .lmf-share-link:focus-visible { outline: 2px solid #192568; outline-offset: 3px; }
.lmf-after-comments { margin-top: 24px; padding-bottom: 48px; }
.lmf-reader-tools .lmf-reader-button, .lmf-likes .lmf-reader-button, .lmf-saved-page .lmf-reader-button {
    display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 8px 12px; min-height: 40px;
    border: 1px solid #cdd4e9; border-radius: 5px; background: #ffffff; color: #192568 !important;
    font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1.4; text-transform: none; text-decoration: none !important; cursor: pointer; box-shadow: none;
}
.lmf-reader-tools .lmf-reader-button:hover, .lmf-likes .lmf-reader-button:hover, .lmf-saved-page .lmf-reader-button:hover { background: #edf0fa; border-color: #192568; }
.lmf-reader-tools .lmf-reader-button[aria-pressed="true"], .lmf-likes .lmf-reader-button[aria-pressed="true"] { background: #192568; color: white !important; }
.lmf-reader-button[aria-pressed="true"] svg path { fill: currentColor; }
.lmf-reader-tools .lmf-reader-button:focus-visible, .lmf-likes .lmf-reader-button:focus-visible, .lmf-saved-page .lmf-reader-button:focus-visible { outline: 2px solid #192568; outline-offset: 3px; }
.lmf-reader-button:disabled { opacity: .55; cursor: default; }
.lmf-reader-status { flex-basis: 100%; color: #525b6a; font-size: 13px; }
.lmf-reader-status:empty { display: none; }
.lmf-reading-text h2, .lmf-reading-text h3 { scroll-margin-top: 24px; }
.lmf-reading-progress[hidden] { display: none !important; }
.lmf-reading-progress { position: fixed; top: 0; left: 0; right: 0; z-index: 100000; height: 3px; margin: 0; padding: 0; overflow: hidden; background: transparent; pointer-events: none; }
.lmf-reading-progress > span { display: block; width: 100%; height: 100%; background: #192568; transform: scaleX(0); transform-origin: left center; }
.lmf-related { margin-top: 32px; padding-top: 25px; border-top: 1px solid #e1e6ef; }
.lmf-related > h2 { margin: 0 0 18px; font-size: 24px; }
.lmf-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.lmf-related-card { display: flex; flex-direction: column; min-width: 0; margin: 0; padding: 0; }
.lmf-related-card a { display: block; flex: 1; text-decoration: none !important; }
.lmf-related-card img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 4px; margin: 0 0 10px !important; }
.single .lmf-related-card img.lmf-related-image { display: block !important; }
.lmf-related-card h3 { margin: 0 0 7px; font-size: 17px; line-height: 1.4; overflow-wrap: anywhere; }
.lmf-related-card time { display: block; margin-top: auto; padding-top: 4px; color: #69738a; font-size: 12px; line-height: 1.5; }
.lmf-saved-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.lmf-saved-card { border: 1px solid #e1e6ef; border-radius: 5px; padding: 18px; margin: 0; }
.lmf-saved-card a { text-decoration: none !important; }
.lmf-saved-card img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; margin: 0 0 12px !important; border-radius: 4px; }
.lmf-saved-card h2 { margin: 0 0 10px; font-size: 21px; line-height: 1.35; }
.lmf-saved-date { color: #69738a; font-size: 13px; }
.lmf-most-read { margin: 0; padding-left: 24px; color: #192568; }
.lmf-most-read li { padding: 8px 0 10px 3px; line-height: 1.5; font-weight: 600; }
.lmf-most-read a { text-decoration: none !important; }
.lmf-subscribe-box { margin: 32px 0 20px; padding: 24px; border-radius: 6px; border: 1px solid #dfe4ef; background: #f4f6fb; }
.lmf-subscribe-box h2 { margin: 0 0 12px; font-size: 23px; line-height: 1.3; }
.lmf-subscribe-box p { margin: 12px 0; font-size: 15px; line-height: 1.6; }
.lmf-subscribe-inputs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; margin: 18px 0; }
.lmf-subscribe-inputs label { display: block; font-size: 14px; font-weight: 600; }
.lmf-subscribe-inputs label span { color: #69738a; font-weight: 400; }
.lmf-subscribe-inputs input { display: block; box-sizing: border-box; width: 100%; min-width: 0; padding: 11px; margin-top: 7px; border: 1px solid #c9d0e1; border-radius: 4px; background: #fff; color: #20263b; font-size: 16px; }
.lmf-subscribe-box .lmf-opt-in { display: block; font-size: 13px; line-height: 1.6; margin-bottom: 18px; }
.lmf-opt-in input { margin: 0 6px 0 0; vertical-align: middle; }
.lmf-subscribe-box .lmf-subscribe-submit { padding: 11px 18px; border: 1px solid #192568; border-radius: 5px; background: #192568; color: #fff !important; font-family: inherit; font-size: 15px; font-weight: 600; text-transform: none; cursor: pointer; }
.lmf-subscribe-box .lmf-subscribe-submit:disabled { opacity: .6; cursor: wait; }
.lmf-subscribe-submit:focus-visible { outline: 2px solid #192568; outline-offset: 3px; }
.lmf-subscribe-box [data-lmf-subscribe-status]:empty { display: none; }
.lmf-subscribe-box .lmf-account-link { font-size: 13px; margin-bottom: 0; }
.lmf-form-trap { position: absolute !important; width: 1px !important; height: 1px !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; clip-path: inset(50%) !important; }
.lmf-subscribe-popup[hidden] { display: none !important; }
.lmf-subscribe-popup { position: fixed; z-index: 80000; top: 50%; left: 50%; transform: translate(-50%, -50%); box-sizing: border-box; width: calc(100vw - 32px); max-width: 340px; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); overflow-y: auto; border: 1px solid #dfe4ef; border-radius: 8px; background: #fff; color: #20263b; box-shadow: 0 8px 32px rgba(25, 37, 104, .16); }
.lmf-subscribe-popup .lmf-subscribe-box { margin: 0; padding: 22px; border: 0; border-radius: 0; background: #fff; }
.lmf-subscribe-popup .lmf-subscribe-box h2 { padding-right: 22px; margin-bottom: 8px; font-size: 20px; }
.lmf-subscribe-popup .lmf-subscribe-box p { font-size: 13px; margin: 8px 0; }
.lmf-subscribe-popup .lmf-subscribe-inputs { grid-template-columns: 1fr; margin: 14px 0 12px; }
.lmf-subscribe-popup .lmf-opt-in { font-size: 12px; margin-bottom: 14px; }
.lmf-subscribe-popup .lmf-subscribe-submit { width: 100%; font-size: 14px; }
.lmf-subscribe-popup .lmf-popup-close { position: absolute; top: 6px; right: 6px; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 4px; background: transparent; color: #59647a !important; box-shadow: none; cursor: pointer; }
.lmf-subscribe-popup .lmf-popup-close:hover { background: #f0f2f7; }
.lmf-popup-close:focus-visible { outline: 2px solid #192568; outline-offset: -2px; }
@media (prefers-reduced-motion: no-preference) {
    .lmf-subscribe-popup:not([hidden]) { animation: lmf-popup-enter .2s ease-out; }
    @keyframes lmf-popup-enter { from { opacity: 0; transform: translate(-50%, calc(-50% + 12px)); } to { opacity: 1; transform: translate(-50%, -50%); } }
}
@media (max-width: 600px) {
    .lmf-after-comments { padding-bottom: 32px; }
    .lmf-related-grid, .lmf-saved-list, .lmf-subscribe-inputs { grid-template-columns: 1fr; }
    .lmf-related-card { padding-bottom: 16px; border-bottom: 1px solid #e1e6ef; }
    .lmf-related-card img { max-height: 220px; }
    .lmf-subscribe-box { padding: 20px; }
    .lmf-reader-tools { align-items: flex-start; }
}

/* Optional preferences stay folded in the compact dialog. */
.lmf-interest-options { margin: 14px 0; font-size: 13px; }
.lmf-interest-options summary { cursor: pointer; color: #192568; }
.lmf-interest-options summary span { color: #6b7280; }
.lmf-interest-fieldset { border: 0; margin: 12px 0; padding: 0; min-width: 0; }
.lmf-interest-fieldset legend { font-weight: 600; }
.lmf-interest-fieldset p { font-size: 12px; margin: 6px 0 10px; }
.lmf-interest-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px 12px; max-height: 170px; overflow-y: auto; }
.lmf-interest-grid label { display: flex; align-items: flex-start; gap: 6px; font-size: 12px; line-height: 1.4; margin: 0; }
.lmf-interest-grid input[type=checkbox] { flex: 0 0 auto; width: 15px; height: 15px; margin: 1px 0 0; }
.lmf-cadence-label { display: block; margin: 12px 0; }
.lmf-cadence-label select { display: block; width: 100%; max-width: 100%; margin-top: 6px; font-size: 13px; }
.lmf-preferences-form { max-width: 560px; margin: 20px 0; }
.lmf-subscribe-popup { max-height: min(80vh,680px); overflow-y: auto; }
.lmf-smart-search .lmf-search-input-row { display: flex; width: 100%; }
.lmf-smart-search .search-field { min-width: 0; flex: 1 1 auto; width: 100%; padding-right: 12px; }
.lmf-smart-search .search-submit { position: static !important; flex: 0 0 42px; width: 42px; padding: 0; background: #192568 !important; color: #fff !important; display: flex; align-items: center; justify-content: center; border: 0; }
