:root {
  --brand-primary: #3e6b64;
  --brand-primary-600: #2f524d;
  --brand-accent: #2E7D6B;
  --brand-accent-600: #256356;

  --ink-strong: #1B2631;
  --ink-base: #364152;
  --ink-muted: #607086;

  --surface-page: #F6F8F9;
  --surface-card: #FFFFFF;
  --border-subtle: #DCE3E8;
  --tint-primary: #E6F2F4;

  --radius-md: 8px;
  --radius-sm: 6px;
  --shadow-card: 0 2px 10px rgba(0,0,0,.06);
  --shadow-card-hover: 0 6px 16px rgba(0,0,0,.08);

  --btn-bg-beige: #d8c39c;
  --btn-bg-beige-hover: #c9b184;
  --btn-text-green: #1f6b6e;

  --bs-primary: var(--brand-primary);
  --bs-primary-rgb: 62,107,100;
  --bs-success: var(--brand-accent);
  --bs-success-rgb: 46,125,107;
  --bs-body-color: var(--ink-base);
  --bs-body-bg: var(--surface-page);
}

/* Core component overrides */
.btn,
.btn:focus { border-radius: var(--radius-md); box-shadow: none; }
.btn {
  --bs-btn-bg: var(--btn-bg-beige);
  --bs-btn-border-color: var(--btn-bg-beige);
  --bs-btn-color: var(--btn-text-green);
  --bs-btn-hover-bg: var(--btn-bg-beige-hover);
  --bs-btn-hover-border-color: var(--btn-bg-beige-hover);
  --bs-btn-hover-color: var(--btn-text-green);
  --bs-btn-active-bg: var(--btn-bg-beige-hover);
  --bs-btn-active-border-color: var(--btn-bg-beige-hover);
  --bs-btn-active-color: var(--btn-text-green);
}
.btn-primary {
  --bs-btn-bg: var(--btn-bg-beige);
  --bs-btn-border-color: var(--btn-bg-beige);
  --bs-btn-hover-bg: var(--btn-bg-beige-hover);
  --bs-btn-hover-border-color: var(--btn-bg-beige-hover);
  --bs-btn-color: var(--btn-text-green);
  --bs-btn-hover-color: var(--btn-text-green);
}
.btn-outline-primary {
  --bs-btn-color: var(--btn-text-green);
  --bs-btn-border-color: var(--btn-text-green);
  --bs-btn-hover-bg: var(--btn-bg-beige);
  --bs-btn-hover-color: var(--btn-text-green);
}
.btn-success {
  --bs-btn-bg: var(--btn-bg-beige);
  --bs-btn-border-color: var(--btn-bg-beige);
  --bs-btn-hover-bg: var(--btn-bg-beige-hover);
  --bs-btn-hover-border-color: var(--btn-bg-beige-hover);
  --bs-btn-color: var(--btn-text-green);
  --bs-btn-hover-color: var(--btn-text-green);
}

a { color: var(--brand-primary); }
a:hover { color: var(--brand-primary-600); }

h1 {
    all: unset;
}

.card { border-radius: var(--radius-md); box-shadow: var(--shadow-card); border: 1px solid var(--border-subtle); background: var(--surface-card); }
.card:hover { box-shadow: var(--shadow-card-hover); }

.form-control, .form-select { border-radius: var(--radius-sm); border-color: var(--border-subtle); }
.form-control:focus, .form-select:focus { border-color: var(--brand-primary); box-shadow: 0 0 0 .2rem rgba(var(--brand-primary-rgb),.15); }

