/* SwAFHF – tema. Färger, storlekar och avstånd kommer från theme.json; här ligger det theme.json inte kan uttrycka. */

/* ---------- Teckensnitt (självhostade, SIL OFL) ---------- */
@font-face {
	font-family: "Archivo";
	src: url("../fonts/archivo-var.woff2") format("woff2");
	font-weight: 100 900;
	font-stretch: 62% 125%;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Source Serif 4";
	src: url("../fonts/source-serif-4-var.woff2") format("woff2");
	font-weight: 200 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Source Serif 4";
	src: url("../fonts/source-serif-4-var-italic.woff2") format("woff2");
	font-weight: 200 900;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: "IBM Plex Mono";
	src: url("../fonts/ibm-plex-mono-400.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "IBM Plex Mono";
	src: url("../fonts/ibm-plex-mono-500.woff2") format("woff2");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

/* ---------- Grund ---------- */
:root {
	--sw-navy: var(--wp--preset--color--navy);
	--sw-navy-deep: var(--wp--preset--color--navy-deep);
	--sw-signal: var(--wp--preset--color--signal);
	--sw-ink: var(--wp--preset--color--ink);
	--sw-steel: var(--wp--preset--color--steel);
	--sw-metal: var(--wp--preset--color--metal);
	--sw-paper: var(--wp--preset--color--paper);
	--sw-display: var(--wp--preset--font-family--display);
	--sw-mono: var(--wp--preset--font-family--mono);
}

html { scroll-padding-top: 6rem; }

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-wrap: break-word;
}

::selection { background: var(--sw-signal); color: var(--sw-navy); }

.wp-site-blocks > * { margin-block-start: 0; }

:where(a) { text-underline-offset: 0.18em; text-decoration-thickness: 0.08em; }

:focus-visible { outline: 3px solid var(--sw-navy); outline-offset: 3px; }
.sw-header :focus-visible,
.has-navy-background-color :focus-visible,
.has-navy-deep-background-color :focus-visible { outline-color: var(--sw-signal); }

h1, h2, .wp-block-post-title { font-stretch: 68%; }
h3, h4, h5, h6 { font-stretch: 84%; }
.wp-block-heading, .wp-block-post-title { text-wrap: balance; }

/* Rubriker och länkar på mörk botten ärver ljus text. */
.has-navy-background-color :where(h1, h2, h3, h4, h5, h6),
.has-navy-deep-background-color :where(h1, h2, h3, h4, h5, h6) { color: inherit; }
.has-navy-background-color a:not(.wp-element-button),
.has-navy-deep-background-color a:not(.wp-element-button) { color: inherit; }

/* Etiketter i mono: datum, kategorier, avsnittsrubriker. */
.sw-label {
	font-family: var(--sw-mono);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 500;
	letter-spacing: 0.09em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--sw-steel);
	margin: 0;
}
.has-navy-background-color .sw-label { color: var(--sw-signal); }

/* ---------- Sidhuvud ---------- */
.sw-header {
	position: relative;
	z-index: 50;
	border-bottom: 3px solid var(--sw-signal);
	padding-inline: var(--wp--custom--gutter);
}
.sw-header__bar {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 1.25rem;
	min-height: 4.5rem;
	padding-left: 7rem;
}
/* Emblemet hänger ner över kanten, som en bricka på uniformen. */
.sw-crest {
	position: absolute;
	left: 0;
	top: 0.6rem;
	z-index: 60;
	display: block;
	width: 5.5rem;
	line-height: 0;
}
.sw-crest img { display: block; width: 100%; height: auto; }

.sw-header__nav { display: flex; align-items: center; gap: 1.25rem; }
.sw-lang {
	font-family: var(--sw-mono);
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-decoration: none;
	color: #fff;
	padding: 0.3rem 0.55rem;
	border: 1px solid rgba(255, 255, 255, 0.5);
}
.sw-lang abbr { text-decoration: none; }
.sw-lang:hover,
.sw-lang:focus-visible { color: var(--sw-navy); background: var(--sw-signal); border-color: var(--sw-signal); }

