/* Bdsmskolan – kompletterande stilar.
   Färger, typsnitt och avstånd definieras i theme.json. Här ligger bara
   det som blocken inte kan uttrycka själva. */

/* --- Protokollraden: temats signatur --------------------------------- */

.bdsm-protokoll {
	margin: 0 0 var(--wp--preset--spacing--40);
	padding: 0.75rem 0;
	border-top: 1px solid var(--wp--preset--color--massing);
	border-bottom: 1px solid var(--wp--preset--color--linje);
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 2rem;
	font-family: var(--wp--preset--font-family--protokoll);
	font-size: var(--wp--preset--font-size--protokoll);
	line-height: 1.5;
}

.bdsm-protokoll__par {
	display: flex;
	gap: 0.5ch;
	align-items: baseline;
}

.bdsm-protokoll dt {
	color: var(--wp--preset--color--dis);
	text-transform: uppercase;
	letter-spacing: 0.16em;
	font-weight: 500;
	margin: 0;
}

.bdsm-protokoll dt::after {
	content: " —";
}

.bdsm-protokoll dd {
	margin: 0;
	color: var(--wp--preset--color--krita);
}

/* --- Åldersgrind ------------------------------------------------------ */

.bdsm-grind-aktiv {
	overflow: hidden;
}

.bdsm-grind {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.5rem;
	background: var(--wp--preset--color--natt, #14131A);
}

.bdsm-grind__ruta {
	max-width: 34rem;
	border: 1px solid var(--wp--preset--color--linje);
	border-top: 2px solid var(--wp--preset--color--massing);
	background: var(--wp--preset--color--kammare);
	padding: clamp(1.75rem, 5vw, 3rem);
}

.bdsm-grind__etikett {
	margin: 0 0 1rem;
	font-family: var(--wp--preset--font-family--protokoll);
	font-size: var(--wp--preset--font-size--protokoll);
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--wp--preset--color--dis);
}

.bdsm-grind__rubrik {
	margin: 0 0 1rem;
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.6rem, 4vw, 2.25rem);
	font-weight: 500;
	line-height: 1.15;
	color: var(--wp--preset--color--krita);
}

.bdsm-grind__text {
	margin: 0 0 1.75rem;
	color: var(--wp--preset--color--dis);
}

.bdsm-grind__val {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.5rem;
}

.bdsm-knapp {
	font-family: var(--wp--preset--font-family--protokoll);
	font-size: var(--wp--preset--font-size--protokoll);
	text-transform: uppercase;
	letter-spacing: 0.16em;
	padding: 0.9rem 1.5rem;
	background: transparent;
	color: var(--wp--preset--color--massing);
	border: 1px solid var(--wp--preset--color--massing);
	border-radius: 0;
	cursor: pointer;
	transition: background-color 120ms ease, color 120ms ease;
}

.bdsm-knapp:hover,
.bdsm-knapp:focus-visible {
	background: var(--wp--preset--color--massing);
	color: var(--wp--preset--color--natt);
}

.bdsm-grind__lamna {
	color: var(--wp--preset--color--dis);
	font-size: var(--wp--preset--font-size--liten);
}

.bdsm-grind__finstilt {
	margin: 1.75rem 0 0;
	font-family: var(--wp--preset--font-family--protokoll);
	font-size: var(--wp--preset--font-size--protokoll);
	color: var(--wp--preset--color--dis);
}

/* --- Grundläggande kvalitet ------------------------------------------ */

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 2px solid var(--wp--preset--color--massing);
	outline-offset: 3px;
}

::selection {
	background: var(--wp--preset--color--massing);
	color: var(--wp--preset--color--natt);
}

/* Läsbar radlängd även i breda kolumner. */
.wp-block-post-content p {
	max-width: 68ch;
}

/* Ordlistetermer som taggar. */
.wp-block-query .wp-block-post-title a:hover {
	color: var(--wp--preset--color--massing);
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
	}
}

/* --- Galleri och inskickning ----------------------------------------- */

.bdsm-galleri {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
	gap: var(--wp--preset--spacing--20);
	margin: var(--wp--preset--spacing--30) 0;
}

.bdsm-galleri__bild {
	width: 100%;
	height: auto;
	display: block;
	border: 1px solid var(--wp--preset--color--linje);
}

