/* ==========================================================================
   TheDrop – WooCommerce (shop, produktside, kurv, kasse, min konto, ordre)
   WooCommerces egne stylesheets er slået fra; alt styles her ud fra tokens.css.
   Etiketrammen (Fløde-flade med indre 1 px Nat-ramme) bruges til ordreoversigt,
   kurvtotal, fakta og leveringstabel.
   ========================================================================== */

/* --- 1. Fælles -------------------------------------------------------------- */
.td-back {
	display: inline-flex;
	align-items: center;
	min-height: var(--td-tap);
	margin-bottom: var(--td-space-5);
	color: var(--td-sand);
	font-weight: 600;
	text-decoration: none;
}
.td-back:hover { color: var(--td-rav); }

.td-page__head { display: flex; flex-direction: column; align-items: flex-start; gap: var(--td-space-3); margin-bottom: var(--td-space-7); }
.td-page__head .td-back { margin-bottom: 0; }
.td-page--shop .td-page__head { margin-bottom: var(--td-space-6); }

.td-prose { max-width: 68ch; color: var(--td-sand); font-size: 18px; line-height: 1.65; }
.td-prose h2, .td-prose h3, .td-prose h4 { margin: var(--td-space-7) 0 var(--td-space-3); color: var(--td-floede); }
.td-prose h2 { font-size: 26px; }
.td-prose h3 { font-size: 20px; }
.td-prose a { color: var(--td-floede); }
.td-prose a:hover { color: var(--td-rav); }
.td-prose ul, .td-prose ol { padding-left: 1.2em; margin: 0 0 var(--td-space-4); }
.td-prose li { margin-bottom: var(--td-space-2); }
.td-prose strong { color: var(--td-floede); }
.td-prose .is-style-lead { font-size: 22px; line-height: 1.45; color: var(--td-floede); }
.td-actions { display: flex; flex-wrap: wrap; gap: var(--td-space-3); margin-top: var(--td-space-5); }
.td-missing { background: var(--td-rav); color: var(--td-nat); padding: 0 var(--td-space-1); }

/* Etiketramme som ren CSS til WooCommerce-markup, vi ikke kan pakke ind */
.cart_totals,
.woocommerce-order-overview,
.woocommerce-customer-details address,
.td-label-box {
	background: var(--td-floede);
	color: var(--td-nat);
	padding: 26px;
	outline: var(--td-line-1) solid var(--td-nat);
	outline-offset: -10px;
}

/* Tabeller (grundstil på mørk) */
.woocommerce table.shop_table,
.td-page table.shop_table {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
}
.shop_table th,
.shop_table td {
	padding: 14px var(--td-space-3) 14px 0;
	border-bottom: var(--td-line-1) solid var(--td-linje);
	text-align: left;
	vertical-align: middle;
}
.shop_table th:last-child,
.shop_table td:last-child { padding-right: 0; text-align: right; }
.shop_table thead th {
	font-family: var(--td-font-display);
	font-stretch: var(--td-stretch);
	font-weight: 800;
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--td-sand);
}
.shop_table .order-total th,
.shop_table .order-total td { font-size: 19px; font-weight: 800; border-bottom: 0; }
.shop_table small,
.shop_table .includes_tax { display: block; font-size: 13px; font-weight: 400; color: var(--td-sand); }
.td-on-light .shop_table th,
.td-on-light .shop_table td,
.cart_totals .shop_table th,
.cart_totals .shop_table td { border-bottom-color: var(--td-linje-floede); }
.td-on-light .shop_table small,
.td-on-light .shop_table .includes_tax,
.cart_totals .includes_tax { color: var(--td-etiket-txt); }

/* --- 2. Beskeder (notices) ---------------------------------------------------
   Besked/info: Kul med 2 px rav-linje. Fejl: etiketkort (Fløde/Nat) – skiller sig ud uden en ny farve. */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--td-space-3) var(--td-space-5);
	margin: 0 0 var(--td-space-5);
	padding: var(--td-space-4) var(--td-space-5);
	list-style: none;
	background: var(--td-kul);
	border-left: var(--td-line-active) solid var(--td-rav);
	color: var(--td-floede);
	font-size: 15px;
}
.woocommerce-message a:not(.button),
.woocommerce-info a:not(.button) { color: var(--td-floede); }
.woocommerce-message .button,
.woocommerce-info .button { order: 2; min-height: var(--td-tap); }
.woocommerce-error {
	flex-direction: column;
	align-items: stretch;
	gap: var(--td-space-2);
	background: var(--td-floede);
	color: var(--td-nat);
	border: 0;
	outline: var(--td-line-1) solid var(--td-nat);
	outline-offset: -6px;
	padding: 18px 22px;
	font-weight: 600;
}
.woocommerce-error li { margin: 0; }
.woocommerce-error li::before { content: "! "; font-weight: 900; }
.woocommerce-error a { color: var(--td-nat); }

