

/*Old from Skoterskrot.se*/


A:hover
{
	FONT: 11px Verdana;
	COLOR: #cc0000;
	TEXT-DECORATION: underline
}

/* Gemensam resultatlayout för objekt och delar. */
.catalog-search {
	max-width: 760px;
	margin: 1rem 0 1.5rem;
}

.catalog-search label {
	display: block;
	margin-bottom: .4rem;
	font-weight: 700;
}

.catalog-search .form-control,
.catalog-search .btn {
	min-height: 48px;
}

.catalog-card-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 1rem;
}

.object-card-list {
	grid-auto-rows: 190px;
}

.catalog-card-list > * {
	min-width: 0;
}

.catalog-card-link,
.catalog-card-link:link,
.catalog-card-link:visited {
	display: block;
	height: 100%;
	color: #202020;
	text-decoration: none;
}

.catalog-card {
	min-width: 0;
	overflow: hidden;
	border: 1px solid #202020;
	background: #fff;
	box-shadow: 4px 4px 0 rgba(32, 32, 32, .14);
}

.object-card,
.part-card-summary {
	display: grid;
	grid-template-columns: minmax(135px, 38%) minmax(0, 1fr);
	height: 190px;
}

.object-card {
	height: 190px;
}

.catalog-card-link:hover .catalog-card,
.catalog-card-link:focus-visible .catalog-card,
.part-card:hover,
.part-card:focus-within {
	border-color: #8f9200;
	box-shadow: 6px 6px 0 #d7d700;
}

.catalog-card-link:focus-visible,
.part-card-summary:focus-visible {
	outline: 3px solid #202020;
	outline-offset: 3px;
}

.catalog-card-media {
	position: relative;
	display: block;
	min-width: 0;
	height: 100%;
	min-height: 0;
	overflow: hidden;
	background: #efefeb;
}

.catalog-card-media img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	min-height: 0;
	padding: 0;
	object-fit: cover;
}

.catalog-card-media img.brand-fallback {
	padding: 1.25rem;
	background: #f7f7f4;
	object-fit: contain !important;
}

.catalog-card-content {
	display: flex;
	min-width: 0;
	padding: 1rem;
	flex-direction: column;
	align-items: flex-start;
}

.catalog-card-eyebrow {
	margin-bottom: .3rem;
	color: #5c5c55;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.catalog-card-content h2,
.catalog-card-title {
	display: block;
	margin: 0 0 .55rem;
	font-size: 1.18rem;
	font-weight: 800;
	line-height: 1.2;
}

.catalog-card-facts {
	display: flex;
	flex-wrap: wrap;
	gap: .3rem .85rem;
	margin: 0;
	font-size: .84rem;
}

.catalog-card-facts div {
	display: flex;
	gap: .25rem;
}

.catalog-card-facts dt {
	font-weight: 700;
}

.catalog-card-facts dd {
	margin: 0;
}

.catalog-card-action {
	display: block;
	margin-top: auto;
	padding-top: .65rem;
	color: #353700;
	font-size: .82rem;
	font-weight: 800;
}

.catalog-card--detail {
	height: auto;
	min-height: 190px;
	max-width: 760px;
}

.catalog-card--detail .catalog-card-media {
	min-height: 190px;
}

.object-detail {
	max-width: 760px;
}

.part-card {
	display: block;
	padding: 0 !important;
	border-width: 1px !important;
}

.part-card-summary {
	padding: 0;
	cursor: pointer;
	list-style: none;
}

.part-card-summary::-webkit-details-marker {
	display: none;
}

.part-card-fit,
.part-card-source,
.part-card-price,
.part-card-oem {
	display: block;
	font-size: .86rem;
	line-height: 1.3;
}

.part-card-fit,
.part-card-source,
.part-card-oem {
	color: #4f4f49;
}

.part-card-source {
	max-width: 100%;
	overflow-wrap: anywhere;
	white-space: normal;
}

.part-card-price {
	margin-top: .4rem;
	font-weight: 800;
}

.part-card-oem {
	margin-top: .1rem;
}

.part-card[open] .catalog-card-action span {
	display: inline-block;
	transform: rotate(180deg);
}

.part-card-details {
	padding: 1rem;
	border-top: 1px solid #ccc;
	background: #fafaf7;
}

.part-card-details dl {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .65rem 1rem;
	margin: 0;
}

.part-card-details dl > div {
	min-width: 0;
}

.part-card-details dt {
	font-size: .78rem;
	font-weight: 800;
}

.part-card-details dd {
	margin: .1rem 0 0;
	overflow-wrap: anywhere;
}

.part-gallery-button {
	margin-top: 1rem;
	padding: .45rem .7rem;
	border: 1px solid #202020;
	background: #202020;
	color: #fff;
	font-weight: 700;
}

.part-page-size {
	display: grid;
	grid-template-columns: max-content minmax(110px, 180px);
	align-items: center;
	gap: .65rem;
}

.part-page-size label {
	margin: 0;
	font-weight: 700;
}

@media (max-width: 767px) {
	.catalog-card-list {
		grid-template-columns: 1fr;
	}

	.object-card,
	.part-card-summary {
		grid-template-columns: 118px minmax(0, 1fr);
		height: 180px;
	}

	.object-card {
		height: 160px;
		min-height: 160px;
	}

	.object-card-list {
		grid-auto-rows: 160px;
	}

	.catalog-card--detail {
		height: auto;
	}

	.catalog-card--detail .catalog-card-media {
		min-height: 160px;
	}

	.catalog-card-content {
		padding: .8rem;
	}

	.catalog-card-content h2,
	.catalog-card-title {
		font-size: 1rem;
	}

	.catalog-card-eyebrow {
		font-size: .68rem;
	}

	.part-card-details dl {
		grid-template-columns: 1fr;
	}

	.part-page-size {
		grid-template-columns: 1fr;
		gap: .3rem;
	}


}
A:active
{
	FONT: 11px Verdana;
	COLOR: #336699;
	TEXT-DECORATION: underline
}
A:visited
{
	FONT: 11px Verdana;
	COLOR: #336699;
	TEXT-DECORATION: underline
}
A:link
{
	FONT: 11px Verdana;
	COLOR: #336699;
	TEXT-DECORATION:underline
}
ol {  margin:0 0 0 28px; padding:0; }
ul {  margin:0 0 0 20px; padding:0; }






/*everything about the banner and navbar */

body{

	font-size: 1.6em;
	
	margin-left: 0.333em;

	min-height: 100vh;
	font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica New, Helvetica, Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;
}
	/*background-color: #0de7dc;*/

@media(max-width: 991px){
	
	.container-xl{
		margin: 0;
		padding: 0;
	}
}

.banner{
	width: 100%;
	position: relative;

}
.banner a{
	
	height: 100%;
	margin: 0 30px;
	text-decoration: none;
	display: flex;
	align-items: center; 
	color: rgb(200,198,0);
	
	font-weight: bold;
}
.banner-background a{
	
	height: 100%;
	margin: 0 30px;
	
	display: flex;
	align-items: center; 
	color: rgb(200,198,0);
	
	font-weight: bold;
}
.banner a:hover{
	color: rgb(201, 235, 79);
	
}
.banner .active{
	border-style: none none solid none;
	border-color: rgb(200,198,0);
	border-width: 2px;
	height: 30px;
	margin-top: 10px;
}
.banner-background{
	
		background-color: black;
}
.banner-img{
	padding: 30px;
	max-width: 100%;
}
.banner-img-mobile{
	background-image: url("../img/banner-contact.svg?v=20261013-2");
	width: 100%;
	height: 60px;
	padding: 5px;
	background-size: 161.344px;
	background-repeat: no-repeat;
	background-color: black;
	background-position: left center;
	
}
.banner-teaserpic{
	width: 100%;
	-webkit-mask-image: radial-gradient(ellipse, black 49%, rgba(0, 0, 0, 0) 65%);
  	mask-image: radial-gradient(ellipse, black 49%, rgba(0, 0, 0, 0) 65%);
}
.banner ul{
	list-style: none;
	margin: 0;
}

.main-nav{
	margin: 0;
	padding: 0;
	background-color: rgba(0, 0, 0, 0.877);
	box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.1);
}