.bdsm-uppladdning {
	max-width: 40rem;
	border: 1px solid var(--wp--preset--color--linje);
	border-top: 2px solid var(--wp--preset--color--massing);
	background: var(--wp--preset--color--kammare);
	padding: var(--wp--preset--spacing--30);
}

.bdsm-uppladdning input[type="text"],
.bdsm-uppladdning input[type="date"] {
	width: 100%;
	padding: 0.6rem 0.75rem;
	margin-top: 0.35rem;
	background: var(--wp--preset--color--natt);
	border: 1px solid var(--wp--preset--color--linje);
	color: var(--wp--preset--color--krita);
	border-radius: 0;
	font-family: inherit;
}

.bdsm-uppladdning label {
	line-height: 1.5;
}

.bdsm-hjalp {
	display: block;
	margin-top: 0.4rem;
	font-family: var(--wp--preset--font-family--protokoll);
	font-size: var(--wp--preset--font-size--protokoll);
	color: var(--wp--preset--color--dis);
	line-height: 1.6;
}

.bdsm-uppladdning__svar {
	border-left: 3px solid var(--wp--preset--color--massing);
	padding: 0.75rem 1rem;
	background: var(--wp--preset--color--natt);
}

/* --- Snabbutgång ------------------------------------------------------ */

.bdsm-utgang {
	position: fixed;
	right: 1rem;
	bottom: 1rem;
	z-index: 9999;
	display: flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.7rem 1rem;
	background: var(--wp--preset--color--sigill);
	color: var(--wp--preset--color--krita);
	border: 1px solid var(--wp--preset--color--krita);
	border-radius: 0;
	cursor: pointer;
	font-family: var(--wp--preset--font-family--protokoll);
	font-size: var(--wp--preset--font-size--protokoll);
	text-transform: uppercase;
	letter-spacing: 0.14em;
	box-shadow: 0 2px 12px rgb(0 0 0 / 45%);
}

.bdsm-utgang:hover,
.bdsm-utgang:focus-visible {
	background: var(--wp--preset--color--krita);
	color: var(--wp--preset--color--sigill);
}

.bdsm-utgang__kryss {
	font-size: 1.2em;
	line-height: 1;
}

.bdsm-utgang__tangent {
	padding: 0.1rem 0.35rem;
	border: 1px solid currentColor;
	opacity: 0.7;
	letter-spacing: 0.05em;
}

@media (max-width: 480px) {
	.bdsm-utgang__tangent {
		display: none;
	}
}

/* --- Checklistan ------------------------------------------------------ */

.bdsm-lista__topp {
	border: 1px solid var(--wp--preset--color--linje);
	border-top: 2px solid var(--wp--preset--color--massing);
	background: var(--wp--preset--color--kammare);
	padding: var(--wp--preset--spacing--30);
	margin-bottom: var(--wp--preset--spacing--40);
}

.bdsm-lista__knappar {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1rem;
}

.bdsm-knapp--tyst {
	color: var(--wp--preset--color--dis);
	border-color: var(--wp--preset--color--linje);
}

.bdsm-knapp--tyst:hover,
.bdsm-knapp--tyst:focus-visible {
	background: var(--wp--preset--color--linje);
	color: var(--wp--preset--color--krita);
}

.bdsm-lista__status {
	margin: 1rem 0 0;
	font-family: var(--wp--preset--font-family--protokoll);
	font-size: var(--wp--preset--font-size--protokoll);
	color: var(--wp--preset--color--massing);
	min-height: 1.4em;
}

.bdsm-lista__grupp {
	border: 0;
	border-top: 1px solid var(--wp--preset--color--linje);
	padding: 0;
	margin: 0 0 var(--wp--preset--spacing--40);
}

.bdsm-lista__grupp legend {
	font-family: var(--wp--preset--font-family--protokoll);
	font-size: var(--wp--preset--font-size--protokoll);
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--wp--preset--color--massing);
	padding: 0 0.8rem 0 0;
}

.bdsm-lista__rad {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	align-items: baseline;
	justify-content: space-between;
	padding: 0.6rem 0;
	border-bottom: 1px solid var(--wp--preset--color--linje);
}

.bdsm-lista__rad[data-svar="nej"] .bdsm-lista__text {
	color: var(--wp--preset--color--dis);
	text-decoration: line-through;
	text-decoration-color: var(--wp--preset--color--sigill);
}

