/* =========================================================
 * Lucia Care: Checkout-design CSS (guld og hvid)
 * Version 1.5
 *
 * Virker kun sammen med PHP-snippet "Lucia Care: Nyt checkout-design".
 * Alt er afgrænset af body-klassen .lc-co, som kun sættes for administratorer
 * eller med ?lc_checkout=preview. Alle andre kunder påvirkes ikke.
 *
 * Kontrast (WCAG AA):
 *  - Grøn tekst #1A403B på guld #B6A173: 4,5:1 (brug altid fed/semibold)
 *  - Tekst #181818 på hvid: 17:1
 *  - Dæmpet tekst #5E5A52 på hvid: 6,6:1
 *  - Guld bruges ALDRIG som tekstfarve på hvid (kun flader, kanter, ikoner)
 * ======================================================= */

body.lc-co {
	--lc-gold: #B6A173;
	--lc-gold-dark: #9A8656;
	--lc-gold-50: #F8F4EC;
	--lc-gold-100: #EFE6D3;
	--lc-green: #1A403B;
	--lc-ink: #181818;
	--lc-muted: #5E5A52;
	--lc-line: #E6DECD;
	--lc-field: #D8CFBD;
	--lc-white: #FFFFFF;
	--lc-page: #FCFAF6;
	--lc-focus: 0 0 0 3px rgba(182, 161, 115, .45);
	--lc-radius: 4px;
	--lc-serif: "Begum Regular", Georgia, "Times New Roman", serif;
	--lc-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	background: var(--lc-page);
}

/* ---------- Side og hero ---------- */

.lc-co .lc-co-page {
	max-width: 1120px;
	margin: 0 auto;
	padding: 8px 0 48px;
	font-family: var(--lc-sans);
	font-size: 15px;
	line-height: 1.5;
	color: var(--lc-ink);
}

.lc-co .lc-co-page *,
.lc-co .lc-co-page *::before,
.lc-co .lc-co-page *::after { box-sizing: border-box; }

.lc-co .lc-hero { padding: 16px 0 20px; }

.lc-co .lc-eyebrow {
	margin: 0 0 6px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--lc-green);
}
.lc-co .lc-eyebrow::before {
	content: "";
	display: inline-block;
	width: 22px;
	height: 2px;
	margin: 0 10px 3px 0;
	vertical-align: middle;
	background: var(--lc-gold);
}

.lc-co .lc-title {
	margin: 0 0 18px;
	font-family: var(--lc-serif);
	font-weight: 400;
	font-size: clamp(34px, 6vw, 46px);
	line-height: 1.1;
	color: var(--lc-ink);
}

/* Fremskridt */
.lc-co .lc-progress {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 6px;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
	font-size: 12px;
	color: var(--lc-muted);
}
.lc-co .lc-progress li { margin: 0; }
.lc-co .lc-progress li::before {
	content: "";
	display: block;
	height: 4px;
	margin-bottom: 8px;
	border-radius: 4px;
	background: var(--lc-gold-100);
}
.lc-co .lc-progress li.is-done::before,
.lc-co .lc-progress li.is-current::before { background: var(--lc-gold); }
.lc-co .lc-progress li.is-current { color: var(--lc-ink); font-weight: 600; }
.lc-co .lc-progress li:nth-child(2) { text-align: center; }
.lc-co .lc-progress li:nth-child(3) { text-align: right; }

/* ---------- Hurtige rækker: login, rabatkupon, beskeder ---------- */

.lc-co .lc-quick { display: grid; gap: 8px; }
.lc-co .lc-quick:empty { display: none; }

