/*! Köptillval 1.1.0 – varukorg, kassa och varukorgspanel */
.kt-cp, body.kt-mc {
	--kt-accent: #006d2c;
	--kt-accent-soft: #eef6ef;
	--kt-sale: #d62718;
	--kt-ink: #1b251e;
	--kt-ink2: #4b5850;
	--kt-ink3: #78847c;
	--kt-line: #e0e6da;
	--kt-line2: #cdd6c6;
	--kt-soft: #f1f4ec;
	--kt-bg: #f3f5ef;
	--kt-radius: 12px;
}

/* ================= Sida ================= */
body.kt-cp-page .site-main, body.kt-cp-page .page-content { max-width: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
body.kt-cp-page .page-header { display: none; }
.kt-cp { background: var(--kt-bg); color: var(--kt-ink); font-size: 15px; line-height: 1.5; }
.kt-cp *, .kt-cp *::before, .kt-cp *::after { box-sizing: border-box; }
.kt-cp-in { max-width: 1300px; margin: 0 auto; padding: 28px 20px 72px; }
.kt-cp h1, .kt-cp h2, .kt-cp h3 { font-family: inherit; text-transform: none; letter-spacing: 0; color: var(--kt-ink); }
.kt-cp a { color: var(--kt-accent); }
.kt-cp .kt-muted { color: var(--kt-ink3); }
.kt-cpcard { background: #fff; border: 1px solid var(--kt-line); border-radius: var(--kt-radius); }

.kt-cp-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; margin: 0 0 22px; }
.kt-cp-title { margin: 0 !important; font-size: 30px !important; font-weight: 700 !important; line-height: 1.2 !important; }
.kt-steps { display: flex; gap: 6px; margin: 0; padding: 0; list-style: none; }
.kt-steps li { display: flex; align-items: center; gap: 8px; margin: 0; padding: 6px 14px 6px 6px; border-radius: 99px; background: #fff; border: 1px solid var(--kt-line); font-size: 13.5px; font-weight: 600; color: var(--kt-ink3); }
.kt-steps li i { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--kt-soft); font-style: normal; font-size: 12px; font-weight: 700; color: var(--kt-ink3); }
.kt-steps li a { color: inherit; text-decoration: none; }
.kt-steps li.is-on { color: var(--kt-ink); border-color: var(--kt-accent); }
.kt-steps li.is-on i, .kt-steps li.is-done i { background: var(--kt-accent); color: #fff; }
.kt-steps li.is-done { color: var(--kt-accent); }

/* Meddelanden */
.kt-cp .woocommerce-notices-wrapper:empty { display: none; }
.kt-cp .woocommerce-message, .kt-cp .woocommerce-info, .kt-cp .woocommerce-error {
	margin: 0 0 16px !important; padding: 12px 16px 12px 44px !important; border: 1px solid var(--kt-line) !important; border-radius: 10px;
	background: #fff !important; color: var(--kt-ink) !important; font-size: 14.5px; list-style: none; position: relative;
}
.kt-cp .woocommerce-message::before, .kt-cp .woocommerce-info::before, .kt-cp .woocommerce-error::before { top: 12px !important; left: 16px !important; color: var(--kt-accent) !important; }
.kt-cp .woocommerce-error { border-color: #f0b3ad !important; background: #fdf3f2 !important; }
.kt-cp .woocommerce-error::before { color: var(--kt-sale) !important; }
.kt-cp .woocommerce-error li { margin: 0; }
.kt-cp .woocommerce-message .button, .kt-cp .woocommerce-info .button { float: right; }

/* Knappar – Elementor-kitets knappstil vinner annars */
html body .kt-cp .button, html body .kt-cp button.button, html body .kt-cp a.checkout-button, html body .kt-cp #place_order {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 46px; padding: 0 22px !important; border: 0 !important; border-radius: 8px !important;
	background: var(--kt-accent) !important; color: #fff !important; font-family: inherit; font-size: 15.5px; font-weight: 700; line-height: 1.1;
	letter-spacing: 0; text-transform: none; text-decoration: none; box-shadow: none; cursor: pointer; transition: filter .2s;
}
html body .kt-cp .button:hover, html body .kt-cp #place_order:hover, html body .kt-cp a.checkout-button:hover { filter: brightness(1.12); color: #fff; }
html body .kt-cp .button:disabled, html body .kt-cp .button[disabled] { opacity: .5; cursor: default; }

/* ================= Varukorg ================= */
.kt-cp .woocommerce:has(> .woocommerce-cart-form) {
	display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 24px; align-items: start;
}
.kt-cp .woocommerce:has(> .woocommerce-cart-form) > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.kt-cp .woocommerce-cart-form { margin: 0; grid-column: 1; }
.kt-cp .cart-collaterals { grid-column: 2; grid-row: span 2; position: sticky; top: 24px; width: auto; float: none; }
.kt-cp .cart-collaterals .cart_totals { width: auto; float: none; }

.kt-lines { padding: 6px 24px 0; }
.kt-lines-h, .kt-line { display: grid; grid-template-columns: 84px minmax(0, 1fr) 92px 120px; column-gap: 18px; align-items: center; }
.kt-lines-h { padding: 12px 0 10px; border-bottom: 1px solid var(--kt-line); font-size: 12.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--kt-ink3); }
.kt-lines-h span:first-child { grid-column: 1 / 3; }
.kt-lines-h span:nth-child(2) { text-align: center; }
.kt-lines-h span:last-child { text-align: right; }

.kt-line { position: relative; padding: 18px 0; border-top: 1px solid var(--kt-line); }
.kt-lines-h + .kt-line { border-top: 0; }
.kt-line-img img { display: block; width: 84px; height: 84px; object-fit: contain; border-radius: 8px; background: #fff; border: 1px solid var(--kt-line); padding: 4px; }
.kt-line-name { min-width: 0; font-size: 15px; }
.kt-line-title { display: block; font-weight: 700; line-height: 1.3; color: var(--kt-ink) !important; text-decoration: none !important; }
a.kt-line-title:hover { color: var(--kt-accent) !important; }
.kt-line-kind { display: block; margin: 0 0 2px; font-size: 11.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--kt-accent); }
.kt-line-each { display: block; margin-top: 3px; font-size: 13px; color: var(--kt-ink3); }
.kt-line dl.variation { margin: 6px 0 0; display: flex; flex-wrap: wrap; gap: 2px 6px; font-size: 13px; color: var(--kt-ink2); }
.kt-line dl.variation dt { margin: 0; font-weight: 600; float: none; }
.kt-line dl.variation dd { margin: 0; float: none; }
.kt-line dl.variation dd p { margin: 0; }
.kt-line-rm { display: block; margin-top: 8px; }
html body .kt-cp .kt-line-rm a.remove {
	display: inline; width: auto; height: auto; border-radius: 0; background: none !important;
	font-size: 13px; font-weight: 600; line-height: 1.2; color: var(--kt-ink3) !important; text-decoration: underline; text-underline-offset: 2px;
}
html body .kt-cp .kt-line-rm a.remove:hover { color: var(--kt-sale) !important; }
.kt-line-qty { text-align: center; }
.kt-line-qty .quantity { display: inline-block; margin: 0; }
.kt-line-qty .qty {
	width: 72px; height: 42px; padding: 0 6px; border: 1.5px solid var(--kt-line2); border-radius: 8px;
	font: inherit; font-size: 15px; font-weight: 600; text-align: center; color: var(--kt-ink); background: #fff;
}
.kt-qty-fixed { display: inline-block; min-width: 28px; font-weight: 600; color: var(--kt-ink3); }
.kt-line-sum { text-align: right; font-weight: 700; font-size: 16px; color: var(--kt-ink); font-variant-numeric: tabular-nums; white-space: nowrap; }
.kt-line-sum .amount { color: inherit; }

/* Tillvalsrader under sin produkt */
.kt-line.kt-child { border-top: 0; padding: 0 0 14px 44px; grid-template-columns: 52px minmax(0, 1fr) 92px 120px; }
.kt-line.kt-child::before {
	content: ""; position: absolute; left: 40px; top: -10px; width: 14px; height: 36px;
	border-left: 1.5px solid var(--kt-line2); border-bottom: 1.5px solid var(--kt-line2); border-bottom-left-radius: 8px;
}
.kt-line.kt-child .kt-line-img { padding-left: 16px; }
.kt-line.kt-child .kt-line-img img { width: 44px; height: 44px; padding: 3px; }
.kt-line.kt-child .kt-line-title { font-weight: 600; font-size: 14.5px; }
.kt-line.kt-child .kt-line-sum { font-size: 15px; font-weight: 600; }
.kt-line.kt-child .kt-line-rm { margin-top: 4px; }

.kt-cart-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 0 18px; border-top: 1px solid var(--kt-line); }
.kt-back { font-size: 14.5px; font-weight: 600; text-decoration: none !important; }
html body .kt-cp .kt-update { min-height: 38px; padding: 0 16px !important; background: var(--kt-soft) !important; color: var(--kt-ink2) !important; font-size: 14px; }
html body .kt-cp .kt-update:hover { color: var(--kt-ink) !important; }
.kt-cp .woocommerce-cart-form .kt-update:disabled { visibility: hidden; }