.bdsm-lista__rad[data-svar="ja"] .bdsm-lista__text {
	color: var(--wp--preset--color--massing);
}

.bdsm-lista__text {
	flex: 1 1 16rem;
}

.bdsm-lista__risk {
	display: inline-block;
	margin-left: 0.5rem;
	padding: 0.05rem 0.4rem;
	border: 1px solid var(--wp--preset--color--sigill);
	color: var(--wp--preset--color--sigill);
	font-family: var(--wp--preset--font-family--protokoll);
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	vertical-align: middle;
}

.bdsm-lista__val {
	display: flex;
	gap: 0.25rem;
	flex: 0 0 auto;
}

.bdsm-lista__val label {
	position: relative;
}

.bdsm-lista__val input {
	position: absolute;
	opacity: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	cursor: pointer;
}

.bdsm-lista__val span {
	display: block;
	padding: 0.3rem 0.6rem;
	border: 1px solid var(--wp--preset--color--linje);
	font-family: var(--wp--preset--font-family--protokoll);
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--dis);
}

.bdsm-lista__val input:checked + span {
	background: var(--wp--preset--color--massing);
	border-color: var(--wp--preset--color--massing);
	color: var(--wp--preset--color--natt);
}

.bdsm-lista__val input:focus-visible + span {
	outline: 2px solid var(--wp--preset--color--massing);
	outline-offset: 2px;
}

.bdsm-lista__jamfor {
	border: 1px solid var(--wp--preset--color--linje);
	background: var(--wp--preset--color--kammare);
	padding: var(--wp--preset--spacing--30);
	margin-bottom: var(--wp--preset--spacing--40);
}

.bdsm-lista__jamfor textarea {
	width: 100%;
	background: var(--wp--preset--color--natt);
	border: 1px solid var(--wp--preset--color--linje);
	color: var(--wp--preset--color--krita);
	padding: 0.75rem;
	font-family: var(--wp--preset--font-family--protokoll);
	font-size: var(--wp--preset--font-size--protokoll);
	border-radius: 0;
}

/* --- Utskrift --------------------------------------------------------- */

@media print {
	.bdsm-utgang,
	.bdsm-grind,
	.bdsm-lista__knappar,
	.bdsm-lista__jamfor,
	.bdsm-lista__status,
	header.wp-block-group,
	footer.wp-block-group,
	.wp-block-navigation {
		display: none !important;
	}

	body {
		background: #fff !important;
		color: #000 !important;
		font-size: 10pt;
	}

	.bdsm-lista__rad {
		break-inside: avoid;
		border-bottom: 1px solid #ccc;
	}

	.bdsm-lista__val span {
		border-color: #999;
		color: #000;
	}

	.bdsm-lista__val input:checked + span {
		background: #000;
		color: #fff;
	}

	.bdsm-lista__grupp legend,
	.bdsm-lista__risk {
		color: #000;
	}

	a[href]::after {
		content: " (" attr(href) ")";
		font-size: 8pt;
	}
}

/* --- Ordlistelänkar --------------------------------------------------- */

.bdsm-ordlank {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px dotted var(--wp--preset--color--massing);
}

.bdsm-ordlank:hover,
.bdsm-ordlank:focus-visible {
	color: var(--wp--preset--color--massing);
	border-bottom-style: solid;
	text-decoration: none;
}

/* --- Hoppa till innehållet -------------------------------------------- */

.bdsm-hopplank {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 100000;
	padding: 0.85rem 1.25rem;
	background: var(--wp--preset--color--massing);
	color: var(--wp--preset--color--natt);
	font-family: var(--wp--preset--font-family--protokoll);
	font-size: var(--wp--preset--font-size--protokoll);
	text-transform: uppercase;
	letter-spacing: 0.14em;
	text-decoration: none;
}

.bdsm-hopplank:focus {
	left: 0.5rem;
	top: 0.5rem;
}

#bdsm-innehall:focus {
	outline: none;
}

@media print {
	.bdsm-hopplank {
		display: none !important;
	}

	.bdsm-ordlank {
		border-bottom: 0;
	}
}

/* --- Anmälningsformulär ------------------------------------------------ */

.bdsm-anmalan {
	max-width: 40rem;
	border: 1px solid var(--wp--preset--color--linje);
	border-top: 2px solid var(--wp--preset--color--sigill);
	background: var(--wp--preset--color--kammare);
	padding: var(--wp--preset--spacing--30);
}