.lc-co .lc-quick .woocommerce-form-login-toggle .woocommerce-info,
.lc-co .lc-quick .woocommerce-form-coupon-toggle .woocommerce-info {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 56px;
	margin: 0;
	padding: 12px 16px;
	border: 1px solid var(--lc-line);
	border-radius: var(--lc-radius);
	background: var(--lc-white);
	color: var(--lc-ink);
	font-size: 14px;
	box-shadow: none;
}
.lc-co .lc-quick .woocommerce-form-login-toggle .woocommerce-info::before,
.lc-co .lc-quick .woocommerce-form-coupon-toggle .woocommerce-info::before {
	content: "";
	position: static;
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	margin: 0;
	border-radius: 50%;
	background: var(--lc-gold-50) center / 14px no-repeat;
	border: 1px solid var(--lc-gold);
}
.lc-co .lc-quick .woocommerce-info a {
	color: var(--lc-green);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.lc-co .lc-quick form.checkout_coupon,
.lc-co .lc-quick form.woocommerce-form-login {
	margin: -4px 0 0;
	padding: 16px;
	border: 1px solid var(--lc-line);
	border-top: 0;
	border-radius: 0 0 var(--lc-radius) var(--lc-radius);
	background: var(--lc-white);
}
.lc-co .lc-quick form.checkout_coupon { display: flex; flex-wrap: wrap; gap: 8px; }
.lc-co .lc-quick form.checkout_coupon .form-row { flex: 1 1 180px; float: none; width: auto; margin: 0; padding: 0; }
.lc-co .lc-quick form.checkout_coupon .form-row-last { flex: 0 0 auto; }
.lc-co .lc-quick form.checkout_coupon .clear { display: none; }

/* WooCommerce-beskeder */
.lc-co .lc-co-page .woocommerce-error,
.lc-co .lc-co-page .woocommerce-message,
.lc-co .lc-co-page .woocommerce-NoticeGroup .woocommerce-info {
	margin: 0 0 12px;
	padding: 14px 16px;
	border: 1px solid var(--lc-line);
	border-left: 4px solid var(--lc-gold);
	border-radius: var(--lc-radius);
	background: var(--lc-white);
	color: var(--lc-ink);
	font-size: 14px;
	list-style: none;
}
.lc-co .lc-co-page .woocommerce-error { border-left-color: #A23B2C; }
.lc-co .lc-co-page .woocommerce-error::before,
.lc-co .lc-co-page .woocommerce-message::before { display: none; }
.lc-co .lc-co-page .woocommerce-error li { margin: 0; }

/* ---------- Layout ---------- */

.lc-co .lc-form { margin: 0; }

.lc-co .lc-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 14px;
}

@media (min-width: 980px) {
	.lc-co .lc-layout {
		grid-template-columns: minmax(0, 1fr) 380px;
		grid-template-areas: "main side";
		gap: 28px;
		align-items: start;
	}
	.lc-co .lc-main { grid-area: main; }
	.lc-co .lc-side { grid-area: side; position: sticky; top: 24px; }
	.admin-bar.lc-co .lc-side { top: 56px; }
}

.lc-co .lc-main { display: grid; gap: 14px; min-width: 0; }
.lc-co .lc-customer { display: grid; gap: 14px; }

/* Woo/Astra-flydere neutraliseres */
.lc-co .lc-form .col2-set,
.lc-co .lc-form .col-1,
.lc-co .lc-form .col-2 { float: none; width: auto; }

/* ---------- Kort ---------- */

.lc-co .lc-card {
	padding: 22px 18px;
	border: 1px solid var(--lc-line);
	border-radius: var(--lc-radius);
	background: var(--lc-white);
}
@media (min-width: 600px) { .lc-co .lc-card { padding: 28px; } }

.lc-co .lc-card__head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 20px;
}
.lc-co .lc-step {
	display: grid;
	place-items: center;
	flex: 0 0 30px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--lc-gold);
	color: var(--lc-green);
	font-size: 13px;
	font-weight: 700;
}
.lc-co .lc-card__title {
	margin: 0;
	font-family: var(--lc-serif);
	font-weight: 400;
	font-size: 26px;
	line-height: 1.15;
	color: var(--lc-ink);
}

.lc-co .lc-subtitle,
.lc-co .lc-form .woocommerce-shipping-fields h3,
.lc-co .lc-form .woocommerce-additional-fields h3 {
	margin: 22px 0 12px;
	padding: 0;
	border: 0;
	font-family: var(--lc-sans);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .02em;
	color: var(--lc-ink);
}

.lc-co .lc-hint {
	margin: 10px 0 0;
	font-size: 13px;
	color: var(--lc-muted);
}

/* ---------- Felter ---------- */

.lc-co .lc-fields,
.lc-co .lc-form .woocommerce-shipping-fields__field-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 12px;
}
.lc-co .lc-form .form-row {
	grid-column: 1 / -1;
	float: none;
	width: auto;
	margin: 0 0 14px;
	padding: 0;
}
.lc-co .lc-form .form-row-first { grid-column: 1; }
.lc-co .lc-form .form-row-last { grid-column: 2; }
@media (max-width: 380px) {
	.lc-co .lc-form .form-row-first,
	.lc-co .lc-form .form-row-last { grid-column: 1 / -1; }
}

/* Skjulte hjælpefelter fra plugins */
.lc-co .lc-form .form-row:has(> .woocommerce-input-wrapper > input[type="hidden"]:only-child) { display: none; }

