/*
 * Emitrix theme: content and site chrome styles.
 * Typography utilities (lead, eyebrow, text link), the language switch, header and footer refinements, the
 * newsletter card, and the page sections authored with core blocks (development, FAQ, application pages,
 * safety, contact). Loaded before the block styles of Emitrix Core and before site.css (inc/enqueue.php).
 * Moved here from Emitrix Core 1.4.21 assets/blocks.css in theme 2.0 without changing a declaration.
 */
.emx-lead { font-size: 1.1875rem; line-height: 1.55; color: var(--emx-text-muted, #9BA39D); max-width: 60ch; }
.emx-eyebrow { display: flex; align-items: center; gap: 12px; font-size: .875rem; font-weight: 500; color: var(--emx-text, #EDEFEC); margin: 0 0 16px; }
.emx-eyebrow::before { content: ""; width: 32px; height: 3px; background: var(--emx-accent-ink, #5AFF00); flex: none; }
.emx-textlink { display: inline-flex; align-items: center; gap: 8px; color: var(--emx-accent-ink, #5AFF00); font-weight: 600; text-decoration: none; min-height: 24px; }
.emx-textlink:hover { text-decoration: underline; text-underline-offset: 4px; }
.emx-textlink .emx-icon { transition: transform 150ms var(--emx-ease-out); }
.emx-textlink:hover .emx-icon { transform: translateX(3px); }
.emx-icon { flex: none; }
/* ---------- language switch ---------- */
.emx-lang { display: inline-flex; border: 1px solid var(--emx-line-strong, #5C655E); border-radius: 999px; padding: 2px; }
.emx-lang a { display: inline-grid; place-items: center; min-width: 40px; min-height: 36px; border-radius: 999px; color: var(--emx-text-muted, #9BA39D); text-decoration: none; font-size: .8125rem; font-weight: 600; }
.emx-lang a abbr { text-decoration: none; }
.emx-lang a[aria-current="true"] { background: var(--emx-surface-2, #1A1E1B); color: var(--emx-text, #EDEFEC); }
/* ---------- home: development (#utveckling) ---------- */
.emx-dev .emx-dev__head { align-items: flex-end !important; gap: clamp(16px, 4vw, 72px); margin: 0 !important; padding-bottom: clamp(28px, 4vw, 56px); }
.emx-dev .emx-dev__head h2 { margin: 0; font-size: clamp(2.125rem, 1.3rem + 2.8vw, 3.75rem); line-height: 1.04; letter-spacing: -.015em; }
.emx-dev .emx-dev__head .emx-lead { margin: 0 0 14px; color: var(--emx-text, #EDEFEC); }
.emx-dev .emx-dev__head .emx-lead + p { margin: 0; color: var(--emx-text-muted, #9BA39D); max-width: 60ch; }
.emx-dev__cards { gap: 16px !important; margin: 0 !important; padding-bottom: clamp(48px, 7vw, 96px); }
.emx-dev__card { position: relative; box-sizing: border-box; height: 100%; margin: 0; padding: clamp(24px, 3vw, 40px); background: var(--emx-bg, #0B0D0C); border: 1px solid var(--emx-line, #262B27); border-radius: var(--emx-r-media, 16px); overflow: hidden; }
.emx-dev__card::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: linear-gradient(90deg, var(--emx-accent-ink, #5AFF00), transparent 72%); }
.emx-dev__card > * { max-width: 48ch; }
.emx-dev__tag { margin: 0 0 clamp(18px, 3vw, 36px); font-family: var(--emx-font-mono, ui-monospace, monospace); font-size: .8125rem; letter-spacing: .14em; color: var(--emx-accent-ink, #5AFF00); }
.emx-dev__card h3 { margin: 0 0 8px; font-size: clamp(1.25rem, 1rem + .9vw, 1.75rem); line-height: 1.15; }
.emx-dev__card p:last-child { margin: 0; color: var(--emx-text-muted, #9BA39D); }
.emx-dev__steps-h { margin: 0 0 32px; font-family: var(--emx-font-mono, ui-monospace, monospace) !important; font-size: .8125rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--emx-text-muted, #9BA39D); }
.emx-dev__cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 40px; margin-top: clamp(40px, 5vw, 64px); padding-top: clamp(24px, 3vw, 36px); border-top: 1px solid var(--emx-line, #262B27); }
.emx-dev__cta > p { margin: 0; max-width: 56ch; font-size: 1.0625rem; }
.emx-dev__cta .wp-block-buttons { margin: 0; gap: 12px; }
@media (max-width: 781px) { .emx-dev__cards > .wp-block-column + .wp-block-column { margin-top: 0; } }

/* ---------- FAQ page and the questions on the application pages ---------- */
.emx-faq__group { gap: clamp(8px, 4vw, 72px) !important; margin: 0 !important; padding-block: clamp(28px, 4vw, 48px); border-top: 1px solid var(--emx-line, #262B27); }
.emx-section > .alignwide > .emx-faq__group:first-child, .emx-faq__group:first-child { border-top: 0; padding-top: 0; }
.emx-faq__group .wp-block-heading { margin: 0 0 8px; font-size: clamp(1.375rem, 1.05rem + 1.1vw, 2rem); line-height: 1.15; }
.emx-faq__group .wp-block-details:first-child { border-top: 1px solid var(--emx-line, #262B27); }
.emx-faq__group .wp-block-details p { margin-top: 0; }
@media (min-width: 782px) {
	.emx-faq__group > .wp-block-column:first-child { flex: 0 0 34% !important; }
	.emx-faq__group > .wp-block-column:first-child > * { position: sticky; top: calc(var(--emx-header-h, 72px) + 24px); }
	.emx-faq__group .wp-block-details:first-child { border-top: 0; }
	.emx-faq__group .wp-block-details:first-child summary { padding-top: 4px; }
}

/* ---------- Applikationer hub: four doors ---------- */
.emx-doors { display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: clamp(28px, 4vw, 48px); }
@media (min-width: 600px) { .emx-doors { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .emx-doors { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
/* 1.3.0: three areas, three columns from tablet width, every picture 4:3. */
@media (min-width: 600px) { .emx-doors--3 { grid-template-columns: 1fr; } }
@media (min-width: 760px) { .emx-doors--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.emx-door { position: relative; display: flex; flex-direction: column; margin: 0; background: var(--emx-surface, #121513); border: 1px solid var(--emx-line, #262B27); border-radius: var(--emx-r-media, 16px); overflow: hidden; transition: border-color 150ms ease, transform 150ms var(--emx-ease-out); }
.emx-door:hover { border-color: var(--emx-line-strong, #5C655E); }
.emx-door:focus-within { outline: 2px solid var(--emx-focus, #5AFF00); outline-offset: 2px; }
.emx-door .emx-loopvid { margin: 0; }
.emx-door .emx-loopvid__frame { border-radius: 0; }
.emx-door h2 { margin: 20px 22px 8px; font-size: clamp(1.25rem, 1.05rem + .5vw, 1.5rem); line-height: 1.2; }
.emx-door h2 a { color: var(--emx-text, #EDEFEC); text-decoration: none; }
.emx-door h2 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.emx-door h2 a:focus-visible { outline: none; box-shadow: none; }
.emx-door:hover h2 a { text-decoration: underline; text-underline-offset: 4px; }
.emx-door p { margin: 0 22px 24px; color: var(--emx-text-muted, #9BA39D); font-size: 1rem; }

/* ---------- application pages ---------- */
.emx-app-hero { padding-top: clamp(2.5rem, 1.5rem + 3vw, 4.5rem); }
.emx-app-hero__cols { align-items: center !important; gap: clamp(28px, 4vw, 72px) !important; }
.emx-app-hero h1 { margin: 0 0 20px; font-size: clamp(2.125rem, 1.35rem + 2.9vw, 3.75rem); line-height: 1.04; letter-spacing: -.015em; }
.emx-app-hero .emx-lead { margin: 0 0 28px; }
.emx-app-hero .wp-block-buttons { gap: 12px; }
.emx-app-crumb a { color: inherit; text-decoration: none; }
.emx-app-crumb a:hover { text-decoration: underline; text-underline-offset: 4px; }
@media (min-width: 782px) { .emx-app-hero__cols > .wp-block-column:first-child { flex: 1 1 52%; } .emx-app-hero__cols > .wp-block-column:last-child { flex: 1 1 48%; } }

.emx-app-cards { display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 28px; }
@media (min-width: 600px) { .emx-app-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .emx-app-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); } .emx-app-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 600px) and (max-width: 1099px) { .emx-app-cards--3 > :last-child:nth-child(odd) { grid-column: 1 / -1; } }
.emx-app-card { margin: 0; padding: clamp(20px, 2.4vw, 28px); background: var(--emx-surface, #121513); border: 1px solid var(--emx-line, #262B27); border-radius: var(--emx-r-media, 16px); }
.emx-section--surface .emx-app-card { background: var(--emx-bg, #0B0D0C); }
.emx-app-card::before { content: ""; display: block; width: 28px; height: 3px; margin-bottom: 18px; background: var(--emx-accent-ink, #5AFF00); }
.emx-app-card h3 { margin: 0 0 8px; font-size: 1.1875rem; line-height: 1.25; }
.emx-app-card p { margin: 0; font-size: 1rem; color: var(--emx-text-muted, #9BA39D); }
/* Card with a real product photo on top (1.2.0, Försvar och blåljus). */
.emx-app-card--photo { padding: 0; overflow: hidden; }
.emx-app-card--photo::before { display: none; }
.emx-app-card--photo .emx-loopvid { margin: 0; }
.emx-app-card--photo .emx-loopvid__frame { border-radius: 0; }
.emx-app-card--photo h3 { margin: clamp(18px, 2vw, 24px) clamp(20px, 2.4vw, 28px) 8px; }
.emx-app-card--photo p { margin: 0 clamp(20px, 2.4vw, 28px) clamp(20px, 2.4vw, 28px); }

.emx-app-rows > .alignwide > h2 { margin-bottom: clamp(32px, 4vw, 64px); }
.emx-app-row { align-items: center !important; gap: clamp(24px, 4.5vw, 80px) !important; margin: 0 !important; }
.emx-app-row + .emx-app-row { margin-top: clamp(56px, 7vw, 112px) !important; }
@media (min-width: 782px) {
	.emx-app-row > .wp-block-column:first-child { flex: 1 1 56%; }
	.emx-app-row > .wp-block-column:last-child { flex: 1 1 44%; }
	.emx-app-row--flip { flex-direction: row-reverse; }
}
.emx-app-kicker { margin: 0 0 12px; font-family: var(--emx-font-mono, ui-monospace, monospace); font-size: .8125rem; letter-spacing: .1em; text-transform: uppercase; color: var(--emx-accent-ink, #5AFF00); }
.emx-app-num { color: var(--emx-text-muted, #9BA39D); margin-right: 6px; }
.emx-app-row h3 { margin: 0 0 14px; font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.375rem); line-height: 1.08; letter-spacing: -.01em; }
.emx-app-facts { list-style: none; margin: 20px 0 22px !important; padding: 0 !important; border-top: 1px solid var(--emx-line, #262B27); }
.emx-app-facts li { position: relative; margin: 0; padding: 10px 0 10px 22px; border-bottom: 1px solid var(--emx-line, #262B27); font-size: .9375rem; line-height: 1.5; }
.emx-app-facts li::before { content: ""; position: absolute; left: 2px; top: calc(10px + .45em); width: 8px; height: 8px; border-radius: 50%; background: var(--emx-accent-ink, #5AFF00); }

.emx-app-band { margin-block: 0 !important; padding-bottom: var(--emx-section, 6rem); }
.emx-app-band .emx-loopvid__frame { border-radius: var(--emx-r-media, 16px); }

.emx-app-real { align-items: center !important; gap: clamp(24px, 4.5vw, 80px) !important; }
.emx-app-real h2 { margin-top: 0; }
.emx-app-note { margin-top: 24px; padding: 18px 20px; border: 1px solid var(--emx-line-strong, #5C655E); border-left: 3px solid var(--emx-accent-ink, #5AFF00); border-radius: 12px; }
.emx-app-note h3 { margin: 0 0 6px; font-size: 1rem; }
.emx-app-note p { margin: 0; font-size: .9375rem; color: var(--emx-text-muted, #9BA39D); }

.emx-app-products h2 { margin-top: 0; }
.emx-app-split { gap: clamp(28px, 5vw, 96px) !important; }
.emx-app-split h2 { margin-top: 0; }
.emx-app-licence { list-style: none; margin: 0 0 20px !important; padding: 0 !important; display: grid; gap: 12px; }
.emx-app-licence li { margin: 0; padding: 14px 16px; background: var(--emx-surface, #121513); border: 1px solid var(--emx-line, #262B27); border-radius: 12px; font-size: .9375rem; line-height: 1.55; }
.emx-app-licence strong { color: var(--emx-text, #EDEFEC); }
.emx-app-split ol { padding-left: 1.25em; }
.emx-app-split ol li { margin-bottom: 10px; }
/* Grids and lists built from flow-layout groups: no block-gap margins inside them. */
.emx-app-cards > *, .emx-doors > *, .emx-dev__cards .emx-dev__card, .emx-app-licence > li, .emx-app-facts > li { margin-block: 0 !important; }
.emx-app-licence { margin-top: 20px !important; }
.emx-faq__group .wp-block-details { margin-block: 0 !important; }
.emx-faq__group .wp-block-details summary { padding: 16px 0; }
/* Full-width sections follow each other without a strip of page background between them. */
.wp-block-post-content > .alignfull.emx-section + .alignfull.emx-section { margin-block-start: 0; }
/* 1.3.0: application pages teach the use cases; each use case ends with its links (the product, and its shop category). */
.emx-app-links { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 28px; max-width: none !important; }
.emx-app-links .emx-textlink { min-height: 44px; }
.emx-app-card--photo .emx-app-links { margin-top: -8px; }
.emx-textlink { min-height: 44px; }
.emx-app-facts li { font-size: 1rem; }
.emx-app-crumb a { display: inline-flex; align-items: center; min-height: 44px; }
.emx-app-licence li { font-size: 1rem; }
.emx-app-links a, main h3 > a:only-child { display: inline-flex; align-items: center; min-height: 44px; }
main h3 > a:only-child { min-width: 44px; }
/* ---------- header navigation (1.4.2) ---------- */
/* Ten items since Hem, Nyheter and Media joined the header. The theme shows the one-line navigation from 1181 px;
   up to 1299 px the links are a little smaller and tighter so all ten fit next to the logo and the tools. */
@media (min-width: 1181px) and (max-width: 1299px) {
	.emx-header .emx-nav ul { gap: 2px; }
	.emx-header .emx-nav a { padding: 0 7px; font-size: .875rem; }
}
/* ---------- 1.4.3 ---------- */
/* Logo: the logo file is 500 x 200 with about 7.5 % empty space left and 9 % right, so at the theme's 40 px the
   mark was only about 28 px tall. Bigger, with the empty sides pulled in so the 1181-1299 px header still fits
   all ten links (measured spare room there: about 26 px). */
.emx-header .emx-logo .emx-logo__img { height: 56px; margin: 0 -12px 0 -10px; }
@media (min-width: 1440px) { .emx-header .emx-logo .emx-logo__img { height: 64px; margin: 0 -14px 0 -12px; } }
@media (max-width: 767px) { .emx-header .emx-logo .emx-logo__img { height: 46px; margin: 0 -10px 0 -8px; } }
/* No automatic hyphenation: the theme hyphenates paragraphs and list items (p, li, dd { hyphens: auto }), which split
   words such as "tech-nology" in the hero and in the development section. Words now wrap whole; a word longer
   than its box still breaks rather than overflowing. */
body p, body li, body dd, body h1, body h2, body h3, body h4 {
	-webkit-hyphens: manual;
	hyphens: manual;
	overflow-wrap: break-word;
}
/* ---------- 1.4.5 ---------- */
/* Application pages: "Är det farligt?" card instead of the one-line safety note (it sat alone and small in a column). */
.emx-safety { position: relative; box-sizing: border-box; margin: 0; padding: clamp(24px, 3vw, 36px); border: 1px solid color-mix(in srgb, var(--emx-accent-ink, #5AFF00) 28%, var(--emx-line, #262B27)); border-radius: var(--emx-r-media, 16px); background: color-mix(in srgb, var(--emx-accent-ink, #5AFF00) 5%, var(--emx-bg, #0B0D0C)); }
.emx-safety::before { content: ""; display: block; width: 40px; height: 40px; margin: 0 0 18px; background: var(--emx-accent-ink, #5AFF00);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.8l7.2 3v5.4c0 4.6-3 8.5-7.2 10-4.2-1.5-7.2-5.4-7.2-10V5.8z'/%3E%3Cpath d='M8.6 12.2l2.4 2.4 4.6-4.8'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.8l7.2 3v5.4c0 4.6-3 8.5-7.2 10-4.2-1.5-7.2-5.4-7.2-10V5.8z'/%3E%3Cpath d='M8.6 12.2l2.4 2.4 4.6-4.8'/%3E%3C/svg%3E") center / contain no-repeat; }
.emx-safety .emx-safety__h { margin: 0 0 12px; font-size: clamp(1.375rem, 1.1rem + .8vw, 1.75rem); line-height: 1.15; }
.emx-safety p { margin: 0; font-size: 1.0625rem; line-height: 1.55; color: var(--emx-text, #EDEFEC); }
.emx-safety .emx-app-links { margin-top: 16px; }
.wp-block-column > .emx-safety:not(:first-child) { margin-top: 32px; }
/* Footer logo: bigger, with the logo file's empty left side pulled in so it lines up with the text below. */
.emx-footer .emx-logo .emx-logo__img { height: 72px; margin-left: -13px; }
@media (max-width: 767px) { .emx-footer .emx-logo .emx-logo__img { height: 60px; margin-left: -11px; } }
/* Nyheter: show the whole picture (no 3:2 crop), so pictures with text, such as the Defence Expo banner, can be read. */
body.blog .wp-block-post-featured-image, body.single-post .wp-block-post-featured-image, body.archive .wp-block-post-featured-image { aspect-ratio: auto !important; height: auto !important; }
body.blog .wp-block-post-featured-image img, body.single-post .wp-block-post-featured-image img, body.archive .wp-block-post-featured-image img { aspect-ratio: auto !important; height: auto !important; object-fit: contain !important; }
/* Kontakt: the quote form is folded away until the visitor opens it (it opens by itself for #offert links). */
.wp-block-details.emx-offert { box-sizing: border-box; padding: 0 clamp(20px, 3vw, 32px); border: 1px solid var(--emx-line-strong, #5C655E); border-radius: var(--emx-r-media, 16px); background: var(--emx-bg, #0B0D0C); scroll-margin-top: calc(var(--emx-header-h, 72px) + var(--emx-adminbar, 0px) + 16px); }
.wp-block-details.emx-offert > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 44px; padding: clamp(20px, 2.5vw, 28px) 0; font-family: var(--emx-font-display, inherit); font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); font-weight: 600; line-height: 1.15; color: var(--emx-text, #EDEFEC); list-style: none; }
.wp-block-details.emx-offert > summary::after { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--emx-line-strong, #5C655E); border-radius: 50%; font-size: 1.375rem; color: var(--emx-text, #EDEFEC); }
.wp-block-details.emx-offert > summary:hover::after { border-color: var(--emx-accent-ink, #5AFF00); }
.wp-block-details.emx-offert[open] > summary { border-bottom: 1px solid var(--emx-line, #262B27); margin-bottom: 24px; }
.wp-block-details.emx-offert > :not(summary) { color: var(--emx-text, #EDEFEC); }
.wp-block-details.emx-offert > p { color: var(--emx-text-muted, #9BA39D); }
.wp-block-details.emx-offert > :last-child { margin-bottom: clamp(24px, 3vw, 32px); }
/* ---------- 1.4.11: newsletter sign-up (site footer, #nyhetsbrev) ---------- */
/* A card at the top of the footer that floats over the aurora photo, with the Contact Form 7 form (e-mail and a pill
   button on one line, consent under it). Each sign-up is mailed to mail@emitrix.se. */
.emx-nl { grid-column: 1 / -1; position: relative; z-index: 1; display: grid; gap: 24px 56px; box-sizing: border-box; padding: clamp(24px, 4vw, 48px); border: 1px solid color-mix(in srgb, var(--emx-accent-ink, #5AFF00) 32%, var(--emx-line, #262B27)); border-radius: var(--emx-r-signature, 16px 64px 16px 16px); background: radial-gradient(120% 160% at 0% 0%, color-mix(in srgb, var(--emx-accent-ink, #5AFF00) 12%, transparent), transparent 60%), var(--emx-surface, #121513); box-shadow: 0 24px 64px rgba(0, 0, 0, .35); scroll-margin-top: calc(var(--emx-header-h, 72px) + var(--emx-adminbar, 0px) + 24px); }
@media (min-width: 900px) { .emx-nl { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); align-items: center; } }
.emx-footer__band + .emx-footer__inner .emx-nl { margin-top: calc(-1 * clamp(56px, 8vw, 120px)); }
.emx-nl .emx-eyebrow { margin-bottom: 12px; }
.emx-nl .emx-nl__h { margin: 0 0 12px; font-size: clamp(1.5rem, 1.15rem + 1.2vw, 2.25rem); line-height: 1.12; }
.emx-nl__p { margin: 0; color: var(--emx-text-muted, #9BA39D); max-width: 46ch; }
.emx-nl .wpcf7 { margin: 0; }
.emx-nl .wpcf7 form { display: grid; gap: 12px; max-width: none; }
.emx-nl__row { display: flex; gap: 10px; align-items: flex-start; }
.emx-nl .emx-nl__field { flex: 1 1 auto; min-width: 0; display: block; }
.emx-nl__field .wpcf7-form-control-wrap { display: block; }
.emx-nl .wpcf7 input[type="email"] { min-height: 52px; padding: 0 20px; border-radius: 999px; background: var(--emx-bg, #0B0D0C); } /* 1.4.12: beats the theme's .wpcf7 input rule (site.css loads after this file) */
.emx-nl .wpcf7-submit { min-height: 52px; padding: 0 26px; flex: none; }
.emx-nl .wpcf7-submit:disabled { opacity: .45; cursor: not-allowed; }
.emx-nl .wpcf7-spinner { display: none; }
.emx-nl form.submitting .wpcf7-submit { opacity: .6; cursor: progress; }
.emx-nl__consent { font-size: .875rem; line-height: 1.45; color: var(--emx-text-muted, #9BA39D); }
.emx-nl__consent .wpcf7-list-item { margin: 0; }
.emx-nl .emx-nl__consent .wpcf7-list-item label { display: flex; align-items: flex-start; gap: 10px; min-height: 0; font-size: .875rem; font-weight: 400; } /* 1.4.12: box at the first line, over the theme's centred label */
.emx-nl .emx-nl__consent input[type="checkbox"] { flex: none; margin: 0; }
.emx-nl__consent a { color: var(--emx-text, #EDEFEC); }
.emx-nl .wpcf7-not-valid-tip { margin-top: 6px; padding-left: 20px; }
.emx-nl .wpcf7-response-output { margin: 4px 0 0 !important; padding: 10px 16px !important; font-size: .9375rem; }
.emx-nl .wpcf7 form.sent .wpcf7-response-output { border-color: var(--emx-accent-ink, #5AFF00) !important; }
/* 1.4.12: Contact Form 7 wraps the contents of each div in a <p> (its autop): the field and the button sit in that p,
   so the p is the flex row. */
.emx-nl__row > p { flex: 1 1 auto; min-width: 0; display: flex; gap: 10px; align-items: flex-start; margin: 0; }
.emx-nl__consent > p { margin: 0; }
@media (max-width: 559px) { .emx-nl__row, .emx-nl__row > p { flex-direction: column; align-items: stretch; } .emx-nl .wpcf7-submit { width: 100%; } }
/* Nyheter: a link under the heading to the sign-up in the footer. */
.emx-nl-link { margin-top: 8px; }
/* 1.4.16: phones with the WordPress admin bar (logged-in editors). Below 600 px WordPress lets the admin bar scroll
   away, but the site header is fixed at the top, so on first load the admin bar covered the upper part of the header
   until the page was scrolled. Keep the admin bar fixed there too and put the header under it. */
@media (max-width: 600px) {
	html body.admin-bar #wpadminbar { position: fixed; }
	body.admin-bar { --emx-adminbar: 46px; }
}
/* 1.4.18: phones, home page. The header is transparent over the hero until the page has moved 80 px (motion.js,
   emx-scrolled), and on phones the hero photo starts 38 px down, right under the header's icons. So on first load the
   header looked cut in half: a dark band with the icons, then the photo, and the full header only came with scrolling.
   Phones get the solid header from the start, the same as after scrolling. */
@media (max-width: 767px) {
	html.js body.emx-front:not(.emx-scrolled) .emx-site-header .emx-header { background: color-mix(in srgb, var(--emx-bg) 96%, transparent); border-color: var(--emx-line); color: inherit; }
	html.js body.emx-front:not(.emx-scrolled) .emx-site-header .emx-nav a { color: var(--emx-text); }
}
/* 1.4.18: Säkerhet, condensed. The short facts (a broken light source, recycling, licence) sit together under the
   intro instead of in three full sections of their own. */
.emx-safety-facts { gap: clamp(24px, 3vw, 40px) !important; margin: clamp(32px, 4vw, 48px) 0 0 !important; }
.emx-safety-facts > .wp-block-column { box-sizing: border-box; padding-top: 20px; border-top: 1px solid var(--emx-line, #262B27); }
.emx-safety-facts .emx-safety-facts__h { margin: 0 0 10px; font-size: clamp(1.125rem, 1rem + .45vw, 1.375rem); line-height: 1.2; }
.emx-safety-facts p { margin: 0; line-height: 1.55; }
.emx-safety-facts p + p { margin-top: 10px; }
@media (max-width: 781px) { .emx-safety-facts { gap: 28px !important; } }
.emx-safety-doses > * { max-width: var(--wp--style--global--content-size, 720px); }
.emx-nowrap { white-space: nowrap; }

/* =====================================================================
   Theme 2.0: classic templates (post lists, search results, pagination, comments, sidebar) and block styles.
   ===================================================================== */

/* Block styles (Styles panel) map to the site's section classes. */
.is-style-emx-section { padding-block: var(--emx-section); }
.is-style-emx-section-surface { padding-block: var(--emx-section); background: var(--emx-surface); }
.is-style-emx-section-tight { padding-block: clamp(3rem, 2rem + 3vw, 5rem); }
.is-style-emx-panel { background: var(--emx-surface); border: 1px solid var(--emx-line); border-radius: var(--emx-r-media); padding: clamp(24px, 4vw, 48px); }
.is-style-emx-lead { font-size: 1.1875rem; line-height: 1.55; color: var(--emx-text-muted, #9BA39D); max-width: 60ch; }
.is-style-emx-eyebrow { display: flex; align-items: center; gap: 12px; font-size: .875rem; font-weight: 500; color: var(--emx-text, #EDEFEC); margin: 0 0 16px; }
.is-style-emx-eyebrow::before { content: ""; width: 32px; height: 3px; background: var(--emx-accent-ink, #5AFF00); flex: none; }

/* Post lists (news page, archives): three columns, one on phones. */
.emx-posts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 781px) { .emx-posts { grid-template-columns: minmax(0, 1fr); } }
.emx-posts > .wp-block-post { margin: 0; }
.emx-posts .wp-block-post-featured-image a { display: block; }
.emx-posts .wp-block-post-featured-image img { width: 100%; display: block; }

/* Search results. */
.wp-block-query > .wp-block-post-template:not(.emx-posts) { list-style: none; margin: 0; padding: 0; }
.wp-block-query > .wp-block-post-template:not(.emx-posts) > .wp-block-post + .wp-block-post { margin-block-start: 24px; }

/* Pagination. */
.emx-pagination { margin-top: 48px; }
.emx-pagination .wp-block-query-pagination-numbers { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.emx-pagination .page-numbers { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0 12px; border-radius: 999px; color: var(--emx-text); text-decoration: none; }
.emx-pagination .page-numbers.current { background: var(--emx-surface-2); }
.emx-pagination a.page-numbers:hover { background: color-mix(in srgb, var(--emx-text) 8%, transparent); }

/* Blog sidebar (only when it has widgets). */
.emx-posts-wrap.has-sidebar { display: grid; gap: 48px; }
@media (min-width: 1024px) { .emx-posts-wrap.has-sidebar { grid-template-columns: minmax(0, 1fr) 300px; } }
.emx-sidebar .widget + .widget { margin-top: 32px; }
.emx-sidebar .widget-title { font-size: 1rem; margin: 0 0 12px; }

/* Comments (closed on the Emitrix pages; styled for sites that open them). */
.emx-comments { margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--emx-line); }
.emx-comments__list { list-style: none; margin: 0 0 32px; padding: 0; display: grid; gap: 24px; }
.emx-comments .comment-respond input:not([type="submit"]):not([type="checkbox"]), .emx-comments .comment-respond textarea { width: 100%; min-height: 48px; padding: 10px 14px; border-radius: var(--emx-r-field); border: 1px solid var(--emx-line-strong); background: var(--emx-surface-2); color: var(--emx-text); font: inherit; box-sizing: border-box; }
.emx-comments .comment-respond input[type="submit"] { min-height: 48px; padding: 0 22px; border-radius: 999px; border: 0; background: var(--emx-accent); color: var(--emx-on-accent); font-weight: 600; cursor: pointer; }

/* Page links in paginated posts. */
.emx-page-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 32px; }

/* WordPress's screen reader text (the theme also uses it for search labels). */
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.screen-reader-text:focus { background: var(--emx-bg); clip: auto !important; clip-path: none; color: var(--emx-text); display: block; height: auto; left: 8px; padding: 12px 16px; top: 8px; width: auto; z-index: 100000; }

/* WordPress alignments in classic content. */
.alignleft { float: left; margin: 0 24px 16px 0; }
.alignright { float: right; margin: 0 0 16px 24px; }
.aligncenter { margin-inline: auto; }
.wp-caption-text, .gallery-caption { font-size: .8125rem; color: var(--emx-text-muted); }
.sticky, .bypostauthor { display: block; }