.bdsm-anmalan input[type="text"],
.bdsm-anmalan input[type="email"],
.bdsm-anmalan select,
.bdsm-anmalan textarea {
	width: 100%;
	padding: 0.6rem 0.75rem;
	margin-top: 0.35rem;
	background: var(--wp--preset--color--natt);
	border: 1px solid var(--wp--preset--color--linje);
	color: var(--wp--preset--color--krita);
	border-radius: 0;
	font-family: inherit;
	font-size: inherit;
}

.bdsm-anmalan__fel {
	border-left: 3px solid var(--wp--preset--color--sigill);
	padding: 0.75rem 1rem;
	background: var(--wp--preset--color--natt);
}

.bdsm-anmalan__kvitto {
	max-width: 40rem;
	border: 1px solid var(--wp--preset--color--massing);
	border-left-width: 3px;
	background: var(--wp--preset--color--kammare);
	padding: var(--wp--preset--spacing--30);
}

.bdsm-anmalan__kvitto p {
	margin: 0;
}

.bdsm-doldt {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* --- Säkerhetskort ---------------------------------------------------- */

.bdsm-kort {
	max-width: 32rem;
	border: 1px solid var(--wp--preset--color--linje);
	border-top: 2px solid var(--wp--preset--color--massing);
	background: var(--wp--preset--color--kammare);
	padding: var(--wp--preset--spacing--30);
	margin: var(--wp--preset--spacing--30) 0;
}

.bdsm-kort__huvud {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: baseline;
	justify-content: space-between;
	padding-bottom: 0.75rem;
	margin-bottom: 1.25rem;
	border-bottom: 1px solid var(--wp--preset--color--linje);
}

.bdsm-kort__titel {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.35rem;
}

.bdsm-kort__datum,
.bdsm-kort__hjalp,
.bdsm-kort__fot {
	font-family: var(--wp--preset--font-family--protokoll);
	font-size: var(--wp--preset--font-size--protokoll);
	color: var(--wp--preset--color--dis);
}

.bdsm-kort__datumfalt {
	width: 7rem;
	margin-left: 0.4rem;
}

.bdsm-kort__rad {
	margin-bottom: 1.1rem;
}

.bdsm-kort__rad label {
	display: block;
	font-family: var(--wp--preset--font-family--protokoll);
	font-size: var(--wp--preset--font-size--protokoll);
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--wp--preset--color--massing);
	margin-bottom: 0.3rem;
}

.bdsm-kort input,
.bdsm-kort textarea {
	width: 100%;
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--wp--preset--color--linje);
	color: var(--wp--preset--color--krita);
	padding: 0.3rem 0;
	border-radius: 0;
	font-family: inherit;
	font-size: inherit;
	resize: vertical;
}

.bdsm-kort__hjalp {
	display: block;
	margin-top: 0.3rem;
}

.bdsm-kort__fot {
	margin-top: 1.5rem;
	padding-top: 0.75rem;
	border-top: 1px solid var(--wp--preset--color--linje);
	line-height: 1.6;
}

@media print {
	.bdsm-kort-yta__notis,
	.bdsm-kort-yta__knappar,
	.bdsm-kort-yta .bdsm-hjalp {
		display: none !important;
	}

	.bdsm-kort {
		max-width: 100%;
		border: 1px solid #000;
		background: #fff;
		color: #000;
		page-break-inside: avoid;
	}

	.bdsm-kort__rad label {
		color: #000;
	}

	.bdsm-kort__datum,
	.bdsm-kort__hjalp,
	.bdsm-kort__fot {
		color: #333;
	}

	.bdsm-kort input,
	.bdsm-kort textarea {
		color: #000;
		border-bottom: 1px solid #000;
	}
}

/* --- Träffar ---------------------------------------------------------- */

.bdsm-traffar {
	margin: var(--wp--preset--spacing--30) 0;
}

.bdsm-traff {
	display: flex;
	gap: var(--wp--preset--spacing--30);
	padding: var(--wp--preset--spacing--30) 0;
	border-top: 1px solid var(--wp--preset--color--linje);
}

.bdsm-traff__datum {
	flex: 0 0 4.5rem;
	text-align: center;
	font-family: var(--wp--preset--font-family--protokoll);
	border-right: 1px solid var(--wp--preset--color--linje);
	padding-right: var(--wp--preset--spacing--20);
}