.lc-co .lc-form .form-row label:not(.checkbox):not(.woocommerce-form__label-for-checkbox) {
	display: block;
	margin: 0 0 6px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--lc-ink);
}
.lc-co .lc-form .form-row .required { color: #A23B2C; text-decoration: none; }
.lc-co .lc-form .form-row .optional { font-weight: 400; color: var(--lc-muted); }

.lc-co .lc-co-page input.input-text,
.lc-co .lc-co-page input[type="text"],
.lc-co .lc-co-page input[type="email"],
.lc-co .lc-co-page input[type="tel"],
.lc-co .lc-co-page input[type="password"],
.lc-co .lc-co-page textarea,
.lc-co .lc-co-page select {
	width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 11px 14px;
	border: 1px solid var(--lc-field);
	border-radius: var(--lc-radius);
	background: var(--lc-white);
	color: var(--lc-ink);
	font-family: var(--lc-sans);
	font-size: 16px; /* undgår zoom på iPhone */
	line-height: 1.4;
	box-shadow: none;
	transition: border-color .15s, box-shadow .15s;
}
.lc-co .lc-co-page textarea { min-height: 96px; }
.lc-co .lc-co-page input::placeholder,
.lc-co .lc-co-page textarea::placeholder { color: #8A8478; }
.lc-co .lc-co-page input:focus,
.lc-co .lc-co-page textarea:focus,
.lc-co .lc-co-page select:focus {
	border-color: var(--lc-gold-dark);
	box-shadow: var(--lc-focus);
	outline: none;
}
.lc-co .lc-form .woocommerce-invalid input.input-text,
.lc-co .lc-form .woocommerce-invalid select { border-color: #A23B2C; }

/* Land-vælger (selectWoo) */
.lc-co .lc-co-page .select2-container .select2-selection--single {
	height: 48px;
	border: 1px solid var(--lc-field);
	border-radius: var(--lc-radius);
}
.lc-co .lc-co-page .select2-container .select2-selection--single .select2-selection__rendered {
	padding: 0 40px 0 14px;
	line-height: 46px;
	color: var(--lc-ink);
}
.lc-co .lc-co-page .select2-container .select2-selection--single .select2-selection__arrow { height: 46px; right: 8px; }
.lc-co .lc-co-page .select2-container--focus .select2-selection--single,
.lc-co .lc-co-page .select2-container--open .select2-selection--single {
	border-color: var(--lc-gold-dark);
	box-shadow: var(--lc-focus);
}

/* Afkrydsning og radioknapper */
.lc-co .lc-co-page input[type="checkbox"],
.lc-co .lc-co-page input[type="radio"] {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--lc-green);
	flex: 0 0 auto;
}
.lc-co .lc-form label.checkbox,
.lc-co .lc-form .woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.45;
	color: var(--lc-ink);
	cursor: pointer;
}
.lc-co .lc-form label.checkbox input,
.lc-co .lc-form .woocommerce-form__label-for-checkbox input { margin-top: 2px; }

/* ---------- Levering ---------- */

.lc-co .lc-shipping__table,
.lc-co .lc-shipping__table tbody,
.lc-co .lc-shipping__table tr,
.lc-co .lc-shipping__table td {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
}
.lc-co .lc-shipping__table th { display: none; }

.lc-co #shipping_method {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.lc-co #shipping_method li {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 60px;
	margin: 0;
	padding: 12px 14px;
	border: 1px solid var(--lc-line);
	border-radius: var(--lc-radius);
	background: var(--lc-white);
	text-indent: 0;
	transition: border-color .15s, background-color .15s;
}
.lc-co #shipping_method li:has(input:checked) {
	border-color: var(--lc-gold);
	background: var(--lc-gold-50);
	box-shadow: inset 0 0 0 1px var(--lc-gold);
}
.lc-co #shipping_method li input { margin: 0; }
.lc-co #shipping_method li label {
	display: flex;
	flex: 1;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
	font-size: 15px;
	font-weight: 600;
	color: var(--lc-ink);
	cursor: pointer;
}
/* Hele rækken er klikbar */
.lc-co #shipping_method li label::after { content: ""; position: absolute; inset: 0; }
.lc-co .lc-ship-price { flex: 0 0 auto; font-weight: 600; white-space: nowrap; }
.lc-co .lc-shipping > p,
.lc-co .lc-shipping td > p { margin: 0; font-size: 14px; color: var(--lc-muted); }

/* GLS pakkeshopvælger */
.lc-co .GLSDk-shipping-options { display: block; width: 100%; margin: 10px 0 0; border: 0; }
.lc-co .GLSDk-shipping-options:empty { display: none; }
.lc-co .GLSDk-shipping-options tbody,
.lc-co .GLSDk-shipping-options tr,
.lc-co .GLSDk-shipping-options td { display: block; padding: 0; border: 0; background: none; }
.lc-co .GLSDk-shipping-options .GLSDk-pick-location,
.lc-co .GLSDk-shipping-options button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 18px;
	border: 1px solid var(--lc-gold);
	border-radius: var(--lc-radius);
	background: var(--lc-gold);
	color: var(--lc-green);
	font-family: var(--lc-sans);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .02em;
	cursor: pointer;
}
.lc-co .GLSDk-shipping-options .GLSDk-pick-location:hover,
.lc-co .GLSDk-shipping-options button:hover { background: var(--lc-gold-dark); border-color: var(--lc-gold-dark); color: var(--lc-white); }
.lc-co .GLSDk-shipping-options .GLSDk-pickup__description,
.lc-co .GLSDk-shipping-options td > div,
.lc-co .GLSDk-shipping-options p {
	display: block;
	margin: 10px 0 0;
	padding: 12px 14px;
	border-radius: var(--lc-radius);
	background: var(--lc-gold-50);
	font-size: 13px;
	line-height: 1.5;
	color: var(--lc-ink);
}
.lc-co .GLSDk-shipping-options .GLSDk-pickup__description:empty { display: none; }

/* Send til anden adresse + bemærkning */
.lc-co .lc-form .woocommerce-shipping-fields h3#ship-to-different-address { margin-top: 22px; }
.lc-co .lc-form .woocommerce-shipping-fields h3#ship-to-different-address label { font-size: 14px; font-weight: 600; }
.lc-co .lc-form .shipping_address { margin-top: 14px; }
.lc-co .lc-form .woocommerce-additional-fields { margin-top: 6px; }

/* ---------- Ordreoversigt ---------- */