/* Indlæsning (blockUI) */
.blockUI.blockOverlay { background: var(--td-nat) !important; opacity: 0.5 !important; cursor: progress !important; }
.processing { opacity: 0.75; }

/* --- 3. Formularer ---------------------------------------------------------- */
.woocommerce form .form-row,
.td-page form .form-row {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0 0 var(--td-space-4);
	padding: 0;
}
.form-row label { font-size: 14px; font-weight: 600; color: var(--td-floede); }
.form-row .required { color: var(--td-rav); text-decoration: none; border: 0; }
.form-row .optional { color: var(--td-sand); font-weight: 400; }
.woocommerce-input-wrapper { display: block; width: 100%; }
.form-row-first,
.form-row-last { width: 100%; }
@media (min-width: 560px) {
	.woocommerce-billing-fields__field-wrapper,
	.woocommerce-shipping-fields__field-wrapper,
	.woocommerce-address-fields__field-wrapper,
	.woocommerce-EditAccountForm,
	.td-form-grid {
		display: flex;
		flex-wrap: wrap;
		column-gap: var(--td-space-4);
	}
	.woocommerce-billing-fields__field-wrapper > .form-row,
	.woocommerce-shipping-fields__field-wrapper > .form-row,
	.woocommerce-address-fields__field-wrapper > .form-row,
	.woocommerce-EditAccountForm > .form-row { flex: 1 1 100%; }
	.form-row-first,
	.form-row-last { flex: 1 1 calc(50% - var(--td-space-2)) !important; width: auto; }
	.td-postcode { flex: 0 1 calc(35% - var(--td-space-2)) !important; }
	.td-city { flex: 1 1 calc(65% - var(--td-space-2)) !important; }
}
.form-row.woocommerce-invalid input.input-text,
.form-row.woocommerce-invalid select { border-color: var(--td-floede); border-width: var(--td-line-active); }
.woocommerce-form__label-for-checkbox,
.woocommerce-form__label-for-checkbox.checkbox {
	display: flex;
	align-items: flex-start;
	gap: var(--td-space-3);
	min-height: var(--td-tap);
	padding-top: var(--td-space-2);
	cursor: pointer;
	font-weight: 500;
	line-height: 1.45;
}
.woocommerce-form__label-for-checkbox input { margin-top: 1px; }
.woocommerce-password-strength { margin-top: var(--td-space-2); padding: var(--td-space-2) var(--td-space-3); font-size: 13px; background: var(--td-kul); }
.woocommerce-password-hint { font-size: 13px; color: var(--td-sand); }
.show-password-input { display: none; }
fieldset { margin: 0 0 var(--td-space-5); padding: 0; border: 0; }
legend { margin-bottom: var(--td-space-3); font-family: var(--td-font-display); font-stretch: var(--td-stretch); font-weight: 900; text-transform: uppercase; font-size: 16px; }

/* Select2 / SelectWoo (landevælger) */
.select2-container .select2-selection--single {
	height: 48px;
	border: var(--td-line-2) solid var(--td-floede-40);
	border-radius: var(--td-radius);
	background: var(--td-kul);
}
.select2-container .select2-selection--single .select2-selection__rendered { line-height: 45px; padding-left: 14px; color: var(--td-floede); }
.select2-container .select2-selection--single .select2-selection__arrow { height: 45px; }
.select2-container .select2-selection--single .select2-selection__arrow b { border-top-color: var(--td-floede); }
.select2-container--focus .select2-selection--single,
.select2-container--open .select2-selection--single { border-color: var(--td-rav); }
.select2-dropdown { border: var(--td-line-2) solid var(--td-rav); border-radius: var(--td-radius); background: var(--td-kul); color: var(--td-floede); }
.select2-search--dropdown .select2-search__field { background: var(--td-nat); color: var(--td-floede); border: var(--td-line-1) solid var(--td-floede-40); }
.select2-results__option { padding: var(--td-space-3) 14px; }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--td-rav); color: var(--td-nat); }
.select2-container--default .select2-results__option[aria-selected="true"] { background: var(--td-floede); color: var(--td-nat); }

/* Antal (+/-) */
.quantity { display: inline-flex; align-items: center; }
.quantity input.qty {
	width: 52px;
	min-height: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	text-align: center;
	font-weight: 700;
	-moz-appearance: textfield;
}
.quantity input.qty::-webkit-outer-spin-button,
.quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.quantity:not(.td-qty) input.qty { border: var(--td-line-2) solid var(--td-floede-40); }