.bdsm-traff__dag {
	display: block;
	font-family: var(--wp--preset--font-family--display);
	font-size: 2.25rem;
	line-height: 1;
	color: var(--wp--preset--color--massing);
}

.bdsm-traff__manad {
	display: block;
	font-size: var(--wp--preset--font-size--protokoll);
	text-transform: uppercase;
	letter-spacing: 0.16em;
	margin-top: 0.25rem;
}

.bdsm-traff__ar {
	display: block;
	font-size: var(--wp--preset--font-size--protokoll);
	color: var(--wp--preset--color--dis);
}

.bdsm-traff__typ {
	display: inline-block;
	font-family: var(--wp--preset--font-family--protokoll);
	font-size: var(--wp--preset--font-size--protokoll);
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: var(--wp--preset--color--dis);
}

.bdsm-traff__titel {
	margin: 0.2rem 0 0.5rem;
	font-size: 1.35rem;
}

.bdsm-traff__ingress {
	margin: 0 0 0.5rem;
	color: var(--wp--preset--color--dis);
}

.bdsm-traff__installd {
	display: inline-block;
	margin: 0 0 0.5rem;
	padding: 0.2rem 0.6rem;
	border: 1px solid var(--wp--preset--color--sigill);
	color: var(--wp--preset--color--sigill);
	font-family: var(--wp--preset--font-family--protokoll);
	font-size: var(--wp--preset--font-size--protokoll);
}

.bdsm-traff--installd .bdsm-traff__titel a,
.bdsm-traff--installd .bdsm-traff__dag {
	text-decoration: line-through;
	text-decoration-color: var(--wp--preset--color--sigill);
	color: var(--wp--preset--color--dis);
}

.bdsm-traffar--tidigare .bdsm-traff {
	opacity: 0.65;
}

@media (max-width: 480px) {
	.bdsm-traff {
		gap: var(--wp--preset--spacing--20);
	}

	.bdsm-traff__datum {
		flex-basis: 3.5rem;
	}

	.bdsm-traff__dag {
		font-size: 1.75rem;
	}
}

/* --- Huvudmeny -------------------------------------------------------- */

.bdsm-meny {
	position: relative;
}

.bdsm-meny__lista {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 0.35rem;
	align-items: center;
}

.bdsm-meny__flik {
	position: relative;
}

.bdsm-meny__knapp {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	background: transparent;
	border: 1px solid transparent;
	border-radius: 0;
	color: var(--wp--preset--color--krita);
	font-family: var(--wp--preset--font-family--protokoll);
	font-size: var(--wp--preset--font-size--protokoll);
	text-transform: uppercase;
	letter-spacing: 0.14em;
	padding: 0.65rem 0.85rem;
	cursor: pointer;
}

.bdsm-meny__knapp:hover,
.bdsm-meny__knapp:focus-visible,
.bdsm-meny__knapp[aria-expanded="true"] {
	color: var(--wp--preset--color--massing);
	border-color: var(--wp--preset--color--linje);
}

.bdsm-meny__pil {
	width: 0.4em;
	height: 0.4em;
	border-right: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
	transform: rotate(45deg) translateY(-0.1em);
	transition: transform 120ms ease;
}

.bdsm-meny__knapp[aria-expanded="true"] .bdsm-meny__pil {
	transform: rotate(-135deg) translateY(-0.15em);
}

.bdsm-meny__under {
	list-style: none;
	margin: 0;
	padding: 0.4rem 0;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 15rem;
	background: var(--wp--preset--color--kammare);
	border: 1px solid var(--wp--preset--color--linje);
	border-top: 1px solid var(--wp--preset--color--massing);
	box-shadow: 0 8px 28px rgb(0 0 0 / 45%);
	z-index: 90;
}

/* Utan JS: hover och fokus räcker. */
.bdsm-meny:not(.bdsm-meny--js) .bdsm-meny__under {
	display: none;
}

.bdsm-meny:not(.bdsm-meny--js) .bdsm-meny__flik:hover .bdsm-meny__under,
.bdsm-meny:not(.bdsm-meny--js) .bdsm-meny__flik:focus-within .bdsm-meny__under {
	display: block;
}

/* Med JS styr aria-expanded. */
.bdsm-meny--js .bdsm-meny__under {
	display: none;
}

.bdsm-meny--js .bdsm-meny__knapp[aria-expanded="true"] + .bdsm-meny__under {
	display: block;
}