/* Sammanställning */
.kt-sum { padding: 22px 24px 20px; }
.kt-sum h2 { margin: 0 0 10px !important; font-size: 19px !important; font-weight: 700 !important; }
.kt-cp table.kt-sum-t { width: 100%; margin: 0; border: 0 !important; border-collapse: collapse; font-size: 15px; }
.kt-cp table.kt-sum-t tr { display: table-row; border: 0 !important; }
.kt-cp table.kt-sum-t th, .kt-cp table.kt-sum-t td {
	display: table-cell !important; padding: 9px 0 !important; border: 0 !important; border-top: 1px solid var(--kt-line) !important;
	background: none !important; font-weight: 500; text-align: left; vertical-align: top; color: var(--kt-ink2);
}
.kt-cp table.kt-sum-t td { text-align: right; color: var(--kt-ink); font-weight: 600; }
.kt-cp table.kt-sum-t td::before { display: none !important; }
.kt-cp table.kt-sum-t tr:first-child th, .kt-cp table.kt-sum-t tr:first-child td { border-top: 0 !important; }
.kt-cp table.kt-sum-t .order-total th { padding-top: 14px !important; font-size: 16px; font-weight: 700; color: var(--kt-ink); }
.kt-cp table.kt-sum-t .order-total td { padding-top: 12px !important; font-size: 22px; font-weight: 800; font-variant-numeric: tabular-nums; }
.kt-cp table.kt-sum-t .order-total td small { display: block; font-size: 12.5px; font-weight: 500; color: var(--kt-ink3); }
.kt-cp .kt-pp { margin: 12px 0 0; padding: 9px 12px; border-radius: 8px; background: var(--kt-soft); font-size: 14px; color: var(--kt-ink2); }
.kt-cp .kt-pp strong { color: var(--kt-ink); }
.kt-cp .wc-proceed-to-checkout { padding: 16px 0 0; }
html body .kt-cp .wc-proceed-to-checkout a.checkout-button { display: flex; width: 100%; min-height: 54px; margin: 0; font-size: 17px; }
.kt-sum-note { margin: 14px 0 0; font-size: 13px; line-height: 1.5; color: var(--kt-ink3); }