/* --- 4. Shop-side (arkiv) --------------------------------------------------- */
.td-archive .woocommerce-notices-wrapper { max-width: calc(var(--td-container) + 2 * var(--td-gutter)); margin: var(--td-space-5) auto 0; padding-inline: var(--td-gutter); }
.td-pagination,
.woocommerce-pagination { padding: 0 var(--td-gutter) var(--td-section); text-align: center; }
.td-pagination .nav-links,
.woocommerce-pagination ul { display: inline-flex; gap: var(--td-space-2); list-style: none; margin: 0; padding: 0; }
.td-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: var(--td-tap);
	min-height: var(--td-tap);
	border: var(--td-line-2) solid var(--td-floede-40);
	text-decoration: none;
	font-weight: 700;
}
.td-pagination .page-numbers.current { background: var(--td-floede); border-color: var(--td-floede); color: var(--td-nat); }

/* --- 5. Produktside ---------------------------------------------------------- */
.td-pdp .product {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: var(--td-space-5) var(--td-space-8);
	align-items: start;
}
.td-pdp .product > .woocommerce-notices-wrapper,
.td-pdp .product > .related,
.td-pdp .product > .up-sells { grid-column: 1 / -1; }
.td-pdp__media { position: relative; }
.td-pdp__media .td-frame__inner { aspect-ratio: 4 / 5; background: var(--td-kul); }
.td-pdp__media .td-visual { height: 100%; }
.td-pdp__media .td-bottle { height: 82%; max-height: none; }
.td-pdp__media .td-visual__glow { max-width: 70%; top: 14%; }

/* WooCommerces galleri (uden WooCommerces CSS). Alle billeder vises i samme 4:5-boks,
   så boksen ikke skifter størrelse; liggende billeder beskæres om flasken. */
.td-pdp__media .td-frame__inner:has(.woocommerce-product-gallery) { aspect-ratio: auto; overflow: visible; border: 0; background: transparent; }
.woocommerce-product-gallery { position: relative; margin: 0; opacity: 1 !important; }
.woocommerce-product-gallery .flex-viewport,
.woocommerce-product-gallery__wrapper:only-child { border: var(--td-line-1) solid var(--td-nat); overflow: hidden; }
.woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce-product-gallery__image { aspect-ratio: 4 / 5; overflow: hidden; background: var(--td-kul); }
.woocommerce-product-gallery__image a { display: block; height: 100%; }
.woocommerce-product-gallery__image img { display: block; width: 100%; height: 100% !important; object-fit: cover; }
.woocommerce-product-gallery__image { position: relative; }
/* Liggende billeder: flasken (fokuspunktet --td-fx) står i midten; --td-fs zoomer, hvis det er nødvendigt */
.woocommerce-product-gallery__image.td-gallery-landscape img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: auto !important;
	max-width: none;
	height: calc(100% * var(--td-fs, 1)) !important;
	object-fit: initial;
	transform: translate(calc(-1 * var(--td-fx, 50%)), -50%);
}
/* Hele billedet uden beskæring (fx smagesættet) */
.woocommerce-product-gallery__image.td-gallery-contain { background: var(--td-nat); }
.woocommerce-product-gallery__image.td-gallery-contain img {
	object-fit: contain;
	-webkit-mask-image: linear-gradient(to bottom, transparent 0%, var(--td-nat) 22%, var(--td-nat) 78%, transparent 100%);
	mask-image: linear-gradient(to bottom, transparent 0%, var(--td-nat) 22%, var(--td-nat) 78%, transparent 100%);
}

/* Pile */
.woocommerce-product-gallery .flex-direction-nav { margin: 0; padding: 0; list-style: none; }
.woocommerce-product-gallery .flex-direction-nav a {
	position: absolute;
	top: calc(41.6% - 22px); /* midt på billedet – miniaturerne fylder resten af højden */
	z-index: 6;
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--td-tap);
	height: var(--td-tap);
	background: var(--td-floede);
	color: var(--td-nat);
	font-size: 0;
	text-decoration: none;
	transition: background-color 0.2s;
}
.woocommerce-product-gallery .flex-direction-nav a::before { font-family: var(--td-font-body); font-size: 22px; font-weight: 700; line-height: 1; }
.woocommerce-product-gallery .flex-direction-nav .flex-prev { left: var(--td-space-3); }
.woocommerce-product-gallery .flex-direction-nav .flex-prev::before { content: "←"; }
.woocommerce-product-gallery .flex-direction-nav .flex-next { right: var(--td-space-3); }
.woocommerce-product-gallery .flex-direction-nav .flex-next::before { content: "→"; }
.woocommerce-product-gallery .flex-direction-nav a:hover { background: var(--td-rav); color: var(--td-nat); }
.woocommerce-product-gallery .flex-direction-nav a:focus-visible { outline: var(--td-line-active) solid var(--td-nat); outline-offset: 2px; }
.woocommerce-product-gallery .flex-direction-nav .flex-disabled { opacity: 0.35; pointer-events: none; }
.woocommerce-product-gallery .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin: 10px 0 0;
	padding: 0;
	list-style: none;
}
.woocommerce-product-gallery .flex-control-thumbs li { aspect-ratio: 1; overflow: hidden; border: var(--td-line-1) solid var(--td-nat); }
.woocommerce-product-gallery .flex-control-thumbs img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.55;
	cursor: pointer;
	transition: opacity 0.2s;
}
.woocommerce-product-gallery .flex-control-thumbs img:hover,
.woocommerce-product-gallery .flex-control-thumbs img.flex-active { opacity: 1; }
.woocommerce-product-gallery .flex-control-thumbs li:has(img.flex-active) { outline: var(--td-line-active) solid var(--td-nat); outline-offset: 2px; }
.woocommerce-product-gallery .flex-control-thumbs img:focus-visible { opacity: 1; outline: var(--td-line-active) solid var(--td-nat); outline-offset: -4px; }
.woocommerce-product-gallery__trigger {
	position: absolute;
	top: var(--td-space-3);
	right: var(--td-space-3);
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--td-tap);
	height: var(--td-tap);
	background: var(--td-floede);
	color: var(--td-nat);
	text-decoration: none;
	font-size: 0;
}
.woocommerce-product-gallery__trigger::before { content: "+"; font-size: 26px; line-height: 1; }
.woocommerce-product-gallery__trigger img { display: none; }
img.woocommerce-placeholder { opacity: 0.08; object-fit: contain !important; }