.bdsm-meny__under a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0.75rem;
	padding: 0.6rem 1rem;
	color: var(--wp--preset--color--krita);
	text-decoration: none;
	font-family: var(--wp--preset--font-family--brod);
	font-size: var(--wp--preset--font-size--liten);
	letter-spacing: 0;
	text-transform: none;
}

.bdsm-meny__under a:hover,
.bdsm-meny__under a:focus-visible {
	background: var(--wp--preset--color--natt);
	color: var(--wp--preset--color--massing);
	text-decoration: none;
}

.bdsm-meny__antal {
	display: inline-block;
	min-width: 1.5em;
	padding: 0 0.35em;
	text-align: center;
	background: var(--wp--preset--color--massing);
	color: var(--wp--preset--color--natt);
	font-family: var(--wp--preset--font-family--protokoll);
	font-size: 0.65rem;
	line-height: 1.5;
}

/* --- Hamburgare ------------------------------------------------------- */

.bdsm-meny__hamburgare {
	display: none;
	width: 2.75rem;
	height: 2.75rem;
	background: transparent;
	border: 1px solid var(--wp--preset--color--linje);
	border-radius: 0;
	cursor: pointer;
	position: relative;
}

.bdsm-meny__streck,
.bdsm-meny__streck::before,
.bdsm-meny__streck::after {
	position: absolute;
	left: 50%;
	width: 1.1rem;
	height: 1px;
	background: var(--wp--preset--color--krita);
	transform: translateX(-50%);
	transition: transform 140ms ease, opacity 140ms ease;
}

.bdsm-meny__streck {
	top: 50%;
	margin-top: -0.5px;
}

.bdsm-meny__streck::before,
.bdsm-meny__streck::after {
	content: "";
}

.bdsm-meny__streck::before {
	top: -0.35rem;
}

.bdsm-meny__streck::after {
	top: 0.35rem;
}

.bdsm-meny--oppen .bdsm-meny__streck {
	background: transparent;
}

.bdsm-meny--oppen .bdsm-meny__streck::before {
	top: 0;
	transform: translateX(-50%) rotate(45deg);
}

.bdsm-meny--oppen .bdsm-meny__streck::after {
	top: 0;
	transform: translateX(-50%) rotate(-45deg);
}

@media (max-width: 899px) {
	.bdsm-meny__hamburgare {
		display: block;
	}

	.bdsm-meny--js .bdsm-meny__lista {
		display: none;
		position: absolute;
		top: calc(100% + 0.75rem);
		right: 0;
		min-width: min(20rem, 85vw);
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		background: var(--wp--preset--color--kammare);
		border: 1px solid var(--wp--preset--color--linje);
		border-top: 1px solid var(--wp--preset--color--massing);
		box-shadow: 0 8px 28px rgb(0 0 0 / 45%);
		z-index: 95;
	}

	.bdsm-meny--js.bdsm-meny--oppen .bdsm-meny__lista {
		display: flex;
	}

	.bdsm-meny__knapp {
		width: 100%;
		justify-content: space-between;
		border-color: transparent transparent var(--wp--preset--color--linje);
		padding: 0.9rem 1rem;
	}

	.bdsm-meny__under {
		position: static;
		border: 0;
		box-shadow: none;
		background: var(--wp--preset--color--natt);
		padding: 0;
	}

	.bdsm-meny__under a {
		padding-left: 2rem;
		border-bottom: 1px solid var(--wp--preset--color--linje);
	}
}

@media print {
	.bdsm-meny {
		display: none !important;
	}
}

/* --- Breda vyer -------------------------------------------------------- */

/* Löptext behåller läsbar radlängd även i breda containrar. */
.bdsm-bred .wp-block-post-content > p,
.bdsm-bred .wp-block-post-content > ul,
.bdsm-bred .wp-block-post-content > ol,
.bdsm-bred .wp-block-post-content > h2,
.bdsm-bred .wp-block-post-content > h3 {
	max-width: 46rem;
}

/* Men rutnät, listor och formulär får ta hela bredden. */
.bdsm-bred .bdsmm-rutnat,
.bdsm-bred .bdsmm-bildrutnat,
.bdsm-bred .bdsm-galleri,
.bdsm-bred .bdsmm-flikar,
.bdsm-bred .bdsmm-flode {
	max-width: none;
}
