/**
 * @ownership commerce-shipping
 * Phase 034.2.1 — DSP shipping integration (Kvikk / VP Woo Pont scoped).
 *
 * woocommerce-shipping-integration.css
 * ----------------
 * Allowed selectors:
 *   .dsp-commerce*
 *   .dsp-commerce * .woocommerce*
 *
 * Forbidden:
 *   body
 *   html
 *   main
 *   .dsp-product-card*
 *   .dsp-home*
 *
 * All rules scoped under .dsp-commerce to prevent plugin styles from
 * breaking cart/checkout layout.
 */

/* --- Shipping zone wrapper (cart + checkout summary) --- */

.dsp-commerce__shipping-zone,
.dsp-commerce__parcel-point-zone {
	width: 100%;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}

.dsp-commerce .cart_totals .shipping td,
.dsp-commerce #order_review .shipping td,
.dsp-commerce .cart_totals .vp-woo-pont-review-order td,
.dsp-commerce #order_review .vp-woo-pont-review-order td {
	width: auto;
	min-width: 0;
	vertical-align: top;
}

.dsp-commerce .woocommerce-shipping-methods {
	margin: 0;
	padding: 0;
	list-style: none;
}

.dsp-commerce .woocommerce-shipping-methods li {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: var(--dsp-space-2);
	margin-bottom: var(--dsp-space-3);
}

.dsp-commerce--cart .woocommerce-shipping-methods li {
	margin-bottom: 0;
}

.dsp-commerce .woocommerce-shipping-methods label {
	display: block;
	min-width: 0;
	font-size: var(--dsp-font-size-sm);
	line-height: 1.45;
	word-break: normal;
	overflow-wrap: anywhere;
}

.dsp-commerce .woocommerce-shipping-methods input.shipping_method {
	margin-top: 0.2em;
	flex-shrink: 0;
}

/* Hide Kvikk carrier icons in the delivery method list — icons remain in parcel-point selector / map modal. */

.dsp-commerce__shipping-zone .vp-woo-pont-shipping-method-icons,
.dsp-commerce .woocommerce-shipping-methods .vp-woo-pont-shipping-method-icons {
	display: none !important;
}

.dsp-commerce__shipping-zone .vp-woo-pont-shipping-method-label,
.dsp-commerce .woocommerce-shipping-methods .vp-woo-pont-shipping-method-label {
	display: inline;
	position: static;
}

/* Parcel point row — carrier branding allowed only here. */

.dsp-commerce__parcel-point-zone .vp-woo-pont-review-order-selected {
	display: flex;
	align-items: flex-start;
	gap: var(--dsp-space-2);
	max-width: 100%;
}

.dsp-commerce__parcel-point-zone .vp-woo-pont-review-order-selected i {
	flex-shrink: 0;
	width: 2rem;
	height: 2rem;
	margin: 0;
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}

.dsp-commerce__parcel-point-zone .vp-woo-pont-review-order-selected-info {
	min-width: 0;
	font-size: var(--dsp-font-size-sm);
	line-height: 1.45;
}

.dsp-commerce__parcel-point-zone .vp-woo-pont-review-order-selected-address {
	word-break: break-word;
}

/*
 * Conflict root cause (do not restore):
 *   .dsp-commerce__parcel-point-zone #vp-woo-pont-show-map { color: accent }
 * beat .dsp-commerce-checkout-parcel-point__trigger { color: on-accent }
 * via ID specificity → red text on red button (invisible label).
 *
 * Primary CTA keeps white on accent; only the post-select "change" link uses accent text.
 */
.dsp-commerce__parcel-point-zone a#vp-woo-pont-show-map.dsp-commerce-checkout-parcel-point__trigger,
.dsp-commerce__parcel-point-zone a.dsp-commerce-checkout-parcel-point__trigger {
	font-weight: var(--dsp-font-weight-semibold);
	color: var(--dsp-color-text-on-accent);
	text-decoration: none;
	background: var(--dsp-color-accent);
}

.dsp-commerce__parcel-point-zone a#vp-woo-pont-show-map.dsp-commerce-checkout-parcel-point__trigger:hover,
.dsp-commerce__parcel-point-zone a#vp-woo-pont-show-map.dsp-commerce-checkout-parcel-point__trigger:focus,
.dsp-commerce__parcel-point-zone a#vp-woo-pont-show-map.dsp-commerce-checkout-parcel-point__trigger:focus-visible,
.dsp-commerce__parcel-point-zone a#vp-woo-pont-show-map.dsp-commerce-checkout-parcel-point__trigger:active,
.dsp-commerce__parcel-point-zone a.dsp-commerce-checkout-parcel-point__trigger:hover,
.dsp-commerce__parcel-point-zone a.dsp-commerce-checkout-parcel-point__trigger:focus,
.dsp-commerce__parcel-point-zone a.dsp-commerce-checkout-parcel-point__trigger:focus-visible,
.dsp-commerce__parcel-point-zone a.dsp-commerce-checkout-parcel-point__trigger:active {
	color: var(--dsp-color-text-on-accent);
	text-decoration: none;
	background: var(--dsp-color-accent-hover);
}

