/* Score: explicit text and native disclosure; colour is supplementary. */
.sfmg-card-score-badge { position:absolute; top:10px; right:10px; z-index:4; display:inline-flex; align-items:baseline; gap:2px; padding:5px 7px; border:1px solid rgba(121,200,66,.65); border-radius:7px; background:rgba(9,11,12,.92); box-shadow:0 3px 10px rgba(0,0,0,.3); color:#fff; font-size:13px; font-weight:850; line-height:1; pointer-events:none; }
.sfmg-card-score-badge small { color:#b9c0b8; font-size:8px; }
.sfmg-card-score-bar { position:relative; z-index:5; width:100%; height:6px; background:linear-gradient(90deg,#397bd9 0%,#79c842 40%,#f0b84b 72%,#d97868 100%); }
.sfmg-card-score-bar > span { position:absolute; top:50%; left:clamp(6px,var(--sfmg-card-score-position),calc(100% - 6px)); width:7px; height:14px; border:2px solid #fff; border-radius:3px; background:#090b0c; box-shadow:0 2px 6px rgba(0,0,0,.7); transform:translate(-50%,-50%); }

.sfmg-score-panel { box-sizing: border-box; color: #f4f8f9; }
body.sfmg-design-active #the-post .entry-content .sfmg-score-panel { margin: 30px 0; padding: clamp(20px,4vw,34px); overflow: hidden; border: 1px solid rgba(143,174,184,.3); border-radius: 18px; background: radial-gradient(ellipse at 100% 0,rgba(114,217,237,.11),transparent 55%),#172019; scroll-margin-top: 100px; }
.sfmg-score-heading { display: flex; align-items: center; gap: 15px; margin-bottom: 22px; }
.sfmg-score-heading img { width: 60px; height: 60px; object-fit: contain; flex-shrink: 0; }
body.sfmg-design-active #the-post .entry-content .sfmg-score-heading h2 { color: #f4f8f9 !important; font-size: clamp(25px,3vw,32px); margin: 3px 0 0; line-height: 1.2; }
.sfmg-score-summary { display: flex; gap: 24px; align-items: center; margin-bottom: 23px; }
.sfmg-score-summary > div { min-width: 0; overflow-wrap: anywhere; }
.sfmg-score-number { flex-shrink: 0; font-size: clamp(54px,7vw,76px); font-weight: 850; letter-spacing: -.05em; line-height: 1; color: #fff; }
.sfmg-score-number small { font-size: 22px; color: #b9c0b8; letter-spacing: 0; margin-left: 4px; }
.sfmg-score-summary strong { display: block; font-size: 20px; color: #f4f8f9; }
body.sfmg-design-active #the-post .entry-content .sfmg-score-summary p { margin: 4px 0; color: #b9c0b8; font-size: 12px; line-height: 1.5; }
.sfmg-score-meter { position: relative; height: 13px; margin: 10px 8px; border-radius: 99px; background: linear-gradient(90deg,#397bd9 0%,#36bdd1 28%,#d7d66b 50%,#f0b84b 72%,#e5635d 100%); }
.sfmg-score-meter > span { position: absolute; top: 50%; width: 8px; height: 26px; border: 2px solid #fff; border-radius: 4px; background: #090b0c; transform: translate(-50%,-50%); box-shadow: 0 2px 8px #000; }
.sfmg-score-scale { display: grid; grid-template-columns: repeat(5,1fr); gap: 8px; color: #b9c0b8; font-size: 11px; margin: 9px 0 22px; }
.sfmg-score-scale span { text-align: center; }
.sfmg-score-scale span:first-child { text-align: left; }
.sfmg-score-scale span:last-child { text-align: right; }
.sfmg-score-scale b { color: #f4f8f9; font-weight: 800; }
body.sfmg-design-active #the-post .entry-content .sfmg-score-verdict { color: #e4eef2; font-size: 16px; line-height: 1.7; overflow-wrap: anywhere; }
.sfmg-score-points { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,230px),1fr)); gap: 15px; margin-top: 23px; }
.sfmg-score-points > div { padding: 18px; border-radius: 12px; border: 1px solid rgba(143,174,184,.18); background: rgba(0,0,0,.14); overflow-wrap: anywhere; }
body.sfmg-design-active #the-post .entry-content .sfmg-score-points h3 { margin: 0 0 12px; color: #f4f8f9 !important; font-size: 17px; }
body.sfmg-design-active #the-post .entry-content .sfmg-score-points ul { padding: 0 0 0 19px; margin: 0; list-style: disc; }
body.sfmg-design-active #the-post .entry-content .sfmg-score-points li { margin: 8px 0; color: #b9c0b8; font-size: 14px; line-height: 1.6; list-style: disc; }
.sfmg-score-points--positives { border-top: 2px solid #79c842 !important; }
.sfmg-score-points--negatives { border-top: 2px solid #f0b84b !important; }
body.sfmg-design-active :is(.sfmg-score-panel,#footer) :is(a,summary,button):focus-visible { outline: 3px solid #79c842; outline-offset: 4px; }

/* Score-led Top 5: stacked in sidebars and compact across wide layouts. */
.sfmg-ranking { box-sizing: border-box; color: #f4f8f9; }
.sfmg-ranking-heading { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.sfmg-ranking-heading img { width: 46px; height: 46px; object-fit: contain; flex: 0 0 auto; }
.sfmg-ranking-heading span { display: block; color: #b9e48f; font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.sfmg-ranking-heading :is(h2,h3) { margin: 2px 0 0; color: #f4f8f9 !important; line-height: 1.15; }
.sfmg-ranking-heading h2 { font-size: 25px; }
.sfmg-ranking-heading h3 { font-size: 20px; }
body.sfmg-design-active .sfmg-ranking-list { list-style: none; margin: 0; padding: 0; }
body.sfmg-design-active .sfmg-ranking-list > li { list-style: none; margin: 0; padding: 10px 0; border-top: 1px solid rgba(143,174,184,.16); }
body.sfmg-design-active .sfmg-ranking-list > li::before { display: none; }
.sfmg-ranking--sidebar .sfmg-ranking-list > li { display: grid; grid-template-columns: 20px minmax(0,1fr) auto; align-items: center; gap: 8px; }
.sfmg-ranking-position { color: #b9e48f; font-size: 13px; font-weight: 850; }
body.sfmg-design-active .sfmg-ranking-list a { display: flex; min-width: 0; align-items: center; gap: 9px; color: #f4f8f9 !important; font-size: 13px; font-weight: 750; line-height: 1.3; text-decoration: none; }
body.sfmg-design-active .sfmg-ranking-list a:hover { color: #79c842 !important; }
.sfmg-ranking-list img { width: 46px; height: 36px; flex: 0 0 auto; border-radius: 6px; object-fit: cover; }
.sfmg-ranking-value { white-space: nowrap; color: #79c842; font-size: 17px; font-weight: 850; }
.sfmg-ranking-value small { color: #b9e48f; font-size: 9px; font-weight: 600; }
.sfmg-ranking--home,.sfmg-ranking--archive,.sfmg-ranking--page { padding: 22px; border: 1px solid rgba(143,174,184,.25); border-radius: 16px; background: linear-gradient(140deg,#172019,#0b1821); }
.sfmg-ranking--page { margin: 0 0 24px; }
.sfmg-directory-hero + .sfmg-ranking--page { margin-top: 22px; }
:is(.sfmg-ranking--home,.sfmg-ranking--archive,.sfmg-ranking--page) .sfmg-ranking-list { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; }
body.sfmg-design-active :is(.sfmg-ranking--home,.sfmg-ranking--archive,.sfmg-ranking--page) .sfmg-ranking-list > li { position: relative; min-width: 0; padding: 0; overflow: hidden; border: 1px solid rgba(143,174,184,.22); border-radius: 11px; background: #090b0c; }
:is(.sfmg-ranking--home,.sfmg-ranking--archive,.sfmg-ranking--page) .sfmg-ranking-tile > a { position: relative; display: block; aspect-ratio: 16/10; overflow: hidden; isolation: isolate; }
:is(.sfmg-ranking--home,.sfmg-ranking--archive,.sfmg-ranking--page) .sfmg-ranking-tile img,
:is(.sfmg-ranking--home,.sfmg-ranking--archive,.sfmg-ranking--page) .sfmg-ranking-placeholder { display: block; width: 100%; height: 100%; border-radius: 0; object-fit: cover; transition: transform .25s ease; }
:is(.sfmg-ranking--home,.sfmg-ranking--archive,.sfmg-ranking--page) .sfmg-ranking-placeholder { background: radial-gradient(circle at 75% 25%,rgba(114,217,237,.28),transparent 30%),linear-gradient(135deg,#183b49,#090b0c); }
:is(.sfmg-ranking--home,.sfmg-ranking--archive,.sfmg-ranking--page) .sfmg-ranking-tile > a:hover img { transform: scale(1.035); }
:is(.sfmg-ranking--home,.sfmg-ranking--archive,.sfmg-ranking--page) .sfmg-ranking-position { position: absolute; top: 8px; left: 8px; z-index: 2; display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid rgba(255,255,255,.58); border-radius: 50%; background: #090b0c; color: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.55); font-size: 13px; }
:is(.sfmg-ranking--home,.sfmg-ranking--archive,.sfmg-ranking--page) .sfmg-ranking-tile-copy { position: absolute; right: 10px; bottom: 10px; left: 10px; z-index: 2; display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; }
body.sfmg-design-active :is(.sfmg-ranking--home,.sfmg-ranking--archive,.sfmg-ranking--page) .sfmg-ranking-title { color: #fff; font-size: clamp(13px,1.35vw,17px); font-weight: 850; line-height: 1.16; text-shadow: 0 2px 3px #000,0 0 8px #000,0 0 16px #000; }
:is(.sfmg-ranking--home,.sfmg-ranking--archive,.sfmg-ranking--page) .sfmg-ranking-value { flex: 0 0 auto; margin: 0; padding: 3px 7px; border: 1px solid rgba(255,255,255,.5); border-radius: 7px; background: #090b0c; color: #79c842; box-shadow: 0 2px 10px rgba(0,0,0,.5); font-size: 16px; text-shadow: none; }
#sfmg-archive-ranking-mount { margin: 0 0 20px; }
body.sfmg-movie-archive .sfmg-ranking--archive { margin: 0; }

/* Movie-guide titles sit directly over the undimmed featured artwork. */
body.sfmg-single-movie #the-post > .featured-area.sfmg-article-hero {
	position: relative;
	overflow: hidden;
	border-radius: 16px;
	isolation: isolate;
}
body.sfmg-single-movie .sfmg-article-hero :is(.featured-area-inner,.single-featured-image) { height: 100%; margin: 0; }
body.sfmg-single-movie .sfmg-article-hero .single-featured-image img { display: block; width: 100%; height: auto; min-height: 250px; object-fit: cover; }
.sfmg-article-hero__overlay { position: absolute; right: clamp(18px,4vw,34px); bottom: clamp(18px,4vw,32px); left: clamp(18px,4vw,34px); z-index: 2; }
body.sfmg-design-active .sfmg-article-hero__overlay h1.post-title { max-width: 900px; margin: 9px 0 0; padding: 0; color: #fff !important; font-size: clamp(31px,5.2vw,58px); font-weight: 900; letter-spacing: -.035em; line-height: 1.02; text-shadow: 0 2px 3px #000,0 0 9px #000,0 0 20px #000; }
.sfmg-article-hero__overlay .post-cat-wrap { display: flex; flex-wrap: wrap; gap: 6px; }
body.sfmg-design-active .sfmg-article-hero__overlay .post-cat { display: inline-flex; align-items: center; min-height: 28px; margin: 0 !important; padding: 5px 10px !important; border: 1px solid rgba(255,255,255,.65) !important; border-radius: 99px !important; background: #090b0c !important; box-shadow: 0 2px 9px rgba(0,0,0,.5) !important; color: #fff !important; font-size: 10px !important; font-weight: 850 !important; letter-spacing: .035em; line-height: 1.2 !important; text-decoration: none !important; }
body.sfmg-design-active .sfmg-article-hero__overlay .post-cat:hover { border-color: #79c842 !important; background: #79c842 !important; color: #090b0c !important; }
body.sfmg-single-movie #the-post > .entry-header-outer.sfmg-entry-header--empty { display: none; }

/* Curated cinema, streaming, digital and physical-media releases. */
.sfmg-releases { box-sizing: border-box; color: #f4f8f9; }
.sfmg-release-heading { display: flex; align-items: center; gap: 13px; margin-bottom: 16px; }
.sfmg-release-heading > div { min-width: 0; }
.sfmg-release-all { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; color: #79c842 !important; font-size: 11px; font-weight: 850; letter-spacing: .04em; text-decoration: none !important; text-transform: uppercase; white-space: nowrap; }
.sfmg-release-all:hover { color: #fff !important; }
.sfmg-release-heading > div > span { display: block; color: #f0b84b; font-size: 10px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.sfmg-release-heading :is(h2,h3) { margin: 2px 0 0; color: #f4f8f9 !important; line-height: 1.15; }
.sfmg-release-heading h2 { font-size: 25px; }.sfmg-release-heading h3 { font-size: 20px; }
.sfmg-release-signal { display: flex; width: 48px; height: 48px; align-items: flex-end; justify-content: center; gap: 4px; padding: 10px; border: 1px solid rgba(114,217,237,.32); border-radius: 50%; background: rgba(114,217,237,.08); }
.sfmg-release-signal i { width: 5px; border-radius: 4px; background: #79c842; }.sfmg-release-signal i:nth-child(1){height:9px}.sfmg-release-signal i:nth-child(2){height:18px}.sfmg-release-signal i:nth-child(3){height:27px}
.sfmg-releases--home,.sfmg-releases--shortcode { padding: 24px; border: 1px solid rgba(143,174,184,.25); border-radius: 16px; background: radial-gradient(circle at 100% 0,rgba(114,217,237,.1),transparent 35%),linear-gradient(140deg,#172019,#0b1821); }
.sfmg-releases--shortcode { margin: 24px 0; }
.sfmg-release-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.sfmg-release-card { min-width: 0; overflow: hidden; border: 1px solid rgba(143,174,184,.2); border-radius: 13px; background: rgba(0,0,0,.15); }
.sfmg-release-card__image { display: block; aspect-ratio: 16/9; overflow: hidden; background: #090b0c; }
.sfmg-release-card__image img,.sfmg-release-placeholder { display: block; width: 100%; height: 100%; object-fit: cover; }
.sfmg-release-placeholder { background: radial-gradient(circle at 72% 30%,rgba(114,217,237,.32),transparent 25%),linear-gradient(135deg,#183b49,#090b0c); }
.sfmg-release-placeholder i { display: none; }
.sfmg-release-card__copy { padding: 16px; }
.sfmg-release-type,.sfmg-release-network { display: inline-flex; align-items: center; width: fit-content; padding: 3px 8px; border: 1px solid rgba(243,162,78,.42); border-radius: 99px; color: #f7ba7c; font-size: 10px; font-weight: 850; letter-spacing: .045em; text-transform: uppercase; }
body.sfmg-design-active .sfmg-release-card h3 { margin: 8px 0 9px; color: #fff !important; font-size: 20px; line-height: 1.15; }
body.sfmg-design-active .sfmg-release-card h3 a { color: #fff !important; text-decoration: none; }body.sfmg-design-active .sfmg-release-card h3 a:hover { color: #79c842 !important; }
.sfmg-release-countdown { display: block; color: #79c842; font-size: clamp(20px,2.2vw,29px); font-weight: 900; letter-spacing: -.025em; line-height: 1.1; }
.sfmg-release-date { margin: 7px 0 10px; color: #b9c0b8; font-size: 12px; line-height: 1.45; }
.sfmg-release-network { border-color: rgba(114,217,237,.32); color: #bdeff7; }
.sfmg-release-note { margin: 12px 0 0; color: #dce9ed; font-size: 13px; line-height: 1.55; }
.sfmg-releases--home .sfmg-release-card--compact { display: grid; grid-column: span 1; grid-template-columns: 70px minmax(0,1fr); align-items: center; }
.sfmg-releases--home .sfmg-release-card--compact .sfmg-release-card__image { height: 100%; min-height: 72px; aspect-ratio: auto; }
.sfmg-releases--home .sfmg-release-card--compact .sfmg-release-card__copy { padding: 10px 12px; }
.sfmg-releases--home .sfmg-release-card--compact .sfmg-release-type,
.sfmg-releases--home .sfmg-release-card--compact .sfmg-release-network,
.sfmg-releases--home .sfmg-release-card--compact .sfmg-release-note { display: none; }
body.sfmg-design-active .sfmg-releases--home .sfmg-release-card--compact h3 { margin: 0 0 4px; overflow: hidden; font-size: 14px; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.sfmg-releases--home .sfmg-release-card--compact .sfmg-release-countdown { font-size: 15px; }
.sfmg-releases--home .sfmg-release-card--compact .sfmg-release-date { margin: 3px 0 0; font-size: 10px; }
.sfmg-releases--sidebar { border-top: 3px solid #79c842 !important; }
.sfmg-releases--sidebar .sfmg-release-grid { display: block; }
.sfmg-releases--sidebar .sfmg-release-card { display: grid; grid-template-columns: 84px minmax(0,1fr); border: 0; border-top: 1px solid rgba(143,174,184,.16); border-radius: 0; background: transparent; }
.sfmg-releases--sidebar .sfmg-release-card:first-child { border-top: 0; }
.sfmg-releases--sidebar .sfmg-release-card__image { align-self: center; aspect-ratio: 4/3; border-radius: 7px; }
.sfmg-releases--sidebar .sfmg-release-card__copy { padding: 11px 0 11px 11px; }
.sfmg-releases--sidebar .sfmg-release-type { padding: 2px 6px; font-size: 8px; }
body.sfmg-design-active .sfmg-releases--sidebar .sfmg-release-card h3 { margin: 5px 0; font-size: 14px; }
.sfmg-releases--sidebar .sfmg-release-countdown { font-size: 16px; }
.sfmg-releases--sidebar .sfmg-release-date { margin: 4px 0 0; font-size: 10px; }
.sfmg-releases--sidebar .sfmg-release-network { display: none; }
.sfmg-releases--sidebar .sfmg-release-card--compact { display: block; }
.sfmg-releases--sidebar .sfmg-release-card--compact .sfmg-release-card__image,
.sfmg-releases--sidebar .sfmg-release-card--compact .sfmg-release-type { display: none; }
.sfmg-releases--sidebar .sfmg-release-card--compact .sfmg-release-card__copy { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 3px 9px; padding: 9px 0; }
body.sfmg-design-active .sfmg-releases--sidebar .sfmg-release-card--compact h3 { min-width: 0; margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sfmg-releases--sidebar .sfmg-release-card--compact .sfmg-release-countdown { font-size: 12px; white-space: nowrap; }
.sfmg-releases--sidebar .sfmg-release-card--compact .sfmg-release-date { grid-column: 1 / -1; margin: 0; }
.sfmg-releases--shortcode { width: 100%; }
.sfmg-releases--shortcode .sfmg-release-card { box-shadow: 0 9px 24px rgba(0,0,0,.16); transition: transform 160ms ease,border-color 160ms ease; }
.sfmg-releases--shortcode .sfmg-release-card:hover { border-color: rgba(121,200,66,.48); transform: translateY(-2px); }
.sfmg-guide-release { display: grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:15px; margin:0 0 22px; padding:17px 19px; border:1px solid rgba(114,217,237,.28); border-left:4px solid #79c842; border-radius:12px; background:linear-gradient(120deg,rgba(114,217,237,.1),transparent 55%),#172019; color:#f4f8f9; }
.sfmg-guide-release > div > strong { color:#fff; font-size:17px; }.sfmg-guide-release > div > p { margin:3px 0 0; color:#b9c0b8; font-size:12px; }.sfmg-guide-release .sfmg-release-countdown { min-width:max-content; font-size:22px; }

/* Zombie Head's birthday screenings. */
.sfmg-birthday { box-sizing: border-box; color: #f4f8f9; }
.sfmg-birthday-heading { display: flex; align-items: center; gap: 13px; margin-bottom: 13px; }
.sfmg-birthday-heading img { width: 52px; height: 52px; flex: 0 0 auto; object-fit: contain; }
.sfmg-birthday-heading span { display: block; color: #f0b84b; font-size: 10px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.sfmg-birthday-heading :is(h2,h3) { margin: 2px 0 0; color: #f4f8f9 !important; line-height: 1.15; }
.sfmg-birthday-heading h2 { font-size: 25px; }
.sfmg-birthday-heading h3 { font-size: 20px; }
.sfmg-birthday-messages p { margin: 0; color: #dce9ed; font-size: 15px; line-height: 1.65; }
.sfmg-birthday-messages p + p { margin-top: 10px; padding-top: 10px; border-top: 1px solid rgba(143,174,184,.16); }
body.sfmg-design-active .sfmg-birthday-messages a { color: #79c842 !important; font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }
.sfmg-birthday--home,.sfmg-birthday--shortcode { padding: 24px; border: 1px solid rgba(243,162,78,.3); border-radius: 16px; background: radial-gradient(circle at 100% 0,rgba(243,162,78,.12),transparent 38%),linear-gradient(140deg,#172019,#0b1821); }
.sfmg-birthday--shortcode { margin: 24px 0; }
.sfmg-birthday--sidebar { border-top: 3px solid #f0b84b !important; }
.sfmg-birthday--sidebar .sfmg-birthday-heading img { width: 44px; height: 44px; }
.sfmg-birthday--sidebar .sfmg-birthday-messages p { font-size: 13px; }
@media (max-width: 767px) {
	body.sfmg-design-active #footer .footer-widget-area > .tie-row > [class*="tie-col"] { width: 100%; }
	body.sfmg-design-active #footer .tie-insta-photos { grid-template-columns: repeat(3,minmax(0,1fr)); }
	.sfmg-score-scale { gap: 3px; font-size: 9px; }
	.sfmg-score-scale span { display: flex; flex-direction: column; }
	.sfmg-ranking--home,.sfmg-ranking--archive,.sfmg-ranking--page { overflow-x: auto; padding: 17px; }
	:is(.sfmg-ranking--home,.sfmg-ranking--archive,.sfmg-ranking--page) .sfmg-ranking-list { grid-template-columns: repeat(5,minmax(155px,1fr)); }
	.sfmg-release-grid { grid-template-columns: 1fr; }
	.sfmg-releases--home .sfmg-release-card--compact { grid-column: auto; }
	.sfmg-release-heading { align-items: flex-start; flex-wrap: wrap; }
	.sfmg-release-all { margin-left: 61px; }
	.sfmg-guide-release { grid-template-columns: 1fr; gap:8px; }.sfmg-guide-release .sfmg-release-countdown { min-width:0; }
		body.sfmg-single-movie .sfmg-article-hero .single-featured-image img { min-height: 210px; }
	body.sfmg-movie-archive :is(#category-title-section,#tag-title-section) { margin: 0 0 20px; }
}
@media (max-width: 991px) and (min-width: 768px) {
	body.sfmg-movie-archive #posts-container.posts-items { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 420px) {
	.sfmg-score-summary { align-items: flex-start; gap: 16px; }
	.sfmg-score-number { font-size: 50px; }
	.sfmg-score-number small { font-size: 16px; }
	.sfmg-score-heading { gap: 10px; }
	.sfmg-score-heading img { width: 45px; height: 45px; }
}
@media (prefers-reduced-motion: reduce) {
	body.sfmg-design-active :is(.sfmg-movie-card,.sfmg-card-link,.sfmg-ranking *,#footer *) { transition: none !important; }
}