.main-nav ul{
	
	width: 100%;

	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.main-nav li{
	height: 50px;

	
}


.mobile-nav{
	margin: 0;
	padding: 0;
	background-color: rgba(212, 25, 25, 0.75);
	backdrop-filter: blur(10px);
	box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.1);
	position: fixed;
	top: 55px;
	left: 0px;

	width: 250px;
	z-index: 999;
	display: none;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
}
.mobile-nav ul{
	margin: 0;
}
.mobile-nav li{
	height: 50px;
	width: 100%;
}
.mobile-nav a{
	
	width: 100%;
}

#patty-fly span {
	display: block;
	width: 40px;
	height: 3px;
	margin: 7px 0;
	background-color: rgba(200, 198, 0);
	
	transition: 0.2s;
}

.mobile-menu-button {
	border: 0;
	padding: 0;
}

#patty-fly {
	background-color: black;
	right: 40px; 
	top: 8px; 
	margin: auto 0;
	cursor: pointer;
	position: absolute;
}

.open .patty1 {
	-webkit-transform: rotate(-45deg) translate(-0px, 10px);
	transform: rotate(-45deg) translate(-0px, 10px);
}
.open .patty2 {
	opacity: 0;
	-webkit-transform: translateX(80px);
	transform: translateX(80px);
}
.open .patty3 {
	-webkit-transform: rotate(45deg) translate(-12px, -16px);
	transform: rotate(45deg) translate(-0px, -10px);
}
  


/* For the auction */		
.auction-box{
	margin-top: 0em;
	box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.1);
	border-style: solid;
	border-width: 1px;
	border-color: #dfdfdf;
	max-width: 800px;	
}

.auction-box input{
	width: 80%;
	margin-bottom: 10px;
	
	FONT-SIZE: 15px;
	  FONT-FAMILY: Arial;
	  COLOR: #000000;
	  font-weight: Bold;
}
.auction-box select{
	
	margin-bottom: 10px;
	
	FONT-SIZE: 15px;
	  FONT-FAMILY: Arial;
	  COLOR: #000000;
	  font-weight: Bold;
}

.auction-box h2{
	text-align: center;
}
.auction-box p{
	text-align: center;
}
.auction-box .submit{
	text-align: center;
	width: 30%;
	margin: auto;
	
}


/* For the login */
.login-box{
	margin-top: 0em;
	box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.1);
	border-style: solid;
	border-width: 1px;
	border-color: #dfdfdf;
	max-width: 800px;	
}

.login-box input{
	width: 80%;
	margin-bottom: 10px;
	
	FONT-SIZE: 15px;
	  FONT-FAMILY: Arial;
	  COLOR: #000000;
	  font-weight: Bold;
}