.lc-co .lc-order {
	border: 1px solid var(--lc-gold);
	border-radius: var(--lc-radius);
	background: var(--lc-white);
	overflow: hidden;
}
.lc-co .lc-order__bar {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 64px;
	padding: 14px 16px;
	background: var(--lc-gold);
	color: var(--lc-green);
	list-style: none;
	cursor: pointer;
}
.lc-co .lc-order__bar::-webkit-details-marker { display: none; }
.lc-co .lc-order__bar:focus-visible { outline: 3px solid var(--lc-green); outline-offset: -3px; }
.lc-co .lc-order__icon {
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	border: 1.5px solid var(--lc-green);
	border-radius: 50%;
	background:
		linear-gradient(var(--lc-green), var(--lc-green)) center 13px / 12px 1.5px no-repeat,
		radial-gradient(circle at 50% 70%, transparent 5px, var(--lc-green) 5.5px, var(--lc-green) 6.5px, transparent 7px) center 4px / 14px 14px no-repeat;
}
.lc-co .lc-order__title { font-size: 15px; font-weight: 700; }
.lc-co .lc-order-sum { display: flex; flex: 1; align-items: center; justify-content: space-between; gap: 10px; }
.lc-co .lc-order-sum__count { font-size: 13px; font-weight: 600; }
.lc-co .lc-order-sum__total { font-size: 15px; font-weight: 700; white-space: nowrap; }
.lc-co .lc-order-sum__total .amount { color: inherit; }
.lc-co .lc-order__caret {
	flex: 0 0 10px;
	width: 10px;
	height: 10px;
	margin-top: -4px;
	border-right: 2px solid var(--lc-green);
	border-bottom: 2px solid var(--lc-green);
	transform: rotate(45deg);
	transition: transform .2s;
}
.lc-co .lc-order[open] .lc-order__caret { transform: rotate(225deg); margin-top: 4px; }
@media (min-width: 980px) {
	.lc-co .lc-order__bar { cursor: default; }
	.lc-co .lc-order__caret { display: none; }
}

.lc-co .lc-order__body { padding: 6px 16px 16px; background: var(--lc-white); }

.lc-co .lc-review { width: 100%; margin: 0; border: 0; border-collapse: collapse; background: none; font-size: 14px; }
.lc-co .lc-review th,
.lc-co .lc-review td { padding: 10px 0; border: 0; border-top: 1px solid var(--lc-line); background: none; vertical-align: middle; color: var(--lc-ink); font-weight: 400; }
.lc-co .lc-review tbody tr:first-child td { border-top: 0; }
.lc-co .lc-review td.product-total,
.lc-co .lc-review tfoot td { text-align: right; white-space: nowrap; }
.lc-co .lc-review td.product-name { display: flex; align-items: center; gap: 12px; }
.lc-co .lc-review__thumb { flex: 0 0 56px; }
.lc-co .lc-review__thumb img {
	display: block;
	width: 56px;
	height: 56px;
	object-fit: contain;
	border-radius: var(--lc-radius);
	background: var(--lc-gold-50);
}
.lc-co .lc-review__name { line-height: 1.35; }
.lc-co .lc-review .product-quantity { font-weight: 600; color: var(--lc-muted); }
.lc-co .lc-review .variation { margin: 4px 0 0; font-size: 12px; color: var(--lc-muted); }
.lc-co .lc-review tfoot th { text-align: left; font-weight: 400; color: var(--lc-muted); }
.lc-co .lc-review tfoot .order-total th,
.lc-co .lc-review tfoot .order-total td { padding-top: 14px; border-top: 1px solid var(--lc-gold); font-weight: 700; color: var(--lc-ink); font-size: 16px; }
.lc-co .lc-review tfoot .order-total .includes_tax { display: block; font-size: 12px; font-weight: 400; color: var(--lc-muted); }

/* ---------- Betaling: gavekort og butikskredit ---------- */

.lc-co .lc-extras { display: grid; gap: 8px; margin: 0 0 18px; }

.lc-co .lc-row {
	border: 1px solid var(--lc-line);
	border-radius: var(--lc-radius);
	background: var(--lc-white);
}
.lc-co .lc-row > summary {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 56px;
	padding: 10px 14px;
	list-style: none;
	cursor: pointer;
}
.lc-co .lc-row > summary::-webkit-details-marker { display: none; }
.lc-co .lc-row > summary:focus-visible { outline: 3px solid var(--lc-gold-dark); outline-offset: -3px; }
.lc-co .lc-row__icon {
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	border: 1px solid var(--lc-gold);
	border-radius: 50%;
	background: var(--lc-gold-50);
}
.lc-co .lc-row__text { flex: 1; }
.lc-co .lc-row__text strong { display: block; font-size: 14px; font-weight: 600; }
.lc-co .lc-row__text small { display: block; font-size: 12px; color: var(--lc-muted); }
.lc-co .lc-row__caret,
.lc-co .acfw-accordion .caret {
	flex: 0 0 9px;
	width: 9px;
	height: 9px;
	margin-top: -4px;
	border-right: 2px solid var(--lc-gold-dark);
	border-bottom: 2px solid var(--lc-gold-dark);
	transform: rotate(45deg);
	transition: transform .2s;
}
.lc-co .lc-row[open] .lc-row__caret { transform: rotate(225deg); margin-top: 4px; }
.lc-co .lc-row__content { padding: 0 14px 14px; }