.navbar { background: #fff; border-bottom: 1px solid var(--border-subtle); }
.navbar .nav-link { color: var(--ink-base); font-weight: 600; }
.navbar .nav-link:hover, .navbar .nav-link:focus { color: var(--brand-primary); }

.hero { background: var(--tint-primary); border-radius: var(--radius-md); padding: 32px; position: relative; overflow: hidden; }
.hero .hero_overlay_rubrik { color: var(--ink-strong); text-shadow: none; }
.hero .hero_overlay_rubrik_sec { color: var(--brand-accent); }
.hero .hero_overlay_text { color: var(--ink-base); }
.body_text {
	font-family: Futura PT Demi; 
	font-size: 10px;
	color: #000000;
}
.open-sans-martino {
  font-family: "Nunito", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}
.row{
	margin-right: 0px;
	margin-left: 0px;
	padding-left:0px;
	margin-top:0px;
}
.xsbox_start{
	margin-right: 0px;
	margin-left: 0px;
	padding-left:0px;
	margin-top:0px;
	margin-bottom:0px;
}
.col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9 {
	position: relative;
	min-height: 1px;
	padding:0px;
}
.marginAuto{
	margin:auto;
}
.max_width_90{
	margin-top: 8px;
}
.offer{
	margin-top: 8px;
	width: 25%;
}
.vCenter{
	display: flex;
    align-items: center; /* Vertically align items */
    justify-content: center; /* Horizontally align items (optional) */
}
.plus{
	font-size: 2em;
	font-weight:700;
}
.frame{
	max-width:1200px;
	padding: 0px 10px 10px 10px;
	margin:auto;
}
.header{
	margin:0;
}

.undersida {
	background-color: white;
	margin-top: 10px;
	padding: 25px;
}
.headerframe{
	padding:0px;
}

.mapouter{
	height:100%;
}
.marginPaddingRight0{
	margin-right: 0px;
	padding-right: 0px;
}
.marginTop-10{
	margin-top: -10px;
}
.vertCent{
	margin-top: auto;
	margin-bottom: auto;
}

.pricebox {
	text-align: center;
	font-size: 16px;
	font-weight: bolder;
	height: 40px;
}
.priceButton{
	margin-top: 10px;
	border-radius: 5px 5px 0px 0px;
	--bs-btn-bg: var(--btn-bg-beige);
	--bs-btn-border-color: var(--btn-bg-beige);
	--bs-btn-color: var(--btn-text-green);
	--bs-btn-hover-color: var(--btn-text-green);
	--bs-btn-hover-bg: var(--btn-bg-beige-hover);
	--bs-btn-hover-border-color: var(--btn-bg-beige-hover);
}
.buyButton{
	border-radius: 0px 0px 5px 5px;
}
.vat_box {
	background: transparent !important;
	border-radius: 0;
	margin: 0;
	text-align: start;
	max-width: 100%;
	font-size: 13px;
	line-height: 1.2;
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	padding: 0;
	box-shadow: none !important;
}
.vat_box .toggle {
  height: 20px !important;
  min-height: 20px !important;
  border-color: #7faea6 !important;
  border-radius: 4px !important;
  box-shadow: inset 0 0 0 1px rgba(127, 174, 166, 0.12) !important;
}
.vat_box .toggle.btn { padding: 0 !important; border-color: #7faea6 !important; }
.vat_box .toggle .btn { padding: 1px 6px !important; font-size: 11px !important; line-height: 1.2 !important; }
.vat_box .toggle .toggle-on { background: linear-gradient(135deg, #7faea6 0%, var(--brand-primary) 100%) !important; border-color: var(--brand-primary) !important; color: #fff !important; border-radius: 4px 0 0 4px !important; }
.vat_box .toggle .toggle-off { background-color: #fff !important; color: var(--brand-primary-600) !important; border-color: var(--tint-primary) !important; border-radius: 0 4px 4px 0 !important; }
.vat_box .toggle .toggle-handle { background: #fff !important; border-color: var(--tint-primary) !important; border-radius: 3px !important; box-shadow: 0 2px 6px rgba(15, 23, 42, 0.08) !important; }

.box3{

	text-align:center;
	background-color:#FFFFFF;
}
.box3_h{
	font-size: 14px;
	font-weight:800;
	padding: 15px;
}
.box3_t{
	font-size: 14px;
	font-weight:500;
	padding: 15px 10px 10px 10px;
}
.box4{
	text-align:center;
	background: linear-gradient(180deg, #ffffff 0%, #f5faf9 100%);
	padding: 18px 16px 20px;
	border-radius: 18px;
	border: 1px solid var(--btn-bg-beige, #d8c39c);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.box4_h{
	font-size: 15px;
	font-weight:800;
	padding: 16px 10px 8px;
	color: #2d2d2d;
	letter-spacing: -0.01em;
}
.box4_t{
	font-size: 14px;
	font-weight:500;
	padding: 0 10px 4px;
	color: #5a6472;
	line-height: 1.5;
}

/* ===== Homepage category cards (start.php "CATEGORY BOXES" section) =====
   Scoped classes (kt-catcard-*) so this redesign does not affect .box/.box4
   used elsewhere (kategori.php, product.php, undersidor). Cards sit in a CSS
   grid so all cards in a row stay equal width/height automatically, and the
   row spans the full width of .frame (cancels its 10px side padding). */
.kt-catcard-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin: 10px 0px 10px 0px;
}
.kt-catcard {
	display: flex;
	flex-direction: column;
	background: #F4EFE6;
	border-radius: 18px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	border: 1px solid rgba(var(--brand-primary-rgb, 31,107,110), 0.14);
	box-shadow: 0 1px 2px rgba(20,30,24,0.06);
	transition: box-shadow .35s ease, border-color .35s ease;
	cursor: pointer;
}
.kt-catcard:hover,
.kt-catcard:focus-visible {
	box-shadow: 0 10px 24px -12px rgba(20,40,30,0.28);
	border-color: rgba(var(--brand-primary-rgb, 31,107,110), 0.35);
}
.kt-catcard:focus-visible { outline: 2px solid var(--brand-primary); outline-offset: 3px; }

.kt-catcard-frame {
	position: relative;
	aspect-ratio: 1 / 1;
	background: linear-gradient(155deg, var(--btn-bg-beige, #f4efe6) 0%, #f4efe6 100%);
	padding: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.kt-catcard-frame img {
	display: block;
	width: 95%;
	height: 95%;
	object-fit: contain;
	background: #fff;
	border-radius: 10px;
}

.kt-catcard-body { padding: 18px 20px 22px; }
.kt-catcard-title {
	font-weight: 800;
	font-size: 18px;
	letter-spacing: 0.01em;
	color: var(--brand-primary, #1f6b6e);
	margin: 0 0 8px;
}
.kt-catcard-text {
	font-size: 14px;
	line-height: 1.5;
	color: #5a6472;
	margin: 0 0 16px;
}
.kt-catcard-cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 700;
	font-size: 13.5px;
	color: #2d2d2d;
}
.kt-catcard-cta span {
	background-image: linear-gradient(var(--btn-bg-beige-hover, #c2a97e), var(--btn-bg-beige-hover, #c2a97e));
	background-position: 0 100%;
	background-repeat: no-repeat;
	background-size: 0% 2px;
	transition: background-size .3s ease;
	padding-bottom: 2px;
}
.kt-catcard:hover .kt-catcard-cta span { background-size: 100% 2px; }

/* Product cards (functions/showProduct.php - category listings, search, etc.)
   reuse the same .kt-catcard/-frame/-body/-title/-cta classes as the homepage
   category cards for a consistent look, with a few product-specific tweaks:
   centered content, price block and variant swatches spacing. */
.kt-prodcard .kt-catcard-frame {
	display: flex;
	align-items: center;
	justify-content: center;
}
.kt-prodcard .kt-catcard-frame img {
	width: 95%;
	height: 95%;
}

.kt-prodcard-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	row-gap: 20px;
}
.kt-prodcard-col {
	min-width: 0;
}
@media (max-width: 767px) {
	.kt-prodcard-row { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 575px) {
	.kt-prodcard-row { grid-template-columns: 1fr; }
}
.kt-prodcard {
	height: 100%;
}
.kt-prodcard .kt-catcard-body {
	text-align: center;
}
.kt-prodcard .kt-catcard-title {
	font-size: 20px;
	min-height: 2.4em;
}
.kt-prodcard .pricebox {
	margin: 4px 0 10px;
	height: auto;
	font-size: 24px;
	font-weight: 800;
}
.kt-prodcard .prod_col_var_container {
	margin-bottom: 14px;
	justify-content: center;
}
.kt-prodcard .kt-catcard-cta {
	justify-content: center;
	width: 100%;
}

@media screen and (max-width: 767px) {
	.kt-catcard-row { grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.kt-catcard-body { padding: 14px 14px 16px; }
	.kt-catcard-title { font-size: 15px; }
	.kt-catcard-text { font-size: 12.5px; margin-bottom: 10px; }
	.kt-catcard-cta { font-size: 12px; }
}


/* Switch button */
.btn-default.btn-on.active{background-color: #6ab2ce;color: white;}
.btn-default.btn-off.active{background-color: #6ab2ce;color: white;}

/* City links under the delivery map (landing.php landing-page list) */
.landing-city-name {
	text-decoration: none;
	color: var(--brand-primary, #1f6b6e);
	font-size: 1.1rem;
	display: inline-block;
	margin: 0 8px;
	transition: color 0.2s ease;
}
.landing-city-name:hover {
	color: var(--brand-primary-600, #144a4c);
	text-decoration: underline;
}

.toprow {
	font-size: 16px;
	font-weight: 800;
	width: 100%;
	background: #6ab2ce;
	text-align: center;
	padding: 0px;
	color: white;
}
.topmenu{
	background-color: white;
	border-color: white;
	font-size: 1.3em;
	margin-right: -40px;
	padding-right:0px;
}
	.navbar-inverse .navbar-nav > li > a {
		color: #666;
	}
	.navbar-inverse .navbar-nav > li > a {
		color: #6ab2ce;
	}
	.navbar-inverse .navbar-nav > li > a:focus, .navbar-inverse .navbar-nav > li > a:hover {
		color:#333;
	}
	.navbar-inverse .navbar-toggle {
	border-color: #6ab2ce;
	}
	.navbar-inverse .navbar-toggle .icon-bar {
	background-color: #6ab2ce;
	}
	.navbar-inverse .navbar-toggle:focus, .navbar-inverse .navbar-toggle:hover {
	background-color:#CCC;
	}
	.navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form {
	border-color:#6ab2ce;
	}
	.navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:focus, .navbar-inverse .navbar-nav > .open > a:hover {
	color: #fff;
	background-color: #6ab2ce;
	}
	.navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
	color: #4d4d4d;
	font-weight: 600;
	}
	.navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover {
	color: #000;
	background-color: transparent;
	}	
	.navbar-right .dropdown-menu {
	right: auto;
	}
	.caret {
	display: inline-block;
	width: 0;
	height: 0;
	margin-left: 2px;
	vertical-align: middle;
	border-top: 8px dashed;
	border-top: 4px solid\9;
	border-right: 8px solid transparent;
	border-left: 8px solid transparent;
	margin-top: -2px;
	}
	.moms{
	padding-right: 14px;
	color: #6ab2ce;
	font-size: 14px;
	}
	.moms_xs{
	padding-right: 0px;
	color: #6ab2ce;
	margin-top: -20px;
	width:98%;
	font-size: 0.8em;
	}
.tpframe{
	margin-top: 2%;
	margin-bottom: 2%;
}
.topbanner{
	padding: 0px;
}
.topmain{
    max-width: 100%;
	margin-right: 5px;
}
.topRowBock{
	padding: 0px 12px 2px 12px;
}
.topR1{
	padding-right:5px;
}
.topR2{
	padding-left:5px;
}
/* Breda bannern i toppen */
.topB1 {
	margin-right: 10px;
	margin-bottom: 10px;
}
.box1{
	margin:0px 10px 10px 0px;
	position:relative;
	cursor:pointer;
}
.box2{
	margin:0px 10px 0px 0px;
	position:relative;
	cursor:pointer;
}
.boxXS{
	margin:0px 10px 10px 0px;
	position:relative;
	cursor:pointer;
}
.euro5{
	width: 70px;
}
.euro5box{
	position: absolute;
	left: 0%;
	top: 50%;
	text-align: center;
	padding: 5px;
}
.euro5box_xs{
	position: absolute;
	left: 0%;
	top: 40%;
	text-align: center;
	padding: 5px;
}
.rightbox1{
	height: auto;
}
.camera{
	margin-top:5px;
	margin-left:90px;
}
.cameratext{
	text-align: center;
	color: #464646;
	padding: 8px 15px 0 0;
}
.logbox{
	color:#FFFFFF; 
	font-size:16px; 
	font-weight:900;
}
.logga {
	z-index: 100;
	position: inherit;
	margin-top: auto;
	max-width: 90%;
	margin-bottom: auto;
	vertical-align: middle;
}
.searchBox{
	color:#FFFFFF;
	padding: 5px 0px 5px 20px; 
	font-size:16px; 
	font-weight:900;
	vertical-align:central;
}
.searchForm{
	border-radius: 25px;
	height: 40px;
}
.varukorgBox {
	color: #FFFFFF;
	font-size: 16px;
	font-weight: 900;
	text-align: right;
}
.varukorg_btn {
	font-weight: 800;
}
.pos{
	position:relative;
	padding: 0;
}
.padding0{
	padding:0px;
}
.loggaOverlay {
	width: 300px;
	position: absolute;
	top: 55%;
	right: 0;
	background-color: #6ab2ce;
	color: white;
	font-weight: bold;
	padding: 10px;
	border-radius: 5px 0px 0px 5px;
	font-size: 18px;
}
.tpleft{ 
	text-align:right; 
	padding: 5px; 
	font-size:12px; 
	font-weight:900;
	margin-top: -25px;
}
.tpleftpart{
	padding: 5px;
}
.topspacer{
	padding-top: 10px;
}


.devider {
    position: relative !important;
    display: block !important;
    margin: 50px 0 20px 0 !important;
    padding: 4px 0 12px 20px !important;
    min-height: 0;
    max-height: none;
    font-size: clamp(20px, 2.2vw, 26px);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.01em;
    text-align: left;
    color: var(--btn-text-green);
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
}

/* Bronsfärgat streck till vänster om texten, på samma rad */
.devider::before {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    width: 6px;
    height: 1.25em;
    border-radius: 3px;
    background: #A8763E;
}

/* Tunn linje under hela rubriken */
.devider::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: #D8CBB0;
}

.start{
	margin-top: 10px;
}
.btn_start {
	--bs-btn-color: var(--btn-text-green);
	--bs-btn-bg: var(--btn-bg-beige);
	--bs-btn-border-color: var(--btn-bg-beige);
	width:70%;
}
.deviderUndersida{
	margin-top:45px;
}
.boxrow{
	margin-right: -20px;
	margin-left: -10px;
}
.top_box{
	margin-bottom: 10px;
}
.box {
	margin: 0px 10px 10px 0px;
	cursor: pointer;
	background: transparent;
	border-radius: 18px;
	transition: none;
}
.box:hover {
	transform: none;
}
.box:hover .box4 {
	box-shadow: none;
	border-color: var(--btn-bg-beige-hover, #c2a97e);
}
.box4 {
	transition: none;
}
.box4:hover {
	transform: none;
	box-shadow: none;
	border-color: var(--btn-bg-beige-hover, #c2a97e);
}

img.lazy-image {
	opacity: 0;
	transform: translateY(18px) scale(0.985);
	filter: blur(6px);
	transition: opacity 0.7s ease, transform 0.7s ease, filter 0.7s ease;
}
img.lazy-image.is-visible {
	opacity: 1;
	transform: translateY(0) scale(1);
	filter: blur(0);
}
.hov:hover{
	opacity: 1;
	transition: none;
	-moz-transition: none;
	-webkit-transition: none;
	-o-transition: none;
}
.leasing {
	width: 90%;
	margin: auto;
	padding: 10px;
	text-align:center;
}
.box2AlR{
	text-align: right;
}
.boxpicframe{
	
	background-color:#FFFFFF;
}
.boxInfoFrame{
	padding: 0px 5px 10px 5px;
	text-align: center;
}
.boxpic{
	width:80%; 
	margin:auto;
	padding:4px;
}
.mapBox{
	background-color: white;
	padding: 20px;
	margin: 0px;
}
.mapHeader {
	text-align: center;
	font-size: 28px;
	padding: 30px 10px 10px 10px;
	font-weight: 600;
	color: #6bb8ff;
}
.mapText{
	text-align: center;
	font-size: 24px;
	padding-top: 20px;
}
.produkt_kop_knapp{
	border-radius: 0px;
	width: 90%;
	height: 50px;
	font-weight: 900;
	font-size: 1.6em;
	margin-top: auto;
}
.produkt_kop_ruta{
	text-align: center;
	margin-top: auto;
	padding-top: 50px;
}


@media (min-width: 768px) and (max-width: 1200px) {
	.boxpic{
		margin-top: 50px;
	}
}
.boxpic:hover{
	width:80%;
	transform: none;
}
.boxheading1{
	font-size: 16px;
	font-weight: 800;
	text-align: center;
	padding: 3px 0px 3px 0px;
	height: 2.25rem;	
}
.boxheading2{
	font-size: 14px;
	font-weight: 500;
	text-align: center;
	padding: 3px 0px 3px 0px;
	height: 3.25rem;
	
}
.boxpoints{
	font-size: 14px;
	font-weight: 500;
	padding: 3px 0px 3px 10px;
	height: 7rem;
}

.boxPcont2{
	width: 150px;
	position: absolute;
	top: 0;
	right: 0;
	padding: 0px;
}
.boxPcont3{
	z-index: 9;
	color:white;
	background: #6ab2ce;
	text-align: center;
	font-weight: 900;
	border-radius: 0px 0px 0px 10px;
}
.pointsStart {
	font-weight: unset;
	text-align: center;
	font-size: 14px;
}

.copyright{
	text-align: center;
	font-size: 10px;
}
.relrubrik {
font-weight: bold;
text-align:center;
height:70px;
}
.pointer{
	cursor: pointer;
}
.relshort {
font-size: 1em;
font-style: italic;
padding-left: 5px;
height: 45px;
}
.relprice {
	color: white;
	font-size: 1.2em;
	font-weight: 900;
	background-color: #6ab2ce;
	height: 35px;
	text-align: center;
	width: 95%;
	margin-bottom: 2px;
	margin-top: 15px;
	margin: 15px auto 5px auto;
}
.proddist{
	margin-top: 10px;
}

.prod_col_var_container{
	text-align: center;
	margin-bottom: 10px;
	display:flex;
	gap:10px;
	align-items:center;
	justify-content:center;
	flex-wrap:wrap;
}
.icon-container{ display:inline-flex; align-items:center; justify-content:center; width:35px; height:35px; padding:0; border:none; box-shadow:none; border-radius:0; cursor:pointer; }
.icon-container:hover{ opacity:0.8; }
.icon-container.selected{ outline:2px solid var(--brand-primary); outline-offset:2px; }
.prod_col_var_icon{
	display:flex;
	align-items:center;
	justify-content:center;
	box-sizing:border-box;
	width:35px;
	height:35px;
	font-size:35px;
	line-height:1;
	border:none;
	padding:0;
	border-radius:0;
	box-shadow: 0 0 3px rgba(0,0,0,0.4);
}
.product_var_col {
	padding: 20px 0px 20px 0px;
}
.product_price_before{
	text-decoration: line-through;
	text-decoration-thickness: 2px;
	color: #6ab2ce;
}
/* Consistent price color scheme site-wide:
   - .product_price_before = ordinarie (original) pris vid rabatt -> theme green (see override below)
   - .price-sale = sänkt/rabatterat pris -> red
   - .price-regular = vanligt pris (ingen rabatt) -> black */
.price-sale {
	color: #ff4747;
}
.price-regular {
	color: #000000;
}
.icon-container i {
    color: #eaeaea;
}
.products_prisknapp {
	display: flex; /* Use flexbox */
    justify-content: center; /* Horizontally center text */
    align-items: center; /* Vertically center text */
	background-color: var(--btn-bg-beige);
	height: 50px;
	width: 90%;
	color: var(--btn-text-green);
	font-size: 1.2em;
	font-weight:900;
	margin: 20px auto 20px auto;
	cursor: pointer;
	border-radius: 6px;
	transition: background-color 0.3s ease;
}
.products_prisknapp:hover{
	background-color: var(--btn-bg-beige-hover);
	transition: background-color 0.3s ease;
}
.products_liknande{
	margin-right: -10px;
}
.snow {
	text-align: center;
	font-size: 1.2em;
	font-weight: bold;
	margin: 0px 0px 10px 0px;
	border-width: 1px;
	border-style: double;
	border-color: var(--brand-primary);
	padding: 5px;
}
.snowProduct {
	width: 90%;
	margin: auto;
	margin-bottom: 10px;
}

.topline {
	background: #e8e8e8;
	/* margin-left: 20%; */
	padding-left: 20%;
}
.bildruta {
	padding: 0 20px 20px 20px;
	margin-bottom:10px;
}
.proddesc {
	display: block; /* h1 is reset with `all: unset` above; restore block layout */
	font-size: 2.5em;
	color: #585858;
	text-align: left;
	line-height: 1.2em;
	background-color: white;
	word-wrap: break-word;
	padding: 0px 10px 0px 10px;
	font-variant: small-caps;
	font-weight: bold;
	padding: 40px 0 20px 30px;
}
.proddescextra {
	font-size: 1.4em;
	color: #585858;
	outline-color: #333333;
	text-align: left;
	background-color: white;
	padding-left: 30px;
	padding-bottom: 25px;
	padding-top: 25px;
}
.category-info-row {
	margin: 14px 0 0;
}
.category-info-box {
    width: 100%;
    padding: 18px 22px;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 10px 30px rgba(15, 23, 42, .05);
    color: #64748b;
    font-size: 15px;
    line-height: 1.75;
    text-align: left;
}
.points {
	padding-left: 20px;
	padding-bottom: 15px;
	position: relative;
	line-height: 1.8;
	font-size: 1.0em;
	font-style: italic;
	padding-left: 50px;
	margin-top: -10px;
	margin-bottom: 10px;
}

.prisskylt {
	margin-left: 8%;
}
.pris {
	font-size: 50px;
	font-weight: 900;
	width: 90%;
	margin: auto;
	margin-top: -10px;
	background: #fff;
	color: #fff;
	text-align: center;
}
.lagerstatus {
	width: 90%;
	background-color: white;
	margin: auto;
	text-align: center;
	font-size: 0.8em;
}
.prodleft{
	margin-right: 10px;
}
.prodright{
	margin-right: 10px;
}
.box_alt{
	border-style: solid;
	border-width: 1px;
	mergin-right: 10px;
	margin-right: 10px;
	margin-top: 10px;
	border-color:  #6ab2ce;
	background-color:#FFFFFF;
}
.paketrabatt {
	font-style: italic;
	color: red;
}
.contentrubrik {
	font-weight: 700;
	padding-bottom: 10px;
}
.contName{
	padding-left: 10px;
	margin-top: auto;
	margin-bottom: auto;
}
.contPrice{
	text-align: right;
	margin-top: auto;
	margin-bottom: auto;
}
.contRed{
	color: red;
}
.contBold{
	font-weight:700;
}
.contBox{
	width:90%;
	margin:auto;
	padding-bottom:10px;
	border: solid;
	border-color: red;
	border-radius: 8px;
	border-width: 1px;
}
.contRubrik {
	font-weight: 900;
	padding-left: 20px;
	width: 100%;
	margin: auto;
	margin-top: -10px;
	background: #f00;
	color: white;
	text-align: center;
	font-size: 1.4em;
	border-radius: 8px 8px 0px 0px;
	margin-top: 0px;
}
.nav-tabs {
	border-bottom: 0px solid #ddd;
}
.euro5_row {
	width: 90%;
	margin: auto;
	margin-top: -80px;
	margin-bottom: 20px;
}
.euro5_pic {
	margin-left: auto;
	margin-bottom: 20px;
	width: 100px;
}
.prod_kop {
	width: 90%;
	color: var(--btn-text-green);
	font-weight: 900;
	background-color: var(--btn-bg-beige);
	margin: auto;
	text-align: center;
	font-size: 1em;
	height: 40px;
	display: flex;
    align-items: center;
    justify-content: center;
}
.prod_kop_paket{
	width: 100%;	
}
.prod_kop:hover {
  	transition: 0.15s;
	background-color: var(--btn-bg-beige-hover);
}
.accordion {
	background-color: #dfdfdf;
	color: #444;
	cursor: pointer;
	padding: 10px;
	width: 100%;
	border: none;
	text-align: left;
	outline: none;
	font-size: 1em;
	transition: 0.4s;
	margin-top: 10px;
}
.accordion:hover {
	background-color: #bfb6b6;
}
.toprubrik {
	color: white;
	padding: 1px 0px 0px 15px;
	font-size: 1.2em;
	font-weight: 900;
	background-color: #6ab2ce;
	min-height:35px;
}
.panel {
  padding: 0 18px;
  background-color: white;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
  margin-bottom:0px;
  margin-right:10px;
}
.paneltext{
	padding:15px;
	font-size: 1.0em;
}

.modal-header{
	background-color: #e7ecea;
	padding: 25px 15px 10px 15px;
}
.modal-footer {
  	padding-top: 0rem;
	color: white;
}
.modal-pic{
	padding:10px;
}
.btn-info {
	--bs-btn-bg: var(--btn-bg-beige);
	--bs-btn-border-color: var(--btn-bg-beige);
	--bs-btn-color: var(--btn-text-green);
	--bs-btn-hover-color: var(--btn-text-green);
	--bs-btn-hover-bg: var(--btn-bg-beige-hover);
	--bs-btn-hover-border-color: var(--btn-bg-beige-hover);
	--bs-btn-active-color: var(--btn-text-green);
	--bs-btn-disabled-color: var(--btn-text-green);
}
.btn-success {
	--bs-btn-color: var(--btn-text-green);
	--bs-btn-bg: var(--btn-bg-beige);
	--bs-btn-border-color: var(--btn-bg-beige);
	--bs-btn-hover-color: var(--btn-text-green);
	--bs-btn-hover-bg: var(--btn-bg-beige-hover);
	--bs-btn-hover-border-color: var(--btn-bg-beige-hover);
	--bs-btn-focus-shadow-rgb: var(--btn-bg-beige-rgb);
	--bs-btn-active-color: var(--btn-text-green);
	--bs-btn-active-bg: var(--btn-bg-beige-hover);
	--bs-btn-active-border-color: var(--btn-bg-beige-hover);
	--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
	--bs-btn-disabled-color: var(--btn-text-green);
	--bs-btn-disabled-bg: var(--btn-bg-beige);
	--bs-btn-disabled-border-color: var(--btn-bg-beige);
}

/* ============ desktop view ============ */
@media all and (min-width: 992px) {
	.navbar .nav-item .dropdown-menu{ display: none; }
	.navbar .nav-item:hover .nav-link{   }
	.navbar .nav-item:hover .dropdown-menu{ display: block; }
	.navbar .nav-item .dropdown-menu{ margin-top:0; }
}	
/* ============ desktop view .end// ============ */
/* Small devices (landscape phones, 576px and up) */
@media only screen and (min-width: 0px) and (max-width: 380px){

	.textsize12{
		font-size: 10px;
		
	}
	.loggaOverlay {
	width: 150px;
	position: absolute;
	top: 55%;
	right: 0;
	background-color: #6ab2ce;
	color: white;
	font-weight: bold;
	padding: 10px;
	border-radius: 5px 0px 0px 5px;
	font-size: 12px;
	}
	.container-fluid > .navbar-collapse, .container-fluid > .navbar-header, .container > .navbar-collapse, .container > .navbar-header {
	margin-right: 0px;
	margin-left: -15px;
	}
	.logga {
	z-index: 100;
	position: inherit;
	margin-top: -10px;
	}	
	.hamburger{
	margin-right:-25px;
	}
	.momsBox{
		margin-right: -25px;
		margin-top: 10px;
	}
	.tpleft{
	margin-top: -90px;
	margin-bottom: 50px;
	}
	.boxpic {
	padding-top: 30px;
	}
	.devider {
	font-size: 16px;
	padding-left: 10px;
	}
	.vis {
		display: none;
	}
	.vis380{
		display: inline;	
	}
	.paketPrisXS {
    text-align: right;
	}
}
@media only screen and (min-width: 381px) and (max-width: 767px){ 
	.textsize12{
		font-size: 12px;
	}
	.logga {
	z-index: 100;
	position: inherit;
	margin-top: -22px;
	margin-bottom: -300px;
	max-width: 140px;
	}
	.container-fluid > .navbar-collapse, .container-fluid > .navbar-header, .container > .navbar-collapse, .container > .navbar-header {
	margin-right: 0px;
	margin-left: -15px;
	}
	.loggaOverlay {
	width: 30%;
	position: absolute;
	top: 55%;
	right: 0;
	background-color: #6ab2ce;
	color: white;
	font-weight: bold;
	padding: 10px;
	border-radius: 5px 0px 0px 5px;
	font-size: 12px;
	}
	.hamburger{
	margin-right:-25px;
	}
	.momsBox{
		margin-right: -25px;
		margin-top: 10px;
	}
	.tpleft{
	margin-top: -90px;
	margin-bottom: 50px;
	}
	.vis {
		display: none;
	}
	.vis767{
		display: inline;	
	}
	.paketPrisXS {
    text-align: right;
	}
}
/* Medium devices (tablets, 768px and up) */
@media only screen and (min-width: 768px) and (max-width: 991px) {
	.hamburger{
		margin-top: -110px;
	}
	.textsize12{
		font-size: 10px;
	}
	.boxheading1{
		height: 2.25rem;	
	}
	.vis {
		display: none;
	}
	.vis991{
		display: inline;	
	}
}

/* Large devices (desktops, 992px and up) */
@media only screen and (min-width: 992px) and (max-width: 1199px) {
	.hamburger{
		margin-top: -110px;
	}
	.textsize12{
		font-size: 11px;
	}
	.vis {
		display: none;
	}
	.vis1199{
		display: inline;	
	}
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
	.hamburger{
		margin-top: -110px;
	}
	.textsize12{
		font-size: 14px;
	}
	.vis {
		display: none;
	}
	.vis1200{
		display: inline;	
	}
}

.euro5_pos {
    position: absolute;
    border-color: #FFF;
    left: -10px;
    bottom: 2px;
    width: 80px;
}




@media only screen and (min-width: 0px) and (max-width: 380px){
	.box4 {
		height: 340px; 
		font-size: 0.6em;
	}
	.box3 {

		font-size: 0.6em;
	}
	.cartTotal{
		padding-top: 20px;
	}
	.cartPicMarg{
		margin-bottom: -30px;
	}
}
@media only screen and (min-width: 381px) and (max-width: 551px){
	.box4 {
		height: 330px;
		font-size: 0.7em;
	}
	.box3 {

	}
	.fotterOmText{
		font-size: 0.8em;
	}
	
	.cartTotal{
		padding-top: 20px;
	}
	.cartPicMarg{
		margin-bottom: -40px;
	}
}
@media only screen and (min-width: 551px) and (max-width: 576px){
	.box4 {
		height: 420px;
	}
	.box3 {

	}
	.cartPicMarg{
		margin-bottom: -40px;
	}
}
@media only screen and (min-width: 577px) and (max-width: 630px){
	.box4 {
	height: 420px;
	}
	.box3 {

	}
}
@media only screen and (min-width: 631px) and (max-width: 680px){
	.box4 {
	height: 440px;
	}
	.box3 {

	}
	.modalTotPad{
		padding-right: 40px;
	}	
}
@media only screen and (min-width: 681px) and (max-width: 767px){
	.box4 {
		height: 450px;
	}
	.box3 {

	}
	.modalTotPad{
		padding-right: 40px;
	}	
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
	.box4 {
		height: 390px;
	}
	.box3 {

	}
	.boxheading2{
		height: 4rem; 
	}
	.modalTotPad{
		padding-right: 40px;
	}	
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
	.box4 {
	height: 430px;
	}
	.box3 {

	}
	.modalTotPad{
		padding-right: 40px;
	}	
}
@media (min-width: 1200px) {
	.box4 {
	height: 430px;
	border-color: #d5d5d5;
	background-color: white;
	border-width: 1px;
	border-style: solid;
	}
	.box3 {

	}
	.modalTotPad{
		padding-right: 40px;
	}	
}

/* Bottom */

.footerBox{
	background-color: #d2cfcf;
	font-size: 14px;
	margin-right: 10px;
	margin-bottom: 10px;
	padding:20px;
}           
.fotterHeading{
	font-weight:700;
	font-size: inherit;
	margin-top: inherit;
	margin-bottom: inherit;
	font-family: inherit;
	line-height: 1.1;
	color: inherit;
}
.fotterText{
	font-size: 14px;
}
.footerKoTel{
	margin: 20px;
}
.footerKoTelNr{
	font-weight:700;
	padding:10px;
}
.footerKoTime{
	padding-top:30px;
	font-weight:400;
}
.footerMapBox{
	background-color: #d2cfcf;
	padding: 10px 10px 10px 10px;
	font-size: 14px;
	margin-right: 10px;
	height: 340px;
	border-radius: 25px;
}
.footerMapHeading{
	font-weight:700;
}
.footerMapSq{
	padding-right: 20px;
}
.footerKoTelNr{
	font-weight:700;
}
.footerKoTime{
	padding-top:30px;
	font-weight:400;
}
.footer_box{
	max-withh: 1600px;border-top: 1px; 
	border-top-color:#FFF;
	background-color: #f9f9f9;
	padding: 15px 10px 15px 10px;
}
.footer_box_company_info{
	background-color: white;
	text-align: center;
	padding: 25px;
}
.footer_header{
	font-size: 1em;
	font-weight: 900;
	color: #454f5e;
}
.footer_link {
	cursor: pointer;
	font-size: 1em;
	color: #454f5e;	
}
.footer_link:hover {
	color: #39F;
}
.footer_col{
	text-align: center;
}
.footer_col ul {
	display: inline-block;
	text-align: left;
}
.footer_company_info{
	font-weight: 700;
	color: #454f5e;
	margin-bottom: 10px;
}
.footer_copyright{
	font-size: 0.8em;
}

@media only screen and (min-width: 0px) and (max-width: 991px){
	
}

@media (min-width: 992px) {
	.footerBox{
		height: 340px;
		border-radius: 25px;
	}
}
/* FOOTER END */

/* Theme overrides to align legacy classes with the new palette */
.toprow,
.relsprice,
.relaprice,
.toprubrik,
.boxPcont3,
.relprice {
  background-color: var(--brand-primary) !important;
  color: #fff;
}
/* Buy buttons get green color separately */
.products_prisknapp {
  background-color: var(--btn-bg-beige) !important;
  color: var(--btn-text-green) !important;
  border-style: solid;
  border-width: 1px;
  border-color: var(--btn-text-green);
}
.products_prisknapp:hover {
  background-color: var(--btn-bg-beige-hover) !important;
}
.prod_kop {
  background-color: var(--btn-bg-beige) !important;
  color: var(--btn-text-green) !important;
}
.prod_kop:hover {
  background-color: var(--btn-bg-beige-hover) !important;
}
.product_price_before { color: var(--brand-primary); }
.btn_start {
  --bs-btn-bg: #d8c39c4d;
  --bs-btn-border-color: var(--btn-bg-beige);
  --bs-btn-color: var(--btn-text-green);
  --bs-btn-hover-bg: var(--btn-bg-beige-hover);
  --bs-btn-hover-border-color: var(--btn-bg-beige-hover);
  --bs-btn-hover-color: var(--btn-text-green);
}
.priceButton {
  --bs-btn-bg: var(--btn-bg-beige);
  --bs-btn-border-color: var(--btn-bg-beige);
  --bs-btn-color: var(--btn-text-green);
  --bs-btn-hover-bg: var(--btn-bg-beige-hover);
  --bs-btn-hover-border-color: var(--btn-bg-beige-hover);
}
.navbar-inverse .navbar-toggle { border-color: var(--brand-primary); }
.navbar-inverse .navbar-toggle .icon-bar { background-color: var(--brand-primary); }
.navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form { border-color: var(--brand-primary); }
.moms, .moms_xs { color: var(--brand-primary); }
.loggaOverlay { background-color: var(--brand-primary); }

/* --- Start page extracted styles --- */

/* Thin green divider with subtle shadow */
.thinDivider {
  width: 90%;
  margin: 30px auto;
  height: 2px;
  background: linear-gradient(to right, transparent, var(--brand-primary), transparent);
  box-shadow: 0 2px 4px rgba(var(--brand-primary-rgb), 0.3);
}

/* Hero styles moved to inline in start.php */

/* Utility */
.hero-sun { color: #eeea00; }
.clear-full { clear: both; display: block; width: 100%; height: 0; }

/* Mid-page rotating banner */
#mid-banner { width: 100%; margin-bottom: 10px; position: relative; cursor: pointer; overflow: hidden; border-radius: 18px 18px 0px 0px; }
#banner-img { width: 100%; height: auto; display: block; opacity: 1; transition: opacity 2.5s ease-in-out; }
#banner-lightbox { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.9); z-index: 10000; justify-content: center; align-items: center; }
#banner-lightbox-img { max-width: 80%; max-height: 80%; object-fit: contain; cursor: default; }
.banner-close { position: absolute; top: 20px; right: 30px; background: transparent; border: none; color: #fff; font-size: 40px; font-weight: bold; cursor: pointer; padding: 0; line-height: 1; }

/* Misc extracted */
.tresPlus { border-radius: 35px; padding-top: 10px; }

/* VAT reduced toggle area */
.vat_box {
  font-size: 12px; /* smaller text */
  line-height: 1.2;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px; /* small space between text and toggle */
}
.vat_box .toggle {
  height: 20px !important;
  min-height: 20px !important;
  border-color: var(--brand-primary) !important;
}
.vat_box .toggle.btn { padding: 0 !important; border-color: var(--brand-primary) !important; }
.vat_box .toggle .btn { padding: 1px 6px !important; font-size: 11px !important; line-height: 1.2 !important; }
.vat_box .toggle .toggle-on { background-color: var(--brand-primary) !important; border-color: var(--brand-primary) !important; color: #fff !important; }
.vat_box .toggle .toggle-off { background-color: #fff !important; color: var(--brand-primary) !important; border-color: var(--brand-primary) !important; }
.vat_box .toggle .toggle-handle { background: #fff !important; border-color: var(--brand-primary) !important; }
/* VAT toggle visibility boost (keep size, increase contrast) */
.vat_box .toggle { border-width: 1px !important; border-radius: 4px !important; box-shadow: 0 1px 4px rgba(var(--brand-primary-rgb),0.35) !important; }
.vat_box .toggle .btn { font-weight: 700 !important; letter-spacing: .2px; }
.vat_box .toggle .toggle-on { background-color: var(--brand-primary) !important; border-color: var(--brand-primary) !important; color: #fff !important; border-radius: 3px 0 0 3px !important; }
.vat_box .toggle .toggle-off { background-color: #fff !important; color: var(--brand-primary-600) !important; border-color: var(--brand-primary) !important; border-radius: 0 3px 3px 0 !important; }
.vat_box .toggle .toggle-handle { background: #fff !important; border: 1px solid var(--brand-primary) !important; border-radius: 2px !important; box-shadow: 0 0 0 1px rgba(var(--brand-primary-rgb),0.25) inset; }