.login-box h2{
	text-align: center;
}
.login-box p{
	text-align: center;
}
.login-box .submit{
	text-align: center;
	width: 30%;
	margin: auto;
	
}

.login-fail{
	
	color: red;
}

/* invisible form element for bot capture */
.contact-vis{

	display: none;
}

/* object list */
.object-list{
	border: 2px;
	box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.1);
	padding: 0.5em;
	
}
.object-list img{
	padding: 2px;
	
	max-width: 100%;
}

.img-txt-container {
  position: relative;
  display: block;
  overflow: hidden;
  min-height: 230px;
  aspect-ratio: 4 / 3;
  text-align: center;
  color: yellow;
  background-color: black;
}

.img-txt-container > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  padding: 0;
}

.img-txt-container > div {
  padding: 0.2rem 0.4rem;
  background: rgba(0, 0, 0, 0.68);
  line-height: 1.2;
}

/* Bottom left text */
.img-txt-bottom-left {
  position: absolute;
  bottom: 8px;
  left: 16px;
}

/* Top left text */
.img-txt-top-left {
  position: absolute;
  top: 8px;
  left: 16px;
}

/* Top right text */
.img-txt-top-right {
  position: absolute;
  top: 8px;
  right: 16px;
}

/* Bottom right text */
.img-txt-bottom-right {
  position: absolute;
  bottom: 8px;
  right: 16px;
}

/* Centered text */
.img-txt-centered {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* part list */
.part-list{
	border: 2px;
	box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.1);
	padding: 0.5em;
	
}
.part-list-header{
	font-weight: bold;
}
.part-list img{
	padding: 2px;
	max-width: 100%;
	cursor: pointer;
}
.part-list .row{
	border: 0.01em solid;
	position: relative;
	z-index: 0;
}

.delete-part{
	position: absolute;
	top: 0;
	right: 0;
	color: red;
	border: 0.01em solid;
	border-color:red;
	font-size: 3em;
	width: 50px;
	height: 50px;
	text-align: center;
}
.edit-part{
	position: absolute;
	top: 0;
	right: 50px;
	color: green;
	border: 0.01em solid;
	border-color:green;
	font-size: 3em;
	width: 50px;
	height: 50px;
	text-align: center;
}

/* default nav on backend */
.default-nav img{
	width: 100%;
	max-height: 100px;
}
.script_success{
	color: green;
}
.script_error{
	color: red;
	background-color: light-red;
}


/* Full screen Image Gallery*/
.image-gallery-popup{
	display: none;
	position: fixed;

	height: 100dvh;
	
	top: 0px;

	margin-right: 0;
	margin-left: -25px;
	padding-right: 11px;
	padding-left: 11px;

	z-index: 99;
	
}

@media(max-width: 1200px){
	.image-gallery-popup{
		left: 0;
		max-width: 100vw;
		width: 100vw;
		margin-left: 0px;
		padding: 0;
	}
	

}

.image-gallery-popup img{
	
	max-height: 100%;
	max-width: 100%;
}
.box-slides {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 20px;

  	position: relative;
	background-color: rgba(0,0,0,0.88);
	height: 100%;
	scrollbar-width: none;
}

.box-slides > div {
	scroll-snap-align: center;
	flex-shrink: 0;
	width: 100%;
	margin-right: 20px;
	border-radius: 10px;
	transform-origin: center center;
	transform: scale(1);
	transition: transform 0.5s;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

.gallery-close{
	cursor: pointer;
	position: absolute;
	top: 20px;
	right: 60px;
	
	width: 50px;
	height: 50px;
	z-index: 999;

}

.gallery-close div {
	width: 80px;
	height: 6px;
	margin: 14px 0;
	background-color: rgba(200, 198, 0);
	
	transition: 0.2s;
}



.cross1 {
	-webkit-transform: rotate(-45deg) translate(-0px, 10px);
	transform: rotate(-45deg) translate(-0px, 10px);
}

.cross2 {
	-webkit-transform: rotate(45deg) translate(-12px, -16px);
	transform: rotate(45deg) translate(-0px, -10px);
}

.gallery-next{
	cursor: pointer;
	position: absolute;
	top: calc(50% - 50px);
	right: 60px;
	
	width: 100px;
	height: 100px;
	z-index: 999;

}

.gallery-next div {
	width: 80px;
	height: 6px;
	margin: 14px 0;
	background-color: rgba(200, 198, 0);
	
	transition: 0.2s;
}



.arrownext1 {
	-webkit-transform: rotate(-45deg) translate(-51px, 51px);
	transform: rotate(-45deg) translate(-51px, 51px);
}

.arrownext2 {
	-webkit-transform: rotate(45deg) translate(-0px, -1px);
	transform: rotate(45deg) translate(-0px, -1px);
}
.gallery-previous{
	cursor: pointer;
	position: absolute;
	top: calc(50% - 50px);
	left: 60px;
	
	width: 100px;
	height: 100px;
	z-index: 999;

}

.gallery-previous div {
	width: 80px;
	height: 6px;
	margin: 14px 0;
	background-color: rgba(200, 198, 0);
	
	transition: 0.2s;
}



.arrowprev1 {
	-webkit-transform: rotate(45deg) translate(51px, 51px);
	transform: rotate(45deg) translate(51px, 51px);
}

.arrowprev2 {
	-webkit-transform: rotate(-45deg) translate(-0px, -1px);
	transform: rotate(-45deg) translate(-0px, -1px);
}




.img-preview{
	
	background: url("");
	background-repeat: no-repeat;
	height: 100px;
	margin-left: 0.5em;
}

.cart{
	position: fixed;
	top: 0px;
	right: 0px; 
	background-color: rgba(255, 255, 255, 1);
	box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.5);
	border-style: solid;
	border-color: rgb(0,0,0,0.5);
	border-width: 2px;
	min-width: 500px;
}
.cart-row{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	
}
.add-cart{
	
	color: green;
	border: 0.01em solid;
	border-color:green;
	font-size: 3em;
	
	
	text-align: center;
}
.deduct-cart{
	
	color: red;
	border: 0.01em solid;
	border-color:red;
	font-size: 3em;

	text-align: center;
}
.remove-cart{
	
	color: red;
	border: 0.01em solid;
	border-color:red;
	font-size: 3em;
	
	text-align: center;
}