.td-pdp .summary { display: flex; flex-direction: column; gap: var(--td-space-4); }
.td-pdp__title { display: flex; flex-direction: column; gap: var(--td-space-1); margin: 0; }
.td-pdp__small {
	display: block;
	font-family: var(--td-font-body);
	font-stretch: normal;
	font-weight: 400;
	font-size: 18px;
	text-decoration: underline;
	text-underline-offset: 4px;
}
.td-pdp .summary { container-type: inline-size; }
/* Navnet skaleres efter kolonnens bredde, så et langt ord som SMAGESÆTTET aldrig brydes */
.td-pdp__main { display: block; font-size: clamp(30px, 9cqi, 64px); line-height: 0.96; }
.td-pdp .price { margin: 0; font-size: 26px; font-weight: 800; color: var(--td-floede); }
.td-pdp .price del { opacity: 0.6; font-weight: 400; }
.td-pdp .price ins { text-decoration: none; }
.td-pdp__text { font-size: var(--td-fs-lead); line-height: 1.5; }
.td-pdp__text p { margin: 0; }
.td-pdp__ingr { margin: 0; color: var(--td-sand); font-size: 15px; }
.td-pdp__meta { margin: 0; color: var(--td-sand); font-size: var(--td-fs-small); }
.td-pdp .stock { margin: 0; font-weight: 700; }
.td-pdp .stock.out-of-stock { color: var(--td-sand); }

.td-pdp form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: var(--td-space-3);
	margin: var(--td-space-2) 0 0;
	padding-top: var(--td-space-5);
	border-top: var(--td-line-1) solid var(--td-linje);
}
.td-pdp form.cart .quantity { min-height: 52px; }
.td-pdp .single_add_to_cart_button { flex: 1 1 220px; min-height: 52px; font-size: 16px; }

.td-specs { margin: var(--td-space-2) 0 0; border-top: var(--td-line-1) solid var(--td-linje); }
.td-specs > div {
	display: flex;
	justify-content: space-between;
	gap: var(--td-space-4);
	padding: var(--td-space-3) 0;
	border-bottom: var(--td-line-1) solid var(--td-linje);
	font-size: 15px;
}
.td-specs dt { margin: 0; color: var(--td-sand); }
.td-specs dd { margin: 0; text-align: right; }

.td-facts { border-bottom: var(--td-line-1) solid var(--td-linje-staerk); }
.td-facts__q {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--td-space-4);
	min-height: 56px;
	font-weight: 700;
	font-size: 17px;
}
.td-facts__q:hover { color: var(--td-rav); }
.td-facts__q .td-icon--chev { color: var(--td-rav); transition: transform 0.25s var(--td-ease); }
.td-facts[open] .td-icon--chev { transform: rotate(180deg); }
.td-facts__a { margin-bottom: var(--td-space-5); font-size: 15px; }
.td-facts__a .td-rows dd { font-weight: 600; max-width: 60%; }
.td-facts__text { padding-bottom: var(--td-space-5); color: var(--td-sand); font-size: 16px; line-height: 1.6; }
.td-facts__item + .td-facts__item,
.td-facts__common { margin-top: var(--td-space-4); padding-top: var(--td-space-3); border-top: var(--td-line-1) solid var(--td-nat); }
.td-facts__name { margin: 0 0 var(--td-space-1); font-size: 15px; }
.td-facts__name a { text-decoration: none; }
.td-facts__name a:hover { text-decoration: underline; }