/* Gavekort-formularen */
.lc-co .lc-row--giftcard .add_gift_card_form { margin: 0; padding: 0; border: 0; }
.lc-co .lc-row--giftcard .add_gift_card_form h4 { display: none; }
.lc-co .lc-row--giftcard #wc_gc_cart_redeem_form { display: flex; flex-wrap: wrap; gap: 8px; }
.lc-co .lc-row--giftcard #wc_gc_cart_redeem_form input { flex: 1 1 180px; }

/* Butikskredit (Advanced Coupons) */
.lc-co .lc-row--credit .acfw-checkout-ui-block,
.lc-co .lc-row--credit .acfw-accordions { margin: 0; padding: 0; border: 0; }
.lc-co .lc-row--credit .acfw-accordion { margin: 0; border: 0; background: none; }
.lc-co .lc-row--credit .acfw-accordion h3 {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 56px;
	margin: 0;
	padding: 10px 14px;
	border: 0;
	background: none;
	font-family: var(--lc-sans);
	font-size: 14px;
	font-weight: 600;
	color: var(--lc-ink);
	cursor: pointer;
}
.lc-co .lc-row--credit .acfw-accordion h3::before {
	content: "";
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	border: 1px solid var(--lc-gold);
	border-radius: 50%;
	background: var(--lc-gold-50);
}
.lc-co .lc-row--credit .acfw-accordion-title { flex: 1; }
.lc-co .lc-row--credit .acfw-accordion .caret img { display: none; }
.lc-co .lc-row--credit .acfw-accordion-inner { padding: 0 14px 14px; }
.lc-co .lc-row--credit .acfw-accordion-content p { margin: 0 0 8px; font-size: 13px; color: var(--lc-muted); }
.lc-co .lc-row--credit .acfw-redeem-store-credit-form-field { display: flex; flex-wrap: wrap; gap: 8px; }
.lc-co .lc-row--credit .acfw-redeem-store-credit-form-field p { flex: 1 1 160px; margin: 0; }

/* Sekundære knapper (Anvend kupon, gavekort, butikskredit) */
.lc-co .lc-co-page .checkout_coupon button,
.lc-co .lc-co-page #wc_gc_cart_redeem_send,
.lc-co .lc-co-page .acfw-redeem-store-credit-form-field button,
.lc-co .lc-co-page .woocommerce-form-login button {
	min-height: 48px;
	padding: 10px 20px;
	border: 1px solid var(--lc-gold);
	border-radius: var(--lc-radius);
	background: var(--lc-gold);
	color: var(--lc-green);
	font-family: var(--lc-sans);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
}
.lc-co .lc-co-page .checkout_coupon button:hover,
.lc-co .lc-co-page #wc_gc_cart_redeem_send:hover,
.lc-co .lc-co-page .acfw-redeem-store-credit-form-field button:hover,
.lc-co .lc-co-page .woocommerce-form-login button:hover {
	background: var(--lc-gold-dark);
	border-color: var(--lc-gold-dark);
	color: var(--lc-white);
}

/* ---------- Betaling: metoder som felter ---------- */

.lc-co #payment { background: none; border-radius: 0; }
.lc-co #payment ul.payment_methods {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
}
.lc-co #payment ul.payment_methods::before,
.lc-co #payment ul.payment_methods::after { display: none; }

.lc-co #payment ul.payment_methods li.wc_payment_method {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 84px;
	margin: 0;
	padding: 14px 10px 12px;
	border: 1px solid var(--lc-line);
	border-radius: var(--lc-radius);
	background: var(--lc-white);
	text-align: center;
	line-height: 1.3;
	transition: border-color .15s, background-color .15s;
}
.lc-co #payment ul.payment_methods li.wc_payment_method:has(> input:checked) {
	border-color: var(--lc-gold);
	background: var(--lc-gold-50);
	box-shadow: inset 0 0 0 1px var(--lc-gold);
}
.lc-co #payment ul.payment_methods li.wc_payment_method > input.input-radio {
	position: absolute;
	top: 10px;
	left: 10px;
}
.lc-co #payment ul.payment_methods li.wc_payment_method > label {
	display: flex;
	flex-direction: column-reverse;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 0 6px;
	font-size: 13px;
	font-weight: 600;
	color: var(--lc-ink);
	cursor: pointer;
}
/* Hele feltet er klikbart */
.lc-co #payment ul.payment_methods li.wc_payment_method > label::after { content: ""; position: absolute; inset: 0; }
.lc-co #payment ul.payment_methods li.wc_payment_method > label img {
	display: inline-block;
	float: none;
	max-width: 64px;
	max-height: 26px;
	margin: 0 2px;
	vertical-align: middle;
}

/* Rækkefølge som i forslaget; betalingskort i fuld bredde nederst */
.lc-co #payment li.payment_method_pensopay_gateway_applepay { order: 1; }
.lc-co #payment li.payment_method_pensopay_gateway_googlepay { order: 2; }
.lc-co #payment li.payment_method_pensopay_gateway_mobilepay { order: 3; }
.lc-co #payment li.payment_method_kco { order: 4; }
.lc-co #payment li.payment_method_pensopay_gateway {
	order: 9;
	grid-column: 1 / -1;
	flex-direction: row;
	min-height: 68px;
}
.lc-co #payment li.payment_method_pensopay_gateway > label { flex-direction: row-reverse; gap: 12px; }
/* Ulige antal små felter: det sidste fylder hele rækken */
.lc-co #payment ul.payment_methods:not(:has(.payment_method_pensopay_gateway_applepay)) li.payment_method_kco { grid-column: 1 / -1; }

