/**
 * Side Checkout — Delivery Geo UI (FASE 4).
 * Botón GPS, estados de carga/éxito/error. Sin mapa.
 */

.pgsc-checkout__geo-action {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 4px;
}

.pgsc-checkout__geo-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	min-height: 40px;
	padding: 0 14px;
	border: 1px solid var(--pgsc-color-button-functional-border, #6b2838);
	border-radius: var(--pgsc-radius-button, 6px);
	background: var(--pgsc-color-button-functional-bg, #6b2838);
	color: var(--pgsc-color-on-primary, #fff);
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
}

.pgsc-checkout__geo-button:hover,
.pgsc-checkout__geo-button:focus-visible {
	background: var(--pgsc-color-button-functional-bg-hover, #4f1c2a);
	border-color: var(--pgsc-color-button-functional-bg-hover, #4f1c2a);
	outline: none;
}

.pgsc-checkout__geo-button[disabled] {
	opacity: 0.72;
	cursor: wait;
}

.pgsc-checkout__geo-status {
	font-size: 0.8125rem;
	line-height: 1.4;
	color: var(--pgsc-color-map-status, #1e40af);
}

.pgsc-checkout__geo-status--set {
	color: var(--pgsc-color-state-success-text, var(--pgsc-color-map-success, #166534));
}

.pgsc-checkout__geo-status--error {
	color: var(--pgsc-color-state-error-text, #b91c1c);
}

.pgsc-checkout__geo-status--loading {
	color: var(--pgsc-color-map-status, #1e40af);
}

.pgsc-checkout__geo-status[hidden] {
	display: none;
}

.pgsc-checkout__geo-recovery {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 14px;
	border: 1px solid var(--pgsc-color-border-subtle, #e8e0e3);
	border-radius: var(--pgsc-radius-card, 10px);
	background: var(--pgsc-color-surface-raised, #faf8f9);
}

.pgsc-checkout__geo-recovery[hidden] {
	display: none;
}

.pgsc-checkout__geo-recovery-title {
	margin: 0;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--pgsc-color-text-heading, #111827);
}

.pgsc-checkout__geo-recovery-message {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--pgsc-color-text-secondary, #5c4a52);
}

.pgsc-checkout__geo-recovery-actions {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.pgsc-checkout__geo-recovery-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 40px;
	padding: 0 14px;
	border-radius: var(--pgsc-radius-button, 6px);
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
}

.pgsc-checkout__geo-recovery-button--manual {
	border: 1px solid var(--pgsc-color-border-input, #d1d5db);
	background: var(--pgsc-color-surface, #fff);
	color: var(--pgsc-color-text-label, #374151);
}

.pgsc-checkout__geo-recovery-button--map {
	border: 1px solid var(--pgsc-color-button-functional-border, #6b2838);
	background: var(--pgsc-color-button-functional-bg, #6b2838);
	color: var(--pgsc-color-on-primary, #fff);
}

.pgsc-checkout__geo-recovery-button--map:hover,
.pgsc-checkout__geo-recovery-button--map:focus-visible {
	background: var(--pgsc-color-button-functional-bg-hover, #4f1c2a);
	border-color: var(--pgsc-color-button-functional-bg-hover, #4f1c2a);
	outline: none;
}

@media (min-width: 480px) {
	.pgsc-checkout__geo-recovery-actions {
		flex-direction: row;
	}

	.pgsc-checkout__geo-recovery-button {
		flex: 1;
	}
}