.dsp-commerce__parcel-point-zone a#vp-woo-pont-show-map.dsp-commerce-checkout-parcel-point__change,
.dsp-commerce__parcel-point-zone a.dsp-commerce-checkout-parcel-point__change {
	font-weight: var(--dsp-font-weight-medium);
	color: var(--dsp-color-accent);
	text-decoration: none;
	background: transparent;
}

.dsp-commerce__parcel-point-zone a#vp-woo-pont-show-map.dsp-commerce-checkout-parcel-point__change:hover,
.dsp-commerce__parcel-point-zone a#vp-woo-pont-show-map.dsp-commerce-checkout-parcel-point__change:focus,
.dsp-commerce__parcel-point-zone a.dsp-commerce-checkout-parcel-point__change:hover,
.dsp-commerce__parcel-point-zone a.dsp-commerce-checkout-parcel-point__change:focus {
	color: var(--dsp-color-accent);
	text-decoration: underline;
	background: transparent;
}

/* Summary table row spacing — restore after table-layout fix. */

.dsp-commerce .cart_totals table.shop_table tr.shipping th,
.dsp-commerce .cart_totals table.shop_table tr.shipping td,
.dsp-commerce .cart_totals table.shop_table tr.vp-woo-pont-review-order th,
.dsp-commerce .cart_totals table.shop_table tr.vp-woo-pont-review-order td,
.dsp-commerce #order_review table.shop_table tr.shipping th,
.dsp-commerce #order_review table.shop_table tr.shipping td,
.dsp-commerce #order_review table.shop_table tr.vp-woo-pont-review-order th,
.dsp-commerce #order_review table.shop_table tr.vp-woo-pont-review-order td {
	padding-block: var(--dsp-space-4);
}

.dsp-commerce .cart_totals table.shop_table tr.order-total th,
.dsp-commerce .cart_totals table.shop_table tr.order-total td,
.dsp-commerce #order_review table.shop_table tr.order-total th,
.dsp-commerce #order_review table.shop_table tr.order-total td {
	padding-top: var(--dsp-space-5);
	border-top: 1px solid var(--dsp-color-border-subtle);
}

@media (max-width: 767px) {
	.dsp-commerce .woocommerce-shipping-methods li {
		flex-wrap: nowrap;
	}

	.dsp-commerce .cart_totals,
	.dsp-commerce #order_review {
		overflow-x: visible;
	}
}

/* --- Kvikk modal stacking + checkout parcel point block (034.2.5) --- */

.dsp-commerce.dsp-commerce--checkout .vp-woo-pont-modal-bg,
.dsp-commerce.dsp-commerce--checkout .vp-woo-pont-modal,
.dsp-commerce.dsp-commerce--checkout.vp-woo-pont-modal-visible .vp-woo-pont-modal-bg,
.dsp-commerce.dsp-commerce--checkout.vp-woo-pont-modal-visible .vp-woo-pont-modal {
	z-index: 100000 !important;
}

.dsp-commerce-checkout-parcel-point {
	margin-top: var(--dsp-space-5);
	padding: var(--dsp-space-5);
	border: 1px dashed var(--dsp-color-border-default);
	border-radius: var(--dsp-radius-lg);
	background: var(--dsp-color-bg-muted);
}

.dsp-commerce-checkout-parcel-point__label {
	margin-bottom: var(--dsp-space-3);
	font-size: var(--dsp-font-size-sm);
	font-weight: var(--dsp-font-weight-semibold);
	color: var(--dsp-color-text-secondary);
}

.dsp-commerce-checkout-parcel-point__trigger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	padding: var(--dsp-space-3) var(--dsp-space-5);
	font-weight: var(--dsp-font-weight-semibold);
	color: var(--dsp-color-text-on-accent);
	text-decoration: none;
	background: var(--dsp-color-accent);
	border-radius: var(--dsp-radius-md);
}

.dsp-commerce-checkout-parcel-point__trigger:hover,
.dsp-commerce-checkout-parcel-point__trigger:focus,
.dsp-commerce-checkout-parcel-point__trigger:focus-visible,
.dsp-commerce-checkout-parcel-point__trigger:active {
	background: var(--dsp-color-accent-hover);
	color: var(--dsp-color-text-on-accent);
	text-decoration: none;
}

.dsp-commerce--checkout-stack .woocommerce-shipping-methods li {
	padding: var(--dsp-space-5) var(--dsp-space-6);
	transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.dsp-commerce--checkout-stack .woocommerce-shipping-methods li:hover {
	border-color: color-mix(in srgb, var(--dsp-color-accent) 35%, var(--dsp-color-border-subtle));
	box-shadow: var(--dsp-elevation-1-shadow);
}

.dsp-commerce--checkout-stack .woocommerce-shipping-methods li:has(input:checked) {
	border-color: color-mix(in srgb, var(--dsp-color-accent) 55%, var(--dsp-color-border-subtle));
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--dsp-color-accent) 25%, transparent);
}
