/**
 * Relativt Senast besökta produkter
 *
 * Mobile first: under 1024 px är korten en horisontell slider med scroll-snap.
 * Från 1024 px är de en grid med 4 kolumner. Ändra brytpunkten i @media-regeln
 * längst ned (1024px).
 *
 * Färger, mellanrum och bildformat styrs med variablerna på .rsb.
 * Skriv över dem med egen CSS, t.ex.  .rsb { --rsb-bla: #000; }
 */

/* --- Dold container (Elementor) ------------------------------------------
 * Lägg klassen "rsb-sektion" på containern som omger rubriken och shortcoden.
 * Den är dold tills JS hittat minst en produkt att visa.
 * I Elementors redigerare visas den alltid. */
body:not(.elementor-editor-active) .rsb-sektion:not(.rsb-sektion--visas) {
	display: none;
}

/* --- Variabler --------------------------------------------------------- */
.rsb {
	--rsb-bla: #073c7c;
	--rsb-gra: #f4f6f7;
	--rsb-vit: #fff;
	--rsb-text: #333;
	--rsb-avstand: 20px;     /* Mellanrum mellan korten. */
	--rsb-ram: 20px;          /* Grå kant runt hela raden. */
	--rsb-bildmarginal: 8px; /* Luft runt produktbilden. */
	--rsb-bildformat: 1 / 1; /* Bildytans proportioner. Hela bilden visas alltid. */

	position: relative;
}

.rsb[hidden] {
	display: none;
}

/* --- Lista (slider) ---------------------------------------------------- */
.rsb .rsb-lista {
	display: flex;
	gap: var(--rsb-avstand);
	margin: 0;
	list-style: none;
	background: var(--rsb-gra);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-padding-inline: var(--rsb-ram);
	overscroll-behavior-x: contain;
	scrollbar-width: none;
}
#innehall .elementor-widget-container .rsb-lista {
	padding: 20px !important;
}
#innehall .elementor-widget-container .rsb-lista li:not(.elementor-icon-list-item)::before {
	content: none;
}
#innehall .elementor-widget-container .rsb-lista li {
	padding-left: 0;
    margin-bottom: 0;
}
.rsb .rsb-lista::-webkit-scrollbar {
	display: none;
}

/* --- Kort -------------------------------------------------------------- */
.rsb .rsb-kort {
	flex: 0 0 80%; /* Mobil: nästa kort skymtar fram. */
	min-width: 0;
	margin: 0;
	background: var(--rsb-vit);
	scroll-snap-align: start;
}

.rsb .rsb-bild-lank {
	position: relative;
	display: block;
	aspect-ratio: var(--rsb-bildformat);
}

.rsb .rsb-bild {
	position: absolute;
	top: var(--rsb-bildmarginal);
	left: var(--rsb-bildmarginal);
	width: calc(100% - 2 * var(--rsb-bildmarginal));
	height: calc(100% - 2 * var(--rsb-bildmarginal));
	max-width: none;
	object-fit: contain; /* Hela bilden syns, ingen beskärning. */
}

.rsb .rsb-innehall {
	padding: 14px 15px 20px;
}

.rsb .rsb-titel {
	margin: 0 0 0.5em;
	font-family: inherit;
	font-size: 1.15em;
	font-weight: 700;
	line-height: 1.3;
}

.rsb .rsb-titel a {
	color: var(--rsb-bla);
	font: inherit;
	text-decoration: none;
}

.rsb .rsb-titel a:hover,
.rsb .rsb-titel a:focus-visible {
	color: var(--rsb-bla);
	text-decoration: underline;
}

.rsb .rsb-text {
	margin: 0;
	color: var(--rsb-text);
	line-height: 1.5;
}

/* --- Pilknappar -------------------------------------------------------- */
.rsb .rsb-knapp {
	position: absolute;
	top: 50%;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: -22px 0 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--rsb-bla);
	color: #fff;
	line-height: 1;
	cursor: pointer;
	transition: opacity 0.2s;
}

/* Samma utseende i alla lägen, så att sidbyggarens knappstil inte slår igenom. */
.rsb .rsb-knapp:hover,
.rsb .rsb-knapp:focus {
	background: var(--rsb-bla);
	color: #fff;
}

.rsb .rsb-knapp:focus-visible {
	outline: 2px solid var(--rsb-bla);
	outline-offset: 2px;
}

.rsb .rsb-knapp:disabled {
	opacity: 0.35;
	cursor: default;
}

.rsb .rsb-knapp[hidden] {
	display: none;
}

.rsb .rsb-knapp--fore {
	left: 8px;
}

.rsb .rsb-knapp--nasta {
	right: 8px;
}

.rsb .rsb-knapp--fore .rsb-pil {
	transform: scaleX(-1); /* Samma pil, spegelvänd. */
}

.rsb .rsb-pil {
	display: block;
	width: 24px;
	height: 24px;
}

/* --- Surfplatta: ca 45 % kortbredd -------------------------------------- */
@media (min-width: 600px) {
	.rsb .rsb-kort {
		flex-basis: 45%;
	}
}

/* --- Desktop: grid med 4 kolumner, inga knappar ------------------------- */
@media (min-width: 1024px) {
	.rsb .rsb-lista {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		overflow: visible;
		scroll-snap-type: none;
	}

	.rsb .rsb-knapp {
		display: none;
	}
}