/* Strukturerad publik frontend. Retrofärgerna behålls, men komponenterna får
   konsekvent typografi, fokusmarkering och responsiv layout. */
body {
	font-size: 1rem;
	margin-left: 0;
	background: #f5f5f3;
}

.frontend-content {
	background: #fff;
	min-height: 360px;
	padding: 1.25rem;
}

.site-update-notice {
	padding: .65rem 1rem;
	border-bottom: 1px solid #d4d19d;
	background: #f6f5dc;
	color: #29291f;
	font-size: .9rem;
	line-height: 1.5;
	overflow-wrap: anywhere;
}

.site-update-notice p { margin: 0; }
.site-update-notice a { color: inherit; text-decoration: underline; text-underline-offset: .15em; }
.site-update-notice a:hover { text-decoration-thickness: 2px; }
.site-update-notice a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

.frontend-section {
	max-width: 1100px;
	margin: 0 auto;
}

.frontend-section h1 {
	margin: 0 0 1rem;
	font-size: clamp(2rem, 4vw, 3rem);
}

.prose {
	max-width: 760px;
	margin-left: 0;
}

.prose address {
	font-style: normal;
}

.part-search {
	max-width: 760px;
	margin: 1rem 0 1.5rem;
}

.part-search label {
	display: block;
	margin-bottom: .4rem;
	font-weight: 700;
}

.part-search .form-control,
.part-search .btn {
	min-height: 48px;
}

.part-brand-filter {
	margin: .9rem 0 0;
	padding: 0;
	border: 0;
}

.part-primary-filter {
	margin: .85rem 0 1rem;
}

.part-brand-filter legend {
	margin-bottom: .45rem;
	font-size: 1rem;
	font-weight: 700;
}

.part-brand-options {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
}

.part-brand-options label,
.part-brand-all {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	min-height: 42px;
	padding: .45rem .7rem;
	border: 1px solid #333;
	background: #fff;
	color: #111;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
}

.part-brand-options label:has(input:checked),
.part-brand-all.active {
	background: #202020;
	color: #e2e600;
}

.part-brand-options input {
	width: 20px;
	height: 20px;
	margin: 0;
}

.search-status {
	min-height: 1.25rem;
	margin: .25rem 0 0;
	color: #555;
	font-size: .875rem;
}

.part-model-filter {
	display: grid;
	grid-template-columns: 120px minmax(220px, 1fr);
	align-items: center;
	gap: .75rem;
	margin: .75rem 0;
}

.part-model-filter label {
	margin: 0;
}

.part-model-filter .form-select {
	min-height: 44px;
}

.part-model-filter--advanced {
	margin: .75rem 0 0;
}

.part-advanced-controls {
	margin-top: .75rem;
	border: 1px solid #333;
	background: #fafafa;
}

.part-advanced-controls > summary {
	padding: .7rem .85rem;
	font-weight: 700;
	cursor: pointer;
}

.part-advanced-controls[open] > summary {
	border-bottom: 1px solid #ccc;
}

.part-advanced-body {
	padding: .2rem .85rem .85rem;
}

.part-result-controls {
	display: grid;
	grid-template-columns: auto minmax(190px, 1fr) auto 110px auto 110px;
	align-items: center;
	gap: .5rem;
	margin: .65rem 0;
}

.part-result-controls label {
	margin: 0;
	white-space: nowrap;
}

.part-result-controls .form-control,
.part-result-controls .form-select {
	min-height: 42px;
}

.shipping-postcode {
	display: grid;
	grid-template-columns: minmax(150px, 190px) minmax(180px, 1fr);
	align-items: center;
	gap: .25rem .75rem;
	margin: .65rem 0 0;
}

.shipping-postcode label {
	margin: 0;
}

.shipping-postcode .form-control {
	min-height: 42px;
}

.shipping-postcode small {
	grid-column: 2;
	color: #555;
}

.active-filter {
	padding: .65rem .8rem;
	border-left: 5px solid #d7d700;
	background: #f3f3e8;
}

.source-object-link {
	position: relative;
	display: inline-block;
	font-weight: 700;
}

.source-object-preview {
	position: absolute;
	z-index: 20;
	top: calc(100% + .4rem);
	left: 0;
	display: none;
	width: min(280px, 75vw);
	padding: .65rem;
	border: 2px solid #202020;
	background: #fff;
	color: #111;
	box-shadow: 6px 6px 0 #d7d700;
}