/* Beskrivelser under metoderne er ikke nødvendige i feltvisning */
.lc-co #payment li.wc_payment_method .payment_box { display: none !important; }

/* ---------- Betingelser og betalingsknap ---------- */

.lc-co #payment .form-row.place-order {
	margin: 18px 0 0;
	padding: 0;
	background: none;
}
.lc-co #payment .woocommerce-privacy-policy-text p,
.lc-co #payment .woocommerce-terms-and-conditions-wrapper p:not(.form-row) {
	margin: 0 0 12px;
	font-size: 13px;
	line-height: 1.55;
	color: var(--lc-muted);
}
.lc-co #payment .woocommerce-privacy-policy-text a,
.lc-co #payment .woocommerce-terms-and-conditions-wrapper a { color: var(--lc-green); text-decoration: underline; text-underline-offset: 3px; }
.lc-co #payment .validate-required.form-row { margin: 0 0 16px; }
.lc-co #payment .woocommerce-terms-and-conditions-checkbox-text { font-size: 14px; color: var(--lc-ink); }

.lc-co .lc-paybar {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 10px;
	font-size: 13px;
	color: var(--lc-muted);
}
.lc-co .lc-paybar strong { font-size: 18px; font-weight: 700; color: var(--lc-ink); }
.lc-co .lc-paybar strong .amount { color: inherit; }

.lc-co #payment #place_order {
	display: block;
	width: 100%;
	min-height: 56px;
	margin: 0;
	padding: 14px 20px;
	float: none;
	border: 0;
	border-radius: var(--lc-radius);
	background: var(--lc-gold);
	color: var(--lc-green);
	font-family: var(--lc-sans);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: .02em;
	text-transform: none;
	cursor: pointer;
	transition: background-color .15s, color .15s;
}
.lc-co #payment #place_order:hover { background: var(--lc-gold-dark); color: var(--lc-white); }
.lc-co #payment #place_order:focus-visible { outline: 3px solid var(--lc-green); outline-offset: 2px; }

/* Mobil: samlet beløb og betalingsknap altid synlige i bunden */
@media (max-width: 979px) {
	.lc-co.lc-co-layout { padding-bottom: 132px; }
	.lc-co .lc-paybar {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 999;
		margin: 0;
		padding: 12px 16px calc(80px + env(safe-area-inset-bottom));
		border-top: 1px solid var(--lc-line);
		background: rgba(255, 255, 255, .97);
		box-shadow: 0 -8px 24px rgba(26, 64, 59, .08);
	}
	.lc-co #payment #place_order {
		position: fixed;
		right: 16px;
		bottom: calc(14px + env(safe-area-inset-bottom));
		left: 16px;
		z-index: 1000;
		width: auto;
	}
}

/* ---------- Klarna/Kustom-siden (kun let tilpasning) ---------- */

.lc-co-kco #kco-wrapper { font-family: var(--lc-sans); color: var(--lc-ink); }
.lc-co-kco #kco-order-review {
	padding: 18px;
	border: 1px solid var(--lc-line);
	border-radius: var(--lc-radius);
	background: var(--lc-white);
}
.lc-co-kco #kco-order-review table.shop_table { border: 0; }
.lc-co-kco #kco-order-review table.shop_table th,
.lc-co-kco #kco-order-review table.shop_table td { border-color: var(--lc-line); }
.lc-co-kco .GLSDk-shipping-options button,
.lc-co-kco .GLSDk-pick-location {
	min-height: 44px;
	padding: 10px 18px;
	border: 1px solid var(--lc-gold);
	border-radius: var(--lc-radius);
	background: var(--lc-gold);
	color: var(--lc-green);
	font-weight: 700;
}
.lc-co-kco #klarna-checkout-select-other { color: var(--lc-green); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Rettelser efter første test (v1.1) ---------- */

/* Sticky ordrekolonne: body må ikke være en scroll-container */
body.lc-co { overflow-x: clip; overflow-y: visible; }

/* Temaets kanter på overskrifter fjernes */
.lc-co .lc-form .woocommerce-shipping-fields h3,
.lc-co .lc-form .woocommerce-additional-fields h3,
.lc-co .lc-co-page h2.lc-card__title { border: 0; padding-bottom: 0; }

/* "Din ordre" i guldbjælken */
.lc-co .lc-order #order_review_heading {
	flex: 0 0 auto;
	width: auto;
	margin: 0;
	padding: 0;
	float: none;
	border: 0;
	background: none;
	font-family: var(--lc-sans);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	white-space: nowrap;
	color: var(--lc-green);
}

