﻿/* Hamburgguiden.se – mobilmeny i originalsajtens färgpalett */

.rm-mobile-menu {
	display: none;
}

@container hamburg-shell (max-width: 820px) {
	.rm-mobile-menu {
		display: block;
		position: relative;
		width: calc(100% - 30px);
		margin: -2px 15px 18px;
		background: #FAFAD2;
		border: 1px solid #CC3300;
		font-family: "Trebuchet MS", Tahoma, Arial, sans-serif;
		text-align: left;
		z-index: 1000;
	}

	.rm-mobile-menu-toggle {
		position: absolute;
		width: 1px;
		height: 1px;
		margin: -1px;
		padding: 0;
		overflow: hidden;
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		white-space: nowrap;
		border: 0;
	}

	.rm-mobile-menu-bar {
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 52px;
		padding: 0 10px 0 16px;
		background: #FAFAD2;
	}

	.rm-mobile-menu-title {
		color: #B84A00;
		font-size: 18px;
		font-weight: 700;
		line-height: 1;
	}

	.rm-mobile-menu-button {
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 5px;
		width: 44px;
		height: 44px;
		margin: 0;
		padding: 10px;
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
	}

	.rm-mobile-menu-button span {
		display: block;
		width: 24px;
		height: 2px;
		margin: 0 auto;
		background: #B84A00;
		transform-origin: center;
		transition: transform .25s ease, opacity .2s ease;
	}

	.rm-mobile-menu-toggle:checked ~ .rm-mobile-menu-bar .rm-mobile-menu-button span:nth-child(1) {
		transform: translateY(7px) rotate(45deg);
	}

	.rm-mobile-menu-toggle:checked ~ .rm-mobile-menu-bar .rm-mobile-menu-button span:nth-child(2) {
		opacity: 0;
	}

	.rm-mobile-menu-toggle:checked ~ .rm-mobile-menu-bar .rm-mobile-menu-button span:nth-child(3) {
		transform: translateY(-7px) rotate(-45deg);
	}

	.rm-mobile-menu-panel {
		max-height: 0;
		overflow: hidden;
		visibility: hidden;
		background: #FAFAD2;
		border-top: 1px solid transparent;
		transition: max-height .35s ease, visibility 0s linear .35s, border-color .2s ease;
	}

	.rm-mobile-menu-toggle:checked ~ .rm-mobile-menu-panel {
		max-height: 850px;
		visibility: visible;
		border-top-color: #CC3300;
		transition: max-height .35s ease, visibility 0s linear 0s, border-color .2s ease;
	}

	.rm-mobile-menu-list {
		display: block;
		width: 100%;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.rm-mobile-menu-item {
		display: block;
		width: 100%;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.rm-mobile-menu-item + .rm-mobile-menu-item {
		border-top: 1px solid #CC3300;
	}

	.rm-mobile-menu-item > a,
	.rm-mobile-menu-item > a:visited {
		display: block;
		width: 100%;
		padding: 12px 16px;
		box-sizing: border-box;
		background: #FAFAD2;
		color: #FF6600;
		font-size: 16px;
		font-weight: 700;
		line-height: 1.3;
		text-decoration: none;
	}

	.rm-mobile-menu-item > a:hover,
	.rm-mobile-menu-item > a:focus {
		background: #FFA319;
		color: #000000;
		text-decoration: none;
	}

	.rm-mobile-menu-item.is-active > a {
		color: #000000;
		box-shadow: inset 4px 0 0 #CC3300;
	}
}

@supports not (container-type: inline-size) {
	@media (max-width: 844px) {
		.rm-mobile-menu {
			display: block;
			position: relative;
			width: calc(100% - 30px);
			margin: -2px 15px 18px;
			background: #FAFAD2;
			border: 1px solid #CC3300;
			font-family: "Trebuchet MS", Tahoma, Arial, sans-serif;
			text-align: left;
		}

		.rm-mobile-menu-toggle {
			position: absolute;
			opacity: 0;
			pointer-events: none;
		}

		.rm-mobile-menu-bar {
			display: flex;
			align-items: center;
			justify-content: space-between;
			min-height: 52px;
			padding: 0 10px 0 16px;
		}

		.rm-mobile-menu-title {
			color: #B84A00;
			font-size: 18px;
			font-weight: 700;
		}

		.rm-mobile-menu-button {
			display: flex;
			flex-direction: column;
			justify-content: center;
			gap: 5px;
			width: 44px;
			height: 44px;
			padding: 10px;
			cursor: pointer;
		}

		.rm-mobile-menu-button span {
			display: block;
			width: 24px;
			height: 2px;
			margin: 0 auto;
			background: #B84A00;
		}

		.rm-mobile-menu-panel {
			display: none;
		}

		.rm-mobile-menu-toggle:checked ~ .rm-mobile-menu-panel {
			display: block;
		}

		.rm-mobile-menu-list {
			margin: 0;
			padding: 0;
			list-style: none;
		}

		.rm-mobile-menu-item > a,
		.rm-mobile-menu-item > a:visited {
			display: block;
			padding: 12px 16px;
			color: #FF6600;
			font-size: 16px;
			font-weight: 700;
			text-decoration: none;
		}
	}
}
