/**
 * Rasa June global typography system.
 *
 * Headings: Noto Serif Display.
 * Main paragraph copy: Inter Light (300), 16px / 1.65.
 * Navigation and interface text retain their own purposeful sizing.
 * Buttons and editorial eyebrow / label text: Courier Prime 400.
 * Component-specific Elementor controls remain available for exceptions.
 *
 * Typography declarations intentionally do not use !important. They are
 * defaults only: Elementor Global Fonts and each widget's Typography control
 * must win when the editor explicitly chooses another font, size or weight.
 */

:root {
	--rj-font-display: "Noto Serif Display", Georgia, serif;
	--rj-font-body: "Inter", Arial, sans-serif;
	--rj-font-button: "Inter", Arial, sans-serif;
	--rj-weight-display: 300;
	--rj-weight-body: 300;
	--rj-weight-subheading: 300;
	--rj-weight-ui: 400;
	--rj-weight-button: 400;
	--rj-body-line: 1.65;
	--rj-paragraph-gap: 16px;
	--rj-h1-size: 64px;
	--rj-h2-size: 48px;
	--rj-h3-size: 30px;
	--rj-body-size: 16px;
	--rj-editorial-number-size: 16px;
	--rj-editorial-section-size: 48px;
	--rj-editorial-item-size: 30px;
	--rj-editorial-copy-size: var(--rj-body-size);
}

/*
 * Optional unified system controlled from:
 * Appearance → Customize → Rasa June Typography.
 *
 * The stronger declarations are intentional: old Elementor documents contain
 * scattered instance-level typography values. The Customizer becomes the one
 * editable source of truth. Turning off the Customizer master switch removes
 * .rj-unified-type and restores the individual Elementor values.
 */