.source-object-preview img {
	display: block;
	width: 100%;
	max-height: 150px;
	margin-bottom: .5rem;
	object-fit: cover;
}

.source-object-preview span,
.source-object-preview strong {
	display: block;
	margin-top: .3rem;
}

.source-object-link:hover .source-object-preview,
.source-object-link:focus .source-object-preview,
.source-object-link:focus-visible .source-object-preview {
	display: block;
}

.object-detail {
	padding: 1rem;
	border: 1px solid #202020;
	border-top: 0;
}

.part-fits-list summary {
	font-weight: 700;
	text-decoration: underline;
	cursor: pointer;
}

.part-fits-list ul {
	max-height: 260px;
	margin: .5rem 0 0;
	padding-left: 1.15rem;
	overflow: auto;
}

@media (hover: none) {
	.source-object-preview {
		display: none !important;
	}
}

/* Keep the brand yellow readable on filled dark buttons, including links. */
.frontend-content .btn-dark,
.frontend-content .btn-outline-dark:not(:disabled):not(.disabled):is(:hover, :focus-visible, :active),
.frontend-content .btn-outline-dark.active {
	color: #dcdc00;
	text-decoration: none;
}

.frontend-content .btn-outline-dark {
	color: #212529;
	text-decoration: none;
}

.home-intro p {
	max-width: 800px;
	font-size: 1.1rem;
}

.home-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
}

.frontend-content a,
.frontend-content a:link,
.frontend-content a:visited,
.frontend-content a:hover,
.frontend-content a:active {
	font: inherit;
}

.main-nav a,
.mobile-nav a,
.main-nav a:link,
.main-nav a:visited,
.mobile-nav a:link,
.mobile-nav a:visited {
	color: rgb(220, 220, 0);
	font: 700 .78rem Verdana, sans-serif;
	text-decoration: none;
}

.main-nav a:hover,
.mobile-nav a:hover {
	color: #fff900;
}

.part-list {
	padding: 0;
	border: 1px solid #222;
}

.part-list-header[role="row"] {
	padding: .6rem .25rem;
	background: #202020;
	color: #e2e600;
}

.part-list-row {
	align-items: center;
	padding: .5rem .25rem;
	border-width: 0 0 1px !important;
}

.part-primary strong,
.part-primary small,
.part-mobile-price {
	display: block;
}

.part-primary small {
	margin-top: .2rem;
	color: #555;
}

.part-mobile-price {
	margin-top: .35rem;
	font-weight: 700;
}

.part-mobile-details {
	margin-top: .55rem;
	padding: 0 !important;
	border-top: 1px solid #ddd;
}

.part-mobile-details > summary {
	padding: .55rem 0 .1rem;
	font-weight: 700;
	text-decoration: underline;
	cursor: pointer;
}

.part-mobile-details dl {
	margin: .55rem 0 0;
}

.part-mobile-details dl > div {
	display: grid;
	grid-template-columns: 92px 1fr;
	gap: .5rem;
	padding: .35rem 0;
	border-top: 1px solid #eee;
}

.part-mobile-details dt {
	font-weight: 700;
}

.part-mobile-details dd {
	margin: 0;
	min-width: 0;
	overflow-wrap: anywhere;
}

.part-price > span,
.part-shipping-result {
	display: block;
}

.part-shipping-button {
	margin-top: .35rem;
	padding: .25rem .4rem;
	border: 1px solid #202020;
	background: #fff;
	color: #111;
	font-size: .72rem;
	font-weight: 700;
	line-height: 1.2;
}

.part-shipping-button:hover,
.part-shipping-button:focus-visible {
	background: #e2e600;
}

.part-shipping-result {
	margin-top: .3rem;
	font-size: .72rem;
	line-height: 1.25;
}

.part-photo-button {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
}

.part-photo-button:disabled {
	cursor: default;
}

.part-photo img {
	width: 80px;
	height: 80px;
	object-fit: cover;
}

img.brand-fallback {
	object-fit: contain !important;
	padding: .35rem;
	background: #fff;
}

.accessory-brands img {
	width: 100%;
	height: auto;
}

.empty-state {
	padding: 1.25rem;
	border-left: 5px solid #d6dc00;
	background: #f1f1ed;
}

.gallery-close,
.gallery-next,
.gallery-previous {
	border: 0;
	background: transparent;
}

.gallery-close span,
.gallery-next span,
.gallery-previous span {
	display: block;
	width: 80px;
	height: 6px;
	margin: 14px 0;
	background-color: rgb(220, 220, 0);
}

.cart {
	z-index: 1000;
	max-width: min(500px, 100vw);
	min-width: 0;
	padding: .5rem;
}

.cart-row {
	gap: .5rem;
}

.cart-row button {
	border: 1px solid #333;
	background: #fff;
	font-size: 1.25rem;
	font-weight: 700;
}

:focus-visible {
	outline: 3px solid #0069d9;
	outline-offset: 2px;
}

