/**
 * Compact premium locker card (Order Received / My Account / Tracking).
 * Outer `.pfk-order-locker-container` is the query container;
 * inner `.pfk-order-locker-card` receives the grid layout.
 */

.pfk-order-locker-container {
	container: pfk-locker / inline-size;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.pfk-order-locker-card {
	--pfk-locker-accent: #64748b;
	--pfk-locker-tile-bg: #f1f5f9;
	--pfk-locker-border: #e2e8f0;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	grid-template-areas:
		'brand details'
		'actions actions';
	align-items: center;
	column-gap: 0.85rem;
	row-gap: 0.75rem;
	min-width: 0;
	width: 100%;
	max-width: 100%;
}

.pfk-order-locker-card--boxnow {
	--pfk-locker-accent: #84c33f;
	--pfk-locker-tile-bg: rgba(132, 195, 63, 0.12);
}

.pfk-order-locker-card--skroutz {
	--pfk-locker-accent: #e78730;
	--pfk-locker-tile-bg: rgba(231, 135, 48, 0.12);
}

.pfk-order-locker-card--embedded {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	border-radius: 0;
}

.pfk-order-locker-card--standalone {
	margin: 0;
	padding: 0.9rem 1rem;
	border: 1px solid var(--pfk-locker-border);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.pfk-order-locker-card__brand {
	grid-area: brand;
	flex-shrink: 0;
}

.pfk-order-locker-card__brand-tile {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 12px;
	background: var(--pfk-locker-tile-bg);
	border: 1px solid rgba(15, 23, 42, 0.04);
	box-sizing: border-box;
}

.pfk-order-locker-card__brand-logo {
	display: block;
	width: auto;
	height: auto;
	max-width: 34px;
	max-height: 28px;
	object-fit: contain;
}

.pfk-order-locker-card__details {
	grid-area: details;
	display: grid;
	gap: 0.15rem;
	min-width: 0;
}

.pfk-order-locker-card__provider {
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--pfk-locker-accent);
	letter-spacing: 0.01em;
}

.pfk-order-locker-card__name {
	font-size: 0.9375rem;
	font-weight: 650;
	line-height: 1.35;
	color: #0f172a;
	overflow-wrap: anywhere;
}

.pfk-order-locker-card__address {
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.4;
	color: #64748b;
	overflow-wrap: anywhere;
}

.pfk-order-locker-card__actions {
	grid-area: actions;
	display: flex;
	align-items: center;
	justify-content: stretch;
	min-width: 0;
}

/* Very narrow (default): map action on second row, full width. */
.pfk-order-locker-card--has-map .pfk-order-locker-card__actions {
	justify-content: stretch;
}

.pfk-order-locker-card__map-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	min-height: 44px;
	padding: 0.5rem 0.85rem;
	border-radius: 10px;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.25;
	text-decoration: none;
	cursor: pointer;
	white-space: normal;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.pfk-order-locker-card__map-action .pfk-lucide,
.pfk-order-locker-card__map-action .lucide {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
}

.pfk-order-locker-card__map-action:focus-visible {
	outline: 2px solid var(--pfk-locker-accent, #0f172a);
	outline-offset: 2px;
}

.pfk-order-locker-card__map-label--compact {
	display: none;
}

.pfk-order-locker-card__map-label--full {
	display: inline;
}

/* Compact horizontal: wide containers only — keep Maps below location on phones. */
@container pfk-locker (min-width: 560px) {
	.pfk-order-locker-card--has-map {
		grid-template-columns: 52px minmax(0, 1fr) auto;
		grid-template-areas: 'brand details actions';
		align-items: center;
	}

	.pfk-order-locker-card--has-map .pfk-order-locker-card__actions {
		justify-content: flex-end;
	}

	.pfk-order-locker-card--has-map .pfk-order-locker-card__map-action {
		width: auto;
		white-space: nowrap;
	}

	.pfk-order-locker-card--has-map .pfk-order-locker-card__map-label--compact {
		display: inline;
	}

	.pfk-order-locker-card--has-map .pfk-order-locker-card__map-label--full {
		display: none;
	}
}

/* Wide: ≥520px — full Google Maps label on the right. */
@container pfk-locker (min-width: 520px) {
	.pfk-order-locker-card--has-map {
		grid-template-columns: auto minmax(0, 1fr) auto;
		grid-template-areas: 'brand details actions';
	}

	.pfk-order-locker-card--has-map .pfk-order-locker-card__map-label--compact {
		display: none;
	}

	.pfk-order-locker-card--has-map .pfk-order-locker-card__map-label--full {
		display: inline;
	}
}

/* Fallback when container queries are unavailable — wide surfaces only. */
@supports not (container-type: inline-size) {
	.order-view-tracking-locker .pfk-order-locker-card--has-map,
	.pfk-order-locker-card--standalone.pfk-order-locker-card--has-map {
		grid-template-columns: auto minmax(0, 1fr) auto;
		grid-template-areas: 'brand details actions';
	}

	.order-view-tracking-locker .pfk-order-locker-card--has-map .pfk-order-locker-card__actions,
	.pfk-order-locker-card--standalone.pfk-order-locker-card--has-map .pfk-order-locker-card__actions {
		justify-content: flex-end;
	}

	.order-view-tracking-locker .pfk-order-locker-card__map-action,
	.pfk-order-locker-card--standalone.pfk-order-locker-card--has-map .pfk-order-locker-card__map-action {
		width: auto;
		white-space: nowrap;
	}
}

@media (max-width: 430px) {
	.pfk-order-locker-card__brand-tile {
		width: 48px;
		height: 48px;
		border-radius: 11px;
	}
}

/* Surface wrappers — no nested cards */
body.pfk-order-received-page .pfk-order-received__pickup-point {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid #e2e8f0;
}

.order-view-tracking-locker {
	margin-top: 0.75rem;
	padding-top: 0.75rem;
	border-top: 1px solid var(--pfk-line, #e2e8f0);
}

.order-view-tracking-locker > .order-view-tracking-label {
	display: none;
}

/*
 * Keep exactly one theme H1 on tracking pages (index.php).
 * Successful result surfaces WC .order-info; body_class for result arrives too late
 * for <body>, so mirror with :has(.order-info).
 */
body.pfk-order-tracking-page .pfk-order-tracking-title {
	margin: 0 0 1rem;
}

body.pfk-order-tracking-result .pfk-order-tracking-locker,
body.pfk-order-tracking-page:has(.order-info) .pfk-order-tracking-locker {
	margin: 1rem 0 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}