:where(body.rj-unified-type #content) .elementor-widget-text-editor p,
:where(body.rj-unified-type #content) .e-paragraph-base,
:where(body.rj-unified-type #content) .elementor-icon-box-description,
:where(body.rj-unified-type #content) .elementor-image-box-description,
:where(body.rj-unified-type #content) .rjp-process__intro,
:where(body.rj-unified-type #content) .rjp-process__description,
:where(body.rj-unified-type #content) .rjab-block__item-text,
:where(body.rj-unified-type #content) .rjfaq__intro,
:where(body.rj-unified-type #content) .rjfaq__answer,
:where(body.rj-unified-type #content) .rjfaq__answer p,
:where(body.rj-unified-type #content) .rjcs-hero__description,
:where(body.rj-unified-type #content) .rjcs-edtext__paragraph,
:where(body.rj-unified-type #content) .rjcs-results__text,
:where(body.rj-unified-type #content) .rjcs-testimonial__quote {
	font-family: var(--rj-font-body);
	font-size: var(--rj-body-size);
	font-weight: var(--rj-weight-body);
	line-height: var(--rj-body-line);
}

:where(body.rj-unified-type #content) .elementor-widget-text-editor p:not(:last-child),
:where(body.rj-unified-type #content) .rjfaq__answer p:not(:last-child),
:where(body.rj-unified-type #content) .rjcs-edtext__paragraph:not(:last-child),
:where(body.rj-unified-type #content) .rjcs-results__text:not(:last-child) {
	margin-bottom: var(--rj-paragraph-gap);
}

:where(body.rj-unified-type #content) .elementor-widget-heading h1.elementor-heading-title,
:where(body.rj-unified-type #content) .rjcs-hero__title {
	font-family: var(--rj-font-display);
	font-size: var(--rj-h1-size);
	font-weight: var(--rj-weight-display);
	line-height: 1.1;
	letter-spacing: -0.02em;
}

:where(body.rj-unified-type #content) .elementor-widget-heading h2.elementor-heading-title,
:where(body.rj-unified-type #content) .rjp-process__heading,
:where(body.rj-unified-type #content) .rjab-block__heading,
:where(body.rj-unified-type #content) .rjfaq__heading,
:where(body.rj-unified-type #content) .rjcs-edtext__heading,
:where(body.rj-unified-type #content) .rjcs-results__heading {
	font-family: var(--rj-font-display);
	font-size: var(--rj-h2-size);
	font-weight: var(--rj-weight-display);
	line-height: 1.16;
	letter-spacing: -0.015em;
}

:where(body.rj-unified-type #content) .elementor-widget-heading h3.elementor-heading-title,
:where(body.rj-unified-type #content) .elementor-icon-box-title,
:where(body.rj-unified-type #content) .elementor-image-box-title,
:where(body.rj-unified-type #content) .rjp-process__title,
:where(body.rj-unified-type #content) .rjab-block__item-heading,
:where(body.rj-unified-type #content) .rjfaq__row-heading,
:where(body.rj-unified-type #content) .rjcs-nextproject__title {
	font-family: var(--rj-font-display);
	font-size: var(--rj-h3-size);
	font-weight: var(--rj-weight-subheading);
	line-height: 1.25;
	letter-spacing: -0.01em;
}

/* FAQ questions deliberately use Inter on every viewport. They are actions,
 * not section headings; the serif is reserved for the FAQ category heading. */
:where(body.rj-unified-type #content) .rjfaq__question-text {
	font-family: var(--rj-font-body);
	font-size: var(--rj-h3-size);
	font-weight: 400;
	line-height: 1.35;
	letter-spacing: normal;
}

/* These four principles are semantic H2s but visually behave as item titles. */
:where(body.rj-unified-type:is(.page-id-2232, .page-id-4536, .page-id-4592) #content) .elementor-element-a29b1de :is(h2, h3).elementor-heading-title,
:where(body.rj-unified-type:is(.page-id-2232, .page-id-4536, .page-id-4592) #content) .elementor-element-c7cacb2 :is(h2, h3).elementor-heading-title,
:where(body.rj-unified-type:is(.page-id-2232, .page-id-4536, .page-id-4592) #content) .elementor-element-455def9 :is(h2, h3).elementor-heading-title,
:where(body.rj-unified-type:is(.page-id-2232, .page-id-4536, .page-id-4592) #content) .elementor-element-798cd37 :is(h2, h3).elementor-heading-title {
	font-size: var(--rj-h3-size);
	font-weight: var(--rj-weight-subheading);
	line-height: 1.25;
	letter-spacing: -0.01em;
}

body,
body p,
body li,
body input,
body textarea,
body select,
body label {
	font-family: var(--rj-font-body);
	font-weight: var(--rj-weight-body);
}

body nav a {
	font-family: var(--rj-font-body);
	font-weight: var(--rj-weight-ui);
}

/* Deliberate editorial labels remain the third, accent typeface. */
body .rjcs-hero__eyebrow,
body .rjcs-edtext__eyebrow,
body .rjcs-nextproject__eyebrow,
body .rjcs-results__eyebrow,
body .e-f3fc815-a17eae4 {
	font-family: "Courier Prime", monospace;
	font-weight: 400;
}

body .elementor-widget-text-editor p,
body .e-paragraph-base,
body .elementor-icon-box-description,
body .elementor-image-box-description,
body .rjfaq__answer,
body .rjfaq__answer p,
body .rjab-block__item-text,
body .rjcs-hero__description,
body .rjcs-edtext__paragraph {
	font-family: var(--rj-font-body);
	font-size: var(--rj-body-size);
	font-weight: var(--rj-weight-body);
	line-height: 1.65;
}

body button,
body .elementor-button,
body .wpforms-submit {
	font-family: var(--rj-font-button);
	font-size: 16px;
	font-weight: var(--rj-weight-button);
	line-height: 1;
}

body .elementor-widget-heading h1.elementor-heading-title {
	font-family: var(--rj-font-display);
	font-size: var(--rj-h1-size);
	font-weight: var(--rj-weight-display);
	line-height: 1.1;
	letter-spacing: -0.02em;
}

body .elementor-widget-heading h2.elementor-heading-title {
	font-family: var(--rj-font-display);
	font-size: var(--rj-h2-size);
	font-weight: var(--rj-weight-display);
	line-height: 1.16;
	letter-spacing: -0.015em;
}

body .elementor-widget-heading h3.elementor-heading-title,
body .elementor-icon-box-title,
body .elementor-image-box-title {
	font-family: var(--rj-font-display);
	font-size: var(--rj-h3-size);
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: -0.01em;
}

/* Correct semantic H2s that intentionally retain compact visual styling. */
body:is(.page-id-2232, .page-id-4536, .page-id-4592) .elementor-element-a29b1de :is(h2, h3).elementor-heading-title,
body:is(.page-id-2232, .page-id-4536, .page-id-4592) .elementor-element-c7cacb2 :is(h2, h3).elementor-heading-title,
body:is(.page-id-2232, .page-id-4536, .page-id-4592) .elementor-element-455def9 :is(h2, h3).elementor-heading-title,
body:is(.page-id-2232, .page-id-4536, .page-id-4592) .elementor-element-798cd37 :is(h2, h3).elementor-heading-title {
	font-size: 26px;
	font-weight: 400;
	line-height: 1.3;
}

/* Rasa June custom-widget hierarchy. Sizes remain controlled in Elementor. */
body .rjcs-hero__title,
body .rjcs-edtext__heading,
body .rjcs-nextproject__title,
body .rjab-block__heading,
body .rjab-block__item-heading,
body .rjfaq__heading,
body .rjfaq__row-heading,
body .rjfaq__question-text {
	font-family: var(--rj-font-display);
}

body .rjcs-hero__title,
body .rjcs-edtext__heading,
body .rjcs-nextproject__title,
body .rjab-block__heading,
body .rjfaq__heading {
	font-weight: var(--rj-weight-display);
}

body .rjab-block__item-heading,
body .rjfaq__row-heading,
body .rjfaq__question-text {
	font-weight: 400;
}

/* Shared editorial hierarchy for repeated Rasa June systems.
 * These are defaults, not locks: no !important is used, so an explicit
 * Elementor Typography choice can still override any individual widget. */
body .rjp-process__number,
body .rjab-block__number,
body .rjfaq__eyebrow {
	font-family: var(--rj-font-display);
	font-size: var(--rj-editorial-number-size);
	font-weight: var(--rj-weight-display);
	line-height: 1.2;
	letter-spacing: 0.04em;
}

/* One strict number style across FAQ, Process and Argument Block. The global
 * Customizer remains the single editable source for the display font/weight. */
:where(body.rj-unified-type #content) .rjp-process__number,
:where(body.rj-unified-type #content) .rjab-block__number,
:where(body.rj-unified-type #content) .rjfaq__eyebrow {
	font-family: var(--rj-font-display);
	font-size: var(--rj-editorial-number-size);
	font-weight: var(--rj-weight-display);
	line-height: 1.2;
	letter-spacing: 0.04em;
}

body .rjp-process__heading,
body .rjab-block__heading,
body .rjfaq__heading {
	font-family: var(--rj-font-display);
	font-size: var(--rj-editorial-section-size);
	font-weight: var(--rj-weight-display);
	line-height: 1.16;
	letter-spacing: -0.015em;
}

body .rjp-process__title,
body .rjab-block__item-heading,
body .rjfaq__row-heading,
body .rjfaq__question-text {
	font-family: var(--rj-font-display);
	font-size: var(--rj-editorial-item-size);
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: -0.01em;
}

body .rjp-process__intro,
body .rjp-process__description,
body .rjab-block__item-text,
body .rjfaq__intro,
body .rjfaq__answer,
body .rjfaq__answer p {
	font-family: var(--rj-font-body);
	font-size: var(--rj-editorial-copy-size);
	font-weight: var(--rj-weight-body);
	line-height: 1.65;
}

@media (max-width: 1024px) {
	:root {
		--rj-h1-size: 56px;
		--rj-h2-size: 42px;
		--rj-h3-size: 28px;
		--rj-editorial-number-size: 15px;
		--rj-editorial-section-size: 42px;
		--rj-editorial-item-size: 27px;
		--rj-editorial-copy-size: var(--rj-body-size);
	}

	:where(body.rj-unified-type #content) .rjfaq__question-text {
		font-size: 24px;
	}
}

@media (max-width: 767px) {
	:root {
		--rj-h1-size: 44px;
		--rj-h2-size: 36px;
		--rj-h3-size: 26px;
		--rj-editorial-number-size: 14px;
		--rj-editorial-section-size: 36px;
		--rj-editorial-item-size: 24px;
		--rj-editorial-copy-size: var(--rj-body-size);
	}

	:where(body.rj-unified-type #content) .rjfaq__question-text {
		font-size: 21px;
		line-height: 1.4;
	}

	body .elementor-widget-heading h1.elementor-heading-title,
	body .elementor-widget-heading h2.elementor-heading-title,
	body .elementor-widget-heading h3.elementor-heading-title,
	body .elementor-icon-box-title,
	body .elementor-image-box-title {
		letter-spacing: normal;
	}

	body .rjp-process__heading,
	body .rjab-block__heading,
	body .rjfaq__heading,
	body .rjp-process__title,
	body .rjab-block__item-heading,
	body .rjfaq__row-heading,
	body .rjfaq__question-text {
		letter-spacing: normal;
	}
}


/* ---------------------------------------------------------------------------
 * Om meg (page 1066) - heading semantics vs. visual styling
 *
 * The heading tags on this page were corrected so the outline runs
 * H1 -> H2 -> H3 without skipping a level, and so the decorative numbers are
 * not headings any more. Type styles on this site are driven by the tag name,
 * so every element whose tag changed gets its ORIGINAL tag's type styles back
 * here. Only the underlying HTML element changes - the design does not.
 * !important is needed because the tag-based rules above are more specific.
 * ------------------------------------------------------------------------- */

/* Was H3, now H2: keep the H3 type scale. */
body .elementor-element-2b081a8 .elementor-heading-title {
	font-size: var(--rj-h3-size) !important;
	line-height: 1.25 !important;
	letter-spacing: -0.01em !important;
}

/* Was H3, now H2. The font size comes from the widget itself, so only the
 * tag-derived line-height and letter-spacing have to be restored. */
body .elementor-element-2d55cb4 .elementor-heading-title {
	line-height: 1.25 !important;
	letter-spacing: -0.01em !important;
}

/* Section numbers 01. / 02. / 03. are decorative, so they are plain divs now.
 * They still have to look exactly like the H3 they used to be. */
body .elementor-element-17e82e9 .elementor-heading-title,
body .elementor-element-4b6cb49 .elementor-heading-title,
body .elementor-element-2ffc7bd .elementor-heading-title {
	font-size: var(--rj-h3-size) !important;
	line-height: 1.25 !important;
	letter-spacing: -0.01em !important;
	color: #1d262b !important;
}

/* Was H4, now H3: keep the H4 type scale, including its two breakpoints. */
body .elementor-element-e675e0c .elementor-heading-title,
body .elementor-element-af129e5 .elementor-heading-title,
body .elementor-element-f75a4d7 .elementor-heading-title,
body .elementor-element-910464c .elementor-heading-title {
	font-size: 1.5rem !important;
	line-height: 1.2em !important;
	letter-spacing: normal !important;
}

@media (max-width: 921px) {
	body .elementor-element-e675e0c .elementor-heading-title,
	body .elementor-element-af129e5 .elementor-heading-title,
	body .elementor-element-f75a4d7 .elementor-heading-title,
	body .elementor-element-910464c .elementor-heading-title {
		font-size: 1.375rem !important;
	}
}

@media (max-width: 544px) {
	body .elementor-element-e675e0c .elementor-heading-title,
	body .elementor-element-af129e5 .elementor-heading-title,
	body .elementor-element-f75a4d7 .elementor-heading-title,
	body .elementor-element-910464c .elementor-heading-title {
		font-size: 1.25rem !important;
	}
}

/* The site drops heading letter-spacing on phones; keep that behaviour. */
@media (max-width: 767px) {
	body .elementor-element-2b081a8 .elementor-heading-title,
	body .elementor-element-2d55cb4 .elementor-heading-title,
	body .elementor-element-17e82e9 .elementor-heading-title,
	body .elementor-element-4b6cb49 .elementor-heading-title,
	body .elementor-element-2ffc7bd .elementor-heading-title {
		letter-spacing: normal !important;
	}
}

/* ---------------------------------------------------------------------------
 * Personvern (page 3203) - long-form legal text
 *
 * Scoped to this one page id, so nothing here can reach any other page.
 * Reuses the site's own type scale, the 860px editorial measure and the
 * 1px #d8d8d3 rule already used by the Editorial Text widget. No cards,
 * icons, shadows or gradients - just a comfortable column of text.
 * ------------------------------------------------------------------------- */

body.page-id-3203 .entry-content {
	width: 100%;
	max-width: 860px;
	margin-left: auto;
	margin-right: auto;
}

body.page-id-3203 .entry-content > * {
	max-width: 100%;
}

/* Page title - same scale as the other text pages on the site. */
body.page-id-3203 .entry-content h1 {
	margin: 0 0 16px;
	font-size: 60px;
	line-height: 1.1;
	letter-spacing: -0.02em;
	font-weight: 300;
}

body.page-id-3203 .entry-content .rj-legal-updated {
	margin: 0 0 32px;
	font-size: 14px;
	opacity: 0.7;
}

body.page-id-3203 .entry-content .rj-legal-intro {
	margin: 0;
}

/* Section headings. */
body.page-id-3203 .entry-content h2 {
	margin: 0 0 20px;
	font-size: var(--rj-h3-size);
	line-height: 1.25;
	letter-spacing: -0.01em;
}

/* Body copy and lists follow the site's reading rhythm at every width. */
body.page-id-3203 .entry-content p,
body.page-id-3203 .entry-content li {
	font-size: 16px;
	line-height: 1.65;
	font-weight: 300;
}

body.page-id-3203 .entry-content p {
	margin: 0 0 16px;
}

body.page-id-3203 .entry-content p:last-child {
	margin-bottom: 0;
}

body.page-id-3203 .entry-content ul {
	margin: 0 0 16px;
	padding-left: 20px;
	list-style: disc;
}

body.page-id-3203 .entry-content ul li {
	margin: 0 0 6px;
}

body.page-id-3203 .entry-content a {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Thin rule between the main sections - same token as the editorial blocks.
 * The core separator block ships a 100px width, hence the override. */
body.page-id-3203 .entry-content hr.wp-block-separator {
	width: 100% !important;
	max-width: 100% !important;
	height: 1px;
	margin: 48px 0;
	border: 0;
	background-color: #d8d8d3;
	opacity: 1;
}

@media (max-width: 1024px) {
	body.page-id-3203 .entry-content h1 {
		font-size: 50px;
	}
}

@media (max-width: 767px) {
	body.page-id-3203 .entry-content h1 {
		margin-bottom: 12px;
		font-size: 40px;
		letter-spacing: normal;
	}

	body.page-id-3203 .entry-content h2 {
		margin-bottom: 16px;
		letter-spacing: normal;
	}

	body.page-id-3203 .entry-content hr.wp-block-separator {
		margin: 36px 0;
	}
}
