/*
 * MR News Pro frontend foundation.
 *
 * Feature modules should consume these design tokens instead of hardcoding
 * shared visual values. Runtime values are resolved by Design\Tokens.
 */
:root {
	--mrnp-color-primary: #c1121f;
	--mrnp-color-primary-hover: #9f0e19;
	--mrnp-color-heading: #101828;
	--mrnp-color-text: #344054;
	--mrnp-color-muted: #667085;
	--mrnp-color-surface: #ffffff;
	--mrnp-color-surface-soft: #f9fbfd;
	--mrnp-color-background: #f8fafc;
	--mrnp-color-border: #e4e7ec;
	--mrnp-color-on-accent: var(--mrnp-button-text, #ffffff);
	--mrnp-color-section-label: color-mix(in srgb, var(--mrnp-color-heading) 64%, var(--mrnp-color-surface));
	--mrnp-color-rule: var(--mrnp-color-border);
	--mrnp-color-deep-surface: color-mix(in srgb, var(--mrnp-color-heading) 78%, #000000);
	--mrnp-font-body: "Noto Serif Bengali", serif;
	--mrnp-font-heading: "Noto Serif Bengali", serif;
	--mrnp-font-size-base: 16px;
	--mrnp-line-height-base: 1.7;
	--mrnp-heading-weight: 700;
	--mrnp-heading-line-height: 1.25;
	--mrnp-font-size-section-heading: 20px;
	--mrnp-line-height-section-heading: 1.25;
	--mrnp-font-size-lead-heading: 32px;
	--mrnp-line-height-lead-heading: 1.25;
	--mrnp-font-size-featured-heading: 22px;
	--mrnp-line-height-featured-heading: 1.25;
	--mrnp-font-size-normal-heading: 18px;
	--mrnp-line-height-normal-heading: 1.25;
	--mrnp-font-size-single-heading: 48px;
	--mrnp-line-height-single-heading: 1.25;
	--mrnp-font-size-main-menu: 17px;
	--mrnp-line-height-main-menu: 1;
	--mrnp-font-size-news-ticker: 14px;
	--mrnp-line-height-news-ticker: 1.7;
	--mrnp-content-width: 1200px;
	--mrnp-content-gutter: 20px;
	--mrnp-sidebar-width: 340px;
	--mrnp-space-unit: 4px;
	--mrnp-space-section: 64px;
	--mrnp-space-block: 24px;
	--mrnp-space-half-unit: 2px;
	--mrnp-space-xs: calc(var(--mrnp-space-unit) + var(--mrnp-space-unit));
	--mrnp-space-sm: calc(var(--mrnp-space-xs) + var(--mrnp-space-unit));
	--mrnp-space-md: calc(var(--mrnp-space-xs) + var(--mrnp-space-xs));
	--mrnp-space-xl: calc(var(--mrnp-space-block) + var(--mrnp-space-xs));
	--mrnp-space-block-plus-half: calc(var(--mrnp-space-block) + var(--mrnp-space-half-unit));
	--mrnp-space-block-plus-unit: calc(var(--mrnp-space-block) + var(--mrnp-space-unit));
	--mrnp-space-block-plus-unit-half: calc(var(--mrnp-space-block) + var(--mrnp-space-unit) + var(--mrnp-space-half-unit));
	--mrnp-space-block-plus-xs-half: calc(var(--mrnp-space-block) + var(--mrnp-space-xs) + var(--mrnp-space-half-unit));
	--mrnp-space-block-plus-sm: calc(var(--mrnp-space-block) + var(--mrnp-space-sm));
	--mrnp-space-block-plus-sm-half: calc(var(--mrnp-space-block) + var(--mrnp-space-sm) + var(--mrnp-space-half-unit));
	--mrnp-space-block-plus-md: calc(var(--mrnp-space-block) + var(--mrnp-space-md));
	--mrnp-space-block-plus-md-unit: calc(var(--mrnp-space-block) + var(--mrnp-space-md) + var(--mrnp-space-unit));
	--mrnp-space-block-minus-unit-half: calc(var(--mrnp-space-block) - var(--mrnp-space-unit) - var(--mrnp-space-half-unit));
	--mrnp-space-section-compact: calc(var(--mrnp-space-section) - var(--mrnp-space-md) - var(--mrnp-space-unit));
	--mrnp-space-section-medium: calc(var(--mrnp-space-section) - var(--mrnp-space-md));
	--mrnp-space-section-tight: calc(var(--mrnp-space-section) - var(--mrnp-space-xs));
	--mrnp-space-section-loose: calc(var(--mrnp-space-section) + var(--mrnp-space-md));
	--mrnp-container-gutter: var(--mrnp-content-gutter);
	--mrnp-button-bg: #c1121f;
	--mrnp-button-bg-hover: #9f0e19;
	--mrnp-button-text: #ffffff;
	--mrnp-button-radius: 6px;
	--mrnp-button-padding: 11px 18px;
	--mrnp-button-weight: 600;
	--mrnp-card-bg: #ffffff;
	--mrnp-card-border: #e4e7ec;
	--mrnp-card-radius: 10px;
	--mrnp-card-padding: 20px;
	--mrnp-card-shadow: 0 4px 18px rgba(16, 24, 40, .06);
	/* Phase 3: shared component aliases. These inherit the dashboard-controlled button/card system. */
	--mrnp-component-bg: var(--mrnp-card-bg);
	--mrnp-component-border: var(--mrnp-card-border);
	--mrnp-component-radius: var(--mrnp-card-radius);
	--mrnp-component-padding: var(--mrnp-card-padding);
	--mrnp-component-shadow: var(--mrnp-card-shadow);
	--mrnp-control-radius: var(--mrnp-button-radius);
	--mrnp-section-header-bg: var(--mrnp-color-section-label);
	--mrnp-section-header-color: var(--mrnp-color-on-accent);
	--mrnp-section-header-rule: var(--mrnp-color-rule);
	--mrnp-meta-bg: color-mix(in srgb, var(--mrnp-card-bg) 78%, var(--mrnp-color-surface-soft));
	--mrnp-widget-bg: var(--mrnp-card-bg);
	--mrnp-widget-border: var(--mrnp-card-border);
	--mrnp-widget-radius: var(--mrnp-card-radius);
	--mrnp-widget-shadow: var(--mrnp-card-shadow);
	--mrnp-motion-quick: .14s;
	--mrnp-motion-fast: .16s;
	--mrnp-motion-standard: .18s;
	--mrnp-motion-medium: .22s;
	--mrnp-motion-drawer: .24s;
	--mrnp-motion-image: .35s;
	--mrnp-motion-ticker-name: mrnp-news-ticker;
	--mrnp-motion-ticker-duration: 34s;
}

body.mrnp-motion-disabled {
	--mrnp-motion-quick: 0s;
	--mrnp-motion-fast: 0s;
	--mrnp-motion-standard: 0s;
	--mrnp-motion-medium: 0s;
	--mrnp-motion-drawer: 0s;
	--mrnp-motion-image: 0s;
	--mrnp-motion-ticker-name: none;
}

@media (prefers-reduced-motion: reduce) {
	:root {
		--mrnp-motion-quick: 0s;
		--mrnp-motion-fast: 0s;
		--mrnp-motion-standard: 0s;
		--mrnp-motion-medium: 0s;
		--mrnp-motion-drawer: 0s;
		--mrnp-motion-image: 0s;
		--mrnp-motion-ticker-name: none;
	}
}

*, *::before, *::after { box-sizing: border-box; }
html { font-size: var(--mrnp-font-size-base); }
body {
	margin: 0;
	color: var(--mrnp-color-text);
	background: #fff;
	font-family: var(--mrnp-font-body);
	font-size: 1rem;
	line-height: var(--mrnp-line-height-base);
}
h1, h2, h3, h4, h5, h6 {
	color: var(--mrnp-color-heading);
	font-family: var(--mrnp-font-heading);
	font-weight: var(--mrnp-heading-weight);
	line-height: var(--mrnp-heading-line-height);
}
a { color: var(--mrnp-color-primary); }
a:hover { color: var(--mrnp-color-primary-hover); }

.mrnp-container {
	width: min(calc(100% - (var(--mrnp-container-gutter) * 2)), var(--mrnp-content-width));
	margin-inline: auto;
}

@media (max-width: 900px) {
	:root { --mrnp-container-gutter: min(var(--mrnp-content-gutter), 16px); }
}
@media (max-width: 620px) {
	:root { --mrnp-container-gutter: min(var(--mrnp-content-gutter), 12px); }
}

.mrnp-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: var(--mrnp-button-padding);
	border: 0;
	border-radius: var(--mrnp-button-radius);
	background: var(--mrnp-button-bg);
	color: var(--mrnp-button-text);
	font: inherit;
	font-weight: var(--mrnp-button-weight);
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
}
.mrnp-button:hover,
.mrnp-button:focus-visible {
	background: var(--mrnp-button-bg-hover);
	color: var(--mrnp-button-text);
}

.mrnp-card {
	padding: var(--mrnp-card-padding);
	border: 1px solid var(--mrnp-card-border);
	border-radius: var(--mrnp-card-radius);
	background: var(--mrnp-card-bg);
	box-shadow: var(--mrnp-card-shadow);
}

/* v1.1.8 — Premium editorial layout for standard WordPress Pages only. */
body.page .mrnp-standard-page{
  --mrnp-page-ink:#15243b;
  --mrnp-page-muted:#52617a;
  --mrnp-page-border:#e7ecf3;
  background:linear-gradient(180deg,#f6f8fc 0,#ffffff 330px);
  padding:clamp(32px,5vw,72px) 16px clamp(56px,7vw,100px);
  min-height:58vh;
}
body.page .mrnp-standard-page .mrnp-container{max-width:1200px;margin-inline:auto}
body.page .mrnp-standard-page__article{
  max-width:940px;
  margin:0 auto;
  padding:clamp(26px,4.5vw,64px);
  background:#fff;
  border:1px solid var(--mrnp-page-border);
  border-radius:16px;
  box-shadow:0 16px 55px rgba(18,39,75,.055);
}
body.page .mrnp-standard-page__header{
  margin:0 0 clamp(25px,4vw,42px);
  padding:0 0 clamp(20px,3vw,28px);
  border-bottom:1px solid var(--mrnp-page-border);
  position:relative;
}
body.page .mrnp-standard-page__header::after{
  content:"";position:absolute;left:0;bottom:-1px;
  width:58px;height:3px;background:#b41628;border-radius:5px;
}
body.page .mrnp-standard-page__title{
  margin:0;max-width:100%;font-family:Inter,"Noto Serif Bengali",Georgia,serif;
  color:var(--mrnp-page-ink);font-size:clamp(29px,3.2vw,42px);
  font-weight:750;letter-spacing:-.035em;line-height:1.23;
  text-decoration:none;overflow-wrap:break-word;
}
body.page .mrnp-standard-page__content{
  color:#344257;font-size:16px;line-height:1.95;
  font-family:Inter,"Noto Serif Bengali",Georgia,serif;
  overflow-wrap:break-word;
}
body.page .mrnp-standard-page__content > :first-child{margin-top:0}
body.page .mrnp-standard-page__content > :last-child{margin-bottom:0}
body.page .mrnp-standard-page__content :is(h2,h3,h4,h5,h6){
  color:var(--mrnp-page-ink);font-weight:750;line-height:1.42;
  letter-spacing:-.015em;margin:2em 0 .75em;
}
body.page .mrnp-standard-page__content h2{font-size:clamp(21px,2vw,26px)}
body.page .mrnp-standard-page__content h3{font-size:clamp(18px,1.7vw,22px)}
body.page .mrnp-standard-page__content :is(h4,h5,h6){font-size:17px}
body.page .mrnp-standard-page__content p{margin:0 0 1.15em}
body.page .mrnp-standard-page__content :is(ul,ol){
  margin:0 0 1.5em;padding-left:1.55em;list-style-position:outside;
}
body.page .mrnp-standard-page__content li{margin:.35em 0;padding-left:.15em}
body.page .mrnp-standard-page__content li::marker{color:#b41628}
body.page .mrnp-standard-page__content a{
  color:#087e84;text-decoration:underline;text-decoration-color:rgba(8,126,132,.3);
  text-underline-offset:3px;transition:color .15s ease;
}
body.page .mrnp-standard-page__content a:hover{color:#b41628}
body.page .mrnp-standard-page__content :is(blockquote,.wp-block-quote){
  margin:1.8em 0;padding:18px 22px;background:#f6f8fb;
  border-left:3px solid #b41628;border-radius:0 9px 9px 0;
}
body.page .mrnp-standard-page__content :is(img,video,iframe){max-width:100%}
body.page .mrnp-standard-page__content img{height:auto;border-radius:8px}
body.page .mrnp-standard-page__content :is(table,.wp-block-table){max-width:100%;overflow-x:auto}
body.page .mrnp-standard-page__content table{width:100%;border-collapse:collapse}
body.page .mrnp-standard-page__content :is(th,td){padding:12px;border:1px solid var(--mrnp-page-border);text-align:left}
body.page .mrnp-standard-page__content th{background:#f6f8fc}
body.page .mrnp-standard-page__content :is(pre,code){overflow-wrap:anywhere}
body.page .mrnp-standard-page__content pre{overflow-x:auto}
@media(max-width:767px){
  body.page .mrnp-standard-page{padding:20px 12px 50px}
  body.page .mrnp-standard-page__article{padding:25px 20px;border-radius:12px;box-shadow:0 8px 30px rgba(18,39,75,.04)}
  body.page .mrnp-standard-page__title{font-size:clamp(26px,7vw,32px)}
  body.page .mrnp-standard-page__content{font-size:15px;line-height:1.85}
  body.page .mrnp-standard-page__content :is(h2,h3){margin-top:1.65em}
}
@media(max-width:390px){
  body.page .mrnp-standard-page{padding-inline:8px}
  body.page .mrnp-standard-page__article{padding:22px 16px}
}