/* Ordreoversigt uden temaets tabelkanter */
.lc-co .lc-order table.lc-review { border: 0; border-radius: 0; }
.lc-co .lc-order table.lc-review th,
.lc-co .lc-order table.lc-review td { border-left: 0; border-right: 0; border-bottom: 0; }
.lc-co .lc-order table.lc-review tbody tr:first-child td { border-top: 0; }
.lc-co .lc-order table.lc-review td.product-name { display: table-cell; }
.lc-co .lc-order .lc-review__thumb { display: inline-block; width: 56px; margin-right: 12px; vertical-align: middle; }
.lc-co .lc-order .lc-review__name { display: inline-block; max-width: calc(100% - 72px); vertical-align: middle; }

/* Leveringsmetoder: stærkere end WooCommerce' egne regler */
.lc-co .lc-shipping ul#shipping_method li {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 60px;
	margin: 0;
	padding: 12px 14px;
	text-indent: 0;
}
.lc-co .lc-shipping ul#shipping_method li input.shipping_method { flex: 0 0 18px; margin: 0; }
.lc-co .lc-shipping ul#shipping_method li label {
	display: flex;
	flex: 1;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
	text-indent: 0;
}

/* Land-vælgerens tekst lodret centreret */
.lc-co .lc-co-page .select2-container .select2-selection--single .select2-selection__rendered { padding-top: 0; padding-bottom: 0; }


/* ---------- v1.2: sticky ordreoversigt, titel, GLS-knap, kuponikon ---------- */

/* Temaet sætter overflow:auto !important på html og body, så body bliver scroll-container og sticky virker ikke */
html body.lc-co.woocommerce-checkout { overflow-x: clip !important; overflow-y: visible !important; }

/* Temaets "form #order_review_heading" giver ramme og polstring */
body.lc-co .lc-order #order_review_heading#order_review_heading {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	font-size: 15px;
	font-weight: 700;
	color: inherit;
}

/* GLS lægger en wrapper om navn og pris */
.lc-co .lc-shipping ul#shipping_method li label > span[data-has-pickup] {
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

/* GLS pakkeshop-knap i guld med grøn tekst */
.lc-co table.GLSDk-shipping-options,
.lc-co table.GLSDk-shipping-options tr,
.lc-co table.GLSDk-shipping-options td,
.lc-co table.GLSDk-shipping-options th { border: 0; background: none; padding: 0; }
.lc-co table.GLSDk-shipping-options { margin: 12px 0 0; width: 100%; }
.lc-co .GLSDk-shipping-options .button.GLSDk-pick-location {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 20px;
	border: 0;
	border-radius: var(--lc-radius);
	background: var(--lc-gold);
	color: var(--lc-green);
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .02em;
	box-shadow: none;
	cursor: pointer;
}
.lc-co .GLSDk-shipping-options .button.GLSDk-pick-location:hover,
.lc-co .GLSDk-shipping-options .button.GLSDk-pick-location:focus-visible {
	background: var(--lc-gold-dark);
	color: var(--lc-green);
}

/* Ikoner i kupon- og loginrækken */
.lc-co .lc-quick .woocommerce-form-coupon-toggle .woocommerce-info::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A403B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.6 13.4l-7.2 7.2a2 2 0 0 1-2.8 0L2 12V2h10l8.6 8.6a2 2 0 0 1 0 2.8z'/%3E%3Ccircle cx='7' cy='7' r='1.5'/%3E%3C/svg%3E");
}
.lc-co .lc-quick .woocommerce-form-login-toggle .woocommerce-info::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A403B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}


/* Ordreoversigten skal stå under den faste sidehoved-bjælke */
@media (min-width: 980px) {
	.lc-co .lc-side { top: 116px; }
	.admin-bar.lc-co .lc-side { top: 148px; }
}

/* Ikoner i gavekort- og butikskreditrækken */
.lc-co .lc-row--giftcard .lc-row__icon,
.lc-co .lc-row--credit .acfw-accordion h3::before {
	background-position: center;
	background-size: 14px;
	background-repeat: no-repeat;
}
.lc-co .lc-row--giftcard .lc-row__icon {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A403B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='8' width='18' height='4' rx='1'/%3E%3Cpath d='M12 8v13M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7M7.5 8a2.5 2.5 0 0 1 0-5C11 3 12 8 12 8s1-5 4.5-5a2.5 2.5 0 0 1 0 5'/%3E%3C/svg%3E");
}
.lc-co .lc-row--credit .acfw-accordion h3::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A403B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='6' width='20' height='14' rx='2'/%3E%3Cpath d='M2 10h20M16 15h2'/%3E%3C/svg%3E");
}


/* Leveringsrækker: et tema-stylesheet nulstiller polstringen */
body.lc-co .lc-shipping ul#shipping_method li { padding: 12px 16px !important; }

/* Valgt pakkeshop (GLS sætter inline-styles) */
.lc-co .GLSDk-shipping-options .pickup-label-display {
	margin-top: 12px !important;
	padding: 12px 14px !important;
	border: 1px solid var(--lc-line) !important;
	border-left: 3px solid var(--lc-gold) !important;
	border-radius: var(--lc-radius) !important;
	background: var(--lc-gold-50) !important;
	color: var(--lc-ink) !important;
	font-size: 13px !important;
	line-height: 1.5;
}
.lc-co .GLSDk-shipping-options .pickup-label-display strong { color: var(--lc-green); }

