/* Megafood: palette and typography matched to the live The7 theme, 25/10/2026.
 * Fonts reuse the families already loaded by the site: no new font request.
 * Every rule is scoped to the plugin so the theme remains untouched.
 */
.mfi{
 --mfi-accent:#ef524a;
 --mfi-accent-hover:#cd3831;
 --mfi-navy:#0e243c;
 --mfi-ink:#273a4f;
 --mfi-muted:#6b6f74;
 --mfi-border:#e2e5e8;
 --mfi-soft:#f5f6f7;
 --mfi-font-body:Roboto,Helvetica,Arial,Verdana,sans-serif;
 --mfi-font-heading:"Roboto Condensed",Helvetica,Arial,Verdana,sans-serif;
 color:var(--mfi-muted);font-family:var(--mfi-font-body);font-size:15px;font-weight:400;
 line-height:1.65;max-width:1120px;margin:32px auto;text-align:left;
}
.mfi *{box-sizing:border-box}
.mfi [hidden]{display:none!important}
.mfi h2,.mfi h3,.mfi h4{font-family:var(--mfi-font-heading);font-style:normal;font-weight:700;letter-spacing:0;color:var(--mfi-ink)}
.mfi .mfi-hero{background:var(--mfi-navy);color:#fff;padding:clamp(28px,5vw,56px);border-radius:3px;border-top:4px solid var(--mfi-accent)}
.mfi .mfi-eyebrow{font-family:var(--mfi-font-heading);font-size:15px;font-weight:700;letter-spacing:1.2px;color:var(--mfi-accent);text-transform:uppercase}
.mfi .mfi-hero h2{font-size:clamp(30px,4vw,44px);line-height:1.13;color:#fff;margin:16px 0 20px;max-width:760px;text-transform:uppercase}
.mfi .mfi-hero p{max-width:710px;color:#fff;font-size:16px;line-height:1.7;margin:0 0 26px}
.mfi .mfi-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:1px solid transparent;border-radius:3px;background:var(--mfi-accent);color:#fff;font-family:var(--mfi-font-heading);font-weight:700;font-size:20px;letter-spacing:0;padding:12px 22px;text-decoration:none;text-transform:uppercase;cursor:pointer;line-height:1.2;transition:background-color .15s ease,border-color .15s ease}
.mfi .mfi-button:hover,.mfi .mfi-button:focus-visible{background:var(--mfi-accent-hover);color:#fff;text-decoration:none}
.mfi .mfi-link{color:#fff;display:inline-block;padding:12px 20px;font-family:var(--mfi-font-heading);font-size:18px;font-weight:700;text-transform:uppercase;text-decoration:none}
.mfi .mfi-link:hover{text-decoration:underline;text-underline-offset:5px}
.mfi .mfi-hero small{display:block;color:#fff;font-size:13px;margin-top:16px}
.mfi .mfi-controls{margin:40px 0 24px;scroll-margin-top:100px}
.mfi h3{font-size:28px;line-height:1.25;margin:0 0 22px;text-transform:uppercase}
.mfi .mfi-controls h3:after{content:"";display:block;background:var(--mfi-accent);width:48px;height:3px;margin-top:14px}
.mfi .mfi-controls>div{display:flex;gap:18px;flex-wrap:wrap}
.mfi label{display:block;font-family:var(--mfi-font-body);font-size:14px;font-weight:600;color:var(--mfi-ink)}
.mfi select,.mfi input:not([type=checkbox]),.mfi textarea{display:block;width:100%;border:1px solid #c4c9cf;border-radius:3px;color:var(--mfi-ink);background:#fff;padding:11px 12px;font-family:var(--mfi-font-body);font-size:15px;font-weight:400;line-height:1.5;margin-top:7px;min-height:46px;box-shadow:none}
.mfi textarea{resize:vertical}
.mfi input::placeholder,.mfi textarea::placeholder{color:var(--mfi-muted);opacity:1}
.mfi .mfi-controls label{flex:1;min-width:170px}
.mfi .mfi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.mfi .mfi-card{padding:24px;border:1px solid var(--mfi-border);border-top:3px solid var(--mfi-navy);border-radius:3px;background:#fff;display:flex;flex-direction:column;overflow-wrap:anywhere}
.mfi .mfi-card-top{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12px;line-height:1.4}
.mfi .mfi-category{color:var(--mfi-muted)}
.mfi .mfi-badge{border-radius:3px;background:#fcecea;color:#a62f29;padding:5px 9px;font-family:var(--mfi-font-heading);font-size:13px;font-weight:700}
.mfi h4{font-size:23px;line-height:1.25;margin:20px 0 9px}
.mfi .mfi-description{font-size:15px;line-height:1.65;margin:0 0 24px;white-space:pre-line;color:var(--mfi-muted)}
.mfi .mfi-vote{align-self:flex-start;margin-top:auto;border:1px solid var(--mfi-accent);border-radius:3px;background:#fff;color:var(--mfi-ink);padding:10px 16px;min-height:45px;cursor:pointer;font-family:var(--mfi-font-heading);font-size:17px;line-height:1.3;font-weight:700}
.mfi .mfi-vote:hover:not(:disabled){background:#fcecea;border-color:var(--mfi-accent-hover)}
.mfi button:disabled{cursor:default;opacity:.7}
.mfi .mfi-vote:disabled{background:var(--mfi-soft);border-color:var(--mfi-border)}
.mfi .mfi-reply{background:var(--mfi-soft);border-left:3px solid var(--mfi-accent);padding:14px;font-size:13px;margin-bottom:22px}
.mfi .mfi-reply strong{font-family:var(--mfi-font-heading);font-size:16px;font-weight:700;color:var(--mfi-ink)}
.mfi .mfi-reply p{white-space:pre-line;margin:5px 0 0}
.mfi .mfi-form{background:var(--mfi-soft);border:1px solid var(--mfi-border);border-top:4px solid var(--mfi-accent);border-radius:3px;padding:clamp(24px,4vw,40px);margin:44px auto 0;max-width:790px;scroll-margin-top:100px}
.mfi .mfi-form h3{margin-bottom:12px}
.mfi .mfi-form>p{margin:0 0 18px}
.mfi .mfi-form>label{margin:20px 0}
.mfi .mfi-note{font-size:13px;line-height:1.6;color:var(--mfi-muted)}
.mfi .mfi-form a{color:var(--mfi-ink);text-decoration:underline;text-decoration-color:var(--mfi-accent);text-underline-offset:3px}
.mfi .mfi-check{display:flex!important;align-items:flex-start;gap:10px;font-weight:400;line-height:1.6}
.mfi .mfi-check input{margin:4px 0 0;flex:none;width:18px;height:18px;accent-color:var(--mfi-accent)}
.mfi .mfi-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.mfi .mfi-feedback:not(:empty),.mfi .mfi-form-feedback:not(:empty){padding:14px 0;font-weight:600;color:var(--mfi-ink)}
.mfi .mfi-more{margin-top:24px}
.mfi .mfi-empty{grid-column:1/-1;background:var(--mfi-soft);border:1px solid var(--mfi-border);border-radius:3px;padding:25px}
.mfi-cta{padding:30px;background:var(--mfi-navy);border-top:4px solid var(--mfi-accent);border-radius:3px;color:#fff}
.mfi-cta strong{display:block;font-family:var(--mfi-font-heading);font-size:28px;font-weight:700;line-height:1.2;text-transform:uppercase;color:#fff}
.mfi-cta p{color:#fff;margin:14px 0 22px}
.mfi :focus-visible{outline:3px solid var(--mfi-ink);outline-offset:4px}
.mfi .mfi-hero :focus-visible,.mfi-cta :focus-visible{outline-color:#fff}
@media(max-width:850px){.mfi .mfi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.mfi .mfi-grid{grid-template-columns:1fr}.mfi .mfi-controls>div{display:grid;grid-template-columns:1fr}.mfi .mfi-button{width:100%}.mfi .mfi-hero .mfi-link{display:block;text-align:center;padding-top:18px}.mfi .mfi-card{padding:20px}.mfi .mfi-hero h2{font-size:30px}.mfi h3{font-size:25px}.mfi-cta strong{font-size:25px}}
@media(prefers-reduced-motion:reduce){.mfi .mfi-button{transition:none}}

/* Confirmed email votes, v1.1.0 */
.mfi .mfi-vote-form{border-top:1px solid var(--mfi-border);padding-top:18px;margin-top:18px}
.mfi .mfi-vote-form label{margin-bottom:10px}
.mfi .mfi-vote-form input[type=email]{font-size:16px;min-width:0}
.mfi .mfi-vote-form .mfi-button{font-size:19px;width:100%;padding:11px 12px}
.mfi .mfi-vote-form .mfi-note{font-size:12px;margin:12px 0}
.mfi .mfi-vote-feedback:not(:empty){font-size:13px;line-height:1.6;color:var(--mfi-ink);padding-top:12px}
.mfi-confirm-body{background:#f5f6f7;margin:0;padding:28px 18px}
.mfi-confirm{max-width:760px;margin:40px auto}
.mfi-confirm .mfi-hero h2{font-size:clamp(28px,4vw,38px)}
.mfi-confirm .mfi-hero form{margin-bottom:12px}