@media (max-width: 767px) {
	.part-model-filter {
		grid-template-columns: 1fr;
		gap: .2rem;
	}

	.part-result-controls {
		grid-template-columns: 1fr 1fr;
	}

	.part-result-controls label {
		white-space: normal;
	}

	.part-result-controls label:first-child,
	.part-result-controls .form-select {
		grid-column: 1 / -1;
	}
	.shipping-postcode {
		grid-template-columns: 1fr;
	}

	.shipping-postcode small {
		grid-column: 1;
	}
	.banner > .banner-img-mobile {
		display: block !important;
		box-sizing: border-box;
		width: 100%;
		height: 82px;
		margin: 0;
		padding: 0;
		background-size: auto 70px;
		background-position: 12px center;
	}

	#patty-fly {
		top: 18px;
		right: 16px;
		width: 52px;
		height: 46px;
		padding: 6px;
	}

	#patty-fly span {
		width: 40px;
	}

	.frontend-content {
		padding: 1rem .75rem;
	}
	.mobile-nav {
		position: absolute;
		top: 82px;
		right: 0;
		left: auto;
		width: min(88vw, 320px);
		background: rgba(20, 20, 20, .97);
	}
	.mobile-nav ul {
		width: 100%;
	}
	.mobile-nav li {
		height: auto;
	}
	.mobile-nav a {
		min-height: 48px;
		margin: 0;
		padding: .8rem 1rem;
	}
	.part-list-row {
		align-items: flex-start;
		padding: .65rem;
	}
	.part-photo {
		margin-bottom: 0;
	}
	.part-photo img {
		width: 72px;
		height: 72px;
	}
}

/* Varukorg och köpsteg. Varorna reserveras först när Vidar har verifierat
   beställningsförfrågan, därför används "Lägg i varukorg" i stället för köp. */
.part-cart-form {
	margin-top: 1rem;
}

.part-cart-button,
.cart-primary-link,
.cart-primary-link:link,
.cart-primary-link:visited {
	display: inline-flex;
	min-height: 46px;
	padding: .65rem 1rem;
	border: 2px solid #202020;
	background: #d6d700;
	color: #111;
	font-weight: 800;
	text-align: center;
	text-decoration: none;
	align-items: center;
	justify-content: center;
}

.part-cart-button:hover,
.part-cart-button:focus-visible,
.cart-primary-link:hover,
.cart-primary-link:focus-visible {
	background: #f0f000;
	color: #111;
}

.part-unavailable {
	margin: 1rem 0 0;
	font-weight: 800;
}

.cart-notice {
	max-width: 1100px;
	margin: 1rem auto 0;
	padding: .8rem 1rem;
	border: 1px solid #202020;
	border-left: 6px solid #8c9000;
	background: #f5f5d9;
	font-weight: 700;
}

.cart-notice--error {
	border-left-color: #b00000;
	background: #fff0f0;
}

.cart-page {
	max-width: 1000px;
}

.cart-item-list {
	display: grid;
	gap: .8rem;
	margin: 1.25rem 0;
}

.cart-item-card {
	display: grid;
	grid-template-columns: 130px minmax(0, 1fr) auto;
	gap: 1rem;
	min-height: 130px;
	padding: .75rem;
	border: 1px solid #202020;
	background: #fff;
	box-shadow: 4px 4px 0 rgba(32, 32, 32, .14);
	align-items: center;
}

.cart-item-card > img {
	display: block;
	width: 130px;
	height: 110px;
	object-fit: cover;
}

.cart-item-card > img.brand-fallback {
	padding: .7rem;
	object-fit: contain;
}

.cart-item-main h2 {
	margin: 0 0 .5rem;
	font-size: 1.25rem;
}

.cart-item-main p {
	margin: .2rem 0;
}

.cart-item-actions {
	display: grid;
	grid-template-columns: 46px minmax(32px, auto) 46px;
	gap: .35rem;
	align-items: center;
	justify-items: center;
}

.cart-item-actions form {
	margin: 0;
}

.cart-item-actions button {
	min-width: 46px;
	min-height: 46px;
	padding: .35rem .55rem;
	border: 1px solid #202020;
	background: #f5f5f2;
	font-size: 1.15rem;
	font-weight: 800;
}

.cart-item-actions button:hover,
.cart-item-actions button:focus-visible {
	background: #e4e500;
}

.cart-item-actions button:disabled {
	opacity: .4;
	cursor: not-allowed;
}

.cart-remove-form {
	grid-column: 1 / -1;
	width: 100%;
}

.cart-remove-form button {
	width: 100%;
	border-color: #b00000;
	background: #fff;
	color: #a00000;
	font-size: .85rem;
}

.cart-summary-box {
	padding: 1rem;
	border: 2px solid #202020;
	border-top: 8px solid #d6d700;
	background: #fafaf7;
}

.cart-summary-box > p:first-child {
	display: flex;
	gap: 1rem;
	margin: 0 0 .75rem;
	font-size: 1.15rem;
	justify-content: space-between;
}

.cart-summary-note {
	margin: .45rem 0;
	color: #4d4d47;
}

.cart-next-step {
	display: grid;
	gap: .2rem;
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid #bbb;
}

@media (max-width: 767px) {
	.part-cart-button {
		width: 100%;
	}

	.cart-notice {
		margin: .75rem;
	}

	.cart-item-card {
		grid-template-columns: 90px minmax(0, 1fr);
		gap: .75rem;
	}

	.cart-item-card > img {
		width: 90px;
		height: 90px;
	}

	.cart-item-actions {
		grid-column: 1 / -1;
		width: 100%;
		grid-template-columns: 46px minmax(32px, auto) 46px minmax(100px, 1fr);
		justify-content: stretch;
	}

	.cart-remove-form {
		grid-column: auto;
	}

	.cart-summary-box > p:first-child {
		align-items: flex-start;
	}
}