.related.products { margin-top: var(--td-space-9); padding-top: var(--td-space-8); border-top: var(--td-line-1) solid var(--td-linje); }
.related.products > h2 { margin: 0 0 var(--td-space-6); font-size: min(var(--td-fs-h2), 40px); }

@media (max-width: 900px) {
	.td-pdp .product { grid-template-columns: minmax(0, 1fr); }
	.td-pdp__media { position: static; }
	.td-pdp__media .td-frame__inner { aspect-ratio: 1; }
}

/* --- 6. Kurv ----------------------------------------------------------------- */
.td-page--cart .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 400px);
	gap: var(--td-space-7);
	align-items: start;
}
.td-page--cart .woocommerce > .woocommerce-notices-wrapper,
.td-page--cart .woocommerce > .wc-empty-cart-message,
.td-page--cart .woocommerce > .cart-empty,
.td-page--cart .woocommerce > .return-to-shop { grid-column: 1 / -1; }
.td-page--cart .woocommerce-cart-form { grid-column: 1; }
.td-page--cart .cart-collaterals { grid-column: 2; position: sticky; top: var(--td-space-5); }

.shop_table.cart .product-remove { width: var(--td-tap); }
.shop_table.cart a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--td-tap);
	height: var(--td-tap);
	color: var(--td-sand);
	font-size: 24px;
	text-decoration: none;
}
.shop_table.cart a.remove:hover { color: var(--td-rav); }
.shop_table.cart .product-thumbnail { width: 96px; }
.shop_table.cart .product-thumbnail a,
.shop_table.cart .product-thumbnail > .td-visual,
.shop_table.cart .product-thumbnail > img { display: block; width: 80px; height: 104px; overflow: hidden; }
.shop_table.cart .product-thumbnail img { width: 100%; height: 100%; object-fit: cover; }
.shop_table.cart .product-name a {
	font-family: var(--td-font-display);
	font-stretch: var(--td-stretch);
	font-weight: 900;
	font-size: 15px;
	text-transform: uppercase;
	text-decoration: none;
}
.shop_table.cart .product-subtotal,
.shop_table.cart .product-price { font-weight: 700; white-space: nowrap; }
.shop_table.cart td.actions { padding-top: var(--td-space-5); border-bottom: 0; text-align: left; }
.shop_table.cart td.actions .coupon { display: inline-flex; flex-wrap: wrap; gap: var(--td-space-2); margin-right: var(--td-space-3); }
.shop_table.cart td.actions .coupon label { position: absolute; left: -9999px; }
.shop_table.cart td.actions .coupon .input-text { width: 200px; }
.shop_table.cart button[name="update_cart"] { float: right; }

.cart_totals h2 { margin: 0 0 var(--td-space-3); font-size: 20px; }
.cart_totals .shop_table { font-size: 15px; }
.cart_totals .shop_table th { font-weight: 600; }
.wc-proceed-to-checkout { margin-top: var(--td-space-4); }
.wc-proceed-to-checkout .checkout-button { display: flex; width: 100%; min-height: 56px; font-size: 17px; }
.cart_totals .woocommerce-shipping-destination,
.cart_totals .shipping-calculator-button { font-size: 13px; color: var(--td-etiket-txt); }
.cart_totals a { color: var(--td-nat); }
.cart_totals #shipping_method { margin: 0; padding: 0; list-style: none; text-align: left; }
.cart_totals #shipping_method li { display: flex; align-items: center; gap: var(--td-space-2); min-height: var(--td-tap); }
.cart_totals .td-ship__name { margin-right: var(--td-space-2); }

.cross-sells { grid-column: 1 / -1; }
.cart-empty.woocommerce-info { font-size: 18px; }
.return-to-shop .button { min-height: 52px; }

@media (max-width: 900px) {
	.td-page--cart .woocommerce { grid-template-columns: minmax(0, 1fr); }
	.td-page--cart .cart-collaterals { grid-column: 1; position: static; }
}
@media (max-width: 640px) {
	/* Kurv-tabellen som kort på mobil */
	.shop_table.cart thead { display: none; }
	.shop_table.cart tr.cart_item {
		display: grid;
		grid-template-columns: 80px minmax(0, 1fr) var(--td-tap);
		grid-template-areas:
			"thumb name remove"
			"thumb sub sub"
			"thumb qty qty";
		gap: var(--td-space-2) var(--td-space-4);
		padding: var(--td-space-4) 0;
		border-bottom: var(--td-line-1) solid var(--td-linje);
	}
	.shop_table.cart tr.cart_item td { padding: 0; border: 0; text-align: left; }
	.shop_table.cart td.product-thumbnail { grid-area: thumb; width: auto; }
	.shop_table.cart td.product-name { grid-area: name; align-self: center; }
	.shop_table.cart td.product-remove { grid-area: remove; text-align: right; }
	.shop_table.cart td.product-price { display: none; }
	.shop_table.cart td.product-quantity { grid-area: qty; }
	.shop_table.cart td.product-subtotal { grid-area: sub; }
	.shop_table.cart td.product-price::before,
	.shop_table.cart td.product-quantity::before,
	.shop_table.cart td.product-subtotal::before { content: none; }
	.shop_table.cart tr:last-child,
	.shop_table.cart td.actions { display: block; width: 100%; }
	.shop_table.cart td.actions .coupon { display: flex; margin: 0 0 var(--td-space-3); }
	.shop_table.cart td.actions .coupon .input-text { flex: 1; width: auto; }
	.shop_table.cart button[name="update_cart"] { float: none; width: 100%; }
}