/* GLS-besked når pakkeshop mangler */
body.lc-co .GLSDk-toast {
	background: var(--lc-green) !important;
	color: #fff !important;
	border-radius: var(--lc-radius) !important;
	font-size: 14px !important;
	box-shadow: 0 6px 20px rgba(26, 64, 59, .25) !important;
}
@media (max-width: 979px) {
	body.lc-co .GLSDk-toast { left: 16px !important; right: 16px !important; bottom: 96px !important; }
}


/* Godkend-knap: temaet giver width:100%, som skubber den faste mobilknap ud over kanten */
@media (max-width: 979px) {
	body.lc-co #place_order { width: auto !important; max-width: none; }
	/* Cookiebot-ikonet må ikke ligge oven på betalingsknappen */
	body.lc-co #CookiebotWidget { bottom: 150px !important; }
}

/* Godkend-knap mens GLS venter på valg af pakkeshop */
body.lc-co #place_order:disabled,
body.lc-co #place_order.GLSDk-disabled {
	background: var(--lc-gold-100) !important;
	color: var(--lc-muted) !important;
	cursor: not-allowed;
	opacity: 1;
}


/* ---------- v1.3: grøn pakkeshop-knap og "Du mangler ..."-linje ---------- */

/* Vælg afhentningssted: grøn med hvid tekst (kontrast ca. 11:1) */
.lc-co .GLSDk-shipping-options .button.GLSDk-pick-location,
.lc-co-kco .GLSDk-pick-location {
	border: 0;
	background: var(--lc-green);
	color: #fff;
}
.lc-co .GLSDk-shipping-options .button.GLSDk-pick-location:hover,
.lc-co .GLSDk-shipping-options .button.GLSDk-pick-location:focus-visible,
.lc-co-kco .GLSDk-pick-location:hover {
	background: #12302C;
	color: #fff;
}
.lc-co .GLSDk-shipping-options .button.GLSDk-pick-location:focus-visible { outline: 3px solid var(--lc-gold); outline-offset: 2px; }

/* Linjen over Godkend ordre */
.lc-co .lc-paybar { flex-wrap: wrap; }
.lc-co .lc-missing {
	display: flex;
	flex: 1 1 100%;
	order: -1;
	align-items: center;
	gap: 10px;
	width: 100%;
	min-height: 44px;
	margin: 0 0 4px;
	padding: 10px 12px;
	border: 1px solid var(--lc-gold);
	border-left: 3px solid var(--lc-green);
	border-radius: var(--lc-radius);
	background: var(--lc-gold-50);
	color: var(--lc-green);
	font-family: var(--lc-sans);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	text-align: left;
	text-transform: none;
	letter-spacing: 0;
	box-shadow: none;
	cursor: pointer;
}
.lc-co .lc-missing[hidden] { display: none; }
.lc-co .lc-missing:hover { background: var(--lc-gold-100); color: var(--lc-green); }
.lc-co .lc-missing:focus-visible { outline: 3px solid var(--lc-green); outline-offset: 2px; }
.lc-co .lc-missing__text { flex: 1; }
.lc-co .lc-missing__go {
	flex: 0 0 auto;
	font-size: 13px;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.lc-co .lc-missing__go::after { content: " \2191"; }

/* Mobil: plads til linjen i den faste bund */
@media (max-width: 979px) {
	.lc-co.lc-co-layout.lc-has-missing { padding-bottom: 190px; }
	body.lc-co.lc-has-missing #CookiebotWidget { bottom: 200px !important; }
	body.lc-co.lc-has-missing .GLSDk-toast { bottom: 150px !important; }
}

/* Kort markering af det sted, man sendes hen til */
@keyframes lc-flash {
	0%, 65% { outline-color: var(--lc-gold-dark); }
	100% { outline-color: transparent; }
}
.lc-co .lc-flash {
	outline: 3px solid transparent;
	outline-offset: 4px;
	border-radius: var(--lc-radius);
	animation: lc-flash 1.8s ease-out;
}
@media (prefers-reduced-motion: reduce) {
	.lc-co .lc-flash { animation: none; outline-color: var(--lc-gold-dark); }
}


/* ---------- v1.4: hvid tekst på Godkend ordre ---------- */
body.lc-co #payment #place_order:not(:disabled):not(.GLSDk-disabled) { color: #fff; }
body.lc-co #payment #place_order:not(:disabled):not(.GLSDk-disabled):hover { background: var(--lc-gold-dark); color: #fff; }


/* ---------- v1.5: betalingskort som almindeligt felt i gitteret ---------- */
/* Kort får samme størrelse som de andre. Kun ved et ulige antal metoder fylder det sidste felt hele rækken. */
.lc-co #payment ul.payment_methods li.payment_method_kco.payment_method_kco,
.lc-co #payment ul.payment_methods li.payment_method_pensopay_gateway {
	grid-column: auto;
	flex-direction: column;
	min-height: 84px;
}
.lc-co #payment ul.payment_methods li.payment_method_pensopay_gateway > label {
	flex-direction: column-reverse;
	gap: 6px;
}
.lc-co #payment ul.payment_methods:has(> li.wc_payment_method:last-child:nth-child(odd)) li.payment_method_pensopay_gateway {
	grid-column: 1 / -1;
}