.sw-nav .wp-block-navigation__container { gap: 0.25rem 1.1rem; }
.sw-nav .wp-block-navigation-item__content {
	font-family: var(--sw-display);
	font-stretch: 78%;
	font-weight: 600;
	font-size: 1.0625rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	color: #fff;
	padding: 0.4rem 0;
	border-bottom: 2px solid transparent;
}
.sw-nav .wp-block-navigation-item__content:hover,
.sw-nav .wp-block-navigation-item__content:focus-visible {
	color: var(--sw-signal);
	border-bottom-color: var(--sw-signal);
}
.sw-nav .wp-block-navigation__submenu-container {
	background: var(--sw-navy-deep);
	border: 0;
	border-top: 3px solid var(--sw-signal);
	padding: 0.4rem 0;
	min-width: 16rem;
}
.sw-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.55rem 1rem;
	font-size: 0.9375rem;
	letter-spacing: 0.05em;
	border-bottom: 0;
	color: #fff;
}
.sw-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.sw-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
	background: var(--sw-signal);
	color: var(--sw-navy);
}
.sw-nav .is-cta > .wp-block-navigation-item__content {
	background: var(--sw-signal);
	color: var(--sw-navy);
	padding: 0.55rem 0.9rem;
	border-bottom-color: transparent;
}
.sw-nav .is-cta > .wp-block-navigation-item__content:hover,
.sw-nav .is-cta > .wp-block-navigation-item__content:focus-visible { background: #fff; color: var(--sw-navy); }

/* Smalare skärmar: mindre menytext så att engelska etiketter ryms på en rad. */
@media (min-width: 600px) and (max-width: 1100px) {
	.sw-header__bar { padding-left: 6rem; gap: 0.75rem; }
	.sw-crest { width: 4.75rem; }
	.sw-nav .wp-block-navigation__container { gap: 0.25rem 0.8rem; }
	.sw-nav .wp-block-navigation-item__content { font-size: 0.875rem; letter-spacing: 0.04em; }
	.sw-nav .is-cta > .wp-block-navigation-item__content { padding: 0.45rem 0.6rem; }
}

/* Mobilmeny. */
.sw-nav .wp-block-navigation__responsive-container-open { color: #fff; }
.sw-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 5rem var(--wp--custom--gutter) 2rem;
}
.sw-nav .is-menu-open .wp-block-navigation__responsive-container-content,
.sw-nav .is-menu-open .wp-block-navigation__container,
.sw-nav .is-menu-open .wp-block-navigation__submenu-container { align-items: flex-start; }
.sw-nav .is-menu-open .wp-block-navigation-item__content { font-size: 1.5rem; }
.sw-nav .is-menu-open .wp-block-navigation__submenu-container {
	background: transparent;
	border-top: 0;
	padding-left: 0.5rem;
}
.sw-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1.125rem; }

@media (max-width: 781px) {
	.sw-header__bar { min-height: 4rem; padding-left: 5rem; }
	.sw-crest { width: 3.9rem; top: 0.5rem; }
}

/* ---------- Startsida: hero ---------- */
.sw-hero { padding-block: 0; margin-block: 0; }
.sw-hero .sw-hero__photo { margin-block: 0; }
.sw-hero__photo img {
	display: block;
	width: 100%;
	height: clamp(22rem, 64vh, 46rem);
	object-fit: cover;
	object-position: 50% 58%;
}
.sw-hero .sw-hero__plate-wrap {
	position: relative;
	z-index: 5;
	margin-top: calc(-1 * clamp(4.5rem, 10vw, 9rem));
}
.sw-hero__plate {
	max-width: 46rem;
	padding: clamp(1.5rem, 3.2vw, 3rem);
	border-top: 6px solid var(--sw-signal);
}
.sw-hero__title {
	font-size: var(--wp--preset--font-size--display);
	font-stretch: 62%;
	line-height: 0.92;
	letter-spacing: 0.01em;
	margin: 0.7rem 0 1.5rem;
}
.sw-hero__plate .wp-block-buttons { margin-top: 0; }
.sw-hero__plate .wp-block-button__link { background: var(--sw-signal); color: var(--sw-navy); }
.sw-hero__plate .wp-block-button__link:hover,
.sw-hero__plate .wp-block-button__link:focus-visible { background: #fff; }

/* ---------- Avsnitt med rubrikkolumn ---------- */
.sw-section { padding-block: var(--wp--preset--spacing--70); margin-block: 0; }
.sw-section + .sw-section { border-top: 1px solid var(--sw-metal); }
.sw-split {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1.75rem 3rem;
}
.sw-split > * { margin-block: 0; }
.sw-split__head h2 { margin: 0.5rem 0 0; }
@media (min-width: 900px) {
	.sw-split { grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); }
	.sw-split__head { position: sticky; top: 2rem; align-self: start; }
}