/* Details open below their card without moving the result order. */
.part-description { white-space: normal; overflow-wrap: anywhere; }
.part-fits-list ul { max-height: 14rem; overflow-y: auto; padding-left: 1.25rem; }
@media (min-width: 768px) {
    .part-card-list > .part-card[open] { grid-column: auto; align-self: start; }
    .part-card[open] > .part-card-summary { float: none; width: auto; }
    .part-card[open] > .part-card-details { margin-left: 0; border-top: 1px solid #ddd; border-left: 0; min-height: 0; }
}

.part-card-summary .catalog-card-content { position: relative; padding-top: 2rem; }
.part-condition-badge { position: absolute; top: .35rem; right: .45rem; padding: .15rem .5rem; background: #dcdc00; color: #161616; font-size: .75rem; font-weight: 800; text-transform: uppercase; line-height: 1.3; }

/* Compact catalogue layout: shared desktop width, restrained controls. */
.catalog-accessible-title {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
.catalog-browser .part-search {max-width:none;margin-top:20px;}
.catalog-tabs {display:flex;border-bottom:1px solid #ccc;gap:4px;margin-bottom:20px;}
.catalog-tabs a {padding:12px 24px;color:#222;text-decoration:none;border:1px solid #ccc;border-bottom:0;}
.catalog-tabs a.active {background:#202020;color:#e2e600;box-shadow:inset 0 -4px #d6da00;}
.catalog-search-row {display:grid;grid-template-columns:2.3fr 1fr 1fr;gap:20px;align-items:end;}
.catalog-search-row label {font-size:1rem;}
.catalog-search-row select {display:block;width:100%;height:48px;margin-top:6px;border:1px solid #aaa;border-radius:2px;background:white;padding:8px;font-weight:400;}
.catalog-browser .part-brand-options label {font-weight:400;border-color:#aaa;min-height:40px;}
.catalog-browser .part-brand-options label:has(input:checked) {background:#f7f7df;color:#111;}
.catalog-browser .search-status:empty {display:none;}
.catalog-browser .part-primary-filter {margin:18px 0;}
.catalog-browser .part-advanced-controls {background:#fff;border-color:#bbb;}
.catalog-browser .part-result-controls {grid-template-columns:auto 1fr auto 1fr;}
.catalog-results-bar {display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ddd;padding-top:16px;margin-top:20px;gap:12px;}
.catalog-results-bar>div {display:flex;align-items:center;gap:10px;}
.catalog-results-bar label {margin:0;font-weight:400;}
.catalog-results-bar select {width:auto;border-radius:2px;}
@media(min-width:1000px){
.catalog-browser .part-primary-filter {display:flex;align-items:center;gap:16px;}
.catalog-browser .part-primary-filter legend {float:left;width:64px;margin:10px 0;}
.catalog-browser .part-brand-options {flex:1;}
.catalog-browser .part-advanced-controls:not([open]) {width:max-content;margin-left:auto;margin-top:-60px;margin-bottom:20px;}
}
@media(max-width:767px){
.catalog-search-row {grid-template-columns:1fr 1fr;gap:12px;}
.catalog-search-box {grid-column:1/-1;}
.catalog-tabs a {padding:12px;font-size:1rem;}
.catalog-results-bar {flex-wrap:wrap;}
.catalog-browser .part-result-controls {grid-template-columns:auto 1fr;}
}

.catalog-shipping-dialog {width:min(460px,90vw);border:1px solid #333;padding:24px;}
.catalog-shipping-dialog::backdrop {background:#0008;}
.catalog-shipping-dialog .shipping-postcode {display:block;margin:16px 0;}

.track-search-row {grid-template-columns:1fr;}
.track-filter-fields {display:flex;flex-wrap:wrap;gap:18px;border:1px solid #ccc;padding:18px;margin-top:18px;align-items:end;}
.track-filter-fields legend {font-size:1.1rem;font-weight:bold;}
.track-filter-fields>div {flex:1 1 190px;}
.track-range {display:flex;gap:8px;}
.track-range label {flex:1;min-width:0;}
.track-filter-fields input,.track-filter-fields select {width:100%;min-height:44px;padding:8px;border:1px solid #aaa;background:#fff;}
.track-filter-fields strong {display:block;margin-bottom:8px;}
.track-card-measures {display:block;font-size:.88rem;margin:8px 0;}
.track-help {font-size:.9rem;color:#444;margin-top:12px;}
.catalog-tabs {flex-wrap:wrap;}
.track-intervals {flex:1 0 100%;border-top:1px solid #ccc;padding-top:12px;}
.track-intervals summary {cursor:pointer;font-weight:bold;}
.track-interval-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:12px 0;}
@media(max-width:650px){.track-interval-grid{grid-template-columns:1fr;}}

.track-measure-row {display:block;line-height:1.5;}

.part-card-summary .catalog-card-content {display:flex;flex-direction:column;min-width:0;}
.part-card-footer {display:flex;justify-content:space-between;align-items:end;gap:12px;margin-top:auto;padding-top:16px;}
.part-card-footer .catalog-card-action {margin:0;flex-shrink:0;}
.part-card-footer .part-card-price {margin:0;text-align:right;font-size:1rem;overflow-wrap:anywhere;}
.part-card-price del {display:block;font-size:.85em;font-weight:400;}
.mobile-brand-toggle,.mobile-brand-apply,.mobile-condition-select {display:none;}
@media(max-width:767px){
.mobile-filter-group {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;}
.mobile-filter-group fieldset {min-width:0;position:relative;}
.mobile-brand-toggle,.mobile-condition-select {display:block;box-sizing:border-box;width:100%;height:48px;min-height:48px;padding:10px;background:white;border:1px solid #aaa;border-radius:2px;color:#222;text-align:left;font:inherit;}
.mobile-brand-toggle {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.mobile-filter-group .part-brand-options {display:none;}
.mobile-brands-open .part-brand-options {display:flex;position:absolute;top:100%;left:0;width:min(85vw,360px);z-index:10;background:white;border:1px solid #aaa;padding:12px;box-shadow:0 5px 12px #0002;}
.mobile-brands-open .part-brand-options label {width:100%;border:0;}
.mobile-brand-apply {display:block;width:100%;min-height:44px;background:#222;color:#e2e600;border:0;font:inherit;}
}
.part-card-summary {height:auto;min-height:220px;}
.part-card-footer {width:100%;}
.part-card-summary .catalog-card-media {min-height:180px;}
@media(max-width:767px){.part-card-summary{min-height:180px;}.part-card-footer{flex-wrap:wrap;}.part-card-footer .part-card-price{margin-left:auto;}}
@media(min-width:1000px){
.catalog-search-row > label {margin-bottom:0;}
.catalog-search-row .form-control,.catalog-search-row .btn,.catalog-search-row select {box-sizing:border-box;height:48px;min-height:48px;}
.catalog-search-row .catalog-search-box > label {margin-bottom:6px;}
.catalog-browser .part-primary-filter {align-items:flex-start;}
.catalog-browser .part-primary-filter legend {box-sizing:border-box;flex:0 0 64px;margin:0;min-height:48px;display:flex;align-items:center;}
.catalog-browser .part-brand-options label,.catalog-browser .part-brand-all {box-sizing:border-box;height:48px;min-height:48px;margin-bottom:0;}
.catalog-browser .mobile-filter-group {display:flow-root;}
.catalog-browser .part-advanced-controls:not([open]) {box-sizing:border-box;height:48px;margin-top:-66px;margin-bottom:18px;}
.catalog-browser .part-advanced-controls > summary {box-sizing:border-box;min-height:46px;display:flex;align-items:center;}
.catalog-browser .part-advanced-controls > summary::before {content:'▸';margin-right:6px;}
.catalog-browser .part-advanced-controls[open] > summary::before {content:'▾';}
}
@media(min-width:768px){
.catalog-browser .part-primary-filter .part-brand-options {flex-wrap:wrap;min-width:0;overflow:visible;gap:6px;padding-bottom:2px;}
.catalog-browser .part-primary-filter .part-brand-options label,
.catalog-browser .part-primary-filter .part-brand-all {flex:0 0 auto;white-space:nowrap;padding-left:8px;padding-right:8px;gap:6px;font-size:.9rem;}
}

/* Reviewed OEM rows and visible object provenance on closed cards. */
.oem-label,.oem-row,.oem-legacy{display:block;overflow-wrap:anywhere}
.oem-label{font-size:.8rem;color:#555;margin-bottom:.2rem}
.oem-row{margin:.2rem 0}
.part-card-source{white-space:normal;overflow:visible;overflow-wrap:anywhere;margin:.5rem 0}

/* Keep each part card at its own height; actions use the space beside its facts. */
.part-card-list { align-items: start; }
.part-card-details { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 1rem; }
.part-card-information { flex: 1 1 240px; min-width: 0; }
.part-card-actions { display: flex; flex-direction: column; gap: .65rem; flex: 0 1 230px; min-width: 0; margin-left: auto; }
.part-card-actions form { margin: 0; width: 100%; min-width: 0; }
.part-card-actions .part-cart-button,
.part-card-actions .part-gallery-button { box-sizing: border-box; width: 100%; max-width: 100%; min-height: 44px; margin: 0; white-space: normal; }
.part-card-actions .part-share { min-width: 0; }
.part-card-actions .part-share input { box-sizing: border-box; width: 100%; min-width: 0; }
.part-card-actions .part-share [role=status]:empty { display: none; }
.part-card-summary [data-reservation-status] { font-size: .86rem; line-height: 1.3; }
.part-card-actions .part-cart-button:disabled { background: #e6e6e0; color: #666; border-color: #aaa; cursor: not-allowed; }
.part-package-offer a { font: inherit; color: #17604b; text-decoration: underline; overflow-wrap: anywhere; }
.object-card .catalog-card-media img { object-fit: contain; }
@media (max-width: 767px) {
    .part-card-summary .catalog-card-media { align-self: start; height: 180px; }
    .part-card-summary .catalog-card-media img { object-fit: contain; }
    .part-card-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); flex-basis: 100%; }
    .part-card-actions form, .part-card-actions > .part-inquiry-link { grid-column: 1 / -1; }
}

@media (min-width: 768px) and (max-width: 991px) { .main-nav ul { flex-wrap: wrap; } }

.part-reservation-control { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; min-width:0; }
.part-card-actions .part-reservation-control form { flex:1 1 130px; width:auto; }
.part-reservation-control [data-reservation-action] { flex:0 1 84px; font-size:.84rem; line-height:1.3; color:#555; }
.part-reservation-control [data-reservation-action][hidden] { display:none; }
.reservation-action-notice { display:block; overflow-wrap:anywhere; }
.reservation-action-notice strong { font-variant-numeric:tabular-nums; }
@media(max-width:767px) { .part-card-actions .part-reservation-control { grid-column:1 / -1; } }