/* Tom varukorg */
.kt-cp .wc-empty-cart-message .cart-empty { margin: 0 0 16px !important; }
.kt-cp .return-to-shop { margin: 0; }

/* ================= Kassan ================= */
.kt-cp .woocommerce-form-coupon-toggle .woocommerce-info { padding-left: 16px !important; font-size: 14px; }
.kt-cp .woocommerce-form-coupon-toggle .woocommerce-info::before { display: none; }
.kt-cp form.checkout_coupon { margin: 0 0 16px !important; padding: 16px !important; border: 1px solid var(--kt-line) !important; border-radius: 10px; background: #fff; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.kt-cp form.checkout_coupon p { margin: 0; float: none; width: auto; }
.kt-cp form.checkout_coupon p:first-child { flex: 1 1 100%; font-size: 14px; color: var(--kt-ink2); }
.kt-cp form.checkout_coupon .form-row-first { flex: 1 1 220px; }
.kt-cp form.checkout_coupon .clear { display: none; }

.kt-cp form.checkout {
	display: grid; grid-template-columns: minmax(0, 1fr) 430px; grid-template-rows: auto 1fr; column-gap: 24px; align-items: start;
}
.kt-cp form.checkout > .woocommerce-NoticeGroup { grid-column: 1 / -1; }
.kt-cp #customer_details { grid-column: 1; grid-row: 1 / span 2; display: grid; gap: 18px; width: auto; float: none; margin: 0; }
.kt-cp #customer_details::before, .kt-cp #customer_details::after { display: none; }
.kt-cp #customer_details .col-1, .kt-cp #customer_details .col-2 { float: none; width: auto; max-width: none; margin: 0; padding: 0; display: grid; gap: 18px; }
.kt-cp #customer_details .col-2:empty { display: none; }
.kt-cp .woocommerce-billing-fields, .kt-cp .woocommerce-shipping-fields:not(:empty), .kt-cp .woocommerce-additional-fields, .kt-cp .kt-ship-wrap {
	background: #fff; border: 1px solid var(--kt-line); border-radius: var(--kt-radius); padding: 22px 24px 8px;
}
.kt-cp .kt-ship-wrap { padding-bottom: 18px; }
.kt-cp .woocommerce-shipping-fields:empty { display: none; }
.kt-cp #customer_details h3, .kt-cp .kt-ship-wrap h3 { margin: 0 0 16px !important; font-size: 19px !important; font-weight: 700 !important; line-height: 1.25; }
.kt-cp #ship-to-different-address { margin: 0 0 14px !important; font-size: 15px !important; font-weight: 600 !important; }
.kt-cp #ship-to-different-address label { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 15px; font-weight: 600; color: var(--kt-ink); cursor: pointer; }
.kt-cp #ship-to-different-address input { width: 18px; height: 18px; margin: 0; accent-color: var(--kt-accent); }

.kt-cp .woocommerce-billing-fields__field-wrapper, .kt-cp .woocommerce-shipping-fields__field-wrapper, .kt-cp .woocommerce-additional-fields__field-wrapper {
	display: grid; grid-template-columns: 1fr 1fr; column-gap: 16px;
}
.kt-cp form.checkout .form-row { grid-column: 1 / -1; float: none !important; width: auto !important; margin: 0 0 14px !important; padding: 0 !important; }
.kt-cp form.checkout .form-row-first { grid-column: 1; }
.kt-cp form.checkout .form-row-last { grid-column: 2; }
.kt-cp form.checkout label { display: block; margin: 0 0 5px; font-size: 13.5px; font-weight: 600; line-height: 1.3; color: var(--kt-ink2); }
.kt-cp form.checkout label.screen-reader-text { position: absolute !important; clip: rect(1px, 1px, 1px, 1px); height: 1px; width: 1px; overflow: hidden; }
.kt-cp form.checkout abbr.required { color: var(--kt-sale); text-decoration: none; border: 0; }
.kt-cp form.checkout .optional { font-weight: 500; color: var(--kt-ink3); }
.kt-cp form.checkout .input-text, .kt-cp form.checkout select, .kt-cp form.checkout textarea, .kt-cp form.checkout_coupon .input-text {
	width: 100%; min-height: 46px; padding: 10px 12px; border: 1.5px solid var(--kt-line2); border-radius: 8px;
	background: #fff; font-family: inherit; font-size: 15px; line-height: 1.35; color: var(--kt-ink); box-shadow: none; outline: 0;
}
.kt-cp form.checkout textarea { min-height: 96px; resize: vertical; }
.kt-cp form.checkout .input-text:focus, .kt-cp form.checkout select:focus, .kt-cp form.checkout textarea:focus { border-color: var(--kt-accent); }
.kt-cp form.checkout .woocommerce-invalid .input-text, .kt-cp form.checkout .woocommerce-invalid select { border-color: #e38b83; }
.kt-cp .select2-container .select2-selection--single { height: 46px; border: 1.5px solid var(--kt-line2); border-radius: 8px; }
.kt-cp .select2-container .select2-selection--single .select2-selection__rendered { line-height: 43px; padding-left: 12px; color: var(--kt-ink); }
.kt-cp .select2-container .select2-selection--single .select2-selection__arrow { height: 44px; right: 6px; }

/* Fraktval */
.kt-ship { display: grid; gap: 8px; }
.kt-ship[hidden] { display: none; }
.kt-shipopt, .kt-cp form.checkout label.kt-shipopt {
	position: relative; display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; align-items: center; gap: 12px;
	margin: 0 !important; padding: 13px 16px 13px 14px; border: 1.5px solid var(--kt-line); border-radius: 10px; background: #fff;
	cursor: pointer; transition: border-color .15s, background .15s;
}
.kt-shipopt:hover { border-color: var(--kt-line2); }
.kt-shipopt.is-on, .kt-shipopt:has(input:checked) { border-color: var(--kt-accent); background: #f7fbf7; }
.kt-shipopt input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.kt-shipopt .kt-mark { width: 18px; height: 18px; border: 1.5px solid var(--kt-line2); border-radius: 50%; background: #fff; }
.kt-shipopt input:checked ~ .kt-mark { background: var(--kt-accent); border-color: var(--kt-accent); box-shadow: inset 0 0 0 3.5px #fff; }
.kt-shipopt input:focus-visible ~ .kt-mark { outline: 2px solid var(--kt-accent); outline-offset: 2px; }
.kt-ship-t { min-width: 0; }
.kt-ship-t strong { display: block; font-size: 15px; font-weight: 700; line-height: 1.3; color: var(--kt-ink); }
.kt-ship-t small { display: block; margin-top: 1px; font-size: 13.5px; color: var(--kt-ink3); }
.kt-ship-p { font-size: 14px; font-weight: 700; color: var(--kt-accent); white-space: nowrap; }
.kt-ship-none { margin: 0; color: var(--kt-ink2); }

/* Höger: din beställning */
.kt-cp #order_review_heading {
	grid-column: 2; grid-row: 1; margin: 0 !important; padding: 22px 24px 6px;
	background: #fff; border: 1px solid var(--kt-line); border-bottom: 0; border-radius: var(--kt-radius) var(--kt-radius) 0 0;
	font-size: 19px !important; font-weight: 700 !important;
}
.kt-cp #order_review {
	grid-column: 2; grid-row: 2; width: auto; float: none; padding: 4px 24px 24px;
	background: #fff; border: 1px solid var(--kt-line); border-top: 0; border-radius: 0 0 var(--kt-radius) var(--kt-radius);
}
.kt-rev-lines { display: grid; gap: 0; }
.kt-rev-line { position: relative; display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 12px 0; border-top: 1px solid var(--kt-line); }
.kt-rev-lines > .kt-rev-line:first-child { border-top: 0; }
.kt-rev-img img { display: block; width: 48px; height: 48px; object-fit: contain; border: 1px solid var(--kt-line); border-radius: 8px; padding: 3px; background: #fff; }
.kt-rev-name { min-width: 0; font-size: 14.5px; line-height: 1.35; }
.kt-rev-title { font-weight: 700; color: var(--kt-ink); }
.kt-rev-name .product-quantity { font-weight: 600; color: var(--kt-ink3); }
.kt-rev-name dl.variation { margin: 3px 0 0; display: flex; flex-wrap: wrap; gap: 0 5px; font-size: 12.5px; color: var(--kt-ink2); }
.kt-rev-name dl.variation dt, .kt-rev-name dl.variation dd { margin: 0; float: none; }
.kt-rev-name dl.variation dd p { margin: 0; }
.kt-rev-sum { font-weight: 700; font-size: 14.5px; white-space: nowrap; color: var(--kt-ink); font-variant-numeric: tabular-nums; }
.kt-rev-line.kt-child { border-top: 0; padding: 0 0 10px 34px; grid-template-columns: 32px minmax(0, 1fr) auto; }
.kt-rev-line.kt-child::before { content: ""; position: absolute; left: 22px; top: -8px; width: 9px; height: 26px; border-left: 1.5px solid var(--kt-line2); border-bottom: 1.5px solid var(--kt-line2); border-bottom-left-radius: 6px; }
.kt-rev-line.kt-child .kt-rev-img img { width: 32px; height: 32px; padding: 2px; }
.kt-rev-line.kt-child .kt-rev-title { font-weight: 600; }
.kt-rev-line.kt-child .kt-rev-sum { font-weight: 600; }
.kt-rev-line .kt-line-kind { font-size: 10.5px; margin: 0; }
.kt-rev .kt-sum-t { margin-top: 6px !important; border-top: 1px solid var(--kt-line) !important; }
.kt-rev .kt-sum-t tr:first-child th, .kt-rev .kt-sum-t tr:first-child td { border-top: 0 !important; }
.kt-rev .kt-sum-ship td { font-weight: 600; font-size: 14px; }

/* Delbetalning */
.kt-cp .kt-pp-checkout { margin: 14px 0 0; padding: 12px 14px; border: 1.5px solid var(--kt-line); border-radius: 10px; background: #fff; font-size: 14.5px; }
.kt-cp .kt-pp-checkout .kt-pp-optin { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 14.5px; font-weight: 600; color: var(--kt-ink); cursor: pointer; }
.kt-cp .kt-pp-checkout input[type="checkbox"] { width: 18px; height: 18px; margin: 0; accent-color: var(--kt-accent); }
.kt-cp .kt-pp-checkout #delb_area { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--kt-line); }
.kt-cp .kt-pp-checkout #delb_area p { margin: 0 0 8px; font-size: 13.5px; color: var(--kt-ink2); }
.kt-cp .kt-pp-checkout label[for="delb_months"] { display: block; margin: 0 0 4px; font-size: 13px; font-weight: 600; color: var(--kt-ink2); }
.kt-cp .kt-pp-checkout select { width: 100%; min-height: 42px; padding: 0 10px; border: 1.5px solid var(--kt-line2); border-radius: 8px; font: inherit; background: #fff; }
.kt-cp .kt-pp-checkout #delb_summary { margin-top: 8px; font-weight: 700; color: var(--kt-accent); }
.kt-cp .kt-pp-checkout #delb_summary:empty { display: none; }

/* Betalning och knapp */
.kt-cp #payment { margin: 14px 0 0; padding: 0; background: none !important; border-radius: 0; }
.kt-cp #payment ul.payment_methods { margin: 0; padding: 0 !important; border: 0 !important; list-style: none; }
.kt-cp #payment ul.payment_methods li { margin: 0; padding: 0; background: none; line-height: 1.4; }
.kt-cp #payment ul.payment_methods li > label { display: inline; font-size: 14.5px; font-weight: 700; color: var(--kt-ink); }
.kt-cp #payment ul.payment_methods li img { display: none; }
.kt-cp #payment ul.payment_methods li:only-child > input[type="radio"] { display: none; }
.kt-cp #payment ul.payment_methods li:only-child > label { display: none; }
.kt-cp #payment div.payment_box {
	margin: 0 !important; padding: 12px 14px 12px 40px !important; border-radius: 10px; background: var(--kt-accent-soft) !important;
	font-size: 14px; line-height: 1.5; color: var(--kt-ink) !important; position: relative;
}
.kt-cp #payment div.payment_box::before {
	content: "i"; position: absolute; left: 13px; top: 13px; width: 18px; height: 18px; margin: 0; border: 0;
	display: grid; place-items: center; border-radius: 50%; background: var(--kt-accent); color: #fff;
	font-size: 12px; font-weight: 700; font-style: normal;
}
.kt-cp #payment div.payment_box p { margin: 0; }
.kt-cp #payment .place-order { margin: 0 !important; padding: 14px 0 0 !important; }
.kt-cp .woocommerce-privacy-policy-text p, .kt-cp .woocommerce-terms-and-conditions-wrapper p { margin: 0 0 12px; font-size: 12.5px; line-height: 1.5; color: var(--kt-ink3); }
html body .kt-cp #place_order { display: flex; width: 100%; min-height: 54px; float: none; font-size: 17px; }

/* Tack-sidan */
.kt-cp .woocommerce-order { background: #fff; border: 1px solid var(--kt-line); border-radius: var(--kt-radius); padding: 26px 28px; }
.kt-cp .woocommerce-thankyou-order-received { margin: 0 0 18px; padding: 14px 16px; border-radius: 10px; background: var(--kt-accent-soft); color: var(--kt-accent); font-size: 16px; font-weight: 600; }
.kt-cp ul.order_details { display: flex; flex-wrap: wrap; gap: 10px 28px; margin: 0 0 22px !important; padding: 0 !important; list-style: none; }
.kt-cp ul.order_details li { margin: 0 !important; padding: 0 !important; border: 0 !important; float: none !important; font-size: 12.5px; text-transform: uppercase; letter-spacing: .05em; color: var(--kt-ink3); }
.kt-cp ul.order_details li strong { display: block; margin-top: 2px; font-size: 15px; text-transform: none; letter-spacing: 0; color: var(--kt-ink); }
.kt-cp .woocommerce-order-details h2, .kt-cp .woocommerce-customer-details h2 { font-size: 18px !important; font-weight: 700 !important; margin: 22px 0 10px !important; }
.kt-cp table.woocommerce-table--order-details { border: 1px solid var(--kt-line) !important; border-radius: 10px; border-collapse: separate; }
.kt-cp table.woocommerce-table--order-details th, .kt-cp table.woocommerce-table--order-details td { padding: 10px 14px !important; border-color: var(--kt-line) !important; }

/* ================= Mobil ================= */
@media (max-width: 1024px) {
	.kt-cp .woocommerce:has(> .woocommerce-cart-form) { grid-template-columns: minmax(0, 1fr); }
	.kt-cp .cart-collaterals { grid-column: 1; grid-row: auto; position: static; }
	.kt-cp form.checkout { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
	.kt-cp #customer_details { grid-row: auto; margin-bottom: 18px; }
	.kt-cp #order_review_heading, .kt-cp #order_review { grid-column: 1; grid-row: auto; }
}
@media (max-width: 700px) {
	.kt-cp-in { padding: 18px 12px 48px; }
	.kt-cp-head { margin-bottom: 16px; }
	.kt-cp-title { font-size: 24px !important; }
	.kt-steps li { padding: 4px 10px 4px 4px; font-size: 12.5px; }
	.kt-steps li:not(.is-on) span, .kt-steps li:not(.is-on) a { display: none; }
	.kt-steps li:not(.is-on) { padding-right: 4px; }
	.kt-lines { padding: 0 14px; }
	.kt-lines-h { display: none; }
	.kt-line { grid-template-columns: 64px minmax(0, 1fr) auto; grid-template-areas: "img name name" "img qty sum"; row-gap: 10px; column-gap: 12px; padding: 14px 0; }
	.kt-lines-h + .kt-line, .kt-lines > .kt-line:first-of-type { border-top: 0; }
	.kt-line-img { grid-area: img; align-self: start; }
	.kt-line-img img { width: 64px; height: 64px; }
	.kt-line-name { grid-area: name; }
	.kt-line-qty { grid-area: qty; text-align: left; }
	.kt-line-sum { grid-area: sum; }
	.kt-line.kt-child { padding: 0 0 12px 30px; grid-template-columns: 36px minmax(0, 1fr) auto; grid-template-areas: "img name sum"; }
	.kt-line.kt-child::before { left: 26px; }
	.kt-line.kt-child .kt-line-img { padding-left: 8px; }
	.kt-line.kt-child .kt-line-img img { width: 34px; height: 34px; }
	.kt-line.kt-child .kt-line-qty { display: none; }
	.kt-sum, .kt-cp #order_review_heading { padding-left: 16px; padding-right: 16px; }
	.kt-cp #order_review { padding: 4px 16px 18px; }
	.kt-cp .woocommerce-billing-fields, .kt-cp .woocommerce-shipping-fields:not(:empty), .kt-cp .woocommerce-additional-fields, .kt-cp .kt-ship-wrap { padding: 18px 16px 6px; }
	.kt-cp .kt-ship-wrap { padding-bottom: 14px; }
	.kt-cp .woocommerce-billing-fields__field-wrapper { grid-template-columns: 1fr; }
	.kt-cp form.checkout .form-row-first, .kt-cp form.checkout .form-row-last { grid-column: 1 / -1; }
}

/* ================= Varukorgspanelen i headern (Elementor Menu Cart) ================= */
body.kt-mc .elementor-menu-cart__main { width: min(440px, 100vw) !important; max-width: 100vw; padding: 22px 22px 18px !important; }
body.kt-mc .elementor-menu-cart__products { display: grid; gap: 0; }
body.kt-mc .elementor-menu-cart__product {
	position: relative; display: grid !important; grid-template-columns: 64px minmax(0, 1fr) 26px !important; grid-template-rows: auto auto;
	column-gap: 12px; align-items: start; padding: 14px 0 !important; border-bottom: 0 !important; border-top: 1px solid var(--kt-line);
}
body.kt-mc .elementor-menu-cart__products > .elementor-menu-cart__product:first-child { border-top: 0; }
body.kt-mc .elementor-menu-cart__product-image { grid-column: 1; grid-row: 1 / span 2; width: 64px !important; }
body.kt-mc .elementor-menu-cart__product-image img { width: 64px; height: 64px; object-fit: contain; border: 1px solid var(--kt-line); border-radius: 8px; padding: 3px; background: #fff; }
body.kt-mc .elementor-menu-cart__product-name { grid-column: 2; grid-row: 1; padding: 0 !important; margin: 0 !important; font-size: 14.5px; font-weight: 700; line-height: 1.3; }
body.kt-mc .elementor-menu-cart__product-name a { color: var(--kt-ink); }
body.kt-mc .elementor-menu-cart__product-name dl.variation { margin: 3px 0 0; font-size: 12.5px; font-weight: 500; color: var(--kt-ink2); }
body.kt-mc .elementor-menu-cart__product-name dl.variation dt, body.kt-mc .elementor-menu-cart__product-name dl.variation dd { display: inline; margin: 0; float: none; }
body.kt-mc .elementor-menu-cart__product-name dl.variation dd p { display: inline; margin: 0; }
body.kt-mc .elementor-menu-cart__product-name dl.variation dd { margin-left: 4px; }
body.kt-mc .elementor-menu-cart__product-price { grid-column: 2; grid-row: 2; padding: 4px 0 0 !important; margin: 0 !important; font-size: 14px; font-weight: 600; color: var(--kt-ink); text-align: left !important; }
body.kt-mc .elementor-menu-cart__product-remove { grid-column: 3; grid-row: 1; justify-self: end; margin: 2px 0 0 !important; }

body.kt-mc :is(.elementor-menu-cart__product.kt-child, .elementor-menu-cart__product:has(dt.variation-Tillvaltill), .elementor-menu-cart__product:has(dt.variation-Servicefr)) { border-top: 0; padding: 0 0 12px 30px !important; grid-template-columns: 40px minmax(0, 1fr) 26px !important; }
body.kt-mc :is(.elementor-menu-cart__product.kt-child, .elementor-menu-cart__product:has(dt.variation-Tillvaltill), .elementor-menu-cart__product:has(dt.variation-Servicefr))::before { content: ""; position: absolute; left: 20px; top: -8px; width: 9px; height: 28px; border-left: 1.5px solid var(--kt-line2); border-bottom: 1.5px solid var(--kt-line2); border-bottom-left-radius: 6px; }
body.kt-mc :is(.elementor-menu-cart__product.kt-child, .elementor-menu-cart__product:has(dt.variation-Tillvaltill), .elementor-menu-cart__product:has(dt.variation-Servicefr)) .elementor-menu-cart__product-image { width: 40px !important; }
body.kt-mc :is(.elementor-menu-cart__product.kt-child, .elementor-menu-cart__product:has(dt.variation-Tillvaltill), .elementor-menu-cart__product:has(dt.variation-Servicefr)) .elementor-menu-cart__product-image img { width: 40px; height: 40px; padding: 2px; }
body.kt-mc :is(.elementor-menu-cart__product.kt-child, .elementor-menu-cart__product:has(dt.variation-Tillvaltill), .elementor-menu-cart__product:has(dt.variation-Servicefr)) .elementor-menu-cart__product-name { font-size: 13.5px; font-weight: 600; }
body.kt-mc :is(.elementor-menu-cart__product.kt-child, .elementor-menu-cart__product:has(dt.variation-Tillvaltill), .elementor-menu-cart__product:has(dt.variation-Servicefr)) dl.variation { display: none; }
body.kt-mc :is(.elementor-menu-cart__product.kt-child, .elementor-menu-cart__product:has(dt.variation-Tillvaltill), .elementor-menu-cart__product:has(dt.variation-Servicefr)) .elementor-menu-cart__product-price { font-size: 13px; color: var(--kt-ink2); }
body.kt-mc .elementor-menu-cart__product:has(dt.variation-Servicefr) .elementor-menu-cart__product-name::before { content: "Servicenivå"; display: block; font-size: 10.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--kt-accent); }
body.kt-mc .elementor-menu-cart__product:has(dt.variation-Tillvaltill) .elementor-menu-cart__product-name::before { content: "Tillval"; display: block; font-size: 10.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--kt-accent); }

body.kt-mc .elementor-menu-cart__subtotal { margin-top: 6px; padding: 14px 0 !important; border-top: 1px solid var(--kt-line) !important; border-bottom: 0 !important; display: flex; justify-content: space-between; font-size: 16px !important; color: var(--kt-ink); }
body.kt-mc .elementor-menu-cart__footer-buttons { display: grid !important; grid-template-columns: 1fr 1fr; gap: 10px; }
html body.kt-mc .elementor-menu-cart__footer-buttons .elementor-button { min-height: 46px; display: flex; align-items: center; justify-content: center; border-radius: 8px !important; font-size: 15px !important; font-weight: 700 !important; }
html body.kt-mc .elementor-menu-cart__footer-buttons .elementor-button--view-cart { background: #fff !important; color: var(--kt-accent) !important; border: 1.5px solid var(--kt-accent) !important; }
html body.kt-mc .elementor-menu-cart__footer-buttons .elementor-button--checkout { background: var(--kt-accent) !important; color: #fff !important; border: 1.5px solid var(--kt-accent) !important; }
body.kt-mc .elementor-menu-cart__product:has(dt.variation-Servicefr) .elementor-menu-cart__product-remove { visibility: hidden; }