/* --- 7. Kassen --------------------------------------------------------------- */
.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 440px);
	gap: var(--td-space-5) var(--td-space-8);
	align-items: start;
}
.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup { grid-column: 1; min-width: 0; }
.td-checkout__main { grid-column: 1; min-width: 0; }
.td-checkout__aside { grid-column: 2; grid-row: 1 / span 3; position: sticky; top: var(--td-space-5); min-width: 0; }
.woocommerce-form-coupon-toggle,
.woocommerce-form-login-toggle { max-width: 100%; }
.checkout_coupon,
.woocommerce-form-login {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: var(--td-space-3);
	margin: 0 0 var(--td-space-5);
	padding: var(--td-space-5);
	border: var(--td-line-1) solid var(--td-linje);
}
.checkout_coupon .form-row { flex: 1 1 200px; margin: 0 !important; }
.checkout_coupon p:not(.form-row) { flex-basis: 100%; margin: 0; color: var(--td-sand); }

.td-step {
	display: flex;
	align-items: baseline;
	gap: var(--td-space-3);
	margin: var(--td-space-7) 0 var(--td-space-4);
	padding-top: var(--td-space-5);
	border-top: var(--td-line-1) solid var(--td-linje);
	font-size: 22px;
}
.td-checkout__main .td-step:first-child,
.woocommerce-billing-fields__field-wrapper > .td-step:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.td-step__num { color: var(--td-rav); font-size: 14px; letter-spacing: 0.1em; }
#customer_details .col-1,
#customer_details .col-2 { width: 100%; float: none; }
.woocommerce-billing-fields > h3,
.woocommerce-additional-fields > h3 { display: none; } /* trin-overskrifterne erstatter dem */
#ship-to-different-address { margin: var(--td-space-4) 0; font-family: var(--td-font-body); font-size: 16px; text-transform: none; }
#ship-to-different-address label { display: flex; align-items: center; gap: var(--td-space-3); min-height: var(--td-tap); font-weight: 600; cursor: pointer; }

/* Fragtvalg og betalingsmetoder som valgkort (virker for alle fremtidige udbydere) */
.td-ship-table { width: 100%; border-collapse: collapse; }
.td-ship-table th { display: none; }
.td-ship-table td { padding: 0; }
.td-ship-table #shipping_method,
#payment .wc_payment_methods { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: var(--td-space-2); }
.td-ship-table #shipping_method li,
#payment .wc_payment_method {
	position: relative;
	border: var(--td-line-2) solid var(--td-floede-40);
	transition: border-color 0.2s;
}
.td-ship-table #shipping_method li:has(input:checked),
#payment .wc_payment_method:has(input:checked) { border-color: var(--td-rav); }
.td-ship-table #shipping_method li label,
#payment .wc_payment_method > label {
	display: flex;
	align-items: center;
	gap: var(--td-space-3);
	min-height: 56px;
	padding: var(--td-space-3) var(--td-space-4) var(--td-space-3) 48px;
	font-weight: 600;
	cursor: pointer;
}
.td-ship-table #shipping_method li input,
#payment .wc_payment_method > input {
	position: absolute;
	left: var(--td-space-4);
	top: 18px;
}
.td-ship__price { margin-left: auto; font-weight: 800; white-space: nowrap; }
.td-ship-table #shipping_method li > :not(input):not(label) { padding: 0 var(--td-space-4) var(--td-space-3) 48px; font-size: 14px; color: var(--td-sand); }
#payment .wc_payment_method > label img { max-height: 24px; width: auto; margin-left: auto; }
#payment .payment_box {
	margin: 0;
	padding: 0 var(--td-space-4) var(--td-space-4) 48px;
	color: var(--td-sand);
	font-size: 14px;
}
#payment .payment_box p { margin: 0; }
#payment .payment_box fieldset { margin: var(--td-space-3) 0 0; }
#payment .woocommerce-notice { background: var(--td-kul); padding: var(--td-space-4); }
#payment .place-order { margin-top: var(--td-space-5); display: flex; flex-direction: column; gap: var(--td-space-3); }
.woocommerce-privacy-policy-text { font-size: 13px; color: var(--td-sand); }
.woocommerce-privacy-policy-text p { margin: 0; }
.woocommerce-terms-and-conditions-wrapper .form-row { margin: 0; }
.woocommerce-terms-and-conditions { max-height: 240px; overflow: auto; padding: var(--td-space-4); background: var(--td-kul); }
#place_order { width: 100%; min-height: 60px; font-size: 18px; }
.td-secure { display: flex; flex-wrap: wrap; align-items: center; gap: var(--td-space-2) var(--td-space-3); font-size: 13px; color: var(--td-sand); }