.sw-intro__text { max-width: 42rem; }
.sw-intro__text > p:first-of-type,
.sw-intro__text .wp-block-post-content > p:first-of-type {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.5;
}
/* Rubriken och emblemet i startsidans gamla innehåll finns redan i hero. */
.home .sw-intro__text .wp-block-media-text { display: none; }

/* ---------- Flygplansregister ---------- */
.sw-register__list {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 3px solid var(--sw-navy);
}
.sw-pagehead + .sw-register .sw-register__list { border-top: 0; }
.sw-register__list li { margin: 0; border-bottom: 1px solid var(--sw-metal); }
.sw-reg {
	display: grid;
	grid-template-columns: 13rem minmax(0, 1fr) auto;
	align-items: baseline;
	gap: 0.5rem 1.5rem;
	padding: 1rem 1rem 1rem 0.25rem;
	color: var(--sw-navy);
	text-decoration: none;
	transition: background-color 0.15s, color 0.15s;
}
.sw-reg__id { display: grid; grid-template-columns: 4.75rem auto; align-items: baseline; gap: 0 0.5rem; }
.sw-reg__prefix {
	font-family: var(--sw-mono);
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--sw-steel);
}
.sw-reg__num {
	font-family: var(--sw-display);
	font-stretch: 62%;
	font-weight: 800;
	font-size: clamp(3rem, 2rem + 4vw, 5.25rem);
	line-height: 0.9;
	letter-spacing: 0.01em;
}
.sw-reg__name {
	font-family: var(--sw-display);
	font-stretch: 80%;
	font-weight: 600;
	font-size: var(--wp--preset--font-size--large);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.sw-reg__arrow { font-family: var(--sw-mono); font-size: 1.25rem; opacity: 0; transition: opacity 0.15s; }
.sw-reg:hover,
.sw-reg:focus-visible { background: var(--sw-navy); color: #fff; }
.sw-reg:hover .sw-reg__num,
.sw-reg:focus-visible .sw-reg__num { color: var(--sw-signal); }
.sw-reg:hover .sw-reg__prefix,
.sw-reg:focus-visible .sw-reg__prefix { color: #cfd6dd; }
.sw-reg:hover .sw-reg__arrow,
.sw-reg:focus-visible .sw-reg__arrow { opacity: 1; }
@media (hover: none) { .sw-reg__arrow { opacity: 1; } }
@media (max-width: 600px) {
	.sw-reg { grid-template-columns: 9.5rem minmax(0, 1fr) auto; }
	.sw-reg__id { grid-template-columns: 3.5rem auto; }
}

/* ---------- Loggbok (nyheter) ---------- */
.sw-logbook .wp-block-post-template {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 3px solid var(--sw-navy);
}
.sw-pagehead + .sw-logbook .wp-block-post-template { border-top: 0; }
.sw-pagehead + .sw-prose .sw-logbook .wp-block-post-template { border-top: 0; }
.sw-log-entry {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0.4rem 2rem;
	margin: 0;
	padding: 1.5rem 0;
	border-bottom: 1px solid var(--sw-metal);
}
@media (min-width: 700px) { .sw-log-entry { grid-template-columns: 9.5rem minmax(0, 1fr); } }
.sw-log-entry .wp-block-post-date { padding-top: 0.45rem; }
.sw-log-entry .wp-block-post-title {
	margin: 0;
	font-size: var(--wp--preset--font-size--large);
	font-stretch: 84%;
	text-transform: none;
	letter-spacing: 0;
}
.sw-log-entry .wp-block-post-title a { color: var(--sw-navy); text-decoration: none; }
.sw-log-entry .wp-block-post-title a:hover { text-decoration: underline; }
.sw-log-entry .wp-block-post-excerpt { margin: 0.4rem 0 0; }
.sw-log-entry .wp-block-post-excerpt__excerpt { margin: 0; }
.sw-more { margin-top: 1.5rem; font-family: var(--sw-display); font-stretch: 80%; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; }
.sw-more a { text-decoration: none; border-bottom: 2px solid var(--sw-signal); }
.sw-more a:hover { background: var(--sw-signal); }
.wp-block-query-pagination { margin-top: 2rem; font-family: var(--sw-mono); font-size: 0.875rem; gap: 1rem; }
.wp-block-query-pagination a { text-decoration: none; border-bottom: 2px solid var(--sw-signal); }

/* ---------- Stödmedlemsband ---------- */
.sw-band { background: var(--sw-signal); color: var(--sw-navy); padding-block: var(--wp--preset--spacing--70); }
.sw-band .sw-label { color: var(--sw-navy); }
.sw-band__title {
	font-size: var(--wp--preset--font-size--display);
	font-stretch: 62%;
	line-height: 0.92;
	margin: 0.6rem 0 0;
}
.sw-band p { max-width: 34rem; }
.sw-band .wp-block-button__link:hover,
.sw-band .wp-block-button__link:focus-visible { background: #fff; color: var(--sw-navy); }

/* ---------- Sidfot ---------- */
.sw-footer { padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50); }
.sw-footer a { color: #fff; text-decoration: none; }
.sw-footer a:hover { color: var(--sw-signal); text-decoration: underline; }
.sw-footer__brand { max-width: 22rem; }
.sw-footer ul { list-style: none; margin: 0.75rem 0 0; padding: 0; }
.sw-footer li { margin: 0.4rem 0; }
.sw-footer__legal {
	margin-top: 2.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(255, 255, 255, 0.22);
	font-size: 0.875rem;
	color: #cfd6dd;
}

/* ---------- Sidor och inlägg ---------- */
.sw-main { padding-block: clamp(3.5rem, 6vw, 5.5rem) var(--wp--preset--spacing--70); }
.sw-pagehead { margin-bottom: var(--wp--preset--spacing--60); padding-bottom: 1.25rem; border-bottom: 3px solid var(--sw-navy); }
.sw-pagehead .wp-block-post-title,
.sw-pagehead h1 { margin: 0.4rem 0 0; }
.sw-translate {
	margin: 0.9rem 0 0;
	font-family: var(--sw-mono);
	font-size: 0.8125rem;
	letter-spacing: 0.03em;
	color: var(--sw-steel);
}
.sw-translate a { color: var(--sw-navy); text-decoration: none; border-bottom: 2px solid var(--sw-signal); }
.sw-translate a:hover { background: var(--sw-signal); }
.sw-postnav { margin-top: var(--wp--preset--spacing--60); padding-top: 1.25rem; border-top: 1px solid var(--sw-metal); font-family: var(--sw-mono); font-size: 0.875rem; gap: 1.5rem; }

.wp-block-image figcaption,
.wp-element-caption {
	margin-top: 0.5rem;
	padding-top: 0.4rem;
	border-top: 1px solid var(--sw-metal);
	font-family: var(--sw-mono);
	font-size: 0.75rem;
	letter-spacing: 0.03em;
	text-align: left;
	color: var(--sw-steel);
}
/* Brödtext smal, bredare block (kolumner, gallerier, tabeller, bilder) får ta plats. */
.sw-prose .wp-block-post-content > * { max-width: 42rem; }
.sw-prose .wp-block-post-content > :is(.wp-block-columns, .wp-block-gallery, .wp-block-table, .wp-block-media-text, .wp-block-group, .wp-block-cover, .wp-block-embed, .wp-block-image, .wp-block-file, .wp-block-buttons, .alignwide, figure, iframe),
.sw-prose--wide .wp-block-post-content > * { max-width: none; }
.wp-block-post-content figure { margin-block: 2rem; }
.wp-block-embed iframe,
.wp-block-post-content iframe { max-width: 100%; }
.wp-block-post-content img { height: auto; max-width: 100%; }

.wp-block-table table { width: 100%; border-collapse: collapse; font-size: 0.9375rem; }
.wp-block-table th,
.wp-block-table td { padding: 0.6rem 0.75rem 0.6rem 0; border: 0; border-bottom: 1px solid var(--sw-metal); text-align: left; vertical-align: top; }
.wp-block-table thead { border-bottom: 3px solid var(--sw-navy); }
.wp-block-table th {
	font-family: var(--sw-mono);
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sw-steel);
}

.wp-block-post-content blockquote,
.wp-block-quote { margin-inline: 0; padding-left: 1.25rem; border-left: 4px solid var(--sw-signal); font-style: italic; }

.wp-block-post-content ul,
.wp-block-post-content ol { padding-left: 1.4rem; }
.wp-block-post-content li { margin-block: 0.3rem; }

/* Föreningssupports inbäddade anmälningsformulär. */
#fs-signup-member-widget,
#fs-widget { max-width: 30rem; }
#fs-signup-member-widget iframe,
#fs-widget iframe { max-width: 100%; border: 0; }

/* Äldre innehåll: bilder med align left/right staplas på små skärmar. */
@media (max-width: 640px) {
	.wp-block-post-content .alignleft,
	.wp-block-post-content .alignright { float: none; display: block; margin-inline: auto; }
}

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; scroll-behavior: auto !important; }
}
