/* ==========================================================================
 * WooCommerce: butiksgrupper, produktside, kurv-drawer, kasse.
 * ========================================================================== */

.tg-shop-group + .tg-shop-group { margin-top: var(--tg-section-y); }
.tg-shop-group .tg-section-head { margin-bottom: var(--tg-space-8); }

/* ------------------------------------------------------------- Produktside */

.tg-product-top { padding-top: var(--tg-space-6); }

.tg-product { display: grid; gap: var(--tg-space-10); align-items: start; }
@media (min-width: 62rem) {
	.tg-product { grid-template-columns: 1fr 24rem; gap: var(--tg-space-12); }
}

.tg-product__head { margin-bottom: var(--tg-space-8); }
.tg-product__title { margin-bottom: var(--tg-space-4); }

.tg-product__desc > p:first-child { margin-top: 0; }

.tg-product__extras {
	margin-top: var(--tg-space-10);
	padding: var(--tg-space-6);
	background: var(--tg-surface-sunk);
	border: 1px solid var(--tg-border);
	border-radius: var(--tg-radius-xl);
}
.tg-product__extras h2 { font-size: var(--tg-fs-600); margin-bottom: var(--tg-space-3); }
.tg-product__extras p:last-child { margin-bottom: 0; }

/* Klæbende købspanel */
.tg-product__panel {
	padding: var(--tg-space-6);
	background: var(--tg-surface);
	border: 1px solid var(--tg-border);
	border-radius: var(--tg-radius-2xl);
	backdrop-filter: blur(14px);
	box-shadow: var(--tg-shadow-sm);
}
@media (min-width: 62rem) {
	.tg-product__aside { position: sticky; top: calc(var(--tg-header-h) + 1.5rem); }
}

.tg-product__media {
	display: grid;
	place-items: center;
	margin-bottom: var(--tg-space-5);
	padding: var(--tg-space-6);
	border-radius: var(--tg-radius-xl);
	background: radial-gradient(60% 60% at 50% 45%, var(--tg-accent-tint), transparent 72%);
}
.tg-product__media img { width: 160px; height: 160px; object-fit: contain; }

.tg-product__price {
	display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--tg-space-2);
	margin-bottom: var(--tg-space-4);
}

.tg-product__includes-title {
	font-size: var(--tg-fs-300);
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--tg-text-muted);
	margin-bottom: var(--tg-space-3);
}

.tg-product__buy { margin-block: var(--tg-space-6) var(--tg-space-4); }

.tg-product__signup-note {
	font-size: var(--tg-fs-300);
	color: var(--tg-text-muted);
	margin-bottom: var(--tg-space-3);
}

.tg-product__assurances {
	list-style: none;
	margin: var(--tg-space-6) 0 0;
	padding: var(--tg-space-5) 0 0;
	border-top: 1px solid var(--tg-border);
}
.tg-product__assurances li {
	display: flex; align-items: center; gap: var(--tg-space-2);
	margin-bottom: var(--tg-space-2);
	font-size: var(--tg-fs-300);
	color: var(--tg-text-muted);
}
.tg-product__assurances svg { color: var(--tg-success); flex: none; }

/* Woos add-to-cart-formular */
.tg-product__buy form.cart { display: grid; gap: var(--tg-space-3); margin: 0; }
.tg-product__buy .quantity { display: flex; align-items: center; gap: var(--tg-space-3); }
.tg-product__buy .quantity label { font-size: var(--tg-fs-300); color: var(--tg-text-muted); }
.tg-product__buy .quantity input {
	width: 5.5rem;
	text-align: center;
}
.tg-product__buy button[type="submit"],
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce #respond input#submit.alt {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: .95rem 1.5rem;
	background: var(--tg-grad-accent);
	color: #fff;
	border: 0;
	border-radius: var(--tg-radius-pill);
	font-family: var(--tg-font-display);
	font-size: var(--tg-fs-400);
	font-weight: 600;
	cursor: pointer;
	box-shadow: var(--tg-glow);
	transition: transform var(--tg-dur-fast) var(--tg-ease), box-shadow var(--tg-dur-fast) var(--tg-ease);
}
.tg-product__buy button[type="submit"]:hover,
.woocommerce button.button.alt:hover { transform: translateY(-2px); color: #fff; }

/* Generiske Woo-knapper */
.woocommerce .button,
.woocommerce a.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--tg-space-2);
	padding: .7rem 1.35rem;
	background: var(--tg-surface-elev);
	border: 1px solid var(--tg-border-strong);
	border-radius: var(--tg-radius-pill);
	color: var(--tg-text-strong);
	font-family: var(--tg-font-display);
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
}
.woocommerce .button:hover, .woocommerce a.button:hover { border-color: var(--tg-accent); }

/* ------------------------------------------------------- Kurv og kasse */

.woocommerce-cart-form table,
.woocommerce table.shop_table {
	width: 100%;
	border: 1px solid var(--tg-border);
	border-radius: var(--tg-radius-xl);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	background: var(--tg-surface);
}
.woocommerce table.shop_table th { background: var(--tg-surface-sunk); }
.woocommerce table.shop_table td, .woocommerce table.shop_table th {
	padding: var(--tg-space-4);
	border-bottom: 1px solid var(--tg-border);
}

/* Kassens spalter styres af assets/css/cart.css sammen med resten af
   .tg-checkout. Der lå tidligere en `grid-template-columns: 1fr 1fr` her, som
   delte faktureringsfelterne i to og skubbede dem over i anden spalte. */

.woocommerce form .form-row { display: grid; gap: var(--tg-space-2); margin-bottom: var(--tg-space-4); }
.woocommerce form .form-row label { font-size: var(--tg-fs-300); font-weight: 600; color: var(--tg-text-strong); }

/* Woos beskeder har knappen som første barn i samme <div>. Uden flex lægger
   den sig oven i teksten. */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--tg-space-3);
	list-style: none;
	padding: var(--tg-space-4) var(--tg-space-5);
	margin: 0 0 var(--tg-space-6);
	border: 1px solid var(--tg-border-strong);
	border-radius: var(--tg-radius-lg);
	background: var(--tg-surface);
}
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button { order: 2; flex: none; }
.woocommerce-message { border-color: color-mix(in srgb, var(--tg-success) 45%, transparent); background: var(--tg-success-soft); }
.woocommerce-error { border-color: color-mix(in srgb, var(--tg-danger) 45%, transparent); }

/* Woos "produkt tilføjet"-besked er ofte dobbelt-stylet — hold den rolig. */
.woocommerce-notices-wrapper:empty { display: none; }