/* "Din ordre" i etiketrammen */
.td-checkout__aside .td-label__inner { padding: var(--td-space-5); }
#order_review_heading { margin: 0 0 var(--td-space-3); font-size: 20px; }
.woocommerce-checkout-review-order-table td.product-name { padding-right: 0; }
.td-review-line {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr) auto;
	align-items: center;
	gap: var(--td-space-3);
}
.td-review-line__thumb { display: block; width: 56px; height: 72px; overflow: hidden; background: var(--td-kul); }
.td-review-line__thumb img { width: 100%; height: 100%; object-fit: cover; }
.td-review-line__thumb .td-bottle { height: 92%; }
.td-review-line__info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.td-review-line__name { font-family: var(--td-font-display); font-stretch: var(--td-stretch); font-weight: 900; font-size: 13px; text-transform: uppercase; line-height: 1.2; }
.td-review-line__sub { font-size: 13px; color: var(--td-etiket-txt); }
.woocommerce-checkout-review-order-table .product-total { font-weight: 700; }
.woocommerce-checkout-review-order-table tfoot th { font-weight: 600; }

@media (max-width: 960px) {
	.woocommerce-checkout form.checkout { grid-template-columns: minmax(0, 1fr); }
	.td-checkout__aside { grid-column: 1; grid-row: 1; position: static; }
}

/* --- 8. Ordrebekræftelse og ordredetaljer ------------------------------------ */
.woocommerce-order { display: flex; flex-direction: column; gap: var(--td-space-6); }
.woocommerce-thankyou-order-received { margin: 0; font-size: var(--td-fs-lead); color: var(--td-sand); max-width: 52ch; }
.woocommerce-order-overview {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: var(--td-space-4);
	margin: 0;
	list-style: none;
	font-size: 14px;
}
.woocommerce-order-overview li { display: flex; flex-direction: column; gap: 2px; color: var(--td-etiket-txt); }
.woocommerce-order-overview strong { color: var(--td-nat); font-size: 16px; }
.woocommerce-order-details__title,
.woocommerce-column__title,
.woocommerce-order-downloads__title { font-size: 22px; margin: 0 0 var(--td-space-4); }
.woocommerce-customer-details .woocommerce-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--td-space-5); }
.woocommerce-customer-details address { font-style: normal; line-height: 1.6; }
.woocommerce-customer-details address p { margin: var(--td-space-2) 0 0; }
.td-thanks-cta { margin: 0; }
.woocommerce-order-details .order-again { margin-top: var(--td-space-4); }
.woocommerce-bacs-bank-details { padding: var(--td-space-5); border: var(--td-line-1) solid var(--td-linje); }
.wc-bacs-bank-details { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--td-space-3); }
.wc-bacs-bank-details-heading,
.wc-bacs-bank-details-account-name { font-size: 18px; }
mark { background: transparent; color: inherit; font-weight: 700; }

/* --- 9. Min konto ------------------------------------------------------------ */
.td-page--account .woocommerce:has(.woocommerce-MyAccount-navigation) {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	gap: var(--td-space-7);
	align-items: start;
}
.woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; border-top: var(--td-line-1) solid var(--td-linje); }
.woocommerce-MyAccount-navigation li { border-bottom: var(--td-line-1) solid var(--td-linje); }
.woocommerce-MyAccount-navigation a {
	display: flex;
	align-items: center;
	min-height: 52px;
	font-family: var(--td-font-display);
	font-stretch: var(--td-stretch);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
}
.woocommerce-MyAccount-navigation .is-active a { color: var(--td-rav); box-shadow: none; border-left: var(--td-line-active) solid var(--td-rav); padding-left: var(--td-space-3); }
.woocommerce-MyAccount-content { min-width: 0; color: var(--td-sand); }
.woocommerce-MyAccount-content > p:first-child { font-size: 18px; }
.woocommerce-MyAccount-content a:not(.button):not(.btn) { color: var(--td-floede); }
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 { color: var(--td-floede); font-size: 20px; }
.woocommerce-orders-table .button,
.woocommerce-MyAccount-content .shop_table .button { min-height: var(--td-tap); padding: 0 var(--td-space-4); font-size: 14px; }
.woocommerce-Addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--td-space-5); }
.woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; gap: var(--td-space-3); }
.woocommerce-Address address { font-style: normal; line-height: 1.6; padding: var(--td-space-4); border: var(--td-line-1) solid var(--td-linje); }

