/* Native WordPress baseline and replacements for interactive classic content. */
body { margin:0; }
*, *::before, *::after { box-sizing:border-box; }
button,input,select,textarea { font:inherit; }
.mf-classic-columns { display:flex; flex-wrap:wrap; gap:20px; margin:20px 0; }
.mf-classic-col { flex:1 1 calc(var(--mf-column,100%) - 20px); min-width:0; }
.mf-classic-tabs { display:grid; gap:12px; margin:24px 0; }
.mf-classic-panel,.mf-classic-toggle { border:1px solid #dee3ec; border-radius:12px; background:#fff; }
.mf-classic-panel summary,.mf-classic-toggle summary { padding:16px 20px; font-weight:700; cursor:pointer; }
.mf-classic-panel-content { padding:0 20px 20px; }
.mf-classic-table { width:100%; overflow:auto; margin:20px 0; }
.mf-classic-gallery { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr)); gap:14px; }
.mf-classic-gallery img { max-width:100%; height:auto; }
.mf-classic-notice { padding:18px; border-radius:12px; border:1px solid #dee3ec; background:#f5f7fb; }
.mf-classic-heading { margin:24px 0 14px; }
.mf-classic-button { display:inline-flex; padding:10px 18px; border-radius:8px; background:#c82438; color:white; text-decoration:none; }
.mf-classic-button:focus-visible,summary:focus-visible { outline:3px solid #2868b8; outline-offset:4px; }
.mf-classic-image { margin:20px 0; }.mf-classic-image img { max-width:100%; height:auto; }
.mf-review-video { margin:16px auto;max-width:960px;position:relative;z-index:2; }
.mf-review-video summary { cursor:pointer;display:inline-block;border-radius:10px;background:white;color:#243147;padding:12px 20px;font-weight:700; }
.mf-review-video-body { margin-top:12px;background:#101821;padding:16px;border-radius:12px; }
.mf-review-video .mf-video-placeholder { margin:0; }
.mf-comments { margin-top:36px; }.comment-list { padding-left:0;list-style:none; }
.comment-list .comment-body { padding:20px 0;border-bottom:1px solid #dee3ec; }
.comment-form input:not([type=checkbox]),.comment-form textarea { max-width:100%;padding:10px;border:1px solid #cbd2dd;border-radius:8px; }
.mf-comments .form-submit input { background:#c82438;color:#fff;border:none;cursor:pointer; }
@media(max-width:700px) { .mf-classic-col { flex-basis:100%; }.mf-review-video { padding:0 16px; } }
.mf-dropcap {float:left;font-size:3.2em;line-height:1;margin:0 .15em 0 0;font-weight:700;color:#c82438;}
.mf-saved-gallery-card {min-width:0;margin:0;border:1px solid #dee3ec;border-radius:12px;background:white;overflow:hidden;}
.mf-saved-gallery-card img {display:block;width:100%;height:auto;}
.mf-saved-gallery-card figcaption {padding:14px;}.mf-saved-gallery-card figcaption p {margin:8px 0 0;}
.mf-team-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:20px;}
.mf-team-card {background:white;border:1px solid #dee3ec;border-radius:14px;padding:20px;}
.mf-team-card img {width:140px;max-width:100%;height:160px;object-fit:cover;border-radius:10px;}

/* Game covers and all saved facts belong to the existing right sidebar. */
.mf-layout-sidebar .mf-game-sidebar-cover { margin:0 auto 22px;max-width:220px;padding:12px;border:1px solid #e1e9ef;border-radius:14px;background:#f5f8fb;text-align:center; }
.mf-layout-sidebar .mf-game-sidebar-cover img { display:block;width:100%;height:auto;max-height:310px;object-fit:contain;border-radius:5px; }
.mf-layout-sidebar .mf-game-sidebar-facts { margin:0; }
.mf-layout-sidebar .mf-game-sidebar-facts > div { margin:0;padding:10px 0;border-bottom:1px solid #edf1f5; }
.mf-layout-sidebar .mf-game-sidebar-facts dt { margin:0 0 3px;color:#66758a;font-size:12px;font-weight:600;line-height:1.4; }
.mf-layout-sidebar .mf-game-sidebar-facts dd { margin:0;color:#17324a;font-size:14px;font-weight:650;line-height:1.5;overflow-wrap:anywhere; }
.mf-layout-sidebar .mf-game-sidebar-facts a { color:#08699f;text-decoration:none; }
.mf-layout-sidebar .mf-game-sidebar-facts a:hover { text-decoration:underline; }
.mf-layout-sidebar .mf-game-sidebar-section { margin-top:20px; }
.mf-layout-sidebar .mf-game-sidebar-section h4 { margin:0 0 4px;font-size:14px;line-height:1.5;color:#17324a; }
.mf-layout-sidebar .mf-game-sidebar-description { margin-top:18px;font-size:14px;line-height:1.6;overflow-wrap:anywhere; }
.mf-layout-sidebar .mf-game-sidebar-shop { display:block;margin-top:18px;padding:10px 12px;border:1px solid #d5e4ef;border-radius:9px;text-align:center;font-weight:650; }

/* Native search remains usable without any script or the parent theme. */
.mf-native-search { margin:20px 0;max-width:100%; }
.mf-native-search-label { display:block;margin:0 0 8px;font-size:14px;font-weight:700;color:#17324a; }
.mf-native-search-controls { display:flex;gap:10px;align-items:stretch; }
.mf-native-search-controls input[type=search] { display:block;flex:1 1 0;width:100%;min-width:0;min-height:52px;margin:0;padding:12px 16px;border:1px solid #bdcddc;border-radius:12px;background:#f8fafc;color:#172b40;font-size:16px;line-height:1.4;box-shadow:none; }
.mf-native-search-controls input::placeholder { color:#677b8e;opacity:1; }
.mf-native-search-controls button { display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;min-height:52px;margin:0;padding:12px 22px;border:1px solid #08699f;border-radius:12px;background:#08699f;color:#fff;font-size:15px;font-weight:750;line-height:1.4;cursor:pointer;box-shadow:none; }
.mf-native-search-controls button:hover { background:#07527c;border-color:#07527c; }
.mf-native-search-controls input:focus-visible,.mf-native-search-controls button:focus-visible { outline:3px solid #71b7df;outline-offset:3px; }
.mf-search-page .mf-search-header { margin-bottom:16px;padding:24px 28px; }
.mf-search-page .mf-search-kicker { display:block;margin-bottom:6px;color:#28668c;font-size:13px;font-weight:750; }
.mf-search-page .mf-search-header .archive-title { margin:0 0 8px;font-size:clamp(24px,2.4vw,32px);line-height:1.2; }
.mf-search-page .mf-search-header .archive-description { margin:0;color:#55677b;font-size:15px; }
.mf-search-page .mf-search-header .mf-native-search { margin:20px 0 0; }
.mf-search-page .mf-list-card .mf-news-title { margin-top:0;font-size:17px;line-height:1.35; }
@media(max-width:600px) {
    .mf-search-page .mf-search-header { padding:20px 16px; }
    .mf-native-search-controls { flex-wrap:wrap; }
    .mf-native-search-controls input[type=search] { flex-basis:100%; }
    .mf-native-search-controls button { width:100%; }
    .mf-search-page .mf-list-card .mf-news-title { font-size:15px; }
}

/* Solution collections and accessible game facts. */
.mf-game-completion-list { display:grid; gap:12px; margin-top:14px; }
.mf-game-completion-list>div { display:grid; justify-items:start; gap:8px; }
.mf-game-completion.is-collection { display:block; }
.mf-game-all-guides { padding:20px; margin:0 0 24px; border-radius:18px; background:#fff; }
.mf-game-all-guides ul { display:flex; flex-wrap:wrap; gap:12px; list-style:none; padding:0; margin:12px 0 0; }
.mf-game-all-guides a { display:block; padding:10px 14px; border-radius:10px; background:#eef6fc; font-weight:700; }
#game-facts { scroll-margin-top:110px; }
#game-facts:focus { outline:3px solid #176ba7; outline-offset:5px; }
.mf-single-game :is(#game-info,#game-news,#game-reviews,#game-guides,#game-all-guides,#game-images,#game-videos) { scroll-margin-top:170px; }
@media(max-width:767px) { .mf-single-game :is(#game-info,#game-news,#game-reviews,#game-guides,#game-all-guides,#game-images,#game-videos) { scroll-margin-top:220px; } }
@media(max-width:767px) { .mf-game-completion-list>div { align-items:flex-start; flex-direction:column; } }

/* Guide discovery: visible links, native category lists and progressive filtering. */
.mf-directory [hidden], .mf-guide-hub-section[hidden], .mf-guide-hub-grid > li[hidden], .mf-directory-filter[hidden] { display:none!important; }
.mf-directory-page { padding:28px; }
.mf-directory-page > header { max-width:820px;margin-bottom:26px; }
.mf-directory-page > header p { line-height:1.65;color:#526174; }
.mf-directory-toolbar { display:flex;gap:16px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:18px;background:#eff6fc;border-radius:14px;margin-bottom:24px; }
.mf-directory-toolbar a, .mf-directory-actions a { font-weight:700; }
.mf-directory-search, .mf-directory-filter { background:#f7fafc;border:1px solid #dbe5ef;border-radius:14px;padding:18px;margin:18px 0 24px; }
.mf-directory-search label, .mf-directory-filter label { display:block;font-weight:700;color:#172b42;margin-bottom:8px; }
.mf-directory-search > div { display:flex;gap:10px; }
.mf-directory-search input[type=search], .mf-directory-filter input { min-width:0;width:100%;padding:12px 14px;border:1px solid #b8cadc;border-radius:9px;background:#fff;color:#172b42;font:inherit; }
.mf-directory-filter input { width:min(100%,600px);margin-right:8px; }
.mf-directory-search button, .mf-directory-filter button { border:0;border-radius:9px;background:#17649d;color:#fff;padding:12px 18px;font:inherit;font-weight:700;white-space:nowrap;cursor:pointer;min-height:44px; }
.mf-directory-filter button { background:#e5eef6;color:#19334b; }
.mf-directory-filter p { margin:10px 0 0;color:#526174;font-size:14px; }
.mf-directory-alphabet { display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px; }
.mf-directory-alphabet a { display:grid;place-items:center;min-width:44px;min-height:44px;background:#eaf3fa;border:1px solid #d2e2ef;border-radius:10px;font-weight:800; }
.mf-directory-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
.mf-directory-card { min-width:0;border:1px solid #dbe5ef;border-radius:16px;background:#fff;padding:20px;scroll-margin-top:125px;align-self:start; }
.mf-directory-card h3 { font-size:19px;line-height:1.35;margin:0 0 9px;overflow-wrap:anywhere; }
.mf-directory-card h3 a { color:#162d45; }
.mf-directory-count { margin:0 0 16px;color:#68768a;font-size:14px; }
.mf-directory-actions { display:grid;gap:12px; }
.mf-directory-actions .mf-directory-start { justify-self:start;border-radius:9px;padding:10px 13px;background:#17649d;color:#fff;font-size:14px; }
.mf-directory-categories { margin-top:18px;border-top:1px solid #e0e8f0;padding-top:12px; }
.mf-directory-categories summary { cursor:pointer;font-weight:700;min-height:32px; }
.mf-directory-categories summary span { color:#68768a;font-weight:400;margin-left:5px; }
.mf-directory-categories ul { margin:10px 0 0;padding:0;list-style:none; }
.mf-directory-categories li a { display:flex;justify-content:space-between;gap:12px;padding:9px 0;line-height:1.4;border-top:1px solid #edf1f5; }
.mf-directory-categories li span { color:#68768a; }
.mf-directory-context, .mf-directory-category-links { display:flex;flex-wrap:wrap;gap:10px;margin:16px 0; }
.mf-directory-context a { display:block;padding:11px 15px;border:1px solid #cddfea;border-radius:10px;background:#f1f7fc;color:#17527c;font-weight:700;line-height:1.4; }
.mf-context-back .mf-directory-context a { gap:0; }
.mf-directory-category-links a { display:block;border-radius:8px;padding:8px 12px;background:#eef3f7;color:#28465f;line-height:1.4;font-size:14px; }
.mf-directory-category-links a[aria-current=page] { background:#17649d;color:#fff; }
.mf-guide-listing > .mf-directory-category-links { padding:0 18px 12px;margin:0; }
.mf-directory a:focus-visible, .mf-directory input:focus-visible, .mf-directory button:focus-visible, .mf-directory-context a:focus-visible, .mf-directory-filter input:focus-visible, .mf-directory-filter button:focus-visible, .mf-directory summary:focus-visible { outline:3px solid #e6af21;outline-offset:3px; }
.mf-guide-hub-section { scroll-margin-top:120px; }
@media (max-width:1000px) { .mf-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) {
 .mf-directory-page { padding:18px; }
 .mf-directory-grid { grid-template-columns:minmax(0,1fr); }
 .mf-directory-search > div { flex-direction:column; }
 .mf-directory-filter button { margin-top:10px; }
 .mf-directory-toolbar { align-items:flex-start;flex-direction:column; }
 .mf-directory-context a { flex:1 1 140px; }
}
.mf-search-guide-context { margin:6px 0 8px;color:#17527c;font-weight:700;font-size:14px;line-height:1.45; }

/* Guide imagery and compact game-grouped archive, 1.0.5. */
.mf-directory-picture { display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:16/10; margin-bottom:18px; border-radius:12px; overflow:hidden; background:#eef5fa; }
.mf-directory-picture img { display:block; width:100%; height:100%; max-height:230px; object-fit:contain; }
.mf-directory-picture:focus-visible { outline:3px solid #0873aa; outline-offset:3px; }
.mf-directory-recent { margin-top:38px; }
.mf-directory-view { display:flex; flex-wrap:wrap; gap:12px; margin:18px 0; }
.mf-directory-view a { padding:10px 16px; background:white; border:1px solid #c5ddea; border-radius:999px; font-weight:700; }
.mf-directory-view a[aria-current=page] { background:#086c9f; color:white; }
.mf-directory-chapters { margin-top:18px; border-top:1px solid #dae5ec; padding-top:14px; }
.mf-directory-chapters summary { cursor:pointer; color:#155a79; font-weight:700; line-height:1.5; }
.mf-directory-chapters summary span { background:#eaf4fa; border-radius:12px; padding:2px 7px; font-size:12px; }
.mf-directory-chapters ol { list-style:none; margin:14px 0 0; padding:0; max-height:440px; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.mf-directory-chapters li { padding:10px 2px; border-bottom:1px solid #e7edf2; line-height:1.5; }
.mf-directory-chapters a { display:block; font-weight:650; overflow-wrap:anywhere; }
.mf-directory-chapters small { display:block; color:#667385; margin-top:2px; }
@media(max-width:700px) { .mf-directory-chapters ol { max-height:360px; } }

.mf-directory-chapters li[hidden] { display:none!important; }

/* Guide category archives: illustrated chapter cards and useful short previews. */
.mf-guide-taxonomy-page .mf-guide-archive-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
:is(.mf-guide-overview,.mf-guide-taxonomy-page) .mf-guide-archive-grid > li.mf-guide-archive-card { display:flex; flex-direction:column; overflow:hidden; border:1px solid #dce7ef; border-radius:14px; background:#fff; box-shadow:0 2px 10px rgba(15,23,42,.035); }
:is(.mf-guide-overview,.mf-guide-taxonomy-page) .mf-guide-archive-grid > li.mf-guide-archive-card:hover { border-color:#8abbd8; }
:is(.mf-guide-overview,.mf-guide-taxonomy-page) .mf-guide-archive-grid a.mf-guide-archive-card-link { height:auto; display:flex; flex-direction:column; align-items:stretch; gap:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; min-height:0; }
.mf-guide-archive-card-image { display:flex; justify-content:center; align-items:center; aspect-ratio:16/9; width:100%; background:#eef5fa; overflow:hidden; }
.mf-guide-archive-card-image img { display:block; width:100%; height:100%; object-fit:contain; }
.mf-guide-archive-card-copy { display:block; padding:16px 18px 12px; }
.mf-guide-archive-card-copy h3 { color:#172e45; font-size:19px; font-weight:800; line-height:1.35; margin:0 0 8px; overflow-wrap:anywhere; }
.mf-guide-archive-card-copy small { display:block; color:#65788a; font-size:12px; line-height:1.4; margin-bottom:8px; }
.mf-guide-archive-card-action { display:block; font-size:14px; font-weight:750; color:#08659a; }
.mf-guide-archive-grid .mf-guide-archive-card-excerpt { padding:0 18px 18px; margin:0; color:#526174; font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
.mf-guide-archive-grid > .google-auto-placed { grid-column:1/-1; min-width:0; }
@media(max-width:1000px) { .mf-guide-taxonomy-page .mf-guide-archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .mf-guide-taxonomy-page .mf-guide-archive-grid { grid-template-columns:minmax(0,1fr); gap:16px; } }

.mf-guide-archive-card-image img.mf-guide-preview-wide { object-fit:cover; }

/* Main solutions share archive previews, with room for chapter text. */
.mf-guide-overview .mf-guide-archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
@media(max-width:700px) { .mf-guide-overview .mf-guide-archive-grid { grid-template-columns:minmax(0,1fr); gap:16px; } }