/* Log ind / opret konto */
#customer_login { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--td-space-7); }
#customer_login h2 { font-size: 22px; }
.woocommerce-form-login,
.woocommerce-form-register,
.woocommerce-ResetPassword { display: block; max-width: 460px; padding: 0; border: 0; }
.woocommerce-form-login__rememberme { margin-bottom: var(--td-space-3); }
.woocommerce-form-login .button,
.woocommerce-form-register .button,
.woocommerce-ResetPassword .button { min-height: 52px; }
.woocommerce-LostPassword { font-size: 14px; }

@media (max-width: 760px) {
	.td-page--account .woocommerce:has(.woocommerce-MyAccount-navigation) { grid-template-columns: minmax(0, 1fr); gap: var(--td-space-5); }
	.woocommerce-orders-table thead { display: none; }
	.woocommerce-orders-table tr { display: block; padding: var(--td-space-3) 0; border-bottom: var(--td-line-1) solid var(--td-linje); }
	.woocommerce-orders-table td { display: flex; justify-content: space-between; gap: var(--td-space-3); padding: var(--td-space-1) 0; border: 0; text-align: right !important; }
	.woocommerce-orders-table td::before { content: attr(data-title); color: var(--td-sand); text-align: left; }
}

/* --- 10. Diverse WooCommerce ------------------------------------------------- */
.woocommerce-store-notice,
p.demo_store { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; margin: 0; padding: var(--td-space-3) var(--td-gutter); background: var(--td-floede); color: var(--td-nat); text-align: center; font-weight: 600; }
.woocommerce-store-notice a { color: var(--td-nat); }
.star-rating,
.woocommerce-review-link { display: none; }
.onsale { display: none; }
.screen-reader-text:focus { position: static !important; width: auto; height: auto; clip: auto; }

/* Rettelser: trin-overskrifter fylder hele rækken; produktlinjen i "Din ordre" venstrestilles */
.woocommerce-billing-fields__field-wrapper > .td-step,
.woocommerce-shipping-fields__field-wrapper > .td-step { flex: 1 1 100%; width: 100%; }
.woocommerce-checkout-review-order-table td.product-name { text-align: left; }
.cart_totals .woocommerce-shipping-totals td { text-align: right; }
.td-ship-table #shipping_method li:has(input[type="hidden"]) label { padding-left: var(--td-space-4); }
.td-ship-table #shipping_method li:has(input[type="hidden"]) { border-color: var(--td-rav); }

/* Fortrydelsesformularen (WooCommerce' "Order withdrawal") */
.woocommerce-order-withdrawal-content { max-width: 680px; }
.woocommerce-order-withdrawal-content__intro { color: var(--td-sand); font-size: 17px; }
.woocommerce-order-withdrawal-content__steps {
	display: flex;
	gap: var(--td-space-2);
	margin: var(--td-space-5) 0;
	padding: 0;
	list-style: none;
	counter-reset: td-step;
}
.woocommerce-order-withdrawal-content__step {
	flex: 1;
	padding-top: var(--td-space-2);
	border-top: var(--td-line-active) solid var(--td-linje-staerk);
	color: var(--td-sand);
	font-size: 14px;
	font-weight: 600;
	counter-increment: td-step;
}
.woocommerce-order-withdrawal-content__step::before { content: "0" counter(td-step) " "; font-family: var(--td-font-display); letter-spacing: 0.1em; }
.woocommerce-order-withdrawal-content__step--current { border-top-color: var(--td-rav); color: var(--td-floede); }
.woocommerce-order-withdrawal-content__radio-label { display: flex; align-items: center; gap: var(--td-space-3); min-height: var(--td-tap); font-weight: 600; cursor: pointer; }
.woocommerce-order-withdrawal-content__note { font-size: 14px; color: var(--td-sand); }
.woocommerce-order-withdrawal-content__field-error { color: var(--td-floede); font-weight: 700; font-size: 14px; }
.woocommerce-order-withdrawal-content__review { margin: 0 0 var(--td-space-5); border-top: var(--td-line-1) solid var(--td-linje); }
.woocommerce-order-withdrawal-content__review-row { display: flex; justify-content: space-between; gap: var(--td-space-4); padding: var(--td-space-3) 0; border-bottom: var(--td-line-1) solid var(--td-linje); }
.woocommerce-order-withdrawal-content__actions { display: flex; flex-wrap: wrap; gap: var(--td-space-3); margin-top: var(--td-space-5); }
